summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2018-05-17 15:15:59 +0800
committerYe Li <ye.li@nxp.com>2018-05-23 04:15:58 -0700
commit8324d0f37a3dc8c2516dad439aa6b91d77eebcbc (patch)
tree63a79e3daf440e49b3926c57f6853f6a89fc6bd6 /arch/arm/mach-imx
parent288c8eedb0e187985d33debd701c88f58abb1083 (diff)
MLK-18333-2 imx8m: add QSPI boot dev
When boot type could not be detected from rom sw info, read sbmr1 to detect, here we only use it to detect FLEXSPI boot, because ROM not update it in rom sw info. Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 3735aedbf6dbebfac830089618ca334c419f43bd)
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r--arch/arm/mach-imx/cpu.c6
-rw-r--r--arch/arm/mach-imx/spl.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c
index 8719094ba7..3f19f7e4e5 100644
--- a/arch/arm/mach-imx/cpu.c
+++ b/arch/arm/mach-imx/cpu.c
@@ -475,12 +475,14 @@ enum boot_device get_boot_device(void)
case BOOT_TYPE_SPINOR:
boot_dev = SPI_NOR_BOOT;
break;
-#ifdef CONFIG_IMX8M
case BOOT_TYPE_USB:
boot_dev = USB_BOOT;
break;
-#endif
default:
+#ifdef CONFIG_IMX8M
+ if (((readl(SRC_BASE_ADDR + 0x58) & 0x00007FFF) >> 12) == 0x4)
+ boot_dev = QSPI_BOOT;
+#endif
break;
}
diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c
index 6d91113c74..48cf96a5af 100644
--- a/arch/arm/mach-imx/spl.c
+++ b/arch/arm/mach-imx/spl.c
@@ -133,6 +133,8 @@ u32 spl_boot_device(void)
return BOOT_DEVICE_NAND;
case SPI_NOR_BOOT:
return BOOT_DEVICE_SPI;
+ case QSPI_BOOT:
+ return BOOT_DEVICE_NOR;
case USB_BOOT:
return BOOT_DEVICE_USB;
default: