arm: k3: Add support for printing CPUINFO

Add support for printing CPU info for all K3 devices.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
This commit is contained in:
Lokesh Vutla 2019-09-27 13:32:11 +05:30 committed by Tom Rini
parent d53a177271
commit f8ca912189
3 changed files with 66 additions and 0 deletions

View File

@ -14,6 +14,8 @@
#include <linux/soc/ti/ti_sci_protocol.h>
#include <fdt_support.h>
#include <asm/arch/sys_proto.h>
#include <asm/hardware.h>
#include <asm/io.h>
struct ti_sci_handle *get_ti_sci_handle(void)
{
@ -190,3 +192,43 @@ void reset_cpu(ulong ignored)
{
}
#endif
#if defined(CONFIG_DISPLAY_CPUINFO)
int print_cpuinfo(void)
{
u32 soc, rev;
char *name;
soc = (readl(CTRLMMR_WKUP_JTAG_DEVICE_ID) &
DEVICE_ID_FAMILY_MASK) >> DEVICE_ID_FAMILY_SHIFT;
rev = (readl(CTRLMMR_WKUP_JTAG_ID) &
JTAG_ID_VARIANT_MASK) >> JTAG_ID_VARIANT_SHIFT;
printf("SoC: ");
switch (soc) {
case AM654:
name = "AM654";
break;
case J721E:
name = "J721E";
break;
default:
name = "Unknown Silicon";
};
printf("%s PG ", 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;
}
#endif

View File

@ -8,5 +8,11 @@
#include <asm/armv7_mpu.h>
#define AM654 2
#define J721E 4
#define REV_PG1_0 0
#define REV_PG2_0 1
void setup_k3_mpu_regions(void);
int early_console_init(void);

View File

@ -13,4 +13,22 @@
#ifdef CONFIG_SOC_K3_J721E
#include "j721e_hardware.h"
#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 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)
#endif /* _ASM_ARCH_HARDWARE_H_ */