summaryrefslogtreecommitdiffstats
path: root/arch/x86/cpu/quark
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2016-01-18 07:29:32 -0800
committerTom Rini <trini@konsulko.com>2016-01-19 08:32:23 -0500
commit6071cd62d53b511d53b79c6743b6f323886314eb (patch)
treeadec182a96e9a1625421c920cacad7cfb365a3fb /arch/x86/cpu/quark
parent6d6aececfeb3eb96304e073b910681c7e12b66ca (diff)
downloadtalos-obmc-uboot-6071cd62d53b511d53b79c6743b6f323886314eb.tar.gz
talos-obmc-uboot-6071cd62d53b511d53b79c6743b6f323886314eb.zip
x86: quark: Fix boot breakage
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.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86/cpu/quark')
-rw-r--r--arch/x86/cpu/quark/quark.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/arch/x86/cpu/quark/quark.c b/arch/x86/cpu/quark/quark.c
index 37ce3940b0..72c681dcea 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);
OpenPOWER on IntegriCloud