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

Alistair Francis alistair23 at gmail.com
Fri Jan 6 04:44:50 PST 2023


On Wed, Dec 21, 2022 at 2:51 AM Ahmad Fatoum <a.fatoum at pengutronix.de> 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 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?

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 at 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 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
> >>
> >>
> >>
> >
> >
>
> --
> 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 |
>



More information about the linux-arm-kernel mailing list