[U-Boot] [PATCH v2] Correct corrupted NAND Flash access on KARO TX25 modules

Marek Vasut marek.vasut at gmail.com
Mon Apr 2 23:08:36 CEST 2012


Dear Gachet Daniel,

> This patch v2 correct corrupted data while reading NAND flash modules on
> the KARO TX25 module.
> 
> The current version of the mxc_nand driver uses the symmetric mode to
> access the NAND flash, but the devices populated on the KARO TX25 only
> support an asymmetric mode (i.MX25: bit 8  within NAND_FLASH_CONFIG1
> register cleared).
> 
> To solve the problem in a generic way, the proposition is to define a
> specific value for that bit, CONFIG_NAND_MXC_NFC_ONE_CYCLE. This value
> could be defined in the specific board configuration file
> (./include/configs/...). Short description:
> 
> CONFIG_NAND_MXC_NFC_ONE_CYCLE enables to specify how to access NAND flash
> on the i.MX25 CPU. If CONFIG_NAND_MXC_NFC_ONE_CYCLE is defined, a
> one-clock cycle will be used to access the NAND flash (symmetric mode);
> otherwise a two-clock cycle will be used (asymmetric mode).
> 
> Signed-off-by: Daniel Gachet <daniel.gachet at hefr.ch>
> Cc: stefano babic <sbabic at denx.de>
> 
> diff -upr drivers/mtd/nand/mxc_nand.c drivers/mtd/nand/mxc_nand.c
> --- drivers/mtd/nand/mxc_nand.c	2011-12-23 20:25:35.000000000 +0100
> +++ drivers/mtd/nand/mxc_nand.c	2012-04-02 22:30:13.000000000 +0200
> @@ -1290,7 +1290,9 @@ static void mxc_setup_config1(void)
>  	uint16_t tmp;
> 
>  	tmp = readw(&host->regs->nfc_config1);
> +#ifdef CONFIG_NAND_MXC_NFC_ONE_CYCLE
>  	tmp |= NFC_ONE_CYCLE;
> +#endif
>  	tmp |= NFC_4_8N_ECC;
>  	writew(tmp, &host->regs->nfc_config1);
>  	if (host->pagesize_2k)
> 

Won't this break other MX25 boards? Stefano?

Best regards,
Marek Vasut


More information about the U-Boot mailing list