openwrtv4/target/linux/brcm63xx-2.6/files/arch/mips/bcm963xx/boardparms.c
Florian Fainelli 3ce8de018e Split up brcm63xx into files/
SVN-Revision: 6848
2007-04-03 11:26:12 +00:00

2391 lines
97 KiB
C

/*
<: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 "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 */