Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-spi
[oweals/u-boot.git] / arch / arm / mach-rockchip / rk3188-board.c
index 96859a5b4bc7f37ce263aa724ab9dec553625588..94fd6c01eb70160b9d661b5ee19c1a3c6e5399d0 100644 (file)
@@ -1,7 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2015 Google, Inc
- *
- * SPDX-License-Identifier:     GPL-2.0+
  */
 
 #include <common.h>
@@ -9,21 +8,24 @@
 #include <dm.h>
 #include <ram.h>
 #include <syscon.h>
-#include <asm/io.h>
-#include <asm/arch/clock.h>
-#include <asm/arch/grf_rk3188.h>
-#include <asm/arch/periph.h>
-#include <asm/arch/pmu_rk3288.h>
-#include <asm/arch/boot_mode.h>
 #include <asm/gpio.h>
-#include <dm/pinctrl.h>
+#include <asm/io.h>
+#include <asm/arch-rockchip/clock.h>
+#include <asm/arch-rockchip/grf_rk3188.h>
+#include <asm/arch-rockchip/periph.h>
+#include <asm/arch-rockchip/pmu_rk3288.h>
+#include <asm/arch-rockchip/boot_mode.h>
 
-DECLARE_GLOBAL_DATA_PTR;
+__weak int rk_board_late_init(void)
+{
+       return 0;
+}
 
 int board_late_init(void)
 {
        struct rk3188_grf *grf;
 
+       setup_boot_mode();
        grf = syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
        if (IS_ERR(grf)) {
                pr_err("grf syscon returned %ld\n", PTR_ERR(grf));
@@ -34,45 +36,15 @@ int board_late_init(void)
                        NOC_REMAP_MASK << NOC_REMAP_SHIFT);
        }
 
-       return 0;
+       return rk_board_late_init();
 }
 
 int board_init(void)
 {
-#if CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BROM)
-       struct udevice *pinctrl;
-       int ret;
-
-       /*
-        * We need to implement sdcard iomux here for the further
-        * initialization, otherwise, it'll hit sdcard command sending
-        * timeout exception.
-        */
-       ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl);
-       if (ret) {
-               debug("%s: Cannot find pinctrl device\n", __func__);
-               goto err;
-       }
-       ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_SDCARD);
-       if (ret) {
-               debug("%s: Failed to set up SD card\n", __func__);
-               goto err;
-       }
-
        return 0;
-err:
-       printf("board_init: Error %d\n", ret);
-
-       /* No way to report error here */
-       hang();
-
-       return -1;
-#else
-       return 0;
-#endif
 }
 
-#ifndef CONFIG_SYS_DCACHE_OFF
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
 void enable_caches(void)
 {
        /* Enable D-cache. I-cache is already enabled in start.S */