xref: /rk3399_ARM-atf/docs/plat/arm/morello/index.rst (revision 6e26ffc02a7cc2232f7a64f335750dfd4e384b19)
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