From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Thu, 11 Feb 2021 08:02:36 -0500 Subject: [Uboot-stm32] [PATCH] usb: dwc2: change compatible st, stm32mp1-hsotg to st, stm32mp15-hsotg In-Reply-To: References: <20210209111438.1.If6218391a7cf47afdeda5e5e6c79937b4e8ab085@changeid> <804006bd-a6bc-0352-374d-6d2b33e42db9@denx.de> <20210210195926.GJ10169@bill-the-cat> Message-ID: <20210211130236.GR10169@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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: