ARM: dts: stm32: enable stmpe811 on stm32429-disco board
authordillon min <dillon.minfei@gmail.com>
Tue, 9 Jun 2020 13:26:42 +0000 (21:26 +0800)
committerAlexandre Torgue <alexandre.torgue@st.com>
Mon, 15 Jun 2020 09:27:21 +0000 (11:27 +0200)
Enable the stmpe811 touch screen on stm32429-disco board.

Signed-off-by: dillon min <dillon.minfei@gmail.com>
Reviewed-by: Philippe Schenker <philippe.schenker@toradex.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
arch/arm/boot/dts/stm32f429-disco.dts

index baed482..f125d30 100644 (file)
        status = "okay";
 };
 
+&i2c3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c3_pins>;
+       clock-frequency = <100000>;
+       status = "okay";
+
+       stmpe811@41 {
+               compatible = "st,stmpe811";
+               reg = <0x41>;
+               interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
+               interrupt-parent = <&gpioa>;
+               /* 3.25 MHz ADC clock speed */
+               st,adc-freq = <1>;
+               /* 12-bit ADC */
+               st,mod-12b = <1>;
+               /* internal ADC reference */
+               st,ref-sel = <0>;
+               /* ADC converstion time: 80 clocks */
+               st,sample-time = <4>;
+
+               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>;
+               };
+
+               stmpe_adc {
+                       compatible = "st,stmpe-adc";
+                       /* forbid to use ADC channels 3-0 (touch) */
+                       st,norequest-mask = <0x0F>;
+               };
+       };
+};
+
 &ltdc {
        status = "okay";
        pinctrl-0 = <&ltdc_pins_b>;