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.

Beagle Bone Black

Other Parts Discussed in Thread: AM3358

Hi,

Our cape shares pins with the on-board eMMC of the BBB. Therefore, I would like to disable the eMMC. From what I understand, I need to configure the eMMC to enable the hardware reset line. This has been a task in itself. I think I have done this, but how do I know for sure? Anyway, once enabled, my plan was to hold the eMMC in reset by asserting GPIO1_20. My hope was that by holding the eMMC in reset, all other eMMC pins would be tri-stated.

 

The problem is that I cannot currently drive pin GPIO1_20 (which is shared with MMC1_DAT0) low. So either the eMMC is not truly being held in reset, or holding it in reset does not tri-state the data lines.

 

I cannot find a datasheet for the eMMC device. If I had the datasheet, I could better understand how to configure and the expected results once configured.

Thanks

 

 

  • Hi,

    The eMMC is either Micron MTFC4GLDEA 0M WT or Kingston KE4CN2H5A-A58. The Micron part datasheet can be downloaded from the Micron site after registration.

  • Hi Biser,

    Thanks for the suggestion and it helped.  I did get the Kingston datasheet but still have couple of questions.  Can you please send me an email so that I can send all the questions or please provide me your email id.

    Thanks

    Madhu

  • Hi Madhu,

    Please post on the forum.

  • Hi Biser,

    Even after looking at the eMMC datasheet as well as the JESD84-50 spec, I am still left wondering what the actual procedure is for disabling the eMMC. According to the BeagleBone SRM, I need to drive the eMMC into reset. See excerpt from the SRM below. 

     

    I guess the big question is, what does “…after the eMMC has been put into a mode to enable the reset line” mean? What I tried was: I enabled the SUPPORT_EMMC_BOOT compile config option in the u-boot code and recompiled. Once I did this, I was able to use the command “mmc rst-function 1 1”. I am not 100% certain if that command did anything, nor am I certain that I used it the right way. I do know that u-boot took the command without any errors reported. My theory was that this was the “putting the eMMC into a mode to enable the reset line” action that was needed. I then created a shell script to put the eMMC into reset during boot. The script is called from rc.local – which is called near the end of boot, before any login prompt is output. Here is what my script looks like.

     

    echo 52 > /sys/class/gpio/export

    echo out > /sys/class/gpio/gpio52/direction

    echo 1 > /sys/class/gpio/gpio52/value

     

    The problem then is that it does not appear that the eMMC is, in fact, in reset. And that is a problem because our cape shares a pin with the MMC1_DAT0 line on the eMMC. Our cape has a CAN enable line coming out to the expansion header P8-25 – which is also connected to MMC1_DAT0 on the BeagleBone. We cannot drive this line low. Is that because the eMMC is not being held in reset? Or is it because of another problem in that there are 2 pullups on that line (1 on the BeagleBone and one on the cape) and the AM3358 cannot sink all that current into that GPIO output port? Given that the 2 pullups are 10K resistors, I would expect that the current necessary to sink at the GPIO port would be ~0.66 mA. However, when I checked this, I found there was .763 mA flowing through that circuit – meaning something else could be driving that line – which would support my initial hunch that the eMMC is driving that line and not being held in reset.

     

    Another thought I wanted to bounce off you: I currently drive the GPIO pin high to put the eMMC into reset. There is an inverter on that line, so driving the GPIO pin high drives the RST_n signal low at the eMMC. Meanwhile, RST_n is being held low as long as the Beagle is booted up. Considering the excerpt showing section 4.14 of the eMMC datasheet, should I let off driving the RST_n signal after a short time, so that the eMMC is allowed to fully boot up? Or has all that already happened by the time the kernel is running?

     

    Any thoughts/suggestions?

     

    Relevant information from the datasheet and the eMMC protocol spec are below.

     

    Thanks,

    Madhu

  • Hi Madhu,

    eMMCs usually need their reset functionality to be enabled by host by writing into a register. On a Micron eMMC datasheet that I have it says: The host must set ECSD register byte 162, bits[1:0] to 0x1 to enable this functionality before the host can use it.

  • hi, 

    I have ID on micron site, while using that i tried to download its (MTFC4GLDEA-0M WT )  data sheet but data sheet is not opening its just open blank page and while tried to save data sheet (by pressing right click on link) its give failed downloading error. i have also already tried to contact technical support at micron site but did not get any feedback.

    Please suggest the alternate / cross reference component for this. i have not found both micron and kingston chip ay any vendor such as digikey, mouser, arrow, avnet etc.

  • Hi Usman,

    Thanks for the response but as mentioned before we are using the Kingston part KE4CN2H5A-A58

    and not the Micron.

    Thanks

  • Usman,

    Any eMMC will work the same way. You just have to find the one that has the right size/price for you. We cannot recommend third-party products on this forum. TI does not manufacture eMMC memories.

  • Hi Madhu,

    thanks for quick response.

    please share the data sheet of kingston (KE4CN2H5A-A58)  chip and also vendor information, i have not found that chip as well at mouser, digikey.com, avnet.com, arrrow.com.

    Regards,

  • You might want to recheck this but the last time I looked at the Kingston eMMC data sheet I was under the impression the hardware reset line was always enabled ...unlike the Micron part that you have to program to enabled reset line functionality. While the eMMC is a standard every manufacturer seems to do things slightly different (just to drive the software people crazy).

  • Hi Madhu,

    I am facing the similar problem but have other issues as well, I am unable to find the Kingston KE4CN2H5A-A58 (4GB eMMC) datasheet. Can you please quote the source link where you found the datasheet ? Or please mail me the datasheet on my email-id : tejas@cryptolab.net
  • You have to read the data sheet closely as, if I remember correctly, the eMMC reset pin is not standard according to the MMC spec. but vendor specific.

    I believe the reset pin on the Micron version it is not even active until it is programmed to act as a reset. I believe the Kingston reset is exactly the opposite.

  • Madhu can you please post the link of the place you got the kingston datasheet from.
  • Hi ,

    We are using BBB on Ubuntu 16.04 (Linux).
    Can i install "CouchBaseLite" on Beagle Bone Black "NAND" partiton?
    Please give me any suggestions...


    Thanks,
    Raghavendra
  • Ubuntu 16.04 is not supported by TI. Please ask your question on www.beagleboard.org.