blob: f46cbbedc703114bbd96b3e9ba024991305f20ff [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
2+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
3@@ -2711,6 +2711,273 @@ static struct board_info __initdata boar
4 #endif /* CONFIG_BCM63XX_CPU_6368 */
5
6 /*
7+ * known 63268/63269 boards
8+ */
9+#ifdef CONFIG_BCM63XX_CPU_63268
10+static struct board_info __initdata board_963268bu_p300 = {
11+ .name = "963268BU_P300",
12+ .expected_cpu_id = 0x63268,
13+
14+ .has_ohci0 = 1,
15+ .has_ehci0 = 1,
16+ .num_usbh_ports = 1,
17+
18+ .has_usbd = 1,
19+ .usbd = {
20+ .use_fullspeed = 0,
21+ .port_no = 0,
22+ },
23+
24+ .has_enetsw = 1,
25+ .enetsw = {
26+ .used_ports = {
27+ [0] = {
28+ .used = 1,
29+ .phy_id = 17,
30+ .name = "FE1",
31+ },
32+ [3] = {
33+ .used = 1,
34+ .phy_id = 4,
35+ .name = "GbE2",
36+ },
37+ [4] = {
38+ .used = 1,
39+ .phy_id = 0,
40+ .name = "GbE3",
41+ .mii_override = 1,
42+ .timing_sel = 1,
43+ },
44+ [5] = {
45+ .used = 1,
46+ .phy_id = 1,
47+ .name = "GbE1",
48+ .mii_override = 1,
49+ .timing_sel = 1,
50+ },
51+ [6] = {
52+ .used = 1,
53+ .phy_id = 24,
54+ .name = "GbE4",
55+ .mii_override = 1,
56+ .timing_sel = 1,
57+ },
58+ [7] = {
59+ .used = 1,
60+ .phy_id = 25,
61+ .name = "GbE5",
62+ .mii_override = 1,
63+ .timing_sel = 1,
64+ },
65+ },
66+ },
67+};
68+
69+static struct board_info __initdata board_963269bhr = {
70+ .name = "963269BHR",
71+ .expected_cpu_id = 0x63268,
72+
73+ .has_pci = 1,
74+ .has_ohci0 = 1,
75+ .has_ehci0 = 1,
76+
77+ .has_enetsw = 1,
78+ .enetsw = {
79+ .used_ports = {
80+ [0] = {
81+ .used = 1,
82+ .phy_id = 1,
83+ .name = "port1",
84+ },
85+ [1] = {
86+ .used = 1,
87+ .phy_id = 2,
88+ .name = "port2",
89+ },
90+ [2] = {
91+ .used = 1,
92+ .phy_id = 3,
93+ .name = "port3",
94+ },
95+ [3] = {
96+ .used = 1,
97+ .phy_id = 4,
98+ .name = "port4",
99+ },
100+ },
101+ },
102+};
103+
104+static struct board_info __initdata board_BSKYB_63168 = {
105+ .name = "BSKYB_63168",
106+ .expected_cpu_id = 0x63268,
107+
108+ .has_pci = 1,
109+ .has_ohci0 = 1,
110+ .has_ehci0 = 1,
111+ .num_usbh_ports = 2,
112+
113+ .has_enetsw = 1,
114+ .enetsw = {
115+ .used_ports = {
116+ [0] = {
117+ .used = 1,
118+ .phy_id = 1,
119+ .name = "Port 1",
120+ },
121+ [1] = {
122+ .used = 1,
123+ .phy_id = 2,
124+ .name = "Port 2",
125+ },
126+ [2] = {
127+ .used = 1,
128+ .phy_id = 3,
129+ .name = "Port 3",
130+ },
131+ [3] = {
132+ .used = 1,
133+ .phy_id = 4,
134+ .name = "Port 4",
135+ },
136+ },
137+ },
138+};
139+
140+static struct board_info __initdata board_H500s = {
141+ .name = "BXK00C-1.6",
142+ .expected_cpu_id = 0x63268,
143+
144+ .has_ohci0 = 1,
145+ .has_ehci0 = 1,
146+ .num_usbh_ports = 1,
147+
148+ .has_enetsw = 1,
149+ .enetsw = {
150+ .used_ports = {
151+ [3] = {
152+ .used = 1,
153+ .phy_id = 12,
154+ .name = "WAN",
155+ },
156+ [4] = {
157+ .used = 1,
158+ .phy_id = 0,
159+ .bypass_link = 1,
160+ .force_speed = 1000,
161+ .force_duplex_full = 1,
162+ .mii_override = 1,
163+ .timing_sel = 1,
164+ .name = "RGMII",
165+ },
166+ },
167+ },
168+};
169+
170+static struct board_info __initdata board_VG8050 = {
171+ .name = "963169P-1861N5",
172+ .expected_cpu_id = 0x63268,
173+
174+ .has_ohci0 = 1,
175+ .has_ehci0 = 1,
176+ .num_usbh_ports = 2,
177+
178+ .has_enetsw = 1,
179+ .enetsw = {
180+ .used_ports = {
181+ [6] = {
182+ .used = 1,
183+ .phy_id = 0xff,
184+ .bypass_link = 1,
185+ .force_speed = 1000,
186+ .force_duplex_full = 1,
187+ .mii_override = 1,
188+ .timing_sel = 1,
189+ .name = "RGMII",
190+ },
191+ },
192+ },
193+};
194+
195+static struct board_info __initdata board_VR3032u = {
196+ .name = "963168M-1841N1",
197+ .expected_cpu_id = 0x63268,
198+
199+ .has_ohci0 = 1,
200+ .has_ehci0 = 1,
201+ .num_usbh_ports = 1,
202+
203+ .has_enetsw = 1,
204+ .enetsw = {
205+ .used_ports = {
206+ [0] = {
207+ .used = 1,
208+ .phy_id = 1,
209+ .name = "LAN2",
210+ },
211+ [1] = {
212+ .used = 1,
213+ .phy_id = 2,
214+ .name = "LAN3",
215+ },
216+ [2] = {
217+ .used = 1,
218+ .phy_id = 3,
219+ .name = "LAN4",
220+ },
221+ [3] = {
222+ .used = 1,
223+ .phy_id = 4,
224+ .name = "LAN1",
225+ },
226+ },
227+ },
228+};
229+
230+static struct board_info __initdata board_vw6339gu = {
231+ .name = "VW6339GU",
232+ .expected_cpu_id = 0x63268,
233+
234+ .has_ohci0 = 1,
235+ .has_ehci0 = 1,
236+ .num_usbh_ports = 1,
237+
238+ .has_enetsw = 1,
239+ .enetsw = {
240+ .used_ports = {
241+ [0] = {
242+ .used = 1,
243+ .phy_id = 1,
244+ .name = "LAN2",
245+ },
246+ [1] = {
247+ .used = 1,
248+ .phy_id = 2,
249+ .name = "LAN3",
250+ },
251+ [2] = {
252+ .used = 1,
253+ .phy_id = 3,
254+ .name = "LAN4",
255+ },
256+ [3] = {
257+ .used = 1,
258+ .phy_id = 4,
259+ .name = "LAN1",
260+ },
261+ [4] = {
262+ .used = 1,
263+ .phy_id = 7,
264+ .name = "WAN",
265+ .mii_override = 1,
266+ .timing_sel = 1,
267+ },
268+ },
269+ },
270+};
271+#endif /* CONFIG_BCM63XX_CPU_63268 */
272+
273+/*
274 * all boards
275 */
276 static const struct board_info __initconst *bcm963xx_boards[] = {
277@@ -2815,6 +3082,15 @@ static const struct board_info __initcon
278 &board_VR3026e,
279 &board_WAP5813n,
280 #endif /* CONFIG_BCM63XX_CPU_6368 */
281+#ifdef CONFIG_BCM63XX_CPU_63268
282+ &board_963268bu_p300,
283+ &board_963269bhr,
284+ &board_BSKYB_63168,
285+ &board_H500s,
286+ &board_VG8050,
287+ &board_VR3032u,
288+ &board_vw6339gu,
289+#endif /* CONFIG_BCM63XX_CPU_63268 */
290 };
291
292 static struct of_device_id const bcm963xx_boards_dt[] = {
293@@ -2932,6 +3208,14 @@ static struct of_device_id const bcm963x
294 { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
295 #endif /* CONFIG_BCM63XX_CPU_6368 */
296 #ifdef CONFIG_BCM63XX_CPU_63268
297+ { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
298+ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
299+ { .compatible = "comtrend,vg-8050", .data = &board_VG8050, },
300+ { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, },
301+ { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
302+ { .compatible = "sercomm,h500-s-lowi", .data = &board_H500s, },
303+ { .compatible = "sercomm,h500-s-vfes", .data = &board_H500s, },
304+ { .compatible = "sky,sr102", .data = &board_BSKYB_63168, },
305 #endif /* CONFIG_BCM63XX_CPU_63268 */
306 #endif /* CONFIG_OF */
307 { },