]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: dts: qcom: msm8974-samsung-hlte: Add touchkey support
authorAdam Honse <calcprogrammer1@gmail.com>
Wed, 18 Jun 2025 21:45:44 +0000 (23:45 +0200)
committerBjorn Andersson <andersson@kernel.org>
Mon, 11 Aug 2025 22:57:00 +0000 (17:57 -0500)
Add support for the touchkeys on the Samsung Galaxy Note 3 (hlte).

Signed-off-by: Adam Honse <calcprogrammer1@gmail.com>
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250618-hlte-touchkey-v2-1-2cf188b57e31@lucaweiss.eu
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm/boot/dts/qcom/qcom-msm8974-samsung-hlte.dts

index 903bb4d125135771504281df50aa11c9b6576a28..b7a1367d3470551de12af699ef150434dc0302b8 100644 (file)
                };
        };
 
+       i2c-touchkey {
+               compatible = "i2c-gpio";
+
+               sda-gpios = <&tlmm 95 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               scl-gpios = <&tlmm 96 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+
+               pinctrl-0 = <&i2c_touchkey_pins>;
+               pinctrl-names = "default";
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               touchkey@20 {
+                       compatible = "cypress,midas-touchkey";
+                       reg = <0x20>;
+
+                       interrupts-extended = <&pm8941_gpios 29 IRQ_TYPE_EDGE_FALLING>;
+
+                       pinctrl-0 = <&touchkey_pin>;
+                       pinctrl-names = "default";
+
+                       vcc-supply = <&pm8941_lvs3>;
+                       vdd-supply = <&pm8941_l13>;
+
+                       linux,keycodes = <KEY_APPSELECT KEY_BACK>;
+               };
+       };
+
        touch_ldo: regulator-touch {
                compatible = "regulator-fixed";
                regulator-name = "touch-ldo";
                power-source = <PM8941_GPIO_S3>;
                qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
        };
+
+       touchkey_pin: touchkey-int-state {
+               pins = "gpio29";
+               function = "normal";
+               bias-disable;
+               input-enable;
+               power-source = <PM8941_GPIO_S3>;
+       };
 };
 
 &remoteproc_adsp {
                        regulator-min-microvolt = <3075000>;
                        regulator-max-microvolt = <3075000>;
                };
+
+               pm8941_lvs1: lvs1 {};
+               pm8941_lvs3: lvs3 {};
        };
 };
 
                drive-strength = <8>;
                bias-disable;
        };
+
+       i2c_touchkey_pins: i2c-touchkey-state {
+               pins = "gpio95", "gpio96";
+               function = "gpio";
+               bias-pull-up;
+       };
 };
 
 &usb {