Boot: Emphasize the requirement of immutability of root of trust

Add a note to TF-M secure boot documentation which clarifies
that the first stage bootloader and ROTPK must be stored in
an immutable way to accomplish a root of trust anchor.

Change-Id: Ibd3ef9f2e4d176dcfd92fc9a51570fb47b09fc64
Signed-off-by: Tamas Ban <tamas.ban@arm.com>
diff --git a/docs/user_guides/tfm_secure_boot.rst b/docs/user_guides/tfm_secure_boot.rst
index 9aed8dd..b29b38e 100644
--- a/docs/user_guides/tfm_secure_boot.rst
+++ b/docs/user_guides/tfm_secure_boot.rst
@@ -1,6 +1,6 @@
-##############################
-Trusted Firmware M secure boot
-##############################
+################
+TF-M secure boot
+################
 For secure devices it is security critical to enforce firmware authenticity to
 protect against execution of malicious software. This is implemented by building
 a trust chain where each step in the execution chain authenticates the next
@@ -8,6 +8,22 @@
 is implemented using asymmetric cryptography. The Root of Trust is a combination
 of an immutable bootloader and a public key (ROTPK).
 
+.. Warning::
+    In order to implement a proper chain of trust functionality, it is
+    mandatory that the first stage bootloader and ROTPK is stored in an
+    **immutable** way. To achieve this the bootloader code must be stored and
+    executed from ROM or such part of flash memory which supports write
+    protection. ROTPK can be stored in a one-time-programmable (OTP) memory. If
+    the SoC has a built-in BL1 (immutable) bootloader and the immutability of
+    TF-M secure boot code is not guaranteed then TF-M secure boot code must be
+    authenticated by BL1 bootloader before execution. If immutability of root
+    of trust (first stage bootloader + ROTPK) is not ensured then there is a
+    risk that the secure boot process could be bypassed, which could lead to
+    arbitrary code execution on the device. Current TF-M secure boot code is
+    intended to be a second stage bootloader, therefore it requires
+    authentication before execution. If TF-M secure boot code is used as a first
+    stage bootloader then it must be stored according to the above requirements.
+
 *******************************
 Second stage bootloader in TF-M
 *******************************