From: Rob Herring <robh@kernel.org>
To: Sven Peter <sven@svenpeter.dev>
Cc: devicetree@vger.kernel.org, Arnd Bergmann <arnd@kernel.org>,
Will Deacon <will@kernel.org>, Hector Martin <marcan@marcan.st>,
linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org,
Alexander Graf <graf@amazon.com>, Marc Zyngier <maz@kernel.org>,
Mohamed Mediouni <mohamed.mediouni@caramail.com>,
Mark Kettenis <mark.kettenis@xs4all.nl>,
Robin Murphy <robin.murphy@arm.com>,
linux-arm-kernel@lists.infradead.org,
Stan Skowronek <stan@corellium.com>
Subject: Re: [PATCH v3 2/3] dt-bindings: iommu: add DART iommu bindings
Date: Thu, 10 Jun 2021 11:52:44 -0500 [thread overview]
Message-ID: <20210610165244.GA1948260@robh.at.kernel.org> (raw)
In-Reply-To: <20210603085003.50465-3-sven@svenpeter.dev>
On Thu, Jun 03, 2021 at 10:50:02AM +0200, Sven Peter wrote:
> 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>;
/dart1 is a path, but 'dart1' is a label. You need '&dart1' (or
'&{/iommu@82f80000}' but that doesn't really work here because the
examples get prefixed with /example-n/...)
With that fixed,
Reviewed-by: Rob Herring <robh@kernel.org>
> + };
> +
> + - |+
> + 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
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Sven Peter <sven@svenpeter.dev>
Cc: Will Deacon <will@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Joerg Roedel <joro@8bytes.org>, 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: Re: [PATCH v3 2/3] dt-bindings: iommu: add DART iommu bindings
Date: Thu, 10 Jun 2021 11:52:44 -0500 [thread overview]
Message-ID: <20210610165244.GA1948260@robh.at.kernel.org> (raw)
In-Reply-To: <20210603085003.50465-3-sven@svenpeter.dev>
On Thu, Jun 03, 2021 at 10:50:02AM +0200, Sven Peter wrote:
> 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>;
/dart1 is a path, but 'dart1' is a label. You need '&dart1' (or
'&{/iommu@82f80000}' but that doesn't really work here because the
examples get prefixed with /example-n/...)
With that fixed,
Reviewed-by: Rob Herring <robh@kernel.org>
> + };
> +
> + - |+
> + 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
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Sven Peter <sven@svenpeter.dev>
Cc: Will Deacon <will@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Joerg Roedel <joro@8bytes.org>, 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: Re: [PATCH v3 2/3] dt-bindings: iommu: add DART iommu bindings
Date: Thu, 10 Jun 2021 11:52:44 -0500 [thread overview]
Message-ID: <20210610165244.GA1948260@robh.at.kernel.org> (raw)
In-Reply-To: <20210603085003.50465-3-sven@svenpeter.dev>
On Thu, Jun 03, 2021 at 10:50:02AM +0200, Sven Peter wrote:
> 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>;
/dart1 is a path, but 'dart1' is a label. You need '&dart1' (or
'&{/iommu@82f80000}' but that doesn't really work here because the
examples get prefixed with /example-n/...)
With that fixed,
Reviewed-by: Rob Herring <robh@kernel.org>
> + };
> +
> + - |+
> + 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
next prev parent reply other threads:[~2021-06-10 16:52 UTC|newest]
Thread overview: 24+ 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 via iommu
2021-06-03 8:50 ` Sven Peter
2021-06-03 8:50 ` Sven Peter
2021-06-03 8:50 ` [PATCH v3 1/3] iommu: io-pgtable: add DART pagetable format Sven Peter via iommu
2021-06-03 8:50 ` Sven Peter
2021-06-03 8:50 ` Sven Peter
2021-06-03 8:50 ` [PATCH v3 2/3] dt-bindings: iommu: add DART iommu bindings Sven Peter via iommu
2021-06-03 8:50 ` Sven Peter
2021-06-03 8:50 ` Sven Peter
2021-06-10 16:52 ` Rob Herring [this message]
2021-06-10 16:52 ` Rob Herring
2021-06-10 16:52 ` Rob Herring
2021-06-12 12:24 ` Sven Peter via iommu
2021-06-12 12:24 ` Sven Peter
2021-06-12 12:24 ` Sven Peter
2021-06-03 8:50 ` [PATCH v3 3/3] iommu: dart: Add DART iommu driver Sven Peter via iommu
2021-06-03 8:50 ` Sven Peter
2021-06-03 8:50 ` Sven Peter
2021-06-05 11:50 ` Rouven Czerwinski
2021-06-05 11:50 ` Rouven Czerwinski
2021-06-05 11:50 ` Rouven Czerwinski
2021-06-05 12:28 ` Sven Peter via iommu
2021-06-05 12:28 ` Sven Peter
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=20210610165244.GA1948260@robh.at.kernel.org \
--to=robh@kernel.org \
--cc=arnd@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=graf@amazon.com \
--cc=iommu@lists.linux-foundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=mark.kettenis@xs4all.nl \
--cc=maz@kernel.org \
--cc=mohamed.mediouni@caramail.com \
--cc=robin.murphy@arm.com \
--cc=stan@corellium.com \
--cc=sven@svenpeter.dev \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.