summaryrefslogtreecommitdiff
path: root/arch/arm/mach-k3
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-07-24 08:42:06 -0400
committerTom Rini <trini@konsulko.com>2020-07-24 08:42:06 -0400
commit7208396bbf1df1c7a85d263b7ff054e6b45d8240 (patch)
tree41b20866e0a94e34ca76e54a2745ca7a5ba0889b /arch/arm/mach-k3
parent5d3a21df6694ebd66d5c34c9d62a26edc7456fc7 (diff)
Revert "Merge tag 'dm-pull-20jul20' of git://git.denx.de/u-boot-dm"
This reverts commit 5d3a21df6694ebd66d5c34c9d62a26edc7456fc7, reversing changes made to 56d37f1c564107e27d873181d838571b7d7860e7. Unfortunately this is causing CI failures: https://travis-ci.org/github/trini/u-boot/jobs/711313649 Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'arch/arm/mach-k3')
-rw-r--r--arch/arm/mach-k3/common.c48
-rw-r--r--arch/arm/mach-k3/common.h6
-rw-r--r--arch/arm/mach-k3/include/mach/hardware.h1
3 files changed, 36 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;
}
diff --git a/arch/arm/mach-k3/common.h b/arch/arm/mach-k3/common.h
index ba344c5bc9..94cdcb56ad 100644
--- a/arch/arm/mach-k3/common.h
+++ b/arch/arm/mach-k3/common.h
@@ -8,6 +8,12 @@
#include <asm/armv7_mpu.h>
+#define AM65X 0xbb5a
+#define J721E 0xbb64
+
+#define REV_PG1_0 0
+#define REV_PG2_0 1
+
struct fwl_data {
const char *name;
u16 fwl_id;
diff --git a/arch/arm/mach-k3/include/mach/hardware.h b/arch/arm/mach-k3/include/mach/hardware.h
index f2ca80af1a..0ad761418b 100644
--- a/arch/arm/mach-k3/include/mach/hardware.h
+++ b/arch/arm/mach-k3/include/mach/hardware.h
@@ -15,6 +15,7 @@
#endif
/* Assuming these addresses and definitions stay common across K3 devices */
+#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