summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJacky Bai <ping.bai@nxp.com>2020-07-08 16:57:06 +0800
committerJacky Bai <ping.bai@nxp.com>2020-07-10 15:12:25 +0800
commitabb476cd4c74246e14dab7aff5b9f90eb0652e0d (patch)
tree704b8452340853dcafec10980cdf8efffcbe1c9f /arch
parentb9eb888d55d5e77d653bcd021936967457152322 (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.c14
-rw-r--r--arch/arm/mach-imx/cpu.c3
-rw-r--r--arch/arm/mach-imx/mxc.h7
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)