.. SPDX-License-Identifier: GPL-2.0+ 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 .. code-block:: bash $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-1.3.0-17945fc.bin $ sh firmware-ele-imx-1.3.0-17945fc.bin --auto-accept $ cp firmware-ele-imx-1.3.0-17945fc/mx95a0-ahab-container.img $(srctree) Get DDR PHY Firmware Images -------------------------------------- Note: srctree is U-Boot source directory .. code-block:: bash $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.26-d4c33ab.bin $ sh firmware-imx-8.26-d4c33ab.bin --auto-accept $ cp firmware-imx-8.26-d4c33ab/firmware/ddr/synopsys/lpddr5*v202311.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 .. code-block:: bash $ sudo apt -y install make gcc g++-multilib srecord $ wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz $ tar xvf arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz $ export TOOLS=$PWD $ git clone -b master https://github.com/nxp-imx/imx-oei.git $ cd imx-oei $ make board=mx95lp5 oei=ddr DEBUG=1 $ cp build/mx95lp5/ddr/oei-m33-ddr.bin $(srctree) $ make board=mx95lp5 oei=tcm DEBUG=1 $ cp build/mx95lp5/tcm/oei-m33-tcm.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 .. code-block:: bash $ sudo apt -y install make gcc g++-multilib srecord $ wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz $ tar xvf arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz $ export TOOLS=$PWD $ git clone -b master https://github.com/nxp-imx/imx-sm.git $ cd imx-sm $ make config=mx95evk all $ cp build/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.10 .. code-block:: bash $ export CROSS_COMPILE=aarch64-poky-linux- $ unset LDFLAGS $ git clone -b lf_v2.10 https://github.com/nxp-imx/imx-atf.git $ cd imx-atf $ make PLAT=imx95 bl31 $ cp build/imx95/release/bl31.bin $(srctree) Build the Bootloader Image -------------------------- .. code-block:: bash $ export CROSS_COMPILE=aarch64-poky-linux- $ make imx95_19x19_evk_defconfig $ make Copy imx-boot-imx95.bin to the MicroSD card: .. code-block:: bash $ sudo dd if=flash.bin of=/dev/sd[x] bs=1k seek=32 conv=fsync Boot ---- Set i.MX95 boot device to MicroSD card