Specifications
Receive and Transmit Description
36 Software Developer’s Manual
Table 3-7. Transmit Descriptor (TDESC) Layout
3.3.3 Legacy Transmit Descriptor Format
To select legacy mode operation, bit 29 (TDESC.DEXT) should be set to 0b. In this case, the
descriptor format is defined as shown in Table 3-8. The address and length must be supplied by
software. Bits in the command byte are optional, as are the Checksum Offset (CSO), and
Checksum Start (CSS) fields.
Table 3-8. Transmit Descriptor (TDESC) Layout – Legacy Mode
Table 3-9. Transmit Descriptor Legacy Descriptions
63 30 29 28 24 23 20 19 0
0 Buffer Address [63:0]
8 NR DEXT NR DTYP NR
63 48 47 40 39 36 35 32 31 24 23 16 15 0
0 Buffer Address [63:0]
8 Special CSS RSV STA CMD CSO Length
Transmit Descriptor
Legacy
Description
Buffer Address
Buffer Address
Address of the transmit descriptor in the host memory. Descriptors with a
null address transfer no data. If they have the RS bit in the command byte
set (TDESC.CMD), then the DD field in the status word (TDESC.STATUS) is
written when the hardware processes them.
Length
Length is per segment.
The maximum length associated with any single legacy descriptor is 16288
bytes. Although a buffer as short as one byte is allowed, the total length of
the packet, before padding and CRC insertion must be at least 48 bytes.
Length can be up to a default value of 16288 bytes per descriptor, and
16288 bytes total. In other words, the length of the buffer pointed to by one
descriptor, or the sum of the lengths of the buffers pointed to by the
descriptors can be as large as the maximum allowed transmit packet.
Descriptors with zero length transfer no data. If they have the RS bit in the
command byte set (TDESC.CMD), then the DD field in the status word
(TDESC.STATUS) is written when the hardware processes them.
CSO
Checksum Offset
The Checksum offset field indicates where, relative to the start of the packet,
to insert a TCP checksum if this mode is enabled. (Insert Checksum bit (IC)
is set in TDESC.CMD). Hardware ignores CSO unless EOP is set in
TDESC.CMD. CSO is provided in unit of bytes and must be in the range of
the data provided to the Ethernet controller in the descriptor. (CSO < length -
1).
Should be written with 0b for future compatibility.