# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/apm,xgene-storm-dma.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: APM X-Gene Storm SoC DMA

maintainers:
  - Khuong Dinh <khuong@os.amperecomputing.com>

properties:
  compatible:
    const: apm,xgene-storm-dma

  reg:
    items:
      - description: DMA control and status registers
      - description: Descriptor ring control and status registers
      - description: Descriptor ring command registers
      - description: SoC efuse registers

  interrupts:
    items:
      - description: DMA error reporting interrupt
      - description: DMA channel 0 completion interrupt
      - description: DMA channel 1 completion interrupt
      - description: DMA channel 2 completion interrupt
      - description: DMA channel 3 completion interrupt

  clocks:
    maxItems: 1

  dma-coherent: true

required:
  - compatible
  - reg
  - interrupts
  - clocks

additionalProperties: false

examples:
  - |
    dma@1f270000 {
        compatible = "apm,xgene-storm-dma";
        reg = <0x1f270000 0x10000>,
              <0x1f200000 0x10000>,
              <0x1b000000 0x400000>,
              <0x1054a000 0x100>;
        interrupts = <0x0 0x82 0x4>,
                    <0x0 0xb8 0x4>,
                    <0x0 0xb9 0x4>,
                    <0x0 0xba 0x4>,
                    <0x0 0xbb 0x4>;
        dma-coherent;
        clocks = <&dmaclk 0>;
    };
