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>
This commit is contained in:
Lokesh Vutla 2020-04-17 13:43:53 +05:30
parent 16c2a979fc
commit e7510d443d
3 changed files with 8 additions and 18 deletions

View file

@ -307,15 +307,15 @@ int print_cpuinfo(void)
u32 soc, rev; u32 soc, rev;
char *name; char *name;
soc = (readl(CTRLMMR_WKUP_JTAG_DEVICE_ID) & soc = (readl(CTRLMMR_WKUP_JTAG_ID) &
DEVICE_ID_FAMILY_MASK) >> DEVICE_ID_FAMILY_SHIFT; JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
rev = (readl(CTRLMMR_WKUP_JTAG_ID) & rev = (readl(CTRLMMR_WKUP_JTAG_ID) &
JTAG_ID_VARIANT_MASK) >> JTAG_ID_VARIANT_SHIFT; JTAG_ID_VARIANT_MASK) >> JTAG_ID_VARIANT_SHIFT;
printf("SoC: "); printf("SoC: ");
switch (soc) { switch (soc) {
case AM654: case AM65X:
name = "AM654"; name = "AM65x";
break; break;
case J721E: case J721E:
name = "J721E"; name = "J721E";

View file

@ -8,8 +8,8 @@
#include <asm/armv7_mpu.h> #include <asm/armv7_mpu.h>
#define AM654 2 #define AM65X 0xbb5a
#define J721E 4 #define J721E 0xbb64
#define REV_PG1_0 0 #define REV_PG1_0 0
#define REV_PG2_0 1 #define REV_PG2_0 1

View file

@ -15,20 +15,10 @@
#endif #endif
/* Assuming these addresses and definitions stay common across K3 devices */ /* Assuming these addresses and definitions stay common across K3 devices */
#define CTRLMMR_WKUP_JTAG_DEVICE_ID 0x43000018 #define CTRLMMR_WKUP_JTAG_ID 0x43000014
#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 JTAG_ID_VARIANT_SHIFT 28 #define JTAG_ID_VARIANT_SHIFT 28
#define JTAG_ID_VARIANT_MASK (0xf << 28) #define JTAG_ID_VARIANT_MASK (0xf << 28)
#define JTAG_ID_PARTNO_SHIFT 12 #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_ */ #endif /* _ASM_ARCH_HARDWARE_H_ */