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