summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/imx6.c
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2016-03-15 20:33:45 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2016-03-17 08:23:05 +0100
commit9791ea8f1110fd0b5c98569d2a2f777b214b0cc8 (patch)
tree6f3e9f282eb02ea133cabaeccfd38a66bbd16240 /arch/arm/mach-imx/imx6.c
parent679388f83ff636cb8ca7cd16b6d71471bc09db0a (diff)
downloadbarebox-9791ea8f1110fd0b5c98569d2a2f777b214b0cc8.tar.gz
barebox-9791ea8f1110fd0b5c98569d2a2f777b214b0cc8.tar.xz
i.MX: Add revision detection for i.MX6D/Q Plus
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/imx6.c')
-rw-r--r--arch/arm/mach-imx/imx6.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/arch/arm/mach-imx/imx6.c b/arch/arm/mach-imx/imx6.c
index 0fdd785c6d..f80334d71a 100644
--- a/arch/arm/mach-imx/imx6.c
+++ b/arch/arm/mach-imx/imx6.c
@@ -123,7 +123,8 @@ int imx6_init(void)
imx6_boot_save_loc((void *)MX6_SRC_BASE_ADDR);
rev = readl(MX6_ANATOP_BASE_ADDR + SI_REV);
- switch (rev & 0xff) {
+
+ switch (rev & 0xfff) {
case 0x00:
mx6_silicon_revision = IMX_CHIP_REV_1_0;
break;
@@ -148,16 +149,26 @@ int imx6_init(void)
mx6_silicon_revision = IMX_CHIP_REV_1_5;
break;
+ case 0x100:
+ mx6_silicon_revision = IMX_CHIP_REV_2_0;
+ break;
+
default:
mx6_silicon_revision = IMX_CHIP_REV_UNKNOWN;
}
switch (imx6_cpu_type()) {
case IMX6_CPUTYPE_IMX6Q:
- cputypestr = "i.MX6 Quad";
+ if (mx6_silicon_revision >= IMX_CHIP_REV_2_0)
+ cputypestr = "i.MX6 Quad Plus";
+ else
+ cputypestr = "i.MX6 Quad";
break;
case IMX6_CPUTYPE_IMX6D:
- cputypestr = "i.MX6 Dual";
+ if (mx6_silicon_revision >= IMX_CHIP_REV_2_0)
+ cputypestr = "i.MX6 Dual Plus";
+ else
+ cputypestr = "i.MX6 Dual";
break;
case IMX6_CPUTYPE_IMX6DL:
cputypestr = "i.MX6 DualLite";