u-boot-brain/arch/arm
Ye Li e246bfcfe2 SPL: Add HAB image authentication to FIT
Introduce two board level callback functions to FIT image loading process, and
a SPL_FIT_FOUND flag to differentiate FIT image or RAW image.

Implement functions in imx common SPL codes to call HAB funtion
to authenticate the FIT image. Generally, we have to sign multiple regions
in FIT image:
1. Sign FIT FDT data (configuration)
2. Sign FIT external data (Sub-images)

Because the CSF supports to sign multiple memory blocks, so that we can use one
signature to cover all regions in FIT image and only authenticate once.
The authentication should be done after the entire FIT image is loaded into
memory including all sub-images.
We use "-p" option to generate FIT image to reserve a space for FIT IVT
and FIT CSF, also this help to fix the offset of the external data (u-boot-nodtb.bin,
ATF, u-boot DTB).

The signed FIT image layout is as below:
--------------------------------------------------
|     |     |     |   |           |     |        |
| FIT | FIT | FIT |   | U-BOOT    | ATF | U-BOOT |
| FDT | IVT | CSF |   | nodtb.bin |     |   DTB  |
|     |     |     |   |           |     |        |
--------------------------------------------------

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-01 14:12:18 +01:00
..
cpu watchdog: imx: add config to disable wdog reset 2019-01-01 14:12:18 +01:00
dts Add TFA boot flow for some Layerscape platforms 2018-12-10 17:19:59 -05:00
include Add TFA boot flow for some Layerscape platforms 2018-12-10 17:19:59 -05:00
lib arm: efi: Generate Microsoft PE format compliant images 2018-12-02 21:59:36 +01:00
mach-aspeed regmap: change regmap_init_mem() to take ofnode instead udevice 2018-05-07 15:49:51 -04:00
mach-at91 ARM: at91: lds: add test for SPL binary size and bss size 2018-12-07 08:13:44 -05:00
mach-bcm283x efi_loader: Convert runtime reset from switch to if statements 2018-06-14 10:52:14 +02:00
mach-bcmstb board: arm: Add support for Broadcom BCM7260 2018-09-10 21:19:31 -04:00
mach-davinci driver: net: consolidate ti's code in separate folder 2018-11-05 10:41:59 -06:00
mach-exynos Kconfig: Sort bool, default, select and imply options 2018-07-30 07:18:48 -04:00
mach-highbank SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-imx SPL: Add HAB image authentication to FIT 2019-01-01 14:12:18 +01:00
mach-integrator
mach-k3 armv7r: K3: Allow SPL to run only on core 0 2018-11-26 22:52:11 -05:00
mach-keystone ti: remove usage of DM_I2C_COMPAT and don't disable DM_I2C in SPL 2018-12-10 07:15:21 +01:00
mach-kirkwood Convert CONFIG_MII et al to Kconfig 2018-08-17 13:03:54 -04:00
mach-mediatek arm: MediaTek: add basic support for MT7623 boards 2018-11-28 23:04:50 -05:00
mach-meson ARM: meson: Add boot device discovery 2018-11-26 14:40:52 +01:00
mach-mvebu ARM: mvebu: add revision id for Armada-385 B0 2018-11-30 10:58:10 +01:00
mach-omap2 arm: am335x-pdu001: Move from embedded to separate DTB 2018-12-12 12:14:23 -05:00
mach-orion5x arm: remove prototype for get_timer_masked 2018-10-10 13:35:09 -04:00
mach-owl board: Add uCRobotics Bubblegum-96 board support 2018-07-09 15:25:23 -04:00
mach-qemu Kconfig: Sort bool, default, select and imply options 2018-07-30 07:18:48 -04:00
mach-rmobile ARM: rmobile: Fix to enable icache early in Gen3 2018-12-07 16:31:15 +01:00
mach-rockchip rockchip: rk3399: Add common Rock960 family from Vamrs 2018-12-06 16:04:49 +01:00
mach-s5pc1xx SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-snapdragon db410c: serial# env using msm board serial 2018-09-30 13:00:35 -04:00
mach-socfpga arm: socfpga: fix SPL booting from fpga OnChip RAM 2018-11-29 12:45:15 +01:00
mach-sti
mach-stm32 mach-stm32: Set MPU SDRAM size to 512MB for STM32F7/H7 2018-10-06 14:09:41 -04:00
mach-stm32mp gpio: stm32f7: Move STM32_GPIOS_PER_BANK into gpio.h 2018-12-07 08:13:47 -05:00
mach-sunxi sunxi: pmic_bus: Decrease boot time by not writing duplicate data 2018-12-07 22:24:33 +05:30
mach-tegra linux/sizes.h: sync from kernel 2018-11-20 13:08:15 +01:00
mach-uniphier mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
mach-versal arm64: versal: Add Xilinx Versal Virtual QEMU board 2018-10-16 16:53:24 +02:00
mach-versatile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-zynq Kconfig: Move config SYS_MALLOC_LEN to Kconfig for zynq 2018-08-06 08:44:35 +02:00
mach-zynqmp-r5 arm: zynqmp: Add ZynqMP minimal R5 support 2018-05-11 09:38:23 +02:00
thumb1/include/asm/proc-armv SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
config.mk efi_loader: Rename sections to allow for implicit data 2018-07-25 14:57:44 +02:00
Kconfig Merge branch 'master' of git://git.denx.de/u-boot-socfpga 2018-12-10 07:15:41 -05:00
Kconfig.debug
Makefile arm: MediaTek: add basic support for MT7629 boards 2018-11-28 23:04:50 -05:00