diff options
author | Vaishnav Achath <vaishnav.a@ti.com> | 2023-06-01 12:38:36 +0530 |
---|---|---|
committer | Udit Kumar <u-kumar1@ti.com> | 2023-06-01 13:20:30 +0530 |
commit | 6bacb93d8de2f2de910b5432df1fc2fe80ba7258 (patch) | |
tree | d1ebcfb4ab2572a926817b8dfe07a68f0817f6bd | |
parent | 1446b15844d2f45eaa74f2793455af75f697919a (diff) |
arm: k3: j784s4: Add dynamic sf bus override support
Implement overrides for spl_spi_boot_bus() lookup function
according to bootmode selection, so as to support both QSPI
and OSPI boot using the same build.
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
-rw-r--r-- | arch/arm/mach-k3/j784s4_init.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-k3/j784s4_init.c b/arch/arm/mach-k3/j784s4_init.c index a779547e80..ef7c54710f 100644 --- a/arch/arm/mach-k3/j784s4_init.c +++ b/arch/arm/mach-k3/j784s4_init.c @@ -297,6 +297,17 @@ static u32 __get_primary_bootmedia(u32 main_devstat, u32 wkup_devstat) return bootmode; } +u32 spl_spi_boot_bus(void) +{ + u32 wkup_devstat = readl(CTRLMMR_WKUP_DEVSTAT); + u32 main_devstat = readl(CTRLMMR_MAIN_DEVSTAT); + u32 bootmode = ((wkup_devstat & WKUP_DEVSTAT_PRIMARY_BOOTMODE_MASK) >> + WKUP_DEVSTAT_PRIMARY_BOOTMODE_SHIFT) | + ((main_devstat & MAIN_DEVSTAT_BOOT_MODE_B_MASK) << BOOT_MODE_B_SHIFT); + + return (bootmode == BOOT_DEVICE_QSPI) ? 1 : 0; +} + u32 spl_boot_device(void) { u32 wkup_devstat = readl(CTRLMMR_WKUP_DEVSTAT); |