DP83TG720R-Q1 の SMI 機能は、レジスタ REGCR (0x000Dh) および ADDAR (0x000Eh) と MMD (MDIO Manageable Device) 間接方式 (IEEE 802.3ah Draft、22 項「アクセス」、45 項「拡張レジスタセット」で定義) を使った拡張レジスタ・セットへの読み出しおよび書き込みアクセスをサポートしています。
REGCR (0x000Dh) は MMD アクセス制御です。一般に、レジスタ REGCR[4:0] は、ADDAR (0x000Eh) レジスタのすべてのアクセスを適切な MMD に向かわせるデバイス・アドレス DEVAD です。
DP83TG720R-Q1 は 4 つの MMD デバイス・アドレスをサポートしています。4 つの MMD レジスタ空間は次のとおりです。
- DEVAD[4:0] = 11111 (0x1F) は、IEEE で定義されたレジスタ (0x00~0x1F) とベンダ固有のレジスタに使用されます。このレジスタ空間を MMD1F と呼びます。
- DEVAD[4:0] = 00001 (0x01) は 1000BASE-T1 PMA MMD レジスタ・アクセスに使用されます。このレジスタ空間を MMD1 と呼びます。
- DEVAD[4:0] = 00011 (0x03) はベンダ固有のレジスタに使用されます。このレジスタ空間を MMD3 と呼びます。
- DEVAD[4:0] = 00111 (0x07) はベンダ固有のレジスタに使用されます。このレジスタ空間を MMD7 と呼びます。
表 8-14 MMD レジスタ空間の区分
MMD レジスタ空間 |
レジスタ・アドレス範囲 |
MMD1F |
0x000~0x0EFD |
MMD1 |
0x1000~0x1904 |
MMD3 |
0x3000~0x390D |
MMD7 |
0x7000~0x7200 |
注: MMD1/3/7 の場合、レジスタ・アドレスの最上位ニブルは、それぞれの MMD 空間を示すために使用されます。実際のレジスタ・アクセス動作中は、これを無視する必要があります。たとえば、レジスタ 0x1904 にアクセスするには、レジスタ・アドレスとして 0x0904 を、MMD として x01 を使います。
レジスタ REGCR および ADDAR によるすべてのアクセスでは、適切な DEVAD を使用する必要があります。その他の DEVAD を使ったトランザクションは無視されます。REGCR[15:14] はアクセス機能 (アドレス (00)、ポスト・インクリメントなしのデータ (01)、読み出し / 書き込み時ポスト・インクリメントありのデータ (10)、書き込み時ポスト・インクリメントありのデータ (11)) を保持します。
- ADDAR は、アドレスおよびデータ MMD レジスタです。ADDAR を REGCR と組み合わせて使用することで、拡張レジスタ・セットにアクセスできます。レジスタ REGCR[15:14] が (00) の場合、ADDAR は拡張アドレス空間レジスタのアドレスを保持します。それ以外の場合、ADDAR は、アドレス・レジスタの内容に応じたデータを保持します。REGCR[15:14] が (00) に設定されている場合、レジスタ ADDAR にアクセスすると、拡張レジスタ・セットのアドレス・レジスタが変更されます。拡張レジスタ・セット内のいずれのレジスタにアクセスするにも、このアドレス・レジスタを必ず初期化する必要があります。
- REGCR[15:14] が (01) に設定されている場合、レジスタ ADDAR にアクセスすると、アドレス・レジスタの値によって選択された拡張レジスタ・セット内のレジスタがアクセスされます。
- REGCR[15:14] が (10) に設定されている場合、レジスタ ADDAR にアクセスすると、アドレス・レジスタの値によって選択された拡張レジスタ・セット内のレジスタがアクセスされます。そのアクセスが完了した後、読み出しの場合も書き込みの場合も、アドレス・レジスタの値がインクリメントされます。
- REGCR[15:14] が (11) に設定されている場合、レジスタ ADDAR にアクセスすると、アドレス・レジスタの値によって選択された拡張レジスタ・セット内のレジスタがアクセスされます。このアクセスが完了した後、書き込みアクセスの場合のみ、アドレス・レジスタの値がインクリメントされます。読み出しアクセスの場合、アドレス・レジスタの値は変更されません。
以下のセクションでは、レジスタ REGCR および ADDAR を使って拡張レジスタ・セットを操作する方法について説明します。