xref: /rk3399_ARM-atf/docs/plat/qti/lemans_evk.rst (revision 8dae0862c502e08568a61a1050091fa9357f1240)
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