#ifndef _DRV_SPI_FLASH_TABLE_H #define _DRV_SPI_FLASH_TABLE_H #if (CONFIG_CHIPID != 0x330) #define SPI_CONTROL_REG 0xbe000010 #define SPI_READ_SR_REG 0xbe0000d5 //0xbe0000d4[8] #define Softmode_Select 12 #define Clock 13 #define CS 14 /*inverte*/ #define Data 15 #define WREN 0x06 #define RDSR 0x05 #define RDSR2 0x35 #define RDSR3 0x15 #define WRSR 0x01 #define WRSR2 0x31 #define WRSR3 0x11 #define SFDP 0x5A #define ENOTP 0x3A //enter OTP #define WRDI 0x04 //exit OTP /write disable typedef struct { char Flashname[32]; u32 ManufacturerID_and_Size; // u16 Code_Flash_size; u8 WRSR_Data_size; u8 WRSR_Data[5]; char msg[32]; }_NORFlash_SR_Table; #ifdef SISCONFIG_CPU1 #define __cpu0_data #else #define __cpu0_data __attribute__((__section__(".cpu0.data"))) #endif __cpu0_data _NORFlash_SR_Table NORFlash_SR_Table[] = { #if (CONFIG_CODE_FLASH_SIZE == 16384) #if (CONFIG_SPI_SIMFS_FLASHSIZE == 2048) {"EN25QH128", 0x1c7018, 2, {0x10, 0x8}, "000000h-dfffffh"}, //OTP {"GD25Q127C", 0xc84018, 2, {0x10, 0x40}, "000000h-dfffffh"}, {"MX25L12835F/45G", 0xc22018, 2, {0x20, 0x8}, "000000h-7fffffh (unfit)"}, //0x8 is configuration register(CR) {"W25Q128JV", 0xef4018, 2, {0x10, 0x40}, "000000h-dfffffh"}, {"XT25F128B", 0x0b4018, 2, {0x10, 0x40}, "000000h-dfffffh"}, {"XM25QH128A", 0x207018, 2, {0x10, 0x8}, "000000h-dfffffh"}, //OTP {"ZB25VQ128A", 0x5e4018, 2, {0x10, 0x40}, "000000h-dfffffh"}, {"XM25QH128C", 0x204018, 2, {0x10, 0x40}, "000000h-dfffffh"}, //{"PY25Q128HA", 0x852018, 2, {0x10, 0x40}, "000000h-dfffffh"} #elif (CONFIG_SPI_SIMFS_FLASHSIZE == 1024) {"EN25QH128", 0x1c7018, 2, {0xc, 0x8}, "000000h-efffffh"}, {"GD25Q127C", 0xc84018, 2, {0xc, 0x40}, "000000h-efffffh"}, {"W25Q128JV", 0xef4018, 2, {0xc, 0x40}, "000000h-efffffh"}, {"XT25F128B", 0x0b4018, 2, {0xc, 0x40}, "000000h-efffffh"}, {"XM25QH128A", 0x207018, 2, {0xc, 0x8}, "000000h-efffffh"}, {"ZB25VQ128A", 0x5e4018, 2, {0xc, 0x40}, "000000h-efffffh"}, {"XM25QH128C", 0x204018, 2, {0xc, 0x40}, "000000h-efffffh"}, //{"MX25L12835F/45G", 0xc22018, 2, {0x20, 0x8}, "000000h-7fffffh (unfit)"}, //{"PY25Q128HA", 0x852018, 2, {0xc, 0x40}, "000000h-efffffh"} #elif (CONFIG_SPI_SIMFS_FLASHSIZE == 128) {"EN25QH128", 0x1c7018, 2, {0x4, 0x8}, "000000h-fbffffh (unfit)"}, {"GD25Q127C", 0xc84018, 2, {0x4, 0x40}, "000000h-fbffffh (unfit)"}, {"W25Q128JV", 0xef4018, 2, {0x4, 0x40}, "000000h-fbffffh (unfit)"}, {"XT25F128B", 0x0b4018, 2, {0x4, 0x40}, "000000h-fbffffh"}, {"XM25QH128A", 0x207018, 2, {0x4, 0x8}, "000000h-fbffffh (unfit)"}, {"ZB25VQ128A", 0x5e4018, 2, {0x4, 0x40}, "000000h-fbffffh (unfit)"}, {"XM25QH128C", 0x204018, 2, {0x4, 0x40}, "000000h-fbffffh (unfit)"}, //{"MX25L12835F/45G", 0xc22018, 2, {0x20, 0x8}, "000000h-7fffffh (unfit)"}, #elif (CONFIG_SPI_SIMFS_FLASHSIZE == 64) //{"EN25QH128", 0x1c7018, 2, {0x4, 0x8}, "000000h-fbffffh (unfit)"}, //{"GD25Q127C", 0xc84018, 2, {0x4, 0x40}, "000000h-fbffffh (unfit)"}, //{"MX25L12835F/45G", 0xc22018, 2, {0x20, 0x8}, "000000h-7fffffh (unfit)"}, //{"W25Q128JV", 0xef4018, 2, {0x4, 0x40}, "000000h-fbffffh (unfit)"}, //{"XT25F128B", 0x0b4018, 2, {0x4, 0x40}, "000000h-fbffffh"}, //{"XM25QH128A", 0x207018, 2, {0x4, 0x8}, "000000h-fbffffh (unfit)"}, //{"ZB25VQ128A", 0x5e4018, 2, {0x4, 0x40}, "000000h-fbffffh (unfit)"}, //{"XM25QH128C", 0x204018, 2, {0x4, 0x40}, "000000h-fbffffh (unfit)"} #endif #elif (CONFIG_CODE_FLASH_SIZE == 8192) #if (CONFIG_SPI_SIMFS_FLASHSIZE == 2048) {"W25Q64DW", 0xef6017, 2, {0x14, 0x40}, "000000h-5fffffh"}, {"W25Q64FV", 0xef4017, 2, {0x14, 0x40}, "000000h-5fffffh"}, {"MX25L6436F", 0xc22017, 2, {0x28, 0x0}, "000000h-5fffffh"}, //0x0: CR; 8503, don't use MX25L6433F {"MX25L6406E", 0xc22017, 1, {0x28}, "000000h-5fffffh"}, {"GD25Q64B", 0xc84017, 2, {0x14, 0x40}, "000000h-5fffffh"}, {"EN25Q64", 0x1c3017, 1, {0x18}, "000000h-5fffffh"}, {"EN25QH64", 0x1c7017, 1, {0x38}, "000000h-1fffffh"}, {"EN25QH64A", 0x1c7017, 2, {0x20, 0x8}, "000000h-5fffffh"}, //OTP //{"EN25QX64A(2CPU)", 0x1c7117, 2, {0x14, 0x40}, "000000h-5fffffh"}, {"BY25Q64AS", 0x684017, 2, {0x14, 0x40}, "000000h-5fffffh"}, {"F25L64QA", 0x8c4117, 1, {0x28}, "000000h-5fffffh"}, {"XM25QH64A", 0x207017, 2, {0x20, 0x8}, "000000h-5fffffh"}, //OTP {"XM25QH64C/D", 0x204017, 2, {0x14, 0x40}, "000000h-5fffffh"}, {"XT25F64B", 0x0B4017, 2, {0x14, 0x40}, "000000h-5fffffh"}, //XT25F64F {"S25FL164K", 0x014017, 2, {0x14, 0x40}, "000000h-5fffffh"}, {"ZB25VQ64A", 0x5e4017, 2, {0x14, 0x40}, "000000h-5fffffh"}, {"PY25Q64HA", 0x852017, 2, {0x14, 0x40}, "000000h-5fffffh"}, //{"MX25L12835F/45G", 0xc22018, 2, {0x1c, 0x8}, "000000h-3fffffh"}, //{"W25Q128JV", 0xef4018, 2, {0x34, 0x0}, "000000h-3fffffh"}, //{"MX25L6433F", 0xc22017, 2, {0x1c, 0x8}, "000000h-3fffffh"}, //0x8: CR; just for customer //{"GD25Q127C", 0xc84018, 2, {0x34, 0x0}, "000000h-3fffffh"}, //{"EN25QH128", 0x1c7018, 2, {0x0, 0x8}, "None (unfit), consider TB bit"}, //{"P25Q64H", 0x856017, 2, {0x14, 0x40}, "000000h-5fffffh"}, //{"XM25QH128A", 0x207018, 2, {0x0, 0x0}, "None"}, //OTP //{"ZB25VQ128A", 0x5e4018, 2, {0x34, 0x0}, "000000h-3fffffh (unfit)"}, //{"XM25QH128C", 0x204018, 2, {0x34, 0x0}, "000000h-3fffffh (unfit)"} #elif (CONFIG_SPI_SIMFS_FLASHSIZE == 1024) {"W25Q64DW", 0xef6017, 2, {0x10, 0x40}, "000000h-6fffffh"}, {"W25Q64FV", 0xef4017, 2, {0x10, 0x40}, "000000h-6fffffh"}, {"MX25L6436F", 0xc22017, 2, {0x2c, 0x0}, "000000h-6fffffh"}, {"MX25L6406E", 0xc22017, 1, {0x2c}, "000000h-6fffffh"}, {"GD25Q64B", 0xc84017, 2, {0x10, 0x40}, "000000h-6fffffh"}, {"EN25Q64", 0x1c3017, 1, {0x14}, "000000h-6fffffh"}, {"EN25QH64", 0x1c7017, 1, {0x38}, "000000h-1fffffh"}, {"EN25QH64A", 0x1c7017, 2, {0x24, 0x8}, "000000h-6fffffh"}, {"EN25QX64A(2CPU)", 0x1c7117, 2, {0x10, 0x40}, "000000h-6fffffh"}, {"BY25Q64AS", 0x684017, 2, {0x10, 0x40}, "000000h-6fffffh"}, {"F25L64QA", 0x8c4117, 1, {0x2c}, "000000h-6fffffh"}, {"XM25QH64A", 0x207017, 2, {0x24, 0x8}, "000000h-6fffffh"}, {"XM25QH64C/D", 0x204017, 2, {0x10, 0x40}, "000000h-6fffffh"}, {"XT25F64B", 0x0B4017, 2, {0x10, 0x40}, "000000h-6fffffh"}, //XT25F64F {"S25FL164K", 0x014017, 2, {0x10, 0x40}, "000000h-6fffffh"}, {"ZB25VQ64A", 0x5e4017, 2, {0x10, 0x40}, "000000h-6fffffh"}, {"PY25Q64HA", 0x852017, 2, {0x10, 0x40}, "000000h-6fffffh"}, //{"MX25L12835F/45G", 0xc22018, 2, {0x1c, 0x8}, "000000h-3fffffh"}, //{"W25Q128JV", 0xef4018, 2, {0x34, 0x0}, "000000h-3fffffh"}, //{"MX25L6433F", 0xc22017, 2, {0x1c, 0x8}, "000000h-3fffffh"}, //{"GD25Q127C", 0xc84018, 2, {0x34, 0x0}, "000000h-3fffffh"}, //{"EN25QH128", 0x1c7018, 2, {0x0, 0x8}, "None (unfit)"}, //{"P25Q64H", 0x856017, 2, {0x10, 0x40}, "000000h-6fffffh"}, //{"XM25QH128A", 0x207018, 2, {0x0, 0x0}, "None"}, //{"ZB25VQ128A", 0x5e4018, 2, {0x34, 0x0}, "000000h-3fffffh (unfit)"}, //{"XM25QH128C", 0x204018, 2, {0x34, 0x0}, "000000h-3fffffh (unfit)"} #elif (CONFIG_SPI_SIMFS_FLASHSIZE == 128) {"W25Q64DW", 0xef6017, 2, {0x4, 0x40}, "000000h-7dffffh"}, {"W25Q64FV", 0xef4017, 2, {0x4, 0x40}, "000000h-7dffffh"}, {"MX25L6436F", 0xc22017, 2, {0x38, 0x0}, "000000h-7dffffh"}, {"MX25L6406E", 0xc22017, 1, {0x38}, "000000h-7dffffh"}, {"GD25Q64B", 0xc84017, 2, {0x4, 0x40}, "000000h-7dffffh"}, {"EN25Q64", 0x1c3017, 1, {0x8}, "000000h-7dffffh"}, {"EN25QH64", 0x1c7017, 1, {0x38}, "000000h-1fffffh"}, {"EN25QH64A", 0x1c7017, 2, {0x30, 0x8}, "000000h-7dffffh"}, {"EN25QX64A(2CPU)", 0x1c7117, 2, {0x4, 0x40}, "000000h-7dffffh"}, {"BY25Q64AS", 0x684017, 2, {0x4, 0x40}, "000000h-7dffffh"}, {"F25L64QA", 0x8c4117, 1, {0x38}, "000000h-7dffffh"}, {"XM25QH64A", 0x207017, 2, {0x30, 0x8}, "000000h-7dffffh"}, {"XM25QH64C/D", 0x204017, 2, {0x4, 0x40}, "000000h-7dffffh"}, {"XT25F64B", 0x0B4017, 2, {0x4, 0x40}, "000000h-7dffffh"}, //XT25F64F {"S25FL164K", 0x014017, 2, {0x4, 0x40}, "000000h-7dffffh"}, {"ZB25VQ64A", 0x5e4017, 2, {0x4, 0x40}, "000000h-7dffffh"}, {"PY25Q64HA", 0x852017, 2, {0x4, 0x40}, "000000h-7dffffh"}, //{"W25Q128JV", 0xef4018, 2, {0x34, 0x0}, "000000h-3fffffh"}, //{"MX25L12835F/45G", 0xc22018, 2, {0x1c, 0x8}, "000000h-3fffffh"}, //{"MX25L6433F", 0xc22017, 2, {0x1c, 0x8}, "000000h-3fffffh"}, //{"GD25Q127C", 0xc84018, 2, {0x34, 0x0}, "000000h-3fffffh"}, //{"EN25QH128", 0x1c7018, 2, {0x0, 0x8}, "None (unfit)"}, //{"P25Q64H", 0x856017, 2, {0x4, 0x40}, "000000h-7dffffh"}, //{"XM25QH128A", 0x207018, 2, {0x0, 0x0}, "None"}, //{"ZB25VQ128A", 0x5e4018, 2, {0x34, 0x0}, "000000h-3fffffh (unfit)"}, //{"XM25QH128C", 0x204018, 2, {0x34, 0x0}, "000000h-3fffffh (unfit)"} #elif (CONFIG_SPI_SIMFS_FLASHSIZE == 64) {"EN25Q64", 0x1c3017, 1, {0x4}, "000000h-7effffh"}, {"XM25QH64A", 0x207017, 2, {0x34, 0x8}, "000000h-7effffh"}, //{"W25Q64DW", 0xef6017, 2, {0x4, 0x40}, "000000h-7dffffh"}, //{"W25Q64FV", 0xef4017, 2, {0x4, 0x40}, "000000h-7dffffh"}, //{"MX25L6436F", 0xc22017, 2, {0x38, 0x0}, "000000h-7dffffh (unfit)"}, //{"MX25L6406E", 0xc22017, 1, {0x38}, "000000h-7dffffh"}, //{"GD25Q64B", 0xc84017, 2, {0x4, 0x40}, "000000h-7dffffh"}, //{"EN25QH64", 0x1c7017, 1, {0x38}, "000000h-1fffffh"}, //{"EN25QH64A", 0x1c7017, 2, {0x34, 0x8}, "000000h-7effffh"}, //{"EN25QX64A(2CPU)", 0x1c7117, 2, {0x4, 0x40}, "000000h-7dffffh (unfit)"}, //{"BY25Q64AS", 0x684017, 2, {0x4, 0x40}, "000000h-7dffffh (unfit)"}, //{"F25L64QA", 0x8c4117, 1, {0x38}, "000000h-7dffffh"}, //{"XM25QH64C/D", 0x204017, 2, {0x4, 0x40}, "000000h-7dffffh (unfit)"}, //{"XT25F64B", 0x0B4017, 2, {0x4, 0x40}, "000000h-7dffffh (unfit)"}, //XT25F64F //{"S25FL164K", 0x014017, 2, {0x4, 0x40}, "000000h-7dffffh"}, //{"ZB25VQ64A", 0x5e4017, 2, {0x4, 0x40}, "000000h-7dffffh (unfit)"}, //{"MX25L12835F/45G", 0xc22018, 2, {0x1c, 0x8}, "000000h-3fffffh"}, //{"W25Q128JV", 0xef4018, 2, {0x34, 0x0}, "000000h-3fffffh"}, //{"MX25L6433F", 0xc22017, 2, {0x1c, 0x8}, "000000h-3fffffh"}, //{"GD25Q127C", 0xc84018, 2, {0x34, 0x0}, "000000h-3fffffh"}, //{"EN25QH128", 0x1c7018, 2, {0x0, 0x8}, "None (unfit)"}, //{"P25Q64H", 0x856017, 2, {0x4, 0x40}, "000000h-7dffffh (unfit)"}, //{"XM25QH128A", 0x207018, 2, {0x0, 0x0}, "None"}, //{"ZB25VQ128A", 0x5e4018, 2, {0x34, 0x0}, "000000h-3fffffh (unfit)"}, //{"XM25QH128C", 0x204018, 2, {0x34, 0x0}, "000000h-3fffffh (unfit)"} #endif #elif (CONFIG_CODE_FLASH_SIZE == 4096) #if (CONFIG_SPI_SIMFS_FLASHSIZE == 256) {"W25Q32FV/JV", 0xef4016, 2, {0x0c, 0x40}, "000000h-3bffffh"}, {"MX25L3236F", 0xc22016, 2, {0x30, 0x0}, "000000h-3bffffh"}, {"MX25L3205D", 0xc22016, 1, {0x30}, "000000h-3bffffh"}, {"GD25Q32B/C/E", 0xc84016, 2, {0x0c, 0x40}, "000000h-3bffffh"}, {"EN25Q32B", 0x1c3016, 1, {0x0c}, "000000h-3bffffh"}, {"EN25QH32A", 0x1c7016, 1, {0x38}, "000000h-1fffffh"}, {"EN25QH32B", 0x1c7016, 2, {0x24, 0x8}, "000000h-3bffffh"}, {"EN25QE32A(2PPU)", 0x1c4116, 2, {0xc, 0x40}, "000000h-3bffffh"}, //2PPU {"BG25Q32A", 0xe04016, 2, {0x0c, 0x40}, "000000h-3bffffh"}, {"BY25Q32BS/BH25Q32BS", 0x684016, 2, {0x0c, 0x40}, "000000h-3bffffh"}, {"XM25QH32C/D", 0x204016, 2, {0x0c, 0x40}, "000000h-3bffffh"}, {"XT25F32B", 0x0B4016, 2, {0x0c, 0x40}, "000000h-3bffffh"}, //XT25F32F {"ZB25VQ32", 0x5e4016, 2, {0x0c, 0x40}, "000000h-3bffffh"}, {"PY25Q32HB", 0x852016, 2, {0x0c, 0x40}, "000000h-3bffffh"}, //{"FM25Q32BI3", 0xA14016, 2, {0x0c, 0x40}, "000000h-3bffffh"}, //{"W25Q128JV", 0xef4018, 2, {0x30, 0x0}, "000000h-1fffffh"}, //{"W25Q64DW", 0xef6017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"W25Q64FV", 0xef4017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"MX25L12835F/45G", 0xc22018, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"MX25L6436F", 0xc22017, 2, {0x0, 0x0}, "None"}, //OTP //{"MX25L6433F", 0xc22017, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"MX25L6406E", 0xc22017, 1, {0x00}, "Couldn't Find Protect Area"}, //{"GD25Q127C", 0xc84018, 2, {0x30, 0x0}, "000000h-1fffffh"}, //{"GD25Q64B", 0xc84017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"EN25Q64", 0x1c3017, 1, {0x00}, "Couldn't Find Protect Area"}, //{"EN25QH128", 0x1c7018, 2, {0x0, 0x8}, "None (unfit)"}, //{"EN25QH64", 0x1c7017, 1, {0x38}, "000000h-1fffffh"}, //{"EN25QH64A", 0x1c7017, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"BY25Q64AS", 0x684017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"F25L64QA", 0x8c4117, 1, {0x00}, "Couldn't Find Protect Area"}, //{"P25Q64H", 0x856017, 2, {0x34, 0x0}, "000000h-1fffffh"}, //{"P25Q32H", 0x856016, 2, {0xc, 0x40}, "000000h-3bffffh"}, //{"S25FL164K", 0x014017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"XM25QH128A", 0x207018, 2, {0x0, 0x0}, "None"}, //{"XM25QH64A", 0x207017, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"XM25QH64C", 0x204017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"XT25F64B", 0x0B4017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"ZB25VQ128A", 0x5e4018, 2, {0x30, 0x0}, "000000h-1fffffh (unfit)"}, //{"ZB25VQ64A", 0x5e4017, 2, {0x34, 0x00}, "000000h-1fffffh (unfit)"}, //{"XM25QH128C", 0x204018, 2, {0x30, 0x0}, "000000h-1fffffh (unfit)"} #elif (CONFIG_SPI_SIMFS_FLASHSIZE == 128) {"W25Q32FV/JV", 0xef4016, 2, {0x08, 0x40}, "000000h-3dffffh"}, {"MX25L3236F", 0xc22016, 2, {0x34, 0x0}, "000000h-3dffffh"}, {"MX25L3205D", 0xc22016, 1, {0x34}, "000000h-3bffffh"}, {"GD25Q32B/C/E", 0xc84016, 2, {0x08, 0x40}, "000000h-3dffffh"}, {"EN25Q32B", 0x1c3016, 1, {0x08}, "000000h-3dffffh"}, {"EN25QH32B", 0x1c7016, 2, {0x28, 0x8}, "000000h-3dffffh"}, {"EN25QE32A(2PPU)", 0x1c4116, 2, {0x8, 0x40}, "000000h-3dffffh"}, {"BG25Q32A", 0xe04016, 2, {0x08, 0x40}, "000000h-3dffffh"}, {"BY25Q32BS/BH25Q32BS", 0x684016, 2, {0x08, 0x40}, "000000h-3dffffh"}, {"XM25QH32C/D", 0x204016, 2, {0x08, 0x40}, "000000h-3dffffh"}, {"XT25F32B", 0x0B4016, 2, {0x08, 0x40}, "000000h-3dffffh"}, //XT25F32F {"ZB25VQ32", 0x5e4016, 2, {0x08, 0x40}, "000000h-3dffffh"}, {"PY25Q32HB", 0x852016, 2, {0x08, 0x40}, "000000h-3dffffh"}, //{"FM25Q32BI3", 0xA14016, 2, {0x08, 0x40}, "000000h-3dffffh"}, //{"W25Q128JV", 0xef4018, 2, {0x30, 0x0}, "000000h-1fffffh"}, //{"W25Q64DW", 0xef6017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"W25Q64FV", 0xef4017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"MX25L12835F/45G", 0xc22018, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"MX25L6436F", 0xc22017, 2, {0x0, 0x0}, "None"}, //{"MX25L6433F", 0xc22017, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"MX25L6406E", 0xc22017, 1, {0x00}, "Couldn't Find Protect Area"}, //{"GD25Q127C", 0xc84018, 2, {0x30, 0x0}, "000000h-1fffffh"}, //{"GD25Q64B", 0xc84017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"EN25Q64", 0x1c3017, 1, {0x00}, "Couldn't Find Protect Area"}, //{"EN25QH128", 0x1c7018, 2, {0x0, 0x8}, "None (unfit)"}, //{"EN25QH64", 0x1c7017, 1, {0x38}, "000000h-1fffffh"}, //{"EN25QH64A", 0x1c7017, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"EN25QH32A", 0x1c7016, 1, {0x38}, "000000h-1fffffh"}, //{"BY25Q64AS", 0x684017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"F25L64QA", 0x8c4117, 1, {0x00}, "Couldn't Find Protect Area"}, //{"P25Q64H", 0x856017, 2, {0x34, 0x0}, "000000h-1fffffh"}, //{"P25Q32H", 0x856016, 2, {0x8, 0x40}, "000000h-3dffffh"}, //{"S25FL164K", 0x014017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"XM25QH128A", 0x207018, 2, {0x0, 0x0}, "None"}, //{"XM25QH64A", 0x207017, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"XM25QH64C", 0x204017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"XT25F64B", 0x0B4017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"ZB25VQ128A", 0x5e4018, 2, {0x30, 0x0}, "000000h-1fffffh (unfit)"}, //{"ZB25VQ64A", 0x5e4017, 2, {0x34, 0x00}, "000000h-1fffffh (unfit)"}, //{"XM25QH128C", 0x204018, 2, {0x30, 0x0}, "000000h-1fffffh (unfit)"} #elif (CONFIG_SPI_SIMFS_FLASHSIZE == 64) {"W25Q32FV/JV", 0xef4016, 2, {0x04, 0x40}, "000000h-3effffh"}, {"MX25L3236F", 0xc22016, 2, {0x38, 0x0}, "000000h-3effffh"}, {"MX25L3205D", 0xc22016, 1, {0x38}, "000000h-3effffh"}, {"GD25Q32B/C/E", 0xc84016, 2, {0x04, 0x40}, "000000h-3effffh"}, {"EN25Q32B", 0x1c3016, 1, {0x04}, "000000h-3effffh"}, {"EN25QH32B", 0x1c7016, 2, {0x2c, 0x8}, "000000h-3effffh"}, {"EN25QE32A(2PPU)", 0x1c4116, 2, {0x4, 0x40}, "000000h-3effffh"}, {"BG25Q32A", 0xe04016, 2, {0x04, 0x40}, "000000h-3effffh"}, {"BY25Q32BS/BH25Q32BS", 0x684016, 2, {0x04, 0x40}, "000000h-3effffh"}, {"XM25QH32C/D", 0x204016, 2, {0x04, 0x40}, "000000h-3effffh"}, {"XT25F32B", 0x0B4016, 2, {0x04, 0x40}, "000000h-3effffh"}, //XT25F32F {"ZB25VQ32", 0x5e4016, 2, {0x04, 0x40}, "000000h-3effffh"}, {"PY25Q32HB", 0x852016, 2, {0x04, 0x40}, "000000h-3effffh"}, //{"FM25Q32BI3", 0xA14016, 2, {0x04, 0x40}, "000000h-3effffh"}, //{"W25Q128JV", 0xef4018, 2, {0x30, 0x0}, "000000h-1fffffh"}, //{"W25Q64DW", 0xef6017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"W25Q64FV", 0xef4017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"MX25L12835F/45G", 0xc22018, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"MX25L6436F", 0xc22017, 2, {0x0, 0x0}, "None"}, //{"MX25L6433F", 0xc22017, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"MX25L6406E", 0xc22017, 1, {0x00}, "Couldn't Find Protect Area"}, //{"GD25Q127C", 0xc84018, 2, {0x30, 0x0}, "000000h-1fffffh"}, //{"GD25Q64B", 0xc84017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"EN25Q64", 0x1c3017, 1, {0x00}, "Couldn't Find Protect Area"}, //{"EN25QH128", 0x1c7018, 2, {0x0, 0x8}, "None (unfit)"}, //{"EN25QH64", 0x1c7017, 1, {0x38}, "000000h-1fffffh"}, //{"EN25QH64A", 0x1c7017, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"EN25QH32A", 0x1c7016, 1, {0x38}, "000000h-1fffffh"}, //{"BY25Q64AS", 0x684017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"F25L64QA", 0x8c4117, 1, {0x00}, "Couldn't Find Protect Area"}, //{"P25Q64H", 0x856017, 2, {0x34, 0x0}, "000000h-1fffffh"}, //{"P25Q32H", 0x856016, 2, {0x4, 0x40}, "000000h-3effffh"}, //{"S25FL164K", 0x014017, 2, {0x34, 0x00}, "000000h-1fffffh"}, //{"XM25QH128A", 0x207018, 2, {0x0, 0x0}, "None"}, //{"XM25QH64A", 0x207017, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"XM25QH64C", 0x204017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"XT25F64B", 0x0B4017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"ZB25VQ128A", 0x5e4018, 2, {0x30, 0x0}, "000000h-1fffffh (unfit)"}, //{"ZB25VQ64A", 0x5e4017, 2, {0x34, 0x00}, "000000h-1fffffh (unfit)"}, //{"XM25QH128C", 0x204018, 2, {0x30, 0x0}, "000000h-1fffffh (unfit)"} #elif (CONFIG_SPI_SIMFS_FLASHSIZE == 32) {"GD25Q32B/C/E", 0xc84016, 2, {0x58, 0x40}, "000000h-3f7fffh"}, {"EN25QE32A(2PPU)", 0x1c4116, 2, {0x58, 0x40}, "000000h-3f7fffh"}, {"BY25Q32BS/BH25Q32BS", 0x684016, 2, {0x50, 0x40}, "000000h-3f7fffh"}, {"XM25QH32C/D", 0x204016, 2, {0x50, 0x40}, "000000h-3f7fffh"}, {"XT25F32B", 0x0B4016, 2, {0x58, 0x40}, "000000h-3f7fffh"}, //XT25F32F {"ZB25VQ32", 0x5e4016, 2, {0x58, 0x40}, "000000h-3f7fffh"}, {"PY25Q32HB", 0x852016, 2, {0x58, 0x40}, "000000h-3f7fffh"}, //{"FM25Q32BI3", 0xA14016, 2, {0x50, 0x40}, "000000h-3f7fffh"}, //{"BY25Q64AS", 0x684017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"P25Q64H", 0x856017, 2, {0x34, 0x0}, "000000h-1fffffh"}, //{"P25Q32H", 0x856016, 2, {0x58, 0x40}, "000000h-3f7fffh"}, //{"XM25QH128A", 0x207018, 2, {0x0, 0x0}, "None"}, //{"XM25QH64A", 0x207017, 2, {0x18, 0x8}, "000000h-1fffffh"}, //{"XM25QH64C", 0x204017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"XT25F64B", 0x0B4017, 2, {0x34, 0x0}, "000000h-1fffffh (unfit)"}, //{"ZB25VQ128A", 0x5e4018, 2, {0x30, 0x0}, "000000h-1fffffh (unfit)"}, //{"ZB25VQ64A", 0x5e4017, 2, {0x34, 0x00}, "000000h-1fffffh (unfit)"}, //{"XM25QH128C", 0x204018, 2, {0x30, 0x0}, "000000h-1fffffh (unfit)"} #endif #elif (CONFIG_CODE_FLASH_SIZE == 2048) #if (CONFIG_SPI_SIMFS_FLASHSIZE == 64) {"GD25Q16E", 0xc84015, 2, {0x4, 0x40}, "000000h-1effffh"}, {"GD25LQ16E", 0xc86015, 2, {0x4, 0x40}, "000000h-1effffh"}, {"IS25LP016D", 0x9d6015, 1, {0x28}, "000000h-0fffffh (unfit)"}, {"S25FL164K", 0x014017, 1, {0x30}, "000000h-0fffffh (unfit)"}, {"ZB25VQ16C", 0x5e4015, 2, {0x4, 0x40}, "000000h-1effffh"}, //{"W25Q64DW", 0xef6017, 2, {0x30, 0x00}, "000000h-0fffffh (unfit)"}, //{"W25Q64FV", 0xef4017, 2, {0x30, 0x00}, "000000h-0fffffh (unfit)"}, //{"W25Q32FV/JV", 0xef4016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, //{"MX25L6436F", 0xc22017, 2, {0x0, 0x0}, "Couldn't Find Protect Area"}, //{"MX25L6406E", 0xc22017, 1, {0x00}, "Couldn't Find Protect Area"}, //{"MX25L3236F", 0xc22016, 2, {0x14, 0x8}, "000000h-0fffffh (unfit)"}, //{"MX25L3205D", 0xc22016, 1, {0x0}, "Couldn't Find Protect Area"}, //{"GD25Q64B", 0xc84017, 2, {0x30, 0x00}, "000000h-0fffffh (unfit)"}, //{"GD25Q32B/C", 0xc84016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, //{"EN25Q64", 0x1c3017, 1, {0x00}, "Couldn't Find Protect Area"}, //{"EN25Q32B", 0x1c3016, 1, {0x0}, "Couldn't Find Protect Area"}, //{"EN25QH64", 0x1c7017, 1, {0x34}, "000000h-0fffffh (unfit)"}, //{"EN25QH64A", 0x1c7017, 2, {0x14, 0x8}, "000000h-0fffffh (unfit)"}, //{"EN25QH32A", 0x1c7016, 1, {0x34}, "000000h-0fffffh (unfit)"}, //{"EN25QH32B", 0x1c7016, 2, {0x14, 0x8}, "000000h-0fffffh (unfit)"}, //{"BG25Q32A", 0xe04016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, //{"BY25Q64AS", 0x684017, 2, {0x30, 0x0}, "000000h-0fffffh (unfit)"}, //{"BY25Q32BS/BH25Q32BS", 0x684016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, //{"F25L64QA", 0x8c4117, 1, {0x00}, "Couldn't Find Protect Area"}, //{"XM25QH64A", 0x207017, 2, {0x14, 0x8}, "000000h-0fffffh (unfit)"}, //{"XM25QH32C", 0x204016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, //{"XT25F64B", 0x0B4017, 2, {0x30, 0x0}, "000000h-0fffffh (unfit)"}, //{"XT25F32B", 0x0B4016, 2, {0x34, 0x40}, "000000h-0fffffh (unfit)"}, //{"ZB25VQ64A", 0x5e4017, 2, {0x30, 0x00}, "000000h-0fffffh (unfit)"}, //{"ZB25VQ32", 0x5e4016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, #elif (CONFIG_SPI_SIMFS_FLASHSIZE == 32) {"GD25Q16E", 0xc84015, 2, {0x50, 0x40}, "000000h-1f7fffh"}, {"GD25LQ16E", 0xc86015, 2, {0x50, 0x40}, "000000h-1f7fffh"}, {"IS25LP016D", 0x9d6015, 1, {0x28}, "000000h-0fffffh (unfit)"}, {"S25FL164K", 0x014017, 2, {0x30, 0x00}, "000000h-0fffffh (unfit)"}, {"ZB25VQ16C", 0x5e4015, 2, {0x50, 0x40}, "000000h-1f7fffh"}, //{"W25Q64DW", 0xef6017, 2, {0x30, 0x00}, "000000h-0fffffh (unfit)"}, //{"W25Q64FV", 0xef4017, 2, {0x30, 0x00}, "000000h-0fffffh (unfit)"}, //{"W25Q32FV/JV", 0xef4016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, //{"MX25L6436F", 0xc22017, 2, {0x0, 0x0}, "Couldn't Find Protect Area"}, //{"MX25L6406E", 0xc22017, 1, {0x00}, "Couldn't Find Protect Area"}, //{"MX25L3236F", 0xc22016, 2, {0x14, 0x8}, "000000h-0fffffh (unfit)"}, //{"MX25L3205D", 0xc22016, 1, {0x0}, "Couldn't Find Protect Area"}, //{"GD25Q64B", 0xc84017, 2, {0x30, 0x00}, "000000h-0fffffh (unfit)"}, //{"GD25Q32B/C", 0xc84016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, //{"EN25Q64", 0x1c3017, 1, {0x00}, "Couldn't Find Protect Area"}, //{"EN25Q32B", 0x1c3016, 1, {0x0}, "Couldn't Find Protect Area"}, //{"EN25QH64", 0x1c7017, 1, {0x34}, "000000h-0fffffh (unfit)"}, //{"EN25QH64A", 0x1c7017, 2, {0x14, 0x8}, "000000h-0fffffh (unfit)"}, //{"EN25QH32A", 0x1c7016, 1, {0x34}, "000000h-0fffffh (unfit)"}, //{"EN25QH32B", 0x1c7016, 2, {0x14, 0x8}, "000000h-0fffffh (unfit)"}, //{"BG25Q32A", 0xe04016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, //{"BY25Q64AS", 0x684017, 2, {0x30, 0x0}, "000000h-0fffffh (unfit)"}, //{"BY25Q32BS/BH25Q32BS", 0x684016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, //{"F25L64QA", 0x8c4117, 1, {0x00}, "Couldn't Find Protect Area"}, //{"XM25QH64A", 0x207017, 2, {0x14, 0x8}, "000000h-0fffffh (unfit)"}, //{"XM25QH32C", 0x204016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, //{"XT25F64B", 0x0B4017, 2, {0x30, 0x0}, "000000h-0fffffh (unfit)"}, //{"XT25F32B", 0x0B4016, 2, {0x34, 0x40}, "000000h-0fffffh (unfit)"}, //{"ZB25VQ64A", 0x5e4017, 2, {0x30, 0x00}, "000000h-0fffffh (unfit)"}, //{"ZB25VQ32", 0x5e4016, 2, {0x34, 0x0}, "000000h-0fffffh (unfit)"}, #endif #endif }; #endif #endif // _DRV_SPI_FLASH_TABLE_H