]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/mach-uniphier/boot-mode/boot-mode.c
common: Pass the boot device into spl_boot_mode()
[u-boot] / arch / arm / mach-uniphier / boot-mode / boot-mode.c
index 317a4f126c61df468d1a7535702abd737e3dcb25..1d531402d5e429cf4d0b9106c57aefbc0683cb63 100644 (file)
@@ -21,23 +21,28 @@ u32 spl_boot_device_raw(void)
        switch (uniphier_get_soc_type()) {
 #if defined(CONFIG_ARCH_UNIPHIER_SLD3)
        case SOC_UNIPHIER_SLD3:
-               return ph1_sld3_boot_device();
+               return uniphier_sld3_boot_device();
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_LD4) || defined(CONFIG_ARCH_UNIPHIER_PRO4) || \
        defined(CONFIG_ARCH_UNIPHIER_SLD8)
        case SOC_UNIPHIER_LD4:
        case SOC_UNIPHIER_PRO4:
        case SOC_UNIPHIER_SLD8:
-               return ph1_ld4_boot_device();
+               return uniphier_ld4_boot_device();
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PRO5)
        case SOC_UNIPHIER_PRO5:
-               return ph1_pro5_boot_device();
+               return uniphier_pro5_boot_device();
 #endif
 #if defined(CONFIG_ARCH_UNIPHIER_PXS2) || defined(CONFIG_ARCH_UNIPHIER_LD6B)
        case SOC_UNIPHIER_PXS2:
        case SOC_UNIPHIER_LD6B:
-               return proxstream2_boot_device();
+               return uniphier_pxs2_boot_device();
+#endif
+#if defined(CONFIG_ARCH_UNIPHIER_LD11) || defined(CONFIG_ARCH_UNIPHIER_LD20)
+       case SOC_UNIPHIER_LD11:
+       case SOC_UNIPHIER_LD20:
+               return uniphier_ld20_boot_device();
 #endif
        default:
                return BOOT_DEVICE_NONE;
@@ -46,14 +51,33 @@ u32 spl_boot_device_raw(void)
 
 u32 spl_boot_device(void)
 {
-       u32 ret;
+       u32 mode;
+
+       mode = spl_boot_device_raw();
 
-       ret = spl_boot_device_raw();
+       switch (uniphier_get_soc_type()) {
+#if defined(CONFIG_ARCH_UNIPHIER_PXS2) || defined(CONFIG_ARCH_UNIPHIER_LD6B)
+       case SOC_UNIPHIER_PXS2:
+       case SOC_UNIPHIER_LD6B:
+               if (mode == BOOT_DEVICE_USB)
+                       mode = BOOT_DEVICE_NOR;
+               break;
+#endif
+#if defined(CONFIG_ARCH_UNIPHIER_LD11) || defined(CONFIG_ARCH_UNIPHIER_LD20)
+       case SOC_UNIPHIER_LD11:
+       case SOC_UNIPHIER_LD20:
+               if (mode == BOOT_DEVICE_MMC1 || mode == BOOT_DEVICE_USB)
+                       mode = BOOT_DEVICE_BOARD;
+               break;
+#endif
+       default:
+               break;
+       }
 
-       return ret == BOOT_DEVICE_USB ? BOOT_DEVICE_NOR : ret;
+       return mode;
 }
 
-u32 spl_boot_mode(void)
+u32 spl_boot_mode(const u32 boot_device)
 {
        struct mmc *mmc;
 
@@ -110,7 +134,7 @@ static int do_mmcsetn(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
 U_BOOT_CMD(
           mmcsetn,     1,      1,      do_mmcsetn,
-       "Set the first MMC (not SD) dev number to \"mmc_first_dev\" enviroment",
+       "Set the first MMC (not SD) dev number to \"mmc_first_dev\" environment",
        ""
 );
 #endif