[PATCH] dwc3: Fix fastboot re-run failure with flat DTS

Balaji Selvanathan balaji.selvanathan at oss.qualcomm.com
Mon Jun 8 11:07:46 CEST 2026


Hi Mattijs,

On 6/8/2026 12:45 PM, Mattijs Korpershoek wrote:
> Hi,
>
> On Sat, May 30, 2026 at 12:02, Marek Vasut <marek.vasut at mailbox.org> wrote:
>
>> On 5/29/26 2:22 PM, Balaji Selvanathan wrote:
>>> Problem: The first "run fastboot" works and enumerates on the host.
>>> Subsequent runs fail, with no USB enumeration observed.
>>>
>>> With flat DTS configurations, the peripheral device inherits
>>> power-domains from its parent (glue) node, as both reference the
>>> same DT node. During teardown after "fastboot continue",
>>> device_remove() of peripheral device invokes dev_power_domain_off(),
>>> which powers off the shared USB GDSC.
>>>
>>> As a result, the next "run fastboot" fails because the power
>>> domain is left in an uninitialized state.
>>>
>>> Add DM_FLAG_LEAVE_PD_ON to dwc3_generic_peripheral to prevent
>>> power domain shutdown during peripheral removal.
>> It seems the driver does not handle its power domains correctly,
>> inhibiting PD control is not a fix, sorry.
> I agree with Marek here. Especially since this is a generic driver.
>
> I had a somewhat similar problem on amlogic devices where I could only
> run fastboot once.
>
> I've solved this via
> https://lore.kernel.org/all/20221024-meson-dm-usb-v1-1-2ab077a503b9@baylibre.com/
>
> Maybe you can explore something similar instead?

Thanks, will look into this patch.

Regards,

Balaji



More information about the U-Boot mailing list