ARM Technical Support Knowledge Articles

Section 2.6. Off-Chip MMCI Signals

Applies to: PL181 Multimedia Card Interface V2


There are four bits for the Mmcivdd, why is there a need for the four bits?

Does this signal output varying reference voltages or is there a mistake and should there only be one output voltage bit?

MMCIVDD is indeed 4 bits. The reason for this is that you can set the supply output voltage using the voltage value on the MMCIVDD outputs. The operating voltage range can be any value between 2.0 and 3.6 volts, therefore the encoding of the voltage bits in the power control register is application specific. It is basically GPO (general purpose output), it could be used to control the external power supply or it could be ignored, it is up to you to decide if you are going to use it and how. MMCIVDD output is driven directly from an internal register.

Is it that when Opendrain bit (bit 6 of the MmciPower register) is equal to 1, then CMD is controlled in opendrain mode; else the CMD is controlled in push-pull mode?

This is correct.

The open drain flag will change how the MCI drives the MCICMD external signal, i.e. how the output buffer is driven/enabled.

push-pull(OpenDrain = 0):

CMD path is inactive -> nCMDEN=1

CMD is LOW -> CMDOUT=0 and nCMDEN=0

CMD is HIGH -> CMDOUT=1 and nCMDEN=0

open drain(OpenDrain = 1):

CMD path is inactive -> nCMDEN=1

CMD is LOW -> CMDOUT=0 and nCMDEN=0

CMD is HIGH -> CMDOUT=0 and nCMDEN=1

The MCIROD signal is driven directly from the register (the Rod flag), this signal could be used to control an external (to MCI or ASIC) pull-up resistor. See the MMC spec for more details.

What is the output signal 'MMCIROD' is used for?

MMCIROD is an optional signal specified in the MC Bus System Specification (as ROD) that allows you to put additional pull-up resistors during integration tests when you have a number of cards connected to the MMCI. You can find more information and how to get this specification from the following website:

It is used during card initialization with CMD signal which is also used for data transfer. CMD has two modes: open drain for initialization (and push pull for fast command transfer). Open drain is a logical interface operation mode. An external resistor or current source is used to pull the interface level to HIGH, an internal transistor pushes it to LOW. For card identification the card starts card identification process in open drain mode, and the open drain driver stages on the CMD line allow parallel card operation during card identification. MMCIROD is switched on and off by the host synchronously to the open drain and push-pull mode transitions.

Page 70 of the MMCI standard explains this in more detail.

Article last edited on: 2008-09-09 15:47:25

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential