Card Registry - Motorola DragonBall MC9328MX1 Reference Manual

Integrated portable system processor
Table of Contents

Advertisement

voltage_validation(voltage_range_h, voltage_range_l)
{
send_cmd_wait_resp(IO_RW_DIRECT, 0x8800, 0x0608, 0x05, 0x40);
send_cmd_wait_resp(IO_SEND_OP_COND, 0x0, 0x0, 0x04, 0x40);
if (End Command Response true & No. of IO functions> 0)
{
IORDY = 0;
while (!(IORDY in I/O ORC))
{
send_cmd_wait_resp(IO_SEND_OP_COND,voltage_range_h,voltage_range_l,0x04,0x40);
}
if(Memory Present flag true)
Card = combo;
else
Card = sdio;
}
else
{
send_cmd_wait_resp(GO_IDLE_STATE, 0x0, 0x0, 0x80, 0x40);
send_cmd_wait_resp(APP_CMD, 0x0, 0x0, 0x01, 0x40);
if(End Command Response true)
{
send_cmd_wait_resp(SEND_OP_COND, 0x0, 0x0, 0x01, 0x40);
while(!(card init finished))
{
send_cmd_wait_resp(APP_CMD, 0x0, 0x0, 0x01, 0x40);
send_cmd_wait_resp(SEND_OP_COND, voltage_range_h, voltage_range_l,0x01,0x40);
}
Card = sd;
}
else
{
send_cmd_wait_resp(SEND_OP_COND, 0x0, 0x0, 0x01, 0x40);
if(End Command Response true)
{
Card = mmc;
while(!(card init finished))
{
send_cmd_wait_resp(SEND_OP_COND,voltage_range_h,voltage_range_l,0x01,0x40);
}
}
else
{
Card = No card or failed contact;
}
}
}
}

20.7.2.4 Card Registry

Card registry differs for the MMC and the SD cards. For the MMC cards, the identification process starts
at clock rate F
. The SD_CMD line output drivers are open-drain and allow parallel card operation during
od
this process. The registration process is accomplished as follows:
1. The bus is activated.
2. The MMC/SD module broadcasts
conditions.
MOTOROLA
Multimedia Card/Secure Digital Host Controller Module (MMC/SD)
Code Example 20-5. Voltage_Validation
// Reset IO card
// Send SDIO operation voltage command
SEND_OP_COND
Functional Example for the MMC/SD Module
// it is an SDIO card
// set voltage range
// i.e. SDIO + Memory
// SD or MMC
// MMC, SD reset
// Application Command follows
// SD card found
// MMC card found
(CMD1) to receive operation
20-35

Advertisement

Table of Contents
loading

Table of Contents