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