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.

Mmc Driver PSP 03. 00. 00. 05 for AM3517

Guru 10085 points

Hi.
I need to know how to work MMC driver after setting.
Does it work as a only standard mode, when I do not set 
"TI OMAP High Speed Multimedia Card Interface support"
such as following setting?

=======================
• Select OMAP HS MMC driver
...
[ ] MMC debugging
[ ] Assume MMC/SD cards are non-removable (DANGEROUS)
*** MMC/SD/SDIO Card Drivers ***
<*> MMC block device driver
[*] Use bounce buffer for simple hosts
...
< > TI OMAP High Speed Multimedia Card Interface support
=======================

When my customer removed this <*>, AM3517EVM does
not recognize the insertion/extraction of SD card.
How can I set the standard speed mode?

And also, is there any document to understand the execution
after setting the Driver Configuration?
User guide MMC driver wiki page does not explain the details. 

http://processors.wiki.ti.com/index.php/UserGuideMmcDriver_PSP_03.00.00.05

Regards,
Kanae

  • I believe the config selection has more to do with the MMC controller on the OMAP3 silicon - and not so much for the speed selection. Can I rephrase your question as: "How to get the MMC/SD controller working in standard speed mode - instead of High Speed?"

  • Also, I think the bus speed is depends on the MMC/SD card and its capability, which is again enumerated runtime.

    Thanks,

    Vaibhav

  • Might depend on if you're using MMC or SD Card.

    Are you confusing SD Card Class with the Bus Mode?  SD Cards can be run in 1-wire (SPI) mode or 4-wire (MMC) mode and typically at 25MHz.  You can run the bus slower, but there's generally no reason to.

    If you are talking about SD Class ratings (2, 4, or 6), these are determined by the SD Card's on-board Flash controller.  These have nothing to do with the CPU's MMC controller.  The MMC Controller will wait for the SD Card to confirm a complete bus transaction.

    The kernel option enables or disables the TI MMC/SD controller, so you have to have it enabled if you want to use 4-wire mode.  If you want to run an SD Card in 1-Wire mode, you'll need to connect it to an SPI port (not sure if TI's MMC port can be enabled as SPI or in 1-wire mode).  I wouldn't advise using 1-wire mode since the kernel provides 4-wire mode and 4-wire mode is the standard for SD Cards.


  • Thank you for your reply.
    As Sanjeev rephrased, I would like to know
    "How to get the MMC/SD controller working in only
    standard speed mode - instead of High Speed?"
    Because my customer's system need to limit the access speed.

    Regards,
    Kanae

  • You said the customer needs to limit the access speed, but I think you need further clarification.  Does that mean they want to set the clock speed to something other than 25/50 MHz or do they just need the 25MHz signaling?

    Look at the SD standard and search for "High Speed":

    http://www.sdcard.org/developers/tech/host_controller/simple_spec/Simplified_SD_Host_Controller_Spec.pdf

    Changing High Speed or Standard Speed affects the maximum clock, but also changes the data signaling.  These settings are in section 2.2.10.

    If the customer needs an arbitrary MMC clock speed, you'll have to adjust the Linux driver to set the appropriate clocks.  If the customer needs the standard-speed signaling, you'll have to adjust the driver to clear the appropriate register bit.  Either way, it looks like you'll have to adjust the MMC driver for the customer's needs.

     

  • Thank you for your support.
    My customer just need the 25MHz signaling.
    If they select "TI OMAP Multimedia Card Interface support" instead of
    "TI OMAP High Speed Multimedia Card Interface support" in Driver Configuration
    as follows, does it keep the 25MHz signaling?
    
    
    ・Select OMAP HS MMC driver
       --- MMC/SD/SDIO card support
       [ ]   MMC debugging
       [ ]   Assume MMC/SD cards are non-removable (DANGEROUS)
             *** MMC/SD/SDIO Card Drivers ***
       <*>   MMC block device driver
       [*]     Use bounce buffer for simple hosts
       < >   SDIO UART/GPS class support
       < >   MMC host test driver
             *** MMC/SD/SDIO Host Controller Drivers ***
       < >   Secure Digital Host Controller Interface support
       <*>   TI OMAP Multimedia Card Interface support
       < >   TI OMAP High Speed Multimedia Card Interface support
       <M>   Atmel SD/MMC Driver
    
    Regards,
    Kanae
    
  • Another custom option which I never tried it myself personnely but you can give a try -

    In MMC/SD driver you can override the maximum bus frequency, look for code snippet (pasted below) in "omap_hsmmc_probe" function.

            mmc->f_min      = 400000;
            mmc->f_max      = 52000000;

    Thanks,

    Vaibhav

  • Hi, Vaibhav.
    Thank you for your support.
    It works well as I expected.

    Regards,
    Kanae