]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ARM: dts: imx7d-remarkable2: add wacom digitizer device
authorAlistair Francis <alistair@alistair23.me>
Wed, 8 Dec 2021 12:40:45 +0000 (22:40 +1000)
committerShawn Guo <shawnguo@kernel.org>
Thu, 16 Dec 2021 03:07:18 +0000 (11:07 +0800)
Add Wacom I2C support for the reMarkable 2 eInk tablet using the
generic I2C HID framework.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx7d-remarkable2.dts

index 89cbf13097a4316a4fbf9120408f8914024fe1da..a2a91bfdd98e2ff649f6b9dea07f538a0b13c8ec 100644 (file)
                startup-delay-us = <150>;
        };
 
+       reg_digitizer: regulator-digitizer {
+               compatible = "regulator-fixed";
+               regulator-name = "VDD_3V3_DIGITIZER";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               pinctrl-names = "default", "sleep";
+               pinctrl-0 = <&pinctrl_digitizer_reg>;
+               pinctrl-1 = <&pinctrl_digitizer_reg>;
+               gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               startup-delay-us = <100000>; /* 100 ms */
+       };
+
        wifi_pwrseq: wifi_pwrseq {
                compatible = "mmc-pwrseq-simple";
                pinctrl-names = "default";
        assigned-clock-rates = <0>, <32768>;
 };
 
+&i2c1 {
+       clock-frequency = <400000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c1>;
+       status = "okay";
+
+       wacom_digitizer: digitizer@9 {
+               compatible = "hid-over-i2c";
+               reg = <0x09>;
+               hid-descr-addr = <0x01>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_wacom>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
+               touchscreen-inverted-x;
+               touchscreen-inverted-y;
+               vdd-supply = <&reg_digitizer>;
+       };
+};
+
 &snvs_pwrkey {
        status = "okay";
 };
        fsl,ext-reset-output;
 };
 
+&iomuxc_lpsr {
+       pinctrl_digitizer_reg: digitizerreggrp {
+               fsl,pins = <
+                       /* DIGITIZER_PWR_EN */
+                       MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6     0x14
+               >;
+       };
+
+       pinctrl_wacom: wacomgrp {
+               fsl,pins = <
+                       /*MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5   0x00000014 FWE */
+                       MX7D_PAD_LPSR_GPIO1_IO04__GPIO1_IO4     0x00000074 /* PDCTB */
+                       MX7D_PAD_LPSR_GPIO1_IO01__GPIO1_IO1     0x00000034 /* WACOM INT */
+                       /*MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6   0x00000014 WACOM PWR ENABLE */
+                       /*MX7D_PAD_LPSR_GPIO1_IO00__GPIO1_IO0   0x00000074 WACOM RESET */
+               >;
+       };
+};
+
 &iomuxc {
        pinctrl_brcm_reg: brcmreggrp {
                fsl,pins = <
                >;
        };
 
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX7D_PAD_I2C1_SDA__I2C1_SDA             0x4000007f
+                       MX7D_PAD_I2C1_SCL__I2C1_SCL             0x4000007f
+               >;
+       };
+
        pinctrl_uart1: uart1grp {
                fsl,pins = <
                        MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX    0x79