Skip to content

Commit ef302c9

Browse files
ffainelliglikely
authored andcommitted
Describe interrupts-extended property
The interrupts-extended property is a common property used when interrupt generating devices having interrupt lines in several interrupt controllers with possibly distinct interrupt specifiers. Signed-off-by: Florian Fainelli <[email protected]> [grant.likely: editorial changes] Signed-off-by: Grant Likely <[email protected]>
1 parent 4fac2e2 commit ef302c9

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

source/devicetree-basics.rst

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -930,6 +930,9 @@ Description:
930930
specifiers. The format of an interrupt specifier is defined by the
931931
binding of the interrupt domain root.
932932

933+
*interrupts* is overridden by the *interrupts-extended*
934+
property and normally only one or the other should be used.
935+
933936
Example:
934937

935938
A common definition of an interrupt specifier in an open PIC–compatible
@@ -955,6 +958,40 @@ Description:
955958
to the interrupt parent. If this property is missing from a device, its
956959
interrupt parent is assumed to be its devicetree parent.
957960

961+
interrupts-extended
962+
^^^^^^^^^^^^^^^^^^^
963+
964+
Property: ``interrupts-extended``
965+
966+
Value type: ``<phandle> <prop-encoded-array>``
967+
968+
Description:
969+
970+
The *interrupts-extended* property lists the interrupt(s) generated by a
971+
device.
972+
*interrupts-extended* should be used instead of *interrupts* when a device
973+
is connected to multiple interrupt controllers as it encodes a parent phandle
974+
with each interrupt specifier.
975+
976+
Example:
977+
978+
This example shows how a device with two interrupt outputs connected to two
979+
separate interrupt controllers would describe the connection using an
980+
*interrupts-extended* property.
981+
``pic`` is an interrupt controller with an *#interrupt-cells* specifier
982+
of 2, while ``gic`` is an interrupt controller with an *#interrupts-cells*
983+
specifier of 1.
984+
985+
``interrupts-extended = <&pic 0xA 8>, <&gic 0xda>;``
986+
987+
988+
The *interrupts* and *interrupts-extended* properties are mutually exclusive.
989+
A device node should use one or the other, but not both.
990+
Using both is only permissible when required for compatibility with software
991+
that does not understand *interrupts-extended*.
992+
If both *interrupts-extended* and *interrupts* are present then
993+
*interrupts-extended* takes precedence.
994+
958995
Properties for Interrupt Controllers
959996
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
960997

0 commit comments

Comments
 (0)