mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 05:41:55 +00:00
Documentation: fsl-mc: add iommu-map device-tree binding for fsl-mc bus
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> Reviewed-by: Rob Herring <robh@kernel.org> Acked-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
6bf4ca7fbc
commit
c9d8d661ec
@ -9,6 +9,25 @@ blocks that can be used to create functional hardware objects/devices
|
|||||||
such as network interfaces, crypto accelerator instances, L2 switches,
|
such as network interfaces, crypto accelerator instances, L2 switches,
|
||||||
etc.
|
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:
|
Required properties:
|
||||||
|
|
||||||
- compatible
|
- compatible
|
||||||
@ -88,14 +107,34 @@ Sub-nodes:
|
|||||||
Value type: <phandle>
|
Value type: <phandle>
|
||||||
Definition: Specifies the phandle to the PHY device node associated
|
Definition: Specifies the phandle to the PHY device node associated
|
||||||
with the this dpmac.
|
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:
|
Example:
|
||||||
|
|
||||||
|
smmu: iommu@5000000 {
|
||||||
|
compatible = "arm,mmu-500";
|
||||||
|
#iommu-cells = <1>;
|
||||||
|
stream-match-mask = <0x7C00>;
|
||||||
|
...
|
||||||
|
};
|
||||||
|
|
||||||
fsl_mc: fsl-mc@80c000000 {
|
fsl_mc: fsl-mc@80c000000 {
|
||||||
compatible = "fsl,qoriq-mc";
|
compatible = "fsl,qoriq-mc";
|
||||||
reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
|
reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
|
||||||
<0x00000000 0x08340000 0 0x40000>; /* MC control reg */
|
<0x00000000 0x08340000 0 0x40000>; /* MC control reg */
|
||||||
msi-parent = <&its>;
|
msi-parent = <&its>;
|
||||||
|
/* define map for ICIDs 23-64 */
|
||||||
|
iommu-map = <23 &smmu 23 41>;
|
||||||
#address-cells = <3>;
|
#address-cells = <3>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user