1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2354d7675SEmmanuel Vadot%YAML 1.2 3354d7675SEmmanuel Vadot--- 4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/iommu/apple,dart.yaml# 5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6354d7675SEmmanuel Vadot 7354d7675SEmmanuel Vadottitle: Apple DART IOMMU 8354d7675SEmmanuel Vadot 9354d7675SEmmanuel Vadotmaintainers: 10354d7675SEmmanuel Vadot - Sven Peter <sven@svenpeter.dev> 11354d7675SEmmanuel Vadot 12354d7675SEmmanuel Vadotdescription: |+ 13354d7675SEmmanuel Vadot Apple SoCs may contain an implementation of their Device Address 14354d7675SEmmanuel Vadot Resolution Table which provides a mandatory layer of address 15354d7675SEmmanuel Vadot translations for various masters. 16354d7675SEmmanuel Vadot 17354d7675SEmmanuel Vadot Each DART instance is capable of handling up to 16 different streams 18354d7675SEmmanuel Vadot with individual pagetables and page-level read/write protection flags. 19354d7675SEmmanuel Vadot 20354d7675SEmmanuel Vadot This DART IOMMU also raises interrupts in response to various 21354d7675SEmmanuel Vadot fault conditions. 22354d7675SEmmanuel Vadot 23354d7675SEmmanuel Vadotproperties: 24354d7675SEmmanuel Vadot compatible: 25354d7675SEmmanuel Vadot const: apple,t8103-dart 26354d7675SEmmanuel Vadot 27354d7675SEmmanuel Vadot reg: 28354d7675SEmmanuel Vadot maxItems: 1 29354d7675SEmmanuel Vadot 30354d7675SEmmanuel Vadot interrupts: 31354d7675SEmmanuel Vadot maxItems: 1 32354d7675SEmmanuel Vadot 33354d7675SEmmanuel Vadot clocks: 34354d7675SEmmanuel Vadot description: 35354d7675SEmmanuel Vadot Reference to the gate clock phandle if required for this IOMMU. 36354d7675SEmmanuel Vadot Optional since not all IOMMUs are attached to a clock gate. 37354d7675SEmmanuel Vadot 38354d7675SEmmanuel Vadot '#iommu-cells': 39354d7675SEmmanuel Vadot const: 1 40354d7675SEmmanuel Vadot description: 41354d7675SEmmanuel Vadot Has to be one. The single cell describes the stream id emitted by 42354d7675SEmmanuel Vadot a master to the IOMMU. 43354d7675SEmmanuel Vadot 44*e67e8565SEmmanuel Vadot power-domains: 45*e67e8565SEmmanuel Vadot maxItems: 1 46*e67e8565SEmmanuel Vadot 47354d7675SEmmanuel Vadotrequired: 48354d7675SEmmanuel Vadot - compatible 49354d7675SEmmanuel Vadot - reg 50354d7675SEmmanuel Vadot - '#iommu-cells' 51354d7675SEmmanuel Vadot - interrupts 52354d7675SEmmanuel Vadot 53354d7675SEmmanuel VadotadditionalProperties: false 54354d7675SEmmanuel Vadot 55354d7675SEmmanuel Vadotexamples: 56354d7675SEmmanuel Vadot - |+ 57354d7675SEmmanuel Vadot dart1: iommu@82f80000 { 58354d7675SEmmanuel Vadot compatible = "apple,t8103-dart"; 59354d7675SEmmanuel Vadot reg = <0x82f80000 0x4000>; 60354d7675SEmmanuel Vadot interrupts = <1 781 4>; 61354d7675SEmmanuel Vadot #iommu-cells = <1>; 62354d7675SEmmanuel Vadot }; 63354d7675SEmmanuel Vadot 64354d7675SEmmanuel Vadot master1 { 65354d7675SEmmanuel Vadot iommus = <&dart1 0>; 66354d7675SEmmanuel Vadot }; 67354d7675SEmmanuel Vadot 68354d7675SEmmanuel Vadot - |+ 69354d7675SEmmanuel Vadot dart2a: iommu@82f00000 { 70354d7675SEmmanuel Vadot compatible = "apple,t8103-dart"; 71354d7675SEmmanuel Vadot reg = <0x82f00000 0x4000>; 72354d7675SEmmanuel Vadot interrupts = <1 781 4>; 73354d7675SEmmanuel Vadot #iommu-cells = <1>; 74354d7675SEmmanuel Vadot }; 75354d7675SEmmanuel Vadot dart2b: iommu@82f80000 { 76354d7675SEmmanuel Vadot compatible = "apple,t8103-dart"; 77354d7675SEmmanuel Vadot reg = <0x82f80000 0x4000>; 78354d7675SEmmanuel Vadot interrupts = <1 781 4>; 79354d7675SEmmanuel Vadot #iommu-cells = <1>; 80354d7675SEmmanuel Vadot }; 81354d7675SEmmanuel Vadot 82354d7675SEmmanuel Vadot master2 { 83354d7675SEmmanuel Vadot iommus = <&dart2a 0>, <&dart2b 1>; 84354d7675SEmmanuel Vadot }; 85