[PATCH v1 1/3] arm: k3: Fix ft_system_setup so it can be enabled on any SoC
Andrew Davis
afd at ti.com
Wed Jul 12 16:15:21 CEST 2023
On 7/12/23 8:47 AM, Francesco Dolcini wrote:
> From: Emanuele Ghidoli <emanuele.ghidoli at toradex.com>
>
> ft_system_setup cannot be enabled on SoC without msmc sram otherwise
> fdt_fixup_msmc_ram function fails causing system reset.
>
> Fix by calling fdt_fixup_msmc_ram only on these specific SoC:
> - J721S2
> - AM654
> - J721E
>
> This change was verified to not change anything on any existing board
> (all the J721S2, AM654 and J721E boards requires it,
> none of the remaining k3 boards require it).
>
> Fixes: 30e96a240156 ("arm: mach-k3: Move MSMC fixup to SoC level")
> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli at toradex.com>
> Signed-off-by: Francesco Dolcini <francesco.dolcini at toradex.com>
> ---
> arch/arm/mach-k3/common.c | 20 ++++++++++++--------
> 1 file changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
> index 34737a43aa08..f86ccaedc94f 100644
> --- a/arch/arm/mach-k3/common.c
> +++ b/arch/arm/mach-k3/common.c
> @@ -433,14 +433,18 @@ int fdt_fixup_msmc_ram(void *blob, char *parent_path, char *node_name)
> #if defined(CONFIG_OF_SYSTEM_SETUP)
> int ft_system_setup(void *blob, struct bd_info *bd)
How about we rename this function to something like ft_msmc_sram_setup(), then only
call it from board_setup for the platforms that needed it.
Andrew
> {
> - 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);
> + int ret = 0;
> +
> + if (IS_ENABLED(CONFIG_SOC_K3_J721S2) ||
> + IS_ENABLED(CONFIG_SOC_K3_AM654) ||
> + IS_ENABLED(CONFIG_SOC_K3_J721E)) {
> + 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;
> }
More information about the U-Boot
mailing list