ARM: mxs: support full SPL framework
This allows using the full SPL framework on mxs devices. In this mode, the u-boot.sb image loaded by the boot ROM contains only the SPL which then loads U-Boot proper or a kernel in falcon mode. Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
33ea119382
commit
07a8f79ee8
@ -1352,7 +1352,7 @@ source "arch/arm/Kconfig.debug"
|
||||
endmenu
|
||||
|
||||
config SPL_LDSCRIPT
|
||||
default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if ARCH_MX23 || ARCH_MX28
|
||||
default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
|
||||
default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
|
||||
default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
|
||||
|
||||
|
@ -14,8 +14,8 @@ obj-y += spl_boot.o spl_lradc_init.o spl_mem_init.o spl_power_init.o
|
||||
endif
|
||||
|
||||
# Specify the target for use in elftosb call
|
||||
MKIMAGE_TARGET-$(CONFIG_MX23) = mxsimage.mx23.cfg
|
||||
MKIMAGE_TARGET-$(CONFIG_MX28) = mxsimage.mx28.cfg
|
||||
MKIMAGE_TARGET-$(CONFIG_MX23) = mxsimage$(CONFIG_SPL_FRAMEWORK:%=-spl).mx23.cfg
|
||||
MKIMAGE_TARGET-$(CONFIG_MX28) = mxsimage$(CONFIG_SPL_FRAMEWORK:%=-spl).mx28.cfg
|
||||
|
||||
# Generate HAB-capable IVT
|
||||
#
|
||||
|
5
arch/arm/cpu/arm926ejs/mxs/mxsimage-spl.mx23.cfg
Normal file
5
arch/arm/cpu/arm926ejs/mxs/mxsimage-spl.mx23.cfg
Normal file
@ -0,0 +1,5 @@
|
||||
DISPLAYPROGRESS
|
||||
SECTION 0x0 BOOTABLE
|
||||
TAG LAST
|
||||
LOAD 0x1000 spl/u-boot-spl.bin
|
||||
CALL 0x1000 0x0
|
6
arch/arm/cpu/arm926ejs/mxs/mxsimage-spl.mx28.cfg
Normal file
6
arch/arm/cpu/arm926ejs/mxs/mxsimage-spl.mx28.cfg
Normal file
@ -0,0 +1,6 @@
|
||||
DISPLAYPROGRESS
|
||||
SECTION 0x0 BOOTABLE
|
||||
TAG LAST
|
||||
LOAD 0x1000 spl/u-boot-spl.bin
|
||||
LOAD IVT 0x8000 0x1000
|
||||
CALL HAB 0x8000 0x0
|
@ -146,6 +146,7 @@ void mxs_common_spl_init(const uint32_t arg, const uint32_t *resptr,
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef CONFIG_SPL_FRAMEWORK
|
||||
/* Support aparatus */
|
||||
inline void board_init_f(unsigned long bootflag)
|
||||
{
|
||||
@ -158,3 +159,4 @@ inline void board_init_r(gd_t *id, ulong dest_addr)
|
||||
for (;;)
|
||||
;
|
||||
}
|
||||
#endif
|
||||
|
@ -44,8 +44,10 @@
|
||||
/* Startup hooks */
|
||||
|
||||
/* SPL */
|
||||
#ifndef CONFIG_SPL_FRAMEWORK
|
||||
#define CONFIG_SPL_NO_CPU_SUPPORT_CODE
|
||||
#define CONFIG_SPL_START_S_PATH "arch/arm/cpu/arm926ejs/mxs"
|
||||
#endif
|
||||
|
||||
/* Memory sizes */
|
||||
#define CONFIG_SYS_MALLOC_LEN 0x00400000 /* 4 MB for malloc */
|
||||
|
Loading…
Reference in New Issue
Block a user