diff --git a/arch/riscv/cpu/k3/Kconfig b/arch/riscv/cpu/k3/Kconfig index d4ae03d8ca2..c1cd029fdc7 100644 --- a/arch/riscv/cpu/k3/Kconfig +++ b/arch/riscv/cpu/k3/Kconfig @@ -9,8 +9,11 @@ config SPACEMIT_K3 bool select ARCH_EARLY_INIT_R + select SUPPORT_SPL + select SPL imply CPU imply CPU_RISCV + imply SPL_CPU imply RISCV_ISA_ZICBOM if SPACEMIT_K3 @@ -18,4 +21,23 @@ if SPACEMIT_K3 config SYS_CPU default "k3" +config SPL_SMP + default n + +config SPL_TEXT_BASE + hex + default 0xc0801000 + +config SPL_MAX_SIZE + hex + default 0x6AF00 + +config SPL_BSS_START_ADDR + hex + default 0xc0874000 + +config SPL_BSS_MAX_SIZE + hex + default 0x3000 + endif diff --git a/arch/riscv/cpu/k3/spl.c b/arch/riscv/cpu/k3/spl.c index e69de29bb2d..f37ac3fdc91 100644 --- a/arch/riscv/cpu/k3/spl.c +++ b/arch/riscv/cpu/k3/spl.c @@ -0,0 +1,11 @@ +#include +#include +#include + +void board_boot_order(u32 *spl_boot_list) +{ + /* Boot from SPI NOR with YMODEM UART fallback. */ + spl_boot_list[0] = BOOT_DEVICE_SPI; + spl_boot_list[1] = BOOT_DEVICE_UART; + spl_boot_list[2] = BOOT_DEVICE_NONE; +}