Message ID | 20250328084154.16759-1-johan+linaro@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: x1e80100-hp-x14: drop bogus USB retimer | expand |
On 25-03-28 09:41:54, Johan Hovold wrote: > Jens reported that the sanity checks added to the new ps883x USB retimer > driver breaks USB and display on the HP X14. Turns out the X14 only has > a retimer on one of the ports, but this initially went unnoticed due to > the missing sanity check (and error handling) in the retimer driver. > > Drop the non-existing retimer from the devicetree to enable the second > USB port and the display subsystem. > > Note that this also matches the ACPI tables. > > Fixes: 6f18b8d4142c ("arm64: dts: qcom: x1e80100-hp-x14: dt for HP Omnibook X Laptop 14") > Cc: Jens Glathe <jens.glathe@oldschoolsolutions.biz> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Abel Vesa <abel.vesa@linaro.org>
On 3/28/25 9:41 AM, Johan Hovold wrote: > Jens reported that the sanity checks added to the new ps883x USB retimer > driver breaks USB and display on the HP X14. Turns out the X14 only has > a retimer on one of the ports, but this initially went unnoticed due to > the missing sanity check (and error handling) in the retimer driver. > > Drop the non-existing retimer from the devicetree to enable the second > USB port and the display subsystem. > > Note that this also matches the ACPI tables. > > Fixes: 6f18b8d4142c ("arm64: dts: qcom: x1e80100-hp-x14: dt for HP Omnibook X Laptop 14") > Cc: Jens Glathe <jens.glathe@oldschoolsolutions.biz> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > --- > > The devicetree went upstream before the retimer driver so the display > would already be broken in 6.14 and there's no need to backport this > one (but it should go into 6.15). > > Note that the SBU mux can be added later when/if someone figures out how > it is connected. I am shocked, but this product photo [1] (is this the right laptop? there's a bunch with similar naming) on the HP website suggests that indeed only one port has a USB-40Gbps marking on it, with the other type-C only being supposed to do 10Gbps Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad [1] https://ssl-product-images.www8-hp.com/digmedialib/prodimg/lowres/c08993265.png
On Tue, Apr 01, 2025 at 12:27:55PM +0200, Konrad Dybcio wrote: > On 3/28/25 9:41 AM, Johan Hovold wrote: > > Jens reported that the sanity checks added to the new ps883x USB retimer > > driver breaks USB and display on the HP X14. Turns out the X14 only has > > a retimer on one of the ports, but this initially went unnoticed due to > > the missing sanity check (and error handling) in the retimer driver. > > > > Drop the non-existing retimer from the devicetree to enable the second > > USB port and the display subsystem. > > > > Note that this also matches the ACPI tables. > > > > Fixes: 6f18b8d4142c ("arm64: dts: qcom: x1e80100-hp-x14: dt for HP Omnibook X Laptop 14") > > Cc: Jens Glathe <jens.glathe@oldschoolsolutions.biz> > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > > --- > > > > The devicetree went upstream before the retimer driver so the display > > would already be broken in 6.14 and there's no need to backport this > > one (but it should go into 6.15). > > > > Note that the SBU mux can be added later when/if someone figures out how > > it is connected. > > I am shocked, but this product photo [1] (is this the right laptop? there's a > bunch with similar naming) on the HP website suggests that indeed only one port > has a USB-40Gbps marking on it, with the other type-C only being supposed to do > 10Gbps Yeah, I found a photo like that on their web page too, and the specs also mention it: 1 USB Type-C® 10Gbps signaling rate (USB Power Delivery, DisplayPort™ 1.4a, HP Sleep and Charge); 1 USB Type-C® 40Gbps signaling rate (USB Power Delivery, DisplayPort™ 1.4a, HP Sleep and Charge) https://www.hp.com/us-en/shop/pdp/hp-omnibook-x-laptop-ai-pc-14-fe000-14-9j1h6av-1#techSpecs > [1] https://ssl-product-images.www8-hp.com/digmedialib/prodimg/lowres/c08993265.png Johan
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts b/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts index 05ad07d90b97..03bbebff4576 100644 --- a/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts +++ b/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts @@ -150,15 +150,7 @@ port@1 { reg = <1>; pmic_glink_ss1_ss_in: endpoint { - remote-endpoint = <&retimer_ss1_ss_out>; - }; - }; - - port@2 { - reg = <2>; - - pmic_glink_ss1_con_sbu_in: endpoint { - remote-endpoint = <&retimer_ss1_con_sbu_out>; + remote-endpoint = <&usb_1_ss1_qmpphy_out>; }; }; }; @@ -370,54 +362,6 @@ vreg_rtmr0_3p3: regulator-rtmr0-3p3 { regulator-boot-on; }; - vreg_rtmr1_1p15: regulator-rtmr1-1p15 { - compatible = "regulator-fixed"; - - regulator-name = "VREG_RTMR1_1P15"; - regulator-min-microvolt = <1150000>; - regulator-max-microvolt = <1150000>; - - gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 = <&usb1_pwr_1p15_reg_en>; - pinctrl-names = "default"; - - regulator-boot-on; - }; - - vreg_rtmr1_1p8: regulator-rtmr1-1p8 { - compatible = "regulator-fixed"; - - regulator-name = "VREG_RTMR1_1P8"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - - gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 = <&usb1_pwr_1p8_reg_en>; - pinctrl-names = "default"; - - regulator-boot-on; - }; - - vreg_rtmr1_3p3: regulator-rtmr1-3p3 { - compatible = "regulator-fixed"; - - regulator-name = "VREG_RTMR1_3P3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - - gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 = <&usb1_pwr_3p3_reg_en>; - pinctrl-names = "default"; - - regulator-boot-on; - }; - vreg_vph_pwr: regulator-vph-pwr { compatible = "regulator-fixed"; @@ -1027,64 +971,6 @@ eusb3_repeater: redriver@47 { }; }; -&i2c7 { - clock-frequency = <400000>; - - status = "okay"; - - typec-mux@8 { - compatible = "parade,ps8830"; - reg = <0x8>; - - clocks = <&rpmhcc RPMH_RF_CLK4>; - - vdd-supply = <&vreg_rtmr1_1p15>; - vdd33-supply = <&vreg_rtmr1_3p3>; - vdd33-cap-supply = <&vreg_rtmr1_3p3>; - vddar-supply = <&vreg_rtmr1_1p15>; - vddat-supply = <&vreg_rtmr1_1p15>; - vddio-supply = <&vreg_rtmr1_1p8>; - - reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>; - - pinctrl-0 = <&rtmr1_default>; - pinctrl-names = "default"; - - orientation-switch; - retimer-switch; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - - retimer_ss1_ss_out: endpoint { - remote-endpoint = <&pmic_glink_ss1_ss_in>; - }; - }; - - port@1 { - reg = <1>; - - retimer_ss1_ss_in: endpoint { - remote-endpoint = <&usb_1_ss1_qmpphy_out>; - }; - }; - - port@2 { - reg = <2>; - - retimer_ss1_con_sbu_out: endpoint { - remote-endpoint = <&pmic_glink_ss1_con_sbu_in>; - }; - }; - - }; - }; -}; - &i2c8 { clock-frequency = <400000>; @@ -1519,13 +1405,6 @@ wake-n-pins { }; }; - rtmr1_default: rtmr1-reset-n-active-state { - pins = "gpio176"; - function = "gpio"; - drive-strength = <2>; - bias-disable; - }; - tpad_default: tpad-default-state { pins = "gpio3"; function = "gpio"; @@ -1547,27 +1426,6 @@ reset-n-pins { }; }; - usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state { - pins = "gpio188"; - function = "gpio"; - drive-strength = <2>; - bias-disable; - }; - - usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state { - pins = "gpio175"; - function = "gpio"; - drive-strength = <2>; - bias-disable; - }; - - usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state { - pins = "gpio186"; - function = "gpio"; - drive-strength = <2>; - bias-disable; - }; - wcd_default: wcd-reset-n-active-state { pins = "gpio191"; function = "gpio"; @@ -1670,7 +1528,7 @@ &usb_1_ss1_dwc3_hs { }; &usb_1_ss1_qmpphy_out { - remote-endpoint = <&retimer_ss1_ss_in>; + remote-endpoint = <&pmic_glink_ss1_ss_in>; }; &usb_mp {
Jens reported that the sanity checks added to the new ps883x USB retimer driver breaks USB and display on the HP X14. Turns out the X14 only has a retimer on one of the ports, but this initially went unnoticed due to the missing sanity check (and error handling) in the retimer driver. Drop the non-existing retimer from the devicetree to enable the second USB port and the display subsystem. Note that this also matches the ACPI tables. Fixes: 6f18b8d4142c ("arm64: dts: qcom: x1e80100-hp-x14: dt for HP Omnibook X Laptop 14") Cc: Jens Glathe <jens.glathe@oldschoolsolutions.biz> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> --- The devicetree went upstream before the retimer driver so the display would already be broken in 6.14 and there's no need to backport this one (but it should go into 6.15). Note that the SBU mux can be added later when/if someone figures out how it is connected. Johan .../dts/qcom/x1e80100-hp-omnibook-x14.dts | 146 +----------------- 1 file changed, 2 insertions(+), 144 deletions(-)