mmc: remove the hard setting for tran_speed
PATCH 1/1 mmc: remove the hard setting for tran_speed
mmc_set_clock is set to the hard-coding.
But i think good that use the tran_speed value.
--- drivers/mmc/mmc.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-)
drivers/mmc/mmc.c +7 -6
@@ -1124,9 +1124,9 @@ int mmc_startup(struct mmc *mmc) }if (mmc->card_caps &MMC_MODE_HS ) -mmc_set_clock (mmc,50000000 ); + mmc->tran_speed =50000000 ;else -mmc_set_clock (mmc,25000000 ); + mmc->tran_speed =25000000 ; }else {for (width =EXT_CSD_BUS_WIDTH_8 ; width >=0 ; width--) {/* Set the card to use 4 bit*/
@@ -1161,13 +1161,14 @@ 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 ; mmc->block_dev.type =0 ;
Signature · 1 line
1.7.4.1
PATCH 1/1 mmc: remove the hard setting for tran_speed
Hi Andy.
How do you about this patch?
I want to know your thinking.
In my case, clock is set to 50MHz, but mmcinfo is produced the "25MHz". Because tran_speed is 25MHz.
But mmc->card_caps is set to MMC_MODE_HS and MMC_MODE_HS_52MHZ. So we should be see the wrong information with mmcinfo.
Best Regards,
Jaehoon Chung
2012/3/27 Jaehoon Chung <[email protected]>:
Quoted 50 lines
mmc_set_clockis set to the hard-coding.
But i think good that use thetran_speedvalue.Signed-off-by Jaehoon Chung <[email protected]>Signed-off-by Kyungmin Park <[email protected]>---
?drivers/mmc/mmc.c | ? 13 +++++++------
?1 files changed, 7 insertions(+), 6 deletions(-)drivers/mmc/mmc.c +1
-1@@ -1124,9 +1124,9 @@ int mmc_startup(struct mmc *mmc) ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ?if (mmc->card_caps & MMC_MODE_HS) - ? ? ? ? ? ? ? ? ? ? ? mmc_set_clock(mmc, 50000000); + ? ? ? ? ? ? ? ? ? ? ? mmc->tran_speed = 50000000;? ? ? ? ? ? ? ?else
- ? ? ? ? ? ? ? ? ? ? ?mmc_set_clock(mmc, 25000000);
+ ? ? ? ? ? ? ? ? ? ? ?mmc->tran_speed= 25000000;
? ? ? ?} else {
? ? ? ? ? ? ? ?for (width =EXT_CSD_BUS_WIDTH_8; width >= 0; width--) { ? ? ? ? ? ? ? ? ? ? ? ?/* Set the card to use 4 bit*/drivers/mmc/mmc.c +1
-1@@ -1161,13 +1161,14 @@ 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;
? ? ? ?mmc->block_dev.type = 0;
--
1.7.4.1
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
PATCH 1/1 mmc: remove the hard setting for tran_speed
Quoted 10 lines · Jae hoon Chung
Quoted 10 lines
? ? ? ? ? ? ? ?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;
+ ? ? ? ? ? ? ? }
Why did you remove the outer else clause, here (the one that set the speed to 20000000)?
PATCH 1/1 mmc: remove the hard setting for tran_speed
Hi Andy.
Quoted 14 lines · Andy Fleming
Quoted 10 lines · Jae hoon Chung
drivers/mmc/mmc.c int mmc_startup(struct mmc *mmc) · line 1167
Quoted 10 lines
if (mmc->card_caps & MMC_MODE_HS) { if (mmc->card_caps & MMC_MODE_HS_52MHz)drivers/mmc/mmc.c +3
-4-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; + }
Quoted 3 lines
Why did you remove the outer else clause, here (the one that set the speed to 20000000)?
If card->caps didn't set MMC_MODE_HS, then it's set to mmc->tran_speed. That value is assigned from freq * mult.
I think that is reasonable..if set to 20000000 here, then why need freq & mult?
Best Regards,
Jaehoon Chung
PATCH 1/1 mmc: remove the hard setting for tran_speed
Quoted 18 lines · Jaehoon Chung
Hi Andy.
Quoted 14 lines · Andy Fleming
Quoted 10 lines · Jae hoon Chung
Quoted 10 lines
? ? ? ? ? ? ? ?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;
+ ? ? ? ? ? ? ? }
Quoted 8 lines
Quoted 3 lines
Why did you remove the outer else clause, here (the one that set the speed to 20000000)?
If
card->capsdidn't setMMC_MODE_HS, then it's set tommc->tran_speed. That value is assigned from freq * mult.I think that is reasonable..if set to 20000000 here, then why need freq & mult?
Ok, that's probably fine, then.