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 
9 #pragma once
10 
22 #include "cfg_clock_32_1.h"
23 #include "cfg_rtt_default.h"
24 #include "cfg_timer_default.h"
25 #include "periph_cpu.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
35 static const uart_conf_t uart_config[] = {
36  { /* Mapped to USB virtual COM port */
37  .dev = NRF_UARTE0,
38  .rx_pin = GPIO_PIN(0, 11),
39  .tx_pin = GPIO_PIN(0, 5),
40 #ifdef MODULE_PERIPH_UART_HW_FC
41  .rts_pin = GPIO_UNDEF,
42  .cts_pin = GPIO_UNDEF,
43 #endif
44  .irqn = UARTE0_UART0_IRQn,
45  },
46 };
47 
48 #define UART_NUMOF ARRAY_SIZE(uart_config)
49 #define UART_0_ISR (isr_uart0)
56 static const spi_conf_t spi_config[] = {
57  {
58  .dev = NRF_SPIM0,
59  .sclk = GPIO_PIN(0, 4),
60  .mosi = GPIO_PIN(0, 6),
61  .miso = GPIO_PIN(0, 7),
62  .ppi = 0,
63  },
64  { /* Connected to the DWM1001 UWB transceiver */
65  .dev = NRF_SPIM1,
66  .sclk = GPIO_PIN(0, 16),
67  .mosi = GPIO_PIN(0, 20),
68  .miso = GPIO_PIN(0, 18),
69  .ppi = 0,
70  },
71 };
72 
73 #define SPI_NUMOF ARRAY_SIZE(spi_config)
80 static const i2c_conf_t i2c_config[] = {
81  {
82  .dev = NRF_TWIM1,
83  .scl = GPIO_PIN(0, 28),
84  .sda = GPIO_PIN(0, 29),
85  .speed = I2C_SPEED_NORMAL
86  }
87 };
88 #define I2C_NUMOF ARRAY_SIZE(i2c_config)
91 #ifdef __cplusplus
92 }
93 #endif
94 
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
Definition: periph_cpu.h:45
#define GPIO_UNDEF
Definition of a fitting UNDEF value.
static const uart_conf_t uart_config[]
UART configuration.
Definition: periph_conf.h:38
static const spi_conf_t spi_config[]
SPI configuration.
Definition: periph_conf.h:96
static const i2c_conf_t i2c_config[]
I2C configuration.
Definition: periph_conf.h:68
Common clock configuration for the nRF52 based boards.
@ I2C_SPEED_NORMAL
normal mode: ~100 kbit/s
Definition: periph_cpu.h:277
I2C configuration structure.
Definition: periph_cpu.h:298
TWI_t * dev
Pointer to hardware module registers.
Definition: periph_cpu.h:299
SPI device configuration.
Definition: periph_cpu.h:336
SPI_t * dev
pointer to the used SPI device
Definition: periph_cpu.h:337
UART device configuration.
Definition: periph_cpu.h:217
USART_t * dev
pointer to the used UART device
Definition: periph_cpu.h:218