mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
mvebu: Use CONFIG_SPL_STACK + 4 directly for bootparam location
The definition of CONFIG_SPL_BOOTROM_SAVE is always a fixed CONFIG_SPL_STACK + 4, while CONFIG_SPL_STACK is not constant. This change will make it clear where the location is still, once CONFIG_SPL_STACK moves to Kconfig. Cc: Stefan Roese <sr@denx.de> Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
3135ba642f
commit
3b2979eefa
14 changed files with 5 additions and 17 deletions
|
@ -8,19 +8,19 @@
|
||||||
* contains U-Boot SPL, optionally it can also contain additional arguments.
|
* contains U-Boot SPL, optionally it can also contain additional arguments.
|
||||||
* The number of these arguments is in r0, pointer to the argument array in r1.
|
* The number of these arguments is in r0, pointer to the argument array in r1.
|
||||||
* BootROM expects executable BIN header code to return to address stored in lr.
|
* BootROM expects executable BIN header code to return to address stored in lr.
|
||||||
* Other registers (r2 - r12) must be preserved. We save all registers to
|
* Other registers (r2 - r12) must be preserved. We save all registers to the
|
||||||
* CONFIG_SPL_BOOTROM_SAVE address. BIN header arguments (passed via r0 and r1)
|
* address of CONFIG_SPL_STACK + 4. BIN header arguments (passed via r0 and r1)
|
||||||
* are currently not used by U-Boot SPL binary.
|
* are currently not used by U-Boot SPL binary.
|
||||||
*/
|
*/
|
||||||
ENTRY(save_boot_params)
|
ENTRY(save_boot_params)
|
||||||
stmfd sp!, {r0 - r12, lr} /* @ save registers on stack */
|
stmfd sp!, {r0 - r12, lr} /* @ save registers on stack */
|
||||||
ldr r12, =CONFIG_SPL_BOOTROM_SAVE
|
ldr r12, =(CONFIG_SPL_STACK + 4)
|
||||||
str sp, [r12]
|
str sp, [r12]
|
||||||
b save_boot_params_ret
|
b save_boot_params_ret
|
||||||
ENDPROC(save_boot_params)
|
ENDPROC(save_boot_params)
|
||||||
|
|
||||||
ENTRY(return_to_bootrom)
|
ENTRY(return_to_bootrom)
|
||||||
ldr r12, =CONFIG_SPL_BOOTROM_SAVE
|
ldr r12, =(CONFIG_SPL_STACK + 4)
|
||||||
ldr sp, [r12]
|
ldr sp, [r12]
|
||||||
ldmfd sp!, {r0 - r12, lr} /* @ restore registers from stack */
|
ldmfd sp!, {r0 - r12, lr} /* @ restore registers from stack */
|
||||||
mov r0, #0x0 /* @ return value: 0x0 NO_ERR */
|
mov r0, #0x0 /* @ return value: 0x0 NO_ERR */
|
||||||
|
|
|
@ -283,7 +283,7 @@ u32 spl_boot_device(void)
|
||||||
int board_return_to_bootrom(struct spl_image_info *spl_image,
|
int board_return_to_bootrom(struct spl_image_info *spl_image,
|
||||||
struct spl_boot_device *bootdev)
|
struct spl_boot_device *bootdev)
|
||||||
{
|
{
|
||||||
u32 *regs = *(u32 **)CONFIG_SPL_BOOTROM_SAVE;
|
u32 *regs = *(u32 **)(CONFIG_SPL_STACK + 4);
|
||||||
|
|
||||||
printf("Returning to BootROM (return address 0x%08x)...\n", regs[13]);
|
printf("Returning to BootROM (return address 0x%08x)...\n", regs[13]);
|
||||||
return_to_bootrom();
|
return_to_bootrom();
|
||||||
|
|
|
@ -48,7 +48,6 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
#if defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC) || defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA)
|
#if defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC) || defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA)
|
||||||
/* SPL related MMC defines */
|
/* SPL related MMC defines */
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((212 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((212 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
#if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SDIO_MMC_CARD
|
#if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SDIO_MMC_CARD
|
||||||
/* SPL related MMC defines */
|
/* SPL related MMC defines */
|
||||||
|
|
|
@ -38,6 +38,5 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
#endif /* _CONFIG_DB_88F6720_H */
|
#endif /* _CONFIG_DB_88F6720_H */
|
||||||
|
|
|
@ -45,7 +45,6 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* mv-common.h should be defined after CMD configs since it used them
|
* mv-common.h should be defined after CMD configs since it used them
|
||||||
|
|
|
@ -45,7 +45,6 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
#if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SDIO_MMC_CARD
|
#if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SDIO_MMC_CARD
|
||||||
/* SPL related MMC defines */
|
/* SPL related MMC defines */
|
||||||
|
|
|
@ -57,7 +57,6 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
/* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
|
/* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
|
||||||
#define CONFIG_SPD_EEPROM 0x4e
|
#define CONFIG_SPD_EEPROM 0x4e
|
||||||
|
|
|
@ -49,7 +49,6 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
/* Default Environment */
|
/* Default Environment */
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,6 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
#if defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC) || defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA)
|
#if defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC) || defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA)
|
||||||
/* SPL related MMC defines */
|
/* SPL related MMC defines */
|
||||||
|
|
|
@ -52,7 +52,6 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
/* SPL related SPI defines */
|
/* SPL related SPI defines */
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,6 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
/* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
|
/* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
|
||||||
#define CONFIG_SYS_SDRAM_SIZE SZ_2G
|
#define CONFIG_SYS_SDRAM_SIZE SZ_2G
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
#ifdef CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC
|
#ifdef CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC
|
||||||
/* SPL related MMC defines */
|
/* SPL related MMC defines */
|
||||||
|
|
|
@ -72,6 +72,5 @@
|
||||||
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
|
||||||
|
|
||||||
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
|
||||||
#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
|
|
||||||
|
|
||||||
#endif /* _CONFIG_X530_H */
|
#endif /* _CONFIG_X530_H */
|
||||||
|
|
Loading…
Reference in a new issue