imx: spl: fix imx8m secure boot

cherry-picked from NXP code:
719d665a87c6: ("MLK-20467 imx8m: Fix issue for booting signed image through uuu")

which fixes secure boot on imx8m based boards. Problem was
that FIT header and so IVT header too, was loaded to
memallocated address. So the ivt header address coded
in IVT itself does not fit with the real position.

Signed-off-by: Heiko Schocher <hs@denx.de>
Tested-by: Tim Harvey <tharvey@gateworks.com>
This commit is contained in:
Heiko Schocher
2021-08-17 08:17:18 +02:00
committed by Stefano Babic
parent 9de3544858
commit deb80ec023
2 changed files with 20 additions and 1 deletions

View File

@@ -334,6 +334,20 @@ void board_spl_fit_post_load(const void *fit)
}
#endif
void *board_spl_fit_buffer_addr(ulong fit_size, int sectors, int bl_len)
{
int align_len = ARCH_DMA_MINALIGN - 1;
/* Some devices like SDP, NOR, NAND, SPI are using bl_len =1, so their fit address
* is different with SD/MMC, this cause mismatch with signed address. Thus, adjust
* the bl_len to align with SD/MMC.
*/
if (bl_len < 512)
bl_len = 512;
return (void *)((CONFIG_SYS_TEXT_BASE - fit_size - bl_len -
align_len) & ~align_len);
}
#endif
#if defined(CONFIG_MX6) && defined(CONFIG_SPL_OS_BOOT)