diff options
author | Ye.Li <B37916@freescale.com> | 2014-07-17 17:46:16 +0800 |
---|---|---|
committer | Ye.Li <B37916@freescale.com> | 2014-07-17 18:01:55 +0800 |
commit | be2c5fd0cd52f2f63d2dc11cea213028e1303249 (patch) | |
tree | 13a852abd65aaaad35b6e935e89e79d9fd169081 | |
parent | aef061cd811fb4f2de6c81094225f66b3a16de50 (diff) |
ENGR00323027 MTD:QuadSPI: Remove the M4 checking workaround
The QuadSPI driver has a workaround to check if M4 is using QuadSPI NOR
flash. When M4 is running on QuadSPI NOR, the QuadSPI driver will quit.
This workaround has a bug when system booting from QuadSPI NOR.
Therefore, removed the workaround and disabled the QuadSPI driver in
MCC specific DTB. The MCC DTB will let the QuadSPI driver to disabled,
not conflict with M4.
Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit 6733ca3382ddb6358f4ccf8dd4f16d8f65995241)
-rw-r--r-- | arch/arm/boot/dts/imx6sx-sdb-m4.dts | 4 | ||||
-rw-r--r-- | drivers/mtd/spi-nor/fsl-quadspi.c | 13 |
2 files changed, 4 insertions, 13 deletions
diff --git a/arch/arm/boot/dts/imx6sx-sdb-m4.dts b/arch/arm/boot/dts/imx6sx-sdb-m4.dts index aa52ca7308d8..3258075f27cd 100644 --- a/arch/arm/boot/dts/imx6sx-sdb-m4.dts +++ b/arch/arm/boot/dts/imx6sx-sdb-m4.dts @@ -35,3 +35,7 @@ &adc2 { status = "disabled"; }; + +&qspi2 { + status = "disabled"; +}; diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c index 02051622ef74..1694a89e315f 100644 --- a/drivers/mtd/spi-nor/fsl-quadspi.c +++ b/drivers/mtd/spi-nor/fsl-quadspi.c @@ -882,13 +882,6 @@ static void fsl_qspi_unprep(struct spi_nor *nor, enum spi_nor_ops ops) clk_disable(q->clk_en); } -/* If the uboot enable the M4 to use the Quadspi, we should quit. */ -static bool fsl_m4_is_using(struct fsl_qspi *q) -{ - return (readl(q->iobase + QUADSPI_BUF0CR) == - QUADSPI_BUFXCR_INVALID_MSTRID); -} - static int fsl_qspi_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; @@ -955,12 +948,6 @@ static int fsl_qspi_probe(struct platform_device *pdev) goto map_failed; } - if (fsl_m4_is_using(q)) { - dev_info(dev, "The M4 is using quadspi controller, we quit.\n"); - ret = -EINVAL; - goto irq_failed; - } - /* find the irq */ ret = platform_get_irq(pdev, 0); if (ret < 0) { |