]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - arch/arm/mach-rockchip/rk3288-board-spl.c
Merge git://git.denx.de/u-boot-fsl-qoriq
[people/ms/u-boot.git] / arch / arm / mach-rockchip / rk3288-board-spl.c
index e133cca57ac918523fa6f40c8980a8353a682ad5..ed14023021d5694a9c8a4ef512d1da0c9a96c5ac 100644 (file)
@@ -29,6 +29,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 u32 spl_boot_device(void)
 {
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
        const void *blob = gd->fdt_blob;
        struct udevice *dev;
        const char *bootdev;
@@ -63,10 +64,11 @@ u32 spl_boot_device(void)
        }
 
 fallback:
+#endif
        return BOOT_DEVICE_MMC1;
 }
 
-u32 spl_boot_mode(void)
+u32 spl_boot_mode(const u32 boot_device)
 {
        return MMCSD_MODE_RAW;
 }
@@ -114,7 +116,6 @@ static void configure_l2ctlr(void)
 #ifdef CONFIG_SPL_MMC_SUPPORT
 static int configure_emmc(struct udevice *pinctrl)
 {
-#if !defined(CONFIG_TARGET_ROCK2) && !defined(CONFIG_TARGET_FIREFLY_RK3288)
        struct gpio_desc desc;
        int ret;
 
@@ -144,12 +145,11 @@ static int configure_emmc(struct udevice *pinctrl)
                debug("gpio value ret=%d\n", ret);
                return ret;
        }
-#endif
 
        return 0;
 }
 #endif
-
+extern void back_to_bootrom(void);
 void board_init_f(ulong dummy)
 {
        struct udevice *pinctrl;
@@ -187,7 +187,7 @@ void board_init_f(ulong dummy)
        rockchip_timer_init();
        configure_l2ctlr();
 
-       ret = uclass_get_device(UCLASS_CLK, 0, &dev);
+       ret = rockchip_get_clk(&dev);
        if (ret) {
                debug("CLK init failed: %d\n", ret);
                return;
@@ -204,6 +204,9 @@ void board_init_f(ulong dummy)
                debug("DRAM init failed: %d\n", ret);
                return;
        }
+#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
+       back_to_bootrom();
+#endif
 }
 
 static int setup_led(void)
@@ -247,15 +250,19 @@ void spl_board_init(void)
                goto err;
        }
 #ifdef CONFIG_SPL_MMC_SUPPORT
-       ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_SDCARD);
-       if (ret) {
-               debug("%s: Failed to set up SD card\n", __func__);
-               goto err;
-       }
-       ret = configure_emmc(pinctrl);
-       if (ret) {
-               debug("%s: Failed to set up eMMC\n", __func__);
-               goto err;
+       if (!IS_ENABLED(CONFIG_TARGET_ROCK2) &&
+           !IS_ENABLED(CONFIG_TARGET_FIREFLY_RK3288) &&
+           !IS_ENABLED(CONFIG_TARGET_EVB_RK3288)) {
+               ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_SDCARD);
+               if (ret) {
+                       debug("%s: Failed to set up SD card\n", __func__);
+                       goto err;
+               }
+               ret = configure_emmc(pinctrl);
+               if (ret) {
+                       debug("%s: Failed to set up eMMC\n", __func__);
+                       goto err;
+               }
        }
 #endif