|
44 | 44 |
|
45 | 45 | /dts-v1/;
|
46 | 46 | #include "sun8i-a83t.dtsi"
|
47 |
| -#include "sunxi-common-regulators.dtsi" |
48 | 47 |
|
49 | 48 | #include <dt-bindings/gpio/gpio.h>
|
50 | 49 |
|
|
95 | 94 | refclk-frequency = <19200000>;
|
96 | 95 | };
|
97 | 96 |
|
| 97 | + reg_usb1_vbus: reg-usb1-vbus { |
| 98 | + compatible = "regulator-fixed"; |
| 99 | + regulator-name = "usb1-vbus"; |
| 100 | + regulator-min-microvolt = <5000000>; |
| 101 | + regulator-max-microvolt = <5000000>; |
| 102 | + regulator-boot-on; |
| 103 | + enable-active-high; |
| 104 | + gpio = <&pio 3 29 GPIO_ACTIVE_HIGH>; /* PD29 */ |
| 105 | + }; |
| 106 | + |
| 107 | + reg_usb2_vbus: reg-usb2-vbus { |
| 108 | + compatible = "regulator-fixed"; |
| 109 | + regulator-name = "usb2-vbus"; |
| 110 | + regulator-min-microvolt = <5000000>; |
| 111 | + regulator-max-microvolt = <5000000>; |
| 112 | + regulator-boot-on; |
| 113 | + enable-active-high; |
| 114 | + gpio = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */ |
| 115 | + }; |
| 116 | + |
98 | 117 | sound {
|
99 | 118 | compatible = "simple-audio-card";
|
100 | 119 | simple-audio-card,name = "On-board SPDIF";
|
|
127 | 146 | &mmc0 {
|
128 | 147 | pinctrl-names = "default";
|
129 | 148 | pinctrl-0 = <&mmc0_pins>;
|
130 |
| - vmmc-supply = <®_vcc3v3>; |
| 149 | + vmmc-supply = <®_dcdc1>; |
131 | 150 | bus-width = <4>;
|
132 | 151 | cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
|
133 | 152 | cd-inverted;
|
|
137 | 156 | &mmc2 {
|
138 | 157 | pinctrl-names = "default";
|
139 | 158 | pinctrl-0 = <&mmc2_8bit_emmc_pins>;
|
140 |
| - vmmc-supply = <®_vcc3v3>; |
| 159 | + vmmc-supply = <®_dcdc1>; |
141 | 160 | bus-width = <8>;
|
142 | 161 | non-removable;
|
143 | 162 | cap-mmc-hw-reset;
|
|
152 | 171 | reg = <0x3a3>;
|
153 | 172 | interrupt-parent = <&r_intc>;
|
154 | 173 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
| 174 | + eldoin-supply = <®_dcdc1>; |
| 175 | + swin-supply = <®_dcdc1>; |
| 176 | + x-powers,drive-vbus-en; |
155 | 177 | };
|
156 | 178 |
|
157 | 179 | ac100: codec@e89 {
|
|
179 | 201 | };
|
180 | 202 | };
|
181 | 203 |
|
182 |
| -®_usb1_vbus { |
183 |
| - gpio = <&pio 3 29 GPIO_ACTIVE_HIGH>; /* PD29 */ |
184 |
| - status = "okay"; |
| 204 | +#include "axp81x.dtsi" |
| 205 | + |
| 206 | +®_aldo1 { |
| 207 | + regulator-always-on; |
| 208 | + regulator-min-microvolt = <1800000>; |
| 209 | + regulator-max-microvolt = <1800000>; |
| 210 | + regulator-name = "vcc-1v8"; |
| 211 | +}; |
| 212 | + |
| 213 | +®_aldo2 { |
| 214 | + regulator-always-on; |
| 215 | + regulator-min-microvolt = <1800000>; |
| 216 | + regulator-max-microvolt = <1800000>; |
| 217 | + regulator-name = "dram-pll"; |
| 218 | +}; |
| 219 | + |
| 220 | +®_aldo3 { |
| 221 | + regulator-always-on; |
| 222 | + regulator-min-microvolt = <3000000>; |
| 223 | + regulator-max-microvolt = <3000000>; |
| 224 | + regulator-name = "avcc"; |
| 225 | +}; |
| 226 | + |
| 227 | +®_dcdc1 { |
| 228 | + /* |
| 229 | + * The schematics say this should be 3.3V, but the FEX file says |
| 230 | + * it should be 3V. The latter makes sense, as the WiFi module's |
| 231 | + * I/O is indirectly powered from DCDC1, through SW. It is rated |
| 232 | + * at 2.98V maximum. |
| 233 | + */ |
| 234 | + regulator-always-on; |
| 235 | + regulator-min-microvolt = <3000000>; |
| 236 | + regulator-max-microvolt = <3000000>; |
| 237 | + regulator-name = "vcc-3v"; |
| 238 | +}; |
| 239 | + |
| 240 | +®_dcdc2 { |
| 241 | + regulator-always-on; |
| 242 | + regulator-min-microvolt = <700000>; |
| 243 | + regulator-max-microvolt = <1100000>; |
| 244 | + regulator-name = "vdd-cpua"; |
| 245 | +}; |
| 246 | + |
| 247 | +®_dcdc3 { |
| 248 | + regulator-always-on; |
| 249 | + regulator-min-microvolt = <700000>; |
| 250 | + regulator-max-microvolt = <1100000>; |
| 251 | + regulator-name = "vdd-cpub"; |
| 252 | +}; |
| 253 | + |
| 254 | +®_dcdc4 { |
| 255 | + regulator-min-microvolt = <700000>; |
| 256 | + regulator-max-microvolt = <1100000>; |
| 257 | + regulator-name = "vdd-gpu"; |
185 | 258 | };
|
186 | 259 |
|
187 |
| -®_usb2_vbus { |
188 |
| - gpio = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */ |
| 260 | +®_dcdc5 { |
| 261 | + regulator-always-on; |
| 262 | + regulator-min-microvolt = <1500000>; |
| 263 | + regulator-max-microvolt = <1500000>; |
| 264 | + regulator-name = "vcc-dram"; |
| 265 | +}; |
| 266 | + |
| 267 | +®_dcdc6 { |
| 268 | + regulator-always-on; |
| 269 | + regulator-min-microvolt = <900000>; |
| 270 | + regulator-max-microvolt = <900000>; |
| 271 | + regulator-name = "vdd-sys"; |
| 272 | +}; |
| 273 | + |
| 274 | +®_dldo2 { |
| 275 | + regulator-min-microvolt = <3300000>; |
| 276 | + regulator-max-microvolt = <3300000>; |
| 277 | + regulator-name = "dp-pwr"; |
| 278 | +}; |
| 279 | + |
| 280 | +®_dldo3 { |
| 281 | + regulator-always-on; |
| 282 | + regulator-min-microvolt = <2500000>; |
| 283 | + regulator-max-microvolt = <2500000>; |
| 284 | + regulator-name = "ephy-io"; |
| 285 | +}; |
| 286 | + |
| 287 | +®_dldo4 { |
| 288 | + /* |
| 289 | + * The PHY requires 20ms after all voltages are applied until core |
| 290 | + * logic is ready and 30ms after the reset pin is de-asserted. |
| 291 | + * Set a 100ms delay to account for PMIC ramp time and board traces. |
| 292 | + */ |
| 293 | + regulator-enable-ramp-delay = <100000>; |
| 294 | + regulator-min-microvolt = <3300000>; |
| 295 | + regulator-max-microvolt = <3300000>; |
| 296 | + regulator-name = "ephy"; |
| 297 | +}; |
| 298 | + |
| 299 | +®_drivevbus { |
| 300 | + regulator-name = "usb0-vbus"; |
189 | 301 | status = "okay";
|
190 | 302 | };
|
191 | 303 |
|
192 |
| -®_vcc3v0 { |
193 |
| - status = "disabled"; |
| 304 | +®_eldo1 { |
| 305 | + regulator-min-microvolt = <1200000>; |
| 306 | + regulator-max-microvolt = <1200000>; |
| 307 | + regulator-name = "dp-bridge-1"; |
| 308 | +}; |
| 309 | + |
| 310 | +®_eldo2 { |
| 311 | + regulator-min-microvolt = <1200000>; |
| 312 | + regulator-max-microvolt = <1200000>; |
| 313 | + regulator-name = "dp-bridge-2"; |
| 314 | +}; |
| 315 | + |
| 316 | +®_fldo1 { |
| 317 | + /* TODO should be handled by USB PHY */ |
| 318 | + regulator-always-on; |
| 319 | + regulator-min-microvolt = <1080000>; |
| 320 | + regulator-max-microvolt = <1320000>; |
| 321 | + regulator-name = "vdd12-hsic"; |
| 322 | +}; |
| 323 | + |
| 324 | +®_fldo2 { |
| 325 | + /* |
| 326 | + * Despite the embedded CPUs core not being used in any way, |
| 327 | + * this must remain on or the system will hang. |
| 328 | + */ |
| 329 | + regulator-always-on; |
| 330 | + regulator-min-microvolt = <700000>; |
| 331 | + regulator-max-microvolt = <1100000>; |
| 332 | + regulator-name = "vdd-cpus"; |
| 333 | +}; |
| 334 | + |
| 335 | +®_rtc_ldo { |
| 336 | + regulator-name = "vcc-rtc"; |
194 | 337 | };
|
195 | 338 |
|
196 |
| -®_vcc5v0 { |
197 |
| - status = "disabled"; |
| 339 | +®_sw { |
| 340 | + regulator-name = "vcc-wifi-io"; |
198 | 341 | };
|
199 | 342 |
|
200 | 343 | &spdif {
|
|
0 commit comments