From: Venkatesh Yadav Abbarapu <venkatesh.abbar...@amd.com>

The block protection flags for Gigadevice, Spansion, and ISSI flash
memory have been modified. Additionally, new flags for
SPI_NOR_OCTAL_DTR_READ and octal DTR page programming have been
introduced for Micron OSPI flashes. Furthermore, the flashes mt35xu01g
and mt35xu02g have been incorporated into the CONFIG_SPI_FLASH_MT35XU
configuration, so that in driver mt35xu512aba_fixups will be applied.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbar...@amd.com>
Signed-off-by: Tejas Bhumkar <tejas.arvind.bhum...@amd.com>
---
 drivers/mtd/spi/spi-nor-ids.c | 34 ++++++++++++++++++++--------------
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
index 3cb132dcff..cb39c99fa8 100644
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -122,9 +122,9 @@ const struct flash_info spi_nor_ids[] = {
        {INFO("gd25b256", 0xc84019, 0, 64 * 1024, 512,  SECT_4K |
        SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | 
SPI_NOR_4B_OPCODES)  },
        {INFO("gd25b512", 0xc8471A, 0, 64 * 1024, 1024, SECT_4K |
-       SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | SPI_NOR_4B_OPCODES)},
+       SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | SPI_NOR_4B_OPCODES | 
SPI_NOR_HAS_TB)},
        {INFO("gd55b01g", 0xc8471B, 0, 64 * 1024, 2048, SECT_4K |
-       SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | SPI_NOR_4B_OPCODES)},
+       SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | SPI_NOR_4B_OPCODES | 
SPI_NOR_HAS_TB)},
        {INFO("gd55b02g", 0xc8471C, 0, 64 * 1024, 4096, SECT_4K |
        SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | SPI_NOR_4B_OPCODES)},
        {INFO("gd25f64", 0xc84317, 0, 64 * 1024, 128,   SECT_4K |
@@ -191,7 +191,8 @@ const struct flash_info spi_nor_ids[] = {
        SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK | SPI_NOR_4B_OPCODES)},
        {
                INFO("gd25lx256e", 0xc86819, 0, 64 * 1024, 512,
-                    SECT_4K | SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES)
+                    SECT_4K | SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES |
+                    SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
        },
        /* adding these 1.8V OSPI flash parts */
        {INFO("gd25lx512", 0xc8681A, 0, 64 * 1024, 1024,        SECT_4K |
@@ -212,11 +213,11 @@ const struct flash_info spi_nor_ids[] = {
        { INFO("is25lp128",  0x9d6018, 0, 64 * 1024, 256,
                        SECT_4K | SPI_NOR_DUAL_READ) },
        { INFO("is25lp256",  0x9d6019, 0, 64 * 1024, 512,
-                       SECT_4K | SPI_NOR_DUAL_READ) },
+                       SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_HAS_TB) },
        { INFO("is25lp512",  0x9d601a, 0, 64 * 1024, 1024,
-                       SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+                       SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | 
SPI_NOR_HAS_TB) },
        { INFO("is25lp01g",  0x9d601b, 0, 64 * 1024, 2048,
-                       SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+                       SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | 
SPI_NOR_HAS_TB) },
        { INFO("is25wp008", 0x9d7014, 0, 64 * 1024,  16, SPI_NOR_QUAD_READ) },
        { INFO("is25wp016", 0x9d7015, 0, 64 * 1024,  32, SPI_NOR_QUAD_READ) },
        { INFO("is25wp032",  0x9d7016, 0, 64 * 1024,  64,
@@ -233,7 +234,8 @@ const struct flash_info spi_nor_ids[] = {
        { INFO("is25wp01g",  0x9d701b, 0, 64 * 1024, 2048,
                        SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
        { INFO("is25wx256",  0x9d5b19, 0, 128 * 1024, 256,
-                       SECT_4K | USE_FSR | SPI_NOR_OCTAL_READ | 
SPI_NOR_4B_OPCODES) },
+                       SECT_4K | USE_FSR | SPI_NOR_OCTAL_READ | 
SPI_NOR_4B_OPCODES |
+                       SPI_NOR_HAS_TB) },
 #endif
 #ifdef CONFIG_SPI_FLASH_MACRONIX       /* MACRONIX */
        /* Macronix */
@@ -312,11 +314,15 @@ const struct flash_info spi_nor_ids[] = {
        { INFO("mt25qu02g",   0x20bb22, 0, 64 * 1024, 4096, SECT_4K | USE_FSR | 
SPI_NOR_QUAD_READ | NO_CHIP_ERASE) },
        { INFO("mt25ql02g",   0x20ba22, 0, 64 * 1024, 4096, SECT_4K | USE_FSR | 
SPI_NOR_QUAD_READ | NO_CHIP_ERASE | SPI_NOR_4B_OPCODES) },
 #ifdef CONFIG_SPI_FLASH_MT35XU
-       { INFO("mt35xl512aba", 0x2c5a1a, 0,  128 * 1024,  512, USE_FSR | 
SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES | SPI_NOR_OCTAL_DTR_READ) },
-       { INFO("mt35xu512aba", 0x2c5b1a, 0,  128 * 1024,  512, USE_FSR | 
SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES | SPI_NOR_OCTAL_DTR_READ) },
+       { INFO("mt35xl512aba", 0x2c5a1a, 0,  128 * 1024,  512,
+               USE_FSR | SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES | 
SPI_NOR_OCTAL_DTR_READ | SPI_NOR_OCTAL_DTR_PP) },
+       { INFO("mt35xu512aba", 0x2c5b1a, 0,  128 * 1024,  512,
+               USE_FSR | SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES | 
SPI_NOR_OCTAL_DTR_READ | SPI_NOR_OCTAL_DTR_PP) },
+       { INFO6("mt35xu01g",  0x2c5b1b, 0x104100, 128 * 1024,  1024,
+               USE_FSR | SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES | 
SPI_NOR_OCTAL_DTR_READ | SPI_NOR_OCTAL_DTR_PP) },
+       { INFO("mt35xu02g",  0x2c5b1c, 0, 128 * 1024,  2048,
+               USE_FSR | SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES | 
SPI_NOR_OCTAL_DTR_READ | SPI_NOR_OCTAL_DTR_PP) },
 #endif /* CONFIG_SPI_FLASH_MT35XU */
-       { INFO6("mt35xu01g",  0x2c5b1b, 0x104100, 128 * 1024,  1024, USE_FSR | 
SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES) },
-       { INFO("mt35xu02g",  0x2c5b1c, 0, 128 * 1024,  2048, USE_FSR | 
SPI_NOR_OCTAL_READ | SPI_NOR_4B_OPCODES) },
 #endif
 #ifdef CONFIG_SPI_FLASH_SPANSION       /* SPANSION */
        /* Spansion/Cypress -- single (large) sector size only, at least
@@ -325,8 +331,8 @@ const struct flash_info spi_nor_ids[] = {
        { INFO("s25sl032p",  0x010215, 0x4d00,  64 * 1024,  64, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
        { INFO("s25sl064p",  0x010216, 0x4d00,  64 * 1024, 128, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
        { INFO("s25fl256s0", 0x010219, 0x4d00, 256 * 1024, 128, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
-       { INFO("s25fl256s1", 0x010219, 0x4d01,  64 * 1024, 512, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
-       { INFO6("s25fl512s",  0x010220, 0x4d0080, 256 * 1024, 256, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
+       { INFO("s25fl256s1", 0x010219, 0x4d01,  64 * 1024, 512, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR | SPI_NOR_HAS_TB) },
+       { INFO6("s25fl512s",  0x010220, 0x4d0080, 256 * 1024, 256, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR | SPI_NOR_HAS_TB) },
        { INFO6("s25fs512s",  0x010220, 0x4d0081, 256 * 1024, 256, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
        { INFO("s25fl512s_256k",  0x010220, 0x4d00, 256 * 1024, 256, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
        { INFO("s25fl512s_64k",  0x010220, 0x4d01, 64 * 1024, 1024, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
@@ -334,7 +340,7 @@ const struct flash_info spi_nor_ids[] = {
        { INFO("s70fs01gs_256k", 0x010221, 0x4d00, 256 * 1024, 512, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
        { INFO("s25sl12800", 0x012018, 0x0300, 256 * 1024,  64, 0) },
        { INFO("s25sl12801", 0x012018, 0x0301,  64 * 1024, 256, 0) },
-       { INFO6("s25fl128s",  0x012018, 0x4d0180, 64 * 1024, 256, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
+       { INFO6("s25fl128s",  0x012018, 0x4d0180, 64 * 1024, 256, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR | SPI_NOR_HAS_TB) },
        { INFO("s25fl129p0", 0x012018, 0x4d00, 256 * 1024,  64, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
        { INFO("s25fl129p1", 0x012018, 0x4d01,  64 * 1024, 256, 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
        { INFO("s25sl008a",  0x010213,      0,  64 * 1024,  16, 0) },
-- 
2.27.0

Reply via email to