Adding eMMC 5.0 chip imx7d sabre board

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

Adding eMMC 5.0 chip imx7d sabre board

Jump to solution
2,681 Views
dennis3
Contributor V

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
Device: FSL_SDHC
Manufacturer ID: da
OEM: 100
Name: E0002
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?

TIA

Labels (1)
Tags (2)
0 Kudos
1 Solution
2,083 Views
dennis3
Contributor V

Quick update, reflowing our part was able to fix the issue.

In summary, yes, default config out of the box works with the eMMC chip.  You don't have to change any kernel drivers or device tree settings, when operating correctly, it shows up as /dev/mmcX***

View solution in original post

0 Kudos
13 Replies
2,083 Views
igorpadykov
NXP Employee
NXP Employee

Hi Dennis

for reliable boot recommended to program emmc with mfg tool found on

i.MX Software|NXP 

also one can try with several emmc as on case

https://community.nxp.com/thread/332110 

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

0 Kudos
2,083 Views
dennis3
Contributor V

Thank you for the response.  I think perhaps you misunderstood my original problem. I'm not trying to boot from eMMC right now.  I just want to use the eMMC chip for storage option in the mean time.  Currently I still boot from the removable SD Card.  

Shouldn't I be able to boot from the SD Card and then have linux see eMMC as available block device for storage?  u-boot from SD Card can see eMMC chip with > mmc info but in Linux it has timeouts.  I don't know if this is a hardware problem or software problem currently.

0 Kudos
2,083 Views
igorpadykov
NXP Employee
NXP Employee

>Shouldn't I be able to boot from the SD Card and then have linux see eMMC as available block device for storage? 

yes. May be useful to check Table 31. Linux uSDHC relationships attached Linux Guide.

Emmc used on sd3 port on i.MX7D Sabre SD schematic

Schematics (2)
Design files for i.MX 7Dual (REV D)
Design files, including hardware schematics, Gerbers, and OrCAD files for i.MX 7Dual (REV D)
http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

and works fine with nxp bsps

linux/arch/arm/boot/dts/imx7d-sdb.dts

imx7d-sdb.dts\dts\boot\arm\arch - linux-imx - i.MX Linux kernel 

Linux Documentation

https://www.nxp.com/webapp/Download?colCode=L4.1.15_2.0.0-LINUX-DOCS&Parent_nodeId=13376994810717061... 

Best regards
igor

0 Kudos
2,083 Views
darrenjiao
Contributor I

hi igor,

did NXP assembly one 153 emmc chip on this board and debug?

if yes, which chips used?

thanks.

0 Kudos
2,083 Views
dennis3
Contributor V

The part number on the dev board schematic is: MTFC8GACAEAM-1M WT

It's a Micron part.  Unfortunately it's obsoleted so you have to find another eMMC chip that is currently stocked.

0 Kudos
2,083 Views
darrenjiao
Contributor I

thanks, i used Greenliant device.

which part you used?

0 Kudos
2,083 Views
dennis3
Contributor V

I'm using this part: SFEM4096B1EA1TO-I-GE-111-E02 From Swissbit.  It's been working fine so far.

0 Kudos
2,083 Views
darrenjiao
Contributor I

hi igor,

same issue, when boot from SD card and used u-boot command 'mmc dev 1', the host will failed at high speed mode 8-bit and 4-bit bus width.

did i should set same register of the SD3 port?

0 Kudos
2,083 Views
dennis3
Contributor V

Thanks again, the references you pointed to are what I'm using already so it seems like it should work.  I'll go back to a lower level and see if we perhaps go the chip attached insufficiently or there is some other hardware problem.

0 Kudos
2,083 Views
darrenjiao
Contributor I

Hi Dennis,

Did you fixed this issue or not?

I find same issue on the i.MX 7Dual SABRE-SD platform.

when at u-boot, i find the mmc dev 1 command will failed to change device to high speed SDR 8 bit and 4 bit mode, after change mode then send_ext_csd_cmd() will failed, the return error is -17.

0 Kudos
2,084 Views
dennis3
Contributor V

Quick update, reflowing our part was able to fix the issue.

In summary, yes, default config out of the box works with the eMMC chip.  You don't have to change any kernel drivers or device tree settings, when operating correctly, it shows up as /dev/mmcX***

0 Kudos
2,083 Views
darrenjiao
Contributor I

Hi Dennis,

thanks very much, i will reflowing my part too.

0 Kudos
2,083 Views
dennis3
Contributor V

We're getting more parts in today to test more.  I'll let you know if I find anything.

Our error was -110, a timeout on commands 8 and 55.

0 Kudos