aboutsummaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2020-04-17 13:43:53 +0530
committerLokesh Vutla <lokeshvutla@ti.com>2020-04-19 16:20:53 +0530
commite7510d443d30776248a2d5b8cc0e6b3161fb391b (patch)
treee5aa87d82b995c21c8445bf18d3d1519480aec3f /arch/arm
parent16c2a979fc73f13b6de281ccf6da2fddf471e6f5 (diff)
downloadu-boot-e7510d443d30776248a2d5b8cc0e6b3161fb391b.zip
u-boot-e7510d443d30776248a2d5b8cc0e6b3161fb391b.tar.gz
u-boot-e7510d443d30776248a2d5b8cc0e6b3161fb391b.tar.bz2
arm: mach-k3: Use JTAD_ID register for device identification
JTAG ID register is defined by IEEE 1149.1 for device identification. Use this JTAG ID register for identifying AM65x[0] and J721E[1] devices instead of using SoC specific registers. [0] http://www.ti.com/lit/ug/spruid7e/spruid7e.pdf [1] http://www.ti.com/lit/ug/spruil1a/spruil1a.pdf Reported-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-k3/common.c8
-rw-r--r--arch/arm/mach-k3/common.h4
-rw-r--r--arch/arm/mach-k3/include/mach/hardware.h14
3 files changed, 8 insertions, 18 deletions
diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
index efd84ec..80dfa5f 100644
--- a/arch/arm/mach-k3/common.c
+++ b/arch/arm/mach-k3/common.c
@@ -307,15 +307,15 @@ int print_cpuinfo(void)
u32 soc, rev;
char *name;
- soc = (readl(CTRLMMR_WKUP_JTAG_DEVICE_ID) &
- DEVICE_ID_FAMILY_MASK) >> DEVICE_ID_FAMILY_SHIFT;
+ soc = (readl(CTRLMMR_WKUP_JTAG_ID) &
+ JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
rev = (readl(CTRLMMR_WKUP_JTAG_ID) &
JTAG_ID_VARIANT_MASK) >> JTAG_ID_VARIANT_SHIFT;
printf("SoC: ");
switch (soc) {
- case AM654:
- name = "AM654";
+ case AM65X:
+ name = "AM65x";
break;
case J721E:
name = "J721E";
diff --git a/arch/arm/mach-k3/common.h b/arch/arm/mach-k3/common.h
index b1cbe11..57682e1 100644
--- a/arch/arm/mach-k3/common.h
+++ b/arch/arm/mach-k3/common.h
@@ -8,8 +8,8 @@
#include <asm/armv7_mpu.h>
-#define AM654 2
-#define J721E 4
+#define AM65X 0xbb5a
+#define J721E 0xbb64
#define REV_PG1_0 0
#define REV_PG2_0 1
diff --git a/arch/arm/mach-k3/include/mach/hardware.h b/arch/arm/mach-k3/include/mach/hardware.h
index d670d5a..0ad7614 100644
--- a/arch/arm/mach-k3/include/mach/hardware.h
+++ b/arch/arm/mach-k3/include/mach/hardware.h
@@ -15,20 +15,10 @@
#endif
/* Assuming these addresses and definitions stay common across K3 devices */
-#define CTRLMMR_WKUP_JTAG_DEVICE_ID 0x43000018
-#define DEVICE_ID_FAMILY_SHIFT 26
-#define DEVICE_ID_FAMILY_MASK (0x3f << 26)
-#define DEVICE_ID_BASE_SHIFT 11
-#define DEVICE_ID_BASE_MASK (0x1fff << 11)
-#define DEVICE_ID_SPEED_SHIFT 6
-#define DEVICE_ID_SPEED_MASK (0x1f << 6)
-#define DEVICE_ID_TEMP_SHIFT 3
-#define DEVICE_ID_TEMP_MASK (0x7 << 3)
-
-#define CTRLMMR_WKUP_JTAG_ID 0x43000014
+#define CTRLMMR_WKUP_JTAG_ID 0x43000014
#define JTAG_ID_VARIANT_SHIFT 28
#define JTAG_ID_VARIANT_MASK (0xf << 28)
#define JTAG_ID_PARTNO_SHIFT 12
-#define JTAG_ID_PARTNO_MASK (0x7ff << 1)
+#define JTAG_ID_PARTNO_MASK (0xffff << 12)
#endif /* _ASM_ARCH_HARDWARE_H_ */