diff options
author | Jacky Bai <ping.bai@nxp.com> | 2020-07-08 16:57:06 +0800 |
---|---|---|
committer | Jacky Bai <ping.bai@nxp.com> | 2020-07-10 15:12:25 +0800 |
commit | abb476cd4c74246e14dab7aff5b9f90eb0652e0d (patch) | |
tree | 704b8452340853dcafec10980cdf8efffcbe1c9f /arch | |
parent | b9eb888d55d5e77d653bcd021936967457152322 (diff) |
MLK-24369 ARM: imx: Add dummy soc id for imx6ulz lite
for i.MX6ULZ Lite, there is no dedicated SOC id for it,
so add a dummy ID and identify it by checking the MARK
bit in fuse.
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-imx/anatop.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-imx/cpu.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/mxc.h | 7 |
3 files changed, 22 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/anatop.c b/arch/arm/mach-imx/anatop.c index 7716fd5fe58a..6ee51d79d83a 100644 --- a/arch/arm/mach-imx/anatop.c +++ b/arch/arm/mach-imx/anatop.c @@ -235,6 +235,20 @@ void __init imx_init_revision_from_anatop(void) digprog &= ~(0xff << 16); digprog |= (MXC_CPU_IMX6ULZ << 16); } + + /* dummy ID for i.MX6ULZ Lite */ + np = of_find_compatible_node(NULL, NULL, "fsl,imx6ull-ocotp"); + if (np) { + src_base = of_iomap(np, 0); + WARN_ON(!src_base); + sbmr2 = readl_relaxed(src_base + 0x460); + iounmap(src_base); + } + if (sbmr2 & BIT(2)) { + digprog &= ~(0xff << 16); + digprog |= (MXC_CPU_IMX6ULZL << 16); + } + } /* diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c index 9f53229d8b5a..bd8ab7646686 100644 --- a/arch/arm/mach-imx/cpu.c +++ b/arch/arm/mach-imx/cpu.c @@ -141,6 +141,9 @@ struct device * __init imx_soc_device_init(void) case MXC_CPU_IMX6ULZ: soc_id = "i.MX6ULZ"; break; + case MXC_CPU_IMX6ULZL: + soc_id = "i.MX6ULZL"; + break; case MXC_CPU_IMX7D: soc_id = "i.MX7D"; break; diff --git a/arch/arm/mach-imx/mxc.h b/arch/arm/mach-imx/mxc.h index 95e7c3e6f141..43ee3c209513 100644 --- a/arch/arm/mach-imx/mxc.h +++ b/arch/arm/mach-imx/mxc.h @@ -42,6 +42,7 @@ #define MXC_CPU_IMX6ULL 0x65 #define MXC_CPU_IMX6SLL 0x67 #define MXC_CPU_IMX6ULZ 0x6B +#define MXC_CPU_IMX6ULZL 0x6C /* Dummy ID */ #define MXC_CPU_IMX7D 0x72 #define MXC_CPU_IMX7ULP 0xff /* TBD */ @@ -86,7 +87,8 @@ static inline bool cpu_is_imx6ul(void) static inline bool cpu_is_imx6ull(void) { return __mxc_cpu_type == MXC_CPU_IMX6ULL || - __mxc_cpu_type == MXC_CPU_IMX6ULZ; + __mxc_cpu_type == MXC_CPU_IMX6ULZ || + __mxc_cpu_type == MXC_CPU_IMX6ULZL; } static inline bool cpu_is_imx6sll(void) @@ -108,7 +110,8 @@ static inline bool cpu_is_imx6(void) __mxc_cpu_type == MXC_CPU_IMX6UL || __mxc_cpu_type == MXC_CPU_IMX6ULL || __mxc_cpu_type == MXC_CPU_IMX6SLL || - __mxc_cpu_type == MXC_CPU_IMX6ULZ; + __mxc_cpu_type == MXC_CPU_IMX6ULZ || + __mxc_cpu_type == MXC_CPU_IMX6ULZL; } static inline bool cpu_is_imx7d(void) |