Linux 4.1.18
[linux/fpc-iii.git] / Documentation / devicetree / bindings / net / cavium-pip.txt
blob7dbd158810d293b597d76f909d5544b3411bb641
1 * PIP Ethernet nexus.
3 The PIP Ethernet nexus can control several data packet input/output
4 devices.  The devices have a two level grouping scheme.  There may be
5 several interfaces, and each interface may have several ports.  These
6 ports might be an individual Ethernet PHY.
9 Properties for the PIP nexus:
10 - compatible: "cavium,octeon-3860-pip"
12   Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
14 - reg: The base address of the PIP's register bank.
16 - #address-cells: Must be <1>.
18 - #size-cells: Must be <0>.
20 Properties for PIP interfaces which is a child the PIP nexus:
21 - compatible: "cavium,octeon-3860-pip-interface"
23   Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
25 - reg: The interface number.
27 - #address-cells: Must be <1>.
29 - #size-cells: Must be <0>.
31 Properties for PIP port which is a child the PIP interface:
32 - compatible: "cavium,octeon-3860-pip-port"
34   Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
36 - reg: The port number within the interface group.
38 - phy-handle: Optional, see ethernet.txt file in the same directory.
40 Example:
42         pip@11800a0000000 {
43                 compatible = "cavium,octeon-3860-pip";
44                 #address-cells = <1>;
45                 #size-cells = <0>;
46                 reg = <0x11800 0xa0000000 0x0 0x2000>;
48                 interface@0 {
49                         compatible = "cavium,octeon-3860-pip-interface";
50                         #address-cells = <1>;
51                         #size-cells = <0>;
52                         reg = <0>; /* interface */
54                         ethernet@0 {
55                                 compatible = "cavium,octeon-3860-pip-port";
56                                 reg = <0x0>; /* Port */
57                                 local-mac-address = [ 00 0f b7 10 63 60 ];
58                                 phy-handle = <&phy2>;
59                         };
60                         ethernet@1 {
61                                 compatible = "cavium,octeon-3860-pip-port";
62                                 reg = <0x1>; /* Port */
63                                 local-mac-address = [ 00 0f b7 10 63 61 ];
64                                 phy-handle = <&phy3>;
65                         };
66                         ethernet@2 {
67                                 compatible = "cavium,octeon-3860-pip-port";
68                                 reg = <0x2>; /* Port */
69                                 local-mac-address = [ 00 0f b7 10 63 62 ];
70                                 phy-handle = <&phy4>;
71                         };
72                         ethernet@3 {
73                                 compatible = "cavium,octeon-3860-pip-port";
74                                 reg = <0x3>; /* Port */
75                                 local-mac-address = [ 00 0f b7 10 63 63 ];
76                                 phy-handle = <&phy5>;
77                         };
78                 };
80                 interface@1 {
81                         compatible = "cavium,octeon-3860-pip-interface";
82                         #address-cells = <1>;
83                         #size-cells = <0>;
84                         reg = <1>; /* interface */
86                         ethernet@0 {
87                                 compatible = "cavium,octeon-3860-pip-port";
88                                 reg = <0x0>; /* Port */
89                                 local-mac-address = [ 00 0f b7 10 63 64 ];
90                                 phy-handle = <&phy6>;
91                         };
92                 };
93         };