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