1Device-Tree bindings for input/gpio_keys.c keyboard driver 2 3Required properties: 4 - compatible = "gpio-keys"; 5 6Optional properties: 7 - autorepeat: Boolean, Enable auto repeat feature of Linux input 8 subsystem. 9 10Each button (key) is represented as a sub-node of "gpio-keys": 11Subnode properties: 12 13 - gpios: OF device-tree gpio specification. 14 - interrupts: the interrupt line for that input. 15 - label: Descriptive name of the key. 16 - linux,code: Keycode to emit. 17 18Note that either "interrupts" or "gpios" properties can be omitted, but not 19both at the same time. Specifying both properties is allowed. 20 21Optional subnode-properties: 22 - linux,input-type: Specify event type this button/key generates. 23 If not specified defaults to <1> == EV_KEY. 24 - debounce-interval: Debouncing interval time in milliseconds. 25 If not specified defaults to 5. 26 - gpio-key,wakeup: Boolean, button can wake-up the system. 27 - linux,can-disable: Boolean, indicates that button is connected 28 to dedicated (not shared) interrupt which can be disabled to 29 suppress events from the button. 30 31Example nodes: 32 33 gpio_keys { 34 compatible = "gpio-keys"; 35 #address-cells = <1>; 36 #size-cells = <0>; 37 autorepeat; 38 button@21 { 39 label = "GPIO Key UP"; 40 linux,code = <103>; 41 gpios = <&gpio1 0 1>; 42 }; 43 button@22 { 44 label = "GPIO Key DOWN"; 45 linux,code = <108>; 46 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 47 }; 48 ... 49