Re: [PATCH v1 4/4] ARM: dts: imx6dl: plym2m, prtvt7, victgo: make use of new resistive-adc-touch driver

From: Shawn Guo
Date: Sun Dec 05 2021 - 20:06:40 EST


On Mon, Nov 22, 2021 at 01:43:10PM +0100, Oleksij Rempel wrote:
> The tsc2046 is an ADC used as touchscreen controller. To share as mach
> code as possible, we should use it as actual ADC + virtual tochscreen
> controller.
> With this patch we make use of the new kernel IIO and HID infrastructure.
>
> Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>

One space is enough in subject "victgo: make".

> ---
> arch/arm/boot/dts/imx6dl-plym2m.dts | 55 ++++++++++++++++++++---------
> arch/arm/boot/dts/imx6dl-prtvt7.dts | 53 ++++++++++++++++++++-------
> arch/arm/boot/dts/imx6dl-victgo.dts | 55 +++++++++++++++++++++--------
> 3 files changed, 120 insertions(+), 43 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx6dl-plym2m.dts b/arch/arm/boot/dts/imx6dl-plym2m.dts
> index 60fe5f14666e..e2afedae85cb 100644
> --- a/arch/arm/boot/dts/imx6dl-plym2m.dts
> +++ b/arch/arm/boot/dts/imx6dl-plym2m.dts
> @@ -101,6 +101,17 @@ reg_12v0: regulator-12v0 {
> regulator-min-microvolt = <12000000>;
> regulator-max-microvolt = <12000000>;
> };
> +
> + touchscreen {
> + compatible = "resistive-adc-touch";
> + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>;
> + io-channel-names = "y", "z1", "z2", "x";
> + touchscreen-min-pressure = <64687>;
> + touchscreen-inverted-x;
> + touchscreen-inverted-y;
> + touchscreen-x-plate-ohms = <300>;
> + touchscreen-y-plate-ohms = <800>;
> + };
> };
>
> &can1 {
> @@ -129,26 +140,38 @@ &ecspi2 {
> pinctrl-0 = <&pinctrl_ecspi2>;
> status = "okay";
>
> - touchscreen@0 {
> - compatible = "ti,tsc2046";
> + adc: adc@0 {

Isn't label name "adc" too generic?

> + compatible = "ti,tsc2046e-adc";
> reg = <0>;
> pinctrl-0 = <&pinctrl_tsc2046>;
> pinctrl-names ="default";
> - spi-max-frequency = <100000>;
> - interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>;
> - pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
> + spi-max-frequency = <1000000>;
> + interrupts-extended = <&gpio3 20 IRQ_TYPE_LEVEL_LOW>;
> + #io-channel-cells = <1>;
>
> - touchscreen-inverted-x;
> - touchscreen-inverted-y;
> - touchscreen-max-pressure = <4095>;
> -
> - ti,vref-delay-usecs = /bits/ 16 <100>;
> - ti,x-plate-ohms = /bits/ 16 <800>;
> - ti,y-plate-ohms = /bits/ 16 <300>;
> - ti,debounce-max = /bits/ 16 <3>;
> - ti,debounce-tol = /bits/ 16 <70>;
> - ti,debounce-rep = /bits/ 16 <3>;
> - wakeup-source;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + channel@1 {
> + reg = <1>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };

Have a newline between child nodes.

Shawn

> + channel@3 {
> + reg = <3>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> + channel@4 {
> + reg = <4>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> + channel@5 {
> + reg = <5>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> };
> };
>
> diff --git a/arch/arm/boot/dts/imx6dl-prtvt7.dts b/arch/arm/boot/dts/imx6dl-prtvt7.dts
> index 02b53df03e6f..c361e0683973 100644
> --- a/arch/arm/boot/dts/imx6dl-prtvt7.dts
> +++ b/arch/arm/boot/dts/imx6dl-prtvt7.dts
> @@ -235,6 +235,17 @@ simple-audio-card,codec {
> frame-master;
> };
> };
> +
> + touchscreen {
> + compatible = "resistive-adc-touch";
> + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>;
> + io-channel-names = "y", "z1", "z2", "x";
> + touchscreen-min-pressure = <64687>;
> + touchscreen-inverted-x;
> + touchscreen-inverted-y;
> + touchscreen-x-plate-ohms = <300>;
> + touchscreen-y-plate-ohms = <800>;
> + };
> };
>
> &audmux {
> @@ -277,22 +288,38 @@ &ecspi2 {
> pinctrl-0 = <&pinctrl_ecspi2>;
> status = "okay";
>
> - touchscreen@0 {
> - compatible = "ti,tsc2046";
> + adc: adc@0 {
> + compatible = "ti,tsc2046e-adc";
> reg = <0>;
> pinctrl-0 = <&pinctrl_tsc>;
> pinctrl-names ="default";
> - spi-max-frequency = <100000>;
> - interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>;
> - pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
> - touchscreen-max-pressure = <4095>;
> - ti,vref-delay-usecs = /bits/ 16 <100>;
> - ti,x-plate-ohms = /bits/ 16 <800>;
> - ti,y-plate-ohms = /bits/ 16 <300>;
> - ti,debounce-max = /bits/ 16 <3>;
> - ti,debounce-tol = /bits/ 16 <70>;
> - ti,debounce-rep = /bits/ 16 <3>;
> - wakeup-source;
> + spi-max-frequency = <1000000>;
> + interrupts-extended = <&gpio3 20 IRQ_TYPE_LEVEL_LOW>;
> + #io-channel-cells = <1>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + channel@1 {
> + reg = <1>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> + channel@3 {
> + reg = <3>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> + channel@4 {
> + reg = <4>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> + channel@5 {
> + reg = <5>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> };
> };
>
> diff --git a/arch/arm/boot/dts/imx6dl-victgo.dts b/arch/arm/boot/dts/imx6dl-victgo.dts
> index d37ba4ed847d..b5004b322d44 100644
> --- a/arch/arm/boot/dts/imx6dl-victgo.dts
> +++ b/arch/arm/boot/dts/imx6dl-victgo.dts
> @@ -181,6 +181,17 @@ simple-audio-card,codec {
> frame-master;
> };
> };
> +
> + touchscreen {
> + compatible = "resistive-adc-touch";
> + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>;
> + io-channel-names = "y", "z1", "z2", "x";
> + touchscreen-min-pressure = <64687>;
> + touchscreen-inverted-x;
> + touchscreen-inverted-y;
> + touchscreen-x-plate-ohms = <300>;
> + touchscreen-y-plate-ohms = <800>;
> + };
> };
>
> &audmux {
> @@ -244,22 +255,38 @@ &ecspi2 {
> pinctrl-0 = <&pinctrl_ecspi2>;
> status = "okay";
>
> - touchscreen@0 {
> - compatible = "ti,tsc2046";
> + adc: adc@0 {
> + compatible = "ti,tsc2046e-adc";
> reg = <0>;
> - pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_touchscreen>;
> - spi-max-frequency = <200000>;
> - interrupts-extended = <&gpio5 8 IRQ_TYPE_EDGE_FALLING>;
> - pendown-gpio = <&gpio5 8 GPIO_ACTIVE_LOW>;
> - touchscreen-size-x = <800>;
> - touchscreen-size-y = <480>;
> - touchscreen-inverted-y;
> - touchscreen-max-pressure = <4095>;
> - ti,vref-delay-usecs = /bits/ 16 <100>;
> - ti,x-plate-ohms = /bits/ 16 <800>;
> - ti,y-plate-ohms = /bits/ 16 <300>;
> - wakeup-source;
> + pinctrl-names ="default";
> + spi-max-frequency = <1000000>;
> + interrupts-extended = <&gpio5 8 IRQ_TYPE_LEVEL_LOW>;
> + #io-channel-cells = <1>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + channel@1 {
> + reg = <1>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> + channel@3 {
> + reg = <3>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> + channel@4 {
> + reg = <4>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> + channel@5 {
> + reg = <5>;
> + settling-time-us = <700>;
> + oversampling-ratio = <5>;
> + };
> };
> };
>
> --
> 2.30.2
>