[PATCH] dwc3: Fix fastboot re-run failure with flat DTS
Mattijs Korpershoek
mkorpershoek at kernel.org
Mon Jun 8 09:15:13 CEST 2026
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?
More information about the U-Boot
mailing list