u-boot/arch/arm
Shyam Saini 1d43e24b94 i.MX6: nand: add nandbcb command for imx
Writing/updating boot image in nand device is not
straight forward in i.MX6 platform and it requires
boot control block(BCB) to be configured.

It becomes difficult to use uboot 'nand' command to
write BCB since it requires platform specific attributes
need to be taken care of.

It is even difficult to use existing msx-nand.c driver by
incorporating BCB attributes like mxs_dma_desc does
because it requires change in mtd and nand command.

So, cmd_nandbcb implemented in arch/arm/mach-imx

BCB contains two data structures, Firmware Configuration Block(FCB)
and Discovered Bad Block Table(DBBT). FCB has nand timings,
DBBT search area, page address of firmware.

On summary, nandbcb update will
- erase the entire partition
- create BCB by creating 2 FCB/DBBT block followed by
  1 FW block based on partition size and erasesize.
- fill FCB/DBBT structures
- write FW/SPL on FW1
- write FCB/DBBT in first 2 blocks

for nand boot, up on reset bootrom look for FCB structure in
first block's if FCB found the nand timings are loaded for
further reads. once FCB read done, DTTB will load and finally
firmware will be loaded which is boot image.

Refer section "NAND Boot" from doc/imx/common/imx6.txt for more usage
information.

Reviewed-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Sergey Kubushyn <ksi@koi8.net>
Signed-off-by: Shyam Saini <shyam.saini@amarulasolutions.com>
2019-07-19 14:51:25 +02:00
..
cpu arm: move CONFIG_TFABOOT to generic Kconfig 2019-07-18 11:31:27 -04:00
dts Merge branch '2019-07-17-master-imports' 2019-07-18 11:31:37 -04:00
include i.MX6: nand: add nandbcb command for imx 2019-07-19 14:51:25 +02:00
lib spl: Allow performing BSS init early before board_init_f() 2019-07-17 11:12:54 -04:00
mach-aspeed
mach-at91 First set of u-boot-atmel fixes for 2019.07 cycle 2019-06-10 09:41:00 -04:00
mach-bcm283x ARM: bcm283x: Fix definition of MBOX_TAG_TEST_PIXEL_ORDER 2019-06-12 12:23:46 +02:00
mach-bcmstb
mach-davinci arm: davinci: remove leftover assembly 2019-06-05 12:14:02 -04:00
mach-exynos CONFIG_SPL_SYS_[DI]CACHE_OFF: add 2019-05-18 08:15:35 -04:00
mach-highbank
mach-imx i.MX6: nand: add nandbcb command for imx 2019-07-19 14:51:25 +02:00
mach-integrator
mach-k3 board: ti: am654: Use EEPROM-based board detection 2019-07-17 11:13:18 -04:00
mach-keystone CONFIG_SPL_SYS_[DI]CACHE_OFF: add 2019-05-18 08:15:35 -04:00
mach-kirkwood km: modify Kconfig file organization for KM boards 2019-07-11 10:58:03 +02:00
mach-mediatek arm: mediatek: add missing arch timer configuration for MT7629 2019-07-18 11:31:30 -04:00
mach-meson ARM: meson: add unique MAC address generation 2019-07-04 16:04:59 +02:00
mach-mvebu arm: mvebu: set 38x and 39x AVS on lower frequency 2019-07-11 10:58:03 +02:00
mach-omap2 configs: Make USE_TINY_PRINTF depend on SPL||TPL and be default 2019-07-13 11:11:29 -04:00
mach-orion5x
mach-owl
mach-qemu
mach-rmobile configs: Make USE_TINY_PRINTF depend on SPL||TPL and be default 2019-07-13 11:11:29 -04:00
mach-rockchip rockchip: make_fit_atf.py: fix loadables property set error 2019-07-05 15:57:52 +08:00
mach-s5pc1xx CONFIG_SPL_SYS_[DI]CACHE_OFF: add 2019-05-18 08:15:35 -04:00
mach-snapdragon
mach-socfpga arm: socfpga: provide default SPL_SIZE_LIMIT for gen5 2019-06-14 12:41:26 +02:00
mach-sti
mach-stm32 mach-stm32: Fix MPU region size dedicated to SDRAM for STM32F4 2019-06-28 09:45:27 +02:00
mach-stm32mp stm32mp1: bsec: Fix warnings when compiling with W=1 2019-07-12 11:50:54 +02:00
mach-sunxi sunxi: H6: Enable USB for existing boards 2019-07-16 17:13:15 +05:30
mach-tegra arm64: add an option to switch visibility of CONFIG_SYS_INIT_SP_BSS_OFFSET 2019-07-10 22:37:23 +09:00
mach-uniphier ARM: uniphier: set {kernel, ramdisk, fdt}_addr_r at boot-time 2019-07-10 22:42:09 +09:00
mach-versal
mach-versatile
mach-zynq CONFIG_SPL_SYS_[DI]CACHE_OFF: add 2019-05-18 08:15:35 -04:00
mach-zynqmp
mach-zynqmp-r5
thumb1/include/asm/proc-armv
config.mk
Kconfig arm: qemu: fix failure in flash initialization if booting from TF-A 2019-07-18 11:31:28 -04:00
Kconfig.debug
Makefile