From 233c80fa5be6768f58cad97c38b50be6c9d77395 Mon Sep 17 00:00:00 2001 From: Jayesh Choudhary Date: Tue, 23 Jan 2024 13:47:36 +0530 Subject: 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 --- arch/arm/mach-k3/j722s_init.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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; + } +} -- cgit v1.2.3