Hi Chris, Thank you for the patch and sorry for the review delay. I was on vacation and a bit swamped when coming back.
On Tue, Dec 23, 2025 at 17:13, Chris Morgan <[email protected]> wrote: > From: Chris Morgan <[email protected]> > > DCTL.ULSTCHNGREQ is a write-only field. When doing a read-modify-write > to DCTL, the driver must make sure that there's no unintended link state > change request from whatever is read from DCTL.ULSTCHNGREQ. Set link > state change to no-action when the driver writes to DCTL. > > Note that this patch was submitted upstream in Linux in 2020 [1], > and I've confirmed I need it in U-Boot to enable gadget mode. > > [1] > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/drivers/usb/dwc3?id=5b738211fb59e114727381d07c647a77c0010996 > > Signed-off-by: Thinh Nguyen <[email protected]> > Signed-off-by: Chris Morgan <[email protected]> > --- > drivers/usb/dwc3/gadget.c | 20 +++++++++----------- > drivers/usb/dwc3/gadget.h | 14 ++++++++++++++ > 2 files changed, 23 insertions(+), 11 deletions(-) > > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c > index 2b01113d54c..24ae0c232f6 100644 > --- a/drivers/usb/dwc3/gadget.c > +++ b/drivers/usb/dwc3/gadget.c > @@ -62,7 +62,7 @@ int dwc3_gadget_set_test_mode(struct dwc3 *dwc, int mode) > return -EINVAL; > } > > - dwc3_writel(dwc->regs, DWC3_DCTL, reg); > + dwc3_gadget_dctl_write_safe(dwc, reg); > > return 0; > } > @@ -1396,7 +1396,7 @@ static int dwc3_gadget_set_selfpowered(struct > usb_gadget *g, > static int dwc3_gadget_run_stop(struct dwc3 *dwc, int is_on, int suspend) > { > u32 reg; > - u32 timeout = 500; > + u32 timeout = 2000; This change (timeout increase) is not part of patch you linked in [1] Can you either drop this or move this to a separate patch, explaining why it's needed? >

