Loading...
Searching...
No Matches
periph_conf.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2021 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
19#ifndef PERIPH_CONF_H
20#define PERIPH_CONF_H
21
22#include "board.h"
23#include "periph_cpu.h"
24#include "cfg_clock_32_0.h"
25#include "cfg_timer_default.h"
26#include "cfg_rtt_default.h"
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
36static const uart_conf_t uart_config[] = {
37 { /* Mapped to USB virtual COM port */
38 .dev = NRF_UARTE0,
39 .rx_pin = GPIO_PIN(1, 8),
40 .tx_pin = GPIO_PIN(0, 6),
41#ifdef MODULE_PERIPH_UART_HW_FC
42 .rts_pin = GPIO_UNDEF,
43 .cts_pin = GPIO_UNDEF,
44#endif
45 .irqn = UARTE0_UART0_IRQn,
46 },
47};
48
49#define UART_0_ISR (isr_uart0)
50
51#define UART_NUMOF ARRAY_SIZE(uart_config)
58static const pwm_conf_t pwm_config[] = {
59 {
60 NRF_PWM0,
61 {
62 SPEAKER_PIN, /* configure Speaker pin as PWM */
66 }
67 },
68};
69#define PWM_NUMOF ARRAY_SIZE(pwm_config)
76static const i2c_conf_t i2c_config[] = {
77 { /* Internal I2C */
78 .dev = NRF_TWIM1,
79 .scl = GPIO_PIN(0, 8),
80 .sda = GPIO_PIN(0, 16),
81 .speed = I2C_SPEED_NORMAL
82 },
83 { /* External I2C */
84 .dev = NRF_TWIM0,
85 .scl = GPIO_PIN(0, 26), /* P19 */
86 .sda = GPIO_PIN(1, 0), /* P20 */
87 .speed = I2C_SPEED_NORMAL
88 },
89};
90#define I2C_NUMOF ARRAY_SIZE(i2c_config)
97static const spi_conf_t spi_config[] = {
98 {
99 .dev = NRF_SPIM0,
100 .sclk = GPIO_PIN(0, 17), /* P13 */
101 .mosi = GPIO_PIN(0, 13), /* P15 */
102 .miso = GPIO_PIN(0, 1), /* P14 */
103#ifdef ERRATA_SPI_SINGLE_BYTE_WORKAROUND
104 .ppi = 0,
105#endif
106 }
107};
108
109#define SPI_NUMOF ARRAY_SIZE(spi_config)
112#ifdef __cplusplus
113}
114#endif
115
116#endif /* PERIPH_CONF_H */
#define SPEAKER_PIN
Speaker pin (A0)
Definition board.h:96
#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.
@ I2C_SPEED_NORMAL
normal mode: ~100 kbit/s
Definition periph_cpu.h:278
Common clock configuration for the nRF52 based boards.
I2C configuration structure.
Definition periph_cpu.h:299
TWI_t * dev
Pointer to hardware module registers.
Definition periph_cpu.h:300
PWM device configuration.
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
Board specific definitions for the Zigduino board.