imx8m: add QSPI boot dev
authorPeng Fan <peng.fan@nxp.com>
Thu, 17 May 2018 07:15:59 +0000 (15:15 +0800)
committerStefano Babic <sbabic@denx.de>
Sat, 23 Jan 2021 10:30:31 +0000 (11:30 +0100)
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>
arch/arm/mach-imx/cpu.c
arch/arm/mach-imx/spl.c

index af0b7fb..38b87ed 100644 (file)
@@ -467,12 +467,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;
        }
 
index aa2686b..2d15f62 100644 (file)
@@ -172,6 +172,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: