MLK-16758-4 SPL: Add HAB image authentication to FIT
authorYe Li <ye.li@nxp.com>
Thu, 9 Nov 2017 05:23:04 +0000 (23:23 -0600)
committerYe Li <ye.li@nxp.com>
Mon, 13 Nov 2017 07:11:05 +0000 (01:11 -0600)
commit078dd4eed6a04c3db7ec49a1bd1fbc63ebb82e1b
tree80463e9f01d32a36062579108fb815101221a826
parentf1baf7a661e7c7969f1929871d5e1d1b5268ba04
MLK-16758-4 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>
arch/arm/imx-common/spl.c
common/spl/spl_fit.c
include/spl.h