Thread (5 messages) 5 messages, 2 authors, 2026-01-22

Re: [PATCH v2 1/2] dt-bindings: interrupt-controller: ti,sci-intr: Per-line interrupt-types

From: Aniket Limaye <hidden>
Date: 2026-01-22 11:05:46
Also in: linux-devicetree, lkml

Hello Rob,


On 21/01/26 21:26, Rob Herring wrote:
On Tue, Jan 20, 2026 at 04:13:46PM +0530, Aniket Limaye wrote:
quoted
Update the bindings to allow setting per-line interrupt-types.

Some Interrupt Router instances can only work with a specific trigger
type (edge or level), while others act as simple passthroughs that
preserve the source interrupt type unchanged.

In addition to existing edge or level interrupt setting, add a third
enum value 15 (IRQ_TYPE_DEFAULT) for "ti,intr-trigger-type" property, to
indicate that the router acts as a passthrough. When set to 15,
"#interrupt-cells" must be 2 to allow each interrupt source to specify
its trigger type per-line.

Signed-off-by: Aniket Limaye <redacted>
---
Changes in v2:
- Reword Commit msg to better describe the patch
- Link to v1: https://lore.kernel.org/r/20260116-ul-driver-i2c-j722s-v1-1-c28e8ba38a9e@ti.com (local)
---
  .../bindings/interrupt-controller/ti,sci-intr.yaml | 42 +++++++++++++++++++---
  1 file changed, 37 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml b/Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml
index c99cc7323c71..59c01f327f3b 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml
@@ -15,8 +15,7 @@ allOf:
  description: |
    The Interrupt Router (INTR) module provides a mechanism to mux M
    interrupt inputs to N interrupt outputs, where all M inputs are selectable
-  to be driven per N output. An Interrupt Router can either handle edge
-  triggered or level triggered interrupts and that is fixed in hardware.
+  to be driven per N output.
  
                                     Interrupt Router
                                 +----------------------+
@@ -52,11 +51,12 @@ properties:
  
    ti,intr-trigger-type:
      $ref: /schemas/types.yaml#/definitions/uint32
-    enum: [1, 4]
+    enum: [1, 4, 15]
      description: |
        Should be one of the following.
          1 = If intr supports edge triggered interrupts.
          4 = If intr supports level triggered interrupts.
+        15 = If intr preserves the source interrupt type.
Why do you need this property in this case? #interrupt-cells == 2 means
preserve the source type and this is redundant. Just disallow
ti,intr-trigger-type when #interrupt-cells == 2.

Rob

Yep, I agree.

I will send a v2 which makes this property optional instead... such that 
it's absence <=> #interrupt-cells == 2

Thanks for the review!

Regards,
Aniket



Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help