diff options
Diffstat (limited to 'docs/plat/xilinx-versal.rst')
-rw-r--r-- | docs/plat/xilinx-versal.rst | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/docs/plat/xilinx-versal.rst b/docs/plat/xilinx-versal.rst index 3d4c4a4e1c..072329a5ba 100644 --- a/docs/plat/xilinx-versal.rst +++ b/docs/plat/xilinx-versal.rst @@ -19,11 +19,26 @@ To build ATF for different platform (supported are "silicon"(default) and "versa make RESET_TO_BL31=1 CROSS_COMPILE=aarch64-none-elf- PLAT=versal VERSAL_PLATFORM=versal_virt bl31 ``` +To build bl32 TSP you have to rebuild bl31 too +```bash +make CROSS_COMPILE=aarch64-none-elf- PLAT=versal SPD=tspd RESET_TO_BL31=1 bl31 bl32 +``` + To build TF-A for JTAG DCC console ```bash make RESET_TO_BL31=1 CROSS_COMPILE=aarch64-none-elf- PLAT=versal bl31 VERSAL_CONSOLE=dcc ``` +To build TF-A with Errata management interface +```bash +make RESET_TO_BL31=1 CROSS_COMPILE=aarch64-none-elf- PLAT=versal bl31 ERRATA_ABI_SUPPORT=1 +``` + +To build TF-A with Straight-Line Speculation(SLS) +```bash +make RESET_TO_BL31=1 CROSS_COMPILE=aarch64-none-elf- PLAT=versal bl31 HARDEN_SLS_ALL=1 +``` + Xilinx Versal platform specific build options --------------------------------------------- @@ -38,6 +53,21 @@ Xilinx Versal platform specific build options * `VERSAL_PLATFORM`: Select the platform. Options: - `versal_virt` : Versal Virtual platform + - `spp_itr6` : SPP ITR6 + - `emu_itr6` : EMU ITR6 + +* `CPU_PWRDWN_SGI`: Select the SGI for triggering CPU power down request to + secondary cores on receiving power down callback from + firmware. Options: + + - `0` : SGI 0 + - `1` : SGI 1 + - `2` : SGI 2 + - `3` : SGI 3 + - `4` : SGI 4 + - `5` : SGI 5 + - `6` : SGI 6 (Default) + - `7` : SGI 7 # PLM->TF-A Parameter Passing ------------------------------ @@ -46,3 +76,46 @@ uses that data to hand off to the loaded images. The address of the handoff data structure is passed in the ```PMC_GLOBAL_GLOB_GEN_STORAGE4``` register. The register is free to be used by other software once the TF-A is bringing up further firmware images. + +Reference DEN0028E SMC calling convention +------------------------------------------ + +Allocated subranges of Function Identifier to SIP services +---------------------------------------------------------- + ++-----------------------+-------------------------------------------------------+ +| SMC Function | Identifier Service type | ++-----------------------+-------------------------------------------------------+ +| 0xC2000000-0xC200FFFF | Fast SMC64 SiP Service Calls as per SMCCC Section 6.1 | ++-----------------------+-------------------------------------------------------+ + +IPI SMC call ranges +------------------- + ++---------------------------+-----------------------------------------------------------+ +| SMC Function Identifier | Service type | ++---------------------------+-----------------------------------------------------------+ +| 0xc2001000-0xc2001FFF | Fast SMC64 SiP Service call range used for AMD-Xilinx IPI | ++---------------------------+-----------------------------------------------------------+ + +PM SMC call ranges +------------------ + ++---------------------------+---------------------------------------------------------------------------+ +| SMC Function Identifier | Service type | ++---------------------------+---------------------------------------------------------------------------+ +| 0xc2000000-0xc2000FFF | Fast SMC64 SiP Service call range used for AMD-Xilinx Platform Management | ++---------------------------+---------------------------------------------------------------------------+ + +SMC function IDs for SiP Service queries +---------------------------------------- + ++--------------+--------------+--------------+ +| Service | Call UID | Revision | ++--------------+--------------+--------------+ +| SiP Service | 0x8200_FF01 | 0x8200_FF03 | ++--------------+--------------+--------------+ + +Call UID Query – Returns a unique identifier of the service provider. + +Revision Query – Returns revision details of the service implementor. |