Documentation / devicetree / bindings / input / gpio-keys-polled.txt


Based on kernel version 5.7.10. Page generated on 2020-07-23 22:17 EST.

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 45
Device-Tree bindings for input/gpio_keys_polled.c keyboard driver

Required properties:
	- compatible = "gpio-keys-polled";
	- poll-interval: Poll interval time in milliseconds

Optional properties:
	- autorepeat: Boolean, Enable auto repeat feature of Linux input
	  subsystem.

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

	- gpios: OF device-tree gpio specification.
	- label: Descriptive name of the key.
	- linux,code: Key / Axis code to emit.

Optional subnode-properties:
	- linux,input-type: Specify event type this button/key generates.
	  If not specified defaults to <1> == EV_KEY.
	- linux,input-value: If linux,input-type is EV_ABS or EV_REL then this
	  value is sent for events this button generates when pressed.
	  EV_ABS/EV_REL axis will generate an event with a value of 0 when
	  all buttons with linux,input-type == type and linux,code == axis
	  are released. This value is interpreted as a signed 32 bit value,
	  e.g. to make a button generate a value of -1 use:
	  linux,input-value = <0xffffffff>; /* -1 */
	- 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")

Example nodes:

	gpio_keys_polled {
			compatible = "gpio-keys-polled";
			poll-interval = <100>;
			autorepeat;

			button21 {
				label = "GPIO Key UP";
				linux,code = <103>;
				gpios = <&gpio1 0 1>;
			};
			...