xref: /linux/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
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
7title: MediaTek PMIC Keys
8
9maintainers:
10  - Chen Zhong <chen.zhong@mediatek.com>
11
12allOf:
13  - $ref: input.yaml#
14
15description: |
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/mediatek,mt6397.yaml
23
24properties:
25  compatible:
26    enum:
27      - mediatek,mt6323-keys
28      - mediatek,mt6331-keys
29      - mediatek,mt6357-keys
30      - mediatek,mt6358-keys
31      - mediatek,mt6359-keys
32      - mediatek,mt6397-keys
33
34  power-off-time-sec: true
35
36  mediatek,long-press-mode:
37    description: |
38      Key long-press force shutdown setting
39      0 - disabled
40      1 - pwrkey
41      2 - pwrkey+homekey
42    $ref: /schemas/types.yaml#/definitions/uint32
43    default: 0
44    maximum: 2
45
46patternProperties:
47  "^((power|home)|(key-[a-z0-9-]+|[a-z0-9-]+-key))$":
48    $ref: input.yaml#
49
50    properties:
51      interrupts:
52        minItems: 1
53        items:
54          - description: Key press interrupt
55          - description: Key release interrupt
56
57      interrupt-names: true
58
59      linux,keycodes:
60        maxItems: 1
61
62      wakeup-source: true
63
64    required:
65      - linux,keycodes
66
67    if:
68      properties:
69        interrupt-names:
70          contains:
71            const: powerkey
72    then:
73      properties:
74        interrupt-names:
75          minItems: 1
76          items:
77            - const: powerkey
78            - const: powerkey_r
79    else:
80      properties:
81        interrupt-names:
82          minItems: 1
83          items:
84            - const: homekey
85            - const: homekey_r
86
87    unevaluatedProperties: false
88
89required:
90  - compatible
91
92unevaluatedProperties: false
93
94...
95