Register Map
The following tables show the PCS registers.
| 1G PCS Access | Value |
|---|---|
| USER_APB_PADDR[23:21] | 3’b110 |
| USER_APB_PADDR[20:11] | x (Don’t care) |
| USER_APB_PADDR[10:8] |
3’b100
|
| Port | USER_APB_PADDR[7:0] Start | USER_APB_PADDR[7:0] End |
|---|---|---|
| A | 0x00 | 0x3C |
| B | 0x40 | 0x7C |
| C | 0x80 | 0xBC |
| D | 0xC0 | 0xFC |
| Signal | Address | Write Bit |
|---|---|---|
| USER_APB_PADDR[23:0] | 24’h600040 |
[14:11]
11: Lane 0
12: Lane 1
13: Lane 2
14: Lane 3
|
| Register | Type | Reset Value | Address Offset |
|---|---|---|---|
| PCS Control | RW | 0x00001040 | 0x00 |
| PCS Status | RO | 0x00000109 | 0x04 |
| AN Advertised Abilities | RW | 0x00000001 | 0x10 |
| AN LP Abilities | RO | 0x00000000 | 0x14 |
| SGMII CFG1 | RW | 0x000186A0 | 0x24 |
| SGMII CFG2 | RW | 0x000186A0 | 0x28 |
| Auto Negotiation Extended Status | RO | 0x00008000 | 0x3C |
The following tables show the bit description for the PCS registers.
| Bit | Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:16 | Reserved | Reserved. | RO | 0 |
| 15 | pcs_software_reset | PCS software reset. Written by software to force the hardware logic into a reset state. This bit is self-clearing. When reading this bit, logic 1 is returned until the reset has. Writing logic 0 has no effect. This bit only resets the AN, TX, and RX GMII state machines. |
RW
|
0 |
| 14 | loopback_mode |
Loopback mode. The ewrap output pin of the PCS reflects this
control bit, and can be used to select loopback mode in the PHY
transceiver.
0: Loopback mode disabled.
1: Loopback mode enabled
|
RW
|
0 |
| 13 | speed_select_bit_1 | Reserved set to 0. Used in conjunction with bit 6 to always indicate 1G operation. | RO | 0 |
| 12 | enable_auto_neg | Enable auto-negotiation. When set active high, auto-negotiation operation is enabled. |
RW
|
1 |
| 11:10 | reserved | reserved | RO | 0 |
| 9 | restart_auto_neg | Restart auto-negotiation. When set active high, the hardware restarts auto-negotiation. This bit is self-clearing, but once set shall remain in this state until auto-negotiation has restarted. Writing logic 0 has no effect. | RW | 0 |
| 8 |
mac_duplex_state
|
Reserved set to 1. The PCS only supports full duplex operation. | RO | 1 |
| 7 | reserved | Reserved. | RO | 0 |
| 6 | speed_select_bit_0 | Reserved set to 1. Used in conjunction with bit 13 to always indicate 1G operation. | RO | 1 |
| 5:0 | reserved | Reserved. | RO | 0 |
| Bit | Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:16 | reserved | Reserved. | RO | 0 |
| 15 | base_100_t4 | Reserved. Set to 0, not supported. | RO | 0 |
| 14 | base_100_x_full_duplex | Reserved. Set to 0, not supported. | RO | 0 |
| 13 | base_100_x_half_duplex | Reserved. Set to 0, not supported. | RO | 0 |
| 12 | mbps_10_full_duplex | Reserved. Set to 0, not supported. | RO | 0 |
| 11 | mbps_10_half_duplex | Reserved. Set to 0, not supported. | RO | 0 |
| 10 | base_100_t2_full_duplex | Reserved. Set to 0, not supported. | RO | 0 |
| 9 | base_100_t2_half_duplex | Reserved. Set to 0, not supported. | RO | 0 |
| 8 | extended_status | Extended status. When set active high, indicates extended status information is present in the PCS auto-negotiation extended status register. This bit is hardwired to logic 1. | RO | 1 |
| 7:6 | reserved | Reserved. | RO | 0 |
| 5 | auto_neg_complete | Auto-negotiation complete. Set active high by the PCS hardware to indicate auto-negotiation has completed. | RO | 0 |
| 4 | remote_fault | Remote fault. Set active high if the link partner remote fault bits in the PCS auto-negotiation link partner ability register, indicates an error. Resets low when read. | RO | 0 |
| 3 | auto_neg_ability |
Auto-negotiation ability. This bit indicates whether the PCS has
auto-negotiation ability and reflects the value of the
auto-negotiation enable bit in the PCS control register.
0: PCS is not able to perform auto-negotiation.
1: PCS is able to perform auto-negotiation
|
RO | 1 |
| 2 | link_status | Link status. Indicates the status of the physical connection to the link partner. When set to logic 1 the link is up, and when set to logic 0, the link is down. If auto-negotiation is disabled this returns the synchronisation status. Held at logic 0 if the link goes down until this bit is read. | RO | 0 |
| 1 | reserved | Reserved. | RO | 0 |
| 0 | extended_capabilities | Extended register capabilities. When set active high, indicates the PCS supports extended register capabilities. This bit is hardwired to logic 1. | RO | 1 |
| Bits | Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:16 | reserved | Reserved | RO | 0 |
| 15 | link | 1
= Link up 0 = Link down |
RW | 0 |
| 14:13 | reserved | Reserved | RO | 0 |
| 12 | duplex_mode | 1
= Full duplex 0 = Reserved |
RW | 0 |
| 11:10 | speed | 11
=
Reserved 10
= 1,000 Mbps 01 = 100 Mbps 00 = 10
Mbps |
RW | 0 |
| 9:1 | reserved | Reserved | RO | 0 |
| 0 | sgmii_mode | Reserved | RW | 1 |
| Bit | Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:16 | reserved | Reserved. | RO | 0 |
| 15 | link_partner |
Link status.
0 : Link down.
1 : Link up.
|
RO | 0 |
| 14 | link_partner_acknowledge | Link partner acknowledge. Indicates that the link partner has successfully received the transmitted base page | RO | 0 |
| 13:12 | link_partner_remote_fault_duplex_mode |
Bit 13: Reserved. Read as zero.
Bit 12 : Duplex mode.
|
RO | 0 |
| 11:9 | speed |
11: Reserved
10: 1,000 Mbps
01: 100 Mbps
00: 10 Mbps
Bit 9: Reserved. Read as zero.
|
RO | 0 |
| 8:5 | reserved |
Reserved. Read as zero.
|
RO | 0 |
| 4:0 | reserved | Reserved. | RO | 0 |
| Bit | Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:27 | reserved | Reserved. | RO | 0 |
| 26 | uni_direct_en | When set, the auto-negotiation state machine allows the transmit state machine to transmit data when the link is down instead of idle ordered sets. |
RW
|
0 |
| 25 | alt_sgmii_an_mode | Alternate SGMII mode. When set, along with bit 24, during auto-negotiation configuration data exchange a fixed value of 0x4001 is used for the configuration data. |
RW
|
0 |
| 24 | sgmii_an_mode | SGMII AN mode. Set to configure auto-negotiation in accordance to SGMII specification. |
RW
|
0 |
| 23:21 | reserved | Reserved. | RO | 0 |
| 20:0 | an_link_timeout_val | Auto-negotiation link timer timeout value in xcv_rbc clock cycles. This bit should be set to the equivalent 1.6 ms in SGMII mode and 10 ms in other modes. |
RW
|
0x0186A0
|
| Bit | Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:21 | reserved | Reserved. | RO | 0 |
| 20:0 | an_link_fail_timeout_val | Auto-negotiation link fail timer timeout value in xcv_rbc clock cycles. This bit should be set to the equivalent of 10 ms. |
RW
|
0x0186A0
|
| Bit | Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:16 | reserved | Reserved. | RO | 0 |
| 15 | full_duplex_1000base_x | Full duplex 1000BASE-X. Hardwired to logic 1, indicates the PCS can support full duplex operation of 1000BASE-X. | RO | 1 |
| 14 | half_duplex_1000base_x | Half duplex 1000BASE-X. Hardwired to logic 0, indicates the PCS cannot support half duplex operation of 1000BASE-X. | RO | 0 |
| 13 | full_duplex_1000base_t | Full duplex 1000BASE-T. Hardwired to logic 0, indicates the PCS cannot support 1000BASE-T full duplex operation. | RO | 0 |
| 12 | half_duplex_1000base_t | Half duplex 1000BASE-T. Hardwired to logic 0, indicates the PCS cannot support 1000BASE-T half duplex operation. | RO | 0 |
| 11:0 | reserved | Reserved. | RO | 0 |
| Bit | Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:19 | reserved | Reserved. | RO | 0 |
| 18:15 | cfg_sgmii_clkdiv_en_p0 cfg_sgmii_clkdiv_en_p1 cfg_sgmii_clkdiv_en_p2 cfg_sgmii_clkdiv_en_p3
|
Auto-negotiation clock rate change enable:
18: Lane 3
17: Lane 2
16: Lane 1
15: Lane 0
|
RW | 11 |
| 14:11 | signal_ok |
PCS signal_ok program bit. To start the PCS RX operation:
14: Lane 3
13: Lane 2
12: Lane 1
11: Lane 0
|
RW | 0 |
| 10:9 | test_sel |
Selects the test pattern to be transmitted:
00: High-frequency Test Pattern (0101010101010101..)
01: Low-frequency Test Pattern (11111000001111100..)
10: Mixed-frequency Test Pattern (111110101100000..)
11: Reserved
|
RW | 0 |
| 8 | test_enable | Enables the transmission of the selected test pattern. | RW | 0 |
| 7:4 | polarity_inv_tx |
Invert 20-bit polarity on transmit:
7: Lane3
6: Lane2
5: Lane1
4: Lane0
|
RW | 0 |
| 3:0 | polarity_inv_rx |
Invert 20-bit polarity on receive:
3: Lane3
2: Lane2
1: Lane1
0: Lane0
|
RW | 0 |
To program the special PCS lanes configuration in Table 12, use the following APB address:
- USER_APB_PADDR[23:0]—24’h600040
1 Change to 1 in HWTCL.