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

Faiz Abbas faiz_abbas at ti.com
Mon Aug 3 08:06:38 CEST 2020


Hi Vignesh,

On 03/07/20 1:04 pm, Vignesh Raghavendra wrote:
> 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?

Fixed this in v2.
> 
>> +{
>> +	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()?
> 

there was an fdtdec_board_setup() which can be overridden for this. Implemented
using that in v2.

Thanks,
Faiz


More information about the U-Boot mailing list