mtd: spi-nor: spansion: Enable JFFS2 write buffer for Infineon s25hx SEMPER flash
authorTakahiro Kuwano <Takahiro.Kuwano@infineon.com>
Thu, 6 Apr 2023 06:17:45 +0000 (15:17 +0900)
committerTudor Ambarus <tudor.ambarus@linaro.org>
Sat, 8 Apr 2023 06:28:37 +0000 (09:28 +0300)
Infineon(Cypress) SEMPER NOR flash family has on-die ECC and its program
granularity is 16-byte ECC data unit size. JFFS2 supports write buffer
mode for ECC'd NOR flash. Provide a way to clear the MTD_BIT_WRITEABLE
flag in order to enable JFFS2 write buffer mode support.

Fixes: b6b23833fc42 ("mtd: spi-nor: spansion: Add s25hl-t/s25hs-t IDs and fixups")
Suggested-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/a1cc128e094db4ec141f85bd380127598dfef17e.1680760742.git.Takahiro.Kuwano@infineon.com
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
drivers/mtd/spi-nor/spansion.c

index 19b1436..4d0cc10 100644 (file)
@@ -442,13 +442,10 @@ static void s25hx_t_post_sfdp_fixup(struct spi_nor *nor)
 
 static void s25hx_t_late_init(struct spi_nor *nor)
 {
-       struct spi_nor_flash_parameter *params = nor->params;
-
        /* Fast Read 4B requires mode cycles */
-       params->reads[SNOR_CMD_READ_FAST].num_mode_clocks = 8;
+       nor->params->reads[SNOR_CMD_READ_FAST].num_mode_clocks = 8;
 
-       /* The writesize should be ECC data unit size */
-       params->writesize = 16;
+       cypress_nor_ecc_init(nor);
 }
 
 static struct spi_nor_fixups s25hx_t_fixups = {