89 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/iommu/apple,dart.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Apple DART IOMMU8 9maintainers:10 - Sven Peter <sven@svenpeter.dev>11 12description: |+13 Apple SoCs may contain an implementation of their Device Address14 Resolution Table which provides a mandatory layer of address15 translations for various masters.16 17 Each DART instance is capable of handling up to 16 different streams18 with individual pagetables and page-level read/write protection flags.19 20 This DART IOMMU also raises interrupts in response to various21 fault conditions.22 23properties:24 compatible:25 enum:26 - apple,t8103-dart27 - apple,t8103-usb4-dart28 - apple,t8110-dart29 - apple,t6000-dart30 31 reg:32 maxItems: 133 34 interrupts:35 maxItems: 136 37 clocks:38 description:39 Reference to the gate clock phandle if required for this IOMMU.40 Optional since not all IOMMUs are attached to a clock gate.41 42 '#iommu-cells':43 const: 144 description:45 Has to be one. The single cell describes the stream id emitted by46 a master to the IOMMU.47 48 power-domains:49 maxItems: 150 51required:52 - compatible53 - reg54 - '#iommu-cells'55 - interrupts56 57additionalProperties: false58 59examples:60 - |+61 dart1: iommu@82f80000 {62 compatible = "apple,t8103-dart";63 reg = <0x82f80000 0x4000>;64 interrupts = <1 781 4>;65 #iommu-cells = <1>;66 };67 68 master1 {69 iommus = <&dart1 0>;70 };71 72 - |+73 dart2a: iommu@82f00000 {74 compatible = "apple,t8103-dart";75 reg = <0x82f00000 0x4000>;76 interrupts = <1 781 4>;77 #iommu-cells = <1>;78 };79 dart2b: iommu@82f80000 {80 compatible = "apple,t8103-dart";81 reg = <0x82f80000 0x4000>;82 interrupts = <1 781 4>;83 #iommu-cells = <1>;84 };85 86 master2 {87 iommus = <&dart2a 0>, <&dart2b 1>;88 };89