1*dfad527bSSumit GargDragonwing IQ-9075 development platform 2*dfad527bSSumit Garg========================================= 3*dfad527bSSumit Garg 4*dfad527bSSumit GargTrusted Firmware-A (TF-A) platform port for Lemans SoC based EVK platform also 5*dfad527bSSumit Gargknown as IQ-9075 as the marketing name. For details about IQ-9075 platform, 6*dfad527bSSumit Gargrefer to this 7*dfad527bSSumit Garg`link <https://www.qualcomm.com/internet-of-things/products/iq9-series/iq-9075>`__ 8*dfad527bSSumit Garg 9*dfad527bSSumit GargBoot flow 10*dfad527bSSumit Garg------------- 11*dfad527bSSumit Garg 12*dfad527bSSumit GargSimilar to :ref:`Dragonwing RB3 Gen 2 development platform`. 13*dfad527bSSumit Garg 14*dfad527bSSumit GargHow to build 15*dfad527bSSumit Garg------------ 16*dfad527bSSumit Garg 17*dfad527bSSumit GargSteps to build TF-A BL2 and FIP payload:: 18*dfad527bSSumit Garg 19*dfad527bSSumit Garg $ make CROSS_COMPILE=aarch64-none-elf- PLAT=lemans_evk SPD=opteed \ 20*dfad527bSSumit Garg QTISECLIB_PATH=<qtiseclib-path> BL32=<path-to-optee-bin> \ 21*dfad527bSSumit Garg BL33=<path-to-os-bootloader-bin> fip all 22*dfad527bSSumit Garg 23*dfad527bSSumit Garg $ ./tools/qti/generate_fip_elf.sh build/lemans_evk/release/fip.bin \ 24*dfad527bSSumit Garg 0xaf000000 25*dfad527bSSumit Garg 26*dfad527bSSumit GargQTISECLIB for lemans is still work under progress, the current port allows to 27*dfad527bSSumit Gargboot OP-TEE OS. 28*dfad527bSSumit Garg 29*dfad527bSSumit GargNote that the bl2.elf generated here is required to be signed as TZ image with 30*dfad527bSSumit GargQTI signing involved. Also, the fip.elf generated above is signed using 31*dfad527bSSumit Garg`qtestsign <https://github.com/msm8916-mainline/qtestsign>`__ which just puts 32*dfad527bSSumit Gargthe OEM test signature to allow it to work on devices in non-secure mode. In 33*dfad527bSSumit Gargsecure mode, it is required to be signed using 34*dfad527bSSumit Garg`sectools v2 <https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-11/tools.html>`__ 35*dfad527bSSumit Garg 36*dfad527bSSumit GargHow to flash 37*dfad527bSSumit Garg------------ 38*dfad527bSSumit Garg 39*dfad527bSSumit GargGenerate a Yocto BSP image for iq-9075-evk following instructions from meta-qcom 40*dfad527bSSumit Garg`here <https://github.com/qualcomm-linux/meta-qcom?tab=readme-ov-file#quick-build>`__ 41*dfad527bSSumit Garg 42*dfad527bSSumit GargIt will generate a tar ball in the build folder for iq-9075-evk something like: 43*dfad527bSSumit Garg`qcom-multimedia-image-iq-9075-evk.rootfs.qcomflash.tar.gz`. Untar it and replace 44*dfad527bSSumit Garg`tz.mbn` with `bl2.mbn` and `uefi.elf` with `fip.elf` that you have generated by 45*dfad527bSSumit Gargyourself. 46*dfad527bSSumit Garg 47*dfad527bSSumit GargThen flash the board following the meta-qcom instructions 48*dfad527bSSumit Garg`here <https://github.com/qualcomm-linux/meta-qcom?tab=readme-ov-file#flash-images>`__ 49*dfad527bSSumit Garg 50*dfad527bSSumit GargBoot Trace 51*dfad527bSSumit Garg------------- 52*dfad527bSSumit Garg 53*dfad527bSSumit GargBoot logs on lemans_evk:: 54*dfad527bSSumit Garg 55*dfad527bSSumit Garg Format: Log Type - Time(microsec) - Message - Optional Info 56*dfad527bSSumit Garg Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic 57*dfad527bSSumit Garg S - QC_IMAGE_VERSION_STRING=BOOT.MXF.1.0.c1-00430-KODIAKLA-1 58*dfad527bSSumit Garg S - IMAGE_VARIANT_STRING=SocLeMansLAA 59*dfad527bSSumit Garg S - OEM_IMAGE_VERSION_STRING=258af405f4c7 60*dfad527bSSumit Garg <snip-XBL-logs> 61*dfad527bSSumit Garg NOTICE: BL2: v2.14.0(release):v2.13.0-1873-g0c07fd50a 62*dfad527bSSumit Garg NOTICE: BL2: Built : 17:52:29, Feb 17 2026 63*dfad527bSSumit Garg NOTICE: BL2: Booting BL31 64*dfad527bSSumit Garg NOTICE: BL31: v2.14.0(release):v2.13.0-1873-g0c07fd50a 65*dfad527bSSumit Garg NOTICE: BL31: Built : 17:52:29, Feb 17 2026 66*dfad527bSSumit Garg ERROR: Please use QTISECLIB_PATH while building TF-A 67*dfad527bSSumit Garg ERROR: Please refer docs/plat/qti/* for more details. 68*dfad527bSSumit Garg I/TC: 69*dfad527bSSumit Garg I/TC: OP-TEE version: 4.9.0-1-gc6cb871cc (gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)) #1 Tue Feb 17 12:22:27 UTC 2026 aarch64 70*dfad527bSSumit Garg I/TC: WARNING: This OP-TEE configuration might be insecure! 71*dfad527bSSumit Garg I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html 72*dfad527bSSumit Garg I/TC: Primary CPU initializing 73*dfad527bSSumit Garg I/TC: Platform Qualcomm: Flavor lemans 74*dfad527bSSumit Garg I/TC: Primary CPU switching to normal world boot 75*dfad527bSSumit Garg PANIC at PC : 0x000000001c200d70 76