ARM: dts: qcom: msm8974-klte: Add support for touchkey
authorIskren Chernev <iskren.chernev@gmail.com>
Sun, 20 Sep 2020 14:48:54 +0000 (17:48 +0300)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 26 Oct 2020 14:52:37 +0000 (09:52 -0500)
Add support for the touchkey found on the Samsung Galaxy S5. The
touchkey is responsible for handling the application and back buttons
found around the home button.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Link: https://lore.kernel.org/r/20200920144859.813032-3-iskren.chernev@gmail.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts

index 9520c6e7910cedece0fcc7d7380a4e4205b12fad..750e2f261139a3331003549c6cb1e5b092c710ea 100644 (file)
                                        };
 
                                        pma8084_l19: l19 {
-                                               regulator-min-microvolt = <2900000>;
+                                               regulator-min-microvolt = <3300000>;
                                                regulator-max-microvolt = <3300000>;
                                        };
 
                };
        };
 
+       i2c-gpio-touchkey {
+               compatible = "i2c-gpio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               sda-gpios = <&msmgpio 95 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               scl-gpios = <&msmgpio 96 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&i2c_touchkey_pins>;
+
+               touchkey@20 {
+                       compatible = "cypress,tm2-touchkey";
+                       reg = <0x20>;
+
+                       interrupt-parent = <&pma8084_gpios>;
+                       interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&touchkey_pin>;
+
+                       vcc-supply = <&max77826_ldo15>;
+                       vdd-supply = <&pma8084_l19>;
+
+                       linux,keycodes = <KEY_APPSELECT KEY_BACK>;
+               };
+       };
+
        /delete-node/ vreg-boost;
 };
 
                                bias-disable;
                        };
                };
+
+               i2c_touchkey_pins: i2c-touchkey {
+                       mux {
+                               pins = "gpio95", "gpio96";
+                               function = "gpio";
+                               input-enable;
+                               bias-pull-up;
+                       };
+               };
        };
 
        sdhci@f9824900 {
                                bias-pull-up;
                                power-source = <PMA8084_GPIO_S4>;
                        };
+
+                       touchkey_pin: touchkey-int-pin {
+                               pins = "gpio6";
+                               function = "normal";
+                               bias-disable;
+                               input-enable;
+                               power-source = <PMA8084_GPIO_S4>;
+                       };
                };
        };
 };