am33xx/omap: Move save_omap_boot_params to omap-common/boot-common.c
We need to call the save_omap_boot_params function on am33xx/ti81xx and other newer TI SoCs, so move the function to boot-common. Only OMAP4+ has the omap_hw_init_context function so add ifdefs to not call it on am33xx/ti81xx. Call save_omap_boot_params from s_init on am33xx/ti81xx boards. Reviewed-by: R Sricharan <r.sricharan@ti.com> Signed-off-by: Tom Rini <trini@ti.com>
This commit is contained in:
parent
320d9746d3
commit
4596dcc1d4
|
@ -25,6 +25,45 @@
|
|||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
void save_omap_boot_params(void)
|
||||
{
|
||||
u32 rom_params = *((u32 *)OMAP_SRAM_SCRATCH_BOOT_PARAMS);
|
||||
u8 boot_device;
|
||||
u32 dev_desc, dev_data;
|
||||
|
||||
if ((rom_params < NON_SECURE_SRAM_START) ||
|
||||
(rom_params > NON_SECURE_SRAM_END))
|
||||
return;
|
||||
|
||||
/*
|
||||
* rom_params can be type casted to omap_boot_parameters and
|
||||
* used. But it not correct to assume that romcode structure
|
||||
* encoding would be same as u-boot. So use the defined offsets.
|
||||
*/
|
||||
gd->arch.omap_boot_params.omap_bootdevice = boot_device =
|
||||
*((u8 *)(rom_params + BOOT_DEVICE_OFFSET));
|
||||
|
||||
gd->arch.omap_boot_params.ch_flags =
|
||||
*((u8 *)(rom_params + CH_FLAGS_OFFSET));
|
||||
|
||||
if ((boot_device >= MMC_BOOT_DEVICES_START) &&
|
||||
(boot_device <= MMC_BOOT_DEVICES_END)) {
|
||||
#if !defined(CONFIG_AM33XX) && !defined(CONFIG_TI81XX)
|
||||
if ((omap_hw_init_context() ==
|
||||
OMAP_INIT_CONTEXT_UBOOT_AFTER_SPL)) {
|
||||
gd->arch.omap_boot_params.omap_bootmode =
|
||||
*((u8 *)(rom_params + BOOT_MODE_OFFSET));
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
dev_desc = *((u32 *)(rom_params + DEV_DESC_PTR_OFFSET));
|
||||
dev_data = *((u32 *)(dev_desc + DEV_DATA_PTR_OFFSET));
|
||||
gd->arch.omap_boot_params.omap_bootmode =
|
||||
*((u32 *)(dev_data + BOOT_MODE_OFFSET));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
u32 spl_boot_device(void)
|
||||
{
|
||||
|
|
|
@ -111,42 +111,6 @@ void __weak srcomp_enable(void)
|
|||
{
|
||||
}
|
||||
|
||||
static void save_omap_boot_params(void)
|
||||
{
|
||||
u32 rom_params = *((u32 *)OMAP_SRAM_SCRATCH_BOOT_PARAMS);
|
||||
u8 boot_device;
|
||||
u32 dev_desc, dev_data;
|
||||
|
||||
if ((rom_params < NON_SECURE_SRAM_START) ||
|
||||
(rom_params > NON_SECURE_SRAM_END))
|
||||
return;
|
||||
|
||||
/*
|
||||
* rom_params can be type casted to omap_boot_parameters and
|
||||
* used. But it not correct to assume that romcode structure
|
||||
* encoding would be same as u-boot. So use the defined offsets.
|
||||
*/
|
||||
gd->arch.omap_boot_params.omap_bootdevice = boot_device =
|
||||
*((u8 *)(rom_params + BOOT_DEVICE_OFFSET));
|
||||
|
||||
gd->arch.omap_boot_params.ch_flags =
|
||||
*((u8 *)(rom_params + CH_FLAGS_OFFSET));
|
||||
|
||||
if ((boot_device >= MMC_BOOT_DEVICES_START) &&
|
||||
(boot_device <= MMC_BOOT_DEVICES_END)) {
|
||||
if ((omap_hw_init_context() ==
|
||||
OMAP_INIT_CONTEXT_UBOOT_AFTER_SPL)) {
|
||||
gd->arch.omap_boot_params.omap_bootmode =
|
||||
*((u8 *)(rom_params + BOOT_MODE_OFFSET));
|
||||
} else {
|
||||
dev_desc = *((u32 *)(rom_params + DEV_DESC_PTR_OFFSET));
|
||||
dev_data = *((u32 *)(dev_desc + DEV_DATA_PTR_OFFSET));
|
||||
gd->arch.omap_boot_params.omap_bootmode =
|
||||
*((u32 *)(dev_data + BOOT_MODE_OFFSET));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ARCH_CPU_INIT
|
||||
/*
|
||||
* SOC specific cpu init
|
||||
|
|
|
@ -30,6 +30,7 @@ int print_cpuinfo(void);
|
|||
|
||||
extern struct ctrl_stat *cstat;
|
||||
u32 get_device_type(void);
|
||||
void save_omap_boot_params(void);
|
||||
void setup_clocks_for_console(void);
|
||||
void ddr_pll_config(unsigned int ddrpll_M);
|
||||
|
||||
|
|
|
@ -54,6 +54,7 @@ void cancel_out(u32 *num, u32 *den, u32 den_limit);
|
|||
void sdram_init(void);
|
||||
u32 omap_sdram_size(void);
|
||||
u32 cortex_rev(void);
|
||||
void save_omap_boot_params(void);
|
||||
void init_omap_revision(void);
|
||||
void do_io_settings(void);
|
||||
void omap_vc_init(u16 speed_khz);
|
||||
|
|
|
@ -58,6 +58,7 @@ void cancel_out(u32 *num, u32 *den, u32 den_limit);
|
|||
void sdram_init(void);
|
||||
u32 omap_sdram_size(void);
|
||||
u32 cortex_rev(void);
|
||||
void save_omap_boot_params(void);
|
||||
void init_omap_revision(void);
|
||||
void do_io_settings(void);
|
||||
void omap_vc_init(u16 speed_khz);
|
||||
|
|
|
@ -105,6 +105,15 @@ static struct emif_regs ddr3_emif_reg_data = {
|
|||
*/
|
||||
void s_init(void)
|
||||
{
|
||||
/*
|
||||
* Save the boot parameters passed from romcode.
|
||||
* We cannot delay the saving further than this,
|
||||
* to prevent overwrites.
|
||||
*/
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
save_omap_boot_params();
|
||||
#endif
|
||||
|
||||
/* WDT1 is already running when the bootloader gets control
|
||||
* Disable it to avoid "random" resets
|
||||
*/
|
||||
|
|
|
@ -114,6 +114,15 @@ static struct emif_regs ddr3_emif_reg_data = {
|
|||
*/
|
||||
void s_init(void)
|
||||
{
|
||||
/*
|
||||
* Save the boot parameters passed from romcode.
|
||||
* We cannot delay the saving further than this,
|
||||
* to prevent overwrites.
|
||||
*/
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
save_omap_boot_params();
|
||||
#endif
|
||||
|
||||
/*
|
||||
* WDT1 is already running when the bootloader gets control
|
||||
* Disable it to avoid "random" resets
|
||||
|
|
|
@ -304,6 +304,15 @@ static struct emif_regs ddr3_evm_emif_reg_data = {
|
|||
*/
|
||||
void s_init(void)
|
||||
{
|
||||
/*
|
||||
* Save the boot parameters passed from romcode.
|
||||
* We cannot delay the saving further than this,
|
||||
* to prevent overwrites.
|
||||
*/
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
save_omap_boot_params();
|
||||
#endif
|
||||
|
||||
/* WDT1 is already running when the bootloader gets control
|
||||
* Disable it to avoid "random" resets
|
||||
*/
|
||||
|
|
|
@ -149,6 +149,15 @@ static const struct ddr_data evm_ddr2_data = {
|
|||
void s_init(void)
|
||||
{
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
/*
|
||||
* Save the boot parameters passed from romcode.
|
||||
* We cannot delay the saving further than this,
|
||||
* to prevent overwrites.
|
||||
*/
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
save_omap_boot_params();
|
||||
#endif
|
||||
|
||||
/* WDT1 is already running when the bootloader gets control
|
||||
* Disable it to avoid "random" resets
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue