[U-Boot] [U-BOOT] mmc: sdhci: Enable 8-bit bus width only for 3.0 spec onwards

Simon Glass sjg at chromium.org
Sat Jun 8 01:46:06 CEST 2013


Hi,

On Wed, May 29, 2013 at 4:42 AM, Jagan Teki <jagannadh.teki at gmail.com>wrote:

> Any help on this, was this a useful fix.
>
> Thanks,
> Jagan.
>
> On Mon, May 27, 2013 at 10:49 AM, Jagannadha Sutradharudu Teki
> <jagannadha.sutradharudu-teki at xilinx.com> wrote:
> > Request for an update on this.
> >
> > Thanks,
> > Jagan.
> >
> >> -----Original Message-----
> >> From: Jagannadha Sutradharudu Teki [mailto:jagannadha.sutradharudu-
> >> teki at xilinx.com]
> >> Sent: 21 May 2013 15:02
> >> To: u-boot at lists.denx.de
> >> Cc: monstr at monstr.eu; Andy Fleming; Jagannadha Sutradharudu Teki
> >> Subject: [U-BOOT] mmc: sdhci: Enable 8-bit bus width only for 3.0 spec
> onwards
> >>
> >> CAP register don't have any information for 8-bit buswidth support on
> 2.0 sdhci
> >> spec, only from 3.0 onwards bit[18] got this information.
> >>
> >> Due to this misassignment in sdhci, mmc is setting 8-bit buswidth using
> >> mmc_set_bus_width even if controller doesn't support.
> >> Below change has code information.
> >> "mmc: Properly determine maximum supported bus width"
> >> (sha1: 7798f6dbd5e1a3030ed81a81da5dfb57c3307cac)
> >>
> >> Bug log: <mmc plus and emmc cards)
> >> -------
> >> zynq-uboot> mmcinfo
> >> Error detected in status(0x208100)!
> >> Device: zynq_sdhci
> >> Manufacturer ID: fe
>

This seems like a reasonable patch to me. I don't have hardware to test it
though, and have not looked up the spec.

Reviewed-by: Simon Glass <sjg at chromium.org>


> >> .....
> >>
> >> So enable 8-bit support only for 3.0 spec using CAP and for below 3.0
> assign
> >> mmc->host_caps = MMC_MODE_8BIT on respective platform driver if host
> have
> >> a support.
> >>
> >> Signed-off-by: Jagannadha Sutradharudu Teki <jaganna at xilinx.com>
> >> ---
> >>  drivers/mmc/sdhci.c |    6 ++++--
> >>  1 files changed, 4 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index
> 1eaea04..c5631bf
> >> 100644
> >> --- a/drivers/mmc/sdhci.c
> >> +++ b/drivers/mmc/sdhci.c
> >> @@ -486,8 +486,10 @@ int add_sdhci(struct sdhci_host *host, u32 max_clk,
> >> u32 min_clk)
> >>               mmc->voltages |= host->voltages;
> >>
> >>       mmc->host_caps = MMC_MODE_HS | MMC_MODE_HS_52MHz |
> >> MMC_MODE_4BIT;
> >> -     if (caps & SDHCI_CAN_DO_8BIT)
> >> -             mmc->host_caps |= MMC_MODE_8BIT;
> >> +     if ((host->version & SDHCI_SPEC_VER_MASK) >= SDHCI_SPEC_300) {
> >> +             if (caps & SDHCI_CAN_DO_8BIT)
> >> +                     mmc->host_caps |= MMC_MODE_8BIT;
> >> +     }
> >>       if (host->host_caps)
> >>               mmc->host_caps |= host->host_caps;
> >>
> >> --
> >> 1.7.4
> >>
> >
> >
> >
> > This email and any attachments are intended for the sole use of the
> named recipient(s) and contain(s) confidential information that may be
> proprietary, privileged or copyrighted under applicable law. If you are not
> the intended recipient, do not read, copy, or forward this email message or
> any attachments. Delete this email message and any attachments immediately.
> >
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > http://lists.denx.de/mailman/listinfo/u-boot
>
>
>
> --
> --
> Thanks,
> Jagan.
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>


More information about the U-Boot mailing list