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