xref: /rk3399_ARM-atf/docs/plat/ti-k3low-am62lx.rst (revision 6c0c3a74dda68e7ffc8bd6c156918ddbfea7e03a)
1Texas Instruments K3low
2========================
3
4Trusted Firmware-A (TF-A) implements the EL3 firmware layer for Texas Instruments K3low
5SoCs. The first generation of K3 architecture based devices used a Cortex R5 processor as a
6primary boot loader. But the K3low SoC architecture removed the R5 processor and the
7MPU A53 acts as the primary bootloader. Due to the small static memory foot print on the
8k3low devices, a two stage boot load architecture is used. In the first stage BL1 boot
9loader configures and initializes the DDR4/LPDDR4 subsystem and resets back to the
10ROMCode for second stage booting of BL31 etc.
11
12Boot Flow
13---------
14
15::
16
17   TF-A BL1 --> TF-A BL31 --> BL32(OP-TEE) --> TF-A BL31 --> BL33(U-Boot) --> Linux
18                                                       \
19                                                   Optional direct to Linux boot
20                                                           \
21                                                           --> BL33(Linux)
22
23Build Instructions
24------------------
25
26TF-A:
27
28.. code:: shell
29
30    make CROSS_COMPILE=aarch64-none-linux-gnu- ARCH=aarch64 PLAT=k3low TARGET_BOARD=am62lx-evm
31
32    For bl1 only binary builds:
33
34.. code:: shell
35
36    make CROSS_COMPILE=aarch64-none-linux-gnu- ARCH=aarch64 PLAT=k3low TARGET_BOARD=am62lx-evm am62l_bl1
37
38OP-TEE:
39
40.. code:: shell
41
42    make ARCH=arm CROSS_COMPILE64=aarch64-none-linux-gnu- PLATFORM=k3 CFG_ARM64_core=y all
43
44A53 U-Boot:
45
46.. code:: shell
47
48    make ARCH=arm CROSS_COMPILE=aarch64-none-linux-gnu- am62l_evm_defconfig
49    make ARCH=arm CROSS_COMPILE=aarch64-none-linux-gnu- BL1=<path> BL31=<path> TEE=<path> BINMAN_INDIRS=<path>
50
51Deploy Images
52-------------
53
54.. code:: shell
55
56    cp tiboot3.bin tispl.bin u-boot.img /sdcard/boot/
57