This is the NXP i.MX9x Board Support Package (BSP) Yocto layer for enabling OpenBMC on NXP i.MX 9X series SoCs, including i.MX91, i.MX93, i.MX943 & i.MX95. These SoCs are ARM-based platforms with external DDR and support a large set of peripherals of NXP.
More information about the NXP IMX 9 Application Processors can be found at: here.
This layer is applicable for OpenBMC github project:
https://github.com/openbmc/openbmc
This layer depends on the following OpenBMC/Yocto layers:
metameta-phosphormeta-openembedded(meta-oe, meta-networking, meta-python)meta-security
This repository also includes NXP-specific sublayers:
meta-common(shared BSP content such as meta-imx-bsp)meta-imx91meta-imx93meta-imx943meta-imx95
The BSP integrates the NXP Linux kernel:
- NXP Kernel Tree :
URI: https://github.com/nxp-imx/linux-imx
branch: lf-6.12.y
tag: lf-6.12.49-2.2.0
Additional dependent components included:
- NXP U-Boot:
URI: https://github.com/nxp-imx/uboot-imx
branch: lf_v2025.04
tag: lf-6.12.49-2.2.0
- NXP ARM Trusted Firmware / ATF:
URI: https://github.com/nxp-imx/uboot-imx
branch: lf_v2.12
tag: lf-6.12.49-2.2.0
- NXP System Manager / SM:
URI: https://github.com/nxp-imx/imx-sm
branch: master
tag: lf-6.12.49-2.2.0
- NXP OEI:
URI: https://github.com/nxp-imx/imx-oei
branch: master
tag: lf-6.12.49-2.2.0
- NXP mkimage:
URI: https://github.com/nxp-imx/imx-mkimage
branch: lf-6.12.49-2.2.0
tag: lf-6.12.49-2.2.0
- Optional secure boot and platform-specific firmware overlays
This layer also depends on:
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: master
revision: HEAD
URI: https://github.com/openbmc/meta-phosphor
branch: master
revision: HEAD
This layer currently supports:
evb-imx91evb-imx93evb-imx943evb-imx95
Each SoC family has its own sublayer with machine definition under:
meta-nxp/meta-imx91/conf/machine
meta-nxp/meta-imx93/conf/machine
meta-nxp/meta-imx943/conf/machine
meta-nxp/meta-imx95/conf/machine
Get the Yocto Source Code:
git clone https://github.com/openbmc/openbmc.git
cd openbmc
git checkout -b walnascar origin/walnascar
git clone https://github.com/nxp-imx-support/meta-nxp-openbmc.git meta-nxp
Set-up build environment for selected machine:
. setup evb-imx93
# or evb-imx91 / evb-imx943 / evb-imx95Build the image:
bitbake obmc-phosphor-imageIf any package fails, you can build that package separately by using below command:
bitbake -c clean <Package_NAME>; bitbake <Package_NAME>Note: "wic" image will be available at "tmp/deploy/images/<board_name>" path.
meta-common Shared BSP code (kernel notes, meta-imx-bsp, licenses)
meta-imx91 SoC-specific machine + recipes
meta-imx93 SoC-specific machine + recipes
meta-imx943 SoC-specific machine + recipes
meta-imx95 SoC-specific machine + recipes
recipes-bsp Bootloader, ATF, skiboot, low-level BSP
recipes-core Core OS modifications (udev, etc.)
recipes-example Example recipes
recipes-kernel Kernel recipes and config
recipes-phosphor Platform-level phosphor services (gpio, host, images, etc.)
recipes-support Misc supporting libraries
scripts Helper scripts (console, state, service control)
wic WIC image layout per SoC
For detailed per-directory modifications, see recipes.txt.