Commit 183e49a3 authored by Avinash Mehta's avatar Avinash Mehta
Browse files

totalcompute/tc0: move tc0 files in a folder


Signed-off-by: Avinash Mehta's avatarAvinash Mehta <avinash.mehta@arm.com>
Change-Id: If48c8a16fa52f1d5c7beb96cb237b6753e5f5d68
parent f714c8da
.. _docs/totalcompute/readme:
.. section-numbering::
:suffix: .
Total Compute Platform
----------------------
......@@ -10,35 +7,9 @@ Total Compute is an approach to moving beyond optimizing individual IP to take a
Total Compute focuses on optimizing Performance, Security, and Developer Access across Arm’s IP, software, and tools. This means higher-performing, more immersive, and more secure experiences on devices coupled with an easier app and software development process.
Instructions: Obtaining Total Compute software deliverables
-----------------------------------------------------------
* To build the TC0 software stack please refer to :ref:`user-guide <docs/totalcompute/tc0/user-guide>`
* For the list of changes and features added please refer to :ref:`change-log <docs/totalcompute/tc0/change-log>`
* For further details on the latest release and features please refer to :ref:`release_notes <docs/totalcompute/tc0/release_notes>`
TC Software Stack Overview
--------------------------
The TC0 software consists of firmware, kernel and file system components that can run on the associated FVP.
Following are the Software components:
#. SCP firmware – System initialization, Clock and Power control
#. AP firmware – Arm Trusted firmware
#. Secure Partition Manager
#. Secure Partitions
* OP-TEE Trusted OS
* Trusted Services with Shim layer
#. U-Boot – loads and verifies the fitImage for poky boot, containing kernel and filesystem or boot Image for Android Verified Boot, containing kernel and ramdisk.
#. Kernel – supports the following hardware features
* Mailbox hardware unit
* PAC/MTE/BTI features
#. Android
* Supports PAC/MTE/BTI features
.. figure:: tc0_sw_stack.png
:alt: Total Compute Software Stack
:ref:`TC0 <docs/totalcompute/tc0/readme>`
=========================================
:ref:`Total Compute Platform Software Components <docs/totalcompute/sw_stack>`
:ref:`TC1 <docs/totalcompute/tc1/readme>`
=========================================
.. _docs/totalcompute/tc0/change-log:
Change Log
==========
......
.. _docs/totalcompute/tc0/readme:
.. section-numbering::
:suffix: .
Instructions: Obtaining Total Compute software deliverables
-----------------------------------------------------------
* To build the TC0 software stack please refer to :ref:`user-guide <docs/totalcompute/tc0/user-guide>`
* For the list of changes and features added please refer to :ref:`change-log <docs/totalcompute/tc0/change-log>`
* For further details on the latest release and features please refer to :ref:`release_notes <docs/totalcompute/tc0/release_notes>`
TC Software Stack Overview
--------------------------
The TC0 software consists of firmware, kernel and file system components that can run on the associated FVP.
Following are the Software components:
#. SCP firmware – System initialization, Clock and Power control
#. AP firmware – Trusted Firmware-A (TF-A)
#. Secure Partition Manager
#. Secure Partitions
* OP-TEE Trusted OS
* Trusted Services with Shim layer
#. U-Boot – loads and verifies the fitImage for poky boot, containing kernel and filesystem or boot Image for Android Verified Boot, containing kernel and ramdisk.
#. Kernel – supports the following hardware features
* Mailbox hardware unit
* PAC/MTE/BTI features
#. Android
* Supports PAC/MTE/BTI features
:ref:`Total Compute Platform Software Components <docs/totalcompute/tc0/tc0_sw_stack>`
.. _docs/totalcompute/tc0/release_notes:
Release notes - 2021.07.31
==========================
......
.. _docs/totalcompute/sw_stack:
.. _docs/totalcompute/tc0/tc0_sw_stack:
.. section-numbering::
:suffix: .
......@@ -6,10 +6,14 @@
Total Compute Platform Software Components
==========================================
.. figure:: tc0_sw_stack.png
:alt: Total Compute Software Stack
SCP Firmware
------------
The System Control Processor (SCP) is a compute unit of Total Compute and is responsible for low-level system management. The SCP is a Cortex-M3 processor with a set of dedicated peripherals and interfaces that you can extend.
SCP firmware supports:
#. Powerup sequence and system start-up
#. Initial hardware configuration
#. Clock management
......@@ -19,6 +23,7 @@ SCP Boot ROM
............
SCP Boot ROM code is the first software that executes right after a cold reset or Power-on.
It performs the following functions:
#. Sets up generic timer, UART console and clocks
#. Initializes the Coherent Interconnect
#. Powers ON primary AP CPU
......@@ -28,6 +33,7 @@ SCP Runtime Firmware
....................
SCP runtime code starts execution after TF-A BL2 has authenticated and copied it from flash.
It performs the following functions:
#. Responds to SCMI messages via MHUv2 for CPU power control and DVFS
#. Power Domain management
#. Clock management
......@@ -40,12 +46,12 @@ AP firmware
...........
The AP firmware consists of the code that is required to boot Total Compute platform up the point where the OS execution starts. This firmware performs architecture and platform initialization. It also loads and initializes secure world images like Secure partition manager and Trusted OS.
Arm Trusted firmware BL1
++++++++++++++++++++++++
Trusted Firmware-A (TF-A) BL1
+++++++++++++++++++++++++++++
AP Trusted ROM contains an on-chip trusted ROM that runs the boot code on Total Compute platform. BL1 performs minimal architectural initialization (like exception vectors, CPU initialization) and Platform initialization. It loads the BL2 image and passes control to it.
Arm Trusted firmware BL2
++++++++++++++++++++++++
Trusted Firmware-A (TF-A) BL2
+++++++++++++++++++++++++++++
BL2 runs at S-EL1 and performs architectural initialization required for subsequent stages of TF-A and normal world software. It configures the TrustZone Controller and carves out memory region in DRAM for secure and non-secure use. BL2 loads below images:
#. SCP BL2 image
......@@ -54,8 +60,8 @@ BL2 runs at S-EL1 and performs architectural initialization required for subsequ
#. Non-Trusted firmware - U-boot (BL33 image)
#. Secure Partitions images (OP-TEE and Trusted Services)
Arm Trusted firmware BL31
+++++++++++++++++++++++++
Trusted Firmware-A (TF-A) BL31
++++++++++++++++++++++++++++++
BL2 loads EL3 Runtime Software (BL31) and BL1 passes control to BL31 at EL3. In Total Compute BL31 runs at trusted SRAM. It provides below mentioned runtime services:
#. Power State Coordination Interface (PSCI)
......@@ -98,6 +104,7 @@ Android
-------
Total Compute has support for Android Open-Source Project (AOSP), which contains the Android framework, Native Libraries, Android Runtime and the Hardware Abstraction Layers (HALs) for Android Operating system.
The Total Compute device profile defines the required variables for Android such as partition size and product packages and has support for 2 different configurations of Android:
#. Nano: This is a stripped-down version to provide the bare minimum for Android Runtime and boot Android to console. It does not have Android UI support.
#. Software rendering: This profile has support for Android UI and boots Android to home screen. It uses SwiftShader to achieve this. Swiftshader is a CPU base implementation of the Vulkan graphics API by Google.
.. _docs/totalcompute/tc0/user-guide:
User Guide
==========
......@@ -100,7 +101,7 @@ Board Support Package build
export DISTRO="poky"
export MACHINE="tc0"
source setup-environment
bitbake tc0-artifacts-image
bitbake tc-artifacts-image
The initial clean build will be lengthy, given that all host utilities are to be built as well as
the target images. This includes host programs (python, cmake, etc.) and the required toolchain(s).
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment