[PATCH 0/3] implement workaround for ERR051725
Xu Yang
xu.yang_2 at nxp.com
Tue Jun 17 23:06:06 PDT 2025
On Tue, Jun 17, 2025 at 04:19:45PM +0800, Peter Chen (CIX) wrote:
> 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?
Only SNPS USB PHY combined with ChipIdea USB controller has such issue,
such as imx7d/8mm/93/95, if it's NXP USB PHY then no such issue, such
as imx7ulp/8ulp.
Therefore, patch #3 add ".pullup = usbmisc_imx7d_pullup" for imx7d and
imx95.
Thanks,
Xu Yang
>
> 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