linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nipun Gupta <nipun.gupta@nxp.com>
To: robin.murphy@arm.com, will.deacon@arm.com, mark.rutland@arm.com,
	catalin.marinas@arm.com
Cc: hch@lst.de, gregkh@linuxfoundation.org, joro@8bytes.org,
	robh+dt@kernel.org, m.szyprowski@samsung.com,
	shawnguo@kernel.org, frowand.list@gmail.com, bhelgaas@google.com,
	iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org, linux-pci@vger.kernel.org,
	bharat.bhushan@nxp.com, stuyoder@gmail.com,
	laurentiu.tudor@nxp.com, leoyang.li@nxp.com,
	Nipun Gupta <nipun.gupta@nxp.com>
Subject: [PATCH 1/6 v3] Docs: dt: add fsl-mc iommu-map device-tree binding
Date: Fri, 27 Apr 2018 15:57:01 +0530	[thread overview]
Message-ID: <1524824826-29473-2-git-send-email-nipun.gupta@nxp.com> (raw)
In-Reply-To: <1524824826-29473-1-git-send-email-nipun.gupta@nxp.com>

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.

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 .../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..8cbed4f 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:
+drivers/staging/fsl-mc/README.txt
+
+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@5000000 {
+               compatible = "arm,mmu-500";
+               #iommu-cells = <2>;
+               stream-match-mask = <0x7C00>;
+               ...
+        };
+
         fsl_mc: fsl-mc@80c000000 {
                 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>;
 
-- 
1.9.1

  reply	other threads:[~2018-04-27 10:27 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-27 10:27 [PATCH 0/6 v3] Support for fsl-mc bus and its devices in SMMU Nipun Gupta
2018-04-27 10:27 ` Nipun Gupta [this message]
2018-04-27 17:20   ` [PATCH 1/6 v3] Docs: dt: add fsl-mc iommu-map device-tree binding Rob Herring
2018-04-27 10:27 ` [PATCH 2/6 v3] iommu: of: make of_pci_map_rid() available for other devices too Nipun Gupta
2018-04-27 17:15   ` Rob Herring
2018-04-30  3:27     ` Nipun Gupta
2018-04-28  8:17   ` kbuild test robot
2018-04-27 10:27 ` [PATCH 3/6 v3] iommu: support iommu configuration for fsl-mc devices Nipun Gupta
2018-04-27 10:27 ` [PATCH 4/6 v3] iommu: arm-smmu: Add support for the fsl-mc bus Nipun Gupta
2018-04-27 10:27 ` [PATCH 5/6 v3] bus: fsl-mc: supoprt dma configure for devices on " Nipun Gupta
2018-05-14 13:39   ` Laurentiu Tudor
2018-05-16  8:48     ` Nipun Gupta
2018-04-27 10:27 ` [PATCH 6/6 v3] arm64: dts: ls208xa: comply with the iommu map binding for fsl_mc Nipun Gupta
2018-04-27 15:52 ` [PATCH 0/6 v3] Support for fsl-mc bus and its devices in SMMU Christoph Hellwig
2018-04-30  6:27 ` [PATCH v4 0/6] " Nipun Gupta
2018-04-30  6:27   ` [PATCH v4 1/6] Docs: dt: add fsl-mc iommu-map device-tree binding Nipun Gupta
2018-04-30  6:27   ` [PATCH v4 2/6] iommu: of: make of_pci_map_rid() available for other devices too Nipun Gupta
2018-04-30 20:56     ` Bjorn Helgaas
2018-05-01 12:44     ` Rob Herring
2018-04-30  6:27   ` [PATCH v4 3/6] iommu: support iommu configuration for fsl-mc devices Nipun Gupta
2018-04-30  6:27   ` [PATCH v4 4/6] iommu: arm-smmu: Add support for the fsl-mc bus Nipun Gupta
2018-04-30  6:27   ` [PATCH v4 5/6] bus: fsl-mc: supoprt dma configure for devices on " Nipun Gupta
2018-05-01  5:43     ` kbuild test robot
2018-05-02  9:35     ` Laurentiu Tudor
2018-05-14 11:24     ` Greg KH
2018-05-14 12:47     ` Bjorn Helgaas
2018-04-30  6:27   ` [PATCH v4 6/6] arm64: dts: ls208xa: comply with the iommu map binding for fsl_mc Nipun Gupta
2018-05-02  9:14     ` Laurentiu Tudor

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=1524824826-29473-2-git-send-email-nipun.gupta@nxp.com \
    --to=nipun.gupta@nxp.com \
    --cc=bharat.bhushan@nxp.com \
    --cc=bhelgaas@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=laurentiu.tudor@nxp.com \
    --cc=leoyang.li@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=shawnguo@kernel.org \
    --cc=stuyoder@gmail.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).