# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/dma-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: DMA Engine Generic Binding

maintainers:
  - Vinod Koul <vkoul@kernel.org>

description:
  Generic binding to provide a way for a driver using DMA Engine to
  retrieve the DMA request or channel information that goes from a
  hardware device to a DMA controller.

select: false

properties:
  "#dma-cells":
    minimum: 1
    # Should be enough
    maximum: 255
    description:
      Used to provide DMA controller specific information.

  dma-channel-mask:
    description:
      Bitmask of available DMA channels in ascending order that are
      not reserved by firmware and are available to the
      kernel. i.e. first channel corresponds to LSB.
      The first item in the array is for channels 0-31, the second is for
      channels 32-63, etc.
    $ref: /schemas/types.yaml#/definitions/uint32-array
    items:
      minItems: 1
      # Should be enough
      maxItems: 255

  dma-channels:
    $ref: /schemas/types.yaml#definitions/uint32
    description:
      Number of DMA channels supported by the controller.

  dma-requests:
    $ref: /schemas/types.yaml#definitions/uint32
    description:
      Number of DMA request signals supported by the controller.

required:
  - "#dma-cells"

additionalProperties: true
