[U-Boot] [PATCH V11 07/13] devkit8000: Implement and activate direct OS boot
Stefano Babic
sbabic at denx.de
Fri Dec 16 16:37:07 CET 2011
From: Simon Schwarz <simonschwarzcor at googlemail.com>
- Implements spl_start_uboot() for devkit8000
- Add configs to activate direct OS boot from SPL
Signed-off-by: Simon Schwarz <simonschwarzcor at gmail.com>
CC: Tom Rini <tom.rini at gmail.com>
CC: Stefano Babic <sbabic at denx.de>
CC: Wolfgang Denk <wd at denx.de>
---
V10 changes:
sliced from the implementation
added an implementation of spl_start_uboot for devkit8000
board/timll/devkit8000/devkit8000.c | 18 ++++++++++++++++++
include/configs/devkit8000.h | 7 +++++--
2 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c
index 05de3c1..6ca4fe2 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -41,6 +41,7 @@
#include <asm/arch/mem.h>
#include <asm/mach-types.h>
#include "devkit8000.h"
+#include <asm/gpio.h>
#ifdef CONFIG_DRIVER_DM9000
#include <net.h>
#include <netdev.h>
@@ -160,6 +161,23 @@ void spl_board_prepare_for_linux(void)
gpmc_dm9000_config();
}
+/*
+ * devkit8000 specific implementation of spl_start_uboot()
+ *
+ * RETURN
+ * 0 if the button is not pressed
+ * 1 if the button is pressed
+ */
+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/devkit8000.h b/include/configs/devkit8000.h
index e323877..eb7c376 100644
--- a/include/configs/devkit8000.h
+++ b/include/configs/devkit8000.h
@@ -35,7 +35,7 @@
#define CONFIG_OMAP 1 /* in a TI OMAP core */
#define CONFIG_OMAP34XX 1 /* which is a 34XX */
#define CONFIG_OMAP3_DEVKIT8000 1 /* working with DevKit8000 */
-
+#define CONFIG_MACH_TYPE MACH_TYPE_DEVKIT8000
/*
* 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
* 64 bytes before this address should be set aside for u-boot.img's
@@ -327,7 +327,7 @@
#define CONFIG_SPL_MAX_SIZE 0xB400 /* 45 K */
#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
-#define CONFIG_SPL_BSS_START_ADDR 0x80000000 /*CONFIG_SYS_SDRAM_BASE*/
+#define CONFIG_SPL_BSS_START_ADDR 0x80000500 /* leave space for bootargs*/
#define CONFIG_SPL_BSS_MAX_SIZE 0x80000
/* NAND boot config */
@@ -352,6 +352,9 @@
#define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 /* 1 MB */
/* SPL OS boot options */
+#define CONFIG_SPL_OS_BOOT
+#define CONFIG_SPL_OS_BOOT_KEY 26
+
#define CONFIG_CMD_SPL
#define CONFIG_CMD_SPL_WRITE_SIZE 0x400 /* 1024 byte */
#define CONFIG_CMD_SPL_NAND_OFS (CONFIG_SYS_NAND_SPL_KERNEL_OFFS+\
--
1.7.5.4
More information about the U-Boot
mailing list