[RFC] powerpc: Document new property called interrupt-parents
Stuart Yoder
b08248 at freescale.com
Wed Feb 28 09:54:45 EST 2007
Document new property called interrupt-parents which can
be used to represent interrupts for devices that route
interrupts to more than one interrupt controller.
Signed-off-by: Stuart Yoder <stuart.yoder at freescale.com>
---
This is based on the discussions on the list last week and
this week. I realize there are still differences of opinion
on interrupts-array vs interrupt-parents but I think the
differences between the two options are not that significant.
Note: this patch depends on the patch updating the interrupt info
in booting-without-of.txt
Documentation/powerpc/booting-without-of.txt | 65 +++++++++++++++++++++++++-
1 files changed, 63 insertions(+), 2 deletions(-)
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt
index 0238a64..89e1c4a 100644
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
@@ -1759,7 +1759,68 @@ phandle to the parent node.
If the interrupt-parent property is not defined for a node, it's
interrupt parent is assumed to be it's device tree_ parent.
-3) OpenPIC Interrupt Controllers
+3) interrupt-parents property
+-----------------------------
+
+For devices that generate interrupts to multiple interrupt
+controllers, the interrupt-parent representation
+is not sufficient because it only describes a single
+interrupt parent. The 'interrupt-parents' property should be used
+to represent this (note the plural in the property name).
+
+The interrupt-parents property consists of one or more
+interrupt parent phandle values each representing the interrupt
+parent for the corresponding interrupt specifier in the interrupts
+property:
+
+ interrupt-parents = <parent-phandle0 parent-phandle1 ... parent-phandleN>
+ interrupts = <int-specifier0 int-specifier1 ... int-specifierN>
+
+It is required that the number of interrupts encoded in the interrupt-parents
+property exacly match the number of interrupt specifiers in the interrupts
+property.
+
+See the example below:
+
+ pic0: pic at 700 {
+ interrupt-controller;
+ #address-cells = <0>;
+ #interrupt-cells = <2>;
+ reg = <700 100>;
+ device_type = "open-pic";
+ };
+
+ pic1: pic at 800 {
+ interrupt-controller;
+ #address-cells = <0>;
+ #interrupt-cells = <2>;
+ reg = <800 100>;
+ device_type = "open-pic";
+ };
+
+ ethernet at 25000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ device_type = "network";
+ model = "fsl,TSEC";
+ compatible = "gianfar";
+ reg = <25000 1000>;
+ mac-address = [ 00 E0 0C 00 73 01 ];
+ interrupt-parents = <&pic0 &pic0 &pic1>;
+ interrupts = <13 3 14 3 18 3>;
+ phy-handle = <2452001>;
+ };
+
+In the example, the interrupts property and the interrupt-parents
+property defines three interrupts-- interrupt 0x13 and 0x14 go to
+the pic0 interrupt controller and interrupt 0x18 goes to pic1.
+
+Note: each interrupt parent in the interrupt-parents array can
+potentially specify a different value for #interrupt-cells. The number
+of #interrupt-cells for each parent must be determined to correctly
+parser the interrupts property.
+
+4) OpenPIC Interrupt Controllers
--------------------------------
OpenPIC interrupt controllers required 2 cells to encode
@@ -1774,7 +1835,7 @@ Sense and level information should be en
2 = active high level sensitive type enabled
3 = high to low edge sensitive type enabled
-4) ISA Interrupt Controllers
+5) ISA Interrupt Controllers
----------------------------
ISA PIC interrupt controllers required 2 cells to encode
--
1.4.4
More information about the Linuxppc-dev
mailing list