mtd: spi-nor: Set default Quad Enable method for ISSI flashes
Set the default Quad Enable method for ISSI flashes. Used for ISSI flashes (IS25WP256D-JMLE) that do not support SFDP tables and can not determine the Quad Enable method by parsing BFPT. Based on code originally written by Wesley Terpstra <wesley@sifive.com> and/or Palmer Dabbelt <palmer@sifive.com> https://github.com/riscv/riscv-linux/commit/c94e267766d62bc9a669611c3d0c8ed5ea26569b Signed-off-by: Sagar Shrikant Kadam <sagar.kadam@sifive.com> [tudor.ambarus@microchip.com: - rebase, split and adapt for latest spi-nor/next, - use PMC CFI ID for ISSI. According to JEP106BA, "Programmable Micro Corp" changed its name to Integrated Silicon Solution (ISSI)] Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com> Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
This commit is contained in:
@@ -4577,6 +4577,11 @@ static void intel_set_default_init(struct spi_nor *nor)
|
||||
nor->flags |= SNOR_F_HAS_LOCK;
|
||||
}
|
||||
|
||||
static void issi_set_default_init(struct spi_nor *nor)
|
||||
{
|
||||
nor->params.quad_enable = spi_nor_sr1_bit6_quad_enable;
|
||||
}
|
||||
|
||||
static void macronix_set_default_init(struct spi_nor *nor)
|
||||
{
|
||||
nor->params.quad_enable = spi_nor_sr1_bit6_quad_enable;
|
||||
@@ -4617,6 +4622,10 @@ static void spi_nor_manufacturer_init_params(struct spi_nor *nor)
|
||||
intel_set_default_init(nor);
|
||||
break;
|
||||
|
||||
case SNOR_MFR_ISSI:
|
||||
issi_set_default_init(nor);
|
||||
break;
|
||||
|
||||
case SNOR_MFR_MACRONIX:
|
||||
macronix_set_default_init(nor);
|
||||
break;
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#define SNOR_MFR_INTEL CFI_MFR_INTEL
|
||||
#define SNOR_MFR_ST CFI_MFR_ST /* ST Micro */
|
||||
#define SNOR_MFR_MICRON CFI_MFR_MICRON /* Micron */
|
||||
#define SNOR_MFR_ISSI CFI_MFR_PMC
|
||||
#define SNOR_MFR_MACRONIX CFI_MFR_MACRONIX
|
||||
#define SNOR_MFR_SPANSION CFI_MFR_AMD
|
||||
#define SNOR_MFR_SST CFI_MFR_SST
|
||||
|
||||
Reference in New Issue
Block a user