summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-k3/common.c20
-rw-r--r--arch/arm/mach-k3/common.h3
-rw-r--r--arch/arm/mach-k3/include/mach/hardware.h25
-rw-r--r--arch/arm/mach-k3/include/mach/sys_proto.h3
4 files changed, 25 insertions, 26 deletions
diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
index 6870f13c52..6e084de692 100644
--- a/arch/arm/mach-k3/common.c
+++ b/arch/arm/mach-k3/common.c
@@ -488,26 +488,6 @@ int print_cpuinfo(void)
}
#endif
-bool soc_is_j721e(void)
-{
- u32 soc;
-
- soc = (readl(CTRLMMR_WKUP_JTAG_ID) &
- JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
-
- 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(struct bootm_headers *images)
{
diff --git a/arch/arm/mach-k3/common.h b/arch/arm/mach-k3/common.h
index 8f38fcef7f..531be0be54 100644
--- a/arch/arm/mach-k3/common.h
+++ b/arch/arm/mach-k3/common.h
@@ -9,9 +9,6 @@
#include <asm/armv7_mpu.h>
#include <asm/hardware.h>
-#define J721E 0xbb64
-#define J7200 0xbb6d
-
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 2c60ef8543..9faf1d6ff0 100644
--- a/arch/arm/mach-k3/include/mach/hardware.h
+++ b/arch/arm/mach-k3/include/mach/hardware.h
@@ -6,6 +6,8 @@
#ifndef _ASM_ARCH_HARDWARE_H_
#define _ASM_ARCH_HARDWARE_H_
+#include <asm/io.h>
+
#ifdef CONFIG_SOC_K3_AM654
#include "am6_hardware.h"
#endif
@@ -36,6 +38,29 @@
#define JTAG_ID_VARIANT_MASK (0xf << 28)
#define JTAG_ID_PARTNO_SHIFT 12
#define JTAG_ID_PARTNO_MASK (0xffff << 12)
+#define JTAG_ID_PARTNO_AM65X 0xbb5a
+#define JTAG_ID_PARTNO_J721E 0xbb64
+#define JTAG_ID_PARTNO_J7200 0xbb6d
+#define JTAG_ID_PARTNO_AM64X 0xbb38
+#define JTAG_ID_PARTNO_J721S2 0xbb75
+#define JTAG_ID_PARTNO_AM62X 0xbb7e
+#define JTAG_ID_PARTNO_AM62AX 0xbb8d
+
+#define K3_SOC_ID(id, ID) \
+static inline bool soc_is_##id(void) \
+{ \
+ u32 soc = (readl(CTRLMMR_WKUP_JTAG_ID) & \
+ JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT; \
+ return soc == JTAG_ID_PARTNO_##ID; \
+}
+K3_SOC_ID(am65x, AM65X)
+K3_SOC_ID(j721e, J721E)
+K3_SOC_ID(j7200, J7200)
+K3_SOC_ID(am64x, AM64X)
+K3_SOC_ID(j721s2, J721S2)
+K3_SOC_ID(am62x, AM62X)
+K3_SOC_ID(am62ax, AM62AX)
+
#define K3_SEC_MGR_SYS_STATUS 0x44234100
#define SYS_STATUS_DEV_TYPE_SHIFT 0
#define SYS_STATUS_DEV_TYPE_MASK (0xf)
diff --git a/arch/arm/mach-k3/include/mach/sys_proto.h b/arch/arm/mach-k3/include/mach/sys_proto.h
index 0b5d606eaa..d5d4b787b7 100644
--- a/arch/arm/mach-k3/include/mach/sys_proto.h
+++ b/arch/arm/mach-k3/include/mach/sys_proto.h
@@ -15,9 +15,6 @@ int do_board_detect(void);
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);
-
void k3_spl_init(void);
void k3_mem_init(void);
bool check_rom_loaded_sysfw(void);