I want to start experimenting with alternate boot media options so we attached an eMMC 5.0 chip to the IMX7D sabre development board.
Under u-boot, I can type mmc info and see the chip:
=> mmc dev 1
switch to partitions #0, OK
mmc1(part 0) is current device
=> mmc info
Manufacturer ID: da
Bus Speed: 52000000
Mode : MMC High Speed (52MHz)
Rd Block Len: 512
MMC version 5.0
High Capacity: Yes
Capacity: 1.8 GiB
Bus Width: 1-bit
Erase Group Size: 512 KiB
HC WP Group Size: 8 MiB
User Capacity: 1.8 GiB ENH WRREL
User Enhanced Start: 0 Bytes
User Enhanced Size: 1.8 GiB
Boot Capacity: 2 MiB ENH
RPMB Capacity: 512 KiB ENH
After kernel boot, the kernel seems to fail to further communicate with the part and repeats various errors similar to the following as it tries different bus options:
mmc1: Timeout waiting for hardware interrupt.
mmc1: switch to bus width 4 failed
mmc1: mmc_select_hs200 failed, error -110
mmc1: error -110 whilst initialising MMC card
I first was using Linux 4.1.15 and the device appeared as mmc2 (same timeout errors though).
Then tried Linux 4.9.x from the imx branch to see if a newer mmc driver had better luck but it's the same.
There are a lot of posts on the forums with this error but they usually have to do with custom boards and booting. None of them posted a solution that I found. Anyone have a clue where I might look to correctly communicate with the eMMC as an added hard drive?