diff mbox series

arm64: dts: qcom: x1e80100-t14s: add another trackpad support

Message ID 20240917102715.4096-1-srinivas.kandagatla@linaro.org (mailing list archive)
State Superseded
Headers show
Series arm64: dts: qcom: x1e80100-t14s: add another trackpad support | expand

Commit Message

Srinivas Kandagatla Sept. 17, 2024, 10:27 a.m. UTC
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

Trackpad HID device on some of the T14s Product Models 21N2ZC5PUS is
at I2C address 0x2c add this to be able to get it working on these laptops.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts     | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

Comments

Johan Hovold Sept. 17, 2024, 10:43 a.m. UTC | #1
On Tue, Sep 17, 2024 at 06:27:15AM -0400, Srinivas Kandagatla wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> 
> Trackpad HID device on some of the T14s Product Models 21N2ZC5PUS is
> at I2C address 0x2c add this to be able to get it working on these laptops.

> diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
> index 941dfddd6713..8468f99d9bed 100644
> --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
> @@ -467,7 +467,19 @@ touchpad@15 {
>  		wakeup-source;
>  	};
>  
> -	/* TODO: second-sourced SYNA8022 or SYNA8024 touchpad @ 0x2c */
> +	/* SYNA8022 or SYNA8024 touchpad @ 0x2c */
> +	touchpad@15 {
> +		compatible = "hid-over-i2c";
> +		reg = <0x2c>;
> +
> +		hid-descr-addr = <0x20>;
> +		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
> +
> +		pinctrl-0 = <&tpad_default>;
> +		pinctrl-names = "default";

This doesn't work currently. You can't have two devices claiming the
same pins (and these HID devices may be probed in parallel even if at
most one will probe successfully). 

You can work around this by moving the pinctrl properties to the parent
bus node as we did for the X13s.

Johan
Dmitry Baryshkov Sept. 17, 2024, 2:10 p.m. UTC | #2
On Tue, Sep 17, 2024 at 06:27:15AM GMT, srinivas.kandagatla@linaro.org wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> 
> Trackpad HID device on some of the T14s Product Models 21N2ZC5PUS is
> at I2C address 0x2c add this to be able to get it working on these laptops.

Do you think that we might need to introduce the same workardound as the
one added in the commit a9164910c5ce ("arm64: dts: qcom: c630: keep both
touchpad devices enabled")?

> 
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> ---
>  .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts     | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
> index 941dfddd6713..8468f99d9bed 100644
> --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
> @@ -467,7 +467,19 @@ touchpad@15 {
>  		wakeup-source;
>  	};
>  
> -	/* TODO: second-sourced SYNA8022 or SYNA8024 touchpad @ 0x2c */
> +	/* SYNA8022 or SYNA8024 touchpad @ 0x2c */
> +	touchpad@15 {
> +		compatible = "hid-over-i2c";
> +		reg = <0x2c>;
> +
> +		hid-descr-addr = <0x20>;
> +		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
> +
> +		pinctrl-0 = <&tpad_default>;
> +		pinctrl-names = "default";
> +
> +		wakeup-source;
> +	};
>  
>  	/* ELAN06F1 or SYNA06F2 */
>  	keyboard@3a {
> -- 
> 2.39.2
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
index 941dfddd6713..8468f99d9bed 100644
--- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
+++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
@@ -467,7 +467,19 @@  touchpad@15 {
 		wakeup-source;
 	};
 
-	/* TODO: second-sourced SYNA8022 or SYNA8024 touchpad @ 0x2c */
+	/* SYNA8022 or SYNA8024 touchpad @ 0x2c */
+	touchpad@15 {
+		compatible = "hid-over-i2c";
+		reg = <0x2c>;
+
+		hid-descr-addr = <0x20>;
+		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
+
+		pinctrl-0 = <&tpad_default>;
+		pinctrl-names = "default";
+
+		wakeup-source;
+	};
 
 	/* ELAN06F1 or SYNA06F2 */
 	keyboard@3a {