
The new gpio_early_init() function, which does nothing by default, can be overridden by boards to configure GPIOs at an early stage.
Signed-off-by: Thierry Reding thierry.reding@avionic-design.de --- Changes in v2: - new patch required for TEC support
board/nvidia/common/board.c | 7 +++++++ board/nvidia/common/board.h | 1 + 2 files changed, 8 insertions(+)
diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c index 2e22133..a159deb 100644 --- a/board/nvidia/common/board.c +++ b/board/nvidia/common/board.c @@ -132,11 +132,18 @@ int board_init(void) }
#ifdef CONFIG_BOARD_EARLY_INIT_F +static void __gpio_early_init(void) +{ +} + +void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init"))); + int board_early_init_f(void) { board_init_uart_f();
/* Initialize periph GPIOs */ + gpio_early_init(); #ifdef CONFIG_SPI_UART_SWITCH gpio_early_init_uart(); #else diff --git a/board/nvidia/common/board.h b/board/nvidia/common/board.h index 09fb158..dada4c4 100644 --- a/board/nvidia/common/board.h +++ b/board/nvidia/common/board.h @@ -25,6 +25,7 @@ #define _BOARD_H_
void gpio_config_uart(void); +void gpio_early_init(void); void gpio_early_init_uart(void);
/*