GNU Linux-libre 4.19.264-gnu1
[releases.git] / Documentation / devicetree / bindings / misc / fsl,qoriq-mc.txt
1 * Freescale Management Complex
2
3 The Freescale Management Complex (fsl-mc) is a hardware resource
4 manager that manages specialized hardware objects used in
5 network-oriented packet processing applications. After the fsl-mc
6 block is enabled, pools of hardware resources are available, such as
7 queues, buffer pools, I/O interfaces. These resources are building
8 blocks that can be used to create functional hardware objects/devices
9 such as network interfaces, crypto accelerator instances, L2 switches,
10 etc.
11
12 Required properties:
13
14     - compatible
15         Value type: <string>
16         Definition: Must be "fsl,qoriq-mc".  A Freescale Management Complex
17                     compatible with this binding must have Block Revision
18                     Registers BRR1 and BRR2 at offset 0x0BF8 and 0x0BFC in
19                     the MC control register region.
20
21     - reg
22         Value type: <prop-encoded-array>
23         Definition: A standard property.  Specifies one or two regions
24                     defining the MC's registers:
25
26                        -the first region is the command portal for the
27                         this machine and must always be present
28
29                        -the second region is the MC control registers. This
30                         region may not be present in some scenarios, such
31                         as in the device tree presented to a virtual machine.
32
33     - msi-parent
34         Value type: <phandle>
35         Definition: Must be present and point to the MSI controller node
36                     handling message interrupts for the MC.
37
38     - ranges
39         Value type: <prop-encoded-array>
40         Definition: A standard property.  Defines the mapping between the child
41                     MC address space and the parent system address space.
42
43                     The MC address space is defined by 3 components:
44                        <region type> <offset hi> <offset lo>
45
46                     Valid values for region type are
47                        0x0 - MC portals
48                        0x1 - QBMAN portals
49
50     - #address-cells
51         Value type: <u32>
52         Definition: Must be 3.  (see definition in 'ranges' property)
53
54     - #size-cells
55         Value type: <u32>
56         Definition: Must be 1.
57
58 Sub-nodes:
59
60         The fsl-mc node may optionally have dpmac sub-nodes that describe
61         the relationship between the Ethernet MACs which belong to the MC
62         and the Ethernet PHYs on the system board.
63
64         The dpmac nodes must be under a node named "dpmacs" which contains
65         the following properties:
66
67             - #address-cells
68               Value type: <u32>
69               Definition: Must be present if dpmac sub-nodes are defined and must
70                           have a value of 1.
71
72             - #size-cells
73               Value type: <u32>
74               Definition: Must be present if dpmac sub-nodes are defined and must
75                           have a value of 0.
76
77         These nodes must have the following properties:
78
79             - compatible
80               Value type: <string>
81               Definition: Must be "fsl,qoriq-mc-dpmac".
82
83             - reg
84               Value type: <prop-encoded-array>
85               Definition: Specifies the id of the dpmac.
86
87             - phy-handle
88               Value type: <phandle>
89               Definition: Specifies the phandle to the PHY device node associated
90                           with the this dpmac.
91
92 Example:
93
94         fsl_mc: fsl-mc@80c000000 {
95                 compatible = "fsl,qoriq-mc";
96                 reg = <0x00000008 0x0c000000 0 0x40>,    /* MC portal base */
97                       <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
98                 msi-parent = <&its>;
99                 #address-cells = <3>;
100                 #size-cells = <1>;
101
102                 /*
103                  * Region type 0x0 - MC portals
104                  * Region type 0x1 - QBMAN portals
105                  */
106                 ranges = <0x0 0x0 0x0 0x8 0x0c000000 0x4000000
107                           0x1 0x0 0x0 0x8 0x18000000 0x8000000>;
108
109                 dpmacs {
110                     #address-cells = <1>;
111                     #size-cells = <0>;
112
113                     dpmac@1 {
114                         compatible = "fsl,qoriq-mc-dpmac";
115                         reg = <1>;
116                         phy-handle = <&mdio0_phy0>;
117                     }
118                 }
119         };