# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iommu/allwinner,sun50i-h6-iommu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner H6 IOMMU

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <mripard@kernel.org>

properties:
  "#iommu-cells":
    const: 1
    description:
      The content of the cell is the master ID.

  compatible:
    oneOf:
      - const: allwinner,sun50i-h6-iommu
      - const: allwinner,sun50i-h616-iommu
      - items:
          - const: allwinner,sun55i-a523-iommu
          - const: allwinner,sun50i-h616-iommu

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  resets:
    maxItems: 1

required:
  - "#iommu-cells"
  - compatible
  - reg
  - interrupts
  - clocks
  - resets

additionalProperties: false

examples:
  - |
      #include <dt-bindings/interrupt-controller/arm-gic.h>
      #include <dt-bindings/interrupt-controller/irq.h>

      #include <dt-bindings/clock/sun50i-h6-ccu.h>
      #include <dt-bindings/reset/sun50i-h6-ccu.h>

      iommu: iommu@30f0000 {
          compatible = "allwinner,sun50i-h6-iommu";
          reg = <0x030f0000 0x10000>;
          interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
          clocks = <&ccu CLK_BUS_IOMMU>;
          resets = <&ccu RST_BUS_IOMMU>;
          #iommu-cells = <1>;
      };

...
