On Wed, Dec 21, 2022 at 2:51 AM Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> wrote: > > Hello Alistair, > Hello Marco, > > On 20.12.22 14:20, Marco Felsch wrote: > > 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@xxxxxxxxxxxxx> > >> --- > >> 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? Removed > > > >> + 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@9 { > >> }; > >> }; > >> > >> +&i2c3 { > >> + clock-frequency = <100000>; > > > > This can be set to 400kHz, the driver handle the quirks internal. > > I would either leave this at 100kHz or increase to the maximum of > 384 kHz. DT is supposed to describe the hardware and if 400 kHz > isn't a safe frequency, it should be avoided, even if the Linux > driver handles it gracefully. I'm going to leave this at 100kHz then. Let me know if you want me to bump it to 384kHz instead. Alistair > > Cheers, > Ahmad > > > > > Regards, > > Marco > > > >> + 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 = <®_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 +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 > >> > >> > >> > > > > > > -- > Pengutronix e.K. | | > Steuerwalder Str. 21 | http://www.pengutronix.de/ | > 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | >