u-boot/arch/arm/include/asm
Sean Anderson ab12179b3e arm: imx: Check header before calling spl_load_imx_container
Make sure we have an IMX header before calling spl_load_imx_container,
since if we don't it will fail with -ENOENT. This allows us to fall back to
legacy/raw images if they are also enabled.

This is a functional change, one which likely should have been in place
from the start, but a functional change nonetheless. Previously, all
non-IMX8 images (except FITs without FIT_FULL) would be optimized out if
the only image load method enabled supported IMX8 images. With this change,
support for other image types now has an effect.

There are seven boards with SPL_LOAD_IMX_CONTAINER enabled: three with
SPL_BOOTROM_SUPPORT:

    imx93_11x11_evk_ld imx93_11x11_evk imx8ulp_evk

and four with SPL_MMC:

    deneb imx8qxp_mek giedi imx8qm_mek

All of these boards also have SPL_RAW_IMAGE_SUPPORT and
SPL_LEGACY_IMAGE_FORMAT enabled as well. However, none have FIT support
enabled. Of the six load methods affected by this patch, only SPL_MMC and
SPL_BOOTROM_SUPPORT are enabled with SPL_LOAD_IMX_CONTAINER.
spl_romapi_load_image_seekable does not support legacy or raw images, so
there is no growth. However, mmc_load_image_raw_sector does support loading
legacy/raw images. Since these images could not have been booted before, I
have disabled support for legacy/raw images on these four boards. This
reduces bloat from around 800 bytes to around 200.

There are no in-tree boards with SPL_LOAD_IMX_CONTAINER and AHAB_BOOT both
enabled, so we do not need to worry about potentially falling back to
legacy images in a secure boot scenario.

Future work could include merging imx_container.h with imx8image.h, since
they appear to define mostly the same structures.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
2023-10-17 20:50:52 -04:00
..
arch-am33xx arm: Remove ti816x_evm board and ti816x SoC support 2023-05-31 10:11:46 -04:00
arch-apple arm: apple: nvme: Add SART support and RTKit buffer management 2022-06-23 08:24:49 -04:00
arch-armada8k
arch-armv7
arch-aspeed ram: ast2600: Align the RL and WL setting 2022-11-24 16:26:01 -05:00
arch-bcm235xx
arch-bcm281xx
arch-bcmns3 board: ns3: add api to save boot parameters passed from BL31 2020-07-29 10:13:41 -04:00
arch-fsl-layerscape fsl-layerscape: drop obsolete PPA secure firmware support 2023-10-10 10:13:32 +08:00
arch-hi3660 common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
arch-hi3798cv200
arch-hi6220 doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
arch-imx imx9: add i.MX93 variants support 2023-05-21 16:54:41 +02:00
arch-imx8 imx: move imx8 sci header file to include/firmware/imx 2023-05-21 16:54:32 +02:00
arch-imx8m imx: imx8m: add CAAM_BASE_ADDR 2023-07-13 11:29:40 +02:00
arch-imx8ulp imx: fix header inclusion guards 2023-05-31 10:11:46 -04:00
arch-imx9 imx: use generic name ele(EdgeLockSecure Enclave) 2023-07-13 11:29:40 +02:00
arch-imxrt include: Remove unused header files 2023-05-31 12:31:47 -04:00
arch-lpc32xx include: Remove unused header files 2023-05-31 12:31:47 -04:00
arch-ls102xa global: Migrate CONFIG_MAX_MEM_MAPPED to CFG 2022-12-23 10:14:51 -05:00
arch-mediatek mediatek: Drop dm.h header file 2020-08-03 22:19:54 -04:00
arch-meson clk: Add clock driver for Amlogic A1 2023-10-12 13:39:41 +02:00
arch-mvebu
arch-mx5 arm: mx5: Correct mxc_set_clock function prototype 2023-07-20 14:48:20 -04:00
arch-mx6 imx: bootaux: change names of MACROs used to boot MCU on iMX devices 2023-07-13 11:29:40 +02:00
arch-mx7 imx: bootaux: change names of MACROs used to boot MCU on iMX devices 2023-07-13 11:29:40 +02:00
arch-mx7ulp global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
arch-mx27 include: Remove unused header files 2023-05-31 12:31:47 -04:00
arch-mx31 global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
arch-mxs include: Remove unused header files 2023-05-31 12:31:47 -04:00
arch-npcm7xx misc: nuvoton: Add NPCM7xx otp controller driver 2022-06-22 21:30:05 -04:00
arch-npcm8xx arch: arm: npcm8xx: add cpu version and 4G ram support 2023-07-14 12:52:18 -04:00
arch-octeontx arm: octeontx: Add headers for OcteonTX 2020-08-25 08:01:16 +02:00
arch-octeontx2 arm: octeontx2: Add headers for OcteonTX2 2020-08-25 08:01:16 +02:00
arch-omap3 include: Remove unused header files 2023-05-31 12:31:47 -04:00
arch-omap4 arm: omap2plus: Move CONFIG_SYS_PTV out of CONFIG namespace 2022-06-06 12:09:00 -04:00
arch-omap5 include: Remove unused header files 2023-05-31 12:31:47 -04:00
arch-orion5x
arch-owl net: designware: s700: Add glue code for S700 mac 2020-07-07 17:11:58 -04:00
arch-px30 rockchip: add px30 architecture core 2019-11-17 17:23:24 +08:00
arch-rk322x
arch-rk3036
arch-rk3066 rockchip: rk3066: add core support 2022-04-18 11:25:13 +08:00
arch-rk3128
arch-rk3188
arch-rk3288
arch-rk3308 clk: rockchip: rk3308: Support reading UART rate and clock registers 2023-08-12 10:37:57 +08:00
arch-rk3328
arch-rk3368
arch-rk3399
arch-rk3568 rockchip: Add rk3568 architecture core 2021-06-18 14:36:24 +08:00
arch-rk3588 arm: rockchip: Add RK3588 arch core support 2023-02-28 18:07:28 +08:00
arch-rockchip clk: rockchip: rk3568: Fix mask for clk_cpll_div_25m_div 2023-08-12 10:35:35 +08:00
arch-rv1108
arch-rv1126 arm: rockchip: Add RV1126 arch core support 2023-01-16 18:01:11 +08:00
arch-stih410 treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
arch-stm32 gpio: stm32: create include file for driver private data 2021-11-10 17:03:36 +01:00
arch-stm32f4 gpio: stm32: create include file for driver private data 2021-11-10 17:03:36 +01:00
arch-stm32f7 configs: stm32f769-disco: Fix internal flash size 2022-09-26 17:21:02 +02:00
arch-stm32h7 gpio: stm32: create include file for driver private data 2021-11-10 17:03:36 +01:00
arch-stv0991 global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
arch-sunxi sunxi: H616: dram: split struct dram_para 2023-07-21 00:29:42 +01:00
arch-tegra ARM: tegra: add SoC UID calculation function 2023-06-30 15:20:37 +02:00
arch-tegra20 doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
arch-tegra30 video: tegra20: add DSI controller driver 2023-04-07 19:52:54 +02:00
arch-tegra114
arch-tegra124 doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
arch-tegra186
arch-tegra210
arch-vf610 Convert CONFIG_IOMUX_SHARE_CONF_REG et al to Kconfig 2022-12-05 16:07:12 -05:00
armv8 armv8: enable HAFDBS for other ELx when FEAT_HAFDBS is present 2023-04-25 15:31:27 -04:00
iproc-common include: Remove unused header files 2023-05-31 12:31:47 -04:00
kona-common include: Remove unused header files 2023-05-31 12:31:47 -04:00
mach-imx arm: imx: Check header before calling spl_load_imx_container 2023-10-17 20:50:52 -04:00
proc-armv arm: Remove strongarm support 2022-07-08 17:57:33 -04:00
ti-common global: Migrate CONFIG_KSNET_NETCP_BASE to CFG 2022-12-23 10:14:50 -05:00
xen Revert "arch: arm/xen: add putc() for debugging" 2020-10-23 09:16:07 -04:00
acpi_table.h acpi: Add missing ARM acpi_table header 2021-01-18 15:14:15 -05:00
arm11.h ARM: arm11: Add C wrapper for allow_unaligned() 2023-07-01 17:29:15 +02:00
armv7.h ARM: armv7: Add C wrapper for allow_unaligned() 2023-07-01 17:29:15 +02:00
armv7_mpu.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
armv7m.h
assembler.h arm: ARMv4 assembly compatibility 2022-09-02 13:40:42 -04:00
atomic.h
barriers.h
bitops.h arm: Use builtins for ffs/fls 2023-08-17 16:39:20 -04:00
boot0-linux-kernel-header.h arm64: Remove duplicated symbols 2023-06-01 12:32:03 -04:00
bootm.h arm: use CONFIG_SUPPORT_PASSING_ATAGS 2021-09-24 14:30:46 -04:00
byteorder.h
cache.h arm: cp15: remove weak function arm_init_domains 2021-03-02 15:53:37 -05:00
config.h Convert CONFIG_SYS_BOOT_RAMDISK_HIGH to Kconfig 2022-07-07 14:01:09 -04:00
davinci_rtc.h
dma-mapping.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
ehci-omap.h usb: ehci-omap: Drop dead code 2022-02-23 05:25:17 +01:00
emif.h global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_* 2022-12-05 16:06:07 -05:00
esr.h arm64: Import some ESR and SPSR defines from Linux 2022-04-01 16:56:53 -04:00
fsl_secure_boot.h fsl-layerscape: drop obsolete PPA secure firmware support 2023-10-10 10:13:32 +08:00
gic-v3.h Revert "arch: arm: use dt and UCLASS_SYSCON to get gic lpi details" 2021-10-31 08:46:29 -04:00
gic.h
global_data.h Record the position of the SMBIOS tables 2023-09-22 06:05:40 +08:00
gpio.h gpio: Introduce CONFIG_GPIO_EXTRA_HEADER to cleanup #ifdefs 2021-07-06 14:07:36 -04:00
handoff.h arm: Add arm handoff header file 2020-01-24 11:19:52 -05:00
hardware.h
io.h arm: Clean up asm/io.h 2022-03-02 13:59:29 -05:00
linkage.h arm: set alignment properly for asm funcs 2023-05-31 17:23:01 -04:00
mach-types.h ARM: at91: remove references to RM9200DK 2021-09-21 10:08:24 +03:00
macro.h armv8: Fix and simplify branch_if_master/branch_if_slave 2022-03-02 13:59:29 -05:00
memory.h
omap_common.h arm: omap2plus: Move CONFIG_SYS_PTV out of CONFIG namespace 2022-06-06 12:09:00 -04:00
omap_gpio.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
omap_i2c.h dm: i2c: use CONFIG_IS_ENABLED macro for DM_I2C/DM_I2C_GPIO 2021-02-21 06:08:00 +01:00
omap_mmc.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
omap_musb.h dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
omap_sec_common.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
opcodes-sec.h
opcodes-virt.h
opcodes.h
pl310.h arm: mvebu: Fix moving internal registers 2022-09-13 09:04:22 +02:00
posix_types.h
processor.h
psci.h arm: psci: Fix RESET2 hook 2023-01-31 15:46:39 +01:00
ptrace.h
sections.h
secure.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2021-05-24 14:21:30 -04:00
setjmp.h
setup.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2021-05-24 14:21:30 -04:00
spin_table.h
spl.h treewide: rework linker symbol declarations in sections header 2023-08-09 09:21:42 -04:00
string.h arm64: Kconfig: Enable usage of optimized memset/memcpy/memmove 2021-09-24 07:49:16 -04:00
system.h driver: rng: Add DM_RNG interface for ARMv8.5 RNDR registers 2023-10-11 13:22:32 -04:00
types.h
u-boot-arm.h arm64: Save esr in pt_regs 2022-04-01 16:56:53 -04:00
u-boot.h
unaligned.h arm: use asm-generic/unaligned.h 2023-05-31 14:05:34 -04:00
unified.h
utils.h
xen.h WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00