[PATCH v2 1/3] ARM: dts: imx7d-remarkable2: Enable the cyttsp5

Marco Felsch m.felsch at pengutronix.de
Tue Dec 20 05:20:33 PST 2022


Hi Alistair,                                                                                                                            

thanks for your patch, please see below.

On 22-12-20, Alistair Francis wrote:
> Add support for the cyttsp5 touchscreen controller for the reMarkable 2.
> 
> Signed-off-by: Alistair Francis <alistair at alistair23.me>
> ---
>  arch/arm/boot/dts/imx7d-remarkable2.dts | 98 +++++++++++++++++++++++++
>  1 file changed, 98 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
> index 8b2f11e85e05..a138b292ec6a 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";
> @@ -69,6 +70,18 @@ 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", "sleep";
> +		pinctrl-0 = <&pinctrl_touch_reg>;
> +		pinctrl-1 = <&pinctrl_touch_reg>;

Why do we need a "sleep" state here?

> +		gpio = <&gpio1 11 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +	};
> +
>  	wifi_pwrseq: wifi_pwrseq {
>  		compatible = "mmc-pwrseq-simple";
>  		pinctrl-names = "default";
> @@ -106,6 +119,68 @@ wacom_digitizer: digitizer at 9 {
>  	};
>  };
>  
> +&i2c3 {
> +	clock-frequency = <100000>;

This can be set to 400kHz, the driver handle the quirks internal.

Regards,
  Marco

> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c3>;
> +	status = "okay";
> +
> +	touchscreen at 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 at 0 {
> +			reg = <0>;
> +			linux,keycodes = <KEY_HOMEPAGE>;
> +		};
> +
> +		button at 1 {
> +			reg = <1>;
> +			linux,keycodes = <KEY_MENU>;
> +		};
> +
> +		button at 2 {
> +			reg = <2>;
> +			linux,keycodes = <KEY_BACK>;
> +		};
> +
> +		button at 3 {
> +			reg = <3>;
> +			linux,keycodes = <KEY_SEARCH>;
> +		};
> +
> +		button at 4 {
> +			reg = <4>;
> +			linux,keycodes = <KEY_VOLUMEDOWN>;
> +		};
> +
> +		button at 5 {
> +			reg = <5>;
> +			linux,keycodes = <KEY_VOLUMEUP>;
> +		};
> +
> +		button at 6 {
> +			reg = <6>;
> +			linux,keycodes = <KEY_CAMERA>;
> +		};
> +
> +		button at 7 {
> +			reg = <7>;
> +			linux,keycodes = <KEY_POWER>;
> +		};
> +	};
> +};
> +
>  &i2c4 {
>  	clock-frequency = <100000>;
>  	pinctrl-names = "default", "sleep";
> @@ -232,6 +307,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 +323,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 +337,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
> -- 
> 2.38.1
> 
> 
> 



More information about the linux-arm-kernel mailing list