GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / input / mediatek,pmic-keys.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/input/mediatek,pmic-keys.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: MediaTek PMIC Keys
8
9 maintainers:
10   - Chen Zhong <chen.zhong@mediatek.com>
11
12 allOf:
13   - $ref: input.yaml#
14
15 description: |
16   There are two key functions provided by MT6397, MT6323 and other MediaTek
17   PMICs: pwrkey and homekey.
18   The key functions are defined as the subnode of the function node provided
19   by the PMIC that is defined as a Multi-Function Device (MFD).
20
21   For MediaTek MT6323/MT6397 PMIC bindings see
22   Documentation/devicetree/bindings/mfd/mt6397.txt
23
24 properties:
25   compatible:
26     enum:
27       - mediatek,mt6323-keys
28       - mediatek,mt6331-keys
29       - mediatek,mt6357-keys
30       - mediatek,mt6358-keys
31       - mediatek,mt6397-keys
32
33   power-off-time-sec: true
34
35   mediatek,long-press-mode:
36     description: |
37       Key long-press force shutdown setting
38       0 - disabled
39       1 - pwrkey
40       2 - pwrkey+homekey
41     $ref: /schemas/types.yaml#/definitions/uint32
42     default: 0
43     maximum: 2
44
45 patternProperties:
46   "^((power|home)|(key-[a-z0-9-]+|[a-z0-9-]+-key))$":
47     $ref: input.yaml#
48
49     properties:
50       interrupts:
51         minItems: 1
52         items:
53           - description: Key press interrupt
54           - description: Key release interrupt
55
56       interrupt-names: true
57
58       linux,keycodes:
59         maxItems: 1
60
61       wakeup-source: true
62
63     required:
64       - linux,keycodes
65
66     if:
67       properties:
68         interrupt-names:
69           contains:
70             const: powerkey
71     then:
72       properties:
73         interrupt-names:
74           minItems: 1
75           items:
76             - const: powerkey
77             - const: powerkey_r
78     else:
79       properties:
80         interrupt-names:
81           minItems: 1
82           items:
83             - const: homekey
84             - const: homekey_r
85
86     unevaluatedProperties: false
87
88 required:
89   - compatible
90
91 unevaluatedProperties: false
92
93 ...