[PATCH v2 02/12] arm: mach-k3: Move J721e SoC detection out of common section

Christian Gmeiner christian.gmeiner at gmail.com
Thu Apr 6 11:11:06 CEST 2023


Hi Andrew

>
> 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. Add the rest of the SoC IDs for completeness
> and later use.
>
> Signed-off-by: Andrew Davis <afd at ti.com>
> ---
>  arch/arm/mach-k3/common.c                 | 20 --------------------
>  arch/arm/mach-k3/common.h                 |  3 ---
>  arch/arm/mach-k3/include/mach/hardware.h  |  8 ++++++++
>  arch/arm/mach-k3/include/mach/sys_proto.h |  3 ---
>  arch/arm/mach-k3/j721e_init.c             | 20 ++++++++++++++++++++
>  5 files changed, 28 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..f87b4c6e5a7 100644
> --- a/arch/arm/mach-k3/include/mach/hardware.h
> +++ b/arch/arm/mach-k3/include/mach/hardware.h
> @@ -36,6 +36,14 @@
>  #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_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);
> diff --git a/arch/arm/mach-k3/j721e_init.c b/arch/arm/mach-k3/j721e_init.c
> index 9cae3ac67e9..432cbc6a992 100644
> --- a/arch/arm/mach-k3/j721e_init.c
> +++ b/arch/arm/mach-k3/j721e_init.c
> @@ -63,6 +63,26 @@ struct fwl_data cbass_hc_cfg0_fwls[] = {
>  };
>  #endif
>
> +bool soc_is_j721e(void)

static bool soc_is_j721e(void)

> +{
> +       u32 soc;
> +
> +       soc = (readl(CTRLMMR_WKUP_JTAG_ID) &
> +               JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
> +
> +       return soc == JTAG_ID_PARTNO_J721E;
> +}
> +
> +bool soc_is_j7200(void)

static bool soc_is_j7200(void)

> +{
> +       u32 soc;
> +
> +       soc = (readl(CTRLMMR_WKUP_JTAG_ID) &
> +               JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
> +
> +       return soc == JTAG_ID_PARTNO_J7200;
> +}
> +
>  static void ctrl_mmr_unlock(void)
>  {
>         /* Unlock all WKUP_CTRL_MMR0 module registers */
> --
> 2.39.2
>

With that Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>

-- 
greets
--
Christian Gmeiner, MSc

https://christian-gmeiner.info/privacypolicy


More information about the U-Boot mailing list