Signed-off-by: Jules Maselbas <[email protected]>
---
 drivers/mtd/spi-nor/spi-nor.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 8f6726ca4b..2c46bb2b10 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -83,6 +83,7 @@ struct flash_info {
 #define USE_CLSR               BIT(14) /* use CLSR command */
 #define SPI_NOR_OCTAL_READ     BIT(15) /* Flash supports Octal Read */
 #define UNLOCK_GLOBAL_BLOCK    BIT(16) /* Unlock global block protection */
+#define SPI_NOR_QUAD_WRITE     BIT(17) /* Flash supports Quad Write */
 };
 
 enum spi_nor_read_command_index {
@@ -1166,6 +1167,13 @@ static int spi_nor_init_params(struct spi_nor *nor,
        spi_nor_set_pp_settings(&params->page_programs[SNOR_CMD_PP],
                                SPINOR_OP_PP, SNOR_PROTO_1_1_1);
 
+       if (info->flags & SPI_NOR_QUAD_WRITE) {
+               params->hwcaps.mask |= SNOR_HWCAPS_PP_1_1_4;
+               spi_nor_set_pp_settings(
+                               &params->page_programs[SNOR_CMD_PP_1_1_4],
+                               SPINOR_OP_PP_1_1_4, SNOR_PROTO_1_1_4);
+       }
+
        if (info->flags & UNLOCK_GLOBAL_BLOCK) {
                int err;
 
-- 
2.17.1






Reply via email to