Andy Gross | 7a40058 | 2015-12-14 23:30:43 -0600 | [diff] [blame] | 1 | QCOM SMD RPM REGULATOR |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 2 | |
Andy Gross | 7a40058 | 2015-12-14 23:30:43 -0600 | [diff] [blame] | 3 | The Qualcomm RPM over SMD regulator is modelled as a subdevice of the RPM. |
| 4 | Because SMD is used as the communication transport mechanism, the RPM resides as |
| 5 | a subnode of the SMD. As such, the SMD-RPM regulator requires that the SMD and |
| 6 | RPM nodes be present. |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 7 | |
Andy Gross | 7a40058 | 2015-12-14 23:30:43 -0600 | [diff] [blame] | 8 | Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt for |
| 9 | information pertaining to the SMD node. |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 10 | |
Andy Gross | 7a40058 | 2015-12-14 23:30:43 -0600 | [diff] [blame] | 11 | Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt for |
| 12 | information regarding the RPM node. |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 13 | |
Andy Gross | 7a40058 | 2015-12-14 23:30:43 -0600 | [diff] [blame] | 14 | == Regulator |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 15 | |
| 16 | Regulator nodes are identified by their compatible: |
| 17 | |
| 18 | - compatible: |
| 19 | Usage: required |
| 20 | Value type: <string> |
| 21 | Definition: must be one of: |
| 22 | "qcom,rpm-pm8841-regulators" |
Andy Gross | 57d6567 | 2015-12-14 23:30:44 -0600 | [diff] [blame] | 23 | "qcom,rpm-pm8916-regulators" |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 24 | "qcom,rpm-pm8941-regulators" |
Andy Gross | ee01d0c | 2015-12-14 23:30:45 -0600 | [diff] [blame] | 25 | "qcom,rpm-pma8084-regulators" |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 26 | |
| 27 | - vdd_s1-supply: |
| 28 | - vdd_s2-supply: |
| 29 | - vdd_s3-supply: |
| 30 | - vdd_s4-supply: |
| 31 | - vdd_s5-supply: |
| 32 | - vdd_s6-supply: |
| 33 | - vdd_s7-supply: |
| 34 | - vdd_s8-supply: |
| 35 | Usage: optional (pm8841 only) |
| 36 | Value type: <phandle> |
| 37 | Definition: reference to regulator supplying the input pin, as |
| 38 | described in the data sheet |
| 39 | |
| 40 | - vdd_s1-supply: |
| 41 | - vdd_s2-supply: |
| 42 | - vdd_s3-supply: |
Andy Gross | 57d6567 | 2015-12-14 23:30:44 -0600 | [diff] [blame] | 43 | - vdd_s4-supply: |
| 44 | - vdd_l1_l2_l3-supply: |
| 45 | - vdd_l4_l5_l6-supply: |
| 46 | - vdd_l7-supply: |
| 47 | - vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18-supply: |
| 48 | Usage: optional (pm8916 only) |
| 49 | Value type: <phandle> |
| 50 | Definition: reference to regulator supplying the input pin, as |
| 51 | described in the data sheet |
| 52 | |
| 53 | - vdd_s1-supply: |
| 54 | - vdd_s2-supply: |
| 55 | - vdd_s3-supply: |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 56 | - vdd_l1_l3-supply: |
| 57 | - vdd_l2_lvs1_2_3-supply: |
| 58 | - vdd_l4_l11-supply: |
| 59 | - vdd_l5_l7-supply: |
| 60 | - vdd_l6_l12_l14_l15-supply: |
| 61 | - vdd_l8_l16_l18_l19-supply: |
| 62 | - vdd_l9_l10_l17_l22-supply: |
| 63 | - vdd_l13_l20_l23_l24-supply: |
| 64 | - vdd_l21-supply: |
| 65 | - vin_5vs-supply: |
| 66 | Usage: optional (pm8941 only) |
| 67 | Value type: <phandle> |
| 68 | Definition: reference to regulator supplying the input pin, as |
| 69 | described in the data sheet |
| 70 | |
Andy Gross | ee01d0c | 2015-12-14 23:30:45 -0600 | [diff] [blame] | 71 | - vdd_s1-supply: |
| 72 | - vdd_s2-supply: |
| 73 | - vdd_s3-supply: |
| 74 | - vdd_s4-supply: |
| 75 | - vdd_s5-supply: |
| 76 | - vdd_s6-supply: |
| 77 | - vdd_s7-supply: |
| 78 | - vdd_s8-supply: |
| 79 | - vdd_s9-supply: |
| 80 | - vdd_s10-supply: |
| 81 | - vdd_s11-supply: |
| 82 | - vdd_s12-supply: |
| 83 | - vdd_l1_l11-supply: |
| 84 | - vdd_l2_l3_l4_l27-supply: |
| 85 | - vdd_l5_l7-supply: |
| 86 | - vdd_l6_l12_l14_l15_l26-supply: |
| 87 | - vdd_l8-supply: |
| 88 | - vdd_l9_l10_l13_l20_l23_l24-supply: |
| 89 | - vdd_l16_l25-supply: |
| 90 | - vdd_l17-supply: |
| 91 | - vdd_l18-supply: |
| 92 | - vdd_l19-supply: |
| 93 | - vdd_l21-supply: |
| 94 | - vdd_l22-supply: |
| 95 | Usage: optional (pma8084 only) |
| 96 | Value type: <phandle> |
| 97 | Definition: reference to regulator supplying the input pin, as |
| 98 | described in the data sheet |
| 99 | |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 100 | The regulator node houses sub-nodes for each regulator within the device. Each |
| 101 | sub-node is identified using the node's name, with valid values listed for each |
| 102 | of the pmics below. |
| 103 | |
| 104 | pm8841: |
| 105 | s1, s2, s3, s4, s5, s6, s7, s8 |
| 106 | |
Andy Gross | 57d6567 | 2015-12-14 23:30:44 -0600 | [diff] [blame] | 107 | pm8916: |
| 108 | s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, |
| 109 | l14, l15, l16, l17, l18 |
| 110 | |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 111 | pm8941: |
| 112 | s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, |
| 113 | l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, |
| 114 | lvs3, 5vs1, 5vs2 |
| 115 | |
Andy Gross | ee01d0c | 2015-12-14 23:30:45 -0600 | [diff] [blame] | 116 | pma8084: |
| 117 | s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, l4, l5, |
| 118 | l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20, |
| 119 | l21, l22, l23, l24, l25, l26, l27, lvs1, lvs2, lvs3, lvs4, 5vs1 |
| 120 | |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 121 | The content of each sub-node is defined by the standard binding for regulators - |
| 122 | see regulator.txt. |
| 123 | |
| 124 | = EXAMPLE |
| 125 | |
| 126 | smd { |
| 127 | compatible = "qcom,smd"; |
| 128 | |
| 129 | rpm { |
| 130 | interrupts = <0 168 1>; |
| 131 | qcom,ipc = <&apcs 8 0>; |
| 132 | qcom,smd-edge = <15>; |
| 133 | |
| 134 | rpm_requests { |
| 135 | compatible = "qcom,rpm-msm8974"; |
| 136 | qcom,smd-channels = "rpm_requests"; |
| 137 | |
| 138 | pm8941-regulators { |
| 139 | compatible = "qcom,rpm-pm8941-regulators"; |
| 140 | vdd_l13_l20_l23_l24-supply = <&pm8941_boost>; |
| 141 | |
| 142 | pm8941_s3: s3 { |
| 143 | regulator-min-microvolt = <1800000>; |
| 144 | regulator-max-microvolt = <1800000>; |
| 145 | }; |
| 146 | |
| 147 | pm8941_boost: s4 { |
| 148 | regulator-min-microvolt = <5000000>; |
| 149 | regulator-max-microvolt = <5000000>; |
| 150 | }; |
| 151 | |
| 152 | pm8941_l20: l20 { |
| 153 | regulator-min-microvolt = <2950000>; |
| 154 | regulator-max-microvolt = <2950000>; |
| 155 | }; |
| 156 | }; |
| 157 | }; |
| 158 | }; |
| 159 | }; |