From abb476cd4c74246e14dab7aff5b9f90eb0652e0d Mon Sep 17 00:00:00 2001 From: Jacky Bai Date: Wed, 8 Jul 2020 16:57:06 +0800 Subject: 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 Reviewed-by: Anson Huang --- arch/arm/mach-imx/anatop.c | 14 ++++++++++++++ arch/arm/mach-imx/cpu.c | 3 +++ 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) -- cgit v1.2.3