PHY registers are applicable to both design examples.
Table 25. Base Address of PHY Registers
| Channel |
PHY Register Base Address |
| 0 |
MSA0 + 0x02_4000 |
| 1 |
MSA0 + 0x03_4000 |
| 2 |
MSA0 + 0x04_4000 |
| 3 |
MSA0 + 0x05_4000 |
| 4 |
MSA0 + 0x06_4000 |
| 5 |
MSA0 + 0x07_4000 |
| 6 |
MSA0 + 0x08_4000 |
| 7 |
MSA0 + 0x09_4000 |
| 8 |
MSA0 + 0x0A_4000 |
| 9 |
MSA0 + 0x0B_4000 |
| 10 |
MSA0 + 0x0C_4000 |
| 11 |
MSA0 + 0x0D_4000 |
Note: For the description of each PHY register, refer to the Altera Transceiver PHY IP Core User Guide. The address offset in the following tables is in byte, while the register map table in the Altera Transceiver PHY IP Core User Guide is in word.
Table 26. PMA Registers
| Byte Offset |
Bit |
R/W |
Name |
| 0x0088 |
|
RO |
pma_tx_pll_is_locked |
| 0x0110 |
1 |
RW |
reset_tx_digital |
| 2 |
RW |
reset_rx_analog |
| 3 |
RW |
reset_rx_digital |
| 0x0184 |
|
RW |
phy_serial_loopback |
| 0x0190 |
|
RW |
pma_rx_set_locktodata |
| 0x0194 |
|
RW |
pma_rx_set_locktoref |
| 0x0198 |
|
RO |
pma_rx_is_lockedtodata |
| 0x019C |
|
RO |
pma_rx_is_lockedtoref |
| 0x02A0 |
0 |
RW |
tx_invpolarity |
| 1 |
RW |
rx_invpolarity |
| 2 |
RW |
rx_bitreversal_enable |
| 3 |
RW |
rx_bytereversal_enable |
| 4 |
RW |
force_electrical_idle |
| 0x02A4 |
0 |
R |
rx_syncstatus |
| 1 |
R |
rx_patterndetect |
| 2 |
R |
rx_rlv |
| 3 |
R |
rx_rmfifodatainserted |
| 4 |
R |
rx_rmfifodatadeleted |
| 5 |
R |
rx_disperr |
| 6 |
R |
rx_errdetect |
Table 27. PCS Registers
| Byte Offset |
Bit |
R/W |
Name |
| 0x0200 |
|
RW |
Indirect_addr |
| 0x0204 |
2 |
RW |
RCLR_ERRBLK_CNT |
| 3 |
RW |
RCLR_BER_COUNT |
| 0x0208 |
1 |
RO |
HI_BER |
| 2 |
RO |
BLOCK_LOCK |
| 3 |
RO |
TX_FULL |
| 4 |
RO |
RX_FULL |
| 5 |
RO |
RX_SYNC_HEAD_ERROR |
| 6 |
RO |
RX_SCRAMBLER_ERROR |
| 7 |
RO |
Rx_DATA_READY |
Table 28. 1G/10GbE GMII PCS Registers
| Byte Offset |
Bit |
R/W |
Name |
| 0x0240 |
9 |
RW |
RESTART_AUTO_ NEGOTIATION |
| 12 |
RW |
AUTO_NEGOTIATION_ ENABLE |
| 15 |
RW |
Reset |
| 0x0244 |
2 |
R |
LINK_STATUS |
| 3 |
R |
AUTO_NEGOTIATION_ ABILITY |
| 5 |
R |
AUTO_NEGOTIATION_ COMPLETE |
| 0x0250 |
5 |
RW |
FD |
| 6 |
RW |
HD |
| 8:7 |
RW |
PS2,PS1 |
| 13:12 |
RW |
RF2,RF1 |
| 14 |
R0 |
ACK |
| 15 |
RW |
NP |
| 0x0254 |
5 |
R |
FD |
| 6 |
R |
HD |
| 8:7 |
R |
PS2,PS1 |
| 13:12 |
R |
RF2,RF1 |
| 14 |
R |
ACK |
| 15 |
R |
NP |
| 0x0258 |
0 |
R |
LINK_PARTNER_AUTO_NEGOTIATION_ABLE |
| 1 |
R |
PAGE_RECEIVE |
| 0x0288 |
15:0 |
RW |
AN link timer[15:0] |
| 0x028C |
4:0 |
RW |
AN link timer[4:0] |
| 0x0290 |
0 |
RW |
SGMII_ENA |
| 1 |
RW |
USE_SGMII_AN |
| 3:2 |
RW |
SGMII_SPEED |
Table 29. 1G/10GbE Register Definitions
| Byte Offset |
Bit |
R/W |
Name |
| 0x02C0 |
0 |
RW |
Reset SEQ |
| 1 |
RW |
Disable AN Timer |
| 2 |
RW |
Disable LF Timer |
| 6:4 |
RW |
SEQ Force Mode[2:0] |
| 16 |
RW |
FEC ability |
| 18 |
RW |
FEC request |
| 0x02C4 |
0 |
R |
SEQ Link Ready |
| 1 |
R |
SEQ AN timeout |
| 2 |
R |
SEQ LT timeout |
| 13:8 |
RW |
SEQ Reconfig Mode[5:0] |
| 16 |
R |
KR FEC ability |
| 17 |
R |
KR FEC err ind ability |