diff mbox

N900: fixing MMC at boot

Message ID 20141206173526.GA7964@amd (mailing list archive)
State New, archived
Headers show

Commit Message

Pavel Machek Dec. 6, 2014, 5:35 p.m. UTC
Hi!

For a long time, MMC was not working during boot... (making the box
unusable without nfsroot). It seems problem is in the regulators,
because with diff below, I was able to mount root on SD card for a
first time ... in a long time.

Signed-off-by: Pavel Machek <pavel@ucw.cz> [but not for upstream]

Comments

Pali Rohár Dec. 6, 2014, 5:40 p.m. UTC | #1
On Saturday 06 December 2014 18:35:27 Pavel Machek wrote:
> Hi!
> 
> For a long time, MMC was not working during boot... (making
> the box unusable without nfsroot). It seems problem is in the
> regulators, because with diff below, I was able to mount root
> on SD card for a first time ... in a long time.
> 

Hi, do you mean external SD card or internal eMMC (MyDocs)?
Pavel Machek Dec. 6, 2014, 6:04 p.m. UTC | #2
On Sat 2014-12-06 18:40:16, Pali Rohár wrote:
> On Saturday 06 December 2014 18:35:27 Pavel Machek wrote:
> > Hi!
> > 
> > For a long time, MMC was not working during boot... (making
> > the box unusable without nfsroot). It seems problem is in the
> > regulators, because with diff below, I was able to mount root
> > on SD card for a first time ... in a long time.
> > 
> 
> Hi, do you mean external SD card or internal eMMC (MyDocs)?

I mean u-SD card. But it is strange. I reverted the patch now, and it
still works. Not sure why or what I've done differently.

									Pavel
Pali Rohár Dec. 6, 2014, 6:08 p.m. UTC | #3
On Saturday 06 December 2014 19:04:29 Pavel Machek wrote:
> On Sat 2014-12-06 18:40:16, Pali Rohár wrote:
> > On Saturday 06 December 2014 18:35:27 Pavel Machek wrote:
> > > Hi!
> > > 
> > > For a long time, MMC was not working during boot...
> > > (making the box unusable without nfsroot). It seems
> > > problem is in the regulators, because with diff below, I
> > > was able to mount root on SD card for a first time ... in
> > > a long time.
> > 
> > Hi, do you mean external SD card or internal eMMC (MyDocs)?
> 
> I mean u-SD card. But it is strange. I reverted the patch now,
> and it still works. Not sure why or what I've done
> differently.
> 
> 									Pavel

Remove battery wait some time and try again. Maybe you configured 
something which can be cleared only after full device shutdown...
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt
index 8607433..07791c6 100644
--- a/Documentation/devicetree/bindings/regulator/regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/regulator.txt
@@ -4,7 +4,8 @@  Optional properties:
 - regulator-name: A string used as a descriptive name for regulator outputs
 - regulator-min-microvolt: smallest voltage consumers may set
 - regulator-max-microvolt: largest voltage consumers may set
-- regulator-microvolt-offset: Offset applied to voltages to compensate for voltage drops
+- regulator-microvolt-offset: Offset applied to voltages to compensate for 
+  voltage drops
 - regulator-min-microamp: smallest current consumers may set
 - regulator-max-microamp: largest current consumers may set
 - regulator-always-on: boolean, regulator should never be disabled
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index 11d8afd..707928d 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -287,31 +287,35 @@ 
 	regulator-name = "V28";
 	regulator-min-microvolt = <2800000>;
 	regulator-max-microvolt = <2800000>;
-	regulator-always-on; /* due battery cover sensor */
+	regulator-always-on; /* due to battery cover sensor */
 };
 
 &vaux2 {
 	regulator-name = "VCSI";
 	regulator-min-microvolt = <1800000>;
 	regulator-max-microvolt = <1800000>;
+	regulator-always-on; /* FIXME */
 };
 
 &vaux3 {
 	regulator-name = "VMMC2_30";
 	regulator-min-microvolt = <2800000>;
 	regulator-max-microvolt = <3000000>;
+	regulator-always-on; /* FIXME */
 };
 
 &vaux4 {
 	regulator-name = "VCAM_ANA_28";
 	regulator-min-microvolt = <2800000>;
 	regulator-max-microvolt = <2800000>;
+	regulator-always-on; /* FIXME */
 };
 
 &vmmc1 {
 	regulator-name = "VMMC1";
 	regulator-min-microvolt = <1850000>;
 	regulator-max-microvolt = <3150000>;
+	regulator-always-on; /* FIXME */
 };
 
 &vmmc2 {
@@ -339,13 +343,14 @@ 
 	regulator-name = "VMMC2_IO_18";
 	regulator-min-microvolt = <1800000>;
 	regulator-max-microvolt = <1800000>;
+	regulator-always-on; /* FIXME */
 };
 
 &vio {
 	regulator-name = "VIO";
 	regulator-min-microvolt = <1800000>;
 	regulator-max-microvolt = <1800000>;
-
+	regulator-always-on; /* FIXME */
 };
 
 &vintana1 {