[PATCH 0/3] implement workaround for ERR051725

Peter Chen (CIX) peter.chen at kernel.org
Tue Jun 17 01:19:45 PDT 2025


On 25-06-14 20:56:42, Xu Yang wrote:
> Currently, the USB2.0 phy on some imx7d compliant Soc has below issue.
> 
> ERR051725:
> USB: With the USB controller configured as device mode, Clearing the RS
> bit of USBCMD register fails to cause USB device to be detached
> 
> Description
> 1. USB controller working as high speed device mode with USB gadget
>    function enabled
> 2. Cable plugged into USB host
> 3. Use case is software-controlled detach from USB device side
> 
> The expected result is device side terminations removed, increase in USB
> signal amplitude, USB host detect device is detached. But the issue is
> that the clear RS bit of USBCMD register cannot cause device detach event.
> 
> Workaround
>   - Use the below steps to detach from the host:
>       write USBCMD.RS = 0b
>       write CTRL2[7:6] = 01b
>       write CTRL2[8] = 1b
>   - As CTRL2[8] is set at detach case, so attach the steps should add clear
>     CTRL2[8]:
>       write USBCMD.RS = 1b
>       write CTRL2[8] = 0b
> 
> This will add workaround for it.

Is it imx7d specific PHY issue, since other i.mx SoCs which use chipidea
IP don't have such issue?

Peter
> 
> Xu Yang (3):
>   usb: chipidea: udc: add CI_HDRC_CONTROLLER_PULLUP_EVENT event
>   usb: chipidea: imx: add imx_usbmisc_pullup() hook
>   usb: chipidea: imx: implement workaround for ERR051725
> 
>  drivers/usb/chipidea/ci_hdrc_imx.c |  5 ++++
>  drivers/usb/chipidea/ci_hdrc_imx.h |  1 +
>  drivers/usb/chipidea/udc.c         |  5 ++++
>  drivers/usb/chipidea/usbmisc_imx.c | 39 ++++++++++++++++++++++++++++++
>  include/linux/usb/chipidea.h       |  1 +
>  5 files changed, 51 insertions(+)
> 
> -- 
> 2.34.1
> 

-- 

Best regards,
Peter



More information about the linux-arm-kernel mailing list