From: Lokesh Vutla Date: Fri, 17 Apr 2020 08:13:53 +0000 (+0530) Subject: arm: mach-k3: Use JTAD_ID register for device identification X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=e7510d443d30776248a2d5b8cc0e6b3161fb391b;p=u-boot.git 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 Signed-off-by: Lokesh Vutla --- diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c index efd84ec7eb..80dfa5f0fd 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 b1cbe116ef..57682e1973 100644 --- a/arch/arm/mach-k3/common.h +++ b/arch/arm/mach-k3/common.h @@ -8,8 +8,8 @@ #include -#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 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_ */