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

title: SpacemiT K1 PDMA Controller

maintainers:
  - Guodong Xu <guodong@riscstar.com>

allOf:
  - $ref: dma-controller.yaml#

properties:
  compatible:
    const: spacemit,k1-pdma

  reg:
    maxItems: 1

  interrupts:
    description: Shared interrupt for all DMA channels
    maxItems: 1

  clocks:
    maxItems: 1

  resets:
    maxItems: 1

  dma-channels:
    maximum: 16

  '#dma-cells':
    const: 1
    description:
      The DMA request number for the peripheral device.

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - resets
  - dma-channels
  - '#dma-cells'

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/spacemit,k1-syscon.h>

    soc {
        #address-cells = <2>;
        #size-cells = <2>;

        dma-controller@d4000000 {
            compatible = "spacemit,k1-pdma";
            reg = <0x0 0xd4000000 0x0 0x4000>;
            interrupts = <72>;
            clocks = <&syscon_apmu CLK_DMA>;
            resets = <&syscon_apmu RESET_DMA>;
            dma-channels = <16>;
            #dma-cells = <1>;
        };
    };
