> > This belongs in the J721e specific file as it is the only place > this is used. Any board level users should use the SOC driver. > > While here, move the J721e and J7200 SoC IDs out of sys_proto.h > and into hardware.h. Use a macro borrowed from Rockchip and add > the rest of the SoC IDs for completeness and later use. > > Signed-off-by: Andrew Davis <a...@ti.com>
Reviewed-by: Christian Gmeiner <christian.gmei...@gmail.com> > --- > arch/arm/mach-k3/common.c | 20 ------------------ > arch/arm/mach-k3/common.h | 3 --- > arch/arm/mach-k3/include/mach/hardware.h | 25 +++++++++++++++++++++++ > arch/arm/mach-k3/include/mach/sys_proto.h | 3 --- > 4 files changed, 25 insertions(+), 26 deletions(-) > > diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c > index 6870f13c520..6e084de692c 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 8f38fcef7f0..531be0be54c 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 2c60ef85432..9faf1d6ff06 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 0b5d606eaa2..d5d4b787b7d 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); > -- > 2.39.2 > -- greets -- Christian Gmeiner, MSc https://christian-gmeiner.info/privacypolicy