[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c4989dc1-4f18-a30a-75a5-843b6be3b44e@arm.com>
Date: Wed, 25 Jul 2018 14:00:50 +0100
From: Robin Murphy <robin.murphy@....com>
To: Nipun Gupta <nipun.gupta@....com>, will.deacon@....com,
robh+dt@...nel.org, robh@...nel.org, mark.rutland@....com,
catalin.marinas@....com, gregkh@...uxfoundation.org,
laurentiu.tudor@....com, bhelgaas@...gle.com, hch@....de
Cc: joro@...tes.org, m.szyprowski@...sung.com, shawnguo@...nel.org,
frowand.list@...il.com, iommu@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linuxppc-dev@...ts.ozlabs.org, linux-pci@...r.kernel.org,
bharat.bhushan@....com, stuyoder@...il.com, leoyang.li@....com
Subject: Re: [PATCH 1/7 v6] Documentation: fsl-mc: add iommu-map device-tree
binding for fsl-mc bus
On 09/07/18 12:18, Nipun Gupta wrote:
> The existing IOMMU bindings cannot be used to specify the relationship
> between fsl-mc devices and IOMMUs. This patch adds a generic binding for
> mapping fsl-mc devices to IOMMUs, using iommu-map property.
No more nits from me :)
Acked-by: Robin Murphy <robin.murphy@....com>
> Signed-off-by: Nipun Gupta <nipun.gupta@....com>
> Reviewed-by: Rob Herring <robh@...nel.org>
> ---
> .../devicetree/bindings/misc/fsl,qoriq-mc.txt | 39 ++++++++++++++++++++++
> 1 file changed, 39 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt b/Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
> index 6611a7c..01fdc33 100644
> --- a/Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
> +++ b/Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
> @@ -9,6 +9,25 @@ blocks that can be used to create functional hardware objects/devices
> such as network interfaces, crypto accelerator instances, L2 switches,
> etc.
>
> +For an overview of the DPAA2 architecture and fsl-mc bus see:
> +Documentation/networking/dpaa2/overview.rst
> +
> +As described in the above overview, all DPAA2 objects in a DPRC share the
> +same hardware "isolation context" and a 10-bit value called an ICID
> +(isolation context id) is expressed by the hardware to identify
> +the requester.
> +
> +The generic 'iommus' property is insufficient to describe the relationship
> +between ICIDs and IOMMUs, so an iommu-map property is used to define
> +the set of possible ICIDs under a root DPRC and how they map to
> +an IOMMU.
> +
> +For generic IOMMU bindings, see
> +Documentation/devicetree/bindings/iommu/iommu.txt.
> +
> +For arm-smmu binding, see:
> +Documentation/devicetree/bindings/iommu/arm,smmu.txt.
> +
> Required properties:
>
> - compatible
> @@ -88,14 +107,34 @@ Sub-nodes:
> Value type: <phandle>
> Definition: Specifies the phandle to the PHY device node associated
> with the this dpmac.
> +Optional properties:
> +
> +- iommu-map: Maps an ICID to an IOMMU and associated iommu-specifier
> + data.
> +
> + The property is an arbitrary number of tuples of
> + (icid-base,iommu,iommu-base,length).
> +
> + Any ICID i in the interval [icid-base, icid-base + length) is
> + associated with the listed IOMMU, with the iommu-specifier
> + (i - icid-base + iommu-base).
>
> Example:
>
> + smmu: iommu@...0000 {
> + compatible = "arm,mmu-500";
> + #iommu-cells = <1>;
> + stream-match-mask = <0x7C00>;
> + ...
> + };
> +
> fsl_mc: fsl-mc@...000000 {
> compatible = "fsl,qoriq-mc";
> reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
> <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
> msi-parent = <&its>;
> + /* define map for ICIDs 23-64 */
> + iommu-map = <23 &smmu 23 41>;
> #address-cells = <3>;
> #size-cells = <1>;
>
>
Powered by blists - more mailing lists