From: Sven Peter <sven@svenpeter•dev>
To: Will Deacon <will@kernel•org>,
Robin Murphy <robin.murphy@arm•com>,
Joerg Roedel <joro@8bytes•org>, Rob Herring <robh+dt@kernel•org>
Cc: Sven Peter <sven@svenpeter•dev>, Arnd Bergmann <arnd@kernel•org>,
devicetree@vger•kernel.org, Hector Martin <marcan@marcan•st>,
linux-kernel@vger•kernel.org, Marc Zyngier <maz@kernel•org>,
Mohamed Mediouni <mohamed.mediouni@caramail•com>,
Stan Skowronek <stan@corellium•com>,
linux-arm-kernel@lists•infradead.org,
Mark Kettenis <mark.kettenis@xs4all•nl>,
iommu@lists•linux-foundation.org,
Alexander Graf <graf@amazon•com>
Subject: [PATCH v3 2/3] dt-bindings: iommu: add DART iommu bindings
Date: Thu, 3 Jun 2021 10:50:02 +0200 [thread overview]
Message-ID: <20210603085003.50465-3-sven@svenpeter.dev> (raw)
In-Reply-To: <20210603085003.50465-1-sven@svenpeter.dev>
DART (Device Address Resolution Table) is the iommu found on Apple
ARM SoCs such as the M1.
Signed-off-by: Sven Peter <sven@svenpeter•dev>
---
.../devicetree/bindings/iommu/apple,dart.yaml | 81 +++++++++++++++++++
MAINTAINERS | 6 ++
2 files changed, 87 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iommu/apple,dart.yaml
diff --git a/Documentation/devicetree/bindings/iommu/apple,dart.yaml b/Documentation/devicetree/bindings/iommu/apple,dart.yaml
new file mode 100644
index 000000000000..db21ca07d121
--- /dev/null
+++ b/Documentation/devicetree/bindings/iommu/apple,dart.yaml
@@ -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>;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 673cadd5107a..4373d63f9ccf 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1240,6 +1240,12 @@ L: linux-input@vger•kernel.org
S: Odd fixes
F: drivers/input/mouse/bcm5974.c
+APPLE DART IOMMU DRIVER
+M: Sven Peter <sven@svenpeter•dev>
+L: iommu@lists•linux-foundation.org
+S: Maintained
+F: Documentation/devicetree/bindings/iommu/apple,dart.yaml
+
APPLE SMC DRIVER
M: Henrik Rydberg <rydberg@bitmath•org>
L: linux-hwmon@vger•kernel.org
--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-06-03 8:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-03 8:50 [PATCH v3 0/3] Apple M1 DART IOMMU driver Sven Peter
2021-06-03 8:50 ` [PATCH v3 1/3] iommu: io-pgtable: add DART pagetable format Sven Peter
2021-06-03 8:50 ` Sven Peter [this message]
2021-06-10 16:52 ` [PATCH v3 2/3] dt-bindings: iommu: add DART iommu bindings Rob Herring
2021-06-12 12:24 ` Sven Peter
2021-06-03 8:50 ` [PATCH v3 3/3] iommu: dart: Add DART iommu driver Sven Peter
2021-06-05 11:50 ` Rouven Czerwinski
2021-06-05 12:28 ` Sven Peter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210603085003.50465-3-sven@svenpeter.dev \
--to=sven@svenpeter$(echo .)dev \
--cc=arnd@kernel$(echo .)org \
--cc=devicetree@vger$(echo .)kernel.org \
--cc=graf@amazon$(echo .)com \
--cc=iommu@lists$(echo .)linux-foundation.org \
--cc=joro@8bytes$(echo .)org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=marcan@marcan$(echo .)st \
--cc=mark.kettenis@xs4all$(echo .)nl \
--cc=maz@kernel$(echo .)org \
--cc=mohamed.mediouni@caramail$(echo .)com \
--cc=robh+dt@kernel$(echo .)org \
--cc=robin.murphy@arm$(echo .)com \
--cc=stan@corellium$(echo .)com \
--cc=will@kernel$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox