Loading...
Searching...
No Matches
periph_conf.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021 Inria
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
17
18#include "board.h"
19#include "periph_cpu.h"
20#include "cfg_clock_32_0.h"
21#include "cfg_timer_default.h"
22#include "cfg_rtt_default.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
32static const uart_conf_t uart_config[] = {
33 { /* Mapped to USB virtual COM port */
34 .dev = NRF_UARTE0,
35 .rx_pin = GPIO_PIN(1, 8),
36 .tx_pin = GPIO_PIN(0, 6),
37#ifdef MODULE_PERIPH_UART_HW_FC
38 .rts_pin = GPIO_UNDEF,
39 .cts_pin = GPIO_UNDEF,
40#endif
41 .irqn = UARTE0_UART0_IRQn,
42 },
43};
44
45#define UART_0_ISR (isr_uart0)
46
47#define UART_NUMOF ARRAY_SIZE(uart_config)
49
54static const pwm_conf_t pwm_config[] = {
55 {
56 NRF_PWM0,
57 {
58 SPEAKER_PIN, /* configure Speaker pin as PWM */
62 }
63 },
64};
65#define PWM_NUMOF ARRAY_SIZE(pwm_config)
67
72static const i2c_conf_t i2c_config[] = {
73 { /* Internal I2C */
74 .dev = NRF_TWIM1,
75 .scl = GPIO_PIN(0, 8),
76 .sda = GPIO_PIN(0, 16),
77 .speed = I2C_SPEED_NORMAL
78 },
79 { /* External I2C */
80 .dev = NRF_TWIM0,
81 .scl = GPIO_PIN(0, 26), /* P19 */
82 .sda = GPIO_PIN(1, 0), /* P20 */
83 .speed = I2C_SPEED_NORMAL
84 },
85};
86#define I2C_NUMOF ARRAY_SIZE(i2c_config)
88
93static const spi_conf_t spi_config[] = {
94 {
95 .dev = NRF_SPIM0,
96 .sclk = GPIO_PIN(0, 17), /* P13 */
97 .mosi = GPIO_PIN(0, 13), /* P15 */
98 .miso = GPIO_PIN(0, 1), /* P14 */
99#ifdef ERRATA_SPI_SINGLE_BYTE_WORKAROUND
100 .ppi = 0,
101#endif
102 }
103};
104
105#define SPI_NUMOF ARRAY_SIZE(spi_config)
107
108#ifdef __cplusplus
109}
110#endif
111
#define SPEAKER_PIN
Speaker pin (A0)
Definition board.h:92
#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.
@ I2C_SPEED_NORMAL
normal mode: ~100 kbit/s
Definition periph_cpu.h:277
Common clock configuration for the nRF52 based boards.
Board specific configuration for the BBC micro:bit v2.
I2C configuration structure.
Definition periph_cpu.h:298
PWM device configuration.
SPI device configuration.
Definition periph_cpu.h:336
UART device configuration.
Definition periph_cpu.h:217