mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
3.3 KiB
94 lines
3.3 KiB
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,pm660", |
|
"qcom,pm660l", |
|
"qcom,pm7325", |
|
"qcom,pm8004", |
|
"qcom,pm8005", |
|
"qcom,pm8019", |
|
"qcom,pm8028", |
|
"qcom,pm8110", |
|
"qcom,pm8150", |
|
"qcom,pm8150b", |
|
"qcom,pm8150c", |
|
"qcom,pm8150l", |
|
"qcom,pm8226", |
|
"qcom,pm8350c", |
|
"qcom,pm8841", |
|
"qcom,pm8901", |
|
"qcom,pm8909", |
|
"qcom,pm8916", |
|
"qcom,pm8941", |
|
"qcom,pm8950", |
|
"qcom,pm8953", |
|
"qcom,pm8994", |
|
"qcom,pm8998", |
|
"qcom,pma8084", |
|
"qcom,pmd9635", |
|
"qcom,pmi8950", |
|
"qcom,pmi8962", |
|
"qcom,pmi8994", |
|
"qcom,pmi8998", |
|
"qcom,pmk8002", |
|
"qcom,pmk8350", |
|
"qcom,pmr735a", |
|
"qcom,smb2351", |
|
or generalized "qcom,spmi-pmic". |
|
- reg: Specifies the SPMI USID slave address for this device. |
|
For more information see: |
|
Documentation/devicetree/bindings/spmi/spmi.yaml |
|
|
|
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"; |
|
}; |
|
}; |
|
};
|
|
|