xref: /arm-trusted-firmware/docs/plat/ti-k3.rst (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700SchasingluluTexas Instruments K3
2*91f16700Schasinglulu====================
3*91f16700Schasinglulu
4*91f16700SchasingluluTrusted Firmware-A (TF-A) implements the EL3 firmware layer for Texas Instruments K3 SoCs.
5*91f16700Schasinglulu
6*91f16700SchasingluluBoot Flow
7*91f16700Schasinglulu---------
8*91f16700Schasinglulu
9*91f16700Schasinglulu::
10*91f16700Schasinglulu
11*91f16700Schasinglulu   R5(U-Boot) --> TF-A BL31 --> BL32(OP-TEE) --> TF-A BL31 --> BL33(U-Boot) --> Linux
12*91f16700Schasinglulu                                                       \
13*91f16700Schasinglulu                                                   Optional direct to Linux boot
14*91f16700Schasinglulu                                                           \
15*91f16700Schasinglulu                                                           --> BL33(Linux)
16*91f16700Schasinglulu
17*91f16700SchasingluluTexas Instruments K3 SoCs contain an R5 processor used as the boot master, it
18*91f16700Schasinglululoads the needed images for A53 startup, because of this we do not need BL1 or
19*91f16700SchasingluluBL2 TF-A stages.
20*91f16700Schasinglulu
21*91f16700SchasingluluBuild Instructions
22*91f16700Schasinglulu------------------
23*91f16700Schasinglulu
24*91f16700Schasingluluhttps://github.com/ARM-software/arm-trusted-firmware.git
25*91f16700Schasinglulu
26*91f16700SchasingluluTF-A:
27*91f16700Schasinglulu
28*91f16700Schasinglulu.. code:: shell
29*91f16700Schasinglulu
30*91f16700Schasinglulu    make CROSS_COMPILE=aarch64-linux-gnu- PLAT=k3 SPD=opteed all
31*91f16700Schasinglulu
32*91f16700SchasingluluOP-TEE:
33*91f16700Schasinglulu
34*91f16700Schasinglulu.. code:: shell
35*91f16700Schasinglulu
36*91f16700Schasinglulu    make ARCH=arm CROSS_COMPILE64=aarch64-linux-gnu- PLATFORM=k3 CFG_ARM64_core=y all
37*91f16700Schasinglulu
38*91f16700SchasingluluR5 U-Boot:
39*91f16700Schasinglulu
40*91f16700Schasinglulu.. code:: shell
41*91f16700Schasinglulu
42*91f16700Schasinglulu    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am65x_evm_r5_defconfig
43*91f16700Schasinglulu    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- SYSFW=<path to SYSFW>
44*91f16700Schasinglulu
45*91f16700SchasingluluA53 U-Boot:
46*91f16700Schasinglulu
47*91f16700Schasinglulu.. code:: shell
48*91f16700Schasinglulu
49*91f16700Schasinglulu    make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- am65x_evm_a53_defconfig
50*91f16700Schasinglulu    make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- ATF=<path> TEE=<path>
51*91f16700Schasinglulu
52*91f16700SchasingluluDeploy Images
53*91f16700Schasinglulu-------------
54*91f16700Schasinglulu
55*91f16700Schasinglulu.. code:: shell
56*91f16700Schasinglulu
57*91f16700Schasinglulu    cp tiboot3.bin tispl.bin u-boot.img /sdcard/boot/
58