[PATCH v2 00/29] i.MX8M HAB Fixes

Marco Felsch m.felsch at pengutronix.de
Tue Oct 17 07:51:02 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.

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




More information about the barebox mailing list