xref: /freebsd/sys/contrib/device-tree/Bindings/input/touchscreen/azoteq,iqs5xx.yaml (revision e6bfd18d21b225af6a0ed67ceeaf1293b7b9eba5)
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
7title: Azoteq IQS550/572/525 Trackpad/Touchscreen Controller
8
9maintainers:
10  - Jeff LaBundy <jeff@labundy.com>
11
12description: |
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
19allOf:
20  - $ref: touchscreen.yaml#
21
22properties:
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
46required:
47  - compatible
48  - reg
49  - interrupts
50
51additionalProperties: false
52
53examples:
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...
76