[PATCH] arm64: dts: mt8192-asurada-spherion: Add Synaptics trackpad support

Pin-yen Lin posted 1 patch 5 days, 14 hours ago
.../boot/dts/mediatek/mt8192-asurada-spherion-r0.dts  | 11 +++++++++++
arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi      |  4 +---
2 files changed, 12 insertions(+), 3 deletions(-)
[PATCH] arm64: dts: mt8192-asurada-spherion: Add Synaptics trackpad support
Posted by Pin-yen Lin 5 days, 14 hours ago
Some spherion variants use Synaptics trackpad at address 0x2c in the
I2C2 bus with the generic HID-over-i2c driver, and this cannot be
distinguished from the firmware compatible string.

Support both trackpads in the same devicetree by moving the trackpad
pinctrl property to i2c2 and adding the node for Synaptics trackpad.

Signed-off-by: Pin-yen Lin <treapking@chromium.org>
---

 .../boot/dts/mediatek/mt8192-asurada-spherion-r0.dts  | 11 +++++++++++
 arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi      |  4 +---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts b/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts
index 29aa87e93888..8c485c3ced2c 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts
@@ -79,3 +79,14 @@ headset-codec {
 &touchscreen {
 	compatible = "elan,ekth3500";
 };
+
+&i2c2 {
+	/* synaptics touchpad */
+	trackpad@2c {
+		compatible = "hid-over-i2c";
+		reg = <0x2c>;
+		hid-descr-addr = <0x20>;
+		interrupts-extended = <&pio 15 IRQ_TYPE_LEVEL_LOW>;
+		wakeup-source;
+	};
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
index 08d71ddf3668..8dda8b63765b 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
@@ -335,14 +335,12 @@ &i2c2 {
 	clock-frequency = <400000>;
 	clock-stretch-ns = <12600>;
 	pinctrl-names = "default";
-	pinctrl-0 = <&i2c2_pins>;
+	pinctrl-0 = <&i2c2_pins>, <&trackpad_pins>;
 
 	trackpad@15 {
 		compatible = "elan,ekth3000";
 		reg = <0x15>;
 		interrupts-extended = <&pio 15 IRQ_TYPE_LEVEL_LOW>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&trackpad_pins>;
 		vcc-supply = <&pp3300_u>;
 		wakeup-source;
 	};
-- 
2.46.0.662.g92d0881bb0-goog
Re: [PATCH] arm64: dts: mt8192-asurada-spherion: Add Synaptics trackpad support
Posted by Matthias Brugger 4 days, 18 hours ago

On 12/09/2024 17:44, Pin-yen Lin wrote:
> Some spherion variants use Synaptics trackpad at address 0x2c in the
> I2C2 bus with the generic HID-over-i2c driver, and this cannot be
> distinguished from the firmware compatible string.
> 
> Support both trackpads in the same devicetree by moving the trackpad
> pinctrl property to i2c2 and adding the node for Synaptics trackpad.
> 
> Signed-off-by: Pin-yen Lin <treapking@chromium.org>

Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>

> ---
> 
>   .../boot/dts/mediatek/mt8192-asurada-spherion-r0.dts  | 11 +++++++++++
>   arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi      |  4 +---
>   2 files changed, 12 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts b/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts
> index 29aa87e93888..8c485c3ced2c 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts
> +++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts
> @@ -79,3 +79,14 @@ headset-codec {
>   &touchscreen {
>   	compatible = "elan,ekth3500";
>   };
> +
> +&i2c2 {
> +	/* synaptics touchpad */
> +	trackpad@2c {
> +		compatible = "hid-over-i2c";
> +		reg = <0x2c>;
> +		hid-descr-addr = <0x20>;
> +		interrupts-extended = <&pio 15 IRQ_TYPE_LEVEL_LOW>;
> +		wakeup-source;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> index 08d71ddf3668..8dda8b63765b 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> @@ -335,14 +335,12 @@ &i2c2 {
>   	clock-frequency = <400000>;
>   	clock-stretch-ns = <12600>;
>   	pinctrl-names = "default";
> -	pinctrl-0 = <&i2c2_pins>;
> +	pinctrl-0 = <&i2c2_pins>, <&trackpad_pins>;
>   
>   	trackpad@15 {
>   		compatible = "elan,ekth3000";
>   		reg = <0x15>;
>   		interrupts-extended = <&pio 15 IRQ_TYPE_LEVEL_LOW>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&trackpad_pins>;
>   		vcc-supply = <&pp3300_u>;
>   		wakeup-source;
>   	};