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?

>  

Reply via email to