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 ata: fsl_ahci: Add sata DM support for Freescale powerpc socs 2019-05-23 19:53:09 +05:30
axi
bios_emulator
block blk: Invalidate block cache when switching hwpart 2019-07-18 11:31:31 -04:00
board board: gazerbeam: Fix SC detection 2019-05-21 08:03:38 +02:00
bootcount bootcount: add a DM RTC backing store for bootcount 2018-12-10 10:04:45 +01:00
cache dm: cache: add the pl310 cache controller driver 2019-05-05 08:48:50 -04:00
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 cpu: Bind timer driver for boot hart 2019-02-27 09:12:33 +08:00
crypto Revert "drivers/crypto/fsl: assign job-rings to non-TrustZone" 2019-06-11 10:42:48 +02:00
ddr mpc83xx: Get rid of CONFIG_SYS_DDR_SDRAM_BASE 2019-05-21 07:52:33 +02:00
demo
dfu dfu: mmc: call fs functions instead of run_command 2019-01-30 21:22:53 -05:00
dma CONFIG_SPL_SYS_[DI]CACHE_OFF: add 2019-05-18 08:15:35 -04:00
fastboot fastboot: Check if partition really exist in getvar_has_slot() 2019-06-14 12:39:54 +02:00
firmware firmware: ti_sci: Always request response from firmware 2019-05-03 07:23:17 -04:00
fpga spl: socfpga: Implement fpga bitstream loading with socfpga loadfs 2019-05-10 22:48:11 +02:00
gpio Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-sunxi 2019-07-16 11:19:31 -04:00
hwspinlock hwspinlock: add stm32 hardware spinlock support 2018-12-06 23:26:33 -05:00
i2c i2c: omap24xx_i2c: Adapt driver to support K3 devices 2019-07-17 11:12:54 -04:00
input Kconfig: tegra: Migrate TEGRA_KEYBOARD 2019-02-20 09:01:45 -07:00
led led: bcm6858: allow to use this driver on ARCH_963158 2019-04-23 17:57:22 -04:00
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 nvme: Fix warning of cast from pointer to integer of different size 2019-05-19 16:17:33 +08:00
pch pch: Add ioctl support 2019-02-20 15:27:08 +08:00
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 rockchip: use 'arch-rockchip' as header file path 2019-05-01 00:00:05 +02:00
qe configs: Migrate CONFIG_FMAN_ENET and some related options to Kconfig 2019-05-26 14:40:50 -04:00
ram ram: stm32mp1_ram: Fix warnings when compiling with W=1 2019-07-12 11:50:56 +02:00
remoteproc remoteproc: k3_system_controller: Increase rx timeout 2019-05-09 20:22:05 -04:00
reset reset: socfpga: convert to livetree 2019-05-10 22:48:11 +02:00
rtc rtc: Add DM support to ds3231 2019-07-18 11:31:23 -04:00
scsi dm: scsi: report correct device number 2019-02-19 08:55:43 -05:00
serial - syscon: add support for power off 2019-07-14 09:09:49 -04:00
smem
soc soc: keystone: Merge into ti specific directory 2019-04-11 20:07:12 -04:00
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 test/py: avb: fix test_avb_persistent_values fail 2019-05-09 19:52:55 -04:00
thermal
timer timer: dw-apb: remove unused DECLARE_GLOBAL_DATA_PTR 2019-05-10 22:48:11 +02:00
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 virtio: Add a Sandbox transport driver 2018-11-14 09:16:28 -08:00
w1 w1: Add driver for i.MX bus master controller 2019-01-01 14:12:18 +01:00
w1-eeprom w1-eeprom: Add support for Maxim DS2502 add only memory 2018-11-16 16:51:55 -05:00
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