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