periph_conf.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2020 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 
20 #ifndef PERIPH_CONF_H
21 #define PERIPH_CONF_H
22 
23 #include "periph_cpu.h"
24 #include "cfg_clock_32_0.h"
25 #include "cfg_rtt_default.h"
26 #include "cfg_timer_default.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
39 static const uart_conf_t uart_config[] = {
40  {
41  .dev = NRF_UARTE0,
42  .rx_pin = GPIO_PIN(0, 4),
43  .tx_pin = GPIO_PIN(0, 5),
44 #ifdef MODULE_PERIPH_UART_HW_FC
45  .rts_pin = GPIO_UNDEF,
46  .cts_pin = GPIO_UNDEF,
47 #endif
48  .irqn = UARTE0_UART0_IRQn,
49  },
50 };
51 
55 #define UART_0_ISR (isr_uart0)
59 #define UART_NUMOF ARRAY_SIZE(uart_config)
69 static const i2c_conf_t i2c_config[] = {
70  { /* External connectors */
71  .dev = NRF_TWIM0,
72  .scl = GPIO_PIN(0, 0), /* D19 */
73  .sda = GPIO_PIN(0, 30), /* D20 */
74  .speed = I2C_SPEED_NORMAL
75  },
76  { /* On board sensors */
77  .dev = NRF_TWIM1,
78  .scl = GPIO_PIN(0, 25),
79  .sda = GPIO_PIN(0, 24),
80  .speed = I2C_SPEED_NORMAL
81  },
82 };
83 
87 #define I2C_NUMOF (sizeof(i2c_config) / sizeof(i2c_config[0]))
97 static const spi_conf_t spi_config[] = {
98  { /* External connectors */
99  .dev = NRF_SPIM0,
100  .sclk = GPIO_PIN(0, 23), /* D13 */
101  .mosi = GPIO_PIN(0, 21), /* D15 */
102  .miso = GPIO_PIN(0, 22), /* D14 */
103  },
104  { /* TFT LCD screen */
105  .dev = NRF_SPIM1,
106  .sclk = GPIO_PIN(0, 14),
107  .mosi = GPIO_PIN(0, 15),
108  .miso = GPIO_PIN(0, 0),
109  },
110 };
111 
115 #define SPI_NUMOF ARRAY_SIZE(spi_config)
118 #ifdef __cplusplus
119 }
120 #endif
121 
122 #endif /* PERIPH_CONF_H */
#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
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
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