GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / input / touchscreen / melfas,mms114.yaml
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/melfas,mms114.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Melfas MMS114 family touchscreen controller bindings
8
9 maintainers:
10   - Linus Walleij <linus.walleij@linaro.org>
11
12 allOf:
13   - $ref: touchscreen.yaml#
14
15 properties:
16   $nodename:
17     pattern: "^touchscreen(@.*)?$"
18
19   compatible:
20     items:
21       - enum:
22           - melfas,mms114
23           - melfas,mms134s
24           - melfas,mms136
25           - melfas,mms152
26           - melfas,mms345l
27
28   reg:
29     description: I2C address
30
31   clock-frequency:
32     description: I2C client clock frequency, defined for host
33     minimum: 100000
34     maximum: 400000
35
36   interrupts:
37     maxItems: 1
38
39   avdd-supply:
40     description: Analog power supply regulator on AVDD pin
41
42   vdd-supply:
43     description: Digital power supply regulator on VDD pin
44
45   touchscreen-size-x: true
46   touchscreen-size-y: true
47   touchscreen-fuzz-x: true
48   touchscreen-fuzz-y: true
49   touchscreen-fuzz-pressure: true
50   touchscreen-inverted-x: true
51   touchscreen-inverted-y: true
52   touchscreen-swapped-x-y: true
53   touchscreen-max-pressure: true
54
55 additionalProperties: false
56
57 required:
58   - compatible
59   - reg
60   - interrupts
61   - touchscreen-size-x
62   - touchscreen-size-y
63
64 examples:
65   - |
66     #include <dt-bindings/interrupt-controller/irq.h>
67     i2c {
68       #address-cells = <1>;
69       #size-cells = <0>;
70       touchscreen@48 {
71         compatible = "melfas,mms114";
72         reg = <0x48>;
73         interrupt-parent = <&gpio>;
74         interrupts = <39 IRQ_TYPE_EDGE_FALLING>;
75         avdd-supply = <&ldo1_reg>;
76         vdd-supply = <&ldo2_reg>;
77         touchscreen-size-x = <720>;
78         touchscreen-size-y = <1280>;
79         touchscreen-fuzz-x = <10>;
80         touchscreen-fuzz-y = <10>;
81         touchscreen-fuzz-pressure = <10>;
82         touchscreen-inverted-x;
83         touchscreen-inverted-y;
84       };
85     };
86
87 ...