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