[PATCH v3 1/2] dt-bindings: firmware: arm,scmi: Document arm,no-completion-irq property
Marek Vasut
marek.vasut+renesas at mailbox.org
Wed Jan 14 16:48:56 PST 2026
Document new property arm,no-completion-irq, which sets all SCMI
operation into poll mode. This is meant to work around uncooperative
SCP implementations, which do not generate completion interrupts.
This applies primarily on mbox shmem based implementations.
With this property set, such implementations which do not generate
interrupts can be interacted with, until they are fixed to generate
interrupts properly.
Note that, because the original base protocol exchange also requires
some sort of completion mechanism, it is not possible to query SCMI
itself for this property and it must be described in DT. While this
does look a bit like policy, the SCMI provider is part of the
hardware, hence DT.
Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
---
Cc: Conor Dooley <conor+dt at kernel.org>
Cc: Cristian Marussi <cristian.marussi at arm.com>
Cc: Florian Fainelli <florian.fainelli at broadcom.com>
Cc: Krzysztof Kozlowski <krzk+dt at kernel.org>
Cc: Rob Herring <robh at kernel.org>
Cc: Sudeep Holla <sudeep.holla at arm.com>
Cc: arm-scmi at vger.kernel.org
Cc: devicetree at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-renesas-soc at vger.kernel.org
---
V2: s at mean@&t and limit poll transport to mailbox/shmem only
V3: - Reformat the commit message, expand property description to
explicitly spell out this is hardware description.
- Rename property from arm,poll-transport to arm,no-completion-irq
---
.../devicetree/bindings/firmware/arm,scmi.yaml | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
index be817fd9cc34b..46d9a0a9a0e58 100644
--- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
+++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
@@ -146,6 +146,14 @@ properties:
this platform. If set, the value should be non-zero.
minimum: 1
+ arm,no-completion-irq:
+ type: boolean
+ description:
+ An optional property which unconditionally forces polling in all transports,
+ meant for hardware which does not generate completion interrupts. This is
+ mainly meant to work around uncooperative SCP or SCP firmware, which does
+ not generate completion interrupts.
+
arm,smc-id:
$ref: /schemas/types.yaml#/definitions/uint32
description:
@@ -379,6 +387,9 @@ then:
- shmem
else:
+ properties:
+ arm,no-completion-irq: false
+
if:
properties:
compatible:
--
2.51.0
More information about the linux-arm-kernel
mailing list