Summary of Contents for Broadcom NetXtreme/NetLink BCM5718 Series
Page 1
Programmer’s Guide BCM5718 ® ® NetXtreme /NetLink BCM5718 Family Programmer’s Guide 5718-PG108-R 5300 California Avenue • Irvine, CA 92617 • Phone: 949-926-5000 • Fax: 949-926-5203 January 29, 2016...
Page 2
• “Send Rings” on page 106 • “Initialization Procedure” on page 140 • Table 49: “GPIO Usage for Power Management for Broadcom Drivers,” on page 192 • Table 101: “Multiple Send Ring Mail Boxes,” on page 357 • “Send BD Ring Host Producer Index Register (offset: 0x5900)” on page 465 •...
Page 3
“VRQ Filter Set Registers” on page 461 • “VRQ Mapper Registers” on page 462 • “Base Address Register 5 (offset: 0x20)” on page 276 • “Base Address Register 6 (offset: 0x24)” on page 277 Broadcom ® January 29, 2016 • 5718-PG108-R Page 3...
Page 4
“Receive Max Coalesced BD Count Register (offset: 0x3C10)” on page 395 • “Send Max Coalesced BD Count Register (offset: 0x3C14)” on page 397 • “Status Block Host Address Register (offset: 0x3C38)” on page 400 Broadcom ® January 29, 2016 • 5718-PG108-R Page 4...
Page 5
• “04h: Auto_Negot_Advertisement_Register” on page 515 • “09h: 1000Base_T_Control_Register” on page 518 • “10h: PHY_Extended_Control_Register” on page 522 • “18h: Auxiliary Control Register (Shadow Register Selector = “000”)” on page 526 Broadcom ® January 29, 2016 • 5718-PG108-R Page 5...
Page 6
“B2HRX APE Broadcast Statistics Count (offset: 0x24F4)” on page 375 • “B2HRX APE Drop Packet Count (offset: 0x24F8)” on page 375 • “B2HRX APE Drop Packet Byte Count (offset: 0x24FC)” on page 375 Broadcom ® January 29, 2016 • 5718-PG108-R Page 6...
Page 7
“NVM Write Register (offset: 0x7008)” on page 497 Added: • “Device Closing Procedure” on page 147 • “TX TIME STAMP LSB REG (offset: 0x5C0)” on page 327 • “TX TIME STAMP MSB REG (offset: 0x5C4)” on page 327 Broadcom ® January 29, 2016 • 5718-PG108-R Page 7...
Page 8
“RMU Registers” on page 504 • “RMU_EGRESS_DA1_MATCH[1-8]_REG (offsets: 0x00B0, 0x00B8, 0x00C0, 0x00C8 … 0xE8)” on page 504 • “RMU_EGRESS_DA2_MATCH[1-8]_REG (Offsets 0x00B4, 0x00BC, 0x00C4, 0xCC …0xEC)” on page 504 • “RMU_EGRESS_STATUS_REG (Offset 0x0000)” on page 504 Broadcom ® January 29, 2016 • 5718-PG108-R Page 8...
Page 9
(offset: 0x3600)” on page 346. • Added BCM5719 to “Link Aware Power Mode Clock Policy Register (offset: 0x3610)” on page 349. • Added BCM5719 to “APE CLK Policy Register (offset: 0x361C)” on page 352. Broadcom ® January 29, 2016 • 5718-PG108-R Page 9...
Page 10
• “Global Mutex Grant Register (offset: 0x36F4)” on page 381 • “Temperature Monitor Control Register (offset: 0x36FC)” on page 382 • “BCM5719 Registers” on page 469 Removed: • “Reserved (offset: 0x378C)” Broadcom ® January 29, 2016 • 5718-PG108-R Page 10...
Page 11
Column from Table 1: “BCM5718 Family Product Features,” on page 40 • Register control mode from “MDI Register Access” on page 187 • MDI Control Register (offset: 0x6844) 5718-PG100-R 04/13/10 Initial release Broadcom ® January 29, 2016 • 5718-PG108-R Page 11...
Page 13
Single-Vector or INTx — RSS Mode Status Block Format ............. 84 Multivector RSS Mode Status Block Format .................. 85 Status Block and INT MailBox Addresses..................86 Section 5: Receive Data Flow................... 88 Introduction..............................88 Receive Producer Ring ..........................90 Broadcom ® January 29, 2016 • 5718-PG108-R Page 13...
Page 14
Section 6: Transmit Data Flow ..................105 Introduction............................... 105 Send Rings..............................105 Ring Control Block..........................107 Host-Based Send Ring........................108 Checksum Offload............................ 109 Large Segment Offload ..........................110 QuickStart............................110 LSO-Related Hardware Control Bits ....................111 Broadcom ® January 29, 2016 • 5718-PG108-R Page 14...
Page 15
Generating CRC..........................136 Checking CRC............................. 136 Initializing the MAC Hash Registers ....................136 Promiscuous Mode Setup/Configuration..................... 138 Broadcast Setup/Configuration ......................138 Section 7: Device Control ....................139 Initialization Procedure ..........................139 Broadcom ® January 29, 2016 • 5718-PG108-R Page 15...
Page 17
Power Supply in D3 State ........................191 Clock Control............................191 Device ACPI Transitions ........................192 Disable Device Through BIOS ......................192 Endian Control (Byte and Word Swapping) ................... 193 Background ............................193 Broadcom ® January 29, 2016 • 5718-PG108-R Page 17...
Page 18
Operational Characteristics ......................... 214 Internal Memory ........................... 214 WOL Pattern Configuration Register.................... 214 WOL Streams..........................215 Pattern Data Structure ......................... 217 Firmware Mailbox......................... 218 PHY Auto-Negotiation ........................219 Power Management ........................219 Broadcom ® January 29, 2016 • 5718-PG108-R Page 18...
Page 19
Single-Vector IOV Mode Status Block Format ................247 Multivector RSS Mode Status Block Format ................248 Multivector IOV Mode Status Block Format ................. 249 MSI-X Capability Structure ........................250 MSI-X Data Structures ........................251 Broadcom ® January 29, 2016 • 5718-PG108-R Page 19...
Page 20
MSI-X One Shot Mode ......................... 258 Coalesce Now or Forced Update ....................258 Misc Coalescing Controls......................258 Broadcom Tagged Status Mode (0x68[9]) ................258 Clear Interrupt, Mask Interrupt, Mask Mode (0x68[0], 0x68[1], 0x68[8]) ......259 Clear Ticks On Rx Bd Events Mode (0x3c00[9])..............259 No Interrupt On Force Update (0x3c00[11]).................
Page 21
UNDI Send BD Producer Index Mailbox Register (offset: 0x90–0x94) ..........287 UNDI Receive BD Standard Producer Ring Producer Index Mailbox Register (offset: 0x98–0x9C) .. 287 MSI-X Capabilities Registers....................... 288 MSI-X Capability Header Register (offset: 0xA0)................. 288 MSIX_TBL_OFF_BIR – 0xa4....................... 288 Broadcom ® January 29, 2016 • 5718-PG108-R Page 21...
Page 22
Register (offset: 0x260–0x264) ....................... 306 High Priority Mailbox Registers ......................307 Receive BD Standard Producer Ring Index Register (offset: 0x268-0x26F)......................307 Receive BD Jumbo Producer Ring Index Register (offset: 0x270) ..........307 Broadcom ® January 29, 2016 • 5718-PG108-R Page 22...
Page 23
Transmit MAC Lengths Register (offset: 0x464) ................. 321 Receive MAC Mode Register (offset: 0x468) ..................322 Receive MAC Status Register (offset: 0x46C) ..................324 MAC Hash Register 0 (offset: 0x470)....................324 Broadcom ® January 29, 2016 • 5718-PG108-R Page 23...
Page 26
Receive List Placement Statistics Increment Mask Register (offset: 0x201C)........360 Receive Selector List Head & Tail Pointers (offset: 0x2100)............... 360 Receive Selector List 1 Count Registers (Offset: 0x2108) ..............360 Receive Data and Receive BD Initiator Control Registers..............362 Broadcom ® January 29, 2016 • 5718-PG108-R Page 26...
Page 27
Receive BD Initiator Local NIC Jumbo Receive BD Producer Index (offset: 0x2C08) ......372 Receive BD Initiator Local NIC Receive BD Producer Index Register (offset: 0x2C0C–0x2C13) ..373 Standard Receive BD Producer Ring Replenish Threshold Register (offset: 0x2C18)....... 373 Broadcom ® January 29, 2016 • 5718-PG108-R...
Page 28
Flash Clock Policy Register (offset: 0x366C) ..................399 Link Idle Control Register (offset: 0x3670) ..................401 Link Idle Status Register (offset: 0x3674) ................... 404 Top Level Miscellaneous Control 1 Register (offset: 0x367C) ............405 Broadcom ® January 29, 2016 • 5718-PG108-R Page 28...
Page 29
NIC Diagnostic Return Ring 2 Producer Index Register (offset: 0x3C88)........... 425 NIC Diagnostic Return Ring 3 Producer Index Register (offset: 0x3C8C) .......... 425 NIC Diagnostic Send BD Consumer Index Register (offset: 0x3CC0) ..........425 Broadcom ® January 29, 2016 • 5718-PG108-R...
Page 30
Host Address for the DMA Read Channel 2 (offset: 0x4B38) ............. 446 Host Address for the DMA Read Channel 3 (offset: 0x4B40) ............. 447 Non-LSO Read DMA Reserved Control Register (offset: 0x4B74) ............. 447 Broadcom ® January 29, 2016 • 5718-PG108-R...
Acronyms and Abbreviations In most cases, acronyms and abbreviations are defined on first use. For a comprehensive list of acronyms and other terms used in Broadcom documents, go to: http://www.broadcom.com/press/glossary.php. Document Conventions The following conventions may be used in this document:...
Customer Support Portal (CSP) and Downloads & Support site (see Technical Support). For Broadcom documents, replace the “xx” in the document number with the largest number available in the repository to ensure that you have the most current version of the document. Document (or Item) Name...
Specification Technical Support Broadcom provides customer access to a wide range of information, including technical documentation, schematic diagrams, product bill of materials, PCB layout information, and software updates through its customer support portal (https://support.broadcom.com). For a CSP account, contact your Sales or Engineering support representative.
Tx/Rx over IPv4/IPv6 IP checksum offload on Tx/Rx over IPv4/IPv6 Hardware TCP segmentation offload over IPv4/IPv6 Jumbo frame support Receive-side scaling (RSS) UDP Receive-side scaling (UDP RSS) No Transmit-side scaling (TSS) Broadcom ® January 29, 2016 • 5718-PG108-R Page 47...
Page 48
Interface to Flash memory Interface to Serial EEPROM Flash Autoconfig Support Self-Test Test modes (BIST, SCAN, etc) JTAG support Technology High-performance, low-overhead software/hardware interface High-speed on-chip RISC processors (one per port) Broadcom ® January 29, 2016 • 5718-PG108-R Page 48...
PCI Revision ID and Chip ID information in the PCI configuration registers to determine the revision level of the Ethernet controller on the board, and then load the appropriate workaround described in the errata sheets. The Broadcom PCI vendor ID is 0x14E4. Table 3 shows the default values of PCI device IDs.
“Revision Levels” on page 49) that provide the necessary information for writing a host- ® based device driver. The Broadcom Linux driver (a.k.a. “tg3”) is also a very good reference source for writing your own driver. The programming model for the NetXtreme/NetLink Ethernet controllers does not depend on OS or processor ®...
Processor Write Write Applications FIFO Processing Boot ROM Engine (APE runs Ring Controllers firmware such Host Coalescing as NC-SI) Queue Management LED Control EEPROM Control NVRAM 125-MHz Clock LED Signals Interface Broadcom ® January 29, 2016 • 5718-PG108-R Page 51...
Overview of Features Overview of Features The BCM5718 family of controllers represents the third generation of Broadcom NetXtreme multi-port Gigabit Ethernet controllers. This family is the successor to the BCM5714/BCM5715 family. The BCM5717, BCM5718, and BCM5720 feature two independent 1 Gb Ethernet ports on the network side. A host computer can communicate with the controller over a single PCIe link.
GHPY 0 Serdes 0 GHPY 1 Serdes 1 Port 1 Port 0 Note: BCM5719 has the same general architecture, but four ports (ports 0, 1, 2, 3) and a quad-function PCIe interface. Broadcom ® January 29, 2016 • 5718-PG108-R Page 53...
The RX FIFO provides elasticity while data is read from PHY transceiver and written into internal memory. There are no programmable settings for the RX FIFO. This FIFO’s operation is completely transparent to host software. Broadcom ® January 29, 2016 • 5718-PG108-R...
DMA of one or more new BDs to the NIC. The actual DMAs generated depend on the comparison of the value of the received BD host producer index mailbox, the NIC copy of the received BD consumer index, and the local copy of the received BD producer index. Broadcom ® January 29, 2016 • 5718-PG108-R...
The TX FIFO provides elasticity while data is moved from device internal memory to PHY. There are no programmable settings for the TX FIFO. This FIFO’s operation is completely transparent to host software. Broadcom ® January 29, 2016 • 5718-PG108-R...
The Read DMA engine makes sure there is enough space in internal Tx Packet Buffer Memory before initiating a DMA request for transfer of Tx packet data from host memory to device internal packet memory. Broadcom ® January 29, 2016 • 5718-PG108-R...
This reduces latency on the PCI bus during the write operation (wait states are not inserted while data is fetched from internal memory). The operation of the write DMA FIFO is transparent to host software. Broadcom ® January 29, 2016 • 5718-PG108-R...
The MA negotiates local memory access, so all portions of the architecture are provided with fair access to memory resources. The MA prevents starvation and bounds access latency. Host software may enable/disable/ reset the MA, and there are no tunable parameters. Broadcom ® January 29, 2016 • 5718-PG108-R...
DMA write engine, so host software gets a refreshed copy of status. The status block is refreshed before a line IRQ or MSI is generated. See “Status Block Format” on page 82 for a complete discussion of the status block. Broadcom ® January 29, 2016 • 5718-PG108-R Page 61...
The MII is used in conjunction with 10/100 Mbps copper Ethernet transceivers. • GMII supports 1000 Mbps copper Ethernet transceivers. MII Block The MII interconnects the MAC and PHY sublayers (as shown in Figure 8 on page 63). Broadcom ® January 29, 2016 • 5718-PG108-R Page 62...
Decoder Media Status LNKRDY Control TXD /4 MII_TXCLK Symbol Media Tx Data Encoder TX_ER Access Encapsulation Mgmnt TX_EN 2.5 MHz at 10 Mbps 4-bit Data Path 25 MHz at 100 Mbps Broadcom ® January 29, 2016 • 5718-PG108-R Page 63...
The PHY will drive Carrier Sense (CRS) as a response to traffic being sent/received. The MAC sublayer can monitor traffic and subsequently drive traffic LEDs. Broadcom ® January 29, 2016 • 5718-PG108-R...
Access Decapsulation RX_ER Mgmnt Symbol RX_DV Decoder Media Status LNKRDY Control TXD /8 TX Media TX_CLK0 Symbol Tx Data Access Encoder TX_ER Encapsulation Mgmnt TX_EN 125-MHz Ref Clock 8-bit Data Path Broadcom ® January 29, 2016 • 5718-PG108-R Page 65...
PHY transfers status back to the MAC, using MDIO. Management Data Interrupt The integrated Broadcom PHY may be programmed to generate interrupts. A PHY status change initiates a Management Data Interrupt (MDINT). A MDI mask register allows host software to selectively enable/disable status types, which cause MDINT notification.
All configuration settings are default-configured in the official release binary image files provided in Broadcom's CD software releases. However, the settings chosen as default by Broadcom may not be what best suits a particular OEM's application, so some settings may need to be changed by the OEM.
Details relating to self-boot can be found in Self Boot Option (5754X_5787X-AN10X-R) and NetXtreme/NetLink Software Self-Boot NVRAM (NetXtreme-AN40X-R) Broadcom application notes. Broadcom ®...
There are three main types of descriptor rings: • Send Rings • Receive Producer Rings • Receive Return Rings The TX/RX ring base requires an 8 byte alignment. The receive buffer address (recorded in SBD/RBD) cannot cross 4G. Broadcom ® January 29, 2016 • 5718-PG108-R Page 69...
Cons The delta between the producer and consumer indices is indicated by the shaded areas. These shaded descriptors are considered to be valid (non-empty) and thus need to be processed. Prod Broadcom ® January 29, 2016 • 5718-PG108-R Page 70...
Ring is provided in “PCI” on page 168. Send Ring Control Blocks The format of the Send RCB remains unchanged, only 15 more are added as shown in the Table below. Broadcom ® January 29, 2016 • 5718-PG108-R Page 71...
A single transmit packet may be composed of multiple buffers that are pointed to by multiple send descriptors. The maximum number of send descriptors for a single packet is (0.75)*(ring size). Broadcom ® January 29, 2016 • 5718-PG108-R...
RX/TX max coalesced frames RX Prod #3 thresholds are met. Software can RX Prod #4 examine the TX consumer indices in the status block to determine which packets have been sent by the hardware. Broadcom ® January 29, 2016 • 5718-PG108-R Page 74...
If this bit is set to 0, then the Consumer Index is only updated as soon as one of the host interrupt coalescing conditions has been met. Broadcom ® January 29, 2016 • 5718-PG108-R...
If VLAN tag insertion is desired, this field (and the flag) should be set in the first descriptor for that packet (i.e., the descriptor that points to the buffer that contains the Ethernet header). Large Segment Offload (LSO) Send BD “Large Segment Offload” on page 110. Broadcom ® January 29, 2016 • 5718-PG108-R Page 76...
After the controller fetches and caches (e.g., consumes) this receive producer descriptor, the controller will update the consumer index of the receive producer ring. Broadcom ® January 29, 2016 • 5718-PG108-R...
Once a packet has been received, the controller will modify this length field to correspond to the length of the packet received. A value of 0 indicates that there is no valid data in the buffer. Broadcom ® January 29, 2016 • 5718-PG108-R...
If set to 1, indicates host that the RSS_Hash in Receive BD of return ring is valid. PACKET_END If set to 1, the packet ends with the data in the buffer pointed to by this descriptor. Reserved Should be set to 0. Broadcom ® January 29, 2016 • 5718-PG108-R Page 79...
IP_CHECKSUM (Flags bit 12) to determine if the IP checksum in the received packet is correct. This field used to contain the actual IP checksum value but that is not true for the BCM5718 family of controllers. Only the Flags bit IP_CHECKSUM should be relied on by host driver software as is done by Broadcom drivers.
Send ring as non-jumbos. There are no separate jumbo-dedicated Send ring(s) like there are for Rx producer rings. The max sizes of the various rings is as follow: • Rx Ret: 4096 • Rx Prod: 2048 Broadcom ® January 29, 2016 • 5718-PG108-R Page 81...
Each MSI-X vector is associated with a status-block structure. A status block is DMAed to the host memory immediately prior to raising a legacy style interrupt (INTx, MSI) or MSI-X interrupt. Status block formats vary depending on RSS and the MSI-X vector number. Broadcom ® January 29, 2016 • 5718-PG108-R...
Receive Jumbo Producer Ring Consumer Index Status-Block [0] Status Word Format (single-vector RSS): • Bit [0]: Update bit • Bit [1]: Link status change • Bit [2]: Error/attention • Bits [31:3]: Reserved 0x0 Broadcom ® January 29, 2016 • 5718-PG108-R Page 83...
Receive Jumbo Producer Ring Consumer Index Status-Block [0] Status Word Format (single-vector RSS): • Bit [0]: Update bit • Bit [1]: Link status change • Bit [2]: Error/attention • Bits [31:3]: Reserved — always 0x0 Broadcom ® January 29, 2016 • 5718-PG108-R Page 84...
Valid only for Status Block4 else RSVD 0x0 0x10 Reserved 0x0 Receive Return Ring 0 Producer Index Valid only for Status Block1 else RSVD 0x0 0x14 Reserved 0x0 Reserved 0x0 Status-Block [1–4] Status Word Format (multivector RSS): Broadcom ® January 29, 2016 • 5718-PG108-R Page 85...
This provides the host driver with a mechanism to determine whether the status block has been updated since the last time the driver looked at the status block. Broadcom ® January 29, 2016 • 5718-PG108-R...
Page 87
Send Ring Consumer Index. This provides the host software with an indication that the controller has buffered this send data and, therefore, the host software may free the buffer that was just consumed by the device. Broadcom ® January 29, 2016 • 5718-PG108-R...
Returned BD in Return Ring. The device driver will then reinitialize the identified BD in Producer Ring with a new allocated buffer and replenish the Receive Producer Ring with this BD. Broadcom ® January 29, 2016 • 5718-PG108-R...
Protocol Interface List Local Rx MAC Coalescing Service (i.e. TCP/IP) Initiator Memory Engine Routine DMA Write Engine RX Indicate Available Return Ring 1 Return Ring 2 Return Ring 3 Return Ring 4 Broadcom ® January 29, 2016 • 5718-PG108-R Page 89...
322). If the Accept Oversized bit (bit 5) of this register is set, the Ethernet controller accepts packets (of size up to 64 KB) larger than the size specified in the MTU. Broadcom ® January 29, 2016 • 5718-PG108-R Page 90...
There are no requirements for memory alignment or cache line integrity for the Ethernet controller. Unlike send buffer descriptors, the receive buffer descriptors cannot be chained to support multiple fragments. Broadcom ® January 29, 2016 • 5718-PG108-R...
The RCB max_len field is used to indicate the number of buffer descriptor entries in a return ring. If an invalid value is set, the Ethernet controller indicates an attention error in the Flow Attention register. Figure 13 on page 77 shows receive return rings. Broadcom ® January 29, 2016 • 5718-PG108-R Page 93...
There are two crucial items: • The use of non-cached and physically contiguous memory is best for adapter performance. • Physical memory mapping is required for the controller’s internal copies of logical host memory. Broadcom ® January 29, 2016 • 5718-PG108-R Page 94...
1 if the rules are not being used to ensure that all received packets will be DMAed to return ring 1. Table 21: Receive Rules Configuration Register Bits Field Access 31:8 Reserved Specifies the default class (ring) if no rules are matched Reserved Broadcom ® January 29, 2016 • 5718-PG108-R Page 95...
Must be set to zero. 17:16 Comparison Operator specifies how to determine the match: – • 00 = Equal • 01 = Not Equal • 10 = Greater than • 11 = Less Than Broadcom ® January 29, 2016 • 5718-PG108-R Page 96...
Example: If you wanted to set a Class of Service (CoS) of 2 based on the eighth byte in the data portion of an encapsulated IPX frame using Ethernet Type 2 having a value greater than 6, you could set up the rules shown in Figure 16 on page Broadcom ® January 29, 2016 • 5718-PG108-R Page 97...
In the Receive MAC Mode register (offset 0x468–0x46b), the Keep VLAN Tag Diag Mode bit (bit 10) can be set to force the Ethernet controller to not strip the VLAN tag from the packet. This is only for diagnostic purposes. Broadcom ®...
MAC source address 12:13 Tag Protocol ID (TPID)—0x8100 14:15 Tag Control Information (TCI): • Bit 15:13—IEEE 802.1P priority • Bit 12—CFI bit • Bit 11:0—VLAN ID 16:17 The original EtherType 18:1517 Payload Broadcom ® January 29, 2016 • 5718-PG108-R Page 99...
4. A valid Ethernet packet is received from the network into the device. 5. The Ethernet packet is DMAed to host memory using a BD previously DMAed from a Receive Producer Ring. Broadcom ® January 29, 2016 • 5718-PG108-R Page 100...
Hash result to determine which of the n CPUs are processing the packet, where n is the number of CPUs assigned to process received packets. • Adds a Base CPU Number to determine the exact CPU that will process the packet. Broadcom ® January 29, 2016 • 5718-PG108-R Page 101...
The RSS Hash Mask bits (bits 22:20 of the Receive MAC Mode register at offset 0x468) allow the configuration of number of hash-result bits that are used to index into the indirection table. Broadcom ® January 29, 2016 • 5718-PG108-R...
(while the current receive descriptor queues are being processed) for packets to be processed on the wrong CPU. This is a normal transient condition and should not be a problem. Broadcom ® January 29, 2016 • 5718-PG108-R...
6. Each CPU processes the new RBDs in it’s receive return ring when its packet handler routine is started by main ISR. 7. Once the main ISR determines that all new RBDs have been processed by the CPUs, it enables the interrupts from the device and exits. Broadcom ® January 29, 2016 • 5718-PG108-R Page 104...
As a descriptor is processed, the consumer index is incremented, and the new index is reflected in a new status block update. Status block is described in “Status Block” on page Broadcom ® January 29, 2016 • 5718-PG108-R...
Figure 20: Max_Len Field in Ring Control Block 1st Ring Element 512th Ring Element Host Send Ring Control Block Offset 0x00 Host Ring Address 0x04 Flags 0x08 Max_Len NIC Ring Address 0x0C Broadcom ® January 29, 2016 • 5718-PG108-R Page 107...
The host software uses the send ring consumer index and its producer index to determine the empty slots in the ring. The Ethernet controller implements an algorithm that periodically DMAs the status block to host memory in an efficient manner. Broadcom ® January 29, 2016 • 5718-PG108-R...
Note: In LSO enabled case, a driver needs to zero the TCP checksum field coming from upper layer of OS when doing TX CSO. Also, make sure to set bit-27 and bit-28 of 0x4800 when doing TX CSO in both LSO/Non LSO mode. Broadcom ® January 29, 2016 • 5718-PG108-R...
This significantly reduces the work done by the host CPU. Some Broadcom Ethernet controllers, such as the BCM5718, also support using jumbo sized frames (up to 9,216 bytes) as the individual frame size into which a large offloaded TCP packet is segmented into.
BCM5718 Programmer’s Guide Large Segment Offload Note: In Broadcom controllers that have a physically separate isochronous (ISO) TX queue, there is a parallel set of register fields, which mirror that of the normal TX path, for controlling LSO on the ISO TX path.
TX packets onto the wire. Note: LSO using jumbo frames is permissible on some Broadcom controllers (i.e., BCM5718). This is accomplished by appropriately programming the MSS field of the Send BD.
DMA'd to the host as soon as this buffer's data has been DMA'd from the host. An interrupt may or may not be generated depending on the present state of interrupt avoidance mechanisms. Broadcom ® January 29, 2016 • 5718-PG108-R...
The TCP/UDP and IP checksum offload enable bits in the SBD may be either set or cleared. The hardware still works as expected when LSO is in use (i.e., checksums are calculated/inserted by the hardware since this is a natural requirement for doing LSO). Broadcom ® January 29, 2016 • 5718-PG108-R...
The driver should zero the TCP checksum field in the offloaded TCP packet, but leave the IP checksum alone. This requirement may change with newer NetXtreme controllers. Broadcom drivers enable long burst by default in the Read DMA Mode register (0x4800 bits 17:16 = 11 binary = 4k byte burst size).
The receive side retrieves buffers only from the jumbo producer ring in turn to post a received jumbo frame. Similarly, the receive side only retrieves buffers from the standard producer ring in turn to post standard sized frames. Broadcom ® January 29, 2016 • 5718-PG108-R...
118. The main distinction of the extended BD structure is that it can point to a maximum of four pieces of a scattered receive buffer. Hence the structure contains four host addresses and four length fields. Broadcom ® January 29, 2016 • 5718-PG108-R...
Note: Len 0 is not permitted to be 0. Len1, Len2, or Len 3 may be set to 0, but hardware ignores Len2 and Len3 when Len1 = 0. Similarly, hardware ignores Len4 when Len3 = 0. Broadcom ® January 29, 2016 • 5718-PG108-R...
This field used to contain the actual IP checksum value, but that is not true for the BCM5718 Family of controllers. Only the Flags bit IP_CHECKSUM should be relied on by host driver software as is done by Broadcom drivers. •...
The controller keeps a local copy of the jumbo ring consumer index in register 0x2470. The jumbo ring consumer index is also reported to the host via the status block. See “Send Buffer Descriptor” on page 122). Broadcom ® January 29, 2016 • 5718-PG108-R Page 120...
Receive jumbo producer ring: Max Len should be programmed by the host to indicate the maximum number of entries the ring will hold. The allowable values for the jumbo producer ring Max Len are 32, 64, 128, 256, 512, and 1024. Broadcom ® January 29, 2016 • 5718-PG108-R...
Send Buffer Descriptor The send buffer descriptor (SBD) has been updated to accommodate LSO over jumbo frames. Figure 25 on page 123 below illustrates the updated SBD format. Broadcom ® January 29, 2016 • 5718-PG108-R Page 122...
Alternately, if hardware LSO is enabled and this bit is set in conjunction with CPU post-DMA, then this buffer is treated as part of an LSO segment to be further segmented by hardware. Broadcom ® January 29, 2016 • 5718-PG108-R Page 123...
Receive Return Ring 2 Producer Index Receive Return Ring 3 Producer Index 0x10 Send BD Consumer Index Receive Return Ring 0 Producer Index 0x14 Reserved 0x0 Receive Jumbo Producer Ring Consumer Index Broadcom ® January 29, 2016 • 5718-PG108-R Page 124...
DMAed to the host by the controller. A conceptual diagram of the Send Interface is shown in Figure 26 on page 126 below. Broadcom ® January 29, 2016 • 5718-PG108-R Page 125...
(but <= Max Frame Size) arrives, the controller attempts to place the frame in such a buffer and ends up truncating the frame. • RX frames larger than Max Frame Size are placed in buffers retrieved from the RX jumbo producer ring. Broadcom ® January 29, 2016 • 5718-PG108-R Page 126...
The consumption of receive return packets by the driver is communicated to the controller via the receive return consumer ring index mailbox register. A conceptual diagram of the Receive Return Interface is shown in Figure 28 on page 128 below. Broadcom ® January 29, 2016 • 5718-PG108-R Page 127...
MBUFs worth of packet header data. 1st Mbuf gives: 128, Mbuf-header (8B), Frame Header field (40B) = 80B; 2nd Mbuf gives: 128, Mbuf Header (8B) = 120B. Hence the total space for all headers, which includes all L2/L3/L4 combined, and options cannot exceed 200 bytes. Broadcom ® January 29, 2016 • 5718-PG108-R...
Standard replenish threshold register 0x2C18 is typically 1/8 of total receive BDs in host memory. Jumbo replenish threshold register 0x2C1C is typically 1/8 of total Receive BDs in host memory. • EMAC MTU register 0x43C: Program this register based on max packet size. Broadcom ® January 29, 2016 • 5718-PG108-R Page 129...
SendBd1 through SendBd5. These buffer descriptors must be initialized in the send ring in a consecutive order, SendBd1 to SendBd5. The last send buffer descriptor of a frame must have the PACKET_END bit of Send BD Flags field set to indicate the end of a frame. Broadcom ® January 29, 2016 • 5718-PG108-R...
“Status Block” on page 82). 7. The status block is DMAed to host memory. This DMA is subject to host coalescing, and the NIC may generate an interrupt at this point. Broadcom ® January 29, 2016 • 5718-PG108-R Page 131...
Is this the last virtual buffer for this packet? Set BD_FLAG_END bit in send BD Update the Send Producer Index. This tells the HW that a new packet is ready to be transmitted Broadcom ® January 29, 2016 • 5718-PG108-R Page 133...
However, there may still be a very small external NVRAM device which may contain some configuration items and possibly boot code “patches” to be applied to the ROM'd self-boot, boot code. Refer to the following Broadcom Application Notes for additional self-boot and general NVRAM access information: •...
Ethernet controller. Since there are 128 hash table entries, 7 bits are used from the CRC. When hash table is extended to 256 entries, 8 bits from the CRC will be used as hash index. The MAC hash registers are ignored if the receive MAC is in promiscuous mode. Broadcom ® January 29, 2016 • 5718-PG108-R...
0x0470 and the least significant 32-bit resides in Mac_Hash_Register_3 at offset 0x047c. Host software can enable the reception of all multicast frames including broadcast frames by setting all four multicast hash registers to 0xFFFFFFFF. Broadcom ® January 29, 2016 • 5718-PG108-R...
The following is a sample of the two receive rules for discarding broadcast frames. Rule1 Control: 0xc2000000 Rule1 Mask/Value: 0xffffffff Rule2 Control: 0x86000004 Rule2 Mask/Value: 0xffffffff Broadcom ® January 29, 2016 • 5718-PG108-R Page 138...
9. Now that the Indicate Driver is ready to receive traffic, set the Host_Stack_Up bit in the General Mode Control register (see “Mode Control Register (offset: 0x6800)” on page 468). 10. Configure TCP/UDP pseudo header checksum offloading. Broadcom ® January 29, 2016 • 5718-PG108-R Page 139...
430, and “Read DMA MBUF High Watermark Register (offset: 0x4418)” on page 430). Broadcom has run hardware simulations on the Mbuf usage and strongly recommends the settings shown in Table These settings/values establish proper operation for 10/100/1000 speeds.
Page 141
24. Configure random backoff seed for transmit. See the Ethernet Transmit Random Backoff register (see “Ethernet Transmit Random Backoff Register (offset: 0x438)” on page 316). Broadcom recommends using the following algorithm: Seed = (MAC_ADDR[0] + MAC_ADDR[1] + MAC_ADDR[2] + MAC_ADDR[3] + MAC_ADDR[4] + MAC_ADDR[5]) &...
Page 142
• Sixteen active lists • One bad frames class 29. Write the Receive List Placement Statistics mask. Broadcom drivers write a value of 0x7BFFFF (24 bits) to the Receive List Placement Stats Enable Mask register (see “Receive List Placement Statistics Enable Mask Register (offset: 0x2018)”...
Ticks Register (offset: 0x3C08)” on page 414” “Send Coalescing Ticks Register (offset: 0x3C0C)” on page 415). The clock begins ticking after RX/TX activity. Broadcom recommends the settings shown inTable Table 40: Recommended BCM57XX Ethernet Controller Host Coalescing Tick Counter Settings...
Page 144
52. Delay 40 microseconds. 53. Set 0x4800[24] = 0 to Allows multiple outstanding read requests from the non-LSO read DMA engine. 54. Set 0x4800[17:16] = 11b to Allows 4KB burst length reads for Jumbo/LSO network frames. Broadcom ® January 29, 2016 • 5718-PG108-R...
Page 145
• Various Hash Enable bits–if using RSS mode (Receive Side Scaling) 66. Delay 10 microseconds. 67. Setup the LED Control Register (0x40C). The Broadcom driver uses a value of 0x800 when initializing this register. 68. Activate link and enable MAC functional blocks by setting the Link_Status bit in the MI Status register (see “MII Status Register (offset: 0x450)”...
8. Enable the MAC memory arbiter by setting the Enable bit in the Memory Arbiter Mode register (see “Memory Arbiter Mode Register (offset: 0x4000)” on page 426). 9. Initialize the Miscellaneous Host Control register (see “Miscellaneous Host Control Register (offset: 0x68)” on page 282). Broadcom ® January 29, 2016 • 5718-PG108-R Page 146...
4. Disable all the transmit blocks. a. Clear the Enable bit in the Send BD Selector Mode register (offset: 0x1400) b. Clear the Enable bit in the Send BD Initiator Mode Register (offset: 0x1800) Broadcom ® January 29, 2016 • 5718-PG108-R...
Transmit IP, UDP, TCP checksum offload – IP/UDP Transmit Checksum offload is applicable to UDP PTP packets, provided the packets are appropriately formatted by the software protocol engine, that is, 2B UDP padding etc must be taken care by software. Broadcom ® January 29, 2016 • 5718-PG108-R...
Assume that both nodes contain a NetXtreme Time-Synch Capable NIC. Table 44 on page 154 describes the roles the PTP software component and Time-Synch capable NIC hardware play during above exchange. Broadcom ® January 29, 2016 • 5718-PG108-R Page 153...
A 64-bit RX Time Stamp Register + A 16-bit RX PTP Sequence ID Register • An RX Time Stamp Lock Timer Each of above items is described separately in the following sections. Broadcom ® January 29, 2016 • 5718-PG108-R Page 154...
3. The driver may read the value of the free-running counter anytime. For that purpose, a 32-bit Register pair is provided. 4. The driver may take a snap-shot of this counter. Broadcom ® January 29, 2016 • 5718-PG108-R Page 155...
EAV Reference clock, although there could be a < 5ns routing delay present. A register is available in the CPMU block in which the clock-divisor value may be programmed by host software. The available output frequency range is 125 MHz through 4.8 MHz. See the Flash Clock Policy Register (0x366C). Broadcom ® January 29, 2016 • 5718-PG108-R...
When this bit is set, the NIC will insert a VLAN tag in the Ethernet header. The value for the inserted tag is taken from the VLAN Tag field in the send BD. Broadcom ® January 29, 2016 • 5718-PG108-R...
The frame ends at the end of the data in this buffer descriptor. RSS_HASH_VALID If this bit is 1, then the RSS_HASH_TYPE field is valid. Else the RSS_HASH_TYPE field is meaningless and must be ignored for this frame. Broadcom ® January 29, 2016 • 5718-PG108-R Page 158...
Page 159
Indicates that the IP Checksum field is valid. TCP_UDP_CHECKSUM Indicates that the TCP_UDP_Checksum field is valid. TCP_UDP_IS_TCP Indicates that this frame has a TCP packet in it. IPV6_PACKET Indicates that this frame has an IPv6 packet in it. Broadcom ® January 29, 2016 • 5718-PG108-R Page 159...
Writing to this MSB transfers the 64-bit value, this plus previously latched LSB, to EAV Ref Counter and counting immediately resumes from there. Back to back writes to this MSB has no effect. Broadcom ® January 29, 2016 • 5718-PG108-R Page 160...
Up -> Down Reset on GRC Reset and Reset on GRC Reset pulse PCIe FLR Reset on PCIe reset Reset on de-asserting edge of PCIe Reset Reserved Resume EAV Ref Count 2 Broadcom ® January 29, 2016 • 5718-PG108-R Page 161...
Read-LSB followed by Read-MSB. Once the LSB is read, the pair attains a frozen state, and is unfrozen immediately after a subsequent MSB read – if another TX packet passes to the wire between these two reads, it’s time stamp capture request is ignored by hardware. Broadcom ® January 29, 2016 • 5718-PG108-R...
Lock Timer has expired. 11 => Reserved Note: Changing the state of this field while receiving PTP traffic may result in abrupt HW behavior. This field is best configured statically. Broadcom ® January 29, 2016 • 5718-PG108-R Page 164...
31:0 0x0000 See TX Time Watchdog MSB[0] Register. TX TIME WATCHDOG MSB[0] REG [Offset 0x691C] Name Bits Access Default Value Description Enable Lock Timer Write a 1 to enable Time Watchdog[0]. Broadcom ® January 29, 2016 • 5718-PG108-R Page 165...
APE_GPIO pin – a toggle serves a trigger. The only legal sequence of accessing this pair is Read-LSB followed by Read-MSB. Name Bits Access Default Value Description EAV Reference Count 31:0 LSB of the EAV Reference Count as snapshotted by Snap-shot [lower half] TimeSync/APE_GPIO [2:0] shall always be 000. Broadcom ® January 29, 2016 • 5718-PG108-R Page 166...
PCI indirect mode for memory, registers, and mailboxes access. A specific example of a device driver, which uses indirect mode, is the Preboot Execution (PXE) driver. PXE drivers may be stored in either option ROMs or directly in the system BIOS. Broadcom ® January 29, 2016 • 5718-PG108-R...
Page 169
It is fundamental to understand that the register and memory blocks are not necessarily tied together. The PCI mode and processor context all affect how software views both blocks (see Figure 32 on page 170). Broadcom ® January 29, 2016 • 5718-PG108-R Page 169...
The following components are involved in Ethernet controller configuration space mapping: • Base Address registers • Standard mode map mode • Flat memory map mode • Indirect access mode • Configuration space header • Host memory • MAC registers Broadcom ® January 29, 2016 • 5718-PG108-R Page 170...
The Ethernet controller single function chips follow the stated technique #1— BIOS code scanning multifunctions get a target response from function(s) 1–7, but these functions are essentially shadows of function 0. Software that programs to function(s) 1–7 is remapped to function 0. Broadcom ® January 29, 2016 • 5718-PG108-R...
PCI access modes and is a mode in itself. Note: Host software must assert the Indirect_Mode_Access bit in the Miscellaneous Host Control register (see “Miscellaneous Host Control Register (offset: 0x68)” on page 282) to enable indirect mode. Broadcom ® January 29, 2016 • 5718-PG108-R Page 172...
Register_Base_Address and Register_Data registers through memory mapped by the PCI BAR register), as opposed to PCI configuration write cycles, the host software must insert a read command to the Register_Base_Address register between two consecutive writes to the Register_Base_Address and Register_Data registers. Broadcom ® January 29, 2016 • 5718-PG108-R Page 173...
BCM57XX Ethernet Controller Registers Address may be located anywhere 0x00008000 BusX DeviceY Function Z Not Accessible via Register Indirect Mode Register Base Address Register Data Register 0x00038000 Rx CPU 0x00038800 Broadcom ® January 29, 2016 • 5718-PG108-R Page 174...
PCI BAR register), as opposed to PCI configuration write cycles, the host software must insert a read command to the Memory_Window_Base_Address register between two consecutive writes to the Memory_Window_Base_Address and Memory_Window_Data registers. Broadcom ® January 29, 2016 • 5718-PG108-R Page 175...
BCM57XX Ethernet Controller PCI Configuration Space Memory Block 0x00000000 Address may be located anywhere Internal Memory BusX DeviceY Function Z Memory Base Address Address may be located anywhere 0x00020000 Memory Data Register Broadcom ® January 29, 2016 • 5718-PG108-R Page 176...
Fifteen additional receive return rings would extend the size of the Device Specific portion of the PCI Configuration Space registers. The UNDI shadow registers alias three registers in the Ethernet controller register block (see Figure 36 on page 178). Broadcom ® January 29, 2016 • 5718-PG108-R Page 177...
BCM57XX 0x0005880 Registers Rx BD Return Ring 1 Consumer Index 0x000588F UNDI Tx BD NIC Producer Index Mailbox 0x0005980 Tx BD Ring 1 NIC Producer Index 0x00005987 0x00005BFF Not Aliased 0x00008000 Broadcom ® January 29, 2016 • 5718-PG108-R Page 178...
BAR + 0x00000000 BAR0 PCI Configuration BAR1 Space Registers (Shadow Copy) BAR + 0x000000FF Reserved BAR + 0x000001FF High Priority Mailboxes BAR + 0x000003FF Registers BAR + 0x00007FFF Memory Window BAR + 0x0000FFFF Broadcom ® January 29, 2016 • 5718-PG108-R Page 179...
Ethernet controller. Such an access may be decoded by another device, or simply go unclaimed on the PCI bus. Figure 39 on page 181 shows the relationship between the Memory_Window_Base_Address register and the Memory Window. Broadcom ® January 29, 2016 • 5718-PG108-R Page 180...
Window may be located anywhere Mem Wnd Base Addr Internal Host software may access the BCM57XX Ethernet Controller local Window may be Registers memory using this located anywhere window Memory Window 0x00020000 Broadcom ® January 29, 2016 • 5718-PG108-R Page 181...
Rx BD Producer Index Reserved Rx BD Return Ring 1-4 Consumer Index 32 MB Reserved 0x00180000 Tx BD Ring Host Producer Index Reserved 0x001C0000 Tx BD Ring NIC Producer Index Reserved 0x01000000 Memory 0x01FFFFFF Broadcom ® January 29, 2016 • 5718-PG108-R Page 182...
Page 183
Rx BD Return Ring 1-16 Consumer Index Reserved 0x00180000 Tx BD Ring 1-16 Host Producer Index Reserved 0x001C0000 Tx BD Ring 1-16 NIC Producer Index Reserved 0x01000000 Device External Memory Memory 0x01FFFFFF 0x00020000 Broadcom ® January 29, 2016 • 5718-PG108-R Page 183...
The Ethernet controller memory mapped I/O range may be placed anywhere in 64-bit address space (Type = 10). • The Ethernet controller deasserts the Prefetchable bit to indicate that the memory range should not be cached. Broadcom ® January 29, 2016 • 5718-PG108-R Page 184...
(PCI_State.PCI_Expansion_ROM_Desired bit is set to 1). On the other hand, if the PCI_Expansion_ROM_Desired bit cleared, then the Ethernet controller returns a value of 0x00000000. This indicates to the BIOS that no Expansion ROM is supported. Broadcom ® January 29, 2016 • 5718-PG108-R...
The MAC will consume a maximum of 375 mA in a D3 cold power management mode. The following functional blocks are integral to MAC power management: • PMSCR register • PCI Clock Control register • Miscellaneous Control register Broadcom ® January 29, 2016 • 5718-PG108-R Page 188...
Ethernet controller reference designs. The MAC GPIO pins are available for application specific usage; however, Broadcom encourages both software and hardware engineers to follow the Broadcom design guidelines and application notes. NIC and LOM designs use external board level logic to switch power regulators for D3 ACPI mode.
Note: The PCIe devices support the PCIe power management which is compatible with PCI bus power management. Wake on LAN “Wake on LAN Mode/Low-Power” on page 212. ™ Magic Packet is a registered trade mark of AMD. Broadcom ® January 29, 2016 • 5718-PG108-R Page 190...
BCM5718 Programmer’s Guide Power Management GPIO The use of GPIO pins for power management is design-specific, though Broadcom-delivered drivers use GPIO pins in the manner listed in Table 49. This usage is only applicable when the Ethernet controller is configured for a NIC design;...
D1 and D2 states are introduced for board level designs—the bits provide flexibility to the application. The Broadcom reference NIC/LOM designs do not use D1 and D2 states; therefore, host software should avoid setting these states. Before the Mac is moved into the D3 state, the clocks and GPIO must be configured (see above sections).
Examples of little-endian platforms include Intel x86 and DEC Alpha. PCI assumes a little-endian memory model. PCI configuration registers are organized so that the least significant portion of the data is assigned to the lower address. Broadcom ® January 29, 2016 • 5718-PG108-R...
(Little Endian) referenced on-chip data structures as they are defined in the Ethernet controller data sheet, the driver should set the Enable Endian Word Swap bit. By setting this bit, the translation would be as follows: Table 57: Internal Byte OrderingPCI Byte Ordering 0x00 0x00 Broadcom ® January 29, 2016 • 5718-PG108-R Page 195...
PCI AD[63:0] pins depending on the settings of those swap bits: Word Swap Data = 0, and Byte Swap Data = 0 Table 60: 64-Bit PCI Bus (WSD = 0, BSD = 0) 63–56 55–48 47–40 39–32 31–24 23–16 15–8 7–0 Broadcom ® January 29, 2016 • 5718-PG108-R Page 197...
So, for a little-endian (e.g., x86) host, software should set both the Word Swap Data, and Byte Swap Data bits. This is because a little endian host will expect the first byte on the wire (byte D1) to be placed into memory at the least significant (starting) address of the packet data. Broadcom ® January 29, 2016 • 5718-PG108-R...
Word Swap Non-Frame Data and Byte Swap Non-Frame Data bits. The following tables show how data will appear depending on the settings of those swap bits: Broadcom ® January 29, 2016 • 5718-PG108-R...
This requires the software to use the following big-endian data structure on the host: Table 72: Send Buffer Descriptor (Big-Endian 32-bit format) with Byte Swapping Byte # Bit # Host Address 0x00 0x04 Reserved VLAN 0x08 Length Flags 0x0C Broadcom ® January 29, 2016 • 5718-PG108-R Page 201...
This requires the software to use the following big-endian data structure on the host: Table 73: Send Buffer Descriptor (Big-Endian 32-bit format) with Word and Byte Swapping Byte # Bit # Host Address 0x00 0x04 Length Flags 0x08 Reserved VLAN 0x0C Broadcom ® January 29, 2016 • 5718-PG108-R Page 202...
The link state of the Ethernet controller can also be forced by disabling both the auto-polling function and the LNKRDY signal and forcing the link status by directly writing to the MII_Status.Link_Status bit. Broadcom ® January 29, 2016 • 5718-PG108-R...
// Now return the value that we read (lower 16 bits of reg) Return (Value32 & 0xffff) Writing a PHY Register // Setup the value that we are going to write to MI Communication register Broadcom ® January 29, 2016 • 5718-PG108-R Page 204...
- Write 0x1000 to PHY register 1Eh // Force link (required for 100Base-TX) - Set MAC register 0x400[3:2] = 01b // Set MII - Set MAC register 0x400[1] // Force full-duplex operation Broadcom ® January 29, 2016 • 5718-PG108-R Page 205...
// Wait up to 15ms for link to drop for (int i = 0; i < 15000; i++) { if ((phy_read(0x01) & (1 << 4) == 0) break; // Wait 10us delay_us(10); Broadcom ® January 29, 2016 • 5718-PG108-R Page 206...
The interface between the MAC and physical devices is with the two signals of: • MDIO clock (MDC) • Bidirectional serial data (MDIO) The details of the MDIO interface can be found in the IEEE 802.3 specification. Broadcom ® January 29, 2016 • 5718-PG108-R Page 210...
3. MII_Communication_Register.Command is set to 0x1. 4. MII_Communication_Register.Transaction_Data is set to 0x1000 5. MII_Communication_Register.Start_Busy is set to 1. 6. Poll Until MII_Communication_Register.Start_Busy is cleared to 0. “Configuring the GMII/MII PHY” on page 204 for example code. Broadcom ® January 29, 2016 • 5718-PG108-R Page 211...
MAC into the D0 (high power) state. WOL mode is a combination of PHY and MAC configurations. Both the PHY and MAC must be configured correctly to enable Broadcom’s WOL technology. The Ethernet controller provides WOL pattern filters for 10/ 100 wire speeds.
It is idle during the fourth cycle. In Gigabit mode, the pattern checker gets three pattern words from the FIFO at one time. Figure 46: WOL Functional Block Diagram Pattern Memory Tx FIFO Arbiter Data Internal Memory Pattern Power Checker Managment Rx MAC RMII GMII Broadcom ® January 29, 2016 • 5718-PG108-R Page 213...
(i.e., 3,5,7,9 offsets). Host software must begin all pattern matching on even byte boundaries (i.e., 2,4,6,8 offsets). The 2 bytes per unit forces even byte alignment. For example: – 0x14 (byte offset)/2 = 0x0A (register ready) – 0x28 (byte offset)/2 = 0x14 (register ready) Broadcom ® January 29, 2016 • 5718-PG108-R Page 214...
10/100 modes. The WOL pattern checker breaks frames into 2-byte pairs, so all nine comparators can begin matching data. In Figure 47 on page 216, three Ethernet frames are compared against the nine available patterns. Broadcom ® January 29, 2016 • 5718-PG108-R Page 215...
PHY. After resetting the Ethernet controller, host software should poll for the one’s complement of the T3_MAGIC_NUM before it proceeds, otherwise, boot code initialization may interfere with the host software initialization. Broadcom ® January 29, 2016 • 5718-PG108-R...
MAC to assert PME on the PCI bus. The RX MAC should maintain the multicast and broadcast ® settings that were previously configured by the NOS. The Microsoft power management specification states: Broadcom ® January 29, 2016 • 5718-PG108-R Page 219...
(offset: 0x400)” on port is currently using: MII, GMII, or page 310. none. Magic_Packet_ Enable WOL pattern filtering. Detection Promiscuous_mode All frames are forwarded, without any filtering, when this bit is enabled. Broadcom ® January 29, 2016 • 5718-PG108-R Page 220...
5. Disable the FHDE, RDE, TDE bits of the “EMAC Mode Register (offset: 0x400)” on page 310”, and on-chip RISCs. 6. Host software must write the signature 0x4B657654 to internal memory address 0x0B50. Check for one’s complement of 0x4B657654. Broadcom ® January 29, 2016 • 5718-PG108-R Page 221...
Page 222
Management Control/Status Register (offset: 0x4C)” on page 279). The Ethernet controller asserts PME to wake up the system. Set the Power_State bits to D3 in the PCI Power Management Control/Status Register (offset: 0x4C). Broadcom ® January 29, 2016 • 5718-PG108-R Page 222...
MAC will not generate flow control frames. The MAC_RX_MBUF_Low_Water_Mark register value triggers PAUSE frames to be transmitted when a threshold value is passed. Software may alter the watermark to tune system performance. Broadcom ® January 29, 2016 • 5718-PG108-R...
The receive MAC will filter pause control frames when the Keep_Pause bit is disabled. Table 85: Keep_Pause Recommended Value Register.Bit Recommended Value Receive_MAC_Mode_Control.Keep_Pause DISABLED Broadcom ® January 29, 2016 • 5718-PG108-R Page 224...
Transmit_MAC_Mode_Control.Flow_Enabled bit is set. • (MAC_RX_MBUF_Low_Water_Mark < Threshold Value) MAC resources are running low and a pause is desired. • (pause_time > 0) IEEE 802.3 MAC flow control frame is sent. Broadcom ® January 29, 2016 • 5718-PG108-R Page 225...
“Low Watermark Low_Water_Mark must be available before the RX Maximum Receive Frame engine can accept a frame from the Register (offset: 0x504)” on wire. page 327. Threshold value for initiating flow control. Broadcom ® January 29, 2016 • 5718-PG108-R Page 226...
//The local physical layer was not configured to advertise Asymmetric pause Else (Auto_Neg_Link_Partner_Ability_Reg.Pause_Capable == ENABLED) Then Driver_Flow_Capability = FLOW_CONTROL_TRANSMIT_PAUSE \ | FLOW_CONTROL_RECEIVE_PAUSE Else Driver_Flow_Capability = NONE // The local physical layer was not configured to advertise Pause capability Broadcom ® January 29, 2016 • 5718-PG108-R Page 227...
Page 228
//Configure MAC Flow Control Registers if ( Driver_Flow_Capability & FLOW_CONTROL_RECEIVE_PAUSE ) Receive_MAC_Mode_Control_Register.Enable_Flow_Control = ENABLED if ( Driver_Flow_Capability & FLOW_CONTROL_TRANSMIT_PAUSE ) Then Transmit_MAC_Mode_Control_Register.Enable_Flow_Control = ENABLED // Link is up on the local PHY Broadcom ® January 29, 2016 • 5718-PG108-R Page 228...
ISR may either spin and wait for the status block DMA to complete and explicitly flush the status block, or just wait for the next line interrupt. Table 88: NetXtreme Legacy Status Block Format Offset 3116 0x00 Status Word 0x04 [31:8] Reserved 0x0 [7:0]Status Tag Broadcom ® January 29, 2016 • 5718-PG108-R Page 229...
Check for differences between previous consumer index (tracked by host driver) and current consumer index in the status block. These are the Tx BDs which can be made available again to the next send operation. Broadcom ® January 29, 2016 • 5718-PG108-R...
[23:0] is written with a zero value, the tag field of the mailbox register is compared with the tag field of the last status block to be DMAed to the host. If the tag returned is not equivalent to the tag of the first status block DMAed, then the controller triggers another interrupt immediately. Broadcom ® January 29, 2016 • 5718-PG108-R...
2 in the M isc Local Control any posted writes in the PCI chipset. Regsiter (offset 0x6808) R ead the, Is the "U pdated bit" set in the Status Block? Broadcom ® January 29, 2016 • 5718-PG108-R Page 232...
Tag to the upper 8 bits of Interrupt Mailbox 0, and 0 to the remaining bits (23 down to 0) to indicate that the ISR is done processing RX/TX. Otherwise, write 0 to Interrupt Mailbox 0 register. This step also clears existing interrupts. Broadcom ® January 29, 2016 • 5718-PG108-R...
ISR may occasionally see stale data. The ISR may either spin and wait for the status block DMA to complete and explicitly flush the status block or just wait for the next line interrupt. Broadcom ® January 29, 2016 • 5718-PG108-R...
Interrupt on MAC Attention (Bit 26) causes a host interrupt when an enabled MAC attention occurs • Interrupt on RX RISC Attention (Bit 25) causes a host interrupt when an enabled RX-RISC attention occurs Broadcom ® January 29, 2016 • 5718-PG108-R Page 235...
Host Memory Memory To clarify second issue in traditional interrupt scheme, an example is given. The Ethernet controller receives one or more packets from the networks. The Ethernet controller does the following: Broadcom ® January 29, 2016 • 5718-PG108-R Page 236...
Host Memory Similar example in traditional interrupt scheme is used again here to illustrate MSI concept. The Ethernet controller receives one or more packets from the networks. The Ethernet controller does the following: Broadcom ® January 29, 2016 • 5718-PG108-R...
This is a 16-bit field. The least significant three bits can be modified by the Ethernet controller when it writes MSI message to host. The DWORD data for the MSI message is depicted as shown in Figure Figure 52: MSI Data FIeld All 0’s 16-bit MSI_Data Broadcom ® January 29, 2016 • 5718-PG108-R Page 238...
(bits 3:1) of Message Control register (offset 0x5A). The least significant 3-bits of the MSI message generated by the device are always taken from bits 6:4 of Host_Coalesing_Mode register (offset 0x3C00). Broadcom ® January 29, 2016 • 5718-PG108-R Page 239...
Thus, the BCM5718 family offers two vector modes within the MSI-X mode: • Single Vector mode • Multivector mode Each of these two modes in turn offers the following submodes: • Single Vector mode (Restrict to Vector#0) – Single Vector RSS mode Broadcom ® January 29, 2016 • 5718-PG108-R Page 240...
– Rx Return Ring Indication (Active only when RSS is Disabled) – Send Completion – Link Status Change – Error/Attention – Rx Return Ring3 through Ring0 Indications • IOV mode: Vector#0—Aggregate of the following: Broadcom ® January 29, 2016 • 5718-PG108-R Page 241...
Page 242
- Transmit queue 2 Completion (in Multi TXQ mode) - Link Status Change – Vector#16–Aggregate of the following - VRQ16 Indication - Transmit queue 16 Completion (in Multi TXQ mode) - Link Status Change Broadcom ® January 29, 2016 • 5718-PG108-R Page 242...
Page 243
There could be instances when the OS enables RSS but allocates only one MSI-X vector to our device. The Broadcom driver would resort to choosing Single Vector mode in such a scenario. Note: When MSI-X is disabled, INTx or MSI continue to function as in legacy device implementations.
Address Indication Items Address Indication Items Comments Legacy 0x3C3C, 0x200 (*) ALL 0x200(*) ALL Legacy Status Block. 0x3C38 Used by INTx or MSI. Also used in MSI-X Single-Vector RSS mode or IOV mode Broadcom ® January 29, 2016 • 5718-PG108-R Page 244...
Page 245
IOV mode Index 0x3D18, 0x220 VRQ4 RR Prod 0x220 (*) Rx Return Ring 3 Prod Vector#3 -- Vector#4. Index Index SBD4 Cons Index 0x3D1C SBD4 Cons Index ‘RBD 4 Cons Index Broadcom ® January 29, 2016 • 5718-PG108-R Page 245...
Note: Although High Priority INT Mail Boxes are DWORD (32-bit) registers, the original four were placed on QWORD (64-bit) boundaries for legacy PCI 64-bit target access purposes. Broadcom’s PCIe does not allow 64-bit target accesses. Thus, the new Mailboxes are being placed 32-bits apart;...
Jumbo RBD Ring 1 Consumer Index 0x54 Standard RBD Ring 2 Consumer Index Jumbo RBD Ring 2 Consumer Index 0x58 Standard RBD Ring 3 Consumer Index Jumbo RBD Ring 3 Consumer Index …….. ………………………… ………………………. Broadcom ® January 29, 2016 • 5718-PG108-R Page 247...
Bit [0]: Update-Bit • Bit [1]: Link Status Change • Bit [2]: Error/Attention • Bit [3]: Resvd–always 0 • Bit [4]: Resvd–always 0 • Bit [5]: Resvd–always 0 • Bits [31:6]: Reserved 0x0 Broadcom ® January 29, 2016 • 5718-PG108-R Page 248...
BCM5718 family, both BIRs have a hard-wired value of 0x4, which implies BAR4 and BAR5. Note: BAR4 and BAR5 must support 8/16- and 32-bit accesses from the host. However, unaligned 16/32-bit access support are not required. Broadcom ® January 29, 2016 • 5718-PG108-R...
Mask bits found in each Table Entry determine whether a vector is masked or not. – Table Size: This field may declare a value of either 5 or 17. This is accomplished by Boot Code programming the appropriate Private Register of the PCIe core. Broadcom ® January 29, 2016 • 5718-PG108-R...
Msg#2 Data Msg#2 Addr H Msg#2 Addr L 0x20 Vec#1 Control Msg#1 Data Msg#1 Addr H Msg#1 Addr L 0x10 Vec#0 Control Msg#0 Data Msg#0 Addr H Msg#0 Addr L 0x00 Broadcom ® January 29, 2016 • 5718-PG108-R Page 252...
For host environments where receive interrupt latency must be very low, and the host is not close to saturation, it is recommended that this register be set to 1. Broadcom ® January 29, 2016 • 5718-PG108-R...
This register must be initialized by host software. A value of 0 in this register disables the send max BD coalescing logic. In this case, status block Broadcom ®...
Receive [n] Max Coalesced BD Count During Interrupt Register • Send [n] Max Coalesced BD Count During Interrupt Register Where, n ranges from 1 through 16. The legacy HC Parameter registers are now called HC Parameter Set [0]. Broadcom ® January 29, 2016 • 5718-PG108-R Page 255...
Page 257
SEND MAX COALESCED BD COUNT REGISTER[n] RMCBCDIR[n] RECEIVE MAX COALESCED BD COUNT DURING INTERRUPT REGISTER[n] SMCBCDIR[n] SEND MAX COALESCED BD COUNT DURING INTERRUPT REGISTER[n] 0x55AA New Registers in BCM5718 family (legend) Broadcom ® January 29, 2016 • 5718-PG108-R Page 257...
HC parameters or MSI-X feature in general, and some do not apply equally. Such controls are listed here for clarity: Broadcom Tagged Status Mode (0x68[9]) Enabled by setting the Status Tagged Status Mode bit of the Miscellaneous Host Control register. When enabled, a unique eight-bit tag value is inserted into the Status Block Status Tag at location 7:0.
Do Not Interrupt On Receives (0x6800[14]) If set, an interrupt is not generated upon a Receive Return Ring producer update. This bit applies equally to vector#0 through vector#16 in Multivector mode. Broadcom ® January 29, 2016 • 5718-PG108-R Page 259...
MSI-X Vector# 16 through 1. These bits are self-clearing. As defined in Legacy 12:0 End Stream Debounce Register (Offset 0x3cd4) Default DESCRIPTION Name Bits Access Value As defined in Legacy Reserved 30:16 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 260...
Page 261
FSM triggers an interrupt/MSI-X. The counter basically de-bounces effects of IPG or short gaps among packets within a burst. The counter counts in Core-Clocks. Broadcom ® January 29, 2016 • 5718-PG108-R Page 261...
INTA signal. Note that the During Interrupt Coalescence registers are only used when the Mailbox 0 is set. Broadcom Tagged Status Mode Enabled by setting the Status Tagged Status mode bit of the Miscellaneous Host Control register (see “Miscellaneous Host Control Register (offset: 0x68)”...
During boot-up, if the IOV-Mode is not chosen, the chip will operate in the Legacy Mode which is akin to the operation of previous NetXtreme devices. Broadcom ® January 29, 2016 • 5718-PG108-R...
EMAC collects basic statistics on an individual generic VRQ basis. Though the accumulation mechanism remains the same, i.e., these registers are Clear-On-Read, these statistic registers are independent of the aggregated EMAC statistics registers for LAN and APE (see “VRQ Statistics” on page 454). Broadcom ® January 29, 2016 • 5718-PG108-R Page 264...
OS images. Therefore, it implies that each VRQ shall also be associated with an independent receive indication queue, which is nothing but an independent Receive Return Ring (refer to Figure 53 on page 267 for additional information. Broadcom ® January 29, 2016 • 5718-PG108-R Page 266...
• Multiple Send Rings could be enumerated only in conjunction to either IOV-Mode or RSS Mode • All 16 Send Rings may be enabled in conjunction of IOV Mode • Up to 4 Send Rings may be enabled in conjunction of RSS Mode Broadcom ® January 29, 2016 • 5718-PG108-R...
Page 268
SBD cache – physically it is a single SRAM, but is divided into 16 equal address regions. Each such address range shall serve as a private SBD cache to a Send Ring. The total size of the SBD cache is thus 16 KB. Broadcom ® January 29, 2016 • 5718-PG108-R...
Does not apply to PCIE Capabilities List This bit is tied high to indicate that the device supports a capability list. The list starts at address 0x40. Interrupt Status Indicates this device generated an interrupt Broadcom ® January 29, 2016 • 5718-PG108-R Page 271...
Page 272
This bit indicates that the device does not support I/O space access because it is zero and can not be modified. IO transactions targeting this device return completion with UR status. Broadcom ® January 29, 2016 • 5718-PG108-R Page 272...
This register does not apply to PCI express and must be hardwired to zero Cache Line Size This field is implemented by PCIE device as a read/ write field for legacy compatibility purposes. Broadcom ® January 29, 2016 • 5718-PG108-R Page 273...
64-bit address space. Path = i_cfg_func.i_cfg_private. Space This bit indicates that BAR_2 maps a memory space and is always read as 0. Path = i_cfg_func.i_cfg_private. Broadcom ® January 29, 2016 • 5718-PG108-R Page 274...
64 bit address decode. These bits must be set to zero for the card to respond to single address cycle requests. This value is sticky and only reset by HARD Reset. Path = i_cfg_func.i_cfg_public.i_cfg_dec. Broadcom ® January 29, 2016 • 5718-PG108-R Page 275...
PCI address space of a linked list of new capabilities. The capabilities are PCI-X, PCI Power Management, Vital Product Data (VPD), and Message Signaled Interrupts (MSI) is supported. Broadcom ® January 29, 2016 • 5718-PG108-R Page 277...
3: Use Interrupt C 4: Use Interrupt D Interrupt Line 0x00 Identifies interrupt routing information INT Mailbox Register (offset: 0x40–0x44) Default Name Bits Access Value Description Indirect Interrupt mail box 63:0 Interrupt Mailbox Broadcom ® January 29, 2016 • 5718-PG108-R Page 278...
A value of 011b indicates that this function complies with revision 1.2 of the PCI PM specification. PM Next 15:8 0x58 Points to the next capabilities block which is Broadcom Vendor Capabilities Specific Capability Header PM Capability 0x01 Identifies this item as Power management capabilities Power Management Control/Status Register (offset: 0x4C) This register is reset by Hard Reset.
Page 280
PM_STATE bits are read from register space. The idea of these registers is to a) Provide compatible operation to 5701 b) Allow implementation of other power states though firmware. Broadcom ® January 29, 2016 • 5718-PG108-R Page 280...
CAP_ENA register in the PCI register space. MSI capability ID The 8-bit MSI Capability ID is set to 5 to indicate that the next 8 bytes are a Message Signaled Interrupt capability block. Broadcom ® January 29, 2016 • 5718-PG108-R Page 281...
Set this bit to enable log header due to overflow Boundary check Set this bit to enable crossing 4 KB boundary check Byte enable Rule Check Set this bit to enable the byte enable rule check Broadcom ® January 29, 2016 • 5718-PG108-R Page 282...
Force PCI Retry for accesses to Expansion ROM region if enabled PCI Expansion ROM Desired 5 Enable PCI ROM base address register to be visible to the PCI host Reserved – Broadcom ® January 29, 2016 • 5718-PG108-R Page 285...
Window data register Reserved – Register Data Register (offset: 0x80) Default Name Bits Access Value Description Register Data Register 31:0 Register Data at the location pointed by the Register Base Register Broadcom ® January 29, 2016 • 5718-PG108-R Page 286...
UNDI Receive BD Standard Producer Ring Producer Index Mailbox Register (offset: 0x98–0x9C) Default Name Bits Access Value Description UNDI Receive BD Standard 63:0 UNDI Receive BD Std. Ring Producer Index Ring Producer Index Mailbox Broadcom ® January 29, 2016 • 5718-PG108-R Page 287...
MSIX_PBA_BIR_OFF – 0xa8 Default Name Bits Access Value Description TABLE_OFFSET 31:3 Path = i_cfg_func.i_cfg_private TABLE_BIR Indicates which one of functions BAR is used to map MSI-X table into memory space. Path = i_cfg_func.i_cfg_private Broadcom ® January 29, 2016 • 5718-PG108-R Page 288...
2h. Path= cfg_defs PCIE_NEXT_CAP_PTR 15:8 This registers contains the pointer to the next PCI capability structure. Path= i_cfg_func.i_cfg_public.i_cfg_rd_mux PCIE_CAP_ID 0x10 This register contains the PCIExpress Capability ID. Path= i_cfg_func.i_cfg_public.i_cfg_rd_mux Broadcom ® January 29, 2016 • 5718-PG108-R Page 289...
Path= i_cfg_func.i_cfg_private unused0 MAX_PL_SIZE_SUPPORTE Max Payload Size Supported. These bits are programmable from the register space and default value is based on define in version.v file. Path= i_cfg_func.i_cfg_private Broadcom ® January 29, 2016 • 5718-PG108-R Page 290...
0. EP: Not supported and hardwired to 0. Path= i_cfg_func.i_cfg_public.i_cfg_exp_cap CLK_PWR_MGMT Clock Power Management. These bits are programmable through register. The feature itself has to be enabled in version.v Path= i_cfg_func.i_cfg_private Broadcom ® January 29, 2016 • 5718-PG108-R Page 292...
Page 293
RES_0 Reserved L0s entry supported RES_2 Reserved L0S_L1 L0s and L1 supported – end_of_table Path= i_cfg_func.i_cfg_private Value used by internal logic is the smaller of the value programmed for each function Broadcom ® January 29, 2016 • 5718-PG108-R Page 293...
Set, this bit enables the generation of an interrupt to indicate that the Link Bandwidth Management Status bit has been Set. RC: N/A and hardwired to 0. EP: Not implemented and hardwired to 0. Path= i_cfg_func.i_cfg_public.i_cfg_exp_cap Broadcom ® January 29, 2016 • 5718-PG108-R Page 294...
Page 295
Requesting PHY to disable the link. This bit is only applicable to RC. So for EP it is read only bit. Path= i_cfg_func.i_cfg_public.i_cfg_exp_cap Read Completion Boundary. Path= i_cfg_func.i_cfg_public.i_cfg_exp_cap Value Name Description 64 Bytes 128 Bytes – end_of_table Unused0 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 295...
Name Bits Access Value Description Unused 31:0 – ROOT_STATUS – 0xcc This register is not applicable for EP and hardwired to 0. Default Name Bits Access Value Description Unused 31:0 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 296...
IDO Request Enable, This field is writeable, when bit ido_supported bit of private device_capability_2 register is set. When this bit is set, function is permitted to set ID based Ordering Attribute of Requests it initiates. Unused0 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 297...
Page 299
Not Supported and hardwired to 0. Path= i_cfg_func.i_cfg_public.i_cfg_exp_cap ENTER_COMPLIANCE S/W instructs link to enter compliance mode. Value used by internal logic is set when either function has this bit enabled. Path= i_cfg_func.i_cfg_public.i_cfg_exp_cap Broadcom ® January 29, 2016 • 5718-PG108-R Page 299...
For 5717 B0, value is 0x05717100: • 5718 A0, value is 0x05717000 • 5718 B0, value is 0x05717100 • 5719 A0, value is 0x05719000 • 5719 A1, value is 0x05719100 • 5720 AO, value is 0x05720000 Broadcom ® January 29, 2016 • 5718-PG108-R Page 300...
Data Link Protocol Error RW1CS 0 This bit is set when a Data Link Protocol error Status occurs. Reserved – Training Error Status RW1CS 0 This bit is set when a training error occurs. Broadcom ® January 29, 2016 • 5718-PG108-R Page 301...
Setting this bit will mask poisoned TLP error. Reserved 11:5 – Data Link Protocol Error Mask 4 Setting this bit will mask data link protocol error. Reserved – Training Error Mask Setting this bit will mask training error. Broadcom ® January 29, 2016 • 5718-PG108-R Page 302...
Data Link Protocol Error This bit controls the severity Severity 0 = nonfatal 1 = fatal Reserved – Training Error Severity This bit controls the severity 0 = nonfatal 1 = fatal Broadcom ® January 29, 2016 • 5718-PG108-R Page 303...
Bad DLLP Mask Setting this bit masks Bad DLLP errors. Bad TLP Mask Setting this bit masks Bad TLP errors. Reserved – Receiver Error Mask Setting this bit masks Receiver errors. Broadcom ® January 29, 2016 • 5718-PG108-R Page 304...
Header Byte 6 15:8 – The TLP header of the transaction that has incurred a failure. Header Byte 7 – The TLP header of the transaction that has incurred a failure. Broadcom ® January 29, 2016 • 5718-PG108-R Page 305...
The Receive BD Return Ring 0 Consumer Index Register contains the index of the last buffer descriptor for Receive Return Ring 0 that has been consumed. Host software writes this register whenever it updates the return ring 1. This register must be initialized to 0. Broadcom ® January 29, 2016 • 5718-PG108-R...
Ring Producer RX Return Ring RX Return Ring Index Index Consumer Index Comments Producer Index 0x270 UNDI – 0x98 UNDI – 0x88 64-bit Registers 0x3C80 HP – 0x268 HP – 0x280 Broadcom ® January 29, 2016 • 5718-PG108-R Page 308...
NIC Diagnostic Standard RBD Consumer Index [1 – 16] == 0x3F40–0x3F7C • NIC Diagnostic Jumbo RBD Consumer Index [1 – 16] == 0x3F80–0x3FFC Ethernet MAC (EMAC) Registers All registers reset are core reset unless specified. Broadcom ® January 29, 2016 • 5718-PG108-R Page 309...
AP Error Auto-polling interface needs service. Generates an attention when enabled. Clear this attention using the Auto-polling Status register MII Interrupt Management interface is signaling an interrupt Generates an attention when enabled. Broadcom ® January 29, 2016 • 5718-PG108-R Page 311...
Interface is signaling an interrupt. MII Completion Enable attention when the Management Interface transaction has completed. Reserved 21:13 – Link State Changed Enable attention when the link has changed state. Reserved 11:0 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 312...
SPD100LEDB = Link 100 and valid data or idle • SPD1000LEDB = Link10000 and valid data or idle • TRAFFICLEDB = PHY RCVLED or PHY XMTLED 11: Same as PHY mode 1 Traffic LED Status – Broadcom ® January 29, 2016 • 5718-PG108-R Page 313...
Upper 2-bytes of this node's MAC address. EMAC MAC Addresses 0 Low Register (offset: 0x414) Default Name Bits Access Value Description MAC Address Low 31:0 Lower 4-byte of this node's MAC address. Broadcom ® January 29, 2016 • 5718-PG108-R Page 314...
Upper 2-bytes of this node's MAC address. EMAC MAC Addresses 3 Low Register (offset: 0x42C) Default Name Bits Access Value Description MAC Address Low 31:0 Lower 4-byte of this node's MAC address. Broadcom ® January 29, 2016 • 5718-PG108-R Page 315...
Note: If the MTU value in register 0x43C[15:0] is greater than the value in 0x2458[15:2], then the driver MUST configure jumbo frame support and fill the jumbo receive producer rings. Broadcom ® January 29, 2016 • 5718-PG108-R Page 316...
25:21 0x8: SGMII SerDes Port0. 0x9: SGMII SerDes Port1. as strapped: External PHY Port0 as strapped: External PHY Port1 Register Address 20:16 Address of the register to be read or written. Broadcom ® January 29, 2016 • 5718-PG108-R Page 317...
If cleared, the device will obtain the link status information from the state of the LINKRDY input signal. Reserved – Auto_control – Use Short Preamble Use short preamble while polling, if set. Broadcom ® January 29, 2016 • 5718-PG108-R Page 318...
If the FIFO still does not have sufficient space, TCE simply drops the copy of the HTX2B-bound packet and moves on. The number of clocks to count-down is programmable at register 0x464[31:24]. Broadcom ® January 29, 2016 • 5718-PG108-R Page 319...
Page 320
When set, the Pause time value set in the transmitted PAUSE frames is 0xFFFF. The default value for PAUSE time is 0x1FFF Enable Big Backoff MAC will use larger than normal back-off algorithm. Broadcom ® January 29, 2016 • 5718-PG108-R Page 320...
When multiplied by 2, this field indicates the number of bytes in the entire IPG. Slot Time Length When multiplied by 2, this field indicates the number of bytes in the slot time. Broadcom ® January 29, 2016 • 5718-PG108-R Page 321...
IPV6 packets. This bit should be set to 0 if IPv6 RX is disabled. RSS TCP/IPV4 Hash Enable When this bit is set, 4-tuple hashes are enabled for TCP over IPV4 packets. Broadcom ® January 29, 2016 • 5718-PG108-R Page 322...
Page 323
Until it is completely halted, it remains 1 when read. Reset When this bit is set to 1, the Receive MAC state machine will be reset. This is a self-clearing bit. Broadcom ® January 29, 2016 • 5718-PG108-R Page 323...
Hash value 31:0 Hash value for multicast destination address matching. MAC Hash Register 3 (offset: 0x47C) Default Name Bits Access Value Description Hash value 31:0 Hash value for multicast destination address matching. Broadcom ® January 29, 2016 • 5718-PG108-R Page 324...
The number of valid classes is the number of active queues divided by the Number of Interrupt Distribution Groups. Ring 1 has the highest priority. Offset Number of bytes offset specified by the header type. Broadcom ® January 29, 2016 • 5718-PG108-R Page 325...
Specifies the default class of service for the Class frame if no rules are matched. A value of 1 is the highest priority. A value of zero will cause the frame to be discarded. Reserved – Broadcom ® January 29, 2016 • 5718-PG108-R Page 326...
HTX2B Perfect Match[1–4] LO Reg (offset: 0x4884, 0x488C, 0x4894, 0x489C) There are four Perfect (Destination Address) Match registers in DMAR for HTX2B. These registers hold the lower two octets of the matching address. Broadcom ® January 29, 2016 • 5718-PG108-R Page 328...
23:20 The RSS_ring value for entry 10. table_entry11 19:16 The RSS_ring value for entry 11. table_entry12 15:12 The RSS_ring value for entry 12. table_entry13 11:8 The RSS_ring value for entry 13. Broadcom ® January 29, 2016 • 5718-PG108-R Page 331...
The RSS_ring value for entry 27. table_entry28 15:12 The RSS_ring value for entry 28. table_entry29 11:8 The RSS_ring value for entry 29. table_entry30 The RSS_ring value for entry 30. table_entry31 The RSS_ring value for entry 31. Broadcom ® January 29, 2016 • 5718-PG108-R Page 332...
The RSS_ring value for entry 51. table_entry52 15:12 The RSS_ring value for entry 52. table_entry53 11:8 The RSS_ring value for entry 53. table_entry54 The RSS_ring value for entry 54. table_entry55 The RSS_ring value for entry 55. Broadcom ® January 29, 2016 • 5718-PG108-R Page 333...
The RSS_ring value for entry 75. table_entry76 15:12 The RSS_ring value for entry 76. table_entry77 11:8 The RSS_ring value for entry 77. table_entry78 The RSS_ring value for entry 78. table_entry79 The RSS_ring value for entry 79. Broadcom ® January 29, 2016 • 5718-PG108-R Page 334...
The RSS_ring value for entry 99. table_entry100 15:12 The RSS_ring value for entry 100. table_entry101 11:8 The RSS_ring value for entry 101. table_entry102 The RSS_ring value for entry 102. table_entry103 The RSS_ring value for entry 103. Broadcom ® January 29, 2016 • 5718-PG108-R Page 335...
The RSS_ring value for entry 123. table_entry124 15:12 The RSS_ring value for entry 124. table_entry125 11:8 The RSS_ring value for entry 125. table_entry126 The RSS_ring value for entry 126. table_entry127 The RSS_ring value for entry 127. Broadcom ® January 29, 2016 • 5718-PG108-R Page 336...
Hash_key[311:304] 15:8 The 39th byte of the hash_key. The bits are in the big endian format. Hash_key[319:312] The 40th byte of the hash_key. The bits are in the big endian format. Broadcom ® January 29, 2016 • 5718-PG108-R Page 337...
These bits contain the programmable extension Header Type #2 header value for programmable header #2. Programmable Extension These bits contain the programmable extension Header Type #1 header value for programmable header #1. Broadcom ® January 29, 2016 • 5718-PG108-R Page 338...
A count of successfully transmitted frames on a particular interface for which transmission is inhibited by more than one collision. dot3StatsDeferredTransmissions (offset: 0x824) A count of frames for which the first transmission attempt on a particular interface is delayed because of the medium is busy. Broadcom ® January 29, 2016 • 5718-PG108-R Page 339...
Set1 is owned by Host Driver and Set2 is owned by APE. HTX2B Stats Registers resides in TX-MAC and the B2HRX Stats Registers reside in RDI. A counter is automatically reset to 0 by HW upon a Read Operation by software. All counters roll over. Broadcom ® January 29, 2016 • 5718-PG108-R...
The number of octets received on the interface, including frame characters. ifHCINOctets_bad (offset: 0x884) The number of bad octets received on the interface. etherStatsFragments (offset: 0x888) A frame size that is less than 64 bytes with a bad FCS. Broadcom ® January 29, 2016 • 5718-PG108-R Page 341...
MAC control frames with no pause command. xoffStateEntered (offset: 0x8AC) Transmitting is disabled. dot3StatsFramesTooLongs (offset: 0x8B0) A count of frames received on a particular interface that exceeds the maximum permitted frame size. Broadcom ® January 29, 2016 • 5718-PG108-R Page 342...
The number of inbound packets selected to be discarded (even though an error was not detected) to prevent the packets from being delivered to a higher layer protocol. Ifinerror:0x2254 The number of inbound packets containing errors that prevented the packets from being delivered to a higher- layer protocol. Broadcom ® January 29, 2016 • 5718-PG108-R Page 343...
Stats Overflow Attention A statistics managed by Send Data Initiator has overflowed. Reserved – Send Data Initiator Statistics Control Register (offset: 0xC08) Default Name Bits Access Value Description Reserved 31:5 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 345...
1. Not affected by Statistics Enable Mask. Bits 15:0 correspond to statistics for Class of Service 16:1 Local Statistics Register (offset: 0xC80–0xCDF) Default Name Bits Access Value Description Reserved 31:10 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 346...
Specifies the length of data to be transmitted. Although firmware can specify up to 64 KB, it should not attempt to program more than 8 KB because it would exceed the size of TXMBUF. Broadcom ® January 29, 2016 • 5718-PG108-R Page 347...
Following the completion of this DMA, a host interrupt is generated. Last BD in Frame – Last BD in frame. Coalesce Now – Pass through Send Buffer Descriptor flag. mbuf – – Broadcom ® January 29, 2016 • 5718-PG108-R Page 348...
The CPU sets this bit to 1 to inform the SDI that the TCP Segmentation is completed, and the BD_Index can be incremented. Unsupported_Mss Status – Reserved 27:7 – BD Index The internal current buffer descriptor pointer that the hardware/firmware is servicing. Broadcom ® January 29, 2016 • 5718-PG108-R Page 349...
It is same as SDCQ bit 12. Reserved 28:12 – Head TXMBUF pointer 11:6 Head TXMBUF Pointer. They are same as SDCQ bits 11:6. Tail TXMBUF pointer Tail TXMBUF Pointer. They are same as SDCQ bits 5:0 Broadcom ® January 29, 2016 • 5718-PG108-R Page 350...
Send BD 14 Consumer Index RO. 0x1478-0x147b Send BD Ring Selector Local NIC Send BD 15 Consumer Index RO. 0x147c-0x147f Send BD Ring Selector Local NIC Send BD 16 Consumer Index RO. Broadcom ® January 29, 2016 • 5718-PG108-R Page 352...
Until it is completely halted, it – remains 1 when read Reset When this is set to 1, the Send BD Completion State machine is reset. This is a self clearing bit – Broadcom ® January 29, 2016 • 5718-PG108-R Page 356...
Mapping out of Range – Class of service mapping is out of the range of Attention the active queue number. Class Zero Attention – Class field extracted from frame descriptor is zero. Reserved – Broadcom ® January 29, 2016 • 5718-PG108-R Page 357...
2. For example, if the system wants four classes of service and four interrupt distribution lists per class of service, this value is set to four and the Number of Active Lists value is set to 16. Broadcom ® January 29, 2016 • 5718-PG108-R Page 358...
10 => RDI shall wait for a BD to become available in the VRQ's BD cache, no matter how long it takes. 11 => Reserved for future use. Ignored in non-IOV mode Broadcom ® January 29, 2016 • 5718-PG108-R Page 362...
The received frame size is too big for the into one Receive BD selected Receive BD. Jumbo Frame Enable Enable Jumbo Receive BD is needed and Jumbo Receive BD ring is disabled attention. Reserved – Broadcom ® January 29, 2016 • 5718-PG108-R Page 363...
VRQ flush timer expires. RDI engine will generate a single pulse clear request along with current IOV status [16:0] vector to various modules to clear local maintained index values for that particular IOV process. Broadcom ® January 29, 2016 • 5718-PG108-R Page 364...
Name Bits Access Value Description Host Address High 31:0 The host ring address is the host address of the first ring element. The host ring address is in host address format. Broadcom ® January 29, 2016 • 5718-PG108-R Page 365...
Name Bits Access Value Description Host Address High 31:0 The host ring address is the host address of the first ring element. The host ring address is in host address format. Broadcom ® January 29, 2016 • 5718-PG108-R Page 366...
The local return ring producer index is set to the value placed in the DMA descriptor. The local controller receive return consumer index is also set to the value placed in the DMA descriptor. Broadcom ® January 29, 2016 • 5718-PG108-R...
APE B2HRX packet drop count due to empty RBD. B2HRX APE Drop Packet Byte Count (offset: 0x24FC) Default Name Bits Access Value Description B2HRX DROP OCTETS 31:0 CORW APE B2HRX packet drop byte count due to empty RBD. Broadcom ® January 29, 2016 • 5718-PG108-R Page 370...
Until it is completely halted, it remains one when read. Reset When this bit is set to 1, the Receive Data Completion state machine is reset. This is a self- clearing bit. Broadcom ® January 29, 2016 • 5718-PG108-R Page 371...
Current Jumbo Received BD Index requested by Producer Ring requested RBDI for BD fetching. Notice that, this index is Index different from MB producer index and also different from the index indicated by RBDC. Broadcom ® January 29, 2016 • 5718-PG108-R Page 372...
DMA engine to initiate a transfer of buffer descriptors for replenishing the ring. Standard Replenish LWM Register (offset 0x2D00) Default Name Bits Access Value Description Legacy 31:8 Unused Broadcom ® January 29, 2016 • 5718-PG108-R Page 373...
Completion state machine is reset. This is a self- clearing bit. Receive BD Completion Status Register (offset: 0x3004) Default Name Bits Access Value Description Reserved 31:3 – Error Receive BD Completion Error Status. Reserved – Broadcom ® January 29, 2016 • 5718-PG108-R Page 375...
D0u (this feature is not used in device enters D0u. BCM5718 family) 1: Enable 0: Disable. Reserved 26:22 – Reserved – Reserved – SGMII/PCS Powerdown Setting this bit will powerdown SGMII-PCS module. Broadcom ® January 29, 2016 • 5718-PG108-R Page 376...
Page 377
CPMU Register Software RW SC 0x0 Software reset for resetting all the registers to Reset default. CPMU Software Reset RW SC 0x0 Software reset for all the CPMU logic expect for registers. Broadcom ® January 29, 2016 • 5718-PG108-R Page 377...
APE Engine Status 11: Reserved 10: Deep Sleep State 01: Sleep State 00: Active State WOL ACPI Detection Enable – 1: ACPI detection enabled Status of Port 1 0: ACPI detection disabled Broadcom ® January 29, 2016 • 5718-PG108-R Page 387...
Page 388
1: On 0: Off CPMU Power State – Indicates the current power state of the CPMU. Power Management State – Indicates the current state of hardware power Machine State management state machine. Broadcom ® January 29, 2016 • 5718-PG108-R Page 388...
– APE FCLK clock disable status APE HCLK Disable Status – APE HCLK clock disable status Reserved 23:21 – MAC Clock Switch Status 20:16 – MAC Core Clock Speed Select Status Broadcom ® January 29, 2016 • 5718-PG108-R Page 389...
Page 390
Name Bits Access Value Description Reserved 15:13 – APE Clock Switch Status 12:8 – APE Clock Speed Select Status Flash Clock Switch Status – Flash Clock Speed Select Status Reserved – Broadcom ® January 29, 2016 • 5718-PG108-R Page 390...
Default Name Bits Access Value Description Core RAM Power down Legacy Address: 0x6804:[24] Core RAM power down BD RAM Power down Legacy Address: 0x6804:[24] BD RAM power down Reserved 29:0 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 392...
This bit allows the software to control the state of the System Energy_Det signal if the Select_HW_Energy_Det control bit (b12) is 0 1: Drive System Energy_Det high 0: Drive System Energy_Det low Broadcom ® January 29, 2016 • 5718-PG108-R Page 394...
Page 395
CPMU clock frequency is 25 MHz) 10: 512 million CPMU clocks (20 seconds if CPMU clock frequency is 25 MHz) 11: 1024 million CPMU clocks (40 seconds if CPMU clock frequency is 25 MHz) Broadcom ® January 29, 2016 • 5718-PG108-R Page 395...
Chip ID 27:12 0x5717 – 0x5718 0x5719 Base Layer Revision 11:8 0000 Base layer revision history Information 0000: A0 0001: B0 0010: C0 Metal Layer Revision Metal layer revision history Information Broadcom ® January 29, 2016 • 5718-PG108-R Page 396...
Default Name Bits Access Value Description Reserved 31:6 Readable and writeable reserved bits. APE CM3 Big Endian Enable 8 Enable APE CM3 Big Endian Setting. Reserved Readable and writeable reserved bits. Broadcom ® January 29, 2016 • 5718-PG108-R Page 397...
Link idle/Host Access condition control. 1: disable this idle condition when entering link idle mode and host access mode. 0: enable this idle condition when entering link idle mode and host access mode. Reserved – Broadcom ® January 29, 2016 • 5718-PG108-R Page 401...
Page 402
Link idle/Host Access condition control. 1: disable this idle condition when entering link idle mode and host access mode. 0: enable this idle condition when entering link idle mode and host access mode. Broadcom ® January 29, 2016 • 5718-PG108-R Page 402...
Page 403
Link idle/Host Access condition control. 1: disable this idle condition when entering link idle mode and host access mode. 0: enable this idle condition when entering link idle mode and host access mode. Broadcom ® January 29, 2016 • 5718-PG108-R Page 403...
13.217 µs with no delay 10 MB/s 1518byte packet–advances l1aspm exiting by 1274.94 µs with no delay 10 MB/s 64byte packet–advances l1aspm exiting by 113.98 µs with no delay Reserved 15:0 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 406...
PCIE early L1 exit debounce timer in us. Timer Default is 63 µs. EEE Link Idle Debounce Timer 15:0 0x3F EEE link idle debounce timer in us. Default is 63 µs. Broadcom ® January 29, 2016 • 5718-PG108-R Page 407...
LAN TX Packet Buffer Empty LAN core internal packet buffer status control. 1: disable this idle condition from the EEE idle detection logic. 0: enable this idle condition in the EEE idle detection logic. Broadcom ® January 29, 2016 • 5718-PG108-R Page 408...
EEE Link Idle Entering Counter 31:0 This counter counts the number of timers the debounced version of EEE link idle is asserted. The entire 32 bit register can be cleared by writing 0xFFFFFFFF. Broadcom ® January 29, 2016 • 5718-PG108-R Page 409...
1 as long as the request is pending. Writing a 0 to a bit shall have no effect. Reading this field may return zero or more bits with value 1–each bit with value 1 indicates a pending request. Broadcom ® January 29, 2016 • 5718-PG108-R Page 411...
31:19 – Temperature Monitor Power Temperature Monitor Power Down Down Temperature Monitor Hold Temperature Monitor Hold Temperature Data 16:8 Temperature Data Bias Adjust Bias Adjust ADC Test Enable ADC Test Enable Broadcom ® January 29, 2016 • 5718-PG108-R Page 412...
Until it is completely halted, it remains one when read. Reset – When this bit is set to 1, the Host Coalescing state machine is reset. This is a self-clearing bit. Broadcom ® January 29, 2016 • 5718-PG108-R Page 413...
This will generally increase performance in hosts that do not require their send buffers to be freed quickly. For host environments that do require their send buffers to be recovered quickly, it is recommended that this register be set to 0. Broadcom ® January 29, 2016 • 5718-PG108-R...
For simplicity, if a host wanted to get a status block update for every received packet, the host driver should just set this register to a value of 1. On the other hand, by setting the value in this register to a high Broadcom ®...
Page 417
Receive Max Coalesced BD Count Register for VRQ 14 => 0x3EC0 Receive Max Coalesced BD Count Register for VRQ 15 => 0x3ED8 Receive Max Coalesced BD Count Register for VRQ 16 => 0x3EF0 Broadcom ® January 29, 2016 • 5718-PG108-R...
MailBox register and thus the interrupt is in a masked state. If this parameter triggers (while in During Interrupt state), the chip will DMA the latest Status Block to the host memory, but the interrupt will remain deasserted. Broadcom ® January 29, 2016 • 5718-PG108-R...
Page 420
Send Max Coalesced BD Count During Interrupt Register for TXQ 14 => 0x3ECC Send Max Coalesced BD Count During Interrupt Register for TXQ 15 => 0x3EE4 Send Max Coalesced BD Count During Interrupt Register for TXQ 16 => 0x3EFC Broadcom ® January 29, 2016 • 5718-PG108-R...
RCB Incorrectly Configured – Set if one of the RCBs is incorrectly configured based on the whole configuration. DMA Completion Discard – The DMA Completion Discard state machine has caused an attention. Broadcom ® January 29, 2016 • 5718-PG108-R Page 422...
WDMA module before be DMAed in status block. NIC Jumbo Receive BD Consumer Index Register (offset: 0x3C50) Default Name Bits Access Value Description Received BD jumbo Producer Current Received BD Consumer index. Ring consumer Index Broadcom ® January 29, 2016 • 5718-PG108-R Page 423...
This register contains the Receive Return Ring 1 Producer Index. Default Name Bits Access Value Description Reserved 31:9 – NIC Return Ring Producer – NIC Return Ring 1 Producer Index. Index Broadcom ® January 29, 2016 • 5718-PG108-R Page 424...
Host Coalescing engine to the host). It is shared between the Send BD Initiator and the Host Coalescing state machines. Default Name Bits Access Value Description Reserved 31:9 – NIC Send BD Consumer Index 8:0 – NIC Send BD Consumer Index. Broadcom ® January 29, 2016 • 5718-PG108-R Page 425...
RXMBUF base. It will also cause the RXMAC to drop the preallocated MBUF and request a new one. MBUF Low Attn Enable MBUF Low Attn Enable MBUF low attention enable. Broadcom ® January 29, 2016 • 5718-PG108-R Page 428...
22:0 0xA000h Specifies beginning of the MBUF for receive packet. The base address will ignore the lower seven bits, thus aligning the beginning of the MBUF pool on a 128-byte boundary. Broadcom ® January 29, 2016 • 5718-PG108-R Page 429...
Set this bit to 1 to request for the MBUF. When this bit is read as 0, then read the MBUF allocation Response register for the TXMBUF pointer. Reserved 30:0 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 430...
This 32-bit register provides debug information on the RXMBUF pointer. Default Name Bits Access Value Description Reserved 31:25 – Next RXMBUF Deallocation 24:16 The next RXMBUF that is to be deallocated. pointer Reserved 15:9 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 431...
Receive Flow Threshold Register (offset: 0x4458) Default Name Bits Access Value Description Reserved 31:9 – MBUF Threshold Defines the integer number of MBUFs remaining before the receive MAC will drop received frames. Broadcom ® January 29, 2016 • 5718-PG108-R Page 432...
1: Disable Multiple Outstanding Read DMA This bit will always read back as 0, even if written as 1. This feature should be disabled in 5718 A0 Chip Reserved 23:18 – Broadcom ® January 29, 2016 • 5718-PG108-R Page 433...
Page 434
Until it is completely halted, it remains one when read. Reset When this bit is set to 1, the Read DMA state machine is reset. This is a self-clearing bit. Broadcom ® January 29, 2016 • 5718-PG108-R Page 434...
XOFF state under heavy bi-directional netperf traffic when flow control is enabled. Fifo_threshold_mbuf_req 23:16 0x30 – MBUF Threshold MBUF 15:8 0x54 – Request Broadcom ® January 29, 2016 • 5718-PG108-R Page 436...
The two bits define the burst length that the Non- Non-LSO RDMA engine LSO RDMA read engine would request to the PCI block. • 00 = 128B • 01 = 256B • 10 = 512B • 11 = 4KB Broadcom ® January 29, 2016 • 5718-PG108-R Page 437...
Page 438
Tx Read DMA lock-up issue. Note that increasing the ASPM L1 entry time to a value on the order of 1ms is recommended and may prevent this issue from occurring. See register 0x7d28. Broadcom ® January 29, 2016 • 5718-PG108-R Page 438...
Page 439
Note that increasing the ASPM L1 entry time to a value on the order of 1ms is recommended and may prevent this issue from occurring. See register 0x7d28. Reserved – Reserved – Broadcom ® January 29, 2016 • 5718-PG108-R Page 439...
This bit has no effect on Post-DMA processing of IPv4 packets. Hardware IPv4 Post-DMA Enables hardware processing of LSO IPv4 Processing Enable packets. This bit has no effect on Post-DMA processing of IPv6 packets. Broadcom ® January 29, 2016 • 5718-PG108-R Page 443...
Note that increasing the ASPM L1 entry time to a value on the order of 1ms is recommended and may prevent this issue from occurring. See register 0x7d28. Reserved – Reserved – Broadcom ® January 29, 2016 • 5718-PG108-R Page 448...
Note: Firmware developers should take care to clear this bit before polling internal SRAM memory locations, because the RX RISC processor uses a two-element LRU caching algorithm, which is not affected by writes from the PCI interface. Broadcom ® January 29, 2016 • 5718-PG108-R Page 451...
MA outstanding write FIFO MA_wr_FIFO overflowed. The RX RISC is halted overflow on this condition. Reserved 26:16 – Instruction fetch stall The processor is currently stalled due to an instruction fetch. Broadcom ® January 29, 2016 • 5718-PG108-R Page 452...
RISC is halted and the appropriate stopping condition is indicated in the RISC State Register. To enable the hardware breakpoint, simply write the byte address of the instruction to break on and clear the Disable Hardware Breakpoint bit. Broadcom ® January 29, 2016 • 5718-PG108-R...
[0 through 31]: (Offset 0x5400–0x547C) • VRQ_FILT_ELEM_PTTRN_REG [0 through 31]: (Offset 0x5480–0x54FC) • VRQ_FILT_SET_MASK_REG [1 through 31]: (Offset 0x5504–0x557C) Note: There is no equivalent of FILT_SET_CFG_REG(s) in VRQ-Filter Block. Also, Set#0 is non- existent. Broadcom ® January 29, 2016 • 5718-PG108-R Page 455...
Address Reg for Term A. Table 113: Second Half VRQ Mapper Entry Register Default Name Bits Access Value Description Product Term D Activate Product Term D Write a 1 to activate this whole Product Term. Broadcom ® January 29, 2016 • 5718-PG108-R Page 456...
Ring Producer RX Return Ring VRQ # Index Index Consumer Index Comments Producer Index 0x270 UNDI – 0x98 UNDI – 0x88 64-bit 0x3C80 Registers (Default) HP – 0x268 HP – 0x280 Broadcom ® January 29, 2016 • 5718-PG108-R Page 458...
VRQ_PERFECT_MATCH[4–23]_HIGH_REG (Offsets: 0x5690, 0x5698, 0x56A0 … 0x5728) There are total 24 Perfect (Destination Address) Match registers for VRQ Filtering in RX-MAC. These registers hold the higher 2 octets of the matching address. Broadcom ® January 29, 2016 • 5718-PG108-R Page 459...
If it is zero this indicates the host is not in the interrupt handler. The Host Coalescing engine uses this information to determine which set of coalescing parameters it should use. Broadcom ® January 29, 2016 • 5718-PG108-R...
The Receive BD Return Ring 1 Consumer Index Register contains the index of the last buffer descriptor for Receive Return Ring 1 that has been consumed. Host software writes this register whenever it updates the return ring 1. This register must be initialized to 0. Broadcom ® January 29, 2016 • 5718-PG108-R...
Send BD Ring Host Producer Index Register for Ring 13 (offset: 0x5934) Send BD Ring Host Producer Index Register for Ring 14 (offset: 0x5938) Send BD Ring Host Producer Index Register for Ring 15 (offset: 0x593C) Broadcom ® January 29, 2016 • 5718-PG108-R...
Send BD Ring Producer Index Register for Ring 15 (offset: 0x59B8) Send BD Ring Producer Index Register for Ring 16 (offset: 0x59BC) Flow Through Queues All registers reset are core reset unless specified. Broadcom ® January 29, 2016 • 5718-PG108-R Page 463...
Reset DMA High Priority Read Set this bit to reset the DMA High Priority Read flow through queue. When set to 0, this flow through queue is ready for use. This bit is self- clearing. Broadcom ® January 29, 2016 • 5718-PG108-R Page 464...
When the Valid bit is 1 and the Pass bit is 0, the CPU can take the RXMBUF cluster pointers to access the received Packet. • When the CPU writes a 1 to the Skip bit, the hardware will pop the head of the queue entry. Broadcom ® January 29, 2016 • 5718-PG108-R Page 465...
This register exists only for testing purposes and should always be programmed to zero. (BCM5718) Reserved – (BCM5719) MSIX Multimode – Vector Enable MSI Byte Swap – Broadcom ® January 29, 2016 • 5718-PG108-R Page 466...
Writing this bit with a value of one will cause the request to be asserted. Writing this bit with a value of 0 has no effect. Broadcom ® January 29, 2016 • 5718-PG108-R Page 467...
Cause a host interrupt when an enabled flow attention occurs. Interrupt on DMA Attention Cause a host interrupt when an enabled DMA attention occurs. Interrupt on MAC Attention Cause a host interrupt when an enabled MAC attention occurs. Broadcom ® January 29, 2016 • 5718-PG108-R Page 468...
Page 469
The RX MAC forwards illegal frames to the NIC and marks them as such instead of discarding them. The frames are queued based on default class and interrupt distribution queue number. NO_CRC – Broadcom ® January 29, 2016 • 5718-PG108-R Page 469...
Miscellaneous Configuration Register (offset: 0x6804) Default Name Bits Access Value Description Bond ID 7 Bond ID 6 Disable GRC Reset on PCIE Setting this bit will prevent reset to PCIE block. block Bond ID 5 Broadcom ® January 29, 2016 • 5718-PG108-R Page 470...
When set, the PME Status bit in the PMSCR register is forced high. If PME Enable is also set, the PME signal will activate. This register bit is write-only and self-clearing after write. Reserved – Broadcom ® January 29, 2016 • 5718-PG108-R Page 471...
Page 472
Clear Interrupt bit in the Miscellaneous Host Control register. This bit is not operational in MSI mode. Interrupt State This bit reflects the state of the PCI INTA pin. This bit is not operational in MSI mode. Broadcom ® January 29, 2016 • 5718-PG108-R Page 472...
Receive Data and Receive BD Initiator FTQ has stalled. SW Event 5 SW Event 5 is set Recv BD Comp Receive BD Completion FTQ has stalled. SW Event 4 SW Event 4 is set Broadcom ® January 29, 2016 • 5718-PG108-R Page 473...
0 followed by a read. Exit the loop when the read returns nonzero. To release the semaphore, Default Name Bits Access Value Description Reserved 31:1 – RX-CPU Semaphore RX-CPU Semaphore Broadcom ® January 29, 2016 • 5718-PG108-R Page 474...
HC Module – RX CPU Module – EMAC Module – Memory Map Enable Bit Set by hardware, cleared by software. Reserved – High Priority Mailbox – Low Priority Mailbox – – Broadcom ® January 29, 2016 • 5718-PG108-R Page 475...
1 boot code in RX MBUF. These bits behave identical to bit 31 in that they have no effect on state machine operation and they are cleared only by a power-on reset. Broadcom ® January 29, 2016 • 5718-PG108-R Page 477...
PCIE PLL Fast Acquisition Select. 0: Disable Fast Acquisition 1: Enable Fast Acquisition irxSeqStart PCIE RX Sequence Start ipllSeqStart PCIE PLL Sequence Start irxpowerdown RX Power Down Status itxpowerdown TX Power Down Status Broadcom ® January 29, 2016 • 5718-PG108-R Page 478...
TM control for APE ARB. APE ATB mem tm TM control for APE ATB. APE shared mem tmb TMb control for APE shared mem. APE shared mem tma TMa control for APE shared mem. Broadcom ® January 29, 2016 • 5718-PG108-R Page 479...
Note: Hardware behavior shall be indeterminate in case of conflicting or duplicate assignment of GPIO pins to the same resource. A platform MUST allocate its dedicated TimeSync_GPIO pin first before using any pin from APE_GPIO shared pool. Broadcom ® January 29, 2016 • 5718-PG108-R...
This LSB & MSB pair captures the EAV Reference Count when externally triggered by the desired TimeSync/ APE_GPIO pin–a toggle serves a trigger. The only legal sequence of accessing this pair is Read-LSB followed by Read-MSB. Broadcom ® January 29, 2016 • 5718-PG108-R...
APE_GPIO pin; a toggle serves a trigger. The only legal sequence of accessing this pair is Read-LSB followed by Read-MSB. Default Name Bits Access Value Description EAV Reference Count 31:0 LSB of the EAV Reference Count as snapshot by Snap-shot TimeSync/APE_GPIO. [lower half] [2:0] shall always be 000 Broadcom ® January 29, 2016 • 5718-PG108-R Page 485...
This bit is passed to the SEE_FSM or SPI_FSM if the pass_mode bit is set Erase The erase command bit. Set high to execute an erase. This bit is ignored if the wr is clear. Broadcom ® January 29, 2016 • 5718-PG108-R Page 487...
The 24 bit address for a read or write operation (must be 4 byte aligned). NVM Read Register (offset: 0x7010) Default Name Bits Access Value Description Read Data 31:0 32bits of read data are used when read commands are executed. Broadcom ® January 29, 2016 • 5718-PG108-R Page 488...
0 means that an SCK transitions at a minimum of each CORE_CLK rising edge. The equation to calculate the clock freq. for SCK CORE_CLK / ((SPI_CLK_DIV + 1) * 2) Broadcom ® January 29, 2016 • 5718-PG108-R Page 489...
0x81 if pin strap = This is the Flash page erase command. Atmel Note: ST25xx does not support page erase, 0xDB if pin strap = therefore the corresponding command is for STMxx sector erase. Broadcom ® January 29, 2016 • 5718-PG108-R Page 490...
Write 1 to clear REQ5 bit. REQ_SET5 Write 1 to set REQ5 bit. REQ4 Software request bit 4. 1 in this bit indicates that the request4 is active. ARB_WON4 Arbitration won bit 4(see bit 8, ARB_WON0) Broadcom ® January 29, 2016 • 5718-PG108-R Page 491...
Page 492
Write 1 to this bit to set REQ2 bit. REQ_SET1 Write 1 to this bit to set REQ1 bit. REQ_SET0 Set software arbitration request bit 0. This bit is set by writing 1. Broadcom ® January 29, 2016 • 5718-PG108-R Page 492...
This command will be issued by the flash interface state machine through SPI interface. To flash device, and make the flash device write- enabled. Arbitration Watchdog Timer Register (offset: 0x702C). Broadcom ® January 29, 2016 • 5718-PG108-R Page 493...
Auto Config Successful Auto config is successful. Auto Config Enable Auto config feature is enabled through pin strap. Reserved–Auto_conf_states The auto-sense FSM state. Auto_config_busy 1: auto-config FSM is busy 0: auto-config is complete Broadcom ® January 29, 2016 • 5718-PG108-R Page 494...
UNIDIRECTIONAL_ENABLE RW When 0.12=0 AND 0.8=1: 1 = able to transmit packets when no link 0 = requires link in order to transmit packets RESERVED 000000 write as 0, ignore on read Broadcom ® January 29, 2016 • 5718-PG108-R Page 500...
(see IEEE spec for encoding) * RW when “writeable link partner ability test mode” (reg 1Fh bit 10) is set 06h: Auto_Negot_Expansion_Register Name Default Description 15:7 RESERVED 000h ignore on read Broadcom ® January 29, 2016 • 5718-PG108-R Page 503...
Message code field or unformatted code field 08h: Auto_Negot_Link_Partner_Ability_Nxt_Pg_Register Name Default Description NEXT_PG 1 = additional next pages will follow 0 = sending last page ACKNOWLEDGE3 1 = acknowledge 0 = no acknowledge Broadcom ® January 29, 2016 • 5718-PG108-R Page 504...
0 = Advertise not 1000BASE-T half duplex capable RESERVED RW 00000000 write as 0, ignore on read # Registers updated with pin defaults on rising edge of restart autoneg pin (tied to gnd at top level). Broadcom ® January 29, 2016 • 5718-PG108-R Page 505...
0 = IEEE Registers are currently accessible 0Fh: IEEE_Extended_Status_Register Name Default Description 1000BASE_X_FULL_DUPLEX_ RO L 0 1 = 1000BASE-X full duplex capable CAPABLE 0 = not 1000BASE-X full duplex capable Broadcom ® January 29, 2016 • 5718-PG108-R Page 506...
Page 507
0 = not 1000BASE-T full duplex capable 1000BASE_T_HALF_DUPLEX_ RO H 1 1 = 1000BASE-T half duplex capable CAPABLE 0 = not 1000BASE-T half duplex capable 11:0 RESERVED 000h ignore on read Broadcom ® January 29, 2016 • 5718-PG108-R Page 507...
0 = LED traffic mode disabled FORCE_LEDS_ON 1 = force all LED’s into “ON” state 0 = normal LED operation FORCE_LEDS_OFF 1 = force all LED’s into “OFF” state 0 = normal LED operation Broadcom ® January 29, 2016 • 5718-PG108-R Page 508...
RO LL 0 1 = remote receiver status OK 0 = remote receiver status not OK LOCAL_RECEIVER_STATUS RO LL 0 1 = local receiver status OK 0 = local receiver status not OK Broadcom ® January 29, 2016 • 5718-PG108-R Page 509...
RW CR 0000h Number of non-collision packets with receive errors since last read. Freezes at FFFFh. (Counts SerDes errors when register 1ch shadow “11011” bit 9 = 1 otherwise copper errors) Broadcom ® January 29, 2016 • 5718-PG108-R Page 510...
0 = allow normal length Ethernet packets only 13:12 EDGERATE CONTROL 00 = 4.0ns (1000T) (1000T) 01 = 5.0ns (1000T) (LSB or’ed with ER pin) 10 = 3.0ns (1000T) 11 = 0.0ns (1000T) Broadcom ® January 29, 2016 • 5718-PG108-R Page 511...
Page 512
111 = Misc Control register Writes to the selected shadow register are done on a single cycle (no setup required). Reads are selected by first writing to register 18h, shadow 7, bits 14:12. Broadcom ® January 29, 2016 • 5718-PG108-R Page 512...
POLARITY ERROR 1 = channel polarity inverted 0 = channel polarity correct BLOCK RXDV 1 = block rxdv for 4 additional rxc cycles for ipg EXTENSION (IPG) 0 = normal operation Broadcom ® January 29, 2016 • 5718-PG108-R Page 513...
Page 514
SHADOW REGISTER Writes to the selected shadow register are SELECTOR done on a single cycle (no setup required). Reads are selected by first writing to register 18h, shadow 7, bits 14:12. Broadcom ® January 29, 2016 • 5718-PG108-R Page 514...
ADC10BT, PC10BT, CRS10BT, DAC10_100 test modes use tpin10; register value ignored). BLOCK 10BT RESTART 1 = prevent 10BT from restarting auto- AUTO-NEGOTIATION negotiation in order to break the link 0 = normal operation Broadcom ® January 29, 2016 • 5718-PG108-R Page 516...
See reg 18-2.15:13 11:10 ENC error scale 00 = no scaling 01 = scaled by 0.5 10 = scaled by 0.25 others: no scaling SPARE write as 0, ignore on read Broadcom ® January 29, 2016 • 5718-PG108-R Page 517...
Page 518
Writes to the selected shadow register are done SELECTOR on a single cycle (no setup required). (REFERENCE ONLY) Reads are selected by first writing to register 18h, shadow 7, bits 14:12. Broadcom ® January 29, 2016 • 5718-PG108-R Page 518...
0 = all counters below 128 AUTO-NEG. PAGE RX 1 = page received since last read 0 = interrupt cleared HCD NO LINK 1 = negotiated HCD did not establish link 0 = interrupt cleared Broadcom ® January 29, 2016 • 5718-PG108-R Page 521...
Delay value is latched into selected GMII clock STROBE delay line on rising edge of this bit. RXCLK ALIGNMENT Delay value is latched into selected RX clock STROBE delay line on rising edge of this bit. Broadcom ® January 29, 2016 • 5718-PG108-R Page 525...
0 = Sigdet Deassert Timer =1 us AUTO-POWER DOWN 1 = disable powering down of the dll during auto- DLL OFF DISABLE power down. 0 = enable powering down of dll during auto- power down. Broadcom ® January 29, 2016 • 5718-PG108-R Page 527...
See description for bit 4 below. SPARE write as 0, ignore on read external_serdes_inuse 1= drive transmit led low when external SerDes led mode is selected, inactive when not selected 0= normal operation Broadcom ® January 29, 2016 • 5718-PG108-R Page 529...
(when set in SGMII or GBIC mode, then both copper and SerDes link must be valid). 0 = link down SERDES DUPLEX 1 = SerDes full-duplex 0 = SerDes half-duplex or auto-negotiating in progress Broadcom ® January 29, 2016 • 5718-PG108-R Page 530...
Page 531
1 = enable SGMII slave auto-detection. 00000 DETECTION Switch between 1000-X and SGMII slave (register 1c shadow 1fh modes based on SerDes received auto- negotiation code word. bit [2] must be 0) 0 = normal operation Broadcom ® January 29, 2016 • 5718-PG108-R Page 531...
0 = write bits [5:0] when bit [15] is also set during a write cycle On Reads: 1 = “SerDes link” (reg 1ch shadow 15h[9] = 1) and “remote_copper_mode” ([9] of this register = 1) Broadcom ® January 29, 2016 • 5718-PG108-R Page 532...
01 = support 10k byte packets (1000T PCS transmit FIFO 00 = support 5k byte packets (w/200 ppm offset) in SGMII/GBIC mode: MSB is located at expansion reg 46[15] from SerDes to copper link partner) Broadcom ® January 29, 2016 • 5718-PG108-R Page 535...
1 = force TXFIFO to be always active in 1000X (dig1000x_tx_fifo) 0 = normal operation towards SerDes link partner BYPASS PCS RECEIVE 1 = bypass pcs receive 0 = normal operation Broadcom ® January 29, 2016 • 5718-PG108-R Page 536...
0 = error state has not been entered since last read SYNC_STATUS FAILED 1 = sync_status failed since last read (reg 1ch shadow 27 [3] = 0) 0 = sync_status has not failed since last read Broadcom ® January 29, 2016 • 5718-PG108-R Page 537...
0 = link status change has not occurred since last read SGMII SELECTOR 1 = SGMII selector mismatch in SGMII mode MISMATCH 0 = Fiber, copper, GBIC mode, or SGMII selector does not mismatch, or autoneg disabled Broadcom ® January 29, 2016 • 5718-PG108-R Page 539...
Page 540
0 = link is down for SerDes applications PAUSE RESOLUTION– 1 = enable pause receive RECEIVE SIDE 0 = disable pause receive PAUSE RESOLUTION– 1 = enable pause transmit TRANSMIT SIDE 0 = disable pause transmit Broadcom ® January 29, 2016 • 5718-PG108-R Page 540...
0 = no carrier extend error since last read EARLY END 1 = early end extension since last read EXTENSION (early_end_ext state in pcs receive) DETECTED 0 = no early end extension since last read Broadcom ® January 29, 2016 • 5718-PG108-R Page 541...
1 = fiber selected when both medium active MEDIUM PRIORITY 0 = copper selected when both medium active AUTO-DETECT 1 = enable auto-detect medium MEDIUM ENABLE (switch between GMII/RGMII->copper or GMII/RGMII->fiber) 0 = disable auto-detect medium Broadcom ® January 29, 2016 • 5718-PG108-R Page 542...
1Dh: Master/Slave Seed Register (Bit 15 = 0) Name Description Default ENABLE SHADOW 1 = select shadow register REGISTER 0 = normal operation Writes to the selected register are done on a single cycle (no setup required). Broadcom ® January 29, 2016 • 5718-PG108-R Page 543...
(errors will only be counted after this bit is set!) 0 = normal operation COUNTER TEST MODE RW 1 = forces counters into test mode 0 = normal operation Broadcom ® January 29, 2016 • 5718-PG108-R Page 545...
The PHY registers are broken into two blocks: • Block 0 is for IEEE and non-IEEE controls. • Blocks 0, 2 and 3 are non-IEEE blocks, where the analog section or the SerDes is controlled. Broadcom ® January 29, 2016 • 5718-PG108-R Page 547...
Analog transmitter output for the SerDes when it is in FX (Fiber) mode. ANALOG_RX1 Controlling the SerDes receiver ANALOG_RX2 100FX Test Mode ANALOG_PLL Controlling the GE PLL circuitry BLOCKADDRESS Block address register Broadcom ® January 29, 2016 • 5718-PG108-R Page 548...
12h – ANALOG_TXAMP Reg Analog Defined MII Registers Registers 13h – ANALOG RX1 Reg Block Address 3 14h – ANALOG_RX2 Reg 10h to 1Fh Analog Defined 15h – ANALOG PLL Reg Broadcom ® January 29, 2016 • 5718-PG108-R Page 549...
0 = Incapable of AN. 1 = AN capable. LINK_STATUS Link status. 0 = Link fail. 1 = Good link. JABBER_DETECT Jabber detect 0 = Not detected 1 = Jabber detected Broadcom ® January 29, 2016 • 5718-PG108-R Page 551...
1 = Enable 16-stage 10-bit idle transmit test sequence to SerDes transmitter. TX_PKT_SEQ_TEST Stage 1-4, 13-16 = idle. Stage 5-12 = data packet. 0 = Normal operation. 1 = Enable 16-stage 10-bit idle transmit test sequence to SerDes transmitter. Broadcom ® January 29, 2016 • 5718-PG108-R Page 556...
Page 557
1 = Enable parallel detection. (This will turn auto-negotiation on and off as needed to properly link up with the link partner. The idles and auto-negotiation code words received from the link partner are used to make this decision) Broadcom ® January 29, 2016 • 5718-PG108-R Page 557...
1 = Bypass transmit FIFO in Gigabit mode. (Useful for fiber or Gigabit only applications where the MAC is using the pll_clk125 as the clk_in port. User must meet timing to the pll_clk125 domain) Broadcom ® January 29, 2016 • 5718-PG108-R Page 558...
1 = Receive FIFO error detected since last read. 0 = No receive FIFO error detected since last read. FALSE_CARRIER_DE 1 = False carrier detected since last read. TECTED 0 = No false carrier detected since last read. Broadcom ® January 29, 2016 • 5718-PG108-R Page 559...
Note: When the ten bit interface is selected with fiber mode (1000-X), then link will always be down SGMII_MODE 1 = SGMII mode 0 = Fiber mode (1000-X) 1000XSTATUS2 Register Description: 1000X Status2 Register. Register Offset: 0x15 at Block 0 Broadcom ® January 29, 2016 • 5718-PG108-R Page 560...
0 = An_enable state has not been entered since last read. 1000XSTATUS3 Register Description: 1000X Status3 Register. Register Offset: 0x16 at Block 0 Table 139: 1000XSTATUS3 Bits Name Description Default 15:11 RESERVED Reserved 0x00 Broadcom ® January 29, 2016 • 5718-PG108-R Page 561...
Register Offset: 0x10 at Block 2 Table 140: FXCONTROL1 Bits Name Description Default RESERVED Reserved FIBER_AUTOPWRDWN_WAKE 1 = Wake up for 250ms before powering down 0 = Wake up for 42ms before powering down Broadcom ® January 29, 2016 • 5718-PG108-R Page 562...
0 = 100-FX mode link status has not changed since last read FX100_BAD_ESD_DETECTED RO/LH 1 = 100-FX mode bad ESD error detected since last read (premature end) 0 = No 100-FX mode bad ESD error detected since last read Broadcom ® January 29, 2016 • 5718-PG108-R Page 564...
Reserved for factory use only. 1 = Select RX clock 0 = Do not select RX clock REG_EDGE_SEL Reserved for factory use only. 1 = Capture on rising edge 0 = Capture on falling edge Broadcom ® January 29, 2016 • 5718-PG108-R Page 565...
Register Offset: 0x12 at Block 3 Table 146: ANALOG_TXAMP Bits Name Description Default DRIVER_FULL_RANG Reserved for factory use only. 1 = Enable TX driver full output range 0 = Disable TX driver full output range Broadcom ® January 29, 2016 • 5718-PG108-R Page 566...
This is to control the output driving amplitude. This is set in conjunction with the DRIVER_CURRENT. DRIVER_CURRENT Setting the output amplitude of the SerDes ranging from 700 mV to 1280 mV. RESERVED Reserved. Broadcom ® January 29, 2016 • 5718-PG108-R Page 567...
1 = Use rising edge of rx_wclk 0 = Use falling edge of rx_wclk RESERVED Reserved 0x00 IDDQ Set to power down analog receiver block 1 = Power down RX 0 = Normal operation Broadcom ® January 29, 2016 • 5718-PG108-R Page 568...
In PRBS mode, this bit indicates signal is no longer available or PRBS pattern is loss. Lock In PRBS mode, this indicates PRBS pattern is locked. 10:0 Prbs_errors In PRBS mode, this indicates number of errors detected. 0x0000 Broadcom ® January 29, 2016 • 5718-PG108-R Page 570...
0x7); //Set function field to address and device to 0x7 phy_write(0xe, 0x3C); //Write 3Ch to to select the EEE advertise Register phy_write(0xd, 0x4007); //Set function field to data and device to 0x7 Broadcom ® January 29, 2016 • 5718-PG108-R...
Write as 0, ignore on read. Reserved Write as 0, ignore on read. 11:0 Reserved Write as 0, ignore on read. 0000h LPI Feature Enable Setting this bit high enables LPI Broadcom ® January 29, 2016 • 5718-PG108-R Page 573...
– Full-duplex connection at Gigabit speed. – Implements flow control. – Flow control enabled. • Switch – Does not drop packets. – Full-duplex connection to Client. • Server – Gigabit connection. Broadcom ® January 29, 2016 • 5718-PG108-R Page 574...
Client PCI bus lack bandwidth to DMA packets, at wire speed, to host memory. The user may be playing a DVD, for example. Figure 57: File Transfer Scenario: Speed Mismatch Pause packets Switch Gigabit Server Gigabit Client Broadcom ® January 29, 2016 • 5718-PG108-R Page 575...
• Jamming (half-duplex) • Pause frames (full-duplex) Figure 58: File Transfer Scenario: Speed Buffers Run Low Port buffers & memory almost exhausted Client Egres Ingres Server Port Port MAC Sublayer Switch Broadcom ® January 29, 2016 • 5718-PG108-R Page 576...
Server’s pause interval to expire. Either way, the Switch no longer will inhibit the Server from sending packets. Figure 60: File Transfer Scenario: Switch Flow Control Pause packets Switch Gigabit Server Gigabit Client Empty Buffered Frames Broadcom ® January 29, 2016 • 5718-PG108-R Page 577...
Send Data Initiator The hardware block updates the DMAs in the packet buffers from host memory. The packet buffers are DMAed after the BD has been moved to device local memory. Broadcom ® January 29, 2016 • 5718-PG108-R Page 579...
Page 592
0x7C00 – 0x7FFF PCIe Core Private Register Access to TL, DL & PL The registers below are outside Host Standard View. 0x10000 – 0x18FFF – APE Access 0x19000 – 0x193FF – Management Filters Broadcom ® January 29, 2016 • 5718-PG108-R Page 592...
Page 593
Information furnished by Broadcom Corporation is believed to be accurate and reliable. However, Broadcom Corporation does not assume any liability arising out of the application or use of this information, nor the application or use of any product or circuit described herein, neither does it convey any license under its patent rights nor the rights of others.
Need help?
Do you have a question about the NetXtreme/NetLink BCM5718 Series and is the answer not in the manual?
Questions and answers