summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml
blob: 8f6335d7da1c53e2b20c565cebc81044fdf7a792 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/ti,ads7843.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TI's SPI driven touch screen controllers

maintainers:
  - Alexander Stein <alexander.stein@ew.tq-group.com>
  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
  - Marek Vasut <marex@denx.de>

description:
  TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046 SPI driven touch screen
  controllers.

properties:
  compatible:
    enum:
      - ti,ads7843
      - ti,ads7845
      - ti,ads7846
      - ti,ads7873
      - ti,tsc2046

  interrupts:
    maxItems: 1

  pendown-gpio:
    maxItems: 1
    description:
      GPIO handle describing the pin the !PENIRQ line is connected to.

  vcc-supply:
    description:
      A regulator node for the supply voltage.

  wakeup-source: true

  ti,debounce-max:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Max number of additional readings per sample.

  ti,debounce-rep:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Additional consecutive good readings required after the first two.

  ti,debounce-tol:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Tolerance used for filtering.

  ti,hsync-gpios:
    maxItems: 1
    description:
      GPIO line to poll for hsync.

  ti,keep-vref-on:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Set to keep Vref on for differential measurements as well.

  ti,pendown-gpio-debounce:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Platform specific debounce time for the pendown-gpio.

  ti,penirq-recheck-delay-usecs:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      If set to non-zero, after samples are taken this delay is applied and
      penirq is rechecked, to help avoid false events.  This value is
      affected by the material used to build the touch layer.

  ti,pressure-max:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Maximum reported pressure value.

  ti,pressure-min:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Minimum reported pressure value (threshold).

  ti,settle-delay-usec:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Settling time of the analog signals; a function of Vcc and the
      capacitance on the X/Y drivers.  If set to non-zero, two samples are
      taken with settle_delay us apart, and the second one is used. ~150
      uSec with 0.01uF caps.

  ti,swap-xy:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Swap x and y axis.

  ti,vref-delay-usecs:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Vref supply delay in usecs, 0 for external Vref.

  ti,vref-mv:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      The VREF voltage, in millivolts.
      Set to 0 to use internal references (ADS7846).

  ti,x-plate-ohms:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Resistance of the X-plate, in Ohms.

  ti,x-max:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Maximum value on the X axis.

  ti,x-min:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Minimum value on the X axis.

  ti,y-plate-ohms:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Resistance of the Y-plate, in Ohms.

  ti,y-max:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Maximum value on the Y axis.

  ti,y-min:
    deprecated: true
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Minimum value on the Y axis.

required:
  - compatible
  - reg

allOf:
  - $ref: touchscreen.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
  - |
    spi{
        #address-cells = <1>;
        #size-cells = <0>;

        touchscreen@0 {
            compatible = "ti,tsc2046";
            reg = <0>;	/* CS0 */
            interrupt-parent = <&gpio1>;
            interrupts = <8 0>;	/* BOOT6 / GPIO 8 */
            pendown-gpio = <&gpio1 8 0>;
            spi-max-frequency = <1000000>;
            vcc-supply = <&reg_vcc3>;
            wakeup-source;

            ti,pressure-max = /bits/ 16 <255>;
            ti,x-max = /bits/ 16 <8000>;
            ti,x-min = /bits/ 16 <0>;
            ti,x-plate-ohms = /bits/ 16 <40>;
            ti,y-max = /bits/ 16 <4800>;
            ti,y-min = /bits/ 16 <0>;
        };
    };