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.

sdio/mmc2 support on omap3530 on my custom board

Hi, all,

I now used sdio/mmc2 through an external transiver  without  direction control. the tranciver we used is txs0108, which is a bidirectional voltage-level tranciver. but now, the sd/mmc2 could not work, I can't detect the sd disk. My question is: is there any problem using txs0108, or I must use special traciver which has direction control ?

  •  In addition, the voltage level are normal. and I can dectect the card insertion and removal. beleow is the debug info, it seems that  the data crc goes wrong

     

    SDHC slot 1 card insertion
    IsWriteProtected(59): NO.
    CardDetectInterrupt: Card inserted!
    SendCommand (Cmd=0x00000005, Arg=0x00000000, RespType=0x00000005, Data=0x0) starts
    SendCommand (Cmd=0x00000005, Arg=0x00000000, RespType=0x00000005, Data=0x0) starts
    SendCommand (Cmd=0x00000005, Arg=0x00000000, RespType=0x00000005, Data=0x0) starts
    SendCommand (Cmd=0x00000005, Arg=0x00000000, RespType=0x00000005, Data=0x0) starts
    SendCommand (Cmd=0x00000000, Arg=0x00000000, RespType=0x00000000, Data=0x0) starts
    SendCommand (Cmd=0x00000008, Arg=0x0000015a, RespType=0x00000008, Data=0x0) starts
    SendCommand (Cmd=0x00000008, Arg=0x0000015a, RespType=0x00000008, Data=0x0) starts
    SendCommand (Cmd=0x00000008, Arg=0x0000015a, RespType=0x00000008, Data=0x0) starts
    SendCommand (Cmd=0x00000008, Arg=0x0000015a, RespType=0x00000008, Data=0x0) starts
    SendCommand (Cmd=0x00000001, Arg=0x00f80000, RespType=0x00000004, Data=0x0) starts
    SendCommand (Cmd=0x00000001, Arg=0x00f80000, RespType=0x00000004, Data=0x0) starts
    SendCommand (Cmd=0x00000001, Arg=0x00f80000, RespType=0x00000004, Data=0x0) starts
    SendCommand (Cmd=0x00000001, Arg=0x00f80000, RespType=0x00000004, Data=0x0) starts
    SendCommand (Cmd=0x00000037, Arg=0x00000000, RespType=0x00000001, Data=0x0) starts
    GetCmdResponse returned [3720014000]
    SendCommand (Cmd=0x00000029, Arg=0x00000000, RespType=0x00000004, Data=0x0) starts
    GetCmdResponse returned [3f0080ff00]
    SendCommand (Cmd=0x00000000, Arg=0x00000000, RespType=0x00000000, Data=0x0) starts
    SendCommand (Cmd=0x00000008, Arg=0x0000015a, RespType=0x00000008, Data=0x0) starts
    SendCommand (Cmd=0x00000008, Arg=0x0000015a, RespType=0x00000008, Data=0x0) starts
    SendCommand (Cmd=0x00000008, Arg=0x0000015a, RespType=0x00000008, Data=0x0) starts
    SendCommand (Cmd=0x00000008, Arg=0x0000015a, RespType=0x00000008, Data=0x0) starts
    SendCommand (Cmd=0x00000037, Arg=0x00000000, RespType=0x00000001, Data=0x0) starts
    GetCmdResponse returned [3720014000]
    SendCommand (Cmd=0x00000029, Arg=0x00020000, RespType=0x00000004, Data=0x0) starts
    GetCmdResponse returned [3f0080ff00]
    SendCommand (Cmd=0x00000037, Arg=0x00000000, RespType=0x00000001, Data=0x0) starts
    GetCmdResponse returned [3720010000]
    SendCommand (Cmd=0x00000029, Arg=0x00020000, RespType=0x00000004, Data=0x0) starts
    GetCmdResponse returned [3f0080ff80]
    SendCommand (Cmd=0x00000002, Arg=0x00000000, RespType=0x00000003, Data=0x0) starts
    GetCmdResponse returned [cf76009d 2361dd10 20202044 534d531b]
    SendCommand (Cmd=0x00000003, Arg=0x00000000, RespType=0x00000007, Data=0x0) starts
    GetCmdResponse returned [03000568b3]
    SendCommand (Cmd=0x00000009, Arg=0xb3680000, RespType=0x00000003, Data=0x0) starts
    GetCmdResponse returned [69008096 bfffb72d cf835a5f 32002f00]
    SendCommand (Cmd=0x0000000D, Arg=0xb3680000, RespType=0x00000001, Data=0x0) starts
    GetCmdResponse returned [0d00070000]
    SendCommand (Cmd=0x00000007, Arg=0xb3680000, RespType=0x00000002, Data=0x0) starts
    GetCmdResponse returned [0700070000]
    SendCommand (Cmd=0x00000037, Arg=0xb3680000, RespType=0x00000001, Data=0x0) starts
    GetCmdResponse returned [3720090000]
    SendCommand (Cmd=0x00000033, Arg=0x00000000, RespType=0x00000001, Data=0x1 <1x8>) starts
    GetCmdResponse returned [3320090000]
    SendCommand (Cmd=0x00000037, Arg=0xb3680000, RespType=0x00000001, Data=0x0) starts
    GetCmdResponse returned [3720090000]
    SendCommand (Cmd=0x0000002A, Arg=0x00000000, RespType=0x00000001, Data=0x0) starts
    GetCmdResponse returned [2a20090000]
    IsWriteProtected(59): NO.
    SendCommand (Cmd=0x00000037, Arg=0xb3680000, RespType=0x00000001, Data=0x0) starts
    GetCmdResponse returned [3720090000]
    SendCommand (Cmd=0x00000006, Arg=0x00000002, RespType=0x00000001, Data=0x0) starts
    SendCommand (Cmd=0x00000010, Arg=0x00000200, RespType=0x00000001, Data=0x0) starts
    GetCmdResponse returned [1000090000]
    SendCommand (Cmd=0x00000011, Arg=0x00000000, RespType=0x00000001, Data=0x1 <1x512>) starts
    GetCmdResponse returned [1100090000]
    CSDIOControllerBase::SDIPollingReceive(ERROR:00208001)
    SendCommand (Cmd=0x00000011, Arg=0x00000000, RespType=0x00000001, Data=0x1 <1x512>) starts
    GetCmdResponse returned [1100090000]
    CSDIOControllerBase::SDIPollingReceive(ERROR:00208001)

  • It looks like you are getting command responses from your card so at least the CMD line is working.

    This buffer is OK as long as you don't want to support "High speed" cards. It is is only rated to ~22MHZ not the 54MHZ needed for the high speed stuff.

    Looks like you also got at least some data packes ... I would suspect setup or software.

  • I find that the MMC cards works well, while the sd memory card does not. when the clkin connected to the mmc_clk, some sd cards work! but it does not apply to all kinds of sd cards, just a few. I don't why.