forked from Minki/linux
97d86e07b7
This change allows specify interrupt for buttons separately form gpio, potentially allowing to form several "clusters" of buttons on different interrupts. Button defined without both gpio and irq in device tree is a hared error instead of a warning now. Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
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:
|
|
|
|
- gpios: OF device-tree gpio specification.
|
|
- interrupts: the interrupt line for that input.
|
|
- label: Descriptive name of the key.
|
|
- linux,code: Keycode to emit.
|
|
|
|
Note that either "interrupts" or "gpios" properties can be omitted, but not
|
|
both at the same time. Specifying both properties is allowed.
|
|
|
|
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.
|
|
- linux,can-disable: Boolean, indicates that button is connected
|
|
to dedicated (not shared) interrupt which can be disabled to
|
|
suppress events from the button.
|
|
|
|
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>;
|
|
};
|
|
...
|