[U-Boot,Drivers,01/19] mtd/st_smi: Clear error flags while initiating a fresh write

Message ID 1c8cd3ce05a1064788a96bb4b49f9b82d9caf736.1351877124.git.vipin.kumar@st.com
State Superseded
Delegated to: Albert ARIBAUD
Headers show

Commit Message

Vipin Kumar Nov. 2, 2012, 5:39 p.m.
SMI controller reports an error when the code tries to write on the flash area
with Write Enable command not issued or the bank has come out of the write mode.

This error is reported even with a fresh write once the ERF1 or ERF2 is set.
Clear these flags while initiating a fresh write

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
 drivers/mtd/st_smi.c | 2 ++
 1 file changed, 2 insertions(+)


diff --git a/drivers/mtd/st_smi.c b/drivers/mtd/st_smi.c
index 7507e5d..fad4420 100644
--- a/drivers/mtd/st_smi.c
+++ b/drivers/mtd/st_smi.c
@@ -392,6 +392,8 @@  static int smi_write(unsigned int *src_addr, unsigned int *dst_addr,
 		return -1;
+	writel(readl(&smicntl->smi_sr) & ~(ERF1 | ERF2), &smicntl->smi_sr);
 	if (smi_wait_till_ready(banknum, CONFIG_SYS_FLASH_WRITE_TOUT))
 		return -EBUSY;