4 Copyright 2003 Broadcom Corp. All Rights Reserved.
6 This program is free software; you can distribute it and/or modify it
7 under the terms of the GNU General Public License (Version 2) as
8 published by the Free Software Foundation.
10 This program is distributed in the hope it will be useful, but WITHOUT
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 You should have received a copy of the GNU General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
21 /**************************************************************************
22 * File Name : boardparms.c
24 * Description: This file contains the implementation for the BCM63xx board
25 * parameter access functions.
27 * Updates : 07/14/2003 Created.
28 ***************************************************************************/
31 #include "boardparms.h"
35 /* Default psi size in K bytes */
36 #define BP_PSI_DEFAULT_SIZE 24
39 typedef struct boardparameters
41 char szBoardId[BP_BOARD_ID_LEN]; /* board id string */
42 ETHERNET_MAC_INFO EnetMacInfos[BP_MAX_ENET_MACS];
43 VOIP_DSP_INFO VoIPDspInfo[BP_MAX_VOIP_DSP];
44 unsigned short usSdramSize; /* SDRAM size and type */
45 unsigned short usPsiSize; /* persistent storage in K bytes */
46 unsigned short usGpioRj11InnerPair; /* GPIO pin or not defined */
47 unsigned short usGpioRj11OuterPair; /* GPIO pin or not defined */
48 unsigned short usGpioPressAndHoldReset; /* GPIO pin or not defined */
49 unsigned short usGpioUartRts; /* GPIO pin or not defined */
50 unsigned short usGpioUartCts; /* GPIO pin or not defined */
51 unsigned short usGpioLedAdsl; /* GPIO pin or not defined */
52 unsigned short usGpioLedAdslFail; /* GPIO pin or not defined */
53 unsigned short usGpioLedWireless; /* GPIO pin or not defined */
54 unsigned short usGpioLedUsb; /* GPIO pin or not defined */
55 unsigned short usGpioLedHpna; /* GPIO pin or not defined */
56 unsigned short usGpioLedWanData; /* GPIO pin or not defined */
57 unsigned short usGpioLedPpp; /* GPIO pin or not defined */
58 unsigned short usGpioLedPppFail; /* GPIO pin or not defined */
59 unsigned short usGpioLedBlPowerOn; /* GPIO pin or not defined */
60 unsigned short usGpioLedBlResetCfg; /* GPIO pin or not defined */
61 unsigned short usGpioLedBlStop; /* GPIO pin or not defined */
62 unsigned short usExtIntrAdslDyingGasp; /* ext intr or not defined */
63 unsigned short usExtIntrHpna; /* ext intr or not defined */
64 unsigned short usCsHpna; /* chip select not defined */
65 unsigned short usAntInUseWireless; /* antenna in use or not defined */
66 unsigned short usGpioSesBtnWireless; /* GPIO pin or not defined */
67 unsigned short usExtIntrSesBtnWireless; /* ext intr or not defined */
68 unsigned short usGpioLedSesWireless; /* GPIO pin or not defined */
69 unsigned short usCsHpi; /* HPI chip select */
70 unsigned short usVcopeResetGpio; /* VCOPE reset gpio number */
71 unsigned short usVcopeRelayGpio; /* VCOPE releay gpio number */
72 unsigned short usVcopeBoardRev; /* VCOPE board revision */
73 unsigned short usCMTThead; /* Main Execution Thread */
74 unsigned short usWirelessFlags; /* WLAN flags */
75 unsigned short usExtIntrPressAndHoldReset; /* ext intr or not defined */
76 } BOARD_PARAMETERS, *PBOARD_PARAMETERS;
79 #if defined(_BCM96338_) || defined(CONFIG_BCM96338)
80 static BOARD_PARAMETERS g_bcm96338sv =
82 "96338SV", /* szBoardId */
83 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
84 0x01, /* ucPhyAddress */
85 BP_NOT_DEFINED, /* usGpioPhySpiSck */
86 BP_NOT_DEFINED, /* usGpioPhySpiSs */
87 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
88 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
89 BP_NOT_DEFINED, /* usGpioPhyReset */
90 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
91 0x01, /* numSwitchPorts */
92 BP_ENET_CONFIG_MDIO, /* usConfigType */
93 BP_NOT_DEFINED}, /* usReverseMii */
94 {BP_ENET_NO_PHY}}, /* ucPhyType */
95 {{BP_VOIP_NO_DSP}, /* ucDspType */
96 {BP_VOIP_NO_DSP}}, /* ucDspType */
97 BP_MEMORY_16MB_1_CHIP, /* usSdramSize */
98 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
99 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
100 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
101 BP_NOT_DEFINED, /* usGpioPressAndHoldReset */
102 BP_NOT_DEFINED, /* usGpioUartRts */
103 BP_NOT_DEFINED, /* usGpioUartCts */
104 BP_NOT_DEFINED, /* usGpioLedAdsl */
105 BP_NOT_DEFINED, /* usGpioLedAdslFail */
106 BP_NOT_DEFINED, /* usGpioLedWireless */
107 BP_NOT_DEFINED, /* usGpioLedUsb */
108 BP_NOT_DEFINED, /* usGpioLedHpna */
109 BP_NOT_DEFINED, /* usGpioLedWanData */
110 BP_NOT_DEFINED, /* usGpioLedPpp */
111 BP_NOT_DEFINED, /* usGpioLedPppFail */
112 BP_NOT_DEFINED, /* usGpioLedBlPowerOn */
113 BP_NOT_DEFINED, /* usGpioLedBlResetCfg */
114 BP_NOT_DEFINED, /* usGpioLedBlStop */
115 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
116 BP_NOT_DEFINED, /* usExtIntrHpna */
117 BP_NOT_DEFINED, /* usCsHpna */
118 BP_NOT_DEFINED, /* usAntInUseWireless */
119 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
120 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
121 BP_NOT_DEFINED, /* usGpioLedSesWireless */
122 BP_NOT_DEFINED, /* usCsHpi */
123 BP_NOT_DEFINED, /* usVcopeResetGpio */
124 BP_NOT_DEFINED, /* usVcopeRelayGpio */
125 BP_NOT_DEFINED, /* usVcopeBoardRev */
128 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
130 static BOARD_PARAMETERS g_bcm96338l2m8m =
132 "96338L-2M-8M", /* szBoardId */
133 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
134 0x01, /* ucPhyAddress */
135 BP_NOT_DEFINED, /* usGpioPhySpiSck */
136 BP_NOT_DEFINED, /* usGpioPhySpiSs */
137 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
138 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
139 BP_NOT_DEFINED, /* usGpioPhyReset */
140 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
141 0x01, /* numSwitchPorts */
142 BP_ENET_CONFIG_MDIO, /* usConfigType */
143 BP_NOT_DEFINED}, /* usReverseMii */
144 {BP_ENET_NO_PHY}}, /* ucPhyType */
145 {{BP_VOIP_NO_DSP}, /* ucDspType */
146 {BP_VOIP_NO_DSP}}, /* ucDspType */
147 BP_MEMORY_8MB_1_CHIP, /* usSdramSize */
148 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
149 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
150 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
151 BP_NOT_DEFINED, /* usGpioPressAndHoldReset */
152 BP_NOT_DEFINED, /* usGpioUartRts */
153 BP_NOT_DEFINED, /* usGpioUartCts */
154 BP_NOT_DEFINED, /* usGpioLedAdsl */
155 BP_GPIO_2_AL, /* usGpioLedAdslFail */
156 BP_NOT_DEFINED, /* usGpioLedWireless */
157 BP_NOT_DEFINED, /* usGpioLedUsb */
158 BP_NOT_DEFINED, /* usGpioLedHpna */
159 BP_GPIO_3_AL, /* usGpioLedWanData */
160 BP_GPIO_3_AL, /* usGpioLedPpp */
161 BP_GPIO_4_AL, /* usGpioLedPppFail */
162 BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
163 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
164 BP_GPIO_1_AL, /* usGpioLedBlStop */
165 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
166 BP_NOT_DEFINED, /* usExtIntrHpna */
167 BP_NOT_DEFINED, /* usCsHpna */
168 BP_NOT_DEFINED, /* usAntInUseWireless */
169 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
170 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
171 BP_NOT_DEFINED, /* usGpioLedSesWireless */
172 BP_NOT_DEFINED, /* usCsHpi */
173 BP_NOT_DEFINED, /* usVcopeResetGpio */
174 BP_NOT_DEFINED, /* usVcopeRelayGpio */
175 BP_NOT_DEFINED, /* usVcopeBoardRev */
178 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
180 static BOARD_PARAMETERS g_bcm96338gw =
182 "96338W", /* szBoardId */
183 {{BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
184 0x0, /* ucPhyAddress */
185 BP_NOT_DEFINED, /* usGpioPhySpiSck */
186 BP_NOT_DEFINED, /* usGpioPhySpiSs */
187 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
188 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
189 BP_NOT_DEFINED, /* usGpioPhyReset */
190 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
191 0x04, /* numSwitchPorts */
192 BP_ENET_CONFIG_MDIO_PSEUDO_PHY, /* usConfigType */
193 BP_ENET_REVERSE_MII}, /* usReverseMii */
194 {BP_ENET_NO_PHY}}, /* ucPhyType */
195 {{BP_VOIP_NO_DSP}, /* ucDspType */
196 {BP_VOIP_NO_DSP}}, /* ucDspType */
197 BP_MEMORY_16MB_1_CHIP, /* usSdramSize */
198 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
199 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
200 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
201 BP_NOT_DEFINED, /* usGpioPressAndHoldReset */
202 BP_NOT_DEFINED, /* usGpioUartRts */
203 BP_NOT_DEFINED, /* usGpioUartCts */
204 BP_GPIO_3_AL, /* usGpioLedAdsl */
205 BP_NOT_DEFINED, /* usGpioLedAdslFail */
206 BP_NOT_DEFINED, /* usGpioLedWireless */
207 BP_NOT_DEFINED, /* usGpioLedUsb */
208 BP_NOT_DEFINED, /* usGpioLedHpna */
209 BP_HW_DEFINED_AH, /* usGpioLedWanData */
210 BP_HW_DEFINED_AH, /* usGpioLedPpp */
211 BP_GPIO_4_AH, /* usGpioLedPppFail */
212 BP_GPIO_1_AL, /* usGpioLedBlPowerOn */
213 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
214 BP_GPIO_0_AL, /* usGpioLedBlStop */
215 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
216 BP_NOT_DEFINED, /* usExtIntrHpna */
217 BP_NOT_DEFINED, /* usCsHpna */
218 BP_NOT_DEFINED, /* usAntInUseWireless */
219 BP_GPIO_5_AL, /* usGpioSesBtnWireless */
220 BP_EXT_INTR_0, /* usExtIntrSesBtnWireless */
221 BP_NOT_DEFINED, /* usGpioLedSesWireless */
222 BP_NOT_DEFINED, /* usCsHpi */
223 BP_NOT_DEFINED, /* usVcopeResetGpio */
224 BP_NOT_DEFINED, /* usVcopeRelayGpio */
225 BP_NOT_DEFINED, /* usVcopeBoardRev */
228 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
230 static BOARD_PARAMETERS g_bcm96338e4 =
232 "96338E4", /* szBoardId */
233 {{BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
234 0x0, /* ucPhyAddress */
235 BP_NOT_DEFINED, /* usGpioPhySpiSck */
236 BP_NOT_DEFINED, /* usGpioPhySpiSs */
237 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
238 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
239 BP_NOT_DEFINED, /* usGpioPhyReset */
240 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
241 0x04, /* numSwitchPorts */
242 BP_ENET_CONFIG_MDIO_PSEUDO_PHY, /* usConfigType */
243 BP_ENET_REVERSE_MII}, /* usReverseMii */
244 {BP_ENET_NO_PHY}}, /* ucPhyType */
245 {{BP_VOIP_NO_DSP}, /* ucDspType */
246 {BP_VOIP_NO_DSP}}, /* ucDspType */
247 BP_MEMORY_8MB_1_CHIP, /* usSdramSize */
248 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
249 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
250 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
251 BP_NOT_DEFINED, /* usGpioPressAndHoldReset */
252 BP_NOT_DEFINED, /* usGpioUartRts */
253 BP_NOT_DEFINED, /* usGpioUartCts */
254 BP_NOT_DEFINED, /* usGpioLedAdsl */
255 BP_GPIO_2_AL, /* usGpioLedAdslFail */
256 BP_NOT_DEFINED, /* usGpioLedWireless */
257 BP_NOT_DEFINED, /* usGpioLedUsb */
258 BP_NOT_DEFINED, /* usGpioLedHpna */
259 BP_GPIO_4_AL, /* usGpioLedWanData */
260 BP_GPIO_4_AL, /* usGpioLedPpp */
261 BP_GPIO_3_AL, /* usGpioLedPppFail */
262 BP_GPIO_1_AL, /* usGpioLedBlPowerOn */
263 BP_GPIO_4_AL, /* usGpioLedBlResetCfg */
264 BP_GPIO_0_AL, /* usGpioLedBlStop */
265 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
266 BP_NOT_DEFINED, /* usExtIntrHpna */
267 BP_NOT_DEFINED, /* usCsHpna */
268 BP_NOT_DEFINED, /* usAntInUseWireless */
269 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
270 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
271 BP_NOT_DEFINED, /* usGpioLedSesWireless */
272 BP_NOT_DEFINED, /* usCsHpi */
273 BP_NOT_DEFINED, /* usVcopeResetGpio */
274 BP_NOT_DEFINED, /* usVcopeRelayGpio */
275 BP_NOT_DEFINED, /* usVcopeBoardRev */
278 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
280 static PBOARD_PARAMETERS g_BoardParms[] =
281 {&g_bcm96338sv, &g_bcm96338l2m8m, &g_bcm96338gw, &g_bcm96338e4, 0};
284 #if defined(_BCM96348_) || defined(CONFIG_BCM96348)
286 static BOARD_PARAMETERS g_bcm96348r =
288 "96348R", /* szBoardId */
289 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
290 0x01, /* ucPhyAddress */
291 BP_NOT_DEFINED, /* usGpioPhySpiSck */
292 BP_NOT_DEFINED, /* usGpioPhySpiSs */
293 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
294 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
295 BP_NOT_DEFINED, /* usGpioPhyReset */
296 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
297 0x01, /* numSwitchPorts */
298 BP_ENET_CONFIG_MDIO, /* usConfigType */
299 BP_NOT_DEFINED}, /* usReverseMii */
300 {BP_ENET_NO_PHY}}, /* ucPhyType */
301 {{BP_VOIP_NO_DSP}, /* ucDspType */
302 {BP_VOIP_NO_DSP}}, /* ucDspType */
303 BP_MEMORY_8MB_1_CHIP, /* usSdramSize */
304 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
305 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
306 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
307 BP_GPIO_7_AH, /* usGpioPressAndHoldReset */
308 BP_NOT_DEFINED, /* usGpioUartRts */
309 BP_NOT_DEFINED, /* usGpioUartCts */
310 BP_NOT_DEFINED, /* usGpioLedAdsl */
311 BP_GPIO_2_AL, /* usGpioLedAdslFail */
312 BP_NOT_DEFINED, /* usGpioLedWireless */
313 BP_NOT_DEFINED, /* usGpioLedUsb */
314 BP_NOT_DEFINED, /* usGpioLedHpna */
315 BP_GPIO_3_AL, /* usGpioLedWanData */
316 BP_GPIO_3_AL, /* usGpioLedPpp */
317 BP_GPIO_4_AL, /* usGpioLedPppFail */
318 BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
319 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
320 BP_GPIO_1_AL, /* usGpioLedBlStop */
321 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
322 BP_NOT_DEFINED, /* usExtIntrHpna */
323 BP_NOT_DEFINED, /* usCsHpna */
324 BP_NOT_DEFINED, /* usAntInUseWireless */
325 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
326 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
327 BP_NOT_DEFINED, /* usGpioLedSesWireless */
328 BP_NOT_DEFINED, /* usCsHpi */
329 BP_NOT_DEFINED, /* usVcopeResetGpio */
330 BP_NOT_DEFINED, /* usVcopeRelayGpio */
331 BP_NOT_DEFINED, /* usVcopeBoardRev */
334 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
337 static BOARD_PARAMETERS g_bcm96348lv =
339 "96348LV", /* szBoardId */
340 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
341 0x01, /* ucPhyAddress */
342 BP_NOT_DEFINED, /* usGpioPhySpiSck */
343 BP_NOT_DEFINED, /* usGpioPhySpiSs */
344 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
345 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
346 BP_NOT_DEFINED, /* usGpioPhyReset */
347 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
348 0x01, /* numSwitchPorts */
349 BP_ENET_CONFIG_MDIO, /* usConfigType */
350 BP_NOT_DEFINED}, /* usReverseMii */
351 {BP_ENET_EXTERNAL_PHY, /* ucPhyType */
352 0x02, /* ucPhyAddress */
353 BP_NOT_DEFINED, /* usGpioPhySpiSck */
354 BP_NOT_DEFINED, /* usGpioPhySpiSs */
355 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
356 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
357 BP_GPIO_5_AL, /* usGpioPhyReset */
358 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
359 0x01, /* numSwitchPorts */
360 BP_ENET_CONFIG_MDIO, /* usConfigType */
361 BP_NOT_DEFINED}}, /* usReverseMii */
362 {{BP_VOIP_NO_DSP}, /* ucDspType */
363 {BP_VOIP_NO_DSP}}, /* ucDspType */
364 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
365 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
366 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
367 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
368 BP_GPIO_7_AH, /* usGpioPressAndHoldReset */
369 BP_NOT_DEFINED, /* usGpioUartRts */
370 BP_NOT_DEFINED, /* usGpioUartCts */
371 BP_NOT_DEFINED, /* usGpioLedAdsl */
372 BP_GPIO_2_AL, /* usGpioLedAdslFail */
373 BP_NOT_DEFINED, /* usGpioLedWireless */
374 BP_NOT_DEFINED, /* usGpioLedUsb */
375 BP_NOT_DEFINED, /* usGpioLedHpna */
376 BP_GPIO_3_AL, /* usGpioLedWanData */
377 BP_GPIO_3_AL, /* usGpioLedPpp */
378 BP_GPIO_4_AL, /* usGpioLedPppFail */
379 BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
380 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
381 BP_GPIO_1_AL, /* usGpioLedBlStop */
382 BP_NOT_DEFINED, /* usExtIntrAdslDyingGasp */
383 BP_NOT_DEFINED, /* usExtIntrHpna */
384 BP_NOT_DEFINED, /* usCsHpna */
385 BP_NOT_DEFINED, /* usAntInUseWireless */
386 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
387 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
388 BP_NOT_DEFINED, /* usGpioLedSesWireless */
389 BP_NOT_DEFINED, /* usCsHpi */
390 BP_NOT_DEFINED, /* usVcopeResetGpio */
391 BP_NOT_DEFINED, /* usVcopeRelayGpio */
392 BP_NOT_DEFINED, /* usVcopeBoardRev */
395 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
398 static BOARD_PARAMETERS g_bcm96348gw =
400 "96348GW", /* szBoardId */
401 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
402 0x01, /* ucPhyAddress */
403 BP_NOT_DEFINED, /* usGpioPhySpiSck */
404 BP_NOT_DEFINED, /* usGpioPhySpiSs */
405 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
406 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
407 BP_NOT_DEFINED, /* usGpioPhyReset */
408 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
409 0x01, /* numSwitchPorts */
410 BP_ENET_CONFIG_MDIO, /* usConfigType */
411 BP_NOT_DEFINED}, /* usReverseMii */
412 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
413 0x00, /* ucPhyAddress */
414 BP_NOT_DEFINED, /* usGpioPhySpiSck */
415 BP_NOT_DEFINED, /* usGpioPhySpiSs */
416 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
417 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
418 BP_NOT_DEFINED, /* usGpioPhyReset */
419 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
420 0x03, /* numSwitchPorts */
421 BP_ENET_CONFIG_SPI_SSB_0, /* usConfigType */
422 BP_ENET_REVERSE_MII}}, /* usReverseMii */
423 {{BP_VOIP_DSP, /* ucDspType */
424 0x00, /* ucDspAddress */
425 BP_EXT_INTR_2, /* usExtIntrVoip */
426 BP_GPIO_6_AH, /* usGpioVoipReset */
427 BP_GPIO_34_AH, /* usGpioVoipIntr */
428 BP_NOT_DEFINED, /* usGpioLedVoip */
429 BP_CS_2}, /* usCsVoip */
430 {BP_VOIP_NO_DSP}}, /* ucDspType */
431 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
432 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
433 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
434 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
435 BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
436 BP_NOT_DEFINED, /* usGpioUartRts */
437 BP_NOT_DEFINED, /* usGpioUartCts */
438 BP_NOT_DEFINED, /* usGpioLedAdsl */
439 BP_GPIO_2_AL, /* usGpioLedAdslFail */
440 BP_NOT_DEFINED, /* usGpioLedWireless */
441 BP_NOT_DEFINED, /* usGpioLedUsb */
442 BP_NOT_DEFINED, /* usGpioLedHpna */
443 BP_GPIO_3_AL, /* usGpioLedWanData */
444 BP_GPIO_3_AL, /* usGpioLedPpp */
445 BP_GPIO_4_AL, /* usGpioLedPppFail */
446 BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
447 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
448 BP_GPIO_1_AL, /* usGpioLedBlStop */
449 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
450 BP_NOT_DEFINED, /* usExtIntrHpna */
451 BP_NOT_DEFINED, /* usCsHpna */
452 BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
453 BP_GPIO_35_AL, /* usGpioSesBtnWireless */
454 BP_EXT_INTR_3, /* usExtIntrSesBtnWireless */
455 BP_NOT_DEFINED, /* BP_GPIO_0_AL */ /* usGpioLedSesWireless */
456 BP_NOT_DEFINED, /* usCsHpi */
457 BP_NOT_DEFINED, /* usVcopeResetGpio */
458 BP_NOT_DEFINED, /* usVcopeRelayGpio */
459 BP_NOT_DEFINED, /* usVcopeBoardRev */
462 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
465 static BOARD_PARAMETERS g_bcm96348w2 =
467 "96348W2", /* szBoardId */
468 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
469 0x01, /* ucPhyAddress */
470 BP_NOT_DEFINED, /* usGpioPhySpiSck */
471 BP_NOT_DEFINED, /* usGpioPhySpiSs */
472 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
473 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
474 BP_NOT_DEFINED, /* usGpioPhyReset */
475 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
476 0x01, /* numSwitchPorts */
477 BP_ENET_CONFIG_MDIO, /* usConfigType */
478 BP_NOT_DEFINED}, /* usReverseMii */
479 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
480 0x00, /* ucPhyAddress */
481 BP_NOT_DEFINED, /* usGpioPhySpiSck */
482 BP_NOT_DEFINED, /* usGpioPhySpiSs */
483 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
484 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
485 BP_NOT_DEFINED, /* usGpioPhyReset */
486 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
487 0x03, /* numSwitchPorts */
488 BP_ENET_CONFIG_SPI_SSB_0, /* usConfigType */
489 BP_ENET_REVERSE_MII}}, /* usReverseMii */
490 {{BP_VOIP_DSP, /* ucDspType */
491 0x00, /* ucDspAddress */
492 BP_EXT_INTR_2, /* usExtIntrVoip */
493 BP_NOT_DEFINED, //BP_GPIO_6_AH, /* usGpioVoipReset */
494 BP_GPIO_34_AH, /* usGpioVoipIntr */
495 BP_NOT_DEFINED, /* usGpioLedVoip */
496 BP_CS_2}, /* usCsVoip */
497 {BP_VOIP_NO_DSP}}, /* ucDspType */
498 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
499 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
500 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
501 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
502 BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
503 BP_NOT_DEFINED, /* usGpioUartRts */
504 BP_NOT_DEFINED, /* usGpioUartCts */
505 BP_NOT_DEFINED, /* usGpioLedAdsl */
506 BP_GPIO_2_AL, /* usGpioLedAdslFail */
507 BP_NOT_DEFINED, /* usGpioLedWireless */
508 BP_NOT_DEFINED, /* usGpioLedUsb */
509 BP_NOT_DEFINED, /* usGpioLedHpna */
510 BP_GPIO_3_AL, /* usGpioLedWanData */
511 BP_GPIO_3_AL, /* usGpioLedPpp */
512 BP_GPIO_4_AL, /* usGpioLedPppFail */
513 BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
514 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
515 BP_GPIO_1_AL, /* usGpioLedBlStop */
516 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
517 BP_NOT_DEFINED, /* usExtIntrHpna */
518 BP_NOT_DEFINED, /* usCsHpna */
519 BP_WLAN_ANT_AUX, /* usAntInUseWireless */
520 BP_GPIO_35_AL, /* usGpioSesBtnWireless */
521 BP_EXT_INTR_3, /* usExtIntrSesBtnWireless */
522 BP_GPIO_6_AL, /* usGpioLedSesWireless */
523 BP_NOT_DEFINED, /* usCsHpi */
524 BP_NOT_DEFINED, /* usVcopeResetGpio */
525 BP_NOT_DEFINED, /* usVcopeRelayGpio */
526 BP_NOT_DEFINED, /* usVcopeBoardRev */
529 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
532 static BOARD_PARAMETERS g_bcm96348w3_10 =
534 "96348W3-10", /* szBoardId */
535 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
536 0x01, /* ucPhyAddress */
537 BP_NOT_DEFINED, /* usGpioPhySpiSck */
538 BP_NOT_DEFINED, /* usGpioPhySpiSs */
539 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
540 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
541 BP_NOT_DEFINED, /* usGpioPhyReset */
542 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
543 0x01, /* numSwitchPorts */
544 BP_ENET_CONFIG_MDIO, /* usConfigType */
545 BP_NOT_DEFINED}, /* usReverseMii */
546 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
547 0x00, /* ucPhyAddress */
548 BP_NOT_DEFINED, /* usGpioPhySpiSck */
549 BP_NOT_DEFINED, /* usGpioPhySpiSs */
550 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
551 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
552 BP_NOT_DEFINED, /* usGpioPhyReset */
553 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
554 0x03, /* numSwitchPorts */
555 BP_ENET_CONFIG_SPI_SSB_0, /* usConfigType */
556 BP_ENET_REVERSE_MII}}, /* usReverseMii */
557 {{BP_VOIP_DSP, /* ucDspType */
558 0x00, /* ucDspAddress */
559 BP_EXT_INTR_2, /* usExtIntrVoip */
560 BP_NOT_DEFINED, /* usGpioVoipReset */
561 BP_GPIO_34_AH, /* usGpioVoipIntr */
562 BP_NOT_DEFINED, /* usGpioLedVoip */
563 BP_CS_2}, /* usCsVoip */
564 {BP_VOIP_NO_DSP}}, /* ucDspType */
565 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
566 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
567 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
568 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
569 BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
570 BP_NOT_DEFINED, /* usGpioUartRts */
571 BP_NOT_DEFINED, /* usGpioUartCts */
572 BP_GPIO_2_AL, /* usGpioLedAdsl */
573 BP_NOT_DEFINED, /* usGpioLedAdslFail */
574 BP_NOT_DEFINED, /* usGpioLedWireless */
575 BP_NOT_DEFINED, /* usGpioLedUsb */
576 BP_NOT_DEFINED, /* usGpioLedHpna */
577 BP_NOT_DEFINED, /* usGpioLedWanData */
578 BP_NOT_DEFINED, /* usGpioLedPpp */
579 BP_GPIO_4_AH, /* usGpioLedPppFail */
580 BP_GPIO_1_AL, /* usGpioLedBlPowerOn */
581 BP_NOT_DEFINED, /* usGpioLedBlResetCfg */
582 BP_GPIO_0_AL, /* usGpioLedBlStop */
583 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
584 BP_NOT_DEFINED, /* usExtIntrHpna */
585 BP_NOT_DEFINED, /* usCsHpna */
586 BP_WLAN_ANT_AUX, /* usAntInUseWireless */
587 BP_GPIO_35_AL, /* usGpioSesBtnWireless */
588 BP_EXT_INTR_3, /* usExtIntrSesBtnWireless */
589 BP_GPIO_6_AL, /* usGpioLedSesWireless */
590 BP_NOT_DEFINED, /* usCsHpi */
591 BP_NOT_DEFINED, /* usVcopeResetGpio */
592 BP_NOT_DEFINED, /* usVcopeRelayGpio */
593 BP_NOT_DEFINED, /* usVcopeBoardRev */
596 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
599 static BOARD_PARAMETERS g_bcm96348w3 =
601 "96348W3", /* szBoardId */
602 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
603 0x01, /* ucPhyAddress */
604 BP_NOT_DEFINED, /* usGpioPhySpiSck */
605 BP_NOT_DEFINED, /* usGpioPhySpiSs */
606 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
607 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
608 BP_NOT_DEFINED, /* usGpioPhyReset */
609 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
610 0x01, /* numSwitchPorts */
611 BP_ENET_CONFIG_MDIO, /* usConfigType */
612 BP_NOT_DEFINED}, /* usReverseMii */
613 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
614 0x00, /* ucPhyAddress */
615 BP_NOT_DEFINED, /* usGpioPhySpiSck */
616 BP_NOT_DEFINED, /* usGpioPhySpiSs */
617 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
618 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
619 BP_NOT_DEFINED, /* usGpioPhyReset */
620 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
621 0x03, /* numSwitchPorts */
622 BP_ENET_CONFIG_SPI_SSB_0, /* usConfigType */
623 BP_ENET_REVERSE_MII}}, /* usReverseMii */
624 {{BP_VOIP_DSP, /* ucDspType */
625 0x00, /* ucDspAddress */
626 BP_EXT_INTR_2, /* usExtIntrVoip */
627 BP_GPIO_6_AH, /* usGpioVoipReset */
628 BP_GPIO_34_AH, /* usGpioVoipIntr */
629 BP_NOT_DEFINED, /* usGpioLedVoip */
630 BP_CS_2}, /* usCsVoip */
631 {BP_VOIP_NO_DSP}}, /* ucDspType */
632 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
633 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
634 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
635 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
636 BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
637 BP_NOT_DEFINED, /* usGpioUartRts */
638 BP_NOT_DEFINED, /* usGpioUartCts */
639 BP_NOT_DEFINED, /* usGpioLedAdsl */
640 BP_GPIO_2_AL, /* usGpioLedAdslFail */
641 BP_NOT_DEFINED, /* usGpioLedWireless */
642 BP_NOT_DEFINED, /* usGpioLedUsb */
643 BP_NOT_DEFINED, /* usGpioLedHpna */
644 BP_GPIO_3_AL, /* usGpioLedWanData */
645 BP_GPIO_3_AL, /* usGpioLedPpp */
646 BP_GPIO_4_AL, /* usGpioLedPppFail */
647 BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
648 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
649 BP_GPIO_1_AL, /* usGpioLedBlStop */
650 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
651 BP_NOT_DEFINED, /* usExtIntrHpna */
652 BP_NOT_DEFINED, /* usCsHpna */
653 BP_WLAN_ANT_AUX, /* usAntInUseWireless */
654 BP_GPIO_35_AL, /* usGpioSesBtnWireless */
655 BP_EXT_INTR_3, /* usExtIntrSesBtnWireless */
656 BP_GPIO_6_AL, /* usGpioLedSesWireless */
657 BP_NOT_DEFINED, /* usCsHpi */
658 BP_NOT_DEFINED, /* usVcopeResetGpio */
659 BP_NOT_DEFINED, /* usVcopeRelayGpio */
660 BP_NOT_DEFINED, /* usVcopeBoardRev */
663 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
666 static BOARD_PARAMETERS g_bcm96348gw_10 =
668 "96348GW-10", /* szBoardId */
669 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
670 0x01, /* ucPhyAddress */
671 BP_NOT_DEFINED, /* usGpioPhySpiSck */
672 BP_NOT_DEFINED, /* usGpioPhySpiSs */
673 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
674 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
675 BP_NOT_DEFINED, /* usGpioPhyReset */
676 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
677 0x01, /* numSwitchPorts */
678 BP_ENET_CONFIG_MDIO, /* usConfigType */
679 BP_NOT_DEFINED}, /* usReverseMii */
680 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
681 0x00, /* ucPhyAddress */
682 BP_NOT_DEFINED, /* usGpioPhySpiSck */
683 BP_NOT_DEFINED, /* usGpioPhySpiSs */
684 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
685 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
686 BP_NOT_DEFINED, /* usGpioPhyReset */
687 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
688 0x03, /* numSwitchPorts */
689 BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */
690 BP_ENET_REVERSE_MII}}, /* usReverseMii */
691 {{BP_VOIP_DSP, /* ucDspType */
692 0x00, /* ucDspAddress */
693 BP_EXT_INTR_2, /* usExtIntrVoip */
694 BP_GPIO_6_AH, /* usGpioVoipReset */
695 BP_GPIO_34_AH, /* usGpioVoipIntr */
696 BP_NOT_DEFINED, /* usGpioLedVoip */
697 BP_CS_2}, /* usCsVoip */
698 {BP_VOIP_NO_DSP}}, /* ucDspType */
699 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
700 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
701 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
702 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
703 BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
704 BP_NOT_DEFINED, /* usGpioUartRts */
705 BP_NOT_DEFINED, /* usGpioUartCts */
706 BP_NOT_DEFINED, /* usGpioLedAdsl */
707 BP_GPIO_2_AL, /* usGpioLedAdslFail */
708 BP_NOT_DEFINED, /* usGpioLedWireless */
709 BP_NOT_DEFINED, /* usGpioLedUsb */
710 BP_NOT_DEFINED, /* usGpioLedHpna */
711 BP_GPIO_3_AL, /* usGpioLedWanData */
712 BP_GPIO_3_AL, /* usGpioLedPpp */
713 BP_GPIO_4_AL, /* usGpioLedPppFail */
714 BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
715 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
716 BP_GPIO_1_AL, /* usGpioLedBlStop */
717 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
718 BP_NOT_DEFINED, /* usExtIntrHpna */
719 BP_NOT_DEFINED, /* usCsHpna */
720 BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
721 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
722 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
723 BP_NOT_DEFINED, /* usGpioLedSesWireless */
724 BP_NOT_DEFINED, /* usCsHpi */
725 BP_NOT_DEFINED, /* usVcopeResetGpio */
726 BP_NOT_DEFINED, /* usVcopeRelayGpio */
727 BP_NOT_DEFINED, /* usVcopeBoardRev */
730 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
733 static BOARD_PARAMETERS g_bcm96348gw_11 =
735 "96348GW-11", /* szBoardId */
736 {{BP_ENET_NO_PHY}, /* ucPhyType */
737 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
738 0x00, /* ucPhyAddress */
739 BP_NOT_DEFINED, /* usGpioPhySpiSck */
740 BP_NOT_DEFINED, /* usGpioPhySpiSs */
741 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
742 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
743 BP_NOT_DEFINED, /* usGpioPhyReset */
744 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
745 0x04, /* numSwitchPorts */
746 BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */
747 BP_ENET_REVERSE_MII}}, /* usReverseMii */
748 {{BP_VOIP_NO_DSP}, /* ucDspType */
749 {BP_VOIP_NO_DSP}}, /* ucDspType */
750 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
751 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
752 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
753 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
754 BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
755 BP_NOT_DEFINED, /* usGpioUartRts */
756 BP_NOT_DEFINED, /* usGpioUartCts */
757 BP_NOT_DEFINED, /* usGpioLedAdsl */
758 BP_GPIO_2_AL, /* usGpioLedAdslFail */
759 BP_NOT_DEFINED, /* usGpioLedWireless */
760 BP_NOT_DEFINED, /* usGpioLedUsb */
761 BP_NOT_DEFINED, /* usGpioLedHpna */
762 BP_GPIO_3_AL, /* usGpioLedWanData */
763 BP_GPIO_3_AL, /* usGpioLedPpp */
764 BP_GPIO_4_AL, /* usGpioLedPppFail */
765 BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
766 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
767 BP_GPIO_1_AL, /* usGpioLedBlStop */
768 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
769 BP_NOT_DEFINED, /* usExtIntrHpna */
770 BP_NOT_DEFINED, /* usCsHpna */
771 BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
772 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
773 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
774 BP_NOT_DEFINED, /* usGpioLedSesWireless */
775 BP_NOT_DEFINED, /* usCsHpi */
776 BP_NOT_DEFINED, /* usVcopeResetGpio */
777 BP_NOT_DEFINED, /* usVcopeRelayGpio */
778 BP_NOT_DEFINED, /* usVcopeBoardRev */
781 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
784 static BOARD_PARAMETERS g_bcm96348sv =
786 "96348SV", /* szBoardId */
787 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
788 0x01, /* ucPhyAddress */
789 BP_NOT_DEFINED, /* usGpioPhySpiSck */
790 BP_NOT_DEFINED, /* usGpioPhySpiSs */
791 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
792 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
793 BP_NOT_DEFINED, /* usGpioPhyReset */
794 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
795 0x01, /* numSwitchPorts */
796 BP_ENET_CONFIG_MDIO, /* usConfigType */
797 BP_NOT_DEFINED}, /* usReverseMii */
798 {BP_ENET_EXTERNAL_PHY, /* ucPhyType */
799 0x1f, /* ucPhyAddress */
800 BP_NOT_DEFINED, /* usGpioPhySpiSck */
801 BP_NOT_DEFINED, /* usGpioPhySpiSs */
802 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
803 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
804 BP_NOT_DEFINED, /* usGpioPhyReset */
805 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
806 0x01, /* numSwitchPorts */
807 BP_ENET_CONFIG_MDIO, /* usConfigType */
808 BP_NOT_DEFINED}}, /* usReverseMii */
809 {{BP_VOIP_NO_DSP}, /* ucDspType */
810 {BP_VOIP_NO_DSP}}, /* ucDspType */
811 BP_MEMORY_32MB_2_CHIP, /* usSdramSize */
812 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
813 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
814 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
815 BP_NOT_DEFINED, /* usGpioPressAndHoldReset */
816 BP_NOT_DEFINED, /* usGpioUartRts */
817 BP_NOT_DEFINED, /* usGpioUartCts */
818 BP_NOT_DEFINED, /* usGpioLedAdsl */
819 BP_NOT_DEFINED, /* usGpioLedAdslFail */
820 BP_NOT_DEFINED, /* usGpioLedWireless */
821 BP_NOT_DEFINED, /* usGpioLedUsb */
822 BP_NOT_DEFINED, /* usGpioLedHpna */
823 BP_NOT_DEFINED, /* usGpioLedWanData */
824 BP_NOT_DEFINED, /* usGpioLedPpp */
825 BP_NOT_DEFINED, /* usGpioLedPppFail */
826 BP_NOT_DEFINED, /* usGpioLedBlPowerOn */
827 BP_NOT_DEFINED, /* usGpioLedBlResetCfg */
828 BP_NOT_DEFINED, /* usGpioLedBlStop */
829 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
830 BP_NOT_DEFINED, /* usExtIntrHpna */
831 BP_NOT_DEFINED, /* usCsHpna */
832 BP_NOT_DEFINED, /* usAntInUseWireless */
833 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
834 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
835 BP_NOT_DEFINED, /* usGpioLedSesWireless */
836 BP_NOT_DEFINED, /* usCsHpi */
837 BP_NOT_DEFINED, /* usVcopeResetGpio */
838 BP_NOT_DEFINED, /* usVcopeRelayGpio */
839 BP_NOT_DEFINED, /* usVcopeBoardRev */
842 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
846 static BOARD_PARAMETERS g_bcm96348gw_dualDsp =
848 "96348GW-DualDSP", /* szBoardId */
849 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
850 0x01, /* ucPhyAddress */
851 BP_NOT_DEFINED, /* usGpioPhySpiSck */
852 BP_NOT_DEFINED, /* usGpioPhySpiSs */
853 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
854 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
855 BP_NOT_DEFINED, /* usGpioPhyReset */
856 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
857 0x01, /* numSwitchPorts */
858 BP_ENET_CONFIG_MDIO, /* usConfigType */
859 BP_NOT_DEFINED}, /* usReverseMii */
860 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
861 0x00, /* ucPhyAddress */
862 BP_NOT_DEFINED, /* usGpioPhySpiSck */
863 BP_NOT_DEFINED, /* usGpioPhySpiSs */
864 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
865 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
866 BP_NOT_DEFINED, /* usGpioPhyReset */
867 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
868 0x03, /* numSwitchPorts */
869 BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */
870 BP_ENET_REVERSE_MII}}, /* usReverseMii */
871 {{BP_VOIP_DSP, /* ucDspType */
872 0x00, /* ucDspAddress */
873 BP_EXT_INTR_2, /* usExtIntrVoip */
874 BP_UNEQUIPPED, /* usGpioVoipReset */
875 BP_GPIO_34_AH, /* usGpioVoipIntr */
876 BP_NOT_DEFINED, /* usGpioLedVoip */
877 BP_CS_2}, /* usCsVoip */
878 {BP_VOIP_DSP, /* ucDspType */
879 0x01, /* ucDspAddress */
880 BP_EXT_INTR_3, /* usExtIntrVoip */
881 BP_UNEQUIPPED , /* usGpioVoipReset */
882 BP_GPIO_35_AH, /* usGpioVoipIntr */
883 BP_NOT_DEFINED, /* usGpioLedVoip */
884 BP_CS_3}}, /* usCsVoip */
885 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
886 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
887 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
888 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
889 BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
890 BP_NOT_DEFINED, /* usGpioUartRts */
891 BP_NOT_DEFINED, /* usGpioUartCts */
892 BP_NOT_DEFINED, /* usGpioLedAdsl */
893 BP_GPIO_2_AL, /* usGpioLedAdslFail */
894 BP_NOT_DEFINED, /* usGpioLedWireless */
895 BP_NOT_DEFINED, /* usGpioLedUsb */
896 BP_NOT_DEFINED, /* usGpioLedHpna */
897 BP_GPIO_3_AL, /* usGpioLedWanData */
898 BP_GPIO_3_AL, /* usGpioLedPpp */
899 BP_GPIO_4_AL, /* usGpioLedPppFail */
900 BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
901 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
902 BP_GPIO_1_AL, /* usGpioLedBlStop */
903 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
904 BP_NOT_DEFINED, /* usExtIntrHpna */
905 BP_NOT_DEFINED, /* usCsHpna */
906 BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
907 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
908 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
909 BP_NOT_DEFINED, /* usGpioLedSesWireless */
910 BP_NOT_DEFINED, /* usCsHpi */
911 BP_NOT_DEFINED, /* usVcopeResetGpio */
912 BP_NOT_DEFINED, /* usVcopeRelayGpio */
913 BP_NOT_DEFINED, /* usVcopeBoardRev */
916 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
920 static BOARD_PARAMETERS g_bcmCustom_01 =
922 "BCMCUST_01", /* szBoardId */
923 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
924 0x01, /* ucPhyAddress */
925 BP_NOT_DEFINED, /* usGpioPhySpiSck */
926 BP_NOT_DEFINED, /* usGpioPhySpiSs */
927 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
928 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
929 BP_NOT_DEFINED, /* usGpioPhyReset */
930 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
931 0x01, /* numSwitchPorts */
932 BP_ENET_CONFIG_MDIO, /* usConfigType */
933 BP_NOT_DEFINED}, /* usReverseMii */
934 {BP_ENET_NO_PHY, /* ucPhyType */
935 0x00, /* ucPhyAddress */
936 BP_NOT_DEFINED, /* usGpioPhySpiSck */
937 BP_NOT_DEFINED, /* usGpioPhySpiSs */
938 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
939 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
940 BP_NOT_DEFINED, /* usGpioPhyReset */
941 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
942 0x01, /* numSwitchPorts */
943 BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */
944 BP_ENET_REVERSE_MII}}, /* usReverseMii */
945 {{BP_VOIP_DSP, /* ucDspType */
946 0x00, /* ucDspAddress */
947 BP_EXT_INTR_2, /* usExtIntrVoip */
948 BP_GPIO_36_AH, /* usGpioVoipReset */
949 BP_GPIO_34_AL, /* usGpioVoipIntr */
950 BP_NOT_DEFINED, /* usGpioLedVoip */
951 BP_CS_2}, /* usCsVoip */
952 {BP_VOIP_NO_DSP}}, /* ucDspType */
953 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
954 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
955 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
956 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
957 BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
958 BP_NOT_DEFINED, /* usGpioUartRts */
959 BP_NOT_DEFINED, /* usGpioUartCts */
960 BP_NOT_DEFINED, /* usGpioLedAdsl */
961 BP_GPIO_2_AL, /* usGpioLedAdslFail */
962 BP_NOT_DEFINED, /* usGpioLedWireless */
963 BP_NOT_DEFINED, /* usGpioLedUsb */
964 BP_NOT_DEFINED, /* usGpioLedHpna */
965 BP_GPIO_3_AL, /* usGpioLedWanData */
966 BP_GPIO_3_AL, /* usGpioLedPpp */
967 BP_GPIO_4_AL, /* usGpioLedPppFail */
968 BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
969 BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
970 BP_GPIO_1_AL, /* usGpioLedBlStop */
971 BP_NOT_DEFINED, /* usExtIntrAdslDyingGasp */
972 BP_NOT_DEFINED, /* usExtIntrHpna */
973 BP_NOT_DEFINED, /* usCsHpna */
974 BP_NOT_DEFINED, /* usAntInUseWireless */
975 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
976 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
977 BP_NOT_DEFINED, /* usGpioLedSesWireless */
978 BP_NOT_DEFINED, /* usCsHpi */
979 BP_NOT_DEFINED, /* usVcopeResetGpio */
980 BP_NOT_DEFINED, /* usVcopeRelayGpio */
981 BP_NOT_DEFINED, /* usVcopeBoardRev */
984 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
987 static BOARD_PARAMETERS g_bcm96348m =
989 "96348M", /* szBoardId */
990 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
991 0x01, /* ucPhyAddress */
992 BP_NOT_DEFINED, /* usGpioPhySpiSck */
993 BP_NOT_DEFINED, /* usGpioPhySpiSs */
994 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
995 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
996 BP_NOT_DEFINED, /* usGpioPhyReset */
997 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
998 0x01, /* numSwitchPorts */
999 BP_ENET_CONFIG_MDIO, /* usConfigType */
1000 BP_NOT_DEFINED}, /* usReverseMii */
1001 {BP_ENET_NO_PHY}}, /* ucPhyType */
1002 {{BP_VOIP_NO_DSP}, /* ucDspType */
1003 {BP_VOIP_NO_DSP}}, /* ucDspType */
1004 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
1005 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
1006 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
1007 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
1008 BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
1009 BP_NOT_DEFINED, /* usGpioUartRts */
1010 BP_NOT_DEFINED, /* usGpioUartCts */
1011 BP_NOT_DEFINED, /* usGpioLedAdsl */
1012 BP_NOT_DEFINED, /* usGpioLedAdslFail */
1013 BP_NOT_DEFINED, /* usGpioLedWireless */
1014 BP_NOT_DEFINED, /* usGpioLedUsb */
1015 BP_NOT_DEFINED, /* usGpioLedHpna */
1016 BP_GPIO_19_AL, /* usGpioLedWanData */
1017 BP_GPIO_19_AL, /* usGpioLedPpp */
1018 BP_GPIO_20_AL, /* usGpioLedPppFail */
1019 BP_GPIO_16_AL, /* usGpioLedBlPowerOn */
1020 BP_GPIO_19_AL, /* usGpioLedBlResetCfg */
1021 BP_GPIO_17_AL, /* usGpioLedBlStop */
1022 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
1023 BP_NOT_DEFINED, /* usExtIntrHpna */
1024 BP_NOT_DEFINED, /* usCsHpna */
1025 BP_NOT_DEFINED, /* usAntInUseWireless */
1026 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
1027 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
1028 BP_NOT_DEFINED, /* usGpioLedSesWireless */
1029 BP_CS_1, /* usCsHpi */
1030 BP_GPIO_22_AL, /* usVcopeResetGpio */
1031 BP_GPIO_21_AL, /* usVcopeRelayGpio */
1032 3, /* usVcopeBoardRev */
1035 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
1038 static BOARD_PARAMETERS g_bcm96348mc =
1040 "96348MC", /* szBoardId */
1041 {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
1042 0x01, /* ucPhyAddress */
1043 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1044 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1045 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1046 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1047 BP_NOT_DEFINED, /* usGpioPhyReset */
1048 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1049 0x01, /* numSwitchPorts */
1050 BP_ENET_CONFIG_MDIO, /* usConfigType */
1051 BP_NOT_DEFINED}, /* usReverseMii */
1052 {BP_ENET_NO_PHY}}, /* ucPhyType */
1053 {{BP_VOIP_NO_DSP}, /* ucDspType */
1054 {BP_VOIP_NO_DSP}}, /* ucDspType */
1055 BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
1056 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
1057 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
1058 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
1059 BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
1060 BP_NOT_DEFINED, /* usGpioUartRts */
1061 BP_NOT_DEFINED, /* usGpioUartCts */
1062 BP_NOT_DEFINED, /* usGpioLedAdsl */
1063 BP_GPIO_27_AL, /* usGpioLedAdslFail */
1064 BP_NOT_DEFINED, /* usGpioLedWireless */
1065 BP_NOT_DEFINED, /* usGpioLedUsb */
1066 BP_NOT_DEFINED, /* usGpioLedHpna */
1067 BP_NOT_DEFINED, /* usGpioLedWanData */
1068 BP_NOT_DEFINED, /* usGpioLedPpp */
1069 BP_NOT_DEFINED, /* usGpioLedPppFail */
1070 BP_GPIO_25_AL, /* usGpioLedBlPowerOn */
1071 BP_NOT_DEFINED, /* usGpioLedBlResetCfg */
1072 BP_NOT_DEFINED, /* usGpioLedBlStop */
1073 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
1074 BP_NOT_DEFINED, /* usExtIntrHpna */
1075 BP_NOT_DEFINED, /* usCsHpna */
1076 BP_NOT_DEFINED, /* usAntInUseWireless */
1077 BP_NOT_DEFINED, /* usGpioSesBtnWireless */
1078 BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
1079 BP_NOT_DEFINED, /* usGpioLedSesWireless */
1080 BP_CS_1, /* usCsHpi */
1081 BP_GPIO_22_AL, /* usVcopeResetGpio */
1082 BP_GPIO_36_AL, /* usVcopeRelayGpio */
1083 3, /* usVcopeBoardRev */
1086 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
1089 static PBOARD_PARAMETERS g_BoardParms[] =
1090 {&g_bcm96348r, &g_bcm96348lv, &g_bcm96348gw, &g_bcm96348w2, &g_bcm96348w3_10,
1091 &g_bcm96348w3, &g_bcm96348gw_10, &g_bcm96348gw_11, &g_bcm96348sv,
1092 &g_bcm96348gw_dualDsp, &g_bcmCustom_01, &g_bcm96348m, &g_bcm96348mc, 0};
1095 #if defined(_BCM96358_) || defined(CONFIG_BCM96358)
1097 static BOARD_PARAMETERS g_bcm96358vwa =
1099 "96358VW-A", /* szBoardId */
1100 {{BP_ENET_NO_PHY, /* ucPhyType */
1101 0x01, /* ucPhyAddress */
1102 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1103 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1104 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1105 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1106 BP_NOT_DEFINED, /* usGpioPhyReset */
1107 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1108 0x01, /* numSwitchPorts */
1109 BP_ENET_CONFIG_MDIO, /* usConfigType */
1110 BP_NOT_DEFINED}, /* usReverseMii */
1111 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
1112 0x0, /* ucPhyAddress */
1113 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1114 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1115 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1116 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1117 BP_NOT_DEFINED, /* usGpioPhyReset */
1118 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1119 0x04, /* numSwitchPorts */
1120 BP_ENET_CONFIG_MDIO_PSEUDO_PHY, /* usConfigType */
1121 BP_ENET_REVERSE_MII}}, /* usReverseMii */
1122 {{BP_VOIP_NO_DSP}, /* ucDspType */
1123 {BP_VOIP_NO_DSP}}, /* ucDspType */
1124 BP_MEMORY_32MB_1_CHIP, /* usSdramSize */
1125 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
1126 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
1127 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
1128 BP_GPIO_34_AL, /* usGpioPressAndHoldReset */
1129 BP_NOT_DEFINED, /* usGpioUartRts */
1130 BP_NOT_DEFINED, /* usGpioUartCts */
1131 BP_GPIO_2_AL, /* usGpioLedAdsl */
1132 BP_GPIO_15_AL, /* usGpioLedAdslFail */
1133 BP_NOT_DEFINED, /* usGpioLedWireless */
1134 BP_GPIO_30_AL, /* usGpioLedUsb */
1135 BP_NOT_DEFINED, /* usGpioLedHpna */
1136 BP_GPIO_22_AL, /* usGpioLedWanData */
1137 BP_GPIO_22_AL, /* usGpioLedPpp */
1138 BP_NOT_DEFINED, /* usGpioLedPppFail */
1139 BP_GPIO_4_AL, /* usGpioLedBlPowerOn */
1140 BP_GPIO_22_AL, /* usGpioLedBlResetCfg */
1141 BP_GPIO_5_AL, /* usGpioLedBlStop */
1142 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
1143 BP_NOT_DEFINED, /* usExtIntrHpna */
1144 BP_NOT_DEFINED, /* usCsHpna */
1145 BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
1146 BP_GPIO_37_AL, /* usGpioSesBtnWireless */
1147 BP_EXT_INTR_3, /* usExtIntrSesBtnWireless */
1148 BP_GPIO_28_AL, /* usGpioLedSesWireless */
1149 BP_NOT_DEFINED, /* usCsHpi */
1150 BP_NOT_DEFINED, /* usVcopeResetGpio */
1151 BP_NOT_DEFINED, /* usVcopeRelayGpio */
1152 BP_NOT_DEFINED, /* usVcopeBoardRev */
1155 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
1158 static BOARD_PARAMETERS g_bcm96358vwb =
1160 "96358VW-B", /* szBoardId */
1161 {{BP_ENET_NO_PHY, /* ucPhyType */
1162 0x01, /* ucPhyAddress */
1163 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1164 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1165 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1166 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1167 BP_NOT_DEFINED, /* usGpioPhyReset */
1168 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1169 0x01, /* numSwitchPorts */
1170 BP_ENET_CONFIG_MDIO, /* usConfigType */
1171 BP_NOT_DEFINED}, /* usReverseMii */
1172 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
1173 0x0, /* ucPhyAddress */
1174 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1175 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1176 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1177 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1178 BP_NOT_DEFINED, /* usGpioPhyReset */
1179 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1180 0x04, /* numSwitchPorts */
1181 BP_ENET_CONFIG_MDIO_PSEUDO_PHY, /* usConfigType */
1182 BP_ENET_REVERSE_MII}}, /* usReverseMii */
1183 {{BP_VOIP_NO_DSP}, /* ucDspType */
1184 {BP_VOIP_NO_DSP}}, /* ucDspType */
1185 BP_MEMORY_32MB_1_CHIP, /* usSdramSize */
1186 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
1187 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
1188 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
1189 BP_GPIO_34_AL, /* usGpioPressAndHoldReset */
1190 BP_NOT_DEFINED, /* usGpioUartRts */
1191 BP_NOT_DEFINED, /* usGpioUartCts */
1192 BP_GPIO_2_AL, /* usGpioLedAdsl */
1193 BP_GPIO_15_AL, /* usGpioLedAdslFail */
1194 BP_NOT_DEFINED, /* usGpioLedWireless */
1195 BP_GPIO_30_AL, /* usGpioLedUsb */
1196 BP_NOT_DEFINED, /* usGpioLedHpna */
1197 BP_GPIO_22_AL, /* usGpioLedWanData */
1198 BP_GPIO_22_AL, /* usGpioLedPpp */
1199 BP_NOT_DEFINED, /* usGpioLedPppFail */
1200 BP_GPIO_4_AL, /* usGpioLedBlPowerOn */
1201 BP_GPIO_22_AL, /* usGpioLedBlResetCfg */
1202 BP_GPIO_5_AL, /* usGpioLedBlStop */
1203 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
1204 BP_NOT_DEFINED, /* usExtIntrHpna */
1205 BP_NOT_DEFINED, /* usCsHpna */
1206 BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
1207 BP_GPIO_37_AL, /* usGpioSesBtnWireless */
1208 BP_EXT_INTR_3, /* usExtIntrSesBtnWireless */
1209 BP_GPIO_28_AL, /* usGpioLedSesWireless */
1210 BP_NOT_DEFINED, /* usCsHpi */
1211 BP_NOT_DEFINED, /* usVcopeResetGpio */
1212 BP_NOT_DEFINED, /* usVcopeRelayGpio */
1213 BP_NOT_DEFINED, /* usVcopeBoardRev */
1216 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
1219 static BOARD_PARAMETERS g_bcm96358vw =
1221 "96358VW", /* szBoardId */
1222 {{BP_ENET_NO_PHY, /* ucPhyType */
1223 0x01, /* ucPhyAddress */
1224 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1225 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1226 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1227 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1228 BP_NOT_DEFINED, /* usGpioPhyReset */
1229 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1230 0x01, /* numSwitchPorts */
1231 BP_ENET_CONFIG_MDIO, /* usConfigType */
1232 BP_NOT_DEFINED}, /* usReverseMii */
1233 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
1234 0x0, /* ucPhyAddress */
1235 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1236 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1237 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1238 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1239 BP_NOT_DEFINED, /* usGpioPhyReset */
1240 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1241 0x04, /* numSwitchPorts */
1242 BP_ENET_CONFIG_MDIO_PSEUDO_PHY, /* usConfigType */
1243 BP_ENET_REVERSE_MII}}, /* usReverseMii */
1244 {{BP_VOIP_NO_DSP}, /* ucDspType */
1245 {BP_VOIP_NO_DSP}}, /* ucDspType */
1246 BP_MEMORY_32MB_1_CHIP, /* usSdramSize */
1247 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
1248 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
1249 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
1250 BP_GPIO_34_AL, /* usGpioPressAndHoldReset */
1251 BP_NOT_DEFINED, /* usGpioUartRts */
1252 BP_NOT_DEFINED, /* usGpioUartCts */
1253 BP_GPIO_2_AL, /* usGpioLedAdsl */
1254 BP_GPIO_15_AL, /* usGpioLedAdslFail */
1255 BP_NOT_DEFINED, /* usGpioLedWireless */
1256 BP_GPIO_30_AL, /* usGpioLedUsb */
1257 BP_NOT_DEFINED, /* usGpioLedHpna */
1258 BP_GPIO_22_AL, /* usGpioLedWanData */
1259 BP_GPIO_22_AL, /* usGpioLedPpp */
1260 BP_NOT_DEFINED, /* usGpioLedPppFail */
1261 BP_GPIO_4_AL, /* usGpioLedBlPowerOn */
1262 BP_GPIO_22_AL, /* usGpioLedBlResetCfg */
1263 BP_GPIO_5_AL, /* usGpioLedBlStop */
1264 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
1265 BP_NOT_DEFINED, /* usExtIntrHpna */
1266 BP_NOT_DEFINED, /* usCsHpna */
1267 BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
1268 BP_GPIO_37_AL, /* usGpioSesBtnWireless */
1269 BP_EXT_INTR_3, /* usExtIntrSesBtnWireless */
1270 BP_GPIO_28_AL, /* usGpioLedSesWireless */
1271 BP_NOT_DEFINED, /* usCsHpi */
1272 BP_NOT_DEFINED, /* usVcopeResetGpio */
1273 BP_NOT_DEFINED, /* usVcopeRelayGpio */
1274 BP_NOT_DEFINED, /* usVcopeBoardRev */
1277 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
1280 static BOARD_PARAMETERS g_bcm96358gwa =
1282 "96358GW-A", /* szBoardId */
1283 {{BP_ENET_NO_PHY, /* ucPhyType */
1284 0x01, /* ucPhyAddress */
1285 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1286 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1287 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1288 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1289 BP_NOT_DEFINED, /* usGpioPhyReset */
1290 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1291 0x01, /* numSwitchPorts */
1292 BP_ENET_CONFIG_MDIO, /* usConfigType */
1293 BP_NOT_DEFINED}, /* usReverseMii */
1294 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
1295 0x0, /* ucPhyAddress */
1296 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1297 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1298 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1299 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1300 BP_NOT_DEFINED, /* usGpioPhyReset */
1301 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1302 0x04, /* numSwitchPorts */
1303 BP_ENET_CONFIG_MDIO_PSEUDO_PHY, /* usConfigType */
1304 BP_ENET_REVERSE_MII}}, /* usReverseMii */
1305 {{BP_VOIP_NO_DSP}, /* ucDspType */
1306 {BP_VOIP_NO_DSP}}, /* ucDspType */
1307 BP_MEMORY_32MB_1_CHIP, /* usSdramSize */
1308 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
1309 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
1310 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
1311 BP_GPIO_34_AL, /* usGpioPressAndHoldReset */
1312 BP_NOT_DEFINED, /* usGpioUartRts */
1313 BP_NOT_DEFINED, /* usGpioUartCts */
1314 BP_GPIO_2_AL, /* usGpioLedAdsl */
1315 BP_GPIO_15_AL, /* usGpioLedAdslFail */
1316 BP_NOT_DEFINED, /* usGpioLedWireless */
1317 BP_GPIO_30_AL, /* usGpioLedUsb */
1318 BP_NOT_DEFINED, /* usGpioLedHpna */
1319 BP_GPIO_22_AL, /* usGpioLedWanData */
1320 BP_GPIO_22_AL, /* usGpioLedPpp */
1321 BP_NOT_DEFINED, /* usGpioLedPppFail */
1322 BP_GPIO_4_AL, /* usGpioLedBlPowerOn */
1323 BP_GPIO_22_AL, /* usGpioLedBlResetCfg */
1324 BP_GPIO_5_AL, /* usGpioLedBlStop */
1325 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
1326 BP_NOT_DEFINED, /* usExtIntrHpna */
1327 BP_NOT_DEFINED, /* usCsHpna */
1328 BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
1329 BP_GPIO_37_AL, /* usGpioSesBtnWireless */
1330 BP_EXT_INTR_3, /* usExtIntrSesBtnWireless */
1331 BP_GPIO_29_AL, /* usGpioLedSesWireless */
1332 BP_NOT_DEFINED, /* usCsHpi */
1333 BP_NOT_DEFINED, /* usVcopeResetGpio */
1334 BP_NOT_DEFINED, /* usVcopeRelayGpio */
1335 BP_NOT_DEFINED, /* usVcopeBoardRev */
1338 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
1341 static BOARD_PARAMETERS g_bcm96358gwb =
1343 "96358GW-B", /* szBoardId */
1344 {{BP_ENET_NO_PHY, /* ucPhyType */
1345 0x01, /* ucPhyAddress */
1346 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1347 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1348 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1349 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1350 BP_NOT_DEFINED, /* usGpioPhyReset */
1351 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1352 0x01, /* numSwitchPorts */
1353 BP_ENET_CONFIG_MDIO, /* usConfigType */
1354 BP_NOT_DEFINED}, /* usReverseMii */
1355 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
1356 0x0, /* ucPhyAddress */
1357 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1358 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1359 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1360 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1361 BP_NOT_DEFINED, /* usGpioPhyReset */
1362 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1363 0x04, /* numSwitchPorts */
1364 BP_ENET_CONFIG_MDIO_PSEUDO_PHY, /* usConfigType */
1365 BP_ENET_REVERSE_MII}}, /* usReverseMii */
1366 {{BP_VOIP_NO_DSP}, /* ucDspType */
1367 {BP_VOIP_NO_DSP}}, /* ucDspType */
1368 BP_MEMORY_32MB_1_CHIP, /* usSdramSize */
1369 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
1370 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
1371 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
1372 BP_GPIO_34_AL, /* usGpioPressAndHoldReset */
1373 BP_NOT_DEFINED, /* usGpioUartRts */
1374 BP_NOT_DEFINED, /* usGpioUartCts */
1375 BP_GPIO_2_AL, /* usGpioLedAdsl */
1376 BP_GPIO_15_AL, /* usGpioLedAdslFail */
1377 BP_NOT_DEFINED, /* usGpioLedWireless */
1378 BP_GPIO_30_AL, /* usGpioLedUsb */
1379 BP_NOT_DEFINED, /* usGpioLedHpna */
1380 BP_GPIO_22_AL, /* usGpioLedWanData */
1381 BP_GPIO_22_AL, /* usGpioLedPpp */
1382 BP_NOT_DEFINED, /* usGpioLedPppFail */
1383 BP_GPIO_4_AL, /* usGpioLedBlPowerOn */
1384 BP_GPIO_22_AL, /* usGpioLedBlResetCfg */
1385 BP_GPIO_5_AL, /* usGpioLedBlStop */
1386 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
1387 BP_NOT_DEFINED, /* usExtIntrHpna */
1388 BP_NOT_DEFINED, /* usCsHpna */
1389 BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
1390 BP_GPIO_37_AL, /* usGpioSesBtnWireless */
1391 BP_EXT_INTR_3, /* usExtIntrSesBtnWireless */
1392 BP_GPIO_29_AL, /* usGpioLedSesWireless */
1393 BP_NOT_DEFINED, /* usCsHpi */
1394 BP_NOT_DEFINED, /* usVcopeResetGpio */
1395 BP_NOT_DEFINED, /* usVcopeRelayGpio */
1396 BP_NOT_DEFINED, /* usVcopeBoardRev */
1399 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
1402 static BOARD_PARAMETERS g_bcm96358gw =
1404 "96358GW", /* szBoardId */
1405 {{BP_ENET_NO_PHY, /* ucPhyType */
1406 0x01, /* ucPhyAddress */
1407 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1408 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1409 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1410 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1411 BP_NOT_DEFINED, /* usGpioPhyReset */
1412 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1413 0x01, /* numSwitchPorts */
1414 BP_ENET_CONFIG_MDIO, /* usConfigType */
1415 BP_NOT_DEFINED}, /* usReverseMii */
1416 {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
1417 0x0, /* ucPhyAddress */
1418 BP_NOT_DEFINED, /* usGpioPhySpiSck */
1419 BP_NOT_DEFINED, /* usGpioPhySpiSs */
1420 BP_NOT_DEFINED, /* usGpioPhySpiMosi */
1421 BP_NOT_DEFINED, /* usGpioPhySpiMiso */
1422 BP_NOT_DEFINED, /* usGpioPhyReset */
1423 BP_NOT_DEFINED, /* usGpioPhyLinkSpeed */
1424 0x04, /* numSwitchPorts */
1425 BP_ENET_CONFIG_MDIO_PSEUDO_PHY, /* usConfigType */
1426 BP_ENET_REVERSE_MII}}, /* usReverseMii */
1427 {{BP_VOIP_NO_DSP}, /* ucDspType */
1428 {BP_VOIP_NO_DSP}}, /* ucDspType */
1429 BP_MEMORY_32MB_1_CHIP, /* usSdramSize */
1430 BP_PSI_DEFAULT_SIZE, /* usPsiSize */
1431 BP_NOT_DEFINED, /* usGpioRj11InnerPair */
1432 BP_NOT_DEFINED, /* usGpioRj11OuterPair */
1433 BP_GPIO_34_AL, /* usGpioPressAndHoldReset */
1434 BP_NOT_DEFINED, /* usGpioUartRts */
1435 BP_NOT_DEFINED, /* usGpioUartCts */
1436 BP_GPIO_2_AL, /* usGpioLedAdsl */
1437 BP_GPIO_15_AL, /* usGpioLedAdslFail */
1438 BP_NOT_DEFINED, /* usGpioLedWireless */
1439 BP_GPIO_30_AL, /* usGpioLedUsb */
1440 BP_NOT_DEFINED, /* usGpioLedHpna */
1441 BP_GPIO_22_AL, /* usGpioLedWanData */
1442 BP_GPIO_22_AL, /* usGpioLedPpp */
1443 BP_NOT_DEFINED, /* usGpioLedPppFail */
1444 BP_GPIO_4_AL, /* usGpioLedBlPowerOn */
1445 BP_GPIO_22_AL, /* usGpioLedBlResetCfg */
1446 BP_GPIO_5_AL, /* usGpioLedBlStop */
1447 BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
1448 BP_NOT_DEFINED, /* usExtIntrHpna */
1449 BP_NOT_DEFINED, /* usCsHpna */
1450 BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
1451 BP_GPIO_37_AL, /* usGpioSesBtnWireless */
1452 BP_EXT_INTR_3, /* usExtIntrSesBtnWireless */
1453 BP_GPIO_29_AL, /* usGpioLedSesWireless */
1454 BP_NOT_DEFINED, /* usCsHpi */
1455 BP_NOT_DEFINED, /* usVcopeResetGpio */
1456 BP_NOT_DEFINED, /* usVcopeRelayGpio */
1457 BP_NOT_DEFINED, /* usVcopeBoardRev */
1460 BP_NOT_DEFINED, /* usExtIntrPressAndHoldReset */
1463 static PBOARD_PARAMETERS g_BoardParms[] =
1464 {&g_bcm96358vwa, &g_bcm96358vwb, &g_bcm96358vw, &g_bcm96358gwa, &g_bcm96358gwb, &g_bcm96358gw, 0};
1467 static PBOARD_PARAMETERS g_pCurrentBp = 0;
1469 /**************************************************************************
1472 * Description: String compare for this file so it does not depend on an OS.
1473 * (Linux kernel and CFE share this source file.)
1475 * Parameters : [IN] dest - destination string
1476 * [IN] src - source string
1478 * Returns : -1 - dest < src, 1 - dest > src, 0 dest == src
1479 ***************************************************************************/
1480 static int bpstrcmp(const char *dest,const char *src);
1481 static int bpstrcmp(const char *dest,const char *src)
1483 while (*src && *dest)
1485 if (*dest < *src) return -1;
1486 if (*dest > *src) return 1;
1491 if (*dest && !*src) return 1;
1492 if (!*dest && *src) return -1;
1496 /**************************************************************************
1497 * Name : BpGetVoipDspConfig
1499 * Description: Gets the DSP configuration from the board parameter
1500 * structure for a given DSP index.
1502 * Parameters : [IN] dspNum - DSP index (number)
1504 * Returns : Pointer to DSP configuration block if found/valid, NULL
1506 ***************************************************************************/
1507 VOIP_DSP_INFO *BpGetVoipDspConfig( unsigned char dspNum );
1508 VOIP_DSP_INFO *BpGetVoipDspConfig( unsigned char dspNum )
1510 VOIP_DSP_INFO *pDspConfig = 0;
1515 for( i = 0 ; i < BP_MAX_VOIP_DSP ; i++ )
1517 if( g_pCurrentBp->VoIPDspInfo[i].ucDspType != BP_VOIP_NO_DSP &&
1518 g_pCurrentBp->VoIPDspInfo[i].ucDspAddress == dspNum )
1520 pDspConfig = &g_pCurrentBp->VoIPDspInfo[i];
1530 /**************************************************************************
1531 * Name : BpSetBoardId
1533 * Description: This function find the BOARD_PARAMETERS structure for the
1534 * specified board id string and assigns it to a global, static
1537 * Parameters : [IN] pszBoardId - Board id string that is saved into NVRAM.
1539 * Returns : BP_SUCCESS - Success, value is returned.
1540 * BP_BOARD_ID_NOT_FOUND - Error, board id input string does not
1541 * have a board parameters configuration record.
1542 ***************************************************************************/
1543 int BpSetBoardId( char *pszBoardId )
1545 int nRet = BP_BOARD_ID_NOT_FOUND;
1546 PBOARD_PARAMETERS *ppBp;
1548 for( ppBp = g_BoardParms; *ppBp; ppBp++ )
1550 if( !bpstrcmp((*ppBp)->szBoardId, pszBoardId) )
1552 g_pCurrentBp = *ppBp;
1559 } /* BpSetBoardId */
1561 /**************************************************************************
1562 * Name : BpGetBoardIds
1564 * Description: This function returns all of the supported board id strings.
1566 * Parameters : [OUT] pszBoardIds - Address of a buffer that the board id
1567 * strings are returned in. Each id starts at BP_BOARD_ID_LEN
1569 * [IN] nBoardIdsSize - Number of BP_BOARD_ID_LEN elements that
1570 * were allocated in pszBoardIds.
1572 * Returns : Number of board id strings returned.
1573 ***************************************************************************/
1574 int BpGetBoardIds( char *pszBoardIds, int nBoardIdsSize )
1576 PBOARD_PARAMETERS *ppBp;
1581 for( i = 0, ppBp = g_BoardParms; *ppBp && nBoardIdsSize;
1582 i++, ppBp++, nBoardIdsSize--, pszBoardIds += BP_BOARD_ID_LEN )
1585 src = (*ppBp)->szBoardId;
1592 } /* BpGetBoardIds */
1594 /**************************************************************************
1595 * Name : BpGetEthernetMacInfo
1597 * Description: This function returns all of the supported board id strings.
1599 * Parameters : [OUT] pEnetInfos - Address of an array of ETHERNET_MAC_INFO
1601 * [IN] nNumEnetInfos - Number of ETHERNET_MAC_INFO elements that
1602 * are pointed to by pEnetInfos.
1604 * Returns : BP_SUCCESS - Success, value is returned.
1605 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1606 ***************************************************************************/
1607 int BpGetEthernetMacInfo( PETHERNET_MAC_INFO pEnetInfos, int nNumEnetInfos )
1613 for( i = 0; i < nNumEnetInfos; i++, pEnetInfos++ )
1615 if( i < BP_MAX_ENET_MACS )
1617 unsigned char *src = (unsigned char *)
1618 &g_pCurrentBp->EnetMacInfos[i];
1619 unsigned char *dest = (unsigned char *) pEnetInfos;
1620 int len = sizeof(ETHERNET_MAC_INFO);
1625 pEnetInfos->ucPhyType = BP_ENET_NO_PHY;
1632 for( i = 0; i < nNumEnetInfos; i++, pEnetInfos++ )
1633 pEnetInfos->ucPhyType = BP_ENET_NO_PHY;
1635 nRet = BP_BOARD_ID_NOT_SET;
1639 } /* BpGetEthernetMacInfo */
1641 /**************************************************************************
1642 * Name : BpGetSdramSize
1644 * Description: This function returns a constant that describees the board's
1645 * SDRAM type and size.
1647 * Parameters : [OUT] pulSdramSize - Address of short word that the SDRAM size
1650 * Returns : BP_SUCCESS - Success, value is returned.
1651 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1652 ***************************************************************************/
1653 int BpGetSdramSize( unsigned long *pulSdramSize )
1659 *pulSdramSize = g_pCurrentBp->usSdramSize;
1664 *pulSdramSize = BP_NOT_DEFINED;
1665 nRet = BP_BOARD_ID_NOT_SET;
1669 } /* BpGetSdramSize */
1671 /**************************************************************************
1672 * Name : BpGetPsiSize
1674 * Description: This function returns the persistent storage size in K bytes.
1676 * Parameters : [OUT] pulPsiSize - Address of short word that the persistent
1677 * storage size is returned in.
1679 * Returns : BP_SUCCESS - Success, value is returned.
1680 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1681 ***************************************************************************/
1682 int BpGetPsiSize( unsigned long *pulPsiSize )
1688 *pulPsiSize = g_pCurrentBp->usPsiSize;
1693 *pulPsiSize = BP_NOT_DEFINED;
1694 nRet = BP_BOARD_ID_NOT_SET;
1698 } /* BpGetPsiSize */
1700 /**************************************************************************
1701 * Name : BpGetRj11InnerOuterPairGpios
1703 * Description: This function returns the GPIO pin assignments for changing
1704 * between the RJ11 inner pair and RJ11 outer pair.
1706 * Parameters : [OUT] pusInner - Address of short word that the RJ11 inner pair
1707 * GPIO pin is returned in.
1708 * [OUT] pusOuter - Address of short word that the RJ11 outer pair
1709 * GPIO pin is returned in.
1711 * Returns : BP_SUCCESS - Success, values are returned.
1712 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1713 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1715 ***************************************************************************/
1716 int BpGetRj11InnerOuterPairGpios( unsigned short *pusInner,
1717 unsigned short *pusOuter )
1723 *pusInner = g_pCurrentBp->usGpioRj11InnerPair;
1724 *pusOuter = g_pCurrentBp->usGpioRj11OuterPair;
1726 if( g_pCurrentBp->usGpioRj11InnerPair != BP_NOT_DEFINED &&
1727 g_pCurrentBp->usGpioRj11OuterPair != BP_NOT_DEFINED )
1733 nRet = BP_VALUE_NOT_DEFINED;
1738 *pusInner = *pusOuter = BP_NOT_DEFINED;
1739 nRet = BP_BOARD_ID_NOT_SET;
1743 } /* BpGetRj11InnerOuterPairGpios */
1745 /**************************************************************************
1746 * Name : BpGetPressAndHoldResetGpio
1748 * Description: This function returns the GPIO pin assignment for the press
1749 * and hold reset button.
1751 * Parameters : [OUT] pusValue - Address of short word that the press and hold
1752 * reset button GPIO pin is returned in.
1754 * Returns : BP_SUCCESS - Success, value is returned.
1755 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1756 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1758 ***************************************************************************/
1759 int BpGetPressAndHoldResetGpio( unsigned short *pusValue )
1765 *pusValue = g_pCurrentBp->usGpioPressAndHoldReset;
1767 if( g_pCurrentBp->usGpioPressAndHoldReset != BP_NOT_DEFINED )
1773 nRet = BP_VALUE_NOT_DEFINED;
1778 *pusValue = BP_NOT_DEFINED;
1779 nRet = BP_BOARD_ID_NOT_SET;
1783 } /* BpGetPressAndHoldResetGpio */
1785 /**************************************************************************
1786 * Name : BpGetVoipResetGpio
1788 * Description: This function returns the GPIO pin assignment for the VOIP
1791 * Parameters : [OUT] pusValue - Address of short word that the VOIP reset
1792 * GPIO pin is returned in.
1793 * [IN] dspNum - Address of the DSP to query.
1795 * Returns : BP_SUCCESS - Success, value is returned.
1796 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1797 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1799 ***************************************************************************/
1800 int BpGetVoipResetGpio( unsigned char dspNum, unsigned short *pusValue )
1806 VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
1810 *pusValue = pDspInfo->usGpioVoipReset;
1812 if( *pusValue != BP_NOT_DEFINED ||
1813 *pusValue == BP_UNEQUIPPED )
1819 nRet = BP_VALUE_NOT_DEFINED;
1824 *pusValue = BP_NOT_DEFINED;
1825 nRet = BP_BOARD_ID_NOT_FOUND;
1830 *pusValue = BP_NOT_DEFINED;
1831 nRet = BP_BOARD_ID_NOT_SET;
1835 } /* BpGetVoipResetGpio */
1837 /**************************************************************************
1838 * Name : BpGetVoipIntrGpio
1840 * Description: This function returns the GPIO pin assignment for VoIP interrupt.
1842 * Parameters : [OUT] pusValue - Address of short word that the VOIP interrupt
1843 * GPIO pin is returned in.
1844 * [IN] dspNum - Address of the DSP to query.
1846 * Returns : BP_SUCCESS - Success, value is returned.
1847 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1848 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1850 ***************************************************************************/
1851 int BpGetVoipIntrGpio( unsigned char dspNum, unsigned short *pusValue )
1857 VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
1861 *pusValue = pDspInfo->usGpioVoipIntr;
1863 if( *pusValue != BP_NOT_DEFINED )
1869 nRet = BP_VALUE_NOT_DEFINED;
1874 *pusValue = BP_NOT_DEFINED;
1875 nRet = BP_BOARD_ID_NOT_FOUND;
1880 *pusValue = BP_NOT_DEFINED;
1881 nRet = BP_BOARD_ID_NOT_SET;
1885 } /* BpGetVoipIntrGpio */
1887 /**************************************************************************
1888 * Name : BpGetUartRtsCtsGpios
1890 * Description: This function returns the GPIO pin assignments for RTS and CTS
1893 * Parameters : [OUT] pusRts - Address of short word that the UART RTS GPIO
1894 * pin is returned in.
1895 * [OUT] pusCts - Address of short word that the UART CTS GPIO
1896 * pin is returned in.
1898 * Returns : BP_SUCCESS - Success, values are returned.
1899 * BP_BOARD_ID_NOT_SET - Error, board id input string does not
1900 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1902 ***************************************************************************/
1903 int BpGetRtsCtsUartGpios( unsigned short *pusRts, unsigned short *pusCts )
1909 *pusRts = g_pCurrentBp->usGpioUartRts;
1910 *pusCts = g_pCurrentBp->usGpioUartCts;
1912 if( g_pCurrentBp->usGpioUartRts != BP_NOT_DEFINED &&
1913 g_pCurrentBp->usGpioUartCts != BP_NOT_DEFINED )
1919 nRet = BP_VALUE_NOT_DEFINED;
1924 *pusRts = *pusCts = BP_NOT_DEFINED;
1925 nRet = BP_BOARD_ID_NOT_SET;
1929 } /* BpGetUartRtsCtsGpios */
1931 /**************************************************************************
1932 * Name : BpGetAdslLedGpio
1934 * Description: This function returns the GPIO pin assignment for the ADSL
1937 * Parameters : [OUT] pusValue - Address of short word that the ADSL LED
1938 * GPIO pin is returned in.
1940 * Returns : BP_SUCCESS - Success, value is returned.
1941 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1942 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1944 ***************************************************************************/
1945 int BpGetAdslLedGpio( unsigned short *pusValue )
1951 *pusValue = g_pCurrentBp->usGpioLedAdsl;
1953 if( g_pCurrentBp->usGpioLedAdsl != BP_NOT_DEFINED )
1959 nRet = BP_VALUE_NOT_DEFINED;
1964 *pusValue = BP_NOT_DEFINED;
1965 nRet = BP_BOARD_ID_NOT_SET;
1969 } /* BpGetAdslLedGpio */
1971 /**************************************************************************
1972 * Name : BpGetAdslFailLedGpio
1974 * Description: This function returns the GPIO pin assignment for the ADSL
1975 * LED that is used when there is a DSL connection failure.
1977 * Parameters : [OUT] pusValue - Address of short word that the ADSL LED
1978 * GPIO pin is returned in.
1980 * Returns : BP_SUCCESS - Success, value is returned.
1981 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1982 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1984 ***************************************************************************/
1985 int BpGetAdslFailLedGpio( unsigned short *pusValue )
1991 *pusValue = g_pCurrentBp->usGpioLedAdslFail;
1993 if( g_pCurrentBp->usGpioLedAdslFail != BP_NOT_DEFINED )
1999 nRet = BP_VALUE_NOT_DEFINED;
2004 *pusValue = BP_NOT_DEFINED;
2005 nRet = BP_BOARD_ID_NOT_SET;
2009 } /* BpGetAdslFailLedGpio */
2011 /**************************************************************************
2012 * Name : BpGetWirelessLedGpio
2014 * Description: This function returns the GPIO pin assignment for the Wireless
2017 * Parameters : [OUT] pusValue - Address of short word that the Wireless LED
2018 * GPIO pin is returned in.
2020 * Returns : BP_SUCCESS - Success, value is returned.
2021 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2022 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2024 ***************************************************************************/
2025 int BpGetWirelessLedGpio( unsigned short *pusValue )
2031 *pusValue = g_pCurrentBp->usGpioLedWireless;
2033 if( g_pCurrentBp->usGpioLedWireless != BP_NOT_DEFINED )
2039 nRet = BP_VALUE_NOT_DEFINED;
2044 *pusValue = BP_NOT_DEFINED;
2045 nRet = BP_BOARD_ID_NOT_SET;
2049 } /* BpGetWirelessLedGpio */
2051 /**************************************************************************
2052 * Name : BpGetWirelessAntInUse
2054 * Description: This function returns the antennas in use for wireless
2056 * Parameters : [OUT] pusValue - Address of short word that the Wireless Antenna
2059 * Returns : BP_SUCCESS - Success, value is returned.
2060 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2061 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2063 ***************************************************************************/
2064 int BpGetWirelessAntInUse( unsigned short *pusValue )
2070 *pusValue = g_pCurrentBp->usAntInUseWireless;
2072 if( g_pCurrentBp->usAntInUseWireless != BP_NOT_DEFINED )
2078 nRet = BP_VALUE_NOT_DEFINED;
2083 *pusValue = BP_NOT_DEFINED;
2084 nRet = BP_BOARD_ID_NOT_SET;
2088 } /* BpGetWirelessAntInUse */
2090 /**************************************************************************
2091 * Name : BpGetWirelessFlags
2093 * Description: This function returns optional control flags for wireless
2095 * Parameters : [OUT] pusValue - Address of short word control flags
2097 * Returns : BP_SUCCESS - Success, value is returned.
2098 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2099 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2101 ***************************************************************************/
2102 int BpGetWirelessFlags( unsigned short *pusValue )
2108 *pusValue = g_pCurrentBp->usWirelessFlags;
2110 if( g_pCurrentBp->usWirelessFlags != BP_NOT_DEFINED )
2116 nRet = BP_VALUE_NOT_DEFINED;
2121 *pusValue = BP_NOT_DEFINED;
2122 nRet = BP_BOARD_ID_NOT_SET;
2126 } /* BpGetWirelessAntInUse */
2128 /**************************************************************************
2129 * Name : BpGetWirelessSesBtnGpio
2131 * Description: This function returns the GPIO pin assignment for the Wireless
2134 * Parameters : [OUT] pusValue - Address of short word that the Wireless LED
2135 * GPIO pin is returned in.
2137 * Returns : BP_SUCCESS - Success, value is returned.
2138 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2139 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2141 ***************************************************************************/
2142 int BpGetWirelessSesBtnGpio( unsigned short *pusValue )
2148 *pusValue = g_pCurrentBp->usGpioSesBtnWireless;
2150 if( g_pCurrentBp->usGpioSesBtnWireless != BP_NOT_DEFINED )
2156 nRet = BP_VALUE_NOT_DEFINED;
2161 *pusValue = BP_NOT_DEFINED;
2162 nRet = BP_BOARD_ID_NOT_SET;
2166 } /* BpGetWirelessSesBtnGpio */
2168 /**************************************************************************
2169 * Name : BpGetWirelessSesExtIntr
2171 * Description: This function returns the external interrupt number for the
2172 * Wireless Ses Button.
2174 * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
2175 * external interrup is returned in.
2177 * Returns : BP_SUCCESS - Success, value is returned.
2178 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2179 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2181 ***************************************************************************/
2182 int BpGetWirelessSesExtIntr( unsigned short *pusValue )
2188 *pusValue = g_pCurrentBp->usExtIntrSesBtnWireless;
2190 if( g_pCurrentBp->usExtIntrSesBtnWireless != BP_NOT_DEFINED )
2196 nRet = BP_VALUE_NOT_DEFINED;
2201 *pusValue = BP_NOT_DEFINED;
2202 nRet = BP_BOARD_ID_NOT_SET;
2207 } /* BpGetWirelessSesExtIntr */
2209 /**************************************************************************
2210 * Name : BpGetWirelessSesLedGpio
2212 * Description: This function returns the GPIO pin assignment for the Wireless
2215 * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
2216 * Led GPIO pin is returned in.
2218 * Returns : BP_SUCCESS - Success, value is returned.
2219 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2220 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2222 ***************************************************************************/
2223 int BpGetWirelessSesLedGpio( unsigned short *pusValue )
2229 *pusValue = g_pCurrentBp->usGpioLedSesWireless;
2231 if( g_pCurrentBp->usGpioLedSesWireless != BP_NOT_DEFINED )
2237 nRet = BP_VALUE_NOT_DEFINED;
2242 *pusValue = BP_NOT_DEFINED;
2243 nRet = BP_BOARD_ID_NOT_SET;
2248 } /* BpGetWirelessSesLedGpio */
2250 /**************************************************************************
2251 * Name : BpGetUsbLedGpio
2253 * Description: This function returns the GPIO pin assignment for the USB
2256 * Parameters : [OUT] pusValue - Address of short word that the USB LED
2257 * GPIO pin is returned in.
2259 * Returns : BP_SUCCESS - Success, value is returned.
2260 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2261 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2263 ***************************************************************************/
2264 int BpGetUsbLedGpio( unsigned short *pusValue )
2270 *pusValue = g_pCurrentBp->usGpioLedUsb;
2272 if( g_pCurrentBp->usGpioLedUsb != BP_NOT_DEFINED )
2278 nRet = BP_VALUE_NOT_DEFINED;
2283 *pusValue = BP_NOT_DEFINED;
2284 nRet = BP_BOARD_ID_NOT_SET;
2288 } /* BpGetUsbLedGpio */
2290 /**************************************************************************
2291 * Name : BpGetHpnaLedGpio
2293 * Description: This function returns the GPIO pin assignment for the HPNA
2296 * Parameters : [OUT] pusValue - Address of short word that the HPNA LED
2297 * GPIO pin is returned in.
2299 * Returns : BP_SUCCESS - Success, value is returned.
2300 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2301 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2303 ***************************************************************************/
2304 int BpGetHpnaLedGpio( unsigned short *pusValue )
2310 *pusValue = g_pCurrentBp->usGpioLedHpna;
2312 if( g_pCurrentBp->usGpioLedHpna != BP_NOT_DEFINED )
2318 nRet = BP_VALUE_NOT_DEFINED;
2323 *pusValue = BP_NOT_DEFINED;
2324 nRet = BP_BOARD_ID_NOT_SET;
2328 } /* BpGetHpnaLedGpio */
2330 /**************************************************************************
2331 * Name : BpGetWanDataLedGpio
2333 * Description: This function returns the GPIO pin assignment for the WAN Data
2336 * Parameters : [OUT] pusValue - Address of short word that the WAN Data LED
2337 * GPIO pin is returned in.
2339 * Returns : BP_SUCCESS - Success, value is returned.
2340 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2341 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2343 ***************************************************************************/
2344 int BpGetWanDataLedGpio( unsigned short *pusValue )
2350 *pusValue = g_pCurrentBp->usGpioLedWanData;
2352 if( g_pCurrentBp->usGpioLedWanData != BP_NOT_DEFINED )
2358 nRet = BP_VALUE_NOT_DEFINED;
2363 *pusValue = BP_NOT_DEFINED;
2364 nRet = BP_BOARD_ID_NOT_SET;
2368 } /* BpGetWanDataLedGpio */
2370 /**************************************************************************
2371 * Name : BpGetPppLedGpio
2373 * Description: This function returns the GPIO pin assignment for the PPP
2376 * Parameters : [OUT] pusValue - Address of short word that the PPP LED
2377 * GPIO pin is returned in.
2379 * Returns : BP_SUCCESS - Success, value is returned.
2380 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2381 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2383 ***************************************************************************/
2384 int BpGetPppLedGpio( unsigned short *pusValue )
2390 *pusValue = g_pCurrentBp->usGpioLedPpp;
2392 if( g_pCurrentBp->usGpioLedPpp != BP_NOT_DEFINED )
2398 nRet = BP_VALUE_NOT_DEFINED;
2403 *pusValue = BP_NOT_DEFINED;
2404 nRet = BP_BOARD_ID_NOT_SET;
2408 } /* BpGetPppLedGpio */
2410 /**************************************************************************
2411 * Name : BpGetPppFailLedGpio
2413 * Description: This function returns the GPIO pin assignment for the PPP
2414 * LED that is used when there is a PPP connection failure.
2416 * Parameters : [OUT] pusValue - Address of short word that the PPP LED
2417 * GPIO pin is returned in.
2419 * Returns : BP_SUCCESS - Success, value is returned.
2420 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2421 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2423 ***************************************************************************/
2424 int BpGetPppFailLedGpio( unsigned short *pusValue )
2430 *pusValue = g_pCurrentBp->usGpioLedPppFail;
2432 if( g_pCurrentBp->usGpioLedPppFail != BP_NOT_DEFINED )
2438 nRet = BP_VALUE_NOT_DEFINED;
2443 *pusValue = BP_NOT_DEFINED;
2444 nRet = BP_BOARD_ID_NOT_SET;
2448 } /* BpGetPppFailLedGpio */
2450 /**************************************************************************
2451 * Name : BpGetBootloaderPowerOnLedGpio
2453 * Description: This function returns the GPIO pin assignment for the power
2454 * on LED that is set by the bootloader.
2456 * Parameters : [OUT] pusValue - Address of short word that the alarm LED
2457 * GPIO pin is returned in.
2459 * Returns : BP_SUCCESS - Success, value is returned.
2460 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2461 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2463 ***************************************************************************/
2464 int BpGetBootloaderPowerOnLedGpio( unsigned short *pusValue )
2470 *pusValue = g_pCurrentBp->usGpioLedBlPowerOn;
2472 if( g_pCurrentBp->usGpioLedBlPowerOn != BP_NOT_DEFINED )
2478 nRet = BP_VALUE_NOT_DEFINED;
2483 *pusValue = BP_NOT_DEFINED;
2484 nRet = BP_BOARD_ID_NOT_SET;
2488 } /* BpGetBootloaderPowerOn */
2490 /**************************************************************************
2491 * Name : BpGetBootloaderResetCfgLedGpio
2493 * Description: This function returns the GPIO pin assignment for the reset
2494 * configuration LED that is set by the bootloader.
2496 * Parameters : [OUT] pusValue - Address of short word that the reset
2497 * configuration LED GPIO pin is returned in.
2499 * Returns : BP_SUCCESS - Success, value is returned.
2500 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2501 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2503 ***************************************************************************/
2504 int BpGetBootloaderResetCfgLedGpio( unsigned short *pusValue )
2510 *pusValue = g_pCurrentBp->usGpioLedBlResetCfg;
2512 if( g_pCurrentBp->usGpioLedBlResetCfg != BP_NOT_DEFINED )
2518 nRet = BP_VALUE_NOT_DEFINED;
2523 *pusValue = BP_NOT_DEFINED;
2524 nRet = BP_BOARD_ID_NOT_SET;
2528 } /* BpGetBootloaderResetCfgLedGpio */
2530 /**************************************************************************
2531 * Name : BpGetBootloaderStopLedGpio
2533 * Description: This function returns the GPIO pin assignment for the break
2534 * into bootloader LED that is set by the bootloader.
2536 * Parameters : [OUT] pusValue - Address of short word that the break into
2537 * bootloader LED GPIO pin is returned in.
2539 * Returns : BP_SUCCESS - Success, value is returned.
2540 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2541 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2543 ***************************************************************************/
2544 int BpGetBootloaderStopLedGpio( unsigned short *pusValue )
2550 *pusValue = g_pCurrentBp->usGpioLedBlStop;
2552 if( g_pCurrentBp->usGpioLedBlStop != BP_NOT_DEFINED )
2558 nRet = BP_VALUE_NOT_DEFINED;
2563 *pusValue = BP_NOT_DEFINED;
2564 nRet = BP_BOARD_ID_NOT_SET;
2568 } /* BpGetBootloaderStopLedGpio */
2570 /**************************************************************************
2571 * Name : BpGetVoipLedGpio
2573 * Description: This function returns the GPIO pin assignment for the VOIP
2576 * Parameters : [OUT] pusValue - Address of short word that the VOIP LED
2577 * GPIO pin is returned in.
2579 * Returns : BP_SUCCESS - Success, value is returned.
2580 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2581 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2584 * Note : The VoIP structure would allow for having one LED per DSP
2585 * however, the board initialization function assumes only one
2586 * LED per functionality (ie one LED for VoIP). Therefore in
2587 * order to keep this tidy and simple we do not make usage of the
2588 * one-LED-per-DSP function. Instead, we assume that the LED for
2589 * VoIP is unique and associated with DSP 0 (always present on
2590 * any VoIP platform). If changing this to a LED-per-DSP function
2591 * then one need to update the board initialization driver in
2592 * bcmdrivers\opensource\char\board\bcm963xx\impl1
2593 ***************************************************************************/
2594 int BpGetVoipLedGpio( unsigned short *pusValue )
2600 VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( 0 );
2604 *pusValue = pDspInfo->usGpioLedVoip;
2606 if( *pusValue != BP_NOT_DEFINED )
2612 nRet = BP_VALUE_NOT_DEFINED;
2617 *pusValue = BP_NOT_DEFINED;
2618 nRet = BP_BOARD_ID_NOT_FOUND;
2623 *pusValue = BP_NOT_DEFINED;
2624 nRet = BP_BOARD_ID_NOT_SET;
2628 } /* BpGetVoipLedGpio */
2630 /**************************************************************************
2631 * Name : BpGetAdslDyingGaspExtIntr
2633 * Description: This function returns the ADSL Dying Gasp external interrupt
2636 * Parameters : [OUT] pulValue - Address of short word that the ADSL Dying Gasp
2637 * external interrupt number is returned in.
2639 * Returns : BP_SUCCESS - Success, value is returned.
2640 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2641 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2643 ***************************************************************************/
2644 int BpGetAdslDyingGaspExtIntr( unsigned long *pulValue )
2650 *pulValue = g_pCurrentBp->usExtIntrAdslDyingGasp;
2652 if( g_pCurrentBp->usExtIntrAdslDyingGasp != BP_NOT_DEFINED )
2658 nRet = BP_VALUE_NOT_DEFINED;
2663 *pulValue = BP_NOT_DEFINED;
2664 nRet = BP_BOARD_ID_NOT_SET;
2668 } /* BpGetAdslDyingGaspExtIntr */
2670 /**************************************************************************
2671 * Name : BpGetVoipExtIntr
2673 * Description: This function returns the VOIP external interrupt number.
2675 * Parameters : [OUT] pulValue - Address of short word that the VOIP
2676 * external interrupt number is returned in.
2677 * [IN] dspNum - Address of the DSP to query.
2679 * Returns : BP_SUCCESS - Success, value is returned.
2680 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2681 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2683 ***************************************************************************/
2684 int BpGetVoipExtIntr( unsigned char dspNum, unsigned long *pulValue )
2690 VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
2694 *pulValue = pDspInfo->usExtIntrVoip;
2696 if( *pulValue != BP_NOT_DEFINED )
2702 nRet = BP_VALUE_NOT_DEFINED;
2707 *pulValue = BP_NOT_DEFINED;
2708 nRet = BP_BOARD_ID_NOT_FOUND;
2713 *pulValue = BP_NOT_DEFINED;
2714 nRet = BP_BOARD_ID_NOT_SET;
2718 } /* BpGetVoipExtIntr */
2720 /**************************************************************************
2721 * Name : BpGetHpnaExtIntr
2723 * Description: This function returns the HPNA external interrupt number.
2725 * Parameters : [OUT] pulValue - Address of short word that the HPNA
2726 * external interrupt number is returned in.
2728 * Returns : BP_SUCCESS - Success, value is returned.
2729 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2730 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2732 ***************************************************************************/
2733 int BpGetHpnaExtIntr( unsigned long *pulValue )
2739 *pulValue = g_pCurrentBp->usExtIntrHpna;
2741 if( g_pCurrentBp->usExtIntrHpna != BP_NOT_DEFINED )
2747 nRet = BP_VALUE_NOT_DEFINED;
2752 *pulValue = BP_NOT_DEFINED;
2753 nRet = BP_BOARD_ID_NOT_SET;
2757 } /* BpGetHpnaExtIntr */
2759 /**************************************************************************
2760 * Name : BpGetHpnaChipSelect
2762 * Description: This function returns the HPNA chip select number.
2764 * Parameters : [OUT] pulValue - Address of short word that the HPNA
2765 * chip select number is returned in.
2767 * Returns : BP_SUCCESS - Success, value is returned.
2768 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2769 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2771 ***************************************************************************/
2772 int BpGetHpnaChipSelect( unsigned long *pulValue )
2778 *pulValue = g_pCurrentBp->usCsHpna;
2780 if( g_pCurrentBp->usCsHpna != BP_NOT_DEFINED )
2786 nRet = BP_VALUE_NOT_DEFINED;
2791 *pulValue = BP_NOT_DEFINED;
2792 nRet = BP_BOARD_ID_NOT_SET;
2796 } /* BpGetHpnaChipSelect */
2798 /**************************************************************************
2799 * Name : BpGetVoipChipSelect
2801 * Description: This function returns the VOIP chip select number.
2803 * Parameters : [OUT] pulValue - Address of short word that the VOIP
2804 * chip select number is returned in.
2805 * [IN] dspNum - Address of the DSP to query.
2807 * Returns : BP_SUCCESS - Success, value is returned.
2808 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2809 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2811 ***************************************************************************/
2812 int BpGetVoipChipSelect( unsigned char dspNum, unsigned long *pulValue )
2818 VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
2822 *pulValue = pDspInfo->usCsVoip;
2824 if( *pulValue != BP_NOT_DEFINED )
2830 nRet = BP_VALUE_NOT_DEFINED;
2835 *pulValue = BP_NOT_DEFINED;
2836 nRet = BP_BOARD_ID_NOT_FOUND;
2841 *pulValue = BP_NOT_DEFINED;
2842 nRet = BP_BOARD_ID_NOT_SET;
2846 } /* BpGetVoipChipSelect */
2848 /**************************************************************************
2849 * Name : BpGetCMTThread
2851 * Description: This function returns CMT thread number to run main code
2853 * Parameters : [OUT] pulValue - CMT thread number to run main code
2855 * Returns : BP_SUCCESS - Success, value is returned.
2856 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2857 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2859 ***************************************************************************/
2860 int BpGetCMTThread( unsigned long *pulValue )
2866 *pulValue = g_pCurrentBp->usCMTThead;
2868 if( g_pCurrentBp->usCMTThead != BP_NOT_DEFINED )
2874 nRet = BP_VALUE_NOT_DEFINED;
2879 *pulValue = BP_NOT_DEFINED;
2880 nRet = BP_BOARD_ID_NOT_SET;
2884 } /* BpGetCMTThread */
2887 /**************************************************************************
2888 * Name : BpGetVcopeGpio
2890 * Description: This function returns the GPIO number of VCOPE board
2892 * Parameters : [OUT] - GPIO index (name)
2894 * Returns : pin number - Success
2895 * BP_NOT_DEFINED - any kind of Error
2896 ***************************************************************************/
2897 int BpGetVcopeGpio (int pio_idx)
2899 int nRet = BP_SUCCESS;
2903 if( pio_idx == BCM6505_RESET_GPIO )
2904 nRet = g_pCurrentBp->usVcopeResetGpio;
2905 else if( pio_idx == VCOPE_RELAY_GPIO)
2906 nRet = g_pCurrentBp->usVcopeRelayGpio;
2907 else if( pio_idx == HPI_CS )
2908 nRet = g_pCurrentBp->usCsHpi;
2909 else if( pio_idx == VCOPE_BOARD_REV )
2910 nRet = g_pCurrentBp->usVcopeBoardRev;
2912 nRet = BP_NOT_DEFINED;
2915 nRet = BP_NOT_DEFINED;
2920 /**************************************************************************
2921 * Name : BpGetPressAndHoldResetExtIntr
2923 * Description: This function returns the external interrupt number for the
2924 * Press and Hold Reset button.
2926 * Parameters : [OUT] pusValue - Address of short word that the Press and
2927 * Hold Reset external interrupt is returned in.
2929 * Returns : BP_SUCCESS - Success, value is returned.
2930 * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2931 * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2933 ***************************************************************************/
2934 int BpGetPressAndHoldResetExtIntr( unsigned short *pusValue )
2940 *pusValue = g_pCurrentBp->usExtIntrPressAndHoldReset;
2942 if( g_pCurrentBp->usExtIntrPressAndHoldReset != BP_NOT_DEFINED )
2948 nRet = BP_VALUE_NOT_DEFINED;
2953 *pusValue = BP_NOT_DEFINED;
2954 nRet = BP_BOARD_ID_NOT_SET;
2959 } /* BpGetPressAndHoldResetExtIntr */
2961 // Afterburner patch
2962 int BpUpdateWirelessSromMap(unsigned short chipID, unsigned short *pBase, int sizeInWords)
2964 return BP_BOARD_ID_NOT_FOUND;