Device Control
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 139
S e c t i o n 7 : D e v i c e C o n t r o l
Initialization Procedure
This section describes the initialization procedure for the MAC portion of the NetXtreme family of devices.
1.
Call the device reset procedure. (see
“Device Reset Procedure” on page 146
)
2.
Enable/Disable any required bug fixes. Refer to the applicable Errata document for information on any errata
that must be worked around by enabling/disabling the control bits of chip bug fixes if any are applicable.
3.
Optionally, enable Tagged Status mode by setting the Enable_Tagged_Status_Mode bit of the
Miscellaneous Host Control register (see
“Miscellaneous Host Control Register (offset: 0x68)” on page 282
).
4.
Clear the driver status block memory region by writing zeros to the host memory region where the status
block will be direct memory accessed (DMA) (see
).
5.
Configure the DMA Write Water Mark in the DMA Read/Write Control register (see
Register (Offset: 0x6C)” on page 283
), as follows.
• If the Max Payload Size of PCIe Device Control register is 128 bytes, set the DMA write water mark bits
(bits19-21) of DMA Read/Write Control register to 011b (for a water mark of 128 bytes).
• if the Max Payload Size is 256 bytes or more, set the DMA write water mark bits (bits19-21) of DMA
Read/Write Control register to 111b (for a water mark of 256 bytes).
6.
Set 0x6c[1:0] = 00b to allow 64 byte cache alignment for DMA writes on 5719.
7.
Optionally, set DMA byte swapping by setting the Byte_Swap_Non-Frame_Data, Byte_Swap_Data and
Word_Swap_Data bits in the General Mode Control register (see
“Mode Control Register (offset: 0x6800)”
. If the host processor architecture is big-endian, the MAC may byte swap both control and
frame data, when acting as a PCI DMA master.
8.
Configure the host-based send ring by setting the Host_Send_BDs bit in the General Mode Control register
(see
“Mode Control Register (offset: 0x6800)” on page 468
).
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.
Note:
For additional information on Tagged Status mode see
“Section 11: “Interrupt Processing,” on
.