With driver model timer conversion, quark based board does not boot
any more as mdelay() is called during quark_pcie_early_init() which
is before driver model gets initialized. Fix this breakage.

Signed-off-by: Bin Meng <bmeng...@gmail.com>
---

 arch/x86/cpu/quark/quark.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/arch/x86/cpu/quark/quark.c b/arch/x86/cpu/quark/quark.c
index 37ce394..72c681d 100644
--- a/arch/x86/cpu/quark/quark.c
+++ b/arch/x86/cpu/quark/quark.c
@@ -252,17 +252,6 @@ int arch_cpu_init(void)
         */
        quark_setup_bars();
 
-       /*
-        * Initialize PCIe controller
-        *
-        * Quark SoC holds the PCIe controller in reset following a power on.
-        * U-Boot needs to release the PCIe controller from reset. The PCIe
-        * controller (D23:F0/F1) will not be visible in PCI configuration
-        * space and any access to its PCI configuration registers will cause
-        * system hang while it is held in reset.
-        */
-       quark_pcie_early_init();
-
        /* Initialize USB2 PHY */
        quark_usb_early_init();
 
@@ -277,6 +266,22 @@ int arch_cpu_init(void)
        return 0;
 }
 
+int arch_cpu_init_dm(void)
+{
+       /*
+        * Initialize PCIe controller
+        *
+        * Quark SoC holds the PCIe controller in reset following a power on.
+        * U-Boot needs to release the PCIe controller from reset. The PCIe
+        * controller (D23:F0/F1) will not be visible in PCI configuration
+        * space and any access to its PCI configuration registers will cause
+        * system hang while it is held in reset.
+        */
+       quark_pcie_early_init();
+
+       return 0;
+}
+
 int print_cpuinfo(void)
 {
        post_code(POST_CPU_INFO);
-- 
1.8.2.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to