[PATCH] ARM: dts: qcom: msm8974-samsung-hlte: Add touchkey support

Luca Weiss posted 1 patch 7 months, 4 weeks ago
There is a newer version of this series
.../boot/dts/qcom/qcom-msm8974-samsung-hlte.dts    | 45 ++++++++++++++++++++++
1 file changed, 45 insertions(+)
[PATCH] ARM: dts: qcom: msm8974-samsung-hlte: Add touchkey support
Posted by Luca Weiss 7 months, 4 weeks ago
From: Adam Honse <calcprogrammer1@gmail.com>

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>
---
 .../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 <luca@lucaweiss.eu>
Re: [PATCH] ARM: dts: qcom: msm8974-samsung-hlte: Add touchkey support
Posted by Konrad Dybcio 7 months, 3 weeks ago
On 4/19/25 11:08 AM, Luca Weiss wrote:
> From: Adam Honse <calcprogrammer1@gmail.com>
> 
> 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>
> ---
>  .../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'?

> +		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

Konrad
Re: [PATCH] ARM: dts: qcom: msm8974-samsung-hlte: Add touchkey support
Posted by Luca Weiss 6 months ago
On 22-04-2025 9:43 p.m., Konrad Dybcio wrote:
> On 4/19/25 11:08 AM, Luca Weiss wrote:
>> From: Adam Honse <calcprogrammer1@gmail.com>
>>
>> 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>
>> ---
>>   .../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
Re: [PATCH] ARM: dts: qcom: msm8974-samsung-hlte: Add touchkey support
Posted by Konrad Dybcio 6 months ago
On 6/10/25 6:57 PM, Luca Weiss wrote:
> On 22-04-2025 9:43 p.m., Konrad Dybcio wrote:
>> On 4/19/25 11:08 AM, Luca Weiss wrote:
>>> From: Adam Honse <calcprogrammer1@gmail.com>
>>>
>>> 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>

[...]

>>> @@ -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?

I guess I was just thinking out loud, it's okay

Konrad
Re: [PATCH] ARM: dts: qcom: msm8974-samsung-hlte: Add touchkey support
Posted by Rob Herring (Arm) 7 months, 3 weeks ago
On Sat, 19 Apr 2025 11:08:19 +0200, Luca Weiss wrote:
> From: Adam Honse <calcprogrammer1@gmail.com>
> 
> 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>
> ---
>  .../boot/dts/qcom/qcom-msm8974-samsung-hlte.dts    | 45 ++++++++++++++++++++++
>  1 file changed, 45 insertions(+)
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


This patch series was applied (using b4) to base:
 Base: using specified base-commit 8ffd015db85fea3e15a77027fda6c02ced4d2444

If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)

New warnings running 'make CHECK_DTBS=y for arch/arm/boot/dts/qcom/' for 20250419-hlte-touchkey-v1-1-9d93c3e2b31f@lucaweiss.eu:

arch/arm/boot/dts/qcom/qcom-msm8974-samsung-hlte.dtb: i2c-gpio-touchkey (i2c-gpio): $nodename:0: 'i2c-gpio-touchkey' does not match '^i2c(@.+|-[a-z0-9]+)?$'
	from schema $id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml#
arch/arm/boot/dts/qcom/qcom-msm8974-samsung-hlte.dtb: i2c-gpio-touchkey (i2c-gpio): Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'touchkey@20' were unexpected)
	from schema $id: http://devicetree.org/schemas/i2c/i2c-gpio.yaml#
Re: [PATCH] ARM: dts: qcom: msm8974-samsung-hlte: Add touchkey support
Posted by Luca Weiss 7 months, 4 weeks ago
On 4/19/25 11:08 AM, Luca Weiss wrote:
> From: Adam Honse <calcprogrammer1@gmail.com>
> 
> 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>

This Signed-off-by is obviously meant to be above the ---

B4 is unfortunately not warning when your own Signed-off-by is missing 
and it added this one from the "cover letter".

Regards
Luca

> ---
>   .../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,