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.
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.