chipidea: usbmisc_imx: i.MX93 support

Xu Yang xu.yang_2 at oss.nxp.com
Wed Jun 24 20:07:26 PDT 2026


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?

> 
> 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?

Thanks,
Xu Yang



More information about the linux-arm-kernel mailing list