[U-Boot] [PATCH v2 2/2] mtd: nand: mxc_nand: Fix is_16bit_nand()

Benoît Thébaudeau benoit.thebaudeau at advansee.com
Wed Feb 27 13:53:10 CET 2013


Hi Eric,

On Wednesday, February 27, 2013 12:11:04 PM, Eric Bénard wrote:
> Hi Fabio,
> 
> Le Tue, 26 Feb 2013 15:35:20 -0300,
> Fabio Estevam <fabio.estevam at freescale.com> a écrit :
> 
> > Currently is_16bit_nand() is a per SoC function and it decides the bus nand
> > width by reading some boot related registers.
> > 
> > This method works when NAND is the boot medium, but does not work if
> > another
> > boot medium is used. For example: booting from a SD card and then using
> > NAND
> > to store the environment variables, would lead to the following error:
> > 
> > NAND bus width 16 instead 8 bit
> > No NAND device found!!!
> > 0 MiB
> > 
> > Use CONFIG_SYS_NAND_BUSWIDTH_16BIT symbol to decide the bus width.
> > 
> > If it is defined in the board file, then consider 16-bit NAND bus-width,
> > otherwise assume 8-bit NAND is used.
> > 
> > This also aligns with Documentation/devicetree/bindings/mtd/nand.txt, which
> > states:
> > 
> > nand-bus-width : 8 or 16 bus width if not present 82
> > 
> are you sure that your patch won't break current boards booting on nand
> flash (and so which can use the current functions to detect the nand
> width) ?

This code is not used for NAND boot, for which the SPL version of this driver
and CONFIG_SYS_NAND_BUSWIDTH_16 are used.

Best regards,
Benoît


More information about the U-Boot mailing list