summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2018-08-10 12:04:27 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2018-08-13 09:12:03 +0200
commit60a79c025a36366cb9ce4e218ff17d55d049ace6 (patch)
treeef1203e4ed56a89bdcb783a4d25914ce47cb47e9 /arch
parentaee10ec8cc64e8c84cf92a80dc96cc8f9dd65b50 (diff)
downloadbarebox-60a79c025a36366cb9ce4e218ff17d55d049ace6.tar.gz
barebox-60a79c025a36366cb9ce4e218ff17d55d049ace6.tar.xz
ARM: i.MX8MQ: Replace magic numbers with named constants
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-imx/imx8mq.c6
-rw-r--r--arch/arm/mach-imx/include/mach/imx8mq.h11
2 files changed, 11 insertions, 6 deletions
diff --git a/arch/arm/mach-imx/imx8mq.c b/arch/arm/mach-imx/imx8mq.c
index bc463ee75d..95839f31de 100644
--- a/arch/arm/mach-imx/imx8mq.c
+++ b/arch/arm/mach-imx/imx8mq.c
@@ -47,13 +47,13 @@ core_initcall(imx8mq_init_syscnt_frequency);
int imx8mq_init(void)
{
void __iomem *anatop = IOMEM(MX8MQ_ANATOP_BASE_ADDR);
- uint32_t reg = readl(anatop + MX8MQ_ANATOP_DIGPROG);
- uint32_t type = (reg >> 16) & 0xff;
+ uint32_t type = FIELD_GET(DIGPROG_MAJOR,
+ readl(anatop + MX8MQ_ANATOP_DIGPROG));
struct arm_smccc_res res;
const char *cputypestr;
switch (type) {
- case 0x82:
+ case IMX8M_CPUTYPE_IMX8MQ:
cputypestr = "i.MX8MQ";
break;
default:
diff --git a/arch/arm/mach-imx/include/mach/imx8mq.h b/arch/arm/mach-imx/include/mach/imx8mq.h
index f51d4e6641..f4a537d2b1 100644
--- a/arch/arm/mach-imx/include/mach/imx8mq.h
+++ b/arch/arm/mach-imx/include/mach/imx8mq.h
@@ -5,18 +5,23 @@
#include <mach/generic.h>
#include <mach/imx8mq-regs.h>
#include <mach/revision.h>
+#include <linux/bitfield.h>
#define IMX8MQ_ROM_VERSION_A0 0x800
#define IMX8MQ_ROM_VERSION_B0 0x83C
#define MX8MQ_ANATOP_DIGPROG 0x6c
+#define DIGPROG_MAJOR GENMASK(23, 8)
+#define DIGPROG_MINOR GENMASK(7, 0)
+
+#define IMX8M_CPUTYPE_IMX8MQ 0x8240
+
static inline int imx8mq_cpu_revision(void)
{
void __iomem *anatop = IOMEM(MX8MQ_ANATOP_BASE_ADDR);
- uint32_t revision = readl(anatop + MX8MQ_ANATOP_DIGPROG);
-
- revision &= 0xff;
+ uint32_t revision = FIELD_GET(DIGPROG_MINOR,
+ readl(anatop + MX8MQ_ANATOP_DIGPROG));
if (revision == IMX_CHIP_REV_1_0) {
uint32_t rom_version;