arm: mach-k3: Use JTAD_ID register for device identification
authorLokesh Vutla <lokeshvutla@ti.com>
Fri, 17 Apr 2020 08:13:53 +0000 (13:43 +0530)
committerLokesh Vutla <lokeshvutla@ti.com>
Sun, 19 Apr 2020 10:50:53 +0000 (16:20 +0530)
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>
arch/arm/mach-k3/common.c
arch/arm/mach-k3/common.h
arch/arm/mach-k3/include/mach/hardware.h

index efd84ec7eb9786b75e33239a37273c5b1a00020d..80dfa5f0fd6ab398ef96489f85a6ded11407da6a 100644 (file)
@@ -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";
index b1cbe116ef3133ca61444eed464b9849d2e4bfe5..57682e19733629c09951d16800696eb18fd89ae8 100644 (file)
@@ -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
index d670d5a56eca4b2ce76ef0e1482bac3e625f0280..0ad761418bb7e04b157a4b5b421b3b025cc8a574 100644 (file)
 #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_ */