[U-Boot] [PATCH resend 1/7] mtd/st_smi: Clear error flags while initiating a fresh write

Stefan Roese sr at denx.de
Thu Dec 6 08:37:15 CET 2012


On 12/06/2012 07:21 AM, Vipin Kumar wrote:
> 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 at 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);

Better use:

	clrbits_le32(&smicntl->smi_sr, ERF1 | ERF2)

Thanks,
Stefan



More information about the U-Boot mailing list