diff options
| author | Simon Schwarz <simonschwarzcor@googlemail.com> | 2012-03-15 04:01:40 +0000 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-03-27 22:05:28 +0200 | 
| commit | 2d52a9a38c20697b4aeecac0541c7496809e8238 (patch) | |
| tree | 542687b2b910d64b80eca4954d479565614ba070 | |
| parent | ace73189a5245bc0b20930d83bbe8054911cb253 (diff) | |
| download | olio-uboot-2014.01-2d52a9a38c20697b4aeecac0541c7496809e8238.tar.xz olio-uboot-2014.01-2d52a9a38c20697b4aeecac0541c7496809e8238.zip | |
devkit8000: Implement and activate direct OS boot
- 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>
| -rw-r--r-- | board/timll/devkit8000/devkit8000.c | 18 | ||||
| -rw-r--r-- | 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 dded697f9..d75e86b32 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> @@ -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  /* diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h index e323877e2..eb7c37678 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+\ |