ARM: dts: iwg22d-sodimm: Enable touchscreen
authorMarian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
Wed, 4 Mar 2020 15:44:10 +0000 (15:44 +0000)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 11 Mar 2020 08:01:09 +0000 (09:01 +0100)
In one of the iWave-G22D development board variants, called Generic SODIMM
Development Platform, we have an LCD with touchscreen. The resistive touch
controller, STMPE811 is on the development board and is connected through
the i2c5 of the RZ-G1E.

Additionally, this controller should generate an interrupt to the CPU and
it is connected through GPIO4,4 to the GIC.

Touch was tested with one of our iW-RainboW-G22D-SODIMM RZ/G1E development
platforms.

More details on the iWave website:
https://www.iwavesystems.com/rz-g1e-sodimm-development-kit.html

Signed-off-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
Link: https://lore.kernel.org/r/1583336650-25848-1-git-send-email-marian-cristian.rotariu.rb@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts

index 2487ba0e9c9f5aace5ede70b2b78ed20b40e70d5..b15b1b088a3239045515db3635a461f9b803be9a 100644 (file)
        status = "okay";
        clock-frequency = <400000>;
 
+       stmpe811@44 {
+               compatible = "st,stmpe811";
+               reg = <0x44>;
+               interrupt-parent = <&gpio4>;
+               interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
+
+               /* 3.25 MHz ADC clock speed */
+               st,adc-freq = <1>;
+               /* ADC converstion time: 80 clocks */
+               st,sample-time = <4>;
+               /* 12-bit ADC */
+               st,mod-12b = <1>;
+               /* internal ADC reference */
+               st,ref-sel = <0>;
+
+               stmpe_touchscreen {
+                       compatible = "st,stmpe-ts";
+                       /* 8 sample average control */
+                       st,ave-ctrl = <3>;
+                       /* 7 length fractional part in z */
+                       st,fraction-z = <7>;
+                       /*
+                        * 50 mA typical 80 mA max touchscreen drivers
+                        * current limit value
+                        */
+                       st,i-drive = <1>;
+                       /* 1 ms panel driver settling time */
+                       st,settling = <3>;
+                       /* 5 ms touch detect interrupt delay */
+                       st,touch-det-delay = <5>;
+               };
+       };
+
        sgtl5000: codec@a {
                compatible = "fsl,sgtl5000";
                #sound-dai-cells = <0>;