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