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

Shawn Guo shawnguo at kernel.org
Sun Dec 5 17:06:28 PST 2021


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 at pengutronix.de>

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 at 0 {
> -		compatible = "ti,tsc2046";
> +	adc: adc at 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 at 1 {
> +			reg = <1>;
> +			settling-time-us = <700>;
> +			oversampling-ratio = <5>;
> +		};

Have a newline between child nodes.

Shawn

> +		channel at 3 {
> +			reg = <3>;
> +			settling-time-us = <700>;
> +			oversampling-ratio = <5>;
> +		};
> +		channel at 4 {
> +			reg = <4>;
> +			settling-time-us = <700>;
> +			oversampling-ratio = <5>;
> +		};
> +		channel at 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 at 0 {
> -		compatible = "ti,tsc2046";
> +	adc: adc at 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 at 1 {
> +			reg = <1>;
> +			settling-time-us = <700>;
> +			oversampling-ratio = <5>;
> +		};
> +		channel at 3 {
> +			reg = <3>;
> +			settling-time-us = <700>;
> +			oversampling-ratio = <5>;
> +		};
> +		channel at 4 {
> +			reg = <4>;
> +			settling-time-us = <700>;
> +			oversampling-ratio = <5>;
> +		};
> +		channel at 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 at 0 {
> -		compatible = "ti,tsc2046";
> +	adc: adc at 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 at 1 {
> +			reg = <1>;
> +			settling-time-us = <700>;
> +			oversampling-ratio = <5>;
> +		};
> +		channel at 3 {
> +			reg = <3>;
> +			settling-time-us = <700>;
> +			oversampling-ratio = <5>;
> +		};
> +		channel at 4 {
> +			reg = <4>;
> +			settling-time-us = <700>;
> +			oversampling-ratio = <5>;
> +		};
> +		channel at 5 {
> +			reg = <5>;
> +			settling-time-us = <700>;
> +			oversampling-ratio = <5>;
> +		};
>  	};
>  };
>  
> -- 
> 2.30.2
> 



More information about the linux-arm-kernel mailing list