Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
phy: rockchip-inno-usb3: workaround for USB3 PHY disconnection det issue
The rk322xh USB3 PHY has a problem to detect disconnection, it loses the ability to detect an absence of a far-end receiver termination specified in USB3 spec Table 6-21, and this causes the linkstate to change between SS.Inactive and Polling state, but not return to correct state Rx.detect. To workaround this bug, we depends on the hub_event to detect the port linkstate change and do soft disconnect. And then do USB3 PHY reset and reinit HCD to recovery the whole USB3. The workaround process is: Plug out USB3 device -> hub_event detect PLC and find USB 3.0 port in the Inactive -> call usb_remove_device() to do soft disconnect -> call usb_phy_notify_connect() -> send notifier to DWC3 controller driver to do USB3 PHY reset and reinit HCD. Change-Id: Icb975581c6fbbb34a7da90ddca47e04a46e5da48 Signed-off-by: William Wu <[email protected]>
- Loading branch information