[PATCH] arm64: dts: mediatek: mt8188-geralt: enable touchpad

Icenowy Zheng zhengxingda at iscas.ac.cn
Mon May 4 00:28:46 PDT 2026


Despite the Ciri device's touchpad is on the detachable keyboard, the
I2C HID device seen by Linux is emulated by ChromeOS EC and always
present regardless of the presence of physical touchpad.

Enable the device in the device tree.

Signed-off-by: Icenowy Zheng <zhengxingda at iscas.ac.cn>
---
 .../boot/dts/mediatek/mt8188-geralt.dtsi      | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
index 8e423504ec052..8f801454bf84c 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
@@ -460,6 +460,18 @@ &i2c4 {
 	pinctrl-0 = <&i2c4_pins>;
 	clock-frequency = <400000>;
 	status = "okay";
+
+	/* The touchpad HID device is emulated by EC so it's always present */
+	touchpad: touchpad at 56 {
+		compatible = "hid-over-i2c";
+		reg = <0x56>;
+		hid-descr-addr = <0x0001>;
+		interrupt-parent = <&pio>;
+		interrupts = <148 IRQ_TYPE_LEVEL_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&touchpad_int>;
+		wakeup-source;
+	};
 };
 
 &i2c5 {
@@ -1131,6 +1143,14 @@ pins-bus {
 		};
 	};
 
+	touchpad_int: touchpad-int-pins {
+		pins-ec-ap-touchpad-int-odl {
+			pinmux = <PINMUX_GPIO148__FUNC_B_GPIO148>;
+			input-enable;
+			bias-disable;
+		};
+	};
+
 	uart0_pins: uart0-pins {
 		pins-bus {
 			pinmux = <PINMUX_GPIO31__FUNC_O_UTXD0>,
-- 
2.52.0




More information about the linux-arm-kernel mailing list