Message ID | 20241203-gs101-phy-lanes-orientation-dts-v2-3-1412783a6b01@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Google Pixel 6 (oriole): TCPCI enablement & USB updates | expand |
On Tue, 3 Dec 2024 at 12:40, André Draszik <andre.draszik@linaro.org> wrote: > > For the DWC3 core to reliably detect the connected phy's Vbus state, we > need to disable phy suspend. > > Add > snps,dis_u2_susphy_quirk > snps,dis_u3_susphy_quirk > to do that. > > While at it, also add > snps,has-lpm-erratum > as this is set downstream which implies that the core was configured > with LPM Erratum. We should do the same here. > > Signed-off-by: André Draszik <andre.draszik@linaro.org> > > --- Reviewed-by: Peter Griffin <peter.griffin@linaro.org> Tested-by: Peter Griffin <peter.griffin@linaro.org> Notes on testing: Tested with a Pixel 6 device with 2 different USB hubs and also directly into the laptop, plugging and unplugging from both ends of the cable. With this set of snps quirks disconnect/reconnect always seems to be robustly detected.
diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi index 18d4e7852a1a..c5335dd59dfe 100644 --- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi +++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi @@ -1302,6 +1302,9 @@ usbdrd31_dwc3: usb@0 { interrupts = <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH 0>; phys = <&usbdrd31_phy 0>, <&usbdrd31_phy 1>; phy-names = "usb2-phy", "usb3-phy"; + snps,has-lpm-erratum; + snps,dis_u2_susphy_quirk; + snps,dis_u3_susphy_quirk; status = "disabled"; }; };
For the DWC3 core to reliably detect the connected phy's Vbus state, we need to disable phy suspend. Add snps,dis_u2_susphy_quirk snps,dis_u3_susphy_quirk to do that. While at it, also add snps,has-lpm-erratum as this is set downstream which implies that the core was configured with LPM Erratum. We should do the same here. Signed-off-by: André Draszik <andre.draszik@linaro.org> --- v2: - drop snps,dis_rxdet_inp3_quirk and instead use the mentioned properties. The former alone wasn't reliable enough in all situations, e.g. when attached to certain USB hubs. --- arch/arm64/boot/dts/exynos/google/gs101.dtsi | 3 +++ 1 file changed, 3 insertions(+)