1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
2 //
3 // Copyright (C) 2020 Pengutronix, Ulrich Oelmann <kernel@pengutronix.de>
4 
5 / {
6 	touchscreen {
7 		compatible = "resistive-adc-touch";
8 		io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>, <&adc_ts 5>;
9 		io-channel-names = "y", "z1", "z2", "x";
10 		touchscreen-min-pressure = <65000>;
11 		touchscreen-inverted-y;
12 		touchscreen-swapped-x-y;
13 		touchscreen-x-plate-ohms = <300>;
14 		touchscreen-y-plate-ohms = <800>;
15 	};
16 };
17 
18 &ecspi4 {
19 	pinctrl-names = "default";
20 	pinctrl-0 = <&pinctrl_ecspi4>;
21 	cs-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
22 	status = "okay";
23 
24 	adc_ts: adc@0 {
25 		compatible = "ti,tsc2046e-adc";
26 		reg = <0>;
27 		pinctrl-0 = <&pinctrl_touch>;
28 		pinctrl-names = "default";
29 		spi-max-frequency = <1000000>;
30 		interrupts-extended = <&gpio3 19 IRQ_TYPE_LEVEL_LOW>;
31 		#io-channel-cells = <1>;
32 
33 		#address-cells = <1>;
34 		#size-cells = <0>;
35 
36 		channel@1 {
37 			reg = <1>;
38 			settling-time-us = <700>;
39 			oversampling-ratio = <5>;
40 		};
41 
42 		channel@3 {
43 			reg = <3>;
44 			settling-time-us = <700>;
45 			oversampling-ratio = <5>;
46 		};
47 
48 		channel@4 {
49 			reg = <4>;
50 			settling-time-us = <700>;
51 			oversampling-ratio = <5>;
52 		};
53 
54 		channel@5 {
55 			reg = <5>;
56 			settling-time-us = <700>;
57 			oversampling-ratio = <5>;
58 		};
59 	};
60 };
61 
62 &iomuxc {
63 	pinctrl_ecspi4: ecspi4grp {
64 		fsl,pins = <
65 			MX6QDL_PAD_EIM_D28__ECSPI4_MOSI			0x100b1
66 			MX6QDL_PAD_EIM_D22__ECSPI4_MISO			0x000b1
67 			MX6QDL_PAD_EIM_D21__ECSPI4_SCLK			0x000b1
68 			/* *no* external pull up */
69 			MX6QDL_PAD_EIM_D20__GPIO3_IO20		0x40000058
70 		>;
71 	};
72 
73 	pinctrl_touch: touchgrp {
74 		fsl,pins = <
75 			/* external pull up */
76 			MX6QDL_PAD_EIM_D19__GPIO3_IO19			0x10040
77 		>;
78 	};
79 };
80