chipidea: usbmisc_imx: i.MX93 support
Stefan Wahren
wahrenst at gmx.net
Thu Jun 25 08:22:20 PDT 2026
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.
>
>> 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";
>> };
> Does USB2 use the same VBUS regulator?
No, USB2 has its own VBUS regulator. So the usbotg1 node looks good?
Thanks
>
> Thanks,
> Xu Yang
More information about the linux-arm-kernel
mailing list