mmc0: error -84 whilst initialising MMC card

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

mmc0: error -84 whilst initialising MMC card

12,938 Views
xrztech_wen
Contributor II

hi,everyone,

     I met a problem about the EMMC:

     When the unit bootup from the EMMC,it would report this error:

       mmc0: error -84 whilst initialising MMC card

  Follow the source code,I found when the emmc tried to send this command:

#define MMC_ALL_SEND_CID          2   /* bcr                     R2  */

   it would met error.

 

   when we tried to init the EMMC,we need tried to Fetch CID from card,but it couldnot fetch it:

  /*

  * Fetch CID from card.

  */

  if (mmc_host_is_spi(host))

     err = mmc_send_cid(host, cid);

  else{

     err = mmc_all_send_cid(host, cid); ---> process this funtion,it would report error -84

     printk("%s,[%d],err =%d \n",__func__,__LINE__,err);

  }

  if (err)

      goto err;

 

   Do you know why ? and how to solve this problem? Thanks very much in advance.

 

BTW,

   1.My BSP version is :android 4.0.4 (android-13.5.0-ga.01);

   2.The kernel version is:Linux 3.0.35;

   3.the CPU is:CPU identified as i.MX6SoloLite, silicon rev 1.2

   3.Here is the mmcinfo:  

MX6Sl Z970B U-Boot > mmc dev 1

mmc1(part 0) is current device

MX6Sl Z970B U-Boot > mmcinfo

Device: FSL_USDHC

Manufacturer ID: 11

OEM: 100

Name: 008GE

Tran Speed: 25000000

Rd Block Len: 512

MMC version 4.0

Clock: 52000000

High Capacity: Yes

Capacity: 7818182656 Bytes

Bus Width: 4-bit DDR

Current Partition for boot: Not bootable

MX6Sl Z970B U-Boot >

4.For more informations,please refer to the attachment file.

 

Original Attachment has been moved to: emmc_84_error.txt.zip

Labels (2)
Tags (1)
0 Kudos
6 Replies

6,283 Views
marcocavallini
Contributor V

Error -84 is happens when we try to fetch CID from EMMC
For that reason you should replace the boot parameters to

    root=/dev/mmcblk2p2 

instead of

    root=PARTUUID=${uuid} 
0 Kudos

6,283 Views
chayishuang
Contributor I

How do you solve that problem? Thanks very much in advance.

0 Kudos

6,283 Views
jimmychan
NXP TechSupport
NXP TechSupport

your EMMC is 4bit width?

0 Kudos

6,283 Views
xrztech_wen
Contributor II

No,it was 8 Bit  width.

0 Kudos

6,283 Views
jimmychan
NXP TechSupport
NXP TechSupport

are you config the emmc like this?

    .always_present = 1,

    .keep_power_at_suspend = 1,

    .support_8bit = 1,

    .delay_line = 0,

    .cd_type = ESDHC_CD_PERMANENT,

0 Kudos

6,283 Views
xrztech_wen
Contributor II

Sorry for reply later.

Here is my sd's config:

static const struct esdhc_platform_data mx6_evk_sd2_data __initconst = {

  .cd_gpio = MX6SL_INVALID_GPIO,

  .wp_gpio = MX6SL_INVALID_GPIO,

  .support_8bit = 1,

  .support_18v = 0,

  .keep_power_at_suspend = 1,

  .delay_line = 0,

  .always_present = 1,

  .cd_type = ESDHC_CD_PERMANENT,

  .platform_pad_change = mx6sl_evk_plt_sd_pad_change,

};

0 Kudos