1Device-Tree bindings for input/gpio_keys_polled.c keyboard driver 2 3Required properties: 4 - compatible = "gpio-keys-polled"; 5 - poll-interval: Poll interval time in milliseconds 6 7Optional properties: 8 - autorepeat: Boolean, Enable auto repeat feature of Linux input 9 subsystem. 10 11Each button (key) is represented as a sub-node of "gpio-keys-polled": 12Subnode properties: 13 14 - gpios: OF device-tree gpio specification. 15 - label: Descriptive name of the key. 16 - linux,code: Key / Axis code to emit. 17 18Optional subnode-properties: 19 - linux,input-type: Specify event type this button/key generates. 20 If not specified defaults to <1> == EV_KEY. 21 - linux,input-value: If linux,input-type is EV_ABS or EV_REL then this 22 value is sent for events this button generates when pressed. 23 EV_ABS/EV_REL axis will generate an event with a value of 0 when 24 all buttons with linux,input-type == type and linux,code == axis 25 are released. This value is interpreted as a signed 32 bit value, 26 e.g. to make a button generate a value of -1 use: 27 linux,input-value = <0xffffffff>; /* -1 */ 28 - debounce-interval: Debouncing interval time in milliseconds. 29 If not specified defaults to 5. 30 - wakeup-source: Boolean, button can wake-up the system. 31 (Legacy property supported: "gpio-key,wakeup") 32 33Example nodes: 34 35 gpio_keys_polled { 36 compatible = "gpio-keys-polled"; 37 #address-cells = <1>; 38 #size-cells = <0>; 39 poll-interval = <100>; 40 autorepeat; 41 button@21 { 42 label = "GPIO Key UP"; 43 linux,code = <103>; 44 gpios = <&gpio1 0 1>; 45 }; 46 ... 47