blob: b81799d7076aa7b1a149e7b600453f0107b8f9c1 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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};