From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC v1 1/2] documentation/iommu: Add description of Hisilicon System MMU binding
Date: Thu, 5 Jun 2014 16:26:51 +0100 [thread overview]
Message-ID: <20140605152651.GB31564@leverpostej> (raw)
In-Reply-To: <1401975430-2648-2-git-send-email-thunder.leizhen@huawei.com>
Hi,
On Thu, Jun 05, 2014 at 02:37:09PM +0100, Zhen Lei wrote:
> This patch adds a description of the device tree binding for the Hisilicon
> System MMU architecture.
Similarly to my comments regarding the code, if this is a variant of the
ARM SMMU architecture, then it almost certainly makes sense to express
this as a delta againsts the ARM SMMU binding.
>
> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
> ---
> .../devicetree/bindings/iommu/hisilicon,smmu.txt | 70 ++++++++++++++++++++++
> 1 file changed, 70 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iommu/hisilicon,smmu.txt
>
> diff --git a/Documentation/devicetree/bindings/iommu/hisilicon,smmu.txt b/Documentation/devicetree/bindings/iommu/hisilicon,smmu.txt
> new file mode 100644
> index 0000000..a2b2f23
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iommu/hisilicon,smmu.txt
> @@ -0,0 +1,70 @@
> +* Hisilicon System MMU Architecture Implementation
> +
> +Hisilicon SoCs may contain an implementation of the Hisilicon 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:
> +
> + "hisilicon,smmu-v1"
> +
> + depending on the particular implementation and/or the
> + version of the architecture implemented.
One of one possibilities?
Are we expecting further variants?
> +
> +- 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 exactly one
> + following entry corresponding to context interrupt.
> +
> +- smmu-masters : A list of phandles to device nodes representing bus
> + masters for which the SMMU can provide a translation
> + and their corresponding StreamIDs (see example below).
> +
> +** System MMU optional properties:
> +
> +- smmu-cb-memtype : A list of StreamIDs which not translate address but
> + translate attributes. The StreamIDs list here can not be
> + used for map(translation) mode again.
> + StreamID first, then the type list below:
> + 1, cahceable, WBRAWA, Normal outer and inner write-back
> + 2, non-cacheable, Normal outer and inner non-cacheable
> + 3, device, nGnRE
> + others, bypass
This sounds like configuration rather than device description.
What is this for?
Why is this necessary?
> +
> +- smmu-bypass-vmid : Specify which context bank is used for bypass mode.
> + If omit, vmid=255 is default.
Likewise, for all the points against smmu-cb-memtype.
> +
> +Example:
> +
> + smmu {
Nit: missing unit-address;
> + compatible = "hisilicon,smmu-v1";
> + reg = <0x40040000 0x1000>;
> + #global-interrupts = <1>;
> +
> + /*
> + * Global and context faults may use the same interrupt, if
> + * only one exist.
> + */
That comment sounds like it should be in the description of the
interrupts property, not the example.
> + interrupts = <0 188 4>,
> + <0 188 4>; /* The last is the context interrupt */
> +
> + /*
> + * StreamID = 0 is bypass and force cacheable(WBRAWA).
> + */
> + smmu-cb-memtype = <0x0 1>;
Why?
Cheers,
Mark.
> +
> + /*
> + * Two DMA controllers, each with exactly one StreamID.
> + */
> + smmu-masters = <&dma0 0x0001>,
> + <&dma1 0x0002>;
> + };
> --
> 1.8.0
>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
next prev parent reply other threads:[~2014-06-05 15:26 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-05 13:37 [PATCH RFC v1 0/2] Add support for Hisilicon SMMU architecture Zhen Lei
2014-06-05 13:37 ` [PATCH RFC v1 1/2] documentation/iommu: Add description of Hisilicon System MMU binding Zhen Lei
2014-06-05 15:26 ` Mark Rutland [this message]
2014-06-06 6:48 ` Arnd Bergmann
2014-06-06 11:07 ` Dave Martin
2014-06-11 8:12 ` leizhen
2014-06-16 16:26 ` Will Deacon
2014-06-16 16:42 ` Arnd Bergmann
2014-06-16 16:45 ` Will Deacon
2014-06-16 17:25 ` Arnd Bergmann
2014-06-16 18:26 ` Will Deacon
2014-06-17 7:14 ` Arnd Bergmann
2014-06-17 11:49 ` Thierry Reding
2014-06-18 11:10 ` Varun Sethi
2014-06-18 12:31 ` Will Deacon
2014-06-20 9:54 ` Varun Sethi
2014-06-20 17:49 ` Will Deacon
2014-06-20 18:57 ` Varun Sethi
2014-06-24 14:30 ` Will Deacon
2014-06-17 7:57 ` leizhen
2014-06-16 16:44 ` Arnd Bergmann
2014-06-05 13:37 ` [PATCH RFC v1 2/2] iommu/hisilicon: Add support for Hisilicon Ltd. System MMU architecture Zhen Lei
2014-06-05 15:21 ` [PATCH RFC v1 0/2] Add support for Hisilicon SMMU architecture Mark Rutland
2014-06-06 0:21 ` leizhen
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=20140605152651.GB31564@leverpostej \
--to=mark.rutland@arm.com \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox