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.

Reply via email to