# Copyright (c) 2019, Song Qiang <songqiang1304521@gmail.com>
# SPDX-License-Identifier: Apache-2.0

# Common fields for DMA controllers

include: base.yaml

bus: dma

properties:
    "#dma-cells":
      type: int
      required: true
      description: Number of items to expect in a DMA specifier

    dma-channel-mask:
      type: int
      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.

    dma-channels:
      type: int
      description: Number of DMA channels supported by the controller

    dma-requests:
      type: int
      description: Number of DMA request signals supported by the controller.

    dma-buf-addr-alignment:
      type: int
      description: Memory address alignment requirement for DMA buffers used by the controller.

    dma-buf-size-alignment:
      type: int
      required: false
      description: Memory size alignment requirement for DMA buffers used by the controller.

    dma-copy-alignment:
      type: int
      required: false
      description: Minimal chunk of data possible to be copied by the controller.
