Functional Description
892
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Ethernet Controller
(see
).
•
TDES6 and TDES7 contain the timestamp (see
and
).
Table 15-2. Enhanced Transmit Descriptor 0 (TDES0)
Bit
Description
31
OWN: Own Bit
When set, this bit indicates that the descriptor is owned by the DMA. When this bit is reset, it indicates that the
descriptor is owned by the Host. The DMA clears this bit either when it completes the frame transmission or when the
buffers allocated in the descriptor are empty. The ownership bit of the First Descriptor of the frame should be set after
all subsequent descriptors belonging to the same frame have been set. This avoids a possible race condition between
fetching a descriptor and the driver setting an ownership bit.
30
IC: Interrupt on Completion
When set this bit sets the Transmit Interrupt (TI) bit in the EMACDMARIS register when the frame contained in this
descriptor has been transmitted.
29
LS: Last Segment
When set, this bit indicates that the buffer contains the last segment of the frame. When this bit is set, the TBS1 or
TBS2 field in TDES1 should have a non-zero value.
28
FS: First Segment
When set, this bit indicates that the buffer contains the first segment of a frame.
27
DC: Disable CRC
When set, the MAC does not append a Cyclic Redundancy Check (CRC) to the end of the transmitted frame. This is
valid only when the first segment (TDES0[28]) is set.
26
DP: Disable Padding
When set, the MAC does not automatically add padding to a frame shorter than 64 bytes. When this bit is reset, the
DMA automatically adds padding and CRC to a frame shorter than 64 bytes, and the CRC field is added despite the
state of the DC (TDES0[27]) bit. This is valid only when the first segment (TDES0[28]) is set.
25
TTSE: Transmit Timestamp Enable
When set, this bit enables IEEE1588 hardware timestamping for the transmit frame referenced by the descriptor. This
bit is only valid when the First Segment Control bit (TDES0[28] is set.
24
CRCR: CRC Replacement Control
When set, the MAC replaces the last four bytes of the transmitted packet with recalculated CRC bytes. The CPU
should ensure that the CRC bytes are present in the frame being transferred from the Transmit Buffer. CRC
replacement is done only when Bit 27 (DC) is set to 1.
23:22
CIC: Checksum Insertion Control
These bits control the insertion of checksums in Ethernet frames that encapsulate TCP, UDP, or ICMP over IPv4 or
IPv6. This field is valid when the First Segment control bit (TDES0[28]) is set.
• 0x0 = Do nothing. Checksum Engine bypassed.
• 0x1 = Insert IPv4 header checksum. Use this value to insert IPv4 header checksum when the frame encapsulates
an IPv4 datagram.
• 0x2 = Insert TCP/UDP/ICMP checksum. The checksum is calculated over the TCP, UDP, or ICMP segment only
and the TCP, UDP, or ICMP pseudo-header checksum is assumed to be present in the corresponding input
frame's Checksum field. An IPv4 header checksum is also inserted if the encapsulated datagram conforms to
IPv4.
• 0x3 = Insert a TCP/UDP/ICMP checksum that is fully calculated in this engine. The TCP, UDP, or ICMP pseudo-
header is included in the checksum calculation, and the input frame's corresponding Checksum field has an all-
zero value. An IPv4 Header checksum is also inserted if the encapsulated datagram conforms to IPv4.
The Checksum engine detects whether the TCP, UDP, or ICMP segment is encapsulated in IPv4 or IPv6 and
processes its data accordingly.
21
TER: Transmit End of Ring
When set, this bit indicates that the descriptor list reached its final descriptor. The DMA returns to the base address of
the list, creating a descriptor ring.
20
TCH: Second Address Chained
When set, this bit indicates that the second address in the descriptor is the Next Descriptor address rather than the
second buffer address. When TDES0[20] is set, TBS2 (TDES1[28:16]) is a "don't care" value. TDES0[21] takes
precedence over TDES0[20].