imx95_evk
U-Boot for the NXP i.MX95 19x19 EVK board
Quick Start
Get ahab-container.img
Get DDR PHY Firmware Images
Get and Build OEI Images
Get and Build System Manager Image
Get and Build the ARM Trusted Firmware
Build the Bootloader Image
Boot
Get ahab-container.img
Note: srctree is U-Boot source directory
$wgethttps://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-2.0.2-89161a8.bin $shfirmware-ele-imx-2.0.2-89161a8.bin--auto-accept
i.MX95 A0 silicon version
$cpfirmware-ele-imx-2.0.2-89161a8/mx95a0-ahab-container.img$(srctree)
i.MX95 B0 silicon version
$cpfirmware-ele-imx-2.0.2-89161a8/mx95b0-ahab-container.img$(srctree)
Get DDR PHY Firmware Images
Note: srctree is U-Boot source directory
$wgethttps://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.28-994fa14.bin $shfirmware-imx-8.28-994fa14.bin--auto-accept $cpfirmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr5*v202409.bin$(srctree) $cpfirmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr4x*v202409.bin$(srctree)
Get and Build OEI Images
Note: srctree is U-Boot source directory Get OEI from: https://github.com/nxp-imx/imx-oei branch: master
$sudoapt-yinstallmakegccg++-multilibsrecord $wgethttps://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz $tarxvfarm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz $exportTOOLS=$PWD $gitclone-bmasterhttps://github.com/nxp-imx/imx-oei.git $cdimx-oei
i.MX95 A0 silicon version on 19x19 LPDDR5 EVK
$makeboard=mx95lp5oei=ddrDEBUG=1r=A0DDR_CONFIG=XIMX95LPD5EVK19_6400mbps_train_timing_a1all $cpbuild/mx95lp5/ddr/oei-m33-ddr.bin$(srctree) $makeboard=mx95lp5oei=tcmDEBUG=1r=A0all $cpbuild/mx95lp5/tcm/oei-m33-tcm.bin$(srctree)
i.MX95 B0 silicon version on 19x19 LPDDR5 EVK
$makeboard=mx95lp5oei=ddrDEBUG=1r=B0all $cpbuild/mx95lp5/ddr/oei-m33-ddr.bin$(srctree)
i.MX95 B0 silicon version on 15x15 LPDDR4X EVK
$makeboard=mx95lp4x-15oei=ddrDEBUG=1r=B0all $cpbuild/mx95lp4x-15/ddr/oei-m33-ddr.bin$(srctree)
Get and Build System Manager Image
Note: srctree is U-Boot source directory Get System Manager from: https://github.com/nxp-imx/imx-sm branch: master
$sudoapt-yinstallmakegccg++-multilibsrecord $wgethttps://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz $tarxvfarm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz $exportTOOLS=$PWD $gitclone-bmasterhttps://github.com/nxp-imx/imx-sm.git $cdimx-sm $makeconfig=mx95evkall $cpbuild/mx95evk/m33_image.bin$(srctree)
Get and Build the ARM Trusted Firmware
Note: srctree is U-Boot source directory Get ATF from: https://github.com/nxp-imx/imx-atf/ branch: lf_v2.12
$exportCROSS_COMPILE=aarch64-poky-linux- $unsetLDFLAGS $unsetAS $gitclone-blf_v2.12https://github.com/nxp-imx/imx-atf.git $cdimx-atf $makePLAT=imx95bl31 $cpbuild/imx95/release/bl31.bin$(srctree)
Build the Bootloader Image
i.MX95 A0 silicon version on 19x19 LPDDR5 EVK
$exportCROSS_COMPILE=aarch64-poky-linux- $makeimx95_a0_19x19_evk_defconfig $make
i.MX95 B0 silicon version on 19x19 LPDDR5 EVK
$exportCROSS_COMPILE=aarch64-poky-linux- $makeimx95_19x19_evk_defconfig $make
i.MX95 B0 silicon version on 15x15 LPDDR4X EVK
$exportCROSS_COMPILE=aarch64-poky-linux- $makeimx95_15x15_evk_defconfig $make
Copy imx-boot-imx95.bin to the MicroSD card:
$sudoddif=flash.binof=/dev/sd[x]bs=1kseek=32conv=fsync
Boot
Set i.MX95 boot device to MicroSD card