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