| Device-Tree bindings for input/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") |
| - 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"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| autorepeat; |
| button@21 { |
| label = "GPIO Key UP"; |
| linux,code = <103>; |
| gpios = <&gpio1 0 1>; |
| }; |
| button@22 { |
| label = "GPIO Key DOWN"; |
| linux,code = <108>; |
| interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; |
| }; |
| ... |