xref: /freebsd/sys/contrib/device-tree/Bindings/net/cavium-pip.txt (revision d4eeb02986980bf33dd56c41ceb9fc5f180c0d47)
1* PIP Ethernet nexus.
2
3The PIP Ethernet nexus can control several data packet input/output
4devices.  The devices have a two level grouping scheme.  There may be
5several interfaces, and each interface may have several ports.  These
6ports might be an individual Ethernet PHY.
7
8
9Properties for the PIP nexus:
10- compatible: "cavium,octeon-3860-pip"
11
12  Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
13
14- reg: The base address of the PIP's register bank.
15
16- #address-cells: Must be <1>.
17
18- #size-cells: Must be <0>.
19
20Properties for PIP interfaces which is a child the PIP nexus:
21- compatible: "cavium,octeon-3860-pip-interface"
22
23  Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
24
25- reg: The interface number.
26
27- #address-cells: Must be <1>.
28
29- #size-cells: Must be <0>.
30
31Properties for PIP port which is a child the PIP interface:
32- compatible: "cavium,octeon-3860-pip-port"
33
34  Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
35
36- reg: The port number within the interface group.
37
38- phy-handle: Optional, see ethernet.txt file in the same directory.
39
40- rx-delay: Delay value for RGMII receive clock. Optional. Disabled if 0.
41  Value range is 1-31, and mapping to the actual delay varies depending on HW.
42
43- tx-delay: Delay value for RGMII transmit clock. Optional. Disabled if 0.
44  Value range is 1-31, and mapping to the actual delay varies depending on HW.
45
46Example:
47
48	pip@11800a0000000 {
49		compatible = "cavium,octeon-3860-pip";
50		#address-cells = <1>;
51		#size-cells = <0>;
52		reg = <0x11800 0xa0000000 0x0 0x2000>;
53
54		interface@0 {
55			compatible = "cavium,octeon-3860-pip-interface";
56			#address-cells = <1>;
57			#size-cells = <0>;
58			reg = <0>; /* interface */
59
60			ethernet@0 {
61				compatible = "cavium,octeon-3860-pip-port";
62				reg = <0x0>; /* Port */
63				local-mac-address = [ 00 0f b7 10 63 60 ];
64				phy-handle = <&phy2>;
65			};
66			ethernet@1 {
67				compatible = "cavium,octeon-3860-pip-port";
68				reg = <0x1>; /* Port */
69				local-mac-address = [ 00 0f b7 10 63 61 ];
70				phy-handle = <&phy3>;
71			};
72			ethernet@2 {
73				compatible = "cavium,octeon-3860-pip-port";
74				reg = <0x2>; /* Port */
75				local-mac-address = [ 00 0f b7 10 63 62 ];
76				phy-handle = <&phy4>;
77			};
78			ethernet@3 {
79				compatible = "cavium,octeon-3860-pip-port";
80				reg = <0x3>; /* Port */
81				local-mac-address = [ 00 0f b7 10 63 63 ];
82				phy-handle = <&phy5>;
83			};
84		};
85
86		interface@1 {
87			compatible = "cavium,octeon-3860-pip-interface";
88			#address-cells = <1>;
89			#size-cells = <0>;
90			reg = <1>; /* interface */
91
92			ethernet@0 {
93				compatible = "cavium,octeon-3860-pip-port";
94				reg = <0x0>; /* Port */
95				local-mac-address = [ 00 0f b7 10 63 64 ];
96				phy-handle = <&phy6>;
97			};
98		};
99	};
100