Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v5.0 160 lines 4.7 kB view raw
1Qualcomm Technologies, Inc. RPMh Regulators 2 3rpmh-regulator devices support PMIC regulator management via the Voltage 4Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators. The APPS 5processor communicates with these hardware blocks via a Resource State 6Coordinator (RSC) using command packets. The VRM allows changing three 7parameters for a given regulator: enable state, output voltage, and operating 8mode. The XOB allows changing only a single parameter for a given regulator: 9its enable state. Despite its name, the XOB is capable of controlling the 10enable state of any PMIC peripheral. It is used for clock buffers, low-voltage 11switches, and LDO/SMPS regulators which have a fixed voltage and mode. 12 13======================= 14Required Node Structure 15======================= 16 17RPMh regulators must be described in two levels of device nodes. The first 18level describes the PMIC containing the regulators and must reside within an 19RPMh device node. The second level describes each regulator within the PMIC 20which is to be used on the board. Each of these regulators maps to a single 21RPMh resource. 22 23The names used for regulator nodes must match those supported by a given PMIC. 24Supported regulator node names: 25 PM8998: smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2 26 PMI8998: bob 27 PM8005: smps1 - smps4 28 29======================== 30First Level Nodes - PMIC 31======================== 32 33- compatible 34 Usage: required 35 Value type: <string> 36 Definition: Must be one of: "qcom,pm8998-rpmh-regulators", 37 "qcom,pmi8998-rpmh-regulators" or 38 "qcom,pm8005-rpmh-regulators". 39 40- qcom,pmic-id 41 Usage: required 42 Value type: <string> 43 Definition: RPMh resource name suffix used for the regulators found on 44 this PMIC. Typical values: "a", "b", "c", "d", "e", "f". 45 46- vdd-s1-supply 47- vdd-s2-supply 48- vdd-s3-supply 49- vdd-s4-supply 50 Usage: optional (PM8998 and PM8005 only) 51 Value type: <phandle> 52 Definition: phandle of the parent supply regulator of one or more of the 53 regulators for this PMIC. 54 55- vdd-s5-supply 56- vdd-s6-supply 57- vdd-s7-supply 58- vdd-s8-supply 59- vdd-s9-supply 60- vdd-s10-supply 61- vdd-s11-supply 62- vdd-s12-supply 63- vdd-s13-supply 64- vdd-l1-l27-supply 65- vdd-l2-l8-l17-supply 66- vdd-l3-l11-supply 67- vdd-l4-l5-supply 68- vdd-l6-supply 69- vdd-l7-l12-l14-l15-supply 70- vdd-l9-supply 71- vdd-l10-l23-l25-supply 72- vdd-l13-l19-l21-supply 73- vdd-l16-l28-supply 74- vdd-l18-l22-supply 75- vdd-l20-l24-supply 76- vdd-l26-supply 77- vin-lvs-1-2-supply 78 Usage: optional (PM8998 only) 79 Value type: <phandle> 80 Definition: phandle of the parent supply regulator of one or more of the 81 regulators for this PMIC. 82 83- vdd-bob-supply 84 Usage: optional (PMI8998 only) 85 Value type: <phandle> 86 Definition: BOB regulator parent supply phandle 87 88=============================== 89Second Level Nodes - Regulators 90=============================== 91 92- qcom,always-wait-for-ack 93 Usage: optional 94 Value type: <empty> 95 Definition: Boolean flag which indicates that the application processor 96 must wait for an ACK or a NACK from RPMh for every request 97 sent for this regulator including those which are for a 98 strictly lower power state. 99 100Other properties defined in Documentation/devicetree/bindings/regulator.txt 101may also be used. regulator-initial-mode and regulator-allowed-modes may be 102specified for VRM regulators using mode values from 103include/dt-bindings/regulator/qcom,rpmh-regulator.h. regulator-allow-bypass 104may be specified for BOB type regulators managed via VRM. 105regulator-allow-set-load may be specified for LDO type regulators managed via 106VRM. 107 108======== 109Examples 110======== 111 112#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 113 114&apps_rsc { 115 pm8998-rpmh-regulators { 116 compatible = "qcom,pm8998-rpmh-regulators"; 117 qcom,pmic-id = "a"; 118 119 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>; 120 121 smps2 { 122 regulator-min-microvolt = <1100000>; 123 regulator-max-microvolt = <1100000>; 124 }; 125 126 pm8998_s5: smps5 { 127 regulator-min-microvolt = <1904000>; 128 regulator-max-microvolt = <2040000>; 129 }; 130 131 ldo7 { 132 regulator-min-microvolt = <1800000>; 133 regulator-max-microvolt = <1800000>; 134 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 135 regulator-allowed-modes = 136 <RPMH_REGULATOR_MODE_LPM 137 RPMH_REGULATOR_MODE_HPM>; 138 regulator-allow-set-load; 139 }; 140 141 lvs1 { 142 regulator-min-microvolt = <1800000>; 143 regulator-max-microvolt = <1800000>; 144 }; 145 }; 146 147 pmi8998-rpmh-regulators { 148 compatible = "qcom,pmi8998-rpmh-regulators"; 149 qcom,pmic-id = "b"; 150 151 bob { 152 regulator-min-microvolt = <3312000>; 153 regulator-max-microvolt = <3600000>; 154 regulator-allowed-modes = 155 <RPMH_REGULATOR_MODE_AUTO 156 RPMH_REGULATOR_MODE_HPM>; 157 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 158 }; 159 }; 160};