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.

configuring MMC for standard speed vs. high speed mode

Other Parts Discussed in Thread: OMAP3530

The OMAP3530 data sheet () includes different timing specifications for the MMC interfaces depending on whether they are operating in "standard" or "high-speed" mode.  How is the mode controlled via software?  I see no bit(s) in any of the MMC registers that would seem to change the mode.  I understand that a device attached to the MMC interface can support standard or high-speed modes, and that this info is exchanged during part of device "discovery", and that the OMAP MMC controller must explicitly switch the device to high-speed mode from standard mode with a special command.  However, I still don't see how the mode is set on the OMAP MMC itself.

Thanks.

  • It looks like this is discussed in section 1.6.1.3.4.1.2 (yes, it is really that deep of a section) of chapter 22 of the OMAP35x TRM. It seems you go to high speed mode by modifying the divider value of the card's clock in MMCHS_SYSCTL to be a value of 2 so it operates at 48MHz. I don't think there is a 'high-speed mode' bit, apart from changing the operating frequency of the card itself.

  • Yes, this is true. High speed mode just means the card is clocked faster (48Mhz as opposed to ~24Mhz or slower). The max clock speed can be read from the cards profile parameters (which are initially read at a very slow clock rate to support old MMC cards) after reading the controller can bump up the speed if the card supports it.

  • As I understand it, the card reports whether it supports standard mode or high-speed mode, and also reports its max clock speed.  However, changing the clock speed is not sufficient to change the mode.  The MMC CMD6 is required to change mode - then the clock speed can be adjusted appropriately.  The OMAP (and I believe all MMC devices) actually specifies different timing charactersitics depending on the speed mode it's in.

     

  • I have used the CMD 6 for changing between 1 bit and 4 bit mode but did not realize it was also used for high speed.