summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2018-11-17 09:10:25 +0000
committerStefano Babic <sbabic@denx.de>2019-01-01 14:12:18 +0100
commite246bfcfe250fda67fdf0d64f09a426e486a3acf (patch)
treebd4e9e0886818f918b6e968577c6306fae3545ff /include
parent68e7410fa22eabaa98efc03f7745b1adf86e7b28 (diff)
downloadu-boot-e246bfcfe250fda67fdf0d64f09a426e486a3acf.tar.gz
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>
Diffstat (limited to 'include')
-rw-r--r--include/spl.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/spl.h b/include/spl.h
index ff4e6277d3..3f4b92ce86 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -118,6 +118,7 @@ int spl_load_simple_fit(struct spl_image_info *spl_image,
struct spl_load_info *info, ulong sector, void *fdt);
#define SPL_COPY_PAYLOAD_ONLY 1
+#define SPL_FIT_FOUND 2
/* SPL common functions */
void preloader_console_init(void);