blob: 44b705767aca45ea1366c6e624f0515c8cb78b99 [file] [log] [blame]
David Janderfd05d082011-07-09 12:41:46 -07001Device-Tree bindings for input/gpio_keys.c keyboard driver
2
3Required properties:
4 - compatible = "gpio-keys";
5
6Optional properties:
7 - autorepeat: Boolean, Enable auto repeat feature of Linux input
8 subsystem.
9
10Each button (key) is represented as a sub-node of "gpio-keys":
11Subnode properties:
12
Dmitry Torokhov97d86e02014-11-14 15:57:09 -080013 - gpios: OF device-tree gpio specification.
14 - interrupts: the interrupt line for that input.
David Janderfd05d082011-07-09 12:41:46 -070015 - label: Descriptive name of the key.
16 - linux,code: Keycode to emit.
17
Dmitry Torokhov97d86e02014-11-14 15:57:09 -080018Note that either "interrupts" or "gpios" properties can be omitted, but not
19both at the same time. Specifying both properties is allowed.
Alexander Steinf2d347f2014-11-25 11:53:45 -080020
David Janderfd05d082011-07-09 12:41:46 -070021Optional subnode-properties:
22 - linux,input-type: Specify event type this button/key generates.
23 If not specified defaults to <1> == EV_KEY.
24 - debounce-interval: Debouncing interval time in milliseconds.
25 If not specified defaults to 5.
26 - gpio-key,wakeup: Boolean, button can wake-up the system.
Dmitry Torokhov97d86e02014-11-14 15:57:09 -080027 - linux,can-disable: Boolean, indicates that button is connected
28 to dedicated (not shared) interrupt which can be disabled to
29 suppress events from the button.
David Janderfd05d082011-07-09 12:41:46 -070030
31Example nodes:
32
33 gpio_keys {
34 compatible = "gpio-keys";
35 #address-cells = <1>;
36 #size-cells = <0>;
37 autorepeat;
38 button@21 {
39 label = "GPIO Key UP";
40 linux,code = <103>;
41 gpios = <&gpio1 0 1>;
42 };
Alexander Steinf2d347f2014-11-25 11:53:45 -080043 button@22 {
44 label = "GPIO Key DOWN";
45 linux,code = <108>;
46 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
47 };
David Janderfd05d082011-07-09 12:41:46 -070048 ...