Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1966b865 authored by Felipe Balbi's avatar Felipe Balbi
Browse files

usb: dwc3: make sure UX_EXIT_PX is cleared



This bit is only supposed to be used with known
buggy PHYs, however some platforms might erroneously
set it. In order to avoid it, let's make sure this
bit is always cleared. If some PHY needs this, we
will need to add a quirk flag.

Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent c02ed2e7
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -431,6 +431,12 @@ static int dwc3_phy_setup(struct dwc3 *dwc)

	reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0));

	/*
	 * Make sure UX_EXIT_PX is cleared as that causes issues with some
	 * PHYs. Also, this bit is not supposed to be used in normal operation.
	 */
	reg &= ~DWC3_GUSB3PIPECTL_UX_EXIT_PX;

	/*
	 * Above 1.94a, it is recommended to set DWC3_GUSB3PIPECTL_SUSPHY
	 * to '0' during coreConsultant configuration. So default value
+1 −0
Original line number Diff line number Diff line
@@ -232,6 +232,7 @@
#define DWC3_GUSB3PIPECTL_PHYSOFTRST	(1 << 31)
#define DWC3_GUSB3PIPECTL_U2SSINP3OK	(1 << 29)
#define DWC3_GUSB3PIPECTL_DISRXDETINP3	(1 << 28)
#define DWC3_GUSB3PIPECTL_UX_EXIT_PX	(1 << 27)
#define DWC3_GUSB3PIPECTL_REQP1P2P3	(1 << 24)
#define DWC3_GUSB3PIPECTL_DEP1P2P3(n)	((n) << 19)
#define DWC3_GUSB3PIPECTL_DEP1P2P3_MASK	DWC3_GUSB3PIPECTL_DEP1P2P3(7)