diff options
Diffstat (limited to 'arch/arm/mach-k3/common.c')
-rw-r--r-- | arch/arm/mach-k3/common.c | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c index 4335f2877b..63bf060616 100644 --- a/arch/arm/mach-k3/common.c +++ b/arch/arm/mach-k3/common.c @@ -25,7 +25,6 @@ #include <fs.h> #include <env.h> #include <elf.h> -#include <soc.h> struct ti_sci_handle *get_ti_sci_handle(void) { @@ -309,27 +308,38 @@ void reset_cpu(ulong ignored) #if defined(CONFIG_DISPLAY_CPUINFO) int print_cpuinfo(void) { - struct udevice *soc; - char name[64]; - int ret; - - printf("SoC: "); + u32 soc, rev; + char *name; - ret = soc_get(&soc); - if (ret) { - printf("UNKNOWN\n"); - return 0; - } + 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; - ret = soc_get_family(soc, name, 64); - if (!ret) { - printf("%s ", name); - } + printf("SoC: "); + switch (soc) { + case AM65X: + name = "AM65x"; + break; + case J721E: + name = "J721E"; + break; + default: + name = "Unknown Silicon"; + }; - ret = soc_get_revision(soc, name, 64); - if (!ret) { - printf("%s\n", name); - } + printf("%s SR ", name); + switch (rev) { + case REV_PG1_0: + name = "1.0"; + break; + case REV_PG2_0: + name = "2.0"; + break; + default: + name = "Unknown Revision"; + }; + printf("%s\n", name); return 0; } |