Hi Bin,
I've been having the same behavior on the Amlogic S905X SoC with a DWC3 XHCI
controller
connected to 2 HS-only PHYs and no SS PHY.
When a device is connected on the second PHY, I have the same BUG(),
but no more when a device is also connected on the first PHY, and no issues
at all on the first PHY.
XHCI timeout on event type 33... cannot recover.
What kind of debug output would you need to debug this ?
=> When Port 1 is disconnected, but Port 2 is populated:
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x2 length
0x0
clear port connect change, actual port 2 status = 0x6e1
...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x2 length 0x0
...
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
SPEED = FULLSPEED
...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x2 length 0x0
...
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
SPEED = FULLSPEED
...
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x2 length
0x0
clear port reset change, actual port 2 status = 0x603
=> When Port 1 is populated:
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x2 length
0x0
clear port connect change, actual port 2 status = 0x6e1
...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x2 length 0x0
...
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
SPEED = FULLSPEED
...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x2 length 0x0
...
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
SPEED = HIGHSPEED
...
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x2 length
0x0
clear port reset change, actual port 2 status = 0xe03
When Port 1 is populated, Port 2 status correctly switches to HIGHSPEED,
but why ?