
Hi Andrey,
On 2021-02-12 09:22, ZHIZHIKIN Andrey wrote:
Hello Peter, In the latest ATF, the LOAD_ADDR has been changed from 0x960000 to 0x970000. This was done by commit 48733cb4e ("MLK-24913: plat: imx8mp: change the bl31 physical load address").
Thanks for the notice! I hadn't seen that. Unfortunately it didn't solve it by itself.
$ make imx8mp_evk_defconfig $ make flash.bin $ sudo dd if=flash.bin of=/dev/mmcblk0 bs=1024 seek=32
I have the following build script file, which works for me:
#!/usr/bin/env bash
set -o xtrace # print commands and their arguments as they are executed set -o errexit # exit immediately if a command exits with a non-zero status
build_dir="/development/imx-boot/build/nxp/imx8mpevk"
rm -rf $build_dir make O=$build_dir imx8mp_evk_defconfig
# Copy auxilary needed files cp ../imx-atf/build/imx8mp/release/bl31.bin "$build_dir/" cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_1d_dmem_201904.bin "$build_dir/lpddr4_pmu_train_1d_dmem.bin" cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_1d_imem_201904.bin "$build_dir/lpddr4_pmu_train_1d_imem.bin" cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_2d_dmem_201904.bin "$build_dir/lpddr4_pmu_train_2d_dmem.bin" cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_2d_imem_201904.bin "$build_dir/lpddr4_pmu_train_2d_imem.bin"
make O=$build_dir flash.bin ATF_LOAD_ADDR=0x970000 -j 16 dd if=$build_dir/flash.bin of=$build_dir/sdcard.img bs=1024 seek=32 conv=notrunc ===============i
Looking in to and using your script solved my problem. I'm really unsure why. It came down to the conclusion that building inside u-boot source base dir gives me the error but when I build outside with -O to make the target boots fine. I have not found a good explanation to that.
$ cd u-boot $ <copy binaries> $ make imx8mp_evk_defconfig $ make flash.bin ATF_LOAD_ADDR=0x970000
This flash.bin programmed to a SD card ends up in "Can't support legacy image".
$ make distclean $ mkdir build $ <copy binaries to build> $ make O=build imx8mp_evk_defconfig $ make O=build flash.bin ATF_LOAD_ADDR=0x970000
This build/flash.bin programmed to SD card boot normally to u-boot console.
I will not spent time on searching for this now as I have a way forward.
I guess you're using NXP fork of the U-Boot, and not the mainline one. Commit 633977d904 Is not present in the mainline tree, and additional DDR output gives a hint that you're trying to build NXP fork of U-Boot.
I tested both vanilla and imx-fork but cut'n'pasted the console from when I booted nxp. Now I have only worked on vanilla master and I think I'll stay there.
Andrey, thanks for sharing your script and workflow. Now I'm on track again.
Best regards, /Peter