blob: e3b8fe71762be70e0d071338827c59ecbdbe8c4f [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001* 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 };