From: Adam Honse <calcprogramm...@gmail.com>

Add support for the touchkeys on the Samsung Galaxy Note 3 (hlte).

Signed-off-by: Adam Honse <calcprogramm...@gmail.com>
---
Signed-off-by: Luca Weiss <l...@lucaweiss.eu>
---
 .../boot/dts/qcom/qcom-msm8974-samsung-hlte.dts    | 45 ++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974-samsung-hlte.dts 
b/arch/arm/boot/dts/qcom/qcom-msm8974-samsung-hlte.dts
index 
903bb4d125135771504281df50aa11c9b6576a28..17d3e319941b8fd0363af600d93fc10127e4ab21
 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8974-samsung-hlte.dts
+++ b/arch/arm/boot/dts/qcom/qcom-msm8974-samsung-hlte.dts
@@ -50,6 +50,34 @@ key-volume-up {
                };
        };
 
+       i2c-gpio-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";
@@ -149,6 +177,14 @@ touch_ldo_pin: touchscreen-ldo-state {
                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 {
@@ -332,6 +368,9 @@ pm8941_l24: l24 {
                        regulator-min-microvolt = <3075000>;
                        regulator-max-microvolt = <3075000>;
                };
+
+               pm8941_lvs1: lvs1 {};
+               pm8941_lvs3: lvs3 {};
        };
 };
 
@@ -378,6 +417,12 @@ sdhc3_pin_a: sdhc3-pin-active-state {
                drive-strength = <8>;
                bias-disable;
        };
+
+       i2c_touchkey_pins: i2c-touchkey-state {
+               pins = "gpio95", "gpio96";
+               function = "gpio";
+               bias-pull-up;
+       };
 };
 
 &usb {

---
base-commit: 8ffd015db85fea3e15a77027fda6c02ced4d2444
change-id: 20250419-hlte-touchkey-8ea2f37a0795

Best regards,
-- 
Luca Weiss <l...@lucaweiss.eu>


Reply via email to