[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