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

description: Nordic nRF quadrature decoder (QDEC) node

compatible: "nordic,nrf-qdec"

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

properties:
    reg:
      required: true

    interrupts:
      required: true

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

        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
      deprecated: true
      description: |
        IMPORTANT: This option will only be used if the new pin control driver
        is not enabled.

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

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

        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
      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
