MMC Timeout Crash dump during Data Transfer

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

MMC Timeout Crash dump during Data Transfer

2,351 Views
pandivijayaraj
Contributor I

Hi,

I am working with the IMX6SLL-EVK board and booting up with the linux-imx-4.9.11_1.0.0_ga kernel.

An external WiFi card is inserted interfaced using the SD3(MMC2) slot and data transfer is tested. The WiFi Card is detected as a UHS-I SDR104 card and the supplied clock frequency is 198MHz.

During Iperf test data transfers the MMC Timeout crash is observed more often. This is caused by the timer callback "sdhci_timeout_data_timer". After this the WIFI card has to be removed and re-inserted to continue further testing.

What is the reason for this dump?

Is it a limitation of the iMX6SLL-EVK platform because of the single core design?

help me debug this further.

ubuntu@arm:~$ sudo cat /sys/kernel/debug/mmc2/ios
clock: 208000000 Hz
actual clock: 198000000 Hz
vdd: 18 (3.0 ~ 3.1 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 6 (sd uhs SDR104)
signal voltage: 1 (1.80 V)
driver type: 0 (driver type B)
ubuntu@arm:~$

ubuntu@arm:~$ mmc2: Timeout waiting for hardware interrupt.
sdhci: =========== REGISTER DUMP (mmc2)===========
sdhci: Sys addr: 0xe4059d90 | Version: 0x00000002
sdhci: Blk size: 0x00000004 | Blk cnt: 0x00000001
sdhci: Argument: 0x9410d004 | Trn mode: 0x00000003
sdhci: Present: 0x01f8810e | Host ctl: 0x00000013
sdhci: Power: 0x00000002 | Blk gap: 0x00000080
sdhci: Wake-up: 0x00000008 | Clock: 0x0000001f
sdhci: Timeout: 0x0000008f | Int stat: 0x00000000
sdhci: Int enab: 0x107f110b | Sig enab: 0x107f110b
sdhci: AC12 err: 0x00000000 | Slot int: 0x00000302
sdhci: Caps: 0x07eb0000 | Caps_1: 0x8000b407
sdhci: Cmd: 0x0000353a | Max curr: 0x00ffffff
sdhci: Host ctl2: 0x00000088
sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0xec4d1208
sdhci: ===========================================

Regards,

Pandi Vijayaraj

0 Kudos
5 Replies

1,558 Views
igorpadykov
NXP Employee
NXP Employee

Hi Pandi

one can try to adjust pad settings related to signal integrity, like DSE,SRE,SPEED

described in sect.25.7.312 Pad Control Register (IOMUXC_SW_PAD_CTL_PAD_SD3_DATA0)

i.MX6SLL Reference Manual (rev.0  6/2017)

www.nxp.com/assets/documents/data/en/reference-manuals/IMX6SLLRM.pdf


&iomuxc {      imx6sll-evk-murata-v2 {           pinctrl_wifi: wifigrp {                fsl,pins = < MX6SLL_PAD_SD3_DATA0__SD3_DATA0 0x170b9 ..
linux-imx.git - i.MX Linux Kernel 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
0 Kudos

1,558 Views
pandivijayaraj
Contributor I

Hi Igor,

I have already tried to modify the parameters in IOMUX PAD registers.

The MMC clock speed used here is 200Mhz.

SPEED bits should be always set to 11.

SRE is always set to 1, to select the Fast slew rate.

So , the variability is there only in DSE field. I have tested with all the values for the DSE field.

But still the probelm exists.

If we use the value  DSE  = 111(37 ohm) for the IO pins SD3_DATA0-3, then the scenario improves little bit. But still crash occurs sometimes.

0 Kudos

1,558 Views
igorpadykov
NXP Employee
NXP Employee

Hi Pandi

errors may be also caused from external card, one can try with other card.

Best regards
igor

0 Kudos

1,558 Views
pandivijayaraj
Contributor I

Hi Igor,

I have tried with multiple cards. Still problem is observed.

whenever this problem occurs driver receives the particular error code -84 EILSEQ from the MMC stack during the read operation from SDIO.

After that the other timeout Error code -110 is returned continuously for all the further writes and at one point, the MMC timeout occurs.

What could be the reason for EILSEQ error during SDIO read? 

Whether it could be related to the SDIO clock frequency 200MHz in UHS-I mode?

Could it be because of SDIO port power supply? Anything like fluctuations?

Thanks.

Regards,

Pandi Vijayaraj

0 Kudos

1,558 Views
igorpadykov
NXP Employee
NXP Employee

Hi Pandi

 

right, power supply may affect it. One can try with external power supply.

 

Best regards
igor

0 Kudos