SNLA452 August 2025 DP83TD510E
Broadly speaking, there are two methods for switching transmit levels. The first is when there is no established link, and the second with an established link between 2 PHYs.
Without an established link, change the register 0x20E to only advertise the desired voltage. To test this, enable the 3-level output signal by forcing link up by enabling digital loopback. This starts idle waveforms on the MDI signal which can be probed to verify the voltage swing level.
begin
000D 0001
000E 08F6
000D 4001
000E 1000 // Force transmit level to 2.4V, write 0000 for 1V
000D 001F
000E 0016
000D 401F
000E 0104 // Enable digital loopback to force link up to have three level signal
endIn the second situation, we need to change the transmit level on both PHYs, which is why it's a 3-step process. First, we need to disable auto-negotiation, force the desired voltage, change transmit level advertisement, and perform a soft reset on PHY 1. Secondly, we need to perform the same operations on PHY 2 and re-enable auto-negotiation at the very end. Lastly, we can go back to PHY 1 and re-enable auto-negotiation. The scripts for these 3 steps are given in the following.
Step 1 (DP83TD510 PHY 1)
begin
000D 0007
000E 0200
000D 4007
000E 0000 // Disable AN
000D 0001
000E 08F6
000D 4001
000E 1000 // Force transmit level to 2.4V, write 0000 for 1V
000D 0007
000E 020E
000D 4007
000E B000 // Increase the transmit level advertisment, write 8000 for 1V
000D 001F
000E 0010
000D 401F
000E 4000 // Soft reset
endStep 2 (DP83TD510 PHY 2)
begin
000D 0007
000E 0200
000D 4007
000E 0000 // Disable AN
000D 0001
000E 08F6
000D 4001
000E 1000 // Force transmit level to 2.4V, write 0000 for 1V
000D 0007
000E 020E
000D 4007
000E B000 // Increase the transmit level advertisment, write 8000 for 1V
000D 001F
000E 0010
000D 401F
000E 4000 // Soft reset
000D 0007
000E 0200
000D 4007
000E 1000 // Re-enable AN
endStep 3 (DP83TD510 PHY 1)
begin
000D 0007
000E 0200
000D 4007
000E 1000 // Re-enable AN
end