mach-k3: am62p5_init: Add emmc boot support

Add spl_mmc_boot_mode() to help distinguish eMMC raw boot mode.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
This commit is contained in:
Vignesh Raghavendra 2023-11-24 21:36:51 +05:30 committed by Praneeth Bajjuri
parent 5e27b6be65
commit c97fa5cd4a
1 changed files with 19 additions and 0 deletions

View File

@ -160,6 +160,25 @@ void board_init_f(ulong dummy)
debug("am62px_init: %s done\n", __func__); debug("am62px_init: %s done\n", __func__);
} }
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;
}
}
static u32 __get_backup_bootmedia(u32 devstat) static u32 __get_backup_bootmedia(u32 devstat)
{ {
u32 bkup_bootmode = (devstat & MAIN_DEVSTAT_BACKUP_BOOTMODE_MASK) >> u32 bkup_bootmode = (devstat & MAIN_DEVSTAT_BACKUP_BOOTMODE_MASK) >>