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

Jagannadha Sutradharudu Teki jagannadha.sutradharudu-teki at xilinx.com
Mon May 27 07:19:22 CEST 2013


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
> .....
>
> 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.




More information about the U-Boot mailing list