[PATCH 01/12] arm: mach-k3: Move MSMC fixup to SoC level

Christian Gmeiner christian.gmeiner at gmail.com
Sun Apr 2 12:47:52 CEST 2023


Am Do., 30. März 2023 um 22:31 Uhr schrieb Andrew Davis <afd at ti.com>:
>
> The MSMC fixup is something we do based on SoC, not based on the board.
> So this fixup does not belong in the board files. Move this to the
> mach-k3 common file so that it does not have to be done in each board
> that uses these SoCs.
>
> We use ft_system_setup() here instead of ft_board_setup() since it is no
> longer board level. Enable OF_SYSTEM_SETUP in the configurations that use
> this to keep functionality the same.
>
> Signed-off-by: Andrew Davis <afd at ti.com>

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

> ---
>  arch/arm/mach-k3/common.c                 | 16 ++++++++++++++++
>  arch/arm/mach-k3/include/mach/sys_proto.h |  1 -
>  board/siemens/iot2050/board.c             | 16 ----------------
>  board/ti/am65x/evm.c                      | 18 ------------------
>  board/ti/j721e/evm.c                      | 11 +----------
>  board/ti/j721s2/evm.c                     | 16 ----------------
>  configs/am65x_evm_a53_defconfig           |  2 +-
>  configs/am65x_hs_evm_a53_defconfig        |  2 +-
>  configs/iot2050_defconfig                 |  2 +-
>  configs/j7200_evm_a72_defconfig           |  1 +
>  configs/j7200_hs_evm_a72_defconfig        |  1 +
>  configs/j721e_evm_a72_defconfig           |  1 +
>  configs/j721e_hs_evm_a72_defconfig        |  1 +
>  configs/j721s2_evm_a72_defconfig          |  2 +-
>  configs/j721s2_hs_evm_a72_defconfig       |  2 +-
>  15 files changed, 26 insertions(+), 66 deletions(-)
>
> diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
> index a2adb791f6c..6870f13c520 100644
> --- a/arch/arm/mach-k3/common.c
> +++ b/arch/arm/mach-k3/common.c
> @@ -386,6 +386,22 @@ int fdt_disable_node(void *blob, char *node_path)
>         return 0;
>  }
>
> +#if defined(CONFIG_OF_SYSTEM_SETUP)
> +int ft_system_setup(void *blob, struct bd_info *bd)
> +{
> +       int ret;
> +
> +       ret = fdt_fixup_msmc_ram(blob, "/bus at 100000", "sram at 70000000");
> +       if (ret < 0)
> +               ret = fdt_fixup_msmc_ram(blob, "/interconnect at 100000",
> +                                        "sram at 70000000");
> +       if (ret)
> +               printf("%s: fixing up msmc ram failed %d\n", __func__, ret);
> +
> +       return ret;
> +}
> +#endif
> +
>  #endif
>
>  #ifndef CONFIG_SYSRESET
> diff --git a/arch/arm/mach-k3/include/mach/sys_proto.h b/arch/arm/mach-k3/include/mach/sys_proto.h
> index 3d3d90d02d6..0b5d606eaa2 100644
> --- a/arch/arm/mach-k3/include/mach/sys_proto.h
> +++ b/arch/arm/mach-k3/include/mach/sys_proto.h
> @@ -11,7 +11,6 @@ void sdelay(unsigned long loops);
>  u32 wait_on_value(u32 read_bit_mask, u32 match_value, void *read_addr,
>                   u32 bound);
>  struct ti_sci_handle *get_ti_sci_handle(void);
> -int fdt_fixup_msmc_ram(void *blob, char *parent_path, char *node_name);
>  int do_board_detect(void);
>  void release_resources_for_core_shutdown(void);
>  int fdt_disable_node(void *blob, char *node_path);
> diff --git a/board/siemens/iot2050/board.c b/board/siemens/iot2050/board.c
> index 8f4b0eae495..8b0506e4cb9 100644
> --- a/board/siemens/iot2050/board.c
> +++ b/board/siemens/iot2050/board.c
> @@ -230,22 +230,6 @@ int board_late_init(void)
>         return 0;
>  }
>
> -#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
> -int ft_board_setup(void *blob, struct bd_info *bd)
> -{
> -       int ret;
> -
> -       ret = fdt_fixup_msmc_ram(blob, "/bus at 100000", "sram at 70000000");
> -       if (ret < 0)
> -               ret = fdt_fixup_msmc_ram(blob, "/interconnect at 100000",
> -                                        "sram at 70000000");
> -       if (ret)
> -               pr_err("%s: fixing up msmc ram failed %d\n", __func__, ret);
> -
> -       return ret;
> -}
> -#endif
> -
>  void spl_board_init(void)
>  {
>  }
> diff --git a/board/ti/am65x/evm.c b/board/ti/am65x/evm.c
> index b266ccb4b82..4053b8333cf 100644
> --- a/board/ti/am65x/evm.c
> +++ b/board/ti/am65x/evm.c
> @@ -101,24 +101,6 @@ int board_fit_config_name_match(const char *name)
>  }
>  #endif
>
> -#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
> -int ft_board_setup(void *blob, struct bd_info *bd)
> -{
> -       int ret;
> -
> -       ret = fdt_fixup_msmc_ram(blob, "/bus at 100000", "sram at 70000000");
> -       if (ret < 0)
> -               ret = fdt_fixup_msmc_ram(blob, "/interconnect at 100000",
> -                                        "sram at 70000000");
> -       if (ret) {
> -               printf("%s: fixing up msmc ram failed %d\n", __func__, ret);
> -               return ret;
> -       }
> -
> -       return 0;
> -}
> -#endif
> -
>  #ifdef CONFIG_TI_I2C_BOARD_DETECT
>  int do_board_detect(void)
>  {
> diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c
> index d4e672a7acd..00ce009d3e8 100644
> --- a/board/ti/j721e/evm.c
> +++ b/board/ti/j721e/evm.c
> @@ -144,18 +144,9 @@ void spl_perform_fixups(struct spl_image_info *spl_image)
>  #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
>  int ft_board_setup(void *blob, struct bd_info *bd)
>  {
> -       int ret;
> -
> -       ret = fdt_fixup_msmc_ram(blob, "/bus at 100000", "sram at 70000000");
> -       if (ret < 0)
> -               ret = fdt_fixup_msmc_ram(blob, "/interconnect at 100000",
> -                                        "sram at 70000000");
> -       if (ret)
> -               printf("%s: fixing up msmc ram failed %d\n", __func__, ret);
> -
>         detect_enable_hyperflash(blob);
>
> -       return ret;
> +       return 0;
>  }
>  #endif
>
> diff --git a/board/ti/j721s2/evm.c b/board/ti/j721s2/evm.c
> index c86715fa211..9b130c141ac 100644
> --- a/board/ti/j721s2/evm.c
> +++ b/board/ti/j721s2/evm.c
> @@ -73,22 +73,6 @@ int dram_init_banksize(void)
>         return 0;
>  }
>
> -#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
> -int ft_board_setup(void *blob, struct bd_info *bd)
> -{
> -       int ret;
> -
> -       ret = fdt_fixup_msmc_ram(blob, "/bus at 100000", "sram at 70000000");
> -       if (ret < 0)
> -               ret = fdt_fixup_msmc_ram(blob, "/interconnect at 100000",
> -                                        "sram at 70000000");
> -       if (ret)
> -               printf("%s: fixing up msmc ram failed %d\n", __func__, ret);
> -
> -       return ret;
> -}
> -#endif
> -
>  #ifdef CONFIG_TI_I2C_BOARD_DETECT
>  /*
>   * Functions specific to EVM and SK designs of J721S2/AM68 family.
> diff --git a/configs/am65x_evm_a53_defconfig b/configs/am65x_evm_a53_defconfig
> index bddd94ce80e..4af274e06d6 100644
> --- a/configs/am65x_evm_a53_defconfig
> +++ b/configs/am65x_evm_a53_defconfig
> @@ -30,7 +30,7 @@ CONFIG_SPL_SPI=y
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SPL_LOAD_FIT=y
>  CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
> -CONFIG_OF_BOARD_SETUP=y
> +CONFIG_OF_SYSTEM_SETUP=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd; run init_${boot}; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
>  CONFIG_LOGLEVEL=7
> diff --git a/configs/am65x_hs_evm_a53_defconfig b/configs/am65x_hs_evm_a53_defconfig
> index 898403aad98..bdd4b6420dd 100644
> --- a/configs/am65x_hs_evm_a53_defconfig
> +++ b/configs/am65x_hs_evm_a53_defconfig
> @@ -30,7 +30,7 @@ CONFIG_SPL_SPI=y
>  # CONFIG_PSCI_RESET is not set
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SPL_LOAD_FIT=y
> -CONFIG_OF_BOARD_SETUP=y
> +CONFIG_OF_SYSTEM_SETUP=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run get_fit_${boot}; run get_overlaystring; run run_fit"
>  CONFIG_LOGLEVEL=7
> diff --git a/configs/iot2050_defconfig b/configs/iot2050_defconfig
> index 57387edcb41..95a6418d0ae 100644
> --- a/configs/iot2050_defconfig
> +++ b/configs/iot2050_defconfig
> @@ -27,7 +27,7 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
>  CONFIG_SPL_SPI=y
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SPL_LOAD_FIT=y
> -CONFIG_OF_BOARD_SETUP=y
> +CONFIG_OF_SYSTEM_SETUP=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_BOOTSTAGE=y
>  CONFIG_SHOW_BOOT_PROGRESS=y
> diff --git a/configs/j7200_evm_a72_defconfig b/configs/j7200_evm_a72_defconfig
> index 9b6512bacba..f9299780f71 100644
> --- a/configs/j7200_evm_a72_defconfig
> +++ b/configs/j7200_evm_a72_defconfig
> @@ -31,6 +31,7 @@ CONFIG_SPL_SPI=y
>  CONFIG_SPL_LOAD_FIT=y
>  CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
>  CONFIG_OF_BOARD_SETUP=y
> +CONFIG_OF_SYSTEM_SETUP=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
>  CONFIG_LOGLEVEL=7
> diff --git a/configs/j7200_hs_evm_a72_defconfig b/configs/j7200_hs_evm_a72_defconfig
> index cfd2e80aded..e83525bcb5e 100644
> --- a/configs/j7200_hs_evm_a72_defconfig
> +++ b/configs/j7200_hs_evm_a72_defconfig
> @@ -32,6 +32,7 @@ CONFIG_SPL_SPI=y
>  CONFIG_SPL_LOAD_FIT=y
>  CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
>  CONFIG_OF_BOARD_SETUP=y
> +CONFIG_OF_SYSTEM_SETUP=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run boot_rprocs; run get_fit_${boot}; run get_overlaystring; run run_fit"
>  CONFIG_LOGLEVEL=7
> diff --git a/configs/j721e_evm_a72_defconfig b/configs/j721e_evm_a72_defconfig
> index 452e4b9695d..46ad1b7d1a1 100644
> --- a/configs/j721e_evm_a72_defconfig
> +++ b/configs/j721e_evm_a72_defconfig
> @@ -29,6 +29,7 @@ CONFIG_SPL_SPI=y
>  CONFIG_SPL_LOAD_FIT=y
>  CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
>  CONFIG_OF_BOARD_SETUP=y
> +CONFIG_OF_SYSTEM_SETUP=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd; run init_${boot}; run main_cpsw0_qsgmii_phyinit; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
>  CONFIG_LOGLEVEL=7
> diff --git a/configs/j721e_hs_evm_a72_defconfig b/configs/j721e_hs_evm_a72_defconfig
> index 651df4a4865..df4bf01daf9 100644
> --- a/configs/j721e_hs_evm_a72_defconfig
> +++ b/configs/j721e_hs_evm_a72_defconfig
> @@ -30,6 +30,7 @@ CONFIG_SPL_SPI=y
>  CONFIG_SPL_LOAD_FIT=y
>  CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
>  CONFIG_OF_BOARD_SETUP=y
> +CONFIG_OF_SYSTEM_SETUP=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run main_cpsw0_qsgmii_phyinit; run boot_rprocs; run get_fit_${boot}; run get_overlay_${boot}; run run_fit"
>  CONFIG_LOGLEVEL=7
> diff --git a/configs/j721s2_evm_a72_defconfig b/configs/j721s2_evm_a72_defconfig
> index 3a91df71d37..9889e1bd523 100644
> --- a/configs/j721s2_evm_a72_defconfig
> +++ b/configs/j721s2_evm_a72_defconfig
> @@ -28,7 +28,7 @@ CONFIG_SPL_SPI=y
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SPL_LOAD_FIT=y
>  CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
> -CONFIG_OF_BOARD_SETUP=y
> +CONFIG_OF_SYSTEM_SETUP=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
>  CONFIG_LOGLEVEL=7
> diff --git a/configs/j721s2_hs_evm_a72_defconfig b/configs/j721s2_hs_evm_a72_defconfig
> index 453f2aabbfc..035d87b49f1 100644
> --- a/configs/j721s2_hs_evm_a72_defconfig
> +++ b/configs/j721s2_hs_evm_a72_defconfig
> @@ -31,7 +31,7 @@ CONFIG_SPL_SPI=y
>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>  CONFIG_SPL_LOAD_FIT=y
>  CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
> -CONFIG_OF_BOARD_SETUP=y
> +CONFIG_OF_SYSTEM_SETUP=y
>  CONFIG_DISTRO_DEFAULTS=y
>  CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run boot_rprocs; run get_fit_${boot}; run get_overlaystring; run run_fit"
>  CONFIG_LOGLEVEL=7
> --
> 2.39.2
>


-- 
greets
--
Christian Gmeiner, MSc

https://christian-gmeiner.info/privacypolicy


More information about the U-Boot mailing list