8.3.1. 1G/2.5G/5G/10G多速率PHY
本话题罗列了 Intel® Stratix® 10 器件1G/2.5G/5G/10G多速率系列寄存器的字节偏移。
寄存器映射
可通过 Avalon® -MM接口访问16-bit/32-bit配置寄存器。
地址范围 | 使用 | 寄存器宽度 | 配置 |
---|---|---|---|
0x00 : 0x1F | 1000BASE-X/SGMII | 16 | 2.5G, 1G/2.5G, 10M/100M/1G/2.5G, 10M/100M/1G/2.5G/10G, 1G/2.5G/10G |
0x400 : 0x41F | USXGMII | 32 | 1G/2.5G/5G/10G (USXGMII) |
0x461 | 串行环回 | 32 | 1G/2.5G/5G/10G (USXGMII) |
寄存器定义
访问寄存器时请遵循如指导:
- 不要写入保留或未定义寄存器。
- 写寄存器时,执行读-修改-写操作以确保保留和未定义寄存器位不被覆盖。
地址 | 名称 | 说明 | 访问权限 | HW复位值 |
---|---|---|---|---|
0x00 | control | Bit [15]: RESET。将该位设置为1触发一次软复位。 复位完成后,PHY清除该位。复位器件寄存器值保持不变。 |
RWC | 0 |
Bit[14]: LOOPBACK。将该位设置为1使能串行接口上的环回。 | RW | 0 | ||
Bit [12]: AUTO_NEGOTIATION_ENABLE。将该位设置为1使能自动协商。 仅1GbE支持自动协商。因此,当切换到其他非1GbE速度时,将该为设置为0。 |
RW | 0 | ||
Bit [9]: RESTART_AUTO_NEGOTIATION。将该位设置为1重新启动自协商。 自动协商重新启动后,PHY即刻清除该位。 |
RWC | 0 | ||
保留所有其他位。 | — | — | ||
0x01 | status | Bit [5]: AUTO_NEGOTIATION_COMPLETE。值”1“显示自动协商已完成。 | RO | 0 |
Bit [3]: AUTO_NEGOTIATION_ABILITY。值”1“显示PCS功能支持自动协商。 | RO | 1 | ||
Bit [2]: LINK_STATUS。值”0“显示链路丢失。值”1“表示链路已建立。 | RO | 0 | ||
保留所有其他位。 | — | — | ||
0x02:0x03 | phy_identifier | PHY_IDENTIFIER参数中设置的值。 | RO | PHY_IDENTIFIER参数值 |
0x04 | dev_ability | 使用此寄存器通告自动协商期间的器件性能。 | — | — |
Bits [13:12]: RF。指定远程错误。
|
RW | 00 | ||
Bits [8:7]: PS。指定PAUSE支持。
|
RW | 11 | ||
Bit [5]: FD。确保该位始终设置为1。 | RW | 1 | ||
保留所有其他位。 | — | — | ||
0x05 (1000BASE-X mode) | partner_ability | 自动协商期间链路partner的器件性能。 | — | — |
Bit [14]: ACK。值”1“表示链路partner已接收来自器件的3个连续匹配性能值。 | RO | 0 | ||
Bits [13:12]: RF。远程错误。
|
RO | 0 | ||
Bits [8:7]: PS。PAUSE支持。
|
RO | 0 | ||
Bit [6]: HD。值“1”表示支持半双工。 | RO | 0 | ||
Bit [5]: FD。值“1”表示支持全双工。 | RO | 0 | ||
保留所有其他位。 | — | — | ||
0x05 (SGMII mode) | partner_ability | 自协商期间链路partner的器件性能。 | — | — |
Bit [11:10]: COPPER_SPEED
链路partner速度::
|
RO | 00 | ||
Bit [12]: COPPER_DUPLEX_STATUS
l链路lpartner能力:
|
RO | 0 | ||
Bit [14]: ACK。链路partner应答。值“1”表示器件接收到来自其链路partner的3个连续匹配性能值。 | RO | 0 | ||
Bit [15]: COPPER_LINK_STATUS
链路partner状态:
|
RO | 0 | ||
保留所有其他位。 | — | — | ||
0x06 | an_expansion | PCS能力和自动协商状态。 | — | — |
Bit [1]: PAGE_RECEIVE。值“1”表示partner_ability寄存器已更新。一旦读取该位后,就自动将其删除。 | RO | 0 | ||
Bit [0]: LINK_PARTNER_AUTO_NEGOTIATION_ABLE。值“1”表示链路支持自动协商。 | RO | 0 | ||
0x07 | device_next_page | PHY不支持next page功能。这些寄存器总是设置为0。 | RO | 0 |
0x08 | partner_next_page | RO | 0 | |
0x09:0x0F | 保留 | — | — | — |
0x10 |
scratch | 提供存储器位置以测试读和写操作。 | RW |
0 |
Bit [31:16]: 保留 | — | — | ||
0x11 | rev | PHY IP核的当前版本。 | RO | Current version of the PHY |
Bit [31:16]: 保留 | — | — | ||
0x12:0x13 | link_timer | 21-bit自动协商链路定时器。
|
RW | 0 |
0x14 | if_mode | 接口模式寄存器 | — | — |
Bit [0]: SGMII_ENA 确定PCS功能操作模式。将该位设置为1b'1使能SGMII模式。将该位设置为1b'0使能1000BASE-X gigabit模式。 |
RW | 0 | ||
Bit [1]: USE_SGMII_AN SGMII模式中,将该位设置为1b'1,并按照自动协议期间通告的链路partner abilitie性能配置PCS。如果该位被设置为1b'0,则应通过SGMII_SPEED位配置PCS功能。 |
RW | 0 | ||
Bit [3:2]: SGMII_SPEED
PCS运行于SGMII模式中(SGMII_ENA = 1),不会被编程用于自动协商(USE_SGMII_AN = 0),以下编码指定速度:
|
RW | 0 | ||
All other bits are reserved. | — | — | ||
0x15:0x1F | 保留 | — | — | — |
0x400 | usxgmii_control | 控制寄存器 | — | — |
Bit [0]: USXGMII_ENA:
|
RW | 0 | ||
Bit [1]: USXGMII_ENA设置为1时,使用USXGMII_AN_ENA:
|
RW | 1 | ||
Bit [4:2]: USXGMII_SPEED是USXGMII模式中PHY的操作速度,且USE_USXGMII_AN设置为0。
|
RW | 0 | ||
Bit [8:5]: 保留 | — | — | ||
Bit [9]: RESTART_AUTO_NEGOTIATION 写1重新启动Auto-Negotiation序列。Auto-Negotiation重启后,该位被硬件清除。 |
RWC | 0 | ||
Bit [31:10]: 保留 | — | — | ||
0x401 | usxgmii_status | 状态寄存器 | — | — |
Bit [1:0]: 保留 | — | — | ||
Bit [2]: LINK_STATUS表示USXGMII所有速度的链路状态
|
RO | 0 | ||
Bit [4:3]: 保留 | — | — | ||
Bit [5]: AUTO_NEGOTIATION_COMPLETE 值“1”表示Auto-Negotiation处理完成。 |
RO | 0 | ||
Bit [31:6]: 保留 | — | — | ||
0x402:0x404 | 保留 | — | — | — |
0x405 | usxgmii_partner_ability | Auto-Negotiation期间对链路partner通告的器件性能 | — | — |
Bit [6:0]: 保留 | — | — | ||
Bit [7]: EEE_CLOCK_STOP_CAPABILITY
表示是否支持energy efficient Ethernet(EEE,节能以太网)时钟停止。
|
RO | 0 | ||
Bit [8]: EEE_CAPABILITY
表示是否支持EEE。
|
RO | 0 | ||
Bit [11:9]: SPEED
|
RO | 0 | ||
Bit [12]: DUPLEX
表示双工模式。
|
RO | 0 | ||
Bit [13]: 保留 | — | — | ||
Bit [14]: ACKNOWLEDGE 值“1”表示器件接收到来自链路partner的3个连续匹配性能值。 |
RO | 0 | ||
Bit [15]: LINK
表示链路状态。
|
RO | 0 | ||
Bit [31:16]: Reserved | — | — | ||
0x406:0x411 | 保留 | — | — | — |
0x412 | usxgmii_link_timer | 自动协商链路计时器。将链路计时器位[19:14]中的值以大约0.05-ms steps的时间从0设置为2 ms。必须编程链路计时器以确保其与外部NBASE-T PHY IP核的链路计时器值相匹配。 其余值将链路计时器设置为大约1.6 ms。 Bits [13:0]被保留并始终设置为0。 |
[19:14]: RW [13:0]: RO |
[19:14]: 1F [13:0]: 0 |
0x413:0x41F | 保留 | — | — | — |
0x461 | phy_serial_loopback | 将PMA中的收发器串行环回从TX配置为RX。 | — | — |
Bit [0]
|
RW | 0 | ||
Bit [31:1]: 保留 | — | — |