periph_conf.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2020 Benjamin Valentin
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
19 #include "periph_cpu.h"
20 #include "cfg_rtt_default.h"
21 #include "cfg_timer_default.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
32 #define CLOCK_HFCLK (1) /* external crystal */
33 
34 /* LFCLK Source clock selection:*/
35 /* - CLOCK_LFCLKSRC_SRC_RC: internal RC oscillator
36  * - CLOCK_LFCLKSRC_SRC_Xtal: 32.768 kHz crystal
37  * - CLOCK_LFCLKSRC_SRC_Synth: derived from HFCLK */
38 #define CLOCK_LFCLK (CLOCK_LFCLKSRC_SRC_RC)
45 static const spi_conf_t spi_config[] = {
46  {
47  .dev = NRF_SPIM0,
48  .sclk = GPIO_PIN(0, 26),
49  .mosi = GPIO_PIN(0, 27),
50  .miso = GPIO_PIN(0, 28),
51  },
52 };
53 #define SPI_NUMOF ARRAY_SIZE(spi_config)
60 static const i2c_conf_t i2c_config[] = {
61  {
62  .dev = NRF_TWIM0,
63  .scl = GPIO_PIN(0, 6),
64  .sda = GPIO_PIN(0, 7),
65  .speed = I2C_SPEED_NORMAL
66  }
67 };
68 #define I2C_NUMOF ARRAY_SIZE(i2c_config)
75 static const uart_conf_t uart_config[] = {
76  { /* Mapped to USB virtual COM port */
77  .dev = NRF_UARTE0,
78  .rx_pin = GPIO_PIN(0, 14),
79  .tx_pin = GPIO_PIN(0, 18),
80 #ifdef MODULE_PERIPH_UART_HW_FC
81  .rts_pin = GPIO_UNDEF,
82  .cts_pin = GPIO_UNDEF,
83 #endif
84  .irqn = UARTE0_UART0_IRQn,
85  },
86 };
87 
88 #define UART_0_ISR (isr_uart0)
89 
90 #define UART_NUMOF ARRAY_SIZE(uart_config)
93 #ifdef __cplusplus
94 }
95 #endif
96 
#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:35
static const spi_conf_t spi_config[]
SPI configuration.
Definition: periph_conf.h:93
static const i2c_conf_t i2c_config[]
I2C configuration.
Definition: periph_conf.h:65
@ 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