Based on kernel version 6.11
. Page generated on 2024-09-24 08:21 EST
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | # SPDX-License-Identifier: GPL-2.0-only %YAML 1.2 --- $id: http://devicetree.org/schemas/input/gpio-keys.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: GPIO attached keys maintainers: - Rob Herring <robh@kernel.org> properties: compatible: enum: - gpio-keys - gpio-keys-polled autorepeat: true label: description: Name of entire device poll-interval: true patternProperties: "^(button|event|key|switch|(button|event|key|switch)-[a-z0-9-]+|[a-z0-9-]+-(button|event|key|switch))$": $ref: input.yaml# properties: gpios: maxItems: 1 interrupts: oneOf: - items: - description: Optional key interrupt or wakeup interrupt - items: - description: Key interrupt - description: Wakeup interrupt interrupt-names: description: Optional interrupt names, can be used to specify a separate dedicated wake-up interrupt in addition to the gpio irq oneOf: - items: - enum: [ irq, wakeup ] - items: - const: irq - const: wakeup label: description: Descriptive name of the key. linux,code: description: Key / Axis code to emit. linux,input-type: default: 1 # EV_KEY linux,input-value: description: | If linux,input-type is EV_ABS or EV_REL then this value is sent for events this button generates when pressed. EV_ABS/EV_REL axis will generate an event with a value of 0 when all buttons with linux,input-type == type and linux,code == axis are released. This value is interpreted as a signed 32 bit value, e.g. to make a button generate a value of -1 use: linux,input-value = <0xffffffff>; /* -1 */ $ref: /schemas/types.yaml#/definitions/uint32 debounce-interval: description: Debouncing interval time in milliseconds. If not specified defaults to 5. $ref: /schemas/types.yaml#/definitions/uint32 default: 5 wakeup-source: description: Button can wake-up the system. wakeup-event-action: description: | Specifies whether the key should wake the system when asserted, when deasserted, or both. This property is only valid for keys that wake up the system (e.g., when the "wakeup-source" property is also provided). Supported values are defined in linux-event-codes.h: EV_ACT_ANY - both asserted and deasserted EV_ACT_ASSERTED - asserted EV_ACT_DEASSERTED - deasserted $ref: /schemas/types.yaml#/definitions/uint32 enum: [0, 1, 2] linux,can-disable: description: Indicates that button is connected to dedicated (not shared) interrupt which can be disabled to suppress events from the button. type: boolean required: - linux,code anyOf: - required: - interrupts - required: - interrupts-extended - required: - gpios allOf: - if: properties: interrupts: minItems: 2 required: - interrupts then: properties: interrupt-names: minItems: 2 required: - interrupt-names dependencies: wakeup-event-action: [ wakeup-source ] linux,input-value: [ gpios ] unevaluatedProperties: false allOf: - $ref: input.yaml# - if: properties: compatible: const: gpio-keys-polled then: required: - poll-interval else: properties: poll-interval: false additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/irq.h> gpio-keys { compatible = "gpio-keys"; autorepeat; key-up { label = "GPIO Key UP"; linux,code = <103>; gpios = <&gpio1 0 1>; }; key-down { label = "GPIO Key DOWN"; linux,code = <108>; interrupts = <1 IRQ_TYPE_EDGE_FALLING>; }; key-wakeup { label = "GPIO Key WAKEUP"; linux,code = <143>; interrupts-extended = <&intc 2 IRQ_TYPE_EDGE_FALLING>, <&intc_wakeup 0 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "irq", "wakeup"; wakeup-source; }; }; ... |