arm64: dts: mediatek: asurada: Add I2C touchscreen
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Wed, 29 Jun 2022 15:59:48 +0000 (11:59 -0400)
committerMatthias Brugger <matthias.bgg@gmail.com>
Thu, 7 Jul 2022 14:39:17 +0000 (16:39 +0200)
All machines of the Asurada platform have a touchscreen at address 0x10
in the I2C0 bus, but the devices vary: Spherion has the Elan eKTH3500
touchscreen, while Hayato has a generic HID-over-i2c touchscreen.

Add common support for the touchscreens on the platform and the
specifics in each board file.

Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tested-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20220629155956.1138955-12-nfraprado@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
arch/arm64/boot/dts/mediatek/mt8192-asurada-hayato-r1.dts
arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts
arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi

index ca18fcf..1e91491 100644 (file)
                CROS_STD_MAIN_KEYMAP
        >;
 };
+
+&touchscreen {
+       compatible = "hid-over-i2c";
+       post-power-on-delay-ms = <10>;
+       hid-descr-addr = <0x0001>;
+       vdd-supply = <&pp3300_u>;
+};
index 30b0389..42db81e 100644 (file)
@@ -40,3 +40,7 @@
                CROS_STD_MAIN_KEYMAP
        >;
 };
+
+&touchscreen {
+       compatible = "elan,ekth3500";
+};
index 4de4235..6eace28 100644 (file)
        clock-frequency = <400000>;
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins>;
+
+       touchscreen: touchscreen@10 {
+               reg = <0x10>;
+               interrupts-extended = <&pio 21 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&touchscreen_pins>;
+       };
 };
 
 &i2c1 {
                        bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
                };
        };
+
+       touchscreen_pins: touchscreen-default-pins {
+               pins-irq {
+                       pinmux = <PINMUX_GPIO21__FUNC_GPIO21>;
+                       input-enable;
+                       bias-pull-up;
+               };
+
+               pins-reset {
+                       pinmux = <PINMUX_GPIO137__FUNC_GPIO137>;
+                       output-high;
+               };
+
+               pins-report-sw {
+                       pinmux = <PINMUX_GPIO138__FUNC_GPIO138>;
+                       output-low;
+               };
+       };
 };
 
 &spi1 {