diff options
author | Vaishnav Achath <vaishnav.a@ti.com> | 2022-06-09 14:57:30 +0530 |
---|---|---|
committer | Anand Gadiyar <gadiyar@ti.com> | 2022-06-13 14:32:27 -0500 |
commit | 85cb51c7c996b44687bc239d72744df6f56e8d10 (patch) | |
tree | 758928bac01ab1d660564d94dbefb3d019526607 | |
parent | 2e5bd7048deea5f5da248aa1516929a72f547b03 (diff) |
arm: k3: j721s2: 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/j721s2_init.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-k3/j721s2_init.c b/arch/arm/mach-k3/j721s2_init.c index ebdd370838..38693a6546 100644 --- a/arch/arm/mach-k3/j721s2_init.c +++ b/arch/arm/mach-k3/j721s2_init.c @@ -295,6 +295,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); |