]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: qcom: sc8280xp-x13s: fix touchscreen power on
authorJohan Hovold <johan+linaro@kernel.org>
Tue, 7 May 2024 14:48:19 +0000 (16:48 +0200)
committerBjorn Andersson <andersson@kernel.org>
Fri, 7 Jun 2024 18:01:09 +0000 (13:01 -0500)
The Elan eKTH5015M touch controller on the X13s requires a 300 ms delay
before sending commands after having deasserted reset during power on.

Switch to the Elan specific binding so that the OS can determine the
required power-on sequence and make sure that the controller is always
detected during boot.

Note that the always-on 1.8 V supply (s10b) is not used by the
controller directly and should not be described.

Fixes: 32c231385ed4 ("arm64: dts: qcom: sc8280xp: add Lenovo Thinkpad X13s devicetree")
Cc: stable@vger.kernel.org # 6.0
Tested-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20240507144821.12275-6-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts

index e937732abeded972eb86af841549576092c31995..4bf99b6b6e5fb3c125361647779461dd87f67a43 100644 (file)
 
        status = "okay";
 
-       /* FIXME: verify */
        touchscreen@10 {
-               compatible = "hid-over-i2c";
+               compatible = "elan,ekth5015m", "elan,ekth6915";
                reg = <0x10>;
 
-               hid-descr-addr = <0x1>;
                interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>;
-               vdd-supply = <&vreg_misc_3p3>;
-               vddl-supply = <&vreg_s10b>;
+               reset-gpios = <&tlmm 99 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
+               no-reset-on-power-off;
+
+               vcc33-supply = <&vreg_misc_3p3>;
+               vccio-supply = <&vreg_misc_3p3>;
 
                pinctrl-names = "default";
                pinctrl-0 = <&ts0_default>;
                reset-n-pins {
                        pins = "gpio99";
                        function = "gpio";
-                       output-high;
-                       drive-strength = <16>;
+                       drive-strength = <2>;
+                       bias-disable;
                };
        };