Commit 9628655b authored by Alistair Francis's avatar Alistair Francis Committed by Shawn Guo
Browse files

ARM: dts: imx7d-remarkable2: Enable the cyttsp5



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

Signed-off-by: default avatarAlistair Francis <alistair@alistair23.me>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 9e39a2c9
Loading
Loading
Loading
Loading
+97 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
/dts-v1/;

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

/ {
	model = "reMarkable 2.0";
@@ -69,6 +70,17 @@ reg_digitizer: regulator-digitizer {
		startup-delay-us = <100000>; /* 100 ms */
	};

	reg_touch: regulator-touch {
		compatible = "regulator-fixed";
		regulator-name = "VDD_3V3_TOUCH";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_touch_reg>;
		gpio = <&gpio1 11 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	wifi_pwrseq: wifi_pwrseq {
		compatible = "mmc-pwrseq-simple";
		pinctrl-names = "default";
@@ -106,6 +118,68 @@ wacom_digitizer: digitizer@9 {
	};
};

&i2c3 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;
	status = "okay";

	touchscreen@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>;
		#address-cells = <1>;
		#size-cells = <0>;

		button@0 {
			reg = <0>;
			linux,keycodes = <KEY_HOMEPAGE>;
		};

		button@1 {
			reg = <1>;
			linux,keycodes = <KEY_MENU>;
		};

		button@2 {
			reg = <2>;
			linux,keycodes = <KEY_BACK>;
		};

		button@3 {
			reg = <3>;
			linux,keycodes = <KEY_SEARCH>;
		};

		button@4 {
			reg = <4>;
			linux,keycodes = <KEY_VOLUMEDOWN>;
		};

		button@5 {
			reg = <5>;
			linux,keycodes = <KEY_VOLUMEUP>;
		};

		button@6 {
			reg = <6>;
			linux,keycodes = <KEY_CAMERA>;
		};

		button@7 {
			reg = <7>;
			linux,keycodes = <KEY_POWER>;
		};
	};
};

&i2c4 {
	clock-frequency = <100000>;
	pinctrl-names = "default", "sleep";
@@ -232,6 +306,15 @@ MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x00000014
		>;
	};

	pinctrl_touch: touchgrp {
		fsl,pins = <
			/* CYTTSP interrupt */
			MX7D_PAD_GPIO1_IO14__GPIO1_IO14		0x54
			/* CYTTSP reset */
			MX7D_PAD_GPIO1_IO13__GPIO1_IO13		0x04
		>;
	};

	pinctrl_i2c1: i2c1grp {
		fsl,pins = <
			MX7D_PAD_I2C1_SDA__I2C1_SDA		0x4000007f
@@ -239,6 +322,13 @@ MX7D_PAD_I2C1_SCL__I2C1_SCL 0x4000007f
		>;
	};

	pinctrl_i2c3: i2c3grp {
		fsl,pins = <
			MX7D_PAD_I2C3_SDA__I2C3_SDA		0x4000007f
			MX7D_PAD_I2C3_SCL__I2C3_SCL		0x4000007f
		>;
	};

	pinctrl_i2c4: i2c4grp {
		fsl,pins = <
			MX7D_PAD_I2C4_SDA__I2C4_SDA		0x4000007f
@@ -246,6 +336,13 @@ MX7D_PAD_I2C4_SCL__I2C4_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