[PATCH 1/2] dt-bindings: crypto: inside-secure,safexcel: make eip/mem IRQ optional

From: Aleksander Jan Bajkowski
Date: Sun Jul 20 2025 - 13:49:18 EST


Binding for this cryptographic engine defined 6 interrupts since its
beginning. It seems however only 4 rings IRQs are really required for
operating this hardware. Linux driver doesn't use "eip" or "mem" IRQs
and it isn't clear if they are always available (MT7986 devicetree
doesn't specify them).

The hardware reference manual [1] for the EIP-197 IP core only defines
ring interrupts and a global interrupt ("eip"). Ring interrupts can
optionaly be routed via the main interrupt. Role of the "mem" interrupt
is unknown.

This deals with:
arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dtb: crypto@10320000: interrupts: [[0, 116, 4], [0, 117, 4], [0, 118, 4], [0, 119, 4]] is too short
from schema $id: http://devicetree.org/schemas/crypto/inside-secure,safexcel.yaml#
arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dtb: crypto@10320000: interrupt-names: ['ring0', 'ring1', 'ring2', 'ring3'] is too short
from schema $id: http://devicetree.org/schemas/crypto/inside-secure,safexcel.yaml#

[1] https://www.scribd.com/document/665924595/Security-IP-197-HW3-4-Hardware-Reference-Manual-RevA
Cc: Antoine Tenart <atenart@xxxxxxxxxx>
Cc: Sam Shih <sam.shih@xxxxxxxxxxxx>
CC: Rafał Miłecki <rafal@xxxxxxxxxx>
Signed-off-by: Aleksander Jan Bajkowski <olek2@xxxxx>
---
.../crypto/inside-secure,safexcel.yaml | 21 ++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/Documentation/devicetree/bindings/crypto/inside-secure,safexcel.yaml b/Documentation/devicetree/bindings/crypto/inside-secure,safexcel.yaml
index 343e2d04c797..97af96bfe5f6 100644
--- a/Documentation/devicetree/bindings/crypto/inside-secure,safexcel.yaml
+++ b/Documentation/devicetree/bindings/crypto/inside-secure,safexcel.yaml
@@ -26,16 +26,23 @@ properties:
maxItems: 1

interrupts:
+ minItems: 4
maxItems: 6

interrupt-names:
- items:
- - const: ring0
- - const: ring1
- - const: ring2
- - const: ring3
- - const: eip
- - const: mem
+ oneOf:
+ - items:
+ - const: ring0
+ - const: ring1
+ - const: ring2
+ - const: ring3
+ - const: eip
+ - const: mem
+ - items:
+ - const: ring0
+ - const: ring1
+ - const: ring2
+ - const: ring3

clocks:
minItems: 1
--
2.39.5