xref: /rk3399_ARM-atf/docs/plat/arm/automotive_rd/rd1ae.rst (revision cc2523bb21cc254642bd70a6812c5c0d69ed4225)
1RD-1 AE (Kronos) Platform
2=========================
3
4Some of the features of the RD-1 AE platform referenced in TF-A include:
5
6- Neoverse-V3AE, Arm9.2-A application processor (64-bit mode)
7- A GICv4-compatible GIC-720AE
8
9Further information on RD1-AE is available at `rd1ae`_
10
11Boot Sequence
12-------------
13
14The boot process starts from RSE (Runtime Security Engine) that loads the
15Application Processor (AP) BL2 image and signals the System Control Processor (SCP)
16to power up the AP. The AP then runs AP BL2
17
18The primary compute boot flow follows the following steps:
19
201. AP BL2:
21
22   * Performs the actions described in the `Trusted Board Boot (TBB)`_ document.
23   * Copies the AP BL31 image from Secure Flash to Secure SRAM
24   * Copies the AP BL32 (OP-TEE) image from Secure Flash to Secure DRAM
25   * Copies the AP BL33 (U-Boot) image from Secure Flash to Normal DRAM
26   * Transfers the execution to AP BL31
27
282. AP BL31:
29
30   * Initializes Trusted Firmware-A Services
31   * Transfers the execution to AP BL32 and then transfers the execution to AP BL33
32   * During runtime, acts as the Secure Monitor, handling SMC calls,
33     and context switching between secure and non-secure worlds.
34
353. AP BL32:
36
37   * Initializes OP-TEE environment
38   * Initializes Secure Partitions
39   * Transfers the execution back to AP BL31
40   * During runtime, it facilitates secure communication between the
41     normal world environment (e.g. Linux) and the Trusted Execution Environment.
42
43Build Procedure (TF-A only)
44~~~~~~~~~~~~~~~~~~~~~~~~~~~
45
46-  Obtain `Arm toolchain`_ and set the CROSS_COMPILE environment variable to
47   point to the toolchain folder.
48
49-  Build TF-A:
50
51   .. code:: shell
52
53      make \
54      PLAT=rd1ae \
55      MBEDTLS_DIR=<mbedtls_dir> \
56      ARCH=aarch64 \
57      CREATE_KEYS=1 \
58      GENERATE_COT=1 \
59      TRUSTED_BOARD_BOOT=1 \
60      COT=tbbr \
61      ARM_ROTPK_LOCATION=devel_rsa \
62      ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem \
63      BL32=<path to optee binary> \
64      SPD=spmd \
65      SPMD_SPM_AT_SEL2=0 \
66      BL33=<path to u-boot binary> \
67
68*Copyright (c) 2024, Arm Limited. All rights reserved.*
69
70.. _Arm Toolchain: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads
71.. _rd1ae: https://developer.arm.com/Tools%20and%20Software/Arm%20Reference%20Design-1%20AE
72.. _Trusted Board Boot (TBB): https://trustedfirmware-a.readthedocs.io/en/latest/design/trusted-board-boot.html
73