SNLS604E September 2020 – November 2022 DP83TG720S-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[0x0619]=0x1555 write : reg[0x0624]=0x55BF |
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[0x0619]=0x0557 write : reg[0x0624]= 0x55BF |
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[0x0619]=0x1555 write : reg[0x0624]=0x55BF |
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[0x0619]=0x0557 write : reg[0x0624]= 0x55BF |
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[0x0619]=0x1555 write : reg[0x0624]=0x55BF |
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[0x0619]=0x0557 write : reg[0x0624]= 0x55BF |
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[0x0619]=0x1005 write : reg[0x0624]=0x55BF |
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[0x0619]=0x0557 write : reg[0x0624]= 0x55BF |
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[0x0619]=0x1115 write : reg[0x0624]=0x55BF |
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[0x0619]=0x0557 write : reg[0x0624]= 0x55BF |
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 |