imx8: cpu: restrict checking ROM passover info for revA

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>
This commit is contained in:
Peng Fan 2019-01-18 08:58:38 +00:00 committed by Stefano Babic
parent d8bbf362f3
commit 9382f73bb0
1 changed files with 21 additions and 16 deletions

View 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();
#ifdef CONFIG_SPL_BUILD
struct pass_over_info_t *pass_over;
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);
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) {