Hi,
we ran into this issue on a ls1021a based custom board. Design is very similar to the
TWR board. But without the USB 3.0 hub.
During boot the linux kernel reports an over-current condition and port power is then disabled. So no USB devices are detected:
[ 3028.127516] hub 1-0:1.0: USB hub found
[ 3028.129991] hub 1-0:1.0: 1 port detected
[ 3028.143710] hub 2-0:1.0: USB hub found
[ 3028.146156] hub 2-0:1.0: 1 port detected
[ 3028.449817] hub 1-0:1.0: over-current condition on port 1
[ 3028.669099] hub 2-0:1.0: over-current condition on port 1
The kernel comes from the SDK 1.9 with only minor changes in its configuration.
The SDHC field in the RCW is set to 3 (for DRVVBUS/PWRFAULT). Our USB power switch is connected to these pins. DRVVBUS is low and PWRFAULT is high. That's the problem.
We changed the RCW[SHDC] to 1 so that the DRVVBUS can be controlled as GPIO. As GPIO we could enable DRVVBUS, the 5V were switched on and finally USB devices were detected.
So where does this over-current condition comes from? What might cause this strange problem?
USB does also not work in u-boot. But it does on the TWR board.
Matthias
解決済! 解決策の投稿を見る。
The LS1021A PWRFAULT is an active high signal.
Please doublecheck the design to ensure that the signal polarity of the USB power switch is also active high. If not - external inverter has to be used.
My stock ls1043ardb reports the same over-current error on boot with no configuration changes and no usb devices connected.
Please provide a log with the RDB booting and the PWRFAULT testing.
The LS1021A PWRFAULT is an active high signal.
Please doublecheck the design to ensure that the signal polarity of the USB power switch is also active high. If not - external inverter has to be used.