1TC Total Compute Platform 2========================== 3 4Some of the features of TC platform referenced in TF-A include: 5 6- A `System Control Processor <https://github.com/ARM-software/SCP-firmware>`_ 7 to abstract power and system management tasks away from application 8 processors. The RAM firmware for SCP is included in the TF-A FIP and is 9 loaded by AP BL2 from FIP in flash to SRAM for copying by SCP (SCP has access 10 to AP SRAM). 11- GICv4 12- Trusted Board Boot 13- SCMI 14- MHUv2 15 16The TF-A build is specified by the option `TARGET_PLATFORM` which represents 17the Total Compute platform number. The platforms support the CPU variants 18listed as below: 19 20- TC0 has support for Cortex A510, Cortex A710 and Cortex X2. (Note TC0 is now deprecated) 21- TC1 has support for Cortex A510, Cortex A715 and Cortex X3. (Note TC1 is now deprecated) 22- TC2 has support for Cortex A520, Cortex A720 and Cortex x4. (Note TC2 is now deprecated) 23- TC3 has support for Cortex A520, Cortex A725 and Cortex x925. 24 25 26Boot Sequence 27------------- 28 29The execution begins from SCP_BL1. SCP_BL1 powers up the AP which starts 30executing AP_BL1 and then executes AP_BL2 which loads the SCP_BL2 from 31FIP to SRAM. The SCP has access to AP SRAM. The address and size of SCP_BL2 32is communicated to SCP using SDS. SCP copies SCP_BL2 from SRAM to its own 33RAM and starts executing it. The AP then continues executing the rest of TF-A 34stages including BL31 runtime stage and hands off executing to 35Non-secure world (u-boot). 36 37Build Procedure (TF-A only) 38~~~~~~~~~~~~~~~~~~~~~~~~~~~ 39 40- Obtain `Arm toolchain`_ and set the CROSS_COMPILE environment variable to 41 point to the toolchain folder. 42 43- Build TF-A: 44 45 .. code:: shell 46 47 make PLAT=tc BL33=<path_to_uboot.bin> \ 48 SCP_BL2=<path_to_scp_ramfw.bin> TARGET_PLATFORM={3} all fip 49 50 Enable TBBR by adding the following options to the make command: 51 52 .. code:: shell 53 54 MBEDTLS_DIR=<path_to_mbedtls_directory> \ 55 TRUSTED_BOARD_BOOT=1 \ 56 GENERATE_COT=1 \ 57 ARM_ROTPK_LOCATION=devel_rsa \ 58 ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem 59 60-------------- 61 62*Copyright (c) 2020-2023, Arm Limited. All rights reserved.* 63 64.. _Arm Toolchain: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads 65