U-Boot for the NXP i.MX8MP EVK board

Quick Start

  • Build the ARM Trusted firmware binary

  • Get the firmware-imx package

  • Build U-Boot

  • Boot

Get and Build the ARM Trusted firmware

Get ATF from: branch: imx_5.4.70_2.3.0

$ make PLAT=imx8mp bl31

Get the ddr firmware

$ wget
$ chmod +x firmware-imx-8.10.bin
$ ./firmware-imx-8.10.bin

Build U-Boot

$ export CROSS_COMPILE=aarch64-poky-linux-
$ make O=build imx8mp_evk_defconfig
$ cp ../imx-atf/build/imx8mp/release/bl31.bin ./build/bl31.bin
$ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_1d_dmem_202006.bin ./build/
$ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_1d_imem_202006.bin ./build/
$ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_2d_dmem_202006.bin ./build/
$ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_2d_imem_202006.bin ./build/
$ export ATF_LOAD_ADDR=0x970000
$ make O=build

Burn the flash.bin to the MicroSD card at offset 32KB:

$sudo dd if=build/flash.bin of=/dev/sd[x] bs=1K seek=32 conv=notrunc; sync


Set Boot switch to SD boot Use /dev/ttyUSB2 for U-Boot console