-
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.
spmi: document the PMIC arbiter SPMI bindings
Signed-off-by: Josh Cartwright <joshc@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- Loading branch information
Josh Cartwright
authored and
Greg Kroah-Hartman
committed
Feb 15, 2014
1 parent
67b563f
commit 2c9e577
Showing
1 changed file
with
61 additions
and
0 deletions.
There are no files selected for viewing
61 changes: 61 additions & 0 deletions
61
Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
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,61 @@ | ||
Qualcomm SPMI Controller (PMIC Arbiter) | ||
|
||
The SPMI PMIC Arbiter is found on the Snapdragon 800 Series. It is an SPMI | ||
controller with wrapping arbitration logic to allow for multiple on-chip | ||
devices to control a single SPMI master. | ||
|
||
The PMIC Arbiter can also act as an interrupt controller, providing interrupts | ||
to slave devices. | ||
|
||
See spmi.txt for the generic SPMI controller binding requirements for child | ||
nodes. | ||
|
||
See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for | ||
generic interrupt controller binding documentation. | ||
|
||
Required properties: | ||
- compatible : should be "qcom,spmi-pmic-arb". | ||
- reg-names : must contain: | ||
"core" - core registers | ||
"intr" - interrupt controller registers | ||
"cnfg" - configuration registers | ||
- reg : address + size pairs describing the PMIC arb register sets; order must | ||
correspond with the order of entries in reg-names | ||
- #address-cells : must be set to 2 | ||
- #size-cells : must be set to 0 | ||
- qcom,ee : indicates the active Execution Environment identifier (0-5) | ||
- qcom,channel : which of the PMIC Arb provided channels to use for accesses (0-5) | ||
- interrupts : interrupt list for the PMIC Arb controller, must contain a | ||
single interrupt entry for the peripheral interrupt | ||
- interrupt-names : corresponding interrupt names for the interrupts | ||
listed in the 'interrupts' property, must contain: | ||
"periph_irq" - summary interrupt for PMIC peripherals | ||
- interrupt-controller : boolean indicator that the PMIC arbiter is an interrupt controller | ||
- #interrupt-cells : must be set to 4. Interrupts are specified as a 4-tuple: | ||
cell 1: slave ID for the requested interrupt (0-15) | ||
cell 2: peripheral ID for requested interrupt (0-255) | ||
cell 3: the requested peripheral interrupt (0-7) | ||
cell 4: interrupt flags indicating level-sense information, as defined in | ||
dt-bindings/interrupt-controller/irq.h | ||
|
||
Example: | ||
|
||
spmi { | ||
compatible = "qcom,spmi-pmic-arb"; | ||
reg-names = "core", "intr", "cnfg"; | ||
reg = <0xfc4cf000 0x1000>, | ||
<0xfc4cb000 0x1000>, | ||
<0xfc4ca000 0x1000>; | ||
|
||
interrupt-names = "periph_irq"; | ||
interrupts = <0 190 0>; | ||
|
||
qcom,ee = <0>; | ||
qcom,channel = <0>; | ||
|
||
#address-cells = <2>; | ||
#size-cells = <0>; | ||
|
||
interrupt-controller; | ||
#interrupt-cells = <4>; | ||
}; |