summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVaishnav Achath <vaishnav.a@ti.com>2022-06-09 14:57:30 +0530
committerAnand Gadiyar <gadiyar@ti.com>2022-06-13 14:32:27 -0500
commit85cb51c7c996b44687bc239d72744df6f56e8d10 (patch)
tree758928bac01ab1d660564d94dbefb3d019526607
parent2e5bd7048deea5f5da248aa1516929a72f547b03 (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.c11
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);