[Uboot-stm32] [PATCH] usb: dwc2: change compatible st, stm32mp1-hsotg to st, stm32mp15-hsotg

Patrick DELAUNAY patrick.delaunay at foss.st.com
Fri Feb 19 14:30:09 CET 2021


Hi Ahmad,

On 2/11/21 12:14 PM, Ahmad Fatoum wrote:
> Hi,
>
> On 10.02.21 20:59, Tom Rini wrote:
>> On Tue, Feb 09, 2021 at 08:51:26PM +0100, Patrick DELAUNAY wrote:
>>> On 2/9/21 11:39 AM, Marek Vasut wrote:
>>>> On 2/9/21 11:14 AM, Patrick Delaunay wrote:
>>>> Hi,
>>>>
>>>> [...]
>>>>
>>>>> diff --git a/drivers/usb/gadget/dwc2_udc_otg.c
>>>>> b/drivers/usb/gadget/dwc2_udc_otg.c
>>>>> index e3871e381e..ecac80fc11 100644
>>>>> --- a/drivers/usb/gadget/dwc2_udc_otg.c
>>>>> +++ b/drivers/usb/gadget/dwc2_udc_otg.c
>>>>> @@ -1176,7 +1176,7 @@ static int dwc2_udc_otg_remove(struct udevice
>>>>> *dev)
>>>>>    static const struct udevice_id dwc2_udc_otg_ids[] = {
>>>>>        { .compatible = "snps,dwc2" },
>>>>>        { .compatible = "brcm,bcm2835-usb" },
>>>>> -    { .compatible = "st,stm32mp1-hsotg",
>>>>> +    { .compatible = "st,stm32mp15-hsotg",
>>>>>          .data = (ulong)dwc2_set_stm32mp1_hsotg_params },
>>>> I have to point out the obvious, DT is ABI, this breaks ABI. However, do
>>>> we care about out-of-tree DTs here ?
>>>
>>> I know that the binding backward compatibility and "binary compatible" the
>>> is a key element of DT
>>>
>>> for the Linux kernel (for example the latest kernel image should work with a
>>> old device tree).
>> The way we use DTs in U-Boot we don't enforce ABI because we allow for
>> DTS and bindings to come in before they're fully stabilized in
>> linux-next/similar and then it's required to re-sync them once they are
>> final.
> I think platforms like the STM32MP1 should be handled specially, because
> they support having an external device tree passed from the FSBL at runtime.
> See https://github.com/trini/u-boot/blob/master/arch/arm/mach-stm32mp/boot_params.c#L32
>
> @Patrick, wouldn't this change break booting newer U-Boot with older TF-A in
> some configurations? Or is this reusing-fsbl-fdt feature unused?

> Cheers,
> Ahmad

I introduce this patch to prepare the FIP support in STM32MP15x TF-A

but it is not yet ready today in downstream or in upstream (STOpenLinux 
v2.1).


In this FIP use-case, the DT provided by TF-A to U-Boot is the "u-boot.dtb"

generated by U-Boot compilation (including the required 
"u-boot,dm-pre-reloc"

add-on).


The files "u-boot-nodtb.bin" and "u-boot.dtb" are provided to TF-A makefile

when the FIP is create; I hope these files are aligned as resulting of the

U-Boot compilation.


And update of existing FIP is possible with command:

  PC $> fiptool update --nt-fw u-boot-nodtb.bin --hw-config u-boot.dtb 
fip.bin


Here I hope the DT and U-Boot binary are updated at the same time

to avoid any dependency issue  (even if it is not mandatory).


But as this FIP feature is not yet used, I don't break the current or 
the FIP STM32MP1

configurations, except if I miss something,  as the 2 U-Boot files in FIP

are updated at the same time.


Regards,

Patrick



More information about the U-Boot mailing list