diff options
author | Chen-Yu Tsai <wens@csie.org> | 2017-10-18 04:31:34 -0400 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2017-11-02 04:04:49 -0400 |
commit | d7c5f6863550d6c219aeeb1d4c777fb3658387bc (patch) | |
tree | a354765bcb556e3346c1b0977b922c6524f16a2c | |
parent | 2730766f1b86391f44001cfff8f559b136584cb3 (diff) |
ARM: dts: sun8i: a83t: bananapi-m3: Add AXP813 regulator nodes
This patch adds device nodes for all the regulators of the AXP813 PMIC.
Sunxi common regulators are removed, and USB VBUS regulators are added.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
-rw-r--r-- | arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts | 141 |
1 files changed, 132 insertions, 9 deletions
diff --git a/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts b/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts index 2bafd7e99ef7..78036b2f2ab4 100644 --- a/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts +++ b/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts | |||
@@ -44,7 +44,6 @@ | |||
44 | 44 | ||
45 | /dts-v1/; | 45 | /dts-v1/; |
46 | #include "sun8i-a83t.dtsi" | 46 | #include "sun8i-a83t.dtsi" |
47 | #include "sunxi-common-regulators.dtsi" | ||
48 | 47 | ||
49 | #include <dt-bindings/gpio/gpio.h> | 48 | #include <dt-bindings/gpio/gpio.h> |
50 | 49 | ||
@@ -59,6 +58,16 @@ | |||
59 | chosen { | 58 | chosen { |
60 | stdout-path = "serial0:115200n8"; | 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 | &ehci0 { | 73 | &ehci0 { |
@@ -71,7 +80,7 @@ | |||
71 | &mmc0 { | 80 | &mmc0 { |
72 | pinctrl-names = "default"; | 81 | pinctrl-names = "default"; |
73 | pinctrl-0 = <&mmc0_pins>; | 82 | pinctrl-0 = <&mmc0_pins>; |
74 | vmmc-supply = <®_vcc3v3>; | 83 | vmmc-supply = <®_dcdc1>; |
75 | bus-width = <4>; | 84 | bus-width = <4>; |
76 | cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ | 85 | cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ |
77 | cd-inverted; | 86 | cd-inverted; |
@@ -81,7 +90,8 @@ | |||
81 | &mmc2 { | 90 | &mmc2 { |
82 | pinctrl-names = "default"; | 91 | pinctrl-names = "default"; |
83 | pinctrl-0 = <&mmc2_8bit_emmc_pins>; | 92 | pinctrl-0 = <&mmc2_8bit_emmc_pins>; |
84 | vmmc-supply = <®_vcc3v3>; | 93 | vmmc-supply = <®_dcdc1>; |
94 | vqmmc-supply = <®_dcdc1>; | ||
85 | bus-width = <8>; | 95 | bus-width = <8>; |
86 | non-removable; | 96 | non-removable; |
87 | cap-mmc-hw-reset; | 97 | cap-mmc-hw-reset; |
@@ -96,6 +106,10 @@ | |||
96 | reg = <0x3a3>; | 106 | reg = <0x3a3>; |
97 | interrupt-parent = <&r_intc>; | 107 | interrupt-parent = <&r_intc>; |
98 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | 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 | ac100: codec@e89 { | 115 | ac100: codec@e89 { |
@@ -123,17 +137,126 @@ | |||
123 | }; | 137 | }; |
124 | }; | 138 | }; |
125 | 139 | ||
126 | ®_usb1_vbus { | 140 | #include "axp81x.dtsi" |
127 | gpio = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */ | 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 | status = "okay"; | 226 | status = "okay"; |
129 | }; | 227 | }; |
130 | 228 | ||
131 | ®_vcc3v0 { | 229 | ®_fldo1 { |
132 | status = "disabled"; | 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 { | 250 | ®_sw { |
136 | status = "disabled"; | 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 | &uart0 { | 262 | &uart0 { |