SPM: Remove the IRQ priority in manifest
TF-M added a tfm_irq_priority attribute in the Partition manifest
for SPM to set IRQ priorities so that IRQ can work correctly - TF-M
requires external interrupt priorities must be higher than that of
PendSV.
However, a universal IRQ priority might not work on all platforms
because different platforms have different number of configurable
interrupt priorities. So the same value represents different
priorities on different platforms.
Besides, the attribute is not defined by FF-M.
This patch removes the IRQ priority in manifest and in the HAL API
as well so that platforms have the most flexibility to set priorities
for IRQs based on their own cases.
Note: the external interrupt priorities must be higher than PendSV.
Change-Id: Id9e544a9afffcc7d019177cf29e51f32d1600504
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/docs/technical_references/tfm_secure_irq_handling.rst b/docs/technical_references/tfm_secure_irq_handling.rst
index 253ef35..b9baae9 100644
--- a/docs/technical_references/tfm_secure_irq_handling.rst
+++ b/docs/technical_references/tfm_secure_irq_handling.rst
@@ -32,7 +32,6 @@
{
"source": "TFM_IRQ_LINE_TIMER_1",
"signal": "TIMER_1"
- "tfm_irq_priority": 64,
}
],
@@ -54,10 +53,6 @@
is important the macro name matches the platform's handler function for that
IRQ source.
- ``signal``: The name of the signal for this IRQ.
-- ``tfm_irq_priority``: The priority of the IRQ. This number must be in the
- range [0-255] inclusive. Please note that some of the less significant bits of
- this value might be dropped based on the number of priority bits implemented
- in the platform.
.. important::
@@ -79,14 +74,16 @@
``signal`` and ``source`` are mandatory.
- ``tfm_irq_priority`` is optional. If ``tfm_irq_priority`` is not set for an
- IRQ, the default is value is ``TFM_DEFAULT_SECURE_IRQ_PRIORITY``.
-
If an IRQ handler is registered, TF-M will:
- Set the IRQ with number or macro to target secure state
-- Set the priority of IRQ with number or macro to ``tfm_irq_priority`` or to
- the default.
+- Set the priority of IRQ, the number is platform dependent. Platforms can
+ decide the priorities of each IRQ.
+
+.. Note::
+
+ The priority value for IRQ must be smaller than the value of PendSV, which is
+ 0x80.
TF-M configures the interrupt lines to be disabled by default. Interrupts for a
service can be enabled by the secure service by calling