> > This matches AM64 and J721e and removes the need to forward > declare k3_spl_init(), k3_mem_init(), and check_rom_loaded_sysfw() > in sys_proto.h. > > Signed-off-by: Andrew Davis <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]> > --- > arch/arm/mach-k3/include/mach/sys_proto.h | 3 -- > arch/arm/mach-k3/j721s2_init.c | 64 +++++++++++++++++++++++ > board/ti/j721s2/evm.c | 63 ---------------------- > 3 files changed, 64 insertions(+), 66 deletions(-) > > diff --git a/arch/arm/mach-k3/include/mach/sys_proto.h > b/arch/arm/mach-k3/include/mach/sys_proto.h > index 4b4e2a5be39..5638c6f8c8a 100644 > --- a/arch/arm/mach-k3/include/mach/sys_proto.h > +++ b/arch/arm/mach-k3/include/mach/sys_proto.h > @@ -7,7 +7,4 @@ > #ifndef _SYS_PROTO_H_ > #define _SYS_PROTO_H_ > > -void k3_spl_init(void); > -void k3_mem_init(void); > -bool check_rom_loaded_sysfw(void); > #endif > diff --git a/arch/arm/mach-k3/j721s2_init.c b/arch/arm/mach-k3/j721s2_init.c > index 4785a747bf3..175ac4028a0 100644 > --- a/arch/arm/mach-k3/j721s2_init.c > +++ b/arch/arm/mach-k3/j721s2_init.c > @@ -19,6 +19,7 @@ > #include <dm.h> > #include <dm/uclass-internal.h> > #include <dm/pinctrl.h> > +#include <dm/root.h> > #include <mmc.h> > #include <remoteproc.h> > > @@ -182,6 +183,69 @@ void k3_mem_init(void) > spl_enable_dcache(); > } > > +/* Support for the various EVM / SK families */ > +#if defined(CONFIG_SPL_OF_LIST) && defined(CONFIG_TI_I2C_BOARD_DETECT) > +void do_dt_magic(void) > +{ > + int ret, rescan, mmc_dev = -1; > + static struct mmc *mmc; > + > + do_board_detect(); > + > + /* > + * Board detection has been done. > + * Let us see if another dtb wouldn't be a better match > + * for our board > + */ > + if (IS_ENABLED(CONFIG_CPU_V7R)) { > + ret = fdtdec_resetup(&rescan); > + if (!ret && rescan) { > + dm_uninit(); > + dm_init_and_scan(true); > + } > + } > + > + /* > + * Because of multi DTB configuration, the MMC device has > + * to be re-initialized after reconfiguring FDT inorder to > + * boot from MMC. Do this when boot mode is MMC and ROM has > + * not loaded SYSFW. > + */ > + switch (spl_boot_device()) { > + case BOOT_DEVICE_MMC1: > + mmc_dev = 0; > + break; > + case BOOT_DEVICE_MMC2: > + case BOOT_DEVICE_MMC2_2: > + mmc_dev = 1; > + break; > + } > + > + if (mmc_dev > 0 && !check_rom_loaded_sysfw()) { > + ret = mmc_init_device(mmc_dev); > + if (!ret) { > + mmc = find_mmc_device(mmc_dev); > + if (mmc) { > + ret = mmc_init(mmc); > + if (ret) > + printf("mmc init failed with error: > %d\n", ret); > + } > + } > + } > +} > +#endif > + > +#ifdef CONFIG_SPL_BUILD > +void board_init_f(ulong dummy) > +{ > + k3_spl_init(); > +#if defined(CONFIG_SPL_OF_LIST) && defined(CONFIG_TI_I2C_BOARD_DETECT) > + do_dt_magic(); > +#endif > + k3_mem_init(); > +} > +#endif > + > u32 spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device) > { > switch (boot_device) { > diff --git a/board/ti/j721s2/evm.c b/board/ti/j721s2/evm.c > index 9b130c141ac..d3f9a655899 100644 > --- a/board/ti/j721s2/evm.c > +++ b/board/ti/j721s2/evm.c > @@ -192,66 +192,3 @@ int board_late_init(void) > void spl_board_init(void) > { > } > - > -/* Support for the various EVM / SK families */ > -#if defined(CONFIG_SPL_OF_LIST) && defined(CONFIG_TI_I2C_BOARD_DETECT) > -void do_dt_magic(void) > -{ > - int ret, rescan, mmc_dev = -1; > - static struct mmc *mmc; > - > - do_board_detect(); > - > - /* > - * Board detection has been done. > - * Let us see if another dtb wouldn't be a better match > - * for our board > - */ > - if (IS_ENABLED(CONFIG_CPU_V7R)) { > - ret = fdtdec_resetup(&rescan); > - if (!ret && rescan) { > - dm_uninit(); > - dm_init_and_scan(true); > - } > - } > - > - /* > - * Because of multi DTB configuration, the MMC device has > - * to be re-initialized after reconfiguring FDT inorder to > - * boot from MMC. Do this when boot mode is MMC and ROM has > - * not loaded SYSFW. > - */ > - switch (spl_boot_device()) { > - case BOOT_DEVICE_MMC1: > - mmc_dev = 0; > - break; > - case BOOT_DEVICE_MMC2: > - case BOOT_DEVICE_MMC2_2: > - mmc_dev = 1; > - break; > - } > - > - if (mmc_dev > 0 && !check_rom_loaded_sysfw()) { > - ret = mmc_init_device(mmc_dev); > - if (!ret) { > - mmc = find_mmc_device(mmc_dev); > - if (mmc) { > - ret = mmc_init(mmc); > - if (ret) > - printf("mmc init failed with error: > %d\n", ret); > - } > - } > - } > -} > -#endif > - > -#ifdef CONFIG_SPL_BUILD > -void board_init_f(ulong dummy) > -{ > - k3_spl_init(); > -#if defined(CONFIG_SPL_OF_LIST) && defined(CONFIG_TI_I2C_BOARD_DETECT) > - do_dt_magic(); > -#endif > - k3_mem_init(); > -} > -#endif > -- > 2.39.2 > -- greets -- Christian Gmeiner, MSc https://christian-gmeiner.info/privacypolicy

