安全数字 (SD) 设备的标识符

当 SD 总线驱动程序检测到主机控制器套接字中的 SD 设备时,它会检查卡的设备配置,以便为设备及其功能构造设备和硬件 ID。 对于 SD 组合卡和多功能 SDIO 设备,总线驱动程序为每个各自的函数创建 PDO 和硬件 ID。

由于 SD 内存设备的内部配置与 SDIO 设备的内部配置明显不同,因此 SD 总线驱动程序使用两种不同的硬件 ID 格式,一种用于 SD 内存设备,另一种用于 SDIO 设备。

SD 设备 ID

SD 内存设备的设备 ID 使用以下格式:

SD\VID_v (2) &OID_o (4) &PID_p (0-5) &REV_n (1) .m (1)

其中:

  • v (2) 是由 SD 卡关联 (SDA) 分配的两位数十六进制 ID,用于标识卡的制造商。

  • o (4) 是一个四位数的十六进制 ID,也由 SDA 分配,用于标识卡的原始设备制造商 (OEM) 和/或卡内容。

  • p (0-5) 是供应商提供的 ASCII 字符串,包含 0 到 55 个字符,表示产品名称,n (1) .m (1) 是供应商提供的两位修订号,两位 (之间的小数点,例如 6.2) 。

SDIO 设备的设备 ID 使用以下格式:

SD\VID_v (4) &PID_p (4)

其中:

  • v (4) 是 PCMCIA 和 JEIDA 分配的四位数十六进制供应商代码。

  • p (4) 是供应商分配给设备的四位数十六进制产品和/或修订号。

SD 总线驱动程序从设备的卡信息结构 (CIS) 区域中的CISTPL_MANFID元组中提取供应商和产品代码。

SD 硬件 ID

对于 SD 内存设备,总线驱动程序提供两个硬件 ID:一个与设备 ID 相同,另一个与设备 ID 相同,但没有修订信息。 包含修订信息的 ID 使用以下格式:

SD\VID_v (2) &OID_o (4) &PID_p (0-5)

其中,与设备 ID 一样:

  • v (2) 是由 SD 卡关联 (SDA) 分配的两位数十六进制 ID,用于标识卡的制造商。

  • o (4) 是一个四位数的十六进制 ID,也由 SDA 分配,用于标识卡的原始设备制造商 (OEM) 和/或卡内容。

  • p (0-5) 是供应商提供的 ASCII 字符串,包含 0 到 55 个字符,表示产品名称。

对于 SDIO 设备,SD 总线驱动程序提供与设备 ID 相同的单个硬件 ID。

SD 兼容 ID

除了设备和硬件 ID 之外,SD 总线驱动程序在某些情况下还会生成兼容的 ID。

对于 SD 内存设备,总线驱动程序始终生成以下兼容 ID:

SD\CLASS_STORAGE

对于 SDIO 设备,如果函数基本寄存器中的值 (FBR) 不为零,则 SD 总线驱动程序会生成以下兼容 ID:

SD\CLASS_c (2)

其中 c (2) 是两位数的十六进制设备接口代码。