1fbfb9a60SRob Herring# SPDX-License-Identifier: GPL-2.0-only 2fbfb9a60SRob Herring%YAML 1.2 3fbfb9a60SRob Herring--- 4fbfb9a60SRob Herring$id: http://devicetree.org/schemas/input/gpio-keys.yaml# 5fbfb9a60SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6fbfb9a60SRob Herring 7*9d69d47fSKrzysztof Kozlowskititle: GPIO attached keys 8fbfb9a60SRob Herring 9fbfb9a60SRob Herringmaintainers: 10fbfb9a60SRob Herring - Rob Herring <robh@kernel.org> 11fbfb9a60SRob Herring 12fbfb9a60SRob Herringproperties: 13fbfb9a60SRob Herring compatible: 14fbfb9a60SRob Herring enum: 15fbfb9a60SRob Herring - gpio-keys 16fbfb9a60SRob Herring - gpio-keys-polled 17fbfb9a60SRob Herring 18005d4674SKrzysztof Kozlowski autorepeat: true 19005d4674SKrzysztof Kozlowski 20005d4674SKrzysztof Kozlowski label: 21005d4674SKrzysztof Kozlowski description: Name of entire device 22005d4674SKrzysztof Kozlowski 23005d4674SKrzysztof Kozlowski poll-interval: true 24005d4674SKrzysztof Kozlowski 25fbfb9a60SRob HerringpatternProperties: 265eb56522SKrzysztof Kozlowski "^(button|event|key|switch|(button|event|key|switch)-[a-z0-9-]+|[a-z0-9-]+-(button|event|key|switch))$": 273d21a460SRob Herring $ref: input.yaml# 28fbfb9a60SRob Herring 29fbfb9a60SRob Herring properties: 30fbfb9a60SRob Herring gpios: 31fbfb9a60SRob Herring maxItems: 1 32fbfb9a60SRob Herring 33fbfb9a60SRob Herring interrupts: 34fbfb9a60SRob Herring maxItems: 1 35fbfb9a60SRob Herring 36fbfb9a60SRob Herring label: 37fbfb9a60SRob Herring description: Descriptive name of the key. 38fbfb9a60SRob Herring 39fbfb9a60SRob Herring linux,code: 40fbfb9a60SRob Herring description: Key / Axis code to emit. 41fbfb9a60SRob Herring 42fbfb9a60SRob Herring linux,input-type: 4375448ff7SRob Herring default: 1 # EV_KEY 44fbfb9a60SRob Herring 45fbfb9a60SRob Herring linux,input-value: 46fbfb9a60SRob Herring description: | 47fbfb9a60SRob Herring If linux,input-type is EV_ABS or EV_REL then this 48fbfb9a60SRob Herring value is sent for events this button generates when pressed. 49fbfb9a60SRob Herring EV_ABS/EV_REL axis will generate an event with a value of 0 50fbfb9a60SRob Herring when all buttons with linux,input-type == type and 51fbfb9a60SRob Herring linux,code == axis are released. This value is interpreted 52fbfb9a60SRob Herring as a signed 32 bit value, e.g. to make a button generate a 53fbfb9a60SRob Herring value of -1 use: 54fbfb9a60SRob Herring 55fbfb9a60SRob Herring linux,input-value = <0xffffffff>; /* -1 */ 56fbfb9a60SRob Herring 57d69c6dddSRob Herring $ref: /schemas/types.yaml#/definitions/uint32 58fbfb9a60SRob Herring 59fbfb9a60SRob Herring debounce-interval: 60fbfb9a60SRob Herring description: 61fbfb9a60SRob Herring Debouncing interval time in milliseconds. If not specified defaults to 5. 62d69c6dddSRob Herring $ref: /schemas/types.yaml#/definitions/uint32 633d21a460SRob Herring 64fbfb9a60SRob Herring default: 5 65fbfb9a60SRob Herring 66fbfb9a60SRob Herring wakeup-source: 67fbfb9a60SRob Herring description: Button can wake-up the system. 68fbfb9a60SRob Herring 69fbfb9a60SRob Herring wakeup-event-action: 70fbfb9a60SRob Herring description: | 71fbfb9a60SRob Herring Specifies whether the key should wake the system when asserted, when 72fbfb9a60SRob Herring deasserted, or both. This property is only valid for keys that wake up the 73fbfb9a60SRob Herring system (e.g., when the "wakeup-source" property is also provided). 74fbfb9a60SRob Herring 75fbfb9a60SRob Herring Supported values are defined in linux-event-codes.h: 76fbfb9a60SRob Herring 77fbfb9a60SRob Herring EV_ACT_ANY - both asserted and deasserted 78fbfb9a60SRob Herring EV_ACT_ASSERTED - asserted 79fbfb9a60SRob Herring EV_ACT_DEASSERTED - deasserted 80d69c6dddSRob Herring $ref: /schemas/types.yaml#/definitions/uint32 81fbfb9a60SRob Herring enum: [0, 1, 2] 82fbfb9a60SRob Herring 83fbfb9a60SRob Herring linux,can-disable: 84fbfb9a60SRob Herring description: 85fbfb9a60SRob Herring Indicates that button is connected to dedicated (not shared) interrupt 86fbfb9a60SRob Herring which can be disabled to suppress events from the button. 87fbfb9a60SRob Herring type: boolean 88fbfb9a60SRob Herring 89fbfb9a60SRob Herring required: 90fbfb9a60SRob Herring - linux,code 91fbfb9a60SRob Herring 92fbfb9a60SRob Herring anyOf: 93fbfb9a60SRob Herring - required: 94fbfb9a60SRob Herring - interrupts 95fbfb9a60SRob Herring - required: 9642d3f278SKrzysztof Kozlowski - interrupts-extended 9742d3f278SKrzysztof Kozlowski - required: 98fbfb9a60SRob Herring - gpios 99fbfb9a60SRob Herring 100fbfb9a60SRob Herring dependencies: 101fbfb9a60SRob Herring wakeup-event-action: [ wakeup-source ] 102fbfb9a60SRob Herring linux,input-value: [ gpios ] 103fbfb9a60SRob Herring 104fbfb9a60SRob Herring unevaluatedProperties: false 105fbfb9a60SRob Herring 106005d4674SKrzysztof KozlowskiallOf: 107005d4674SKrzysztof Kozlowski - $ref: input.yaml# 108005d4674SKrzysztof Kozlowski - if: 109fbfb9a60SRob Herring properties: 110fbfb9a60SRob Herring compatible: 111fbfb9a60SRob Herring const: gpio-keys-polled 112fbfb9a60SRob Herring then: 113fbfb9a60SRob Herring required: 114fbfb9a60SRob Herring - poll-interval 115005d4674SKrzysztof Kozlowski else: 116005d4674SKrzysztof Kozlowski properties: 117005d4674SKrzysztof Kozlowski poll-interval: false 118fbfb9a60SRob Herring 119fbfb9a60SRob HerringadditionalProperties: false 120fbfb9a60SRob Herring 121fbfb9a60SRob Herringexamples: 122fbfb9a60SRob Herring - | 123fbfb9a60SRob Herring #include <dt-bindings/interrupt-controller/irq.h> 124fbfb9a60SRob Herring 125fbfb9a60SRob Herring gpio-keys { 126fbfb9a60SRob Herring compatible = "gpio-keys"; 127fbfb9a60SRob Herring autorepeat; 128fbfb9a60SRob Herring 1294fda8a2dSKrzysztof Kozlowski key-up { 130fbfb9a60SRob Herring label = "GPIO Key UP"; 131fbfb9a60SRob Herring linux,code = <103>; 132fbfb9a60SRob Herring gpios = <&gpio1 0 1>; 133fbfb9a60SRob Herring }; 134fbfb9a60SRob Herring 1354fda8a2dSKrzysztof Kozlowski key-down { 136fbfb9a60SRob Herring label = "GPIO Key DOWN"; 137fbfb9a60SRob Herring linux,code = <108>; 138c4cb38b5SGeert Uytterhoeven interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 139fbfb9a60SRob Herring }; 140fbfb9a60SRob Herring }; 141fbfb9a60SRob Herring 142fbfb9a60SRob Herring... 143