SNLA452 August 2025 DP83TD510E
The DP83TD510E has several loopback options that enable verification of various functional blocks within the PHY. A block diagram of the different loopback modes offered by the PHY is shown in Figure 2-3.
MII Loopback can be configured through the Control Register (BMCR, address 0x0000). All other loopback modes are enabled using the BIST Control Register (BISCR, address 0x0016). These loopback modes can be used to validate both the MII, MDI, and the internal blocks within the PHY. This can be crucial in narrowing down the part of the data path responsible for behavior such as packet loss/errors.
Table 2-3 shows the register writes to enable each loopback mode, assuming the other register configurations are left as default.
| Loopback Mode | Register | Write Value |
|---|---|---|
| MII Loopback | 0x0000 | 0x4000 |
| PCS Loopback | 0x0016 | 0x0102 |
| Digital Loopback | 0x0016 | 0x0104 |
| Analog Loopback | 0x0016 | 0x0108 |
| Reverse Loopback | 0x0016 | 0x0110 |
There are a few built in counters, for both TX and RX, that can aid in debugging with loopbacks. The counters can be used to validate the number of packets being received or transmitted in different loopback modes. Note that the counters are reset if 0x12B, 0x12C, and 0x12D for TX counters, and 0x12E, 0x12F, and 0x130 for RX counters. These counters can be found in the set of registers given in Table 2-4.
| Register | Function |
|---|---|
| 0x012A | [1] RX CRC Indication [0] TX CRC Indication |
| 0x012B | Lower 16 bits TX Packet Counter |
| 0x012C | Upper 16 bits TX Packet Counter |
| 0x012D | TX Packets with CRC Errors |
| 0x012E | Lower 16 bits RX Packet Counter |
| 0x012F | Upper 16 bits RX Packet Counter |
| 0x0130 | RX Packets with CRC Errors |