AnsweredAssumed Answered

eMMC problems on L3.10.17GA

Question asked by Marko Panger on Jun 26, 2014
Latest reply on Jul 29, 2014 by Yixing Kong
Branched to a new discussion

Hi !

 

I'm using the L3.10.17GA release and I'm facing some eMMC problems on our custom board (based on sabreSD). Looks like eMMC is getting stuck somewhere during initialization. Consequently the kernel doesn't sees the partitions. To exclude HW problems there are 3 things to note:

 

1) In uboot it works - always

2) Sometimes it works - very rare. I'm able to see and access the partitions.

3) It always work if we use the latest released LTIB kernel

 

We are using USDHC port 4.

 

Tracing down the flow it looks like the eMMC is stuck in the "__mmc_switch" function when trying to switch mode to 8 bits. It stays there for 10 minutes and then it retries, but still with no luck.

 

Here is part of the log showing the flow:

 

root@sami-imx6q:~# dmesg | grep mmc

[    1.222715] mmc0: no vqmmc regulator found

[    1.270975] mmc0: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA

[    1.385848] mmc0: BKOPS_EN bit is not set

[    1.385855] __mmc_switch@419: index: 175, value: 1, timeout_ms: 0

[    1.387585] __mmc_switch@419: index: 185, value: 1, timeout_ms: 0

[    1.392723] __mmc_switch@419: index: 183, value: 2, timeout_ms: 0

[    6.815696] mmc0: Got data interrupt 0x00100000 even though no data operation was in progress.

[  601.390975] mmc0: Card stuck in programming state! __mmc_switch

[  601.395606] __mmc_switch@419: index: 183, value: 1, timeout_ms: 0

[  601.400539] __mmc_switch@419: index: 183, value: 0, timeout_ms: 0

[  601.405480] mmc0: switch to bus width 1 ddr 0 failed

[  601.409175] mmc0: error -110 whilst initialising MMC card

[  601.561063] mmc0: BKOPS_EN bit is not set

[  601.563795] __mmc_switch@419: index: 175, value: 1, timeout_ms: 0

[  601.571383] __mmc_switch@419: index: 185, value: 1, timeout_ms: 0

[  601.581882] __mmc_switch@419: index: 183, value: 2, timeout_ms: 0

[  607.009685] mmc0: Got data interrupt 0x00100000 even though no data operation was in progress.

 

As you can see it stays there for 10 minutes and the retries.

 

Any idea what could be wrong ?

Outcomes