mfd: Document DT bindings for Qualcomm SPMI PMICs
authorStanimir Varbanov <svarbanov@mm-sol.com>
Fri, 1 Aug 2014 14:30:49 +0000 (17:30 +0300)
committerLee Jones <lee.jones@linaro.org>
Fri, 26 Sep 2014 07:24:00 +0000 (08:24 +0100)
Document DT bindings used to describe the Qualcomm SPMI PMICs.

Signed-off-by: Stanimir Varbanov <svarbanov@mm-sol.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt
new file mode 100644 (file)
index 0000000..7182b88
--- /dev/null
@@ -0,0 +1,64 @@
+          Qualcomm SPMI PMICs multi-function device bindings
+
+The Qualcomm SPMI series presently includes PM8941, PM8841 and PMA8084
+PMICs.  These PMICs use a QPNP scheme through SPMI interface.
+QPNP is effectively a partitioning scheme for dividing the SPMI extended
+register space up into logical pieces, and set of fixed register
+locations/definitions within these regions, with some of these regions
+specifically used for interrupt handling.
+
+The QPNP PMICs are used with the Qualcomm Snapdragon series SoCs, and are
+interfaced to the chip via the SPMI (System Power Management Interface) bus.
+Support for multiple independent functions are implemented by splitting the
+16-bit SPMI slave address space into 256 smaller fixed-size regions, 256 bytes
+each. A function can consume one or more of these fixed-size register regions.
+
+Required properties:
+- compatible:      Should contain one of:
+                     "qcom,pm8941"
+                     "qcom,pm8841"
+                     "qcom,pma8084"
+                     or generalized "qcom,spmi-pmic".
+- reg:             Specifies the SPMI USID slave address for this device.
+                   For more information see:
+                   Documentation/devicetree/bindings/spmi/spmi.txt
+
+Required properties for peripheral child nodes:
+- compatible:      Should contain "qcom,xxx", where "xxx" is a peripheral name.
+
+Optional properties for peripheral child nodes:
+- interrupts:      Interrupts are specified as a 4-tuple. For more information
+                   see:
+                   Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
+- interrupt-names: Corresponding interrupt name to the interrupts property
+
+Each child node of SPMI slave id represents a function of the PMIC. In the
+example below the rtc device node represents a peripheral of pm8941
+SID = 0. The regulator device node represents a peripheral of pm8941 SID = 1.
+
+Example:
+
+       spmi {
+               compatible = "qcom,spmi-pmic-arb";
+
+               pm8941@0 {
+                       compatible = "qcom,pm8941", "qcom,spmi-pmic";
+                       reg = <0x0 SPMI_USID>;
+
+                       rtc {
+                               compatible = "qcom,rtc";
+                               interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
+                               interrupt-names = "alarm";
+                       };
+               };
+
+               pm8941@1 {
+                       compatible = "qcom,pm8941", "qcom,spmi-pmic";
+                       reg = <0x1 SPMI_USID>;
+
+                       regulator {
+                               compatible = "qcom,regulator";
+                               regulator-name = "8941_boost";
+                       };
+               };
+       };