Hello,

This series adds support for signing i.MX93 images by leveraging binman 
and CST, the NXP tool used for secure boot. This introduces a new binman 
entry type (etype) for this purpose.

As the implementation is largely similar to the existing i.MX8M support, 
this series also introduce a new common nxp_imxcst etype to share the 
common functionnalities.

This procedure has been tested on the imx93-evk board, using both ECDSA 
and RSA-PSS keys.

Patches 1-2: introduce the new common etype and convert the imx8cst one
Patch 3: introduces the new nxp_imx93cst etype
Patch 4: updates the imx93-u-boot.dtsi description to include the new 
signing nodes
Patches 5-6: documentation
Patches 7-9: add test coverage

Signed-off-by: Jérémie Dautheribes (Schneider Electric) 
<[email protected]>
---
Changes in v4:
- new patches: move the fake cst run_cmd() mock into a _MockCstRunCmd()
  helper and use it from the imx8m test
- binman: test: nxp_imx93cst coverage: check the CST configuration offsets
  generated in the missing-bintool case, reuse the new mock helper, and
  drop the unneeded force_missing_bintools='mkimage'
- doc: imx: ahab: fix the i.MX 9x diagram box characters, and reword the
  mx93 guide signing description (two signing nodes), key location and
  CST_DIR example
- Link to v3: 
https://patch.msgid.link/[email protected]

Changes in v3:
- doc: removed *.txt files wrongly introduced in the previous series
- doc: fixed some inconsistencies between what the doc states and CST 
  v4.0.1
- doc: fixed broken bootflow diagrams

- Link to v2: 
https://patch.msgid.link/[email protected]

Changes in v2:
- Following Simong Glass' feedback:
    - Created a new common class shared between the nxp_imx8mcst and the
    nxp_imx93cst etypes
    - rewrote the doc in reStructuredText and mention binman instead of 
    imx-mkimage
    - took into account the other minor suggestions
- Link to v1: 
https://patch.msgid.link/[email protected]

To: "NXP i.MX U-Boot Team" <[email protected]>
To: [email protected]
Cc: Miquèl Raynal <[email protected]>
Cc: Thomas Petazzoni <[email protected]>
Cc: Tom Rini <[email protected]>
Cc: Simon Glass <[email protected]>
Cc: Alper Nebi Yasak <[email protected]>
Cc: Stefano Babic <[email protected]>
Cc: Fabio Estevam <[email protected]>
Cc: "Jérémie Dautheribes (Schneider Electric)" <[email protected]>
Cc: Marek Vasut <[email protected]>
Cc: Denis Mukhin <[email protected]>
Cc: Rasmus Villemoes <[email protected]>
Cc: Ilias Apalodimas <[email protected]>
Cc: Krzysztof Drobiński <[email protected]>
Cc: Peng Fan <[email protected]>
Cc: Alice Guo <[email protected]>
Cc: Simona Toaca <[email protected]>
Cc: Ye Li <[email protected]>
Cc: Quentin Schulz <[email protected]>
Cc: Christophe Guerreiro <[email protected]>
Cc: Thomas Bonnefille <[email protected]>
Cc: Marek Vasut <[email protected]>
Cc: Mathieu Dubois-Briand <[email protected]>
Cc: Lei Xu <[email protected]>
Cc: Joseph Guo <[email protected]>
Cc: Vincent Jardin <[email protected]>

---
Jérémie Dautheribes (Schneider Electric) (9):
      binman: add nxp_imxcst base etype for i.MX CST signing
      binman: nxp_imx8mcst: use the nxp_imxcst base etype
      binman: add nxp_imx93cst etype for i.MX93 flash.bin signing
      imx93-u-boot: wrap SPL and U-Boot nodes in a CST node if AHAB_BOOT enabled
      doc: imx: ahab: add AHAB introduction
      doc: imx: ahab: add i.MX93 secure boot guide
      binman: test: add a helper to mock the cst bintool run_cmd()
      binman: test: use the cst mock helper in testNxpImx8mCSTSigned
      binman: test: add code coverage for nxp_imx93cst etype

 .gitignore                                         |   2 +
 arch/arm/dts/imx93-u-boot.dtsi                     |  54 ++-
 doc/board/nxp/index.rst                            |   1 +
 doc/imx/ahab/guides/mx93_secure_boot.rst           | 297 +++++++++++++
 doc/imx/ahab/introduction_ahab.rst                 | 460 +++++++++++++++++++++
 doc/imx/index.rst                                  |  14 +
 tools/binman/etype/nxp_imx8mcst.py                 |  60 +--
 tools/binman/etype/nxp_imx93cst.py                 | 112 +++++
 tools/binman/etype/nxp_imxcst.py                   | 120 ++++++
 tools/binman/ftest.py                              | 106 ++++-
 tools/binman/test/vendor/nxp_imx93_csf.dts         |  18 +
 .../binman/test/vendor/nxp_imx93_csf_imagename.dts |  24 ++
 12 files changed, 1188 insertions(+), 80 deletions(-)
---
base-commit: 2b8902913c19eb581fb0d567201c09b8fa46ac74
change-id: 20260814-imx93-secureboot-b914e7b6cbbf

Best regards,
--  
Jérémie Dautheribes (Schneider Electric) <[email protected]>

Reply via email to