diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2016-03-15 20:33:45 -0700 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-03-17 08:23:05 +0100 |
commit | 9791ea8f1110fd0b5c98569d2a2f777b214b0cc8 (patch) | |
tree | 6f3e9f282eb02ea133cabaeccfd38a66bbd16240 /arch/arm/mach-imx/imx6.c | |
parent | 679388f83ff636cb8ca7cd16b6d71471bc09db0a (diff) | |
download | barebox-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.c | 17 |
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"; |