Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0-only |
| 2 | /* |
| 3 | * msm8939-pm8916.dtsi describes common properties (e.g. regulator connections) |
| 4 | * that apply to most devices that make use of the MSM8939 SoC and PM8916 PMIC. |
| 5 | * Many regulators have a fixed purpose in the original reference design and |
| 6 | * were rarely re-used for different purposes. Devices that deviate from the |
| 7 | * typical reference design should not make use of this include and instead add |
| 8 | * the necessary properties in the board-specific device tree. |
| 9 | */ |
| 10 | |
| 11 | #include "msm8939.dtsi" |
| 12 | #include "pm8916.dtsi" |
| 13 | |
| 14 | &mdss_dsi0 { |
| 15 | vdda-supply = <&pm8916_l2>; |
| 16 | vddio-supply = <&pm8916_l6>; |
| 17 | }; |
| 18 | |
| 19 | &mdss_dsi0_phy { |
| 20 | vddio-supply = <&pm8916_l6>; |
| 21 | }; |
| 22 | |
| 23 | &mdss_dsi1 { |
| 24 | vdda-supply = <&pm8916_l2>; |
| 25 | vddio-supply = <&pm8916_l6>; |
| 26 | }; |
| 27 | |
| 28 | &mdss_dsi1_phy { |
| 29 | vddio-supply = <&pm8916_l6>; |
| 30 | }; |
| 31 | |
| 32 | &mpss { |
| 33 | pll-supply = <&pm8916_l7>; |
| 34 | }; |
| 35 | |
| 36 | &pm8916_codec { |
| 37 | vdd-cdc-io-supply = <&pm8916_l5>; |
| 38 | vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>; |
| 39 | vdd-micbias-supply = <&pm8916_l13>; |
| 40 | }; |
| 41 | |
| 42 | &rpm_requests { |
| 43 | pm8916_rpm_regulators: regulators { |
| 44 | compatible = "qcom,rpm-pm8916-regulators"; |
| 45 | vdd_l1_l2_l3-supply = <&pm8916_s3>; |
| 46 | vdd_l4_l5_l6-supply = <&pm8916_s4>; |
| 47 | vdd_l7-supply = <&pm8916_s4>; |
| 48 | |
| 49 | /* pm8916_s1 is managed by rpmpd (MSM8939_VDDMDCX) */ |
| 50 | /* pm8916_s2 is managed by rpmpd (MSM8939_VDDCX) */ |
| 51 | pm8916_s3: s3 { |
| 52 | regulator-min-microvolt = <1250000>; |
| 53 | regulator-max-microvolt = <1350000>; |
| 54 | regulator-always-on; /* Needed for L2 */ |
| 55 | }; |
| 56 | pm8916_s4: s4 { |
| 57 | regulator-min-microvolt = <1850000>; |
| 58 | regulator-max-microvolt = <2150000>; |
| 59 | regulator-always-on; /* Needed for L5/L7 */ |
| 60 | }; |
| 61 | |
| 62 | /* |
| 63 | * Some of the regulators are unused or managed by another |
| 64 | * processor (e.g. the modem). We should still define nodes for |
| 65 | * them to ensure the vote from the application processor can be |
| 66 | * dropped in case the regulators are already on during boot. |
| 67 | * |
| 68 | * The labels for these nodes are omitted on purpose because |
| 69 | * boards should configure a proper voltage before using them. |
| 70 | */ |
| 71 | l1 {}; |
| 72 | |
| 73 | pm8916_l2: l2 { |
| 74 | regulator-min-microvolt = <1200000>; |
| 75 | regulator-max-microvolt = <1200000>; |
| 76 | regulator-always-on; /* Needed for LPDDR RAM */ |
| 77 | }; |
| 78 | |
| 79 | /* pm8916_l3 is managed by rpmpd (MSM8939_VDDMX) */ |
| 80 | |
| 81 | l4 {}; |
| 82 | |
| 83 | pm8916_l5: l5 { |
| 84 | regulator-min-microvolt = <1800000>; |
| 85 | regulator-max-microvolt = <1800000>; |
| 86 | regulator-always-on; /* Needed for most digital I/O */ |
| 87 | }; |
| 88 | |
| 89 | pm8916_l6: l6 { |
| 90 | regulator-min-microvolt = <1800000>; |
| 91 | regulator-max-microvolt = <1800000>; |
| 92 | }; |
| 93 | |
| 94 | pm8916_l7: l7 { |
| 95 | regulator-min-microvolt = <1800000>; |
| 96 | regulator-max-microvolt = <1800000>; |
| 97 | regulator-always-on; /* Needed for CPU PLL */ |
| 98 | }; |
| 99 | |
| 100 | pm8916_l8: l8 { |
| 101 | regulator-min-microvolt = <2900000>; |
| 102 | regulator-max-microvolt = <2900000>; |
| 103 | }; |
| 104 | |
| 105 | pm8916_l9: l9 { |
| 106 | regulator-min-microvolt = <3300000>; |
| 107 | regulator-max-microvolt = <3300000>; |
| 108 | }; |
| 109 | |
| 110 | l10 {}; |
| 111 | |
| 112 | pm8916_l11: l11 { |
| 113 | regulator-min-microvolt = <2950000>; |
| 114 | regulator-max-microvolt = <2950000>; |
| 115 | regulator-allow-set-load; |
| 116 | regulator-system-load = <200000>; |
| 117 | }; |
| 118 | |
| 119 | pm8916_l12: l12 { |
| 120 | regulator-min-microvolt = <1800000>; |
| 121 | regulator-max-microvolt = <2950000>; |
| 122 | }; |
| 123 | |
| 124 | pm8916_l13: l13 { |
| 125 | regulator-min-microvolt = <3075000>; |
| 126 | regulator-max-microvolt = <3075000>; |
| 127 | }; |
| 128 | |
| 129 | l14 {}; |
| 130 | l15 {}; |
| 131 | l16 {}; |
| 132 | l17 {}; |
| 133 | l18 {}; |
| 134 | }; |
| 135 | }; |
| 136 | |
| 137 | &sdhc_1 { |
| 138 | vmmc-supply = <&pm8916_l8>; |
| 139 | vqmmc-supply = <&pm8916_l5>; |
| 140 | }; |
| 141 | |
| 142 | &sdhc_2 { |
| 143 | vmmc-supply = <&pm8916_l11>; |
| 144 | vqmmc-supply = <&pm8916_l12>; |
| 145 | }; |
| 146 | |
| 147 | &usb_hs_phy { |
| 148 | v1p8-supply = <&pm8916_l7>; |
| 149 | v3p3-supply = <&pm8916_l13>; |
| 150 | }; |
| 151 | |
| 152 | &wcnss { |
| 153 | vddpx-supply = <&pm8916_l7>; |
| 154 | }; |
| 155 | |
| 156 | &wcnss_iris { |
| 157 | vddxo-supply = <&pm8916_l7>; |
| 158 | vddrfa-supply = <&pm8916_s3>; |
| 159 | vddpa-supply = <&pm8916_l9>; |
| 160 | vdddig-supply = <&pm8916_l5>; |
| 161 | }; |