* [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
@ 2025-03-19 22:07 Marek Vasut
2025-03-20 9:47 ` Mattijs Korpershoek
2025-03-24 9:20 ` Neil Armstrong
0 siblings, 2 replies; 15+ messages in thread
From: Marek Vasut @ 2025-03-19 22:07 UTC (permalink / raw)
To: u-boot
Cc: Marek Vasut, Alexander Sverdlin, Felipe Balbi, Lukasz Majewski,
Mattijs Korpershoek, Neil Armstrong, Thinh Nguyen, Tom Rini
The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
it crashes. This is a result of the previous hard-coded EP setup in
drivers/usb/gadget/epautoconf.c which did special-case EP allocation
for SPL builds, and which was since converted to this callback, but
without the special-case EP allocation in SPL part.
This reinstates the SPL part in an isolated manner, only for NXP iMX
SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
Fixes: 1918b8010c32 ("usb: dwc3: gadget: Convert epautoconf workaround to match_ep callback")
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
Cc: Lukasz Majewski <lukma@denx.de>
Cc: Marek Vasut <marex@denx.de>
Cc: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: u-boot@lists.denx.de
---
NOTE: This should go into master as a bugfix.
---
drivers/usb/dwc3/gadget.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index e5a383407a2..477ecd02098 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -1631,8 +1631,25 @@ usb_ep *dwc3_gadget_match_ep(struct usb_gadget *gadget,
return dwc3_find_ep(gadget, "ep1in");
if (usb_endpoint_is_bulk_out(desc))
return dwc3_find_ep(gadget, "ep2out");
- if (usb_endpoint_is_int_in(desc))
+ if (usb_endpoint_is_int_in(desc)) {
+ /*
+ * Special workaround for NXP UUU tool in SPL.
+ *
+ * The tool excepts the interrupt-in endpoint to be ep1in,
+ * otherwise it crashes. This is a result of the previous
+ * hard-coded EP setup in drivers/usb/gadget/epautoconf.c
+ * which did special-case EP allocation for SPL builds,
+ * and which was since converted to this callback, but
+ * without the special-case EP allocation in SPL part.
+ *
+ * This reinstates the SPL part in an isolated manner,
+ * only for NXP iMX SoCs, only for SPL builds, and only
+ * for the ep1in interrupt-in endpoint.
+ */
+ if (IS_ENABLED(CONFIG_MACH_IMX) && IS_ENABLED(CONFIG_XPL_BUILD))
+ return dwc3_find_ep(gadget, "ep1in");
return dwc3_find_ep(gadget, "ep3in");
+ }
return NULL;
}
--
2.47.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-03-19 22:07 [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool Marek Vasut
@ 2025-03-20 9:47 ` Mattijs Korpershoek
2025-03-24 8:03 ` Francesco Dolcini
2025-03-24 9:20 ` Neil Armstrong
1 sibling, 1 reply; 15+ messages in thread
From: Mattijs Korpershoek @ 2025-03-20 9:47 UTC (permalink / raw)
To: Marek Vasut, u-boot
Cc: Marek Vasut, Alexander Sverdlin, Felipe Balbi, Lukasz Majewski,
Neil Armstrong, Thinh Nguyen, Tom Rini
Hi Marek,
Thank you for the patch.
On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
> The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
> it crashes. This is a result of the previous hard-coded EP setup in
> drivers/usb/gadget/epautoconf.c which did special-case EP allocation
> for SPL builds, and which was since converted to this callback, but
> without the special-case EP allocation in SPL part.
>
> This reinstates the SPL part in an isolated manner, only for NXP iMX
> SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
>
> Fixes: 1918b8010c32 ("usb: dwc3: gadget: Convert epautoconf workaround to match_ep callback")
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
> Cc: Lukasz Majewski <lukma@denx.de>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Mattijs Korpershoek <mkorpershoek@baylibre.com>
> Cc: Neil Armstrong <neil.armstrong@linaro.org>
> Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
> Cc: Tom Rini <trini@konsulko.com>
> Cc: u-boot@lists.denx.de
> ---
> NOTE: This should go into master as a bugfix.
> ---
> drivers/usb/dwc3/gadget.c | 19 ++++++++++++++++++-
> 1 file changed, 18 insertions(+), 1 deletion(-)
Good catch. I'll submit this to u-boot-dfu (for master)
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
>
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index e5a383407a2..477ecd02098 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -1631,8 +1631,25 @@ usb_ep *dwc3_gadget_match_ep(struct usb_gadget *gadget,
> return dwc3_find_ep(gadget, "ep1in");
> if (usb_endpoint_is_bulk_out(desc))
> return dwc3_find_ep(gadget, "ep2out");
> - if (usb_endpoint_is_int_in(desc))
> + if (usb_endpoint_is_int_in(desc)) {
> + /*
> + * Special workaround for NXP UUU tool in SPL.
> + *
> + * The tool excepts the interrupt-in endpoint to be ep1in,
> + * otherwise it crashes. This is a result of the previous
> + * hard-coded EP setup in drivers/usb/gadget/epautoconf.c
> + * which did special-case EP allocation for SPL builds,
> + * and which was since converted to this callback, but
> + * without the special-case EP allocation in SPL part.
> + *
> + * This reinstates the SPL part in an isolated manner,
> + * only for NXP iMX SoCs, only for SPL builds, and only
> + * for the ep1in interrupt-in endpoint.
> + */
> + if (IS_ENABLED(CONFIG_MACH_IMX) && IS_ENABLED(CONFIG_XPL_BUILD))
> + return dwc3_find_ep(gadget, "ep1in");
> return dwc3_find_ep(gadget, "ep3in");
> + }
>
> return NULL;
> }
> --
> 2.47.2
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-03-20 9:47 ` Mattijs Korpershoek
@ 2025-03-24 8:03 ` Francesco Dolcini
2025-03-24 8:26 ` Mattijs Korpershoek
0 siblings, 1 reply; 15+ messages in thread
From: Francesco Dolcini @ 2025-03-24 8:03 UTC (permalink / raw)
To: Mattijs Korpershoek
Cc: Marek Vasut, u-boot, Alexander Sverdlin, Felipe Balbi,
Lukasz Majewski, Neil Armstrong, Thinh Nguyen, Tom Rini
Hello Mattijs, Marek
On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
> On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
>
> > The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
> > it crashes. This is a result of the previous hard-coded EP setup in
> > drivers/usb/gadget/epautoconf.c which did special-case EP allocation
> > for SPL builds, and which was since converted to this callback, but
> > without the special-case EP allocation in SPL part.
> >
> > This reinstates the SPL part in an isolated manner, only for NXP iMX
> > SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
UUU can (and in our case is) used also on non-NXP i.MX platforms.
What should we do?
Francesco
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-03-24 8:03 ` Francesco Dolcini
@ 2025-03-24 8:26 ` Mattijs Korpershoek
2025-03-24 12:30 ` Francesco Dolcini
0 siblings, 1 reply; 15+ messages in thread
From: Mattijs Korpershoek @ 2025-03-24 8:26 UTC (permalink / raw)
To: Francesco Dolcini
Cc: Marek Vasut, u-boot, Alexander Sverdlin, Felipe Balbi,
Lukasz Majewski, Neil Armstrong, Thinh Nguyen, Tom Rini
Hi Francesco,
On lun., mars 24, 2025 at 09:03, Francesco Dolcini <francesco@dolcini.it> wrote:
> Hello Mattijs, Marek
>
> On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
>> On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
>>
>> > The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
>> > it crashes. This is a result of the previous hard-coded EP setup in
>> > drivers/usb/gadget/epautoconf.c which did special-case EP allocation
>> > for SPL builds, and which was since converted to this callback, but
>> > without the special-case EP allocation in SPL part.
>> >
>> > This reinstates the SPL part in an isolated manner, only for NXP iMX
>> > SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
>
> UUU can (and in our case is) used also on non-NXP i.MX platforms.
> What should we do?
Do reproduce the problem (UUU tool crashes) on those platforms with
recent U-Boot versions (v2024.10+) ?
>
> Francesco
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-03-19 22:07 [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool Marek Vasut
2025-03-20 9:47 ` Mattijs Korpershoek
@ 2025-03-24 9:20 ` Neil Armstrong
2025-03-24 13:36 ` Mattijs Korpershoek
1 sibling, 1 reply; 15+ messages in thread
From: Neil Armstrong @ 2025-03-24 9:20 UTC (permalink / raw)
To: Marek Vasut, u-boot
Cc: Alexander Sverdlin, Felipe Balbi, Lukasz Majewski,
Mattijs Korpershoek, Thinh Nguyen, Tom Rini
On 19/03/2025 23:07, Marek Vasut wrote:
> The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
> it crashes. This is a result of the previous hard-coded EP setup in
> drivers/usb/gadget/epautoconf.c which did special-case EP allocation
> for SPL builds, and which was since converted to this callback, but
> without the special-case EP allocation in SPL part.
>
> This reinstates the SPL part in an isolated manner, only for NXP iMX
> SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
>
> Fixes: 1918b8010c32 ("usb: dwc3: gadget: Convert epautoconf workaround to match_ep callback")
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
> Cc: Lukasz Majewski <lukma@denx.de>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Mattijs Korpershoek <mkorpershoek@baylibre.com>
> Cc: Neil Armstrong <neil.armstrong@linaro.org>
> Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
> Cc: Tom Rini <trini@konsulko.com>
> Cc: u-boot@lists.denx.de
> ---
> NOTE: This should go into master as a bugfix.
> ---
> drivers/usb/dwc3/gadget.c | 19 ++++++++++++++++++-
> 1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index e5a383407a2..477ecd02098 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -1631,8 +1631,25 @@ usb_ep *dwc3_gadget_match_ep(struct usb_gadget *gadget,
> return dwc3_find_ep(gadget, "ep1in");
> if (usb_endpoint_is_bulk_out(desc))
> return dwc3_find_ep(gadget, "ep2out");
> - if (usb_endpoint_is_int_in(desc))
> + if (usb_endpoint_is_int_in(desc)) {
> + /*
> + * Special workaround for NXP UUU tool in SPL.
> + *
> + * The tool excepts the interrupt-in endpoint to be ep1in,
Small nit: expects
> + * otherwise it crashes. This is a result of the previous
> + * hard-coded EP setup in drivers/usb/gadget/epautoconf.c
> + * which did special-case EP allocation for SPL builds,
> + * and which was since converted to this callback, but
> + * without the special-case EP allocation in SPL part.
> + *
> + * This reinstates the SPL part in an isolated manner,
> + * only for NXP iMX SoCs, only for SPL builds, and only
> + * for the ep1in interrupt-in endpoint.
> + */
> + if (IS_ENABLED(CONFIG_MACH_IMX) && IS_ENABLED(CONFIG_XPL_BUILD))
> + return dwc3_find_ep(gadget, "ep1in");
> return dwc3_find_ep(gadget, "ep3in");
> + }
>
> return NULL;
> }
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-03-24 8:26 ` Mattijs Korpershoek
@ 2025-03-24 12:30 ` Francesco Dolcini
2025-03-24 13:53 ` Marek Vasut
0 siblings, 1 reply; 15+ messages in thread
From: Francesco Dolcini @ 2025-03-24 12:30 UTC (permalink / raw)
To: Mattijs Korpershoek
Cc: Francesco Dolcini, Marek Vasut, u-boot, Alexander Sverdlin,
Felipe Balbi, Lukasz Majewski, Neil Armstrong, Thinh Nguyen,
Tom Rini
On Mon, Mar 24, 2025 at 09:26:03AM +0100, Mattijs Korpershoek wrote:
> Hi Francesco,
>
> On lun., mars 24, 2025 at 09:03, Francesco Dolcini <francesco@dolcini.it> wrote:
>
> > Hello Mattijs, Marek
> >
> > On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
> >> On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
> >>
> >> > The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
> >> > it crashes. This is a result of the previous hard-coded EP setup in
> >> > drivers/usb/gadget/epautoconf.c which did special-case EP allocation
> >> > for SPL builds, and which was since converted to this callback, but
> >> > without the special-case EP allocation in SPL part.
> >> >
> >> > This reinstates the SPL part in an isolated manner, only for NXP iMX
> >> > SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
> >
> > UUU can (and in our case is) used also on non-NXP i.MX platforms.
> > What should we do?
>
> Do reproduce the problem (UUU tool crashes) on those platforms with
> recent U-Boot versions (v2024.10+) ?
Not tested, my comment is purely based on the code and the commit message.
Older U-Boot versions (up to v2024.04, included) are working fine, with UUU used
with TI K3 SoCs (AM69, AM62, AM62P).
Francesco
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-03-24 9:20 ` Neil Armstrong
@ 2025-03-24 13:36 ` Mattijs Korpershoek
0 siblings, 0 replies; 15+ messages in thread
From: Mattijs Korpershoek @ 2025-03-24 13:36 UTC (permalink / raw)
To: neil.armstrong, Marek Vasut, u-boot
Cc: Alexander Sverdlin, Felipe Balbi, Lukasz Majewski, Thinh Nguyen,
Tom Rini
Hi Neil,
On lun., mars 24, 2025 at 10:20, Neil Armstrong <neil.armstrong@linaro.org> wrote:
> On 19/03/2025 23:07, Marek Vasut wrote:
>> The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
>> it crashes. This is a result of the previous hard-coded EP setup in
>> drivers/usb/gadget/epautoconf.c which did special-case EP allocation
>> for SPL builds, and which was since converted to this callback, but
>> without the special-case EP allocation in SPL part.
>>
>> This reinstates the SPL part in an isolated manner, only for NXP iMX
>> SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
>>
>> Fixes: 1918b8010c32 ("usb: dwc3: gadget: Convert epautoconf workaround to match_ep callback")
>> Signed-off-by: Marek Vasut <marex@denx.de>
>> ---
>> Cc: Alexander Sverdlin <alexander.sverdlin@siemens.com>
>> Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
>> Cc: Lukasz Majewski <lukma@denx.de>
>> Cc: Marek Vasut <marex@denx.de>
>> Cc: Mattijs Korpershoek <mkorpershoek@baylibre.com>
>> Cc: Neil Armstrong <neil.armstrong@linaro.org>
>> Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
>> Cc: Tom Rini <trini@konsulko.com>
>> Cc: u-boot@lists.denx.de
>> ---
>> NOTE: This should go into master as a bugfix.
>> ---
>> drivers/usb/dwc3/gadget.c | 19 ++++++++++++++++++-
>> 1 file changed, 18 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
>> index e5a383407a2..477ecd02098 100644
>> --- a/drivers/usb/dwc3/gadget.c
>> +++ b/drivers/usb/dwc3/gadget.c
>> @@ -1631,8 +1631,25 @@ usb_ep *dwc3_gadget_match_ep(struct usb_gadget *gadget,
>> return dwc3_find_ep(gadget, "ep1in");
>> if (usb_endpoint_is_bulk_out(desc))
>> return dwc3_find_ep(gadget, "ep2out");
>> - if (usb_endpoint_is_int_in(desc))
>> + if (usb_endpoint_is_int_in(desc)) {
>> + /*
>> + * Special workaround for NXP UUU tool in SPL.
>> + *
>> + * The tool excepts the interrupt-in endpoint to be ep1in,
>
> Small nit: expects
Argh, I missed this :( The code already landed in master:
https://source.denx.de/u-boot/u-boot/-/commit/0916053ebc566245b06d0a179533f6622b6ad392
If we have to modify this again we can fixup the comment typo at the
same time.
Thanks for catching it!
>
>> + * otherwise it crashes. This is a result of the previous
>> + * hard-coded EP setup in drivers/usb/gadget/epautoconf.c
>> + * which did special-case EP allocation for SPL builds,
>> + * and which was since converted to this callback, but
>> + * without the special-case EP allocation in SPL part.
>> + *
>> + * This reinstates the SPL part in an isolated manner,
>> + * only for NXP iMX SoCs, only for SPL builds, and only
>> + * for the ep1in interrupt-in endpoint.
>> + */
>> + if (IS_ENABLED(CONFIG_MACH_IMX) && IS_ENABLED(CONFIG_XPL_BUILD))
>> + return dwc3_find_ep(gadget, "ep1in");
>> return dwc3_find_ep(gadget, "ep3in");
>> + }
>>
>> return NULL;
>> }
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-03-24 12:30 ` Francesco Dolcini
@ 2025-03-24 13:53 ` Marek Vasut
2025-03-24 14:16 ` Francesco Dolcini
0 siblings, 1 reply; 15+ messages in thread
From: Marek Vasut @ 2025-03-24 13:53 UTC (permalink / raw)
To: Francesco Dolcini, Mattijs Korpershoek
Cc: u-boot, Alexander Sverdlin, Felipe Balbi, Lukasz Majewski,
Neil Armstrong, Thinh Nguyen, Tom Rini
On 3/24/25 1:30 PM, Francesco Dolcini wrote:
> On Mon, Mar 24, 2025 at 09:26:03AM +0100, Mattijs Korpershoek wrote:
>> Hi Francesco,
>>
>> On lun., mars 24, 2025 at 09:03, Francesco Dolcini <francesco@dolcini.it> wrote:
>>
>>> Hello Mattijs, Marek
>>>
>>> On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
>>>> On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
>>>>
>>>>> The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
>>>>> it crashes. This is a result of the previous hard-coded EP setup in
>>>>> drivers/usb/gadget/epautoconf.c which did special-case EP allocation
>>>>> for SPL builds, and which was since converted to this callback, but
>>>>> without the special-case EP allocation in SPL part.
>>>>>
>>>>> This reinstates the SPL part in an isolated manner, only for NXP iMX
>>>>> SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
>>>
>>> UUU can (and in our case is) used also on non-NXP i.MX platforms.
>>> What should we do?
>>
>> Do reproduce the problem (UUU tool crashes) on those platforms with
>> recent U-Boot versions (v2024.10+) ?
>
> Not tested, my comment is purely based on the code and the commit message.
> Older U-Boot versions (up to v2024.04, included) are working fine, with UUU used
> with TI K3 SoCs (AM69, AM62, AM62P).
Are you talking about the NXP UUU ?
https://github.com/NXPmicro/mfgtools.git
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-03-24 13:53 ` Marek Vasut
@ 2025-03-24 14:16 ` Francesco Dolcini
2025-03-24 14:36 ` Marek Vasut
0 siblings, 1 reply; 15+ messages in thread
From: Francesco Dolcini @ 2025-03-24 14:16 UTC (permalink / raw)
To: Marek Vasut
Cc: Francesco Dolcini, Mattijs Korpershoek, u-boot,
Alexander Sverdlin, Felipe Balbi, Lukasz Majewski, Neil Armstrong,
Thinh Nguyen, Tom Rini
On Mon, Mar 24, 2025 at 02:53:23PM +0100, Marek Vasut wrote:
> On 3/24/25 1:30 PM, Francesco Dolcini wrote:
> > On Mon, Mar 24, 2025 at 09:26:03AM +0100, Mattijs Korpershoek wrote:
> > > Hi Francesco,
> > >
> > > On lun., mars 24, 2025 at 09:03, Francesco Dolcini <francesco@dolcini.it> wrote:
> > >
> > > > Hello Mattijs, Marek
> > > >
> > > > On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
> > > > > On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
> > > > >
> > > > > > The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
> > > > > > it crashes. This is a result of the previous hard-coded EP setup in
> > > > > > drivers/usb/gadget/epautoconf.c which did special-case EP allocation
> > > > > > for SPL builds, and which was since converted to this callback, but
> > > > > > without the special-case EP allocation in SPL part.
> > > > > >
> > > > > > This reinstates the SPL part in an isolated manner, only for NXP iMX
> > > > > > SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
> > > >
> > > > UUU can (and in our case is) used also on non-NXP i.MX platforms.
> > > > What should we do?
> > >
> > > Do reproduce the problem (UUU tool crashes) on those platforms with
> > > recent U-Boot versions (v2024.10+) ?
> >
> > Not tested, my comment is purely based on the code and the commit message.
> > Older U-Boot versions (up to v2024.04, included) are working fine, with UUU used
> > with TI K3 SoCs (AM69, AM62, AM62P).
> Are you talking about the NXP UUU ?
yes, it works just fine on not-NXP SoC.
Francesco
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-03-24 14:16 ` Francesco Dolcini
@ 2025-03-24 14:36 ` Marek Vasut
2025-04-08 9:06 ` Francesco Dolcini
0 siblings, 1 reply; 15+ messages in thread
From: Marek Vasut @ 2025-03-24 14:36 UTC (permalink / raw)
To: Francesco Dolcini
Cc: Mattijs Korpershoek, u-boot, Alexander Sverdlin, Felipe Balbi,
Lukasz Majewski, Neil Armstrong, Thinh Nguyen, Tom Rini
On 3/24/25 3:16 PM, Francesco Dolcini wrote:
> On Mon, Mar 24, 2025 at 02:53:23PM +0100, Marek Vasut wrote:
>> On 3/24/25 1:30 PM, Francesco Dolcini wrote:
>>> On Mon, Mar 24, 2025 at 09:26:03AM +0100, Mattijs Korpershoek wrote:
>>>> Hi Francesco,
>>>>
>>>> On lun., mars 24, 2025 at 09:03, Francesco Dolcini <francesco@dolcini.it> wrote:
>>>>
>>>>> Hello Mattijs, Marek
>>>>>
>>>>> On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
>>>>>> On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
>>>>>>
>>>>>>> The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
>>>>>>> it crashes. This is a result of the previous hard-coded EP setup in
>>>>>>> drivers/usb/gadget/epautoconf.c which did special-case EP allocation
>>>>>>> for SPL builds, and which was since converted to this callback, but
>>>>>>> without the special-case EP allocation in SPL part.
>>>>>>>
>>>>>>> This reinstates the SPL part in an isolated manner, only for NXP iMX
>>>>>>> SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
>>>>>
>>>>> UUU can (and in our case is) used also on non-NXP i.MX platforms.
>>>>> What should we do?
>>>>
>>>> Do reproduce the problem (UUU tool crashes) on those platforms with
>>>> recent U-Boot versions (v2024.10+) ?
>>>
>>> Not tested, my comment is purely based on the code and the commit message.
>>> Older U-Boot versions (up to v2024.04, included) are working fine, with UUU used
>>> with TI K3 SoCs (AM69, AM62, AM62P).
>> Are you talking about the NXP UUU ?
>
> yes, it works just fine on not-NXP SoC.
Then please test if it still works, and if not, this patch needs to be
expanded to cover TI ... or apply unconditionally in SPL (sigh).
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-03-24 14:36 ` Marek Vasut
@ 2025-04-08 9:06 ` Francesco Dolcini
2025-04-08 14:51 ` Marek Vasut
0 siblings, 1 reply; 15+ messages in thread
From: Francesco Dolcini @ 2025-04-08 9:06 UTC (permalink / raw)
To: Marek Vasut
Cc: Francesco Dolcini, Mattijs Korpershoek, u-boot,
Alexander Sverdlin, Felipe Balbi, Lukasz Majewski, Neil Armstrong,
Thinh Nguyen, Tom Rini
On Mon, Mar 24, 2025 at 03:36:52PM +0100, Marek Vasut wrote:
> On 3/24/25 3:16 PM, Francesco Dolcini wrote:
> > On Mon, Mar 24, 2025 at 02:53:23PM +0100, Marek Vasut wrote:
> > > On 3/24/25 1:30 PM, Francesco Dolcini wrote:
> > > > On Mon, Mar 24, 2025 at 09:26:03AM +0100, Mattijs Korpershoek wrote:
> > > > > Hi Francesco,
> > > > >
> > > > > On lun., mars 24, 2025 at 09:03, Francesco Dolcini <francesco@dolcini.it> wrote:
> > > > >
> > > > > > Hello Mattijs, Marek
> > > > > >
> > > > > > On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
> > > > > > > On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
> > > > > > >
> > > > > > > > The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
> > > > > > > > it crashes. This is a result of the previous hard-coded EP setup in
> > > > > > > > drivers/usb/gadget/epautoconf.c which did special-case EP allocation
> > > > > > > > for SPL builds, and which was since converted to this callback, but
> > > > > > > > without the special-case EP allocation in SPL part.
> > > > > > > >
> > > > > > > > This reinstates the SPL part in an isolated manner, only for NXP iMX
> > > > > > > > SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
> > > > > >
> > > > > > UUU can (and in our case is) used also on non-NXP i.MX platforms.
> > > > > > What should we do?
> > > > >
> > > > > Do reproduce the problem (UUU tool crashes) on those platforms with
> > > > > recent U-Boot versions (v2024.10+) ?
> > > >
> > > > Not tested, my comment is purely based on the code and the commit message.
> > > > Older U-Boot versions (up to v2024.04, included) are working fine, with UUU used
> > > > with TI K3 SoCs (AM69, AM62, AM62P).
> > > Are you talking about the NXP UUU ?
> >
> > yes, it works just fine on not-NXP SoC.
> Then please test if it still works, and if not, this patch needs to be
> expanded to cover TI ... or apply unconditionally in SPL (sigh).
I just found the time to check some logs from our CI in which we execute such a
workflow. We do use UUU only from U-Boot proper, so we are not going to be
affected by this SPL specific change.
However I found this error in the logs, on both a TI AM62 and an i.MX8MP
```
Starting download of 40524455 bytes
dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
..........................................................................
..........................................................................
..........................................................................
..........................................................................
.............
downloading of 40524455 bytes finished
dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
Starting download of 1675 bytes
dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
downloading of 1675 bytes finished
dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
Starting download of 82 bytes
dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
downloading of 82 bytes finished
dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
```
the download is successful however, despite those error messages. Any idea? Is
this related to this topic?
Francesco
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-04-08 9:06 ` Francesco Dolcini
@ 2025-04-08 14:51 ` Marek Vasut
2025-04-11 14:21 ` Francesco Dolcini
0 siblings, 1 reply; 15+ messages in thread
From: Marek Vasut @ 2025-04-08 14:51 UTC (permalink / raw)
To: Francesco Dolcini
Cc: Mattijs Korpershoek, u-boot, Alexander Sverdlin, Felipe Balbi,
Lukasz Majewski, Neil Armstrong, Thinh Nguyen, Tom Rini
On 4/8/25 11:06 AM, Francesco Dolcini wrote:
> On Mon, Mar 24, 2025 at 03:36:52PM +0100, Marek Vasut wrote:
>> On 3/24/25 3:16 PM, Francesco Dolcini wrote:
>>> On Mon, Mar 24, 2025 at 02:53:23PM +0100, Marek Vasut wrote:
>>>> On 3/24/25 1:30 PM, Francesco Dolcini wrote:
>>>>> On Mon, Mar 24, 2025 at 09:26:03AM +0100, Mattijs Korpershoek wrote:
>>>>>> Hi Francesco,
>>>>>>
>>>>>> On lun., mars 24, 2025 at 09:03, Francesco Dolcini <francesco@dolcini.it> wrote:
>>>>>>
>>>>>>> Hello Mattijs, Marek
>>>>>>>
>>>>>>> On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
>>>>>>>> On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
>>>>>>>>
>>>>>>>>> The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
>>>>>>>>> it crashes. This is a result of the previous hard-coded EP setup in
>>>>>>>>> drivers/usb/gadget/epautoconf.c which did special-case EP allocation
>>>>>>>>> for SPL builds, and which was since converted to this callback, but
>>>>>>>>> without the special-case EP allocation in SPL part.
>>>>>>>>>
>>>>>>>>> This reinstates the SPL part in an isolated manner, only for NXP iMX
>>>>>>>>> SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
>>>>>>>
>>>>>>> UUU can (and in our case is) used also on non-NXP i.MX platforms.
>>>>>>> What should we do?
>>>>>>
>>>>>> Do reproduce the problem (UUU tool crashes) on those platforms with
>>>>>> recent U-Boot versions (v2024.10+) ?
>>>>>
>>>>> Not tested, my comment is purely based on the code and the commit message.
>>>>> Older U-Boot versions (up to v2024.04, included) are working fine, with UUU used
>>>>> with TI K3 SoCs (AM69, AM62, AM62P).
>>>> Are you talking about the NXP UUU ?
>>>
>>> yes, it works just fine on not-NXP SoC.
>> Then please test if it still works, and if not, this patch needs to be
>> expanded to cover TI ... or apply unconditionally in SPL (sigh).
>
> I just found the time to check some logs from our CI in which we execute such a
> workflow. We do use UUU only from U-Boot proper, so we are not going to be
> affected by this SPL specific change.
>
> However I found this error in the logs, on both a TI AM62 and an i.MX8MP
>
> ```
> Starting download of 40524455 bytes
> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> ..........................................................................
> ..........................................................................
> ..........................................................................
> ..........................................................................
> .............
> downloading of 40524455 bytes finished
> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> Starting download of 1675 bytes
> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> downloading of 1675 bytes finished
> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> Starting download of 82 bytes
> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> downloading of 82 bytes finished
> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> ```
>
> the download is successful however, despite those error messages. Any idea? Is
> this related to this topic?
I have a feeling it is the UUU which should be fixed to not depend on
the ep1-in , really.
You could however quickly try and apply the change in this patch not
only to SPL, but to U-Boot on your board as well, and see if those
warnings disappear.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-04-08 14:51 ` Marek Vasut
@ 2025-04-11 14:21 ` Francesco Dolcini
2025-04-13 9:14 ` Marek Vasut
0 siblings, 1 reply; 15+ messages in thread
From: Francesco Dolcini @ 2025-04-11 14:21 UTC (permalink / raw)
To: Marek Vasut
Cc: Francesco Dolcini, Mattijs Korpershoek, u-boot,
Alexander Sverdlin, Felipe Balbi, Lukasz Majewski, Neil Armstrong,
Thinh Nguyen, Tom Rini
On Tue, Apr 08, 2025 at 04:51:22PM +0200, Marek Vasut wrote:
> On 4/8/25 11:06 AM, Francesco Dolcini wrote:
> > On Mon, Mar 24, 2025 at 03:36:52PM +0100, Marek Vasut wrote:
> > > On 3/24/25 3:16 PM, Francesco Dolcini wrote:
> > > > On Mon, Mar 24, 2025 at 02:53:23PM +0100, Marek Vasut wrote:
> > > > > On 3/24/25 1:30 PM, Francesco Dolcini wrote:
> > > > > > On Mon, Mar 24, 2025 at 09:26:03AM +0100, Mattijs Korpershoek wrote:
> > > > > > > Hi Francesco,
> > > > > > >
> > > > > > > On lun., mars 24, 2025 at 09:03, Francesco Dolcini <francesco@dolcini.it> wrote:
> > > > > > >
> > > > > > > > Hello Mattijs, Marek
> > > > > > > >
> > > > > > > > On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
> > > > > > > > > On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
> > > > > > > > >
> > > > > > > > > > The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
> > > > > > > > > > it crashes. This is a result of the previous hard-coded EP setup in
> > > > > > > > > > drivers/usb/gadget/epautoconf.c which did special-case EP allocation
> > > > > > > > > > for SPL builds, and which was since converted to this callback, but
> > > > > > > > > > without the special-case EP allocation in SPL part.
> > > > > > > > > >
> > > > > > > > > > This reinstates the SPL part in an isolated manner, only for NXP iMX
> > > > > > > > > > SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
> > > > > > > >
> > > > > > > > UUU can (and in our case is) used also on non-NXP i.MX platforms.
> > > > > > > > What should we do?
> > > > > > >
> > > > > > > Do reproduce the problem (UUU tool crashes) on those platforms with
> > > > > > > recent U-Boot versions (v2024.10+) ?
> > > > > >
> > > > > > Not tested, my comment is purely based on the code and the commit message.
> > > > > > Older U-Boot versions (up to v2024.04, included) are working fine, with UUU used
> > > > > > with TI K3 SoCs (AM69, AM62, AM62P).
> > > > > Are you talking about the NXP UUU ?
> > > >
> > > > yes, it works just fine on not-NXP SoC.
> > > Then please test if it still works, and if not, this patch needs to be
> > > expanded to cover TI ... or apply unconditionally in SPL (sigh).
> >
> > I just found the time to check some logs from our CI in which we execute such a
> > workflow. We do use UUU only from U-Boot proper, so we are not going to be
> > affected by this SPL specific change.
> >
> > However I found this error in the logs, on both a TI AM62 and an i.MX8MP
> >
> > ```
> > Starting download of 40524455 bytes
> > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > ..........................................................................
> > ..........................................................................
> > ..........................................................................
> > ..........................................................................
> > .............
> > downloading of 40524455 bytes finished
> > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > Starting download of 1675 bytes
> > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > downloading of 1675 bytes finished
> > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > Starting download of 82 bytes
> > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > downloading of 82 bytes finished
> > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > ```
> >
> > the download is successful however, despite those error messages. Any idea? Is
> > this related to this topic?
> I have a feeling it is the UUU which should be fixed to not depend on the
> ep1-in , really.
>
> You could however quickly try and apply the change in this patch not only to
> SPL, but to U-Boot on your board as well, and see if those warnings
> disappear.
So, I did a quick test and the issue is still there.
And looking better at the error now, this is about ep1in-bulk, that is
not affected by this change at all.
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 477ecd020985..55b248505de5 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -1632,23 +1632,7 @@ usb_ep *dwc3_gadget_match_ep(struct usb_gadget *gadget,
if (usb_endpoint_is_bulk_out(desc))
return dwc3_find_ep(gadget, "ep2out");
if (usb_endpoint_is_int_in(desc)) {
- /*
- * Special workaround for NXP UUU tool in SPL.
- *
- * The tool excepts the interrupt-in endpoint to be ep1in,
- * otherwise it crashes. This is a result of the previous
- * hard-coded EP setup in drivers/usb/gadget/epautoconf.c
- * which did special-case EP allocation for SPL builds,
- * and which was since converted to this callback, but
- * without the special-case EP allocation in SPL part.
- *
- * This reinstates the SPL part in an isolated manner,
- * only for NXP iMX SoCs, only for SPL builds, and only
- * for the ep1in interrupt-in endpoint.
- */
- if (IS_ENABLED(CONFIG_MACH_IMX) && IS_ENABLED(CONFIG_XPL_BUILD))
- return dwc3_find_ep(gadget, "ep1in");
- return dwc3_find_ep(gadget, "ep3in");
+ return dwc3_find_ep(gadget, "ep1in");
}
return NULL;
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-04-11 14:21 ` Francesco Dolcini
@ 2025-04-13 9:14 ` Marek Vasut
2025-04-14 8:52 ` Francesco Dolcini
0 siblings, 1 reply; 15+ messages in thread
From: Marek Vasut @ 2025-04-13 9:14 UTC (permalink / raw)
To: Francesco Dolcini
Cc: Mattijs Korpershoek, u-boot, Alexander Sverdlin, Felipe Balbi,
Lukasz Majewski, Neil Armstrong, Thinh Nguyen, Tom Rini
On 4/11/25 4:21 PM, Francesco Dolcini wrote:
> On Tue, Apr 08, 2025 at 04:51:22PM +0200, Marek Vasut wrote:
>> On 4/8/25 11:06 AM, Francesco Dolcini wrote:
>>> On Mon, Mar 24, 2025 at 03:36:52PM +0100, Marek Vasut wrote:
>>>> On 3/24/25 3:16 PM, Francesco Dolcini wrote:
>>>>> On Mon, Mar 24, 2025 at 02:53:23PM +0100, Marek Vasut wrote:
>>>>>> On 3/24/25 1:30 PM, Francesco Dolcini wrote:
>>>>>>> On Mon, Mar 24, 2025 at 09:26:03AM +0100, Mattijs Korpershoek wrote:
>>>>>>>> Hi Francesco,
>>>>>>>>
>>>>>>>> On lun., mars 24, 2025 at 09:03, Francesco Dolcini <francesco@dolcini.it> wrote:
>>>>>>>>
>>>>>>>>> Hello Mattijs, Marek
>>>>>>>>>
>>>>>>>>> On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
>>>>>>>>>> On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
>>>>>>>>>>
>>>>>>>>>>> The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
>>>>>>>>>>> it crashes. This is a result of the previous hard-coded EP setup in
>>>>>>>>>>> drivers/usb/gadget/epautoconf.c which did special-case EP allocation
>>>>>>>>>>> for SPL builds, and which was since converted to this callback, but
>>>>>>>>>>> without the special-case EP allocation in SPL part.
>>>>>>>>>>>
>>>>>>>>>>> This reinstates the SPL part in an isolated manner, only for NXP iMX
>>>>>>>>>>> SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
>>>>>>>>>
>>>>>>>>> UUU can (and in our case is) used also on non-NXP i.MX platforms.
>>>>>>>>> What should we do?
>>>>>>>>
>>>>>>>> Do reproduce the problem (UUU tool crashes) on those platforms with
>>>>>>>> recent U-Boot versions (v2024.10+) ?
>>>>>>>
>>>>>>> Not tested, my comment is purely based on the code and the commit message.
>>>>>>> Older U-Boot versions (up to v2024.04, included) are working fine, with UUU used
>>>>>>> with TI K3 SoCs (AM69, AM62, AM62P).
>>>>>> Are you talking about the NXP UUU ?
>>>>>
>>>>> yes, it works just fine on not-NXP SoC.
>>>> Then please test if it still works, and if not, this patch needs to be
>>>> expanded to cover TI ... or apply unconditionally in SPL (sigh).
>>>
>>> I just found the time to check some logs from our CI in which we execute such a
>>> workflow. We do use UUU only from U-Boot proper, so we are not going to be
>>> affected by this SPL specific change.
>>>
>>> However I found this error in the logs, on both a TI AM62 and an i.MX8MP
>>>
>>> ```
>>> Starting download of 40524455 bytes
>>> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
>>> ..........................................................................
>>> ..........................................................................
>>> ..........................................................................
>>> ..........................................................................
>>> .............
>>> downloading of 40524455 bytes finished
>>> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
>>> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
>>> Starting download of 1675 bytes
>>> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
>>> downloading of 1675 bytes finished
>>> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
>>> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
>>> Starting download of 82 bytes
>>> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
>>> downloading of 82 bytes finished
>>> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
>>> dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
>>> ```
>>>
>>> the download is successful however, despite those error messages. Any idea? Is
>>> this related to this topic?
>> I have a feeling it is the UUU which should be fixed to not depend on the
>> ep1-in , really.
>>
>> You could however quickly try and apply the change in this patch not only to
>> SPL, but to U-Boot on your board as well, and see if those warnings
>> disappear.
>
> So, I did a quick test and the issue is still there.
>
> And looking better at the error now, this is about ep1in-bulk, that is
> not affected by this change at all.
>
>
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index 477ecd020985..55b248505de5 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -1632,23 +1632,7 @@ usb_ep *dwc3_gadget_match_ep(struct usb_gadget *gadget,
> if (usb_endpoint_is_bulk_out(desc))
> return dwc3_find_ep(gadget, "ep2out");
> if (usb_endpoint_is_int_in(desc)) {
> - /*
> - * Special workaround for NXP UUU tool in SPL.
> - *
> - * The tool excepts the interrupt-in endpoint to be ep1in,
> - * otherwise it crashes. This is a result of the previous
> - * hard-coded EP setup in drivers/usb/gadget/epautoconf.c
> - * which did special-case EP allocation for SPL builds,
> - * and which was since converted to this callback, but
> - * without the special-case EP allocation in SPL part.
> - *
> - * This reinstates the SPL part in an isolated manner,
> - * only for NXP iMX SoCs, only for SPL builds, and only
> - * for the ep1in interrupt-in endpoint.
> - */
> - if (IS_ENABLED(CONFIG_MACH_IMX) && IS_ENABLED(CONFIG_XPL_BUILD))
> - return dwc3_find_ep(gadget, "ep1in");
> - return dwc3_find_ep(gadget, "ep3in");
> + return dwc3_find_ep(gadget, "ep1in");
> }
This should really be fixed in the UUU tool, not worked around in
U-Boot. Can you try and see if the UUU tool can be fixed and not
hard-code ep1 ?
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool
2025-04-13 9:14 ` Marek Vasut
@ 2025-04-14 8:52 ` Francesco Dolcini
0 siblings, 0 replies; 15+ messages in thread
From: Francesco Dolcini @ 2025-04-14 8:52 UTC (permalink / raw)
To: Marek Vasut
Cc: Francesco Dolcini, Mattijs Korpershoek, u-boot,
Alexander Sverdlin, Lukasz Majewski, Neil Armstrong, Thinh Nguyen,
Tom Rini
On Sun, Apr 13, 2025 at 11:14:07AM +0200, Marek Vasut wrote:
> On 4/11/25 4:21 PM, Francesco Dolcini wrote:
> > On Tue, Apr 08, 2025 at 04:51:22PM +0200, Marek Vasut wrote:
> > > On 4/8/25 11:06 AM, Francesco Dolcini wrote:
> > > > On Mon, Mar 24, 2025 at 03:36:52PM +0100, Marek Vasut wrote:
> > > > > On 3/24/25 3:16 PM, Francesco Dolcini wrote:
> > > > > > On Mon, Mar 24, 2025 at 02:53:23PM +0100, Marek Vasut wrote:
> > > > > > > On 3/24/25 1:30 PM, Francesco Dolcini wrote:
> > > > > > > > On Mon, Mar 24, 2025 at 09:26:03AM +0100, Mattijs Korpershoek wrote:
> > > > > > > > > Hi Francesco,
> > > > > > > > >
> > > > > > > > > On lun., mars 24, 2025 at 09:03, Francesco Dolcini <francesco@dolcini.it> wrote:
> > > > > > > > >
> > > > > > > > > > Hello Mattijs, Marek
> > > > > > > > > >
> > > > > > > > > > On Thu, Mar 20, 2025 at 10:47:02AM +0100, Mattijs Korpershoek wrote:
> > > > > > > > > > > On mer., mars 19, 2025 at 23:07, Marek Vasut <marex@denx.de> wrote:
> > > > > > > > > > >
> > > > > > > > > > > > The UUU tool excepts the interrupt-in endpoint to be ep1in, otherwise
> > > > > > > > > > > > it crashes. This is a result of the previous hard-coded EP setup in
> > > > > > > > > > > > drivers/usb/gadget/epautoconf.c which did special-case EP allocation
> > > > > > > > > > > > for SPL builds, and which was since converted to this callback, but
> > > > > > > > > > > > without the special-case EP allocation in SPL part.
> > > > > > > > > > > >
> > > > > > > > > > > > This reinstates the SPL part in an isolated manner, only for NXP iMX
> > > > > > > > > > > > SoCs, only for SPL builds, and only for the ep1in interrupt-in endpoint.
> > > > > > > > > >
> > > > > > > > > > UUU can (and in our case is) used also on non-NXP i.MX platforms.
> > > > > > > > > > What should we do?
> > > > > > > > >
> > > > > > > > > Do reproduce the problem (UUU tool crashes) on those platforms with
> > > > > > > > > recent U-Boot versions (v2024.10+) ?
> > > > > > > >
> > > > > > > > Not tested, my comment is purely based on the code and the commit message.
> > > > > > > > Older U-Boot versions (up to v2024.04, included) are working fine, with UUU used
> > > > > > > > with TI K3 SoCs (AM69, AM62, AM62P).
> > > > > > > Are you talking about the NXP UUU ?
> > > > > >
> > > > > > yes, it works just fine on not-NXP SoC.
> > > > > Then please test if it still works, and if not, this patch needs to be
> > > > > expanded to cover TI ... or apply unconditionally in SPL (sigh).
> > > >
> > > > I just found the time to check some logs from our CI in which we execute such a
> > > > workflow. We do use UUU only from U-Boot proper, so we are not going to be
> > > > affected by this SPL specific change.
> > > >
> > > > However I found this error in the logs, on both a TI AM62 and an i.MX8MP
> > > >
> > > > ```
> > > > Starting download of 40524455 bytes
> > > > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > > > ..........................................................................
> > > > ..........................................................................
> > > > ..........................................................................
> > > > ..........................................................................
> > > > .............
> > > > downloading of 40524455 bytes finished
> > > > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > > > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > > > Starting download of 1675 bytes
> > > > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > > > downloading of 1675 bytes finished
> > > > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > > > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > > > Starting download of 82 bytes
> > > > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > > > downloading of 82 bytes finished
> > > > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > > > dwc3-generic-peripheral usb@31000000: request 0000000099f219c0 was not queued to ep1in-bulk
> > > > ```
> > > >
> > > > the download is successful however, despite those error messages. Any idea? Is
> > > > this related to this topic?
> > > I have a feeling it is the UUU which should be fixed to not depend on the
> > > ep1-in , really.
> > >
> > > You could however quickly try and apply the change in this patch not only to
> > > SPL, but to U-Boot on your board as well, and see if those warnings
> > > disappear.
> >
> > So, I did a quick test and the issue is still there.
> >
> > And looking better at the error now, this is about ep1in-bulk, that is
> > not affected by this change at all.
> >
> >
> > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> > index 477ecd020985..55b248505de5 100644
> > --- a/drivers/usb/dwc3/gadget.c
> > +++ b/drivers/usb/dwc3/gadget.c
> > @@ -1632,23 +1632,7 @@ usb_ep *dwc3_gadget_match_ep(struct usb_gadget *gadget,
> > if (usb_endpoint_is_bulk_out(desc))
> > return dwc3_find_ep(gadget, "ep2out");
> > if (usb_endpoint_is_int_in(desc)) {
> > - /*
> > - * Special workaround for NXP UUU tool in SPL.
> > - *
> > - * The tool excepts the interrupt-in endpoint to be ep1in,
> > - * otherwise it crashes. This is a result of the previous
> > - * hard-coded EP setup in drivers/usb/gadget/epautoconf.c
> > - * which did special-case EP allocation for SPL builds,
> > - * and which was since converted to this callback, but
> > - * without the special-case EP allocation in SPL part.
> > - *
> > - * This reinstates the SPL part in an isolated manner,
> > - * only for NXP iMX SoCs, only for SPL builds, and only
> > - * for the ep1in interrupt-in endpoint.
> > - */
> > - if (IS_ENABLED(CONFIG_MACH_IMX) && IS_ENABLED(CONFIG_XPL_BUILD))
> > - return dwc3_find_ep(gadget, "ep1in");
> > - return dwc3_find_ep(gadget, "ep3in");
> > + return dwc3_find_ep(gadget, "ep1in");
> > }
> This should really be fixed in the UUU tool, not worked around in U-Boot.
> Can you try and see if the UUU tool can be fixed and not hard-code ep1 ?
I do not have time to look into that at the moment, I created an issue
https://github.com/nxp-imx/mfgtools/issues/472, hopefully NXP will have a look.
Francesco
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-04-14 8:52 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-19 22:07 [PATCH] usb: dwc3: gadget: Fix match_ep callback for NXP UUU tool Marek Vasut
2025-03-20 9:47 ` Mattijs Korpershoek
2025-03-24 8:03 ` Francesco Dolcini
2025-03-24 8:26 ` Mattijs Korpershoek
2025-03-24 12:30 ` Francesco Dolcini
2025-03-24 13:53 ` Marek Vasut
2025-03-24 14:16 ` Francesco Dolcini
2025-03-24 14:36 ` Marek Vasut
2025-04-08 9:06 ` Francesco Dolcini
2025-04-08 14:51 ` Marek Vasut
2025-04-11 14:21 ` Francesco Dolcini
2025-04-13 9:14 ` Marek Vasut
2025-04-14 8:52 ` Francesco Dolcini
2025-03-24 9:20 ` Neil Armstrong
2025-03-24 13:36 ` Mattijs Korpershoek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox