#ifndef __SFDATE_H__ #define __SFDATE_H__ #include "util.h" #define SF_OPT_NA 0x00 #define SF_OPT_SE 0x01 #define SF_OPT_BIGSZ 0x02 //Big size > 64KB #define SF_UNKNOW 0 #define SF_MXIC 1 #define SF_ST 2 #define SF_SST 3 #define SF_ATMEL_AT25F 4 #define SF_ATMEL_AT25FS 5 #define SF_ATMEL_AT2DBF 6 #define SF_WINBOND 7 #define SF_PMC 8 #define SF_MXIC_LIKE 9 #define SF_AMIC 10 #define SF_EON 11 #define SF_ESMT 12 #define SF_GIGA 13 #define SF_FENTECH 14 #define SFCMD_WREN_MXIC 0x06 #define SFCMD_WRDI_MXIC 0x04 #define SFCMD_RDID_MXIC 0x9f #define SFCMD_RDSR_MXIC 0x05 #define SFCMD_WRSR_MXIC 0x01 #define SFCMD_READ_MXIC 0x03 #define SFCMD_SE_MXIC 0x20 #define SFCMD_BE_MXIC 0x52 #define SFCMD_CE_MXIC 0x60 #define SFCMD_PP_MXIC 0x02 #define SFCMD_DP_MXIC 0xb9 #define SFCMD_RDP_MXIC 0xab #define SFCMD_RES_MXIC 0xab #define SFCMD_REMS_MXIC 0x90 #define SFCMD_WREN_ST 0x06 #define SFCMD_WRDI_ST 0x04 #define SFCMD_RDID_ST 0x9f #define SFCMD_RDSR_ST 0x05 #define SFCMD_WRSR_ST 0x01 #define SFCMD_READ_ST 0x03 #define SFCMD_PP_ST 0x02 #define SFCMD_SE_ST 0xd8 //different with MXIC #define SFCMD_BE_ST 0xc7 //different with MXIC #define SFCMD_DP_ST 0xb9 #define SFCMD_RES_ST 0xab #define SFCMD_WREN_SST 0x06 #define SFCMD_WRDI_SST 0x04 #define SFCMD_RDSR_SST 0x05 #define SFCMD_WRSR_SST 0x01 #define SFCMD_EWSR_SST 0x50 #define SFCMD_READ_SST 0x03 #define SFCMD_SE_SST 0x20 #define SFCMD_BE_SST 0x52 #define SFCMD_CE_SST 0x60 #define SFCMD_BP_SST 0x02 //byte program #define SFCMD_AAIP_SST 0xaf //not support in MXIC #define SFCMD_REMS_SST 0x90 #define SFCMD_WREN_AT25F 0x06 #define SFCMD_WRDI_AT25F 0x04 #define SFCMD_RDSR_AT25F 0x05 #define SFCMD_WRSR_AT25F 0x01 #define SFCMD_READ_AT25F 0x03 #define SFCMD_PP_AT25F 0x02 #define SFCMD_SE_AT25F 0x52 //different with MXIC #define SFCMD_CE_AT25F 0x62 //different with MXIC #define SFCMD_RDID_AT25F 0x15 //different with MXIC #define SFCMD_WREN_AT25FS 0x06 #define SFCMD_WRDI_AT25FS 0x04 #define SFCMD_RDSR_AT25FS 0x05 #define SFCMD_WRSR_AT25FS 0x01 #define SFCMD_READ_AT25FS 0x03 #define SFCMD_PP_AT25FS 0x02 #define SFCMD_SE_AT25FS 0x20 #define SFCMD_BE_AT25FS 0x52 #define SFCMD_CE_AT25FS 0x60 #define SFCMD_RDID_AT25FS 0x9f #define SFCMD_WREN_WINBOND 0x06 #define SFCMD_WRDI_WINBOND 0x04 #define SFCMD_RDSR_WINBOND 0x05 #define SFCMD_WRSR_WINBOND 0x01 #define SFCMD_READ_WINBOND 0x03 #define SFCMD_PP_WINBOND 0x02 #define SFCMD_BE_WINBOND 0xd8 //different with MXIC #define SFCMD_CE_WINBOND 0xc7 //different with MXIC #define SFCMD_SE_WINBOND 0x20 #define SFCMD_RES_WINBOND 0xab #define SFCMD_REMS_WINBOND 0x90 #define SFCMD_RDID_WINBOND 0x9f //W25P80, W25P16, W25P32 #define SFCMD_WREN_PMC 0x06 #define SFCMD_WRDI_PMC 0x04 #define SFCMD_RDSR_PMC 0x05 #define SFCMD_WRSR_PMC 0x01 #define SFCMD_READ_PMC 0x03 #define SFCMD_PP_PMC 0x02 #define SFCMD_SE_PMC 0xd7 //different with MXIC #define SFCMD_BE_PMC 0xd8 //different with MXIC #define SFCMD_CE_PMC 0xc7 //different with MXIC #define SFCMD_RES_PMC 0xab #define SFCMD_RDID_PMC 0x9f //Pm25LV010, Pm25LV020, Pm25LV040 #define SFCMD_WREN_AMIC 0x06 #define SFCMD_WRDI_AMIC 0x04 #define SFCMD_RDSR_AMIC 0x05 #define SFCMD_WRSR_AMIC 0x01 #define SFCMD_READ_AMIC 0x03 #define SFCMD_PP_AMIC 0x02 #define SFCMD_SE_AMIC 0xd8 //different with MXIC #define SFCMD_BE_AMIC 0xc7 //different with MXIC #define SFCMD_CE_AMIC 0xc7 //different with MXIC #define SFCMD_RES_AMIC 0xab #define SFCMD_RDID_AMIC 0x9f //Pm25LV010, Pm25LV020, Pm25LV040 #define SFCMD_WREN_EON 0x06 #define SFCMD_WRDI_EON 0x04 #define SFCMD_RDSR_EON 0x05 #define SFCMD_WRSR_EON 0x01 #define SFCMD_READ_EON 0x03 #define SFCMD_PP_EON 0x02 #define SFCMD_SE_EON 0x20 #define SFCMD_BE_EON 0x52 #define SFCMD_CE_EON 0x60 #define SFCMD_DP_EON 0xB9 #define SFCMD_RDP_EON 0xAB #define SFCMD_REMS_EON 0x90 #define SFCMD_RDID_EON 0x9F // special type #define SFCMD_RDSR_AT45DB 0xd7 #define SFCMD_READ_AT45DB 0xe8 // manufacturer ID #define SF_MFRID_CONT 0x7f #define SF_MFRID_MXIC 0xc2 #define SF_MFRID_ST 0x20 #define SF_MFRID_SST 0xbf #define SF_MFRID_ATMEL 0x1f #define SF_MFRID_WINBOND 0xef #define SF_MFRID_PMC 0x9d #define SF_MFRID_AMIC 0x37 #define SF_MFRID_EON 0x1C #define SF_MFRID_ESMT 0x8C #define SF_MFRID_GIGA 0xC8 //special manufacturer id #define SF_MFRID_FENTECH 0x5E // product type //#define SF_UNKNOWN 0x00 #define MX25L512 0x01 #define MX25L1005 0x02 #define MX25L2005 0x03 #define MX25L4005 0x04 #define MX25L8005 0x05 #define MX25L1605 0x06 #define MX25L3205 0x07 #define MX25L6405 0x08 #define STM25P05 0x10 #define STM25P10 0x11 #define AT25F512 0x20 #define AT25F1024 0x21 #define AT25F2048 0x22 #define AT25F4096 0x23 #define AT25FS040 0x30 #define AT45DB011 0x40 #define AT45DB041 0x41 #define SST25VF512 0x50 #define SST25VF010 0x51 #define W25P10 0x70 #define W25P20 0x71 #define W25P40 0x72 #define W25P80 0x73 #define W25P16 0x74 #define W25P32 0x75 #define W25B40_BB 0x76 #define W25B40_TB 0x77 #define W25X10 0x78 #define W25X20 0x79 #define W25X40 0x7a #define W25X80 0x7b #define PM25LV512 0x80 #define PM25LV010 0x81 #define PM25LV020 0x82 #define PM25LV040 0x83 #define A25L05PT 0x90 #define A25L05PU 0x91 #define A25L10PT 0x92 #define A25L10PU 0x93 #define A25L20PT 0x94 #define A25L20PU 0x95 #define EN25F05 0xA0 #define SF_OPT_NA 0x00 #define SF_OPT_SE 0x01 #define SF_OPT_BIGSZ 0x02 //Big size > 64KB enum { SFCMD_IDX_READ = 0, SFCMD_IDX_WREN, SFCMD_IDX_PP, SFCMD_IDX_WRSR, SFCMD_IDX_CE, SFCMD_IDX_SE, SFCMD_IDX_WRDI }; enum { SFCMD_INFO_MFR = 0, SFCMD_INFO_DEVID1, SFCMD_INFO_DEVID2, SFCMD_INFO_TYPE, SFCMD_INFO_CMD_ID, SFCMD_INFO_SF_OPT, }; extern BYTE cbSFLib_Cmd[][7]; extern BYTE cbSFLib_ID[][6]; extern BYTE cbSFLib_Ver[]; extern BYTE ubSFLib_CmdID; extern LONG ubSFLib_GetIDSize(); extern BYTE sfManufactureID; extern BYTE sfDeviceID1; extern BYTE sfDeviceID2; #endif