| Device-Tree bindings for input/keyboard/gpio_keys.c keyboard driver |
| |
| Required properties: |
| - compatible = "gpio-keys"; |
| |
| Optional properties: |
| - autorepeat: Boolean, Enable auto repeat feature of Linux input |
| subsystem. |
| - label: String, name of the input device. |
| |
| Each button (key) is represented as a sub-node of "gpio-keys": |
| Subnode properties: |
| |
| - gpios: OF device-tree gpio specification. |
| - interrupts: the interrupt line for that input. |
| - label: Descriptive name of the key. |
| - linux,code: Keycode to emit. |
| |
| Note that either "interrupts" or "gpios" properties can be omitted, but not |
| both at the same time. Specifying both properties is allowed. |
| |
| Optional subnode-properties: |
| - linux,input-type: Specify event type this button/key generates. |
| If not specified defaults to <1> == EV_KEY. |
| - debounce-interval: Debouncing interval time in milliseconds. |
| If not specified defaults to 5. |
| - wakeup-source: Boolean, button can wake-up the system. |
| (Legacy property supported: "gpio-key,wakeup") |
| - wakeup-event-action: 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_ASSERTED - asserted |
| EV_ACT_DEASSERTED - deasserted |
| EV_ACT_ANY - both asserted and deasserted |
| - linux,can-disable: Boolean, indicates that button is connected |
| to dedicated (not shared) interrupt which can be disabled to |
| suppress events from the button. |
| |
| Example nodes: |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| autorepeat; |
| |
| up { |
| label = "GPIO Key UP"; |
| linux,code = <103>; |
| gpios = <&gpio1 0 1>; |
| }; |
| |
| down { |
| label = "GPIO Key DOWN"; |
| linux,code = <108>; |
| interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; |
| }; |
| ... |