1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

boards/esp32: allow board specific initialization

This commit is contained in:
Gunar Schorcht 2019-12-18 13:10:34 +01:00
parent 69f6cace31
commit 624c6f24ca
9 changed files with 71 additions and 8 deletions

View File

@ -30,7 +30,7 @@
extern "C" {
#endif
void board_init(void)
void board_init_common(void)
{
#ifdef LED0_PIN
gpio_init (LED0_PIN, GPIO_OUT);
@ -54,7 +54,7 @@ extern void spi_print_config(void);
extern void uart_print_config(void);
extern void can_print_config(void);
void print_board_config (void)
void print_board_config(void)
{
ets_printf("\nBoard configuration:\n");

View File

@ -147,23 +147,37 @@ extern mtd_dev_t *mtd0;
/**
* @brief Initialize board specific hardware
* @brief Initialize the hardware that is common for all ESP32 boards.
*
* Since all features of ESP32 boards are provided by the SOC, almost all
* initializations are done during the CPU initialization that is called from
* boot loader.
* This function has to be called from the board specific `board_init` function.
*/
void board_init (void);
void board_init_common(void);
/**
* @brief Print the board configuration in a human readable format
*/
void print_board_config (void);
void print_board_config(void);
#ifdef __cplusplus
} /* end extern "C" */
#endif
#else /* ESP32_IDF_CODE */
#ifndef DOXYGEN
#ifdef __cplusplus
extern "C"
#endif
/* declaration of `board_init_common` is required when compiling vendor code */
extern void board_init_common(void);
#ifdef __cplusplus
}
#endif
#endif /* DOXYGEN */
#endif /* ESP32_IDF_CODE */
#endif /* BOARD_COMMON_H */
/** @} */

View File

@ -58,5 +58,13 @@
/* include definitions for optional hardware modules */
#include "board_modules.h"
/**
* @brief Initialize the board specific hardware
*/
static inline void board_init(void) {
/* there is nothing special to initialize on this board */
board_init_common();
}
#endif /* BOARD_H */
/** @} */

View File

@ -98,6 +98,14 @@ extern "C" {
/* include common board definitions as last step */
#include "board_common.h"
/**
* @brief Initialize the board specific hardware
*/
static inline void board_init(void) {
/* there is nothing special to initialize on this board */
board_init_common();
}
#ifdef __cplusplus
} /* end extern "C" */
#endif

View File

@ -1 +1,5 @@
ifneq (,$(filter esp32_ttgo_t_beam_v1_0,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
include $(RIOTBOARD)/common/esp32/Makefile.dep

View File

@ -79,5 +79,10 @@
/* include common board definitions as last step */
#include "board_common.h"
/**
* @brief Initialize the board specific hardware
*/
void board_init(void);
#endif /* BOARD_H */
/** @} */

View File

@ -80,5 +80,13 @@
/* include common board definitions as last step */
#include "board_common.h"
/**
* @brief Initialize the board specific hardware
*/
static inline void board_init(void) {
/* there is nothing special to initialize on this board */
board_init_common();
}
#endif /* BOARD_H */
/** @} */

View File

@ -64,5 +64,13 @@
/* include common board definitions as last step */
#include "board_common.h"
/**
* @brief Initialize the board specific hardware
*/
static inline void board_init(void) {
/* there is nothing special to initialize on this board */
board_init_common();
}
#endif /* BOARD_H */
/** @} */

View File

@ -108,5 +108,13 @@
/* include common board definitions as last step */
#include "board_common.h"
/**
* @brief Initialize the board specific hardware
*/
static inline void board_init(void) {
/* there is nothing special to initialize on this board */
board_init_common();
}
#endif /* BOARD_H */
/** @} */