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