1/* 2 * Copyright (c) 1998-2014 Apple Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24#ifndef _IOKIT_IO_STORAGE_CARD_CHARACTERISTICS_H_ 25#define _IOKIT_IO_STORAGE_CARD_CHARACTERISTICS_H_ 26 27 28/* 29 * Card Characteristics - Characteristics defined for cards. 30 */ 31 32/*! 33@defined kIOPropertyCardCharacteristicsKey 34@discussion This key is used to define Card Characteristics for a particular 35piece of MMC/SD media and it has an associated dictionary which lists the 36card characteristics. 37 38Requirement: Mandatory 39 40Example: 41<pre> 42@textblock 43<dict> 44 <key>Card Characteristics</key> 45 <dict> 46 <key>Product Name</key> 47 <string>SD32G</string> 48 <key>Product Revision Level</key> 49 <string>1.0</string> 50 </dict> 51</dict> 52@/textblock 53</pre> 54*/ 55#define kIOPropertyCardCharacteristicsKey "Card Characteristics" 56 57 58/*! 59@defined kIOPropertySlotKey 60@discussion This key is used to define the slot number for the device 61 62Requirement: Mandatory 63 64Example: 65<pre> 66@textblock 67<dict> 68 <key>Slot</key> 69 <integer>1<integer> 70 </dict> 71@/textblock 72</pre> 73*/ 74#define kIOPropertySlotKey "Slot" 75 76 77/*! 78@defined kIOProperty64BitKey 79@discussion This key defines wether the device supports 64-bit. 80 81Requirement: Mandatory 82 83Example: 84<pre> 85@textblock 86<dict> 87 <key>64-bit</key> 88 <true/> 89</dict> 90@/textblock 91</pre> 92*/ 93#define kIOProperty64BitKey "64-bit" 94 95 96/*! 97@defined kIOPropertyClockDivisorKey 98 @discussion This key defines the current clock divisor for the device. 99 100Requirement: Mandatory. 101 102Example: 103<pre> 104@textblock 105<dict> 106 <key>Clock Divisor</key> 107 <integer>128</integer> 108</dict> 109@/textblock 110</pre> 111*/ 112#define kIOPropertyClockDivisorKey "Clock Divisor" 113 114 115/*! 116@defined kIOPropertyBaseFrequencyKey 117@discussion This key defines the current base frequency for the device. 118 119Requirement: Mandatory. 120 121Example: 122<pre> 123@textblock 124<dict> 125 <key>Base Frequency</key> 126 <integer>50</integer> 127</dict> 128@/textblock 129</pre> 130*/ 131#define kIOPropertyBaseFrequencyKey "Base Frequency" 132 133 134/*! 135@defined kIOPropertyBusVoltageKey 136@discussion This key defines the current bus voltage for the device in mV 137 138Requirement: Mandatory. 139 140Example: 141<pre> 142@textblock 143<dict> 144 <key>Bus Voltage</key> 145 <integer>3300</integer> 146</dict> 147</dict> 148@/textblock 149</pre> 150*/ 151#define kIOPropertyBusVoltageKey "Bus Voltage" 152 153 154/*! 155@defined kIOPropertyBusWidthKey 156@discussion This key defines the current bus width for the device. 157 158Requirement: Mandatory. 159 160Example: 161<pre> 162@textblock 163<dict> 164 <key>Bus Width</key> 165 <integer>4</integer> 166</dict> 167@/textblock 168</pre> 169*/ 170#define kIOPropertyBusWidthKey "Bus Width" 171 172 173/*! 174@defined kIOPropertyCardPresentKey 175@discussion This key defines wether a MMC or SD card is physically present. 176 177Requirement: Mandatory 178 179Example: 180<pre> 181@textblock 182<dict> 183 <key>Card Present</key> 184 <true/> 185</dict> 186@/textblock 187</pre> 188*/ 189#define kIOPropertyCardPresentKey "Card Present" 190 191 192/*! 193 @defined kIOPropertyProductSerialNumberKey 194 @discussion This key is used to indicate the card serial number ID. 195 196 Requirement: Mandatory 197 198 Example: 199 <pre> 200 @textblock 201 <dict> 202 <key>Card Characteristics</key> 203 <dict> 204 <key>Product Name</key> 205 <string>SD32G</string> 206 <key>Product Revision Level</key> 207 <string>1.0</string> 208 <key>Card Type</key> 209 <string>SDHC</string> 210 <key>Serial Number</key> 211 <data>0045ff</data> 212 </dict> 213 </dict> 214 @/textblock 215 </pre> 216 */ 217#define kIOPropertyProductSerialNumberKey "Serial Number" 218 219 220/*! 221 @defined kIOPropertyManufacturerIDKey 222 @discussion This key is used to indicate the card manufacturer ID. 223 224 Requirement: Optional 225 226 Example: 227 <pre> 228 @textblock 229 <dict> 230 <key>Card Characteristics</key> 231 <dict> 232 <key>Product Name</key> 233 <string>SD32G</string> 234 <key>Product Revision Level</key> 235 <string>1.0</string> 236 <key>Card Type</key> 237 <string>SDHC</string> 238 <key>Manufacturer ID</key> 239 <data>03</data> 240 </dict> 241 </dict> 242 @/textblock 243 </pre> 244 */ 245#define kIOPropertyManufacturerIDKey "Manufacturer ID" 246 247 248/*! 249@defined kIOPropertyApplicationIDKey 250 @discussion This key is used to indicate the card application ID. 251 252Requirement: Optional 253 254Example: 255<pre> 256@textblock 257<dict> 258 <key>Card Characteristics</key> 259 <dict> 260 <key>Product Name</key> 261 <string>SD32G</string> 262 <key>Product Revision Level</key> 263 <string>1.0</string> 264 <key>Card Type</key> 265 <string>SDHC</string> 266 <key>Application ID</key> 267 <data>ffff</data> 268 </dict> 269</dict> 270@/textblock 271</pre> 272*/ 273#define kIOPropertyApplicationIDKey "Application ID" 274 275 276/*! 277@defined kIOPropertyManufacturingDateKey 278 @discussion This key is used to indicate the card manufacturing date. 279 280Requirement: Mandatory. 281 282Example: 283<pre> 284@textblock 285<dict> 286 <key>Card Characteristics</key> 287 <dict> 288 <key>Product Name</key> 289 <string>SD32G</string> 290 <key>Product Revision Level</key> 291 <string>1.0</string> 292 <key>Card Type</key> 293 <string>SDHC</string> 294 <key>Manufacturing Date</key> 295 <string>2009-12</string> 296 </dict> 297</dict> 298@/textblock 299</pre> 300*/ 301#define kIOPropertyManufacturingDateKey "Manufacturing Date" 302 303 304/*! 305@defined kIOPropertySpeedClassKey 306 @discussion This key is used to indicate SD card speed class. 307 308Requirement: Mandatory. 309 310Example: 311<pre> 312@textblock 313<dict> 314 <key>Card Characteristics</key> 315 <dict> 316 <key>Product Name</key> 317 <string>SD32G</string> 318 <key>Product Revision Level</key> 319 <string>1.0</string> 320 <key>Card Type</key> 321 <string>SDHC</string> 322 <key>Speed Class</key> 323 <data>02</data> 324 </dict> 325</dict> 326@/textblock 327</pre> 328*/ 329#define kIOPropertySpeedClassKey "Speed Class" 330 331 332/*! 333@defined kIOPropertySpecificationVersionKey 334@discussion This key is used to indicate the card specification version. 335 336Requirement: Mandatory. 337 338Example: 339<pre> 340@textblock 341<dict> 342 <key>Card Characteristics</key> 343 <dict> 344 <key>Product Name</key> 345 <string>SD32G</string> 346 <key>Product Revision Level</key> 347 <string>1.0</string> 348 <key>Card Type</key> 349 <string>SDHC</string> 350 <key>Specification Version</key> 351 <string>3.0</string> 352 </dict> 353</dict> 354@/textblock 355</pre> 356*/ 357#define kIOPropertySpecificationVersionKey "Specification Version" 358 359 360/*! 361@defined kIOPropertyCardTypeKey 362 @discussion This key is used to indicate the card type is MMC. 363 364Requirement: Optional. 365 366Example: 367<pre> 368@textblock 369<dict> 370 <key>Card Characteristics</key> 371 <dict> 372 <key>Product Name</key> 373 <string>SD32G</string> 374 <key>Product Revision Level</key> 375 <string>1.0</string> 376 <key>Card Type</key> 377 <string>MMC</string> 378 </dict> 379</dict> 380@/textblock 381</pre> 382*/ 383#define kIOPropertyCardTypeKey "Card Type" 384 385 386/*! 387@defined kIOPropertyCardTypeMMCKey 388 @discussion This key is used to indicate the card type is MMC. 389 390 Requirement: Optional. 391 392Example: 393<pre> 394@textblock 395<dict> 396 <key>Card Characteristics</key> 397 <dict> 398 <key>Product Name</key> 399 <string>SD32G</string> 400 <key>Product Revision Level</key> 401 <string>1.0</string> 402 <key>Card Type</key> 403 <string>MMC</string> 404 </dict> 405</dict> 406@/textblock 407</pre> 408*/ 409#define kIOPropertyCardTypeMMCKey "MMC" 410 411 412/*! 413@defined kIOPropertyCardTypeSDSCKey 414 @discussion This key is used to indicate the card type is SDSC. 415 416Requirement: Optional. 417 418Example: 419<pre> 420@textblock 421<dict> 422 <key>Card Characteristics</key> 423 <dict> 424 <key>Product Name</key> 425 <string>SD32G</string> 426 <key>Product Revision Level</key> 427 <string>1.0</string> 428 <key>Card Type</key> 429 <string>SDSC</string> 430 </dict> 431</dict> 432@/textblock 433</pre> 434*/ 435#define kIOPropertyCardTypeSDSCKey "SDSC" 436 437 438/*! 439@defined kIOPropertyCardTypeSDHCKey 440 @discussion This key is used to indicate the card type is SDHC. 441 442Requirement: Optional. 443 444Example: 445<pre> 446@textblock 447<dict> 448 <key>Card Characteristics</key> 449 <dict> 450 <key>Product Name</key> 451 <string>SD32G</string> 452 <key>Product Revision Level</key> 453 <string>1.0</string> 454 <key>Card Type</key> 455 <string>SDHC</string> 456 </dict> 457</dict> 458@/textblock 459</pre> 460*/ 461#define kIOPropertyCardTypeSDHCKey "SDHC" 462 463 464/*! 465@defined kIOPropertyCardTypeSDXCKey 466 @discussion This key is used to indicate the card type is SDXC. 467 468Requirement: Optional. 469 470Example: 471<pre> 472@textblock 473<dict> 474 <key>Card Characteristics</key> 475 <dict> 476 <key>Product Name</key> 477 <string>SD32G</string> 478 <key>Product Revision Level</key> 479 <string>1.0</string> 480 <key>Card Type</key> 481 <string>SDXC</string> 482 </dict> 483</dict> 484@/textblock 485</pre> 486*/ 487#define kIOPropertyCardTypeSDXCKey "SDXC" 488 489 490#endif /* _IOKIT_IO_STORAGE_CARD_CHARACTERISTICS_H_ */ 491