diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/firmware-design.rst | 2 | ||||
-rw-r--r-- | docs/plat/allwinner.rst | 12 | ||||
-rw-r--r-- | docs/porting-guide.rst | 19 | ||||
-rw-r--r-- | docs/user-guide.rst | 4 |
4 files changed, 37 insertions, 0 deletions
diff --git a/docs/firmware-design.rst b/docs/firmware-design.rst index e3500c27b..8aa762278 100644 --- a/docs/firmware-design.rst +++ b/docs/firmware-design.rst @@ -306,6 +306,8 @@ On Arm platforms, BL1 performs the following platform initializations: - If the BL1 dynamic configuration file, ``TB_FW_CONFIG``, is available, then load it to the platform defined address and make it available to BL2 via ``arg0``. +- Configure the system timer and program the `CNTFRQ_EL0` for use by NS-BL1U + and NS-BL2U firmware update images. Firmware Update detection and execution ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/plat/allwinner.rst b/docs/plat/allwinner.rst index a7e84a304..825fded48 100644 --- a/docs/plat/allwinner.rst +++ b/docs/plat/allwinner.rst @@ -4,9 +4,11 @@ Trusted Firmware-A for Allwinner ARMv8 SoCs Trusted Firmware-A (TF-A) implements the EL3 firmware layer for Allwinner SoCs with ARMv8 cores. Only BL31 is used to provide proper EL3 setup and PSCI runtime services. + U-Boot's SPL acts as a loader, loading both BL31 and BL33 (typically U-Boot). Loading is done from SD card, eMMC or SPI flash, also via an USB debug interface (FEL). + BL31 lives in SRAM A2, which is documented to be accessible from secure world only. @@ -27,3 +29,13 @@ To build: make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_a64 DEBUG=1 bl31 .. _U-Boot documentation: http://git.denx.de/?p=u-boot.git;f=board/sunxi/README.sunxi64;hb=HEAD + +Trusted OS dispatcher +===================== + +One can boot Trusted OS(OP-TEE OS, bl32 image) along side bl31 image on Allwinner A64. + +In order to include the 'opteed' dispatcher in the image, pass 'SPD=opteed' on the command line +while compiling the bl31 image and make sure the loader (SPL) loads the Trusted OS binary to +the beginning of DRAM (0x40000000). + diff --git a/docs/porting-guide.rst b/docs/porting-guide.rst index a737cf4e6..5462cc1ec 100644 --- a/docs/porting-guide.rst +++ b/docs/porting-guide.rst @@ -1997,6 +1997,25 @@ state. This function must return a pointer to the ``entry_point_info`` structure (that was copied during ``bl31_early_platform_setup()``) if the image exists. It should return NULL otherwise. +Function : bl31_plat_enable_mmu [optional] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + Argument : uint32_t + Return : void + +This function enables the MMU. The boot code calls this function with MMU and +caches disabled. This function should program necessary registers to enable +translation, and upon return, the MMU on the calling PE must be enabled. + +The function must honor flags passed in the first argument. These flags are +defined by the translation library, and can be found in the file +``include/lib/xlat_tables/xlat_mmu_helpers.h``. + +On DynamIQ systems, this function must not use stack while enabling MMU, which +is how the function in xlat table library version 2 is implementated. + Function : plat\_get\_syscnt\_freq2() [mandatory] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/user-guide.rst b/docs/user-guide.rst index a40615dbf..68a74edd5 100644 --- a/docs/user-guide.rst +++ b/docs/user-guide.rst @@ -454,6 +454,10 @@ Common build options management operations. This option defaults to 0 and if it is enabled, then it implies ``WARMBOOT_ENABLE_DCACHE_EARLY`` is also enabled. + Note that, when ``HW_ASSISTED_COHERENCY`` is enabled, version 2 of + translation library (xlat tables v2) must be used; version 1 of translation + library is not supported. + - ``JUNO_AARCH32_EL3_RUNTIME``: This build flag enables you to execute EL3 runtime software in AArch32 mode, which is required to run AArch32 on Juno. By default this flag is set to '0'. Enabling this flag builds BL1 and BL2 in |