From: Rob Herring <robherring2@gmail.com>
To: Will Deacon <will.deacon@arm.com>
Cc: Andreas Herrmann <andreas.herrmann@calxeda.com>,
devicetree-discuss@lists.ozlabs.org,
iommu@lists.linux-foundation.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] documentation: iommu: add description of ARM System MMU binding
Date: Fri, 05 Apr 2013 11:43:06 -0500 [thread overview]
Message-ID: <515EFF1A.5030705@gmail.com> (raw)
In-Reply-To: <1365094259-24847-1-git-send-email-will.deacon@arm.com>
On 04/04/2013 11:50 AM, Will Deacon wrote:
> This patch adds a description of the device tree binding for the ARM
> System MMU architecture.
>
> Cc: Rob Herring <robherring2@gmail.com>
> Cc: Andreas Herrmann <andreas.herrmann@calxeda.com>
> Signed-off-by: Will Deacon <will.deacon@arm.com>
> ---
>
> Hello,
>
> The driver for this is still a WIP. Both Andreas and myself have prototype
> code, but we're planning to merge that together to get something more
> general. Deciding on the binding is a good first step.
Thanks for getting this out.
> All comments welcome,
>
> Will
>
> .../devicetree/bindings/iommu/arm,smmu.txt | 61 ++++++++++++++++++++++
> 1 file changed, 61 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iommu/arm,smmu.txt
>
> diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
> new file mode 100644
> index 0000000..938325f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
> @@ -0,0 +1,61 @@
> +* ARM System MMU Architecture Implementation
> +
> +ARM SoCs may contain an implementation of the ARM System Memory
> +Management Unit Architecture, which can be used to provide 1 or 2 stages
> +of address translation to bus masters external to the CPU.
> +
> +The SMMU may also raise interrupts in response to various fault
> +conditions.
> +
> +** System MMU required properties:
> +
> +- compatible : Should be one of "arm,smmu-v1" or "arm,smmu-v2"
> + depending on the version of the architecture
> + implemented.
We can keep these, but we should have specific models like arm,smmu-400,
etc. as well.
> +
> +- reg : Base address and size of the SMMU.
> +
> +- #global-interrupts : The number of global interrupts exposed by the
> + device.
> +
> +- interrupts : Interrupt list, with the first #global-irqs entries
> + corresponding to the global interrupts and any
> + following entries corresponding to context interrupts,
> + specified in order of their indexing by the SMMU.
> +
> +- mmu-masters : A list of phandles to device nodes representing bus
> + masters for which the SMMU can provide a translation.
> +
> +- stream-ids : A list of 16-bit values corresponding to the StreamIDs
> + for the devices listed in the mmu-masters property.
> + This list must be same length as mmu-masters, so
> + masters with multiple stream-ids will have multiple
> + entries in mmu-masters.
Your example below is actually 32-bit values in the DTB. You can
annotate them to actually be 16-bit if you want. But I would just leave
them as 32-bit.
> +
> +** System MMU optional properties:
> +
> +- smmu-parent : When multiple SMMUs are chained together, this
> + property can be used to provide a phandle to the
> + parent SMMU (that is the next SMMU on the path going
> + from the mmu-masters towards memory) node for this
> + SMMU.
Does the SMMU need to know if it is coherent or not?
Rob
> +
> +Example:
> +
> + smmu {
> + compatible = "arm,smmu-v1";
> + reg = <0xba5e0000 0x10000>;
> + #global-interrupts = <2>;
> + interrupts = <0 32 4>,
> + <0 33 4>,
> + <0 34 4>, /* This is the first context interrupt */
> + <0 35 4>,
> + <0 36 4>,
> + <0 37 4>;
> + mmu-masters = <&dma0>,
> + <&dma0>,
> + <&dma1>;
> + stream-ids = <0xd01d>,
> + <0xd01e>,
> + <0xd11c>;
> + };
>
WARNING: multiple messages have this Message-ID (diff)
From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] documentation: iommu: add description of ARM System MMU binding
Date: Fri, 05 Apr 2013 11:43:06 -0500 [thread overview]
Message-ID: <515EFF1A.5030705@gmail.com> (raw)
In-Reply-To: <1365094259-24847-1-git-send-email-will.deacon@arm.com>
On 04/04/2013 11:50 AM, Will Deacon wrote:
> This patch adds a description of the device tree binding for the ARM
> System MMU architecture.
>
> Cc: Rob Herring <robherring2@gmail.com>
> Cc: Andreas Herrmann <andreas.herrmann@calxeda.com>
> Signed-off-by: Will Deacon <will.deacon@arm.com>
> ---
>
> Hello,
>
> The driver for this is still a WIP. Both Andreas and myself have prototype
> code, but we're planning to merge that together to get something more
> general. Deciding on the binding is a good first step.
Thanks for getting this out.
> All comments welcome,
>
> Will
>
> .../devicetree/bindings/iommu/arm,smmu.txt | 61 ++++++++++++++++++++++
> 1 file changed, 61 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iommu/arm,smmu.txt
>
> diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
> new file mode 100644
> index 0000000..938325f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
> @@ -0,0 +1,61 @@
> +* ARM System MMU Architecture Implementation
> +
> +ARM SoCs may contain an implementation of the ARM System Memory
> +Management Unit Architecture, which can be used to provide 1 or 2 stages
> +of address translation to bus masters external to the CPU.
> +
> +The SMMU may also raise interrupts in response to various fault
> +conditions.
> +
> +** System MMU required properties:
> +
> +- compatible : Should be one of "arm,smmu-v1" or "arm,smmu-v2"
> + depending on the version of the architecture
> + implemented.
We can keep these, but we should have specific models like arm,smmu-400,
etc. as well.
> +
> +- reg : Base address and size of the SMMU.
> +
> +- #global-interrupts : The number of global interrupts exposed by the
> + device.
> +
> +- interrupts : Interrupt list, with the first #global-irqs entries
> + corresponding to the global interrupts and any
> + following entries corresponding to context interrupts,
> + specified in order of their indexing by the SMMU.
> +
> +- mmu-masters : A list of phandles to device nodes representing bus
> + masters for which the SMMU can provide a translation.
> +
> +- stream-ids : A list of 16-bit values corresponding to the StreamIDs
> + for the devices listed in the mmu-masters property.
> + This list must be same length as mmu-masters, so
> + masters with multiple stream-ids will have multiple
> + entries in mmu-masters.
Your example below is actually 32-bit values in the DTB. You can
annotate them to actually be 16-bit if you want. But I would just leave
them as 32-bit.
> +
> +** System MMU optional properties:
> +
> +- smmu-parent : When multiple SMMUs are chained together, this
> + property can be used to provide a phandle to the
> + parent SMMU (that is the next SMMU on the path going
> + from the mmu-masters towards memory) node for this
> + SMMU.
Does the SMMU need to know if it is coherent or not?
Rob
> +
> +Example:
> +
> + smmu {
> + compatible = "arm,smmu-v1";
> + reg = <0xba5e0000 0x10000>;
> + #global-interrupts = <2>;
> + interrupts = <0 32 4>,
> + <0 33 4>,
> + <0 34 4>, /* This is the first context interrupt */
> + <0 35 4>,
> + <0 36 4>,
> + <0 37 4>;
> + mmu-masters = <&dma0>,
> + <&dma0>,
> + <&dma1>;
> + stream-ids = <0xd01d>,
> + <0xd01e>,
> + <0xd11c>;
> + };
>
next prev parent reply other threads:[~2013-04-05 16:43 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-04 16:50 [PATCH] documentation: iommu: add description of ARM System MMU binding Will Deacon
2013-04-04 16:50 ` Will Deacon
2013-04-05 16:43 ` Rob Herring [this message]
2013-04-05 16:43 ` Rob Herring
2013-04-05 16:57 ` Will Deacon
2013-04-05 16:57 ` Will Deacon
[not found] ` <20130405165745.GB17151-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2013-04-05 18:25 ` Rob Herring
2013-04-05 18:25 ` Rob Herring
[not found] ` <515F1716.70309-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-04-08 8:59 ` Will Deacon
2013-04-08 8:59 ` Will Deacon
2013-04-05 20:44 ` Olav Haugan
2013-04-05 20:44 ` Olav Haugan
[not found] ` <515F37C1.4000109-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2013-04-08 9:25 ` Will Deacon
2013-04-08 9:25 ` Will Deacon
[not found] ` <20130408092535.GA17476-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2013-04-08 17:03 ` Olav Haugan
2013-04-08 17:03 ` Olav Haugan
[not found] ` <5162F87A.7070409-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2013-04-10 17:37 ` Will Deacon
2013-04-10 17:37 ` Will Deacon
[not found] ` <20130410173732.GQ26992-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2013-04-13 21:02 ` Olav Haugan
2013-04-13 21:02 ` Olav Haugan
[not found] ` <5169C7D1.8070300-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2013-04-15 13:13 ` Will Deacon
2013-04-15 13:13 ` Will Deacon
2013-04-16 18:18 ` Olav Haugan
2013-04-16 18:18 ` Olav Haugan
[not found] ` <516D9602.2010404-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2013-04-18 19:01 ` Will Deacon
2013-04-18 19:01 ` Will Deacon
2013-04-23 22:54 ` Olav Haugan
2013-04-23 22:54 ` Olav Haugan
[not found] ` <5177113D.7060300-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2013-04-24 9:55 ` Will Deacon
2013-04-24 9:55 ` Will Deacon
2013-05-07 20:26 ` Olav Haugan
2013-05-07 20:26 ` Olav Haugan
2013-05-13 9:07 ` Andreas Herrmann
2013-05-13 9:07 ` Andreas Herrmann
2013-05-13 10:04 ` Will Deacon
2013-05-13 10:04 ` Will Deacon
2013-07-08 16:20 ` Olav Haugan
2013-07-08 16:20 ` Olav Haugan
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=515EFF1A.5030705@gmail.com \
--to=robherring2@gmail.com \
--cc=andreas.herrmann@calxeda.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=iommu@lists.linux-foundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=will.deacon@arm.com \
/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.