Am Do., 30. März 2023 um 22:31 Uhr schrieb Andrew Davis <a...@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 <a...@ti.com>
Reviewed-by: Christian Gmeiner <christian.gmei...@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@100000", "sram@70000000"); > + if (ret < 0) > + ret = fdt_fixup_msmc_ram(blob, "/interconnect@100000", > + "sram@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@100000", "sram@70000000"); > - if (ret < 0) > - ret = fdt_fixup_msmc_ram(blob, "/interconnect@100000", > - "sram@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@100000", "sram@70000000"); > - if (ret < 0) > - ret = fdt_fixup_msmc_ram(blob, "/interconnect@100000", > - "sram@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@100000", "sram@70000000"); > - if (ret < 0) > - ret = fdt_fixup_msmc_ram(blob, "/interconnect@100000", > - "sram@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@100000", "sram@70000000"); > - if (ret < 0) > - ret = fdt_fixup_msmc_ram(blob, "/interconnect@100000", > - "sram@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