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


Reply via email to