Commit add9b6b6 authored by Oleksij Rempel's avatar Oleksij Rempel Committed by Shawn Guo
Browse files

ARM: dts: imx6dl: plym2m, prtvt7, victgo: make use of new resistive-adc-touch driver



The tsc2046 is an ADC used as touchscreen controller. To share as mach
code as possible, we should use it as actual ADC + virtual touchscreen
controller.
With this patch we make use of the new kernel IIO and HID infrastructure.

Signed-off-by: default avatarOleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 9a6dbef4
Loading
Loading
Loading
Loading
+43 −16
Original line number Diff line number Diff line
@@ -101,6 +101,18 @@ reg_12v0: regulator-12v0 {
		regulator-min-microvolt = <12000000>;
		regulator-max-microvolt = <12000000>;
	};

	touchscreen {
		compatible = "resistive-adc-touch";
		io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>,
                              <&adc_ts 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 +141,41 @@ &ecspi2 {
	pinctrl-0 = <&pinctrl_ecspi2>;
	status = "okay";

	touchscreen@0 {
		compatible = "ti,tsc2046";
	adc_ts: adc@0 {
		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>;
		};

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

+44 −13
Original line number Diff line number Diff line
@@ -235,6 +235,18 @@ simple-audio-card,codec {
			frame-master;
		};
	};

	touchscreen {
		compatible = "resistive-adc-touch";
		io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>,
                              <&adc_ts 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 +289,41 @@ &ecspi2 {
	pinctrl-0 = <&pinctrl_ecspi2>;
	status = "okay";

	touchscreen@0 {
		compatible = "ti,tsc2046";
	adc_ts: 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>;
		};
	};
};

+45 −14
Original line number Diff line number Diff line
@@ -181,6 +181,18 @@ simple-audio-card,codec {
			frame-master;
		};
	};

	touchscreen {
		compatible = "resistive-adc-touch";
		io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>,
                              <&adc_ts 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 +256,41 @@ &ecspi2 {
	pinctrl-0 = <&pinctrl_ecspi2>;
	status = "okay";

	touchscreen@0 {
		compatible = "ti,tsc2046";
	adc_ts: 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>;
		};
	};
};