[U-Boot] [PATCH v2 4/4] sf: Write quad bit along with read status

Jagan Teki jteki at openedev.com
Wed Dec 16 10:01:49 CET 2015


While setting quad bit on spansion, macronix code
is writing only particular quad bit this may give
wrong functionality with other register bits,
So this patch fix the issue where it with write
previous read reg status along  particular quad bit.

Cc: Vignesh R <vigneshr at ti.com>
Cc: Mugunthan V N <mugunthanvnm at ti.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Bin Meng <bmeng.cn at gmail.com>
Cc: Michal Simek <michal.simek at xilinx.com>
Cc: Siva Durga Prasad Paladugu <sivadur at xilinx.com>
Signed-off-by: Jagan Teki <jteki at openedev.com>
---
Changes for v2:
	- newly added

 drivers/mtd/spi/spi_flash.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
index c922322..1ba6222 100644
--- a/drivers/mtd/spi/spi_flash.c
+++ b/drivers/mtd/spi/spi_flash.c
@@ -843,7 +843,7 @@ static int macronix_quad_enable(struct spi_flash *flash)
 	if (qeb_status & STATUS_QEB_MXIC)
 		return 0;
 
-	ret = write_sr(flash, STATUS_QEB_MXIC);
+	ret = write_sr(flash, qeb_status | STATUS_QEB_MXIC);
 	if (ret < 0)
 		return ret;
 
@@ -871,7 +871,7 @@ static int spansion_quad_enable(struct spi_flash *flash)
 	if (qeb_status & STATUS_QEB_WINSPAN)
 		return 0;
 
-	ret = write_cr(flash, STATUS_QEB_WINSPAN);
+	ret = write_cr(flash, qeb_status | STATUS_QEB_WINSPAN);
 	if (ret < 0)
 		return ret;
 
-- 
1.9.1



More information about the U-Boot mailing list