mtd: spi-nor: spansion: Add support for s25hl02gt and s25hs02gt
authorTakahiro Kuwano <Takahiro.Kuwano@infineon.com>
Fri, 7 Apr 2023 06:41:04 +0000 (15:41 +0900)
committerTudor Ambarus <tudor.ambarus@linaro.org>
Sat, 8 Apr 2023 06:41:13 +0000 (09:41 +0300)
Add ID, flags, and fixup for s25hl02gt and s25hs02gt.
These parts are
  - Dual-die package parts
  - Not support chip erase
  - 4-byte addressing mode by default
  - Wrong param in SCCR map that needs to be fixed

Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Link: https://lore.kernel.org/r/55021d2409bf310692db0ac1c55e71ba406438a7.1680849425.git.Takahiro.Kuwano@infineon.com
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
drivers/mtd/spi-nor/spansion.c

index deb93ab..15f9a80 100644 (file)
@@ -579,6 +579,10 @@ static int s25hx_t_post_sfdp_fixup(struct spi_nor *nor)
                }
        }
 
+       /* The 2 Gb parts duplicate info and advertise 4 dice instead of 2. */
+       if (nor->params->size == SZ_256M)
+               nor->params->n_dice = 2;
+
        return cypress_nor_get_page_size(nor);
 }
 
@@ -797,6 +801,10 @@ static const struct flash_info spansion_nor_parts[] = {
                PARSE_SFDP
                MFR_FLAGS(USE_CLSR)
                .fixups = &s25hx_t_fixups },
+       { "s25hl02gt",  INFO6(0x342a1c, 0x0f0090, 0, 0)
+               PARSE_SFDP
+               FLAGS(NO_CHIP_ERASE)
+               .fixups = &s25hx_t_fixups },
        { "s25hs512t",  INFO6(0x342b1a, 0x0f0390, 256 * 1024, 256)
                PARSE_SFDP
                MFR_FLAGS(USE_CLSR)
@@ -805,6 +813,10 @@ static const struct flash_info spansion_nor_parts[] = {
                PARSE_SFDP
                MFR_FLAGS(USE_CLSR)
                .fixups = &s25hx_t_fixups },
+       { "s25hs02gt",  INFO6(0x342b1c, 0x0f0090, 0, 0)
+               PARSE_SFDP
+               FLAGS(NO_CHIP_ERASE)
+               .fixups = &s25hx_t_fixups },
        { "cy15x104q",  INFO6(0x042cc2, 0x7f7f7f, 512 * 1024, 1)
                FLAGS(SPI_NOR_NO_ERASE) },
        { "s28hl512t",   INFO(0x345a1a,      0, 256 * 1024, 256)