Skip to content

Commit

Permalink
Add HEYANG HYF2GQ4UTACAE SPI NAND Flash support
Browse files Browse the repository at this point in the history
  • Loading branch information
Droid-MAX committed Oct 12, 2024
1 parent 78c38b8 commit b89204e
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 42 deletions.
79 changes: 40 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -320,45 +320,46 @@ SPI NAND Flash Support List:
067. HEYANG HYF2GQ4UHCCAE
068. HEYANG HYF1GQ4UDACAE
069. HEYANG HYF2GQ4UDACAE
070. PN PN26G01A-X
071. PN PN26G02A-X
072. PN PN26Q01A-X
073. ATO ATO25D1GA
074. ATO ATO25D2GA
075. ATO ATO25D2GB
076. FM FM25S01
077. FM FM25S01A
078. FM FM25S02A
079. FM FM25G01B
080. FM FM25G02B
081. FM FM25G02C
082. FM FM25G02
083. XTX XT26G02B
084. XTX XT26G01C
085. XTX XT26G02C
086. XTX XT26G01A
087. XTX XT26G02A
088. MIRA PSU1GS20BN
089. BIWIN BWJX08U
090. BIWIN BWET08U
091. FORESEE FS35ND01GD1F1
092. FORESEE FS35ND01GS1F1
093. FORESEE FS35ND02GS2F1
094. FORESEE FS35ND02GD1F1
095. FORESEE FS35ND01GS1Y2
096. FORESEE FS35ND02G-S3Y2
097. FORESEE FS35ND04G-S2Y2
098. DS DS35Q2GA
099. DS DS35M2GA
100. DS DS35Q1GA
101. DS DS35M1GA
102. FISON CS11G0T0A0AA
103. FISON CS11G1T0A0AA
104. FISON CS11G0G0A0AA
105. TYM TYM25D2GA01
106. TYM TYM25D2GA02
107. TYM TYM25D1GA03
108. XINCUN XCSP1AAWH-NT
070. HEYANG HYF2GQ4UTACAE
071. PN PN26G01A-X
072. PN PN26G02A-X
073. PN PN26Q01A-X
074. ATO ATO25D1GA
075. ATO ATO25D2GA
076. ATO ATO25D2GB
077. FM FM25S01
078. FM FM25S01A
079. FM FM25S02A
080. FM FM25G01B
081. FM FM25G02B
082. FM FM25G02C
083. FM FM25G02
084. XTX XT26G02B
085. XTX XT26G01C
086. XTX XT26G02C
087. XTX XT26G01A
088. XTX XT26G02A
089. MIRA PSU1GS20BN
090. BIWIN BWJX08U
091. BIWIN BWET08U
092. FORESEE FS35ND01GD1F1
093. FORESEE FS35ND01GS1F1
094. FORESEE FS35ND02GS2F1
095. FORESEE FS35ND02GD1F1
096. FORESEE FS35ND01GS1Y2
097. FORESEE FS35ND02G-S3Y2
098. FORESEE FS35ND04G-S2Y2
099. DS DS35Q2GA
100. DS DS35M2GA
101. DS DS35Q1GA
102. DS DS35M1GA
103. FISON CS11G0T0A0AA
104. FISON CS11G1T0A0AA
105. FISON CS11G0G0A0AA
106. TYM TYM25D2GA01
107. TYM TYM25D2GA02
108. TYM TYM25D1GA03
109. XINCUN XCSP1AAWH-NT
SPI NOR Flash Support List:
001. AT26DF161
Expand Down
3 changes: 2 additions & 1 deletion src/debian/changelog
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ snander (1.7.8-1) UNRELEASED; urgency=medium
* Add MXIC MX35LF1G24AD/MX35LF2G24AD/MX35LF4G24AD/MX35LF2G24AD-Z4I8/MX35LF4G24AD-Z4I8 SPI NAND Flash support.
* Add MXIC MX35LF2G14AC/MX35UF1GE4AD/MX35UF2GE4AD/MX35UF4GE4AD SPI NAND Flash support.
* Add GigaDevice GD5F2GQ5UE/GD5F2GQ5RE/GD5F2GQ4UA SPI NAND Flash support.
* Add HEYANG HYF2GQ4UTACAE SPI NAND Flash support.
* Add MICRON MT29F1G01AA/MT29F2G01AA/MT29F4G01AA SPI NAND Flash support.
* Add WINBOND W25N01GW/W25N04KV SPI NAND Flash support.
* Add FORESEE FS35ND01GS1Y2 SPI NAND Flash support.
Expand All @@ -23,4 +24,4 @@ snander (1.7.8-1) UNRELEASED; urgency=medium
* Fix print size in KB when size is less than 1MB.
* Fix when SPI_NAND_FLASH_DEBUG is enabled.

-- McMCC <mcmcc@mail.ru> Mon, 30 Sep 2024 18:18:31 +0800
-- McMCC <mcmcc@mail.ru> Sun, 13 Oct 2024 02:42:31 +0800
22 changes: 20 additions & 2 deletions src/spi_nand_flash.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@
#define _SPI_NAND_MANUFACTURER_ID_TOSHIBA 0x98
#define _SPI_NAND_MANUFACTURER_ID_MICRON 0x2C
#define _SPI_NAND_MANUFACTURER_ID_HEYANG 0xC9
#define _SPI_NAND_MANUFACTURER_ID_HEYANG_2 0x01
#define _SPI_NAND_MANUFACTURER_ID_PN 0xA1
#define _SPI_NAND_MANUFACTURER_ID_ATO 0x9B
#define _SPI_NAND_MANUFACTURER_ID_ATO_2 0xAD
Expand Down Expand Up @@ -201,6 +202,7 @@
#define _SPI_NAND_DEVICE_ID_HYF2GQ4UHCCAE 0x5A
#define _SPI_NAND_DEVICE_ID_HYF1GQ4UDACAE 0x21
#define _SPI_NAND_DEVICE_ID_HYF2GQ4UDACAE 0x22
#define _SPI_NAND_DEVICE_ID_HYF2GQ4UTACAE 0x25
#define _SPI_NAND_DEVICE_ID_PN26G01AWSIUG 0xE1
#define _SPI_NAND_DEVICE_ID_PN26G02AWSIUG 0xE2
#define _SPI_NAND_DEVICE_ID_PN26Q01AWSIUG 0xC1
Expand Down Expand Up @@ -1310,6 +1312,20 @@ static const struct SPI_NAND_FLASH_INFO_T spi_nand_flash_tables[] = {
feature: SPI_NAND_FLASH_FEATURE_NONE,
},

{
mfr_id: _SPI_NAND_MANUFACTURER_ID_HEYANG_2,
dev_id: _SPI_NAND_DEVICE_ID_HYF2GQ4UTACAE,
ptr_name: "HEYANG HYF2GQ4UTACAE",
device_size: _SPI_NAND_CHIP_SIZE_2GBIT,
page_size: _SPI_NAND_PAGE_SIZE_2KBYTE,
oob_size: _SPI_NAND_OOB_SIZE_128BYTE,
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_PN,
dev_id: _SPI_NAND_DEVICE_ID_PN26G01AWSIUG,
Expand Down Expand Up @@ -2855,7 +2871,8 @@ static SPI_NAND_FLASH_RTN_T ecc_fail_check( u32 page_number )
rtn_status = SPI_NAND_FLASH_RTN_DETECTED_BAD_BLOCK;
}
}
else if(ptr_dev_info_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_HEYANG)
else if((ptr_dev_info_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_HEYANG) ||
(ptr_dev_info_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_HEYANG_2))
{
if(((status & 0x30) >> 4) == 0x2)
{
Expand Down Expand Up @@ -3804,7 +3821,8 @@ static void spi_nand_manufacturer_init( struct SPI_NAND_FLASH_INFO_T *ptr_device
_SPI_NAND_DEBUG_PRINTF(SPI_NAND_FLASH_DEBUG_LEVEL_1,"After Unlock all block setup, the die %d status register1 = 0x%x\n", _die_id, feature);
}
}
else if( (ptr_device_t->mfr_id) == _SPI_NAND_MANUFACTURER_ID_HEYANG)
else if((ptr_device_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_HEYANG) ||
(ptr_device_t->mfr_id == _SPI_NAND_MANUFACTURER_ID_HEYANG_2))
{
/* 1. Unlock All block */
spi_nand_protocol_get_status_reg_1(&feature);
Expand Down

0 comments on commit b89204e

Please sign in to comment.