xref: /linux/Documentation/devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml (revision eb01fe7abbe2d0b38824d2a93fdb4cc3eaf2ccc1)
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,ist3038b
20      - imagis,ist3038c
21
22  reg:
23    maxItems: 1
24
25  interrupts:
26    maxItems: 1
27
28  vdd-supply:
29    description: Power supply regulator for the chip
30
31  vddio-supply:
32    description: Power supply regulator for the I2C bus
33
34  linux,keycodes:
35    description: Keycodes for the touch keys
36    maxItems: 5
37
38  touchscreen-size-x: true
39  touchscreen-size-y: true
40  touchscreen-fuzz-x: true
41  touchscreen-fuzz-y: true
42  touchscreen-inverted-x: true
43  touchscreen-inverted-y: true
44  touchscreen-swapped-x-y: true
45
46additionalProperties: false
47
48allOf:
49  - $ref: touchscreen.yaml#
50  - if:
51      not:
52        properties:
53          compatible:
54            contains:
55              const: imagis,ist3032c
56    then:
57      properties:
58        linux,keycodes: false
59
60required:
61  - compatible
62  - reg
63  - interrupts
64  - touchscreen-size-x
65  - touchscreen-size-y
66
67examples:
68  - |
69    #include <dt-bindings/interrupt-controller/irq.h>
70    i2c {
71      #address-cells = <1>;
72      #size-cells = <0>;
73      touchscreen@50 {
74        compatible = "imagis,ist3038c";
75        reg = <0x50>;
76        interrupt-parent = <&gpio>;
77        interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
78        vdd-supply = <&ldo1_reg>;
79        vddio-supply = <&ldo2_reg>;
80        touchscreen-size-x = <720>;
81        touchscreen-size-y = <1280>;
82        touchscreen-fuzz-x = <10>;
83        touchscreen-fuzz-y = <10>;
84        touchscreen-inverted-x;
85        touchscreen-inverted-y;
86      };
87    };
88
89...
90