board/ti/am43xx: add support for parallel NAND
authorpekon gupta <pekon@ti.com>
Tue, 22 Jul 2014 10:33:22 +0000 (16:03 +0530)
committerTom Rini <trini@ti.com>
Mon, 25 Aug 2014 14:48:12 +0000 (10:48 -0400)
commite53ad4b445464327aebd1c5ea6260b7bb9b80ae7
treefe5edc497d51831f96b3abdccae854033889e3c1
parent3df3bc1e1dc4c38de93d66fb589565f36d9749c7
board/ti/am43xx: add support for parallel NAND

This patch adds support for NAND device connected to GPMC chip-select on
following AM43xx EVM boards.

am437x-gp-evm: On this board, NAND Flash signals are muxed with eMMC, thus at a
  time either eMMC or NAND can be enabled. Selection between eMMC and NAND is
  controlled by:
  (a) Statically using Jumper on connecter (J89) present on board.
  (a) If Jumper on J89 is NOT used, then selection can be dynamically controlled
      by driving SPI2_CS0[MUX_MODE=GPIO] pin via software:
      SPI2_CS0 == 0: NAND (default)
      SPI2_CS0 == 1: eMMC

am43x-epos-evm: On this board, NAND Flash control lines are muxed with QSPI,
  Thus only one of the two can be used at a time. Selection is controlled by:
  (a) Dynamically driving following GPIO pin from software
      GPMC_A0(GPIO) == 0 NAND is selected (default)

NAND device (MT29F4G08AB) on these boards has:
 - data-width=8bits
 - blocksize=256KB
 - pagesize=4KB
 - oobsize=224 bytes
For above NAND device, ROM code expects the boot-loader to be flashed in BCH16
ECC scheme for NAND boot, So by default BCH16 ECC is enabled for AM43xx EVMs.

Signed-off-by: Pekon Gupta <pekon@ti.com>
board/ti/am43xx/board.c
board/ti/am43xx/mux.c
include/configs/am43xx_evm.h