[PATCH 00/26] i.MX8M HAB Fixes

Marco Felsch m.felsch at pengutronix.de
Tue Oct 10 07:32:48 PDT 2023

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.

Cleanup the hab command code and image artifacts and enable it support
for all i.MX8M devices.

Add the signing support to the Makefile.imx and convert the i.MX8M rules
to use the new macro to cleanup the code.

Prepare i.MX8M*-EVKs to be able to build signed images.

Add support for multiple CSF slots.

Fix the HAB support for MMC/SD card first and add/fix the HAB support
for FlexSPI images.

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'.

Documentation patches to become an overview of the FlexSPI HAB single
image implementation.

Testers are very welcome :)


Marco Felsch (17):
  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: 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
  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                  |  83 ++++++++++++-
 .../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                     |   4 +-
 drivers/hab/hab.c                             |  49 +++++---
 drivers/hab/habv4.c                           |  40 +++++--
 images/Makefile                               |   3 +-
 images/Makefile.imx                           | 110 +++++++-----------
 include/mach/imx/flexspi-imx8mm-cfg.h         |  10 ++
 include/mach/imx/flexspi-imx8mp-cfg.h         |  10 ++
 include/mach/imx/imx-header.h                 |   2 +
 include/mach/imx/ocotp-fusemap.h              |   3 +
 scripts/imx/imx-image.c                       |  65 ++++++-----
 scripts/imx/imx.c                             |  90 ++++++++++++--
 scripts/imx/imx.h                             |  13 +++
 17 files changed, 355 insertions(+), 147 deletions(-)
 create mode 100644 include/mach/imx/flexspi-imx8mm-cfg.h
 create mode 100644 include/mach/imx/flexspi-imx8mp-cfg.h


More information about the barebox mailing list