blob: 0f89500b21cda08bf077620d8e795031cf065d32 [file] [log] [blame]
Saurabh Gorecha70389ca2020-04-22 21:31:24 +05301Qualcomm Technologies, Inc.
2===========================
3
Saurabh Gorecha43987c52021-05-24 17:35:34 +05304Trusted Firmware-A (TF-A) implements the EL3 firmware layer for QTI SC7180,
quic_assethic2f2cbb2024-11-07 19:00:30 +05305SC7280 and QCS615.
Saurabh Gorecha70389ca2020-04-22 21:31:24 +05306
7Boot Trace
8-------------
9
10Bootrom --> BL1/BL2 --> BL31 --> BL33 --> Linux kernel
11
12BL1/2 and BL33 can currently be supplied from Coreboot + Depthcharge
13
14How to build
15------------
16
17Code Locations
18~~~~~~~~~~~~~~
19
20- Trusted Firmware-A:
21 `link <https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git>`__
22
23Build Procedure
24~~~~~~~~~~~~~~~
25
26QTI SoC expects TF-A's BL31 to get integrated with other boot software
27Coreboot, so only bl31.elf need to get build from the TF-A repository.
28
29The build command looks like
30
31 make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sc7180 COREBOOT=1
32
quic_assethic2f2cbb2024-11-07 19:00:30 +053033Update value of CROSS_COMPILE argument with your cross-compilation toolchain.
34Update the value of PLAT to be either of sc7180, sc7280 or qcs615
Saurabh Gorecha70389ca2020-04-22 21:31:24 +053035
36Additional QTISECLIB_PATH=<path to qtiseclib> can be added in build command.
37if QTISECLIB_PATH is not added in build command stub implementation of qtiseclib
38is picked. qtiseclib with stub implementation doesn't boot device. This was
39added to satisfy compilation.
40
41QTISELIB for SC7180 is available at
Saurabh Gorecha43987c52021-05-24 17:35:34 +053042`link <https://github.com/coreboot/qc_blobs/blob/master/sc7180/qtiseclib/libqtisec.a?raw=true>`__
43QTISELIB for SC7280 is available at
44`link <https://github.com/coreboot/qc_blobs/blob/master/sc7280/qtiseclib/libqtisec.a?raw=true>`__
quic_assethic2f2cbb2024-11-07 19:00:30 +053045QTISECLIB for QCS615 is not available yet and currently compile with stubs only.