SNLS603D December 2020 – April 2025 DP83TG720R-Q1
PRODUCTION DATA
The following register settings enable different loopbacks, data generation and data checker procedures.
| Loopback Mode | To enable loopback mode | To enable data generator and checker: MAC packets | To check in-coming MAC packets status | To enable data generator and checker: PRBS stream | To check in-coming PRBS status: PRBS stream | Other care-abouts | |
|---|---|---|---|---|---|---|---|
| 1 | Analog loopback | write : reg[0x0016]=0x0108 write : reg[0x0405]=0x2800 | write : reg[0x0624]=0x55BF write : reg[0x0619]=0x1555 | read : reg[0x063C] for (15:0) of total received packets count. read : reg[0x063D] for (31:16) of total received packets count. read : reg[0x063E] for Packets received with CRC errors |
write : reg[0x0624]=0x55BF write : reg[0x0619]=0x0557 | Step 1: write : reg[0x0620](1) = 1'b1 Step 2 : read : reg[0x0620](7:0) = Number of error bytes received. read : reg[0x0620](8) (1 indicates PRBS data is coming in and checker is locked) | Disconnect the cable/link-partner. Generated data will be going to MAC side, to disable MAC side : write : reg[0x0000]=0x0540 |
| 2 | Digital loopback | write : reg[0x0016] = 0x0104 write : reg[0x0800][11]=1 | write : reg[0x0624]=0x55BF write : reg[0x0619]=0x1555 | read : reg[0x063C] = [15:0] of total received packets count. read : reg[0x063D]= [31:16] of total received packets count. read : reg<0x063E> -> Packets received with CRC errors |
write : reg[0x0624]=0x55BF write : reg[0x0619]=0x0557 | Step 1 : write : reg[0x0620][1] = 1'b1Step 2 : read : reg[0x0620][7:0] = Number of error bytes received. read : reg[0x0620][8] (1 indicates PRBS data is coming in and checker is locked) | Generated data will be going to Cu cable side, to disable this transmission : write : reg[0x041F] = 0x1000 Generated data will be going to MAC side, to disable MAC side : write : reg[0x0000]=0x0540 |
| 3 | PCS loopback | write : reg<0x0016> = 0x0101 | write : reg[0x0624]=0x55BF write : reg[0x0619]=0x1555 | read : reg[0x063C]= [15:0] of total received packets count. read : reg[0x063D]= [31:16] of total received packets count. read : reg[0x063E]= Packets received with CRC errors |
write : reg[0x0624]=0x55BF write : reg[0x0619]=0x0557 | Step 1 : write : reg[0x0620][1] = 1'b1Step 2 : read : reg[0x0620][7:0] = Number of error bytes received. read : reg[0x0620][8] (1 indicates PRBS data is coming in and checker is locked) | Generated data will be going to Cu cable side, to disable this transmission : write : reg[0x041F] = 0x1000 Generated data will be going to MAC side, to disable MAC side : write : reg[0x0000]=0x0540 |
| 4 | RGMII loopback | write : reg<0x0000> = 0x4140 | Data is generated externally at Rgmii TX pins Write : reg[0x0619]= 0x1004 | Data can be verified at Rgmii RX pins. Packet errors can additionaly be checked internally by : read : reg[0x063C]= [15:0] of total received packets count. read : reg[0x063D] = [31:16] of total received packets count. read : reg[0x063E]= Packets received with CRC errors | Data is generated externally at Rgmii Tx pins. | Not applicable as data is external. PRBS stream checker works only with internal data generator. | Generated data will be going to Cu cable side, to disable this transmission : write : reg[0x041F] = 0x1000 |
| 5 | SGMII loopback | write : reg[0x0000] = 0x4140 | Data is generated externally at Sgmii TX pins Write : reg[0x0619] = 0x1114 | Data can be verified at Sgmii RX pins. Packet errors can additionaly be checked internally by : read : reg[0x063C]= [15:0] of total received packets count. read : reg[0x063D] = [31:16] of total received packets count. read : reg[0x063E] = Packets received with CRC errors | Data is generated externally at Sgmii Tx pins. | Not applicable as data is external. PRBS stream checker works only with internal data generator. | Generated data will be going to Cu cable side, to disable this transmission : write : reg[0x041F] = 0x1000 |
| 6 | RGMII Reverse loopback | write : reg[0x0016] = 0x0010 |
write : reg[0x0624]=0x55BF write : reg[0x0619]=0x1555 | read : reg[0x063C] = [15:0] of total received packets count. read : reg[0x063D] = [31:16] of total received packets count. read : reg[0x063E] = Packets received with CRC errors |
write : reg[0x0624]=0x55BF write : reg[0x0619]=0x0557 | Step 1 : write : reg[0x0620][1] = 1'b1Step 2 : read : reg[0x0620][7:0] = Number of error bytes received. read : reg[0x0620][8] (1 indicates PRBS data is coming in and checker is locked) | Generated data will be going to Cu cable side, to disable this transmission : write : reg[0x041F] = 0x1000 |
| 7 | SGMII Reverse loopback | write : reg[0x042C] = 0x0010 | write : reg[0x0624]=0x55BF write : reg[0x0619]=0x1555 | read : reg[0x063C] for [15:0] of total received packets count. read : reg[0x063D] for [31:16] of total received packets count. read : reg[0x063E] for Packets received with CRC errors |
write : reg[0x0624]=0x55BF write : reg[0x0619]=0x0557 | Step 1 : write : reg[0x0620][1] = 1'b1Step 2 : read : reg[0x0620][7:0] for Number of error bytes received. read : reg[0x0620][8] (1 indicates PRBS data is coming in and checker is locked) | Generated data will be going to Cu cable side, to disable this transmission : write : reg[0x041F] = 0x1000 |