AnsweredAssumed Answered

imx6 Linux SDIO detection issue

Question asked by Prithwiraj Shome on Jul 4, 2014

We are using Sabre-Lite imx6 boards from boundary devices. As we insert SDIO module in MMC/SD slot, the Linux kernel 3.10 tries to initialize the card by negotiating frequency-voltage but it eventually times out (-110 error). But the same SDIO card is successfully initialized on PC host running Ubuntu kernel 3.8. Please find the command-sequence log after enabling MMC debug in kernel for both Ubuntu PC and imx6 board.

 

In the logs, i see that Ubuntu PC kernel is able to initialize the SDIO card at frequency 128.906 kHz and all higher frequency values results in command timeout. However, in case of imx6 Linux kernel, some commands seem to generate CRC errors (-84) and other commands results in timeout (-110). Also, in imx6 log i see that, CMD0 and CMD5 seem to succeed at 400KHz but further commands timeout. This behavior is not observed in case of Ubuntu PC kernel where all commands timeout until operating frequency 128.906 kHz. The imx6 kernel does not appear to support 128.906 kHz and instead seems to use 100 kHz.

 

Can anyone please suggest ways to successfully initialize the device.

 

The kernel source for the board i am using is boundarydevices/linux-imx6 at boundary-imx_3.10.17_1.0.0_ga · GitHub

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

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

Outcomes