On 22-04-2025 9:43 p.m., Konrad Dybcio wrote:
On 4/19/25 11:08 AM, Luca Weiss wrote:
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 {

'i2c'?

From what I can tell, there's a few more i2c-gpio "busses" on this device, like most Samsung devices

https://github.com/LineageOS/android_kernel_samsung_msm8974/blob/lineage-18.1/arch/arm/boot/dts/msm8974/msm8974-sec-hlte-r09.dtsi#L109-L132

So I'd keep the name to not conflict with future with these other ones.


+               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 {};

LVS1 is unused by anything here - it's probably good to define it, so
that the driver picks it up and regulator_ignore_unused is aware of it

Yes, did you mean here to put the addition of lvs1 into a separate commit?

Regards
Luca


Konrad


Reply via email to