SD バス ドライバーは、ホスト コントローラー ソケットで SD デバイスを検出すると、デバイスとその機能のデバイスとハードウェア ID を構築するカードのデバイス構成を調べます。 SD コンビネーション カードと多機能 SDIO デバイスの場合、バス ドライバーは、それぞれの機能の PDO とハードウェア ID を作成します。
SD メモリ デバイスの内部構成は SDIO デバイスの内部構成と大きく異なるため、SD バス ドライバーは、SD メモリ デバイス用と SDIO デバイス用の 2 つの異なるハードウェア ID 形式を使用します。
SD デバイス ID
SD メモリ デバイスのデバイス ID は、次の形式を使用します。
SD\VID_v(2)&OID_o(4)&PID_p(0-5)&REV_n(1).m(1)
Where:
v(2) は、SD カード アソシエーション (SDA) によって割り当てられた 2 桁の 16 進数 ID で、カードの製造元を識別します。
o(4) は、SDA によって割り当てられた 4 桁の 16 進数 ID で、カードの OEM (Original Equipment Manufacturer) やカードの内容を識別します。
p(0-5) は、製品名を示す 0 から 5 5 文字のベンダー指定の ASCII 文字列で、n(1).m(1) はベンダー指定のリビジョン番号の 2 桁で、2 桁の数字の間に 10 進数 (6.2 など) を付けます。
SDIO デバイスのデバイス ID は、次の形式を使用します。
SD\VID_v(4)&PID_p(4)
Where:
v(4) は、PCMCIA および JEIDA によって割り当てられた 4 桁の 16 進数ベンダー コードです。
p(4) は、ベンダーがデバイスに割り当てる 4 桁の 16 進数の製品またはリビジョン番号です。
SD バス ドライバーは、デバイスのカード情報構造 (CIS) 領域のCISTPL_MANFIDタプルからベンダーと製品コードを抽出します。
SD ハードウェア ID
SD メモリ デバイスの場合、バス ドライバーは 2 つのハードウェア ID を提供します。1 つはデバイス ID と同じで、もう 1 つはデバイス ID と同じですが、リビジョン情報は提供されません。 リビジョン情報を含む ID は、次の形式を使用します。
SD\VID_v(2)&OID_o(4)&PID_p(0-5)
デバイス ID と同様に、次のようになります。
v(2) は、SD カード アソシエーション (SDA) によって割り当てられた 2 桁の 16 進数 ID で、カードの製造元を識別します。
o(4) は、SDA によって割り当てられた 4 桁の 16 進数 ID で、カードの OEM (Original Equipment Manufacturer) やカードの内容を識別します。
p(0-5) は、製品名を示す 0 ~ 5 文字のベンダー指定の ASCII 文字列です。
SDIO デバイスの場合、SD バス ドライバーは、デバイス ID と同じ 1 つのハードウェア ID を提供します。
SD 互換 ID
SD バス ドライバーは、デバイス ID とハードウェア ID に加えて、特定の状況で互換性のある ID を生成します。
SD メモリ デバイスの場合、バス ドライバーは常に次の互換性のある ID を生成します。
SD\CLASS_STORAGE
SDIO デバイスの場合、関数基本レジスタ (FBR) の値が 0 でない場合、SD バス ドライバーは次の互換性のある ID を生成します。
SD\CLASS_c(2)
ここで、c(2) は 2 桁の 16 進数デバイス インターフェイス コードです。