Memory Card Specification Sheet
©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