mtd: spi-nor: add support for Macronix Octal flash
authorAlvinZhou <alvinzhou@mxic.com.tw>
Thu, 26 Sep 2024 14:19:56 +0000 (22:19 +0800)
committerTudor Ambarus <tudor.ambarus@linaro.org>
Fri, 4 Oct 2024 07:40:48 +0000 (10:40 +0300)
Add manufacturer ID 0xc2 at the end of ID table to allow manufacturer
fixups to be applied for any Macronix flash. This spares us of adding
new flash entries for flashes that can be initialized solely based on
the SFDP data, but still need the manufacturer hooks to set parameters
that can't be discovered at SFDP parsing time.

The ID is added in order to set the octal DTR methods. SFDP defines a
"Command Sequences to Change to Octal DDR (8D-8D-8D) Mode" which can
enable the octal DTR mode. Until that is parsed and used, use the
local defined method.

Suggested-by: Michael Walle <mwalle@kernel.org>
Signed-off-by: JaimeLiao <jaimeliao@mxic.com.tw>
Signed-off-by: AlvinZhou <alvinzhou@mxic.com.tw>
Link: https://lore.kernel.org/r/20240926141956.2386374-7-alvinzhou.tw@gmail.com
[ta: update commit message and comment in the code]
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
drivers/mtd/spi-nor/macronix.c

index 1ccac89..830da21 100644 (file)
@@ -199,7 +199,14 @@ static const struct flash_info macronix_nor_parts[] = {
                .name = "mx25l3255e",
                .size = SZ_4M,
                .no_sfdp_flags = SECT_4K,
-       }
+       },
+       /*
+        * This spares us of adding new flash entries for flashes that can be
+        * initialized solely based on the SFDP data, but still need the
+        * manufacturer hooks to set parameters that can't be discovered at SFDP
+        * parsing time.
+        */
+       { .id = SNOR_ID(0xc2) }
 };
 
 static int macronix_nor_octal_dtr_en(struct spi_nor *nor)