mtd: nand: omap: add CONFIG_SYS_NAND_BUSWIDTH_16BIT to indicate NAND device bus-width
authorpekon gupta <pekon@ti.com>
Mon, 5 May 2014 19:16:19 +0000 (00:46 +0530)
committerTom Rini <trini@ti.com>
Fri, 6 Jun 2014 21:46:06 +0000 (17:46 -0400)
commitb80a66033856cc89c62886ae3e5ba54a7faf31ae
treeecf8d57a92382864f8bf75757761961e5c237b72
parent6e1899e633c2ac3f6da7101d4990361c6ff2a9d2
mtd: nand: omap: add CONFIG_SYS_NAND_BUSWIDTH_16BIT to indicate NAND device bus-width

GPMC controller needs to be configured based on bus-width of the NAND device
connected to it. Also, dynamic detection of NAND bus-width from on-chip ONFI
parameters is not possible in following situations:
SPL:    SPL NAND drivers does not support ONFI parameter reading.
U-boot: GPMC controller iniitalization is done in omap_gpmc.c:board_nand_init()
        which is called before probing for devices, hence any ONFI parameter
        information is not available during GPMC initialization.

Thus, OMAP NAND driver expected board developers to explicitely write GPMC
configurations specific to NAND device attached on board in board files itself.
But this was troublesome for board manufacturers as they need to dive into
lengthy platform & SoC documents to find details of GPMC registers and
appropriate configurations to get NAND device working.

This patch instead adds existing CONFIG_SYS_NAND_BUSWIDTH_16BIT to board config
hich indicates that connected NAND device has x16 bus-width. And then based on
this config GPMC driver itself initializes itself based on NAND bus-width. This
keeps board developers free from knowing GPMC controller specific internals.

Signed-off-by: Pekon Gupta <pekon@ti.com>
13 files changed:
doc/README.nand
drivers/mtd/nand/omap_gpmc.c
include/configs/am3517_crane.h
include/configs/devkit8000.h
include/configs/dig297.h
include/configs/omap3_beagle.h
include/configs/omap3_evm_common.h
include/configs/omap3_igep00x0.h
include/configs/omap3_logic.h
include/configs/omap3_overo.h
include/configs/omap3_zoom1.h
include/configs/tam3517-common.h
include/configs/tao3530.h