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

Fixes mode clocks for SPINOR_OP_READ_FAST_4B in tiny.

Signed-off-by: Takahiro Kuwano <takahiro.kuw...@infineon.com>
---
Changes in v6:
  - Remove spansion_quad_enable_volatile() per comment in
    
https://patchwork.ozlabs.org/project/uboot/patch/a5c3cf1353d9a621379e2fcfefc51fb44c9680c5.1611729896.git.takahiro.kuw...@infineon.com/

Changes in v5:
  - Add a comment about Flash models and respective IDs

 drivers/mtd/spi/spi-nor-tiny.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/mtd/spi/spi-nor-tiny.c b/drivers/mtd/spi/spi-nor-tiny.c
index 5cc2b7d996..aa2df75c60 100644
--- a/drivers/mtd/spi/spi-nor-tiny.c
+++ b/drivers/mtd/spi/spi-nor-tiny.c
@@ -583,6 +583,12 @@ static int spi_nor_init_params(struct spi_nor *nor,
                spi_nor_set_read_settings(&params->reads[SNOR_CMD_READ_FAST],
                                          0, 8, SPINOR_OP_READ_FAST,
                                          SNOR_PROTO_1_1_1);
+#ifdef CONFIG_SPI_FLASH_SPANSION
+               if (JEDEC_MFR(info) == SNOR_MFR_CYPRESS &&
+                   (info->id[1] == 0x2a || info->id[1] == 0x2b))
+                       /* 0x2a: S25HL (QSPI, 3.3V), 0x2b: S25HS (QSPI, 1.8V) */
+                       params->reads[SNOR_CMD_READ_FAST].num_mode_clocks = 8;
+#endif
        }
 
        if (info->flags & SPI_NOR_QUAD_READ) {
-- 
2.25.1

Reply via email to