Boot from eMMC on i.MX6S: mmc0: Timeout waiting for hardware interrupt

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

Boot from eMMC on i.MX6S: mmc0: Timeout waiting for hardware interrupt

4,230 Views
ThomasG1z
Contributor III

Have placed u-boot in boot partition 1 and load up kernel and root filesystem via NFS, but receive error messages during bootup and every 5 seconds or so like this:

mmc0: Timeout waiting for hardware interrupt.

mmc0: Got data interrupt 0x00600000 even though no data operation was in progress.

The strange thing is that if I boot up with bootloader in SPI flash, still kernel and rootfs over NFS, the eMMC seems to be detected and working fine (I was writing out u-boot for instance..), so kernel and RFS is identical, also u-boot.

Any idea what can cause this..? this is on a custom board sharing much in common with Sabrelite, and kernel based on the 4.1.0 release.

eMMC is this one from Micron

N2M400FDB311A3CE - Micron Technology, Inc.

9 Replies

1,344 Views
LeonardoSandova
Specialist I

Thomas,

what do you mean that you place u-boot in the first partition? usually, u-boot is place at address 1k, is that what you mean?

Regarding your issue, what are your bootargs and kernel version?

Leo

0 Kudos

1,344 Views
ThomasG1z
Contributor III

Hi,

Yes, I've written u-boot.imx at offset 1024 (0x400) to the boot0 partition of the eMMC device, which I suspect should be correct. I also took a look at the Manufacturing Toolkit scripts and see that you do the same there for a board with eMMC. I have set boot0 to active through sysfs (again same procedure as I see in Manufacturing Toolkit). And it boots up u-boot when I configure the GPIO fuses for the eMMC and the correct port.

I use external gpio for boot config. Kernel is as mentioned the one in the LTIB 4.1.0 release, though I've grabbed it from the Boundary devices tree, as our board share much in common with the sabrelite:

boundarydevices/linux-imx6 · GitHub

Home from work but I'll post the boot params tomorrow, but as mentioned set up for root fs on NFS.

0 Kudos

1,344 Views
LeonardoSandova
Specialist I

EricNelson, any idea about this issue?

0 Kudos

1,344 Views
EricNelson
Senior Contributor II

Hi Leo,

We haven't seen this, though we're using Toshiba THGBM2G7D4FBA19 on our eMMC designs, and exclusively with the i.MX6Q processor variant.

I'd double-check the pad settings (especially drive strength) for the pins connected to eMMC, since those differ from the Sabre Lite design.

0 Kudos

1,344 Views
ThomasG1z
Contributor III

I took another board and got it working as it should. I currently suspect I have managed to change some parameter in the eMMC on the other board that is causing this. I'll get back to this thread in a few days when I have the time to look into it, hopefully with an answer. But still strange that the driver fails completely also on other ports.

1,344 Views
YixingKong
Senior Contributor IV

Thomas, we are going to close the DI in 3 days if you are fine.

Thanks,

Yixing

0 Kudos

1,344 Views
YixingKong
Senior Contributor IV

Thomas, it is good to know that you got another board working. Hopefully you could have something back as soon as possible so that we could close the DI.

Thanks,

Yixing

0 Kudos

1,344 Views
ThomasG1z
Contributor III

This is the current bootargs setting:

enable_wait_mode=off video=mxcfb0:dev=lcd,CLAA-WVGA,if=RGB24,fbmem=10M video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off console=ttymxc1,115200 vmalloc=400M consoleblank=0 ip=dhcp rootwait rw root=/dev/nfs nfsroot=[my server ip]:/export/india/,tcp

0 Kudos

1,343 Views
ThomasG1z
Contributor III

Haven't had time yet to look much more into this, but what I can say is that when booting off eMMC on port 2 a uSD card in port 4 will not be detected either.

However if I set bootmode to SD instead of MMC (BT_CFG1_5 = 0) for the eMMC device, it boots up and both devices are detected in linux and working... but that (wrong) setting causes other problems for u-boot/bootrom during reset.

I've cleared out u-boot in the SPI flash so there's no other boot source interfering.

Still open for ideas if anyone has got..!

0 Kudos