diff options
author | Josh Cartwright <joshc@codeaurora.org> | 2014-02-12 14:44:26 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-15 14:55:28 -0500 |
commit | 2c9e577d979b87b1c500a736b68319830a984a2f (patch) | |
tree | e12a100f2adc1349ea624b44ab68ed40b94f0399 | |
parent | 67b563f1f258739eefa79d9ce6c3177f670481df (diff) |
spmi: document the PMIC arbiter SPMI bindings
Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt new file mode 100644 index 000000000000..715d0998af8e --- /dev/null +++ b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt | |||
@@ -0,0 +1,61 @@ | |||
1 | Qualcomm SPMI Controller (PMIC Arbiter) | ||
2 | |||
3 | The SPMI PMIC Arbiter is found on the Snapdragon 800 Series. It is an SPMI | ||
4 | controller with wrapping arbitration logic to allow for multiple on-chip | ||
5 | devices to control a single SPMI master. | ||
6 | |||
7 | The PMIC Arbiter can also act as an interrupt controller, providing interrupts | ||
8 | to slave devices. | ||
9 | |||
10 | See spmi.txt for the generic SPMI controller binding requirements for child | ||
11 | nodes. | ||
12 | |||
13 | See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for | ||
14 | generic interrupt controller binding documentation. | ||
15 | |||
16 | Required properties: | ||
17 | - compatible : should be "qcom,spmi-pmic-arb". | ||
18 | - reg-names : must contain: | ||
19 | "core" - core registers | ||
20 | "intr" - interrupt controller registers | ||
21 | "cnfg" - configuration registers | ||
22 | - reg : address + size pairs describing the PMIC arb register sets; order must | ||
23 | correspond with the order of entries in reg-names | ||
24 | - #address-cells : must be set to 2 | ||
25 | - #size-cells : must be set to 0 | ||
26 | - qcom,ee : indicates the active Execution Environment identifier (0-5) | ||
27 | - qcom,channel : which of the PMIC Arb provided channels to use for accesses (0-5) | ||
28 | - interrupts : interrupt list for the PMIC Arb controller, must contain a | ||
29 | single interrupt entry for the peripheral interrupt | ||
30 | - interrupt-names : corresponding interrupt names for the interrupts | ||
31 | listed in the 'interrupts' property, must contain: | ||
32 | "periph_irq" - summary interrupt for PMIC peripherals | ||
33 | - interrupt-controller : boolean indicator that the PMIC arbiter is an interrupt controller | ||
34 | - #interrupt-cells : must be set to 4. Interrupts are specified as a 4-tuple: | ||
35 | cell 1: slave ID for the requested interrupt (0-15) | ||
36 | cell 2: peripheral ID for requested interrupt (0-255) | ||
37 | cell 3: the requested peripheral interrupt (0-7) | ||
38 | cell 4: interrupt flags indicating level-sense information, as defined in | ||
39 | dt-bindings/interrupt-controller/irq.h | ||
40 | |||
41 | Example: | ||
42 | |||
43 | spmi { | ||
44 | compatible = "qcom,spmi-pmic-arb"; | ||
45 | reg-names = "core", "intr", "cnfg"; | ||
46 | reg = <0xfc4cf000 0x1000>, | ||
47 | <0xfc4cb000 0x1000>, | ||
48 | <0xfc4ca000 0x1000>; | ||
49 | |||
50 | interrupt-names = "periph_irq"; | ||
51 | interrupts = <0 190 0>; | ||
52 | |||
53 | qcom,ee = <0>; | ||
54 | qcom,channel = <0>; | ||
55 | |||
56 | #address-cells = <2>; | ||
57 | #size-cells = <0>; | ||
58 | |||
59 | interrupt-controller; | ||
60 | #interrupt-cells = <4>; | ||
61 | }; | ||