Message ID | 20241210111444.26240-2-johan+linaro@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 1fb5cf0d165afc3be76ec754d1b1013515c3896a |
Headers | show |
Series | arm64: dts: qcom: x1e80100: fix USB OTG regressions | expand |
On 24-12-10 12:14:42, Johan Hovold wrote: > This reverts commit 1a48dd7b9ac809d1bd0fd2fef509abba83433846. > > A recent change enabling OTG mode on the Lenovo ThinkPad T14s USB-C > ports can break SuperSpeed device hotplugging. The host controller is > enumerated, but the device is not: > > xhci-hcd xhci-hcd.5.auto: xHCI Host Controller > xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 3 > xhci-hcd xhci-hcd.5.auto: hcc params 0x0110ffc5 hci version 0x110 quirks 0x000080a000000810 > xhci-hcd xhci-hcd.5.auto: irq 247, io mem 0x0a800000 > xhci-hcd xhci-hcd.5.auto: xHCI Host Controller > xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 4 > xhci-hcd xhci-hcd.5.auto: Host supports USB 3.1 Enhanced SuperSpeed > hub 3-0:1.0: USB hub found > hub 3-0:1.0: 1 port detected > hub 4-0:1.0: USB hub found > hub 4-0:1.0: 1 port detected > > Once this happens on either of the two ports, no amount of disconnecting > and reconnecting makes the SuperSpeed device be enumerated, while > FullSpeed device enumeration still works. > > With retimer (and orientation detection) support not even merged yet, > let's revert at least until we have stable host mode in mainline. > > Fixes: 1a48dd7b9ac8 ("arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports") > Cc: Jonathan Marek <jonathan@marek.ca> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Abel Vesa <abel.vesa@linaro.org> > --- > .../arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts > index 5a4a72a030d4..b4b6260c670c 100644 > --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts > +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts > @@ -1515,6 +1515,10 @@ &usb_1_ss0 { > status = "okay"; > }; > > +&usb_1_ss0_dwc3 { > + dr_mode = "host"; > +}; > + > &usb_1_ss0_dwc3_hs { > remote-endpoint = <&pmic_glink_ss0_hs_in>; > }; > @@ -1543,6 +1547,10 @@ &usb_1_ss1 { > status = "okay"; > }; > > +&usb_1_ss1_dwc3 { > + dr_mode = "host"; > +}; > + > &usb_1_ss1_dwc3_hs { > remote-endpoint = <&pmic_glink_ss1_hs_in>; > }; > -- > 2.45.2 >
diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts index 5a4a72a030d4..b4b6260c670c 100644 --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts @@ -1515,6 +1515,10 @@ &usb_1_ss0 { status = "okay"; }; +&usb_1_ss0_dwc3 { + dr_mode = "host"; +}; + &usb_1_ss0_dwc3_hs { remote-endpoint = <&pmic_glink_ss0_hs_in>; }; @@ -1543,6 +1547,10 @@ &usb_1_ss1 { status = "okay"; }; +&usb_1_ss1_dwc3 { + dr_mode = "host"; +}; + &usb_1_ss1_dwc3_hs { remote-endpoint = <&pmic_glink_ss1_hs_in>; };
This reverts commit 1a48dd7b9ac809d1bd0fd2fef509abba83433846. A recent change enabling OTG mode on the Lenovo ThinkPad T14s USB-C ports can break SuperSpeed device hotplugging. The host controller is enumerated, but the device is not: xhci-hcd xhci-hcd.5.auto: xHCI Host Controller xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 3 xhci-hcd xhci-hcd.5.auto: hcc params 0x0110ffc5 hci version 0x110 quirks 0x000080a000000810 xhci-hcd xhci-hcd.5.auto: irq 247, io mem 0x0a800000 xhci-hcd xhci-hcd.5.auto: xHCI Host Controller xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 4 xhci-hcd xhci-hcd.5.auto: Host supports USB 3.1 Enhanced SuperSpeed hub 3-0:1.0: USB hub found hub 3-0:1.0: 1 port detected hub 4-0:1.0: USB hub found hub 4-0:1.0: 1 port detected Once this happens on either of the two ports, no amount of disconnecting and reconnecting makes the SuperSpeed device be enumerated, while FullSpeed device enumeration still works. With retimer (and orientation detection) support not even merged yet, let's revert at least until we have stable host mode in mainline. Fixes: 1a48dd7b9ac8 ("arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports") Cc: Jonathan Marek <jonathan@marek.ca> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> --- .../arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts | 8 ++++++++ 1 file changed, 8 insertions(+)