arm-trusted-firmware/plat/imx
Igor Opaniuk 6d2c502afb feat(imx8m): obtain boot image set for imx8mn/mp
In i.MX8MM/MQ it is possible to have two copies of bootloader in
SD/eMMC and switch between them. The switch is triggered either
by the BootROM in case the bootloader image is faulty OR can be
enforced by the user, and there is API introduced in
9ce232fe ("feat(plat/imx8m): add SiP call for secondary boot"),
which leverages this SoC feature.

However neither i.MX8MP nor i.MX8MN have a dedicated bit
which indicates what boot image set is currently booted.
According to AN12853 [1] "i.MX ROMs Log Events", it is
possible to determine whether fallback event occurred
by parsing the BootROM event log. In case ROM event ID 0x51 is
present,fallback event did occur and secondary boot image was booted.

Knowing which boot image was booted might be useful for reliable
bootloader A/B updates, detecting fallback event might be used for
making decision if boot firmware rollback is required.

This patche introduces implementation, that replicates the same
imx_src_handler() behaviour as on i.MX8MM/MQ SoCs.

The code is based on original U-Boot implementation [2].

[1]: https://www.nxp.com/webapp/Download?colCode=AN12853
[2]: a5ee05cf71

Change-Id: I9a4c5229aa0e53fa23b5261459da99cb3ce6bdbe
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-01-26 08:51:27 +01:00
..
common feat(imx8m): obtain boot image set for imx8mn/mp 2024-01-26 08:51:27 +01:00
imx7 chore: remove MULTI_CONSOLE_API references 2023-09-12 15:28:36 +02:00
imx8m feat(imx8m): make bl33 start configurable via PRELOADED_BL33_BASE 2024-01-09 17:44:45 +01:00
imx8qm fix: remove old-style declarations 2022-12-01 16:17:34 +00:00
imx8qx feat(imx8): add support for debug uart on lpuart1 2023-04-17 14:43:27 +02:00
imx93 feat(imx93): add OPTEE support 2023-06-30 10:24:05 +08:00