usb: cdns3: Add PHY mode switch to usb2 PHY
Subsystems (3)
PATCH 1/1 usb: cdns3: Add PHY mode switch to usb2 PHY
cdns3 just set PHY mode switch for USB3.0 PHY. If USB 2.0 PHY contains PHY mode switch setting, USB 2.0 PHY mode function can't be called. So add PHY mode switch function for USB 2.0 PHY.
Signed-off-by Minda Chen <[email protected]>
--- drivers/usb/cdns3/drd.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/usb/cdns3/drd.c +4 -0
@@ -196,6 +196,7 @@ int cdns_drd_host_on(struct cdns *cdns)if (ret)dev_err (cdns->dev,"timeout waiting for xhci_ready\n" ); +phy_set_mode (cdns->usb2_phy,PHY_MODE_USB_HOST );phy_set_mode (cdns->usb3_phy,PHY_MODE_USB_HOST );return ret; }
@@ -216,6 +217,7 @@ void cdns_drd_host_off(struct cdns *cdns)readl_poll_timeout_atomic (&cdns->otg_regs->state, val, !(val &OTGSTATE_HOST_STATE_MASK ),1 ,2000000 ); +phy_set_mode (cdns->usb2_phy,PHY_MODE_INVALID );phy_set_mode (cdns->usb3_phy,PHY_MODE_INVALID ); }
@@ -248,6 +250,7 @@ int cdns_drd_gadget_on(struct cdns *cdns)return ret; } +phy_set_mode (cdns->usb2_phy,PHY_MODE_USB_DEVICE );phy_set_mode (cdns->usb3_phy,PHY_MODE_USB_DEVICE );return 0 ; }
@@ -273,6 +276,7 @@ void cdns_drd_gadget_off(struct cdns *cdns)readl_poll_timeout_atomic (&cdns->otg_regs->state, val, !(val &OTGSTATE_DEV_STATE_MASK ),1 ,2000000 ); +phy_set_mode (cdns->usb2_phy,PHY_MODE_INVALID );phy_set_mode (cdns->usb3_phy,PHY_MODE_INVALID ); }EXPORT_SYMBOL_GPL (cdns_drd_gadget_off);
Signature · 1 line
2.17.1
Quoted 6 lines · Minda Chen
cdns3 just set PHY mode switch for USB3.0 PHY. If USB 2.0 PHY contains PHY mode switch setting, USB 2.0 PHY mode function can't be called. So add PHY mode switch function for USB 2.0 PHY.
Signed-off-by Minda Chen <[email protected]>
Reviewed-by Roger Quadros <[email protected]>