GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / input / touchscreen / azoteq,iqs5xx.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/input/touchscreen/azoteq,iqs5xx.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Azoteq IQS550/572/525 Trackpad/Touchscreen Controller
8
9 maintainers:
10   - Jeff LaBundy <jeff@labundy.com>
11
12 description: |
13   The Azoteq IQS550, IQS572 and IQS525 trackpad and touchscreen controllers
14   employ projected-capacitance sensing and can track up to five independent
15   contacts.
16
17   Link to datasheet: https://www.azoteq.com/
18
19 allOf:
20   - $ref: touchscreen.yaml#
21
22 properties:
23   compatible:
24     enum:
25       - azoteq,iqs550
26       - azoteq,iqs572
27       - azoteq,iqs525
28
29   reg:
30     maxItems: 1
31
32   interrupts:
33     maxItems: 1
34
35   reset-gpios:
36     maxItems: 1
37
38   wakeup-source: true
39
40   touchscreen-size-x: true
41   touchscreen-size-y: true
42   touchscreen-inverted-x: true
43   touchscreen-inverted-y: true
44   touchscreen-swapped-x-y: true
45
46 required:
47   - compatible
48   - reg
49   - interrupts
50
51 additionalProperties: false
52
53 examples:
54   - |
55     #include <dt-bindings/gpio/gpio.h>
56     #include <dt-bindings/interrupt-controller/irq.h>
57
58     i2c {
59             #address-cells = <1>;
60             #size-cells = <0>;
61
62             touchscreen@74 {
63                     compatible = "azoteq,iqs550";
64                     reg = <0x74>;
65                     interrupt-parent = <&gpio>;
66                     interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
67                     reset-gpios = <&gpio 22 (GPIO_ACTIVE_LOW |
68                                              GPIO_PUSH_PULL)>;
69
70                     touchscreen-size-x = <800>;
71                     touchscreen-size-y = <480>;
72             };
73     };
74
75 ...