xref: /linux/Documentation/devicetree/bindings/input/touchscreen/eeti,exc3000.yaml (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/touchscreen/eeti,exc3000.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: EETI EXC3000 series touchscreen controller
8
9maintainers:
10  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
11
12properties:
13  compatible:
14    oneOf:
15      - const: eeti,exc3000
16      - const: eeti,exc80h60
17      - const: eeti,exc80h84
18      - const: eeti,egalax_ts # Do NOT use for new binding
19      - const: eeti,exc3000-i2c
20        deprecated: true
21      - items:
22          - enum:
23              - eeti,exc81w32
24          - const: eeti,exc80h84
25  reg:
26    enum: [0x4, 0xa, 0x2a]
27  interrupts:
28    maxItems: 1
29  reset-gpios:
30    maxItems: 1
31  wakeup-gpios:
32    maxItems: 1
33  vdd-supply:
34    description: Power supply regulator for the chip
35  attn-gpios:
36    deprecated: true
37    maxItems: 1
38    description: Phandle to a GPIO to check whether interrupt is still
39                 latched. This is necessary for platforms that lack
40                 support for level-triggered IRQs.
41  touchscreen-size-x: true
42  touchscreen-size-y: true
43  touchscreen-inverted-x: true
44  touchscreen-inverted-y: true
45  touchscreen-swapped-x-y: true
46
47required:
48  - compatible
49  - reg
50  - interrupts
51
52additionalProperties: false
53
54allOf:
55  - $ref: touchscreen.yaml#
56
57  - if:
58      properties:
59        compatible:
60          not:
61            contains:
62              enum:
63                - eeti,egalax_ts
64                - eeti,exc3000-i2c
65    then:
66      properties:
67        reg:
68          const: 0x2a
69
70        wakeup-gpios: false
71
72        attn-gpios: false
73
74      required:
75        - touchscreen-size-x
76        - touchscreen-size-y
77
78examples:
79  - |
80    #include "dt-bindings/interrupt-controller/irq.h"
81    i2c {
82        #address-cells = <1>;
83        #size-cells = <0>;
84        touchscreen@2a {
85                compatible = "eeti,exc3000";
86                reg = <0x2a>;
87                interrupt-parent = <&gpio1>;
88                interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
89                touchscreen-size-x = <4096>;
90                touchscreen-size-y = <4096>;
91                touchscreen-inverted-x;
92                touchscreen-swapped-x-y;
93        };
94    };
95