NVIDIA OpenSMA Firmware Guide

A chapter-by-chapter, source-traced guide to github.com/NVIDIA/OpenSMA — NVIDIA’s open-source SMA (System Management Agent) firmware for the NXP MCXN556S microcontroller. The guide walks from a clean checkout through the build system to each firmware subsystem, and every substantive claim carries a file:line citation back into the OpenSMA tree.

Trace baseline. Every citation in this guide is authored against 9b183d3 (upstream version 02.0020.0000, 2026-07-07) on main. See the Source map for the per-section source mapping and the Trace methodology appendix for the citation convention and how to re-verify any file:line.

What OpenSMA is

OpenSMA is the firmware that runs on an SMA management microcontroller. Its build target in this baseline is the NXP MCXN556S dual-core Cortex-M33 SoC, built via the mcxn547helloworld reference project on the mcxn556-both platform (both cores). The firmware speaks the platform-management stack a host BMC expects — MCTP transport, PLDM and SPDM over it, plus SMBus/SSIF, USB, I2C/I3C — and owns power, thermal, and telemetry control on the board.

  • Target MCU: NXP MCXN556S (dual core: core0 / core1)
  • Reference project / board: mcxn547helloworld
  • Platform: mcxn556-both (see Build System)
  • Languages: C, C++ (majority), Ada (GNAT), plus CMake/Make build glue

How to read this guide

Section What it covers
Setup Reproduce a build from a clean checkout — packages, toolchains, SDK, patches
Architecture How an image composes: source layout, BSP layers, core0/core1, toolchain
Build System mcu_build.sh, corepdk/ubs + make, Docker, signing/keysets, MODE/board/platform
Transports & Buses MCTP, IPC/mailbox, and the I2C/I3C/SPI/UART/USB/SSIF drivers
Management Protocols PLDM and SPDM stacks, plus NHP/LSTP messaging
Security & Root-of-Trust vRoT, secure boot, crypto, debug tokens, FW parsing
Platform Control & Telemetry Fan/power control, voltage/perf monitoring, telemetry, FRU
Platform / BSP & Projects src/sys SoC BSPs, boards, and build projects
Reference Tooling (clang-tidy/format, doxygen), directory reference, CI
Appendices Glossary, Symbol index, Trace methodology

Source & scope

This guide traces OpenSMA; it does not fork, vendor, or modify the firmware. Citations resolve on GitHub at the pinned baseline:

https://github.com/NVIDIA/OpenSMA/blob/9b183d3eeff57babf5c87cd84d9e3e78340bde0f/<path>#L<line>

Implementation-rich subsystems get deep-dive chapters; the remaining src/nv/* modules are catalogued in their section pages and the Source map.


Built with Just the Docs. Source-traced against NVIDIA/OpenSMA at 9b183d3 (v02.0020.0000). Methodology under appendices/trace-methodology.

This site uses Just the Docs, a documentation theme for Jekyll.