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