Merge branch 'async-scsi-resume' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / Documentation / devicetree / bindings / spmi / qcom,spmi-pmic-arb.txt
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         };