]> git.sur5r.net Git - u-boot/commit
mtd: nand: mxc_nand: Fix is_16bit_nand()
authorFabio Estevam <fabio.estevam@freescale.com>
Thu, 11 Apr 2013 09:35:35 +0000 (09:35 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Fri, 12 Apr 2013 05:55:03 +0000 (07:55 +0200)
commita430e91643384a944abf32e1079f79f66ef87d97
treefe83486e8c304c7f946f045f68fb1d1e6697c49f
parent66bd1846ef08412c5c850b8a672d6fdc0eab539a
mtd: nand: mxc_nand: Fix is_16bit_nand()

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 8

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
README
drivers/mtd/nand/mxc_nand.c