From cb3afddd63fff499cb1a583a227f0f1559510bf6 Mon Sep 17 00:00:00 2001 From: Troy Kisky <troy.kisky@boundarydevices.com> Date: Wed, 20 Feb 2019 12:17:36 -0800 Subject: [PATCH] squash fsl_qspi: add support for SST_AAI_WP Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> --- drivers/spi/fsl_qspi.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/spi/fsl_qspi.c b/drivers/spi/fsl_qspi.c index 69e9fbf4a78..2e63215c7e2 100644 --- a/drivers/spi/fsl_qspi.c +++ b/drivers/spi/fsl_qspi.c @@ -684,6 +684,12 @@ static void qspi_op_write(struct fsl_qspi_priv *priv, u8 *txbuf, u32 len) seqid = SEQID_BRWR; else if (priv->cur_cmd == QSPI_CMD_WREAR) seqid = SEQID_WREAR; + + do { + qspi_start_transaction(priv, SEQID_WREN, 0); + status_reg = wait_for_idle(priv); + /* Try until write is enabled */ + } while (!(status_reg & FLASH_STATUS_WEL)); #else if (priv->cur_cmd == QSPI_CMD_SST_AAI_WP) { seqid = priv->aai_mode ? SEQID_SST_AAI_WP_CONT : SEQID_SST_AAI_WP; @@ -691,7 +697,6 @@ static void qspi_op_write(struct fsl_qspi_priv *priv, u8 *txbuf, u32 len) } else if (priv->cur_cmd == QSPI_CMD_WRITE_STATUS) { seqid = SEQID_WRITE_STATUS; } -#endif if ((seqid != SEQID_SST_AAI_WP_CONT)) { do { @@ -700,6 +705,7 @@ static void qspi_op_write(struct fsl_qspi_priv *priv, u8 *txbuf, u32 len) /* Try until write is enabled */ } while (!(status_reg & FLASH_STATUS_WEL)); } +#endif qspi_write32(priv->flags, ®s->mcr, QSPI_MCR_CLR_RXF_MASK | QSPI_MCR_CLR_TXF_MASK | -- GitLab