Loading drivers/usb/dwc3/core.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -299,6 +299,7 @@ #define DWC3_GUSB3PIPECTL_DISRXDETINP3 BIT(28) #define DWC3_GUSB3PIPECTL_DISRXDETINP3 BIT(28) #define DWC3_GUSB3PIPECTL_UX_EXIT_PX BIT(27) #define DWC3_GUSB3PIPECTL_UX_EXIT_PX BIT(27) #define DWC3_GUSB3PIPECTL_REQP1P2P3 BIT(24) #define DWC3_GUSB3PIPECTL_REQP1P2P3 BIT(24) #define DWC3_GUSB3PIPECTL_DISRXDETU3 BIT(22) #define DWC3_GUSB3PIPECTL_DEP1P2P3(n) ((n) << 19) #define DWC3_GUSB3PIPECTL_DEP1P2P3(n) ((n) << 19) #define DWC3_GUSB3PIPECTL_DEP1P2P3_MASK DWC3_GUSB3PIPECTL_DEP1P2P3(7) #define DWC3_GUSB3PIPECTL_DEP1P2P3_MASK DWC3_GUSB3PIPECTL_DEP1P2P3(7) #define DWC3_GUSB3PIPECTL_DEP1P2P3_EN DWC3_GUSB3PIPECTL_DEP1P2P3(1) #define DWC3_GUSB3PIPECTL_DEP1P2P3_EN DWC3_GUSB3PIPECTL_DEP1P2P3(1) Loading drivers/usb/dwc3/dwc3-msm.c +13 −0 Original line number Original line Diff line number Diff line Loading @@ -2294,6 +2294,12 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc) /* Suspend SS PHY */ /* Suspend SS PHY */ if (dwc->maximum_speed >= USB_SPEED_SUPER) { if (dwc->maximum_speed >= USB_SPEED_SUPER) { if (mdwc->in_host_mode) { u32 reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0)); reg |= DWC3_GUSB3PIPECTL_DISRXDETU3; dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), reg); } /* indicate phy about SS mode */ /* indicate phy about SS mode */ if (dwc3_msm_is_superspeed(mdwc)) if (dwc3_msm_is_superspeed(mdwc)) mdwc->ss_phy->flags |= DEVICE_IN_SS_MODE; mdwc->ss_phy->flags |= DEVICE_IN_SS_MODE; Loading Loading @@ -2465,6 +2471,13 @@ static int dwc3_msm_resume(struct dwc3_msm *mdwc) usb_phy_set_suspend(mdwc->ss_phy, 0); usb_phy_set_suspend(mdwc->ss_phy, 0); mdwc->ss_phy->flags &= ~DEVICE_IN_SS_MODE; mdwc->ss_phy->flags &= ~DEVICE_IN_SS_MODE; mdwc->lpm_flags &= ~MDWC3_SS_PHY_SUSPEND; mdwc->lpm_flags &= ~MDWC3_SS_PHY_SUSPEND; if (mdwc->in_host_mode) { u32 reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0)); reg &= ~DWC3_GUSB3PIPECTL_DISRXDETU3; dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), reg); } } } mdwc->hs_phy->flags &= ~(PHY_HSFS_MODE | PHY_LS_MODE); mdwc->hs_phy->flags &= ~(PHY_HSFS_MODE | PHY_LS_MODE); Loading Loading
drivers/usb/dwc3/core.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -299,6 +299,7 @@ #define DWC3_GUSB3PIPECTL_DISRXDETINP3 BIT(28) #define DWC3_GUSB3PIPECTL_DISRXDETINP3 BIT(28) #define DWC3_GUSB3PIPECTL_UX_EXIT_PX BIT(27) #define DWC3_GUSB3PIPECTL_UX_EXIT_PX BIT(27) #define DWC3_GUSB3PIPECTL_REQP1P2P3 BIT(24) #define DWC3_GUSB3PIPECTL_REQP1P2P3 BIT(24) #define DWC3_GUSB3PIPECTL_DISRXDETU3 BIT(22) #define DWC3_GUSB3PIPECTL_DEP1P2P3(n) ((n) << 19) #define DWC3_GUSB3PIPECTL_DEP1P2P3(n) ((n) << 19) #define DWC3_GUSB3PIPECTL_DEP1P2P3_MASK DWC3_GUSB3PIPECTL_DEP1P2P3(7) #define DWC3_GUSB3PIPECTL_DEP1P2P3_MASK DWC3_GUSB3PIPECTL_DEP1P2P3(7) #define DWC3_GUSB3PIPECTL_DEP1P2P3_EN DWC3_GUSB3PIPECTL_DEP1P2P3(1) #define DWC3_GUSB3PIPECTL_DEP1P2P3_EN DWC3_GUSB3PIPECTL_DEP1P2P3(1) Loading
drivers/usb/dwc3/dwc3-msm.c +13 −0 Original line number Original line Diff line number Diff line Loading @@ -2294,6 +2294,12 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc) /* Suspend SS PHY */ /* Suspend SS PHY */ if (dwc->maximum_speed >= USB_SPEED_SUPER) { if (dwc->maximum_speed >= USB_SPEED_SUPER) { if (mdwc->in_host_mode) { u32 reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0)); reg |= DWC3_GUSB3PIPECTL_DISRXDETU3; dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), reg); } /* indicate phy about SS mode */ /* indicate phy about SS mode */ if (dwc3_msm_is_superspeed(mdwc)) if (dwc3_msm_is_superspeed(mdwc)) mdwc->ss_phy->flags |= DEVICE_IN_SS_MODE; mdwc->ss_phy->flags |= DEVICE_IN_SS_MODE; Loading Loading @@ -2465,6 +2471,13 @@ static int dwc3_msm_resume(struct dwc3_msm *mdwc) usb_phy_set_suspend(mdwc->ss_phy, 0); usb_phy_set_suspend(mdwc->ss_phy, 0); mdwc->ss_phy->flags &= ~DEVICE_IN_SS_MODE; mdwc->ss_phy->flags &= ~DEVICE_IN_SS_MODE; mdwc->lpm_flags &= ~MDWC3_SS_PHY_SUSPEND; mdwc->lpm_flags &= ~MDWC3_SS_PHY_SUSPEND; if (mdwc->in_host_mode) { u32 reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0)); reg &= ~DWC3_GUSB3PIPECTL_DISRXDETU3; dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), reg); } } } mdwc->hs_phy->flags &= ~(PHY_HSFS_MODE | PHY_LS_MODE); mdwc->hs_phy->flags &= ~(PHY_HSFS_MODE | PHY_LS_MODE); Loading