This fragment enables falcon boot for the am62x, 62a and 62p. To have enough stack and heap space for loading kernel image as FIT, the memory map was modified as shown below, the PRELOADED_BL33_BASE in ATF has to also be updated to 0x80200000 since the kernel requires to be loaded at 2MiB aligned address.
Memory Map (changed addresses marked with *): 0x80000000 +-------------------------------+ Start of DDR 512KiB | ATF reserved memory space | CONFIG_K3_ATF_LOAD_ADDR 0x80080000 +-------------------------------+ 1.5MiB | Unused | 0x80200000 +-------------------------------+ PRELOADED_BL33_BASE* in ATF | | CONFIG_SYS_LOAD_ADDR* (load 30MiB | Kernel + initramfs Image | address for kernel) | | 0x82000000 +-------------------------------+ K3_HW_CONFIG_BASE in ATF | | CONFIG_SPL_PAYLOAD_ARGS_ADDR* 1MiB | Kernel DTB | | | 0x82100000 +-------------------------------+ CONFIG_SPL_LOAD_FIT_ADDRESS* | | 55MiB |Initial Download Region for FIT| | | 0x85800000 +-------------------------------+ | | | R5 U-Boot SPL Stack + Heap | 56MiB | (size defined by | | SPL_STACK_R_MALLOC_SIMPLE_LEN)| | | 0x89000000 +-------------------------------+ CONFIG_SPL_STACK_R_ADDR* 344MiB | Device Manager (DM) | 0x9e800000 +-------------------------------+ BL32_BASE in ATF 24MiB | OPTEE | 0xa0000000 +-------------------------------+ End of DDR (512MiB) Signed-off-by: Anshul Dalal <ansh...@ti.com> --- configs/am62x_r5_falcon.config | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 configs/am62x_r5_falcon.config diff --git a/configs/am62x_r5_falcon.config b/configs/am62x_r5_falcon.config new file mode 100644 index 00000000000..256c1a260cf --- /dev/null +++ b/configs/am62x_r5_falcon.config @@ -0,0 +1,30 @@ +# Enable falcon mode +CONFIG_SPL_OS_BOOT=y + +# We use envs for setting bootargs and optionally for `falcon_(image|args)_file` +CONFIG_SPL_ENV_SUPPORT=y + +# Perform FDT fixups from SPL +CONFIG_OF_SYSTEM_SETUP=y + +# Enabling this causes issues with EMMC FS boot, +# When enabled the SPL tries to detect FS on boot[01] hw partition which fails +# since we need the raw tiboot3.bin there for the board to boot instead +CONFIG_SUPPORT_EMMC_BOOT=n + +# Used as the 2MiB aligned load address for kernel +CONFIG_SYS_LOAD_ADDR=0x80200000 +CONFIG_SPL_LOAD_FIT_ADDRESS=0x82100000 +CONFIG_SPL_STACK_R_ADDR=0x89000000 +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x3800000 +CONFIG_SYS_BOOTM_LEN=0x1e00000 + +# Loading tispl_falcon instead of tispl which has fdt and A53 spl saves time +CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="tispl_falcon.bin" +CONFIG_SPL_FS_LOAD_KERNEL_NAME="Image" +# We don't use the args file when loading fitImage since it has dtb pre-packaged +# this is only useful while reading the raw kernel image from FS +CONFIG_SPL_FS_LOAD_ARGS_NAME="falcon.dtb" + +# Disabled to save space on the spl +CONFIG_SPL_YMODEM_SUPPORT=n -- 2.43.0