4 transmit buffer descriptor format, Section 2.5.4 – Texas Instruments TMS320TCI6486 User Manual
Page 34

EMAC Functional Architecture
www.ti.com
2.5.4
Transmit Buffer Descriptor Format
A transmit (TX) buffer descriptor (
) is a contiguous block of four 32-bit data words aligned on a
32-bit boundary that describes a packet or a packet fragment.
shows the transmit buffer descriptor described by a C structure.
Figure 12. Transmit Descriptor Format
(a) Word 0
31
0
Next Descriptor Pointer
(b) Word 1
31
0
Buffer Pointer
(c) Word 2
31
16
15
0
Buffer Offset
Buffer Length
(d) Word 3
31
30
29
28
27
26
25
16
TDOWN
PASS
SOP
EOP
OWNER
EOQ
Reserved
CMPLT
CRC
15
0
Packet Length
Example 1. Transmit Descriptor in C Structure Format
/*
// EMAC Descriptor
//
// The following is the format of a single buffer descriptor
// on the EMAC.
*/
typedef struct _EMAC_Desc {
struct _EMAC_Desc *pNext;
/* Pointer to next descriptor in chain */
Uint8
*pBuffer;
/* Pointer to data buffer */
Uint32
BufOffLen;
/* Buffer Offset(MSW) and Length(LSW) */
Uint32
PktFlgLen;
/* Packet Flags(MSW) and Length(LSW) */
} EMAC_Desc;
/* Packet Flags */
#define EMAC_DSC_FLAG_SOP
0x80000000u
#define EMAC_DSC_FLAG_EOP
0x40000000u
#define EMAC_DSC_FLAG_OWNER
0x20000000u
#define EMAC_DSC_FLAG_EOQ
0x10000000u
#define EMAC_DSC_FLAG_TDOWNCMPLT
0x08000000u
#define EMAC_DSC_FLAG_PASSCRC
0x04000000u
34
C6472/TCI6486 EMAC/MDIO
SPRUEF8F – March 2006 – Revised November 2010
Copyright © 2006–2010, Texas Instruments Incorporated