|
@@ -1894,30 +1894,30 @@ static void dwc3_gadget_disconnect_interrupt(struct dwc3 *dwc)
|
|
|
dwc->setup_packet_pending = false;
|
|
|
}
|
|
|
|
|
|
-static void dwc3_gadget_usb3_phy_power(struct dwc3 *dwc, int on)
|
|
|
+static void dwc3_gadget_usb3_phy_suspend(struct dwc3 *dwc, int suspend)
|
|
|
{
|
|
|
u32 reg;
|
|
|
|
|
|
reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0));
|
|
|
|
|
|
- if (on)
|
|
|
- reg &= ~DWC3_GUSB3PIPECTL_SUSPHY;
|
|
|
- else
|
|
|
+ if (suspend)
|
|
|
reg |= DWC3_GUSB3PIPECTL_SUSPHY;
|
|
|
+ else
|
|
|
+ reg &= ~DWC3_GUSB3PIPECTL_SUSPHY;
|
|
|
|
|
|
dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), reg);
|
|
|
}
|
|
|
|
|
|
-static void dwc3_gadget_usb2_phy_power(struct dwc3 *dwc, int on)
|
|
|
+static void dwc3_gadget_usb2_phy_suspend(struct dwc3 *dwc, int suspend)
|
|
|
{
|
|
|
u32 reg;
|
|
|
|
|
|
reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
|
|
|
|
|
|
- if (on)
|
|
|
- reg &= ~DWC3_GUSB2PHYCFG_SUSPHY;
|
|
|
- else
|
|
|
+ if (suspend)
|
|
|
reg |= DWC3_GUSB2PHYCFG_SUSPHY;
|
|
|
+ else
|
|
|
+ reg &= ~DWC3_GUSB2PHYCFG_SUSPHY;
|
|
|
|
|
|
dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg);
|
|
|
}
|
|
@@ -1962,9 +1962,9 @@ static void dwc3_gadget_reset_interrupt(struct dwc3 *dwc)
|
|
|
/* after reset -> Default State */
|
|
|
dwc->dev_state = DWC3_DEFAULT_STATE;
|
|
|
|
|
|
- /* Enable PHYs */
|
|
|
- dwc3_gadget_usb2_phy_power(dwc, true);
|
|
|
- dwc3_gadget_usb3_phy_power(dwc, true);
|
|
|
+ /* Resume PHYs */
|
|
|
+ dwc3_gadget_usb2_phy_suspend(dwc, false);
|
|
|
+ dwc3_gadget_usb3_phy_suspend(dwc, false);
|
|
|
|
|
|
if (dwc->gadget.speed != USB_SPEED_UNKNOWN)
|
|
|
dwc3_disconnect_gadget(dwc);
|
|
@@ -2010,16 +2010,16 @@ static void dwc3_update_ram_clk_sel(struct dwc3 *dwc, u32 speed)
|
|
|
dwc3_writel(dwc->regs, DWC3_GCTL, reg);
|
|
|
}
|
|
|
|
|
|
-static void dwc3_gadget_disable_phy(struct dwc3 *dwc, u8 speed)
|
|
|
+static void dwc3_gadget_phy_suspend(struct dwc3 *dwc, u8 speed)
|
|
|
{
|
|
|
switch (speed) {
|
|
|
case USB_SPEED_SUPER:
|
|
|
- dwc3_gadget_usb2_phy_power(dwc, false);
|
|
|
+ dwc3_gadget_usb2_phy_suspend(dwc, true);
|
|
|
break;
|
|
|
case USB_SPEED_HIGH:
|
|
|
case USB_SPEED_FULL:
|
|
|
case USB_SPEED_LOW:
|
|
|
- dwc3_gadget_usb3_phy_power(dwc, false);
|
|
|
+ dwc3_gadget_usb3_phy_suspend(dwc, true);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -2082,8 +2082,8 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc)
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- /* Disable unneded PHY */
|
|
|
- dwc3_gadget_disable_phy(dwc, dwc->gadget.speed);
|
|
|
+ /* Suspend unneded PHY */
|
|
|
+ dwc3_gadget_phy_suspend(dwc, dwc->gadget.speed);
|
|
|
|
|
|
dep = dwc->eps[0];
|
|
|
ret = __dwc3_gadget_ep_enable(dep, &dwc3_gadget_ep0_desc, NULL);
|