http://downloads.netgear.com/files/GPL/GPL_Source_V361j_DM111PSP_series_consumer_rele...
[bcm963xx.git] / bcmdrivers / opensource / include / bcm963xx / board.h
index 8860236..6ea6713 100755 (executable)
@@ -53,7 +53,7 @@ extern "C" {
 #define IMAGE_BASE          (0xA0000000 | 0x1FC00000)
 
 /* Some chips support alternative boot vector */
 #define IMAGE_BASE          (0xA0000000 | 0x1FC00000)
 
 /* Some chips support alternative boot vector */
-#if defined(_BCM96348_) || defined(CONFIG_BCM96348) || defined(_BCM96358_) || defined(CONFIG_BCM96358)
+#if defined(_BCM96358_) || defined(CONFIG_BCM96358)
 #define FLASH_BASE          (0xA0000000 | (MPI->cs[0].base & 0xFFFFFF00))
 #define BOOT_OFFSET         (FLASH_BASE - IMAGE_BASE)
 #else
 #define FLASH_BASE          (0xA0000000 | (MPI->cs[0].base & 0xFFFFFF00))
 #define BOOT_OFFSET         (FLASH_BASE - IMAGE_BASE)
 #else
@@ -87,8 +87,12 @@ extern "C" {
 /*****************************************************************************/
 #define NVRAM_PSI_DEFAULT               24              // default psi in K byes
 #define ONEK                            1024
 /*****************************************************************************/
 #define NVRAM_PSI_DEFAULT               24              // default psi in K byes
 #define ONEK                            1024
+#define BLK64K                          (64*ONEK)
 #define FLASH_LENGTH_BOOT_ROM           (64*ONEK)
 #define FLASH_RESERVED_AT_END           (64*ONEK) /*reserved for PSI, scratch pad*/
 #define FLASH_LENGTH_BOOT_ROM           (64*ONEK)
 #define FLASH_RESERVED_AT_END           (64*ONEK) /*reserved for PSI, scratch pad*/
+#define FLASH45_BLKS_BOOT_ROM           1
+#define FLASH45_LENGTH_BOOT_ROM         (FLASH45_BLKS_BOOT_ROM * BLK64K)
+
 
 #define NVRAM_LENGTH                    ONEK            // 1k nvram 
 #define NVRAM_VERSION_NUMBER            2
 
 #define NVRAM_LENGTH                    ONEK            // 1k nvram 
 #define NVRAM_VERSION_NUMBER            2
@@ -105,7 +109,7 @@ extern "C" {
 /*****************************************************************************/
 #define CFE_VERSION_OFFSET           0x0570
 #define CFE_VERSION_MARK_SIZE        5
 /*****************************************************************************/
 #define CFE_VERSION_OFFSET           0x0570
 #define CFE_VERSION_MARK_SIZE        5
-#define CFE_VERSION_SIZE             5
+#define CFE_VERSION_SIZE             6  //ODM michaelc, display ODM CFE version
 
 #define BOOT_LATEST_IMAGE   '0'
 #define BOOT_PREVIOUS_IMAGE '1'
 
 #define BOOT_LATEST_IMAGE   '0'
 #define BOOT_PREVIOUS_IMAGE '1'
@@ -115,7 +119,9 @@ typedef struct
     unsigned long ulVersion;
     char szBootline[NVRAM_BOOTLINE_LEN];
     char szBoardId[NVRAM_BOARD_ID_STRING_LEN];
     unsigned long ulVersion;
     char szBootline[NVRAM_BOOTLINE_LEN];
     char szBoardId[NVRAM_BOARD_ID_STRING_LEN];
-    unsigned long ulReserved1[2];
+    //unsigned long ulReserved1[2];
+    unsigned char sprom_saved_flag;
+    unsigned char Reserved[7];//reserved
     unsigned long ulNumMacAddrs;
     unsigned char ucaBaseMacAddr[NVRAM_MAC_ADDRESS_LEN];
     char chReserved[2];
     unsigned long ulNumMacAddrs;
     unsigned char ucaBaseMacAddr[NVRAM_MAC_ADDRESS_LEN];
     char chReserved[2];
@@ -227,10 +233,53 @@ typedef struct
 #define BOARD_IOCTL_SET_GPIO \
     _IOWR(BOARD_IOCTL_MAGIC, 30, BOARD_IOCTL_PARMS)
     
 #define BOARD_IOCTL_SET_GPIO \
     _IOWR(BOARD_IOCTL_MAGIC, 30, BOARD_IOCTL_PARMS)
     
+//swda add,05/17/2006
+#define BOARD_IOCTL_INFO_BOOT_COMPLETE \
+    _IOWR(BOARD_IOCTL_MAGIC, 40, BOARD_IOCTL_PARMS)
+
+#if ODM_AUTO_PROVISION_LAN
+#define BOARD_IOCTL_AUTO_PROVISION_LAN \
+    _IOWR(BOARD_IOCTL_MAGIC, 41, BOARD_IOCTL_PARMS)
+#endif
+
+#if VOXXXLOAD
+#define BOARD_IOCTL_PSTNCALL \
+    _IOWR(BOARD_IOCTL_MAGIC, 42, BOARD_IOCTL_PARMS)
+
+#define BOARD_IOCTL_OFFHOOK \
+    _IOWR(BOARD_IOCTL_MAGIC, 43, BOARD_IOCTL_PARMS)
+#endif
+
+#define BOARD_IOCTL_GET_SERIAL_NUMBER \
+    _IOWR(BOARD_IOCTL_MAGIC, 44, BOARD_IOCTL_PARMS)
+
+#if    DEFAULT_WLAN_WEP128
+#define BOARD_IOCTL_GET_WEP128_KEY \
+    _IOWR(BOARD_IOCTL_MAGIC, 45, BOARD_IOCTL_PARMS)
+#endif
+
+#if    LLL_TEST_LED
+#define BOARD_IOCTL_SET_LLL_TEST_LED \
+    _IOWR(BOARD_IOCTL_MAGIC, 46, BOARD_IOCTL_PARMS)
+#endif
+
+#if    WLAN_ENABLE_CTRL_BUTTON
+#define BOARD_IOCTL_WLAN_ENABLE_CTRL_BUTTON \
+    _IOWR(BOARD_IOCTL_MAGIC, 47, BOARD_IOCTL_PARMS)
+#endif
+
+#define BOARD_IOCTL_SET_VAR \
+    _IOWR(BOARD_IOCTL_MAGIC, 48, BOARD_IOCTL_PARMS)
+//swda add end
     
 // for the action in BOARD_IOCTL_PARMS for flash operation
 typedef enum 
 {
     
 // for the action in BOARD_IOCTL_PARMS for flash operation
 typedef enum 
 {
+       /*==== add by Andrew (2004/09/14)====*/
+#if defined(CFG_XFER_TO_FACDEFLT)
+       FACTDEFLT = -1,
+#endif
+    /*==== end ====*/
     PERSISTENT,
     NVRAM,
     BCM_IMAGE_CFE,
     PERSISTENT,
     NVRAM,
     BCM_IMAGE_CFE,
@@ -240,6 +289,7 @@ typedef enum
     SCRATCH_PAD,
     FLASH_SIZE,
     SET_CS_PARAM,
     SCRATCH_PAD,
     FLASH_SIZE,
     SET_CS_PARAM,
+    BCM_IMAGE_BINFS,
 } BOARD_IOCTL_ACTION;
     
     
 } BOARD_IOCTL_ACTION;
     
     
@@ -266,6 +316,8 @@ typedef enum
     kLedVoip,
     kLedSes,
     kLedEphyLinkSpeed,
     kLedVoip,
     kLedSes,
     kLedEphyLinkSpeed,
+    kLedDiag,
+    kLedPower,
     kLedEnd,                // NOTE: Insert the new led name before this one.  Alway stay at the end.
 } BOARD_LED_NAME;
 
     kLedEnd,                // NOTE: Insert the new led name before this one.  Alway stay at the end.
 } BOARD_LED_NAME;
 
@@ -315,6 +367,12 @@ typedef struct flashaddrinfo
     int flash_nvram_number_blk;
     int flash_nvram_length;
     unsigned long flash_nvram_blk_offset;
     int flash_nvram_number_blk;
     int flash_nvram_length;
     unsigned long flash_nvram_blk_offset;
+#if defined(CFG_XFER_TO_FACDEFLT)
+       int flash_factdeflt_start_blk;
+       int flash_factdeflt_number_blk;
+       int flash_factdeflt_length;
+       unsigned long flash_factdeflt_blk_offset;
+#endif
 } FLASH_ADDR_INFO, *PFLASH_ADDR_INFO;
 
 // scratch pad defines
 } FLASH_ADDR_INFO, *PFLASH_ADDR_INFO;
 
 // scratch pad defines