©Copyright 2000-2007 SD Card Association

SDIO Simplified Specification Version 2.00

Field

Type

 

 

Description

FSx

R/W

Select Function bits 3:0 These four bits are used to select a function number (0-7) or

 

 

the memory of a combo card (8) for Suspend/Resume. There are 2 means to write

 

 

the value of FSx. First, an I/O writes to the register in the CCCR and second, a new

 

 

I/O command causes the FSx to be set to the function number in that command. The

 

 

value of FSx shall remain until overwritten. If a function or memory is currently

 

 

suspended, the writing of it’s number to FSx shall re-start (resume) the data transfer

 

 

operation When reading FSx, the value returned shall be the number of the currently

 

 

addressed function. Note that when reading FSx, if the Bus Status is 0 (BS=0), the

 

 

FSx value is undefined. The FSx bits are coded as follows:

 

 

 

FSx

Current Transaction

 

 

 

 

0000

Transaction of function 0 (CIA)

 

 

0001-0111

Transaction to functions 1-7

 

 

1000

Transaction of memory in combo card

 

 

1001-1111

Not defined, reserved for future use

 

 

If SBS=0 these bits shall be R/O.

DF

R/O

Resume Data Flag: A data transaction is resumed by writing its number to FSx. Once

 

 

the transaction is resumed, the DF indicates if more data will be transferred. If DF is

 

 

cleared to 0, then no additional data will be transferred after the function or memory is

 

 

resumed. If DF is set to 1, then there is more data to transfer that will begin after the

 

 

function or memory in resumed. The DF flag can be used to control the interrupt cycle

 

 

in 4-bit mode. If DF=1, there is more data to transfer after restoring the function. In

 

 

this case, the interrupt cycle should be disabled. If DF=0, the function or memory was

 

 

suspended at end of data transfer (during busy). In this case, no data transfer shall

 

 

begin after resume so the host can detect a start interrupt cycle after restore. When

 

 

resuming, if the suspended function cannot continue data transfer the card shall

 

 

return DF=0 to abort the transfer.

EXx

R/O

Execution Flag bits 7:0 These bits are used by the host to determine the current

 

 

execution status of all functions (1-7) and memory (0). The bit is set to 1 for each

 

 

function or memory that is currently executing a command. The EXx bits tell the host

 

 

that a function or memory is currently executing a command so no additional

 

 

command should be issued to that function/memory. These bits are only defined if

 

 

SBS=1. This bit is set if the function is active (either currently executing or

 

 

suspended). If SBS=0 these bits shall be read as zero.

RFx

R/O

Ready Flag bits 7:0 These bits tell the host the read or write busy status for functions

 

 

(1-7) and memory (0). If a function or memory is executing a write transaction, an RFx

 

 

bit cleared to 0 indicates the function/memory is busy and not ready to accept more

 

 

data. If the RFx bit is set to 1, then the function/memory can accept write data. If a

 

 

function/memory is executing a read command, if the RFx bit is cleared to 0, it

 

 

indicates that read data is NOT available. If the bit is set to 1, it indicates that read

 

 

data is ready to be transferred. These bits are only defined if SBS=1. Setting a bit to 1

 

 

indicates the function is ready to accept the resume command. There are two

 

 

conditions where the function will set the bit to 1. One is when the function (executing

 

 

or suspended) is ready to continue data transfer. The other is when the suspended

 

 

function cannot continue data transfer. If SBS=0 these bits shall be read as zero.

FN0 Block

R/W

This 16-bit register sets the block size for I/O block operations for Function 0 only. If

Size

 

this card does not support I/O block operations (SMB=0), then this register becomes

 

 

read-only and shall always read 0x0000. The maximum block size is 2048 (0x0800)

 

 

and the minimum is 1. At power-up or reset, this register shall be initially loaded with a

 

 

value of 0x0000. The host is responsible for setting the appropriate value for the

 

 

block size supported by function 0. This pointer is stored in little-endian format (LSB

 

 

first).

 

 

33

Page 42
Image 42
SDI Technologies SDIO Card manual Transaction of function 0 CIA