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: 258bab661aSEmmanuel Vadot enum: 268bab661aSEmmanuel Vadot - apple,t8103-dart 27*8d13bc63SEmmanuel Vadot - apple,t8103-usb4-dart 28cb7aa33aSEmmanuel Vadot - apple,t8110-dart 298bab661aSEmmanuel Vadot - apple,t6000-dart 30354d7675SEmmanuel Vadot 31354d7675SEmmanuel Vadot reg: 32354d7675SEmmanuel Vadot maxItems: 1 33354d7675SEmmanuel Vadot 34354d7675SEmmanuel Vadot interrupts: 35354d7675SEmmanuel Vadot maxItems: 1 36354d7675SEmmanuel Vadot 37354d7675SEmmanuel Vadot clocks: 38354d7675SEmmanuel Vadot description: 39354d7675SEmmanuel Vadot Reference to the gate clock phandle if required for this IOMMU. 40354d7675SEmmanuel Vadot Optional since not all IOMMUs are attached to a clock gate. 41354d7675SEmmanuel Vadot 42354d7675SEmmanuel Vadot '#iommu-cells': 43354d7675SEmmanuel Vadot const: 1 44354d7675SEmmanuel Vadot description: 45354d7675SEmmanuel Vadot Has to be one. The single cell describes the stream id emitted by 46354d7675SEmmanuel Vadot a master to the IOMMU. 47354d7675SEmmanuel Vadot 48e67e8565SEmmanuel Vadot power-domains: 49e67e8565SEmmanuel Vadot maxItems: 1 50e67e8565SEmmanuel Vadot 51354d7675SEmmanuel Vadotrequired: 52354d7675SEmmanuel Vadot - compatible 53354d7675SEmmanuel Vadot - reg 54354d7675SEmmanuel Vadot - '#iommu-cells' 55354d7675SEmmanuel Vadot - interrupts 56354d7675SEmmanuel Vadot 57354d7675SEmmanuel VadotadditionalProperties: false 58354d7675SEmmanuel Vadot 59354d7675SEmmanuel Vadotexamples: 60354d7675SEmmanuel Vadot - |+ 61354d7675SEmmanuel Vadot dart1: iommu@82f80000 { 62354d7675SEmmanuel Vadot compatible = "apple,t8103-dart"; 63354d7675SEmmanuel Vadot reg = <0x82f80000 0x4000>; 64354d7675SEmmanuel Vadot interrupts = <1 781 4>; 65354d7675SEmmanuel Vadot #iommu-cells = <1>; 66354d7675SEmmanuel Vadot }; 67354d7675SEmmanuel Vadot 68354d7675SEmmanuel Vadot master1 { 69354d7675SEmmanuel Vadot iommus = <&dart1 0>; 70354d7675SEmmanuel Vadot }; 71354d7675SEmmanuel Vadot 72354d7675SEmmanuel Vadot - |+ 73354d7675SEmmanuel Vadot dart2a: iommu@82f00000 { 74354d7675SEmmanuel Vadot compatible = "apple,t8103-dart"; 75354d7675SEmmanuel Vadot reg = <0x82f00000 0x4000>; 76354d7675SEmmanuel Vadot interrupts = <1 781 4>; 77354d7675SEmmanuel Vadot #iommu-cells = <1>; 78354d7675SEmmanuel Vadot }; 79354d7675SEmmanuel Vadot dart2b: iommu@82f80000 { 80354d7675SEmmanuel Vadot compatible = "apple,t8103-dart"; 81354d7675SEmmanuel Vadot reg = <0x82f80000 0x4000>; 82354d7675SEmmanuel Vadot interrupts = <1 781 4>; 83354d7675SEmmanuel Vadot #iommu-cells = <1>; 84354d7675SEmmanuel Vadot }; 85354d7675SEmmanuel Vadot 86354d7675SEmmanuel Vadot master2 { 87354d7675SEmmanuel Vadot iommus = <&dart2a 0>, <&dart2b 1>; 88354d7675SEmmanuel Vadot }; 89