[PATCH] arm: mach-k3: Use JTAD_ID register for device identification

Lokesh Vutla lokeshvutla at ti.com
Fri Apr 17 11:21:25 CEST 2020


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 at ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
---
 arch/arm/mach-k3/common.c                |  4 ++--
 arch/arm/mach-k3/common.h                |  4 ++--
 arch/arm/mach-k3/include/mach/hardware.h | 14 ++------------
 3 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
index efd84ec7eb..613bf09073 100644
--- a/arch/arm/mach-k3/common.c
+++ b/arch/arm/mach-k3/common.c
@@ -307,8 +307,8 @@ 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;
 
diff --git a/arch/arm/mach-k3/common.h b/arch/arm/mach-k3/common.h
index b1cbe116ef..ebbd2112d5 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 AM654	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 d670d5a56e..0ad761418b 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_ */
-- 
2.23.0



More information about the U-Boot mailing list