Verdin-imx8mp USB Type-C Not detect in U-Boot

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 = <&reg_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 */
&reg_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