diff --git a/flash_support_list.txt b/flash_support_list.txt index dc561c5..244741f 100644 --- a/flash_support_list.txt +++ b/flash_support_list.txt @@ -84,13 +84,15 @@ SPI NAND Flash Support List: 080. DS DS35Q2GB 081. DS DS35Q1GA 082. DS DS35Q1GB -083. FISON CS11G0T0A0AA -084. FISON CS11G1T0A0AA -085. FISON CS11G0G0A0AA -086. TYM TYM25D2GA01 -087. TYM TYM25D2GA02 -088. TYM TYM25D1GA03 -089. UNIM UM19C0HISW +083. DS DS35M1GA +084. DS DS35M2GA +085. FISON CS11G0T0A0AA +086. FISON CS11G1T0A0AA +087. FISON CS11G0G0A0AA +088. TYM TYM25D2GA01 +089. TYM TYM25D2GA02 +090. TYM TYM25D1GA03 +091. UNIM UM19C0HISW SPI NOR Flash Support List: 001. AT25DF321 diff --git a/src/spi_nand_flash.c b/src/spi_nand_flash.c index 9f594b2..4c2a802 100644 --- a/src/spi_nand_flash.c +++ b/src/spi_nand_flash.c @@ -204,6 +204,8 @@ #define _SPI_NAND_DEVICE_ID_DS35Q1GA 0x71 #define _SPI_NAND_DEVICE_ID_DS35Q2GB 0xF2 #define _SPI_NAND_DEVICE_ID_DS35Q1GB 0xF1 +#define _SPI_NAND_DEVICE_ID_DS35M1GA 0x21 +#define _SPI_NAND_DEVICE_ID_DS35M2GA 0x22 #define _SPI_NAND_DEVICE_ID_CS11G0T0A0AA 0x00 #define _SPI_NAND_DEVICE_ID_CS11G1T0A0AA 0x01 #define _SPI_NAND_DEVICE_ID_CS11G0G0A0AA 0x10 @@ -1457,6 +1459,32 @@ static const struct SPI_NAND_FLASH_INFO_T spi_nand_flash_tables[] = { read_mode: SPI_NAND_FLASH_READ_SPEED_MODE_DUAL, write_mode: SPI_NAND_FLASH_WRITE_SPEED_MODE_SINGLE, feature: SPI_NAND_FLASH_FEATURE_NONE, + }, + { + mfr_id: _SPI_NAND_MANUFACTURER_ID_DS, + dev_id: _SPI_NAND_DEVICE_ID_DS35M1GA, + ptr_name: "DS DS35M1GA", + device_size: _SPI_NAND_CHIP_SIZE_1GBIT, + page_size: _SPI_NAND_PAGE_SIZE_2KBYTE, + oob_size: _SPI_NAND_OOB_SIZE_64BYTE, + erase_size: _SPI_NAND_BLOCK_SIZE_128KBYTE, + dummy_mode: SPI_NAND_FLASH_READ_DUMMY_BYTE_APPEND, + read_mode: SPI_NAND_FLASH_READ_SPEED_MODE_DUAL, + write_mode: SPI_NAND_FLASH_WRITE_SPEED_MODE_SINGLE, + feature: SPI_NAND_FLASH_FEATURE_NONE, + }, + { + mfr_id: _SPI_NAND_MANUFACTURER_ID_DS, + dev_id: _SPI_NAND_DEVICE_ID_DS35M2GA, + ptr_name: "DS DS35M2GA", + device_size: _SPI_NAND_CHIP_SIZE_2GBIT, + page_size: _SPI_NAND_PAGE_SIZE_2KBYTE, + oob_size: _SPI_NAND_OOB_SIZE_64BYTE, + erase_size: _SPI_NAND_BLOCK_SIZE_128KBYTE, + dummy_mode: SPI_NAND_FLASH_READ_DUMMY_BYTE_APPEND, + read_mode: SPI_NAND_FLASH_READ_SPEED_MODE_DUAL, + write_mode: SPI_NAND_FLASH_WRITE_SPEED_MODE_SINGLE, + feature: SPI_NAND_FLASH_PLANE_SELECT_HAVE, }, { @@ -2652,7 +2680,9 @@ static SPI_NAND_FLASH_RTN_T ecc_fail_check( u32 page_number ) else if(((ptr_dev_info_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_dev_info_t->dev_id == _SPI_NAND_DEVICE_ID_DS35Q2GA)) || ((ptr_dev_info_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_dev_info_t->dev_id == _SPI_NAND_DEVICE_ID_DS35Q1GA)) || ((ptr_dev_info_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_dev_info_t->dev_id == _SPI_NAND_DEVICE_ID_DS35Q2GB)) || - ((ptr_dev_info_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_dev_info_t->dev_id == _SPI_NAND_DEVICE_ID_DS35Q1GB))) + ((ptr_dev_info_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_dev_info_t->dev_id == _SPI_NAND_DEVICE_ID_DS35Q1GB)) || + ((ptr_dev_info_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_dev_info_t->dev_id == _SPI_NAND_DEVICE_ID_DS35M1GA)) || + ((ptr_dev_info_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_dev_info_t->dev_id == _SPI_NAND_DEVICE_ID_DS35M2GA))) { if(((status & 0x30) >> 4) == 0x2) { @@ -3603,7 +3633,9 @@ static void spi_nand_manufacute_init( struct SPI_NAND_FLASH_INFO_T *ptr_device_t else if(((ptr_device_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_device_t->dev_id == _SPI_NAND_DEVICE_ID_DS35Q2GA)) || ((ptr_device_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_device_t->dev_id == _SPI_NAND_DEVICE_ID_DS35Q1GA)) || ((ptr_device_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_device_t->dev_id == _SPI_NAND_DEVICE_ID_DS35Q2GB)) || - ((ptr_device_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_device_t->dev_id == _SPI_NAND_DEVICE_ID_DS35Q1GB))) + ((ptr_device_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_device_t->dev_id == _SPI_NAND_DEVICE_ID_DS35Q1GB)) || + ((ptr_device_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_device_t->dev_id == _SPI_NAND_DEVICE_ID_DS35M1GA)) || + ((ptr_device_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_DS) && (ptr_device_t->dev_id == _SPI_NAND_DEVICE_ID_DS35M2GA))) { /* 1. Unlock All block */ spi_nand_protocol_get_status_reg_1(&feature);