1*612a0f0bSAngeloGioacchino Del Regno# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*612a0f0bSAngeloGioacchino Del Regno%YAML 1.2 3*612a0f0bSAngeloGioacchino Del Regno--- 4*612a0f0bSAngeloGioacchino Del Regno$id: http://devicetree.org/schemas/input/mediatek,pmic-keys.yaml# 5*612a0f0bSAngeloGioacchino Del Regno$schema: http://devicetree.org/meta-schemas/core.yaml# 6*612a0f0bSAngeloGioacchino Del Regno 7*612a0f0bSAngeloGioacchino Del Regnotitle: MediaTek PMIC Keys 8*612a0f0bSAngeloGioacchino Del Regno 9*612a0f0bSAngeloGioacchino Del Regnomaintainers: 10*612a0f0bSAngeloGioacchino Del Regno - Chen Zhong <chen.zhong@mediatek.com> 11*612a0f0bSAngeloGioacchino Del Regno 12*612a0f0bSAngeloGioacchino Del RegnoallOf: 13*612a0f0bSAngeloGioacchino Del Regno - $ref: input.yaml# 14*612a0f0bSAngeloGioacchino Del Regno 15*612a0f0bSAngeloGioacchino Del Regnodescription: | 16*612a0f0bSAngeloGioacchino Del Regno There are two key functions provided by MT6397, MT6323 and other MediaTek 17*612a0f0bSAngeloGioacchino Del Regno PMICs: pwrkey and homekey. 18*612a0f0bSAngeloGioacchino Del Regno The key functions are defined as the subnode of the function node provided 19*612a0f0bSAngeloGioacchino Del Regno by the PMIC that is defined as a Multi-Function Device (MFD). 20*612a0f0bSAngeloGioacchino Del Regno 21*612a0f0bSAngeloGioacchino Del Regno For MediaTek MT6323/MT6397 PMIC bindings see 22*612a0f0bSAngeloGioacchino Del Regno Documentation/devicetree/bindings/mfd/mt6397.txt 23*612a0f0bSAngeloGioacchino Del Regno 24*612a0f0bSAngeloGioacchino Del Regnoproperties: 25*612a0f0bSAngeloGioacchino Del Regno compatible: 26*612a0f0bSAngeloGioacchino Del Regno enum: 27*612a0f0bSAngeloGioacchino Del Regno - mediatek,mt6323-keys 28*612a0f0bSAngeloGioacchino Del Regno - mediatek,mt6358-keys 29*612a0f0bSAngeloGioacchino Del Regno - mediatek,mt6397-keys 30*612a0f0bSAngeloGioacchino Del Regno 31*612a0f0bSAngeloGioacchino Del Regno power-off-time-sec: true 32*612a0f0bSAngeloGioacchino Del Regno 33*612a0f0bSAngeloGioacchino Del Regno mediatek,long-press-mode: 34*612a0f0bSAngeloGioacchino Del Regno description: | 35*612a0f0bSAngeloGioacchino Del Regno Key long-press force shutdown setting 36*612a0f0bSAngeloGioacchino Del Regno 0 - disabled 37*612a0f0bSAngeloGioacchino Del Regno 1 - pwrkey 38*612a0f0bSAngeloGioacchino Del Regno 2 - pwrkey+homekey 39*612a0f0bSAngeloGioacchino Del Regno $ref: /schemas/types.yaml#/definitions/uint32 40*612a0f0bSAngeloGioacchino Del Regno default: 0 41*612a0f0bSAngeloGioacchino Del Regno maximum: 2 42*612a0f0bSAngeloGioacchino Del Regno 43*612a0f0bSAngeloGioacchino Del RegnopatternProperties: 44*612a0f0bSAngeloGioacchino Del Regno "^((power|home)|(key-[a-z0-9-]+|[a-z0-9-]+-key))$": 45*612a0f0bSAngeloGioacchino Del Regno $ref: input.yaml# 46*612a0f0bSAngeloGioacchino Del Regno 47*612a0f0bSAngeloGioacchino Del Regno properties: 48*612a0f0bSAngeloGioacchino Del Regno interrupts: 49*612a0f0bSAngeloGioacchino Del Regno minItems: 1 50*612a0f0bSAngeloGioacchino Del Regno items: 51*612a0f0bSAngeloGioacchino Del Regno - description: Key press interrupt 52*612a0f0bSAngeloGioacchino Del Regno - description: Key release interrupt 53*612a0f0bSAngeloGioacchino Del Regno 54*612a0f0bSAngeloGioacchino Del Regno interrupt-names: true 55*612a0f0bSAngeloGioacchino Del Regno 56*612a0f0bSAngeloGioacchino Del Regno linux-keycodes: 57*612a0f0bSAngeloGioacchino Del Regno maxItems: 1 58*612a0f0bSAngeloGioacchino Del Regno 59*612a0f0bSAngeloGioacchino Del Regno wakeup-source: true 60*612a0f0bSAngeloGioacchino Del Regno 61*612a0f0bSAngeloGioacchino Del Regno required: 62*612a0f0bSAngeloGioacchino Del Regno - linux,keycodes 63*612a0f0bSAngeloGioacchino Del Regno 64*612a0f0bSAngeloGioacchino Del Regno if: 65*612a0f0bSAngeloGioacchino Del Regno properties: 66*612a0f0bSAngeloGioacchino Del Regno interrupt-names: 67*612a0f0bSAngeloGioacchino Del Regno contains: 68*612a0f0bSAngeloGioacchino Del Regno const: powerkey 69*612a0f0bSAngeloGioacchino Del Regno then: 70*612a0f0bSAngeloGioacchino Del Regno properties: 71*612a0f0bSAngeloGioacchino Del Regno interrupt-names: 72*612a0f0bSAngeloGioacchino Del Regno minItems: 1 73*612a0f0bSAngeloGioacchino Del Regno items: 74*612a0f0bSAngeloGioacchino Del Regno - const: powerkey 75*612a0f0bSAngeloGioacchino Del Regno - const: powerkey_r 76*612a0f0bSAngeloGioacchino Del Regno else: 77*612a0f0bSAngeloGioacchino Del Regno properties: 78*612a0f0bSAngeloGioacchino Del Regno interrupt-names: 79*612a0f0bSAngeloGioacchino Del Regno minItems: 1 80*612a0f0bSAngeloGioacchino Del Regno items: 81*612a0f0bSAngeloGioacchino Del Regno - const: homekey 82*612a0f0bSAngeloGioacchino Del Regno - const: homekey_r 83*612a0f0bSAngeloGioacchino Del Regno 84*612a0f0bSAngeloGioacchino Del Regno unevaluatedProperties: false 85*612a0f0bSAngeloGioacchino Del Regno 86*612a0f0bSAngeloGioacchino Del Regnorequired: 87*612a0f0bSAngeloGioacchino Del Regno - compatible 88*612a0f0bSAngeloGioacchino Del Regno 89*612a0f0bSAngeloGioacchino Del RegnounevaluatedProperties: false 90*612a0f0bSAngeloGioacchino Del Regno 91*612a0f0bSAngeloGioacchino Del Regnoexamples: 92*612a0f0bSAngeloGioacchino Del Regno - | 93*612a0f0bSAngeloGioacchino Del Regno #include <dt-bindings/input/input.h> 94*612a0f0bSAngeloGioacchino Del Regno #include <dt-bindings/interrupt-controller/arm-gic.h> 95*612a0f0bSAngeloGioacchino Del Regno 96*612a0f0bSAngeloGioacchino Del Regno pmic { 97*612a0f0bSAngeloGioacchino Del Regno compatible = "mediatek,mt6397"; 98*612a0f0bSAngeloGioacchino Del Regno 99*612a0f0bSAngeloGioacchino Del Regno keys { 100*612a0f0bSAngeloGioacchino Del Regno compatible = "mediatek,mt6397-keys"; 101*612a0f0bSAngeloGioacchino Del Regno mediatek,long-press-mode = <1>; 102*612a0f0bSAngeloGioacchino Del Regno power-off-time-sec = <0>; 103*612a0f0bSAngeloGioacchino Del Regno 104*612a0f0bSAngeloGioacchino Del Regno key-power { 105*612a0f0bSAngeloGioacchino Del Regno linux,keycodes = <KEY_POWER>; 106*612a0f0bSAngeloGioacchino Del Regno wakeup-source; 107*612a0f0bSAngeloGioacchino Del Regno }; 108*612a0f0bSAngeloGioacchino Del Regno 109*612a0f0bSAngeloGioacchino Del Regno key-home { 110*612a0f0bSAngeloGioacchino Del Regno linux,keycodes = <KEY_VOLUMEDOWN>; 111*612a0f0bSAngeloGioacchino Del Regno }; 112*612a0f0bSAngeloGioacchino Del Regno }; 113*612a0f0bSAngeloGioacchino Del Regno }; 114