aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorChen-Yu Tsai2019-01-09 23:02:55 +0800
committerMaxime Ripard2019-01-09 16:32:11 +0100
commite5c6e693be831c1bba9b4f8f1da597fb5514deca (patch)
treeea4dcc2beda249d5aa643bb165ce08acd8da365b /arch
parenta5a4bc14914faf219336d71c71595975b8112ff7 (diff)
ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix WiFi regulator definitions
The design of the Bananapi M2 Ultra has both DLDO1 and DLDO2 regulators provide power to the WiFi+BT module, which is based on the Broadcom BCM43438 or BCM43430 chip. Each regulator output from the PMIC can supply up to 200 mA. The datasheet of the chip suggests a maximum power draw of up to 360 mA when transmitting, thus requiring two outputs from the PMIC to handle the load. However the device tree only references one of them, leaving the other unused and possibly turned off. This patch marks both as always-on, since we don't have a proper binding to specify two regulators as "bound together". The name and constraints of DLDO2 are also added. Fixes: da7ac948fa93 ("ARM: dts: sun8i: Add board dts file for Banana Pi M2 Ultra") Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
index 438b7b44dab3..1a6794e63b90 100644
--- a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
+++ b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
@@ -250,12 +250,27 @@
regulator-name = "vcc-wifi-io";
};
+/*
+ * Our WiFi chip needs both DLDO2 and DLDO3 to be powered at the same
+ * time, with the two being in sync, to be able to meet maximum power
+ * consumption during transmits. Since this is not really supported
+ * right now, just use the two as always on, and we will fix it later.
+ */
+
&reg_dldo2 {
+ regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-wifi";
};
+&reg_dldo3 {
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-wifi-2";
+};
+
&reg_dldo4 {
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;