Hello @sahil.tx @ToradexAI
I am facing an issue with USB Type-C detection in U-Boot. The problem is described below.
When I connect the USB Type-C drive in Orientation A, it is detected successfully and works as expected. However, when I flip the same USB drive and connect it in Orientation B, the behavior is inconsistent. Sometimes the USB device is detected, while other times it is not.
Please find the U-Boot log below for your reference:
Verdin iMX8MP # usb start starting USB… Bus usb@38100000: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 scanning bus usb@38100000 for devices… 2 USB Device(s) found scanning usb for storage devices… 1 Storage Device(s) found Verdin iMX8MP # usb stop stopping USB.. Verdin iMX8MP # usb start starting USB… Bus usb@38100000: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 scanning bus usb@38100000 for devices… XHCI timeout on event type 33… USB device not accepting new address (error=80000000) 1 USB Device(s) found scanning usb for storage devices… 0 Storage Device(s) found Verdin iMX8MP # usb reset resetting USB… Bus usb@38100000: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 scanning bus usb@38100000 for devices… 2 USB Device(s) found scanning usb for storage devices… 1 Storage Device(s) found Verdin iMX8MP # usb reset resetting USB… Bus usb@38100000: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 scanning bus usb@38100000 for devices… XHCI timeout on event type 33… USB device not accepting new address (error=80000000) 1 USB Device(s) found scanning usb for storage devices… 0 Storage Device(s) found Verdin iMX8MP #
Here is my updated and latest device Tree for U-Boot to detect USB-C Type in U-Boot:
/* Force USB_1 controller into standard Host Mode for U-Boot */
&usb_dwc3_0 {
status = "okay";
dr_mode = "host";
maximum-speed = "high-speed";
vbus-supply = <®_usb1_vbus>;
/delete-property/ usb-role-switch;
/delete-property/ role-switch-default-mode;
/delete-node/ connector;
};
/* Ensure the VBUS regulator and its underlying GPIO load cleanly during boot */
®_usb1_vbus {
bootph-pre-ram; /* Matches the updated U-Boot memory allocation property */
regulator-boot-on;
regulator-always-on;
/* Adds a 200ms stabilization delay after power-up before scanning */
startup-delay-us = <250000>;
status = "okay";
};
&usb3_phy0 {
status = "okay";
};
&usb3_0 {
status = "okay";
};
/* Unused USB_2 */
&usb_dwc3_1 {
status = "disabled";
};
&usb3_phy1 {
status = "disabled";
};
&usb3_1 {
status = "disabled";
};
I am getting this problem only in U-boot and in Linux it working both side A/B. I want to same work in U-boot because we are trying to Boot from USB to upgrade the Tezi image.
@rudhi.tx I also checked your reply on this thread USB device not accepting new address (error=80000000) in uboot - #8 by vix
Is this open issue in BSP 7.4.0? Can you please confirm?
Could you please review the above log and U-Boot device tree and provide your suggestion and guidance how to resolve this issue?
Thanks,
Vishal Borle