u-boot-brain/drivers
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
..
adc adc: stm32: Fix warnings when compiling with W=1 2019-07-12 11:50:55 +02:00
ata
axi
bios_emulator
block blk: Invalidate block cache when switching hwpart 2019-07-18 11:31:31 -04:00
board
bootcount
cache
clk clk: sandbox: Add sandbox test code for Common Clock Framework [CCF] 2019-07-19 14:50:30 +02:00
core regmap: Add API regmap_init_mem_index() 2019-07-17 11:12:08 -04:00
cpu
crypto
ddr
demo
dfu
dma
fastboot fastboot: Check if partition really exist in getvar_has_slot() 2019-06-14 12:39:54 +02:00
firmware
fpga
gpio Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-sunxi 2019-07-16 11:19:31 -04:00
hwspinlock
i2c i2c: omap24xx_i2c: Adapt driver to support K3 devices 2019-07-17 11:12:54 -04:00
input
led
mailbox mailbox: introduce stm32-ipcc driver 2019-07-12 11:18:53 +02:00
memory
misc - syscon: add support for power off 2019-07-14 09:09:49 -04:00
mmc mmc: am654_sdhci: Allow driver to probe without PDs specified 2019-07-17 11:12:54 -04:00
mtd i.MX6: nand: add nandbcb command for imx 2019-07-19 14:51:25 +02:00
net net: macb: Add support for 1000-baseX 2019-07-15 13:32:26 -05:00
nvme
pch
pci pci: ensure enumeration of all devices in pci_init 2019-07-12 21:07:58 -04:00
pci_endpoint pci_ep: fix wrong addressing to barno 2019-07-18 11:31:32 -04:00
pcmcia
phy sunxi: phy: Add USB PHY support for Allwinner H6 2019-07-16 17:13:15 +05:30
pinctrl - syscon: add support for power off 2019-07-14 09:09:49 -04:00
power regulator: Allow enabling GPIO regulator 2019-07-18 11:31:25 -04:00
pwm
qe
ram ram: stm32mp1_ram: Fix warnings when compiling with W=1 2019-07-12 11:50:56 +02:00
remoteproc
reset
rtc rtc: Add DM support to ds3231 2019-07-18 11:31:23 -04:00
scsi
serial - syscon: add support for power off 2019-07-14 09:09:49 -04:00
smem
soc
sound sound: tegra: Add a sound driver 2019-05-24 10:14:10 -07:00
spi - syscon: add support for power off 2019-07-14 09:09:49 -04:00
spmi
sysreset - syscon: add support for power off 2019-07-14 09:09:49 -04:00
tee
thermal
timer
tpm tpm: wait for valid status 2019-07-11 14:11:18 -04:00
usb usb: musb-new: omap2430: Fix compilation warning with USB_MUSB_GADGET 2019-07-13 11:11:27 -04:00
video fdt: Allow indicating a node is for U-Boot proper only 2019-07-10 16:52:58 -06:00
virtio
w1
w1-eeprom
watchdog watchdog: tangier: Convert to use WDT class 2019-06-22 22:27:13 +08:00
Kconfig drivers: pci_ep: Introduce UCLASS_PCI_EP uclass 2019-07-11 10:05:15 -04:00
Makefile drivers: pci_ep: Introduce UCLASS_PCI_EP uclass 2019-07-11 10:05:15 -04:00