|
@@ -716,6 +716,11 @@ static int fsl_qspi_nor_setup(struct fsl_qspi *q)
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
+ /* Reset the module */
|
|
|
+ writel(QUADSPI_MCR_SWRSTSD_MASK | QUADSPI_MCR_SWRSTHD_MASK,
|
|
|
+ base + QUADSPI_MCR);
|
|
|
+ udelay(1);
|
|
|
+
|
|
|
/* Init the LUT table. */
|
|
|
fsl_qspi_init_lut(q);
|
|
|
|
|
@@ -733,6 +738,9 @@ static int fsl_qspi_nor_setup(struct fsl_qspi *q)
|
|
|
writel(QUADSPI_MCR_RESERVED_MASK | QUADSPI_MCR_END_CFG_MASK,
|
|
|
base + QUADSPI_MCR);
|
|
|
|
|
|
+ /* clear all interrupt status */
|
|
|
+ writel(0xffffffff, q->iobase + QUADSPI_FR);
|
|
|
+
|
|
|
/* enable the interrupt */
|
|
|
writel(QUADSPI_RSER_TFIE, q->iobase + QUADSPI_RSER);
|
|
|
|