# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/gpio-keys.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: GPIO attached keys

maintainers:
  - Rob Herring <robh@kernel.org>

properties:
  compatible:
    enum:
      - gpio-keys
      - gpio-keys-polled

  autorepeat: true

  label:
    description: Name of entire device

  poll-interval: true

patternProperties:
  "^(button|event|key|switch|(button|event|key|switch)-[a-z0-9-]+|[a-z0-9-]+-(button|event|key|switch))$":
    $ref: input.yaml#

    properties:
      gpios:
        maxItems: 1

      interrupts:
        oneOf:
          - items:
              - description: Optional key interrupt or wakeup interrupt
          - items:
              - description: Key interrupt
              - description: Wakeup interrupt

      interrupt-names:
        description:
          Optional interrupt names, can be used to specify a separate dedicated
          wake-up interrupt in addition to the gpio irq
        oneOf:
          - items:
              - enum: [ irq, wakeup ]
          - items:
              - const: irq
              - const: wakeup

      label:
        description: Descriptive name of the key.

      linux,code:
        description: Key / Axis code to emit.

      linux,input-type:
        default: 1  # EV_KEY

      linux,input-value:
        description: |
          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 */

        $ref: /schemas/types.yaml#/definitions/uint32

      debounce-interval:
        description:
          Debouncing interval time in milliseconds. If not specified defaults to 5.
        $ref: /schemas/types.yaml#/definitions/uint32

        default: 5

      wakeup-source:
        description: Button can wake-up the system.

      wakeup-event-action:
        description: |
          Specifies whether the key should wake the system when asserted, when
          deasserted, or both. This property is only valid for keys that wake up the
          system (e.g., when the "wakeup-source" property is also provided).

          Supported values are defined in linux-event-codes.h:

            EV_ACT_ANY        - both asserted and deasserted
            EV_ACT_ASSERTED   - asserted
            EV_ACT_DEASSERTED - deasserted
        $ref: /schemas/types.yaml#/definitions/uint32
        enum: [0, 1, 2]

      linux,can-disable:
        description:
          Indicates that button is connected to dedicated (not shared) interrupt
          which can be disabled to suppress events from the button.
        type: boolean

    required:
      - linux,code

    anyOf:
      - required:
          - interrupts
      - required:
          - interrupts-extended
      - required:
          - gpios

    allOf:
      - if:
          properties:
            interrupts:
              minItems: 2
          required:
            - interrupts
        then:
          properties:
            interrupt-names:
              minItems: 2
          required:
            - interrupt-names

    dependencies:
      wakeup-event-action: [ wakeup-source ]
      linux,input-value: [ gpios ]

    unevaluatedProperties: false

allOf:
  - $ref: input.yaml#
  - if:
      properties:
        compatible:
          const: gpio-keys-polled
    then:
      required:
        - poll-interval
    else:
      properties:
        poll-interval: false

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    gpio-keys {
        compatible = "gpio-keys";
        autorepeat;

        key-up {
            label = "GPIO Key UP";
            linux,code = <103>;
            gpios = <&gpio1 0 1>;
        };

        key-down {
            label = "GPIO Key DOWN";
            linux,code = <108>;
            interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
        };

        key-wakeup {
            label = "GPIO Key WAKEUP";
            linux,code = <143>;
            interrupts-extended = <&intc 2 IRQ_TYPE_EDGE_FALLING>,
                                  <&intc_wakeup 0 IRQ_TYPE_LEVEL_HIGH>;
            interrupt-names = "irq", "wakeup";
            wakeup-source;
        };
    };

...
