©Copyright
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
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 |
|
|
|
|
| |
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 |
|
| |
|
| 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 | 3.1.2 | M | M |
Table 16-2 Tuples Supported by SDIO Cards
52