Re: /dev/mmcblk0 (or /dev/mmcblk0p1) does not exist on Freescale iMX6SL board

Fabio Estevam
2015-05-01T15:03:35Z

On Fri, May 1, 2015 at 7:39 AM, Xuebing Wang <xbing6@gmail.com> wrote:

> I got my eMMC working on kernel v4.0.1 by:
> 1) In device tree, use 8 data lines (rather than 4 lines for sdhc)

Ok, great. This makes sense.

> 2) Force ext_csd.rev to be 4
> -------------------------
> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
> index 1d41e85..aa1ca6c 100644
> --- a/drivers/mmc/core/mmc.c
> +++ b/drivers/mmc/core/mmc.c
> @@ -355,6 +355,7 @@ static int mmc_decode_ext_csd(struct mmc_card *card, u8
> *ext_csd)
> * are authorized, see JEDEC JESD84-B50 section B.8.
> */
> card->ext_csd.rev = ext_csd[EXT_CSD_REV];
> + card->ext_csd.rev = 4;
>
> card->ext_csd.raw_sectors[0] = ext_csd[EXT_CSD_SEC_CNT + 0];
> card->ext_csd.raw_sectors[1] = ext_csd[EXT_CSD_SEC_CNT + 1];
> -------------------------
>
> eMMC on my board is Micron "MTFC4GLDDQ-4M IT", according to its datasheet,
> it is "JEDEC/MMC standard version 4.41-compliant
> (JEDEC Standard No. 84-A441)", and its "Extended CSD revision" (EXT_CSD_REV)
> = 5
>
> This seems either because kernel does not handle (ext_csd == 5) correctly,
> or there is an firmware issue in Micron "MTFC4GLDDQ-4M IT" (in terms of
> JEDEC standard compliance), what do you think?

I will let the mmc experts comment on this one.

Regards,

Fabio Estevam