diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c index 4e366f8fffa..f4d7c3d71e6 100644 --- a/arch/arm/mach-k3/common.c +++ b/arch/arm/mach-k3/common.c @@ -355,6 +355,16 @@ bool soc_is_j721e(void) return soc == J721E; } +bool soc_is_j7200(void) +{ + u32 soc; + + soc = (readl(CTRLMMR_WKUP_JTAG_ID) & + JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT; + + return soc == J7200; +} + #ifdef CONFIG_ARM64 void board_prep_linux(bootm_headers_t *images) { diff --git a/arch/arm/mach-k3/common.h b/arch/arm/mach-k3/common.h index 9c6c3595a28..32d07340bfd 100644 --- a/arch/arm/mach-k3/common.h +++ b/arch/arm/mach-k3/common.h @@ -9,6 +9,7 @@ #include #define J721E 0xbb64 +#define J7200 0xbb6d struct fwl_data { const char *name; diff --git a/arch/arm/mach-k3/include/mach/sys_proto.h b/arch/arm/mach-k3/include/mach/sys_proto.h index 48b11178c37..60287b261c8 100644 --- a/arch/arm/mach-k3/include/mach/sys_proto.h +++ b/arch/arm/mach-k3/include/mach/sys_proto.h @@ -17,5 +17,6 @@ void release_resources_for_core_shutdown(void); int fdt_disable_node(void *blob, char *node_path); bool soc_is_j721e(void); +bool soc_is_j7200(void); #endif