xref: /linux/Documentation/devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml (revision 6e7fd890f1d6ac83805409e9c346240de2705584)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/touchscreen/imagis,ist3038c.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Imagis IST30XXC family touchscreen controller
8
9maintainers:
10  - Markuss Broks <markuss.broks@gmail.com>
11
12properties:
13  $nodename:
14    pattern: "^touchscreen@[0-9a-f]+$"
15
16  compatible:
17    enum:
18      - imagis,ist3032c
19      - imagis,ist3038
20      - imagis,ist3038b
21      - imagis,ist3038c
22
23  reg:
24    maxItems: 1
25
26  interrupts:
27    maxItems: 1
28
29  vdd-supply:
30    description: Power supply regulator for the chip
31
32  vddio-supply:
33    description: Power supply regulator for the I2C bus
34
35  linux,keycodes:
36    description: Keycodes for the touch keys
37    maxItems: 5
38
39  touchscreen-size-x: true
40  touchscreen-size-y: true
41  touchscreen-fuzz-x: true
42  touchscreen-fuzz-y: true
43  touchscreen-inverted-x: true
44  touchscreen-inverted-y: true
45  touchscreen-swapped-x-y: true
46
47additionalProperties: false
48
49allOf:
50  - $ref: touchscreen.yaml#
51  - if:
52      not:
53        properties:
54          compatible:
55            contains:
56              const: imagis,ist3032c
57    then:
58      properties:
59        linux,keycodes: false
60
61required:
62  - compatible
63  - reg
64  - interrupts
65  - touchscreen-size-x
66  - touchscreen-size-y
67
68examples:
69  - |
70    #include <dt-bindings/interrupt-controller/irq.h>
71    i2c {
72      #address-cells = <1>;
73      #size-cells = <0>;
74      touchscreen@50 {
75        compatible = "imagis,ist3038c";
76        reg = <0x50>;
77        interrupt-parent = <&gpio>;
78        interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
79        vdd-supply = <&ldo1_reg>;
80        vddio-supply = <&ldo2_reg>;
81        touchscreen-size-x = <720>;
82        touchscreen-size-y = <1280>;
83        touchscreen-fuzz-x = <10>;
84        touchscreen-fuzz-y = <10>;
85        touchscreen-inverted-x;
86        touchscreen-inverted-y;
87      };
88    };
89
90...
91