| 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"; | |
| 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>; | |
| }; | |
| ... |