©Copyright 2000-2007 SD Card Association

SDIO Simplified Specification Version 2.00

16.4Tuple 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.5SDIO 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

Type

Type Function

 

 

 

Reference

Common

 

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

3.2.10

O

O

 

 

version/product-information

 

 

 

0x16

CISTPL_ALTSTR

The Alternate Language String

3.2.1

O

O

 

 

Tuple

 

 

 

0x20

CISTPL_MANFID

Manufacturer Identification

3.2.9

M

O

 

 

String Tuple

 

 

 

0x21

CISTPL_FUNCID

Function Identification Tuple

3.2.7

n/a

M

0x22

CISTPL_FUNCE

Function Extensions

3.2.6

n/a

M

0x80-

 

Vendor Unique Tuples

None

O

O

0x8F

 

 

 

 

 

0x91

CISTPL_SDIO_STD

Additional information for

6.1.2

n/a

M1:Standard

 

 

functions built to support

 

 

SDIO Function

 

 

application specifications for

 

 

O1:non-Standard

 

 

standard SDIO functions.

 

 

SDIO Function

0x92

CISTPL_SDIO_EXT

Reserved for future use with

6.1.3

n/a

n/a

 

 

SDIO devices.

 

 

 

0xFF

CISTPL_END

The End-of-chain Tuple

3.1.2

M

M

Table 16-2 Tuples Supported by SDIO Cards

52

Page 61
Image 61
SDI Technologies SDIO Card Tuple Version, Sdio Card Metaformat, Tuples Supported by Sdio Cards, Code Name Description