aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2017-10-18 04:31:34 -0400
committerMaxime Ripard <maxime.ripard@free-electrons.com>2017-11-02 04:04:49 -0400
commitd7c5f6863550d6c219aeeb1d4c777fb3658387bc (patch)
treea354765bcb556e3346c1b0977b922c6524f16a2c
parent2730766f1b86391f44001cfff8f559b136584cb3 (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.dts141
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 = <&reg_vcc3v3>; 83 vmmc-supply = <&reg_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 = <&reg_vcc3v3>; 93 vmmc-supply = <&reg_dcdc1>;
94 vqmmc-supply = <&reg_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 = <&reg_dcdc1>;
110 fldoin-supply = <&reg_dcdc5>;
111 swin-supply = <&reg_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&reg_usb1_vbus { 140#include "axp81x.dtsi"
127 gpio = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */ 141
142&reg_aldo1 {
143 regulator-always-on;
144 regulator-min-microvolt = <1800000>;
145 regulator-max-microvolt = <1800000>;
146 regulator-name = "vcc-1v8";
147};
148
149&reg_aldo2 {
150 regulator-always-on;
151 regulator-min-microvolt = <1800000>;
152 regulator-max-microvolt = <1800000>;
153 regulator-name = "dram-pll";
154};
155
156&reg_aldo3 {
157 regulator-always-on;
158 regulator-min-microvolt = <3000000>;
159 regulator-max-microvolt = <3000000>;
160 regulator-name = "avcc";
161};
162
163&reg_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&reg_dcdc2 {
172 regulator-always-on;
173 regulator-min-microvolt = <700000>;
174 regulator-max-microvolt = <1100000>;
175 regulator-name = "vdd-cpua";
176};
177
178&reg_dcdc3 {
179 regulator-always-on;
180 regulator-min-microvolt = <700000>;
181 regulator-max-microvolt = <1100000>;
182 regulator-name = "vdd-cpub";
183};
184
185&reg_dcdc4 {
186 regulator-min-microvolt = <700000>;
187 regulator-max-microvolt = <1100000>;
188 regulator-name = "vdd-gpu";
189};
190
191&reg_dcdc5 {
192 regulator-always-on;
193 regulator-min-microvolt = <1200000>;
194 regulator-max-microvolt = <1200000>;
195 regulator-name = "vcc-dram";
196};
197
198&reg_dcdc6 {
199 regulator-always-on;
200 regulator-min-microvolt = <900000>;
201 regulator-max-microvolt = <900000>;
202 regulator-name = "vdd-sys";
203};
204
205&reg_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&reg_dldo3 {
218 regulator-always-on;
219 regulator-min-microvolt = <2500000>;
220 regulator-max-microvolt = <2500000>;
221 regulator-name = "vcc-pd";
222};
223
224&reg_drivevbus {
225 regulator-name = "usb0-vbus";
128 status = "okay"; 226 status = "okay";
129}; 227};
130 228
131&reg_vcc3v0 { 229&reg_fldo1 {
132 status = "disabled"; 230 regulator-min-microvolt = <1080000>;
231 regulator-max-microvolt = <1320000>;
232 regulator-name = "vdd12-hsic";
233};
234
235&reg_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&reg_rtc_ldo {
247 regulator-name = "vcc-rtc";
133}; 248};
134 249
135&reg_vcc5v0 { 250&reg_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 {