
©Copyright 2000-2007 SD Card Association
SDIO Simplified Specification Version 2.00
52
16.4 Tuple
Version
With the introduction of SDIO Specification Version 1.10, a different format for the tuple information is possible
based on the changes made by each specification revision. These changes could be added fields in a tuple or
entirely new tuples. In order to maintain backward compatibility, new data fields are added
after
existing fields in
order to maximize backward compatibility. It is the responsibility of the host program that is scanning the tuple
chain (sometimes called “walking the tuples”) to first determine the SDIO specification version that the card was
designed to. The program shall be designed to anticipate that SDIO cards will be encountered that are built to a
later version of the specification. This requires the program to ignore the additional data existing in SDIO cards
built to a later specification. Specifically, the program shall first read the SDIO specification version that the card
was designed to meet from the SDIOx field in the CCCR area. If the version is less than or equal to the version
of the tuple scan program, then the program shall know and properly decode all tuple information. If the card
version is greater than the scan program’s version, the scan program may need to ignore additional information
fields or tuples. The unknown tuples can be ignored by simply skipping those tuples with unrecognized codes.
Skipping is accomplished by using the TPL_LINK field (always the second byte) to jump over the unknown tuple.
In a similar manner, the additional data fields in tuples should be ignored using the link field. For example, if a
scan program is expecting 0x15 bytes of data and the TPL_LINK field indicates a size of 0x19 bytes, the scan
program should ignore and skip over the last 4 bytes of data.
16.5 SDIO
Card
Metaformat
Unlike the PCMCIA card, the SDIO card has multiple CIS areas. There is a common CIS for the entire card and
a CIS assigned to each function. Because of the multiple CIS areas, the SDIO card does not need to support the
CISTPL_LONGLINK_MFC
tuple or the
CISTPL_LINKTARGET
as described in section 2.3.6 of the PCMCIA
spec. Table 16-2 lists the tuple codes supported by SDIO cards. The type field indicates if a tuple is Optional (O),
Mandatory (M), Recommended (R), or not applicable (n/a) for the common (function 0) tuple and for each
function (1-7) supported by the card. For more details on each tuple, see the PCMCIA metaformat specification
section referenced.
Code
Name
Description
PCMCIA
Reference
Type
Common
Type Function
0x00 CISTPL_NULL
Null
tuple
3.1.9
O
O
0x10 CISTPL_CHECKSUM Checksum
control
3.1.1
R
R
0x15 CISTPL_VERS_1
Level
1
version/product-information
3.2.10 O
O
0x16
CISTPL_ALTSTR
The Alternate Language String
Tuple
3.2.1 O O
0x20 CISTPL_MANFID
Manufacturer Identification
String Tuple
3.2.9 M O
0x21 CISTPL_FUNCID
Function Identification Tuple 3.2.7
n/a
M
0x22 CISTPL_FUNCE
Function
Extensions 3.2.6
n/a M
0x80-
0x8F
Vendor
Unique
Tuples
None
O
O
0x91 CISTPL_SDIO_STD Additional information for
functions built to support
application specifications for
standard SDIO functions.
6.1.2 n/a
M
1
:Standard
SDIO Function
O
1
:non-Standard
SDIO Function
0x92 CISTPL_SDIO_EXT
Reserved for future use with
SDIO devices.
6.1.3 n/a n/a
0xFF CISTPL_END
The
End-of-chain Tuple
3.1.2
M
M
Table 16-2 Tuples Supported by SDIO Cards