]> git.sur5r.net Git - u-boot/blobdiff - arch/x86/cpu/baytrail/valleyview.c
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
[u-boot] / arch / x86 / cpu / baytrail / valleyview.c
index 610e9d9b1d8a4237e02cf5e36b2c04f03d58c8bf..25382f9aab1efdb8e944b2094786fc64c8f0b570 100644 (file)
@@ -8,17 +8,18 @@
 #include <mmc.h>
 #include <pci_ids.h>
 #include <asm/irq.h>
+#include <asm/mrccache.h>
 #include <asm/post.h>
 
 static struct pci_device_id mmc_supported[] = {
        { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SDIO },
        { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SDCARD },
+       {},
 };
 
 int cpu_mmc_init(bd_t *bis)
 {
-       return pci_mmc_init("ValleyView SDHCI", mmc_supported,
-                           ARRAY_SIZE(mmc_supported));
+       return pci_mmc_init("ValleyView SDHCI", mmc_supported);
 }
 
 #ifndef CONFIG_EFI_APP
@@ -27,9 +28,6 @@ int arch_cpu_init(void)
        int ret;
 
        post_code(POST_CPU_INIT);
-#ifdef CONFIG_SYS_X86_TSC_TIMER
-       timer_set_base(rdtsc());
-#endif
 
        ret = x86_cpu_init_f();
        if (ret)
@@ -40,8 +38,33 @@ int arch_cpu_init(void)
 
 int arch_misc_init(void)
 {
-       pirq_init();
+       if (!ll_boot_init())
+               return 0;
+
+#ifdef CONFIG_ENABLE_MRC_CACHE
+       /*
+        * We intend not to check any return value here, as even MRC cache
+        * is not saved successfully, it is not a severe error that will
+        * prevent system from continuing to boot.
+        */
+       mrccache_save();
+#endif
 
        return 0;
 }
+
+int reserve_arch(void)
+{
+#ifdef CONFIG_ENABLE_MRC_CACHE
+       return mrccache_reserve();
+#else
+       return 0;
 #endif
+}
+#endif
+
+void reset_cpu(ulong addr)
+{
+       /* cold reset */
+       x86_full_reset();
+}