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

Tom Rini trini at konsulko.com
Thu Feb 11 14:02:36 CET 2021


On Thu, Feb 11, 2021 at 12:14:51PM +0100, 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?

The long stated policy of U-Boot is to allow non-final bindings to be
used until they're finalized in Linux in order to address the "chicken
and egg" problem, since it's already a terrible idea to go to production
with a Linux kernel that's using non-final bindings.  Any older TF-A
that doesn't work with this newer binding should be on a developer board
and they can just upgrade.  Linux says "DT is ABI" and allows the ABI to
break when there's a bug in the DT.  We don't say "DT is ABI" we say "we
use the Linux kernel binding".

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210211/8e803817/attachment.sig>


More information about the U-Boot mailing list