[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