-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git…
…/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/ptrace: Remove BUG_ON when full register set not available powerpc: Factoring mpic cpu id fetching into a function powerpc: Make MPIC honor the "pic-no-reset" device tree property powerpc: Document the Open PIC device tree binding powerpc/pci: Fix crash in PCI code on ppc64 when matching device nodes
- Loading branch information
Showing
6 changed files
with
184 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
* Open PIC Binding | ||
|
||
This binding specifies what properties must be available in the device tree | ||
representation of an Open PIC compliant interrupt controller. This binding is | ||
based on the binding defined for Open PIC in [1] and is a superset of that | ||
binding. | ||
|
||
Required properties: | ||
|
||
NOTE: Many of these descriptions were paraphrased here from [1] to aid | ||
readability. | ||
|
||
- compatible: Specifies the compatibility list for the PIC. The type | ||
shall be <string> and the value shall include "open-pic". | ||
|
||
- reg: Specifies the base physical address(s) and size(s) of this | ||
PIC's addressable register space. The type shall be <prop-encoded-array>. | ||
|
||
- interrupt-controller: The presence of this property identifies the node | ||
as an Open PIC. No property value shall be defined. | ||
|
||
- #interrupt-cells: Specifies the number of cells needed to encode an | ||
interrupt source. The type shall be a <u32> and the value shall be 2. | ||
|
||
- #address-cells: Specifies the number of cells needed to encode an | ||
address. The type shall be <u32> and the value shall be 0. As such, | ||
'interrupt-map' nodes do not have to specify a parent unit address. | ||
|
||
Optional properties: | ||
|
||
- pic-no-reset: The presence of this property indicates that the PIC | ||
shall not be reset during runtime initialization. No property value shall | ||
be defined. The presence of this property also mandates that any | ||
initialization related to interrupt sources shall be limited to sources | ||
explicitly referenced in the device tree. | ||
|
||
* Interrupt Specifier Definition | ||
|
||
Interrupt specifiers consists of 2 cells encoded as | ||
follows: | ||
|
||
- <1st-cell>: The interrupt-number that identifies the interrupt source. | ||
|
||
- <2nd-cell>: The level-sense information, encoded as follows: | ||
0 = low-to-high edge triggered | ||
1 = active low level-sensitive | ||
2 = active high level-sensitive | ||
3 = high-to-low edge triggered | ||
|
||
* Examples | ||
|
||
Example 1: | ||
|
||
/* | ||
* An Open PIC interrupt controller | ||
*/ | ||
mpic: pic@40000 { | ||
// This is an interrupt controller node. | ||
interrupt-controller; | ||
|
||
// No address cells so that 'interrupt-map' nodes which reference | ||
// this Open PIC node do not need a parent address specifier. | ||
#address-cells = <0>; | ||
|
||
// Two cells to encode interrupt sources. | ||
#interrupt-cells = <2>; | ||
|
||
// Offset address of 0x40000 and size of 0x40000. | ||
reg = <0x40000 0x40000>; | ||
|
||
// Compatible with Open PIC. | ||
compatible = "open-pic"; | ||
|
||
// The PIC shall not be reset. | ||
pic-no-reset; | ||
}; | ||
|
||
Example 2: | ||
|
||
/* | ||
* An interrupt generating device that is wired to an Open PIC. | ||
*/ | ||
serial0: serial@4500 { | ||
// Interrupt source '42' that is active high level-sensitive. | ||
// Note that there are only two cells as specified in the interrupt | ||
// parent's '#interrupt-cells' property. | ||
interrupts = <42 2>; | ||
|
||
// The interrupt controller that this device is wired to. | ||
interrupt-parent = <&mpic>; | ||
}; | ||
|
||
* References | ||
|
||
[1] Power.org (TM) Standard for Embedded Power Architecture (TM) Platform | ||
Requirements (ePAPR), Version 1.0, July 2008. | ||
(http://www.power.org/resources/downloads/Power_ePAPR_APPROVED_v1.0.pdf) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters