The DP83TG720R-Q1 SMI function supports read and write access to the extended register set using registers REGCR (0x000Dh) and ADDAR (0x000Eh) and the MDIO Manageable Device (MMD) indirect method defined in IEEE 802.3ah Draft for Clause 22 for accessing the Clause 45 extended register set.
REGCR (0x000Dh) is the MDIO Manageable MMD access control. In general, register REGCR[4:0] is the device address DEVAD that directs any accesses of ADDAR (0x000Eh) register to the appropriate MMD.
The DP83TG720R-Q1 supports 4 MMD device addresses. The 4 MMD register spaces are:
- DEVAD[4:0] = 11111 (0x1F) is used for IEEE defined registers (0x00 to 0x1F) and vendor specific registers. This register space is called MMD1F
- DEVAD[4:0] = 00001 (0x01) is used for 1000BASE-T1
PMA MMD register accesses. This register space is called MMD1.
- DEVAD[4:0] = 00011 (0x03) is used for vendor specific registers. This register space is called MMD3
- DEVAD[4:0] = 00111 (0x07) is used for vendor specific registers. This register
space is called MMD7
Table 8-14 MMD Register Space Division
MMD Register Space |
Register Address Range |
MMD1F |
0x000 - 0x0EFD |
MMD1 |
0x1000 - 0x1904 |
MMD3 |
0x3000 - 0x390D |
MMD7 |
0x7000 - 0x7200 |
Note: For MMD1/3/7, most significant nibble of the register address is used to denote
the respective MMD space. This should be ignored during actual register access
operation. For example to access register 0x1904 use 0x0904 as the register address
and x01 as the MMD.
All accesses through register REGCR and ADDAR must use the correct DEVAD. Transactions with other DEVADs are ignored. REGCR[15:14] holds the access function: address (00), data with no post increment (01), data with post increment on read and writes (10) and data with post increment on writes only (11).
- ADDAR is the address and data MMD register. ADDAR is used in conjunction with REGCR to provide the access to the extended register set. If register REGCR[15:14] is (00), then ADDAR holds the address of the extended address space register. Otherwise, ADDAR holds the data as indicated by the contents of its address register. When REGCR[15:14] is set to (00), accesses to register ADDAR modify the extended register set address register. This address register must always be initialized in order to access any of the registers within the extended register set.
- When REGCR[15:14] is set to (01), accesses to register ADDAR access the register within the extended register set selected by the value in the address register.
- When REGCR[15:14] is set to (10), access to register ADDAR access the register within the extended register set selected by the value in the address register. After that access is complete, for both reads and writes, the value in the address register is incremented.
- When REGCR[15:14] is set to (11), access to register ADDAR access the register within the extended register set selected by the value in the address register. After that access is complete, for write access only, the value in the address register is incremented. For read accesses, the value of the address register remains unchanged.
The following sections describe how to perform operations on the extended register set using register REGCR and ADDAR.