diff options
-rw-r--r-- | target/linux/brcm63xx-2.6/config | 2 | ||||
-rw-r--r-- | target/linux/brcm63xx-2.6/patches/001-bcm963xx.patch | 3350 |
2 files changed, 73 insertions, 3279 deletions
diff --git a/target/linux/brcm63xx-2.6/config b/target/linux/brcm63xx-2.6/config index 50c4cfc3b6..19968aaff2 100644 --- a/target/linux/brcm63xx-2.6/config +++ b/target/linux/brcm63xx-2.6/config @@ -1251,7 +1251,7 @@ CONFIG_DETECT_SOFTLOCKUP=y # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_KOBJECT is not set -CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_INFO is not set CONFIG_DEBUG_FS=y # CONFIG_DEBUG_VM is not set CONFIG_FORCED_INLINING=y diff --git a/target/linux/brcm63xx-2.6/patches/001-bcm963xx.patch b/target/linux/brcm63xx-2.6/patches/001-bcm963xx.patch index abf9a7b74a..533418de33 100644 --- a/target/linux/brcm63xx-2.6/patches/001-bcm963xx.patch +++ b/target/linux/brcm63xx-2.6/patches/001-bcm963xx.patch @@ -7966,20 +7966,16 @@ diff -urN linux.old/arch/mips/kernel/proc.c linux.dev/arch/mips/kernel/proc.c diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile --- linux.old/arch/mips/Makefile 2006-08-25 00:43:39.000000000 +0200 -+++ linux.dev/arch/mips/Makefile 2006-08-25 11:36:41.000000000 +0200 -@@ -145,6 +145,19 @@ ++++ linux.dev/arch/mips/Makefile 2006-08-25 15:39:54.000000000 +0200 +@@ -145,6 +145,15 @@ # # +# Broadcom board +# +core-$(CONFIG_MIPS_BRCM) += arch/mips/bcm963xx/ -+core-$(CONFIG_MIPS_BRCM) += bcmdrivers/opensource/char/serial/impl1/ -+#core-$(CONFIG_MIPS_BRCM) += bcmdrivers/opensource/char/board/bcm963xx/impl1/ -+#core-$(CONFIG_MIPS_BRCM) += boardparms/bcm963xx/ -+#cflags-$(CONFIG_MIPS_BRCM) += -Iinclude/asm-mips/mach-bcm963xx ++cflags-$(CONFIG_MIPS_BRCM) += -Iinclude/asm-mips/mach-bcm963xx +cflags-$(CONFIG_MIPS_BRCM) += -Iarch/mips/bcm963xx/include -+cflags-$(CONFIG_MIPS_BRCM) += -Iboardparms/bcm963xx +load-$(CONFIG_MIPS_BRCM) += 0xffffffff80010000 + + @@ -8455,10 +8451,10 @@ diff -urN linux.old/arch/mips/pci/pci-bcm96348.c linux.dev/arch/mips/pci/pci-bcm +} + +arch_initcall(bcm96348_pci_init); -diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux.dev/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c ---- linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c 2006-08-25 00:39:38.000000000 +0200 -@@ -0,0 +1,1056 @@ +diff -urN linux.old/drivers/serial/bcm63xx_cons.c linux.dev/drivers/serial/bcm63xx_cons.c +--- linux.old/drivers/serial/bcm63xx_cons.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux.dev/drivers/serial/bcm63xx_cons.c 2006-08-25 15:37:34.000000000 +0200 +@@ -0,0 +1,1049 @@ +/* +<:copyright-gpl + Copyright 2002 Broadcom Corp. All Rights Reserved. @@ -8498,6 +8494,7 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux +#include <linux/tty.h> +#include <linux/tty_flip.h> +#include <linux/serial.h> ++#include <linux/serialP.h> +#include <asm/uaccess.h> + +#include <bcmtypes.h> @@ -8564,11 +8561,9 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + +static struct bcm_serial multi[BCM_NUM_UARTS]; +static struct bcm_serial *lines[BCM_NUM_UARTS]; -+static struct tty_driver serial_driver; -+static struct tty_struct *serial_table[BCM_NUM_UARTS]; ++static struct tty_driver *serial_driver; +static struct termios *serial_termios[BCM_NUM_UARTS]; +static struct termios *serial_termios_locked[BCM_NUM_UARTS]; -+static int serial_refcount; + + +static void bcm_stop (struct tty_struct *tty); @@ -8578,7 +8573,7 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux +static void shutdown (struct bcm_serial * info); +static void change_speed( volatile Uart *pUart, tcflag_t cFlag ); +static void bcm63xx_cons_flush_chars (struct tty_struct *tty); -+static int bcm63xx_cons_write (struct tty_struct *tty, int from_user, ++static int bcm63xx_cons_write (struct tty_struct *tty, + const unsigned char *buf, int count); +static int bcm63xx_cons_write_room (struct tty_struct *tty); +static int bcm_chars_in_buffer (struct tty_struct *tty); @@ -8634,7 +8629,7 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + UCHAR ch = 0; + while ((status = info->port->intStatus) & RXINT) + { -+ char flag_char = 0; ++ char flag_char = TTY_NORMAL; + + if (status & RXFIFONE) + ch = info->port->Data; // Read the character @@ -8694,9 +8689,10 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + } + tty_insert_flip_char(tty, ch, flag_char); + } -+ignore_char: -+ if (tty) -+ tty_flip_buffer_push(tty); ++ignore_char:; ++ tty_flip_buffer_push(tty); ++ tty_schedule_flip(tty); ++ +} + + @@ -8768,9 +8764,6 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + if (!info->is_initialized) + return; + -+ -+ /*save_flags (flags); -+ cli ();*/ + spin_lock_irqsave(&bcm963xx_serial_lock, flags); + + info->port->control &= ~(BRGEN|TXEN|RXEN); @@ -8778,7 +8771,6 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + set_bit (TTY_IO_ERROR, &info->tty->flags); + info->is_initialized = 0; + -+ //restore_flags (flags); + spin_unlock_irqrestore(&bcm963xx_serial_lock, flags); +} +/* @@ -8791,10 +8783,8 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux +static void change_speed( volatile Uart *pUart, tcflag_t cFlag ) +{ + unsigned long ulFlags, ulBaud, ulClockFreqHz, ulTmp; -+ /*save_flags(ulFlags); -+ cli();*/ ++ + spin_lock_irqsave(&bcm963xx_serial_lock, ulFlags); -+ + switch( cFlag & (CBAUD | CBAUDEX) ) + { + case B115200: @@ -8874,7 +8864,6 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + case CS7: + ulTmp = BITS7SYM; /* select transmit 7 bit data size */ + break; -+ /*case CS8:*/ + default: + ulTmp = BITS8SYM; /* select transmit 8 bit data size */ + break; @@ -8902,7 +8891,6 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + + /* Reset and flush uart */ + pUart->fifoctl = RSTTXFIFOS | RSTRXFIFOS; -+ //restore_flags( ulFlags ); + spin_unlock_irqrestore(&bcm963xx_serial_lock, ulFlags); +} + @@ -8926,7 +8914,7 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + * Main output routine using polled I/O. + * ------------------------------------------------------------------- + */ -+static int bcm63xx_cons_write (struct tty_struct *tty, int from_user, ++static int bcm63xx_cons_write (struct tty_struct *tty, + const unsigned char *buf, int count) +{ + int c; @@ -8970,6 +8958,7 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + */ +static void bcm_flush_buffer (struct tty_struct *tty) +{ ++ tty_wakeup(tty); +} + +/* @@ -9343,6 +9332,7 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + + info = lines[line]; + ++ tty->low_latency=1; + info->port->intMask = 0; /* Clear any pending interrupts */ + info->port->intMask = RXINT; /* Enable RX */ + @@ -9372,6 +9362,25 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + return 0; +} + ++ ++static struct tty_operations rs_ops = { ++ .open = bcm63xx_cons_open, ++ .close = bcm63xx_cons_close, ++ .write = bcm63xx_cons_write, ++ .flush_chars = bcm63xx_cons_flush_chars, ++ .write_room = bcm63xx_cons_write_room, ++ .chars_in_buffer = bcm_chars_in_buffer, ++ .flush_buffer = bcm_flush_buffer, ++ .ioctl = bcm_ioctl, ++ .throttle = bcm_throttle, ++ .unthrottle = bcm_unthrottle, ++ .send_xchar = bcm_send_xchar, ++ .set_termios = bcm_set_termios, ++ .stop = bcm_stop, ++ .start = bcm_start, ++ .hangup = bcm_hangup, ++}; ++ +/* -------------------------------------------------------------------------- + Name: bcm63xx_serialinit + Purpose: Initialize our BCM63xx serial driver @@ -9383,49 +9392,29 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + + // Print the driver version information + printk(VER_STR); ++ serial_driver = alloc_tty_driver(BCM_NUM_UARTS); ++ if (!serial_driver) ++ return -ENOMEM; ++ ++ serial_driver->owner = THIS_MODULE; ++ serial_driver->devfs_name = "tts/"; ++// serial_driver.magic = TTY_DRIVER_MAGIC; ++ serial_driver->name = "ttyS"; ++ serial_driver->major = TTY_MAJOR; ++ serial_driver->minor_start = 64; ++// serial_driver.num = BCM_NUM_UARTS; ++ serial_driver->type = TTY_DRIVER_TYPE_SERIAL; ++ serial_driver->subtype = SERIAL_TYPE_NORMAL; ++ serial_driver->init_termios = tty_std_termios; ++ serial_driver->init_termios.c_cflag = B115200 | CS8 | CREAD | HUPCL | CLOCAL; ++ serial_driver->flags = TTY_DRIVER_REAL_RAW; ++ ++ serial_driver->termios = serial_termios; ++ serial_driver->termios_locked = serial_termios_locked; ++ ++ tty_set_operations(serial_driver, &rs_ops); + -+ memset(&serial_driver, 0, sizeof(struct tty_driver)); -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) -+ serial_driver.owner = THIS_MODULE; -+ serial_driver.devfs_name = "tts/"; -+#endif -+ serial_driver.magic = TTY_DRIVER_MAGIC; -+ serial_driver.name = "ttyS"; -+ serial_driver.major = TTY_MAJOR; -+ serial_driver.minor_start = 64; -+ serial_driver.num = BCM_NUM_UARTS; -+ serial_driver.type = TTY_DRIVER_TYPE_SERIAL; -+ serial_driver.subtype = SERIAL_TYPE_NORMAL; -+ serial_driver.init_termios = tty_std_termios; -+ serial_driver.init_termios.c_cflag = B115200 | CS8 | CREAD | CLOCAL; -+ serial_driver.flags = TTY_DRIVER_REAL_RAW; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) -+ serial_driver.refcount = serial_refcount; -+ serial_driver.ttys = serial_table; -+#else -+ serial_driver.refcount = &serial_refcount; -+ serial_driver.table = serial_table; -+#endif -+ -+ serial_driver.termios = serial_termios; -+ serial_driver.termios_locked = serial_termios_locked; -+ serial_driver.open = bcm63xx_cons_open; -+ serial_driver.close = bcm63xx_cons_close; -+ serial_driver.write = bcm63xx_cons_write; -+ serial_driver.flush_chars = bcm63xx_cons_flush_chars; -+ serial_driver.write_room = bcm63xx_cons_write_room; -+ serial_driver.chars_in_buffer = bcm_chars_in_buffer; -+ serial_driver.flush_buffer = bcm_flush_buffer; -+ serial_driver.ioctl = bcm_ioctl; -+ serial_driver.throttle = bcm_throttle; -+ serial_driver.unthrottle = bcm_unthrottle; -+ serial_driver.send_xchar = bcm_send_xchar; -+ serial_driver.set_termios = bcm_set_termios; -+ serial_driver.stop = bcm_stop; -+ serial_driver.start = bcm_start; -+ serial_driver.hangup = bcm_hangup; -+ -+ if (tty_register_driver (&serial_driver)) ++ if (tty_register_driver (serial_driver)) + panic("Couldn't register serial driver\n"); + + //save_flags(flags); cli(); @@ -9435,17 +9424,18 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + { + info = &multi[i]; + lines[i] = info; ++ info->magic = SERIAL_MAGIC; + info->port = (Uart *) ((char *)UART_BASE + (i * 0x20)); ++ info->tty = 0; + info->irq = (2 - i) + 8; + info->line = i; -+ info->tty = 0; + info->close_delay = 50; + info->closing_wait = 3000; + info->x_char = 0; + info->event = 0; + info->count = 0; + info->blocked_open = 0; -+ info->normal_termios = serial_driver.init_termios; ++ info->normal_termios = serial_driver->init_termios; + init_waitqueue_head(&info->open_wait); + init_waitqueue_head(&info->close_wait); + @@ -9461,7 +9451,6 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + * is updated... in request_irq - to immediatedly obliterate + * it is unwise. + */ -+ //restore_flags(flags); + spin_unlock_irqrestore(&bcm963xx_serial_lock, flags); + return 0; +} @@ -9491,7 +9480,7 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux +static struct tty_driver * bcm_console_device(struct console * c, int *index) +{ + *index = c->index; -+ return &serial_driver; ++ return serial_driver; +} + +static int __init bcm_console_setup(struct console * co, char * options) @@ -9504,7 +9493,7 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux + .write = bcm_console_print, + .device = bcm_console_device, + .setup = bcm_console_setup, -+ .flags = CON_PRINTBUFFER, // CON_CONSDEV, CONSOLE_LINE, ++ .flags = CON_PRINTBUFFER, + .index = -1, +}; + @@ -9515,3209 +9504,14 @@ diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/bcm63xx_cons.c linux +} + +console_initcall(bcm63xx_console_init); -diff -urN linux.old/bcmdrivers/opensource/char/serial/impl1/Makefile linux.dev/bcmdrivers/opensource/char/serial/impl1/Makefile ---- linux.old/bcmdrivers/opensource/char/serial/impl1/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/bcmdrivers/opensource/char/serial/impl1/Makefile 2006-08-25 00:39:38.000000000 +0200 -@@ -0,0 +1,13 @@ -+# File: bcmdrivers/opensource/char/serial -+# -+# Makefile for the BCM63xx serial/console driver -+ +diff -urN linux.old/drivers/serial/Makefile linux.dev/drivers/serial/Makefile +--- linux.old/drivers/serial/Makefile 2006-06-18 03:49:35.000000000 +0200 ++++ linux.dev/drivers/serial/Makefile 2006-08-25 15:38:44.000000000 +0200 +@@ -55,3 +55,4 @@ + obj-$(CONFIG_SERIAL_SGI_IOC4) += ioc4_serial.o + obj-$(CONFIG_SERIAL_SGI_IOC3) += ioc3_serial.o + obj-$(CONFIG_SERIAL_AT91) += at91_serial.o +obj-$(CONFIG_BCM_SERIAL) += bcm63xx_cons.o -+ -+EXTRA_CFLAGS += -I$(INC_BRCMDRIVER_PUB_PATH)/$(BRCM_BOARD) -+ -+-include $(TOPDIR)/Rules.make -+ -+clean: -+ rm -f core *.o *.a *.s -+ -diff -urN linux.old/boardparms/bcm963xx/boardparms.c linux.dev/boardparms/bcm963xx/boardparms.c ---- linux.old/boardparms/bcm963xx/boardparms.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/boardparms/bcm963xx/boardparms.c 2006-08-25 00:39:38.000000000 +0200 -@@ -0,0 +1,2392 @@ -+/* -+<:copyright-gpl -+ -+ Copyright 2003 Broadcom Corp. All Rights Reserved. -+ -+ This program is free software; you can distribute it and/or modify it -+ under the terms of the GNU General Public License (Version 2) as -+ published by the Free Software Foundation. -+ -+ This program is distributed in the hope it will be useful, but WITHOUT -+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+ for more details. -+ -+ You should have received a copy of the GNU General Public License along -+ with this program; if not, write to the Free Software Foundation, Inc., -+ 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. -+ -+:> -+*/ -+/************************************************************************** -+ * File Name : boardparms.c -+ * -+ * Description: This file contains the implementation for the BCM63xx board -+ * parameter access functions. -+ * -+ * Updates : 07/14/2003 Created. -+ ***************************************************************************/ -+ -+/* Includes. */ -+#include <linux/config.h> -+#include "boardparms.h" -+ -+/* Defines. */ -+ -+/* Default psi size in K bytes */ -+#define BP_PSI_DEFAULT_SIZE 24 -+ -+/* Typedefs */ -+typedef struct boardparameters -+{ -+ char szBoardId[BP_BOARD_ID_LEN]; /* board id string */ -+ ETHERNET_MAC_INFO EnetMacInfos[BP_MAX_ENET_MACS]; -+ VOIP_DSP_INFO VoIPDspInfo[BP_MAX_VOIP_DSP]; -+ unsigned short usSdramSize; /* SDRAM size and type */ -+ unsigned short usPsiSize; /* persistent storage in K bytes */ -+ unsigned short usGpioRj11InnerPair; /* GPIO pin or not defined */ -+ unsigned short usGpioRj11OuterPair; /* GPIO pin or not defined */ -+ unsigned short usGpioPressAndHoldReset; /* GPIO pin or not defined */ -+ unsigned short usGpioPcmciaReset; /* GPIO pin or not defined */ -+ unsigned short usGpioUartRts; /* GPIO pin or not defined */ -+ unsigned short usGpioUartCts; /* GPIO pin or not defined */ -+ unsigned short usGpioLedAdsl; /* GPIO pin or not defined */ -+ unsigned short usGpioLedAdslFail; /* GPIO pin or not defined */ -+ unsigned short usGpioLedWireless; /* GPIO pin or not defined */ -+ unsigned short usGpioLedUsb; /* GPIO pin or not defined */ -+ unsigned short usGpioLedHpna; /* GPIO pin or not defined */ -+ unsigned short usGpioLedWanData; /* GPIO pin or not defined */ -+ unsigned short usGpioLedPpp; /* GPIO pin or not defined */ -+ unsigned short usGpioLedPppFail; /* GPIO pin or not defined */ -+ unsigned short usGpioLedBlPowerOn; /* GPIO pin or not defined */ -+ unsigned short usGpioLedBlAlarm; /* GPIO pin or not defined */ -+ unsigned short usGpioLedBlResetCfg; /* GPIO pin or not defined */ -+ unsigned short usGpioLedBlStop; /* GPIO pin or not defined */ -+ unsigned short usExtIntrWireless; /* ext intr or not defined */ -+ unsigned short usExtIntrAdslDyingGasp; /* ext intr or not defined */ -+ unsigned short usExtIntrHpna; /* ext intr or not defined */ -+ unsigned short usCsHpna; /* chip select not defined */ -+ unsigned short usAntInUseWireless; /* antenna in use or not defined */ -+ unsigned short usGpioSesBtnWireless; /* GPIO pin or not defined */ -+ unsigned short usExtIntrSesBtnWireless; /* ext intr or not defined */ -+ unsigned short usGpioLedSesWireless; /* GPIO pin or not defined */ -+} BOARD_PARAMETERS, *PBOARD_PARAMETERS; -+ -+/* Variables */ -+#if defined(_BCM96338_) || defined(CONFIG_BCM96338) -+static BOARD_PARAMETERS g_bcm96338sv = -+{ -+ "96338SV", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_NO_PHY}}, /* ucPhyType */ -+ {{BP_VOIP_NO_DSP}, /* ucDspType */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_16MB_1_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_NOT_DEFINED, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_NOT_DEFINED, /* usGpioLedAdsl */ -+ BP_NOT_DEFINED, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_NOT_DEFINED, /* usGpioLedWanData */ -+ BP_NOT_DEFINED, /* usGpioLedPpp */ -+ BP_NOT_DEFINED, /* usGpioLedPppFail */ -+ BP_NOT_DEFINED, /* usGpioLedBlPowerOn */ -+ BP_NOT_DEFINED, /* usGpioLedBlAlarm */ -+ BP_NOT_DEFINED, /* usGpioLedBlResetCfg */ -+ BP_NOT_DEFINED, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+static BOARD_PARAMETERS g_bcm96338l2m8m = -+{ -+ "96338L-2M-8M", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_NO_PHY}}, /* ucPhyType */ -+ {{BP_VOIP_NO_DSP}, /* ucDspType */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_8MB_1_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_NOT_DEFINED, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_NOT_DEFINED, /* usGpioLedAdsl */ -+ BP_GPIO_2_AL, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_3_AL, /* usGpioLedWanData */ -+ BP_GPIO_3_AL, /* usGpioLedPpp */ -+ BP_GPIO_4_AL, /* usGpioLedPppFail */ -+ BP_GPIO_0_AL, /* usGpioLedBlPowerOn */ -+ BP_NOT_DEFINED, /* usGpioLedBlAlarm */ -+ BP_GPIO_3_AL, /* usGpioLedBlResetCfg */ -+ BP_GPIO_1_AL, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+static PBOARD_PARAMETERS g_BoardParms[] = -+ {&g_bcm96338sv, &g_bcm96338l2m8m, 0}; -+#endif -+ -+#if defined(_BCM96345_) || defined(CONFIG_BCM96345) -+static BOARD_PARAMETERS g_bcm96345r = -+{ -+ "96345R", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_NO_PHY}}, /* ucPhyType */ -+ {{BP_VOIP_NO_DSP}, /* ucDspType */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_8MB_1_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_GPIO_11_AH, /* usGpioRj11InnerPair */ -+ BP_GPIO_12_AH, /* usGpioRj11OuterPair */ -+ BP_GPIO_13_AH, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_GPIO_8_AH, /* usGpioLedAdsl */ -+ BP_NOT_DEFINED, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_8_AH, /* usGpioLedWanData */ -+ BP_GPIO_9_AH, /* usGpioLedPpp */ -+ BP_NOT_DEFINED, /* usGpioLedPppFail */ -+ BP_NOT_DEFINED, /* usGpioLedBlPowerOn */ -+ BP_GPIO_10_AH, /* usGpioLedBlAlarm */ -+ BP_GPIO_9_AH, /* usGpioLedBlResetCfg */ -+ BP_GPIO_8_AH, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_EXT_INTR_0, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static BOARD_PARAMETERS g_bcm96345gw2 = -+{ -+ /* A hardware jumper determines whether GPIO 13 is used for Press and Hold -+ * Reset or RTS. -+ */ -+ "96345GW2", /* szBoardId */ -+ {{BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */ -+ 0x00, /* ucPhyAddress */ -+ BP_GPIO_0_AH, /* usGpioPhySpiSck */ -+ BP_GPIO_4_AH, /* usGpioPhySpiSs */ -+ BP_GPIO_12_AH, /* usGpioPhySpiMosi */ -+ BP_GPIO_11_AH, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x04, /* numSwitchPorts */ -+ BP_ENET_CONFIG_GPIO, /* usConfigType */ -+ BP_ENET_REVERSE_MII}, /* usReverseMii */ -+ {BP_ENET_NO_PHY}}, /* ucPhyType */ -+ {{BP_VOIP_DSP, /* ucDspType */ -+ 0x00, /* ucDspAddress */ -+ BP_EXT_INTR_1, /* usExtIntrVoip */ -+ BP_GPIO_6_AH, /* usGpioVoipReset */ -+ BP_GPIO_15_AH, /* usGpioVoipIntr */ -+ BP_NOT_DEFINED, /* usGpioLedVoip */ -+ BP_CS_2}, /* usCsVoip */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_16MB_1_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_GPIO_13_AH, /* usGpioPressAndHoldReset */ -+ BP_GPIO_2_AH, /* usGpioPcmciaReset */ -+ BP_GPIO_13_AH, /* usGpioUartRts */ -+ BP_GPIO_9_AH, /* usGpioUartCts */ -+ BP_GPIO_8_AH, /* usGpioLedAdsl */ -+ BP_NOT_DEFINED, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_GPIO_7_AH, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_8_AH, /* usGpioLedWanData */ -+ BP_NOT_DEFINED, /* usGpioLedPpp */ -+ BP_NOT_DEFINED, /* usGpioLedPppFail */ -+ BP_NOT_DEFINED, /* usGpioLedBlPowerOn */ -+ BP_GPIO_10_AH, /* usGpioLedBlAlarm */ -+ BP_GPIO_7_AH, /* usGpioLedBlResetCfg */ -+ BP_GPIO_8_AH, /* usGpioLedBlStop */ -+ BP_EXT_INTR_2, /* usExtIntrWireless */ -+ BP_EXT_INTR_0, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_WLAN_ANT_MAIN, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static BOARD_PARAMETERS g_bcm96345gw = -+{ -+ "96345GW", /* szBoardId */ -+ {{BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */ -+ 0x00, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x04, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_ENET_NO_REVERSE_MII}, /* usReverseMii */ -+ {BP_ENET_NO_PHY}}, /* ucPhyType */ -+ {{BP_VOIP_DSP, /* ucDspType */ -+ 0x00, /* ucDspAddress */ -+ BP_EXT_INTR_1, /* usExtIntrVoip */ -+ BP_GPIO_6_AH, /* usGpioVoipReset */ -+ BP_GPIO_15_AH, /* usGpioVoipIntr */ -+ BP_NOT_DEFINED, /* usGpioLedVoip */ -+ BP_CS_2}, /* usCsVoip */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_16MB_1_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_GPIO_11_AH, /* usGpioRj11InnerPair */ -+ BP_GPIO_1_AH, /* usGpioRj11OuterPair */ -+ BP_GPIO_13_AH, /* usGpioPressAndHoldReset */ -+ BP_GPIO_2_AH, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_GPIO_8_AH, /* usGpioLedAdsl */ -+ BP_NOT_DEFINED, /* usGpioLedAdslFail */ -+ BP_GPIO_10_AH, /* usGpioLedWireless */ -+ BP_GPIO_7_AH, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_8_AH, /* usGpioLedWanData */ -+ BP_NOT_DEFINED, /* usGpioLedPpp */ -+ BP_NOT_DEFINED, /* usGpioLedPppFail */ -+ BP_NOT_DEFINED, /* usGpioLedBlPowerOn */ -+ BP_GPIO_9_AH, /* usGpioLedBlAlarm */ -+ BP_GPIO_10_AH, /* usGpioLedBlResetCfg */ -+ BP_GPIO_8_AH, /* usGpioLedBlStop */ -+ BP_EXT_INTR_2, /* usExtIntrWireless */ -+ BP_EXT_INTR_0, /* usExtIntrAdslDyingGasp */ -+ BP_EXT_INTR_3, /* usExtIntrHpna */ -+ BP_CS_1, /* usCsHpna */ -+ BP_WLAN_ANT_MAIN, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static BOARD_PARAMETERS g_bcm96335r = -+{ -+ "96335R", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_NO_PHY}}, /* ucPhyType */ -+ {{BP_VOIP_NO_DSP}, /* ucDspType */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_8MB_1_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_GPIO_14_AH, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_GPIO_9_AH, /* usGpioLedAdsl */ -+ BP_NOT_DEFINED, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_9_AH, /* usGpioLedWanData */ -+ BP_GPIO_8_AH, /* usGpioLedPpp */ -+ BP_NOT_DEFINED, /* usGpioLedPppFail */ -+ BP_NOT_DEFINED, /* usGpioLedBlPowerOn */ -+ BP_GPIO_10_AH, /* usGpioLedBlAlarm */ -+ BP_GPIO_8_AH, /* usGpioLedBlResetCfg */ -+ BP_GPIO_9_AH, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_NOT_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static BOARD_PARAMETERS g_bcm96345r0 = -+{ -+ "96345R0", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_NO_PHY}}, /* ucPhyType */ -+ {{BP_VOIP_NO_DSP}, /* ucDspType */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_8MB_1_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_NOT_DEFINED, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_GPIO_8_AH, /* usGpioLedAdsl */ -+ BP_NOT_DEFINED, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_9_AH, /* usGpioLedWanData */ -+ BP_GPIO_9_AH, /* usGpioLedPpp */ -+ BP_NOT_DEFINED, /* usGpioLedPppFail */ -+ BP_NOT_DEFINED, /* usGpioLedBlPowerOn */ -+ BP_GPIO_9_AH, /* usGpioLedBlAlarm */ -+ BP_GPIO_8_AH, /* usGpioLedBlResetCfg */ -+ BP_GPIO_8_AH, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_NOT_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static BOARD_PARAMETERS g_bcm96345rs = -+{ -+ "96345RS", /* szBoardId */ -+ {{BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */ -+ 0x00, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_ENET_NO_REVERSE_MII}, /* usReverseMii */ -+ {BP_ENET_NO_PHY}}, /* ucPhyType */ -+ {{BP_VOIP_NO_DSP}, /* ucDspType */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_8MB_1_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_GPIO_11_AH, /* usGpioRj11InnerPair */ -+ BP_GPIO_12_AH, /* usGpioRj11OuterPair */ -+ BP_GPIO_13_AH, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_GPIO_8_AH, /* usGpioLedAdsl */ -+ BP_NOT_DEFINED, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_8_AH, /* usGpioLedWanData */ -+ BP_GPIO_9_AH, /* usGpioLedPpp */ -+ BP_NOT_DEFINED, /* usGpioLedPppFail */ -+ BP_NOT_DEFINED, /* usGpioLedBlPowerOn */ -+ BP_GPIO_10_AH, /* usGpioLedBlAlarm */ -+ BP_GPIO_9_AH, /* usGpioLedBlResetCfg */ -+ BP_GPIO_8_AH, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_EXT_INTR_0, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static PBOARD_PARAMETERS g_BoardParms[] = -+ {&g_bcm96345r, &g_bcm96345gw2, &g_bcm96345gw, &g_bcm96335r, &g_bcm96345r0, -+ &g_bcm96345rs, 0}; -+#endif -+ -+#if defined(_BCM96348_) || defined(CONFIG_BCM96348) -+ -+static BOARD_PARAMETERS g_bcm96348r = -+{ -+ "96348R", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_NO_PHY}}, /* ucPhyType */ -+ {{BP_VOIP_NO_DSP}, /* ucDspType */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_8MB_1_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_GPIO_7_AH, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_NOT_DEFINED, /* usGpioLedAdsl */ -+ BP_GPIO_2_AL, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_3_AL, /* usGpioLedWanData */ -+ BP_GPIO_3_AL, /* usGpioLedPpp */ -+ BP_GPIO_4_AL, /* usGpioLedPppFail */ -+ BP_GPIO_0_AL, /* usGpioLedBlPowerOn */ -+ BP_NOT_DEFINED, /* usGpioLedBlAlarm */ -+ BP_GPIO_3_AL, /* usGpioLedBlResetCfg */ -+ BP_GPIO_1_AL, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static BOARD_PARAMETERS g_bcm96348lv = -+{ -+ "96348LV", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_EXTERNAL_PHY, /* ucPhyType */ -+ 0x02, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_GPIO_5_AL, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}}, /* usReverseMii */ -+ {{BP_VOIP_NO_DSP}, /* ucDspType */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_16MB_2_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_GPIO_7_AH, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_NOT_DEFINED, /* usGpioLedAdsl */ -+ BP_GPIO_2_AL, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_3_AL, /* usGpioLedWanData */ -+ BP_GPIO_3_AL, /* usGpioLedPpp */ -+ BP_GPIO_4_AL, /* usGpioLedPppFail */ -+ BP_GPIO_0_AL, /* usGpioLedBlPowerOn */ -+ BP_NOT_DEFINED, /* usGpioLedBlAlarm */ -+ BP_GPIO_3_AL, /* usGpioLedBlResetCfg */ -+ BP_GPIO_1_AL, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_NOT_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static BOARD_PARAMETERS g_bcm96348gw = -+{ -+ "96348GW", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */ -+ 0x00, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x03, /* numSwitchPorts */ -+ BP_ENET_CONFIG_SPI_SSB_0, /* usConfigType */ -+ BP_ENET_REVERSE_MII}}, /* usReverseMii */ -+ {{BP_VOIP_DSP, /* ucDspType */ -+ 0x00, /* ucDspAddress */ -+ BP_EXT_INTR_2, /* usExtIntrVoip */ -+ BP_GPIO_6_AH, /* usGpioVoipReset */ -+ BP_GPIO_34_AH, /* usGpioVoipIntr */ -+ BP_NOT_DEFINED, /* usGpioLedVoip */ -+ BP_CS_2}, /* usCsVoip */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_16MB_2_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_GPIO_33_AL, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_NOT_DEFINED, /* usGpioLedAdsl */ -+ BP_GPIO_2_AL, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_3_AL, /* usGpioLedWanData */ -+ BP_GPIO_3_AL, /* usGpioLedPpp */ -+ BP_GPIO_4_AL, /* usGpioLedPppFail */ -+ BP_GPIO_0_AL, /* usGpioLedBlPowerOn */ -+ BP_NOT_DEFINED, /* usGpioLedBlAlarm */ -+ BP_GPIO_3_AL, /* usGpioLedBlResetCfg */ -+ BP_GPIO_1_AL, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_WLAN_ANT_MAIN, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* BP_GPIO_35_AH, */ /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* BP_EXT_INTR_3, */ /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* BP_GPIO_0_AL */ /* usGpioLedSesWireless */ -+}; -+ -+ -+static BOARD_PARAMETERS g_bcm96348gw_10 = -+{ -+ "96348GW-10", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */ -+ 0x00, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x03, /* numSwitchPorts */ -+ BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */ -+ BP_ENET_REVERSE_MII}}, /* usReverseMii */ -+ {{BP_VOIP_DSP, /* ucDspType */ -+ 0x00, /* ucDspAddress */ -+ BP_EXT_INTR_2, /* usExtIntrVoip */ -+ BP_GPIO_6_AH, /* usGpioVoipReset */ -+ BP_GPIO_34_AH, /* usGpioVoipIntr */ -+ BP_NOT_DEFINED, /* usGpioLedVoip */ -+ BP_CS_2}, /* usCsVoip */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_16MB_2_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_GPIO_33_AL, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_NOT_DEFINED, /* usGpioLedAdsl */ -+ BP_GPIO_2_AL, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_3_AL, /* usGpioLedWanData */ -+ BP_GPIO_3_AL, /* usGpioLedPpp */ -+ BP_GPIO_4_AL, /* usGpioLedPppFail */ -+ BP_GPIO_0_AL, /* usGpioLedBlPowerOn */ -+ BP_NOT_DEFINED, /* usGpioLedBlAlarm */ -+ BP_GPIO_3_AL, /* usGpioLedBlResetCfg */ -+ BP_GPIO_1_AL, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_WLAN_ANT_MAIN, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static BOARD_PARAMETERS g_bcm96348gw_11 = -+{ -+ "96348GW-11", /* szBoardId */ -+ {{BP_ENET_NO_PHY}, /* ucPhyType */ -+ {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */ -+ 0x00, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x04, /* numSwitchPorts */ -+ BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */ -+ BP_ENET_REVERSE_MII}}, /* usReverseMii */ -+ {{BP_VOIP_NO_DSP}, /* ucDspType */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_16MB_2_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_GPIO_33_AL, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_NOT_DEFINED, /* usGpioLedAdsl */ -+ BP_GPIO_2_AL, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_3_AL, /* usGpioLedWanData */ -+ BP_GPIO_3_AL, /* usGpioLedPpp */ -+ BP_GPIO_4_AL, /* usGpioLedPppFail */ -+ BP_GPIO_0_AL, /* usGpioLedBlPowerOn */ -+ BP_NOT_DEFINED, /* usGpioLedBlAlarm */ -+ BP_GPIO_3_AL, /* usGpioLedBlResetCfg */ -+ BP_GPIO_1_AL, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static BOARD_PARAMETERS g_bcm96348sv = -+{ -+ "96348SV", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_EXTERNAL_PHY, /* ucPhyType */ -+ 0x1f, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}}, /* usReverseMii */ -+ {{BP_VOIP_NO_DSP}, /* ucDspType */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_32MB_2_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_NOT_DEFINED, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_NOT_DEFINED, /* usGpioLedAdsl */ -+ BP_NOT_DEFINED, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_NOT_DEFINED, /* usGpioLedWanData */ -+ BP_NOT_DEFINED, /* usGpioLedPpp */ -+ BP_NOT_DEFINED, /* usGpioLedPppFail */ -+ BP_NOT_DEFINED, /* usGpioLedBlPowerOn */ -+ BP_NOT_DEFINED, /* usGpioLedBlAlarm */ -+ BP_NOT_DEFINED, /* usGpioLedBlResetCfg */ -+ BP_NOT_DEFINED, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+ -+static BOARD_PARAMETERS g_bcm96348gw_dualDsp = -+{ -+ "96348GW-DualDSP", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_EXTERNAL_SWITCH, /* ucPhyType */ -+ 0x00, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x03, /* numSwitchPorts */ -+ BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */ -+ BP_ENET_REVERSE_MII}}, /* usReverseMii */ -+ {{BP_VOIP_DSP, /* ucDspType */ -+ 0x00, /* ucDspAddress */ -+ BP_EXT_INTR_2, /* usExtIntrVoip */ -+ BP_UNEQUIPPED, /* usGpioVoipReset */ -+ BP_GPIO_34_AH, /* usGpioVoipIntr */ -+ BP_NOT_DEFINED, /* usGpioLedVoip */ -+ BP_CS_2}, /* usCsVoip */ -+ {BP_VOIP_DSP, /* ucDspType */ -+ 0x01, /* ucDspAddress */ -+ BP_EXT_INTR_3, /* usExtIntrVoip */ -+ BP_UNEQUIPPED , /* usGpioVoipReset */ -+ BP_GPIO_35_AH, /* usGpioVoipIntr */ -+ BP_NOT_DEFINED, /* usGpioLedVoip */ -+ BP_CS_3}}, /* usCsVoip */ -+ BP_MEMORY_16MB_2_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_GPIO_33_AL, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_NOT_DEFINED, /* usGpioLedAdsl */ -+ BP_GPIO_2_AL, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_3_AL, /* usGpioLedWanData */ -+ BP_GPIO_3_AL, /* usGpioLedPpp */ -+ BP_GPIO_4_AL, /* usGpioLedPppFail */ -+ BP_GPIO_0_AL, /* usGpioLedBlPowerOn */ -+ BP_NOT_DEFINED, /* usGpioLedBlAlarm */ -+ BP_GPIO_3_AL, /* usGpioLedBlResetCfg */ -+ BP_GPIO_1_AL, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_HW_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_WLAN_ANT_MAIN, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+ -+static BOARD_PARAMETERS g_bcmCustom_01 = -+{ -+ "BCMCUST_01", /* szBoardId */ -+ {{BP_ENET_INTERNAL_PHY, /* ucPhyType */ -+ 0x01, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_MDIO, /* usConfigType */ -+ BP_NOT_DEFINED}, /* usReverseMii */ -+ {BP_ENET_NO_PHY, /* ucPhyType */ -+ 0x00, /* ucPhyAddress */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSck */ -+ BP_NOT_DEFINED, /* usGpioPhySpiSs */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMosi */ -+ BP_NOT_DEFINED, /* usGpioPhySpiMiso */ -+ BP_NOT_DEFINED, /* usGpioPhyReset */ -+ 0x01, /* numSwitchPorts */ -+ BP_ENET_CONFIG_SPI_SSB_1, /* usConfigType */ -+ BP_ENET_REVERSE_MII}}, /* usReverseMii */ -+ {{BP_VOIP_DSP, /* ucDspType */ -+ 0x00, /* ucDspAddress */ -+ BP_EXT_INTR_2, /* usExtIntrVoip */ -+ BP_GPIO_36_AH, /* usGpioVoipReset */ -+ BP_GPIO_34_AL, /* usGpioVoipIntr */ -+ BP_NOT_DEFINED, /* usGpioLedVoip */ -+ BP_CS_2}, /* usCsVoip */ -+ {BP_VOIP_NO_DSP}}, /* ucDspType */ -+ BP_MEMORY_16MB_2_CHIP, /* usSdramSize */ -+ BP_PSI_DEFAULT_SIZE, /* usPsiSize */ -+ BP_NOT_DEFINED, /* usGpioRj11InnerPair */ -+ BP_NOT_DEFINED, /* usGpioRj11OuterPair */ -+ BP_GPIO_33_AL, /* usGpioPressAndHoldReset */ -+ BP_NOT_DEFINED, /* usGpioPcmciaReset */ -+ BP_NOT_DEFINED, /* usGpioUartRts */ -+ BP_NOT_DEFINED, /* usGpioUartCts */ -+ BP_NOT_DEFINED, /* usGpioLedAdsl */ -+ BP_GPIO_2_AL, /* usGpioLedAdslFail */ -+ BP_NOT_DEFINED, /* usGpioLedWireless */ -+ BP_NOT_DEFINED, /* usGpioLedUsb */ -+ BP_NOT_DEFINED, /* usGpioLedHpna */ -+ BP_GPIO_3_AL, /* usGpioLedWanData */ -+ BP_GPIO_3_AL, /* usGpioLedPpp */ -+ BP_GPIO_4_AL, /* usGpioLedPppFail */ -+ BP_GPIO_0_AL, /* usGpioLedBlPowerOn */ -+ BP_NOT_DEFINED, /* usGpioLedBlAlarm */ -+ BP_GPIO_3_AL, /* usGpioLedBlResetCfg */ -+ BP_GPIO_1_AL, /* usGpioLedBlStop */ -+ BP_NOT_DEFINED, /* usExtIntrWireless */ -+ BP_NOT_DEFINED, /* usExtIntrAdslDyingGasp */ -+ BP_NOT_DEFINED, /* usExtIntrHpna */ -+ BP_NOT_DEFINED, /* usCsHpna */ -+ BP_NOT_DEFINED, /* usAntInUseWireless */ -+ BP_NOT_DEFINED, /* usGpioSesBtnWireless */ -+ BP_NOT_DEFINED, /* usExtIntrSesBtnWireless */ -+ BP_NOT_DEFINED /* usGpioLedSesWireless */ -+}; -+ -+static PBOARD_PARAMETERS g_BoardParms[] = -+ {&g_bcm96348r, &g_bcm96348lv, &g_bcm96348gw, &g_bcm96348gw_10, -+ &g_bcm96348gw_11, &g_bcm96348sv, &g_bcm96348gw_dualDsp, -+ &g_bcmCustom_01, 0}; -+#endif -+ -+static PBOARD_PARAMETERS g_pCurrentBp = 0; -+ -+/************************************************************************** -+ * Name : bpstrcmp -+ * -+ * Description: String compare for this file so it does not depend on an OS. -+ * (Linux kernel and CFE share this source file.) -+ * -+ * Parameters : [IN] dest - destination string -+ * [IN] src - source string -+ * -+ * Returns : -1 - dest < src, 1 - dest > src, 0 dest == src -+ ***************************************************************************/ -+static int bpstrcmp(const char *dest,const char *src); -+static int bpstrcmp(const char *dest,const char *src) -+{ -+ while (*src && *dest) -+ { -+ if (*dest < *src) return -1; -+ if (*dest > *src) return 1; -+ dest++; -+ src++; -+ } -+ -+ if (*dest && !*src) return 1; -+ if (!*dest && *src) return -1; -+ return 0; -+} /* bpstrcmp */ -+ -+/************************************************************************** -+ * Name : BpGetVoipDspConfig -+ * -+ * Description: Gets the DSP configuration from the board parameter -+ * structure for a given DSP index. -+ * -+ * Parameters : [IN] dspNum - DSP index (number) -+ * -+ * Returns : Pointer to DSP configuration block if found/valid, NULL -+ * otherwise. -+ ***************************************************************************/ -+VOIP_DSP_INFO *BpGetVoipDspConfig( unsigned char dspNum ); -+VOIP_DSP_INFO *BpGetVoipDspConfig( unsigned char dspNum ) -+{ -+ VOIP_DSP_INFO *pDspConfig = 0; -+ int i; -+ -+ if( g_pCurrentBp ) -+ { -+ for( i = 0 ; i < BP_MAX_VOIP_DSP ; i++ ) -+ { -+ if( g_pCurrentBp->VoIPDspInfo[i].ucDspType != BP_VOIP_NO_DSP && -+ g_pCurrentBp->VoIPDspInfo[i].ucDspAddress == dspNum ) -+ { -+ pDspConfig = &g_pCurrentBp->VoIPDspInfo[i]; -+ break; -+ } -+ } -+ } -+ -+ return pDspConfig; -+} -+ -+ -+/************************************************************************** -+ * Name : BpSetBoardId -+ * -+ * Description: This function find the BOARD_PARAMETERS structure for the -+ * specified board id string and assigns it to a global, static -+ * variable. -+ * -+ * Parameters : [IN] pszBoardId - Board id string that is saved into NVRAM. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_FOUND - Error, board id input string does not -+ * have a board parameters configuration record. -+ ***************************************************************************/ -+int BpSetBoardId( char *pszBoardId ) -+{ -+ int nRet = BP_BOARD_ID_NOT_FOUND; -+ PBOARD_PARAMETERS *ppBp; -+ -+ for( ppBp = g_BoardParms; *ppBp; ppBp++ ) -+ { -+ if( !bpstrcmp((*ppBp)->szBoardId, pszBoardId) ) -+ { -+ g_pCurrentBp = *ppBp; -+ nRet = BP_SUCCESS; -+ break; -+ } -+ } -+ -+ return( nRet ); -+} /* BpSetBoardId */ -+ -+/************************************************************************** -+ * Name : BpGetBoardIds -+ * -+ * Description: This function returns all of the supported board id strings. -+ * -+ * Parameters : [OUT] pszBoardIds - Address of a buffer that the board id -+ * strings are returned in. Each id starts at BP_BOARD_ID_LEN -+ * boundary. -+ * [IN] nBoardIdsSize - Number of BP_BOARD_ID_LEN elements that -+ * were allocated in pszBoardIds. -+ * -+ * Returns : Number of board id strings returned. -+ ***************************************************************************/ -+int BpGetBoardIds( char *pszBoardIds, int nBoardIdsSize ) -+{ -+ PBOARD_PARAMETERS *ppBp; -+ int i; -+ char *src; -+ char *dest; -+ -+ for( i = 0, ppBp = g_BoardParms; *ppBp && nBoardIdsSize; -+ i++, ppBp++, nBoardIdsSize--, pszBoardIds += BP_BOARD_ID_LEN ) -+ { -+ dest = pszBoardIds; -+ src = (*ppBp)->szBoardId; -+ while( *src ) -+ *dest++ = *src++; -+ *dest = '\0'; -+ } -+ -+ return( i ); -+} /* BpGetBoardIds */ -+ -+/************************************************************************** -+ * Name : BpGetEthernetMacInfo -+ * -+ * Description: This function returns all of the supported board id strings. -+ * -+ * Parameters : [OUT] pEnetInfos - Address of an array of ETHERNET_MAC_INFO -+ * buffers. -+ * [IN] nNumEnetInfos - Number of ETHERNET_MAC_INFO elements that -+ * are pointed to by pEnetInfos. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ ***************************************************************************/ -+int BpGetEthernetMacInfo( PETHERNET_MAC_INFO pEnetInfos, int nNumEnetInfos ) -+{ -+ int i, nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ for( i = 0; i < nNumEnetInfos; i++, pEnetInfos++ ) -+ { -+ if( i < BP_MAX_ENET_MACS ) -+ { -+ unsigned char *src = (unsigned char *) -+ &g_pCurrentBp->EnetMacInfos[i]; -+ unsigned char *dest = (unsigned char *) pEnetInfos; -+ int len = sizeof(ETHERNET_MAC_INFO); -+ while( len-- ) -+ *dest++ = *src++; -+ } -+ else -+ pEnetInfos->ucPhyType = BP_ENET_NO_PHY; -+ } -+ -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ for( i = 0; i < nNumEnetInfos; i++, pEnetInfos++ ) -+ pEnetInfos->ucPhyType = BP_ENET_NO_PHY; -+ -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetEthernetMacInfo */ -+ -+/************************************************************************** -+ * Name : BpGetSdramSize -+ * -+ * Description: This function returns a constant that describees the board's -+ * SDRAM type and size. -+ * -+ * Parameters : [OUT] pulSdramSize - Address of short word that the SDRAM size -+ * is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ ***************************************************************************/ -+int BpGetSdramSize( unsigned long *pulSdramSize ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pulSdramSize = g_pCurrentBp->usSdramSize; -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ *pulSdramSize = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetSdramSize */ -+ -+/************************************************************************** -+ * Name : BpGetPsiSize -+ * -+ * Description: This function returns the persistent storage size in K bytes. -+ * -+ * Parameters : [OUT] pulPsiSize - Address of short word that the persistent -+ * storage size is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ ***************************************************************************/ -+int BpGetPsiSize( unsigned long *pulPsiSize ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pulPsiSize = g_pCurrentBp->usPsiSize; -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ *pulPsiSize = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetPsiSize */ -+ -+/************************************************************************** -+ * Name : BpGetRj11InnerOuterPairGpios -+ * -+ * Description: This function returns the GPIO pin assignments for changing -+ * between the RJ11 inner pair and RJ11 outer pair. -+ * -+ * Parameters : [OUT] pusInner - Address of short word that the RJ11 inner pair -+ * GPIO pin is returned in. -+ * [OUT] pusOuter - Address of short word that the RJ11 outer pair -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, values are returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetRj11InnerOuterPairGpios( unsigned short *pusInner, -+ unsigned short *pusOuter ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusInner = g_pCurrentBp->usGpioRj11InnerPair; -+ *pusOuter = g_pCurrentBp->usGpioRj11OuterPair; -+ -+ if( g_pCurrentBp->usGpioRj11InnerPair != BP_NOT_DEFINED && -+ g_pCurrentBp->usGpioRj11OuterPair != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusInner = *pusOuter = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetRj11InnerOuterPairGpios */ -+ -+/************************************************************************** -+ * Name : BpGetPressAndHoldResetGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the press -+ * and hold reset button. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the press and hold -+ * reset button GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetPressAndHoldResetGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioPressAndHoldReset; -+ -+ if( g_pCurrentBp->usGpioPressAndHoldReset != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetPressAndHoldResetGpio */ -+ -+/************************************************************************** -+ * Name : BpGetVoipResetGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the VOIP -+ * Reset operation. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the VOIP reset -+ * GPIO pin is returned in. -+ * [IN] dspNum - Address of the DSP to query. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetVoipResetGpio( unsigned char dspNum, unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum ); -+ -+ if( pDspInfo ) -+ { -+ *pusValue = pDspInfo->usGpioVoipReset; -+ -+ if( *pusValue != BP_NOT_DEFINED || -+ *pusValue == BP_UNEQUIPPED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_FOUND; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetVoipResetGpio */ -+ -+/************************************************************************** -+ * Name : BpGetVoipIntrGpio -+ * -+ * Description: This function returns the GPIO pin assignment for VoIP interrupt. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the VOIP interrupt -+ * GPIO pin is returned in. -+ * [IN] dspNum - Address of the DSP to query. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetVoipIntrGpio( unsigned char dspNum, unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum ); -+ -+ if( pDspInfo ) -+ { -+ *pusValue = pDspInfo->usGpioVoipIntr; -+ -+ if( *pusValue != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_FOUND; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetVoipIntrGpio */ -+ -+/************************************************************************** -+ * Name : BpGetPcmciaResetGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the PCMCIA -+ * Reset operation. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the PCMCIA reset -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetPcmciaResetGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioPcmciaReset; -+ -+ if( g_pCurrentBp->usGpioPcmciaReset != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetPcmciaResetGpio */ -+ -+/************************************************************************** -+ * Name : BpGetUartRtsCtsGpios -+ * -+ * Description: This function returns the GPIO pin assignments for RTS and CTS -+ * UART signals. -+ * -+ * Parameters : [OUT] pusRts - Address of short word that the UART RTS GPIO -+ * pin is returned in. -+ * [OUT] pusCts - Address of short word that the UART CTS GPIO -+ * pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, values are returned. -+ * BP_BOARD_ID_NOT_SET - Error, board id input string does not -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetRtsCtsUartGpios( unsigned short *pusRts, unsigned short *pusCts ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusRts = g_pCurrentBp->usGpioUartRts; -+ *pusCts = g_pCurrentBp->usGpioUartCts; -+ -+ if( g_pCurrentBp->usGpioUartRts != BP_NOT_DEFINED && -+ g_pCurrentBp->usGpioUartCts != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusRts = *pusCts = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetUartRtsCtsGpios */ -+ -+/************************************************************************** -+ * Name : BpGetAdslLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the ADSL -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the ADSL LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetAdslLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedAdsl; -+ -+ if( g_pCurrentBp->usGpioLedAdsl != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetAdslLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetAdslFailLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the ADSL -+ * LED that is used when there is a DSL connection failure. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the ADSL LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetAdslFailLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedAdslFail; -+ -+ if( g_pCurrentBp->usGpioLedAdslFail != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetAdslFailLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetWirelessLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the Wireless -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the Wireless LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedWireless; -+ -+ if( g_pCurrentBp->usGpioLedWireless != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetWirelessLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetWirelessAntInUse -+ * -+ * Description: This function returns the antennas in use for wireless -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the Wireless Antenna -+ * is in use. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessAntInUse( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usAntInUseWireless; -+ -+ if( g_pCurrentBp->usAntInUseWireless != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetWirelessAntInUse */ -+ -+/************************************************************************** -+ * Name : BpGetWirelessSesBtnGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the Wireless -+ * Ses Button. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the Wireless LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessSesBtnGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioSesBtnWireless; -+ -+ if( g_pCurrentBp->usGpioSesBtnWireless != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetWirelessSesBtnGpio */ -+ -+/************************************************************************** -+ * Name : BpGetWirelessSesExtIntr -+ * -+ * Description: This function returns the external interrupt number for the -+ * Wireless Ses Button. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses -+ * external interrup is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessSesExtIntr( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usExtIntrSesBtnWireless; -+ -+ if( g_pCurrentBp->usExtIntrSesBtnWireless != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+ -+} /* BpGetWirelessSesExtIntr */ -+ -+/************************************************************************** -+ * Name : BpGetWirelessSesLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the Wireless -+ * Ses Led. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses -+ * Led GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessSesLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedSesWireless; -+ -+ if( g_pCurrentBp->usGpioLedSesWireless != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+ -+} /* BpGetWirelessSesLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetUsbLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the USB -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the USB LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetUsbLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedUsb; -+ -+ if( g_pCurrentBp->usGpioLedUsb != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetUsbLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetHpnaLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the HPNA -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the HPNA LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetHpnaLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedHpna; -+ -+ if( g_pCurrentBp->usGpioLedHpna != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetHpnaLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetWanDataLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the WAN Data -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the WAN Data LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWanDataLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedWanData; -+ -+ if( g_pCurrentBp->usGpioLedWanData != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetWanDataLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetPppLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the PPP -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the PPP LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetPppLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedPpp; -+ -+ if( g_pCurrentBp->usGpioLedPpp != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetPppLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetPppFailLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the PPP -+ * LED that is used when there is a PPP connection failure. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the PPP LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetPppFailLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedPppFail; -+ -+ if( g_pCurrentBp->usGpioLedPppFail != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetPppFailLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetBootloaderPowerOnLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the power -+ * on LED that is set by the bootloader. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the alarm LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetBootloaderPowerOnLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedBlPowerOn; -+ -+ if( g_pCurrentBp->usGpioLedBlPowerOn != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetBootloaderPowerOn */ -+ -+/************************************************************************** -+ * Name : BpGetBootloaderAlarmLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the alarm -+ * LED that is set by the bootloader. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the alarm LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetBootloaderAlarmLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedBlAlarm; -+ -+ if( g_pCurrentBp->usGpioLedBlAlarm != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetBootloaderAlarmLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetBootloaderResetCfgLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the reset -+ * configuration LED that is set by the bootloader. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the reset -+ * configuration LED GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetBootloaderResetCfgLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedBlResetCfg; -+ -+ if( g_pCurrentBp->usGpioLedBlResetCfg != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetBootloaderResetCfgLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetBootloaderStopLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the break -+ * into bootloader LED that is set by the bootloader. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the break into -+ * bootloader LED GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetBootloaderStopLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pusValue = g_pCurrentBp->usGpioLedBlStop; -+ -+ if( g_pCurrentBp->usGpioLedBlStop != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetBootloaderStopLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetVoipLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the VOIP -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the VOIP LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ * -+ * Note : The VoIP structure would allow for having one LED per DSP -+ * however, the board initialization function assumes only one -+ * LED per functionality (ie one LED for VoIP). Therefore in -+ * order to keep this tidy and simple we do not make usage of the -+ * one-LED-per-DSP function. Instead, we assume that the LED for -+ * VoIP is unique and associated with DSP 0 (always present on -+ * any VoIP platform). If changing this to a LED-per-DSP function -+ * then one need to update the board initialization driver in -+ * bcmdrivers\opensource\char\board\bcm963xx\impl1 -+ ***************************************************************************/ -+int BpGetVoipLedGpio( unsigned short *pusValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( 0 ); -+ -+ if( pDspInfo ) -+ { -+ *pusValue = pDspInfo->usGpioLedVoip; -+ -+ if( *pusValue != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_FOUND; -+ } -+ } -+ else -+ { -+ *pusValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetVoipLedGpio */ -+ -+/************************************************************************** -+ * Name : BpGetWirelessExtIntr -+ * -+ * Description: This function returns the Wireless external interrupt number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the wireless -+ * external interrupt number is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessExtIntr( unsigned long *pulValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pulValue = g_pCurrentBp->usExtIntrWireless; -+ -+ if( g_pCurrentBp->usExtIntrWireless != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pulValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetWirelessExtIntr */ -+ -+/************************************************************************** -+ * Name : BpGetAdslDyingGaspExtIntr -+ * -+ * Description: This function returns the ADSL Dying Gasp external interrupt -+ * number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the ADSL Dying Gasp -+ * external interrupt number is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetAdslDyingGaspExtIntr( unsigned long *pulValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pulValue = g_pCurrentBp->usExtIntrAdslDyingGasp; -+ -+ if( g_pCurrentBp->usExtIntrAdslDyingGasp != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pulValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetAdslDyingGaspExtIntr */ -+ -+/************************************************************************** -+ * Name : BpGetVoipExtIntr -+ * -+ * Description: This function returns the VOIP external interrupt number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the VOIP -+ * external interrupt number is returned in. -+ * [IN] dspNum - Address of the DSP to query. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetVoipExtIntr( unsigned char dspNum, unsigned long *pulValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum ); -+ -+ if( pDspInfo ) -+ { -+ *pulValue = pDspInfo->usExtIntrVoip; -+ -+ if( *pulValue != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pulValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_FOUND; -+ } -+ } -+ else -+ { -+ *pulValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetVoipExtIntr */ -+ -+/************************************************************************** -+ * Name : BpGetHpnaExtIntr -+ * -+ * Description: This function returns the HPNA external interrupt number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the HPNA -+ * external interrupt number is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetHpnaExtIntr( unsigned long *pulValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pulValue = g_pCurrentBp->usExtIntrHpna; -+ -+ if( g_pCurrentBp->usExtIntrHpna != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pulValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetHpnaExtIntr */ -+ -+/************************************************************************** -+ * Name : BpGetHpnaChipSelect -+ * -+ * Description: This function returns the HPNA chip select number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the HPNA -+ * chip select number is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetHpnaChipSelect( unsigned long *pulValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ *pulValue = g_pCurrentBp->usCsHpna; -+ -+ if( g_pCurrentBp->usCsHpna != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pulValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetHpnaChipSelect */ -+ -+/************************************************************************** -+ * Name : BpGetVoipChipSelect -+ * -+ * Description: This function returns the VOIP chip select number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the VOIP -+ * chip select number is returned in. -+ * [IN] dspNum - Address of the DSP to query. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetVoipChipSelect( unsigned char dspNum, unsigned long *pulValue ) -+{ -+ int nRet; -+ -+ if( g_pCurrentBp ) -+ { -+ VOIP_DSP_INFO *pDspInfo = BpGetVoipDspConfig( dspNum ); -+ -+ if( pDspInfo ) -+ { -+ *pulValue = pDspInfo->usCsVoip; -+ -+ if( *pulValue != BP_NOT_DEFINED ) -+ { -+ nRet = BP_SUCCESS; -+ } -+ else -+ { -+ nRet = BP_VALUE_NOT_DEFINED; -+ } -+ } -+ else -+ { -+ *pulValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_FOUND; -+ } -+ } -+ else -+ { -+ *pulValue = BP_NOT_DEFINED; -+ nRet = BP_BOARD_ID_NOT_SET; -+ } -+ -+ return( nRet ); -+} /* BpGetVoipChipSelect */ -+ -diff -urN linux.old/boardparms/bcm963xx/boardparms.h linux.dev/boardparms/bcm963xx/boardparms.h ---- linux.old/boardparms/bcm963xx/boardparms.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/boardparms/bcm963xx/boardparms.h 2006-08-25 00:39:38.000000000 +0200 -@@ -0,0 +1,766 @@ -+/* -+<:copyright-gpl -+ -+ Copyright 2003 Broadcom Corp. All Rights Reserved. -+ -+ This program is free software; you can distribute it and/or modify it -+ under the terms of the GNU General Public License (Version 2) as -+ published by the Free Software Foundation. -+ -+ This program is distributed in the hope it will be useful, but WITHOUT -+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+ for more details. -+ -+ You should have received a copy of the GNU General Public License along -+ with this program; if not, write to the Free Software Foundation, Inc., -+ 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. -+ -+:> -+*/ -+/************************************************************************** -+ * File Name : boardparms.h -+ * -+ * Description: This file contains definitions and function prototypes for -+ * the BCM63xx board parameter access functions. -+ * -+ * Updates : 07/14/2003 Created. -+ ***************************************************************************/ -+ -+#if !defined(_BOARDPARMS_H) -+#define _BOARDPARMS_H -+ -+#if __cplusplus -+extern "C" { -+#endif -+ -+/* Return codes. */ -+#define BP_SUCCESS 0 -+#define BP_BOARD_ID_NOT_FOUND 1 -+#define BP_VALUE_NOT_DEFINED 2 -+#define BP_BOARD_ID_NOT_SET 3 -+ -+/* Values for BpGetSdramSize. */ -+#define BP_MEMORY_8MB_1_CHIP 0 -+#define BP_MEMORY_16MB_1_CHIP 1 -+#define BP_MEMORY_32MB_1_CHIP 2 -+#define BP_MEMORY_64MB_2_CHIP 3 -+#define BP_MEMORY_32MB_2_CHIP 4 -+#define BP_MEMORY_16MB_2_CHIP 5 -+ -+/* Values for EthernetMacInfo PhyType. */ -+#define BP_ENET_NO_PHY 0 -+#define BP_ENET_INTERNAL_PHY 1 -+#define BP_ENET_EXTERNAL_PHY 2 -+#define BP_ENET_EXTERNAL_SWITCH 3 -+ -+/* Values for EthernetMacInfo Configuration type. */ -+#define BP_ENET_CONFIG_MDIO 0 /* Internal PHY, External PHY, Switch+(no GPIO, no SPI, no MDIO Pseudo phy */ -+#define BP_ENET_CONFIG_GPIO 1 /* Bcm96345GW board + Bcm5325M/E */ -+#define BP_ENET_CONFIG_MDIO_PSEUDO_PHY 2 /* Bcm96348GW board + Bcm5325E */ -+#define BP_ENET_CONFIG_SPI_SSB_0 3 /* Bcm96348GW board + Bcm5325M/E */ -+#define BP_ENET_CONFIG_SPI_SSB_1 4 /* Bcm96348GW board + Bcm5325M/E */ -+#define BP_ENET_CONFIG_SPI_SSB_2 5 /* Bcm96348GW board + Bcm5325M/E */ -+#define BP_ENET_CONFIG_SPI_SSB_3 6 /* Bcm96348GW board + Bcm5325M/E */ -+ -+/* Values for EthernetMacInfo Reverse MII. */ -+#define BP_ENET_NO_REVERSE_MII 0 -+#define BP_ENET_REVERSE_MII 1 -+ -+/* Values for VoIPDSPInfo DSPType. */ -+#define BP_VOIP_NO_DSP 0 -+#define BP_VOIP_DSP 1 -+ -+ -+/* Values for GPIO pin assignments (AH = Active High, AL = Active Low). */ -+#define BP_ACTIVE_MASK 0x8000 -+#define BP_ACTIVE_HIGH 0x0000 -+#define BP_ACTIVE_LOW 0x8000 -+#define BP_GPIO_0_AH (0 | BP_ACTIVE_HIGH) -+#define BP_GPIO_0_AL (0 | BP_ACTIVE_LOW) -+#define BP_GPIO_1_AH (1 | BP_ACTIVE_HIGH) -+#define BP_GPIO_1_AL (1 | BP_ACTIVE_LOW) -+#define BP_GPIO_2_AH (2 | BP_ACTIVE_HIGH) -+#define BP_GPIO_2_AL (2 | BP_ACTIVE_LOW) -+#define BP_GPIO_3_AH (3 | BP_ACTIVE_HIGH) -+#define BP_GPIO_3_AL (3 | BP_ACTIVE_LOW) -+#define BP_GPIO_4_AH (4 | BP_ACTIVE_HIGH) -+#define BP_GPIO_4_AL (4 | BP_ACTIVE_LOW) -+#define BP_GPIO_5_AH (5 | BP_ACTIVE_HIGH) -+#define BP_GPIO_5_AL (5 | BP_ACTIVE_LOW) -+#define BP_GPIO_6_AH (6 | BP_ACTIVE_HIGH) -+#define BP_GPIO_6_AL (6 | BP_ACTIVE_LOW) -+#define BP_GPIO_7_AH (7 | BP_ACTIVE_HIGH) -+#define BP_GPIO_7_AL (7 | BP_ACTIVE_LOW) -+#define BP_GPIO_8_AH (8 | BP_ACTIVE_HIGH) -+#define BP_GPIO_8_AL (8 | BP_ACTIVE_LOW) -+#define BP_GPIO_9_AH (9 | BP_ACTIVE_HIGH) -+#define BP_GPIO_9_AL (9 | BP_ACTIVE_LOW) -+#define BP_GPIO_10_AH (10 | BP_ACTIVE_HIGH) -+#define BP_GPIO_10_AL (10 | BP_ACTIVE_LOW) -+#define BP_GPIO_11_AH (11 | BP_ACTIVE_HIGH) -+#define BP_GPIO_11_AL (11 | BP_ACTIVE_LOW) -+#define BP_GPIO_12_AH (12 | BP_ACTIVE_HIGH) -+#define BP_GPIO_12_AL (12 | BP_ACTIVE_LOW) -+#define BP_GPIO_13_AH (13 | BP_ACTIVE_HIGH) -+#define BP_GPIO_13_AL (13 | BP_ACTIVE_LOW) -+#define BP_GPIO_14_AH (14 | BP_ACTIVE_HIGH) -+#define BP_GPIO_14_AL (14 | BP_ACTIVE_LOW) -+#define BP_GPIO_15_AH (15 | BP_ACTIVE_HIGH) -+#define BP_GPIO_15_AL (15 | BP_ACTIVE_LOW) -+#define BP_GPIO_16_AH (16 | BP_ACTIVE_HIGH) -+#define BP_GPIO_16_AL (16 | BP_ACTIVE_LOW) -+#define BP_GPIO_17_AH (17 | BP_ACTIVE_HIGH) -+#define BP_GPIO_17_AL (17 | BP_ACTIVE_LOW) -+#define BP_GPIO_18_AH (18 | BP_ACTIVE_HIGH) -+#define BP_GPIO_18_AL (18 | BP_ACTIVE_LOW) -+#define BP_GPIO_19_AH (19 | BP_ACTIVE_HIGH) -+#define BP_GPIO_19_AL (19 | BP_ACTIVE_LOW) -+#define BP_GPIO_20_AH (20 | BP_ACTIVE_HIGH) -+#define BP_GPIO_20_AL (20 | BP_ACTIVE_LOW) -+#define BP_GPIO_21_AH (21 | BP_ACTIVE_HIGH) -+#define BP_GPIO_21_AL (21 | BP_ACTIVE_LOW) -+#define BP_GPIO_22_AH (22 | BP_ACTIVE_HIGH) -+#define BP_GPIO_22_AL (22 | BP_ACTIVE_LOW) -+#define BP_GPIO_23_AH (23 | BP_ACTIVE_HIGH) -+#define BP_GPIO_23_AL (23 | BP_ACTIVE_LOW) -+#define BP_GPIO_24_AH (24 | BP_ACTIVE_HIGH) -+#define BP_GPIO_24_AL (24 | BP_ACTIVE_LOW) -+#define BP_GPIO_25_AH (25 | BP_ACTIVE_HIGH) -+#define BP_GPIO_25_AL (25 | BP_ACTIVE_LOW) -+#define BP_GPIO_26_AH (26 | BP_ACTIVE_HIGH) -+#define BP_GPIO_26_AL (26 | BP_ACTIVE_LOW) -+#define BP_GPIO_27_AH (27 | BP_ACTIVE_HIGH) -+#define BP_GPIO_27_AL (27 | BP_ACTIVE_LOW) -+#define BP_GPIO_28_AH (28 | BP_ACTIVE_HIGH) -+#define BP_GPIO_28_AL (28 | BP_ACTIVE_LOW) -+#define BP_GPIO_29_AH (29 | BP_ACTIVE_HIGH) -+#define BP_GPIO_29_AL (29 | BP_ACTIVE_LOW) -+#define BP_GPIO_30_AH (30 | BP_ACTIVE_HIGH) -+#define BP_GPIO_30_AL (30 | BP_ACTIVE_LOW) -+#define BP_GPIO_31_AH (31 | BP_ACTIVE_HIGH) -+#define BP_GPIO_31_AL (31 | BP_ACTIVE_LOW) -+#define BP_GPIO_32_AH (32 | BP_ACTIVE_HIGH) -+#define BP_GPIO_32_AL (32 | BP_ACTIVE_LOW) -+#define BP_GPIO_33_AH (33 | BP_ACTIVE_HIGH) -+#define BP_GPIO_33_AL (33 | BP_ACTIVE_LOW) -+#define BP_GPIO_34_AH (34 | BP_ACTIVE_HIGH) -+#define BP_GPIO_34_AL (34 | BP_ACTIVE_LOW) -+#define BP_GPIO_35_AH (35 | BP_ACTIVE_HIGH) -+#define BP_GPIO_35_AL (35 | BP_ACTIVE_LOW) -+#define BP_GPIO_36_AH (36 | BP_ACTIVE_HIGH) -+#define BP_GPIO_36_AL (36 | BP_ACTIVE_LOW) -+ -+/* Values for external interrupt assignments. */ -+#define BP_EXT_INTR_0 0 -+#define BP_EXT_INTR_1 1 -+#define BP_EXT_INTR_2 2 -+#define BP_EXT_INTR_3 3 -+ -+/* Values for chip select assignments. */ -+#define BP_CS_0 0 -+#define BP_CS_1 1 -+#define BP_CS_2 2 -+#define BP_CS_3 3 -+ -+/* Value for GPIO and external interrupt fields that are not used. */ -+#define BP_NOT_DEFINED 0xffff -+#define BP_HW_DEFINED 0xfff0 -+#define BP_UNEQUIPPED 0xfff1 -+ -+/* Maximum size of the board id string. */ -+#define BP_BOARD_ID_LEN 16 -+ -+/* Maximum number of Ethernet MACs. */ -+#define BP_MAX_ENET_MACS 2 -+ -+/* Maximum number of VoIP DSPs. */ -+#define BP_MAX_VOIP_DSP 2 -+ -+/* Wireless Antenna Settings. */ -+#define BP_WLAN_ANT_MAIN 0 -+#define BP_WLAN_ANT_AUX 1 -+#define BP_WLAN_ANT_BOTH 3 -+ -+#if !defined(__ASSEMBLER__) -+ -+/* Information about an Ethernet MAC. If ucPhyType is BP_ENET_NO_PHY, -+ * then the other fields are not valid. -+ */ -+typedef struct EthernetMacInfo -+{ -+ unsigned char ucPhyType; /* BP_ENET_xxx */ -+ unsigned char ucPhyAddress; /* 0 to 31 */ -+ unsigned short usGpioPhySpiSck; /* GPIO pin or not defined */ -+ unsigned short usGpioPhySpiSs; /* GPIO pin or not defined */ -+ unsigned short usGpioPhySpiMosi; /* GPIO pin or not defined */ -+ unsigned short usGpioPhySpiMiso; /* GPIO pin or not defined */ -+ unsigned short usGpioPhyReset; /* GPIO pin or not defined (96348LV) */ -+ unsigned short numSwitchPorts; /* Number of PHY ports */ -+ unsigned short usConfigType; /* Configuration type */ -+ unsigned short usReverseMii; /* Reverse MII */ -+} ETHERNET_MAC_INFO, *PETHERNET_MAC_INFO; -+ -+ -+/* Information about VoIP DSPs. If ucDspType is BP_VOIP_NO_DSP, -+ * then the other fields are not valid. -+ */ -+typedef struct VoIPDspInfo -+{ -+ unsigned char ucDspType; -+ unsigned char ucDspAddress; -+ unsigned short usExtIntrVoip; -+ unsigned short usGpioVoipReset; -+ unsigned short usGpioVoipIntr; -+ unsigned short usGpioLedVoip; -+ unsigned short usCsVoip; -+ -+} VOIP_DSP_INFO; -+ -+ -+/************************************************************************** -+ * Name : BpSetBoardId -+ * -+ * Description: This function find the BOARD_PARAMETERS structure for the -+ * specified board id string and assigns it to a global, static -+ * variable. -+ * -+ * Parameters : [IN] pszBoardId - Board id string that is saved into NVRAM. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_FOUND - Error, board id input string does not -+ * have a board parameters configuration record. -+ ***************************************************************************/ -+int BpSetBoardId( char *pszBoardId ); -+ -+/************************************************************************** -+ * Name : BpGetBoardIds -+ * -+ * Description: This function returns all of the supported board id strings. -+ * -+ * Parameters : [OUT] pszBoardIds - Address of a buffer that the board id -+ * strings are returned in. Each id starts at BP_BOARD_ID_LEN -+ * boundary. -+ * [IN] nBoardIdsSize - Number of BP_BOARD_ID_LEN elements that -+ * were allocated in pszBoardIds. -+ * -+ * Returns : Number of board id strings returned. -+ ***************************************************************************/ -+int BpGetBoardIds( char *pszBoardIds, int nBoardIdsSize ); -+ -+/************************************************************************** -+ * Name : BpGetEthernetMacInfo -+ * -+ * Description: This function returns all of the supported board id strings. -+ * -+ * Parameters : [OUT] pEnetInfos - Address of an array of ETHERNET_MAC_INFO -+ * buffers. -+ * [IN] nNumEnetInfos - Number of ETHERNET_MAC_INFO elements that -+ * are pointed to by pEnetInfos. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ ***************************************************************************/ -+int BpGetEthernetMacInfo( PETHERNET_MAC_INFO pEnetInfos, int nNumEnetInfos ); -+ -+/************************************************************************** -+ * Name : BpGetSdramSize -+ * -+ * Description: This function returns a constant that describees the board's -+ * SDRAM type and size. -+ * -+ * Parameters : [OUT] pulSdramSize - Address of short word that the SDRAM size -+ * is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ ***************************************************************************/ -+int BpGetSdramSize( unsigned long *pulSdramSize ); -+ -+/************************************************************************** -+ * Name : BpGetPsiSize -+ * -+ * Description: This function returns the persistent storage size in K bytes. -+ * -+ * Parameters : [OUT] pulPsiSize - Address of short word that the persistent -+ * storage size is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ ***************************************************************************/ -+int BpGetPsiSize( unsigned long *pulPsiSize ); -+ -+/************************************************************************** -+ * Name : BpGetRj11InnerOuterPairGpios -+ * -+ * Description: This function returns the GPIO pin assignments for changing -+ * between the RJ11 inner pair and RJ11 outer pair. -+ * -+ * Parameters : [OUT] pusInner - Address of short word that the RJ11 inner pair -+ * GPIO pin is returned in. -+ * [OUT] pusOuter - Address of short word that the RJ11 outer pair -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, values are returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetRj11InnerOuterPairGpios( unsigned short *pusInner, -+ unsigned short *pusOuter ); -+ -+/************************************************************************** -+ * Name : BpGetPressAndHoldResetGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the press -+ * and hold reset button. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the press and hold -+ * reset button GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetPressAndHoldResetGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetVoipResetGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the VOIP -+ * Reset operation. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the VOIP reset -+ * GPIO pin is returned in. -+ * [IN] dspNum - Address of the DSP to query. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetVoipResetGpio( unsigned char dspNum, unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetVoipIntrGpio -+ * -+ * Description: This function returns the GPIO pin assignment for VoIP interrupt. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the VOIP interrupt -+ * GPIO pin is returned in. -+ * [IN] dspNum - Address of the DSP to query. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetVoipIntrGpio( unsigned char dspNum, unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetPcmciaResetGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the PCMCIA -+ * Reset operation. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the PCMCIA reset -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetPcmciaResetGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetUartRtsCtsGpios -+ * -+ * Description: This function returns the GPIO pin assignments for RTS and CTS -+ * UART signals. -+ * -+ * Parameters : [OUT] pusRts - Address of short word that the UART RTS GPIO -+ * pin is returned in. -+ * [OUT] pusCts - Address of short word that the UART CTS GPIO -+ * pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, values are returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetRtsCtsUartGpios( unsigned short *pusRts, unsigned short *pusCts ); -+ -+/************************************************************************** -+ * Name : BpGetAdslLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the ADSL -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the ADSL LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetAdslLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetAdslFailLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the ADSL -+ * LED that is used when there is a DSL connection failure. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the ADSL LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetAdslFailLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetWirelessLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the Wireless -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the Wireless LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetWirelessAntInUse -+ * -+ * Description: This function returns the antennas in use for wireless -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the Wireless Antenna -+ * is in use. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessAntInUse( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetWirelessSesBtnGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the Wireless -+ * Ses Button. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses -+ * Button GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessSesBtnGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetWirelessSesExtIntr -+ * -+ * Description: This function returns the external interrupt number for the -+ * Wireless Ses Button. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses -+ * external interrup is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessSesExtIntr( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetWirelessSesLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the Wireless -+ * Ses Led. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the Wireless Ses -+ * Led GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessSesLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetUsbLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the USB -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the USB LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetUsbLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetHpnaLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the HPNA -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the HPNA LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetHpnaLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetWanDataLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the WAN Data -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the WAN Data LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWanDataLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetPppLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the PPP -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the PPP LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetPppLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetPppFailLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the PPP -+ * LED that is used when there is a PPP connection failure. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the PPP LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetPppFailLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetVoipLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the VOIP -+ * LED. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the VOIP LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetVoipLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetBootloaderPowerOnLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the power -+ * on LED that is set by the bootloader. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the alarm LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetBootloaderPowerOnLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetBootloaderAlarmLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the alarm -+ * LED that is set by the bootloader. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the alarm LED -+ * GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetBootloaderAlarmLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetBootloaderResetCfgLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the reset -+ * configuration LED that is set by the bootloader. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the reset -+ * configuration LED GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetBootloaderResetCfgLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetBootloaderStopLedGpio -+ * -+ * Description: This function returns the GPIO pin assignment for the break -+ * into bootloader LED that is set by the bootloader. -+ * -+ * Parameters : [OUT] pusValue - Address of short word that the break into -+ * bootloader LED GPIO pin is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetBootloaderStopLedGpio( unsigned short *pusValue ); -+ -+/************************************************************************** -+ * Name : BpGetWirelessExtIntr -+ * -+ * Description: This function returns the Wireless external interrupt number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the wireless -+ * external interrupt number is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetWirelessExtIntr( unsigned long *pulValue ); -+ -+/************************************************************************** -+ * Name : BpGetAdslDyingGaspExtIntr -+ * -+ * Description: This function returns the ADSL Dying Gasp external interrupt -+ * number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the ADSL Dying Gasp -+ * external interrupt number is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetAdslDyingGaspExtIntr( unsigned long *pulValue ); -+ -+/************************************************************************** -+ * Name : BpGetVoipExtIntr -+ * -+ * Description: This function returns the VOIP external interrupt number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the VOIP -+ * external interrupt number is returned in. -+ * [IN] dspNum - Address of the DSP to query. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetVoipExtIntr( unsigned char dspNum, unsigned long *pulValue ); -+ -+/************************************************************************** -+ * Name : BpGetHpnaExtIntr -+ * -+ * Description: This function returns the HPNA external interrupt number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the HPNA -+ * external interrupt number is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetHpnaExtIntr( unsigned long *pulValue ); -+ -+/************************************************************************** -+ * Name : BpGetHpnaChipSelect -+ * -+ * Description: This function returns the HPNA chip select number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the HPNA -+ * chip select number is returned in. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetHpnaChipSelect( unsigned long *pulValue ); -+ -+/************************************************************************** -+ * Name : BpGetVoipChipSelect -+ * -+ * Description: This function returns the VOIP chip select number. -+ * -+ * Parameters : [OUT] pulValue - Address of short word that the VOIP -+ * chip select number is returned in. -+ * [IN] dspNum - Address of the DSP to query. -+ * -+ * Returns : BP_SUCCESS - Success, value is returned. -+ * BP_BOARD_ID_NOT_SET - Error, BpSetBoardId has not been called. -+ * BP_VALUE_NOT_DEFINED - At least one return value is not defined -+ * for the board. -+ ***************************************************************************/ -+int BpGetVoipChipSelect( unsigned char dspNum, unsigned long *pulValue ); -+ -+#endif /* __ASSEMBLER__ */ -+ -+#if __cplusplus -+} -+#endif -+ -+#endif /* _BOARDPARMS_H */ -+ -diff -urN linux.old/boardparms/bcm963xx/Makefile linux.dev/boardparms/bcm963xx/Makefile ---- linux.old/boardparms/bcm963xx/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/boardparms/bcm963xx/Makefile 2006-08-25 00:39:38.000000000 +0200 -@@ -0,0 +1,16 @@ -+ -+ifeq ($(CONFIG_MIPS_BRCM),y) -+ -+# Linux -+obj-y += boardparms.o -+EXTRA_CFLAGS += -DCONFIG_BCM9$(BRCM_CHIP) -+-include $(TOPDIR)/Rules.make -+ -+else -+ -+# CFE -+BSPOBJS += boardparms.o -+ -+endif -+ -+ diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/bootinfo.h --- linux.old/include/asm-mips/bootinfo.h 2006-08-25 00:43:22.000000000 +0200 +++ linux.dev/include/asm-mips/bootinfo.h 2006-08-25 00:39:38.000000000 +0200 |