SMSC LAN9311 User Manual

Page of 460
Two Port 10/100 Managed Ethernet Switch with 16-Bit Non-PCI CPU Interface
Datasheet
Revision 1.4 (08-19-08)
126
SMSC LAN9311/LAN9311i
DATASHEET
 
Both TX command ‘A’ and TX command ‘B’ are required for each buffer in a given packet. TX
command ‘B’ must be identical for every buffer in a given packet. If the TX command ‘B’ words do not
match, the Ethernet controller will assert the Transmitter Error (TXE) flag.
9.8.2.1
TX Command ‘A’
Table 9.10  TX Command 'A' Format
BITS
DESCRIPTION
31
Interrupt on Completion (IOC). 
When set, the TX_IOC bit will be asserted in th
 when the current buffer has been fully loaded into the TX FIFO.
30:26
Reserved.
 These bits are reserved. Always write zeros to this field to guarantee future compatibility.
25:24
Buffer End Alignment. 
This field specifies the alignment that must be maintained on the last data 
transfer of a buffer. The host will add extra DWORDs of data up to the alignment specified in the 
table below. The LAN9311/LAN9311i will remove the extra DWORDs. This mechanism can be used 
to maintain cache line alignment on host processors.
23:21
Reserved.
 These bits are reserved. Always write zeros to this field to guarantee future compatibility
20:16
Data Start Offset (bytes). 
This field specifies the offset of the first byte of TX data. The offset value 
can be anywhere from 0 bytes to a 31 byte offset.
15:14
Reserved.
 These bits are reserved. Always write zeros to this field to guarantee future compatibility
13
First Segment (FS). 
When set, this bit indicates that the associated buffer is the first segment of the 
packet.
12
Last Segment. 
When set, this bit indicates that the associated buffer is the last segment of the 
packet
11
Reserved.
 These bits are reserved. Always write zeros to this field to guarantee future compatibility.
10:0
Buffer Size (bytes). 
This field indicates the number of bytes contained in the buffer following this 
command. This value, along with the Buffer End Alignment field, is read and checked by the 
LAN9311/LAN9311i and used to determine how many extra DWORDs were added to the end of the 
Buffer. A running count is also maintained in the LAN9311/LAN9311i of the cumulative buffer sizes 
for a given packet. This cumulative value is compared against the Packet Length field in the TX 
command ‘B’ word and if they do not correlate, the TXE flag is set.
Note:
The buffer size specified does not include the buffer end alignment padding or data start 
offset added to a buffer.
[25]
[24]
End Alignment
0
0
4-byte alignment
0
1
16-byte alignment
1
0
32-byte alignment
1
1
Reserved