imx8: cpu: restrict checking ROM passover info for revA
authorPeng Fan <peng.fan@nxp.com>
Fri, 18 Jan 2019 08:58:38 +0000 (08:58 +0000)
committerStefano Babic <sbabic@denx.de>
Mon, 28 Jan 2019 19:55:46 +0000 (20:55 +0100)
Passover info only for revA.

move get_cpu_rev out of CONFIG_CPU to avoid build failure when using
get_cpu_rev in SPL.
Add a CONFIG_SPL_BUILD for passover usage, no need to execute it again
in normal U-Boot stage. Also if still checking passover info in normal
U-Boot stage, need to make the passover code executed after
arch_cpu_init_dm.
So to make it easy and clean, only execute the code for SPL stage.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
arch/arm/mach-imx/imx8/cpu.c

index 7599afe720327015db51b9d0be88b8cfd7c0577c..7539e456522493e782d0f7bab770723c3243271c 100644 (file)
@@ -35,15 +35,20 @@ struct pass_over_info_t *get_pass_over_info(void)
 
 int arch_cpu_init(void)
 {
-       struct pass_over_info_t *pass_over = get_pass_over_info();
-
-       if (pass_over && pass_over->g_ap_mu == 0) {
-               /*
-                * When ap_mu is 0, means the U-Boot booted
-                * from first container
-                */
-               sc_misc_boot_status(-1, SC_MISC_BOOT_STATUS_SUCCESS);
+#ifdef CONFIG_SPL_BUILD
+       struct pass_over_info_t *pass_over;
+
+       if (is_soc_rev(CHIP_REV_A)) {
+               pass_over = get_pass_over_info();
+               if (pass_over && pass_over->g_ap_mu == 0) {
+                       /*
+                        * When ap_mu is 0, means the U-Boot booted
+                        * from first container
+                        */
+                       sc_misc_boot_status(-1, SC_MISC_BOOT_STATUS_SUCCESS);
+               }
        }
+#endif
 
        return 0;
 }
@@ -507,15 +512,6 @@ err:
        printf("%s: fuse %d, err: %d\n", __func__, word[i], ret);
 }
 
-#if CONFIG_IS_ENABLED(CPU)
-struct cpu_imx_platdata {
-       const char *name;
-       const char *rev;
-       const char *type;
-       u32 cpurev;
-       u32 freq_mhz;
-};
-
 u32 get_cpu_rev(void)
 {
        u32 id = 0, rev = 0;
@@ -531,6 +527,15 @@ u32 get_cpu_rev(void)
        return (id << 12) | rev;
 }
 
+#if CONFIG_IS_ENABLED(CPU)
+struct cpu_imx_platdata {
+       const char *name;
+       const char *rev;
+       const char *type;
+       u32 cpurev;
+       u32 freq_mhz;
+};
+
 const char *get_imx8_type(u32 imxtype)
 {
        switch (imxtype) {