chipidea: usbmisc_imx: i.MX93 support
Stefan Wahren
wahrenst at gmx.net
Wed Jun 24 03:05:00 PDT 2026
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
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 = <®_usb_otg1_vbus>;
over-current-active-low;
status = "okay";
};
Thanks
Stefan
[1] - https://www.ti.com/lit/ds/symlink/tusb321ai.pdf
>
> Thanks,
> Xu Yang
More information about the linux-arm-kernel
mailing list