|
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 |
|
|
59 | 58 | chosen {
|
60 | 59 | stdout-path = "serial0:115200n8";
|
61 | 60 | };
|
| 61 | + |
| 62 | + reg_usb1_vbus: reg-usb1-vbus { |
| 63 | + compatible = "regulator-fixed"; |
| 64 | + regulator-name = "usb1-vbus"; |
| 65 | + regulator-min-microvolt = <5000000>; |
| 66 | + regulator-max-microvolt = <5000000>; |
| 67 | + regulator-boot-on; |
| 68 | + enable-active-high; |
| 69 | + gpio = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */ |
| 70 | + }; |
62 | 71 | };
|
63 | 72 |
|
64 | 73 | &ehci0 {
|
|
71 | 80 | &mmc0 {
|
72 | 81 | pinctrl-names = "default";
|
73 | 82 | pinctrl-0 = <&mmc0_pins>;
|
74 |
| - vmmc-supply = <®_vcc3v3>; |
| 83 | + vmmc-supply = <®_dcdc1>; |
75 | 84 | bus-width = <4>;
|
76 | 85 | cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
|
77 | 86 | cd-inverted;
|
|
81 | 90 | &mmc2 {
|
82 | 91 | pinctrl-names = "default";
|
83 | 92 | pinctrl-0 = <&mmc2_8bit_emmc_pins>;
|
84 |
| - vmmc-supply = <®_vcc3v3>; |
| 93 | + vmmc-supply = <®_dcdc1>; |
| 94 | + vqmmc-supply = <®_dcdc1>; |
85 | 95 | bus-width = <8>;
|
86 | 96 | non-removable;
|
87 | 97 | cap-mmc-hw-reset;
|
|
96 | 106 | reg = <0x3a3>;
|
97 | 107 | interrupt-parent = <&r_intc>;
|
98 | 108 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
| 109 | + eldoin-supply = <®_dcdc1>; |
| 110 | + fldoin-supply = <®_dcdc5>; |
| 111 | + swin-supply = <®_dcdc1>; |
| 112 | + x-powers,drive-vbus-en; |
99 | 113 | };
|
100 | 114 |
|
101 | 115 | ac100: codec@e89 {
|
|
123 | 137 | };
|
124 | 138 | };
|
125 | 139 |
|
126 |
| -®_usb1_vbus { |
127 |
| - gpio = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */ |
| 140 | +#include "axp81x.dtsi" |
| 141 | + |
| 142 | +®_aldo1 { |
| 143 | + regulator-always-on; |
| 144 | + regulator-min-microvolt = <1800000>; |
| 145 | + regulator-max-microvolt = <1800000>; |
| 146 | + regulator-name = "vcc-1v8"; |
| 147 | +}; |
| 148 | + |
| 149 | +®_aldo2 { |
| 150 | + regulator-always-on; |
| 151 | + regulator-min-microvolt = <1800000>; |
| 152 | + regulator-max-microvolt = <1800000>; |
| 153 | + regulator-name = "dram-pll"; |
| 154 | +}; |
| 155 | + |
| 156 | +®_aldo3 { |
| 157 | + regulator-always-on; |
| 158 | + regulator-min-microvolt = <3000000>; |
| 159 | + regulator-max-microvolt = <3000000>; |
| 160 | + regulator-name = "avcc"; |
| 161 | +}; |
| 162 | + |
| 163 | +®_dcdc1 { |
| 164 | + /* schematics says 3.1V but FEX file says 3.3V */ |
| 165 | + regulator-always-on; |
| 166 | + regulator-min-microvolt = <3300000>; |
| 167 | + regulator-max-microvolt = <3300000>; |
| 168 | + regulator-name = "vcc-3v3"; |
| 169 | +}; |
| 170 | + |
| 171 | +®_dcdc2 { |
| 172 | + regulator-always-on; |
| 173 | + regulator-min-microvolt = <700000>; |
| 174 | + regulator-max-microvolt = <1100000>; |
| 175 | + regulator-name = "vdd-cpua"; |
| 176 | +}; |
| 177 | + |
| 178 | +®_dcdc3 { |
| 179 | + regulator-always-on; |
| 180 | + regulator-min-microvolt = <700000>; |
| 181 | + regulator-max-microvolt = <1100000>; |
| 182 | + regulator-name = "vdd-cpub"; |
| 183 | +}; |
| 184 | + |
| 185 | +®_dcdc4 { |
| 186 | + regulator-min-microvolt = <700000>; |
| 187 | + regulator-max-microvolt = <1100000>; |
| 188 | + regulator-name = "vdd-gpu"; |
| 189 | +}; |
| 190 | + |
| 191 | +®_dcdc5 { |
| 192 | + regulator-always-on; |
| 193 | + regulator-min-microvolt = <1200000>; |
| 194 | + regulator-max-microvolt = <1200000>; |
| 195 | + regulator-name = "vcc-dram"; |
| 196 | +}; |
| 197 | + |
| 198 | +®_dcdc6 { |
| 199 | + regulator-always-on; |
| 200 | + regulator-min-microvolt = <900000>; |
| 201 | + regulator-max-microvolt = <900000>; |
| 202 | + regulator-name = "vdd-sys"; |
| 203 | +}; |
| 204 | + |
| 205 | +®_dldo1 { |
| 206 | + /* |
| 207 | + * This powers both the WiFi/BT module's main power, I/O supply, |
| 208 | + * and external pull-ups on all the data lines. It should be set |
| 209 | + * to the same voltage as the I/O supply (DCDC1 in this case) to |
| 210 | + * avoid any leakage or mismatch. |
| 211 | + */ |
| 212 | + regulator-min-microvolt = <3300000>; |
| 213 | + regulator-max-microvolt = <3300000>; |
| 214 | + regulator-name = "vcc-wifi"; |
| 215 | +}; |
| 216 | + |
| 217 | +®_dldo3 { |
| 218 | + regulator-always-on; |
| 219 | + regulator-min-microvolt = <2500000>; |
| 220 | + regulator-max-microvolt = <2500000>; |
| 221 | + regulator-name = "vcc-pd"; |
| 222 | +}; |
| 223 | + |
| 224 | +®_drivevbus { |
| 225 | + regulator-name = "usb0-vbus"; |
128 | 226 | status = "okay";
|
129 | 227 | };
|
130 | 228 |
|
131 |
| -®_vcc3v0 { |
132 |
| - status = "disabled"; |
| 229 | +®_fldo1 { |
| 230 | + regulator-min-microvolt = <1080000>; |
| 231 | + regulator-max-microvolt = <1320000>; |
| 232 | + regulator-name = "vdd12-hsic"; |
| 233 | +}; |
| 234 | + |
| 235 | +®_fldo2 { |
| 236 | + /* |
| 237 | + * Despite the embedded CPUs core not being used in any way, |
| 238 | + * this must remain on or the system will hang. |
| 239 | + */ |
| 240 | + regulator-always-on; |
| 241 | + regulator-min-microvolt = <700000>; |
| 242 | + regulator-max-microvolt = <1100000>; |
| 243 | + regulator-name = "vdd-cpus"; |
| 244 | +}; |
| 245 | + |
| 246 | +®_rtc_ldo { |
| 247 | + regulator-name = "vcc-rtc"; |
133 | 248 | };
|
134 | 249 |
|
135 |
| -®_vcc5v0 { |
136 |
| - status = "disabled"; |
| 250 | +®_sw { |
| 251 | + /* |
| 252 | + * The PHY requires 20ms after all voltages |
| 253 | + * are applied until core logic is ready and |
| 254 | + * 30ms after the reset pin is de-asserted. |
| 255 | + * Set a 100ms delay to account for PMIC |
| 256 | + * ramp time and board traces. |
| 257 | + */ |
| 258 | + regulator-enable-ramp-delay = <100000>; |
| 259 | + regulator-name = "vcc-ephy"; |
137 | 260 | };
|
138 | 261 |
|
139 | 262 | &uart0 {
|
|
0 commit comments