]> git.sur5r.net Git - u-boot/blobdiff - arch/x86/cpu/baytrail/valleyview.c
Merge branch 'master' of git://www.denx.de/git/u-boot-imx
[u-boot] / arch / x86 / cpu / baytrail / valleyview.c
index 9915da5bd7d0beb73a5822b2243f6ee57243cad8..9b30451b28e7ab95e8a8e3fc3ec6bafe0394416f 100644 (file)
@@ -7,6 +7,8 @@
 #include <common.h>
 #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[] = {
@@ -20,14 +22,12 @@ int cpu_mmc_init(bd_t *bis)
                            ARRAY_SIZE(mmc_supported));
 }
 
+#ifndef CONFIG_EFI_APP
 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)
@@ -35,3 +35,36 @@ int arch_cpu_init(void)
 
        return 0;
 }
+
+int arch_misc_init(void)
+{
+       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 pirq_init();
+}
+
+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();
+}