public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] mmc: modified calculated mmc-capacity & set mmc trans_speed
@ 2010-04-08  3:36 Jae hoon Chung
  2010-04-08 12:34 ` Minkyu Kang
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Jae hoon Chung @ 2010-04-08  3:36 UTC (permalink / raw)
  To: u-boot

The patches do the following
1. If mmc size is more than 2GB , we need to calculated using the
extended csd register.
2. mmc_set_clock() is hard setting, that is not good solution.

If mmc is not MMC_MODE_HS, mmc will set card's trans_speed.


Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>

---
 drivers/mmc/mmc.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index cf4ea16..c985924 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -410,6 +410,10 @@ int mmc_change_freq(struct mmc *mmc)
 	if (ext_csd[212] || ext_csd[213] || ext_csd[214] || ext_csd[215])
 		mmc->high_capacity = 1;

+	if (mmc->high_capacity)
+		mmc->capacity = ((ext_csd[215] << 24) | (ext_csd[214] << 16) |
+				(ext_csd[213] << 8) | ext_csd[212]);
+
 	cardtype = ext_csd[196] & 0xf;

 	err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HS_TIMING, 1);
@@ -794,12 +798,11 @@ int mmc_startup(struct mmc *mmc)

 		if (mmc->card_caps & MMC_MODE_HS) {
 			if (mmc->card_caps & MMC_MODE_HS_52MHz)
-				mmc_set_clock(mmc, 52000000);
+				mmc->tran_speed = 52000000;
 			else
-				mmc_set_clock(mmc, 26000000);
-		} else
-			mmc_set_clock(mmc, 20000000);
-	}
+				mmc->tran_speed = 26000000;
+		}
+		mmc_set_clock(mmc, mmc->tran_speed);

 	/* fill in device description */
 	mmc->block_dev.lun = 0;
-- 
1.6.0.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [U-Boot] [Patch] MMC: modified calculated mmc-capacity & set mmc trans speed
@ 2010-03-02 10:13 Jae hoon Chung
  2010-03-02 12:35 ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: Jae hoon Chung @ 2010-03-02 10:13 UTC (permalink / raw)
  To: u-boot

The patches do the following
1. ? ? If mmc is size is more than 2GB, need to calculate using the
ext_csd register.

2. ? ? mmc_set_clock() is hard setting, that is not good solution.

If mmc is not MMC_MODE_HS, mmc will set card is tran_speed



Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>



---

drivers/mmc/mmc.c | ? 13 +++++++++----

1 files changed, 9 insertions(+), 4 deletions(-)



diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c

index b69ce15..13fa5c9 100644

--- a/drivers/mmc/mmc.c

+++ b/drivers/mmc/mmc.c

@@ -395,6 +395,10 @@ int mmc_change_freq(struct mmc *mmc)

? ? ? ? ?if (ext_csd[212] || ext_csd[213] || ext_csd[214] || ext_csd[215])

? ? ? ? ? ? ? ? ? ? mmc->high_capacity = 1;



+ ? ? ? ? if (mmc->high_capacity)

+ ? ? ? ? ? ? ? ? ? mmc->capacity = ((ext_csd[215] << 24) |
(ext_csd[214] << 16) |

+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(ext_csd[213] << 8 | ext_csd[212]));

+

? ? ? ? ?cardtype = ext_csd[196] & 0xf;



? ? ? ? ?err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HS_TIMING, 1);

@@ -779,11 +783,12 @@ int mmc_startup(struct mmc *mmc)



? ? ? ? ? ? ? ? ? ? if (mmc->card_caps & MMC_MODE_HS) {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if (mmc->card_caps & MMC_MODE_HS_52MHz)

- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mmc_set_clock(mmc, 52000000);

+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mmc->tran_speed = 52000000;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?else

- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mmc_set_clock(mmc, 26000000);

- ? ? ? ? ? ? ? ? ? ?} else

- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mmc_set_clock(mmc, 20000000);

+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mmc->tran_speed = 26000000;

+ ? ? ? ? ? ? ? ? ? }

+

+ ? ? ? ? ? ? ? ? ? mmc_set_clock(mmc, mmc->tran_speed);

? ? ? ? ?}



? ? ? ? ?/* fill in device description */

--

1.6.0.4

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2010-05-13  5:14 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-08  3:36 [U-Boot] [PATCH] mmc: modified calculated mmc-capacity & set mmc trans_speed Jae hoon Chung
2010-04-08 12:34 ` Minkyu Kang
2010-05-05 22:03 ` Wolfgang Denk
2010-05-06 15:35 ` Andy Fleming
2010-05-07  6:45   ` Jae hoon Chung
2010-05-07  7:52     ` Andy Fleming
2010-05-12 14:48       ` Minkyu Kang
2010-05-13  5:14         ` Alagu Sankar
  -- strict thread matches above, loose matches on Subject: below --
2010-03-02 10:13 [U-Boot] [Patch] MMC: modified calculated mmc-capacity & set mmc trans speed Jae hoon Chung
2010-03-02 12:35 ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox