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" |
| 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: |
Andy Gross | 57d6567 | 2015-12-14 23:30:44 -0600 | [diff] [blame^] | 42 | - vdd_s4-supply: |
| 43 | - vdd_l1_l2_l3-supply: |
| 44 | - vdd_l4_l5_l6-supply: |
| 45 | - vdd_l7-supply: |
| 46 | - vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18-supply: |
| 47 | Usage: optional (pm8916 only) |
| 48 | Value type: <phandle> |
| 49 | Definition: reference to regulator supplying the input pin, as |
| 50 | described in the data sheet |
| 51 | |
| 52 | - vdd_s1-supply: |
| 53 | - vdd_s2-supply: |
| 54 | - vdd_s3-supply: |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 55 | - vdd_l1_l3-supply: |
| 56 | - vdd_l2_lvs1_2_3-supply: |
| 57 | - vdd_l4_l11-supply: |
| 58 | - vdd_l5_l7-supply: |
| 59 | - vdd_l6_l12_l14_l15-supply: |
| 60 | - vdd_l8_l16_l18_l19-supply: |
| 61 | - vdd_l9_l10_l17_l22-supply: |
| 62 | - vdd_l13_l20_l23_l24-supply: |
| 63 | - vdd_l21-supply: |
| 64 | - vin_5vs-supply: |
| 65 | Usage: optional (pm8941 only) |
| 66 | Value type: <phandle> |
| 67 | Definition: reference to regulator supplying the input pin, as |
| 68 | described in the data sheet |
| 69 | |
| 70 | The regulator node houses sub-nodes for each regulator within the device. Each |
| 71 | sub-node is identified using the node's name, with valid values listed for each |
| 72 | of the pmics below. |
| 73 | |
| 74 | pm8841: |
| 75 | s1, s2, s3, s4, s5, s6, s7, s8 |
| 76 | |
Andy Gross | 57d6567 | 2015-12-14 23:30:44 -0600 | [diff] [blame^] | 77 | pm8916: |
| 78 | s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, |
| 79 | l14, l15, l16, l17, l18 |
| 80 | |
Bjorn Andersson | ba68227 | 2015-07-27 20:20:31 -0700 | [diff] [blame] | 81 | pm8941: |
| 82 | s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, |
| 83 | l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, |
| 84 | lvs3, 5vs1, 5vs2 |
| 85 | |
| 86 | The content of each sub-node is defined by the standard binding for regulators - |
| 87 | see regulator.txt. |
| 88 | |
| 89 | = EXAMPLE |
| 90 | |
| 91 | smd { |
| 92 | compatible = "qcom,smd"; |
| 93 | |
| 94 | rpm { |
| 95 | interrupts = <0 168 1>; |
| 96 | qcom,ipc = <&apcs 8 0>; |
| 97 | qcom,smd-edge = <15>; |
| 98 | |
| 99 | rpm_requests { |
| 100 | compatible = "qcom,rpm-msm8974"; |
| 101 | qcom,smd-channels = "rpm_requests"; |
| 102 | |
| 103 | pm8941-regulators { |
| 104 | compatible = "qcom,rpm-pm8941-regulators"; |
| 105 | vdd_l13_l20_l23_l24-supply = <&pm8941_boost>; |
| 106 | |
| 107 | pm8941_s3: s3 { |
| 108 | regulator-min-microvolt = <1800000>; |
| 109 | regulator-max-microvolt = <1800000>; |
| 110 | }; |
| 111 | |
| 112 | pm8941_boost: s4 { |
| 113 | regulator-min-microvolt = <5000000>; |
| 114 | regulator-max-microvolt = <5000000>; |
| 115 | }; |
| 116 | |
| 117 | pm8941_l20: l20 { |
| 118 | regulator-min-microvolt = <2950000>; |
| 119 | regulator-max-microvolt = <2950000>; |
| 120 | }; |
| 121 | }; |
| 122 | }; |
| 123 | }; |
| 124 | }; |