From: Kumar Gala <galak@kernel.crashing.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/3] fsl_esdhc: Fix the voltage validation process
Date: Wed, 15 Dec 2010 02:20:17 -0600 [thread overview]
Message-ID: <1292401217-21154-4-git-send-email-galak@kernel.crashing.org> (raw)
In-Reply-To: <1292401217-21154-3-git-send-email-galak@kernel.crashing.org>
From: Li Yang <leoli@freescale.com>
The current code use all the voltage range support by the host
controller to do the validation. This will cause problem when
the host supports Low Voltage Range. Change the validation
voltage to be based on board setup.
Signed-off-by: Li Yang <leoli@freescale.com>
---
drivers/mmc/fsl_esdhc.c | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index 7bab2f6..40b136c 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -444,7 +444,7 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg)
{
struct fsl_esdhc *regs;
struct mmc *mmc;
- u32 caps;
+ u32 caps, voltage_caps;
if (!cfg)
return -1;
@@ -462,14 +462,24 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg)
mmc->set_ios = esdhc_set_ios;
mmc->init = esdhc_init;
+ voltage_caps = 0;
caps = regs->hostcapblt;
-
if (caps & ESDHC_HOSTCAPBLT_VS18)
- mmc->voltages |= MMC_VDD_165_195;
+ voltage_caps |= MMC_VDD_165_195;
if (caps & ESDHC_HOSTCAPBLT_VS30)
- mmc->voltages |= MMC_VDD_29_30 | MMC_VDD_30_31;
+ voltage_caps |= MMC_VDD_29_30 | MMC_VDD_30_31;
if (caps & ESDHC_HOSTCAPBLT_VS33)
- mmc->voltages |= MMC_VDD_32_33 | MMC_VDD_33_34;
+ voltage_caps |= MMC_VDD_32_33 | MMC_VDD_33_34;
+
+#ifdef CONFIG_SYS_SD_VOLTAGE
+ mmc->voltages = CONFIG_SYS_SD_VOLTAGE;
+#else
+ mmc->voltages = MMC_VDD_32_33 | MMC_VDD_33_34;
+#endif
+ if ((mmc->voltages & voltage_caps) == 0) {
+ printf("voltage not supported by controller\n");
+ return -1;
+ }
mmc->host_caps = MMC_MODE_4BIT | MMC_MODE_8BIT;
--
1.7.2.3
next prev parent reply other threads:[~2010-12-15 8:20 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-15 8:20 [U-Boot] [PATCH 0/3] fsl_esdhc fixes Kumar Gala
2010-12-15 8:20 ` [U-Boot] [PATCH 1/3] fsl_esdhc: Use mmc_set_clock to set initial speed Kumar Gala
2010-12-15 8:20 ` [U-Boot] [PATCH 2/3] fsl_esdhc: Fix max clock frequency Kumar Gala
2010-12-15 8:20 ` Kumar Gala [this message]
2010-12-16 17:41 ` [U-Boot] [PATCH 3/3] fsl_esdhc: Fix the voltage validation process Stefano Babic
2010-12-16 17:41 ` [U-Boot] [PATCH 2/3] fsl_esdhc: Fix max clock frequency Stefano Babic
2010-12-16 17:40 ` [U-Boot] [PATCH 1/3] fsl_esdhc: Use mmc_set_clock to set initial speed Stefano Babic
2010-12-15 13:59 ` [U-Boot] [PATCH 0/3] fsl_esdhc fixes Kumar Gala
2010-12-16 17:38 ` Stefano Babic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1292401217-21154-4-git-send-email-galak@kernel.crashing.org \
--to=galak@kernel.crashing.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox