18445253eSChandni CherukuriMorello Platform 28445253eSChandni Cherukuri================ 38445253eSChandni Cherukuri 48445253eSChandni CherukuriMorello is an ARMv8-A platform that implements the capability architecture extension. 58445253eSChandni CherukuriThe platform port present at `site <https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git>`_ 68445253eSChandni Cherukuriprovides ARMv8-A architecture enablement. 78445253eSChandni Cherukuri 88445253eSChandni CherukuriCapability architecture specific changes will be added `here <https://git.morello-project.org/morello>`_ 98445253eSChandni Cherukuri 108445253eSChandni CherukuriFurther information on Morello Platform is available at `info <https://developer.arm.com/architectures/cpu-architecture/a-profile/morello>`_ 118445253eSChandni Cherukuri 128445253eSChandni CherukuriBoot Sequence 138445253eSChandni Cherukuri------------- 148445253eSChandni Cherukuri 15*13fc020dSDeepthi PeterThe SCP initializes the RVBAR registers to point to the AP_BL1. Once RVBAR is 16*13fc020dSDeepthi Peterinitialized, the primary core is powered on. The primary core boots the AP_BL1. 17*13fc020dSDeepthi PeterIt performs minimum initialization necessary to load and authenticate the AP 18*13fc020dSDeepthi Peterfirmware image (the FIP image) from the AP QSPI NOR Flash Memory into the 19*13fc020dSDeepthi PeterTrusted SRAM. 20*13fc020dSDeepthi Peter 21*13fc020dSDeepthi PeterAP_BL1 authenticates and loads the AP_BL2 image. AP_BL2 performs additional 22*13fc020dSDeepthi Peterinitializations, and then authenticates and loads the AP_BL31 and AP_BL33. 23*13fc020dSDeepthi PeterAP_BL2 then transfers execution control to AP_BL31, which is the EL3 runtime 24*13fc020dSDeepthi Peterfirmware. Execution is finally handed off to AP_BL33, which is the non-secure 25*13fc020dSDeepthi Peterworld (UEFI). 26*13fc020dSDeepthi Peter 27*13fc020dSDeepthi PeterSCP -> AP_BL1 -> AP_BL2 -> AP_BL31 -> AP_BL33 288445253eSChandni Cherukuri 298445253eSChandni CherukuriBuild Procedure (TF-A only) 308445253eSChandni Cherukuri~~~~~~~~~~~~~~~~~~~~~~~~~~~ 318445253eSChandni Cherukuri 328445253eSChandni Cherukuri- Obtain arm `toolchain <https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads>`_. 338445253eSChandni Cherukuri Set the CROSS_COMPILE environment variable to point to the toolchain folder. 348445253eSChandni Cherukuri 358445253eSChandni Cherukuri- Build TF-A: 368445253eSChandni Cherukuri 378445253eSChandni Cherukuri .. code:: shell 388445253eSChandni Cherukuri 398445253eSChandni Cherukuri export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf- 408445253eSChandni Cherukuri 418445253eSChandni Cherukuri make PLAT=morello all 428445253eSChandni Cherukuri 43*13fc020dSDeepthi Peter*Copyright (c) 2020-2023, Arm Limited. All rights reserved.* 44