1 diff -Naurp linux-2.6.16.7-generic-patched/boardparms/bcm963xx/Makefile linux-2.6.16.7-patched/boardparms/bcm963xx/Makefile
2 --- linux-2.6.16.7-generic-patched/boardparms/bcm963xx/Makefile 1970-01-01 01:00:00.000000000 +0100
3 +++ linux-2.6.16.7-patched/boardparms/bcm963xx/Makefile 2006-07-05 15:21:58.000000000 +0200
6 +ifeq ($(CONFIG_MIPS_BRCM),y)
10 +EXTRA_CFLAGS += -DCONFIG_BCM9$(BRCM_CHIP)
11 +-include $(TOPDIR)/Rules.make
16 +BSPOBJS += boardparms.o
21 diff -Naurp linux-2.6.16.7-generic-patched/boardparms/bcm963xx/boardparms.c linux-2.6.16.7-patched/boardparms/bcm963xx/boardparms.c
22 --- linux-2.6.16.7-generic-patched/boardparms/bcm963xx/boardparms.c 1970-01-01 01:00:00.000000000 +0100
23 +++ linux-2.6.16.7-patched/boardparms/bcm963xx/boardparms.c 2006-07-05 15:21:58.000000000 +0200
28 + Copyright 2003 Broadcom Corp. All Rights Reserved.
30 + This program is free software; you can distribute it and/or modify it
31 + under the terms of the GNU General Public License (Version 2) as
32 + published by the Free Software Foundation.
34 + This program is distributed in the hope it will be useful, but WITHOUT
35 + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
36 + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
39 + You should have received a copy of the GNU General Public License along
40 + with this program; if not, write to the Free Software Foundation, Inc.,
41 + 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
45 +/**************************************************************************
46 + * File Name : boardparms.c
48 + * Description: This file contains the implementation for the BCM63xx board
49 + * parameter access functions.
51 + * Updates : 07/14/2003 Created.
52 + ***************************************************************************/
55 +#include <linux/config.h>
56 +#include "boardparms.h"
60 +/* Default psi size in K bytes */
61 +#define BP_PSI_DEFAULT_SIZE 24
64 +typedef struct boardparameters
66 + char szBoardId[BP_BOARD_ID_LEN]; /* board id string */
67 + ETHERNET_MAC_INFO EnetMacInfos[BP_MAX_ENET_MACS];
68 + VOIP_DSP_INFO VoIPDspInfo[BP_MAX_VOIP_DSP];
69 + unsigned short usSdramSize; /* SDRAM size and type */
70 + unsigned short usPsiSize; /* persistent storage in K bytes */
71 + unsigned short usGpioRj11InnerPair; /* GPIO pin or not defined */
72 + unsigned short usGpioRj11OuterPair; /* GPIO pin or not defined */
73 + unsigned short usGpioPressAndHoldReset; /* GPIO pin or not defined */
74 + unsigned short usGpioPcmciaReset; /* GPIO pin or not defined */
75 + unsigned short usGpioUartRts; /* GPIO pin or not defined */
76 + unsigned short usGpioUartCts; /* GPIO pin or not defined */
77 + unsigned short usGpioLedAdsl; /* GPIO pin or not defined */
78 + unsigned short usGpioLedAdslFail; /* GPIO pin or not defined */
79 + unsigned short usGpioLedWireless; /* GPIO pin or not defined */
80 + unsigned short usGpioLedUsb; /* GPIO pin or not defined */
81 + unsigned short usGpioLedHpna; /* GPIO pin or not defined */
82 + unsigned short usGpioLedWanData; /* GPIO pin or not defined */
83 + unsigned short usGpioLedPpp; /* GPIO pin or not defined */
84 + unsigned short usGpioLedPppFail; /* GPIO pin or not defined */
85 + unsigned short usGpioLedBlPowerOn; /* GPIO pin or not defined */
86 + unsigned short usGpioLedBlAlarm; /* GPIO pin or not defined */
87 + unsigned short usGpioLedBlResetCfg; /* GPIO pin or not defined */
88 + unsigned short usGpioLedBlStop; /* GPIO pin or not defined */
89 + unsigned short usExtIntrWireless; /* ext intr or not defined */
90 + unsigned short usExtIntrAdslDyingGasp; /* ext intr or not defined */
91 + unsigned short usExtIntrHpna; /* ext intr or not defined */
92 + unsigned short usCsHpna; /* chip select not defined */
93 + unsigned short usAntInUseWireless; /* antenna in use or not defined */
94 + unsigned short usGpioSesBtnWireless; /* GPIO pin or not defined */
95 + unsigned short usExtIntrSesBtnWireless; /* ext intr or not defined */
96 + unsigned short usGpioLedSesWireless; /* GPIO pin or not defined */
97 +} BOARD_PARAMETERS, *PBOARD_PARAMETERS;
100 +#if defined(_BCM96338_) || defined(CONFIG_BCM96338)
101 +static BOARD_PARAMETERS g_bcm96338sv =
103 + "96338SV", /* szBoardId */
104 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
105 + 0x01, /* ucPhyAddress */
106 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
107 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
108 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
109 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
110 + BP_NOT_DEFINED, /* usGpioPhyReset */
111 + 0x01, /* numSwitchPorts */
112 + BP_ENET_CONFIG_MDIO, /* usConfigType */
113 + BP_NOT_DEFINED}, /* usReverseMii */
114 + {BP_ENET_NO_PHY}}, /* ucPhyType */
115 + {{BP_VOIP_NO_DSP}, /* ucDspType */
116 + {BP_VOIP_NO_DSP}}, /* ucDspType */
117 + BP_MEMORY_16MB_1_CHIP, /* usSdramSize */
118 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
119 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
120 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
121 + BP_NOT_DEFINED, /* usGpioPressAndHoldReset */
122 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
123 + BP_NOT_DEFINED, /* usGpioUartRts */
124 + BP_NOT_DEFINED, /* usGpioUartCts */
125 + BP_NOT_DEFINED, /* usGpioLedAdsl */
126 + BP_NOT_DEFINED, /* usGpioLedAdslFail */
127 + BP_NOT_DEFINED, /* usGpioLedWireless */
128 + BP_NOT_DEFINED, /* usGpioLedUsb */
129 + BP_NOT_DEFINED, /* usGpioLedHpna */
130 + BP_NOT_DEFINED, /* usGpioLedWanData */
131 + BP_NOT_DEFINED, /* usGpioLedPpp */
132 + BP_NOT_DEFINED, /* usGpioLedPppFail */
133 + BP_NOT_DEFINED, /* usGpioLedBlPowerOn */
134 + BP_NOT_DEFINED, /* usGpioLedBlAlarm */
135 + BP_NOT_DEFINED, /* usGpioLedBlResetCfg */
136 + BP_NOT_DEFINED, /* usGpioLedBlStop */
137 + BP_NOT_DEFINED, /* usExtIntrWireless */
138 + BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
139 + BP_NOT_DEFINED, /* usExtIntrHpna */
140 + BP_NOT_DEFINED, /* usCsHpna */
141 + BP_NOT_DEFINED, /* usAntInUseWireless */
142 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
143 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
144 + BP_NOT_DEFINED /* usGpioLedSesWireless */
146 +static BOARD_PARAMETERS g_bcm96338l2m8m =
148 + "96338L-2M-8M", /* szBoardId */
149 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
150 + 0x01, /* ucPhyAddress */
151 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
152 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
153 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
154 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
155 + BP_NOT_DEFINED, /* usGpioPhyReset */
156 + 0x01, /* numSwitchPorts */
157 + BP_ENET_CONFIG_MDIO, /* usConfigType */
158 + BP_NOT_DEFINED}, /* usReverseMii */
159 + {BP_ENET_NO_PHY}}, /* ucPhyType */
160 + {{BP_VOIP_NO_DSP}, /* ucDspType */
161 + {BP_VOIP_NO_DSP}}, /* ucDspType */
162 + BP_MEMORY_8MB_1_CHIP, /* usSdramSize */
163 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
164 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
165 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
166 + BP_NOT_DEFINED, /* usGpioPressAndHoldReset */
167 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
168 + BP_NOT_DEFINED, /* usGpioUartRts */
169 + BP_NOT_DEFINED, /* usGpioUartCts */
170 + BP_NOT_DEFINED, /* usGpioLedAdsl */
171 + BP_GPIO_2_AL, /* usGpioLedAdslFail */
172 + BP_NOT_DEFINED, /* usGpioLedWireless */
173 + BP_NOT_DEFINED, /* usGpioLedUsb */
174 + BP_NOT_DEFINED, /* usGpioLedHpna */
175 + BP_GPIO_3_AL, /* usGpioLedWanData */
176 + BP_GPIO_3_AL, /* usGpioLedPpp */
177 + BP_GPIO_4_AL, /* usGpioLedPppFail */
178 + BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
179 + BP_NOT_DEFINED, /* usGpioLedBlAlarm */
180 + BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
181 + BP_GPIO_1_AL, /* usGpioLedBlStop */
182 + BP_NOT_DEFINED, /* usExtIntrWireless */
183 + BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
184 + BP_NOT_DEFINED, /* usExtIntrHpna */
185 + BP_NOT_DEFINED, /* usCsHpna */
186 + BP_NOT_DEFINED, /* usAntInUseWireless */
187 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
188 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
189 + BP_NOT_DEFINED /* usGpioLedSesWireless */
191 +static PBOARD_PARAMETERS g_BoardParms[] =
192 + {&g_bcm96338sv, &g_bcm96338l2m8m, 0};
195 +#if defined(_BCM96345_) || defined(CONFIG_BCM96345)
196 +static BOARD_PARAMETERS g_bcm96345r =
198 + "96345R", /* szBoardId */
199 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
200 + 0x01, /* ucPhyAddress */
201 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
202 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
203 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
204 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
205 + BP_NOT_DEFINED, /* usGpioPhyReset */
206 + 0x01, /* numSwitchPorts */
207 + BP_ENET_CONFIG_MDIO, /* usConfigType */
208 + BP_NOT_DEFINED}, /* usReverseMii */
209 + {BP_ENET_NO_PHY}}, /* ucPhyType */
210 + {{BP_VOIP_NO_DSP}, /* ucDspType */
211 + {BP_VOIP_NO_DSP}}, /* ucDspType */
212 + BP_MEMORY_8MB_1_CHIP, /* usSdramSize */
213 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
214 + BP_GPIO_11_AH, /* usGpioRj11InnerPair */
215 + BP_GPIO_12_AH, /* usGpioRj11OuterPair */
216 + BP_GPIO_13_AH, /* usGpioPressAndHoldReset */
217 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
218 + BP_NOT_DEFINED, /* usGpioUartRts */
219 + BP_NOT_DEFINED, /* usGpioUartCts */
220 + BP_GPIO_8_AH, /* usGpioLedAdsl */
221 + BP_NOT_DEFINED, /* usGpioLedAdslFail */
222 + BP_NOT_DEFINED, /* usGpioLedWireless */
223 + BP_NOT_DEFINED, /* usGpioLedUsb */
224 + BP_NOT_DEFINED, /* usGpioLedHpna */
225 + BP_GPIO_8_AH, /* usGpioLedWanData */
226 + BP_GPIO_9_AH, /* usGpioLedPpp */
227 + BP_NOT_DEFINED, /* usGpioLedPppFail */
228 + BP_NOT_DEFINED, /* usGpioLedBlPowerOn */
229 + BP_GPIO_10_AH, /* usGpioLedBlAlarm */
230 + BP_GPIO_9_AH, /* usGpioLedBlResetCfg */
231 + BP_GPIO_8_AH, /* usGpioLedBlStop */
232 + BP_NOT_DEFINED, /* usExtIntrWireless */
233 + BP_EXT_INTR_0, /* usExtIntrAdslDyingGasp */
234 + BP_NOT_DEFINED, /* usExtIntrHpna */
235 + BP_NOT_DEFINED, /* usCsHpna */
236 + BP_NOT_DEFINED, /* usAntInUseWireless */
237 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
238 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
239 + BP_NOT_DEFINED /* usGpioLedSesWireless */
242 +static BOARD_PARAMETERS g_bcm96345gw2 =
244 + /* A hardware jumper determines whether GPIO 13 is used for Press and Hold
247 + "96345GW2", /* szBoardId */
248 + {{BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
249 + 0x00, /* ucPhyAddress */
250 + BP_GPIO_0_AH, /* usGpioPhySpiSck */
251 + BP_GPIO_4_AH, /* usGpioPhySpiSs */
252 + BP_GPIO_12_AH, /* usGpioPhySpiMosi */
253 + BP_GPIO_11_AH, /* usGpioPhySpiMiso */
254 + BP_NOT_DEFINED, /* usGpioPhyReset */
255 + 0x04, /* numSwitchPorts */
256 + BP_ENET_CONFIG_GPIO, /* usConfigType */
257 + BP_ENET_REVERSE_MII}, /* usReverseMii */
258 + {BP_ENET_NO_PHY}}, /* ucPhyType */
259 + {{BP_VOIP_DSP, /* ucDspType */
260 + 0x00, /* ucDspAddress */
261 + BP_EXT_INTR_1, /* usExtIntrVoip */
262 + BP_GPIO_6_AH, /* usGpioVoipReset */
263 + BP_GPIO_15_AH, /* usGpioVoipIntr */
264 + BP_NOT_DEFINED, /* usGpioLedVoip */
265 + BP_CS_2}, /* usCsVoip */
266 + {BP_VOIP_NO_DSP}}, /* ucDspType */
267 + BP_MEMORY_16MB_1_CHIP, /* usSdramSize */
268 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
269 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
270 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
271 + BP_GPIO_13_AH, /* usGpioPressAndHoldReset */
272 + BP_GPIO_2_AH, /* usGpioPcmciaReset */
273 + BP_GPIO_13_AH, /* usGpioUartRts */
274 + BP_GPIO_9_AH, /* usGpioUartCts */
275 + BP_GPIO_8_AH, /* usGpioLedAdsl */
276 + BP_NOT_DEFINED, /* usGpioLedAdslFail */
277 + BP_NOT_DEFINED, /* usGpioLedWireless */
278 + BP_GPIO_7_AH, /* usGpioLedUsb */
279 + BP_NOT_DEFINED, /* usGpioLedHpna */
280 + BP_GPIO_8_AH, /* usGpioLedWanData */
281 + BP_NOT_DEFINED, /* usGpioLedPpp */
282 + BP_NOT_DEFINED, /* usGpioLedPppFail */
283 + BP_NOT_DEFINED, /* usGpioLedBlPowerOn */
284 + BP_GPIO_10_AH, /* usGpioLedBlAlarm */
285 + BP_GPIO_7_AH, /* usGpioLedBlResetCfg */
286 + BP_GPIO_8_AH, /* usGpioLedBlStop */
287 + BP_EXT_INTR_2, /* usExtIntrWireless */
288 + BP_EXT_INTR_0, /* usExtIntrAdslDyingGasp */
289 + BP_NOT_DEFINED, /* usExtIntrHpna */
290 + BP_NOT_DEFINED, /* usCsHpna */
291 + BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
292 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
293 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
294 + BP_NOT_DEFINED /* usGpioLedSesWireless */
297 +static BOARD_PARAMETERS g_bcm96345gw =
299 + "96345GW", /* szBoardId */
300 + {{BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
301 + 0x00, /* ucPhyAddress */
302 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
303 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
304 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
305 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
306 + BP_NOT_DEFINED, /* usGpioPhyReset */
307 + 0x04, /* numSwitchPorts */
308 + BP_ENET_CONFIG_MDIO, /* usConfigType */
309 + BP_ENET_NO_REVERSE_MII}, /* usReverseMii */
310 + {BP_ENET_NO_PHY}}, /* ucPhyType */
311 + {{BP_VOIP_DSP, /* ucDspType */
312 + 0x00, /* ucDspAddress */
313 + BP_EXT_INTR_1, /* usExtIntrVoip */
314 + BP_GPIO_6_AH, /* usGpioVoipReset */
315 + BP_GPIO_15_AH, /* usGpioVoipIntr */
316 + BP_NOT_DEFINED, /* usGpioLedVoip */
317 + BP_CS_2}, /* usCsVoip */
318 + {BP_VOIP_NO_DSP}}, /* ucDspType */
319 + BP_MEMORY_16MB_1_CHIP, /* usSdramSize */
320 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
321 + BP_GPIO_11_AH, /* usGpioRj11InnerPair */
322 + BP_GPIO_1_AH, /* usGpioRj11OuterPair */
323 + BP_GPIO_13_AH, /* usGpioPressAndHoldReset */
324 + BP_GPIO_2_AH, /* usGpioPcmciaReset */
325 + BP_NOT_DEFINED, /* usGpioUartRts */
326 + BP_NOT_DEFINED, /* usGpioUartCts */
327 + BP_GPIO_8_AH, /* usGpioLedAdsl */
328 + BP_NOT_DEFINED, /* usGpioLedAdslFail */
329 + BP_GPIO_10_AH, /* usGpioLedWireless */
330 + BP_GPIO_7_AH, /* usGpioLedUsb */
331 + BP_NOT_DEFINED, /* usGpioLedHpna */
332 + BP_GPIO_8_AH, /* usGpioLedWanData */
333 + BP_NOT_DEFINED, /* usGpioLedPpp */
334 + BP_NOT_DEFINED, /* usGpioLedPppFail */
335 + BP_NOT_DEFINED, /* usGpioLedBlPowerOn */
336 + BP_GPIO_9_AH, /* usGpioLedBlAlarm */
337 + BP_GPIO_10_AH, /* usGpioLedBlResetCfg */
338 + BP_GPIO_8_AH, /* usGpioLedBlStop */
339 + BP_EXT_INTR_2, /* usExtIntrWireless */
340 + BP_EXT_INTR_0, /* usExtIntrAdslDyingGasp */
341 + BP_EXT_INTR_3, /* usExtIntrHpna */
342 + BP_CS_1, /* usCsHpna */
343 + BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
344 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
345 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
346 + BP_NOT_DEFINED /* usGpioLedSesWireless */
349 +static BOARD_PARAMETERS g_bcm96335r =
351 + "96335R", /* szBoardId */
352 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
353 + 0x01, /* ucPhyAddress */
354 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
355 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
356 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
357 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
358 + BP_NOT_DEFINED, /* usGpioPhyReset */
359 + 0x01, /* numSwitchPorts */
360 + BP_ENET_CONFIG_MDIO, /* usConfigType */
361 + BP_NOT_DEFINED}, /* usReverseMii */
362 + {BP_ENET_NO_PHY}}, /* ucPhyType */
363 + {{BP_VOIP_NO_DSP}, /* ucDspType */
364 + {BP_VOIP_NO_DSP}}, /* ucDspType */
365 + BP_MEMORY_8MB_1_CHIP, /* usSdramSize */
366 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
367 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
368 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
369 + BP_GPIO_14_AH, /* usGpioPressAndHoldReset */
370 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
371 + BP_NOT_DEFINED, /* usGpioUartRts */
372 + BP_NOT_DEFINED, /* usGpioUartCts */
373 + BP_GPIO_9_AH, /* usGpioLedAdsl */
374 + BP_NOT_DEFINED, /* usGpioLedAdslFail */
375 + BP_NOT_DEFINED, /* usGpioLedWireless */
376 + BP_NOT_DEFINED, /* usGpioLedUsb */
377 + BP_NOT_DEFINED, /* usGpioLedHpna */
378 + BP_GPIO_9_AH, /* usGpioLedWanData */
379 + BP_GPIO_8_AH, /* usGpioLedPpp */
380 + BP_NOT_DEFINED, /* usGpioLedPppFail */
381 + BP_NOT_DEFINED, /* usGpioLedBlPowerOn */
382 + BP_GPIO_10_AH, /* usGpioLedBlAlarm */
383 + BP_GPIO_8_AH, /* usGpioLedBlResetCfg */
384 + BP_GPIO_9_AH, /* usGpioLedBlStop */
385 + BP_NOT_DEFINED, /* usExtIntrWireless */
386 + BP_NOT_DEFINED, /* usExtIntrAdslDyingGasp */
387 + BP_NOT_DEFINED, /* usExtIntrHpna */
388 + BP_NOT_DEFINED, /* usCsHpna */
389 + BP_NOT_DEFINED, /* usAntInUseWireless */
390 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
391 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
392 + BP_NOT_DEFINED /* usGpioLedSesWireless */
395 +static BOARD_PARAMETERS g_bcm96345r0 =
397 + "96345R0", /* szBoardId */
398 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
399 + 0x01, /* ucPhyAddress */
400 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
401 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
402 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
403 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
404 + BP_NOT_DEFINED, /* usGpioPhyReset */
405 + 0x01, /* numSwitchPorts */
406 + BP_ENET_CONFIG_MDIO, /* usConfigType */
407 + BP_NOT_DEFINED}, /* usReverseMii */
408 + {BP_ENET_NO_PHY}}, /* ucPhyType */
409 + {{BP_VOIP_NO_DSP}, /* ucDspType */
410 + {BP_VOIP_NO_DSP}}, /* ucDspType */
411 + BP_MEMORY_8MB_1_CHIP, /* usSdramSize */
412 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
413 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
414 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
415 + BP_NOT_DEFINED, /* usGpioPressAndHoldReset */
416 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
417 + BP_NOT_DEFINED, /* usGpioUartRts */
418 + BP_NOT_DEFINED, /* usGpioUartCts */
419 + BP_GPIO_8_AH, /* usGpioLedAdsl */
420 + BP_NOT_DEFINED, /* usGpioLedAdslFail */
421 + BP_NOT_DEFINED, /* usGpioLedWireless */
422 + BP_NOT_DEFINED, /* usGpioLedUsb */
423 + BP_NOT_DEFINED, /* usGpioLedHpna */
424 + BP_GPIO_9_AH, /* usGpioLedWanData */
425 + BP_GPIO_9_AH, /* usGpioLedPpp */
426 + BP_NOT_DEFINED, /* usGpioLedPppFail */
427 + BP_NOT_DEFINED, /* usGpioLedBlPowerOn */
428 + BP_GPIO_9_AH, /* usGpioLedBlAlarm */
429 + BP_GPIO_8_AH, /* usGpioLedBlResetCfg */
430 + BP_GPIO_8_AH, /* usGpioLedBlStop */
431 + BP_NOT_DEFINED, /* usExtIntrWireless */
432 + BP_NOT_DEFINED, /* usExtIntrAdslDyingGasp */
433 + BP_NOT_DEFINED, /* usExtIntrHpna */
434 + BP_NOT_DEFINED, /* usCsHpna */
435 + BP_NOT_DEFINED, /* usAntInUseWireless */
436 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
437 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
438 + BP_NOT_DEFINED /* usGpioLedSesWireless */
441 +static BOARD_PARAMETERS g_bcm96345rs =
443 + "96345RS", /* szBoardId */
444 + {{BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
445 + 0x00, /* ucPhyAddress */
446 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
447 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
448 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
449 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
450 + BP_NOT_DEFINED, /* usGpioPhyReset */
451 + 0x01, /* numSwitchPorts */
452 + BP_ENET_CONFIG_MDIO, /* usConfigType */
453 + BP_ENET_NO_REVERSE_MII}, /* usReverseMii */
454 + {BP_ENET_NO_PHY}}, /* ucPhyType */
455 + {{BP_VOIP_NO_DSP}, /* ucDspType */
456 + {BP_VOIP_NO_DSP}}, /* ucDspType */
457 + BP_MEMORY_8MB_1_CHIP, /* usSdramSize */
458 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
459 + BP_GPIO_11_AH, /* usGpioRj11InnerPair */
460 + BP_GPIO_12_AH, /* usGpioRj11OuterPair */
461 + BP_GPIO_13_AH, /* usGpioPressAndHoldReset */
462 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
463 + BP_NOT_DEFINED, /* usGpioUartRts */
464 + BP_NOT_DEFINED, /* usGpioUartCts */
465 + BP_GPIO_8_AH, /* usGpioLedAdsl */
466 + BP_NOT_DEFINED, /* usGpioLedAdslFail */
467 + BP_NOT_DEFINED, /* usGpioLedWireless */
468 + BP_NOT_DEFINED, /* usGpioLedUsb */
469 + BP_NOT_DEFINED, /* usGpioLedHpna */
470 + BP_GPIO_8_AH, /* usGpioLedWanData */
471 + BP_GPIO_9_AH, /* usGpioLedPpp */
472 + BP_NOT_DEFINED, /* usGpioLedPppFail */
473 + BP_NOT_DEFINED, /* usGpioLedBlPowerOn */
474 + BP_GPIO_10_AH, /* usGpioLedBlAlarm */
475 + BP_GPIO_9_AH, /* usGpioLedBlResetCfg */
476 + BP_GPIO_8_AH, /* usGpioLedBlStop */
477 + BP_NOT_DEFINED, /* usExtIntrWireless */
478 + BP_EXT_INTR_0, /* usExtIntrAdslDyingGasp */
479 + BP_NOT_DEFINED, /* usExtIntrHpna */
480 + BP_NOT_DEFINED, /* usCsHpna */
481 + BP_NOT_DEFINED, /* usAntInUseWireless */
482 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
483 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
484 + BP_NOT_DEFINED /* usGpioLedSesWireless */
487 +static PBOARD_PARAMETERS g_BoardParms[] =
488 + {&g_bcm96345r, &g_bcm96345gw2, &g_bcm96345gw, &g_bcm96335r, &g_bcm96345r0,
492 +#if defined(_BCM96348_) || defined(CONFIG_BCM96348)
494 +static BOARD_PARAMETERS g_bcm96348r =
496 + "96348R", /* szBoardId */
497 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
498 + 0x01, /* ucPhyAddress */
499 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
500 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
501 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
502 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
503 + BP_NOT_DEFINED, /* usGpioPhyReset */
504 + 0x01, /* numSwitchPorts */
505 + BP_ENET_CONFIG_MDIO, /* usConfigType */
506 + BP_NOT_DEFINED}, /* usReverseMii */
507 + {BP_ENET_NO_PHY}}, /* ucPhyType */
508 + {{BP_VOIP_NO_DSP}, /* ucDspType */
509 + {BP_VOIP_NO_DSP}}, /* ucDspType */
510 + BP_MEMORY_8MB_1_CHIP, /* usSdramSize */
511 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
512 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
513 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
514 + BP_GPIO_7_AH, /* usGpioPressAndHoldReset */
515 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
516 + BP_NOT_DEFINED, /* usGpioUartRts */
517 + BP_NOT_DEFINED, /* usGpioUartCts */
518 + BP_NOT_DEFINED, /* usGpioLedAdsl */
519 + BP_GPIO_2_AL, /* usGpioLedAdslFail */
520 + BP_NOT_DEFINED, /* usGpioLedWireless */
521 + BP_NOT_DEFINED, /* usGpioLedUsb */
522 + BP_NOT_DEFINED, /* usGpioLedHpna */
523 + BP_GPIO_3_AL, /* usGpioLedWanData */
524 + BP_GPIO_3_AL, /* usGpioLedPpp */
525 + BP_GPIO_4_AL, /* usGpioLedPppFail */
526 + BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
527 + BP_NOT_DEFINED, /* usGpioLedBlAlarm */
528 + BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
529 + BP_GPIO_1_AL, /* usGpioLedBlStop */
530 + BP_NOT_DEFINED, /* usExtIntrWireless */
531 + BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
532 + BP_NOT_DEFINED, /* usExtIntrHpna */
533 + BP_NOT_DEFINED, /* usCsHpna */
534 + BP_NOT_DEFINED, /* usAntInUseWireless */
535 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
536 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
537 + BP_NOT_DEFINED /* usGpioLedSesWireless */
540 +static BOARD_PARAMETERS g_bcm96348lv =
542 + "96348LV", /* szBoardId */
543 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
544 + 0x01, /* ucPhyAddress */
545 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
546 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
547 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
548 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
549 + BP_NOT_DEFINED, /* usGpioPhyReset */
550 + 0x01, /* numSwitchPorts */
551 + BP_ENET_CONFIG_MDIO, /* usConfigType */
552 + BP_NOT_DEFINED}, /* usReverseMii */
553 + {BP_ENET_EXTERNAL_PHY, /* ucPhyType */
554 + 0x02, /* ucPhyAddress */
555 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
556 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
557 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
558 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
559 + BP_GPIO_5_AL, /* usGpioPhyReset */
560 + 0x01, /* numSwitchPorts */
561 + BP_ENET_CONFIG_MDIO, /* usConfigType */
562 + BP_NOT_DEFINED}}, /* usReverseMii */
563 + {{BP_VOIP_NO_DSP}, /* ucDspType */
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_7_AH, /* usGpioPressAndHoldReset */
570 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
571 + BP_NOT_DEFINED, /* usGpioUartRts */
572 + BP_NOT_DEFINED, /* usGpioUartCts */
573 + BP_NOT_DEFINED, /* usGpioLedAdsl */
574 + BP_GPIO_2_AL, /* usGpioLedAdslFail */
575 + BP_NOT_DEFINED, /* usGpioLedWireless */
576 + BP_NOT_DEFINED, /* usGpioLedUsb */
577 + BP_NOT_DEFINED, /* usGpioLedHpna */
578 + BP_GPIO_3_AL, /* usGpioLedWanData */
579 + BP_GPIO_3_AL, /* usGpioLedPpp */
580 + BP_GPIO_4_AL, /* usGpioLedPppFail */
581 + BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
582 + BP_NOT_DEFINED, /* usGpioLedBlAlarm */
583 + BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
584 + BP_GPIO_1_AL, /* usGpioLedBlStop */
585 + BP_NOT_DEFINED, /* usExtIntrWireless */
586 + BP_NOT_DEFINED, /* usExtIntrAdslDyingGasp */
587 + BP_NOT_DEFINED, /* usExtIntrHpna */
588 + BP_NOT_DEFINED, /* usCsHpna */
589 + BP_NOT_DEFINED, /* usAntInUseWireless */
590 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
591 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
592 + BP_NOT_DEFINED /* usGpioLedSesWireless */
595 +static BOARD_PARAMETERS g_bcm96348gw =
597 + "96348GW", /* szBoardId */
598 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
599 + 0x01, /* ucPhyAddress */
600 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
601 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
602 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
603 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
604 + BP_NOT_DEFINED, /* usGpioPhyReset */
605 + 0x01, /* numSwitchPorts */
606 + BP_ENET_CONFIG_MDIO, /* usConfigType */
607 + BP_NOT_DEFINED}, /* usReverseMii */
608 + {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
609 + 0x00, /* ucPhyAddress */
610 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
611 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
612 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
613 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
614 + BP_NOT_DEFINED, /* usGpioPhyReset */
615 + 0x03, /* numSwitchPorts */
616 + BP_ENET_CONFIG_SPI_SSB_0, /* usConfigType */
617 + BP_ENET_REVERSE_MII}}, /* usReverseMii */
618 + {{BP_VOIP_DSP, /* ucDspType */
619 + 0x00, /* ucDspAddress */
620 + BP_EXT_INTR_2, /* usExtIntrVoip */
621 + BP_GPIO_6_AH, /* usGpioVoipReset */
622 + BP_GPIO_34_AH, /* usGpioVoipIntr */
623 + BP_NOT_DEFINED, /* usGpioLedVoip */
624 + BP_CS_2}, /* usCsVoip */
625 + {BP_VOIP_NO_DSP}}, /* ucDspType */
626 + BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
627 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
628 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
629 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
630 + BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
631 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
632 + BP_NOT_DEFINED, /* usGpioUartRts */
633 + BP_NOT_DEFINED, /* usGpioUartCts */
634 + BP_NOT_DEFINED, /* usGpioLedAdsl */
635 + BP_GPIO_2_AL, /* usGpioLedAdslFail */
636 + BP_NOT_DEFINED, /* usGpioLedWireless */
637 + BP_NOT_DEFINED, /* usGpioLedUsb */
638 + BP_NOT_DEFINED, /* usGpioLedHpna */
639 + BP_GPIO_3_AL, /* usGpioLedWanData */
640 + BP_GPIO_3_AL, /* usGpioLedPpp */
641 + BP_GPIO_4_AL, /* usGpioLedPppFail */
642 + BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
643 + BP_NOT_DEFINED, /* usGpioLedBlAlarm */
644 + BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
645 + BP_GPIO_1_AL, /* usGpioLedBlStop */
646 + BP_NOT_DEFINED, /* usExtIntrWireless */
647 + BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
648 + BP_NOT_DEFINED, /* usExtIntrHpna */
649 + BP_NOT_DEFINED, /* usCsHpna */
650 + BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
651 + BP_NOT_DEFINED, /* BP_GPIO_35_AH, */ /* usGpioSesBtnWireless */
652 + BP_NOT_DEFINED, /* BP_EXT_INTR_3, */ /* usExtIntrSesBtnWireless */
653 + BP_NOT_DEFINED /* BP_GPIO_0_AL */ /* usGpioLedSesWireless */
657 +static BOARD_PARAMETERS g_bcm96348gw_10 =
659 + "96348GW-10", /* szBoardId */
660 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
661 + 0x01, /* ucPhyAddress */
662 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
663 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
664 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
665 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
666 + BP_NOT_DEFINED, /* usGpioPhyReset */
667 + 0x01, /* numSwitchPorts */
668 + BP_ENET_CONFIG_MDIO, /* usConfigType */
669 + BP_NOT_DEFINED}, /* usReverseMii */
670 + {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
671 + 0x00, /* ucPhyAddress */
672 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
673 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
674 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
675 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
676 + BP_NOT_DEFINED, /* usGpioPhyReset */
677 + 0x03, /* numSwitchPorts */
678 + BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */
679 + BP_ENET_REVERSE_MII}}, /* usReverseMii */
680 + {{BP_VOIP_DSP, /* ucDspType */
681 + 0x00, /* ucDspAddress */
682 + BP_EXT_INTR_2, /* usExtIntrVoip */
683 + BP_GPIO_6_AH, /* usGpioVoipReset */
684 + BP_GPIO_34_AH, /* usGpioVoipIntr */
685 + BP_NOT_DEFINED, /* usGpioLedVoip */
686 + BP_CS_2}, /* usCsVoip */
687 + {BP_VOIP_NO_DSP}}, /* ucDspType */
688 + BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
689 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
690 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
691 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
692 + BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
693 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
694 + BP_NOT_DEFINED, /* usGpioUartRts */
695 + BP_NOT_DEFINED, /* usGpioUartCts */
696 + BP_NOT_DEFINED, /* usGpioLedAdsl */
697 + BP_GPIO_2_AL, /* usGpioLedAdslFail */
698 + BP_NOT_DEFINED, /* usGpioLedWireless */
699 + BP_NOT_DEFINED, /* usGpioLedUsb */
700 + BP_NOT_DEFINED, /* usGpioLedHpna */
701 + BP_GPIO_3_AL, /* usGpioLedWanData */
702 + BP_GPIO_3_AL, /* usGpioLedPpp */
703 + BP_GPIO_4_AL, /* usGpioLedPppFail */
704 + BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
705 + BP_NOT_DEFINED, /* usGpioLedBlAlarm */
706 + BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
707 + BP_GPIO_1_AL, /* usGpioLedBlStop */
708 + BP_NOT_DEFINED, /* usExtIntrWireless */
709 + BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
710 + BP_NOT_DEFINED, /* usExtIntrHpna */
711 + BP_NOT_DEFINED, /* usCsHpna */
712 + BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
713 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
714 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
715 + BP_NOT_DEFINED /* usGpioLedSesWireless */
718 +static BOARD_PARAMETERS g_bcm96348gw_11 =
720 + "96348GW-11", /* szBoardId */
721 + {{BP_ENET_NO_PHY}, /* ucPhyType */
722 + {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
723 + 0x00, /* ucPhyAddress */
724 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
725 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
726 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
727 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
728 + BP_NOT_DEFINED, /* usGpioPhyReset */
729 + 0x04, /* numSwitchPorts */
730 + BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */
731 + BP_ENET_REVERSE_MII}}, /* usReverseMii */
732 + {{BP_VOIP_NO_DSP}, /* ucDspType */
733 + {BP_VOIP_NO_DSP}}, /* ucDspType */
734 + BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
735 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
736 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
737 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
738 + BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
739 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
740 + BP_NOT_DEFINED, /* usGpioUartRts */
741 + BP_NOT_DEFINED, /* usGpioUartCts */
742 + BP_NOT_DEFINED, /* usGpioLedAdsl */
743 + BP_GPIO_2_AL, /* usGpioLedAdslFail */
744 + BP_NOT_DEFINED, /* usGpioLedWireless */
745 + BP_NOT_DEFINED, /* usGpioLedUsb */
746 + BP_NOT_DEFINED, /* usGpioLedHpna */
747 + BP_GPIO_3_AL, /* usGpioLedWanData */
748 + BP_GPIO_3_AL, /* usGpioLedPpp */
749 + BP_GPIO_4_AL, /* usGpioLedPppFail */
750 + BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
751 + BP_NOT_DEFINED, /* usGpioLedBlAlarm */
752 + BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
753 + BP_GPIO_1_AL, /* usGpioLedBlStop */
754 + BP_NOT_DEFINED, /* usExtIntrWireless */
755 + BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
756 + BP_NOT_DEFINED, /* usExtIntrHpna */
757 + BP_NOT_DEFINED, /* usCsHpna */
758 + BP_NOT_DEFINED, /* usAntInUseWireless */
759 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
760 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
761 + BP_NOT_DEFINED /* usGpioLedSesWireless */
764 +static BOARD_PARAMETERS g_bcm96348sv =
766 + "96348SV", /* szBoardId */
767 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
768 + 0x01, /* ucPhyAddress */
769 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
770 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
771 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
772 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
773 + BP_NOT_DEFINED, /* usGpioPhyReset */
774 + 0x01, /* numSwitchPorts */
775 + BP_ENET_CONFIG_MDIO, /* usConfigType */
776 + BP_NOT_DEFINED}, /* usReverseMii */
777 + {BP_ENET_EXTERNAL_PHY, /* ucPhyType */
778 + 0x1f, /* ucPhyAddress */
779 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
780 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
781 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
782 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
783 + BP_NOT_DEFINED, /* usGpioPhyReset */
784 + 0x01, /* numSwitchPorts */
785 + BP_ENET_CONFIG_MDIO, /* usConfigType */
786 + BP_NOT_DEFINED}}, /* usReverseMii */
787 + {{BP_VOIP_NO_DSP}, /* ucDspType */
788 + {BP_VOIP_NO_DSP}}, /* ucDspType */
789 + BP_MEMORY_32MB_2_CHIP, /* usSdramSize */
790 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
791 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
792 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
793 + BP_NOT_DEFINED, /* usGpioPressAndHoldReset */
794 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
795 + BP_NOT_DEFINED, /* usGpioUartRts */
796 + BP_NOT_DEFINED, /* usGpioUartCts */
797 + BP_NOT_DEFINED, /* usGpioLedAdsl */
798 + BP_NOT_DEFINED, /* usGpioLedAdslFail */
799 + BP_NOT_DEFINED, /* usGpioLedWireless */
800 + BP_NOT_DEFINED, /* usGpioLedUsb */
801 + BP_NOT_DEFINED, /* usGpioLedHpna */
802 + BP_NOT_DEFINED, /* usGpioLedWanData */
803 + BP_NOT_DEFINED, /* usGpioLedPpp */
804 + BP_NOT_DEFINED, /* usGpioLedPppFail */
805 + BP_NOT_DEFINED, /* usGpioLedBlPowerOn */
806 + BP_NOT_DEFINED, /* usGpioLedBlAlarm */
807 + BP_NOT_DEFINED, /* usGpioLedBlResetCfg */
808 + BP_NOT_DEFINED, /* usGpioLedBlStop */
809 + BP_NOT_DEFINED, /* usExtIntrWireless */
810 + BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
811 + BP_NOT_DEFINED, /* usExtIntrHpna */
812 + BP_NOT_DEFINED, /* usCsHpna */
813 + BP_NOT_DEFINED, /* usAntInUseWireless */
814 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
815 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
816 + BP_NOT_DEFINED /* usGpioLedSesWireless */
820 +static BOARD_PARAMETERS g_bcm96348gw_dualDsp =
822 + "96348GW-DualDSP", /* szBoardId */
823 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
824 + 0x01, /* ucPhyAddress */
825 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
826 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
827 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
828 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
829 + BP_NOT_DEFINED, /* usGpioPhyReset */
830 + 0x01, /* numSwitchPorts */
831 + BP_ENET_CONFIG_MDIO, /* usConfigType */
832 + BP_NOT_DEFINED}, /* usReverseMii */
833 + {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */
834 + 0x00, /* ucPhyAddress */
835 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
836 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
837 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
838 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
839 + BP_NOT_DEFINED, /* usGpioPhyReset */
840 + 0x03, /* numSwitchPorts */
841 + BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */
842 + BP_ENET_REVERSE_MII}}, /* usReverseMii */
843 + {{BP_VOIP_DSP, /* ucDspType */
844 + 0x00, /* ucDspAddress */
845 + BP_EXT_INTR_2, /* usExtIntrVoip */
846 + BP_UNEQUIPPED, /* usGpioVoipReset */
847 + BP_GPIO_34_AH, /* usGpioVoipIntr */
848 + BP_NOT_DEFINED, /* usGpioLedVoip */
849 + BP_CS_2}, /* usCsVoip */
850 + {BP_VOIP_DSP, /* ucDspType */
851 + 0x01, /* ucDspAddress */
852 + BP_EXT_INTR_3, /* usExtIntrVoip */
853 + BP_UNEQUIPPED , /* usGpioVoipReset */
854 + BP_GPIO_35_AH, /* usGpioVoipIntr */
855 + BP_NOT_DEFINED, /* usGpioLedVoip */
856 + BP_CS_3}}, /* usCsVoip */
857 + BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
858 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
859 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
860 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
861 + BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
862 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
863 + BP_NOT_DEFINED, /* usGpioUartRts */
864 + BP_NOT_DEFINED, /* usGpioUartCts */
865 + BP_NOT_DEFINED, /* usGpioLedAdsl */
866 + BP_GPIO_2_AL, /* usGpioLedAdslFail */
867 + BP_NOT_DEFINED, /* usGpioLedWireless */
868 + BP_NOT_DEFINED, /* usGpioLedUsb */
869 + BP_NOT_DEFINED, /* usGpioLedHpna */
870 + BP_GPIO_3_AL, /* usGpioLedWanData */
871 + BP_GPIO_3_AL, /* usGpioLedPpp */
872 + BP_GPIO_4_AL, /* usGpioLedPppFail */
873 + BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
874 + BP_NOT_DEFINED, /* usGpioLedBlAlarm */
875 + BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
876 + BP_GPIO_1_AL, /* usGpioLedBlStop */
877 + BP_NOT_DEFINED, /* usExtIntrWireless */
878 + BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */
879 + BP_NOT_DEFINED, /* usExtIntrHpna */
880 + BP_NOT_DEFINED, /* usCsHpna */
881 + BP_WLAN_ANT_MAIN, /* usAntInUseWireless */
882 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
883 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
884 + BP_NOT_DEFINED /* usGpioLedSesWireless */
888 +static BOARD_PARAMETERS g_bcmCustom_01 =
890 + "BCMCUST_01", /* szBoardId */
891 + {{BP_ENET_INTERNAL_PHY, /* ucPhyType */
892 + 0x01, /* ucPhyAddress */
893 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
894 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
895 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
896 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
897 + BP_NOT_DEFINED, /* usGpioPhyReset */
898 + 0x01, /* numSwitchPorts */
899 + BP_ENET_CONFIG_MDIO, /* usConfigType */
900 + BP_NOT_DEFINED}, /* usReverseMii */
901 + {BP_ENET_NO_PHY, /* ucPhyType */
902 + 0x00, /* ucPhyAddress */
903 + BP_NOT_DEFINED, /* usGpioPhySpiSck */
904 + BP_NOT_DEFINED, /* usGpioPhySpiSs */
905 + BP_NOT_DEFINED, /* usGpioPhySpiMosi */
906 + BP_NOT_DEFINED, /* usGpioPhySpiMiso */
907 + BP_NOT_DEFINED, /* usGpioPhyReset */
908 + 0x01, /* numSwitchPorts */
909 + BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */
910 + BP_ENET_REVERSE_MII}}, /* usReverseMii */
911 + {{BP_VOIP_DSP, /* ucDspType */
912 + 0x00, /* ucDspAddress */
913 + BP_EXT_INTR_2, /* usExtIntrVoip */
914 + BP_GPIO_36_AH, /* usGpioVoipReset */
915 + BP_GPIO_34_AL, /* usGpioVoipIntr */
916 + BP_NOT_DEFINED, /* usGpioLedVoip */
917 + BP_CS_2}, /* usCsVoip */
918 + {BP_VOIP_NO_DSP}}, /* ucDspType */
919 + BP_MEMORY_16MB_2_CHIP, /* usSdramSize */
920 + BP_PSI_DEFAULT_SIZE, /* usPsiSize */
921 + BP_NOT_DEFINED, /* usGpioRj11InnerPair */
922 + BP_NOT_DEFINED, /* usGpioRj11OuterPair */
923 + BP_GPIO_33_AL, /* usGpioPressAndHoldReset */
924 + BP_NOT_DEFINED, /* usGpioPcmciaReset */
925 + BP_NOT_DEFINED, /* usGpioUartRts */
926 + BP_NOT_DEFINED, /* usGpioUartCts */
927 + BP_NOT_DEFINED, /* usGpioLedAdsl */
928 + BP_GPIO_2_AL, /* usGpioLedAdslFail */
929 + BP_NOT_DEFINED, /* usGpioLedWireless */
930 + BP_NOT_DEFINED, /* usGpioLedUsb */
931 + BP_NOT_DEFINED, /* usGpioLedHpna */
932 + BP_GPIO_3_AL, /* usGpioLedWanData */
933 + BP_GPIO_3_AL, /* usGpioLedPpp */
934 + BP_GPIO_4_AL, /* usGpioLedPppFail */
935 + BP_GPIO_0_AL, /* usGpioLedBlPowerOn */
936 + BP_NOT_DEFINED, /* usGpioLedBlAlarm */
937 + BP_GPIO_3_AL, /* usGpioLedBlResetCfg */
938 + BP_GPIO_1_AL, /* usGpioLedBlStop */
939 + BP_NOT_DEFINED, /* usExtIntrWireless */
940 + BP_NOT_DEFINED, /* usExtIntrAdslDyingGasp */
941 + BP_NOT_DEFINED, /* usExtIntrHpna */
942 + BP_NOT_DEFINED, /* usCsHpna */
943 + BP_NOT_DEFINED, /* usAntInUseWireless */
944 + BP_NOT_DEFINED, /* usGpioSesBtnWireless */
945 + BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */
946 + BP_NOT_DEFINED /* usGpioLedSesWireless */
949 +static PBOARD_PARAMETERS g_BoardParms[] =
950 + {&g_bcm96348r, &g_bcm96348lv, &g_bcm96348gw, &g_bcm96348gw_10,
951 + &g_bcm96348gw_11, &g_bcm96348sv, &g_bcm96348gw_dualDsp,
952 + &g_bcmCustom_01, 0};
955 +static PBOARD_PARAMETERS g_pCurrentBp = 0;
957 +/**************************************************************************
960 + * Description: String compare for this file so it does not depend on an OS.
961 + * (Linux kernel and CFE share this source file.)
963 + * Parameters : [IN] dest - destination string
964 + * [IN] src - source string
966 + * Returns : -1 - dest < src, 1 - dest > src, 0 dest == src
967 + ***************************************************************************/
968 +static int bpstrcmp(const char *dest,const char *src);
969 +static int bpstrcmp(const char *dest,const char *src)
971 + while (*src && *dest)
973 + if (*dest < *src) return -1;
974 + if (*dest > *src) return 1;
979 + if (*dest && !*src) return 1;
980 + if (!*dest && *src) return -1;
984 +/**************************************************************************
985 + * Name : BpGetVoipDspConfig
987 + * Description: Gets the DSP configuration from the board parameter
988 + * structure for a given DSP index.
990 + * Parameters : [IN] dspNum - DSP index (number)
992 + * Returns : Pointer to DSP configuration block if found/valid, NULL
994 + ***************************************************************************/
995 +VOIP_DSP_INFO *BpGetVoipDspConfig( unsigned char dspNum );
996 +VOIP_DSP_INFO *BpGetVoipDspConfig( unsigned char dspNum )
998 + VOIP_DSP_INFO *pDspConfig = 0;
1001 + if( g_pCurrentBp )
1003 + for( i = 0 ; i < BP_MAX_VOIP_DSP ; i++ )
1005 + if( g_pCurrentBp->VoIPDspInfo[i].ucDspType != BP_VOIP_NO_DSP &&
1006 + g_pCurrentBp->VoIPDspInfo[i].ucDspAddress == dspNum )
1008 + pDspConfig = &g_pCurrentBp->VoIPDspInfo[i];
1014 + return pDspConfig;
1018 +/**************************************************************************
1019 + * Name : BpSetBoardId
1021 + * Description: This function find the BOARD_PARAMETERS structure for the
1022 + * specified board id string and assigns it to a global, static
1025 + * Parameters : [IN] pszBoardId - Board id string that is saved into NVRAM.
1027 + * Returns : BP_SUCCESS - Success, value is returned.
1028 + * BP_BOARD_ID_NOT_FOUND - Error, board id input string does not
1029 + * have a board parameters configuration record.
1030 + ***************************************************************************/
1031 +int BpSetBoardId( char *pszBoardId )
1033 + int nRet = BP_BOARD_ID_NOT_FOUND;
1034 + PBOARD_PARAMETERS *ppBp;
1036 + for( ppBp = g_BoardParms; *ppBp; ppBp++ )
1038 + if( !bpstrcmp((*ppBp)->szBoardId, pszBoardId) )
1040 + g_pCurrentBp = *ppBp;
1041 + nRet = BP_SUCCESS;
1047 +} /* BpSetBoardId */
1049 +/**************************************************************************
1050 + * Name : BpGetBoardIds
1052 + * Description: This function returns all of the supported board id strings.
1054 + * Parameters : [OUT] pszBoardIds - Address of a buffer that the board id
1055 + * strings are returned in. Each id starts at BP_BOARD_ID_LEN
1057 + * [IN] nBoardIdsSize - Number of BP_BOARD_ID_LEN elements that
1058 + * were allocated in pszBoardIds.
1060 + * Returns : Number of board id strings returned.
1061 + ***************************************************************************/
1062 +int BpGetBoardIds( char *pszBoardIds, int nBoardIdsSize )
1064 + PBOARD_PARAMETERS *ppBp;
1069 + for( i = 0, ppBp = g_BoardParms; *ppBp && nBoardIdsSize;
1070 + i++, ppBp++, nBoardIdsSize--, pszBoardIds += BP_BOARD_ID_LEN )
1072 + dest = pszBoardIds;
1073 + src = (*ppBp)->szBoardId;
1080 +} /* BpGetBoardIds */
1082 +/**************************************************************************
1083 + * Name : BpGetEthernetMacInfo
1085 + * Description: This function returns all of the supported board id strings.
1087 + * Parameters : [OUT] pEnetInfos - Address of an array of ETHERNET_MAC_INFO
1089 + * [IN] nNumEnetInfos - Number of ETHERNET_MAC_INFO elements that
1090 + * are pointed to by pEnetInfos.
1092 + * Returns : BP_SUCCESS - Success, value is returned.
1093 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1094 + ***************************************************************************/
1095 +int BpGetEthernetMacInfo( PETHERNET_MAC_INFO pEnetInfos, int nNumEnetInfos )
1099 + if( g_pCurrentBp )
1101 + for( i = 0; i < nNumEnetInfos; i++, pEnetInfos++ )
1103 + if( i < BP_MAX_ENET_MACS )
1105 + unsigned char *src = (unsigned char *)
1106 + &g_pCurrentBp->EnetMacInfos[i];
1107 + unsigned char *dest = (unsigned char *) pEnetInfos;
1108 + int len = sizeof(ETHERNET_MAC_INFO);
1113 + pEnetInfos->ucPhyType = BP_ENET_NO_PHY;
1116 + nRet = BP_SUCCESS;
1120 + for( i = 0; i < nNumEnetInfos; i++, pEnetInfos++ )
1121 + pEnetInfos->ucPhyType = BP_ENET_NO_PHY;
1123 + nRet = BP_BOARD_ID_NOT_SET;
1127 +} /* BpGetEthernetMacInfo */
1129 +/**************************************************************************
1130 + * Name : BpGetSdramSize
1132 + * Description: This function returns a constant that describees the board's
1133 + * SDRAM type and size.
1135 + * Parameters : [OUT] pulSdramSize - Address of short word that the SDRAM size
1138 + * Returns : BP_SUCCESS - Success, value is returned.
1139 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1140 + ***************************************************************************/
1141 +int BpGetSdramSize( unsigned long *pulSdramSize )
1145 + if( g_pCurrentBp )
1147 + *pulSdramSize = g_pCurrentBp->usSdramSize;
1148 + nRet = BP_SUCCESS;
1152 + *pulSdramSize = BP_NOT_DEFINED;
1153 + nRet = BP_BOARD_ID_NOT_SET;
1157 +} /* BpGetSdramSize */
1159 +/**************************************************************************
1160 + * Name : BpGetPsiSize
1162 + * Description: This function returns the persistent storage size in K bytes.
1164 + * Parameters : [OUT] pulPsiSize - Address of short word that the persistent
1165 + * storage size is returned in.
1167 + * Returns : BP_SUCCESS - Success, value is returned.
1168 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1169 + ***************************************************************************/
1170 +int BpGetPsiSize( unsigned long *pulPsiSize )
1174 + if( g_pCurrentBp )
1176 + *pulPsiSize = g_pCurrentBp->usPsiSize;
1177 + nRet = BP_SUCCESS;
1181 + *pulPsiSize = BP_NOT_DEFINED;
1182 + nRet = BP_BOARD_ID_NOT_SET;
1186 +} /* BpGetPsiSize */
1188 +/**************************************************************************
1189 + * Name : BpGetRj11InnerOuterPairGpios
1191 + * Description: This function returns the GPIO pin assignments for changing
1192 + * between the RJ11 inner pair and RJ11 outer pair.
1194 + * Parameters : [OUT] pusInner - Address of short word that the RJ11 inner pair
1195 + * GPIO pin is returned in.
1196 + * [OUT] pusOuter - Address of short word that the RJ11 outer pair
1197 + * GPIO pin is returned in.
1199 + * Returns : BP_SUCCESS - Success, values are returned.
1200 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1201 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1203 + ***************************************************************************/
1204 +int BpGetRj11InnerOuterPairGpios( unsigned short *pusInner,
1205 + unsigned short *pusOuter )
1209 + if( g_pCurrentBp )
1211 + *pusInner = g_pCurrentBp->usGpioRj11InnerPair;
1212 + *pusOuter = g_pCurrentBp->usGpioRj11OuterPair;
1214 + if( g_pCurrentBp->usGpioRj11InnerPair != BP_NOT_DEFINED &&
1215 + g_pCurrentBp->usGpioRj11OuterPair != BP_NOT_DEFINED )
1217 + nRet = BP_SUCCESS;
1221 + nRet = BP_VALUE_NOT_DEFINED;
1226 + *pusInner = *pusOuter = BP_NOT_DEFINED;
1227 + nRet = BP_BOARD_ID_NOT_SET;
1231 +} /* BpGetRj11InnerOuterPairGpios */
1233 +/**************************************************************************
1234 + * Name : BpGetPressAndHoldResetGpio
1236 + * Description: This function returns the GPIO pin assignment for the press
1237 + * and hold reset button.
1239 + * Parameters : [OUT] pusValue - Address of short word that the press and hold
1240 + * reset button GPIO pin is returned in.
1242 + * Returns : BP_SUCCESS - Success, value is returned.
1243 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1244 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1246 + ***************************************************************************/
1247 +int BpGetPressAndHoldResetGpio( unsigned short *pusValue )
1251 + if( g_pCurrentBp )
1253 + *pusValue = g_pCurrentBp->usGpioPressAndHoldReset;
1255 + if( g_pCurrentBp->usGpioPressAndHoldReset != BP_NOT_DEFINED )
1257 + nRet = BP_SUCCESS;
1261 + nRet = BP_VALUE_NOT_DEFINED;
1266 + *pusValue = BP_NOT_DEFINED;
1267 + nRet = BP_BOARD_ID_NOT_SET;
1271 +} /* BpGetPressAndHoldResetGpio */
1273 +/**************************************************************************
1274 + * Name : BpGetVoipResetGpio
1276 + * Description: This function returns the GPIO pin assignment for the VOIP
1277 + * Reset operation.
1279 + * Parameters : [OUT] pusValue - Address of short word that the VOIP reset
1280 + * GPIO pin is returned in.
1281 + * [IN] dspNum - Address of the DSP to query.
1283 + * Returns : BP_SUCCESS - Success, value is returned.
1284 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1285 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1287 + ***************************************************************************/
1288 +int BpGetVoipResetGpio( unsigned char dspNum, unsigned short *pusValue )
1292 + if( g_pCurrentBp )
1294 + VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
1298 + *pusValue = pDspInfo->usGpioVoipReset;
1300 + if( *pusValue != BP_NOT_DEFINED ||
1301 + *pusValue == BP_UNEQUIPPED )
1303 + nRet = BP_SUCCESS;
1307 + nRet = BP_VALUE_NOT_DEFINED;
1312 + *pusValue = BP_NOT_DEFINED;
1313 + nRet = BP_BOARD_ID_NOT_FOUND;
1318 + *pusValue = BP_NOT_DEFINED;
1319 + nRet = BP_BOARD_ID_NOT_SET;
1323 +} /* BpGetVoipResetGpio */
1325 +/**************************************************************************
1326 + * Name : BpGetVoipIntrGpio
1328 + * Description: This function returns the GPIO pin assignment for VoIP interrupt.
1330 + * Parameters : [OUT] pusValue - Address of short word that the VOIP interrupt
1331 + * GPIO pin is returned in.
1332 + * [IN] dspNum - Address of the DSP to query.
1334 + * Returns : BP_SUCCESS - Success, value is returned.
1335 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1336 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1338 + ***************************************************************************/
1339 +int BpGetVoipIntrGpio( unsigned char dspNum, unsigned short *pusValue )
1343 + if( g_pCurrentBp )
1345 + VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
1349 + *pusValue = pDspInfo->usGpioVoipIntr;
1351 + if( *pusValue != BP_NOT_DEFINED )
1353 + nRet = BP_SUCCESS;
1357 + nRet = BP_VALUE_NOT_DEFINED;
1362 + *pusValue = BP_NOT_DEFINED;
1363 + nRet = BP_BOARD_ID_NOT_FOUND;
1368 + *pusValue = BP_NOT_DEFINED;
1369 + nRet = BP_BOARD_ID_NOT_SET;
1373 +} /* BpGetVoipIntrGpio */
1375 +/**************************************************************************
1376 + * Name : BpGetPcmciaResetGpio
1378 + * Description: This function returns the GPIO pin assignment for the PCMCIA
1379 + * Reset operation.
1381 + * Parameters : [OUT] pusValue - Address of short word that the PCMCIA reset
1382 + * GPIO pin is returned in.
1384 + * Returns : BP_SUCCESS - Success, value is returned.
1385 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1386 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1388 + ***************************************************************************/
1389 +int BpGetPcmciaResetGpio( unsigned short *pusValue )
1393 + if( g_pCurrentBp )
1395 + *pusValue = g_pCurrentBp->usGpioPcmciaReset;
1397 + if( g_pCurrentBp->usGpioPcmciaReset != BP_NOT_DEFINED )
1399 + nRet = BP_SUCCESS;
1403 + nRet = BP_VALUE_NOT_DEFINED;
1408 + *pusValue = BP_NOT_DEFINED;
1409 + nRet = BP_BOARD_ID_NOT_SET;
1413 +} /* BpGetPcmciaResetGpio */
1415 +/**************************************************************************
1416 + * Name : BpGetUartRtsCtsGpios
1418 + * Description: This function returns the GPIO pin assignments for RTS and CTS
1421 + * Parameters : [OUT] pusRts - Address of short word that the UART RTS GPIO
1422 + * pin is returned in.
1423 + * [OUT] pusCts - Address of short word that the UART CTS GPIO
1424 + * pin is returned in.
1426 + * Returns : BP_SUCCESS - Success, values are returned.
1427 + * BP_BOARD_ID_NOT_SET - Error, board id input string does not
1428 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1430 + ***************************************************************************/
1431 +int BpGetRtsCtsUartGpios( unsigned short *pusRts, unsigned short *pusCts )
1435 + if( g_pCurrentBp )
1437 + *pusRts = g_pCurrentBp->usGpioUartRts;
1438 + *pusCts = g_pCurrentBp->usGpioUartCts;
1440 + if( g_pCurrentBp->usGpioUartRts != BP_NOT_DEFINED &&
1441 + g_pCurrentBp->usGpioUartCts != BP_NOT_DEFINED )
1443 + nRet = BP_SUCCESS;
1447 + nRet = BP_VALUE_NOT_DEFINED;
1452 + *pusRts = *pusCts = BP_NOT_DEFINED;
1453 + nRet = BP_BOARD_ID_NOT_SET;
1457 +} /* BpGetUartRtsCtsGpios */
1459 +/**************************************************************************
1460 + * Name : BpGetAdslLedGpio
1462 + * Description: This function returns the GPIO pin assignment for the ADSL
1465 + * Parameters : [OUT] pusValue - Address of short word that the ADSL LED
1466 + * GPIO pin is returned in.
1468 + * Returns : BP_SUCCESS - Success, value is returned.
1469 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1470 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1472 + ***************************************************************************/
1473 +int BpGetAdslLedGpio( unsigned short *pusValue )
1477 + if( g_pCurrentBp )
1479 + *pusValue = g_pCurrentBp->usGpioLedAdsl;
1481 + if( g_pCurrentBp->usGpioLedAdsl != BP_NOT_DEFINED )
1483 + nRet = BP_SUCCESS;
1487 + nRet = BP_VALUE_NOT_DEFINED;
1492 + *pusValue = BP_NOT_DEFINED;
1493 + nRet = BP_BOARD_ID_NOT_SET;
1497 +} /* BpGetAdslLedGpio */
1499 +/**************************************************************************
1500 + * Name : BpGetAdslFailLedGpio
1502 + * Description: This function returns the GPIO pin assignment for the ADSL
1503 + * LED that is used when there is a DSL connection failure.
1505 + * Parameters : [OUT] pusValue - Address of short word that the ADSL LED
1506 + * GPIO pin is returned in.
1508 + * Returns : BP_SUCCESS - Success, value is returned.
1509 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1510 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1512 + ***************************************************************************/
1513 +int BpGetAdslFailLedGpio( unsigned short *pusValue )
1517 + if( g_pCurrentBp )
1519 + *pusValue = g_pCurrentBp->usGpioLedAdslFail;
1521 + if( g_pCurrentBp->usGpioLedAdslFail != BP_NOT_DEFINED )
1523 + nRet = BP_SUCCESS;
1527 + nRet = BP_VALUE_NOT_DEFINED;
1532 + *pusValue = BP_NOT_DEFINED;
1533 + nRet = BP_BOARD_ID_NOT_SET;
1537 +} /* BpGetAdslFailLedGpio */
1539 +/**************************************************************************
1540 + * Name : BpGetWirelessLedGpio
1542 + * Description: This function returns the GPIO pin assignment for the Wireless
1545 + * Parameters : [OUT] pusValue - Address of short word that the Wireless LED
1546 + * GPIO pin is returned in.
1548 + * Returns : BP_SUCCESS - Success, value is returned.
1549 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1550 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1552 + ***************************************************************************/
1553 +int BpGetWirelessLedGpio( unsigned short *pusValue )
1557 + if( g_pCurrentBp )
1559 + *pusValue = g_pCurrentBp->usGpioLedWireless;
1561 + if( g_pCurrentBp->usGpioLedWireless != BP_NOT_DEFINED )
1563 + nRet = BP_SUCCESS;
1567 + nRet = BP_VALUE_NOT_DEFINED;
1572 + *pusValue = BP_NOT_DEFINED;
1573 + nRet = BP_BOARD_ID_NOT_SET;
1577 +} /* BpGetWirelessLedGpio */
1579 +/**************************************************************************
1580 + * Name : BpGetWirelessAntInUse
1582 + * Description: This function returns the antennas in use for wireless
1584 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Antenna
1587 + * Returns : BP_SUCCESS - Success, value is returned.
1588 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1589 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1591 + ***************************************************************************/
1592 +int BpGetWirelessAntInUse( unsigned short *pusValue )
1596 + if( g_pCurrentBp )
1598 + *pusValue = g_pCurrentBp->usAntInUseWireless;
1600 + if( g_pCurrentBp->usAntInUseWireless != BP_NOT_DEFINED )
1602 + nRet = BP_SUCCESS;
1606 + nRet = BP_VALUE_NOT_DEFINED;
1611 + *pusValue = BP_NOT_DEFINED;
1612 + nRet = BP_BOARD_ID_NOT_SET;
1616 +} /* BpGetWirelessAntInUse */
1618 +/**************************************************************************
1619 + * Name : BpGetWirelessSesBtnGpio
1621 + * Description: This function returns the GPIO pin assignment for the Wireless
1624 + * Parameters : [OUT] pusValue - Address of short word that the Wireless LED
1625 + * GPIO pin is returned in.
1627 + * Returns : BP_SUCCESS - Success, value is returned.
1628 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1629 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1631 + ***************************************************************************/
1632 +int BpGetWirelessSesBtnGpio( unsigned short *pusValue )
1636 + if( g_pCurrentBp )
1638 + *pusValue = g_pCurrentBp->usGpioSesBtnWireless;
1640 + if( g_pCurrentBp->usGpioSesBtnWireless != BP_NOT_DEFINED )
1642 + nRet = BP_SUCCESS;
1646 + nRet = BP_VALUE_NOT_DEFINED;
1651 + *pusValue = BP_NOT_DEFINED;
1652 + nRet = BP_BOARD_ID_NOT_SET;
1656 +} /* BpGetWirelessSesBtnGpio */
1658 +/**************************************************************************
1659 + * Name : BpGetWirelessSesExtIntr
1661 + * Description: This function returns the external interrupt number for the
1662 + * Wireless Ses Button.
1664 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
1665 + * external interrup is returned in.
1667 + * Returns : BP_SUCCESS - Success, value is returned.
1668 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1669 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1671 + ***************************************************************************/
1672 +int BpGetWirelessSesExtIntr( unsigned short *pusValue )
1676 + if( g_pCurrentBp )
1678 + *pusValue = g_pCurrentBp->usExtIntrSesBtnWireless;
1680 + if( g_pCurrentBp->usExtIntrSesBtnWireless != BP_NOT_DEFINED )
1682 + nRet = BP_SUCCESS;
1686 + nRet = BP_VALUE_NOT_DEFINED;
1691 + *pusValue = BP_NOT_DEFINED;
1692 + nRet = BP_BOARD_ID_NOT_SET;
1697 +} /* BpGetWirelessSesExtIntr */
1699 +/**************************************************************************
1700 + * Name : BpGetWirelessSesLedGpio
1702 + * Description: This function returns the GPIO pin assignment for the Wireless
1705 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
1706 + * Led GPIO pin is returned in.
1708 + * Returns : BP_SUCCESS - Success, value is returned.
1709 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1710 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1712 + ***************************************************************************/
1713 +int BpGetWirelessSesLedGpio( unsigned short *pusValue )
1717 + if( g_pCurrentBp )
1719 + *pusValue = g_pCurrentBp->usGpioLedSesWireless;
1721 + if( g_pCurrentBp->usGpioLedSesWireless != BP_NOT_DEFINED )
1723 + nRet = BP_SUCCESS;
1727 + nRet = BP_VALUE_NOT_DEFINED;
1732 + *pusValue = BP_NOT_DEFINED;
1733 + nRet = BP_BOARD_ID_NOT_SET;
1738 +} /* BpGetWirelessSesLedGpio */
1740 +/**************************************************************************
1741 + * Name : BpGetUsbLedGpio
1743 + * Description: This function returns the GPIO pin assignment for the USB
1746 + * Parameters : [OUT] pusValue - Address of short word that the USB LED
1747 + * GPIO pin is returned in.
1749 + * Returns : BP_SUCCESS - Success, value is returned.
1750 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1751 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1753 + ***************************************************************************/
1754 +int BpGetUsbLedGpio( unsigned short *pusValue )
1758 + if( g_pCurrentBp )
1760 + *pusValue = g_pCurrentBp->usGpioLedUsb;
1762 + if( g_pCurrentBp->usGpioLedUsb != BP_NOT_DEFINED )
1764 + nRet = BP_SUCCESS;
1768 + nRet = BP_VALUE_NOT_DEFINED;
1773 + *pusValue = BP_NOT_DEFINED;
1774 + nRet = BP_BOARD_ID_NOT_SET;
1778 +} /* BpGetUsbLedGpio */
1780 +/**************************************************************************
1781 + * Name : BpGetHpnaLedGpio
1783 + * Description: This function returns the GPIO pin assignment for the HPNA
1786 + * Parameters : [OUT] pusValue - Address of short word that the HPNA LED
1787 + * GPIO pin is returned in.
1789 + * Returns : BP_SUCCESS - Success, value is returned.
1790 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1791 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1793 + ***************************************************************************/
1794 +int BpGetHpnaLedGpio( unsigned short *pusValue )
1798 + if( g_pCurrentBp )
1800 + *pusValue = g_pCurrentBp->usGpioLedHpna;
1802 + if( g_pCurrentBp->usGpioLedHpna != BP_NOT_DEFINED )
1804 + nRet = BP_SUCCESS;
1808 + nRet = BP_VALUE_NOT_DEFINED;
1813 + *pusValue = BP_NOT_DEFINED;
1814 + nRet = BP_BOARD_ID_NOT_SET;
1818 +} /* BpGetHpnaLedGpio */
1820 +/**************************************************************************
1821 + * Name : BpGetWanDataLedGpio
1823 + * Description: This function returns the GPIO pin assignment for the WAN Data
1826 + * Parameters : [OUT] pusValue - Address of short word that the WAN Data LED
1827 + * GPIO pin is returned in.
1829 + * Returns : BP_SUCCESS - Success, value is returned.
1830 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1831 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1833 + ***************************************************************************/
1834 +int BpGetWanDataLedGpio( unsigned short *pusValue )
1838 + if( g_pCurrentBp )
1840 + *pusValue = g_pCurrentBp->usGpioLedWanData;
1842 + if( g_pCurrentBp->usGpioLedWanData != BP_NOT_DEFINED )
1844 + nRet = BP_SUCCESS;
1848 + nRet = BP_VALUE_NOT_DEFINED;
1853 + *pusValue = BP_NOT_DEFINED;
1854 + nRet = BP_BOARD_ID_NOT_SET;
1858 +} /* BpGetWanDataLedGpio */
1860 +/**************************************************************************
1861 + * Name : BpGetPppLedGpio
1863 + * Description: This function returns the GPIO pin assignment for the PPP
1866 + * Parameters : [OUT] pusValue - Address of short word that the PPP LED
1867 + * GPIO pin is returned in.
1869 + * Returns : BP_SUCCESS - Success, value is returned.
1870 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1871 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1873 + ***************************************************************************/
1874 +int BpGetPppLedGpio( unsigned short *pusValue )
1878 + if( g_pCurrentBp )
1880 + *pusValue = g_pCurrentBp->usGpioLedPpp;
1882 + if( g_pCurrentBp->usGpioLedPpp != BP_NOT_DEFINED )
1884 + nRet = BP_SUCCESS;
1888 + nRet = BP_VALUE_NOT_DEFINED;
1893 + *pusValue = BP_NOT_DEFINED;
1894 + nRet = BP_BOARD_ID_NOT_SET;
1898 +} /* BpGetPppLedGpio */
1900 +/**************************************************************************
1901 + * Name : BpGetPppFailLedGpio
1903 + * Description: This function returns the GPIO pin assignment for the PPP
1904 + * LED that is used when there is a PPP connection failure.
1906 + * Parameters : [OUT] pusValue - Address of short word that the PPP LED
1907 + * GPIO pin is returned in.
1909 + * Returns : BP_SUCCESS - Success, value is returned.
1910 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1911 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1913 + ***************************************************************************/
1914 +int BpGetPppFailLedGpio( unsigned short *pusValue )
1918 + if( g_pCurrentBp )
1920 + *pusValue = g_pCurrentBp->usGpioLedPppFail;
1922 + if( g_pCurrentBp->usGpioLedPppFail != BP_NOT_DEFINED )
1924 + nRet = BP_SUCCESS;
1928 + nRet = BP_VALUE_NOT_DEFINED;
1933 + *pusValue = BP_NOT_DEFINED;
1934 + nRet = BP_BOARD_ID_NOT_SET;
1938 +} /* BpGetPppFailLedGpio */
1940 +/**************************************************************************
1941 + * Name : BpGetBootloaderPowerOnLedGpio
1943 + * Description: This function returns the GPIO pin assignment for the power
1944 + * on LED that is set by the bootloader.
1946 + * Parameters : [OUT] pusValue - Address of short word that the alarm LED
1947 + * GPIO pin is returned in.
1949 + * Returns : BP_SUCCESS - Success, value is returned.
1950 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1951 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1953 + ***************************************************************************/
1954 +int BpGetBootloaderPowerOnLedGpio( unsigned short *pusValue )
1958 + if( g_pCurrentBp )
1960 + *pusValue = g_pCurrentBp->usGpioLedBlPowerOn;
1962 + if( g_pCurrentBp->usGpioLedBlPowerOn != BP_NOT_DEFINED )
1964 + nRet = BP_SUCCESS;
1968 + nRet = BP_VALUE_NOT_DEFINED;
1973 + *pusValue = BP_NOT_DEFINED;
1974 + nRet = BP_BOARD_ID_NOT_SET;
1978 +} /* BpGetBootloaderPowerOn */
1980 +/**************************************************************************
1981 + * Name : BpGetBootloaderAlarmLedGpio
1983 + * Description: This function returns the GPIO pin assignment for the alarm
1984 + * LED that is set by the bootloader.
1986 + * Parameters : [OUT] pusValue - Address of short word that the alarm LED
1987 + * GPIO pin is returned in.
1989 + * Returns : BP_SUCCESS - Success, value is returned.
1990 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
1991 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
1993 + ***************************************************************************/
1994 +int BpGetBootloaderAlarmLedGpio( unsigned short *pusValue )
1998 + if( g_pCurrentBp )
2000 + *pusValue = g_pCurrentBp->usGpioLedBlAlarm;
2002 + if( g_pCurrentBp->usGpioLedBlAlarm != BP_NOT_DEFINED )
2004 + nRet = BP_SUCCESS;
2008 + nRet = BP_VALUE_NOT_DEFINED;
2013 + *pusValue = BP_NOT_DEFINED;
2014 + nRet = BP_BOARD_ID_NOT_SET;
2018 +} /* BpGetBootloaderAlarmLedGpio */
2020 +/**************************************************************************
2021 + * Name : BpGetBootloaderResetCfgLedGpio
2023 + * Description: This function returns the GPIO pin assignment for the reset
2024 + * configuration LED that is set by the bootloader.
2026 + * Parameters : [OUT] pusValue - Address of short word that the reset
2027 + * configuration LED GPIO pin is returned in.
2029 + * Returns : BP_SUCCESS - Success, value is returned.
2030 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2031 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2033 + ***************************************************************************/
2034 +int BpGetBootloaderResetCfgLedGpio( unsigned short *pusValue )
2038 + if( g_pCurrentBp )
2040 + *pusValue = g_pCurrentBp->usGpioLedBlResetCfg;
2042 + if( g_pCurrentBp->usGpioLedBlResetCfg != BP_NOT_DEFINED )
2044 + nRet = BP_SUCCESS;
2048 + nRet = BP_VALUE_NOT_DEFINED;
2053 + *pusValue = BP_NOT_DEFINED;
2054 + nRet = BP_BOARD_ID_NOT_SET;
2058 +} /* BpGetBootloaderResetCfgLedGpio */
2060 +/**************************************************************************
2061 + * Name : BpGetBootloaderStopLedGpio
2063 + * Description: This function returns the GPIO pin assignment for the break
2064 + * into bootloader LED that is set by the bootloader.
2066 + * Parameters : [OUT] pusValue - Address of short word that the break into
2067 + * bootloader LED GPIO pin is returned in.
2069 + * Returns : BP_SUCCESS - Success, value is returned.
2070 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2071 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2073 + ***************************************************************************/
2074 +int BpGetBootloaderStopLedGpio( unsigned short *pusValue )
2078 + if( g_pCurrentBp )
2080 + *pusValue = g_pCurrentBp->usGpioLedBlStop;
2082 + if( g_pCurrentBp->usGpioLedBlStop != BP_NOT_DEFINED )
2084 + nRet = BP_SUCCESS;
2088 + nRet = BP_VALUE_NOT_DEFINED;
2093 + *pusValue = BP_NOT_DEFINED;
2094 + nRet = BP_BOARD_ID_NOT_SET;
2098 +} /* BpGetBootloaderStopLedGpio */
2100 +/**************************************************************************
2101 + * Name : BpGetVoipLedGpio
2103 + * Description: This function returns the GPIO pin assignment for the VOIP
2106 + * Parameters : [OUT] pusValue - Address of short word that the VOIP LED
2107 + * GPIO pin is returned in.
2109 + * Returns : BP_SUCCESS - Success, value is returned.
2110 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2111 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2114 + * Note : The VoIP structure would allow for having one LED per DSP
2115 + * however, the board initialization function assumes only one
2116 + * LED per functionality (ie one LED for VoIP). Therefore in
2117 + * order to keep this tidy and simple we do not make usage of the
2118 + * one-LED-per-DSP function. Instead, we assume that the LED for
2119 + * VoIP is unique and associated with DSP 0 (always present on
2120 + * any VoIP platform). If changing this to a LED-per-DSP function
2121 + * then one need to update the board initialization driver in
2122 + * bcmdrivers\opensource\char\board\bcm963xx\impl1
2123 + ***************************************************************************/
2124 +int BpGetVoipLedGpio( unsigned short *pusValue )
2128 + if( g_pCurrentBp )
2130 + VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( 0 );
2134 + *pusValue = pDspInfo->usGpioLedVoip;
2136 + if( *pusValue != BP_NOT_DEFINED )
2138 + nRet = BP_SUCCESS;
2142 + nRet = BP_VALUE_NOT_DEFINED;
2147 + *pusValue = BP_NOT_DEFINED;
2148 + nRet = BP_BOARD_ID_NOT_FOUND;
2153 + *pusValue = BP_NOT_DEFINED;
2154 + nRet = BP_BOARD_ID_NOT_SET;
2158 +} /* BpGetVoipLedGpio */
2160 +/**************************************************************************
2161 + * Name : BpGetWirelessExtIntr
2163 + * Description: This function returns the Wireless external interrupt number.
2165 + * Parameters : [OUT] pulValue - Address of short word that the wireless
2166 + * external interrupt number is returned in.
2168 + * Returns : BP_SUCCESS - Success, value is returned.
2169 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2170 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2172 + ***************************************************************************/
2173 +int BpGetWirelessExtIntr( unsigned long *pulValue )
2177 + if( g_pCurrentBp )
2179 + *pulValue = g_pCurrentBp->usExtIntrWireless;
2181 + if( g_pCurrentBp->usExtIntrWireless != BP_NOT_DEFINED )
2183 + nRet = BP_SUCCESS;
2187 + nRet = BP_VALUE_NOT_DEFINED;
2192 + *pulValue = BP_NOT_DEFINED;
2193 + nRet = BP_BOARD_ID_NOT_SET;
2197 +} /* BpGetWirelessExtIntr */
2199 +/**************************************************************************
2200 + * Name : BpGetAdslDyingGaspExtIntr
2202 + * Description: This function returns the ADSL Dying Gasp external interrupt
2205 + * Parameters : [OUT] pulValue - Address of short word that the ADSL Dying Gasp
2206 + * external interrupt number is returned in.
2208 + * Returns : BP_SUCCESS - Success, value is returned.
2209 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2210 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2212 + ***************************************************************************/
2213 +int BpGetAdslDyingGaspExtIntr( unsigned long *pulValue )
2217 + if( g_pCurrentBp )
2219 + *pulValue = g_pCurrentBp->usExtIntrAdslDyingGasp;
2221 + if( g_pCurrentBp->usExtIntrAdslDyingGasp != BP_NOT_DEFINED )
2223 + nRet = BP_SUCCESS;
2227 + nRet = BP_VALUE_NOT_DEFINED;
2232 + *pulValue = BP_NOT_DEFINED;
2233 + nRet = BP_BOARD_ID_NOT_SET;
2237 +} /* BpGetAdslDyingGaspExtIntr */
2239 +/**************************************************************************
2240 + * Name : BpGetVoipExtIntr
2242 + * Description: This function returns the VOIP external interrupt number.
2244 + * Parameters : [OUT] pulValue - Address of short word that the VOIP
2245 + * external interrupt number is returned in.
2246 + * [IN] dspNum - Address of the DSP to query.
2248 + * Returns : BP_SUCCESS - Success, value is returned.
2249 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2250 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2252 + ***************************************************************************/
2253 +int BpGetVoipExtIntr( unsigned char dspNum, unsigned long *pulValue )
2257 + if( g_pCurrentBp )
2259 + VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
2263 + *pulValue = pDspInfo->usExtIntrVoip;
2265 + if( *pulValue != BP_NOT_DEFINED )
2267 + nRet = BP_SUCCESS;
2271 + nRet = BP_VALUE_NOT_DEFINED;
2276 + *pulValue = BP_NOT_DEFINED;
2277 + nRet = BP_BOARD_ID_NOT_FOUND;
2282 + *pulValue = BP_NOT_DEFINED;
2283 + nRet = BP_BOARD_ID_NOT_SET;
2287 +} /* BpGetVoipExtIntr */
2289 +/**************************************************************************
2290 + * Name : BpGetHpnaExtIntr
2292 + * Description: This function returns the HPNA external interrupt number.
2294 + * Parameters : [OUT] pulValue - Address of short word that the HPNA
2295 + * external interrupt number is returned in.
2297 + * Returns : BP_SUCCESS - Success, value is returned.
2298 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2299 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2301 + ***************************************************************************/
2302 +int BpGetHpnaExtIntr( unsigned long *pulValue )
2306 + if( g_pCurrentBp )
2308 + *pulValue = g_pCurrentBp->usExtIntrHpna;
2310 + if( g_pCurrentBp->usExtIntrHpna != BP_NOT_DEFINED )
2312 + nRet = BP_SUCCESS;
2316 + nRet = BP_VALUE_NOT_DEFINED;
2321 + *pulValue = BP_NOT_DEFINED;
2322 + nRet = BP_BOARD_ID_NOT_SET;
2326 +} /* BpGetHpnaExtIntr */
2328 +/**************************************************************************
2329 + * Name : BpGetHpnaChipSelect
2331 + * Description: This function returns the HPNA chip select number.
2333 + * Parameters : [OUT] pulValue - Address of short word that the HPNA
2334 + * chip select number is returned in.
2336 + * Returns : BP_SUCCESS - Success, value is returned.
2337 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2338 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2340 + ***************************************************************************/
2341 +int BpGetHpnaChipSelect( unsigned long *pulValue )
2345 + if( g_pCurrentBp )
2347 + *pulValue = g_pCurrentBp->usCsHpna;
2349 + if( g_pCurrentBp->usCsHpna != BP_NOT_DEFINED )
2351 + nRet = BP_SUCCESS;
2355 + nRet = BP_VALUE_NOT_DEFINED;
2360 + *pulValue = BP_NOT_DEFINED;
2361 + nRet = BP_BOARD_ID_NOT_SET;
2365 +} /* BpGetHpnaChipSelect */
2367 +/**************************************************************************
2368 + * Name : BpGetVoipChipSelect
2370 + * Description: This function returns the VOIP chip select number.
2372 + * Parameters : [OUT] pulValue - Address of short word that the VOIP
2373 + * chip select number is returned in.
2374 + * [IN] dspNum - Address of the DSP to query.
2376 + * Returns : BP_SUCCESS - Success, value is returned.
2377 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2378 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2380 + ***************************************************************************/
2381 +int BpGetVoipChipSelect( unsigned char dspNum, unsigned long *pulValue )
2385 + if( g_pCurrentBp )
2387 + VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
2391 + *pulValue = pDspInfo->usCsVoip;
2393 + if( *pulValue != BP_NOT_DEFINED )
2395 + nRet = BP_SUCCESS;
2399 + nRet = BP_VALUE_NOT_DEFINED;
2404 + *pulValue = BP_NOT_DEFINED;
2405 + nRet = BP_BOARD_ID_NOT_FOUND;
2410 + *pulValue = BP_NOT_DEFINED;
2411 + nRet = BP_BOARD_ID_NOT_SET;
2415 +} /* BpGetVoipChipSelect */
2417 diff -Naurp linux-2.6.16.7-generic-patched/boardparms/bcm963xx/boardparms.h linux-2.6.16.7-patched/boardparms/bcm963xx/boardparms.h
2418 --- linux-2.6.16.7-generic-patched/boardparms/bcm963xx/boardparms.h 1970-01-01 01:00:00.000000000 +0100
2419 +++ linux-2.6.16.7-patched/boardparms/bcm963xx/boardparms.h 2006-07-05 15:21:58.000000000 +0200
2424 + Copyright 2003 Broadcom Corp. All Rights Reserved.
2426 + This program is free software; you can distribute it and/or modify it
2427 + under the terms of the GNU General Public License (Version 2) as
2428 + published by the Free Software Foundation.
2430 + This program is distributed in the hope it will be useful, but WITHOUT
2431 + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2432 + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
2435 + You should have received a copy of the GNU General Public License along
2436 + with this program; if not, write to the Free Software Foundation, Inc.,
2437 + 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
2441 +/**************************************************************************
2442 + * File Name : boardparms.h
2444 + * Description: This file contains definitions and function prototypes for
2445 + * the BCM63xx board parameter access functions.
2447 + * Updates : 07/14/2003 Created.
2448 + ***************************************************************************/
2450 +#if !defined(_BOARDPARMS_H)
2451 +#define _BOARDPARMS_H
2457 +/* Return codes. */
2458 +#define BP_SUCCESS 0
2459 +#define BP_BOARD_ID_NOT_FOUND 1
2460 +#define BP_VALUE_NOT_DEFINED 2
2461 +#define BP_BOARD_ID_NOT_SET 3
2463 +/* Values for BpGetSdramSize. */
2464 +#define BP_MEMORY_8MB_1_CHIP 0
2465 +#define BP_MEMORY_16MB_1_CHIP 1
2466 +#define BP_MEMORY_32MB_1_CHIP 2
2467 +#define BP_MEMORY_64MB_2_CHIP 3
2468 +#define BP_MEMORY_32MB_2_CHIP 4
2469 +#define BP_MEMORY_16MB_2_CHIP 5
2471 +/* Values for EthernetMacInfo PhyType. */
2472 +#define BP_ENET_NO_PHY 0
2473 +#define BP_ENET_INTERNAL_PHY 1
2474 +#define BP_ENET_EXTERNAL_PHY 2
2475 +#define BP_ENET_EXTERNAL_SWITCH 3
2477 +/* Values for EthernetMacInfo Configuration type. */
2478 +#define BP_ENET_CONFIG_MDIO 0 /* Internal PHY, External PHY, Switch+(no GPIO, no SPI, no MDIO Pseudo phy */
2479 +#define BP_ENET_CONFIG_GPIO 1 /* Bcm96345GW board + Bcm5325M/E */
2480 +#define BP_ENET_CONFIG_MDIO_PSEUDO_PHY 2 /* Bcm96348GW board + Bcm5325E */
2481 +#define BP_ENET_CONFIG_SPI_SSB_0 3 /* Bcm96348GW board + Bcm5325M/E */
2482 +#define BP_ENET_CONFIG_SPI_SSB_1 4 /* Bcm96348GW board + Bcm5325M/E */
2483 +#define BP_ENET_CONFIG_SPI_SSB_2 5 /* Bcm96348GW board + Bcm5325M/E */
2484 +#define BP_ENET_CONFIG_SPI_SSB_3 6 /* Bcm96348GW board + Bcm5325M/E */
2486 +/* Values for EthernetMacInfo Reverse MII. */
2487 +#define BP_ENET_NO_REVERSE_MII 0
2488 +#define BP_ENET_REVERSE_MII 1
2490 +/* Values for VoIPDSPInfo DSPType. */
2491 +#define BP_VOIP_NO_DSP 0
2492 +#define BP_VOIP_DSP 1
2495 +/* Values for GPIO pin assignments (AH = Active High, AL = Active Low). */
2496 +#define BP_ACTIVE_MASK 0x8000
2497 +#define BP_ACTIVE_HIGH 0x0000
2498 +#define BP_ACTIVE_LOW 0x8000
2499 +#define BP_GPIO_0_AH (0 | BP_ACTIVE_HIGH)
2500 +#define BP_GPIO_0_AL (0 | BP_ACTIVE_LOW)
2501 +#define BP_GPIO_1_AH (1 | BP_ACTIVE_HIGH)
2502 +#define BP_GPIO_1_AL (1 | BP_ACTIVE_LOW)
2503 +#define BP_GPIO_2_AH (2 | BP_ACTIVE_HIGH)
2504 +#define BP_GPIO_2_AL (2 | BP_ACTIVE_LOW)
2505 +#define BP_GPIO_3_AH (3 | BP_ACTIVE_HIGH)
2506 +#define BP_GPIO_3_AL (3 | BP_ACTIVE_LOW)
2507 +#define BP_GPIO_4_AH (4 | BP_ACTIVE_HIGH)
2508 +#define BP_GPIO_4_AL (4 | BP_ACTIVE_LOW)
2509 +#define BP_GPIO_5_AH (5 | BP_ACTIVE_HIGH)
2510 +#define BP_GPIO_5_AL (5 | BP_ACTIVE_LOW)
2511 +#define BP_GPIO_6_AH (6 | BP_ACTIVE_HIGH)
2512 +#define BP_GPIO_6_AL (6 | BP_ACTIVE_LOW)
2513 +#define BP_GPIO_7_AH (7 | BP_ACTIVE_HIGH)
2514 +#define BP_GPIO_7_AL (7 | BP_ACTIVE_LOW)
2515 +#define BP_GPIO_8_AH (8 | BP_ACTIVE_HIGH)
2516 +#define BP_GPIO_8_AL (8 | BP_ACTIVE_LOW)
2517 +#define BP_GPIO_9_AH (9 | BP_ACTIVE_HIGH)
2518 +#define BP_GPIO_9_AL (9 | BP_ACTIVE_LOW)
2519 +#define BP_GPIO_10_AH (10 | BP_ACTIVE_HIGH)
2520 +#define BP_GPIO_10_AL (10 | BP_ACTIVE_LOW)
2521 +#define BP_GPIO_11_AH (11 | BP_ACTIVE_HIGH)
2522 +#define BP_GPIO_11_AL (11 | BP_ACTIVE_LOW)
2523 +#define BP_GPIO_12_AH (12 | BP_ACTIVE_HIGH)
2524 +#define BP_GPIO_12_AL (12 | BP_ACTIVE_LOW)
2525 +#define BP_GPIO_13_AH (13 | BP_ACTIVE_HIGH)
2526 +#define BP_GPIO_13_AL (13 | BP_ACTIVE_LOW)
2527 +#define BP_GPIO_14_AH (14 | BP_ACTIVE_HIGH)
2528 +#define BP_GPIO_14_AL (14 | BP_ACTIVE_LOW)
2529 +#define BP_GPIO_15_AH (15 | BP_ACTIVE_HIGH)
2530 +#define BP_GPIO_15_AL (15 | BP_ACTIVE_LOW)
2531 +#define BP_GPIO_16_AH (16 | BP_ACTIVE_HIGH)
2532 +#define BP_GPIO_16_AL (16 | BP_ACTIVE_LOW)
2533 +#define BP_GPIO_17_AH (17 | BP_ACTIVE_HIGH)
2534 +#define BP_GPIO_17_AL (17 | BP_ACTIVE_LOW)
2535 +#define BP_GPIO_18_AH (18 | BP_ACTIVE_HIGH)
2536 +#define BP_GPIO_18_AL (18 | BP_ACTIVE_LOW)
2537 +#define BP_GPIO_19_AH (19 | BP_ACTIVE_HIGH)
2538 +#define BP_GPIO_19_AL (19 | BP_ACTIVE_LOW)
2539 +#define BP_GPIO_20_AH (20 | BP_ACTIVE_HIGH)
2540 +#define BP_GPIO_20_AL (20 | BP_ACTIVE_LOW)
2541 +#define BP_GPIO_21_AH (21 | BP_ACTIVE_HIGH)
2542 +#define BP_GPIO_21_AL (21 | BP_ACTIVE_LOW)
2543 +#define BP_GPIO_22_AH (22 | BP_ACTIVE_HIGH)
2544 +#define BP_GPIO_22_AL (22 | BP_ACTIVE_LOW)
2545 +#define BP_GPIO_23_AH (23 | BP_ACTIVE_HIGH)
2546 +#define BP_GPIO_23_AL (23 | BP_ACTIVE_LOW)
2547 +#define BP_GPIO_24_AH (24 | BP_ACTIVE_HIGH)
2548 +#define BP_GPIO_24_AL (24 | BP_ACTIVE_LOW)
2549 +#define BP_GPIO_25_AH (25 | BP_ACTIVE_HIGH)
2550 +#define BP_GPIO_25_AL (25 | BP_ACTIVE_LOW)
2551 +#define BP_GPIO_26_AH (26 | BP_ACTIVE_HIGH)
2552 +#define BP_GPIO_26_AL (26 | BP_ACTIVE_LOW)
2553 +#define BP_GPIO_27_AH (27 | BP_ACTIVE_HIGH)
2554 +#define BP_GPIO_27_AL (27 | BP_ACTIVE_LOW)
2555 +#define BP_GPIO_28_AH (28 | BP_ACTIVE_HIGH)
2556 +#define BP_GPIO_28_AL (28 | BP_ACTIVE_LOW)
2557 +#define BP_GPIO_29_AH (29 | BP_ACTIVE_HIGH)
2558 +#define BP_GPIO_29_AL (29 | BP_ACTIVE_LOW)
2559 +#define BP_GPIO_30_AH (30 | BP_ACTIVE_HIGH)
2560 +#define BP_GPIO_30_AL (30 | BP_ACTIVE_LOW)
2561 +#define BP_GPIO_31_AH (31 | BP_ACTIVE_HIGH)
2562 +#define BP_GPIO_31_AL (31 | BP_ACTIVE_LOW)
2563 +#define BP_GPIO_32_AH (32 | BP_ACTIVE_HIGH)
2564 +#define BP_GPIO_32_AL (32 | BP_ACTIVE_LOW)
2565 +#define BP_GPIO_33_AH (33 | BP_ACTIVE_HIGH)
2566 +#define BP_GPIO_33_AL (33 | BP_ACTIVE_LOW)
2567 +#define BP_GPIO_34_AH (34 | BP_ACTIVE_HIGH)
2568 +#define BP_GPIO_34_AL (34 | BP_ACTIVE_LOW)
2569 +#define BP_GPIO_35_AH (35 | BP_ACTIVE_HIGH)
2570 +#define BP_GPIO_35_AL (35 | BP_ACTIVE_LOW)
2571 +#define BP_GPIO_36_AH (36 | BP_ACTIVE_HIGH)
2572 +#define BP_GPIO_36_AL (36 | BP_ACTIVE_LOW)
2574 +/* Values for external interrupt assignments. */
2575 +#define BP_EXT_INTR_0 0
2576 +#define BP_EXT_INTR_1 1
2577 +#define BP_EXT_INTR_2 2
2578 +#define BP_EXT_INTR_3 3
2580 +/* Values for chip select assignments. */
2586 +/* Value for GPIO and external interrupt fields that are not used. */
2587 +#define BP_NOT_DEFINED 0xffff
2588 +#define BP_HW_DEFINED 0xfff0
2589 +#define BP_UNEQUIPPED 0xfff1
2591 +/* Maximum size of the board id string. */
2592 +#define BP_BOARD_ID_LEN 16
2594 +/* Maximum number of Ethernet MACs. */
2595 +#define BP_MAX_ENET_MACS 2
2597 +/* Maximum number of VoIP DSPs. */
2598 +#define BP_MAX_VOIP_DSP 2
2600 +/* Wireless Antenna Settings. */
2601 +#define BP_WLAN_ANT_MAIN 0
2602 +#define BP_WLAN_ANT_AUX 1
2603 +#define BP_WLAN_ANT_BOTH 3
2605 +#if !defined(__ASSEMBLER__)
2607 +/* Information about an Ethernet MAC. If ucPhyType is BP_ENET_NO_PHY,
2608 + * then the other fields are not valid.
2610 +typedef struct EthernetMacInfo
2612 + unsigned char ucPhyType; /* BP_ENET_xxx */
2613 + unsigned char ucPhyAddress; /* 0 to 31 */
2614 + unsigned short usGpioPhySpiSck; /* GPIO pin or not defined */
2615 + unsigned short usGpioPhySpiSs; /* GPIO pin or not defined */
2616 + unsigned short usGpioPhySpiMosi; /* GPIO pin or not defined */
2617 + unsigned short usGpioPhySpiMiso; /* GPIO pin or not defined */
2618 + unsigned short usGpioPhyReset; /* GPIO pin or not defined (96348LV) */
2619 + unsigned short numSwitchPorts; /* Number of PHY ports */
2620 + unsigned short usConfigType; /* Configuration type */
2621 + unsigned short usReverseMii; /* Reverse MII */
2622 +} ETHERNET_MAC_INFO, *PETHERNET_MAC_INFO;
2625 +/* Information about VoIP DSPs. If ucDspType is BP_VOIP_NO_DSP,
2626 + * then the other fields are not valid.
2628 +typedef struct VoIPDspInfo
2630 + unsigned char ucDspType;
2631 + unsigned char ucDspAddress;
2632 + unsigned short usExtIntrVoip;
2633 + unsigned short usGpioVoipReset;
2634 + unsigned short usGpioVoipIntr;
2635 + unsigned short usGpioLedVoip;
2636 + unsigned short usCsVoip;
2641 +/**************************************************************************
2642 + * Name : BpSetBoardId
2644 + * Description: This function find the BOARD_PARAMETERS structure for the
2645 + * specified board id string and assigns it to a global, static
2648 + * Parameters : [IN] pszBoardId - Board id string that is saved into NVRAM.
2650 + * Returns : BP_SUCCESS - Success, value is returned.
2651 + * BP_BOARD_ID_NOT_FOUND - Error, board id input string does not
2652 + * have a board parameters configuration record.
2653 + ***************************************************************************/
2654 +int BpSetBoardId( char *pszBoardId );
2656 +/**************************************************************************
2657 + * Name : BpGetBoardIds
2659 + * Description: This function returns all of the supported board id strings.
2661 + * Parameters : [OUT] pszBoardIds - Address of a buffer that the board id
2662 + * strings are returned in. Each id starts at BP_BOARD_ID_LEN
2664 + * [IN] nBoardIdsSize - Number of BP_BOARD_ID_LEN elements that
2665 + * were allocated in pszBoardIds.
2667 + * Returns : Number of board id strings returned.
2668 + ***************************************************************************/
2669 +int BpGetBoardIds( char *pszBoardIds, int nBoardIdsSize );
2671 +/**************************************************************************
2672 + * Name : BpGetEthernetMacInfo
2674 + * Description: This function returns all of the supported board id strings.
2676 + * Parameters : [OUT] pEnetInfos - Address of an array of ETHERNET_MAC_INFO
2678 + * [IN] nNumEnetInfos - Number of ETHERNET_MAC_INFO elements that
2679 + * are pointed to by pEnetInfos.
2681 + * Returns : BP_SUCCESS - Success, value is returned.
2682 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2683 + ***************************************************************************/
2684 +int BpGetEthernetMacInfo( PETHERNET_MAC_INFO pEnetInfos, int nNumEnetInfos );
2686 +/**************************************************************************
2687 + * Name : BpGetSdramSize
2689 + * Description: This function returns a constant that describees the board's
2690 + * SDRAM type and size.
2692 + * Parameters : [OUT] pulSdramSize - Address of short word that the SDRAM size
2695 + * Returns : BP_SUCCESS - Success, value is returned.
2696 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2697 + ***************************************************************************/
2698 +int BpGetSdramSize( unsigned long *pulSdramSize );
2700 +/**************************************************************************
2701 + * Name : BpGetPsiSize
2703 + * Description: This function returns the persistent storage size in K bytes.
2705 + * Parameters : [OUT] pulPsiSize - Address of short word that the persistent
2706 + * storage size is returned in.
2708 + * Returns : BP_SUCCESS - Success, value is returned.
2709 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2710 + ***************************************************************************/
2711 +int BpGetPsiSize( unsigned long *pulPsiSize );
2713 +/**************************************************************************
2714 + * Name : BpGetRj11InnerOuterPairGpios
2716 + * Description: This function returns the GPIO pin assignments for changing
2717 + * between the RJ11 inner pair and RJ11 outer pair.
2719 + * Parameters : [OUT] pusInner - Address of short word that the RJ11 inner pair
2720 + * GPIO pin is returned in.
2721 + * [OUT] pusOuter - Address of short word that the RJ11 outer pair
2722 + * GPIO pin is returned in.
2724 + * Returns : BP_SUCCESS - Success, values are returned.
2725 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2726 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2728 + ***************************************************************************/
2729 +int BpGetRj11InnerOuterPairGpios( unsigned short *pusInner,
2730 + unsigned short *pusOuter );
2732 +/**************************************************************************
2733 + * Name : BpGetPressAndHoldResetGpio
2735 + * Description: This function returns the GPIO pin assignment for the press
2736 + * and hold reset button.
2738 + * Parameters : [OUT] pusValue - Address of short word that the press and hold
2739 + * reset button GPIO pin is returned in.
2741 + * Returns : BP_SUCCESS - Success, value is returned.
2742 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2743 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2745 + ***************************************************************************/
2746 +int BpGetPressAndHoldResetGpio( unsigned short *pusValue );
2748 +/**************************************************************************
2749 + * Name : BpGetVoipResetGpio
2751 + * Description: This function returns the GPIO pin assignment for the VOIP
2752 + * Reset operation.
2754 + * Parameters : [OUT] pusValue - Address of short word that the VOIP reset
2755 + * GPIO pin is returned in.
2756 + * [IN] dspNum - Address of the DSP to query.
2758 + * Returns : BP_SUCCESS - Success, value is returned.
2759 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2760 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2762 + ***************************************************************************/
2763 +int BpGetVoipResetGpio( unsigned char dspNum, unsigned short *pusValue );
2765 +/**************************************************************************
2766 + * Name : BpGetVoipIntrGpio
2768 + * Description: This function returns the GPIO pin assignment for VoIP interrupt.
2770 + * Parameters : [OUT] pusValue - Address of short word that the VOIP interrupt
2771 + * GPIO pin is returned in.
2772 + * [IN] dspNum - Address of the DSP to query.
2774 + * Returns : BP_SUCCESS - Success, value is returned.
2775 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2776 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2778 + ***************************************************************************/
2779 +int BpGetVoipIntrGpio( unsigned char dspNum, unsigned short *pusValue );
2781 +/**************************************************************************
2782 + * Name : BpGetPcmciaResetGpio
2784 + * Description: This function returns the GPIO pin assignment for the PCMCIA
2785 + * Reset operation.
2787 + * Parameters : [OUT] pusValue - Address of short word that the PCMCIA reset
2788 + * GPIO pin is returned in.
2790 + * Returns : BP_SUCCESS - Success, value is returned.
2791 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2792 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2794 + ***************************************************************************/
2795 +int BpGetPcmciaResetGpio( unsigned short *pusValue );
2797 +/**************************************************************************
2798 + * Name : BpGetUartRtsCtsGpios
2800 + * Description: This function returns the GPIO pin assignments for RTS and CTS
2803 + * Parameters : [OUT] pusRts - Address of short word that the UART RTS GPIO
2804 + * pin is returned in.
2805 + * [OUT] pusCts - Address of short word that the UART CTS GPIO
2806 + * pin is returned in.
2808 + * Returns : BP_SUCCESS - Success, values are returned.
2809 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2810 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2812 + ***************************************************************************/
2813 +int BpGetRtsCtsUartGpios( unsigned short *pusRts, unsigned short *pusCts );
2815 +/**************************************************************************
2816 + * Name : BpGetAdslLedGpio
2818 + * Description: This function returns the GPIO pin assignment for the ADSL
2821 + * Parameters : [OUT] pusValue - Address of short word that the ADSL LED
2822 + * GPIO pin is returned in.
2824 + * Returns : BP_SUCCESS - Success, value is returned.
2825 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2826 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2828 + ***************************************************************************/
2829 +int BpGetAdslLedGpio( unsigned short *pusValue );
2831 +/**************************************************************************
2832 + * Name : BpGetAdslFailLedGpio
2834 + * Description: This function returns the GPIO pin assignment for the ADSL
2835 + * LED that is used when there is a DSL connection failure.
2837 + * Parameters : [OUT] pusValue - Address of short word that the ADSL LED
2838 + * GPIO pin is returned in.
2840 + * Returns : BP_SUCCESS - Success, value is returned.
2841 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2842 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2844 + ***************************************************************************/
2845 +int BpGetAdslFailLedGpio( unsigned short *pusValue );
2847 +/**************************************************************************
2848 + * Name : BpGetWirelessLedGpio
2850 + * Description: This function returns the GPIO pin assignment for the Wireless
2853 + * Parameters : [OUT] pusValue - Address of short word that the Wireless LED
2854 + * GPIO pin is returned in.
2856 + * Returns : BP_SUCCESS - Success, value is returned.
2857 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2858 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2860 + ***************************************************************************/
2861 +int BpGetWirelessLedGpio( unsigned short *pusValue );
2863 +/**************************************************************************
2864 + * Name : BpGetWirelessAntInUse
2866 + * Description: This function returns the antennas in use for wireless
2868 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Antenna
2871 + * Returns : BP_SUCCESS - Success, value is returned.
2872 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2873 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2875 + ***************************************************************************/
2876 +int BpGetWirelessAntInUse( unsigned short *pusValue );
2878 +/**************************************************************************
2879 + * Name : BpGetWirelessSesBtnGpio
2881 + * Description: This function returns the GPIO pin assignment for the Wireless
2884 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
2885 + * Button GPIO pin is returned in.
2887 + * Returns : BP_SUCCESS - Success, value is returned.
2888 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2889 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2891 + ***************************************************************************/
2892 +int BpGetWirelessSesBtnGpio( unsigned short *pusValue );
2894 +/**************************************************************************
2895 + * Name : BpGetWirelessSesExtIntr
2897 + * Description: This function returns the external interrupt number for the
2898 + * Wireless Ses Button.
2900 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
2901 + * external interrup is returned in.
2903 + * Returns : BP_SUCCESS - Success, value is returned.
2904 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2905 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2907 + ***************************************************************************/
2908 +int BpGetWirelessSesExtIntr( unsigned short *pusValue );
2910 +/**************************************************************************
2911 + * Name : BpGetWirelessSesLedGpio
2913 + * Description: This function returns the GPIO pin assignment for the Wireless
2916 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
2917 + * Led GPIO pin is returned in.
2919 + * Returns : BP_SUCCESS - Success, value is returned.
2920 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2921 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2923 + ***************************************************************************/
2924 +int BpGetWirelessSesLedGpio( unsigned short *pusValue );
2926 +/**************************************************************************
2927 + * Name : BpGetUsbLedGpio
2929 + * Description: This function returns the GPIO pin assignment for the USB
2932 + * Parameters : [OUT] pusValue - Address of short word that the USB LED
2933 + * GPIO pin is returned in.
2935 + * Returns : BP_SUCCESS - Success, value is returned.
2936 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2937 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2939 + ***************************************************************************/
2940 +int BpGetUsbLedGpio( unsigned short *pusValue );
2942 +/**************************************************************************
2943 + * Name : BpGetHpnaLedGpio
2945 + * Description: This function returns the GPIO pin assignment for the HPNA
2948 + * Parameters : [OUT] pusValue - Address of short word that the HPNA LED
2949 + * GPIO pin is returned in.
2951 + * Returns : BP_SUCCESS - Success, value is returned.
2952 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2953 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2955 + ***************************************************************************/
2956 +int BpGetHpnaLedGpio( unsigned short *pusValue );
2958 +/**************************************************************************
2959 + * Name : BpGetWanDataLedGpio
2961 + * Description: This function returns the GPIO pin assignment for the WAN Data
2964 + * Parameters : [OUT] pusValue - Address of short word that the WAN Data LED
2965 + * GPIO pin is returned in.
2967 + * Returns : BP_SUCCESS - Success, value is returned.
2968 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2969 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2971 + ***************************************************************************/
2972 +int BpGetWanDataLedGpio( unsigned short *pusValue );
2974 +/**************************************************************************
2975 + * Name : BpGetPppLedGpio
2977 + * Description: This function returns the GPIO pin assignment for the PPP
2980 + * Parameters : [OUT] pusValue - Address of short word that the PPP LED
2981 + * GPIO pin is returned in.
2983 + * Returns : BP_SUCCESS - Success, value is returned.
2984 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
2985 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
2987 + ***************************************************************************/
2988 +int BpGetPppLedGpio( unsigned short *pusValue );
2990 +/**************************************************************************
2991 + * Name : BpGetPppFailLedGpio
2993 + * Description: This function returns the GPIO pin assignment for the PPP
2994 + * LED that is used when there is a PPP connection failure.
2996 + * Parameters : [OUT] pusValue - Address of short word that the PPP LED
2997 + * GPIO pin is returned in.
2999 + * Returns : BP_SUCCESS - Success, value is returned.
3000 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3001 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3003 + ***************************************************************************/
3004 +int BpGetPppFailLedGpio( unsigned short *pusValue );
3006 +/**************************************************************************
3007 + * Name : BpGetVoipLedGpio
3009 + * Description: This function returns the GPIO pin assignment for the VOIP
3012 + * Parameters : [OUT] pusValue - Address of short word that the VOIP LED
3013 + * GPIO pin is returned in.
3015 + * Returns : BP_SUCCESS - Success, value is returned.
3016 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3017 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3019 + ***************************************************************************/
3020 +int BpGetVoipLedGpio( unsigned short *pusValue );
3022 +/**************************************************************************
3023 + * Name : BpGetBootloaderPowerOnLedGpio
3025 + * Description: This function returns the GPIO pin assignment for the power
3026 + * on LED that is set by the bootloader.
3028 + * Parameters : [OUT] pusValue - Address of short word that the alarm LED
3029 + * GPIO pin is returned in.
3031 + * Returns : BP_SUCCESS - Success, value is returned.
3032 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3033 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3035 + ***************************************************************************/
3036 +int BpGetBootloaderPowerOnLedGpio( unsigned short *pusValue );
3038 +/**************************************************************************
3039 + * Name : BpGetBootloaderAlarmLedGpio
3041 + * Description: This function returns the GPIO pin assignment for the alarm
3042 + * LED that is set by the bootloader.
3044 + * Parameters : [OUT] pusValue - Address of short word that the alarm LED
3045 + * GPIO pin is returned in.
3047 + * Returns : BP_SUCCESS - Success, value is returned.
3048 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3049 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3051 + ***************************************************************************/
3052 +int BpGetBootloaderAlarmLedGpio( unsigned short *pusValue );
3054 +/**************************************************************************
3055 + * Name : BpGetBootloaderResetCfgLedGpio
3057 + * Description: This function returns the GPIO pin assignment for the reset
3058 + * configuration LED that is set by the bootloader.
3060 + * Parameters : [OUT] pusValue - Address of short word that the reset
3061 + * configuration LED GPIO pin is returned in.
3063 + * Returns : BP_SUCCESS - Success, value is returned.
3064 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3065 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3067 + ***************************************************************************/
3068 +int BpGetBootloaderResetCfgLedGpio( unsigned short *pusValue );
3070 +/**************************************************************************
3071 + * Name : BpGetBootloaderStopLedGpio
3073 + * Description: This function returns the GPIO pin assignment for the break
3074 + * into bootloader LED that is set by the bootloader.
3076 + * Parameters : [OUT] pusValue - Address of short word that the break into
3077 + * bootloader LED GPIO pin is returned in.
3079 + * Returns : BP_SUCCESS - Success, value is returned.
3080 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3081 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3083 + ***************************************************************************/
3084 +int BpGetBootloaderStopLedGpio( unsigned short *pusValue );
3086 +/**************************************************************************
3087 + * Name : BpGetWirelessExtIntr
3089 + * Description: This function returns the Wireless external interrupt number.
3091 + * Parameters : [OUT] pulValue - Address of short word that the wireless
3092 + * external interrupt number is returned in.
3094 + * Returns : BP_SUCCESS - Success, value is returned.
3095 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3096 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3098 + ***************************************************************************/
3099 +int BpGetWirelessExtIntr( unsigned long *pulValue );
3101 +/**************************************************************************
3102 + * Name : BpGetAdslDyingGaspExtIntr
3104 + * Description: This function returns the ADSL Dying Gasp external interrupt
3107 + * Parameters : [OUT] pulValue - Address of short word that the ADSL Dying Gasp
3108 + * external interrupt number is returned in.
3110 + * Returns : BP_SUCCESS - Success, value is returned.
3111 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3112 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3114 + ***************************************************************************/
3115 +int BpGetAdslDyingGaspExtIntr( unsigned long *pulValue );
3117 +/**************************************************************************
3118 + * Name : BpGetVoipExtIntr
3120 + * Description: This function returns the VOIP external interrupt number.
3122 + * Parameters : [OUT] pulValue - Address of short word that the VOIP
3123 + * external interrupt number is returned in.
3124 + * [IN] dspNum - Address of the DSP to query.
3126 + * Returns : BP_SUCCESS - Success, value is returned.
3127 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3128 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3130 + ***************************************************************************/
3131 +int BpGetVoipExtIntr( unsigned char dspNum, unsigned long *pulValue );
3133 +/**************************************************************************
3134 + * Name : BpGetHpnaExtIntr
3136 + * Description: This function returns the HPNA external interrupt number.
3138 + * Parameters : [OUT] pulValue - Address of short word that the HPNA
3139 + * external interrupt number is returned in.
3141 + * Returns : BP_SUCCESS - Success, value is returned.
3142 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3143 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3145 + ***************************************************************************/
3146 +int BpGetHpnaExtIntr( unsigned long *pulValue );
3148 +/**************************************************************************
3149 + * Name : BpGetHpnaChipSelect
3151 + * Description: This function returns the HPNA chip select number.
3153 + * Parameters : [OUT] pulValue - Address of short word that the HPNA
3154 + * chip select number is returned in.
3156 + * Returns : BP_SUCCESS - Success, value is returned.
3157 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3158 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3160 + ***************************************************************************/
3161 +int BpGetHpnaChipSelect( unsigned long *pulValue );
3163 +/**************************************************************************
3164 + * Name : BpGetVoipChipSelect
3166 + * Description: This function returns the VOIP chip select number.
3168 + * Parameters : [OUT] pulValue - Address of short word that the VOIP
3169 + * chip select number is returned in.
3170 + * [IN] dspNum - Address of the DSP to query.
3172 + * Returns : BP_SUCCESS - Success, value is returned.
3173 + * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called.
3174 + * BP_VALUE_NOT_DEFINED - At least one return value is not defined
3176 + ***************************************************************************/
3177 +int BpGetVoipChipSelect( unsigned char dspNum, unsigned long *pulValue );
3179 +#endif /* __ASSEMBLER__ */
3185 +#endif /* _BOARDPARMS_H */