periph_conf.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2024 TU Dresden
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 
9 #ifndef PERIPH_CONF_H
10 #define PERIPH_CONF_H
24 #include "periph_cpu.h"
25 #include "cfg_clock_32_1.h"
26 #include "cfg_rtt_default.h"
27 #include "cfg_timer_default.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
37 static const uart_conf_t uart_config[] = {
38  {
39  .dev = NRF_UARTE0,
40  .rx_pin = GPIO_PIN(1, 12),
41  .tx_pin = GPIO_PIN(1, 11),
42 #ifdef MODULE_PERIPH_UART_HW_FC
43  .rts_pin = GPIO_UNDEF,
44  .cts_pin = GPIO_UNDEF,
45 #endif
46  .irqn = UARTE0_UART0_IRQn,
47  },
48 };
50 #define UART_0_ISR (isr_uart0)
52 #define UART_NUMOF ARRAY_SIZE(uart_config)
59 static const spi_conf_t spi_config[] = {
60  {
61  .dev = NRF_SPIM0,
62  .sclk = GPIO_PIN(1, 13),
63  .mosi = GPIO_PIN(1, 15),
64  .miso = GPIO_PIN(1, 14),
65  },
66  {
67  .dev = NRF_SPIM1,
68  .sclk = GPIO_PIN(0, 21),
69  .mosi = GPIO_PIN(0, 20),
70  .miso = GPIO_PIN(0, 24),
71  }
72 };
74 #define SPI_NUMOF ARRAY_SIZE(spi_config)
81 static const i2c_conf_t i2c_config[] = {
82  {
83  .dev = NRF_TWIM1,
84  .scl = GPIO_PIN(0, 5),
85  .sda = GPIO_PIN(0, 4),
86  .speed = I2C_SPEED_NORMAL
87  },
88 #ifdef BOARD_SEEEDSTUDIO_XIAO_NRF52840_SENSE
89  { /* internal I2C bus for the IMU */
90  .dev = NRF_TWIM0,
91  .scl = GPIO_PIN(0, 27),
92  .sda = GPIO_PIN(0, 7),
93  .speed = I2C_SPEED_NORMAL
94  }
95 #endif
96 };
98 #define I2C_NUMOF ARRAY_SIZE(i2c_config)
101 #ifdef __cplusplus
102 }
103 #endif
104 
106 #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 Peripheral Configuration Structure.
Definition: periph_conf.h:37
static const spi_conf_t spi_config[]
SPI Peripheral Configuration Structure.
Definition: periph_conf.h:59
static const i2c_conf_t i2c_config[]
I2C Peripheral Configuration Structure.
Definition: periph_conf.h:81
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