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