• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Device-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	- label: String, name of the input device.
10
11Each button (key) is represented as a sub-node of "gpio-keys":
12Subnode properties:
13
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.
18
19Note that either "interrupts" or "gpios" properties can be omitted, but not
20both at the same time. Specifying both properties is allowed.
21
22Optional 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.
32
33Example nodes:
34
35	gpio-keys {
36			compatible = "gpio-keys";
37			autorepeat;
38
39			up {
40				label = "GPIO Key UP";
41				linux,code = <103>;
42				gpios = <&gpio1 0 1>;
43			};
44
45			down {
46				label = "GPIO Key DOWN";
47				linux,code = <108>;
48				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
49			};
50			...
51