Skip to content

Commit 7a30a7a

Browse files
aniket-lThomas Gleixner
authored andcommitted
dt-bindings: interrupt-controller: ti,sci-intr: Per-line interrupt-types
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. Make "ti,intr-trigger-type" property optional, with its absence indicating that the router acts as a passthrough. When absent, "#interrupt-cells" must be 2 to allow each interrupt source to specify its trigger type per-line. Signed-off-by: Aniket Limaye <a-limaye@ti.com> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260123-ul-driver-i2c-j722s-v4-1-b08625c487d5@ti.com
1 parent 3a74e73 commit 7a30a7a

1 file changed

Lines changed: 33 additions & 5 deletions

File tree

Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ allOf:
1515
description: |
1616
The Interrupt Router (INTR) module provides a mechanism to mux M
1717
interrupt inputs to N interrupt outputs, where all M inputs are selectable
18-
to be driven per N output. An Interrupt Router can either handle edge
19-
triggered or level triggered interrupts and that is fixed in hardware.
18+
to be driven per N output.
2019
2120
Interrupt Router
2221
+----------------------+
@@ -64,9 +63,14 @@ properties:
6463
interrupt-controller: true
6564

6665
'#interrupt-cells':
67-
const: 1
66+
enum: [1, 2]
6867
description: |
69-
The 1st cell should contain interrupt router input hw number.
68+
Number of cells in interrupt specifier. Depends on ti,intr-trigger-type:
69+
- If ti,intr-trigger-type is present: must be 1
70+
The 1st cell should contain interrupt router input hw number.
71+
- If ti,intr-trigger-type is absent: must be 2
72+
The 1st cell should contain interrupt router input hw number.
73+
The 2nd cell should contain interrupt trigger type (preserved by router).
7074
7175
ti,interrupt-ranges:
7276
$ref: /schemas/types.yaml#/definitions/uint32-matrix
@@ -82,9 +86,22 @@ properties:
8286
- description: |
8387
"limit" specifies the limit for translation
8488
89+
if:
90+
required:
91+
- ti,intr-trigger-type
92+
then:
93+
properties:
94+
'#interrupt-cells':
95+
const: 1
96+
description: Interrupt ID only. Interrupt type is specified globally
97+
else:
98+
properties:
99+
'#interrupt-cells':
100+
const: 2
101+
description: Interrupt ID and corresponding interrupt type
102+
85103
required:
86104
- compatible
87-
- ti,intr-trigger-type
88105
- interrupt-controller
89106
- '#interrupt-cells'
90107
- ti,sci
@@ -105,3 +122,14 @@ examples:
105122
ti,sci-dev-id = <131>;
106123
ti,interrupt-ranges = <0 360 32>;
107124
};
125+
126+
- |
127+
interrupt-controller {
128+
compatible = "ti,sci-intr";
129+
interrupt-controller;
130+
interrupt-parent = <&gic500>;
131+
#interrupt-cells = <2>;
132+
ti,sci = <&dmsc>;
133+
ti,sci-dev-id = <131>;
134+
ti,interrupt-ranges = <0 360 32>;
135+
};

0 commit comments

Comments
 (0)