u-boot-brain/arch/arm/mach-imx/imx8/Kconfig
Peng Fan 6aead23323 imx: imx8qm/qxp: Recover SPL data section for partition reboot
When doing partition reboot, the boot image won't be reloaded by ROM,
it is just CPU reset to boot entry. The SW has to keep the boot image
inside the RAM unchanged. It includes both the TEXT section and DATA
section.

For SPL, the problem is DATA section will be updated at runtime, so in
next partition reboot the data is not same as the initial value from
cold boot. If any code depends on the initial value, then it will have
problem.

This patch introduces a mechanism to recover the data section
for partition reboot. It adds a new section in image for saving
data section. When from cold boot, the data section will be saved
to that new section at SPL early phase. When from partition reboot,
the data section will be restored from the new section.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2020-05-10 20:55:20 +02:00

117 lines
2.5 KiB
Plaintext

if ARCH_IMX8
config AHAB_BOOT
bool "Support i.MX8 AHAB features"
help
This option enables the support for AHAB secure boot.
config IMX8
bool
config MU_BASE_SPL
hex "MU base address used in SPL"
default 0x5d1b0000
help
SPL runs in EL3 mode, it use MU0_A to communicate with SCU.
So we could not reuse the one in dts which is for normal U-Boot.
config IMX8QM
select IMX8
select SUPPORT_SPL
select SPL_RECOVER_DATA_SECTION
bool
config IMX8QXP
select IMX8
select SUPPORT_SPL
select SPL_RECOVER_DATA_SECTION
bool
config SYS_SOC
default "imx8"
config SPL_LOAD_IMX_CONTAINER
bool "Enable SPL loading U-Boot as a i.MX Container image"
depends on SPL
help
This is to let SPL could load i.MX8 Container image
config IMX_CONTAINER_CFG
string "i.MX Container config file"
depends on SPL
help
This is to specific the cfg file for generating container
image which will be loaded by SPL.
config BOOTAUX_RESERVED_MEM_BASE
hex "i.MX auxiliary core dram memory base"
default 0
config BOOTAUX_RESERVED_MEM_SIZE
hex "i.MX auxiliary core dram memory size"
default 0
choice
prompt "i.MX8 board select"
optional
config TARGET_APALIS_IMX8
bool "Support Apalis iMX8 module"
select BOARD_LATE_INIT
select IMX8QM
config TARGET_COLIBRI_IMX8X
bool "Support Colibri iMX8X module"
select BOARD_LATE_INIT
select IMX8QXP
config TARGET_DENEB
bool "Support i.MX8QXP Capricorn Deneb board"
select BOARD_LATE_INIT
select IMX8QXP
config TARGET_GIEDI
bool "Support i.MX8QXP Capricorn Giedi board"
select BOARD_LATE_INIT
select IMX8QXP
config TARGET_IMX8QM_MEK
bool "Support i.MX8QM MEK board"
select BOARD_LATE_INIT
select IMX8QM
config TARGET_IMX8QM_ROM7720_A1
bool "Support i.MX8QM ROM-7720-A1"
select BOARD_LATE_INIT
select SUPPORT_SPL
select IMX8QM
config TARGET_IMX8QXP_MEK
bool "Support i.MX8QXP MEK board"
select BOARD_LATE_INIT
select IMX8QXP
endchoice
source "board/freescale/imx8qm_mek/Kconfig"
source "board/freescale/imx8qxp_mek/Kconfig"
source "board/advantech/imx8qm_rom7720_a1/Kconfig"
source "board/toradex/apalis-imx8/Kconfig"
source "board/toradex/colibri-imx8x/Kconfig"
source "board/siemens/capricorn/Kconfig"
config IMX_SNVS_SEC_SC
bool "Support SNVS configuration"
help
Allow to configure the SNVS via SCU API to configure tampers and secure
violation.
config IMX_SNVS_SEC_SC_AUTO
bool "Support SNVS configuration command"
depends on IMX_SNVS_SEC_SC
help
This configuration will apply the selected configurations automatically
at boot.
endif