From 84a1dec4f36a483f1558bc0a93601d4197749634 Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Tue, 9 Aug 2022 07:25:09 +0200 Subject: [PATCH] boards/common: add common board definition for ESP32-S3 --- boards/common/esp32s3/Kconfig | 20 + boards/common/esp32s3/Makefile | 3 + boards/common/esp32s3/Makefile.dep | 5 + boards/common/esp32s3/Makefile.features | 5 + boards/common/esp32s3/Makefile.include | 5 + boards/common/esp32s3/board_common.c | 99 +++++ boards/common/esp32s3/doc.txt | 28 ++ .../esp32s3/include/arduino_board_common.h | 72 ++++ boards/common/esp32s3/include/board_common.h | 126 +++++++ .../esp32s3/include/periph_conf_common.h | 345 ++++++++++++++++++ dist/tools/doccheck/exclude_patterns | 2 + 11 files changed, 710 insertions(+) create mode 100644 boards/common/esp32s3/Kconfig create mode 100644 boards/common/esp32s3/Makefile create mode 100644 boards/common/esp32s3/Makefile.dep create mode 100644 boards/common/esp32s3/Makefile.features create mode 100644 boards/common/esp32s3/Makefile.include create mode 100644 boards/common/esp32s3/board_common.c create mode 100644 boards/common/esp32s3/doc.txt create mode 100644 boards/common/esp32s3/include/arduino_board_common.h create mode 100644 boards/common/esp32s3/include/board_common.h create mode 100644 boards/common/esp32s3/include/periph_conf_common.h diff --git a/boards/common/esp32s3/Kconfig b/boards/common/esp32s3/Kconfig new file mode 100644 index 0000000000..89af5dd764 --- /dev/null +++ b/boards/common/esp32s3/Kconfig @@ -0,0 +1,20 @@ +# Copyright (c) 2020 HAW Hamburg +# 2022 Gunar Schorcht +# +# This file is subject to the terms and conditions of the GNU Lesser +# General Public License v2.1. See the file LICENSE in the top level +# directory for more details. + +config BOARD_COMMON_ESP32S3 + bool + select HAS_PERIPH_UART + select HAVE_SAUL_GPIO + +config MODULE_BOARDS_COMMON_ESP32S3 + bool + depends on TEST_KCONFIG + depends on BOARD_COMMON_ESP32S3 + depends on HAS_ARCH_ESP32 + default y + help + Common ESP32-S3 boards code. diff --git a/boards/common/esp32s3/Makefile b/boards/common/esp32s3/Makefile new file mode 100644 index 0000000000..1dbe9ac0e0 --- /dev/null +++ b/boards/common/esp32s3/Makefile @@ -0,0 +1,3 @@ +MODULE = boards_common_esp32s3 + +include $(RIOTBASE)/Makefile.base diff --git a/boards/common/esp32s3/Makefile.dep b/boards/common/esp32s3/Makefile.dep new file mode 100644 index 0000000000..a77b54d8c8 --- /dev/null +++ b/boards/common/esp32s3/Makefile.dep @@ -0,0 +1,5 @@ +USEMODULE += boards_common_esp32s3 + +ifneq (,$(filter saul_default,$(USEMODULE))) + USEMODULE += saul_gpio +endif diff --git a/boards/common/esp32s3/Makefile.features b/boards/common/esp32s3/Makefile.features new file mode 100644 index 0000000000..067bec4c1b --- /dev/null +++ b/boards/common/esp32s3/Makefile.features @@ -0,0 +1,5 @@ +CPU = esp32 +CPU_FAM = esp32s3 + +# additional features provided by all boards is at least one UART +FEATURES_PROVIDED += periph_uart diff --git a/boards/common/esp32s3/Makefile.include b/boards/common/esp32s3/Makefile.include new file mode 100644 index 0000000000..896708772b --- /dev/null +++ b/boards/common/esp32s3/Makefile.include @@ -0,0 +1,5 @@ +INCLUDES += -I$(RIOTBOARD)/common/esp32s3/include + +# configure the serial interface +PORT_LINUX ?= /dev/ttyUSB0 +PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.SLAB_USBtoUART*))) diff --git a/boards/common/esp32s3/board_common.c b/boards/common/esp32s3/board_common.c new file mode 100644 index 0000000000..b3c372fa17 --- /dev/null +++ b/boards/common/esp32s3/board_common.c @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2021 Gunar Schorcht + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup boards_common_esp32s3 + * @{ + * + * @file + * @brief Common declarations and functions for all ESP32-S3 boards. + * + * This file contains default declarations and functions that are valid + * for all ESP32-S3 boards. + * + * @author Gunar Schorcht + */ + +#include "board.h" +#include "esp_common.h" +#include "kernel_defines.h" +#include "log.h" +#include "periph/gpio.h" +#include "periph/spi.h" + +#ifdef __cplusplus +extern "C" { +#endif + +extern void adc_print_config(void); +extern void dac_print_config(void); +extern void pwm_print_config(void); +extern void i2c_print_config(void); +extern void spi_print_config(void); +extern void uart_print_config(void); +extern void can_print_config(void); + +void print_board_config(void) +{ + ets_printf("\nBoard configuration:\n"); + +#if IS_USED(MODULE_PERIPH_ADC) + adc_print_config(); +#endif +#if IS_USED(MODULE_PERIPH_DAC) + dac_print_config(); +#endif +#if IS_USED(MODULE_PERIPH_PWM) + pwm_print_config(); +#endif +#if IS_USED(MODULE_PERIPH_I2C) + i2c_print_config(); +#endif +#if IS_USED(MODULE_PERIPH_SPI) + spi_print_config(); +#endif +#if IS_USED(MODULE_PERIPH_UART) + uart_print_config(); +#endif + +#if IS_USED(MODULE_PERIPH_CAN) + can_print_config(); +#endif + + ets_printf("\tLED\t\tpins=[ "); +#ifdef LED0_PIN + ets_printf("%d ", LED0_PIN); +#endif +#ifdef LED1_PIN + ets_printf("%d ", LED1_PIN); +#endif +#ifdef LED2_PIN + ets_printf("%d ", LED2_PIN); +#endif + ets_printf("]\n"); + + ets_printf("\tBUTTONS\t\tpins=[ "); +#ifdef BUTTON0_PIN + ets_printf("%d ", BUTTON0_PIN); +#endif +#ifdef BUTTON2_PIN + ets_printf("%d ", BUTTON1_PIN); +#endif +#ifdef BUTTON3_PIN + ets_printf("%d ", BUTTON2_PIN); +#endif + ets_printf("]\n"); + + ets_printf("\n"); +} + +#ifdef __cplusplus +} /* end extern "C" */ +#endif + +/** @} */ diff --git a/boards/common/esp32s3/doc.txt b/boards/common/esp32s3/doc.txt new file mode 100644 index 0000000000..46293ab17a --- /dev/null +++ b/boards/common/esp32s3/doc.txt @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2018 Gunar Schorcht + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @defgroup boards_common_esp32s3 ESP32-S3 Common + * @ingroup boards_common + * @ingroup boards_esp32s3 + * @brief Definitions and configurations that are common for + * all ESP32-S3 boards. + * + * For detailed information about the ESP32-S3, configuring and compiling RIOT + * for ESP32-S3 boards, please refer \ref esp32_riot. + */ + +/** + * @defgroup boards_esp32s3 ESP32-S3 Boards + * @ingroup boards + * @brief This group of boards contains the documentation of ESP32-S3 boards. + * + * @note For detailed information about the ESP32-S3 SoC, the tool chain + * as well as configuring and compiling RIOT for ESP32-S3 boards, + * see \ref esp32_riot. + */ diff --git a/boards/common/esp32s3/include/arduino_board_common.h b/boards/common/esp32s3/include/arduino_board_common.h new file mode 100644 index 0000000000..f86cc059ba --- /dev/null +++ b/boards/common/esp32s3/include/arduino_board_common.h @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2022 Gunar Schorcht + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup boards_common_esp32s3 + * @{ + * + * @file + * @brief Common board definitions for the Arduino API + * + * @author Gunar Schorcht + */ + +#ifndef ARDUINO_BOARD_COMMON_H +#define ARDUINO_BOARD_COMMON_H + +#include "arduino_pinmap.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +/** + * @brief Look-up table for the Arduino's digital pins + */ +static const gpio_t arduino_pinmap[] = { + ARDUINO_PIN_0, + ARDUINO_PIN_1, + ARDUINO_PIN_2, + ARDUINO_PIN_3, + ARDUINO_PIN_4, + ARDUINO_PIN_5, + ARDUINO_PIN_6, + ARDUINO_PIN_7, + ARDUINO_PIN_8, + ARDUINO_PIN_9, + ARDUINO_PIN_10, + ARDUINO_PIN_11, + ARDUINO_PIN_12, + ARDUINO_PIN_13, + ARDUINO_PIN_A0, + ARDUINO_PIN_A1, + ARDUINO_PIN_A2, + ARDUINO_PIN_A3, + ARDUINO_PIN_A4, + ARDUINO_PIN_A5 +}; + +/** + * @brief Look-up table for the Arduino's analog pins + */ +static const adc_t arduino_analog_map[] = { + ARDUINO_PIN_A0, + ARDUINO_PIN_A1, + ARDUINO_PIN_A2, + ARDUINO_PIN_A3, + ARDUINO_PIN_A4, + ARDUINO_PIN_A5 +}; + +#ifdef __cplusplus +} +#endif + +#endif /* ARDUINO_BOARD_COMMON_H */ +/** @} */ diff --git a/boards/common/esp32s3/include/board_common.h b/boards/common/esp32s3/include/board_common.h new file mode 100644 index 0000000000..3e9411ab57 --- /dev/null +++ b/boards/common/esp32s3/include/board_common.h @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2022 Gunar Schorcht + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup boards_common_esp32s3 + * @brief Common board definitions for ESP32-S3 boards. + * + * This file contains board configurations that are valid for all + * ESP32-S3 boards. + * + * For detailed information about the configuration of ESP32-S3 boards, see + * section \ref esp32_peripherals "Common Peripherals". + * + * @author Gunar Schorcht + * @file + * @{ + */ + +#ifndef BOARD_COMMON_H +#define BOARD_COMMON_H + +#include + +#include "cpu.h" +#include "periph_conf.h" +#if MODULE_ARDUINO +#include "arduino_pinmap.h" +#endif + +#include "periph/gpio.h" +#include "sdkconfig.h" + +#if MODULE_MTD +#include "mtd.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @name LED configuration (three predefined LEDs at maximum) + * + * @note LEDx_ACTIVE value must be declared in board configuration. + * @{ + */ +#if defined(LED0_PIN) || DOXYGEN +#define LED0_MASK (BIT(LED0_PIN)) +#define LED0_ON (gpio_write(LED0_PIN, LED0_ACTIVE)) +#define LED0_OFF (gpio_write(LED0_PIN, !LED0_ACTIVE)) +#define LED0_TOGGLE (gpio_toggle(LED0_PIN)) +#endif + +#if defined(LED1_PIN) || DOXYGEN +#define LED1_MASK (BIT(LED1_PIN)) +#define LED1_ON (gpio_write(LED1_PIN, LED1_ACTIVE)) +#define LED1_OFF (gpio_write(LED1_PIN, !LED1_ACTIVE)) +#define LED1_TOGGLE (gpio_toggle(LED1_PIN)) +#endif + +#if defined(LED2_PIN) || DOXYGEN +#define LED2_MASK (BIT(LED2_PIN)) +#define LED2_ON (gpio_write(LED2_PIN, LED2_ACTIVE)) +#define LED2_OFF (gpio_write(LED2_PIN, !LED2_ACTIVE)) +#define LED2_TOGGLE (gpio_toggle(LED2_PIN)) +#endif +/** @} */ + +/** + * @name STDIO configuration + * @{ + */ +/**< Default baudrate of UART for stdio */ +#ifndef STDIO_UART_BAUDRATE +#define STDIO_UART_BAUDRATE (115200) +#endif +/** @} */ + +#if MODULE_MTD || DOXYGEN +/** + * @name MTD system drive configuration + * + * Built-in SPI flash memory is used as MTD system drive. + * @{ + */ + +/** + * @brief MTD drive start address in SPI flash memory + * + * Defines the start address of the MTD system device in the SPI + * flash memory. It can be overridden by \ref esp32_application_specific_configurations + * "application-specific board configuration" + * + * If the MTD start address is not defined or is 0, the first possible + * multiple of 0x100000 (1 MByte) is used in free SPI flash memory, + * which was determined from the partition table. + */ +#ifndef SPI_FLASH_DRIVE_START +#define SPI_FLASH_DRIVE_START 0 +#endif + +/** Default MTD drive definition */ +#define MTD_0 mtd0 + +/** Pointer to the default MTD drive structure */ +extern mtd_dev_t *mtd0; + +/** @} */ +#endif /* MODULE_MTD || DOXYGEN */ + +/** + * @brief Print the board configuration in a human readable format + */ +void print_board_config(void); + +#ifdef __cplusplus +} /* end extern "C" */ +#endif + +#endif /* BOARD_COMMON_H */ +/** @} */ diff --git a/boards/common/esp32s3/include/periph_conf_common.h b/boards/common/esp32s3/include/periph_conf_common.h new file mode 100644 index 0000000000..13233b93c8 --- /dev/null +++ b/boards/common/esp32s3/include/periph_conf_common.h @@ -0,0 +1,345 @@ +/* + * Copyright (C) 2022 Gunar Schorcht + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup boards_common_esp32s3 + * @brief Common peripheral configurations for ESP32-S3 boards + * + * This file contains the peripheral configurations that are valid for all + * ESP32-S3 boards. + * + * For detailed information about the peripheral configuration for ESP32-S3 + * boards, see section \ref esp32_peripherals "Common Peripherals". + * + * @author Gunar Schorcht + * @file + * @{ + */ + +#ifndef PERIPH_CONF_COMMON_H +#define PERIPH_CONF_COMMON_H + +/* include periph_cpu.h to make it visible in any case */ +#include "periph_cpu.h" +#include "kernel_defines.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @name ADC configuration + * @{ + */ + +/** + * @brief Declaration of GPIOs that can be used as ADC channels + * + * ADC_GPIOS is defined in board-specific peripheral configuration. Since + * ADC_GPIOS must be defined even if there are no ADC channels, an empty + * list definition is done here as fallback configuration. + */ +#ifndef ADC_GPIOS +#define ADC_GPIOS { } +#endif + +/** + * @brief Static array with declared ADC channels + */ +static const gpio_t adc_channels[] = ADC_GPIOS; + +/** + * @brief Number of GPIOs declared as ADC channels + * + * The number of GPIOs that are declared as ADC channels is determined from + * the ADC_GPIOS definition. + * + * @note ADC_NUMOF definition must not be changed. + */ +#define ADC_NUMOF ARRAY_SIZE(adc_channels) +/** @} */ + +/** + * @name DAC configuration + * @{ + */ + +/** + * @brief Declaration of GPIOs that can be used as DAC channels + * + * DAC_GPIOS is defined in board-specific peripheral configuration. Since + * DAC_GPIOS must be defined even if there are no DAC channels, an empty + * list definition is done here as fallback configuration. + */ +#ifndef DAC_GPIOS +#define DAC_GPIOS { } +#endif + +/** + * @brief Static array with declared DAC channels + */ +static const gpio_t dac_channels[] = DAC_GPIOS; + +/** + * @brief Number of GPIOs declared as DAC channels + * + * The number of GPIOs that are declared as DAC channels is determined from + * the DAC_GPIOS definition. + * + * @note DAC_NUMOF definition must not be changed. + */ +#define DAC_NUMOF ARRAY_SIZE(dac_channels) +/** @} */ + +/** + * @name I2C configuration + * @{ + */ + +#if defined(I2C0_SCL) && !defined(I2C0_SCL_PULLUP) +/** Define SCL pullup enabled by default */ +#define I2C0_SCL_PULLUP true +#endif +#if defined(I2C0_SDA) && !defined(I2C0_SDA_PULLUP) +/** Define SDA pullup enabled by default */ +#define I2C0_SDA_PULLUP true +#endif + +#if defined(I2C1_SCL) && !defined(I2C1_SCL_PULLUP) +/** Define SCL pullup enabled by default */ +#define I2C1_SCL_PULLUP true +#endif +#if defined(I2C1_SDA) && !defined(I2C1_SDA_PULLUP) +/** Define SDA pullup enabled by default */ +#define I2C1_SDA_PULLUP true +#endif + +/** + * @brief Static array with configuration for declared I2C devices + */ +static const i2c_conf_t i2c_config[] = { +#if defined(I2C0_SCL) && defined(I2C0_SDA) && defined(I2C0_SPEED) + { + .module = PERIPH_I2C0_MODULE, + .speed = I2C0_SPEED, + .scl = I2C0_SCL, + .sda = I2C0_SDA, + .scl_pullup = I2C0_SCL_PULLUP, + .sda_pullup = I2C0_SCL_PULLUP, + }, +#endif +#if defined(I2C1_SCL) && defined(I2C1_SDA) && defined(I2C1_SPEED) + { + .module = PERIPH_I2C1_MODULE, + .speed = I2C1_SPEED, + .scl = I2C1_SCL, + .sda = I2C1_SDA, + .scl_pullup = I2C1_SCL_PULLUP, + .sda_pullup = I2C1_SCL_PULLUP, + }, +#endif +}; + +/** + * @brief Number of I2C interfaces + * + * The number of I2C interfaces is determined from board-specific peripheral + * definitions of I2Cn_SPEED, I2Cn_SCK, and I2Cn_SDA. + * + * @note I2C_NUMOF definition must not be changed. + */ +#define I2C_NUMOF ARRAY_SIZE(i2c_config) + +/** @} */ + +/** + * @name PWM configuration + * @{ + */ + +/** + * @brief GPIOs used as channels for the according PWM device + */ +#ifdef PWM0_GPIOS +static const gpio_t pwm0_gpios[] = PWM0_GPIOS; +#endif + +/** + * @brief GPIOs used as channels for the according PWM device + */ +#ifdef PWM1_GPIOS +static const gpio_t pwm1_gpios[] = PWM1_GPIOS; +#endif + +/** + * @brief GPIOs used as channels for the according PWM device + */ +#ifdef PWM2_GPIOS +static const gpio_t pwm2_gpios[] = PWM2_GPIOS; +#endif + +/** + * @brief GPIOs used as channels for the according PWM device + */ +#ifdef PWM3_GPIOS +static const gpio_t pwm3_gpios[] = PWM3_GPIOS; +#endif + +/** + * @brief PWM device configuration based on defined PWM channel GPIOs + */ +static const pwm_config_t pwm_config[] = +{ +#ifdef PWM0_GPIOS + { + .module = PERIPH_LEDC_MODULE, + .group = LEDC_LOW_SPEED_MODE, + .timer = LEDC_TIMER_0, + .ch_numof = ARRAY_SIZE(pwm0_gpios), + .gpios = pwm0_gpios, + }, +#endif +#ifdef PWM1_GPIOS + { + .module = PERIPH_LEDC_MODULE, +#ifdef SOC_LEDC_SUPPORT_HS_MODE + .group = LEDC_HIGH_SPEED_MODE, +#else + .group = LEDC_LOW_SPEED_MODE, +#endif + .timer = LEDC_TIMER_1, + .ch_numof = ARRAY_SIZE(pwm1_gpios), + .gpios = pwm1_gpios, + }, +#endif +#ifdef PWM2_GPIOS + { + .module = PERIPH_LEDC_MODULE, + .group = LEDC_LOW_SPEED_MODE, + .timer = LEDC_TIMER_2, + .ch_numof = ARRAY_SIZE(pwm2_gpios), + .gpios = pwm2_gpios, + }, +#endif +#ifdef PWM3_GPIOS + { + .module = PERIPH_LEDC_MODULE, +#ifdef SOC_LEDC_SUPPORT_HS_MODE + .group = LEDC_HIGH_SPEED_MODE, +#else + .group = LEDC_LOW_SPEED_MODE, +#endif + .timer = LEDC_TIMER_3, + .ch_numof = ARRAY_SIZE(pwm3_gpios), + .gpios = pwm3_gpios, + }, +#endif +}; + +/** + * @brief Number of PWM devices + * + * The number of PWM devices is determined from the PWM device configuration. + * + * @note PWM_NUMOF definition must not be changed. + */ +#define PWM_NUMOF ARRAY_SIZE(pwm_config) + +/** @} */ + +/** + * @name SPI configuration + * @{ + */ + +/** + * @brief Static array with configuration for declared SPI devices + */ +static const spi_conf_t spi_config[] = { +#ifdef SPI0_CTRL + { + .ctrl = SPI0_CTRL, + .sck = SPI0_SCK, + .mosi = SPI0_MOSI, + .miso = SPI0_MISO, + .cs = SPI0_CS0, + }, +#endif +#ifdef SPI1_CTRL + { + .ctrl = SPI1_CTRL, + .sck = SPI1_SCK, + .mosi = SPI1_MOSI, + .miso = SPI1_MISO, + .cs = SPI1_CS0, + }, +#endif +}; + +/** + * @brief Number of SPI interfaces + * + * The number of SPI interfaces is determined from board-specific peripheral + * definitions of SPIn_*. + * + * @note SPI_NUMOF definition must not be changed. + */ +#define SPI_NUMOF ARRAY_SIZE(spi_config) +/** @} */ + +/** + * @name UART configuration + * @{ + */ + +#ifndef UART0_TXD +#define UART0_TXD (GPIO43) /**< TxD of UART_DEV(0) used on all ESP32-S3 boards */ +#endif +#ifndef UART0_RXD +#define UART0_RXD (GPIO44) /**< RxD of UART_DEV(0) used on all ESP32-S3 boards */ +#endif + +/** + * @brief Static array with configuration for declared UART devices + */ +static const uart_conf_t uart_config[] = { + { + .txd = UART0_TXD, + .rxd = UART0_RXD, + }, +#if defined(UART1_TXD) && defined(UART1_RXD) + { + .txd = UART1_TXD, + .rxd = UART1_RXD, + }, +#endif +#if defined(UART2_TXD) && defined(UART2_RXD) + { + .txd = UART2_TXD, + .rxd = UART2_RXD, + }, +#endif +}; + +/** + * @brief Number of UART interfaces + * + * The number of UART interfaces is determined from board-specific peripheral + * definitions of UARTn_*. + * + * @note UART_NUMOF definition must not be changed. + */ +#define UART_NUMOF ARRAY_SIZE(uart_config) +/** @} */ + +#ifdef __cplusplus +} /* end extern "C" */ +#endif + +#endif /* PERIPH_CONF_COMMON_H */ +/** @} */ diff --git a/dist/tools/doccheck/exclude_patterns b/dist/tools/doccheck/exclude_patterns index cb06cf860c..c3617ceeea 100644 --- a/dist/tools/doccheck/exclude_patterns +++ b/dist/tools/doccheck/exclude_patterns @@ -14973,6 +14973,8 @@ cpu/esp32/include/periph_cpu_esp32c3\.h:[0-9]+: warning: Member GPIO[0-9]+ \(mac boards/common/esp32c3/include/board_common.h:[0-9]+: warning: Member LED[0-9]_[A-Z]+ \(macro definition\) of file board_common\.h is not documented. boards/common/esp32c3/include/board_common.h:[0-9]+: warning: Member SPIFFS_[_A-Z]+ \(macro definition\) of file board_common\.h is not documented. cpu/esp32/include/periph_cpu_esp32s3\.h:[0-9]+: warning: Member GPIO[0-9]+ \(macro definition\) of file periph_cpu_esp32s3\.h is not documented. +boards/common/esp32s3/include/board_common.h:[0-9]+: warning: Member LED[0-9]_[A-Z]+ \(macro definition\) of file board_common\.h is not documented. +boards/common/esp32s3/include/board_common.h:[0-9]+: warning: Member SPIFFS_[_A-Z]+ \(macro definition\) of file board_common\.h is not documented. boards/waveshare\-nrf52840\-eval\-kit/include/arduino_pinmap\.h:[0-9]+: warning: Member ARDUINO_PIN_[A0-9]+ \(macro definition\) of file arduino_pinmap\.h is not documented. boards/waveshare\-nrf52840\-eval\-kit/include/arduino_pinmap\.h:[0-9]+: warning: Member ARDUINO_[A0-9]+ \(macro definition\) of file arduino_pinmap\.h is not documented. boards/waveshare\-nrf52840\-eval\-kit/include/board\.h:[0-9]+: warning: Member LED0_PIN \(macro definition\) of file board\.h is not documented.