Skip to content

Commit 5bda70c

Browse files
tudorlctmarinas
authored andcommitted
dt-bindings: arm: fsl: Add msi-map device-tree binding for fsl-mc bus
The existing bindings cannot be used to specify the relationship between fsl-mc devices and GIC ITSes. Add a generic binding for mapping fsl-mc devices to GIC ITSes, using msi-map property. In addition, deprecate msi-parent property which no longer makes sense now that we support translating the MSIs. Signed-off-by: Laurentiu Tudor <[email protected]> Signed-off-by: Diana Craciun <[email protected]> Reviewed-by: Rob Herring <[email protected]> Cc: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Catalin Marinas <[email protected]>
1 parent a081bd4 commit 5bda70c

File tree

1 file changed

+44
-6
lines changed

1 file changed

+44
-6
lines changed

Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,16 @@ Documentation/devicetree/bindings/iommu/iommu.txt.
2828
For arm-smmu binding, see:
2929
Documentation/devicetree/bindings/iommu/arm,smmu.yaml.
3030

31+
The MSI writes are accompanied by sideband data which is derived from the ICID.
32+
The msi-map property is used to associate the devices with both the ITS
33+
controller and the sideband data which accompanies the writes.
34+
35+
For generic MSI bindings, see
36+
Documentation/devicetree/bindings/interrupt-controller/msi.txt.
37+
38+
For GICv3 and GIC ITS bindings, see:
39+
Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml.
40+
3141
Required properties:
3242

3343
- compatible
@@ -49,11 +59,6 @@ Required properties:
4959
region may not be present in some scenarios, such
5060
as in the device tree presented to a virtual machine.
5161

52-
- msi-parent
53-
Value type: <phandle>
54-
Definition: Must be present and point to the MSI controller node
55-
handling message interrupts for the MC.
56-
5762
- ranges
5863
Value type: <prop-encoded-array>
5964
Definition: A standard property. Defines the mapping between the child
@@ -119,6 +124,28 @@ Optional properties:
119124
associated with the listed IOMMU, with the iommu-specifier
120125
(i - icid-base + iommu-base).
121126

127+
- msi-map: Maps an ICID to a GIC ITS and associated msi-specifier
128+
data.
129+
130+
The property is an arbitrary number of tuples of
131+
(icid-base,gic-its,msi-base,length).
132+
133+
Any ICID in the interval [icid-base, icid-base + length) is
134+
associated with the listed GIC ITS, with the msi-specifier
135+
(i - icid-base + msi-base).
136+
137+
Deprecated properties:
138+
139+
- msi-parent
140+
Value type: <phandle>
141+
Definition: Describes the MSI controller node handling message
142+
interrupts for the MC. When there is no translation
143+
between the ICID and deviceID this property can be used
144+
to describe the MSI controller used by the devices on the
145+
mc-bus.
146+
The use of this property for mc-bus is deprecated. Please
147+
use msi-map.
148+
122149
Example:
123150

124151
smmu: iommu@5000000 {
@@ -128,13 +155,24 @@ Example:
128155
...
129156
};
130157

158+
gic: interrupt-controller@6000000 {
159+
compatible = "arm,gic-v3";
160+
...
161+
}
162+
its: gic-its@6020000 {
163+
compatible = "arm,gic-v3-its";
164+
msi-controller;
165+
...
166+
};
167+
131168
fsl_mc: fsl-mc@80c000000 {
132169
compatible = "fsl,qoriq-mc";
133170
reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
134171
<0x00000000 0x08340000 0 0x40000>; /* MC control reg */
135-
msi-parent = <&its>;
136172
/* define map for ICIDs 23-64 */
137173
iommu-map = <23 &smmu 23 41>;
174+
/* define msi map for ICIDs 23-64 */
175+
msi-map = <23 &its 23 41>;
138176
#address-cells = <3>;
139177
#size-cells = <1>;
140178

0 commit comments

Comments
 (0)