GUI: Fix Tomato RAF theme for all builds. Compilation typo.
[tomato.git] / release / src-rt-6.x.4708 / cfe / cfe / arch / mips / board / bcm963xx / include / dev_bcm63xx_flash.h
blob5798f445f94d809feb15cbcc332dc579c0a6ae57
1 /***************************************************************************
2 * Broadcom Corp. Confidential
3 * Copyright 2001 Broadcom Corp. All Rights Reserved.
5 * THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED
6 * SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM.
7 * YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT
8 * SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
10 ***************************************************************************
11 * File Name : dev_bcm63xx_flash.h
13 * Created on : 04/18/2002 seanl
14 ***************************************************************************/
16 #if !defined(_DEV_BCM63XX_FLASH_)
17 #define _DEV_BCM63XX_FLASH_
19 #include "bcmtypes.h"
20 #include "board.h"
22 #define ONEK 1024
23 #define BLK64K (64*ONEK)
24 #define FLASH63XX_ADDR_BOOT_ROM ((char *) FLASH_BASE)
26 // nvram and psi flash definitions for 45
27 #define FLASH45_BLKS_BOOT_ROM 3
28 #define FLASH45_LENGTH_BOOT_ROM (FLASH45_BLKS_BOOT_ROM * BLK64K)
30 // Used for RTEMS.
31 #define FLASH45_IMAGE_START_ADDR (FLASH_BASE + FLASH45_LENGTH_BOOT_ROM)
34 // nvram and psi flash definitions for 5x
35 #define FLASH5X_BLKS_BOOT_ROM 2
36 #define FLASH5X_LENGTH_BOOT_ROM (FLASH5X_BLKS_BOOT_ROM * BLK128K)
39 /*****************************************************************************/
40 /* NVRAM definition */
41 /*****************************************************************************/
42 #define NVRAM_LENGTH ONEK // 1k nvram
43 #define NVRAM_VERSION_NUMBER 1
44 #define NVRAM_VERSION_NUMBER_ADDRESS 0
46 #define NVRAM_BOOTLINE_LEN 256
47 #define NVRAM_BOARD_ID_STRING_LEN 16
48 #define NVRAM_MAC_ADDRESS_LEN 6
49 #define NVRAM_MAC_COUNT_MAX 32
51 #define NVRAM_PSI_MIN_SIZE 1 // min 1k
52 #define NVRAM_PSI_MAX_SIZE 128 // max 128k
53 #define NVRAM_PSI_DEFAULT_6345 15 // default 15k for 6345
54 #define NVRAM_PSI_DEFAULT_635X 127 // default 127k for 635X
55 #define NVRAM_MAC_COUNT_DEFAULT_6345 3
56 #define NVRAM_MAC_COUNT_DEFAULT_635X 5
58 typedef struct
60 unsigned long ulVersion;
61 char szBootline[NVRAM_BOOTLINE_LEN];
62 char szBoardId[NVRAM_BOARD_ID_STRING_LEN];
63 unsigned long ulPsiSize;
64 unsigned long ulEnetModeFlag;
65 unsigned long ulNumMacAddrs;
66 unsigned char ucaBaseMacAddr[NVRAM_MAC_ADDRESS_LEN];
67 char chReserved[2];
68 unsigned long ulCheckSum;
69 } NVRAM_DATA, *PNVRAM_DATA;
72 typedef struct flashaddrinfo
74 int flash_persistent_start_blk;
75 int flash_persistent_number_blk;
76 int flash_persistent_length;
77 unsigned long flash_persistent_blk_offset;
79 int flash_nvram_start_blk;
80 int flash_nvram_number_blk;
81 int flash_nvram_length;
82 unsigned long flash_nvram_blk_offset;
83 } FLASH_ADDR_INFO, *PFLASH_ADDR_INFO;
85 void kerSysFlashInit(void);
86 void kerSysFlashAddrInfoGet(PFLASH_ADDR_INFO pflash_addr_info);
87 int kerSysNvRamSet(char *string,int strLen,int offset);
88 int kerSysNvRamGet(char *string,int strLen,int offset);
89 int kerSysBcmImageSet( int flash_start_addr, char *string, int size, int fWholeImage);
90 void kerSysMipsSoftReset(void);
91 int kerSysErasePsi(void);
92 int kerSysEraseNvRam(void);
93 int kerSysPsiSet(char *string,int strLen,int offset);
94 int kerSysPsiGet(char *string,int strLen,int offset);
95 int kerSysMemoryTypeSet(int flash_start_addr, char *string, int size);
96 int kerSysMemoryTypeGet(void);
97 void dumpHex(unsigned char *start, int len);
100 #ifndef _CFIFLASH_H
101 extern BYTE flash_reset(void);
102 extern int flash_get_numsectors(void);
103 extern BYTE flash_sector_erase_int(BYTE sector);
104 extern unsigned char *flash_get_memptr(byte sector);
105 extern int flash_get_blk(int addr);
106 #endif
108 #endif /* _DEV_BCM63XX_FLASH_ */