1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
| 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",
| "qcom,pm8998",
| "qcom,pmi8998",
| "qcom,pm8005",
| 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";
| };
| };
| };
|
|