1736b1c9cSDavid Daney* PIP Ethernet nexus.
2736b1c9cSDavid Daney
3736b1c9cSDavid DaneyThe PIP Ethernet nexus can control several data packet input/output
4736b1c9cSDavid Daneydevices.  The devices have a two level grouping scheme.  There may be
5736b1c9cSDavid Daneyseveral interfaces, and each interface may have several ports.  These
6736b1c9cSDavid Daneyports might be an individual Ethernet PHY.
7736b1c9cSDavid Daney
8736b1c9cSDavid Daney
9736b1c9cSDavid DaneyProperties for the PIP nexus:
10736b1c9cSDavid Daney- compatible: "cavium,octeon-3860-pip"
11736b1c9cSDavid Daney
12736b1c9cSDavid Daney  Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
13736b1c9cSDavid Daney
14736b1c9cSDavid Daney- reg: The base address of the PIP's register bank.
15736b1c9cSDavid Daney
16736b1c9cSDavid Daney- #address-cells: Must be <1>.
17736b1c9cSDavid Daney
18736b1c9cSDavid Daney- #size-cells: Must be <0>.
19736b1c9cSDavid Daney
20736b1c9cSDavid DaneyProperties for PIP interfaces which is a child the PIP nexus:
21736b1c9cSDavid Daney- compatible: "cavium,octeon-3860-pip-interface"
22736b1c9cSDavid Daney
23736b1c9cSDavid Daney  Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
24736b1c9cSDavid Daney
25736b1c9cSDavid Daney- reg: The interface number.
26736b1c9cSDavid Daney
27736b1c9cSDavid Daney- #address-cells: Must be <1>.
28736b1c9cSDavid Daney
29736b1c9cSDavid Daney- #size-cells: Must be <0>.
30736b1c9cSDavid Daney
31736b1c9cSDavid DaneyProperties for PIP port which is a child the PIP interface:
32736b1c9cSDavid Daney- compatible: "cavium,octeon-3860-pip-port"
33736b1c9cSDavid Daney
34736b1c9cSDavid Daney  Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
35736b1c9cSDavid Daney
36736b1c9cSDavid Daney- reg: The port number within the interface group.
37736b1c9cSDavid Daney
38e8f08ee0SSergei Shtylyov- phy-handle: Optional, see ethernet.txt file in the same directory.
39736b1c9cSDavid Daney
400102788fSAaro Koskinen- rx-delay: Delay value for RGMII receive clock. Optional. Disabled if 0.
410102788fSAaro Koskinen  Value range is 1-31, and mapping to the actual delay varies depending on HW.
420102788fSAaro Koskinen
430102788fSAaro Koskinen- tx-delay: Delay value for RGMII transmit clock. Optional. Disabled if 0.
440102788fSAaro Koskinen  Value range is 1-31, and mapping to the actual delay varies depending on HW.
450102788fSAaro Koskinen
46736b1c9cSDavid DaneyExample:
47736b1c9cSDavid Daney
48736b1c9cSDavid Daney	pip@11800a0000000 {
49736b1c9cSDavid Daney		compatible = "cavium,octeon-3860-pip";
50736b1c9cSDavid Daney		#address-cells = <1>;
51736b1c9cSDavid Daney		#size-cells = <0>;
52736b1c9cSDavid Daney		reg = <0x11800 0xa0000000 0x0 0x2000>;
53736b1c9cSDavid Daney
54736b1c9cSDavid Daney		interface@0 {
55736b1c9cSDavid Daney			compatible = "cavium,octeon-3860-pip-interface";
56736b1c9cSDavid Daney			#address-cells = <1>;
57736b1c9cSDavid Daney			#size-cells = <0>;
58736b1c9cSDavid Daney			reg = <0>; /* interface */
59736b1c9cSDavid Daney
60736b1c9cSDavid Daney			ethernet@0 {
61736b1c9cSDavid Daney				compatible = "cavium,octeon-3860-pip-port";
62736b1c9cSDavid Daney				reg = <0x0>; /* Port */
63736b1c9cSDavid Daney				local-mac-address = [ 00 0f b7 10 63 60 ];
64736b1c9cSDavid Daney				phy-handle = <&phy2>;
65736b1c9cSDavid Daney			};
66736b1c9cSDavid Daney			ethernet@1 {
67736b1c9cSDavid Daney				compatible = "cavium,octeon-3860-pip-port";
68736b1c9cSDavid Daney				reg = <0x1>; /* Port */
69736b1c9cSDavid Daney				local-mac-address = [ 00 0f b7 10 63 61 ];
70736b1c9cSDavid Daney				phy-handle = <&phy3>;
71736b1c9cSDavid Daney			};
72736b1c9cSDavid Daney			ethernet@2 {
73736b1c9cSDavid Daney				compatible = "cavium,octeon-3860-pip-port";
74736b1c9cSDavid Daney				reg = <0x2>; /* Port */
75736b1c9cSDavid Daney				local-mac-address = [ 00 0f b7 10 63 62 ];
76736b1c9cSDavid Daney				phy-handle = <&phy4>;
77736b1c9cSDavid Daney			};
78736b1c9cSDavid Daney			ethernet@3 {
79736b1c9cSDavid Daney				compatible = "cavium,octeon-3860-pip-port";
80736b1c9cSDavid Daney				reg = <0x3>; /* Port */
81736b1c9cSDavid Daney				local-mac-address = [ 00 0f b7 10 63 63 ];
82736b1c9cSDavid Daney				phy-handle = <&phy5>;
83736b1c9cSDavid Daney			};
84736b1c9cSDavid Daney		};
85736b1c9cSDavid Daney
86736b1c9cSDavid Daney		interface@1 {
87736b1c9cSDavid Daney			compatible = "cavium,octeon-3860-pip-interface";
88736b1c9cSDavid Daney			#address-cells = <1>;
89736b1c9cSDavid Daney			#size-cells = <0>;
90736b1c9cSDavid Daney			reg = <1>; /* interface */
91736b1c9cSDavid Daney
92736b1c9cSDavid Daney			ethernet@0 {
93736b1c9cSDavid Daney				compatible = "cavium,octeon-3860-pip-port";
94736b1c9cSDavid Daney				reg = <0x0>; /* Port */
95736b1c9cSDavid Daney				local-mac-address = [ 00 0f b7 10 63 64 ];
96736b1c9cSDavid Daney				phy-handle = <&phy6>;
97736b1c9cSDavid Daney			};
98736b1c9cSDavid Daney		};
99736b1c9cSDavid Daney	};
100