diff mbox

[V5,7/9] ARM: dts: tegra: add non-removable and keep-power-in-suspend property for MMC

Message ID 1364901613-25080-8-git-send-email-josephl@nvidia.com (mailing list archive)
State New, archived
Headers show

Commit Message

Joseph Lo April 2, 2013, 11:20 a.m. UTC
This patch adds "non-removable" property of MMC host where the eMMC device
is for Tegra platform.

And the "keep-power-in-suspend" property was used for the SDIO device that
need this to go into suspend mode (e.g. BRCM43xx series).

Signed-off-by: Joseph Lo <josephl@nvidia.com>
---
V5:
* no change
V4:
* no change
V3:
* no change
V2:
* no change
---
 arch/arm/boot/dts/tegra20-paz00.dts      | 1 +
 arch/arm/boot/dts/tegra20-seaboard.dts   | 2 ++
 arch/arm/boot/dts/tegra20-ventana.dts    | 2 ++
 arch/arm/boot/dts/tegra20-whistler.dts   | 1 +
 arch/arm/boot/dts/tegra30-beaver.dts     | 1 +
 arch/arm/boot/dts/tegra30-cardhu-a02.dts | 1 +
 arch/arm/boot/dts/tegra30-cardhu-a04.dts | 1 +
 arch/arm/boot/dts/tegra30-cardhu.dtsi    | 1 +
 8 files changed, 10 insertions(+)

Comments

Stephen Warren April 2, 2013, 7:58 p.m. UTC | #1
On 04/02/2013 05:20 AM, Joseph Lo wrote:
> This patch adds "non-removable" property of MMC host where the eMMC device
> is for Tegra platform.
> 
> And the "keep-power-in-suspend" property was used for the SDIO device that
> need this to go into suspend mode (e.g. BRCM43xx series).

>  arch/arm/boot/dts/tegra20-paz00.dts      | 1 +
>  arch/arm/boot/dts/tegra20-seaboard.dts   | 2 ++
>  arch/arm/boot/dts/tegra20-ventana.dts    | 2 ++
>  arch/arm/boot/dts/tegra20-whistler.dts   | 1 +
>  arch/arm/boot/dts/tegra30-beaver.dts     | 1 +
>  arch/arm/boot/dts/tegra30-cardhu-a02.dts | 1 +
>  arch/arm/boot/dts/tegra30-cardhu-a04.dts | 1 +
>  arch/arm/boot/dts/tegra30-cardhu.dtsi    | 1 +

I think there are a bunch of other boards that need a similar change,
right? There are certainly eMMC devices on other boards, and shouldn't
they be marked with non-removable? In particular, Beaver, Dalmore, and
Pluto, and likely some/all of the Colibri and Avionic Design boards. I
think it should be obvious which SDHCI devices need this, since there
won't be any cd-gpios property and the bus-width will likely be 8.
Thierry Reding April 3, 2013, 5:45 a.m. UTC | #2
On Tue, Apr 02, 2013 at 01:58:41PM -0600, Stephen Warren wrote:
> On 04/02/2013 05:20 AM, Joseph Lo wrote:
> > This patch adds "non-removable" property of MMC host where the eMMC device
> > is for Tegra platform.
> > 
> > And the "keep-power-in-suspend" property was used for the SDIO device that
> > need this to go into suspend mode (e.g. BRCM43xx series).
> 
> >  arch/arm/boot/dts/tegra20-paz00.dts      | 1 +
> >  arch/arm/boot/dts/tegra20-seaboard.dts   | 2 ++
> >  arch/arm/boot/dts/tegra20-ventana.dts    | 2 ++
> >  arch/arm/boot/dts/tegra20-whistler.dts   | 1 +
> >  arch/arm/boot/dts/tegra30-beaver.dts     | 1 +
> >  arch/arm/boot/dts/tegra30-cardhu-a02.dts | 1 +
> >  arch/arm/boot/dts/tegra30-cardhu-a04.dts | 1 +
> >  arch/arm/boot/dts/tegra30-cardhu.dtsi    | 1 +
> 
> I think there are a bunch of other boards that need a similar change,
> right? There are certainly eMMC devices on other boards, and shouldn't
> they be marked with non-removable? In particular, Beaver, Dalmore, and
> Pluto, and likely some/all of the Colibri and Avionic Design boards. I
> think it should be obvious which SDHCI devices need this, since there
> won't be any cd-gpios property and the bus-width will likely be 8.

For Tegra20 Tamonten we don't use eMMC. Ideally we'd be using NAND to
boot from but that doesn't have mainline support. I have a semi-working
patch and will probably spend some more time getting it ready. The MMC
cards are all removable, though I guess since they are the boot device
they still should remain powered in suspend?

Thierry
Joseph Lo April 3, 2013, 6:28 a.m. UTC | #3
On Wed, 2013-04-03 at 13:45 +0800, Thierry Reding wrote:
> * PGP Signed by an unknown key
> 
> On Tue, Apr 02, 2013 at 01:58:41PM -0600, Stephen Warren wrote:
> > On 04/02/2013 05:20 AM, Joseph Lo wrote:
> > > This patch adds "non-removable" property of MMC host where the eMMC device
> > > is for Tegra platform.
> > > 
> > > And the "keep-power-in-suspend" property was used for the SDIO device that
> > > need this to go into suspend mode (e.g. BRCM43xx series).
> > 
> > >  arch/arm/boot/dts/tegra20-paz00.dts      | 1 +
> > >  arch/arm/boot/dts/tegra20-seaboard.dts   | 2 ++
> > >  arch/arm/boot/dts/tegra20-ventana.dts    | 2 ++
> > >  arch/arm/boot/dts/tegra20-whistler.dts   | 1 +
> > >  arch/arm/boot/dts/tegra30-beaver.dts     | 1 +
> > >  arch/arm/boot/dts/tegra30-cardhu-a02.dts | 1 +
> > >  arch/arm/boot/dts/tegra30-cardhu-a04.dts | 1 +
> > >  arch/arm/boot/dts/tegra30-cardhu.dtsi    | 1 +
> > 
> > I think there are a bunch of other boards that need a similar change,
> > right? There are certainly eMMC devices on other boards, and shouldn't
> > they be marked with non-removable? In particular, Beaver, Dalmore, and
> > Pluto, and likely some/all of the Colibri and Avionic Design boards. I
> > think it should be obvious which SDHCI devices need this, since there
> > won't be any cd-gpios property and the bus-width will likely be 8.
> 
> For Tegra20 Tamonten we don't use eMMC. Ideally we'd be using NAND to
> boot from but that doesn't have mainline support. I have a semi-working
> patch and will probably spend some more time getting it ready. The MMC
> cards are all removable, though I guess since they are the boot device
> they still should remain powered in suspend?
> 
The "non-removable" property is a specific property to avoid the risk of
writing back data to a different card after resume. If you just want to
test the suspend function, you can add "mmc_core.removable=0" in your
boot arg.

The "keep-power-in-suspend" is used for the BRCM43xx series SDIO device.
Without this, it can't go into suspend mode.
Joseph Lo April 3, 2013, 6:59 a.m. UTC | #4
On Wed, 2013-04-03 at 03:58 +0800, Stephen Warren wrote:
> On 04/02/2013 05:20 AM, Joseph Lo wrote:
> > This patch adds "non-removable" property of MMC host where the eMMC device
> > is for Tegra platform.
> > 
> > And the "keep-power-in-suspend" property was used for the SDIO device that
> > need this to go into suspend mode (e.g. BRCM43xx series).
> 
> >  arch/arm/boot/dts/tegra20-paz00.dts      | 1 +
> >  arch/arm/boot/dts/tegra20-seaboard.dts   | 2 ++
> >  arch/arm/boot/dts/tegra20-ventana.dts    | 2 ++
> >  arch/arm/boot/dts/tegra20-whistler.dts   | 1 +
> >  arch/arm/boot/dts/tegra30-beaver.dts     | 1 +
> >  arch/arm/boot/dts/tegra30-cardhu-a02.dts | 1 +
> >  arch/arm/boot/dts/tegra30-cardhu-a04.dts | 1 +
> >  arch/arm/boot/dts/tegra30-cardhu.dtsi    | 1 +
> 
> I think there are a bunch of other boards that need a similar change,
> right? There are certainly eMMC devices on other boards, and shouldn't
> they be marked with non-removable? In particular, Beaver, Dalmore, and
> Pluto, and likely some/all of the Colibri and Avionic Design boards. I
> think it should be obvious which SDHCI devices need this, since there
> won't be any cd-gpios property and the bus-width will likely be 8.

OK, I already added the property for Beaver. I will add one more support
for Dalmore in this patch. For Pluto, it didn't add any SDCHI node in DT
yet. We need another patch to enable SDHCI on Pluto first and add the
properties there.

Thanks,
Joseph
diff mbox

Patch

diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
index 54b05b2..c55e062 100644
--- a/arch/arm/boot/dts/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/tegra20-paz00.dts
@@ -458,6 +458,7 @@ 
 	sdhci@c8000600 {
 		status = "okay";
 		bus-width = <8>;
+		non-removable;
 	};
 
 	gpio-keys {
diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index 3b347b8..5572ee7 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -593,6 +593,7 @@ 
 		status = "okay";
 		power-gpios = <&gpio 86 0>; /* gpio PK6 */
 		bus-width = <4>;
+		keep-power-in-suspend;
 	};
 
 	sdhci@c8000400 {
@@ -606,6 +607,7 @@ 
 	sdhci@c8000600 {
 		status = "okay";
 		bus-width = <8>;
+		non-removable;
 	};
 
 	gpio-keys {
diff --git a/arch/arm/boot/dts/tegra20-ventana.dts b/arch/arm/boot/dts/tegra20-ventana.dts
index 112ef5c..4363764 100644
--- a/arch/arm/boot/dts/tegra20-ventana.dts
+++ b/arch/arm/boot/dts/tegra20-ventana.dts
@@ -529,6 +529,7 @@ 
 		status = "okay";
 		power-gpios = <&gpio 86 0>; /* gpio PK6 */
 		bus-width = <4>;
+		keep-power-in-suspend;
 	};
 
 	sdhci@c8000400 {
@@ -542,6 +543,7 @@ 
 	sdhci@c8000600 {
 		status = "okay";
 		bus-width = <8>;
+		non-removable;
 	};
 
 	gpio-keys {
diff --git a/arch/arm/boot/dts/tegra20-whistler.dts b/arch/arm/boot/dts/tegra20-whistler.dts
index 0b04262..878790e 100644
--- a/arch/arm/boot/dts/tegra20-whistler.dts
+++ b/arch/arm/boot/dts/tegra20-whistler.dts
@@ -531,6 +531,7 @@ 
 	sdhci@c8000600 {
 		status = "okay";
 		bus-width = <8>;
+		non-removable;
 	};
 
 	kbc {
diff --git a/arch/arm/boot/dts/tegra30-beaver.dts b/arch/arm/boot/dts/tegra30-beaver.dts
index c3e0f25..772e6cf 100644
--- a/arch/arm/boot/dts/tegra30-beaver.dts
+++ b/arch/arm/boot/dts/tegra30-beaver.dts
@@ -279,6 +279,7 @@ 
 	sdhci@78000600 {
 		status = "okay";
 		bus-width = <8>;
+		non-removable;
 	};
 
 	regulators {
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a02.dts b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
index adc88aa..e392bd2 100644
--- a/arch/arm/boot/dts/tegra30-cardhu-a02.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu-a02.dts
@@ -88,6 +88,7 @@ 
 		status = "okay";
 		power-gpios = <&gpio 28 0>; /* gpio PD4 */
 		bus-width = <4>;
+		keep-power-in-suspend;
 	};
 };
 
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a04.dts b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
index 08163e1..d0db6c7 100644
--- a/arch/arm/boot/dts/tegra30-cardhu-a04.dts
+++ b/arch/arm/boot/dts/tegra30-cardhu-a04.dts
@@ -100,5 +100,6 @@ 
 		status = "okay";
 		power-gpios = <&gpio 27 0>; /* gpio PD3 */
 		bus-width = <4>;
+		keep-power-in-suspend;
 	};
 };
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index eeea511..053913f 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -333,6 +333,7 @@ 
 	sdhci@78000600 {
 		status = "okay";
 		bus-width = <8>;
+		non-removable;
 	};
 
 	regulators {