diff options
author | Marek Behún <marek.behun@nic.cz> | 2021-01-05 14:01:05 +0100 |
---|---|---|
committer | Marek Behún <marek.behun@nic.cz> | 2021-01-05 14:01:51 +0100 |
commit | d9243f264b91b45d82376081afc3c2b45c0e540f (patch) | |
tree | 8c562ed17a13503adac257767fbe713fb55cb9f0 /docs | |
parent | 0b18d5a5d64a9700eca6158876234b76cbae4ee5 (diff) | |
download | platform_external_arm-trusted-firmware-d9243f264b91b45d82376081afc3c2b45c0e540f.tar.gz platform_external_arm-trusted-firmware-d9243f264b91b45d82376081afc3c2b45c0e540f.tar.bz2 platform_external_arm-trusted-firmware-d9243f264b91b45d82376081afc3c2b45c0e540f.zip |
plat: marvell: armada: a3k: support doing system reset via CM3 secure coprocessor
Introduce a new build option CM3_SYSTEM_RESET for A3700 platform, which,
when enabled, adds code to the PSCI reset handler to try to do system
reset by the WTMI firmware running on the Cortex-M3 secure coprocessor.
(This function is exposed via the mailbox interface.)
The reason is that the Turris MOX board has a HW bug which causes reset
to hang unpredictably. This issue can be solved by putting the board in
a specific state before reset.
Signed-off-by: Marek Behún <marek.behun@nic.cz>
Change-Id: I3f60b9f244f334adcd33d6db6a361fbc8b8d209f
Diffstat (limited to 'docs')
-rw-r--r-- | docs/plat/marvell/armada/build.rst | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/docs/plat/marvell/armada/build.rst b/docs/plat/marvell/armada/build.rst index 54182cb08..2c2bd680c 100644 --- a/docs/plat/marvell/armada/build.rst +++ b/docs/plat/marvell/armada/build.rst @@ -86,6 +86,20 @@ There are several build options: There is no reason to enable this feature if OP-TEE OS built with CFG_WITH_PAGER=n. Only set LLC_SRAM=1 if OP-TEE OS is built with CFG_WITH_PAGER=y. +- CM3_SYSTEM_RESET + + For Armada37x0 only, when ``CM3_SYSTEM_RESET=1``, the Cortex-M3 secure coprocessor will + be used for system reset. + TF-A will send command 0x0009 with a magic value via the rWTM mailbox interface to the + Cortex-M3 secure coprocessor. + The firmware running in the coprocessor must either implement this functionality or + ignore the 0x0009 command (which is true for the firmware from A3700-utils-marvell + repository). If this option is enabled but the firmware does not support this command, + an error message will be printed prior trying to reboot via the usual way. + + This option is needed on Turris MOX as a workaround to a HW bug which causes reset to + sometime hang the board. + - MARVELL_SECURE_BOOT Build trusted(=1)/non trusted(=0) image, default is non trusted. @@ -209,7 +223,8 @@ To build just TF-A without WTMI image (useful for A3720 Turris MOX board), run f .. code:: shell - > make USE_COHERENT_MEM=0 PLAT=a3700 BL33=/path/to/u-boot.bin CROSS_COMPILE=aarch64-linux-gnu- mrvl_bootimage + > make USE_COHERENT_MEM=0 PLAT=a3700 CM3_SYSTEM_RESET=1 BL33=/path/to/u-boot.bin \ + CROSS_COMPILE=aarch64-linux-gnu- mrvl_bootimage Supported MARVELL_PLATFORM are: - a3700 (for both A3720 DB and EspressoBin) |