aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/input/gpio-keys.txt
blob: a4a38fcf2ed61d1fa3db42e053fb8259f2ffcc71 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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.

Each button (key) is represented as a sub-node of "gpio-keys":
Subnode properties:

	- label: Descriptive name of the key.
	- linux,code: Keycode to emit.

Required mutual exclusive subnode-properties:
	- gpios: OF device-tree gpio specification.
	- interrupts: the interrupt line for that input

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.
	- gpio-key,wakeup: Boolean, button can wake-up the system.

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