periph_conf_common.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2018 Gunar Schorcht
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
17 /* include board.h and periph_cpu.h to make them visible in any case */
18 #include "periph_cpu.h"
19 #include "kernel_defines.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 #ifndef BIT
26 #define BIT(X) (1<<(X))
27 #endif
28 
35 #define ADC_NUMOF (1)
44 #define DAC_NUMOF (0)
55 static const i2c_conf_t i2c_config[] = {
56  #if defined(I2C0_SCL) && defined(I2C0_SDA) && defined(I2C0_SPEED)
57  {
58  .speed = I2C0_SPEED,
59  .scl = I2C0_SCL,
60  .sda = I2C0_SDA,
61  },
62  #endif
63  #if defined(I2C1_SCL) && defined(I2C1_SDA) && defined(I2C1_SPEED)
64  {
65  .speed = I2C1_SPEED,
66  .scl = I2C1_SCL,
67  .sda = I2C1_SDA,
68  },
69  #endif
70 };
71 
80 #define I2C_NUMOF ARRAY_SIZE(i2c_config)
81 
101 #if defined(PWM0_GPIOS) || defined(DOXYGEN)
105 static const gpio_t pwm0_channels[] = PWM0_GPIOS;
106 
114 #define PWM_NUMOF (1)
116 #endif /* defined(PWM0_GPIOS) || defined(DOXYGEN) */
144 #define SPI0_DEV SPI_DEV(0)
145 #define SPI0_CTRL HSPI
146 #define SPI0_MISO GPIO12
147 #define SPI0_MOSI GPIO13
148 #define SPI0_SCK GPIO14
150 #ifndef SPI0_CS0
151 #define SPI0_CS0 GPIO15
153 #endif
154 
158 static const spi_conf_t spi_config[] = {
159 #ifdef SPI0_CTRL
160  {
161  .ctrl = SPI0_CTRL,
162  .sck = SPI0_SCK,
163  .mosi = SPI0_MOSI,
164  .miso = SPI0_MISO,
165  .cs = SPI0_CS0,
166  },
167 #endif
168 };
169 
178 #define SPI_NUMOF ARRAY_SIZE(spi_config)
179 
186 #if defined(MODULE_ESP_SW_TIMER)
187 
188 /* software timer */
189 #define TIMER_NUMOF (1U)
190 #define TIMER_CHANNEL_NUMOF (10U)
192 #else /* MODULE_ESP_SW_TIMER */
193 
194 /* hardware timer */
195 #define TIMER_NUMOF (1U)
196 #define TIMER_CHANNEL_NUMOF (1U)
198 #endif /* MODULE_ESP_SW_TIMER */
224 #ifndef UART0_TXD
225 #define UART0_TXD GPIO1
226 #endif /* UART0_TXD */
227 
228 #ifndef UART0_RXD
229 #define UART0_RXD GPIO3
230 #endif /* UART0_RXD */
231 
232 #ifdef DOXYGEN
233 #define UART1_TXD GPIO2
234 #endif /* DOXYGEN */
235 
236 #ifndef UART1_RXD
237 #define UART1_RXD GPIO_UNDEF
238 #endif /* UART1_RXD */
239 
243 static const uart_conf_t uart_config[] = {
244  {
245  .txd = UART0_TXD,
246  .rxd = UART0_RXD,
247  },
248 #ifdef UART1_TXD
249  {
250  .txd = UART1_TXD,
251  .rxd = UART1_RXD,
252  },
253 #endif /* UART1_TXD */
254 };
255 
264 #define UART_NUMOF ARRAY_SIZE(uart_config)
267 #ifdef __cplusplus
268 } /* end extern "C" */
269 #endif
270 
#define I2C0_SPEED
I2C bus speed of I2C_DEV(0)
Definition: periph_conf.h:65
#define I2C0_SCL
SCL signal of I2C_DEV(0)
Definition: periph_conf.h:68
#define I2C0_SDA
SDA signal of I2C_DEV(0)
Definition: periph_conf.h:71
static const gpio_t pwm0_channels[]
Static array of GPIOs that can be used as channels of PWM_DEV(0)
static const uart_conf_t uart_config[]
Static array with configuration for declared UART devices.
#define SPI0_MOSI
HSPI / SPI_DEV(0) MOSI pin.
#define UART0_RXD
RxD pin of UART_DEV(0)
#define UART1_TXD
TxD pin of UART_DEV(1)
#define SPI0_CTRL
HSPI / SPI_DEV(0) controller.
#define SPI0_CS0
HSPI / SPI_DEV(0) CS default pin, only used when cs parameter in spi_acquire is GPIO_UNDEF.
#define SPI0_SCK
HSPI / SPI_DEV(0) SCK pin.
static const spi_conf_t spi_config[]
Static array with configuration for declared SPI devices.
#define UART1_RXD
RxD pin of UART_DEV(1)
static const i2c_conf_t i2c_config[]
Static array with configuration for declared I2C devices.
#define SPI0_MISO
HSPI / SPI_DEV(0) MISO pin.
#define UART0_TXD
TxD pin of UART_DEV(0)
Common macros and compiler attributes/pragmas configuration.
I2C configuration structure.
Definition: periph_cpu.h:298
i2c_speed_t speed
Configured bus speed, actual speed may be lower but never higher.
Definition: periph_cpu.h:303
SPI device configuration.
Definition: periph_cpu.h:336
spi_ctrl_t ctrl
SPI controller used for the interface.
Definition: periph_cpu.h:864
UART device configuration.
Definition: periph_cpu.h:217
gpio_t txd
GPIO used as TxD pin.
Definition: periph_cpu.h:977