diff options
| -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 | }; | ||
