123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- 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";
- };
- };
- };
|