Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8b8319c8 authored by Frank Li's avatar Frank Li Committed by Brian Norris
Browse files

mtd: spi-nor: fsl-quadspi: reset the module in the probe



The uboot may run the QuadSpi controler with command:
    #sf probe

So we should reset the module in the probe.
This patch also clear the pending interrupts which arised by the uboot
code.

Signed-off-by: default avatarHuang Shijie <shijie8@gmail.com>
Signed-off-by: default avatarFrank Li <Frank.Li@freescale.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent 5cc66cb7
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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);