summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2015-12-11 15:01:28 +0100
committerMichal Simek <michal.simek@xilinx.com>2016-01-27 15:55:53 +0100
commit38c4761c236e0d8efd6b552d6b036015097c7bd9 (patch)
tree6a2f86ad4bbad46b02ead652b9e41215483ae610
parent077fe0f5e758a9810b320a2437d52b965a63c3b7 (diff)
downloadu-boot-imx-38c4761c236e0d8efd6b552d6b036015097c7bd9.zip
u-boot-imx-38c4761c236e0d8efd6b552d6b036015097c7bd9.tar.gz
u-boot-imx-38c4761c236e0d8efd6b552d6b036015097c7bd9.tar.bz2
microblaze: Fix board_init calling sequence
board_init() is in final elf file but it is not called at all. Use board_init_late() instead and call gpio_init() from it. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-rw-r--r--board/xilinx/microblaze-generic/microblaze-generic.c6
-rw-r--r--include/configs/microblaze-generic.h1
2 files changed, 5 insertions, 2 deletions
diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c
index 0d7bed5..ccd4ec9 100644
--- a/board/xilinx/microblaze-generic/microblaze-generic.c
+++ b/board/xilinx/microblaze-generic/microblaze-generic.c
@@ -76,7 +76,7 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return 0;
}
-int gpio_init (void)
+static int gpio_init(void)
{
#ifdef CONFIG_XILINX_GPIO
reset_pin = gpio_alloc(CONFIG_SYS_GPIO_0_ADDR, "reset", 1);
@@ -86,7 +86,9 @@ int gpio_init (void)
return 0;
}
-void board_init(void)
+int board_late_init(void)
{
gpio_init();
+
+ return 0;
}
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index 3cbec65..97a0d86 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -45,6 +45,7 @@
# define CONFIG_XILINX_GPIO
# define CONFIG_SYS_GPIO_0_ADDR XILINX_GPIO_BASEADDR
#endif
+#define CONFIG_BOARD_LATE_INIT
/* interrupt controller */
#ifdef XILINX_INTC_BASEADDR