This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

eMMC detection on MMC2

I'm having trouble detecting an eMMC device on MMC2.  I have an SD card being detected OK on MMC1.  I believe clocking is OK - I see appropriate CMD and CLK activity at the eMMC device.  However, I never see any response on CMD line from eMMC.  It is hardwired with power, and has no CardDetect or WriteProtect logic.  Any ideas what might be causing the eMMC device to not respond?  I've even tried manually poking some basic commands (like CMD1 and CMD2) and never seem to get any response - MMC2 always reports CTO bit (Command TimeOut) in MMCHS2_STAT reg.

 

  • Which eMMC card you are trying to use? most of eMMC device need 2.7 to 3.6V(memory core)/ 1.7V to 1.95V (interface). 

    if using MMC1 port it would work fine since MMC1 can supply upto 3.0 V supply hence same supply can be used to power both I/O & Core inside eMMC device. if you are using eMMC on MMC2 power rail on OMAP3. you would need to supply Core power supply on eMMC as 3.0 V.  on MMC2 I/O can be configured for 1.8 V mode only. you would need to supply core power seperately.

  • It's a Micron part.  We have core at 3.3V and I/O at 1.8 V.  Both are hardwired.  MMC2 init code goes through the motions of configuring power but it has no effect on actual power to the eMMC.

    However, one concern is the Operating Capabilities Register (OCR) value.  I see that the eMMC responds to CMD1, but the MMC2 status reports a CTO (command timeout) in the STAT register.  I just can't figure out why, but am guessing it has something to do with OCR values.

    Any suggestions?

     

  • What OCR values are you specifying to the eMMC device?

    I presume the reason the CTO (command timeout) is happening is that the eMMC device is not actually responding and removing itself from the bus.  Are you able to observe the MMC interface signals via an oscilloscope and determine if this is the case?

  • Hi Burchmere,

    Are you able to get the eMMC2 working.

    I have just started debugging similar senario, so far I could read OCR register, which is returning 0xff8080 first time when I pass argument 0, indicated read OCR. This value is matching with the device OCR register.

    If I repeat the same command by using argument=0xff8080 it returns 0x80ff8080.

    After this If I issue CMD2 to read CID register I am getting response as 0xddee5511 0x9988bbcc 0x55667788 0x11223344. (This is not matching with device register).

    Can you please share your experience in this regard.

    -Imtiyaj

     

  • Hi Burchmere/ Imtiyaj,

    Are you able to get eMMC working on MMC2. I am also facing the same problem. In response to CMD1 from MMC Host (OMAP) it is always detecting CTO error and afterwards MMC device remove it self from the bus.  Can you please share your experience so that I can debug my problem.

    Regards,

    Chandrashekhar

  • Make sure you have MMC2 CLK configured as an INPUT in the PADCONF register.  Even though OMAP supplies CLK to the eMMC device, the OMAP MMC controller itself needs the same clock coming back in.

     

  • Hi Burchmere,

    Thanks for reply.

    I configured MMC2 CLK  as an INPUT in the PADCONF register and also checked that CONTROL_DEVCONF1.MMCSDIO2ADPCLKISEL bit is set to  internally loop back the output clock (mmc2_clkin ) . Still I am getting respones timeout error. But when I checked CMD and CLK line using Oscilloscope I found response signals are present on CMD line. I am not able to understand why  MMCHS_STAT register shows  CTO error. Is that I am missing any other configuration ?

    Regards,

    Chandrashekhar

     

  • Hi Chandrashekhar,

    I am experiancing the exact same problem on my platform. I was wondering if you managed to resolve the issue and whether you are willing to share the solution with me.

    Thank you in advance,

    Ohad

  • Hi Chandrashekhar

     

    I am also having the same issue as Ohad, any suggestion, how did you get around it. 

     

    Thanks

  • Hi Tam,

    After connecting  MMC card from MMC port 2 of OMAP  to MMC port1 of OMAP it started working. The difference b/w these two ports is only voltage level. I could not find the reason why it was not working on MMC port2.

  • Hi Vaibhav,

     1>Do we have any implementation/support for the eMMC in any of the omap platform if yes in which do we have?.

    2>Is there any drivers implementation utilizing the cross bar EDMA events.?

    3>In TI814x SD Driver User Guide.pdf or so hope I saw something like  MMC is not a SD supported driver is it true?

    As we are using the TI814X with Linux PSP4.6 in it. With some configuration we are able to get till 

    err = mmc_send_op_cond(host, 0, &ocr); but after this mmc_attach_mmc is not getting attached ?

    May we know what is to be done here?

    --P