aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorMarek Behún <marek.behun@nic.cz>2021-01-05 14:01:05 +0100
committerMarek Behún <marek.behun@nic.cz>2021-01-05 14:01:51 +0100
commitd9243f264b91b45d82376081afc3c2b45c0e540f (patch)
tree8c562ed17a13503adac257767fbe713fb55cb9f0 /docs
parent0b18d5a5d64a9700eca6158876234b76cbae4ee5 (diff)
downloadplatform_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.rst17
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)