linux/Documentation/devicetree/bindings/gpio/gpio_keys.txt
<<
>>
Prefs
   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        - label: Descriptive name of the key.
  15        - linux,code: Keycode to emit.
  16
  17Optional subnode-properties:
  18        - linux,input-type: Specify event type this button/key generates.
  19          If not specified defaults to <1> == EV_KEY.
  20        - debounce-interval: Debouncing interval time in milliseconds.
  21          If not specified defaults to 5.
  22        - gpio-key,wakeup: Boolean, button can wake-up the system.
  23
  24Example nodes:
  25
  26        gpio_keys {
  27                        compatible = "gpio-keys";
  28                        #address-cells = <1>;
  29                        #size-cells = <0>;
  30                        autorepeat;
  31                        button@21 {
  32                                label = "GPIO Key UP";
  33                                linux,code = <103>;
  34                                gpios = <&gpio1 0 1>;
  35                        };
  36                        ...
  37