mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-28 04:48:52 +09:00
![Shyam Saini](/assets/img/avatar_default.png)
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>
104 lines
3.0 KiB
Plaintext
104 lines
3.0 KiB
Plaintext
config HAS_CAAM
|
|
bool
|
|
|
|
config IMX_CONFIG
|
|
string
|
|
|
|
config ROM_UNIFIED_SECTIONS
|
|
bool
|
|
|
|
config SYSCOUNTER_TIMER
|
|
bool
|
|
|
|
config GPT_TIMER
|
|
bool
|
|
|
|
config IMX_RDC
|
|
bool "i.MX Resource domain controller driver"
|
|
depends on ARCH_MX6 || ARCH_MX7
|
|
help
|
|
i.MX Resource domain controller is used to assign masters
|
|
and peripherals to differet domains. This can be used to
|
|
isolate resources.
|
|
|
|
config IMX_BOOTAUX
|
|
bool "Support boot auxiliary core"
|
|
depends on ARCH_MX7 || ARCH_MX6 || ARCH_VF610
|
|
help
|
|
bootaux [addr] to boot auxiliary core.
|
|
|
|
config USE_IMXIMG_PLUGIN
|
|
bool "Use imximage plugin code"
|
|
depends on ARCH_MX7 || ARCH_MX6 || ARCH_MX7ULP
|
|
help
|
|
i.MX6/7 supports DCD and Plugin. Enable this configuration
|
|
to use Plugin, otherwise DCD will be used.
|
|
|
|
config SECURE_BOOT
|
|
bool "Support i.MX HAB features"
|
|
depends on ARCH_MX7 || ARCH_MX6 || ARCH_MX5
|
|
select FSL_CAAM if HAS_CAAM
|
|
imply CMD_DEKBLOB
|
|
help
|
|
This option enables the support for secure boot (HAB).
|
|
See doc/README.mxc_hab for more details.
|
|
|
|
config CMD_BMODE
|
|
bool "Support the 'bmode' command"
|
|
default y
|
|
depends on ARCH_MX6 || ARCH_MX5
|
|
help
|
|
This enables the 'bmode' (bootmode) command for forcing
|
|
a boot from specific media.
|
|
|
|
This is useful for forcing the ROM's usb downloader to
|
|
activate upon a watchdog reset which is nice when iterating
|
|
on U-Boot. Using the reset button or running bmode normal
|
|
will set it back to normal. This command currently
|
|
supports i.MX53 and i.MX6.
|
|
|
|
config CMD_DEKBLOB
|
|
bool "Support the 'dek_blob' command"
|
|
help
|
|
This enables the 'dek_blob' command which is used with the
|
|
Freescale secure boot mechanism. This command encapsulates and
|
|
creates a blob of data. See also CMD_BLOB and doc/README.mxc_hab for
|
|
more information.
|
|
|
|
config CMD_HDMIDETECT
|
|
bool "Support the 'hdmidet' command"
|
|
help
|
|
This enables the 'hdmidet' command which detects if an HDMI monitor
|
|
is connected.
|
|
|
|
config CMD_NANDBCB
|
|
bool "i.MX6 NAND Boot Control Block(BCB) command"
|
|
depends on NAND && CMD_MTDPARTS
|
|
default y if ARCH_MX6 && NAND_MXS
|
|
help
|
|
Unlike normal 'nand write/erase' commands, this command update
|
|
Boot Control Block(BCB) for i.MX6 platform NAND IP's.
|
|
|
|
This is similar to kobs-ng, which is used in Linux as separate
|
|
rootfs package.
|
|
|
|
config NXP_BOARD_REVISION
|
|
bool "Read NXP board revision from fuses"
|
|
depends on ARCH_MX6 || ARCH_MX7
|
|
help
|
|
NXP boards based on i.MX6/7 contain the board revision information
|
|
stored in the fuses. Select this option if you want to be able to
|
|
retrieve the board revision information.
|
|
|
|
config DDRMC_VF610_CALIBRATION
|
|
bool "Enable DDRMC (DDR3) on-chip calibration"
|
|
depends on ARCH_VF610
|
|
help
|
|
Vybrid (vf610) SoC provides some on-chip facility to tune the DDR3
|
|
memory parameters. Select this option if you want to calculate them
|
|
at boot time.
|
|
NOTE:
|
|
NXP does NOT recommend to perform this calibration at each boot. One
|
|
shall perform it on a new PCB and then use those values to program
|
|
the ddrmc_cr_setting on relevant board file.
|