diff options
author | Jayesh Choudhary <j-choudhary@ti.com> | 2024-01-23 13:47:36 +0530 |
---|---|---|
committer | Francesco Dolcini <francesco.dolcini@toradex.com> | 2024-03-21 14:26:33 +0000 |
commit | 233c80fa5be6768f58cad97c38b50be6c9d77395 (patch) | |
tree | 42f17f506f7970a86497b7c2d868722df4c8ab6d | |
parent | 0fa22ef6bc0616e29e3bc7449d0359b856a14be7 (diff) |
mach-k3: j722s_init: Add FS and raw boot mode support
This adds FS and raw boot mode support similar to other K3 platforms
with the default boot mode being filesystem.
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
-rw-r--r-- | arch/arm/mach-k3/j722s_init.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-k3/j722s_init.c b/arch/arm/mach-k3/j722s_init.c index 4708a3498c..4823e5526c 100644 --- a/arch/arm/mach-k3/j722s_init.c +++ b/arch/arm/mach-k3/j722s_init.c @@ -270,3 +270,22 @@ u32 spl_boot_device(void) __func__, devstat, bootmedia, bootindex); return bootmedia; } + +u32 spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device) +{ + u32 devstat = readl(CTRLMMR_MAIN_DEVSTAT); + u32 bootmode = (devstat & MAIN_DEVSTAT_PRIMARY_BOOTMODE_MASK) >> + MAIN_DEVSTAT_PRIMARY_BOOTMODE_SHIFT; + u32 bootmode_cfg = (devstat & MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_MASK) >> + MAIN_DEVSTAT_PRIMARY_BOOTMODE_CFG_SHIFT; + + switch (bootmode) { + case BOOT_DEVICE_EMMC: + return MMCSD_MODE_EMMCBOOT; + case BOOT_DEVICE_MMC: + if (bootmode_cfg & MAIN_DEVSTAT_PRIMARY_MMC_FS_RAW_MASK) + return MMCSD_MODE_RAW; + default: + return MMCSD_MODE_FS; + } +} |