xref: /freebsd/sys/contrib/device-tree/Bindings/input/touchscreen/azoteq,iqs7211.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2aa1a8ff2SEmmanuel Vadot%YAML 1.2
3aa1a8ff2SEmmanuel Vadot---
4aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/input/touchscreen/azoteq,iqs7211.yaml#
5aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6aa1a8ff2SEmmanuel Vadot
7aa1a8ff2SEmmanuel Vadottitle: Azoteq IQS7210A/7211A/E Trackpad/Touchscreen Controller
8aa1a8ff2SEmmanuel Vadot
9aa1a8ff2SEmmanuel Vadotmaintainers:
10aa1a8ff2SEmmanuel Vadot  - Jeff LaBundy <jeff@labundy.com>
11aa1a8ff2SEmmanuel Vadot
12aa1a8ff2SEmmanuel Vadotdescription: |
13aa1a8ff2SEmmanuel Vadot  The Azoteq IQS7210A, IQS7211A and IQS7211E trackpad and touchscreen control-
14aa1a8ff2SEmmanuel Vadot  lers employ projected-capacitance sensing and can track two contacts.
15aa1a8ff2SEmmanuel Vadot
16aa1a8ff2SEmmanuel Vadot  Link to datasheets: https://www.azoteq.com/
17aa1a8ff2SEmmanuel Vadot
18aa1a8ff2SEmmanuel Vadotproperties:
19aa1a8ff2SEmmanuel Vadot  compatible:
20aa1a8ff2SEmmanuel Vadot    enum:
21aa1a8ff2SEmmanuel Vadot      - azoteq,iqs7210a
22aa1a8ff2SEmmanuel Vadot      - azoteq,iqs7211a
23aa1a8ff2SEmmanuel Vadot      - azoteq,iqs7211e
24aa1a8ff2SEmmanuel Vadot
25aa1a8ff2SEmmanuel Vadot  reg:
26aa1a8ff2SEmmanuel Vadot    maxItems: 1
27aa1a8ff2SEmmanuel Vadot
28aa1a8ff2SEmmanuel Vadot  irq-gpios:
29aa1a8ff2SEmmanuel Vadot    maxItems: 1
30aa1a8ff2SEmmanuel Vadot    description:
31aa1a8ff2SEmmanuel Vadot      Specifies the GPIO connected to the device's active-low RDY output. The
32aa1a8ff2SEmmanuel Vadot      pin doubles as the IQS7211E's active-low MCLR input, in which case this
33aa1a8ff2SEmmanuel Vadot      GPIO must be configured as open-drain.
34aa1a8ff2SEmmanuel Vadot
35aa1a8ff2SEmmanuel Vadot  reset-gpios:
36aa1a8ff2SEmmanuel Vadot    maxItems: 1
37aa1a8ff2SEmmanuel Vadot    description:
38aa1a8ff2SEmmanuel Vadot      Specifies the GPIO connected to the device's active-low MCLR input. The
39aa1a8ff2SEmmanuel Vadot      device is temporarily held in hardware reset prior to initialization if
40aa1a8ff2SEmmanuel Vadot      this property is present.
41aa1a8ff2SEmmanuel Vadot
42aa1a8ff2SEmmanuel Vadot  azoteq,forced-comms:
43aa1a8ff2SEmmanuel Vadot    type: boolean
44aa1a8ff2SEmmanuel Vadot    description:
45aa1a8ff2SEmmanuel Vadot      Enables forced communication; to be used with host adapters that cannot
46aa1a8ff2SEmmanuel Vadot      tolerate clock stretching.
47aa1a8ff2SEmmanuel Vadot
48aa1a8ff2SEmmanuel Vadot  azoteq,forced-comms-default:
49aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
50aa1a8ff2SEmmanuel Vadot    enum: [0, 1]
51aa1a8ff2SEmmanuel Vadot    description:
52aa1a8ff2SEmmanuel Vadot      Indicates if the device's OTP memory enables (1) or disables (0) forced
53aa1a8ff2SEmmanuel Vadot      communication by default. Specifying this property can expedite startup
54aa1a8ff2SEmmanuel Vadot      time if the default value is known.
55aa1a8ff2SEmmanuel Vadot
56aa1a8ff2SEmmanuel Vadot      If this property is not specified, communication is not initiated until
57aa1a8ff2SEmmanuel Vadot      the device asserts its RDY pin shortly after exiting hardware reset. At
58aa1a8ff2SEmmanuel Vadot      that point, forced communication is either enabled or disabled based on
59aa1a8ff2SEmmanuel Vadot      the presence or absence of the 'azoteq,forced-comms' property.
60aa1a8ff2SEmmanuel Vadot
61aa1a8ff2SEmmanuel Vadot  azoteq,rate-active-ms:
62aa1a8ff2SEmmanuel Vadot    minimum: 0
63aa1a8ff2SEmmanuel Vadot    maximum: 65535
64aa1a8ff2SEmmanuel Vadot    description: Specifies the report rate (in ms) during active mode.
65aa1a8ff2SEmmanuel Vadot
66aa1a8ff2SEmmanuel Vadot  azoteq,rate-touch-ms:
67aa1a8ff2SEmmanuel Vadot    minimum: 0
68aa1a8ff2SEmmanuel Vadot    maximum: 65535
69aa1a8ff2SEmmanuel Vadot    description: Specifies the report rate (in ms) during idle-touch mode.
70aa1a8ff2SEmmanuel Vadot
71aa1a8ff2SEmmanuel Vadot  azoteq,rate-idle-ms:
72aa1a8ff2SEmmanuel Vadot    minimum: 0
73aa1a8ff2SEmmanuel Vadot    maximum: 65535
74aa1a8ff2SEmmanuel Vadot    description: Specifies the report rate (in ms) during idle mode.
75aa1a8ff2SEmmanuel Vadot
76aa1a8ff2SEmmanuel Vadot  azoteq,rate-lp1-ms:
77aa1a8ff2SEmmanuel Vadot    minimum: 0
78aa1a8ff2SEmmanuel Vadot    maximum: 65535
79aa1a8ff2SEmmanuel Vadot    description: Specifies the report rate (in ms) during low-power mode 1.
80aa1a8ff2SEmmanuel Vadot
81aa1a8ff2SEmmanuel Vadot  azoteq,rate-lp2-ms:
82aa1a8ff2SEmmanuel Vadot    minimum: 0
83aa1a8ff2SEmmanuel Vadot    maximum: 65535
84aa1a8ff2SEmmanuel Vadot    description: Specifies the report rate (in ms) during low-power mode 2.
85aa1a8ff2SEmmanuel Vadot
86aa1a8ff2SEmmanuel Vadot  azoteq,timeout-active-ms:
87aa1a8ff2SEmmanuel Vadot    multipleOf: 1000
88aa1a8ff2SEmmanuel Vadot    minimum: 0
89aa1a8ff2SEmmanuel Vadot    maximum: 65535000
90aa1a8ff2SEmmanuel Vadot    description:
91aa1a8ff2SEmmanuel Vadot      Specifies the length of time (in ms) to wait for an event before moving
92aa1a8ff2SEmmanuel Vadot      from active mode to idle or idle-touch modes.
93aa1a8ff2SEmmanuel Vadot
94aa1a8ff2SEmmanuel Vadot  azoteq,timeout-touch-ms:
95aa1a8ff2SEmmanuel Vadot    multipleOf: 1000
96aa1a8ff2SEmmanuel Vadot    minimum: 0
97aa1a8ff2SEmmanuel Vadot    maximum: 65535000
98aa1a8ff2SEmmanuel Vadot    description:
99aa1a8ff2SEmmanuel Vadot      Specifies the length of time (in ms) to wait for an event before moving
100aa1a8ff2SEmmanuel Vadot      from idle-touch mode to idle mode.
101aa1a8ff2SEmmanuel Vadot
102aa1a8ff2SEmmanuel Vadot  azoteq,timeout-idle-ms:
103aa1a8ff2SEmmanuel Vadot    multipleOf: 1000
104aa1a8ff2SEmmanuel Vadot    minimum: 0
105aa1a8ff2SEmmanuel Vadot    maximum: 65535000
106aa1a8ff2SEmmanuel Vadot    description:
107aa1a8ff2SEmmanuel Vadot      Specifies the length of time (in ms) to wait for an event before moving
108aa1a8ff2SEmmanuel Vadot      from idle mode to low-power mode 1.
109aa1a8ff2SEmmanuel Vadot
110aa1a8ff2SEmmanuel Vadot  azoteq,timeout-lp1-ms:
111aa1a8ff2SEmmanuel Vadot    multipleOf: 1000
112aa1a8ff2SEmmanuel Vadot    minimum: 0
113aa1a8ff2SEmmanuel Vadot    maximum: 65535000
114aa1a8ff2SEmmanuel Vadot    description:
115aa1a8ff2SEmmanuel Vadot      Specifies the length of time (in ms) to wait for an event before moving
116aa1a8ff2SEmmanuel Vadot      from low-power mode 1 to low-power mode 2.
117aa1a8ff2SEmmanuel Vadot
118aa1a8ff2SEmmanuel Vadot  azoteq,timeout-lp2-ms:
119aa1a8ff2SEmmanuel Vadot    multipleOf: 1000
120aa1a8ff2SEmmanuel Vadot    minimum: 0
121aa1a8ff2SEmmanuel Vadot    maximum: 60000
122aa1a8ff2SEmmanuel Vadot    description:
123aa1a8ff2SEmmanuel Vadot      Specifies the rate (in ms) at which the trackpad reference values
124aa1a8ff2SEmmanuel Vadot      are updated during low-power modes 1 and 2.
125aa1a8ff2SEmmanuel Vadot
126aa1a8ff2SEmmanuel Vadot  azoteq,timeout-ati-ms:
127aa1a8ff2SEmmanuel Vadot    multipleOf: 1000
128aa1a8ff2SEmmanuel Vadot    minimum: 0
129aa1a8ff2SEmmanuel Vadot    maximum: 60000
130aa1a8ff2SEmmanuel Vadot    description:
131aa1a8ff2SEmmanuel Vadot      Specifies the delay (in ms) before the automatic tuning implementation
132aa1a8ff2SEmmanuel Vadot      (ATI) is retried in the event it fails to complete.
133aa1a8ff2SEmmanuel Vadot
134aa1a8ff2SEmmanuel Vadot  azoteq,timeout-comms-ms:
135aa1a8ff2SEmmanuel Vadot    minimum: 0
136aa1a8ff2SEmmanuel Vadot    maximum: 65535
137aa1a8ff2SEmmanuel Vadot    description:
138aa1a8ff2SEmmanuel Vadot      Specifies the delay (in ms) before a communication window is closed.
139aa1a8ff2SEmmanuel Vadot
140aa1a8ff2SEmmanuel Vadot  azoteq,timeout-press-ms:
141aa1a8ff2SEmmanuel Vadot    multipleOf: 1000
142aa1a8ff2SEmmanuel Vadot    minimum: 0
143aa1a8ff2SEmmanuel Vadot    maximum: 60000
144aa1a8ff2SEmmanuel Vadot    description:
145aa1a8ff2SEmmanuel Vadot      Specifies the length of time (in ms) to wait before automatically
146aa1a8ff2SEmmanuel Vadot      releasing a press event. Specify zero to allow the press state to
147aa1a8ff2SEmmanuel Vadot      persist indefinitely.
148aa1a8ff2SEmmanuel Vadot
149aa1a8ff2SEmmanuel Vadot  azoteq,fosc-freq:
150aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
151aa1a8ff2SEmmanuel Vadot    enum: [0, 1]
152aa1a8ff2SEmmanuel Vadot    description: |
153aa1a8ff2SEmmanuel Vadot      Specifies the device's core clock frequency as follows:
154aa1a8ff2SEmmanuel Vadot      0: 14 MHz
155aa1a8ff2SEmmanuel Vadot      1: 18 MHz
156aa1a8ff2SEmmanuel Vadot
157aa1a8ff2SEmmanuel Vadot  azoteq,fosc-trim:
158aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
159aa1a8ff2SEmmanuel Vadot    minimum: 0
160aa1a8ff2SEmmanuel Vadot    maximum: 15
161aa1a8ff2SEmmanuel Vadot    description: Specifies the device's core clock frequency trim.
162aa1a8ff2SEmmanuel Vadot
163aa1a8ff2SEmmanuel Vadot  azoteq,num-contacts:
164aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
165aa1a8ff2SEmmanuel Vadot    minimum: 0
166aa1a8ff2SEmmanuel Vadot    maximum: 2
167aa1a8ff2SEmmanuel Vadot    default: 0
168aa1a8ff2SEmmanuel Vadot    description: Specifies the number of contacts reported by the device.
169aa1a8ff2SEmmanuel Vadot
170aa1a8ff2SEmmanuel Vadot  azoteq,contact-split:
171aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
172aa1a8ff2SEmmanuel Vadot    minimum: 0
173aa1a8ff2SEmmanuel Vadot    maximum: 255
174aa1a8ff2SEmmanuel Vadot    description: Specifies the contact (finger) split factor.
175aa1a8ff2SEmmanuel Vadot
176aa1a8ff2SEmmanuel Vadot  azoteq,trim-x:
177aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
178aa1a8ff2SEmmanuel Vadot    minimum: 0
179aa1a8ff2SEmmanuel Vadot    maximum: 255
180aa1a8ff2SEmmanuel Vadot    description: Specifies the horizontal trim width.
181aa1a8ff2SEmmanuel Vadot
182aa1a8ff2SEmmanuel Vadot  azoteq,trim-y:
183aa1a8ff2SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
184aa1a8ff2SEmmanuel Vadot    minimum: 0
185aa1a8ff2SEmmanuel Vadot    maximum: 255
186aa1a8ff2SEmmanuel Vadot    description: Specifies the vertical trim height.
187aa1a8ff2SEmmanuel Vadot
188aa1a8ff2SEmmanuel Vadot  trackpad:
189aa1a8ff2SEmmanuel Vadot    type: object
190aa1a8ff2SEmmanuel Vadot    description: Represents all channels associated with the trackpad.
191aa1a8ff2SEmmanuel Vadot
192aa1a8ff2SEmmanuel Vadot    properties:
193aa1a8ff2SEmmanuel Vadot      azoteq,rx-enable:
194aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
195aa1a8ff2SEmmanuel Vadot        minItems: 1
196aa1a8ff2SEmmanuel Vadot        maxItems: 8
197aa1a8ff2SEmmanuel Vadot        items:
198aa1a8ff2SEmmanuel Vadot          minimum: 0
199aa1a8ff2SEmmanuel Vadot          maximum: 7
200aa1a8ff2SEmmanuel Vadot        description:
201aa1a8ff2SEmmanuel Vadot          Specifies the order of the CRx pin(s) associated with the trackpad.
202aa1a8ff2SEmmanuel Vadot
203aa1a8ff2SEmmanuel Vadot      azoteq,tx-enable:
204aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
205aa1a8ff2SEmmanuel Vadot        minItems: 1
206aa1a8ff2SEmmanuel Vadot        maxItems: 12
207aa1a8ff2SEmmanuel Vadot        items:
208aa1a8ff2SEmmanuel Vadot          minimum: 0
209aa1a8ff2SEmmanuel Vadot          maximum: 11
210aa1a8ff2SEmmanuel Vadot        description:
211aa1a8ff2SEmmanuel Vadot          Specifies the order of the CTx pin(s) associated with the trackpad.
212aa1a8ff2SEmmanuel Vadot
213aa1a8ff2SEmmanuel Vadot      azoteq,channel-select:
214aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
215aa1a8ff2SEmmanuel Vadot        minItems: 1
216aa1a8ff2SEmmanuel Vadot        maxItems: 36
217aa1a8ff2SEmmanuel Vadot        items:
218aa1a8ff2SEmmanuel Vadot          minimum: 0
219aa1a8ff2SEmmanuel Vadot          maximum: 255
220aa1a8ff2SEmmanuel Vadot        description: |
221aa1a8ff2SEmmanuel Vadot          Specifies the channels mapped to each cycle in the following order:
222aa1a8ff2SEmmanuel Vadot          Cycle 0, slot 0
223aa1a8ff2SEmmanuel Vadot          Cycle 0, slot 1
224aa1a8ff2SEmmanuel Vadot          Cycle 1, slot 0
225aa1a8ff2SEmmanuel Vadot          Cycle 1, slot 1
226aa1a8ff2SEmmanuel Vadot          ...and so on. Specify 255 to disable a given slot.
227aa1a8ff2SEmmanuel Vadot
228aa1a8ff2SEmmanuel Vadot      azoteq,ati-frac-div-fine:
229aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
230aa1a8ff2SEmmanuel Vadot        minimum: 0
231aa1a8ff2SEmmanuel Vadot        maximum: 31
232aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's ATI fine fractional divider.
233aa1a8ff2SEmmanuel Vadot
234aa1a8ff2SEmmanuel Vadot      azoteq,ati-frac-mult-coarse:
235aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
236aa1a8ff2SEmmanuel Vadot        minimum: 0
237aa1a8ff2SEmmanuel Vadot        maximum: 15
238aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's ATI coarse fractional multiplier.
239aa1a8ff2SEmmanuel Vadot
240aa1a8ff2SEmmanuel Vadot      azoteq,ati-frac-div-coarse:
241aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
242aa1a8ff2SEmmanuel Vadot        minimum: 0
243aa1a8ff2SEmmanuel Vadot        maximum: 31
244aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's ATI coarse fractional divider.
245aa1a8ff2SEmmanuel Vadot
246aa1a8ff2SEmmanuel Vadot      azoteq,ati-comp-div:
247aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
248aa1a8ff2SEmmanuel Vadot        minimum: 0
249aa1a8ff2SEmmanuel Vadot        maximum: 31
250aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's ATI compensation divider.
251aa1a8ff2SEmmanuel Vadot
252aa1a8ff2SEmmanuel Vadot      azoteq,ati-target:
253aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
254aa1a8ff2SEmmanuel Vadot        minimum: 0
255aa1a8ff2SEmmanuel Vadot        maximum: 65535
256aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's ATI target.
257aa1a8ff2SEmmanuel Vadot
258aa1a8ff2SEmmanuel Vadot      azoteq,touch-enter:
259aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
260aa1a8ff2SEmmanuel Vadot        minimum: 0
261aa1a8ff2SEmmanuel Vadot        maximum: 255
262aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's touch entrance factor.
263aa1a8ff2SEmmanuel Vadot
264aa1a8ff2SEmmanuel Vadot      azoteq,touch-exit:
265aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
266aa1a8ff2SEmmanuel Vadot        minimum: 0
267aa1a8ff2SEmmanuel Vadot        maximum: 255
268aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's touch exit factor.
269aa1a8ff2SEmmanuel Vadot
270aa1a8ff2SEmmanuel Vadot      azoteq,thresh:
271aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
272aa1a8ff2SEmmanuel Vadot        minimum: 0
273aa1a8ff2SEmmanuel Vadot        maximum: 255
274aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's stationary touch threshold.
275aa1a8ff2SEmmanuel Vadot
276aa1a8ff2SEmmanuel Vadot      azoteq,conv-period:
277aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
278aa1a8ff2SEmmanuel Vadot        minimum: 0
279aa1a8ff2SEmmanuel Vadot        maximum: 255
280aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's conversion period.
281aa1a8ff2SEmmanuel Vadot
282aa1a8ff2SEmmanuel Vadot      azoteq,conv-frac:
283aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
284aa1a8ff2SEmmanuel Vadot        minimum: 0
285aa1a8ff2SEmmanuel Vadot        maximum: 255
286aa1a8ff2SEmmanuel Vadot        description: Specifies the trackpad's conversion frequency fraction.
287aa1a8ff2SEmmanuel Vadot
288aa1a8ff2SEmmanuel Vadot    patternProperties:
289aa1a8ff2SEmmanuel Vadot      "^event-(tap(-double|-triple)?|hold|palm|swipe-(x|y)-(pos|neg)(-hold)?)$":
290aa1a8ff2SEmmanuel Vadot        type: object
291aa1a8ff2SEmmanuel Vadot        $ref: ../input.yaml#
292aa1a8ff2SEmmanuel Vadot        description:
293aa1a8ff2SEmmanuel Vadot          Represents a gesture event reported by the trackpad. In the case of
294aa1a8ff2SEmmanuel Vadot          axial gestures, the duration or distance specified in one direction
295aa1a8ff2SEmmanuel Vadot          applies to both directions along the same axis.
296aa1a8ff2SEmmanuel Vadot
297aa1a8ff2SEmmanuel Vadot        properties:
298aa1a8ff2SEmmanuel Vadot          linux,code: true
299aa1a8ff2SEmmanuel Vadot
300aa1a8ff2SEmmanuel Vadot          azoteq,gesture-max-ms:
301aa1a8ff2SEmmanuel Vadot            minimum: 0
302aa1a8ff2SEmmanuel Vadot            maximum: 65535
303aa1a8ff2SEmmanuel Vadot            description: Specifies the maximum duration of tap/swipe gestures.
304aa1a8ff2SEmmanuel Vadot
305aa1a8ff2SEmmanuel Vadot          azoteq,gesture-mid-ms:
306aa1a8ff2SEmmanuel Vadot            minimum: 0
307aa1a8ff2SEmmanuel Vadot            maximum: 65535
308aa1a8ff2SEmmanuel Vadot            description:
309aa1a8ff2SEmmanuel Vadot              Specifies the maximum duration between subsequent tap gestures
310aa1a8ff2SEmmanuel Vadot              (IQS7211E only).
311aa1a8ff2SEmmanuel Vadot
312aa1a8ff2SEmmanuel Vadot          azoteq,gesture-min-ms:
313aa1a8ff2SEmmanuel Vadot            minimum: 0
314aa1a8ff2SEmmanuel Vadot            maximum: 65535
315aa1a8ff2SEmmanuel Vadot            description: Specifies the minimum duration of hold gestures.
316aa1a8ff2SEmmanuel Vadot
317aa1a8ff2SEmmanuel Vadot          azoteq,gesture-dist:
318aa1a8ff2SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
319aa1a8ff2SEmmanuel Vadot            minimum: 0
320aa1a8ff2SEmmanuel Vadot            maximum: 65535
321aa1a8ff2SEmmanuel Vadot            description:
322aa1a8ff2SEmmanuel Vadot              Specifies the minimum (swipe) or maximum (tap and hold) distance
323aa1a8ff2SEmmanuel Vadot              a finger may travel to be considered a gesture.
324aa1a8ff2SEmmanuel Vadot
325aa1a8ff2SEmmanuel Vadot          azoteq,gesture-dist-rep:
326aa1a8ff2SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
327aa1a8ff2SEmmanuel Vadot            minimum: 0
328aa1a8ff2SEmmanuel Vadot            maximum: 65535
329aa1a8ff2SEmmanuel Vadot            description:
330aa1a8ff2SEmmanuel Vadot              Specifies the minimum distance a finger must travel to elicit a
331aa1a8ff2SEmmanuel Vadot              repeated swipe gesture (IQS7211E only).
332aa1a8ff2SEmmanuel Vadot
333aa1a8ff2SEmmanuel Vadot          azoteq,gesture-angle:
334aa1a8ff2SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
335aa1a8ff2SEmmanuel Vadot            minimum: 0
336aa1a8ff2SEmmanuel Vadot            maximum: 75
337aa1a8ff2SEmmanuel Vadot            description:
338aa1a8ff2SEmmanuel Vadot              Specifies the maximum angle (in degrees) a finger may travel to
339aa1a8ff2SEmmanuel Vadot              be considered a swipe gesture.
340aa1a8ff2SEmmanuel Vadot
341aa1a8ff2SEmmanuel Vadot          azoteq,thresh:
342aa1a8ff2SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
343aa1a8ff2SEmmanuel Vadot            minimum: 0
344aa1a8ff2SEmmanuel Vadot            maximum: 42
345aa1a8ff2SEmmanuel Vadot            description: Specifies the palm gesture threshold (IQS7211E only).
346aa1a8ff2SEmmanuel Vadot
347aa1a8ff2SEmmanuel Vadot        additionalProperties: false
348aa1a8ff2SEmmanuel Vadot
349aa1a8ff2SEmmanuel Vadot    dependencies:
350aa1a8ff2SEmmanuel Vadot      azoteq,rx-enable: ["azoteq,tx-enable"]
351aa1a8ff2SEmmanuel Vadot      azoteq,tx-enable: ["azoteq,rx-enable"]
352aa1a8ff2SEmmanuel Vadot      azoteq,channel-select: ["azoteq,rx-enable"]
353aa1a8ff2SEmmanuel Vadot
354aa1a8ff2SEmmanuel Vadot    additionalProperties: false
355aa1a8ff2SEmmanuel Vadot
356aa1a8ff2SEmmanuel Vadot  alp:
357aa1a8ff2SEmmanuel Vadot    type: object
358aa1a8ff2SEmmanuel Vadot    $ref: ../input.yaml#
359aa1a8ff2SEmmanuel Vadot    description: Represents the alternate low-power channel (ALP).
360aa1a8ff2SEmmanuel Vadot
361aa1a8ff2SEmmanuel Vadot    properties:
362aa1a8ff2SEmmanuel Vadot      azoteq,rx-enable:
363aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
364aa1a8ff2SEmmanuel Vadot        minItems: 1
365aa1a8ff2SEmmanuel Vadot        maxItems: 8
366aa1a8ff2SEmmanuel Vadot        items:
367aa1a8ff2SEmmanuel Vadot          minimum: 0
368aa1a8ff2SEmmanuel Vadot          maximum: 7
369aa1a8ff2SEmmanuel Vadot        description:
370aa1a8ff2SEmmanuel Vadot          Specifies the CRx pin(s) associated with the ALP in no particular
371aa1a8ff2SEmmanuel Vadot          order.
372aa1a8ff2SEmmanuel Vadot
373aa1a8ff2SEmmanuel Vadot      azoteq,tx-enable:
374aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
375aa1a8ff2SEmmanuel Vadot        minItems: 1
376aa1a8ff2SEmmanuel Vadot        maxItems: 12
377aa1a8ff2SEmmanuel Vadot        items:
378aa1a8ff2SEmmanuel Vadot          minimum: 0
379aa1a8ff2SEmmanuel Vadot          maximum: 11
380aa1a8ff2SEmmanuel Vadot        description:
381aa1a8ff2SEmmanuel Vadot          Specifies the CTx pin(s) associated with the ALP in no particular
382aa1a8ff2SEmmanuel Vadot          order.
383aa1a8ff2SEmmanuel Vadot
384aa1a8ff2SEmmanuel Vadot      azoteq,ati-frac-div-fine:
385aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
386aa1a8ff2SEmmanuel Vadot        minimum: 0
387aa1a8ff2SEmmanuel Vadot        maximum: 31
388aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's ATI fine fractional divider.
389aa1a8ff2SEmmanuel Vadot
390aa1a8ff2SEmmanuel Vadot      azoteq,ati-frac-mult-coarse:
391aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
392aa1a8ff2SEmmanuel Vadot        minimum: 0
393aa1a8ff2SEmmanuel Vadot        maximum: 15
394aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's ATI coarse fractional multiplier.
395aa1a8ff2SEmmanuel Vadot
396aa1a8ff2SEmmanuel Vadot      azoteq,ati-frac-div-coarse:
397aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
398aa1a8ff2SEmmanuel Vadot        minimum: 0
399aa1a8ff2SEmmanuel Vadot        maximum: 31
400aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's ATI coarse fractional divider.
401aa1a8ff2SEmmanuel Vadot
402aa1a8ff2SEmmanuel Vadot      azoteq,ati-comp-div:
403aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
404aa1a8ff2SEmmanuel Vadot        minimum: 0
405aa1a8ff2SEmmanuel Vadot        maximum: 31
406aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's ATI compensation divider.
407aa1a8ff2SEmmanuel Vadot
408aa1a8ff2SEmmanuel Vadot      azoteq,ati-target:
409aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
410aa1a8ff2SEmmanuel Vadot        minimum: 0
411aa1a8ff2SEmmanuel Vadot        maximum: 65535
412aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's ATI target.
413aa1a8ff2SEmmanuel Vadot
414aa1a8ff2SEmmanuel Vadot      azoteq,ati-base:
415aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
416aa1a8ff2SEmmanuel Vadot        multipleOf: 8
417aa1a8ff2SEmmanuel Vadot        minimum: 0
418aa1a8ff2SEmmanuel Vadot        maximum: 255
419aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's ATI base.
420aa1a8ff2SEmmanuel Vadot
421aa1a8ff2SEmmanuel Vadot      azoteq,ati-mode:
422aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
423aa1a8ff2SEmmanuel Vadot        enum: [0, 1]
424aa1a8ff2SEmmanuel Vadot        description: |
425aa1a8ff2SEmmanuel Vadot          Specifies the ALP's ATI mode as follows:
426aa1a8ff2SEmmanuel Vadot          0: Partial
427aa1a8ff2SEmmanuel Vadot          1: Full
428aa1a8ff2SEmmanuel Vadot
429aa1a8ff2SEmmanuel Vadot      azoteq,sense-mode:
430aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
431aa1a8ff2SEmmanuel Vadot        enum: [0, 1]
432aa1a8ff2SEmmanuel Vadot        description: |
433aa1a8ff2SEmmanuel Vadot          Specifies the ALP's sensing mode as follows:
434aa1a8ff2SEmmanuel Vadot          0: Self capacitive
435aa1a8ff2SEmmanuel Vadot          1: Mutual capacitive
436aa1a8ff2SEmmanuel Vadot
437aa1a8ff2SEmmanuel Vadot      azoteq,debounce-enter:
438aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
439aa1a8ff2SEmmanuel Vadot        minimum: 0
440aa1a8ff2SEmmanuel Vadot        maximum: 255
441aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's debounce entrance factor.
442aa1a8ff2SEmmanuel Vadot
443aa1a8ff2SEmmanuel Vadot      azoteq,debounce-exit:
444aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
445aa1a8ff2SEmmanuel Vadot        minimum: 0
446aa1a8ff2SEmmanuel Vadot        maximum: 255
447aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's debounce exit factor.
448aa1a8ff2SEmmanuel Vadot
449aa1a8ff2SEmmanuel Vadot      azoteq,thresh:
450aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
451aa1a8ff2SEmmanuel Vadot        minimum: 0
452aa1a8ff2SEmmanuel Vadot        maximum: 65535
453aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's proximity or touch threshold.
454aa1a8ff2SEmmanuel Vadot
455aa1a8ff2SEmmanuel Vadot      azoteq,conv-period:
456aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
457aa1a8ff2SEmmanuel Vadot        minimum: 0
458aa1a8ff2SEmmanuel Vadot        maximum: 255
459aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's conversion period.
460aa1a8ff2SEmmanuel Vadot
461aa1a8ff2SEmmanuel Vadot      azoteq,conv-frac:
462aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
463aa1a8ff2SEmmanuel Vadot        minimum: 0
464aa1a8ff2SEmmanuel Vadot        maximum: 255
465aa1a8ff2SEmmanuel Vadot        description: Specifies the ALP's conversion frequency fraction.
466aa1a8ff2SEmmanuel Vadot
467aa1a8ff2SEmmanuel Vadot      linux,code: true
468aa1a8ff2SEmmanuel Vadot
469aa1a8ff2SEmmanuel Vadot    additionalProperties: false
470aa1a8ff2SEmmanuel Vadot
471aa1a8ff2SEmmanuel Vadot  button:
472aa1a8ff2SEmmanuel Vadot    type: object
473aa1a8ff2SEmmanuel Vadot    description: Represents the inductive or capacitive button.
474aa1a8ff2SEmmanuel Vadot
475aa1a8ff2SEmmanuel Vadot    properties:
476aa1a8ff2SEmmanuel Vadot      azoteq,ati-frac-div-fine:
477aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
478aa1a8ff2SEmmanuel Vadot        minimum: 0
479aa1a8ff2SEmmanuel Vadot        maximum: 31
480aa1a8ff2SEmmanuel Vadot        description: Specifies the button's ATI fine fractional divider.
481aa1a8ff2SEmmanuel Vadot
482aa1a8ff2SEmmanuel Vadot      azoteq,ati-frac-mult-coarse:
483aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
484aa1a8ff2SEmmanuel Vadot        minimum: 0
485aa1a8ff2SEmmanuel Vadot        maximum: 15
486aa1a8ff2SEmmanuel Vadot        description: Specifies the button's ATI coarse fractional multiplier.
487aa1a8ff2SEmmanuel Vadot
488aa1a8ff2SEmmanuel Vadot      azoteq,ati-frac-div-coarse:
489aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
490aa1a8ff2SEmmanuel Vadot        minimum: 0
491aa1a8ff2SEmmanuel Vadot        maximum: 31
492aa1a8ff2SEmmanuel Vadot        description: Specifies the button's ATI coarse fractional divider.
493aa1a8ff2SEmmanuel Vadot
494aa1a8ff2SEmmanuel Vadot      azoteq,ati-comp-div:
495aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
496aa1a8ff2SEmmanuel Vadot        minimum: 0
497aa1a8ff2SEmmanuel Vadot        maximum: 31
498aa1a8ff2SEmmanuel Vadot        description: Specifies the button's ATI compensation divider.
499aa1a8ff2SEmmanuel Vadot
500aa1a8ff2SEmmanuel Vadot      azoteq,ati-target:
501aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
502aa1a8ff2SEmmanuel Vadot        minimum: 0
503aa1a8ff2SEmmanuel Vadot        maximum: 65535
504aa1a8ff2SEmmanuel Vadot        description: Specifies the button's ATI target.
505aa1a8ff2SEmmanuel Vadot
506aa1a8ff2SEmmanuel Vadot      azoteq,ati-base:
507aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
508aa1a8ff2SEmmanuel Vadot        multipleOf: 8
509aa1a8ff2SEmmanuel Vadot        minimum: 0
510aa1a8ff2SEmmanuel Vadot        maximum: 255
511aa1a8ff2SEmmanuel Vadot        description: Specifies the button's ATI base.
512aa1a8ff2SEmmanuel Vadot
513aa1a8ff2SEmmanuel Vadot      azoteq,ati-mode:
514aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
515aa1a8ff2SEmmanuel Vadot        enum: [0, 1]
516aa1a8ff2SEmmanuel Vadot        description: |
517aa1a8ff2SEmmanuel Vadot          Specifies the button's ATI mode as follows:
518aa1a8ff2SEmmanuel Vadot          0: Partial
519aa1a8ff2SEmmanuel Vadot          1: Full
520aa1a8ff2SEmmanuel Vadot
521aa1a8ff2SEmmanuel Vadot      azoteq,sense-mode:
522aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
523aa1a8ff2SEmmanuel Vadot        enum: [0, 1, 2]
524aa1a8ff2SEmmanuel Vadot        description: |
525aa1a8ff2SEmmanuel Vadot          Specifies the button's sensing mode as follows:
526aa1a8ff2SEmmanuel Vadot          0: Self capacitive
527aa1a8ff2SEmmanuel Vadot          1: Mutual capacitive
528aa1a8ff2SEmmanuel Vadot          2: Inductive
529aa1a8ff2SEmmanuel Vadot
530aa1a8ff2SEmmanuel Vadot      azoteq,touch-enter:
531aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
532aa1a8ff2SEmmanuel Vadot        minimum: 0
533aa1a8ff2SEmmanuel Vadot        maximum: 255
534aa1a8ff2SEmmanuel Vadot        description: Specifies the button's touch entrance factor.
535aa1a8ff2SEmmanuel Vadot
536aa1a8ff2SEmmanuel Vadot      azoteq,touch-exit:
537aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
538aa1a8ff2SEmmanuel Vadot        minimum: 0
539aa1a8ff2SEmmanuel Vadot        maximum: 255
540aa1a8ff2SEmmanuel Vadot        description: Specifies the button's touch exit factor.
541aa1a8ff2SEmmanuel Vadot
542aa1a8ff2SEmmanuel Vadot      azoteq,debounce-enter:
543aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
544aa1a8ff2SEmmanuel Vadot        minimum: 0
545aa1a8ff2SEmmanuel Vadot        maximum: 255
546aa1a8ff2SEmmanuel Vadot        description: Specifies the button's debounce entrance factor.
547aa1a8ff2SEmmanuel Vadot
548aa1a8ff2SEmmanuel Vadot      azoteq,debounce-exit:
549aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
550aa1a8ff2SEmmanuel Vadot        minimum: 0
551aa1a8ff2SEmmanuel Vadot        maximum: 255
552aa1a8ff2SEmmanuel Vadot        description: Specifies the button's debounce exit factor.
553aa1a8ff2SEmmanuel Vadot
554aa1a8ff2SEmmanuel Vadot      azoteq,thresh:
555aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
556aa1a8ff2SEmmanuel Vadot        minimum: 0
557aa1a8ff2SEmmanuel Vadot        maximum: 65535
558aa1a8ff2SEmmanuel Vadot        description: Specifies the button's proximity threshold.
559aa1a8ff2SEmmanuel Vadot
560aa1a8ff2SEmmanuel Vadot      azoteq,conv-period:
561aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
562aa1a8ff2SEmmanuel Vadot        minimum: 0
563aa1a8ff2SEmmanuel Vadot        maximum: 255
564aa1a8ff2SEmmanuel Vadot        description: Specifies the button's conversion period.
565aa1a8ff2SEmmanuel Vadot
566aa1a8ff2SEmmanuel Vadot      azoteq,conv-frac:
567aa1a8ff2SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
568aa1a8ff2SEmmanuel Vadot        minimum: 0
569aa1a8ff2SEmmanuel Vadot        maximum: 255
570aa1a8ff2SEmmanuel Vadot        description: Specifies the button's conversion frequency fraction.
571aa1a8ff2SEmmanuel Vadot
572aa1a8ff2SEmmanuel Vadot    patternProperties:
573aa1a8ff2SEmmanuel Vadot      "^event-(prox|touch)$":
574aa1a8ff2SEmmanuel Vadot        type: object
575aa1a8ff2SEmmanuel Vadot        $ref: ../input.yaml#
576aa1a8ff2SEmmanuel Vadot        description:
577aa1a8ff2SEmmanuel Vadot          Represents a proximity or touch event reported by the button.
578aa1a8ff2SEmmanuel Vadot
579aa1a8ff2SEmmanuel Vadot        properties:
580aa1a8ff2SEmmanuel Vadot          linux,code: true
581aa1a8ff2SEmmanuel Vadot
582aa1a8ff2SEmmanuel Vadot        additionalProperties: false
583aa1a8ff2SEmmanuel Vadot
584aa1a8ff2SEmmanuel Vadot    additionalProperties: false
585aa1a8ff2SEmmanuel Vadot
586aa1a8ff2SEmmanuel Vadot  wakeup-source: true
587aa1a8ff2SEmmanuel Vadot
588aa1a8ff2SEmmanuel Vadot  touchscreen-size-x: true
589aa1a8ff2SEmmanuel Vadot  touchscreen-size-y: true
590aa1a8ff2SEmmanuel Vadot  touchscreen-inverted-x: true
591aa1a8ff2SEmmanuel Vadot  touchscreen-inverted-y: true
592aa1a8ff2SEmmanuel Vadot  touchscreen-swapped-x-y: true
593aa1a8ff2SEmmanuel Vadot
594aa1a8ff2SEmmanuel Vadotdependencies:
595aa1a8ff2SEmmanuel Vadot  touchscreen-size-x: ["azoteq,num-contacts"]
596aa1a8ff2SEmmanuel Vadot  touchscreen-size-y: ["azoteq,num-contacts"]
597aa1a8ff2SEmmanuel Vadot  touchscreen-inverted-x: ["azoteq,num-contacts"]
598aa1a8ff2SEmmanuel Vadot  touchscreen-inverted-y: ["azoteq,num-contacts"]
599aa1a8ff2SEmmanuel Vadot  touchscreen-swapped-x-y: ["azoteq,num-contacts"]
600aa1a8ff2SEmmanuel Vadot
601aa1a8ff2SEmmanuel Vadotrequired:
602aa1a8ff2SEmmanuel Vadot  - compatible
603aa1a8ff2SEmmanuel Vadot  - reg
604aa1a8ff2SEmmanuel Vadot  - irq-gpios
605aa1a8ff2SEmmanuel Vadot
606aa1a8ff2SEmmanuel VadotadditionalProperties: false
607aa1a8ff2SEmmanuel Vadot
608aa1a8ff2SEmmanuel VadotallOf:
609aa1a8ff2SEmmanuel Vadot  - $ref: touchscreen.yaml#
610aa1a8ff2SEmmanuel Vadot
611aa1a8ff2SEmmanuel Vadot  - if:
612aa1a8ff2SEmmanuel Vadot      properties:
613aa1a8ff2SEmmanuel Vadot        compatible:
614aa1a8ff2SEmmanuel Vadot          contains:
615aa1a8ff2SEmmanuel Vadot            const: azoteq,iqs7210a
616aa1a8ff2SEmmanuel Vadot
617aa1a8ff2SEmmanuel Vadot    then:
618aa1a8ff2SEmmanuel Vadot      properties:
619aa1a8ff2SEmmanuel Vadot        alp:
620aa1a8ff2SEmmanuel Vadot          properties:
621aa1a8ff2SEmmanuel Vadot            azoteq,rx-enable:
622aa1a8ff2SEmmanuel Vadot              maxItems: 4
623aa1a8ff2SEmmanuel Vadot              items:
624aa1a8ff2SEmmanuel Vadot                minimum: 4
625aa1a8ff2SEmmanuel Vadot
626aa1a8ff2SEmmanuel Vadot    else:
627aa1a8ff2SEmmanuel Vadot      properties:
628aa1a8ff2SEmmanuel Vadot        azoteq,timeout-press-ms: false
629aa1a8ff2SEmmanuel Vadot
630aa1a8ff2SEmmanuel Vadot        alp:
631aa1a8ff2SEmmanuel Vadot          properties:
632aa1a8ff2SEmmanuel Vadot            azoteq,ati-mode: false
633aa1a8ff2SEmmanuel Vadot
634aa1a8ff2SEmmanuel Vadot        button: false
635aa1a8ff2SEmmanuel Vadot
636aa1a8ff2SEmmanuel Vadot  - if:
637aa1a8ff2SEmmanuel Vadot      properties:
638aa1a8ff2SEmmanuel Vadot        compatible:
639aa1a8ff2SEmmanuel Vadot          contains:
640aa1a8ff2SEmmanuel Vadot            const: azoteq,iqs7211e
641aa1a8ff2SEmmanuel Vadot
642aa1a8ff2SEmmanuel Vadot    then:
643aa1a8ff2SEmmanuel Vadot      properties:
644aa1a8ff2SEmmanuel Vadot        reset-gpios: false
645aa1a8ff2SEmmanuel Vadot
646aa1a8ff2SEmmanuel Vadot        trackpad:
647aa1a8ff2SEmmanuel Vadot          properties:
648aa1a8ff2SEmmanuel Vadot            azoteq,tx-enable:
649aa1a8ff2SEmmanuel Vadot              maxItems: 13
650aa1a8ff2SEmmanuel Vadot              items:
651aa1a8ff2SEmmanuel Vadot                maximum: 12
652aa1a8ff2SEmmanuel Vadot
653aa1a8ff2SEmmanuel Vadot        alp:
654aa1a8ff2SEmmanuel Vadot          properties:
655aa1a8ff2SEmmanuel Vadot            azoteq,tx-enable:
656aa1a8ff2SEmmanuel Vadot              maxItems: 13
657aa1a8ff2SEmmanuel Vadot              items:
658aa1a8ff2SEmmanuel Vadot                maximum: 12
659aa1a8ff2SEmmanuel Vadot
660aa1a8ff2SEmmanuel Vadotexamples:
661aa1a8ff2SEmmanuel Vadot  - |
662aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
663aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/input/input.h>
664aa1a8ff2SEmmanuel Vadot
665aa1a8ff2SEmmanuel Vadot    i2c {
666aa1a8ff2SEmmanuel Vadot            #address-cells = <1>;
667aa1a8ff2SEmmanuel Vadot            #size-cells = <0>;
668aa1a8ff2SEmmanuel Vadot
669*b2d2a78aSEmmanuel Vadot            touchscreen@56 {
670aa1a8ff2SEmmanuel Vadot                    compatible = "azoteq,iqs7210a";
671aa1a8ff2SEmmanuel Vadot                    reg = <0x56>;
672aa1a8ff2SEmmanuel Vadot                    irq-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
673aa1a8ff2SEmmanuel Vadot                    reset-gpios = <&gpio 17 (GPIO_ACTIVE_LOW |
674aa1a8ff2SEmmanuel Vadot                                             GPIO_PUSH_PULL)>;
675aa1a8ff2SEmmanuel Vadot                    azoteq,num-contacts = <2>;
676aa1a8ff2SEmmanuel Vadot
677aa1a8ff2SEmmanuel Vadot                    trackpad {
678aa1a8ff2SEmmanuel Vadot                            azoteq,rx-enable = <6>, <5>, <4>, <3>, <2>;
679aa1a8ff2SEmmanuel Vadot                            azoteq,tx-enable = <1>, <7>, <8>, <9>, <10>;
680aa1a8ff2SEmmanuel Vadot                    };
681aa1a8ff2SEmmanuel Vadot
682aa1a8ff2SEmmanuel Vadot                    button {
683aa1a8ff2SEmmanuel Vadot                            azoteq,sense-mode = <2>;
684aa1a8ff2SEmmanuel Vadot                            azoteq,touch-enter = <40>;
685aa1a8ff2SEmmanuel Vadot                            azoteq,touch-exit = <36>;
686aa1a8ff2SEmmanuel Vadot
687aa1a8ff2SEmmanuel Vadot                            event-touch {
688aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_HOME>;
689aa1a8ff2SEmmanuel Vadot                            };
690aa1a8ff2SEmmanuel Vadot                    };
691aa1a8ff2SEmmanuel Vadot
692aa1a8ff2SEmmanuel Vadot                    alp {
693aa1a8ff2SEmmanuel Vadot                            azoteq,sense-mode = <1>;
694aa1a8ff2SEmmanuel Vadot                            linux,code = <KEY_POWER>;
695aa1a8ff2SEmmanuel Vadot                    };
696aa1a8ff2SEmmanuel Vadot            };
697aa1a8ff2SEmmanuel Vadot    };
698aa1a8ff2SEmmanuel Vadot
699aa1a8ff2SEmmanuel Vadot  - |
700aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
701aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/input/input.h>
702aa1a8ff2SEmmanuel Vadot
703aa1a8ff2SEmmanuel Vadot    i2c {
704aa1a8ff2SEmmanuel Vadot            #address-cells = <1>;
705aa1a8ff2SEmmanuel Vadot            #size-cells = <0>;
706aa1a8ff2SEmmanuel Vadot
707*b2d2a78aSEmmanuel Vadot            touchscreen@56 {
708aa1a8ff2SEmmanuel Vadot                    compatible = "azoteq,iqs7211e";
709aa1a8ff2SEmmanuel Vadot                    reg = <0x56>;
710aa1a8ff2SEmmanuel Vadot                    irq-gpios = <&gpio 4 (GPIO_ACTIVE_LOW |
711aa1a8ff2SEmmanuel Vadot                                          GPIO_OPEN_DRAIN)>;
712aa1a8ff2SEmmanuel Vadot
713aa1a8ff2SEmmanuel Vadot                    trackpad {
714aa1a8ff2SEmmanuel Vadot                            event-tap {
715aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_PLAYPAUSE>;
716aa1a8ff2SEmmanuel Vadot                            };
717aa1a8ff2SEmmanuel Vadot
718aa1a8ff2SEmmanuel Vadot                            event-tap-double {
719aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_SHUFFLE>;
720aa1a8ff2SEmmanuel Vadot                            };
721aa1a8ff2SEmmanuel Vadot
722aa1a8ff2SEmmanuel Vadot                            event-tap-triple {
723aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_AGAIN>;
724aa1a8ff2SEmmanuel Vadot                            };
725aa1a8ff2SEmmanuel Vadot
726aa1a8ff2SEmmanuel Vadot                            event-hold {
727aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_STOP>;
728aa1a8ff2SEmmanuel Vadot                            };
729aa1a8ff2SEmmanuel Vadot
730aa1a8ff2SEmmanuel Vadot                            event-palm {
731aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_EXIT>;
732aa1a8ff2SEmmanuel Vadot                            };
733aa1a8ff2SEmmanuel Vadot
734aa1a8ff2SEmmanuel Vadot                            event-swipe-x-pos {
735aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_REWIND>;
736aa1a8ff2SEmmanuel Vadot                            };
737aa1a8ff2SEmmanuel Vadot
738aa1a8ff2SEmmanuel Vadot                            event-swipe-x-pos-hold {
739aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_PREVIOUS>;
740aa1a8ff2SEmmanuel Vadot                            };
741aa1a8ff2SEmmanuel Vadot
742aa1a8ff2SEmmanuel Vadot                            event-swipe-x-neg {
743aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_FASTFORWARD>;
744aa1a8ff2SEmmanuel Vadot                            };
745aa1a8ff2SEmmanuel Vadot
746aa1a8ff2SEmmanuel Vadot                            event-swipe-x-neg-hold {
747aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_NEXT>;
748aa1a8ff2SEmmanuel Vadot                            };
749aa1a8ff2SEmmanuel Vadot
750aa1a8ff2SEmmanuel Vadot                            event-swipe-y-pos {
751aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_VOLUMEUP>;
752aa1a8ff2SEmmanuel Vadot                            };
753aa1a8ff2SEmmanuel Vadot
754aa1a8ff2SEmmanuel Vadot                            event-swipe-y-pos-hold {
755aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_MUTE>;
756aa1a8ff2SEmmanuel Vadot                            };
757aa1a8ff2SEmmanuel Vadot
758aa1a8ff2SEmmanuel Vadot                            event-swipe-y-neg {
759aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_VOLUMEDOWN>;
760aa1a8ff2SEmmanuel Vadot                            };
761aa1a8ff2SEmmanuel Vadot
762aa1a8ff2SEmmanuel Vadot                            event-swipe-y-neg-hold {
763aa1a8ff2SEmmanuel Vadot                                    linux,code = <KEY_MUTE>;
764aa1a8ff2SEmmanuel Vadot                            };
765aa1a8ff2SEmmanuel Vadot                    };
766aa1a8ff2SEmmanuel Vadot            };
767aa1a8ff2SEmmanuel Vadot    };
768aa1a8ff2SEmmanuel Vadot
769aa1a8ff2SEmmanuel Vadot...
770