periph_conf.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 Inria
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
19 #ifndef PERIPH_CONF_H
20 #define PERIPH_CONF_H
21 
22 #include "board.h"
23 #include "periph_cpu.h"
24 #include "cfg_clock_32_0.h"
25 #include "cfg_timer_default.h"
26 #include "cfg_rtt_default.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
36 static const uart_conf_t uart_config[] = {
37  { /* Mapped to USB virtual COM port */
38  .dev = NRF_UARTE0,
39  .rx_pin = GPIO_PIN(1, 8),
40  .tx_pin = GPIO_PIN(0, 6),
41 #ifdef MODULE_PERIPH_UART_HW_FC
42  .rts_pin = GPIO_UNDEF,
43  .cts_pin = GPIO_UNDEF,
44 #endif
45  .irqn = UARTE0_UART0_IRQn,
46  },
47 };
48 
49 #define UART_0_ISR (isr_uart0)
50 
51 #define UART_NUMOF ARRAY_SIZE(uart_config)
58 static const pwm_conf_t pwm_config[] = {
59  {
60  NRF_PWM0,
61  {
62  SPEAKER_PIN, /* configure Speaker pin as PWM */
63  GPIO_UNDEF,
64  GPIO_UNDEF,
65  GPIO_UNDEF,
66  }
67  },
68 };
69 #define PWM_NUMOF ARRAY_SIZE(pwm_config)
76 static const i2c_conf_t i2c_config[] = {
77  { /* Internal I2C */
78  .dev = NRF_TWIM1,
79  .scl = GPIO_PIN(0, 8),
80  .sda = GPIO_PIN(0, 16),
81  .speed = I2C_SPEED_NORMAL
82  },
83  { /* External I2C */
84  .dev = NRF_TWIM0,
85  .scl = GPIO_PIN(0, 26), /* P19 */
86  .sda = GPIO_PIN(1, 0), /* P20 */
87  .speed = I2C_SPEED_NORMAL
88  },
89 };
90 #define I2C_NUMOF ARRAY_SIZE(i2c_config)
97 static const spi_conf_t spi_config[] = {
98  {
99  .dev = NRF_SPIM0,
100  .sclk = GPIO_PIN(0, 17), /* P13 */
101  .mosi = GPIO_PIN(0, 13), /* P15 */
102  .miso = GPIO_PIN(0, 1), /* P14 */
103 #ifdef ERRATA_SPI_SINGLE_BYTE_WORKAROUND
104  .ppi = 0,
105 #endif
106  }
107 };
108 
109 #define SPI_NUMOF ARRAY_SIZE(spi_config)
112 #ifdef __cplusplus
113 }
114 #endif
115 
116 #endif /* PERIPH_CONF_H */
#define SPEAKER_PIN
Speaker pin (A0)
Definition: board.h:96
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
Definition: periph_cpu.h:46
#define GPIO_UNDEF
Definition of a fitting UNDEF value.
static const uart_conf_t uart_config[]
UART configuration.
Definition: periph_conf.h:39
static const spi_conf_t spi_config[]
SPI configuration.
Definition: periph_conf.h:97
static const i2c_conf_t i2c_config[]
I2C configuration.
Definition: periph_conf.h:69
static const pwm_conf_t pwm_config[]
Actual PWM configuration.
Definition: periph_conf.h:222
Common clock configuration for the nRF52 based boards.
@ I2C_SPEED_NORMAL
normal mode: ~100 kbit/s
Definition: periph_cpu.h:278
I2C configuration structure.
Definition: periph_cpu.h:299
TWI_t * dev
Pointer to hardware module registers.
Definition: periph_cpu.h:300
PWM device configuration.
SPI device configuration.
Definition: periph_cpu.h:337
SPI_t * dev
pointer to the used SPI device
Definition: periph_cpu.h:338
UART device configuration.
Definition: periph_cpu.h:218
USART_t * dev
pointer to the used UART device
Definition: periph_cpu.h:219
Board specific definitions for the Zigduino board.