diff options
| author | Sricharan <r.sricharan@ti.com> | 2011-11-15 09:50:03 -0500 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2011-11-15 22:25:50 +0100 | 
| commit | 78f455c055ddf55a1a2dd6ae5e2d060ed2e5bd0e (patch) | |
| tree | c124c8e56d72e9e46f70516fa9dd3dabdac22d9a /arch/arm/include/asm/arch-omap5/sys_proto.h | |
| parent | bb772a594493092adfb18a56889e0bce855eed99 (diff) | |
| download | olio-uboot-2014.01-78f455c055ddf55a1a2dd6ae5e2d060ed2e5bd0e.tar.xz olio-uboot-2014.01-78f455c055ddf55a1a2dd6ae5e2d060ed2e5bd0e.zip | |
omap4/5: Add support for booting with CH.
Configuration header(CH) is 512 byte header attached to an OMAP
boot image that will help ROM code to initialize clocks, SDRAM
etc and copy U-Boot directly into SDRAM. CH can help us in
by-passing SPL and directly boot U-boot, hence it's an alternative
for SPL. However, we intend to support both CH and SPL for OMAP4/5.
Initialization done through CH is limited and is not equivalent
to that done by SPL. So U-Boot has to distinguish between the
two cases and handle them accordingly. This patch takes care
of doing this.
Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Diffstat (limited to 'arch/arm/include/asm/arch-omap5/sys_proto.h')
| -rw-r--r-- | arch/arm/include/asm/arch-omap5/sys_proto.h | 18 | 
1 files changed, 10 insertions, 8 deletions
| diff --git a/arch/arm/include/asm/arch-omap5/sys_proto.h b/arch/arm/include/asm/arch-omap5/sys_proto.h index 3803ea9f5..c31e18ca2 100644 --- a/arch/arm/include/asm/arch-omap5/sys_proto.h +++ b/arch/arm/include/asm/arch-omap5/sys_proto.h @@ -75,15 +75,17 @@ static inline u32 running_from_sdram(void)  static inline u8 uboot_loaded_by_spl(void)  {  	/* -	 * Configuration Header is not supported yet, so u-boot init running -	 * from SDRAM implies that it was loaded by SPL. When this situation -	 * changes one of these approaches could be taken: -	 * i.  Pass a magic from SPL to U-Boot and U-Boot save it at a known -	 *     location. -	 * ii. Check the OPP. CH can support only 50% OPP while SPL initializes -	 *     the DPLLs at 100% OPP. +	 * u-boot can be running from sdram either because of configuration +	 * Header or by SPL. If because of CH, then the romcode sets the +	 * CHSETTINGS executed bit to true in the boot parameter structure that +	 * it passes to the bootloader.This parameter is stored in the ch_flags +	 * variable by both SPL and u-boot.Check out for CHSETTINGS, which is a +	 * mandatory section if CH is present.  	 */ -	return running_from_sdram(); +	if ((boot_params.ch_flags) & (CH_FLAGS_CHSETTINGS)) +		return 0; +	else +		return running_from_sdram();  }  /*   * The basic hardware init of OMAP(s_init()) can happen in 4 |