Hi Mattijs,
On 6/8/2026 12:45 PM, Mattijs Korpershoek wrote:
Hi,
On Sat, May 30, 2026 at 12:02, Marek Vasut <[email protected]> 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/[email protected]/
Maybe you can explore something similar instead?
Thanks, will look into this patch.
Regards,
Balaji