From: Takahiro Kuwano <takahiro.kuw...@infineon.com>

The S25HL-T/S25HS-T family is the Cypress Semper Flash with Quad SPI.
The datasheets can be found in the following links.

https://www.cypress.com/file/424146/download (256Mb/512Mb/1Gb, single die)
https://www.cypress.com/file/499246/download (2Gb/4Gb, dual/quad die)

Tested 512Mb/1Gb/2Gb parts on Xilinx Zynq-7000 FPGA board.

Signed-off-by: Takahiro Kuwano <takahiro.kuw...@infineon.com>
---
 drivers/mtd/spi/spi-nor-ids.c | 36 +++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
index 5bd5dd3003..b78d13e980 100644
--- a/drivers/mtd/spi/spi-nor-ids.c
+++ b/drivers/mtd/spi/spi-nor-ids.c
@@ -217,6 +217,42 @@ const struct flash_info spi_nor_ids[] = {
        { INFO("s25fl208k",  0x014014,      0,  64 * 1024,  16, SECT_4K | 
SPI_NOR_DUAL_READ) },
        { INFO("s25fl064l",  0x016017,      0,  64 * 1024, 128, SECT_4K | 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
        { INFO("s25fl128l",  0x016018,      0,  64 * 1024, 256, SECT_4K | 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
+
+       /* S25HL/HS-T (Semper Flash with Quad SPI) Family has overlaid 4KB
+        * sectors at top and/or bottom, depending on the device configuration.
+        * To support this, an erase hook makes overlaid sectors appear as
+        * uniform sectors.
+        */
+       { INFO6("s25hl256t",  0x342a19, 0x0f0390, 256 * 1024, 128,
+               SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES |
+               USE_CLSR) },
+       { INFO6("s25hl512t",  0x342a1a, 0x0f0390, 256 * 1024, 256,
+               SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES |
+               USE_CLSR) },
+       { INFO6("s25hl01gt",  0x342a1b, 0x0f0390, 256 * 1024, 512,
+               SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES |
+               USE_CLSR) },
+       { INFO6("s25hl02gt",  0x342a1c, 0x0f0090, 256 * 1024, 1024,
+               SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES |
+               USE_CLSR) },
+       { INFO6("s25hl04gt",  0x342a1d, 0x0f0090, 256 * 1024, 2048,
+               SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES |
+               USE_CLSR) },
+       { INFO6("s25hs256t",  0x342b19, 0x0f0390, 256 * 1024, 128,
+               SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES |
+               USE_CLSR) },
+       { INFO6("s25hs512t",  0x342b1a, 0x0f0390, 256 * 1024, 256,
+               SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES |
+               USE_CLSR) },
+       { INFO6("s25hs01gt",  0x342b1b, 0x0f0390, 256 * 1024, 512,
+               SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES |
+               USE_CLSR) },
+       { INFO6("s25hs02gt",  0x342b1c, 0x0f0090, 256 * 1024, 1024,
+               SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES |
+               USE_CLSR) },
+       { INFO6("s25hs04gt",  0x342b1d, 0x0f0090, 256 * 1024, 2048,
+               SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES |
+               USE_CLSR) },
 #endif
 #ifdef CONFIG_SPI_FLASH_SST            /* SST */
        /* SST -- large erase sizes are "overlays", "sectors" are 4K */
-- 
2.25.1

Reply via email to