]> git.sur5r.net Git - u-boot/commitdiff
devkit8000: Implement and activate direct OS boot
authorSimon Schwarz <simonschwarzcor@googlemail.com>
Thu, 15 Mar 2012 04:01:40 +0000 (04:01 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Tue, 27 Mar 2012 20:05:28 +0000 (22:05 +0200)
- Implements spl_start_uboot() for devkit8000
- Add configs to activate direct OS boot from SPL

Signed-off-by: Simon Schwarz <simonschwarzcor@gmail.com>
CC: Tom Rini <tom.rini@gmail.com>
CC: Stefano Babic <sbabic@denx.de>
CC: Wolfgang Denk <wd@denx.de>
board/timll/devkit8000/devkit8000.c
include/configs/devkit8000.h

index dded697f95e9f9931fa3b86f68eda393135d163a..d75e86b32e69d4cf590ac1b6254ef0da06d16077 100644 (file)
@@ -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>
@@ -161,6 +162,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
 
 /*
index e323877e2693e42ac78607049004a998baeb1e6e..eb7c376780dc476680664f166092d1a04ba20f9f 100644 (file)
@@ -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
 #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 */
 #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+\