summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Babic <sbabic@denx.de>2012-03-15 04:01:44 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-03-27 22:05:29 +0200
commit84c21fb16fe474f72109bf665a7cd841e17a2409 (patch)
tree46823e85f0171f910e9aa6a287100df61308d160
parent53c4492c0b036d73aaa99f2496bf3fcb36448e6c (diff)
downloadu-boot-imx-84c21fb16fe474f72109bf665a7cd841e17a2409.zip
u-boot-imx-84c21fb16fe474f72109bf665a7cd841e17a2409.tar.gz
u-boot-imx-84c21fb16fe474f72109bf665a7cd841e17a2409.tar.bz2
OMAP3: twister: add support to boot Linux from SPL
Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Tom Rini <tom.rini@gmail.com> CC: Wolfgang Denk <wd@denx.de> CC: Simon Schwarz <simonschwarzcor@gmail.com>
-rw-r--r--board/technexion/twister/twister.c23
-rw-r--r--include/configs/twister.h12
2 files changed, 35 insertions, 0 deletions
diff --git a/board/technexion/twister/twister.c b/board/technexion/twister/twister.c
index 50c70ab..b927586 100644
--- a/board/technexion/twister/twister.c
+++ b/board/technexion/twister/twister.c
@@ -136,3 +136,26 @@ int board_mmc_init(bd_t *bis)
return omap_mmc_init(0);
}
#endif
+
+#ifdef CONFIG_SPL_OS_BOOT
+/*
+ * Do board specific preperation before SPL
+ * Linux boot
+ */
+void spl_board_prepare_for_linux(void)
+{
+ /* init cs for extern lan */
+ enable_gpmc_cs_config(gpmc_smc911, &gpmc_cfg->cs[5],
+ CONFIG_SMC911X_BASE, GPMC_SIZE_16M);
+}
+int spl_start_uboot(void)
+{
+ int val = 0;
+ if (!gpio_request(CONFIG_SPL_OS_BOOT_KEY, "U-Boot key")) {
+ gpio_direction_input(CONFIG_SPL_OS_BOOT_KEY);
+ val = gpio_get_value(CONFIG_SPL_OS_BOOT_KEY);
+ gpio_free(CONFIG_SPL_OS_BOOT_KEY);
+ }
+ return val;
+}
+#endif
diff --git a/include/configs/twister.h b/include/configs/twister.h
index 64a886d..a852481 100644
--- a/include/configs/twister.h
+++ b/include/configs/twister.h
@@ -51,4 +51,16 @@
#define CONFIG_EXTRA_ENV_SETTINGS CONFIG_TAM3517_SETTINGS \
"bootcmd=run nandboot\0"
+/* SPL OS boot options */
+#define CONFIG_CMD_SPL
+#define CONFIG_CMD_SPL_WRITE_SIZE 0x400 /* 1024 byte */
+#define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x00200000
+#define CONFIG_CMD_SPL_NAND_OFS (CONFIG_SYS_NAND_SPL_KERNEL_OFFS+\
+ 0x600000)
+#define CONFIG_SPL_OS_BOOT
+#define CONFIG_SPL_OS_BOOT_KEY 55
+
+#define CONFIG_SYS_SPL_ARGS_ADDR (PHYS_SDRAM_1 + 0x100)
+#define CONFIG_SPL_BOARD_INIT
+
#endif /* __CONFIG_H */