u-boot-brain/board/ti
pekon gupta 85eb0de214 board/ti/am335x: add support for beaglebone NAND cape
Beaglebone Board can be connected to expansion boards to add devices to them.
These expansion boards are called 'capes'. This patch adds support for
following versions of Beaglebone(AM335x) NAND capes
(a) NAND Device with bus-width=16, block-size=128k, page-size=2k, oob-size=64
(b) NAND Device with bus-width=16, block-size=256k, page-size=4k, oob-size=224
Further information and datasheets can be found at [1] and [2]

* How to boot from NAND using Memory Expander + NAND Cape ? *
 - Important: As BOOTSEL values are sampled only at POR, so after changing any
   setting on SW2 (DIP switch), disconnect and reconnect all board power supply
   (including mini-USB console port) to POR the beaglebone.

 - Selection of ECC scheme
  for NAND cape(a), ROM code expects BCH8_HW ecc-scheme
  for NAND cape(b), ROM code expects BCH16_HW ecc-scheme

 - Selction of boot modes can be controlled via  DIP switch(SW2) present on
   Memory Expander cape.
   SW2[SWITCH_BOOT] == OFF  follow default boot order  MMC-> SPI -> UART -> USB
   SW2[SWITCH_BOOT] == ON   boot mode selected via DIP switch(SW2)
   So to flash NAND, first boot via MMC or other sources and then switch to
   SW2[SWITCH_BOOT]=ON to boot from NAND Cape.

 - For NAND boot following switch settings need to be followed
   SW2[ 1] = OFF  (SYSBOOT[ 0]==1: NAND boot mode selected )
   SW2[ 2] = OFF  (SYSBOOT[ 1]==1:       -- do --          )
   SW2[ 3] = ON   (SYSBOOT[ 2]==0:       -- do --          )
   SW2[ 4] = ON   (SYSBOOT[ 3]==0:       -- do --          )
   SW2[ 5] = OFF  (SYSBOOT[ 4]==1:       -- do --          )
   SW2[ 6] = OFF  (SYSBOOT[ 8]==1: 0:x8 device, 1:x16 device )
   SW2[ 7] = ON   (SYSBOOT[ 9]==0: ECC done by ROM  )
   SW2[ 8] = ON   (SYSBOOT[10]==0: Non Muxed device )
   SW2[ 9] = ON   (SYSBOOT[11]==0:    -- do --      )

[1] http://beagleboardtoys.info/index.php?title=BeagleBone_Memory_Expansion
[2] http://beagleboardtoys.info/index.php?title=BeagleBone_4Gb_16-Bit_NAND_Module

*IMPORTANT NOTE*
As Beaglebone board shares the same config as AM335x EVM, so following
changes are required in addition to this patch for Beaglebone NAND cape.
(1) Enable NAND in am335x_beaglebone board profile
(2) Add CONFIG_SYS_NAND_BUSWIDTH_16BIT to board config because:
 -  AM335x EVM has NAND device with datawidth=8, whereas
 -  Beaglebone NAND cape has NAND device with data-width=16
2014-08-25 08:52:34 -04:00
..
am43xx Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
am335x board/ti/am335x: add support for beaglebone NAND cape 2014-08-25 08:52:34 -04:00
am3517crane Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
beagle Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
dra7xx Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
evm Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
ks2_evm Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
omap5_uevm Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
omap5912osk Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
panda Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
sdp3430 Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
sdp4430 Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
ti814x Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
ti816x Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00
tnetv107xevm Add board MAINTAINERS files 2014-07-30 08:48:06 -04:00