]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: x1e80100-hp-x14: add usb-1-ss1-sbu-mux
authorJens Glathe <jens.glathe@oldschoolsolutions.biz>
Tue, 10 Jun 2025 17:25:39 +0000 (19:25 +0200)
committerBjorn Andersson <andersson@kernel.org>
Wed, 11 Jun 2025 18:05:40 +0000 (13:05 -0500)
The usb_1_1 port doesn't have the PS8830 repeater, but apparently some
MUX for DP altmode control. After a suggestion from sgerhold on
'#aarch64-laptops' I added gpio-sbu-mux nodes from the x1e80100-QCP
tree, and this appears to work well. It is still guesswork, but
working guesswork.

Added and rewired for usb_1_1

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Link: https://lore.kernel.org/r/20250610-hp-x14-v3-1-35d5b50efae0@oldschoolsolutions.biz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts

index 10b3af5e79fb6493cd6b6c661de6a801e40092f7..315987f2b62b818059cd1b5dbba28f908c58f00a 100644 (file)
                                                remote-endpoint = <&usb_1_ss1_qmpphy_out>;
                                        };
                                };
+
+                               port@2 {
+                                       reg = <2>;
+
+                                       pmic_glink_ss1_sbu: endpoint {
+                                               remote-endpoint = <&usb_1_ss1_sbu_mux>;
+                                       };
+                               };
                        };
                };
        };
                        };
                };
        };
+
+       usb-1-ss1-sbu-mux {
+               compatible = "onnn,fsusb42", "gpio-sbu-mux";
+
+               enable-gpios = <&tlmm 179 GPIO_ACTIVE_LOW>;
+               select-gpios = <&tlmm 178 GPIO_ACTIVE_HIGH>;
+
+               pinctrl-0 = <&usb_1_ss1_sbu_default>;
+               pinctrl-names = "default";
+
+               mode-switch;
+               orientation-switch;
+
+               port {
+                       usb_1_ss1_sbu_mux: endpoint {
+                               remote-endpoint = <&pmic_glink_ss1_sbu>;
+                       };
+               };
+       };
 };
 
 &apps_rsc {
                };
        };
 
+       usb_1_ss1_sbu_default: usb-1-ss1-sbu-state {
+               mode-pins {
+                       pins = "gpio177";
+                       function = "gpio";
+                       bias-disable;
+                       drive-strength = <2>;
+                       output-high;
+               };
+
+               oe-n-pins {
+                       pins = "gpio179";
+                       function = "gpio";
+                       bias-disable;
+                       drive-strength = <2>;
+               };
+
+               sel-pins {
+                       pins = "gpio178";
+                       function = "gpio";
+                       bias-disable;
+                       drive-strength = <2>;
+               };
+       };
+
        wcd_default: wcd-reset-n-active-state {
                pins = "gpio191";
                function = "gpio";