summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@avionic-design.de>2012-06-04 20:02:27 +0000
committerAlbert ARIBAUD (U-Boot) <uboot@lilith.(none)>2012-07-09 22:44:32 +0200
commitcb7a1cf36a59772670adcd2c90cee40c2ed1bc60 (patch)
tree1658d59badc5bd06bb7095562c4fbcd8fd59d470
parenta7dafd7b1a980d0518473b02574307b153ccddb5 (diff)
tegra: Allow boards to perform early GPIO setup
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> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
-rw-r--r--board/nvidia/common/board.c7
-rw-r--r--board/nvidia/common/board.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c
index 2e22133591c..a159deb6751 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 09fb158f4e3..dada4c4f9cb 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);
/*