On Thu, 2020-05-07 at 19:15 +0800, dillon.min...@gmail.com wrote: > From: dillon min <dillon.min...@gmail.com> > > Enable the stmpe811 touch screen on stm32429-disco board. > > Signed-off-by: dillon min <dillon.min...@gmail.com> > > [PATCH 3/4]: ARM: dts: stm32: enable stmpe811 on stm32429-disco > > V2: > patch 3: remove unused id, blocks, irq-trigger > > V1: > patch 4: fix read touch screen xyz timeout bug > patch 3: enable stmpe_touchscreen on stm32f429-disco board > patch 2: add i2c3 pin mux for stm32f4 > patch 1: add i2c3 controller interface for stm32f4 > > Signed-off-by: dillon min <dillon.min...@gmail.com>
For the STMPE part: Reviewed-by: Philippe Schenker <philippe.schen...@toradex.com> > --- > arch/arm/boot/dts/stm32f429-disco.dts | 47 > +++++++++++++++++++++++++++++++++++ > 1 file changed, 47 insertions(+) > > diff --git a/arch/arm/boot/dts/stm32f429-disco.dts > b/arch/arm/boot/dts/stm32f429-disco.dts > index 30c0f67..fad1ec1 100644 > --- a/arch/arm/boot/dts/stm32f429-disco.dts > +++ b/arch/arm/boot/dts/stm32f429-disco.dts > @@ -49,6 +49,8 @@ > #include "stm32f429.dtsi" > #include "stm32f429-pinctrl.dtsi" > #include <dt-bindings/input/input.h> > +#include <dt-bindings/interrupt-controller/irq.h> > +#include <dt-bindings/gpio/gpio.h> > > / { > model = "STMicroelectronics STM32F429i-DISCO board"; > @@ -127,3 +129,48 @@ > pinctrl-names = "default"; > 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>; > + }; > + }; > +};