[PATCH v3 1/2] arm-smmu: doc: add SMMU mask documentation
thommyj at gmail.com
Thu Jun 9 03:43:20 PDT 2016
Add documentation on how to use a mask for a StreamId.
Signed-off-by: Thommy Jakobsson <thommyj at gmail.com>
.../devicetree/bindings/iommu/arm,smmu.txt | 23 +++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
index 19fe6f2..faf32d8b 100644
@@ -37,7 +37,15 @@ conditions.
- mmu-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).
+ and their corresponding StreamIDs.
+ Upper halfword of the StreamID-cell is describing an
+ (optional) mask. If supported by the SMMU, it will use
+ the following comparison when matching
+ (incoming StreamID & !mask) == (DT StreamId & !mask)
+ If no mask is given, a default mask of 0 is used (i.e
+ entire ID is used for matching). See example below.
Each device node linked from this list must have a
"#stream-id-cells" property, indicating the number of
StreamIDs associated with it.
@@ -55,6 +63,12 @@ conditions.
SMMU configuration registers. In this case non-secure
aliases of secure registers have to be used during
+- mmu-masters-mask : An optional list that specifies a mask per StreamID.
+ A master included in this liss, have to specify masks
+ for all of its StreamIDs. A master not included in the
+ list will default to mask 0 (i.e entire ID is used).
+ This can for example be used in systems where parts of
+ the StreamID is dynamic.
@@ -70,9 +84,12 @@ Example:
<0 37 4>;
- * Two DMA controllers, the first with two StreamIDs (0xd01d
+ * Three DMA controllers, the first with two StreamIDs (0xd01d
* and 0xd01e) and the second with only one (0xd11c).
+ * The third uses a mask to use all StreamIDs that starts with
+ * 0xd8
mmu-masters = <&dma0 0xd01d 0xd01e>,
- <&dma1 0xd11c>;
+ <&dma1 0xd11c>,
+ <&dma2 0x07ffd800>;
More information about the linux-arm-kernel