Skip to content

Commit 86ce2bc

Browse files
haukedavem330
authored andcommitted
dt-bindings: net: dsa: Add lantiq, xrx200-gswip DT bindings
This adds the binding for the GSWIP (Gigabit switch) core found in the xrx200 / VR9 Lantiq / Intel SoC. This part takes care of the switch, MDIO bus, and loading the FW into the embedded GPHYs. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Cc: devicetree@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent fe1a564 commit 86ce2bc

File tree

1 file changed

+141
-0
lines changed

1 file changed

+141
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
Lantiq GSWIP Ethernet switches
2+
==================================
3+
4+
Required properties for GSWIP core:
5+
6+
- compatible : "lantiq,xrx200-gswip" for the embedded GSWIP in the
7+
xRX200 SoC
8+
- reg : memory range of the GSWIP core registers
9+
: memory range of the GSWIP MDIO registers
10+
: memory range of the GSWIP MII registers
11+
12+
See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of
13+
additional required and optional properties.
14+
15+
16+
Required properties for MDIO bus:
17+
- compatible : "lantiq,xrx200-mdio" for the MDIO bus inside the GSWIP
18+
core of the xRX200 SoC and the PHYs connected to it.
19+
20+
See Documentation/devicetree/bindings/net/mdio.txt for a list of additional
21+
required and optional properties.
22+
23+
24+
Required properties for GPHY firmware loading:
25+
- compatible : "lantiq,gphy-fw" and "lantiq,xrx200-gphy-fw",
26+
"lantiq,xrx200a1x-gphy-fw", "lantiq,xrx200a2x-gphy-fw",
27+
"lantiq,xrx300-gphy-fw", or "lantiq,xrx330-gphy-fw"
28+
for the loading of the firmware into the embedded
29+
GPHY core of the SoC.
30+
- lantiq,rcu : reference to the rcu syscon
31+
32+
The GPHY firmware loader has a list of GPHY entries, one for each
33+
embedded GPHY
34+
35+
- reg : Offset of the GPHY firmware register in the RCU
36+
register range
37+
- resets : list of resets of the embedded GPHY
38+
- reset-names : list of names of the resets
39+
40+
Example:
41+
42+
Ethernet switch on the VRX200 SoC:
43+
44+
gswip: gswip@E108000 {
45+
#address-cells = <1>;
46+
#size-cells = <0>;
47+
compatible = "lantiq,xrx200-gswip";
48+
reg = < 0xE108000 0x3000 /* switch */
49+
0xE10B100 0x70 /* mdio */
50+
0xE10B1D8 0x30 /* mii */
51+
>;
52+
dsa,member = <0 0>;
53+
54+
ports {
55+
#address-cells = <1>;
56+
#size-cells = <0>;
57+
58+
port@0 {
59+
reg = <0>;
60+
label = "lan3";
61+
phy-mode = "rgmii";
62+
phy-handle = <&phy0>;
63+
};
64+
65+
port@1 {
66+
reg = <1>;
67+
label = "lan4";
68+
phy-mode = "rgmii";
69+
phy-handle = <&phy1>;
70+
};
71+
72+
port@2 {
73+
reg = <2>;
74+
label = "lan2";
75+
phy-mode = "internal";
76+
phy-handle = <&phy11>;
77+
};
78+
79+
port@4 {
80+
reg = <4>;
81+
label = "lan1";
82+
phy-mode = "internal";
83+
phy-handle = <&phy13>;
84+
};
85+
86+
port@5 {
87+
reg = <5>;
88+
label = "wan";
89+
phy-mode = "rgmii";
90+
phy-handle = <&phy5>;
91+
};
92+
93+
port@6 {
94+
reg = <0x6>;
95+
label = "cpu";
96+
ethernet = <&eth0>;
97+
};
98+
};
99+
100+
mdio@0 {
101+
#address-cells = <1>;
102+
#size-cells = <0>;
103+
compatible = "lantiq,xrx200-mdio";
104+
reg = <0>;
105+
106+
phy0: ethernet-phy@0 {
107+
reg = <0x0>;
108+
};
109+
phy1: ethernet-phy@1 {
110+
reg = <0x1>;
111+
};
112+
phy5: ethernet-phy@5 {
113+
reg = <0x5>;
114+
};
115+
phy11: ethernet-phy@11 {
116+
reg = <0x11>;
117+
};
118+
phy13: ethernet-phy@13 {
119+
reg = <0x13>;
120+
};
121+
};
122+
123+
gphy-fw {
124+
compatible = "lantiq,xrx200-gphy-fw", "lantiq,gphy-fw";
125+
lantiq,rcu = <&rcu0>;
126+
127+
gphy@20 {
128+
reg = <0x20>;
129+
130+
resets = <&reset0 31 30>;
131+
reset-names = "gphy";
132+
};
133+
134+
gphy@68 {
135+
reg = <0x68>;
136+
137+
resets = <&reset0 29 28>;
138+
reset-names = "gphy";
139+
};
140+
};
141+
};

0 commit comments

Comments
 (0)