iMX6 u-Boot MMC driver missing weak/strong pull-up of CMD line

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

iMX6 u-Boot MMC driver missing weak/strong pull-up of CMD line

Jump to solution
1,739 Views
colinwernham
Contributor II

I'm trying to add support in u-boot for a Micron eMMC device to the imx6-cubox-i, and it always times-out on the CMD8. Looking at the bootup protocol in the "IMX6DQRM Applications Processor Reference" document, it needs the MMC CMD line "Set Strong pull-up For CMD line" (at the start of the initialisation), then "Set Weak pull-up For CMD line" part of the way through the initialisation (between CMD3 and CMD9).

I am struggling to find a way to modify the u-boot mmc.c driver to set the PAD_SD3_CMD__USDHC3_CMD  PUS and PUE settings from within the driver.

There must be a way to do this. Has the mmc driver been modified to support this for sabreauto which uses eMMC?

Screenshot-5.png

Message was edited by: Colin Wernham

Labels (1)
Tags (2)
0 Kudos
1 Solution
1,250 Views
igorpadykov
NXP Employee
NXP Employee

Hi Colin

iROM is not equivalent to uboot, uboot link

uboot-imx.git - Freescale i.MX u-boot Tree

additional pullup configuration in mmc.c codes is not necessary, it works

fine with default uboot pull configuration.

Best regards

igor

View solution in original post

0 Kudos
4 Replies
1,250 Views
igorpadykov
NXP Employee
NXP Employee

Hi Colin

Chapter 8 bootup protocol setups pull-ups in iROM code before running Linux.

After boot Linux uses mmc.c codes, it uses pull-ups setups defined in

dts/dtsi files, no need to additionally control them as it is done in mmc driver.

One can try eMMC operation on sabreauto using Demo images given in BSP,

follow descriptions given in included i.MX_Linux_User's_Guide.pdf

Board Support Packages (29)

L3.14.52_1.1.0_MX6QDLSOLO (REV L3.14.52_1.1.0)

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

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

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,250 Views
colinwernham
Contributor II

Hi Igor,

Your info in the Linux kernel is useful, so thanks for that.

I left out of the question that I'm trying to get uBoot to work. Is the iROM you mention equivalent to uboot, and does the SabreAuto use uboot?

I've looked at the git.freescale.com/imx/uboot-imx (which does have config for sabreauto) drivers/mmc/mmc.c code, and cannot see anything that allows additional pullup configuration for the imx6, so I am wondering if it is really necessary, even though the Freescale protocol says it is. Trying to write the pad CMD pullup config inside the driver is not good.

Colin

0 Kudos
1,251 Views
igorpadykov
NXP Employee
NXP Employee

Hi Colin

iROM is not equivalent to uboot, uboot link

uboot-imx.git - Freescale i.MX u-boot Tree

additional pullup configuration in mmc.c codes is not necessary, it works

fine with default uboot pull configuration.

Best regards

igor

0 Kudos
1,250 Views
colinwernham
Contributor II

Thanks Igor, that was just what I was looking for!

0 Kudos