[PATCH v5 4/4] ARM: dts: imx7d-remarkable2: Enable the cyttsp5

From: Alistair Francis
Date: Sun Jan 09 2022 - 06:54:08 EST


Add support for the cyttsp5 touchscreen controller for the reMarkable 2.

Signed-off-by: Alistair Francis <alistair@xxxxxxxxxxxxx>
---
arch/arm/boot/dts/imx7d-remarkable2.dts | 89 +++++++++++++++++++++++++
1 file changed, 89 insertions(+)

diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
index 89cbf13097a4..f12d6805b214 100644
--- a/arch/arm/boot/dts/imx7d-remarkable2.dts
+++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
@@ -8,6 +8,7 @@
/dts-v1/;

#include "imx7d.dtsi"
+#include <dt-bindings/input/linux-event-codes.h>

/ {
model = "reMarkable 2.0";
@@ -34,6 +35,18 @@ reg_brcm: regulator-brcm {
startup-delay-us = <150>;
};

+ reg_touch: regulator-touch {
+ compatible = "regulator-fixed";
+ regulator-name = "VDD_3V3_TOUCH";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pinctrl_touch_reg>;
+ pinctrl-1 = <&pinctrl_touch_reg>;
+ gpio = <&gpio1 11 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
@@ -51,6 +64,59 @@ &clks {
assigned-clock-rates = <0>, <32768>;
};

+&i2c3 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c3>;
+ status = "okay";
+
+ tsc@24 {
+ compatible = "cypress,tt21000";
+ reg = <0x24>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_touch>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
+ reset-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+ vdd-supply = <&reg_touch>;
+ touchscreen-size-x = <880>;
+ touchscreen-size-y = <1280>;
+
+ button-0 {
+ linux,code = <KEY_HOMEPAGE>;
+ };
+
+ button-1 {
+ linux,code = <KEY_MENU>;
+ };
+
+ button-2 {
+ linux,code = <KEY_BACK>;
+ };
+
+ button-3 {
+ linux,code = <KEY_SEARCH>;
+ };
+
+ button-4 {
+ linux,code = <KEY_VOLUMEDOWN>;
+ };
+
+ button-5 {
+ linux,code = <KEY_VOLUMEUP>;
+ };
+
+ button-6 {
+ linux,code = <KEY_CAMERA>;
+ };
+
+ button-7 {
+ linux,code = <KEY_POWER>;
+ };
+ };
+};
+
&snvs_pwrkey {
status = "okay";
};
@@ -125,6 +191,29 @@ MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13 0x14
>;
};

+ pinctrl_touch: touchgrp {
+ fsl,pins = <
+ /* CYTTSP interrupt */
+ MX7D_PAD_GPIO1_IO14__GPIO1_IO14 0x54
+ /* CYTTSP reset */
+ MX7D_PAD_GPIO1_IO13__GPIO1_IO13 0x04
+ >;
+ };
+
+ pinctrl_i2c3: i2c3grp {
+ fsl,pins = <
+ MX7D_PAD_I2C3_SDA__I2C3_SDA 0x4000007f
+ MX7D_PAD_I2C3_SCL__I2C3_SCL 0x4000007f
+ >;
+ };
+
+ pinctrl_touch_reg: touchreggrp {
+ fsl,pins = <
+ /* TOUCH_PWR_EN */
+ MX7D_PAD_GPIO1_IO11__GPIO1_IO11 0x14
+ >;
+ };
+
pinctrl_uart1: uart1grp {
fsl,pins = <
MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79
--
2.31.1