xref: /linux/Documentation/devicetree/bindings/input/touchscreen/melfas,mms114.yaml (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1a811ecf8SLinus Walleij# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2a811ecf8SLinus Walleij%YAML 1.2
3a811ecf8SLinus Walleij---
4a811ecf8SLinus Walleij$id: http://devicetree.org/schemas/input/touchscreen/melfas,mms114.yaml#
5a811ecf8SLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml#
6a811ecf8SLinus Walleij
784e85359SKrzysztof Kozlowskititle: Melfas MMS114 family touchscreen controller
8a811ecf8SLinus Walleij
9a811ecf8SLinus Walleijmaintainers:
10a811ecf8SLinus Walleij  - Linus Walleij <linus.walleij@linaro.org>
11a811ecf8SLinus Walleij
12a811ecf8SLinus WalleijallOf:
13a811ecf8SLinus Walleij  - $ref: touchscreen.yaml#
14a811ecf8SLinus Walleij
15a811ecf8SLinus Walleijproperties:
16a811ecf8SLinus Walleij  $nodename:
17a811ecf8SLinus Walleij    pattern: "^touchscreen(@.*)?$"
18a811ecf8SLinus Walleij
19a811ecf8SLinus Walleij  compatible:
20*55067a49SLuca Weiss    oneOf:
21a811ecf8SLinus Walleij      - enum:
22a811ecf8SLinus Walleij          - melfas,mms114
23a811ecf8SLinus Walleij          - melfas,mms134s
24a811ecf8SLinus Walleij          - melfas,mms136
25a811ecf8SLinus Walleij          - melfas,mms152
26a811ecf8SLinus Walleij          - melfas,mms345l
27*55067a49SLuca Weiss      - items:
28*55067a49SLuca Weiss          - enum:
29*55067a49SLuca Weiss              - melfas,mms252
30*55067a49SLuca Weiss          - const: melfas,mms114
31a811ecf8SLinus Walleij
32a811ecf8SLinus Walleij  reg:
33a811ecf8SLinus Walleij    description: I2C address
34a811ecf8SLinus Walleij
35a811ecf8SLinus Walleij  clock-frequency:
36a811ecf8SLinus Walleij    description: I2C client clock frequency, defined for host
37a811ecf8SLinus Walleij    minimum: 100000
38a811ecf8SLinus Walleij    maximum: 400000
39a811ecf8SLinus Walleij
40a811ecf8SLinus Walleij  interrupts:
41a811ecf8SLinus Walleij    maxItems: 1
42a811ecf8SLinus Walleij
43a811ecf8SLinus Walleij  avdd-supply:
44a811ecf8SLinus Walleij    description: Analog power supply regulator on AVDD pin
45a811ecf8SLinus Walleij
46a811ecf8SLinus Walleij  vdd-supply:
47a811ecf8SLinus Walleij    description: Digital power supply regulator on VDD pin
48a811ecf8SLinus Walleij
49a811ecf8SLinus Walleij  touchscreen-size-x: true
50a811ecf8SLinus Walleij  touchscreen-size-y: true
51a811ecf8SLinus Walleij  touchscreen-fuzz-x: true
52a811ecf8SLinus Walleij  touchscreen-fuzz-y: true
53a811ecf8SLinus Walleij  touchscreen-fuzz-pressure: true
54a811ecf8SLinus Walleij  touchscreen-inverted-x: true
55a811ecf8SLinus Walleij  touchscreen-inverted-y: true
56a811ecf8SLinus Walleij  touchscreen-swapped-x-y: true
57a811ecf8SLinus Walleij  touchscreen-max-pressure: true
58a811ecf8SLinus Walleij
5921c133beSArtur Weber  linux,keycodes:
6021c133beSArtur Weber    description: Keycodes for the touch keys
6121c133beSArtur Weber    minItems: 1
6221c133beSArtur Weber    maxItems: 15
6321c133beSArtur Weber
64a811ecf8SLinus WalleijadditionalProperties: false
65a811ecf8SLinus Walleij
66a811ecf8SLinus Walleijrequired:
67a811ecf8SLinus Walleij  - compatible
68a811ecf8SLinus Walleij  - reg
69a811ecf8SLinus Walleij  - interrupts
70a811ecf8SLinus Walleij  - touchscreen-size-x
71a811ecf8SLinus Walleij  - touchscreen-size-y
72a811ecf8SLinus Walleij
73a811ecf8SLinus Walleijexamples:
74a811ecf8SLinus Walleij  - |
75a811ecf8SLinus Walleij    #include <dt-bindings/interrupt-controller/irq.h>
76a811ecf8SLinus Walleij    i2c {
77a811ecf8SLinus Walleij      #address-cells = <1>;
78a811ecf8SLinus Walleij      #size-cells = <0>;
79a811ecf8SLinus Walleij      touchscreen@48 {
80a811ecf8SLinus Walleij        compatible = "melfas,mms114";
81a811ecf8SLinus Walleij        reg = <0x48>;
82a811ecf8SLinus Walleij        interrupt-parent = <&gpio>;
83a811ecf8SLinus Walleij        interrupts = <39 IRQ_TYPE_EDGE_FALLING>;
84a811ecf8SLinus Walleij        avdd-supply = <&ldo1_reg>;
85a811ecf8SLinus Walleij        vdd-supply = <&ldo2_reg>;
86a811ecf8SLinus Walleij        touchscreen-size-x = <720>;
87a811ecf8SLinus Walleij        touchscreen-size-y = <1280>;
88a811ecf8SLinus Walleij        touchscreen-fuzz-x = <10>;
89a811ecf8SLinus Walleij        touchscreen-fuzz-y = <10>;
90a811ecf8SLinus Walleij        touchscreen-fuzz-pressure = <10>;
91a811ecf8SLinus Walleij        touchscreen-inverted-x;
92a811ecf8SLinus Walleij        touchscreen-inverted-y;
93a811ecf8SLinus Walleij      };
94a811ecf8SLinus Walleij    };
95a811ecf8SLinus Walleij
96a811ecf8SLinus Walleij...
97