Stephen Boyd | e92a404 | 2015-06-12 15:47:10 -0700 | [diff] [blame] | 1 | Qualcomm SPMI Regulators |
| 2 | |
| 3 | - compatible: |
| 4 | Usage: required |
| 5 | Value type: <string> |
| 6 | Definition: must be one of: |
| 7 | "qcom,pm8841-regulators" |
| 8 | "qcom,pm8916-regulators" |
| 9 | "qcom,pm8941-regulators" |
Stephen Boyd | 50314e5 | 2016-03-25 14:35:08 -0700 | [diff] [blame] | 10 | "qcom,pm8994-regulators" |
Stephen Boyd | e92a404 | 2015-06-12 15:47:10 -0700 | [diff] [blame] | 11 | |
| 12 | - interrupts: |
| 13 | Usage: optional |
| 14 | Value type: <prop-encoded-array> |
| 15 | Definition: List of OCP interrupts. |
| 16 | |
| 17 | - interrupt-names: |
| 18 | Usage: required if 'interrupts' property present |
| 19 | Value type: <string-array> |
| 20 | Definition: List of strings defining the names of the |
| 21 | interrupts in the 'interrupts' property 1-to-1. |
| 22 | Supported values are "ocp-<regulator_name>", where |
| 23 | <regulator_name> corresponds to a voltage switch |
| 24 | type regulator. |
| 25 | |
| 26 | - vdd_s1-supply: |
| 27 | - vdd_s2-supply: |
| 28 | - vdd_s3-supply: |
| 29 | - vdd_s4-supply: |
| 30 | - vdd_s5-supply: |
| 31 | - vdd_s6-supply: |
| 32 | - vdd_s7-supply: |
| 33 | - vdd_s8-supply: |
| 34 | Usage: optional (pm8841 only) |
| 35 | Value type: <phandle> |
| 36 | Definition: Reference to regulator supplying the input pin, as |
| 37 | described in the data sheet. |
| 38 | |
| 39 | - vdd_s1-supply: |
| 40 | - vdd_s2-supply: |
| 41 | - vdd_s3-supply: |
| 42 | - vdd_s4-supply: |
| 43 | - vdd_l1_l3-supply: |
| 44 | - vdd_l2-supply: |
| 45 | - vdd_l4_l5_l6-supply: |
| 46 | - vdd_l7-supply: |
| 47 | - vdd_l8_l11_l14_l15_l16-supply: |
| 48 | - vdd_l9_l10_l12_l13_l17_l18-supply: |
| 49 | Usage: optional (pm8916 only) |
| 50 | Value type: <phandle> |
| 51 | Definition: Reference to regulator supplying the input pin, as |
| 52 | described in the data sheet. |
| 53 | |
| 54 | - vdd_s1-supply: |
| 55 | - vdd_s2-supply: |
| 56 | - vdd_s3-supply: |
| 57 | - vdd_l1_l3-supply: |
| 58 | - vdd_l2_lvs_1_2_3-supply: |
| 59 | - vdd_l4_l11-supply: |
| 60 | - vdd_l5_l7-supply: |
| 61 | - vdd_l6_l12_l14_l15-supply: |
| 62 | - vdd_l8_l16_l18_19-supply: |
| 63 | - vdd_l9_l10_l17_l22-supply: |
| 64 | - vdd_l13_l20_l23_l24-supply: |
| 65 | - vdd_l21-supply: |
| 66 | - vin_5vs-supply: |
| 67 | Usage: optional (pm8941 only) |
| 68 | Value type: <phandle> |
| 69 | Definition: Reference to regulator supplying the input pin, as |
| 70 | described in the data sheet. |
| 71 | |
Stephen Boyd | 50314e5 | 2016-03-25 14:35:08 -0700 | [diff] [blame] | 72 | - vdd_s1-supply: |
| 73 | - vdd_s2-supply: |
| 74 | - vdd_s3-supply: |
| 75 | - vdd_s4-supply: |
| 76 | - vdd_s5-supply: |
| 77 | - vdd_s6-supply: |
| 78 | - vdd_s7-supply: |
| 79 | - vdd_s8-supply: |
| 80 | - vdd_s9-supply: |
| 81 | - vdd_s10-supply: |
| 82 | - vdd_s11-supply: |
| 83 | - vdd_s12-supply: |
| 84 | - vdd_l1-supply: |
| 85 | - vdd_l2_l26_l28-supply: |
| 86 | - vdd_l3_l11-supply: |
| 87 | - vdd_l4_l27_l31-supply: |
| 88 | - vdd_l5_l7-supply: |
| 89 | - vdd_l6_l12_l32-supply: |
| 90 | - vdd_l8_l16_l30-supply: |
| 91 | - vdd_l9_l10_l18_l22-supply: |
| 92 | - vdd_l13_l19_l23_l24-supply: |
| 93 | - vdd_l14_l15-supply: |
| 94 | - vdd_l17_l29-supply: |
| 95 | - vdd_l20_l21-supply: |
| 96 | - vdd_l25-supply: |
| 97 | - vdd_lvs_1_2-supply: |
| 98 | Usage: optional (pm8994 only) |
| 99 | Value type: <phandle> |
| 100 | Definition: Reference to regulator supplying the input pin, as |
| 101 | described in the data sheet. |
| 102 | |
Stephen Boyd | e92a404 | 2015-06-12 15:47:10 -0700 | [diff] [blame] | 103 | |
| 104 | The regulator node houses sub-nodes for each regulator within the device. Each |
| 105 | sub-node is identified using the node's name, with valid values listed for each |
| 106 | of the PMICs below. |
| 107 | |
| 108 | pm8841: |
| 109 | s1, s2, s3, s4, s5, s6, s7, s8 |
| 110 | |
| 111 | pm8916: |
| 112 | s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, |
| 113 | l14, l15, l16, l17, l18 |
| 114 | |
| 115 | pm8941: |
Stephen Boyd | c333dfe | 2016-06-25 22:52:11 -0700 | [diff] [blame] | 116 | s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, |
| 117 | l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, lvs3, |
Stephen Boyd | 93bfe79 | 2016-06-25 22:52:12 -0700 | [diff] [blame] | 118 | 5vs1, 5vs2 |
Stephen Boyd | e92a404 | 2015-06-12 15:47:10 -0700 | [diff] [blame] | 119 | |
Stephen Boyd | 50314e5 | 2016-03-25 14:35:08 -0700 | [diff] [blame] | 120 | pm8994: |
| 121 | s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, l4, l5, |
| 122 | l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20, |
| 123 | l21, l22, l23, l24, l25, l26, l27, l28, l29, l30, l31, l32, lvs1, lvs2 |
| 124 | |
Stephen Boyd | e92a404 | 2015-06-12 15:47:10 -0700 | [diff] [blame] | 125 | The content of each sub-node is defined by the standard binding for regulators - |
| 126 | see regulator.txt - with additional custom properties described below: |
| 127 | |
| 128 | - regulator-initial-mode: |
| 129 | Usage: optional |
| 130 | Value type: <u32> |
Stephen Boyd | e2adfac | 2015-07-17 14:41:55 -0700 | [diff] [blame] | 131 | Description: 2 = Set initial mode to auto mode (automatically select |
| 132 | between HPM and LPM); not available on boost type |
| 133 | regulators. |
| 134 | |
| 135 | 1 = Set initial mode to high power mode (HPM), also referred |
| 136 | to as NPM. HPM consumes more ground current than LPM, but |
Stephen Boyd | e92a404 | 2015-06-12 15:47:10 -0700 | [diff] [blame] | 137 | it can source significantly higher load current. HPM is not |
| 138 | available on boost type regulators. For voltage switch type |
| 139 | regulators, HPM implies that over current protection and |
Stephen Boyd | e2adfac | 2015-07-17 14:41:55 -0700 | [diff] [blame] | 140 | soft start are active all the time. |
| 141 | |
| 142 | 0 = Set initial mode to low power mode (LPM). |
| 143 | |
| 144 | - qcom,ocp-max-retries: |
| 145 | Usage: optional |
| 146 | Value type: <u32> |
| 147 | Description: Maximum number of times to try toggling a voltage switch |
| 148 | off and back on as a result of consecutive over current |
| 149 | events. |
| 150 | |
| 151 | - qcom,ocp-retry-delay: |
| 152 | Usage: optional |
| 153 | Value type: <u32> |
| 154 | Description: Time to delay in milliseconds between each voltage switch |
| 155 | toggle after an over current event takes place. |
| 156 | |
| 157 | - qcom,pin-ctrl-enable: |
| 158 | Usage: optional |
| 159 | Value type: <u32> |
| 160 | Description: Bit mask specifying which hardware pins should be used to |
| 161 | enable the regulator, if any; supported bits are: |
| 162 | 0 = ignore all hardware enable signals |
| 163 | BIT(0) = follow HW0_EN signal |
| 164 | BIT(1) = follow HW1_EN signal |
| 165 | BIT(2) = follow HW2_EN signal |
| 166 | BIT(3) = follow HW3_EN signal |
| 167 | |
| 168 | - qcom,pin-ctrl-hpm: |
| 169 | Usage: optional |
| 170 | Value type: <u32> |
| 171 | Description: Bit mask specifying which hardware pins should be used to |
| 172 | force the regulator into high power mode, if any; |
| 173 | supported bits are: |
| 174 | 0 = ignore all hardware enable signals |
| 175 | BIT(0) = follow HW0_EN signal |
| 176 | BIT(1) = follow HW1_EN signal |
| 177 | BIT(2) = follow HW2_EN signal |
| 178 | BIT(3) = follow HW3_EN signal |
| 179 | BIT(4) = follow PMIC awake state |
| 180 | |
| 181 | - qcom,vs-soft-start-strength: |
| 182 | Usage: optional |
| 183 | Value type: <u32> |
| 184 | Description: This property sets the soft start strength for voltage |
| 185 | switch type regulators; supported values are: |
| 186 | 0 = 0.05 uA |
| 187 | 1 = 0.25 uA |
| 188 | 2 = 0.55 uA |
| 189 | 3 = 0.75 uA |
Stephen Boyd | e92a404 | 2015-06-12 15:47:10 -0700 | [diff] [blame] | 190 | |
| 191 | Example: |
| 192 | |
| 193 | regulators { |
| 194 | compatible = "qcom,pm8941-regulators"; |
| 195 | vdd_l1_l3-supply = <&s1>; |
| 196 | |
| 197 | s1: s1 { |
| 198 | regulator-min-microvolt = <1300000>; |
| 199 | regulator-max-microvolt = <1400000>; |
| 200 | }; |
| 201 | |
| 202 | ... |
| 203 | |
| 204 | l1: l1 { |
| 205 | regulator-min-microvolt = <1225000>; |
| 206 | regulator-max-microvolt = <1300000>; |
| 207 | }; |
| 208 | |
| 209 | .... |
| 210 | }; |