2020-05-07 11:17:31

by Dillon Min

[permalink] [raw]
Subject: [PATCH V2 3/4] ARM: dts: stm32: enable stmpe811 on stm32429-disco board

From: dillon min <[email protected]>

Enable the stmpe811 touch screen on stm32429-disco board.

Signed-off-by: dillon min <[email protected]>

[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 <[email protected]>
---
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>;
+ };
+ };
+};
--
2.7.4


2020-05-07 11:43:59

by Philippe Schenker

[permalink] [raw]
Subject: Re: [PATCH V2 3/4] ARM: dts: stm32: enable stmpe811 on stm32429-disco board

On Thu, 2020-05-07 at 19:15 +0800, [email protected] wrote:
> From: dillon min <[email protected]>
>
> Enable the stmpe811 touch screen on stm32429-disco board.
>
> Signed-off-by: dillon min <[email protected]>
>
> [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 <[email protected]>

For the STMPE part:

Reviewed-by: Philippe Schenker <[email protected]>

> ---
> 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>;
> + };
> + };
> +};

2020-05-07 11:59:26

by Alexandre Torgue

[permalink] [raw]
Subject: Re: [PATCH V2 3/4] ARM: dts: stm32: enable stmpe811 on stm32429-disco board

Hi Dillon

On 5/7/20 1:15 PM, [email protected] wrote:
> From: dillon min <[email protected]>
>
> Enable the stmpe811 touch screen on stm32429-disco board.
>
> Signed-off-by: dillon min <[email protected]>
>
> [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

Good idea to add changes log for this patch. But this log has to be
placed after "---" below. This log has not to appear in your commit
message. Furthermore, you should only add changes for this patch without
talking about other patches .

>
> Signed-off-by: dillon min <[email protected]>
> ---

Add patch change log here.

> 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>;
> + };
> + };
> +};
>