Hi all, unfortunately with the addition of the FlexSPI image support I broke the HAB support for i.MX8M devices because I didn't honored the new CSF location. This PR will fix this for the MMC/SD/USB boot case. Additional the PR adds the support to HAB boot the system from a QSPI NOR as well. For the FlexSPI HAB boot a 2nd CSF slot/area is added to keep the very user-friendly single-image approach. Before reviewing Patch13 and onwards I do recommend to look at Patch26 first to get an overview of the final result. Patch1-7: Cleanup the hab command code and image artifacts and enable it support for all i.MX8M devices. Patch8-9: Add the signing support to the Makefile.imx and convert the i.MX8M rules to use the new macro to cleanup the code. Patch10-12: Prepare i.MX8M*-EVKs to be able to build signed images. Patch13-14: Add support for multiple CSF slots. Patch15-23: Fix the HAB support for MMC/SD card first and add/fix the HAB support for FlexSPI images. Patch24: Make it possible to pass CST command line paramters via environment. This is very useful for new CST versions which do support PKCS11 out-of-the box if the user specify the backend via '-b pkcs11'. Patch25-26: Documentation patches to become an overview of the FlexSPI HAB single image implementation. Testers are very welcome :) Marco Felsch (20): i.MX: HAB: remove unused init() hook ARM: i.MX8M: add flexspi-imx8m{m,p}-cfg.h header ARM: boards: i.MX8M: make use of new flexspi-imx8m{m,p}-cfg.h header ARM: lds: introduce HAB_CSF_LEN define for the hab_csf section ARM: lds: add support for a 2nd CSF area scripts: imx: force flexspi and hab option order scripts: imx: move flexspi_image() into header scripts: imx: fix i.MX8M CSF header placement scripts: imx: add imx8m_get_offset_size helper scripts: imx-image: header_v2: add CSF slots scripts: imx-image: hab_sign: refactor function scripts: imx: replace static string allocation scripts: imx: add hab_qspi support scripts: imx: add helper to write CSF Blocks command scripts: imx: fix HAB for FlexSPI boot scripts: imx-image: add missing close() scripts: imx-image: add support for CST_EXTRA_CMDLINE_OPTIONS ARM: i.MX: add hab qspi support if enabled Documentation: boards: imx: replace i.MX8MQ with i.MX8M Documentation: boards: imx: add FlexSPI sub-section Rouven Czerwinski (9): kbuild: clean start*_*.{p,ps}imximg files i.MX: HABv4: fix event status comparison i.MX: HABv4: fix i.MX8MQ device lockdown i.MX: HABv4: extend support to i.MX8M SoCs i.MX: HABv4: retrieve HAB ROM version for i.MX8M ARM: i.MX: allow HAB for i.MX8M family ARM: i.MX: introduce build_imx8m_habv4img ARM: i.MX: convert i.MX8M to helper ARM: boards: i.MX8M: add HAB image support Documentation/boards/imx.rst | 86 ++++++++++- .../flash-header-imx8mm-evk.imxcfg | 4 +- .../flash-header-imx8mn-evk.imxcfg | 4 +- .../flash-header-imx8mp-evk.imxcfg | 4 +- arch/arm/lib/pbl.lds.S | 8 +- arch/arm/mach-imx/Kconfig | 10 +- drivers/hab/hab.c | 65 ++++++--- drivers/hab/habv4.c | 40 +++-- images/Makefile | 3 +- images/Makefile.imx | 110 +++++--------- include/mach/imx/flexspi-imx8mm-cfg.h | 8 + include/mach/imx/flexspi-imx8mp-cfg.h | 8 + include/mach/imx/habv4-imx8-gencsf.h | 3 + include/mach/imx/imx-header.h | 4 +- include/mach/imx/ocotp-fusemap.h | 3 + scripts/imx/imx-image.c | 65 +++++---- scripts/imx/imx.c | 137 +++++++++++++++--- scripts/imx/imx.h | 13 ++ 18 files changed, 413 insertions(+), 162 deletions(-) create mode 100644 include/mach/imx/flexspi-imx8mm-cfg.h create mode 100644 include/mach/imx/flexspi-imx8mp-cfg.h -- 2.39.2