Skip to content

Commit 86a9ee8

Browse files
committed
realtek: Add support for Hasivo s1300wp-8xgt-2xgt-2s+ L3 10gbps switch
Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
1 parent 12d4755 commit 86a9ee8

File tree

1 file changed

+369
-0
lines changed

1 file changed

+369
-0
lines changed
Lines changed: 369 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,369 @@
1+
// SPDX-License-Identifier: (GPL-2.0-or-later or MIT)
2+
/dts-v1/;
3+
4+
#include "rtl931x.dtsi"
5+
#include "rtl93xx_linksys_lgs3xxc_nand_common.dtsi"
6+
7+
/ {
8+
compatible = "hasivo,s1300wp-8xgt-2xgt-2s+", "realtek,rtl9310-soc";
9+
model = "Hasivo S1300WP-8XGT-2XGT-2S+";
10+
11+
memory@0 {
12+
device_type = "memory";
13+
reg = <0x00000000 0x10000000>, /* 256 MiB lowmem */
14+
<0x90000000 0x10000000>; /* 256 MiB highmem */
15+
};
16+
};
17+
18+
&i2c_mst1 {
19+
status = "okay";
20+
21+
i2c2: i2c@2 {
22+
reg = <2>;
23+
24+
lm63@4c {
25+
compatible = "national,lm63";
26+
reg = <0x4c>;
27+
};
28+
};
29+
i2c5: i2c@5 {
30+
reg = <5>;
31+
};
32+
i2c6: i2c@6 {
33+
reg = <6>;
34+
};
35+
i2c7: i2c@7 {
36+
reg = <7>;
37+
};
38+
i2c9: i2c@9 {
39+
reg = <9>;
40+
};
41+
};
42+
43+
&sfp0 {
44+
i2c-bus = <&i2c5>;
45+
};
46+
47+
&sfp1 {
48+
i2c-bus = <&i2c6>;
49+
};
50+
51+
&sfp2 {
52+
i2c-bus = <&i2c7>;
53+
};
54+
55+
&sfp3 {
56+
i2c-bus = <&i2c9>;
57+
};
58+
59+
&mdio_aux {
60+
status = "okay";
61+
gpio1: expander@3 {
62+
compatible = "realtek,rtl8231";
63+
reg = <3>;
64+
65+
gpio-controller;
66+
#gpio-cells = <2>;
67+
gpio-ranges = <&gpio1 0 0 37>;
68+
69+
led-controller {
70+
compatible = "realtek,rtl8231-leds";
71+
status = "disabled";
72+
};
73+
};
74+
};
75+
76+
&mdio_ctrl {
77+
pinctrl-names = "default";
78+
pinctrl-0 = <&pinmux_enable_mdc_mdio_0>,
79+
<&pinmux_enable_mdc_mdio_1>;
80+
};
81+
82+
&mdio_bus0 {
83+
phy0: ethernet-phy@0 {
84+
reg = <0>;
85+
compatible = "ethernet-phy-ieee802.3-c22";
86+
rtl9300,smi-address = <0 0>;
87+
};
88+
phy1: ethernet-phy@1 {
89+
reg = <1>;
90+
compatible = "ethernet-phy-ieee802.3-c22";
91+
rtl9300,smi-address = <0 1>;
92+
};
93+
phy2: ethernet-phy@2 {
94+
reg = <2>;
95+
compatible = "ethernet-phy-ieee802.3-c22";
96+
rtl9300,smi-address = <0 2>;
97+
};
98+
phy3: ethernet-phy@3 {
99+
reg = <3>;
100+
compatible = "ethernet-phy-ieee802.3-c22";
101+
rtl9300,smi-address = <0 3>;
102+
};
103+
phy4: ethernet-phy@4 {
104+
reg = <4>;
105+
compatible = "ethernet-phy-ieee802.3-c22";
106+
rtl9300,smi-address = <0 4>;
107+
};
108+
phy5: ethernet-phy@5 {
109+
reg = <5>;
110+
compatible = "ethernet-phy-ieee802.3-c22";
111+
rtl9300,smi-address = <0 5>;
112+
};
113+
phy6: ethernet-phy@6 {
114+
reg = <6>;
115+
compatible = "ethernet-phy-ieee802.3-c22";
116+
rtl9300,smi-address = <0 6>;
117+
};
118+
phy7: ethernet-phy@7 {
119+
reg = <7>;
120+
compatible = "ethernet-phy-ieee802.3-c22";
121+
rtl9300,smi-address = <0 7>;
122+
};
123+
phy8: ethernet-phy@8 {
124+
reg = <8>;
125+
compatible = "ethernet-phy-ieee802.3-c22";
126+
rtl9300,smi-address = <0 8>;
127+
};
128+
phy9: ethernet-phy@9 {
129+
reg = <9>;
130+
compatible = "ethernet-phy-ieee802.3-c22";
131+
rtl9300,smi-address = <0 9>;
132+
};
133+
phy10: ethernet-phy@10 {
134+
reg = <10>;
135+
compatible = "ethernet-phy-ieee802.3-c22";
136+
rtl9300,smi-address = <0 10>;
137+
};
138+
phy11: ethernet-phy@11 {
139+
reg = <11>;
140+
compatible = "ethernet-phy-ieee802.3-c22";
141+
rtl9300,smi-address = <0 11>;
142+
};
143+
phy12: ethernet-phy@12 {
144+
reg = <12>;
145+
compatible = "ethernet-phy-ieee802.3-c22";
146+
rtl9300,smi-address = <0 12>;
147+
};
148+
phy13: ethernet-phy@13 {
149+
reg = <13>;
150+
compatible = "ethernet-phy-ieee802.3-c22";
151+
rtl9300,smi-address = <0 13>;
152+
};
153+
phy14: ethernet-phy@14 {
154+
reg = <14>;
155+
compatible = "ethernet-phy-ieee802.3-c22";
156+
rtl9300,smi-address = <0 14>;
157+
};
158+
phy15: ethernet-phy@15 {
159+
reg = <15>;
160+
compatible = "ethernet-phy-ieee802.3-c22";
161+
rtl9300,smi-address = <0 15>;
162+
};
163+
phy16: ethernet-phy@16 {
164+
reg = <16>;
165+
compatible = "ethernet-phy-ieee802.3-c22";
166+
rtl9300,smi-address = <0 16>;
167+
};
168+
phy17: ethernet-phy@17 {
169+
reg = <17>;
170+
compatible = "ethernet-phy-ieee802.3-c22";
171+
rtl9300,smi-address = <0 17>;
172+
};
173+
phy18: ethernet-phy@18 {
174+
reg = <18>;
175+
compatible = "ethernet-phy-ieee802.3-c22";
176+
rtl9300,smi-address = <0 18>;
177+
};
178+
phy19: ethernet-phy@19 {
179+
reg = <19>;
180+
compatible = "ethernet-phy-ieee802.3-c22";
181+
rtl9300,smi-address = <0 19>;
182+
};
183+
phy20: ethernet-phy@20 {
184+
reg = <20>;
185+
compatible = "ethernet-phy-ieee802.3-c22";
186+
rtl9300,smi-address = <0 20>;
187+
};
188+
phy21: ethernet-phy@21 {
189+
reg = <21>;
190+
compatible = "ethernet-phy-ieee802.3-c22";
191+
rtl9300,smi-address = <0 21>;
192+
};
193+
phy22: ethernet-phy@22 {
194+
reg = <22>;
195+
compatible = "ethernet-phy-ieee802.3-c22";
196+
rtl9300,smi-address = <0 22>;
197+
};
198+
phy23: ethernet-phy@23 {
199+
reg = <23>;
200+
compatible = "ethernet-phy-ieee802.3-c22";
201+
rtl9300,smi-address = <0 23>;
202+
};
203+
phy24: ethernet-phy@24 {
204+
reg = <24>;
205+
compatible = "ethernet-phy-ieee802.3-c22";
206+
rtl9300,smi-address = <1 0>;
207+
};
208+
phy25: ethernet-phy@25 {
209+
reg = <25>;
210+
compatible = "ethernet-phy-ieee802.3-c22";
211+
rtl9300,smi-address = <1 1>;
212+
};
213+
phy26: ethernet-phy@26 {
214+
reg = <26>;
215+
compatible = "ethernet-phy-ieee802.3-c22";
216+
rtl9300,smi-address = <1 2>;
217+
};
218+
phy27: ethernet-phy@27 {
219+
reg = <27>;
220+
compatible = "ethernet-phy-ieee802.3-c22";
221+
rtl9300,smi-address = <1 3>;
222+
};
223+
phy28: ethernet-phy@28 {
224+
reg = <28>;
225+
compatible = "ethernet-phy-ieee802.3-c22";
226+
rtl9300,smi-address = <1 4>;
227+
};
228+
phy29: ethernet-phy@29 {
229+
reg = <29>;
230+
compatible = "ethernet-phy-ieee802.3-c22";
231+
rtl9300,smi-address = <1 5>;
232+
};
233+
phy30: ethernet-phy@30 {
234+
reg = <30>;
235+
compatible = "ethernet-phy-ieee802.3-c22";
236+
rtl9300,smi-address = <1 6>;
237+
};
238+
phy31: ethernet-phy@31 {
239+
reg = <31>;
240+
compatible = "ethernet-phy-ieee802.3-c22";
241+
rtl9300,smi-address = <1 7>;
242+
};
243+
phy32: ethernet-phy@32 {
244+
reg = <32>;
245+
compatible = "ethernet-phy-ieee802.3-c22";
246+
rtl9300,smi-address = <1 8>;
247+
};
248+
phy33: ethernet-phy@33 {
249+
reg = <33>;
250+
compatible = "ethernet-phy-ieee802.3-c22";
251+
rtl9300,smi-address = <1 9>;
252+
};
253+
phy34: ethernet-phy@34 {
254+
reg = <34>;
255+
compatible = "ethernet-phy-ieee802.3-c22";
256+
rtl9300,smi-address = <1 10>;
257+
};
258+
phy35: ethernet-phy@35 {
259+
reg = <35>;
260+
compatible = "ethernet-phy-ieee802.3-c22";
261+
rtl9300,smi-address = <1 11>;
262+
};
263+
phy36: ethernet-phy@36 {
264+
reg = <36>;
265+
compatible = "ethernet-phy-ieee802.3-c22";
266+
rtl9300,smi-address = <1 12>;
267+
};
268+
phy37: ethernet-phy@37 {
269+
reg = <37>;
270+
compatible = "ethernet-phy-ieee802.3-c22";
271+
rtl9300,smi-address = <1 13>;
272+
};
273+
phy38: ethernet-phy@38 {
274+
reg = <38>;
275+
compatible = "ethernet-phy-ieee802.3-c22";
276+
rtl9300,smi-address = <1 14>;
277+
};
278+
phy39: ethernet-phy@39 {
279+
reg = <39>;
280+
compatible = "ethernet-phy-ieee802.3-c22";
281+
rtl9300,smi-address = <1 15>;
282+
};
283+
phy40: ethernet-phy@40 {
284+
reg = <40>;
285+
compatible = "ethernet-phy-ieee802.3-c22";
286+
rtl9300,smi-address = <1 16>;
287+
};
288+
phy41: ethernet-phy@41 {
289+
reg = <41>;
290+
compatible = "ethernet-phy-ieee802.3-c22";
291+
rtl9300,smi-address = <1 17>;
292+
};
293+
phy42: ethernet-phy@42 {
294+
reg = <42>;
295+
compatible = "ethernet-phy-ieee802.3-c22";
296+
rtl9300,smi-address = <1 18>;
297+
};
298+
phy43: ethernet-phy@43 {
299+
reg = <43>;
300+
compatible = "ethernet-phy-ieee802.3-c22";
301+
rtl9300,smi-address = <1 19>;
302+
};
303+
phy44: ethernet-phy@44 {
304+
reg = <44>;
305+
compatible = "ethernet-phy-ieee802.3-c22";
306+
rtl9300,smi-address = <1 20>;
307+
};
308+
phy45: ethernet-phy@45 {
309+
reg = <45>;
310+
compatible = "ethernet-phy-ieee802.3-c22";
311+
rtl9300,smi-address = <1 21>;
312+
};
313+
phy46: ethernet-phy@46 {
314+
reg = <46>;
315+
compatible = "ethernet-phy-ieee802.3-c22";
316+
rtl9300,smi-address = <1 22>;
317+
};
318+
phy47: ethernet-phy@47 {
319+
reg = <47>;
320+
compatible = "ethernet-phy-ieee802.3-c22";
321+
rtl9300,smi-address = <1 23>;
322+
};
323+
};
324+
325+
&switch0 {
326+
ports {
327+
#address-cells = <1>;
328+
#size-cells = <0>;
329+
330+
SWITCH_PORT_SDS(0, 1, 2, usxgmii)
331+
SWITCH_PORT_SDS(1, 2, 3, usxgmii)
332+
SWITCH_PORT_SDS(2, 3, 4, usxgmii)
333+
SWITCH_PORT_SDS(3, 4, 5, usxgmii)
334+
SWITCH_PORT_SDS(4, 5, 6, usxgmii)
335+
SWITCH_PORT_SDS(5, 6, 7, usxgmii)
336+
SWITCH_PORT_SDS(6, 7, 8, usxgmii)
337+
SWITCH_PORT_SDS(7, 8, 9, usxgmii)
338+
339+
SWITCH_PORT_SDS(8, 9, 10, usxgmii)
340+
SWITCH_PORT_SDS(9, 10, 11, usxgmii)
341+
342+
port@10 {
343+
reg = <10>;
344+
label = "lan10";
345+
pcs-handle = <&serdes12>;
346+
phy-mode = "usxgmii";
347+
managed = "in-band-status";
348+
sfp = <&sfp0>;
349+
};
350+
port@11 {
351+
reg = <11>;
352+
label = "lan50";
353+
pcs-handle = <&serdes13>;
354+
phy-mode = "usxgmii";
355+
managed = "in-band-status";
356+
sfp = <&sfp1>;
357+
};
358+
359+
port@56 {
360+
ethernet = <&ethernet0>;
361+
reg = <56>;
362+
phy-mode = "internal";
363+
fixed-link {
364+
speed = <10000>;
365+
full-duplex;
366+
};
367+
};
368+
};
369+
};

0 commit comments

Comments
 (0)