NXP iMX8MP: recover from USB over-current condition

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NXP iMX8MP: recover from USB over-current condition

165 Views
pierluigi_p
Contributor V

Dear NXP support,

is there any known SW way to recover from USB over-current condition ?

Trying the following suggestions does not help

https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line

Thanks

Best Regards

Pier

Labels (2)
Tags (2)
0 Kudos
Reply
5 Replies

75 Views
Shay1
Contributor I

thank you
Where can I find the memory map to locate the memory addresses for these registers? Thank you

0 Kudos
Reply

59 Views
JorgeCas
NXP TechSupport
NXP TechSupport

Hello,

You can find that information on reference manual.

Best regards.

0 Kudos
Reply

141 Views
JorgeCas
NXP TechSupport
NXP TechSupport

Hello,

To reset any USB device/module, one can refer to section 4.9.8 How to Close the USB Child Device Power from Linux reference manual.

echo auto > /sys/bus/usb/devices/1-1/power/control //close the power

echo on > /sys/bus/usb/devices/1-1/power/control //re-enable the device

Best regards.

0 Kudos
Reply

115 Views
Shay1
Contributor I

Hi, Thank you for your response.

 

The problem is that once the usb is "dead", this command no longer works.

(file not found).

 

The only thing that helps at that point is to use the reboot command.

 

Thanks

0 Kudos
Reply

101 Views
JorgeCas
NXP TechSupport
NXP TechSupport

Hello,

Maybe could be helpful control the device using the "Global USB2 PHY Configuration Register (GUSB2PHYCFG)" by setting and resetting bit 31[PHYSOFTRST] or use USB Command Register (USBCMD) bit7[LHCRST].

The next 2 registers bits are able to put USB in reset mode.

- Global USB 3.0 PIPE Control Register (GUSB3PIPECTL) bit31[PHYSoftRst].

- Global Core Control Register (GCTL) bit11[CORESOFTRESET] .

Also, there is a PHY control register in the section "11.2.5.2 USB3_GLUE register descriptions". You can use "PHY Controller 1 (PHY_CTRL1)" register bit0 [PHY_RESET].

It is not recommended to change this bitfields "manually", since these bits are all interdependent and changing any of the bits we can expect a change in other bits depending on that.

It is prefer to take a reference of the predefined sequence that should be followed to reset or power the USB. Please refer to "Table 11-3. Power-On or Soft Reset Register Initialization" of reference manual for that sequence.

Best regards.

0 Kudos
Reply