|  | 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", | 
|  | "qcom,pm8019", | 
|  | "qcom,pm8226", | 
|  | "qcom,pm8110", | 
|  | "qcom,pma8084", | 
|  | "qcom,pmi8962", | 
|  | "qcom,pmd9635", | 
|  | "qcom,pm8994", | 
|  | "qcom,pmi8994", | 
|  | "qcom,pm8916", | 
|  | "qcom,pm8004", | 
|  | "qcom,pm8909", | 
|  | 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"; | 
|  | }; | 
|  | }; | 
|  | }; |