aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Rossak <embed3d@gmail.com>2018-02-14 09:10:25 -0500
committerMaxime Ripard <maxime.ripard@bootlin.com>2018-02-15 04:04:28 -0500
commit70b8d21496758dd7ff600ec9de0ee3812fac7a40 (patch)
tree819a93829788c15259e5be3ce9dedb5971f6f573
parentb23af6ad8d2f708c4c3f92dd8f82c233247ba8bf (diff)
ARM: dts: sun6i: a31s: bpi-m2: add missing regulators
This patch fixes a bootproblem with the Bananapi M2 board. Since there are some regulators missing we add them right now. Those values come from the schematic, below you can find a small overview: * reg_aldo1: 3,3V, powers the wifi * reg_aldo2: 2,5V, powers the IO of the RTL8211E * reg_aldo3: 3,3V, powers the audio * reg_dldo1: 3,0V, powers the RTL8211E * reg_dldo2: 2,8V, powers the analog part of the csi * reg_dldo3: 3,3V, powers misc * reg_eldo1: 1,8V, powers the csi * reg_ldo_io1:1,8V, powers the gpio * reg_dc5ldo: needs to be always on This patch updates also the vmmc-supply properties on the mmc0 and mmc2 node to use the allready existent regulators. We can now remove the sunxi-common-regulators.dtsi include since we don't need it anymore. Fixes: 7daa21370075 ("ARM: dts: sunxi: Add regulators for Sinovoip BPI-M2") Cc: <stable@vger.kernel.org> Signed-off-by: Philipp Rossak <embed3d@gmail.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
-rw-r--r--arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts61
1 files changed, 58 insertions, 3 deletions
diff --git a/arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts b/arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts
index fb34f32502cf..b2758dd8ce43 100644
--- a/arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts
+++ b/arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts
@@ -42,7 +42,6 @@
42 42
43/dts-v1/; 43/dts-v1/;
44#include "sun6i-a31s.dtsi" 44#include "sun6i-a31s.dtsi"
45#include "sunxi-common-regulators.dtsi"
46#include <dt-bindings/gpio/gpio.h> 45#include <dt-bindings/gpio/gpio.h>
47 46
48/ { 47/ {
@@ -99,6 +98,7 @@
99 pinctrl-0 = <&gmac_pins_rgmii_a>, <&gmac_phy_reset_pin_bpi_m2>; 98 pinctrl-0 = <&gmac_pins_rgmii_a>, <&gmac_phy_reset_pin_bpi_m2>;
100 phy = <&phy1>; 99 phy = <&phy1>;
101 phy-mode = "rgmii"; 100 phy-mode = "rgmii";
101 phy-supply = <&reg_dldo1>;
102 snps,reset-gpio = <&pio 0 21 GPIO_ACTIVE_HIGH>; /* PA21 */ 102 snps,reset-gpio = <&pio 0 21 GPIO_ACTIVE_HIGH>; /* PA21 */
103 snps,reset-active-low; 103 snps,reset-active-low;
104 snps,reset-delays-us = <0 10000 30000>; 104 snps,reset-delays-us = <0 10000 30000>;
@@ -118,7 +118,7 @@
118&mmc0 { 118&mmc0 {
119 pinctrl-names = "default"; 119 pinctrl-names = "default";
120 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m2>; 120 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m2>;
121 vmmc-supply = <&reg_vcc3v0>; 121 vmmc-supply = <&reg_dcdc1>;
122 bus-width = <4>; 122 bus-width = <4>;
123 cd-gpios = <&pio 0 4 GPIO_ACTIVE_HIGH>; /* PA4 */ 123 cd-gpios = <&pio 0 4 GPIO_ACTIVE_HIGH>; /* PA4 */
124 cd-inverted; 124 cd-inverted;
@@ -132,7 +132,7 @@
132&mmc2 { 132&mmc2 {
133 pinctrl-names = "default"; 133 pinctrl-names = "default";
134 pinctrl-0 = <&mmc2_pins_a>; 134 pinctrl-0 = <&mmc2_pins_a>;
135 vmmc-supply = <&reg_vcc3v0>; 135 vmmc-supply = <&reg_aldo1>;
136 mmc-pwrseq = <&mmc2_pwrseq>; 136 mmc-pwrseq = <&mmc2_pwrseq>;
137 bus-width = <4>; 137 bus-width = <4>;
138 non-removable; 138 non-removable;
@@ -195,7 +195,28 @@
195 195
196#include "axp22x.dtsi" 196#include "axp22x.dtsi"
197 197
198&reg_aldo1 {
199 regulator-min-microvolt = <3300000>;
200 regulator-max-microvolt = <3300000>;
201 regulator-name = "vcc-wifi";
202};
203
204&reg_aldo2 {
205 regulator-always-on;
206 regulator-min-microvolt = <2500000>;
207 regulator-max-microvolt = <2500000>;
208 regulator-name = "vcc-gmac";
209};
210
211&reg_aldo3 {
212 regulator-always-on;
213 regulator-min-microvolt = <3000000>;
214 regulator-max-microvolt = <3000000>;
215 regulator-name = "avcc";
216};
217
198&reg_dc5ldo { 218&reg_dc5ldo {
219 regulator-always-on;
199 regulator-min-microvolt = <700000>; 220 regulator-min-microvolt = <700000>;
200 regulator-max-microvolt = <1320000>; 221 regulator-max-microvolt = <1320000>;
201 regulator-name = "vdd-cpus"; 222 regulator-name = "vdd-cpus";
@@ -235,6 +256,40 @@
235 regulator-name = "vcc-dram"; 256 regulator-name = "vcc-dram";
236}; 257};
237 258
259&reg_dldo1 {
260 regulator-min-microvolt = <3000000>;
261 regulator-max-microvolt = <3000000>;
262 regulator-name = "vcc-mac";
263};
264
265&reg_dldo2 {
266 regulator-min-microvolt = <2800000>;
267 regulator-max-microvolt = <2800000>;
268 regulator-name = "avdd-csi";
269};
270
271&reg_dldo3 {
272 regulator-always-on;
273 regulator-min-microvolt = <3300000>;
274 regulator-max-microvolt = <3300000>;
275 regulator-name = "vcc-pb";
276};
277
278&reg_eldo1 {
279 regulator-min-microvolt = <1800000>;
280 regulator-max-microvolt = <1800000>;
281 regulator-name = "vdd-csi";
282 status = "okay";
283};
284
285&reg_ldo_io1 {
286 regulator-always-on;
287 regulator-min-microvolt = <1800000>;
288 regulator-max-microvolt = <1800000>;
289 regulator-name = "vcc-pm-cpus";
290 status = "okay";
291};
292
238&uart0 { 293&uart0 {
239 pinctrl-names = "default"; 294 pinctrl-names = "default";
240 pinctrl-0 = <&uart0_pins_a>; 295 pinctrl-0 = <&uart0_pins_a>;