xref: /openbmc/linux/Documentation/devicetree/bindings/input/touchscreen/imagis,ist3038c.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
10ce25e4bSMarkuss Broks# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
20ce25e4bSMarkuss Broks%YAML 1.2
30ce25e4bSMarkuss Broks---
40ce25e4bSMarkuss Broks$id: http://devicetree.org/schemas/input/touchscreen/imagis,ist3038c.yaml#
50ce25e4bSMarkuss Broks$schema: http://devicetree.org/meta-schemas/core.yaml#
60ce25e4bSMarkuss Broks
7*84e85359SKrzysztof Kozlowskititle: Imagis IST30XXC family touchscreen controller
80ce25e4bSMarkuss Broks
90ce25e4bSMarkuss Broksmaintainers:
100ce25e4bSMarkuss Broks  - Markuss Broks <markuss.broks@gmail.com>
110ce25e4bSMarkuss Broks
120ce25e4bSMarkuss BroksallOf:
130ce25e4bSMarkuss Broks  - $ref: touchscreen.yaml#
140ce25e4bSMarkuss Broks
150ce25e4bSMarkuss Broksproperties:
160ce25e4bSMarkuss Broks  $nodename:
170ce25e4bSMarkuss Broks    pattern: "^touchscreen@[0-9a-f]+$"
180ce25e4bSMarkuss Broks
190ce25e4bSMarkuss Broks  compatible:
200ce25e4bSMarkuss Broks    enum:
210ce25e4bSMarkuss Broks      - imagis,ist3038c
220ce25e4bSMarkuss Broks
230ce25e4bSMarkuss Broks  reg:
240ce25e4bSMarkuss Broks    maxItems: 1
250ce25e4bSMarkuss Broks
260ce25e4bSMarkuss Broks  interrupts:
270ce25e4bSMarkuss Broks    maxItems: 1
280ce25e4bSMarkuss Broks
290ce25e4bSMarkuss Broks  vdd-supply:
300ce25e4bSMarkuss Broks    description: Power supply regulator for the chip
310ce25e4bSMarkuss Broks
320ce25e4bSMarkuss Broks  vddio-supply:
330ce25e4bSMarkuss Broks    description: Power supply regulator for the I2C bus
340ce25e4bSMarkuss Broks
350ce25e4bSMarkuss Broks  touchscreen-size-x: true
360ce25e4bSMarkuss Broks  touchscreen-size-y: true
370ce25e4bSMarkuss Broks  touchscreen-fuzz-x: true
380ce25e4bSMarkuss Broks  touchscreen-fuzz-y: true
390ce25e4bSMarkuss Broks  touchscreen-inverted-x: true
400ce25e4bSMarkuss Broks  touchscreen-inverted-y: true
410ce25e4bSMarkuss Broks  touchscreen-swapped-x-y: true
420ce25e4bSMarkuss Broks
430ce25e4bSMarkuss BroksadditionalProperties: false
440ce25e4bSMarkuss Broks
450ce25e4bSMarkuss Broksrequired:
460ce25e4bSMarkuss Broks  - compatible
470ce25e4bSMarkuss Broks  - reg
480ce25e4bSMarkuss Broks  - interrupts
490ce25e4bSMarkuss Broks  - touchscreen-size-x
500ce25e4bSMarkuss Broks  - touchscreen-size-y
510ce25e4bSMarkuss Broks
520ce25e4bSMarkuss Broksexamples:
530ce25e4bSMarkuss Broks  - |
540ce25e4bSMarkuss Broks    #include <dt-bindings/interrupt-controller/irq.h>
550ce25e4bSMarkuss Broks    i2c {
560ce25e4bSMarkuss Broks      #address-cells = <1>;
570ce25e4bSMarkuss Broks      #size-cells = <0>;
580ce25e4bSMarkuss Broks      touchscreen@50 {
590ce25e4bSMarkuss Broks        compatible = "imagis,ist3038c";
600ce25e4bSMarkuss Broks        reg = <0x50>;
610ce25e4bSMarkuss Broks        interrupt-parent = <&gpio>;
620ce25e4bSMarkuss Broks        interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
630ce25e4bSMarkuss Broks        vdd-supply = <&ldo1_reg>;
640ce25e4bSMarkuss Broks        vddio-supply = <&ldo2_reg>;
650ce25e4bSMarkuss Broks        touchscreen-size-x = <720>;
660ce25e4bSMarkuss Broks        touchscreen-size-y = <1280>;
670ce25e4bSMarkuss Broks        touchscreen-fuzz-x = <10>;
680ce25e4bSMarkuss Broks        touchscreen-fuzz-y = <10>;
690ce25e4bSMarkuss Broks        touchscreen-inverted-x;
700ce25e4bSMarkuss Broks        touchscreen-inverted-y;
710ce25e4bSMarkuss Broks      };
720ce25e4bSMarkuss Broks    };
730ce25e4bSMarkuss Broks
740ce25e4bSMarkuss Broks...
75