Memory Card Specification Sheet
©Copyright 2000-2007 SD Card Association
SDIO Simplified Specification Version 2.00
39
7. Embedded I/O Code Storage Area (CSA)
In order to support the concept of “Plug-and-Play” for SDIO cards, each function contained in a card may need
to contain a block of memory for the storage of drivers and/or applications. In addition, since the same SDIO
card may be used on multiple different host platforms, several different versions of the code may be needed for
each function. One option is to store these programs in a standard SD Memory section of a combo card.
Alternately, a standard access means to load the code is contained in the optional Code Storage Area (CSA).
The CSA is a separate 16MB memory area that is accessed using the CSA address pointer and the CSA
window register contained in the FBR registers. Note that each function may have it’s own CSA to support it. The
CSA data can be read only or R/W. The actual storage method for the CSA is not a part of this specification and
left to the implementers.
7.1 CSA Access
In order for the host to access a function’s CSA, it first shall determine if that function supports a CSA. The host
reads the FBR register at address 0x00n00 where n is the function number (0x1 to 0x7). If bit 6=1, then the
function supports a CSA and the host enables access by writing bit 7=1. The next step is for the host to load the
24 bit address to start reading or writing. This is accomplished by writing the 24 bits (A23-0) to registers
0x00n0C to 0x00n0E where n is the function number (0x1 to 0x7). Once the start address is written, data can be
read or written by accessing register 0x00n0F, the CSA data window register. If more than 1 byte needs to be
read or written, an extended I/O command (byte or block) can be performed with an OP code of 0 (fixed
address). The address pointer shall be automatically incremented with each access to the window register, so
the access will be to sequential addresses within the CSA. Once the operation is complete, the address of the
NEXT operation shall be held in the 24 bit address register for the host to read.
7.2 CSA Data Format
The data stored in the CSA shall be structured using the FAT12/FAT16 format. This format is defined in the ISO
specification: ISO/IEC9293:1994 Information technology - Volume and file structure of disk cartridges for
information interchange. This specification is also the basis for the SD memory cards. The information on the
SD memory implementation can be found in the SDA publication: Part 2 FILE SYSTEM SPECIFICATION
Version 2.00 May 9, 2006. The actual layout of files within the CSA is undefined by this specification.
The use of the CSA for program or data storage for different host types requires that the SDIO card
manufacturer load the programs and data in a file format that may be recognized by the host. An example of this
would be the use of a specific file name saved within a specific subdirectory that is recognized and executed by
a particular host operating system. Such formats are specific and sometimes proprietary to different host
implementations and operating systems.
The rest of this chapter is not included in the Simplified Specification.