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/mt6397.txt 23 24properties: 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 45patternProperties: 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 88required: 89 - compatible 90 91unevaluatedProperties: false 92 93examples: 94 - | 95 #include <dt-bindings/input/input.h> 96 #include <dt-bindings/interrupt-controller/arm-gic.h> 97 98 pmic { 99 compatible = "mediatek,mt6397"; 100 101 keys { 102 compatible = "mediatek,mt6397-keys"; 103 mediatek,long-press-mode = <1>; 104 power-off-time-sec = <0>; 105 106 key-power { 107 linux,keycodes = <KEY_POWER>; 108 wakeup-source; 109 }; 110 111 key-home { 112 linux,keycodes = <KEY_VOLUMEDOWN>; 113 }; 114 }; 115 }; 116