[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