Fix brcm63xx support. Now a kernel is booting, detecting the flash, and can probably...
[openwrt.git] / target / linux / brcm63xx-2.6 / patches / 030-boardparms.patch
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
4 @@ -0,0 +1,16 @@
5 +
6 +ifeq ($(CONFIG_MIPS_BRCM),y)
7 +
8 +# Linux
9 +obj-y += boardparms.o
10 +EXTRA_CFLAGS += -DCONFIG_BCM9$(BRCM_CHIP)
11 +-include $(TOPDIR)/Rules.make
12 +
13 +else
14 +
15 +# CFE
16 +BSPOBJS += boardparms.o
17 +
18 +endif
19 +
20 +
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
24 @@ -0,0 +1,2392 @@
25 +/*
26 +<:copyright-gpl
27 +
28 + Copyright 2003 Broadcom Corp. All Rights Reserved.
29 +
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.
33 +
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
37 + for more details.
38 +
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.
42 +
43 +:>
44 +*/
45 +/**************************************************************************
46 + * File Name : boardparms.c
47 + *
48 + * Description: This file contains the implementation for the BCM63xx board
49 + * parameter access functions.
50 + *
51 + * Updates : 07/14/2003 Created.
52 + ***************************************************************************/
53 +
54 +/* Includes. */
55 +#include <linux/config.h>
56 +#include "boardparms.h"
57 +
58 +/* Defines. */
59 +
60 +/* Default psi size in K bytes */
61 +#define BP_PSI_DEFAULT_SIZE 24
62 +
63 +/* Typedefs */
64 +typedef struct boardparameters
65 +{
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;
98 +
99 +/* Variables */
100 +#if defined(_BCM96338_) || defined(CONFIG_BCM96338)
101 +static BOARD_PARAMETERS g_bcm96338sv =
102 +{
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 */
145 +};
146 +static BOARD_PARAMETERS g_bcm96338l2m8m =
147 +{
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 */
190 +};
191 +static PBOARD_PARAMETERS g_BoardParms[] =
192 + {&g_bcm96338sv, &g_bcm96338l2m8m, 0};
193 +#endif
194 +
195 +#if defined(_BCM96345_) || defined(CONFIG_BCM96345)
196 +static BOARD_PARAMETERS g_bcm96345r =
197 +{
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 */
240 +};
241 +
242 +static BOARD_PARAMETERS g_bcm96345gw2 =
243 +{
244 + /* A hardware jumper determines whether GPIO 13 is used for Press and Hold
245 + * Reset or RTS.
246 + */
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 */
295 +};
296 +
297 +static BOARD_PARAMETERS g_bcm96345gw =
298 +{
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 */
347 +};
348 +
349 +static BOARD_PARAMETERS g_bcm96335r =
350 +{
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 */
393 +};
394 +
395 +static BOARD_PARAMETERS g_bcm96345r0 =
396 +{
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 */
439 +};
440 +
441 +static BOARD_PARAMETERS g_bcm96345rs =
442 +{
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 */
485 +};
486 +
487 +static PBOARD_PARAMETERS g_BoardParms[] =
488 + {&g_bcm96345r, &g_bcm96345gw2, &g_bcm96345gw, &g_bcm96335r, &g_bcm96345r0,
489 + &g_bcm96345rs, 0};
490 +#endif
491 +
492 +#if defined(_BCM96348_) || defined(CONFIG_BCM96348)
493 +
494 +static BOARD_PARAMETERS g_bcm96348r =
495 +{
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 */
538 +};
539 +
540 +static BOARD_PARAMETERS g_bcm96348lv =
541 +{
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 */
593 +};
594 +
595 +static BOARD_PARAMETERS g_bcm96348gw =
596 +{
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 */
654 +};
655 +
656 +
657 +static BOARD_PARAMETERS g_bcm96348gw_10 =
658 +{
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 */
716 +};
717 +
718 +static BOARD_PARAMETERS g_bcm96348gw_11 =
719 +{
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 */
762 +};
763 +
764 +static BOARD_PARAMETERS g_bcm96348sv =
765 +{
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 */
817 +};
818 +
819 +
820 +static BOARD_PARAMETERS g_bcm96348gw_dualDsp =
821 +{
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 */
885 +};
886 +
887 +
888 +static BOARD_PARAMETERS g_bcmCustom_01 =
889 +{
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 */
947 +};
948 +
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};
953 +#endif
954 +
955 +static PBOARD_PARAMETERS g_pCurrentBp = 0;
956 +
957 +/**************************************************************************
958 + * Name : bpstrcmp
959 + *
960 + * Description: String compare for this file so it does not depend on an OS.
961 + * (Linux kernel and CFE share this source file.)
962 + *
963 + * Parameters : [IN] dest - destination string
964 + * [IN] src - source string
965 + *
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)
970 +{
971 + while (*src && *dest)
972 + {
973 + if (*dest < *src) return -1;
974 + if (*dest > *src) return 1;
975 + dest++;
976 + src++;
977 + }
978 +
979 + if (*dest && !*src) return 1;
980 + if (!*dest && *src) return -1;
981 + return 0;
982 +} /* bpstrcmp */
983 +
984 +/**************************************************************************
985 + * Name : BpGetVoipDspConfig
986 + *
987 + * Description: Gets the DSP configuration from the board parameter
988 + * structure for a given DSP index.
989 + *
990 + * Parameters : [IN] dspNum - DSP index (number)
991 + *
992 + * Returns : Pointer to DSP configuration block if found/valid, NULL
993 + * otherwise.
994 + ***************************************************************************/
995 +VOIP_DSP_INFO *BpGetVoipDspConfig( unsigned char dspNum );
996 +VOIP_DSP_INFO *BpGetVoipDspConfig( unsigned char dspNum )
997 +{
998 + VOIP_DSP_INFO *pDspConfig = 0;
999 + int i;
1000 +
1001 + if( g_pCurrentBp )
1002 + {
1003 + for( i = 0 ; i < BP_MAX_VOIP_DSP ; i++ )
1004 + {
1005 + if( g_pCurrentBp->VoIPDspInfo[i].ucDspType != BP_VOIP_NO_DSP &&
1006 + g_pCurrentBp->VoIPDspInfo[i].ucDspAddress == dspNum )
1007 + {
1008 + pDspConfig = &g_pCurrentBp->VoIPDspInfo[i];
1009 + break;
1010 + }
1011 + }
1012 + }
1013 +
1014 + return pDspConfig;
1015 +}
1016 +
1017 +
1018 +/**************************************************************************
1019 + * Name : BpSetBoardId
1020 + *
1021 + * Description: This function find the BOARD_PARAMETERS structure for the
1022 + * specified board id string and assigns it to a global, static
1023 + * variable.
1024 + *
1025 + * Parameters : [IN] pszBoardId - Board id string that is saved into NVRAM.
1026 + *
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 )
1032 +{
1033 + int nRet = BP_BOARD_ID_NOT_FOUND;
1034 + PBOARD_PARAMETERS *ppBp;
1035 +
1036 + for( ppBp = g_BoardParms; *ppBp; ppBp++ )
1037 + {
1038 + if( !bpstrcmp((*ppBp)->szBoardId, pszBoardId) )
1039 + {
1040 + g_pCurrentBp = *ppBp;
1041 + nRet = BP_SUCCESS;
1042 + break;
1043 + }
1044 + }
1045 +
1046 + return( nRet );
1047 +} /* BpSetBoardId */
1048 +
1049 +/**************************************************************************
1050 + * Name : BpGetBoardIds
1051 + *
1052 + * Description: This function returns all of the supported board id strings.
1053 + *
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
1056 + * boundary.
1057 + * [IN] nBoardIdsSize - Number of BP_BOARD_ID_LEN elements that
1058 + * were allocated in pszBoardIds.
1059 + *
1060 + * Returns : Number of board id strings returned.
1061 + ***************************************************************************/
1062 +int BpGetBoardIds( char *pszBoardIds, int nBoardIdsSize )
1063 +{
1064 + PBOARD_PARAMETERS *ppBp;
1065 + int i;
1066 + char *src;
1067 + char *dest;
1068 +
1069 + for( i = 0, ppBp = g_BoardParms; *ppBp && nBoardIdsSize;
1070 + i++, ppBp++, nBoardIdsSize--, pszBoardIds += BP_BOARD_ID_LEN )
1071 + {
1072 + dest = pszBoardIds;
1073 + src = (*ppBp)->szBoardId;
1074 + while( *src )
1075 + *dest++ = *src++;
1076 + *dest = '\0';
1077 + }
1078 +
1079 + return( i );
1080 +} /* BpGetBoardIds */
1081 +
1082 +/**************************************************************************
1083 + * Name : BpGetEthernetMacInfo
1084 + *
1085 + * Description: This function returns all of the supported board id strings.
1086 + *
1087 + * Parameters : [OUT] pEnetInfos - Address of an array of ETHERNET_MAC_INFO
1088 + * buffers.
1089 + * [IN] nNumEnetInfos - Number of ETHERNET_MAC_INFO elements that
1090 + * are pointed to by pEnetInfos.
1091 + *
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 )
1096 +{
1097 + int i, nRet;
1098 +
1099 + if( g_pCurrentBp )
1100 + {
1101 + for( i = 0; i < nNumEnetInfos; i++, pEnetInfos++ )
1102 + {
1103 + if( i < BP_MAX_ENET_MACS )
1104 + {
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);
1109 + while( len-- )
1110 + *dest++ = *src++;
1111 + }
1112 + else
1113 + pEnetInfos->ucPhyType = BP_ENET_NO_PHY;
1114 + }
1115 +
1116 + nRet = BP_SUCCESS;
1117 + }
1118 + else
1119 + {
1120 + for( i = 0; i < nNumEnetInfos; i++, pEnetInfos++ )
1121 + pEnetInfos->ucPhyType = BP_ENET_NO_PHY;
1122 +
1123 + nRet = BP_BOARD_ID_NOT_SET;
1124 + }
1125 +
1126 + return( nRet );
1127 +} /* BpGetEthernetMacInfo */
1128 +
1129 +/**************************************************************************
1130 + * Name : BpGetSdramSize
1131 + *
1132 + * Description: This function returns a constant that describees the board's
1133 + * SDRAM type and size.
1134 + *
1135 + * Parameters : [OUT] pulSdramSize - Address of short word that the SDRAM size
1136 + * is returned in.
1137 + *
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 )
1142 +{
1143 + int nRet;
1144 +
1145 + if( g_pCurrentBp )
1146 + {
1147 + *pulSdramSize = g_pCurrentBp->usSdramSize;
1148 + nRet = BP_SUCCESS;
1149 + }
1150 + else
1151 + {
1152 + *pulSdramSize = BP_NOT_DEFINED;
1153 + nRet = BP_BOARD_ID_NOT_SET;
1154 + }
1155 +
1156 + return( nRet );
1157 +} /* BpGetSdramSize */
1158 +
1159 +/**************************************************************************
1160 + * Name : BpGetPsiSize
1161 + *
1162 + * Description: This function returns the persistent storage size in K bytes.
1163 + *
1164 + * Parameters : [OUT] pulPsiSize - Address of short word that the persistent
1165 + * storage size is returned in.
1166 + *
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 )
1171 +{
1172 + int nRet;
1173 +
1174 + if( g_pCurrentBp )
1175 + {
1176 + *pulPsiSize = g_pCurrentBp->usPsiSize;
1177 + nRet = BP_SUCCESS;
1178 + }
1179 + else
1180 + {
1181 + *pulPsiSize = BP_NOT_DEFINED;
1182 + nRet = BP_BOARD_ID_NOT_SET;
1183 + }
1184 +
1185 + return( nRet );
1186 +} /* BpGetPsiSize */
1187 +
1188 +/**************************************************************************
1189 + * Name : BpGetRj11InnerOuterPairGpios
1190 + *
1191 + * Description: This function returns the GPIO pin assignments for changing
1192 + * between the RJ11 inner pair and RJ11 outer pair.
1193 + *
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.
1198 + *
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
1202 + * for the board.
1203 + ***************************************************************************/
1204 +int BpGetRj11InnerOuterPairGpios( unsigned short *pusInner,
1205 + unsigned short *pusOuter )
1206 +{
1207 + int nRet;
1208 +
1209 + if( g_pCurrentBp )
1210 + {
1211 + *pusInner = g_pCurrentBp->usGpioRj11InnerPair;
1212 + *pusOuter = g_pCurrentBp->usGpioRj11OuterPair;
1213 +
1214 + if( g_pCurrentBp->usGpioRj11InnerPair != BP_NOT_DEFINED &&
1215 + g_pCurrentBp->usGpioRj11OuterPair != BP_NOT_DEFINED )
1216 + {
1217 + nRet = BP_SUCCESS;
1218 + }
1219 + else
1220 + {
1221 + nRet = BP_VALUE_NOT_DEFINED;
1222 + }
1223 + }
1224 + else
1225 + {
1226 + *pusInner = *pusOuter = BP_NOT_DEFINED;
1227 + nRet = BP_BOARD_ID_NOT_SET;
1228 + }
1229 +
1230 + return( nRet );
1231 +} /* BpGetRj11InnerOuterPairGpios */
1232 +
1233 +/**************************************************************************
1234 + * Name : BpGetPressAndHoldResetGpio
1235 + *
1236 + * Description: This function returns the GPIO pin assignment for the press
1237 + * and hold reset button.
1238 + *
1239 + * Parameters : [OUT] pusValue - Address of short word that the press and hold
1240 + * reset button GPIO pin is returned in.
1241 + *
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
1245 + * for the board.
1246 + ***************************************************************************/
1247 +int BpGetPressAndHoldResetGpio( unsigned short *pusValue )
1248 +{
1249 + int nRet;
1250 +
1251 + if( g_pCurrentBp )
1252 + {
1253 + *pusValue = g_pCurrentBp->usGpioPressAndHoldReset;
1254 +
1255 + if( g_pCurrentBp->usGpioPressAndHoldReset != BP_NOT_DEFINED )
1256 + {
1257 + nRet = BP_SUCCESS;
1258 + }
1259 + else
1260 + {
1261 + nRet = BP_VALUE_NOT_DEFINED;
1262 + }
1263 + }
1264 + else
1265 + {
1266 + *pusValue = BP_NOT_DEFINED;
1267 + nRet = BP_BOARD_ID_NOT_SET;
1268 + }
1269 +
1270 + return( nRet );
1271 +} /* BpGetPressAndHoldResetGpio */
1272 +
1273 +/**************************************************************************
1274 + * Name : BpGetVoipResetGpio
1275 + *
1276 + * Description: This function returns the GPIO pin assignment for the VOIP
1277 + * Reset operation.
1278 + *
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.
1282 + *
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
1286 + * for the board.
1287 + ***************************************************************************/
1288 +int BpGetVoipResetGpio( unsigned char dspNum, unsigned short *pusValue )
1289 +{
1290 + int nRet;
1291 +
1292 + if( g_pCurrentBp )
1293 + {
1294 + VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
1295 +
1296 + if( pDspInfo )
1297 + {
1298 + *pusValue = pDspInfo->usGpioVoipReset;
1299 +
1300 + if( *pusValue != BP_NOT_DEFINED ||
1301 + *pusValue == BP_UNEQUIPPED )
1302 + {
1303 + nRet = BP_SUCCESS;
1304 + }
1305 + else
1306 + {
1307 + nRet = BP_VALUE_NOT_DEFINED;
1308 + }
1309 + }
1310 + else
1311 + {
1312 + *pusValue = BP_NOT_DEFINED;
1313 + nRet = BP_BOARD_ID_NOT_FOUND;
1314 + }
1315 + }
1316 + else
1317 + {
1318 + *pusValue = BP_NOT_DEFINED;
1319 + nRet = BP_BOARD_ID_NOT_SET;
1320 + }
1321 +
1322 + return( nRet );
1323 +} /* BpGetVoipResetGpio */
1324 +
1325 +/**************************************************************************
1326 + * Name : BpGetVoipIntrGpio
1327 + *
1328 + * Description: This function returns the GPIO pin assignment for VoIP interrupt.
1329 + *
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.
1333 + *
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
1337 + * for the board.
1338 + ***************************************************************************/
1339 +int BpGetVoipIntrGpio( unsigned char dspNum, unsigned short *pusValue )
1340 +{
1341 + int nRet;
1342 +
1343 + if( g_pCurrentBp )
1344 + {
1345 + VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
1346 +
1347 + if( pDspInfo )
1348 + {
1349 + *pusValue = pDspInfo->usGpioVoipIntr;
1350 +
1351 + if( *pusValue != BP_NOT_DEFINED )
1352 + {
1353 + nRet = BP_SUCCESS;
1354 + }
1355 + else
1356 + {
1357 + nRet = BP_VALUE_NOT_DEFINED;
1358 + }
1359 + }
1360 + else
1361 + {
1362 + *pusValue = BP_NOT_DEFINED;
1363 + nRet = BP_BOARD_ID_NOT_FOUND;
1364 + }
1365 + }
1366 + else
1367 + {
1368 + *pusValue = BP_NOT_DEFINED;
1369 + nRet = BP_BOARD_ID_NOT_SET;
1370 + }
1371 +
1372 + return( nRet );
1373 +} /* BpGetVoipIntrGpio */
1374 +
1375 +/**************************************************************************
1376 + * Name : BpGetPcmciaResetGpio
1377 + *
1378 + * Description: This function returns the GPIO pin assignment for the PCMCIA
1379 + * Reset operation.
1380 + *
1381 + * Parameters : [OUT] pusValue - Address of short word that the PCMCIA reset
1382 + * GPIO pin is returned in.
1383 + *
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
1387 + * for the board.
1388 + ***************************************************************************/
1389 +int BpGetPcmciaResetGpio( unsigned short *pusValue )
1390 +{
1391 + int nRet;
1392 +
1393 + if( g_pCurrentBp )
1394 + {
1395 + *pusValue = g_pCurrentBp->usGpioPcmciaReset;
1396 +
1397 + if( g_pCurrentBp->usGpioPcmciaReset != BP_NOT_DEFINED )
1398 + {
1399 + nRet = BP_SUCCESS;
1400 + }
1401 + else
1402 + {
1403 + nRet = BP_VALUE_NOT_DEFINED;
1404 + }
1405 + }
1406 + else
1407 + {
1408 + *pusValue = BP_NOT_DEFINED;
1409 + nRet = BP_BOARD_ID_NOT_SET;
1410 + }
1411 +
1412 + return( nRet );
1413 +} /* BpGetPcmciaResetGpio */
1414 +
1415 +/**************************************************************************
1416 + * Name : BpGetUartRtsCtsGpios
1417 + *
1418 + * Description: This function returns the GPIO pin assignments for RTS and CTS
1419 + * UART signals.
1420 + *
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.
1425 + *
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
1429 + * for the board.
1430 + ***************************************************************************/
1431 +int BpGetRtsCtsUartGpios( unsigned short *pusRts, unsigned short *pusCts )
1432 +{
1433 + int nRet;
1434 +
1435 + if( g_pCurrentBp )
1436 + {
1437 + *pusRts = g_pCurrentBp->usGpioUartRts;
1438 + *pusCts = g_pCurrentBp->usGpioUartCts;
1439 +
1440 + if( g_pCurrentBp->usGpioUartRts != BP_NOT_DEFINED &&
1441 + g_pCurrentBp->usGpioUartCts != BP_NOT_DEFINED )
1442 + {
1443 + nRet = BP_SUCCESS;
1444 + }
1445 + else
1446 + {
1447 + nRet = BP_VALUE_NOT_DEFINED;
1448 + }
1449 + }
1450 + else
1451 + {
1452 + *pusRts = *pusCts = BP_NOT_DEFINED;
1453 + nRet = BP_BOARD_ID_NOT_SET;
1454 + }
1455 +
1456 + return( nRet );
1457 +} /* BpGetUartRtsCtsGpios */
1458 +
1459 +/**************************************************************************
1460 + * Name : BpGetAdslLedGpio
1461 + *
1462 + * Description: This function returns the GPIO pin assignment for the ADSL
1463 + * LED.
1464 + *
1465 + * Parameters : [OUT] pusValue - Address of short word that the ADSL LED
1466 + * GPIO pin is returned in.
1467 + *
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
1471 + * for the board.
1472 + ***************************************************************************/
1473 +int BpGetAdslLedGpio( unsigned short *pusValue )
1474 +{
1475 + int nRet;
1476 +
1477 + if( g_pCurrentBp )
1478 + {
1479 + *pusValue = g_pCurrentBp->usGpioLedAdsl;
1480 +
1481 + if( g_pCurrentBp->usGpioLedAdsl != BP_NOT_DEFINED )
1482 + {
1483 + nRet = BP_SUCCESS;
1484 + }
1485 + else
1486 + {
1487 + nRet = BP_VALUE_NOT_DEFINED;
1488 + }
1489 + }
1490 + else
1491 + {
1492 + *pusValue = BP_NOT_DEFINED;
1493 + nRet = BP_BOARD_ID_NOT_SET;
1494 + }
1495 +
1496 + return( nRet );
1497 +} /* BpGetAdslLedGpio */
1498 +
1499 +/**************************************************************************
1500 + * Name : BpGetAdslFailLedGpio
1501 + *
1502 + * Description: This function returns the GPIO pin assignment for the ADSL
1503 + * LED that is used when there is a DSL connection failure.
1504 + *
1505 + * Parameters : [OUT] pusValue - Address of short word that the ADSL LED
1506 + * GPIO pin is returned in.
1507 + *
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
1511 + * for the board.
1512 + ***************************************************************************/
1513 +int BpGetAdslFailLedGpio( unsigned short *pusValue )
1514 +{
1515 + int nRet;
1516 +
1517 + if( g_pCurrentBp )
1518 + {
1519 + *pusValue = g_pCurrentBp->usGpioLedAdslFail;
1520 +
1521 + if( g_pCurrentBp->usGpioLedAdslFail != BP_NOT_DEFINED )
1522 + {
1523 + nRet = BP_SUCCESS;
1524 + }
1525 + else
1526 + {
1527 + nRet = BP_VALUE_NOT_DEFINED;
1528 + }
1529 + }
1530 + else
1531 + {
1532 + *pusValue = BP_NOT_DEFINED;
1533 + nRet = BP_BOARD_ID_NOT_SET;
1534 + }
1535 +
1536 + return( nRet );
1537 +} /* BpGetAdslFailLedGpio */
1538 +
1539 +/**************************************************************************
1540 + * Name : BpGetWirelessLedGpio
1541 + *
1542 + * Description: This function returns the GPIO pin assignment for the Wireless
1543 + * LED.
1544 + *
1545 + * Parameters : [OUT] pusValue - Address of short word that the Wireless LED
1546 + * GPIO pin is returned in.
1547 + *
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
1551 + * for the board.
1552 + ***************************************************************************/
1553 +int BpGetWirelessLedGpio( unsigned short *pusValue )
1554 +{
1555 + int nRet;
1556 +
1557 + if( g_pCurrentBp )
1558 + {
1559 + *pusValue = g_pCurrentBp->usGpioLedWireless;
1560 +
1561 + if( g_pCurrentBp->usGpioLedWireless != BP_NOT_DEFINED )
1562 + {
1563 + nRet = BP_SUCCESS;
1564 + }
1565 + else
1566 + {
1567 + nRet = BP_VALUE_NOT_DEFINED;
1568 + }
1569 + }
1570 + else
1571 + {
1572 + *pusValue = BP_NOT_DEFINED;
1573 + nRet = BP_BOARD_ID_NOT_SET;
1574 + }
1575 +
1576 + return( nRet );
1577 +} /* BpGetWirelessLedGpio */
1578 +
1579 +/**************************************************************************
1580 + * Name : BpGetWirelessAntInUse
1581 + *
1582 + * Description: This function returns the antennas in use for wireless
1583 + *
1584 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Antenna
1585 + * is in use.
1586 + *
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
1590 + * for the board.
1591 + ***************************************************************************/
1592 +int BpGetWirelessAntInUse( unsigned short *pusValue )
1593 +{
1594 + int nRet;
1595 +
1596 + if( g_pCurrentBp )
1597 + {
1598 + *pusValue = g_pCurrentBp->usAntInUseWireless;
1599 +
1600 + if( g_pCurrentBp->usAntInUseWireless != BP_NOT_DEFINED )
1601 + {
1602 + nRet = BP_SUCCESS;
1603 + }
1604 + else
1605 + {
1606 + nRet = BP_VALUE_NOT_DEFINED;
1607 + }
1608 + }
1609 + else
1610 + {
1611 + *pusValue = BP_NOT_DEFINED;
1612 + nRet = BP_BOARD_ID_NOT_SET;
1613 + }
1614 +
1615 + return( nRet );
1616 +} /* BpGetWirelessAntInUse */
1617 +
1618 +/**************************************************************************
1619 + * Name : BpGetWirelessSesBtnGpio
1620 + *
1621 + * Description: This function returns the GPIO pin assignment for the Wireless
1622 + * Ses Button.
1623 + *
1624 + * Parameters : [OUT] pusValue - Address of short word that the Wireless LED
1625 + * GPIO pin is returned in.
1626 + *
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
1630 + * for the board.
1631 + ***************************************************************************/
1632 +int BpGetWirelessSesBtnGpio( unsigned short *pusValue )
1633 +{
1634 + int nRet;
1635 +
1636 + if( g_pCurrentBp )
1637 + {
1638 + *pusValue = g_pCurrentBp->usGpioSesBtnWireless;
1639 +
1640 + if( g_pCurrentBp->usGpioSesBtnWireless != BP_NOT_DEFINED )
1641 + {
1642 + nRet = BP_SUCCESS;
1643 + }
1644 + else
1645 + {
1646 + nRet = BP_VALUE_NOT_DEFINED;
1647 + }
1648 + }
1649 + else
1650 + {
1651 + *pusValue = BP_NOT_DEFINED;
1652 + nRet = BP_BOARD_ID_NOT_SET;
1653 + }
1654 +
1655 + return( nRet );
1656 +} /* BpGetWirelessSesBtnGpio */
1657 +
1658 +/**************************************************************************
1659 + * Name : BpGetWirelessSesExtIntr
1660 + *
1661 + * Description: This function returns the external interrupt number for the
1662 + * Wireless Ses Button.
1663 + *
1664 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
1665 + * external interrup is returned in.
1666 + *
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
1670 + * for the board.
1671 + ***************************************************************************/
1672 +int BpGetWirelessSesExtIntr( unsigned short *pusValue )
1673 +{
1674 + int nRet;
1675 +
1676 + if( g_pCurrentBp )
1677 + {
1678 + *pusValue = g_pCurrentBp->usExtIntrSesBtnWireless;
1679 +
1680 + if( g_pCurrentBp->usExtIntrSesBtnWireless != BP_NOT_DEFINED )
1681 + {
1682 + nRet = BP_SUCCESS;
1683 + }
1684 + else
1685 + {
1686 + nRet = BP_VALUE_NOT_DEFINED;
1687 + }
1688 + }
1689 + else
1690 + {
1691 + *pusValue = BP_NOT_DEFINED;
1692 + nRet = BP_BOARD_ID_NOT_SET;
1693 + }
1694 +
1695 + return( nRet );
1696 +
1697 +} /* BpGetWirelessSesExtIntr */
1698 +
1699 +/**************************************************************************
1700 + * Name : BpGetWirelessSesLedGpio
1701 + *
1702 + * Description: This function returns the GPIO pin assignment for the Wireless
1703 + * Ses Led.
1704 + *
1705 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
1706 + * Led GPIO pin is returned in.
1707 + *
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
1711 + * for the board.
1712 + ***************************************************************************/
1713 +int BpGetWirelessSesLedGpio( unsigned short *pusValue )
1714 +{
1715 + int nRet;
1716 +
1717 + if( g_pCurrentBp )
1718 + {
1719 + *pusValue = g_pCurrentBp->usGpioLedSesWireless;
1720 +
1721 + if( g_pCurrentBp->usGpioLedSesWireless != BP_NOT_DEFINED )
1722 + {
1723 + nRet = BP_SUCCESS;
1724 + }
1725 + else
1726 + {
1727 + nRet = BP_VALUE_NOT_DEFINED;
1728 + }
1729 + }
1730 + else
1731 + {
1732 + *pusValue = BP_NOT_DEFINED;
1733 + nRet = BP_BOARD_ID_NOT_SET;
1734 + }
1735 +
1736 + return( nRet );
1737 +
1738 +} /* BpGetWirelessSesLedGpio */
1739 +
1740 +/**************************************************************************
1741 + * Name : BpGetUsbLedGpio
1742 + *
1743 + * Description: This function returns the GPIO pin assignment for the USB
1744 + * LED.
1745 + *
1746 + * Parameters : [OUT] pusValue - Address of short word that the USB LED
1747 + * GPIO pin is returned in.
1748 + *
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
1752 + * for the board.
1753 + ***************************************************************************/
1754 +int BpGetUsbLedGpio( unsigned short *pusValue )
1755 +{
1756 + int nRet;
1757 +
1758 + if( g_pCurrentBp )
1759 + {
1760 + *pusValue = g_pCurrentBp->usGpioLedUsb;
1761 +
1762 + if( g_pCurrentBp->usGpioLedUsb != BP_NOT_DEFINED )
1763 + {
1764 + nRet = BP_SUCCESS;
1765 + }
1766 + else
1767 + {
1768 + nRet = BP_VALUE_NOT_DEFINED;
1769 + }
1770 + }
1771 + else
1772 + {
1773 + *pusValue = BP_NOT_DEFINED;
1774 + nRet = BP_BOARD_ID_NOT_SET;
1775 + }
1776 +
1777 + return( nRet );
1778 +} /* BpGetUsbLedGpio */
1779 +
1780 +/**************************************************************************
1781 + * Name : BpGetHpnaLedGpio
1782 + *
1783 + * Description: This function returns the GPIO pin assignment for the HPNA
1784 + * LED.
1785 + *
1786 + * Parameters : [OUT] pusValue - Address of short word that the HPNA LED
1787 + * GPIO pin is returned in.
1788 + *
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
1792 + * for the board.
1793 + ***************************************************************************/
1794 +int BpGetHpnaLedGpio( unsigned short *pusValue )
1795 +{
1796 + int nRet;
1797 +
1798 + if( g_pCurrentBp )
1799 + {
1800 + *pusValue = g_pCurrentBp->usGpioLedHpna;
1801 +
1802 + if( g_pCurrentBp->usGpioLedHpna != BP_NOT_DEFINED )
1803 + {
1804 + nRet = BP_SUCCESS;
1805 + }
1806 + else
1807 + {
1808 + nRet = BP_VALUE_NOT_DEFINED;
1809 + }
1810 + }
1811 + else
1812 + {
1813 + *pusValue = BP_NOT_DEFINED;
1814 + nRet = BP_BOARD_ID_NOT_SET;
1815 + }
1816 +
1817 + return( nRet );
1818 +} /* BpGetHpnaLedGpio */
1819 +
1820 +/**************************************************************************
1821 + * Name : BpGetWanDataLedGpio
1822 + *
1823 + * Description: This function returns the GPIO pin assignment for the WAN Data
1824 + * LED.
1825 + *
1826 + * Parameters : [OUT] pusValue - Address of short word that the WAN Data LED
1827 + * GPIO pin is returned in.
1828 + *
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
1832 + * for the board.
1833 + ***************************************************************************/
1834 +int BpGetWanDataLedGpio( unsigned short *pusValue )
1835 +{
1836 + int nRet;
1837 +
1838 + if( g_pCurrentBp )
1839 + {
1840 + *pusValue = g_pCurrentBp->usGpioLedWanData;
1841 +
1842 + if( g_pCurrentBp->usGpioLedWanData != BP_NOT_DEFINED )
1843 + {
1844 + nRet = BP_SUCCESS;
1845 + }
1846 + else
1847 + {
1848 + nRet = BP_VALUE_NOT_DEFINED;
1849 + }
1850 + }
1851 + else
1852 + {
1853 + *pusValue = BP_NOT_DEFINED;
1854 + nRet = BP_BOARD_ID_NOT_SET;
1855 + }
1856 +
1857 + return( nRet );
1858 +} /* BpGetWanDataLedGpio */
1859 +
1860 +/**************************************************************************
1861 + * Name : BpGetPppLedGpio
1862 + *
1863 + * Description: This function returns the GPIO pin assignment for the PPP
1864 + * LED.
1865 + *
1866 + * Parameters : [OUT] pusValue - Address of short word that the PPP LED
1867 + * GPIO pin is returned in.
1868 + *
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
1872 + * for the board.
1873 + ***************************************************************************/
1874 +int BpGetPppLedGpio( unsigned short *pusValue )
1875 +{
1876 + int nRet;
1877 +
1878 + if( g_pCurrentBp )
1879 + {
1880 + *pusValue = g_pCurrentBp->usGpioLedPpp;
1881 +
1882 + if( g_pCurrentBp->usGpioLedPpp != BP_NOT_DEFINED )
1883 + {
1884 + nRet = BP_SUCCESS;
1885 + }
1886 + else
1887 + {
1888 + nRet = BP_VALUE_NOT_DEFINED;
1889 + }
1890 + }
1891 + else
1892 + {
1893 + *pusValue = BP_NOT_DEFINED;
1894 + nRet = BP_BOARD_ID_NOT_SET;
1895 + }
1896 +
1897 + return( nRet );
1898 +} /* BpGetPppLedGpio */
1899 +
1900 +/**************************************************************************
1901 + * Name : BpGetPppFailLedGpio
1902 + *
1903 + * Description: This function returns the GPIO pin assignment for the PPP
1904 + * LED that is used when there is a PPP connection failure.
1905 + *
1906 + * Parameters : [OUT] pusValue - Address of short word that the PPP LED
1907 + * GPIO pin is returned in.
1908 + *
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
1912 + * for the board.
1913 + ***************************************************************************/
1914 +int BpGetPppFailLedGpio( unsigned short *pusValue )
1915 +{
1916 + int nRet;
1917 +
1918 + if( g_pCurrentBp )
1919 + {
1920 + *pusValue = g_pCurrentBp->usGpioLedPppFail;
1921 +
1922 + if( g_pCurrentBp->usGpioLedPppFail != BP_NOT_DEFINED )
1923 + {
1924 + nRet = BP_SUCCESS;
1925 + }
1926 + else
1927 + {
1928 + nRet = BP_VALUE_NOT_DEFINED;
1929 + }
1930 + }
1931 + else
1932 + {
1933 + *pusValue = BP_NOT_DEFINED;
1934 + nRet = BP_BOARD_ID_NOT_SET;
1935 + }
1936 +
1937 + return( nRet );
1938 +} /* BpGetPppFailLedGpio */
1939 +
1940 +/**************************************************************************
1941 + * Name : BpGetBootloaderPowerOnLedGpio
1942 + *
1943 + * Description: This function returns the GPIO pin assignment for the power
1944 + * on LED that is set by the bootloader.
1945 + *
1946 + * Parameters : [OUT] pusValue - Address of short word that the alarm LED
1947 + * GPIO pin is returned in.
1948 + *
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
1952 + * for the board.
1953 + ***************************************************************************/
1954 +int BpGetBootloaderPowerOnLedGpio( unsigned short *pusValue )
1955 +{
1956 + int nRet;
1957 +
1958 + if( g_pCurrentBp )
1959 + {
1960 + *pusValue = g_pCurrentBp->usGpioLedBlPowerOn;
1961 +
1962 + if( g_pCurrentBp->usGpioLedBlPowerOn != BP_NOT_DEFINED )
1963 + {
1964 + nRet = BP_SUCCESS;
1965 + }
1966 + else
1967 + {
1968 + nRet = BP_VALUE_NOT_DEFINED;
1969 + }
1970 + }
1971 + else
1972 + {
1973 + *pusValue = BP_NOT_DEFINED;
1974 + nRet = BP_BOARD_ID_NOT_SET;
1975 + }
1976 +
1977 + return( nRet );
1978 +} /* BpGetBootloaderPowerOn */
1979 +
1980 +/**************************************************************************
1981 + * Name : BpGetBootloaderAlarmLedGpio
1982 + *
1983 + * Description: This function returns the GPIO pin assignment for the alarm
1984 + * LED that is set by the bootloader.
1985 + *
1986 + * Parameters : [OUT] pusValue - Address of short word that the alarm LED
1987 + * GPIO pin is returned in.
1988 + *
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
1992 + * for the board.
1993 + ***************************************************************************/
1994 +int BpGetBootloaderAlarmLedGpio( unsigned short *pusValue )
1995 +{
1996 + int nRet;
1997 +
1998 + if( g_pCurrentBp )
1999 + {
2000 + *pusValue = g_pCurrentBp->usGpioLedBlAlarm;
2001 +
2002 + if( g_pCurrentBp->usGpioLedBlAlarm != BP_NOT_DEFINED )
2003 + {
2004 + nRet = BP_SUCCESS;
2005 + }
2006 + else
2007 + {
2008 + nRet = BP_VALUE_NOT_DEFINED;
2009 + }
2010 + }
2011 + else
2012 + {
2013 + *pusValue = BP_NOT_DEFINED;
2014 + nRet = BP_BOARD_ID_NOT_SET;
2015 + }
2016 +
2017 + return( nRet );
2018 +} /* BpGetBootloaderAlarmLedGpio */
2019 +
2020 +/**************************************************************************
2021 + * Name : BpGetBootloaderResetCfgLedGpio
2022 + *
2023 + * Description: This function returns the GPIO pin assignment for the reset
2024 + * configuration LED that is set by the bootloader.
2025 + *
2026 + * Parameters : [OUT] pusValue - Address of short word that the reset
2027 + * configuration LED GPIO pin is returned in.
2028 + *
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
2032 + * for the board.
2033 + ***************************************************************************/
2034 +int BpGetBootloaderResetCfgLedGpio( unsigned short *pusValue )
2035 +{
2036 + int nRet;
2037 +
2038 + if( g_pCurrentBp )
2039 + {
2040 + *pusValue = g_pCurrentBp->usGpioLedBlResetCfg;
2041 +
2042 + if( g_pCurrentBp->usGpioLedBlResetCfg != BP_NOT_DEFINED )
2043 + {
2044 + nRet = BP_SUCCESS;
2045 + }
2046 + else
2047 + {
2048 + nRet = BP_VALUE_NOT_DEFINED;
2049 + }
2050 + }
2051 + else
2052 + {
2053 + *pusValue = BP_NOT_DEFINED;
2054 + nRet = BP_BOARD_ID_NOT_SET;
2055 + }
2056 +
2057 + return( nRet );
2058 +} /* BpGetBootloaderResetCfgLedGpio */
2059 +
2060 +/**************************************************************************
2061 + * Name : BpGetBootloaderStopLedGpio
2062 + *
2063 + * Description: This function returns the GPIO pin assignment for the break
2064 + * into bootloader LED that is set by the bootloader.
2065 + *
2066 + * Parameters : [OUT] pusValue - Address of short word that the break into
2067 + * bootloader LED GPIO pin is returned in.
2068 + *
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
2072 + * for the board.
2073 + ***************************************************************************/
2074 +int BpGetBootloaderStopLedGpio( unsigned short *pusValue )
2075 +{
2076 + int nRet;
2077 +
2078 + if( g_pCurrentBp )
2079 + {
2080 + *pusValue = g_pCurrentBp->usGpioLedBlStop;
2081 +
2082 + if( g_pCurrentBp->usGpioLedBlStop != BP_NOT_DEFINED )
2083 + {
2084 + nRet = BP_SUCCESS;
2085 + }
2086 + else
2087 + {
2088 + nRet = BP_VALUE_NOT_DEFINED;
2089 + }
2090 + }
2091 + else
2092 + {
2093 + *pusValue = BP_NOT_DEFINED;
2094 + nRet = BP_BOARD_ID_NOT_SET;
2095 + }
2096 +
2097 + return( nRet );
2098 +} /* BpGetBootloaderStopLedGpio */
2099 +
2100 +/**************************************************************************
2101 + * Name : BpGetVoipLedGpio
2102 + *
2103 + * Description: This function returns the GPIO pin assignment for the VOIP
2104 + * LED.
2105 + *
2106 + * Parameters : [OUT] pusValue - Address of short word that the VOIP LED
2107 + * GPIO pin is returned in.
2108 + *
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
2112 + * for the board.
2113 + *
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 )
2125 +{
2126 + int nRet;
2127 +
2128 + if( g_pCurrentBp )
2129 + {
2130 + VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( 0 );
2131 +
2132 + if( pDspInfo )
2133 + {
2134 + *pusValue = pDspInfo->usGpioLedVoip;
2135 +
2136 + if( *pusValue != BP_NOT_DEFINED )
2137 + {
2138 + nRet = BP_SUCCESS;
2139 + }
2140 + else
2141 + {
2142 + nRet = BP_VALUE_NOT_DEFINED;
2143 + }
2144 + }
2145 + else
2146 + {
2147 + *pusValue = BP_NOT_DEFINED;
2148 + nRet = BP_BOARD_ID_NOT_FOUND;
2149 + }
2150 + }
2151 + else
2152 + {
2153 + *pusValue = BP_NOT_DEFINED;
2154 + nRet = BP_BOARD_ID_NOT_SET;
2155 + }
2156 +
2157 + return( nRet );
2158 +} /* BpGetVoipLedGpio */
2159 +
2160 +/**************************************************************************
2161 + * Name : BpGetWirelessExtIntr
2162 + *
2163 + * Description: This function returns the Wireless external interrupt number.
2164 + *
2165 + * Parameters : [OUT] pulValue - Address of short word that the wireless
2166 + * external interrupt number is returned in.
2167 + *
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
2171 + * for the board.
2172 + ***************************************************************************/
2173 +int BpGetWirelessExtIntr( unsigned long *pulValue )
2174 +{
2175 + int nRet;
2176 +
2177 + if( g_pCurrentBp )
2178 + {
2179 + *pulValue = g_pCurrentBp->usExtIntrWireless;
2180 +
2181 + if( g_pCurrentBp->usExtIntrWireless != BP_NOT_DEFINED )
2182 + {
2183 + nRet = BP_SUCCESS;
2184 + }
2185 + else
2186 + {
2187 + nRet = BP_VALUE_NOT_DEFINED;
2188 + }
2189 + }
2190 + else
2191 + {
2192 + *pulValue = BP_NOT_DEFINED;
2193 + nRet = BP_BOARD_ID_NOT_SET;
2194 + }
2195 +
2196 + return( nRet );
2197 +} /* BpGetWirelessExtIntr */
2198 +
2199 +/**************************************************************************
2200 + * Name : BpGetAdslDyingGaspExtIntr
2201 + *
2202 + * Description: This function returns the ADSL Dying Gasp external interrupt
2203 + * number.
2204 + *
2205 + * Parameters : [OUT] pulValue - Address of short word that the ADSL Dying Gasp
2206 + * external interrupt number is returned in.
2207 + *
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
2211 + * for the board.
2212 + ***************************************************************************/
2213 +int BpGetAdslDyingGaspExtIntr( unsigned long *pulValue )
2214 +{
2215 + int nRet;
2216 +
2217 + if( g_pCurrentBp )
2218 + {
2219 + *pulValue = g_pCurrentBp->usExtIntrAdslDyingGasp;
2220 +
2221 + if( g_pCurrentBp->usExtIntrAdslDyingGasp != BP_NOT_DEFINED )
2222 + {
2223 + nRet = BP_SUCCESS;
2224 + }
2225 + else
2226 + {
2227 + nRet = BP_VALUE_NOT_DEFINED;
2228 + }
2229 + }
2230 + else
2231 + {
2232 + *pulValue = BP_NOT_DEFINED;
2233 + nRet = BP_BOARD_ID_NOT_SET;
2234 + }
2235 +
2236 + return( nRet );
2237 +} /* BpGetAdslDyingGaspExtIntr */
2238 +
2239 +/**************************************************************************
2240 + * Name : BpGetVoipExtIntr
2241 + *
2242 + * Description: This function returns the VOIP external interrupt number.
2243 + *
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.
2247 + *
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
2251 + * for the board.
2252 + ***************************************************************************/
2253 +int BpGetVoipExtIntr( unsigned char dspNum, unsigned long *pulValue )
2254 +{
2255 + int nRet;
2256 +
2257 + if( g_pCurrentBp )
2258 + {
2259 + VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
2260 +
2261 + if( pDspInfo )
2262 + {
2263 + *pulValue = pDspInfo->usExtIntrVoip;
2264 +
2265 + if( *pulValue != BP_NOT_DEFINED )
2266 + {
2267 + nRet = BP_SUCCESS;
2268 + }
2269 + else
2270 + {
2271 + nRet = BP_VALUE_NOT_DEFINED;
2272 + }
2273 + }
2274 + else
2275 + {
2276 + *pulValue = BP_NOT_DEFINED;
2277 + nRet = BP_BOARD_ID_NOT_FOUND;
2278 + }
2279 + }
2280 + else
2281 + {
2282 + *pulValue = BP_NOT_DEFINED;
2283 + nRet = BP_BOARD_ID_NOT_SET;
2284 + }
2285 +
2286 + return( nRet );
2287 +} /* BpGetVoipExtIntr */
2288 +
2289 +/**************************************************************************
2290 + * Name : BpGetHpnaExtIntr
2291 + *
2292 + * Description: This function returns the HPNA external interrupt number.
2293 + *
2294 + * Parameters : [OUT] pulValue - Address of short word that the HPNA
2295 + * external interrupt number is returned in.
2296 + *
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
2300 + * for the board.
2301 + ***************************************************************************/
2302 +int BpGetHpnaExtIntr( unsigned long *pulValue )
2303 +{
2304 + int nRet;
2305 +
2306 + if( g_pCurrentBp )
2307 + {
2308 + *pulValue = g_pCurrentBp->usExtIntrHpna;
2309 +
2310 + if( g_pCurrentBp->usExtIntrHpna != BP_NOT_DEFINED )
2311 + {
2312 + nRet = BP_SUCCESS;
2313 + }
2314 + else
2315 + {
2316 + nRet = BP_VALUE_NOT_DEFINED;
2317 + }
2318 + }
2319 + else
2320 + {
2321 + *pulValue = BP_NOT_DEFINED;
2322 + nRet = BP_BOARD_ID_NOT_SET;
2323 + }
2324 +
2325 + return( nRet );
2326 +} /* BpGetHpnaExtIntr */
2327 +
2328 +/**************************************************************************
2329 + * Name : BpGetHpnaChipSelect
2330 + *
2331 + * Description: This function returns the HPNA chip select number.
2332 + *
2333 + * Parameters : [OUT] pulValue - Address of short word that the HPNA
2334 + * chip select number is returned in.
2335 + *
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
2339 + * for the board.
2340 + ***************************************************************************/
2341 +int BpGetHpnaChipSelect( unsigned long *pulValue )
2342 +{
2343 + int nRet;
2344 +
2345 + if( g_pCurrentBp )
2346 + {
2347 + *pulValue = g_pCurrentBp->usCsHpna;
2348 +
2349 + if( g_pCurrentBp->usCsHpna != BP_NOT_DEFINED )
2350 + {
2351 + nRet = BP_SUCCESS;
2352 + }
2353 + else
2354 + {
2355 + nRet = BP_VALUE_NOT_DEFINED;
2356 + }
2357 + }
2358 + else
2359 + {
2360 + *pulValue = BP_NOT_DEFINED;
2361 + nRet = BP_BOARD_ID_NOT_SET;
2362 + }
2363 +
2364 + return( nRet );
2365 +} /* BpGetHpnaChipSelect */
2366 +
2367 +/**************************************************************************
2368 + * Name : BpGetVoipChipSelect
2369 + *
2370 + * Description: This function returns the VOIP chip select number.
2371 + *
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.
2375 + *
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
2379 + * for the board.
2380 + ***************************************************************************/
2381 +int BpGetVoipChipSelect( unsigned char dspNum, unsigned long *pulValue )
2382 +{
2383 + int nRet;
2384 +
2385 + if( g_pCurrentBp )
2386 + {
2387 + VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum );
2388 +
2389 + if( pDspInfo )
2390 + {
2391 + *pulValue = pDspInfo->usCsVoip;
2392 +
2393 + if( *pulValue != BP_NOT_DEFINED )
2394 + {
2395 + nRet = BP_SUCCESS;
2396 + }
2397 + else
2398 + {
2399 + nRet = BP_VALUE_NOT_DEFINED;
2400 + }
2401 + }
2402 + else
2403 + {
2404 + *pulValue = BP_NOT_DEFINED;
2405 + nRet = BP_BOARD_ID_NOT_FOUND;
2406 + }
2407 + }
2408 + else
2409 + {
2410 + *pulValue = BP_NOT_DEFINED;
2411 + nRet = BP_BOARD_ID_NOT_SET;
2412 + }
2413 +
2414 + return( nRet );
2415 +} /* BpGetVoipChipSelect */
2416 +
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
2420 @@ -0,0 +1,766 @@
2421 +/*
2422 +<:copyright-gpl
2423 +
2424 + Copyright 2003 Broadcom Corp. All Rights Reserved.
2425 +
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.
2429 +
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
2433 + for more details.
2434 +
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.
2438 +
2439 +:>
2440 +*/
2441 +/**************************************************************************
2442 + * File Name : boardparms.h
2443 + *
2444 + * Description: This file contains definitions and function prototypes for
2445 + * the BCM63xx board parameter access functions.
2446 + *
2447 + * Updates : 07/14/2003 Created.
2448 + ***************************************************************************/
2449 +
2450 +#if !defined(_BOARDPARMS_H)
2451 +#define _BOARDPARMS_H
2452 +
2453 +#if __cplusplus
2454 +extern "C" {
2455 +#endif
2456 +
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
2462 +
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
2470 +
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
2476 +
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 */
2485 +
2486 +/* Values for EthernetMacInfo Reverse MII. */
2487 +#define BP_ENET_NO_REVERSE_MII 0
2488 +#define BP_ENET_REVERSE_MII 1
2489 +
2490 +/* Values for VoIPDSPInfo DSPType. */
2491 +#define BP_VOIP_NO_DSP 0
2492 +#define BP_VOIP_DSP 1
2493 +
2494 +
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)
2573 +
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
2579 +
2580 +/* Values for chip select assignments. */
2581 +#define BP_CS_0 0
2582 +#define BP_CS_1 1
2583 +#define BP_CS_2 2
2584 +#define BP_CS_3 3
2585 +
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
2590 +
2591 +/* Maximum size of the board id string. */
2592 +#define BP_BOARD_ID_LEN 16
2593 +
2594 +/* Maximum number of Ethernet MACs. */
2595 +#define BP_MAX_ENET_MACS 2
2596 +
2597 +/* Maximum number of VoIP DSPs. */
2598 +#define BP_MAX_VOIP_DSP 2
2599 +
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
2604 +
2605 +#if !defined(__ASSEMBLER__)
2606 +
2607 +/* Information about an Ethernet MAC. If ucPhyType is BP_ENET_NO_PHY,
2608 + * then the other fields are not valid.
2609 + */
2610 +typedef struct EthernetMacInfo
2611 +{
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;
2623 +
2624 +
2625 +/* Information about VoIP DSPs. If ucDspType is BP_VOIP_NO_DSP,
2626 + * then the other fields are not valid.
2627 + */
2628 +typedef struct VoIPDspInfo
2629 +{
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;
2637 +
2638 +} VOIP_DSP_INFO;
2639 +
2640 +
2641 +/**************************************************************************
2642 + * Name : BpSetBoardId
2643 + *
2644 + * Description: This function find the BOARD_PARAMETERS structure for the
2645 + * specified board id string and assigns it to a global, static
2646 + * variable.
2647 + *
2648 + * Parameters : [IN] pszBoardId - Board id string that is saved into NVRAM.
2649 + *
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 );
2655 +
2656 +/**************************************************************************
2657 + * Name : BpGetBoardIds
2658 + *
2659 + * Description: This function returns all of the supported board id strings.
2660 + *
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
2663 + * boundary.
2664 + * [IN] nBoardIdsSize - Number of BP_BOARD_ID_LEN elements that
2665 + * were allocated in pszBoardIds.
2666 + *
2667 + * Returns : Number of board id strings returned.
2668 + ***************************************************************************/
2669 +int BpGetBoardIds( char *pszBoardIds, int nBoardIdsSize );
2670 +
2671 +/**************************************************************************
2672 + * Name : BpGetEthernetMacInfo
2673 + *
2674 + * Description: This function returns all of the supported board id strings.
2675 + *
2676 + * Parameters : [OUT] pEnetInfos - Address of an array of ETHERNET_MAC_INFO
2677 + * buffers.
2678 + * [IN] nNumEnetInfos - Number of ETHERNET_MAC_INFO elements that
2679 + * are pointed to by pEnetInfos.
2680 + *
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 );
2685 +
2686 +/**************************************************************************
2687 + * Name : BpGetSdramSize
2688 + *
2689 + * Description: This function returns a constant that describees the board's
2690 + * SDRAM type and size.
2691 + *
2692 + * Parameters : [OUT] pulSdramSize - Address of short word that the SDRAM size
2693 + * is returned in.
2694 + *
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 );
2699 +
2700 +/**************************************************************************
2701 + * Name : BpGetPsiSize
2702 + *
2703 + * Description: This function returns the persistent storage size in K bytes.
2704 + *
2705 + * Parameters : [OUT] pulPsiSize - Address of short word that the persistent
2706 + * storage size is returned in.
2707 + *
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 );
2712 +
2713 +/**************************************************************************
2714 + * Name : BpGetRj11InnerOuterPairGpios
2715 + *
2716 + * Description: This function returns the GPIO pin assignments for changing
2717 + * between the RJ11 inner pair and RJ11 outer pair.
2718 + *
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.
2723 + *
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
2727 + * for the board.
2728 + ***************************************************************************/
2729 +int BpGetRj11InnerOuterPairGpios( unsigned short *pusInner,
2730 + unsigned short *pusOuter );
2731 +
2732 +/**************************************************************************
2733 + * Name : BpGetPressAndHoldResetGpio
2734 + *
2735 + * Description: This function returns the GPIO pin assignment for the press
2736 + * and hold reset button.
2737 + *
2738 + * Parameters : [OUT] pusValue - Address of short word that the press and hold
2739 + * reset button GPIO pin is returned in.
2740 + *
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
2744 + * for the board.
2745 + ***************************************************************************/
2746 +int BpGetPressAndHoldResetGpio( unsigned short *pusValue );
2747 +
2748 +/**************************************************************************
2749 + * Name : BpGetVoipResetGpio
2750 + *
2751 + * Description: This function returns the GPIO pin assignment for the VOIP
2752 + * Reset operation.
2753 + *
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.
2757 + *
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
2761 + * for the board.
2762 + ***************************************************************************/
2763 +int BpGetVoipResetGpio( unsigned char dspNum, unsigned short *pusValue );
2764 +
2765 +/**************************************************************************
2766 + * Name : BpGetVoipIntrGpio
2767 + *
2768 + * Description: This function returns the GPIO pin assignment for VoIP interrupt.
2769 + *
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.
2773 + *
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
2777 + * for the board.
2778 + ***************************************************************************/
2779 +int BpGetVoipIntrGpio( unsigned char dspNum, unsigned short *pusValue );
2780 +
2781 +/**************************************************************************
2782 + * Name : BpGetPcmciaResetGpio
2783 + *
2784 + * Description: This function returns the GPIO pin assignment for the PCMCIA
2785 + * Reset operation.
2786 + *
2787 + * Parameters : [OUT] pusValue - Address of short word that the PCMCIA reset
2788 + * GPIO pin is returned in.
2789 + *
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
2793 + * for the board.
2794 + ***************************************************************************/
2795 +int BpGetPcmciaResetGpio( unsigned short *pusValue );
2796 +
2797 +/**************************************************************************
2798 + * Name : BpGetUartRtsCtsGpios
2799 + *
2800 + * Description: This function returns the GPIO pin assignments for RTS and CTS
2801 + * UART signals.
2802 + *
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.
2807 + *
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
2811 + * for the board.
2812 + ***************************************************************************/
2813 +int BpGetRtsCtsUartGpios( unsigned short *pusRts, unsigned short *pusCts );
2814 +
2815 +/**************************************************************************
2816 + * Name : BpGetAdslLedGpio
2817 + *
2818 + * Description: This function returns the GPIO pin assignment for the ADSL
2819 + * LED.
2820 + *
2821 + * Parameters : [OUT] pusValue - Address of short word that the ADSL LED
2822 + * GPIO pin is returned in.
2823 + *
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
2827 + * for the board.
2828 + ***************************************************************************/
2829 +int BpGetAdslLedGpio( unsigned short *pusValue );
2830 +
2831 +/**************************************************************************
2832 + * Name : BpGetAdslFailLedGpio
2833 + *
2834 + * Description: This function returns the GPIO pin assignment for the ADSL
2835 + * LED that is used when there is a DSL connection failure.
2836 + *
2837 + * Parameters : [OUT] pusValue - Address of short word that the ADSL LED
2838 + * GPIO pin is returned in.
2839 + *
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
2843 + * for the board.
2844 + ***************************************************************************/
2845 +int BpGetAdslFailLedGpio( unsigned short *pusValue );
2846 +
2847 +/**************************************************************************
2848 + * Name : BpGetWirelessLedGpio
2849 + *
2850 + * Description: This function returns the GPIO pin assignment for the Wireless
2851 + * LED.
2852 + *
2853 + * Parameters : [OUT] pusValue - Address of short word that the Wireless LED
2854 + * GPIO pin is returned in.
2855 + *
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
2859 + * for the board.
2860 + ***************************************************************************/
2861 +int BpGetWirelessLedGpio( unsigned short *pusValue );
2862 +
2863 +/**************************************************************************
2864 + * Name : BpGetWirelessAntInUse
2865 + *
2866 + * Description: This function returns the antennas in use for wireless
2867 + *
2868 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Antenna
2869 + * is in use.
2870 + *
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
2874 + * for the board.
2875 + ***************************************************************************/
2876 +int BpGetWirelessAntInUse( unsigned short *pusValue );
2877 +
2878 +/**************************************************************************
2879 + * Name : BpGetWirelessSesBtnGpio
2880 + *
2881 + * Description: This function returns the GPIO pin assignment for the Wireless
2882 + * Ses Button.
2883 + *
2884 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
2885 + * Button GPIO pin is returned in.
2886 + *
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
2890 + * for the board.
2891 + ***************************************************************************/
2892 +int BpGetWirelessSesBtnGpio( unsigned short *pusValue );
2893 +
2894 +/**************************************************************************
2895 + * Name : BpGetWirelessSesExtIntr
2896 + *
2897 + * Description: This function returns the external interrupt number for the
2898 + * Wireless Ses Button.
2899 + *
2900 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
2901 + * external interrup is returned in.
2902 + *
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
2906 + * for the board.
2907 + ***************************************************************************/
2908 +int BpGetWirelessSesExtIntr( unsigned short *pusValue );
2909 +
2910 +/**************************************************************************
2911 + * Name : BpGetWirelessSesLedGpio
2912 + *
2913 + * Description: This function returns the GPIO pin assignment for the Wireless
2914 + * Ses Led.
2915 + *
2916 + * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses
2917 + * Led GPIO pin is returned in.
2918 + *
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
2922 + * for the board.
2923 + ***************************************************************************/
2924 +int BpGetWirelessSesLedGpio( unsigned short *pusValue );
2925 +
2926 +/**************************************************************************
2927 + * Name : BpGetUsbLedGpio
2928 + *
2929 + * Description: This function returns the GPIO pin assignment for the USB
2930 + * LED.
2931 + *
2932 + * Parameters : [OUT] pusValue - Address of short word that the USB LED
2933 + * GPIO pin is returned in.
2934 + *
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
2938 + * for the board.
2939 + ***************************************************************************/
2940 +int BpGetUsbLedGpio( unsigned short *pusValue );
2941 +
2942 +/**************************************************************************
2943 + * Name : BpGetHpnaLedGpio
2944 + *
2945 + * Description: This function returns the GPIO pin assignment for the HPNA
2946 + * LED.
2947 + *
2948 + * Parameters : [OUT] pusValue - Address of short word that the HPNA LED
2949 + * GPIO pin is returned in.
2950 + *
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
2954 + * for the board.
2955 + ***************************************************************************/
2956 +int BpGetHpnaLedGpio( unsigned short *pusValue );
2957 +
2958 +/**************************************************************************
2959 + * Name : BpGetWanDataLedGpio
2960 + *
2961 + * Description: This function returns the GPIO pin assignment for the WAN Data
2962 + * LED.
2963 + *
2964 + * Parameters : [OUT] pusValue - Address of short word that the WAN Data LED
2965 + * GPIO pin is returned in.
2966 + *
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
2970 + * for the board.
2971 + ***************************************************************************/
2972 +int BpGetWanDataLedGpio( unsigned short *pusValue );
2973 +
2974 +/**************************************************************************
2975 + * Name : BpGetPppLedGpio
2976 + *
2977 + * Description: This function returns the GPIO pin assignment for the PPP
2978 + * LED.
2979 + *
2980 + * Parameters : [OUT] pusValue - Address of short word that the PPP LED
2981 + * GPIO pin is returned in.
2982 + *
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
2986 + * for the board.
2987 + ***************************************************************************/
2988 +int BpGetPppLedGpio( unsigned short *pusValue );
2989 +
2990 +/**************************************************************************
2991 + * Name : BpGetPppFailLedGpio
2992 + *
2993 + * Description: This function returns the GPIO pin assignment for the PPP
2994 + * LED that is used when there is a PPP connection failure.
2995 + *
2996 + * Parameters : [OUT] pusValue - Address of short word that the PPP LED
2997 + * GPIO pin is returned in.
2998 + *
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
3002 + * for the board.
3003 + ***************************************************************************/
3004 +int BpGetPppFailLedGpio( unsigned short *pusValue );
3005 +
3006 +/**************************************************************************
3007 + * Name : BpGetVoipLedGpio
3008 + *
3009 + * Description: This function returns the GPIO pin assignment for the VOIP
3010 + * LED.
3011 + *
3012 + * Parameters : [OUT] pusValue - Address of short word that the VOIP LED
3013 + * GPIO pin is returned in.
3014 + *
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
3018 + * for the board.
3019 + ***************************************************************************/
3020 +int BpGetVoipLedGpio( unsigned short *pusValue );
3021 +
3022 +/**************************************************************************
3023 + * Name : BpGetBootloaderPowerOnLedGpio
3024 + *
3025 + * Description: This function returns the GPIO pin assignment for the power
3026 + * on LED that is set by the bootloader.
3027 + *
3028 + * Parameters : [OUT] pusValue - Address of short word that the alarm LED
3029 + * GPIO pin is returned in.
3030 + *
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
3034 + * for the board.
3035 + ***************************************************************************/
3036 +int BpGetBootloaderPowerOnLedGpio( unsigned short *pusValue );
3037 +
3038 +/**************************************************************************
3039 + * Name : BpGetBootloaderAlarmLedGpio
3040 + *
3041 + * Description: This function returns the GPIO pin assignment for the alarm
3042 + * LED that is set by the bootloader.
3043 + *
3044 + * Parameters : [OUT] pusValue - Address of short word that the alarm LED
3045 + * GPIO pin is returned in.
3046 + *
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
3050 + * for the board.
3051 + ***************************************************************************/
3052 +int BpGetBootloaderAlarmLedGpio( unsigned short *pusValue );
3053 +
3054 +/**************************************************************************
3055 + * Name : BpGetBootloaderResetCfgLedGpio
3056 + *
3057 + * Description: This function returns the GPIO pin assignment for the reset
3058 + * configuration LED that is set by the bootloader.
3059 + *
3060 + * Parameters : [OUT] pusValue - Address of short word that the reset
3061 + * configuration LED GPIO pin is returned in.
3062 + *
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
3066 + * for the board.
3067 + ***************************************************************************/
3068 +int BpGetBootloaderResetCfgLedGpio( unsigned short *pusValue );
3069 +
3070 +/**************************************************************************
3071 + * Name : BpGetBootloaderStopLedGpio
3072 + *
3073 + * Description: This function returns the GPIO pin assignment for the break
3074 + * into bootloader LED that is set by the bootloader.
3075 + *
3076 + * Parameters : [OUT] pusValue - Address of short word that the break into
3077 + * bootloader LED GPIO pin is returned in.
3078 + *
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
3082 + * for the board.
3083 + ***************************************************************************/
3084 +int BpGetBootloaderStopLedGpio( unsigned short *pusValue );
3085 +
3086 +/**************************************************************************
3087 + * Name : BpGetWirelessExtIntr
3088 + *
3089 + * Description: This function returns the Wireless external interrupt number.
3090 + *
3091 + * Parameters : [OUT] pulValue - Address of short word that the wireless
3092 + * external interrupt number is returned in.
3093 + *
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
3097 + * for the board.
3098 + ***************************************************************************/
3099 +int BpGetWirelessExtIntr( unsigned long *pulValue );
3100 +
3101 +/**************************************************************************
3102 + * Name : BpGetAdslDyingGaspExtIntr
3103 + *
3104 + * Description: This function returns the ADSL Dying Gasp external interrupt
3105 + * number.
3106 + *
3107 + * Parameters : [OUT] pulValue - Address of short word that the ADSL Dying Gasp
3108 + * external interrupt number is returned in.
3109 + *
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
3113 + * for the board.
3114 + ***************************************************************************/
3115 +int BpGetAdslDyingGaspExtIntr( unsigned long *pulValue );
3116 +
3117 +/**************************************************************************
3118 + * Name : BpGetVoipExtIntr
3119 + *
3120 + * Description: This function returns the VOIP external interrupt number.
3121 + *
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.
3125 + *
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
3129 + * for the board.
3130 + ***************************************************************************/
3131 +int BpGetVoipExtIntr( unsigned char dspNum, unsigned long *pulValue );
3132 +
3133 +/**************************************************************************
3134 + * Name : BpGetHpnaExtIntr
3135 + *
3136 + * Description: This function returns the HPNA external interrupt number.
3137 + *
3138 + * Parameters : [OUT] pulValue - Address of short word that the HPNA
3139 + * external interrupt number is returned in.
3140 + *
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
3144 + * for the board.
3145 + ***************************************************************************/
3146 +int BpGetHpnaExtIntr( unsigned long *pulValue );
3147 +
3148 +/**************************************************************************
3149 + * Name : BpGetHpnaChipSelect
3150 + *
3151 + * Description: This function returns the HPNA chip select number.
3152 + *
3153 + * Parameters : [OUT] pulValue - Address of short word that the HPNA
3154 + * chip select number is returned in.
3155 + *
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
3159 + * for the board.
3160 + ***************************************************************************/
3161 +int BpGetHpnaChipSelect( unsigned long *pulValue );
3162 +
3163 +/**************************************************************************
3164 + * Name : BpGetVoipChipSelect
3165 + *
3166 + * Description: This function returns the VOIP chip select number.
3167 + *
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.
3171 + *
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
3175 + * for the board.
3176 + ***************************************************************************/
3177 +int BpGetVoipChipSelect( unsigned char dspNum, unsigned long *pulValue );
3178 +
3179 +#endif /* __ASSEMBLER__ */
3180 +
3181 +#if __cplusplus
3182 +}
3183 +#endif
3184 +
3185 +#endif /* _BOARDPARMS_H */
3186 +
This page took 0.187432 seconds and 5 git commands to generate.