-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: iommu: add DART iommu bindings
DART (Device Address Resolution Table) is the iommu found on Apple ARM SoCs such as the M1. Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Signed-off-by: Sven Peter <sven@svenpeter.dev> Link: https://lore.kernel.org/r/20210803121651.61594-3-sven@svenpeter.dev Signed-off-by: Joerg Roedel <jroedel@suse.de>
- Loading branch information
Sven Peter
authored and
Joerg Roedel
committed
Aug 12, 2021
1 parent
892384c
commit 9d9cafb
Showing
2 changed files
with
87 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/iommu/apple,dart.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Apple DART IOMMU | ||
|
||
maintainers: | ||
- Sven Peter <sven@svenpeter.dev> | ||
|
||
description: |+ | ||
Apple SoCs may contain an implementation of their Device Address | ||
Resolution Table which provides a mandatory layer of address | ||
translations for various masters. | ||
Each DART instance is capable of handling up to 16 different streams | ||
with individual pagetables and page-level read/write protection flags. | ||
This DART IOMMU also raises interrupts in response to various | ||
fault conditions. | ||
properties: | ||
compatible: | ||
const: apple,t8103-dart | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
interrupts: | ||
maxItems: 1 | ||
|
||
clocks: | ||
description: | ||
Reference to the gate clock phandle if required for this IOMMU. | ||
Optional since not all IOMMUs are attached to a clock gate. | ||
|
||
'#iommu-cells': | ||
const: 1 | ||
description: | ||
Has to be one. The single cell describes the stream id emitted by | ||
a master to the IOMMU. | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- '#iommu-cells' | ||
- interrupts | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- |+ | ||
dart1: iommu@82f80000 { | ||
compatible = "apple,t8103-dart"; | ||
reg = <0x82f80000 0x4000>; | ||
interrupts = <1 781 4>; | ||
#iommu-cells = <1>; | ||
}; | ||
master1 { | ||
iommus = <&dart1 0>; | ||
}; | ||
- |+ | ||
dart2a: iommu@82f00000 { | ||
compatible = "apple,t8103-dart"; | ||
reg = <0x82f00000 0x4000>; | ||
interrupts = <1 781 4>; | ||
#iommu-cells = <1>; | ||
}; | ||
dart2b: iommu@82f80000 { | ||
compatible = "apple,t8103-dart"; | ||
reg = <0x82f80000 0x4000>; | ||
interrupts = <1 781 4>; | ||
#iommu-cells = <1>; | ||
}; | ||
master2 { | ||
iommus = <&dart2a 0>, <&dart2b 1>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters