Hi Fabio, No. I think they actually use fip.bin but just not upstreamed yet. Please see the "Firmware version" in the list. For Compulab we are using mainline U-boot. But for imx8mm-evk it is NXP released firmware.
And yes we do use mainline ATF and mainline OPTEE. I'll explain how to build all of them. # OPTEE 1. export ARCH=arm 2. export CROSS_COMPILE=arm-linux-gnueabihf- 3. export CROSS_COMPILE64=aarch64-linux-gnu- 4. make PLATFORM=imx PLATFORM_FLAVOR=mx8mm_cl_iot_gate O=build.mx8mmevk \ CFG_TEE_CORE_LOG_LEVEL=2 \ CFG_TEE_TA_LOG_LEVEL=2 \ CFG_TEE_CORE_DEBUG=y \ CFG_EXTERNAL_DTB_OVERLAY=y \ CFG_DT=y \ CFG_DT_ADDR=0x52000000 \ CFG_DEBUG_INFO=y And we got tee-header_v2.bin tee-pager_v2.bin and tee-pageable_v2.bin. These files will be used in the TF-A stage. Then we start building U-boot (BL31). # U-boot (BL31) 1. export ARCH=arm64 2. export CROSS_COMPILE=aarch64-linux-gnu- 3. export ATF_LOAD_ADDR=0x920000 4. make O=/tmp/uboot-imx8 imx8mm-cl-iot-gate_defconfig 5. make O=/tmp/uboot-imx8 We got u-boot.bin at this stage. u-boot.bin is needed for the next stage. # TF-A make ARCH=aarch64 CROSS_COMPILE=aarch64-linux-gnu- PLAT=imx8mm \ SPD=opteed BL32_BASE=0x7e000000 IMX_BOOT_UART_BASE=0x30880000 \ NEED_BL32=yes NEED_BL33=yes NEED_BL2=yes \ LOG_LEVEL=50 \ USE_TBBR_DEFS=1 GENERATE_COT=1 TRUSTED_BOARD_BOOT=1 \ MBEDTLS_DIR=../mbedtls \ BL32=../optee_os/build.mx8mmevk/core/tee-header_v2.bin \ BL32_EXTRA1=../optee_os/build.mx8mmevk/core/tee-pager_v2.bin \ BL32_EXTRA2=../optee_os/build.mx8mmevk/core/tee-pageable_v2.bin \ BL33=/tmp/uboot-imx8/u-boot.bin BL2_CFLAGS=-DIMX8M_FIP_MMAP \ fip bl2 bl31 Now we have bl2.bin and fip.bin in build/imx8mm/release for the next stage. # U-boot (generate flash.bin and u-boot.itb) 1. export NXP_FIRMWARE=firmware-imx-8.8.bin 2. wget -c http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/${NXP_FIRMWARE} 3. bash -x ${NXP_FIRMWARE} --auto-accept 4. cp -v $(find firmware* | awk '/train|hdmi_imx8|dp_imx8/' ORS=" ") /tmp/uboot-imx8 5. cp -v ../trusted-firmware-a/build/imx8mm/release/bl2.bin /tmp/uboot-imx8/bl31.bin 6. cp -v ../trusted-firmware-a/build/imx8mm/release/fip.bin /tmp/uboox-imx8/fip.bin 7. export ARCH=arm64 8. export CROSS_COMPILE=aarch64-linux-gnu- 9. export ATF_LOAD_ADDR=0x920000 10. make O=/tmp/uboot-imx8 So now it shouldn't complain about missing images. Yours, Paul On Fri, 13 Aug 2021 at 20:15, Fabio Estevam <feste...@denx.de> wrote: > Hi Paul, > > On 13/08/2021 06:59, Paul Liu wrote: > > Hi Fabio, > > > > Can we think of a way to keep this fip.bin feature? This is part of > > the SystemReady IR certificate for this Compulab board. [1] > > > > [1] > > > https://developer.arm.com/architectures/system-architectures/arm-systemready/ir > > i.MX8MM EVK is also listed there and we don't use fip.bin on this > platform (and > not on any other i.MX8MM platform in mainline U-Boot). > > If you really want to use fip.bin, could you please let me know the > exact > build procedure for AT-F? Do you use mainline ATF? > > As a user of the IOT-GATE-iMX8, I would just like to be able to flash > mainline > U-Boot and move forward. Even better if I could use the same procedure > that has been used on other i.MX8MM boards. > > Regards, > > Fabio Estevam > -- > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-60 Fax: (+49)-8142-66989-80 Email: > feste...@denx.de >