[PATCH 06/13] arm: mach-k3: am6_init: Do USB fixups to facilitate host and device boot modes

Vignesh Raghavendra vigneshr at ti.com
Fri Jul 3 09:34:12 CEST 2020


Hi,

On 02/07/20 1:32 pm, Faiz Abbas wrote:

[...]
> int am6_spl_early_init(void)

Can this be static or do you intend to use this outside of this func file?

> +{
> +	int ret;
> +#if CONFIG_VAL(SYS_MALLOC_F_LEN)
> +#ifdef CONFIG_MALLOC_F_ADDR
> +	gd->malloc_base = CONFIG_MALLOC_F_ADDR;
> +#endif
> +	gd->malloc_limit = CONFIG_VAL(SYS_MALLOC_F_LEN);
> +	gd->malloc_ptr = 0;
> +#endif
> +	ret = fdtdec_setup();
> +	if (ret) {
> +		printf("fdtdec_setup() returned error %d\n", ret);
> +		return ret;
> +	}
> +
> +#if CONFIG_IS_ENABLED(DFU) || CONFIG_IS_ENABLED(USB_STORAGE)
> +	fixup_usb_boot();
> +#endif
> +	/* With CONFIG_SPL_OF_PLATDATA, bring in all devices */
> +	ret = dm_init_and_scan(!CONFIG_IS_ENABLED(OF_PLATDATA));
> +	if (ret) {
> +		printf("dm_init_and_scan() returned error %d\n", ret);
> +		return ret;
> +	}
> +
> +	gd->flags |= GD_FLG_SPL_EARLY_INIT;
> +
> +	return 0;
> +}
>  void board_init_f(ulong dummy)
>  {
>  #if defined(CONFIG_K3_LOAD_SYSFW) || defined(CONFIG_K3_AM654_DDRSS)
> @@ -141,9 +206,8 @@ void board_init_f(ulong dummy)
>  	disable_linefill_optimization();
>  	setup_k3_mpu_regions();
>  #endif
> -
>  	/* Init DM early in-order to invoke system controller */
> -	spl_early_init();

I don't like this part as patch now open codes part of spl_early_init()
here and any fixes/enhancements to that core code would not be available
for am6 unless explicitly ported....

How about having a arch specific post fdtdec_setup() hook instead, that
gets called from spl_common_init()?

> +	am6_spl_early_init();
>  
>  #ifdef CONFIG_K3_EARLY_CONS
>  	/*
> -- 2.17.1


Regards
Vignesh


More information about the U-Boot mailing list