diff options
Diffstat (limited to 'Documentation/devicetree/bindings/open-pic.txt')
-rw-r--r-- | Documentation/devicetree/bindings/open-pic.txt | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/open-pic.txt b/Documentation/devicetree/bindings/open-pic.txt new file mode 100644 index 000000000000..909a902dff85 --- /dev/null +++ b/Documentation/devicetree/bindings/open-pic.txt | |||
@@ -0,0 +1,98 @@ | |||
1 | * Open PIC Binding | ||
2 | |||
3 | This binding specifies what properties must be available in the device tree | ||
4 | representation of an Open PIC compliant interrupt controller. This binding is | ||
5 | based on the binding defined for Open PIC in [1] and is a superset of that | ||
6 | binding. | ||
7 | |||
8 | Required properties: | ||
9 | |||
10 | NOTE: Many of these descriptions were paraphrased here from [1] to aid | ||
11 | readability. | ||
12 | |||
13 | - compatible: Specifies the compatibility list for the PIC. The type | ||
14 | shall be <string> and the value shall include "open-pic". | ||
15 | |||
16 | - reg: Specifies the base physical address(s) and size(s) of this | ||
17 | PIC's addressable register space. The type shall be <prop-encoded-array>. | ||
18 | |||
19 | - interrupt-controller: The presence of this property identifies the node | ||
20 | as an Open PIC. No property value shall be defined. | ||
21 | |||
22 | - #interrupt-cells: Specifies the number of cells needed to encode an | ||
23 | interrupt source. The type shall be a <u32> and the value shall be 2. | ||
24 | |||
25 | - #address-cells: Specifies the number of cells needed to encode an | ||
26 | address. The type shall be <u32> and the value shall be 0. As such, | ||
27 | 'interrupt-map' nodes do not have to specify a parent unit address. | ||
28 | |||
29 | Optional properties: | ||
30 | |||
31 | - pic-no-reset: The presence of this property indicates that the PIC | ||
32 | shall not be reset during runtime initialization. No property value shall | ||
33 | be defined. The presence of this property also mandates that any | ||
34 | initialization related to interrupt sources shall be limited to sources | ||
35 | explicitly referenced in the device tree. | ||
36 | |||
37 | * Interrupt Specifier Definition | ||
38 | |||
39 | Interrupt specifiers consists of 2 cells encoded as | ||
40 | follows: | ||
41 | |||
42 | - <1st-cell>: The interrupt-number that identifies the interrupt source. | ||
43 | |||
44 | - <2nd-cell>: The level-sense information, encoded as follows: | ||
45 | 0 = low-to-high edge triggered | ||
46 | 1 = active low level-sensitive | ||
47 | 2 = active high level-sensitive | ||
48 | 3 = high-to-low edge triggered | ||
49 | |||
50 | * Examples | ||
51 | |||
52 | Example 1: | ||
53 | |||
54 | /* | ||
55 | * An Open PIC interrupt controller | ||
56 | */ | ||
57 | mpic: pic@40000 { | ||
58 | // This is an interrupt controller node. | ||
59 | interrupt-controller; | ||
60 | |||
61 | // No address cells so that 'interrupt-map' nodes which reference | ||
62 | // this Open PIC node do not need a parent address specifier. | ||
63 | #address-cells = <0>; | ||
64 | |||
65 | // Two cells to encode interrupt sources. | ||
66 | #interrupt-cells = <2>; | ||
67 | |||
68 | // Offset address of 0x40000 and size of 0x40000. | ||
69 | reg = <0x40000 0x40000>; | ||
70 | |||
71 | // Compatible with Open PIC. | ||
72 | compatible = "open-pic"; | ||
73 | |||
74 | // The PIC shall not be reset. | ||
75 | pic-no-reset; | ||
76 | }; | ||
77 | |||
78 | Example 2: | ||
79 | |||
80 | /* | ||
81 | * An interrupt generating device that is wired to an Open PIC. | ||
82 | */ | ||
83 | serial0: serial@4500 { | ||
84 | // Interrupt source '42' that is active high level-sensitive. | ||
85 | // Note that there are only two cells as specified in the interrupt | ||
86 | // parent's '#interrupt-cells' property. | ||
87 | interrupts = <42 2>; | ||
88 | |||
89 | // The interrupt controller that this device is wired to. | ||
90 | interrupt-parent = <&mpic>; | ||
91 | }; | ||
92 | |||
93 | * References | ||
94 | |||
95 | [1] Power.org (TM) Standard for Embedded Power Architecture (TM) Platform | ||
96 | Requirements (ePAPR), Version 1.0, July 2008. | ||
97 | (http://www.power.org/resources/downloads/Power_ePAPR_APPROVED_v1.0.pdf) | ||
98 | |||