# Copyright (c) 2018, Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

description: Nordic nRF quadrature decoder (QDEC) node

compatible: "nordic,nrf-qdec"

include: [base.yaml, pinctrl-device.yaml]

properties:
    reg:
      required: true

    interrupts:
      required: true

    a-pin:
      type: int
      required: true
      description: |
        IMPORTANT: This option will only be used if the new pin control driver
        is not enabled. It will be deprecated in the future.

        The A pin to use.

        For pins P0.0 through P0.31, use the pin number. For example,
        to use P0.16 for the A pin, set:

            a-pin = <16>;

        For pins P1.0 through P1.31, add 32 to the pin number. For
        example, to use P1.2 for the A pin, set:

            a-pin = <34>;  /* 32 + 2 */

    b-pin:
      type: int
      required: true
      description: |
        IMPORTANT: This option will only be used if the new pin control driver
        is not enabled. It will be deprecated in the future.

        The B pin to use. The pin numbering scheme is the same as
        the a-pin property's.

    led-pin:
      type: int
      required: false
      description: |
        IMPORTANT: This option will only be used if the new pin control driver
        is not enabled. It will be deprecated in the future.

        The LED pin to use for a light based QDEC device. The pin
        numbering scheme is the same as the a-pin property's.

    enable-pin:
      type: int
      required: false
      description: |
        The enable pin to use, to enable a connected QDEC device. The
        pin numbering scheme is the same as the a-pin property's.

    led-pre:
      type: int
      description: Time LED is enabled prior to sampling event (in us)
      required: true

    steps:
      type: int
      description: Number of steps on the rotating wheel
      required: true

    label:
      required: true
