Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux...
[linux/fpc-iii.git] / Documentation / devicetree / bindings / input / gpio-keys.txt
blob21641236c095dfc257b0d5375ef0e8710129e690
1 Device-Tree bindings for input/gpio_keys.c keyboard driver
3 Required properties:
4         - compatible = "gpio-keys";
6 Optional properties:
7         - autorepeat: Boolean, Enable auto repeat feature of Linux input
8           subsystem.
9         - label: String, name of the input device.
11 Each button (key) is represented as a sub-node of "gpio-keys":
12 Subnode properties:
14         - gpios: OF device-tree gpio specification.
15         - interrupts: the interrupt line for that input.
16         - label: Descriptive name of the key.
17         - linux,code: Keycode to emit.
19 Note that either "interrupts" or "gpios" properties can be omitted, but not
20 both at the same time. Specifying both properties is allowed.
22 Optional subnode-properties:
23         - linux,input-type: Specify event type this button/key generates.
24           If not specified defaults to <1> == EV_KEY.
25         - debounce-interval: Debouncing interval time in milliseconds.
26           If not specified defaults to 5.
27         - wakeup-source: Boolean, button can wake-up the system.
28                          (Legacy property supported: "gpio-key,wakeup")
29         - linux,can-disable: Boolean, indicates that button is connected
30           to dedicated (not shared) interrupt which can be disabled to
31           suppress events from the button.
33 Example nodes:
35         gpio_keys {
36                         compatible = "gpio-keys";
37                         #address-cells = <1>;
38                         #size-cells = <0>;
39                         autorepeat;
40                         button@21 {
41                                 label = "GPIO Key UP";
42                                 linux,code = <103>;
43                                 gpios = <&gpio1 0 1>;
44                         };
45                         button@22 {
46                                 label = "GPIO Key DOWN";
47                                 linux,code = <108>;
48                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
49                         };
50                         ...