chipidea: usbmisc_imx: i.MX93 support

Xu Yang xu.yang_2 at oss.nxp.com
Thu Jun 25 19:39:21 PDT 2026


On Thu, Jun 25, 2026 at 05:22:20PM +0200, Stefan Wahren wrote:
> Am 25.06.26 um 05:07 schrieb Xu Yang:
> > On Wed, Jun 24, 2026 at 12:05:00PM +0200, Stefan Wahren wrote:
> > > Hi Xu,
> > > 
> > > Am 24.06.26 um 11:11 schrieb Xu Yang:
> > > > On Wed, Jun 24, 2026 at 08:30:00AM +0200, Stefan Wahren wrote:
> > > > What's your issue on i.MX93?
> > > we have an i.MX93 board using both USB interfaces:
> > > 
> > > USB1:
> > > - external available via USB-C connector
> > > - OTG interface should be able to switch between host and peripheral
> > > - as USB-C interface control we use the TI TUSB321AI [1] (while its DIR,
> > > OUT1, OUT2, CURRENT_MODE, PORT is unconnected or tied to GND)
> > > 
> > >   USB2:
> > > - used as internal host interface
> > > 
> > >   We have the problem that 5 seconds after disconnecting a USB device from
> > > USB-C (USB1) interface, the USB driver complains that the VBUS is still to
> > > high:
> > > 
> > > [  144.078347] usb 2-1: USB disconnect, device number 2
> > > [  144.083425] ci_hdrc ci_hdrc.0: remove, state 1
> > > [  144.083521] usb 2-1.1: USB disconnect, device number 3
> > > [  144.090310] usb usb2: USB disconnect, device number 1
> > > [  144.139325] usb 2-1.5: USB disconnect, device number 4
> > > [  144.158700] ci_hdrc ci_hdrc.0: USB bus 2 deregistered
> > > [  149.190274] ci_hdrc ci_hdrc.0: timeout waiting for 00000800 in OTGSC
> > > [  149.196741] usbmisc_imx 4c100200.usbmisc: vbus is error
> > > [  149.202078] usbmisc_imx 4c100200.usbmisc: Error occurs during detection:
> > > -22
> > Does the VBUS be turned off after switching to device mode? If yes, how long
> > will the voltage of VBUS drop to 0.8V?
> The regulator turns off the VBUS indirectly, but the voltage is above 2 V.
> AFAIU the discharge resistor is missing.

Yes, then the 2V voltage is the issue.

> > 
> > > But except of this, both roles works as expected.
> > > 
> > > Here are the relevant device tree parts:
> > > 
> > >                  reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
> > >                                 pinctrl-names = "default";
> > >                                 pinctrl-0 = <&pinctrl_usbotg1grp>;
> > >                                 compatible = "regulator-fixed";
> > >                                 regulator-name = "usb_otg1_vbus";
> > >                                 regulator-min-microvolt = <5000000>;
> > >                                 regulator-max-microvolt = <5000000>;
> > >                                 gpio = <&gpio4 13 GPIO_ACTIVE_HIGH>;
> > >                                 enable-active-high;
> > >                                 regulator-boot-on;
> > >                  };
> > > 
> > >                  &usbotg1 {
> > >                                 vbus-supply = <&reg_usb_otg1_vbus>;
> > >                                 over-current-active-low;
> > >                                 status = "okay";
> > >                  };
> > Does USB2 use the same VBUS regulator?
> No, USB2 has its own VBUS regulator. So the usbotg1 node looks good?

Yes, it's fine here.

Thanks,
Xu Yang



More information about the linux-arm-kernel mailing list