diff options
author | Bai Ping <ping.bai@nxp.com> | 2018-09-14 18:23:08 +0800 |
---|---|---|
committer | Bai Ping <ping.bai@nxp.com> | 2018-09-14 18:23:08 +0800 |
commit | 99a6bc0ccc69e1517316056e23772d7743f3ae1e (patch) | |
tree | 52003b0f8d695222ec7d232951388c957062fdac /arch | |
parent | 9dce3365b8ea0cbdaed06f0c9b98c98b2f150c5a (diff) |
MLK-19589 baord: imx6ulz: add imx6ulz support
Add i.MX6ULZ support. the i.MX6ULZ is SW compatible
with i.MX6ULL. so most code of i.MX6ULL can be reused
by i.MX6ULZ.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/dts/imx6ulz-14x14-evk.dts | 22 | ||||
-rw-r--r-- | arch/arm/include/asm/arch-imx/cpu.h | 1 | ||||
-rw-r--r-- | arch/arm/include/asm/mach-imx/sys_proto.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/cpu.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx6/soc.c | 4 |
6 files changed, 31 insertions, 1 deletions
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 44460a31dc..7c1958ba74 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -399,6 +399,7 @@ dtb-$(CONFIG_MX6) += imx6ul-14x14-ddr3-arm2.dtb \ imx6ull-14x14-evk.dtb \ imx6ull-14x14-evk-emmc.dtb \ imx6ull-14x14-evk-gpmi-weim.dtb \ + imx6ulz-14x14-evk.dtb \ imx6sl-evk.dtb \ imx6sll-evk.dtb \ imx6sll-lpddr2-arm2.dtb \ diff --git a/arch/arm/dts/imx6ulz-14x14-evk.dts b/arch/arm/dts/imx6ulz-14x14-evk.dts new file mode 100644 index 0000000000..42bf5352c6 --- /dev/null +++ b/arch/arm/dts/imx6ulz-14x14-evk.dts @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2018 NXP. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include "imx6ull-14x14-evk.dts" + +/ { + model = "Freescale i.MX6 ULZ 14x14 EVK Board"; + compatible = "fsl,imx6ulz-14x14-evk", "fsl,imx6ull"; + + backlight { + status = "disabled"; + }; + + pxp_v4l2 { + status = "disabled"; + }; +}; diff --git a/arch/arm/include/asm/arch-imx/cpu.h b/arch/arm/include/asm/arch-imx/cpu.h index c3ebb6dd47..24328a4a80 100644 --- a/arch/arm/include/asm/arch-imx/cpu.h +++ b/arch/arm/include/asm/arch-imx/cpu.h @@ -19,6 +19,7 @@ #define MXC_CPU_MX6Q 0x63 #define MXC_CPU_MX6UL 0x64 #define MXC_CPU_MX6ULL 0x65 +#define MXC_CPU_MX6ULZ 0x6b /* dummy ID */ #define MXC_CPU_MX6SOLO 0x66 /* dummy */ #define MXC_CPU_MX6SLL 0x67 #define MXC_CPU_MX6D 0x6A diff --git a/arch/arm/include/asm/mach-imx/sys_proto.h b/arch/arm/include/asm/mach-imx/sys_proto.h index 7c1b98b99b..0c7908b8c7 100644 --- a/arch/arm/include/asm/mach-imx/sys_proto.h +++ b/arch/arm/include/asm/mach-imx/sys_proto.h @@ -39,7 +39,7 @@ #define is_mx6sl() (is_cpu_type(MXC_CPU_MX6SL)) #define is_mx6solo() (is_cpu_type(MXC_CPU_MX6SOLO)) #define is_mx6ul() (is_cpu_type(MXC_CPU_MX6UL)) -#define is_mx6ull() (is_cpu_type(MXC_CPU_MX6ULL)) +#define is_mx6ull() (is_cpu_type(MXC_CPU_MX6ULL) || is_cpu_type(MXC_CPU_MX6ULZ)) #define is_mx6sll() (is_cpu_type(MXC_CPU_MX6SLL)) #define is_mx7ulp() (is_cpu_type(MXC_CPU_MX7ULP)) diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c index 7dc9e75a64..d5f51bf1b9 100644 --- a/arch/arm/mach-imx/cpu.c +++ b/arch/arm/mach-imx/cpu.c @@ -201,6 +201,8 @@ const char *get_imx_type(u32 imxtype) return "6UL"; /* Ultra-Lite version of the mx6 */ case MXC_CPU_MX6ULL: return "6ULL"; /* ULL version of the mx6 */ + case MXC_CPU_MX6ULZ: + return "6ULZ"; /* ULL version of the mx6 */ case MXC_CPU_MX51: return "51"; case MXC_CPU_MX53: diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c index b3653b918c..8950bcaffd 100644 --- a/arch/arm/mach-imx/mx6/soc.c +++ b/arch/arm/mach-imx/mx6/soc.c @@ -91,6 +91,10 @@ u32 get_cpu_rev(void) type = MXC_CPU_MX6D; } + if (type == MXC_CPU_MX6ULL) { + if (readl(SRC_BASE_ADDR + 0x1c) & (1 << 6)) + type = MXC_CPU_MX6ULZ; + } } major = ((reg >> 8) & 0xff); if ((major >= 1) && |