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.

SD Card Detect

Other Parts Discussed in Thread: TPS65950, DM3730

I have question regarding the SD Card detect on the beagleboard.  I see that net MMC_CD goes into U7_P12 (the TPS65950).  From there I know that a signal is sent via U7_F10 (sys_nIRQ0) to the DM3730.  

On our custom board we do not have a card detect pin on the SD connector.  I do have access (a testpoint) to the sys_nIRQ0 pin on the DM3730, though.  My questions is, what does that interrupt look like?  Perhaps we can mimic it upon startup??  

Our other thought is to amend the xloader code on the SD card so that it does not look for a card detect.  

Thanks for your advice.  

  • To recap on our offline discussion, you have indicated the following:

    The TPS65950 provides the voltage supply rails to the DM3730 and other circuitry similarly to the Beagleboard-XM including the SD Card voltage which is connected to the VMMC1.OUT (pin C2) of the TPS65950 and also connected to VDDS_MMC1 (pin K25) of the DM3730.

    The DM3730 is still executing the internal ROM code when it fails.  x-loader, or MLO, is not yet running.

    How are the sys_boot[6:0] pins configured?
    Depending on the boot mode, are you able to observe an alternate interface attempted after MMC1?  Such as UART3 on pins H20 and H21?

    Are both the sys_32k input and sys_xtalin/sys_xtalout stable by the time sys_nrespwron is released (ie. transition from low to high)?
    The power up sequence should look like what is in Figure 3-2 in the DM3730 datasheet.

    Does a subsequent reset while power is still applied (ie. manual reset) sys_nrespwron show different behavior?

    The high level description of the ROM code behavior when booting from MMC/SD is in the Technical Reference Manual in Chapter 26, specifically Section 26.4.7.6.1.
    Are you seeing the CMD1, then CMD55 and ACMD41 on the mmc1_cmd and mmc1_clk signals?

     

     

  • Thank you for the response.  Here is what I know:

    Boot[6:0] = 1010010.  (MMC1, USB, UART3).  After 58ms, I do see some activity on UART3_TX when the SD Card is NOT plugged in.  

    It seems that both sys_32k and sys_xtalin/sys_xtalout are stable by the time sys_nrespwron goes high.  See attached pdfs.  

    All signals still looked good after a manual reset as well. 

    Concerning the high-level ROM code behavior, see attached pdf.  I do see communication on the MMC1_CMD line upon power up.  And I do see some garble coming out of UART3_TX, but it is not decipherable.  What else should I be looking for???

    I still believe the problem lies in the fact that we do NOT have a CARD DETECT pin on our SD card connector.  I am hoping for 1 of 2 things:

    1.  We can change the software on the SD card itself to negate the need for the CARD DETECT line.  Otherwise:

    2.  Can we simulate the interrupt the TPS65950 (from F10, sys_nIRQ0) sends to the 3730?  

    sys_nrespwron__signals.pdf
  • Dave,

    The ROM code not use card detect signalling - the ROM always tries to initialize the card - if it does not get any response from the card, it will treat the boot attempt as a failure and go on to the next device. That is why you are seeing activity on MMC1_CMD. If you can capture the signals on MMC1_CMD line, could you check to see if the card is sending any response at all?

    The most likely reason why you are failing is the card is not responding to commands being sent to it. The most common cause of this is that the card is not powered up properly. Are you able to talk to the card using any other stand alone code downloaded over the JTAG interface?

    Regards,

    Madan

  • Thanks for the response, Madan.  I do not believe it's a power issue.  Attached is a scope plot of nRESWARM vs. VDD_MMC1.  It looks exactly the same as the Beagle Board.  Also attached (in the same pdf) is a plot containing the nRESPWRON vs MMC1_CMD.  Clearly there is activity on the CMD line but I do not know what qualifies as a response.  Perhaps someone at TI can decipher this plot better than I?

    011112_files to E2E forum.pdf
  • Dave,

    DO you have JTAG connected on the board? If so can you download u-boot or x-loader using JTAG and check if you are able to access the card using u-boot or x-loader?

    Regards,

    Madan

  • Madan,

    We are using the JTAG Emulator Blackhawk USB100V2 and do not think it's possible to load the u-boot or x-loader from this type of JTAG.  Are we wrong about that?  My software engineer will be devoting more time to this tomorrow but any more info in the mean time would be appreciated.  

    dave

  • Dave,

    Jtag Blackhawk USB emulator should work fine - are you not able to attach the JTAG? Once you attach the JTAG you will be able to download and execute code using CCS.

    Regards,

    Madan