x86: spl: Move broadwell-specific code out of generic x86 spl
authorSimon Glass <sjg@chromium.org>
Wed, 25 Sep 2019 14:11:40 +0000 (08:11 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Tue, 8 Oct 2019 05:57:36 +0000 (13:57 +0800)
When TPL is running, broadwell needs to do different init from SPL. There
is no need for this code to be in the generic x86 SPL file, so move it to
arch_cpu_init().

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/cpu/broadwell/cpu.c
arch/x86/cpu/broadwell/cpu_full.c
arch/x86/lib/spl.c

index bb7c3614081ecece400de3752f22f6d138c136b2..bba8cd1e94291021706dd1d4d1cd54c61f37667f 100644 (file)
@@ -67,7 +67,12 @@ int arch_cpu_init(void)
 {
        post_code(POST_CPU_INIT);
 
+#ifdef CONFIG_TPL
+       /* Do a mini-init if TPL has already done the full init */
+       return x86_cpu_reinit_f();
+#else
        return x86_cpu_init_f();
+#endif
 }
 
 int checkcpu(void)
index d8b848265866c042cafd4a8c4a04a13352d0c453..bd0b2037fa15965c436a3d3f7cc4722ad2208807 100644 (file)
@@ -81,6 +81,13 @@ static const u8 power_limit_time_msr_to_sec[] = {
        [0x11] = 128,
 };
 
+#if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_TPL_BUILD)
+int arch_cpu_init(void)
+{
+       return 0;
+}
+#endif
+
 /*
  * The core 100MHz BLCK is disabled in deeper c-states. One needs to calibrate
  * the 100MHz BCLCK against the 24MHz BLCK to restore the clocks properly
index a73949130354f7fe580f6f09de130e3a629ddc9d..2baac91383763391c66daa927ecb21d58744f602 100644 (file)
@@ -40,12 +40,7 @@ static int x86_spl_init(void)
                debug("%s: spl_init() failed\n", __func__);
                return ret;
        }
-#ifdef CONFIG_TPL
-       /* Do a mini-init if TPL has already done the full init */
-       ret = x86_cpu_reinit_f();
-#else
        ret = arch_cpu_init();
-#endif
        if (ret) {
                debug("%s: arch_cpu_init() failed\n", __func__);
                return ret;