www.usr.com/support/gpl/USR9107_release.1.4.tar.gz
[bcm963xx.git] / targets / boardparms / bcm963xx / boardparms.h
index c0f50e6..d3c8501 100755 (executable)
@@ -67,6 +67,11 @@ extern "C" {
 #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
@@ -156,10 +161,12 @@ extern "C" {
 #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
@@ -167,6 +174,9 @@ extern "C" {
 /* 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
@@ -191,6 +201,23 @@ typedef struct EthernetMacInfo
     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
  *
@@ -306,13 +333,14 @@ int BpGetPressAndHoldResetGpio( unsigned short *pusValue );
  *
  * 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 short *pusValue );
+int BpGetVoipResetGpio( unsigned char dspNum, unsigned short *pusValue );
 
 /**************************************************************************
  * Name       : BpGetVoipIntrGpio
@@ -321,13 +349,14 @@ int BpGetVoipResetGpio( unsigned short *pusValue );
  *
  * 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 short *pusValue );
+int BpGetVoipIntrGpio( unsigned char dspNum, unsigned short *pusValue );
 
 /**************************************************************************
  * Name       : BpGetPcmciaResetGpio
@@ -672,13 +701,14 @@ int BpGetAdslDyingGaspExtIntr( unsigned long *pulValue );
  *
  * 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 long *pulValue );
+int BpGetVoipExtIntr( unsigned char dspNum, unsigned long *pulValue );
 
 /**************************************************************************
  * Name       : BpGetHpnaExtIntr
@@ -717,13 +747,14 @@ int BpGetHpnaChipSelect( unsigned long *pulValue );
  *
  * 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 long *pulValue );
+int BpGetVoipChipSelect( unsigned char dspNum, unsigned long *pulValue );
 
 #endif /* __ASSEMBLER__ */