Hi
I am working on our custom board based on LS1046A Processor.
The kernel log has "usb usb3-port1: over-current condition" and "usb usb4-port1: over-current condition" . We are not using USB in our card and USB_PWRFAULT pin is connected to ground and USB_DRVVBUS is left floating.
We even tried modifying this register "SCFG_USBPWRFAULT_SELCR " with both 0x00000000 and 0x00000015(little-endian) But there is no change.
USB2_PWRFAULT, USB3_PWRFAULT, USB2_DRVVBUS and USB3_DRVVBUS is used as GPIOs.
解決済! 解決策の投稿を見る。
Default configuration in u-boot for the SCFG_USBPWRFAULT_SELCR register is 0x2900_0000 (big-endian).
It means that USB1, USB2 and USB3 controllers receive PWRFAULT from dedicated USBx_PWRFAULT I/O.
The USB3_PWRFAULT signal is not used and this pin is assigned to TDMB_RQ. See the LS1043ARDB schematic.
Use the following command in u-boot:
mw 0x1570414 0x09000000
This command sets 0b00 for USB3:
00 - USB controller 3 has its PWRFAULT input tied inactive (no fault)
Default configuration in u-boot for the SCFG_USBPWRFAULT_SELCR register is 0x2900_0000 (big-endian).
It means that USB1, USB2 and USB3 controllers receive PWRFAULT from dedicated USBx_PWRFAULT I/O.
The USB3_PWRFAULT signal is not used and this pin is assigned to TDMB_RQ. See the LS1043ARDB schematic.
Use the following command in u-boot:
mw 0x1570414 0x09000000
This command sets 0b00 for USB3:
00 - USB controller 3 has its PWRFAULT input tied inactive (no fault)