Digital Equipment Corporation
Maynard, Massachusetts
Page 2
May 1994
While Digital believes the information included in this publication is correct as of the date of
publication, it is subject to change without notice.
Digital Equipment Corporation makes no representations that the use of its products in the
manner described in this publication will not infringe on existing or future patent rights, nor do
the descriptions contained in this publication imply the granting of licenses to make, use, or sell
equipment or software in accordance with the description.
The DECchip 21040 Ethernet LAN Controller for PCI Hardware Reference
Manual describes the operation of the DECchip 21040 Ethernet LAN
Controller for PCI (also referred to as the 21040). This manual is for system
designers who use the 21040.
Manual Organization
This manual contains seven chapters, four appendices, and an index.
•Chapter 1, Introduction, includes a general description of the 21040. It
also provides an overview of the 21040 hardware components.
•Chapter 2, Signal Descriptions and Bus Commands, provides the physical
layout of the 21040 and describes each of the input and output signals.
•Chapter 3, Registers, provides a complete bit description of the 21040
command and status registers as well as the configuration registers.
•Chapter 4, Host Communication Area, describes how the 21040
communicates with the host using descriptor lists and data buffers.
•Chapter 5, Functional Description, describes reset commands, interrupt
handling, and startup. It also describes the transmit and receive processes.
Preface
•Chapter 6, Host Bus Operation, provides a description of the read, write,
and termination cycles.
•Chapter 7, Network Interface, describes the 10BASE-T and AUI interfaces.
It includes a complete description of media access control operations. It
also provides detailed transmitting and receiving operation information.
•Appendix A, Joint Test Action Group Test Logic, provides descriptions
of the testing, observing, and modifying circuit activity during normal
operation.
xiii
Page 14
•Appendix B, DNA CSMA/CD Counters and Events Support, describes
features that support the driver in implementing and reporting the
specified counters and events.
•Appendix C, Hash C Routine, provides an example of a C routine that
generates a hash index for a given Ethernet address.
•Appendix D, Technical Support, Ordering, and Associated Literature,
contains information about technical support as well as ordering parts and
related documentation.
•The index provides an alphabetical list of topics described in this manual.
An entry with an f appended to the page number (for example, 21040
pinout diagram, 2-2f) indicates a figure reference. An entry with a t
appended to the page number (for example, Twisted-pair compensation
behavior, 3-60t) indicates a table reference.
Document Conventions
The values 1, 0, and X are used in some tables. X signifies a don’t care (1 or 0)
convention, which can be determined by the system designer.
xiv
Page 15
This chapter provides a general description of the DECchip 21040 Ethernet
LAN Controller, its features and an overview of the hardware.
1.1 General Description
The DECchip 21040 is an Ethernet LAN controller that is based on the
peripheral component interconnect (PCI) local bus. The 21040 provides a
glueless connection to the PCI.
During host interface operation, the 21040 interfaces with the processor using
on-chip command and status registers (CSRs) and a shared host memory area,
set up mainly during initialization. This minimizes processor involvement in
the 21040 operation during normal reception and transmission. Bus traffic
is also minimized by filtering out received runt frames and by automatically
transmitting collided frames again without a repeated fetch from host memory.
During communication interface operation, the 21040 provides both an
attachment unit interface (AUI) and a twisted-pair interface, enabling a low
chip count connection to the two most popular Ethernet interfaces. The 21040
can sustain transmission or reception of minimal-sized back-to-back packets
at full line speed with a 9.6-microsecond interpacket gap. The 21040 can also
function in a full-duplex environment.
1
Introduction
1.2 Features
The 21040 has the following features:
•Offers a single-chip Ethernet controller for PCI local bus
Provides glueless connection to PCI bus
Contains on-chip integrated attachment unit interface (AUI) port and a
10BASE-T transceiver
•Supports full-duplex operation
1–1
Page 16
•Provides clock speed up to 33 megahertz, with no wait states on PCI
master operation
•Enables powerful on-chip DMA with programmable, unlimited burst size
providing for low CPU utilization
•Implements unique, patent-pending, intelligent arbitration between
DMA channels that prevent underflow or overflow and are optimized for
full-duplex operation
•Contains two large (256-byte) independent receive and transmit FIFOs
•Supports either big or little endian byte ordering
•Implements joint test action group (JTAG) compatible test access port with
boundary-scan pins
•Provides full support of IEEE 802.3, ANSI 8802-3, and Ethernet standards
•Offers a unique, patented solution to Ethernet capture-effect problem
•Contains a variety of flexible address filtering modes
16 perfect addresses
512 hash-filtered multicast addresses and one perfect address
512 hash-filtered physical addresses and multicast addresses
Inverse perfect filtering
1–2
•Provides serial ROM interface for Ethernet ID address ROM
•Supports three LEDs: network activity, LinkPass, and AUI/10BASE-T
•Enables automatic detection and correction of 10BASE-T receive polarity
•Provides external and internal loopback capability
•Implements low power, 3.3-volts complimentary metal oxide semiconductor
(CMOS) device; interfaces to 5.0-volt or 3.3-volt logic
Page 17
1.3 Hardware Overview
The following list describes the 21040 hardware components, and Figure 1–1
shows a block diagram of the 21040.
•PCI Interface—Includes all interface functions to the PCI bus; handles all
interconnect control signals, and executes PCI direct memory access (DMA)
and I/O transactions.
•DMA—Contains dual receive and transmit controller; supports bursts of up
to 32 longwords; handles data transfers between PCI memory and on-chip
memory.
•FIFOs—Contains dual 256-byte FIFOs for receive and transmit; supports
automatic packet deletion (runt packets or after a collision) and packet
re-transmission after a collision on transmit.
•TxM—Handles all CSMA/CD1MAC2transmit operations and transfers
data from transmit FIFO to the serial interface attachment (SIA) for
transmission.
•RxM—Handles all CSMA/CD receive operations and transfers the data
from the SIA to the receive FIFO.
•SIA—Performs physical layer operations; implements the AUI and
10BASE-T functions, including the Manchester encoder and decoder
functions.
1
Carrier-sense multiple access with collision detection
2
Media access control
1–3
Page 18
Figure 1–1 DECchip 21040 Block Diagram
PCI
PCI Interface
32
Rx
FIFO
16
RxMTxM
11
Interface
Tx
FIFO
AUI
16
SIA Interface
TP
Interface
DMA
SROM
LEDs
Ethernet ID ROM
Network Activity
AUI/TP
LinkPass
External SIA
Interface
MLO-010132
1–4
Page 19
Signal Descriptions and Bus Commands
This chapter describes the 21040 signals and lists the bus commands.
2.1 21040 Pinout
The 21040 is housed in the 120-pin plastic quad flat pack. The 21040 uses all
pins. Figure 2–1 shows the 21040 pinout.
Table 2–1 provides a description of each of the signals used by the 21040.
These signals are listed alphabetically.
The following terms describe the 21040 pinout.
•Address phase
Address and appropriate bus command are driven during this cycle.
•Data phase
Data and the appropriate byte enable code are driven during this cycle.
•_L
All pin names with the _L suffix are only asserted low.
The following abbreviations are used in the tables in this section.
I = Input
O = Output
I/O = Input/output
O/D = Open drain
Note
Table 2–1 Signal Pin Reference
SignalTypeDescription
AD<31:00>I/O32-bit multiplexed PCI address and data lines. Address
and data bits are multiplexed on the same pins. During
the first clock cycle of a transaction, AD<31:00> contains
a physical byte address (32 bits). During subsequent clock
cycles, AD<31:00> contains data. A 21040 bus transaction
consists of an address phase followed by one or more data
phases. The 21040 supports both read and write bursts.
Little and big endian byte ordering can be used.
AUI_CD–IAttachment unit interface receive collision differential
negative data.
AUI_CD+IAttachment unit interface receive collision differential
positive data.
(continued on next page)
2–3
Page 22
Table 2–1 (Cont.) Signal Pin Reference
SignalTypeDescription
AUI_RD–IAttachment unit interface receive differential negative
AUI_RD+IAttachment unit interface receive differential positive data.
AUI_TD–OAttachment unit interface transmit differential negative
AUI_TD+OAttachment unit interface transmit differential positive
AUI_TPIAttachment unit interface and twisted-pair select line.
C_BE_L<03:00>I/OBits 0 through 3 of the bus command and byte enable
CLKIThe clock provides the timing for the 21040–related bus
DEVSEL_LI/ODevice select is asserted when it is the target of the
data.
data.
data.
When asserted high, the attachment unit interface is
selected. When asserted low, the twisted-pair interface is
selected.
Software can override the pin selection (Section 3.2.2.3).
lines. Bus command and byte enable are multiplexed on
the same PCI pins. Table 2–2 lists the bus commands.
During the address phase of the transaction, C_BE_
L<03:00> provide the bus command.
During the data phase, C_BE_L<03:00> provide the byte
enable. The byte enable determines which byte lines carry
valid data. For example, C_BE_L<00> applies to byte 0,
and C_BE_L<03> applies to byte 3.
In all master and I/O operations, C_BE_L<03:00> contain
a value equal to a longword hexadecimal value of 0. In
configuration operations, C_BE_L<03:00> can contain any
value; 21040 supports byte, word, and longword operations.
transactions. All the other bus signals are sampled on
the rising edge of CLK. The clock range is between 16
megahertz and 33 megahertz.
current bus access. When the 21040 is the initiator of
the current bus access, it expects the target to assert
DEVSEL_L within 5 bus cycles, confirming the access. To
accomplish this, the 21040 asserts this signal in a medium
speed (within 2 bus cycles). If the target does not assert
DEVSEL_L within the required bus cycles, the 21040
aborts the cycle.
(continued on next page)
2–4
Page 23
Table 2–1 (Cont.) Signal Pin Reference
SignalTypeDescription
EXT_CLSNI/OCollision detect or test signals a collision occurrence on
EXT_RCLKI/OReceive clock or test pin carries the recovered receive
EXT_RXI/OReceive data or test pin carries the input receive data
EXT_RXENI/OReceive enable or test pin signals activity on the Ethernet
EXT_TCLKI/OTransmit clock or test pin carries the transmit clock
EXT_TXI/OTransmit data or test pin carries the serial output data
the Ethernet cable to the 21040. It may be asserted and
deasserted asynchronously by the external SIA to the
receive clock.
This signal is an output to the AUI/TP LED. The LED is
on when AUI is selected. This pin can be used for SIA
testing features.
clock supplied by an external SIA. During idle periods, the
RCLK pin may be inactive. This pin can be used for SIA
testing features.
from the external SIA. The incoming data should be
synchronous with the RCLK signal.
This pin also outputs to the LinkPass LED. In 10BASE-T
mode, when LinkPass is detected, the LED is asserted
for a period of at least 300 milliseconds. In AUI mode, if
CSR12 bit 1 is asserted indicating no carrier, the LED is
deasserted for a period of 300 milliseconds. This pin can
be used for SIA testing features.
cable to the 21040. It is asserted when receive data is
present on the Ethernet cable and deasserted at the
end of a frame. It may be asserted and deasserted
asynchronously to the receive clock (RCLK) by the external
SIA.
This pin also interfaces with the network activity LED.
When any activity is detected in the network, the LED is
asserted for a period of at least 300 milliseconds. This pin
can be used for SIA testing features.
supplied by an external SIA. The clock must always be
active. This pin can be used for SIA testing features.
from the 21040. This data is synchronized to the TCLK
signal. This pin can be used for SIA testing features.
(continued on next page)
2–5
Page 24
Table 2–1 (Cont.) Signal Pin Reference
SignalTypeDescription
EXT_TXENI/OTransmit enable or test pin signals the 21040 transmit-in-
FRAME_LI/OCycle frame is driven by the 21040 (bus master) to indicate
GNT_LIBus grant asserts to indicate to the 21040 that access to
IDSELIInitialization device select asserts to act as a chip select
INT_LO/DInterrupt request asserts when one of the appropriate bits
IRDY_LI/OInitiator ready indicates the bus master’s ability to
IREFICurrent reference input for the analog phase lock loop
progress to an external SIA. The pin is also used for SIA
testing features.
the beginning and duration of an access. FRAME_L
asserts to indicate the beginning of a bus transaction.
While FRAME_L is asserted, data transfers continue.
FRAME_L deasserts to indicate that the next data phase
is the final data phase transaction.
the bus is granted.
during configuration read or write transactions.
of CSR5 sets and causes an interrupt, provided that the
corresponding mask bit in CSR7 is not asserted. INT_L
deasserts by writing a 1 into the appropriate CSR5 bit.
If more than one interrupt bit is asserted in CSR5, the
host clears only the interrupt bit that was acknowledged,
INT_L deasserts for one cycle and then asserts again. This
process continues until all interrupts are acknowledged.
When deasserted, this pin should be pulled up by an
external resistor.
complete the current data phase of the transaction.
A data phase is completed on any clock when both IRDY_L
and target ready (TRDY_L) are asserted. Wait cycles are
inserted until both IRDY_L and TRDY_L are asserted
together.
When the 21040 is the bus master, IRDY_L is asserted
during write operations to indicate that valid data is
present on AD<31:00>. During read operations, the 21040
asserts IRDY_L to indicate that it is ready to accept data.
logic.
(continued on next page)
2–6
Page 25
Table 2–1 (Cont.) Signal Pin Reference
SignalTypeDescription
PARI/OParity is calculated by the 21040 as an even parity bit for
PERR_LI/OParity error asserts when a data parity error is detected.
REQ_LOBus request is asserted by the 21040 to indicate to the bus
RST_LIResets the 21040 to its initial state. This signal must be
SCLKOEthernet address ROM clock is used to clock data
SDINIEthernet address ROM data in is used to serially shift the
SERR_LO/DIf an address parity error is detected and CFCS bit 31
SRSTOEthernet address ROM reset provides an asynchronous
the AD<31:00> and C_BE_L<03:00> lines.
During address and data phases, parity is calculated on all
the AD and C_BE_L lines whether or not any of these lines
carry meaningful information.
When the 21040 is the bus master and a parity error is
detected, the 21040 asserts both CSR5 bit 13 (system
error) and CFCS bit 8 (SERR_L enable) and completes the
current data burst transaction, then stops its operation.
After the host clears the system error, the 21040 continues
its operation.
When the 21040 is the bus target and a parity error is
detected, the 21040 asserts PERR_L.
arbiter that it wants to use the bus.
asserted for at least 10 active PCI clock cycles. When in
the reset state, all output pins are put into tristate and all
open drain (O/D) signals are floated.
information into the 21040.
Ethernet identification address from the serial ROM device
into the 21040.
(detected parity error) is enabled, 21040 asserts both
SERR_L (system error) and CFCS bit 30 (signal system
error).
When an address parity error is detected, system error
asserts two clocks after the failing address.
When deasserted, this pin should be pulled up by an
external resistor.
initialization of the serial ROM device.
(continued on next page)
2–7
Page 26
Table 2–1 (Cont.) Signal Pin Reference
SignalTypeDescription
STOP_LI/OStop indicator indicates that the current target is
TCKIJTAG clock shifts state information and test data into and
TDIIJTAG data in is used to serially shift test data and
TDOOJTAG data out is used to serially shift test data and
TMSIJTAG test mode select controls the state operation of JTAG
TP_RD–ITwisted-pair negative differential receive data from the
TP_RD+ITwisted-pair positive differential receive data from the
TP_TD–
TP_TD– –
TP_TD+
TP_TD+ +
OTwisted-pair negative differential transmit data. The
OTwisted-pair positive differential transmit data. The
requesting the bus master to stop the current transaction.
The 21040 responds to the assertion of STOP_L when it is
the bus master, either to disconnect, retry, or abort.
out of the 21040 during JTAG test operations (Appendix A).
instructions into the 21040 during JTAG test operations
(Appendix A).
instructions out of the 21040 during JTAG test operations
(Appendix A).
testing in the 21040 (Appendix A).
twisted-pair lines.
twisted-pair lines.
positive and negative differential transmit data outputs are
resistively combined outside the 21040 with equalization
to compensate for intersymbol interference on the twistedpair medium.
positive and negative differential transmit data outputs are
resistively combined outside the 21040 with equalization
to compensate for intersymbol interference on the twistedpair medium.
(continued on next page)
2–8
Page 27
Table 2–1 (Cont.) Signal Pin Reference
SignalTypeDescription
TRDY_LI/OTarget ready indicates the target agent’s ability to complete
VCAP_HICapacitor input for analog phase lock loop logic.
VDDI3.3-volt supply input voltage.
VDDACI3.3-volt supply input for analog phase lock loop logic.
VDD_CLAMPISupplies +5-volt or 3.3-volt reference for the clamp logic.
1
VSS
XTAL1ICrystal oscillator input.
XTAL2OCrystal feedback output pin used for crystal connections
1
Device pins 90 and 96 are test pins used for Digital engineering evaluation of the 21040; they
must be tied to VSS for normal chip operation.
–Ground pin.
2.3 Bus Commands
the current data phase of the transaction.
A data phase is completed on any clock when both TRDY_L
and initiator ready (IRDY_L) are asserted. Wait cycles are
inserted until both IRDY_L and TRDY_L are asserted
together.
When the 21040 is the bus master, TRDY_L is asserted by
the bus slave on the read operation indicating that valid
data is present on AD<31:00>. During a write cycle, it
indicates that the target is prepared to accept data.
only. If this pin is unused, do not connect it.
Table 2–2 lists the bus commands.
Table 2–2 Bus Commands
C_BE_L<3:0>CommandType of Support
0000Interrupt acknowledgeNot supported
0001Special cycleNot supported
0010I/O readSupported as target
0011I/O writeSupported as target
(continued on next page)
2–9
Page 28
Table 2–2 (Cont.) Bus Commands
C_BE_L<3:0>CommandType of Support
0100Reserved–
0101Reserved–
0110Memory readSupported as initiator and target
0111Memory writeSupported as initiator and target
1000Reserved–
1001Reserved–
1010Configuration readSupported as target
1011Configuration writeSupported as target
1100Reserved–
1101Memory write and invalidateNot supported
1110Memory read longNot supported
1111Postable memory writeNot supported
2–10
Page 29
This chapter describes the 21040 configuration registers as well as command
and status registers (CSRs). The 21040 uses eight configuration registers for
initialization and configuration. Configuration registers are used to identify
and query the 21040.
The 21040 contains 12 CSRs (CSR0 through CSR11) for communication with
the driver to the host. It communicates with the serial interface attachment
(SIA) using four additional command and status registers (CSR12 through
CSR15).
CSRs are located in the 21040 and are mapped in the host I/O or memory
address space. CSRs are used for the following:
Initialization
Pointers
Commands
Error reporting
3.1 21040 Configuration Operation
3
Registers
The 21040 enables a full software-driven initialization and configuration. This
permits the software to identify and query the 21040.
The 21040 treats configuration space write operations to registers that are
reserved as no-ops. That is, the access completes normally on the bus and the
data is discarded. Read accesses, to reserved or non-implemented registers,
complete normally and a data value of 0 is returned.
Software reset (CSR0<0>) has no effect on the configuration registers.
Hardware reset clears the configuration registers.
21040 supports byte, word, and longword accesses to the configuration area.
3–1
Page 30
3.1.1 Configuration Register Mapping
Table 3–1 lists the definitions and addresses for the configuration registers.
Table 3–1 Configuration Register Mapping
Configuration RegisterIdentifierI/O Address
IdentificationCFIDxxxxxx00H
Command and statusCFCSxxxxxx04H
RevisionCFRVxxxxxx08H
Latency timerCFLTxxxxxx0CH
Base I/O addressCBIOxxxxxx10H
Base memory addressCBMAxxxxxx14H
Reserved–xxxxxx18H - xxxxxx38H
InterruptCFITxxxxxx3CH
Driver areaCFDAxxxxxx40H
3.1.2 Configuration Registers
The 21040 implements eight configuration registers. These registers are
described in the following subsections.
3.1.2.1 Configuration ID Register (CFID)
The CFID register identifies the 21040. Figure 3–1 shows the CFID register
bit fields, and Table 3–2 describes the bit fields.
Table 3–2 CFID Configuration ID Register Description
FieldDescription
31:16Device ID
Provides the unique 21040 ID number (0002H).
15:0Vendor ID
Specifies the manufacturer of the 21040 (1011H).
Table 3–3 lists the access rules for the CFID register.
Table 3–3 CFID Access Rules
CategoryDescription
Value after hardware or software reset00021011H
Read access rules–
Write access rulesWriting has no effect
3.1.2.2 Command and Status Configuration Register (CFCS)
The CFCS register is divided into two sections: a command register
(CFCS<15:0>) and a status register (CFCS<31:16>).
The command register provides coarse control of the 21040’s ability to generate
and respond to PCI cycles. Writing 0 to this register, the 21040 logically
disconnects from the PCI bus for all accesses except configuration accesses.
The status register records status information for the PCI bus-related events.
The CFCS status bits do not clear when read. Writing 1 to these bits clears
them; writing 0 has no effect.
Figure 3–2 shows the CFCS bit fields, and Table 3–4 describes the bit fields.
3–3
Page 32
Figure 3–2 CFCS Command and Status Configuration Register
Table 3–4 CFCS Command and Status Configuration Register Description
FieldDescription
31Detected Parity Error—status
When set, the 21040 detected a parity error, even if parity error handling is
disabled in parity error response (CFCS<6>).
30Signal System Error—status
When set, the 21040 asserted the system error (SERR_L) pin.
29Received Master Abort—status
When set, the 21040 terminated a transaction with master abort.
28Received Target Abort—status
When set, the 21040 terminated a transaction with target abort.
26:25DEVSEL Timing—status
Indicates the timing of the assertion of device select (DEVSEL_L). These bits are
set to 01 which indicates a medium assertion of DEVSEL_L.
24Data Parity Report—status
This bit sets when the following three conditions are met:
•21040 asserts parity error (PERR_L) or it senses the assertion of PERR_L by
another device.
•21040 operates as a bus master for the operation that caused the error.
•Parity error response (CFCS<6>) is set.
23Fast Back-to-Back—status
Always set by the 21040. This indicates that the 21040 is capable of accepting fast
back-to-back transactions that are not sent to the same bus device.
8SERR_L Enable—command
When set, the 21040 asserts system error (SERR_L) when it detects a parity error
on the address.
6Parity Error Response—command
When set, the 21040 asserts system error (CSR5<13>) after a parity error detection.
When reset, any detected parity error is ignored and the 21040 continues normal
operation.
Parity checking is disabled after reset.
(continued on next page)
3–5
Page 34
Table 3–4 (Cont.) CFCS Command and Status Configuration Register Description
FieldDescription
2Master Operation—command
When set, the 21040 is capable of acting as a bus master.
When reset, the 21040 capability to generate PCI accesses is disabled.
For normal 21040 operation, this bit must be set.
1Memory Space Access—command
When set, the 21040 responds to memory space accesses.
When reset, the 21040 does not respond to memory space accesses.
0I/O Space Access—command
When set, the 21040 responds to I/O space accesses.
When reset, the 21040 does not respond to I/O space accesses.
Table 3–5 lists the access rules for the CFCS register.
Table 3–5 CFCS Access Rules
CategoryDescription
3–6
Value after hardware
reset
Read access rules–
Write access rulesWritten during configuration cycle.
All reserved bits are 0.
Page 35
3.1.2.3 Configuration Revision Register (CFRV)
The CFRV register contains the 21040 revision number. Figure 3–3 shows the
CFRV bit fields, and Table 3–6 describes the bit fields.
Indicates the network controller and is equal to 2H.
23:16Subclass
Indicates the Ethernet controller and is equal to 0H.
7:4Step Number
Indicates the 21040 step number and is equal to 2H. This number is
incremented for subsequent 21040 steps.
3:0Revision Number
Indicates the 21040 revision number and is equal to either 0H, 1H, 2H,
or 3H. This number is incremented for subsequent 21040 revisions within
the current step.
0
Table 3–7 lists the access rules for the CFRV register.
3–7
Page 36
Table 3–7 CFRV Access Rules
CategoryDescription
Value after hardware or software reset0200FF20H, 0200FF21H,
Specifies, in units of PCI bus clocks, the value of the latency timer of the
21040.
When the 21040 asserts FRAME_L, it enables its latency timer to count.
If the 21040 deasserts FRAME_L prior to count expiration, the content
of the latency timer is not valid. Otherwise, after the count expires,
the 21040 initiates transaction termination as soon as its GNT_L is
deasserted.
Table 3–9 lists the access rules for the CFLT register.
Page 37
Table 3–9 CFLT Access Rules
CategoryDescription
Value after software
All reserved bits are 0.
reset
Read access rules–
Write access rulesWritten once during configuration.
3.1.2.5 Configuration Base I/O Address Register (CBIO)
The CBIO register specifies the base I/O address for accessing the 21040 CSRs
(CSR0 through CSR15). For example, if the CBIO register is programmed to
1000H, the I/O address of CSR15 is equal to CBIO + CSR15-offset for a value
of 1078H (Table 3–18).
This register must be initialized prior to accessing any CSR.
Figure 3–5 shows the CBIO bit fields and Table 3–10 describes the bit fields.
Figure 3–5 CBIO Configuration Base I/O Address Register
Table 3–12 CBMA Configuration Base Memory Address Register Description
FieldDescription
31:7Configuration Base Memory Address
Defines the address assignment mapping of the 21040 CSRs.
6:1This field value is 0 when read.
0Memory Space Indicator
Determines that the register maps into the memory space. The value in
this field is 0. This is a read-only field.
Table 3–13 lists the access rules for the CBMA register.
Page 39
Table 3–13 CBMA Access Rules
CategoryDescription
Value after resetSoftware reset has no effect.
Read access rules–
Write access rulesWritten once during configuration.
3.1.2.7 Configuration Interrupt Register (CFIT)
The CFIT register is divided into two sections: the interrupt line and the
interrupt pin. CFIT configures both the system’s interrupt line and the 21040
interrupt pin connection.
Figure 3–7 shows the CFIT bit fields, and Table 3–14 describes the bit fields.
Indicates which interrupt pin the 21040 uses. The 21040 uses INTA#,
and the read value is 01H.
7:0Interrupt Line
Provides interrupt line routing information. The BIOS writes the routing
information into this field when it initializes and configures the system.
The value in this field indicates which input of the system interrupt
controller the 21040’s interrupt pin is connected to. The driver can use
this information to determine priority and vector information. Values in
this field are architecture-specific.
0
3–11
Page 40
Table 3–15 lists the access rules for the CFIT register.
Table 3–15 CFIT Access Rules
CategoryDescription
Value after resetSoftware reset has no effect.
Read access rules–
Write access rules–
3.1.2.8 Configuration Driver Area Register (CFDA)
The CFDA register can be used to store driver-specific information during
initialization. It has no effect on the 21040 operation.
Figure 3–8 shows the CFDA bit field, and Table 3–16 describes the bit field.
Table 3–16 CFDA Configuration Driver Area Register Description
FieldDescription
15:8Driver Special Use
Read and write fields for the driver’s special use.
Table 3–17 lists the access rules for the CFDA register.
0
3–12
Page 41
Table 3–17 CFDA Access Rules
CategoryDescription
Value after resetSoftware reset has no effect.
Read access rules–
Write access rules–
3.2 Command and Status Registers
The 21040 contains 16 command and status registers, which can be accessed
by the host. Table 3–18 lists the CSR registers.
Table 3–18 CSR Mapping
RegisterMeaning
CSR0Bus mode register00H
CSR1Transmit poll demand08H
CSR2Receive poll demand10H
CSR3Receive list base address18H
CSR4Transmit list base address20H
CSR5Status register28H
CSR6Operation mode register30H
CSR7Interrupt mask register38H
CSR8Missed frame counter40H
CSR9Ethernet ROM register48H
CSR10Reserved50H
CSR11Full-duplex register58H
CSR12SIA status register60H
CSR13SIA connectivity register68H
CSR14SIA transmit receive register70H
CSR15SIA general register78H
Offset from CSR Base
Address (CBIO, CBMA)
The 21040 CSRs are located in the host I/O or memory address space.
The CSRs are quadword-aligned and can only be accessed using longword
instructions.
3–13
Page 42
•Register access is only longword access; byte accesses to CSR0–
CSR15 are not supported. Accessing a non-longword address
register causes UNPREDICTABLE data results.
•Reserved bits must be written with 0. Reserved bits are
UNPREDICTABLE on read accesses.
•Retries on second data transactions occur in response to burst I/O
accesses.
CSRs are physically located in the chip. The host uses a single instruction
to access to a CSR. Most commonly used 21040 features are contained in the
CSRs.
3.2.1 Host CSRs
There are 12 CSRs (CSR0 through CSR11) used to communicate with the host.
3.2.1.1 Bus Mode Register (CSR0)
Figure 3–9 shows the CSR0 bit fields, and Table 3–19 describes the bit fields.
CSR0 establishes the bus operating modes.
When set and the 21040 is in a suspended state because of a transmit buffer
unavailable, the 21040 performs a transmit automatic poll demand (Table 3–20).
16DAS—Diagnostic Address Space (read, write)
When reset, CSR0 through CSR15 are mapped on I/O space and memory space
(21040 address space becomes 128 bytes).
When set, all 16 CSRs and all diagnostic registers are mapped on I/O and memory
space.
15:14CAL—Cache Alignment (read, write)
Programmable address boundaries for data burst stop (Table 3–22). If the buffer is
not aligned, the 21040 executes the first transfer up to the address boundary, then
all transfers are aligned to the specified boundary.
13:8PBL—Programmable Burst Length (read, write)
Indicates the maximum number of longwords to be transferred in one DMA
transaction. If PBL = 0, the 21040 burst is limited only by the amount of data
stored in the receive FIFO (at least 16 longwords) or by the amount of free space in
the transmit FIFO (at least 16 longwords) before issuing a bus request.
The PBL can be programmed with permissible values 0, 1, 2, 4, 8, 16, or 32. After
reset, the PBL default value is 0.
7BLE—Big/Little Endian (read, write)
When set, the 21040 operates in big endian byte ordering mode. When reset, the
21040 operates in little endian byte ordering mode.
Big endian is applicable only for data buffers.
For example, the byte order in little endian of a data buffer is 12345678H, with
each digit representing a nibble. In big endian, the byte orientation is 78563412H.
6:2DSL—Descriptor Skip Length (read, write)
Specifies the number of longwords to skip between two descriptors.
To improve performance, descriptors can be placed in a separate cache line and
should not have to be contiguous.
1BAR—Bus Arbitration (read, write)
(continued on next page)
3–16
Page 45
Table 3–19 (Cont.) CSR0 Bus Mode Register Description
FieldDescription
Selects the internal bus arbitration between the receive and transmit processes.
When set, a round robin arbitration scheme is applied resulting in equal sharing
between processes. When reset to 0, the receive process has priority over the
transmit process, unless the 21040 is currently transmitting (Section 5.2).
0SWR—Software Reset (read, write)
When set, the 21040 resets all internal hardware.
When reset, duration should be at least 10 PCI clock cycles. After reset deassertion,
the first bus transaction to the 21040 should not be initiated before at least 50 more
PCI cycles elapse.
Software reset does not affect the configuration area.
Table 3–20 defines the transmit automatic polling bits.
Table 3–20 Transmit Automatic Polling Bits
CSR0<18:17>Time Intervals
00No transmit automatic polling; CSR1 access should be used to poll
01Transmit automatic polling every 200 microseconds.
10Transmit automatic polling every 800 microseconds.
11Transmit automatic polling every 1.6 milliseconds.
the transmit descriptor list.
Table 3–21 lists the CSR0 access rules.
Table 3–21 CSR0 Access Rules
CategoryDescription
Value after resetFFF80000H.
Read access rules–
Write access rulesTo write, the transmit and receive processes must be
stopped. If one or both of the processes is not stopped,
the result is UNPREDICTABLE.
Table 3–22 defines the cache address alignment bits.
3–17
Page 46
Table 3–22 Cache Address Alignment Bits
CSR0<15:14>Address Alignment
00Not used
018-longword boundary alignment
1016-longword boundary alignment
1132-longword boundary alignment
3.2.1.2 Transmit Poll Demand (CSR1)
Figure 3–10 shows the CSR1 bit field, and Table 3–23 describes the bit field.
When written with any value, the 21040 checks for frames to be transmitted. If
no descriptor is available, the transmit process returns to the suspended state
and CSR5<2> is not asserted. If the descriptor is available, the transmit process
resumes.
Table 3–24 lists the CSR1 access rules.
111111111
1
MLO-010299
0
3–18
Page 47
Table 3–24 CSR1 Access Rules
CategoryDescription
Value after resetFFFFFFFFH
Read access rules–
Write access rulesNot effective if the transmit process is not in the suspended
state.
3.2.1.3 Receive Poll Demand (CSR2)
Figure 3–11 shows the CSR2 bit field, and Table 3–25 describes the bit field.
When written with any value, the 21040 checks for receive descriptors to be
acquired. If no descriptor is available, the receive process returns to the suspended
state and CSR5<7> is not asserted. If the descriptor is available, the receive
process resumes.
Table 3–26 lists the access rules for CSR2.
111111111
1
MLO-010300
0
3–19
Page 48
Table 3–26 CSR2 Access Rules
CategoryDescription
Value after resetFFFFFFFFH
Read access rules–
Write access rulesEffective only if the receive process is in the suspended
state.
3.2.1.4 Descriptor List Addresses (CSR3, CSR4)
The CSR3 descriptor list address register is used for receive buffer descriptors,
and the CSR4 descriptor list address register is used for transmit buffer
descriptors. In both cases, the registers are used to point the 21040 to the start
of the appropriate descriptor list.
Figure 3–12 shows the CSR3 bit field, and Table 3–27 describes the bit field.
Note
The descriptor lists reside in physical memory space and must be
longword-aligned. The 21040 behaves unpredictably when the lists are
not longword-aligned.
Writing to either CSR3 or CSR4 is permitted only when its respective process
is in the stopped state. When stopped, the CSR3 and CSR4 registers must be
written before the respective START command is given (Section 3.2.1.6).
Table 3–28 CSR4 Transmit List Base Address Description
FieldDescription
31:2Start of transmit list (read, write)
1:0Must be 00 (read, write)
Table 3–29 lists the access rules for CSR3, and Table 3–30 lists the access rules
for CSR4.
Table 3–29 CSR3 Access Rules
CategoryDescription
Value after resetUNPREDICTABLE
Read access rules–
Write access rulesReceive process stopped
Table 3–30 CSR4 Access Rules
CategoryDescription
Value after resetUNPREDICTABLE
Read access rules–
Write access rulesTransmit process stopped
3–21
Page 50
3.2.1.5 Status Register (CSR5)
The status register CSR5 contains all the status bits that the 21040 reports to
the host. CSR5 is usually read by the driver during interrupt service routine
or polling. Most of the fields in this register cause the host to be interrupted.
CSR5 bits are not cleared when read. Writing 1 to these bits clears them;
writing 0 has no effect. Each field can be masked (Section 3.2.1.7).
Figure 3–14 shows the CSR5 bit fields, and Table 3–31 describes the bit fields.
Indicates the type of error that caused system error. Valid only when system error
CSR5<13> is set (Table 3–32). This field does not generate an interrupt.
22:20TS—Transmit Process State (read)
Indicates the state of the transmit process (Table 3–33). This field does not
generate an interrupt.
19:17RS—Receive Process State (read)
Indicates the state of the receive process (Table 3–34). This field does not generate
an interrupt.
16NIS—Normal Interrupt Summary (read, write)
Normal interrupt summary bit. Its value is the logical OR of
Unmasked bits affect only the normal interrupt summary CSR5<16> bit.
15AIS—Abnormal Interrupt Summary (read, write)
Abnormal interrupt summary bits. Its value is the logical OR of
CSR5<1>—Transmit process stopped
CSR5<3>—Transmit jabber time-out
CSR5<5>—Transmit underflow
CSR5<7>—Receive buffer unavailable
CSR5<8>—Receive process stopped
CSR5<9>—Receive watchdog time-out
CSR5<10>—AUI/TP pin
CSR5<11>—Full-duplex short frame received
CSR5<12>—Link fail
CSR5<13>—System error
Unmasked bits affect only the abnormal interrupt summary CSR5<15> bit.
13SE—System Error (read, write)
Indicates that a system error occurred (Table 3–32).
12LNF—Link Fail (read, write)
Indicates that a link fail occurred in the twisted-pair lines. See link fail status
CSR12<2>.
3–24
(continued on next page)
Page 53
Table 3–31 (Cont.) CSR5 Status Register Description
FieldDescription
11FD—Full-Duplex Short Frame Received (read, write)
Indicates that the first full-duplex short frame was received. The driver should
wait for the second 64-byte full-duplex packet (Section 5.8).
The full-duplex auto configuration short packet is treated as any other runt frame
except that full-duplex short frame received CSR5<11> is asserted. (In pass bad
frame or promiscuous filtering modes, this packet is transferred to the host.)
10AT—AUI/TP Pin (read, write)
Indicates that the SIA AUI/TP pin has changed position.
9RWT—Receive Watchdog Time-Out (read, write)
Indicates that the receive watchdog timer expired, and another node is babbling on
the network. Current frame reception aborts while length error RDES0<14> and
last descriptor RDES0<8> assert. Receive interrupt CSR5<6> also asserts, and the
receive process remains in the running state.
8RPS—Receive Process Stopped (read, write)
Indicates that the receive process is stopped. Table 5–2 explains the receive process
state transitions.
7RU—Receive Buffer Unavailable (read, write)
Indicates that the next descriptor in the receive list is owned by the host and
cannot be acquired by the 21040. The reception process is suspended. To
resume processing receive descriptors, the host should change the ownership of
the descriptor and might issue a receive poll demand command. If no receive
poll demand is issued, the reception process resumes when the next recognized
incoming frame is received.
After the first assertion, CSR5<7> does not assert for any subsequent not owned
receive descriptors fetches. CSR5<R7> asserts only when the previous receive
descriptor was owned by the 21040.
6RI—Receive Interrupt (read, write)
Indicates the completion of a frame reception. Specific frame status information
has been posted in the descriptor. The reception process remains in the running
state.
(continued on next page)
3–25
Page 54
Table 3–31 (Cont.) CSR5 Status Register Description
FieldDescription
5UNF—Transmit Underflow (read, write)
Indicates that the transmit FIFO had an underflow condition during the packet
transmission. The transmit process is placed in the suspended state, and underflow
error TDES0<1> is set.
3TJT—Transmit Jabber Time-Out (read, write)
Indicates that the transmit jabber timer expired, meaning that the 21040
transmitter was babbling. The transmission process is aborted and placed in
the stopped state. This event causes the transmit jabber time-out TDES0<14> flag
to assert.
2TU—Transmit Buffer Unavailable (read, write)
Indicates that the next descriptor on the transmit list is owned by the host and
cannot be acquired by the 21040. The transmission process is suspended. Table 5–3
explains the transmit process state transitions. To resume processing transmit
descriptors, the host should change the ownership bit of the descriptor, then issue a
transmit poll demand command, unless transmit automatic polling (Table 3–20) is
enabled.
1TPS—Transmit Process Stopped (read, write)
Asserts when the transmit process enters the stopped state.
0TI—Transmit Interrupt (read, write)
Indicates that a frame transmission was completed, while TDES1<31> is asserted
in the first descriptor of the frame.
3–26
Table 3–32 lists the bit codes for the bus error bits.
Table 3–33 lists the bit codes for the transmit process state.
Page 55
Table 3–33 Transmit Process State
CSR5<22:20>Process State
000Stopped—RESET command or transmit jabber expired
001Running—Fetch transmit descriptor
010Running—Wait for end of transmission
011Running—Read buffer from memory, and queue the data into the
100Reserved
101Running—Setup packet
110Suspended—Transmit FIFO underflow or an unavailable transmit
111Running—Close transmit descriptor
transmit FIFO
descriptor
Table 3–34 lists the bit codes for the receive process state.
Table 3–34 Receive Process State
CSR5<19:17>Process State
000Stopped—RESET or STOP RECEIVE command
001Running—Fetch receive descriptor
010Running—Check for end-of-receive packet before prefetch of next
011Running—Wait for receive packet
100Suspended—Unavailable receive buffer
101Running—Close receive descriptor
110Running—Flush the current frame from the receive FIFO because of
111Running—Queue the receive frame from the receive FIFO into the
descriptor
unavailable receive buffer
receive buffer
Table 3–35 lists the access rules for CSR5.
3–27
Page 56
Table 3–35 CSR5 Access Rules
CategoryDescription
Value after resetFC000000H
Read access rules–
Write access rulesCSR5 bits 0 through 16 are cleared by writing 1. Writing 0
to these bits has no effect. Writing to CSR5 bits 17 through
25 has no effect.
3–28
Page 57
3.2.1.6 Operation Mode Register (CSR6)
CSR6 establishes the receive and transmit operating modes and commands.
CSR6 should be the last CSR to be written as part of initialization.
Figure 3–15 shows the CSR6 bit fields, and Table 3–36 describes the bit
fields.
When set, enables the resolution of the capture effect on the network (Section 7.4.7).
When reset, the 21040 disables the resolution of the capture effect on the network.
This feature is not part of the IEEE 802.3 and Ethernet standards.
16BP—Back Pressure (read, write)
When set, enables the transmit back pressure logic. When receive data buffers are
exhausted, the 21040 asserts the transmit carrier for a maximum period of 500
milliseconds. Upon back pressure, if a 21040 receive descriptor becomes available
(a receive poll demand was issued), the 21040 stops back pressure and fetches the
descriptor.
When reset, disables the transmit back pressure logic.
This feature is not part of the IEEE 802.3 and Ethernet standards.
15:14TR—Threshold Control Bits (read, write)
Controls the selected threshold level for the 21040 transmit FIFO. Four threshold
levels are allowed (Table 3–37).
The threshold value has a direct impact on the 21040 bus arbitration scheme
(Section 5.2).
Transmission starts when the frame size within the transmit FIFO is larger
than the threshold. Full frames with a length less than the threshold are also
transmitted.
The transmit process must be in the stopped state to change these bits
(CSR6<15:14>).
When set, the transmission process is placed in the running state, and the 21040
checks the transmit list at the current position for a frame to be transmitted.
Descriptor acquisition is attempted either from the current position in the list,
which is the transmit list base address set by CSR4, or from the position retained
when the transmit process was previously stopped. If no descriptor can be acquired,
the transmit process enters the suspended state.
If the current descriptor is not owned by the 21040, the transmission process enters
the suspended state, and transmit buffer unavailable CSR5<2> is set. The start
transmission command is honored only when the transmission process is stopped.
If the command is issued before setting CSR4, the 21040 will behave unpredictably.
When reset, the transmission process is placed in the stopped state after completing
the transmission of the current frame. The next descriptor position in the transmit
list is saved and becomes the current position when transmission is restarted.
The stop transmission command is honored only when the transmission process is
in either the running or suspended state (Table 5–3).
12FC—Force Collision Mode (read, write)
Allows the collision logic to be tested. Meaningful only in internal loopback mode.
When set, a collision is forced during the next transmission attempt. This results
in 16 transmission attempts with excessive collision reported in the transmit
descriptor (TDES0<8>).
11:10OM—Operating Mode (read, write)
Selects the 21040 main mode of operation (Table 3–59).
9FD—Full-Duplex Mode (read, write)
When set, the 21040 operates in a full-duplex mode (Section 5.8). The 21040
transmits and receives functions simultaneously (Table 3–59).
Setting the 21040 to operate in full-duplex mode is allowed only if the transmit and
receive processes are in the stopped state, and the start/stop receive (CSR6<1>) and
start/stop transmission commands (CSR6<13>) are both set to 0.
While in full-duplex mode, heartbeat check is disabled, heartbeat fail TDES0<7>
should be ignored, and internal loopback is not allowed.
8FKD—Flaky Oscillator Disable (read, write)
When set, indicates that the internal flaky oscillator is disabled; pseudo random
numbers are chosen instead of fully random numbers. This bit is set only for
diagnostic purposes.
When set, indicates that all the incoming frames with a multicast destination
address (first bit in the destination address field is 1) are received. Incoming
frames with physical address destinations are filtered according to the CSR6<0>
bit.
6PR—Promiscuous Mode (read, write)
When set, indicates that any incoming valid frame is received, regardless of its
destination address.
After reset, the 21040 wakes up in promiscuous mode.
5SB—Start/Stop Backoff Counter (read, write)
When set, indicates that the internal backoff counter stops counting when any
carrier activity is detected. The 21040 backoff counter resumes when the carrier
drops. The earliest the 21040 starts its transmission is 9.6 microseconds after
carrier deassertion.
When reset, the internal backoff counter is not affected by the carrier activity.
This feature violates IEEE 802.3 and Ethernet standards.
4IF—Inverse Filtering (read)
When set, the 21040 operates in an inverse filtering mode (Table 4–8).
3PB—Pass Bad Frames (read, write)
When set, the 21040 operates in pass bad frame mode. All incoming frames that
passed the address filtering are received, including runt frames, collided fragments,
or truncated frames caused by FIFO overflow.
If any received bad frames are required, promiscuous mode (CSR6<6>) should be
set to 1.
2HO—Hash-Only Filtering Mode (read)
When set, the 21040 operates in an imperfect address filtering mode for both
physical and multicast addresses (Table 4–8).
When set, the receive process is placed in the running state. The 21040 attempts
to acquire a descriptor from the receive list and processes incoming frames.
Descriptor acquisition is attempted from the current position in the list, which is
the address set by CSR3 or the position retained when the receive process was
previously stopped. If no descriptor is owned by the 21040, the receive process
enters the suspended state and receive buffer unavailable (CSR5<7>) sets.
The start reception command is honored only when the reception process has
stopped. If the command was issued before setting CSR3, the 21040 behaves
unpredictably.
When cleared, the receive process enters the stopped state after completing the
reception of the current frame. The next descriptor position in the receive list is
saved, and becomes the current position after the receive process is restarted. The
stop reception command is honored only when the receive process is in running or
suspended state (Section 5.5.4).
0HP—Hash/Perfect Receive Filtering Mode (read)
When reset, the 21040 does a perfect address filter of incoming frames according to
the addresses specified in the setup frame (Table 4–8).
When set, the 21040 does imperfect address filtering of the incoming frame
according to the hash table specified in the setup frame.
Table 3–37 lists the threshold values in bytes.
Table 3–37 Transmit Threshold
CSR6<15:14>Threshold (Bytes)
0072
0196
10128
11160
3–33
Page 62
Table 3–38 lists the codes to determine the filtering mode.
Table 3–39 describes the only conditions that permit change to a field when
modifying values to CSR6.
Table 3–39 CSR6 Access Rules
CategoryDescription
Value after resetFFFC0040H
Read access rules–
Write access rules
* CSR6<11:10>Receive and transmit processes
* CSR6<12>Receive and transmit processes
* CSR6<3>Receive process stopped
* CSR6<15:14>Transmit process stopped
* CSR6<8>Transmit process stopped
* CSR6<9>Transmit process stopped
* CSR6<5>Receive and transmit processes
* CSR6<17>Receive and transmit processes
* CSR6<16>Receive and transmit processes
* Start_Receive CSR6<1>=1CSR3 initialized
* Start_Transmit CSR6<13>=1CSR4 initialized
* Stop_Receive CSR6<1>=0Receive running or suspended
* Stop_Transmit CSR6<13>=0Transmit running or suspended
stopped
stopped, internal_loopback mode
stopped
stopped
stopped
3–35
Page 64
3.2.1.7 Interrupt Mask Register (CSR7)
The Interrupt Mask register (CSR7) masks the interrupts reported by CSR5
(Section 3.2.1.5). Setting a bit to 1 enables a corresponding interrupt. After a
hardware or software reset, all interrupts are disabled. Figure 3–16 shows the
CSR7 bit fields, and Table 3–40 describes the bit fields.
Sets when the missed frame counter overflows; resets when CSR8 is read.
15:0Missed Frame Counter (read)
Indicates the number of frames discarded because no host receive
descriptors were available. The counter clears when read.
Table 3–43 lists the access rules for CSR8.
Table 3–43 CSR8 Access Rules
CategoryDescription
0
3–40
Value after resetFFFE0000H
Read access rules–
Write access rulesNot possible
Page 69
3.2.1.9 Ethernet Address ROM Register (CSR9)
This register provides an interface to the external Ethernet address ROM.
It contains a data byte that is serially read from the ROM. Each read access
causes 8-bit, serial, read cycles from the Ethernet address ROM. Writing to this
register resets the pointer of the Ethernet address ROM to its first location.
Figure 3–18 shows the Ethernet address ROM register, and Table 3–44
describes the register bit fields.
Figure 3–18 CSR9 Ethernet Address ROM Register
DN - Data Not Valid
DT - Data
Table 3–44 CSR9 Ethernet Address ROM Register Description
When set, indicates that the byte transfer from the ROM is not
completed. Subsequent reads must be performed until this bit returns 0,
indicating that the data byte field is valid in CSR9<7:0>. Also, the ROM
pointer indicates the location of the next byte in ROM.
Contains the data byte read from the Ethernet address ROM.
0
3–41
Page 70
Table 3–45 CSR9 Access Rules
CategoryDescription
Value after resetUNPREDICTABLE
Read access rules–
Write access rulesROM pointer reset
3.2.1.10 Full-Duplex Register (CSR11)
This register contains a 16-bit value for received full-duplex auto configuration
support. Figure 3–19 shows the CSR11 bit fields, and Table 3–46 describes the
bit fields.
15:0Full-Duplex Auto Configuration Value (read, write)
Contains the full-duplex auto configuration value. When this field is set,
the 21040 monitors received short frames with a maximum length of 80
bits: 64 bits for preamble and 16 bits of data. If the 16 bits of data match
this field, the full-duplex short frame CSR5<11> is set.
Table 3–47 lists the access rules for CSR11.
0
3–42
Page 71
Table 3–47 CSR11 Access Rules
CategoryDescription
Value after resetFFFF0000H
Read access rulesNot possible
Write access rulesReceive process stopped
3.2.2 Serial Interface Attachment CSRs
This section describes the four serial interface attachment (SIA) registers:
CSR12, CSR13, CSR14, and CSR15. This description includes different SIA
configurations and diagnostic programming. SIA status is maintained in
CSR12.
The SIA registers control the functionality and connectivity of the SIA features,
enabling various configurations and options. Some of the configurations are
used only for diagnostic and testing purposes. The AUI or 10BASE-T selection
is done in one of the following ways:
•SIA Auto Configuration—The SIA automatically configures to AUI or
10BASE-T according to the setup described in Table 3–52.
•SIA Pin Configuration—The SIA automatically configures to AUI or
10BASE-T according to the setup described in Table 3–52.
•SIA Full Programming—All three SIA registers (CSR13, CSR14, and
CSR15) are programmed with the values required to achieve functionality
for special configurations such as full-duplex, loopback, and diagnostic.
Note
Before changing any value in CSR13, CSR14, or CSR15, first perform
an SIA software reset by writing CSR13 with all zeros (CSR13 =
00000000H).
Any mode change from SIA_full_programming to SIA_auto_configuration
or SIA_pin_configuration must be preceded by setting all SIA registers
to their reset values. These values are as follows:
Diagnostic bit. When set, indicates that all phase lock loop (PLL) sampler
synchronizers are asserted high.
6DAZ—PLL All Zero
Diagnostic bit. When set, indicates that all PLL sampler synchronizers are asserted
low.
5DSP—PLL Self-Test Pass
PLL built-in integrity self-test status indicator (self-test start CSR15<12>).
0
(continued on next page)
3–44
Page 73
Table 3–48 (Cont.) CSR12 SIA Status Register Description
FieldDescription
PLL self-test pass (CSR12<5>) is valid only if PLL self-test done (CSR12<4>) is
read as 1. If PLL self-test done (CSR12<4>) is 1 and PLL self-test pass (CSR12<5>)
is 1, the self-test is successful; otherwise, the self-test fails.
4DSD—PLL Self-Test Done
Reset when PLL self-test is initiated. Set after self-test completes.
3APS—Auto Polarity State
When set, the 10BASE-T polarity is positive. When reset, the 10BASE-T polarity
is negative. The received bit stream is inverted by the receiver. (Refer to auto
polarity enable CSR14<13> and set polarity plus CSR14<14>.)
2LKF—Link Fail Status
When set, the 10BASE-T link test is in fail state. When reset, the 10BASE-T link
test is in pass state.
During link fail, the 21040 does not transmit any packet to the media. However,
any queued packets in the transmit list can be closed by the 21040 with the
following set:
TDES0<2>—Link fail
TDES0<10>—No carrier
TDES0<11>—Loss of carrier
The 21040 moves from the link fail state to the link pass state when it receives
two consecutive packets. The driver receives no indication about these packets.
Following this, no transmit packet is pending and no carrier is sensed.
1NCR—Network Connection Error
This bit has two meanings:
•In AUI, when set, it indicates no carrier. The status resets itself during the
next transmission attempt.
•In 10BASE-T, this bit sets if no link pass state was established within
2.4 seconds from switching to 10BASE-T (indicating cable failure, for example).
If a link pass state was established within 2.4 seconds from switching to
10BASE-T, this bit resets.
0PAUI—PIN AUI_TP Indication
When set, indicates that the external AUI_TP PIN is connected to the supply
voltage (VDD), requesting AUI interface. When reset, indicates that the external
AUI_TP PIN is connected to ground (VSS), requesting 10BASE-T interface.
Table 3–49 lists the access rules for CSR12.
3–45
Page 74
Table 3–49 CSR12 Access Rules
CategoryDescription
Value after resetFFFFFFC4H or FFFFFFC5H
Read access rules–
Write access rulesRead-only register
3.2.2.2 SIA Connectivity Register (CSR13)
CSR13 contains the SIA connectivity control bits that permit the interconnection of different sections within the SIA to allow coverage of the required
operation and test options.
Figure 3–21 shows the CSR13 bit fields, and Table 3–50 describes the bit
fields.
Table 3–50 CSR13 SIA Connectivity Register Description
FieldDescription
15OE57—Output Enable 5 6 7
Diagnostic bit. When set, pins 5, 6, and 7 of the external SIA interface are selected
as outputs. When reset, these pins are selected as inputs (Table 3–54).
14OE24—Output Enable 2 4
Diagnostic bit. When set, pins 2 and 4 of the external SIA interface are selected as
outputs. When reset, these pins are selected as inputs (Table 3–54).
13OE13—Output Enable 1 3
Diagnostic bit. When set, pins 1 and 3 of the external SIA interface are selected as
outputs. When reset, these pins are selected as inputs (Table 3–54).
12IE—Input Enable
Diagnostic bit. When set, all the pins that were selected as inputs by CSR13<15:13>
are enabled. When reset, all the pins that were selected as inputs by CSR13<15:13>
are disabled.
11:8SEL—External Port Output Multiplexer Select
Diagnostic bit. These bits select the internal signals routed to the EXTERNAL_SIA
port. The routing control enables this port to resume different functions for normal
and diagnostic mode operation. (Table 3–55 lists the signals that can be routed to
the port.)
7ASE—APLL Start Enable
Diagnostic bit. When set, enables the analog phase lock loop differential mode
starter. This bit is used for engineering purposes.
6SIM—Serial Interface Input Multiplexer
Diagnostic bit. When set, enables the selection of the external SIA operating mode
(Table 3–53).
5ENI—Encoder Input Multiplexer
Diagnostic bit. When reset, normal operation mode is selected. When set, it allows
direct driving of the encoder inputs from the EXTERNAL_SIA port (Table 3–54).
4EDP—SIA PLL External Input Enable
Diagnostic bit. When set, enables direct driving of the PLL from the EXTERNAL_
SIA port (Table 3–54).
3AUI—10BASE-T or AUI
(continued on next page)
3–48
Page 77
Table 3–50 (Cont.) CSR13 SIA Connectivity Register Description
FieldDescription
When reset, forces the 21040 to select the 10BASE-T interface. When set to 1,
forces the 21040 to select the AUI interface. This bit is valid only if the AUI/TP pin
CSR13<1> is reset (Table 3–52).
2CAC—CSR Auto Configuration
When set, forces CSR13, CSR14, and CSR15 into a predetermined value according
to the selection of AUI CSR13<3> bit. This bit is valid only if CSR13<1> is reset
(Table 3–52).
1PS—Pin AUI/TP Selection
When set, forces CSR13, CSR14, and CSR15 into a predetermined value according
to the selection of the AUI_TP pin (Table 3–52).
0SRL—SIA Reset
When reset, resets all the SIA functions and machines. This bit is valid only if the
AUI/TP pin selection CSR13<1> and CSR auto configuration CSR13<2> are both
reset.
Table 3–51 lists the access rules for CSR13.
Table 3–51 CSR13 Access Rules
CategoryDescription
Value after resetFFFF0000H.
Read access rulesIf either AUI/TP pin selection CSR13<1> or CSR auto
Write access rulesCSR13 should be reset to 00000000H before writing to any
configuration CSR13<2> is set, the value of CSR13 reflects
the internal states rather than the values written into the
CSR.
SIA CSR and released with or after the last CSR write.
3–49
Page 78
3.2.2.3 SIA Operational Modes
The following four bits are used to determine the AUI and 10BASE-T
modes of operation. Using these four bits in SIA_auto_configuration or
SIA_pin_configuration format overrides all other CSR13, CSR14, and CSR15
bits (Table 3–52).
CSR13<3>—10BASE-T or AUI selection
CSR13<2>—CSR auto configuration
CSR13<1>—Pin AUI/TP selection
CSR13<0>—SIA reset
Table 3–52 AUI—10BASE-T Selection Using SIA_Auto_Configuration and
SIA_Pin_Configuration
CSR13<1> CSR13<2> CSR13<3> AUI_TP PinSetting
1XXVDDAUI Mode—SIA_pin_configuration
1XXVSSTP Mode—SIA_pin_configuration
011XAUI Mode—SIA_auto_configuration
010XTP Mode—SIA_auto_configuration
Table 3–53 lists the programming of the different SIA modes using CSR13,
CSR14, and CSR15. The states of operating mode CSR6<11:10> and fullduplex mode CSR6<9> are also identified.
Table 3–53 Programming of SIA Modes Using CSR13, CSR14, and CSR15
ModeCSR13CSR14CSR15CSR6<11:10> CSR6<9>Note
10BASE-T
normal
10BASE-T
normal
10BASE-T
normal
10BASE-T
full-duplex
3–50
8F01HFFFFH 0000H000LEDs enabled.
EF01H FFFFH 0000H000External SIA
port enabled for
diagnostics.
0F01HFFFFH 0000H000External SIA port
disabled.
8F01HFFFDH 0000H001See Section 5.8.
(continued on next page)
Page 79
Table 3–53 (Cont.) Programming of SIA Modes Using CSR13, CSR14, and CSR15
ModeCSR13CSR14CSR15CSR6<11:10> CSR6<9>Note
10BASE-T
internal
loopback
10BASE-T
external
loopback
AUI normal8F09H0705H0006H000LEDs enabled.
AUI normalEF09H 0705H0006H000External SIA
AUI normal0F09H0705H0006H000External SIA port
AUI external
loopback
External SIA3041H0000H0006H000—
Internal
loopback
8F01HFEFBH 0000H100See Section 5.7.
8F01HF9FDH 0000H100See Section 5.7.
port enabled for
diagnostics.
disabled.
8F09H0705H0006H100See Section 5.7.
xxxxHxxxxHxxxxH010See Section 5.7.
3.2.2.4 SIA Port Configurations
The following list contains three sets of output enable bits that control the
external SIA port interface.
OE57—Output enable bits 5, 6, and 7 (CSR13<15>)
OE24—Output enable bits 2 and 4 (CSR13<14>)
OE13—Output enable bits 1 and 3 (CSR13<13>)
The SIA port contains three sub-ports. Each sub-port can be used as either an
input or output sub-port regardless of how the other sub-ports are configured.
Each configuration enables the external SIA port to reflect different functional
interfaces for different configurations of the SIA section, mainly for diagnostics.
Table 3–54 lists the external SIA port mode selections.
3–51
Page 80
Table 3–54 External SIA Port Mode Selections
ModePin Name
Port
NumberCSR13<15:12>Function
Normal (no
LEDs)
Normal (LEDs)––1000Internal 10BASE-T and AUI
External SIA––0011External chip eliminates need
––0000Internal 10BASE-T and AUI
interfaces are on.
EXT_TXEN1Tristate, no input
EXT_TCLK2Tristate, no input
EXT_TX3Tristate, no input
EXT_RCLK4Tristate, no input
EXT_RXEN5Tristate, no input
EXT_RX6Tristate, no input
EXT_CLSN7Tristate, no input
interfaces are on.
EXT_TXEN1Tristate, no input
EXT_TCLK2Tristate, no input
EXT_TX3Tristate, no input
EXT_RCLK4Tristate, no input
EXT_RXEN5Output—network activity
LED
EXT_RX6Output—LinkPass LED
EXT_CLSN7Output—AUI/10BASE-T LED
for internal SIA functions.
EXT_TXEN1Output
EXT_TCLK2Input
EXT_TX3Output
EXT_RCLK4Input
EXT_RXEN5Input
EXT_RX6Input
EXT_CLSN7Input
(continued on next page)
3–52
Page 81
Table 3–54 (Cont.) External SIA Port Mode Selections
ModePin Name
Port
NumberCSR13<15:12>Function
Trace––1110Different internal signals are
EXT_TXEN1Output—multiplexed signals
EXT_TCLK2Output—multiplexed signals
EXT_TX3Output—multiplexed signals
EXT_RCLK4Output—multiplexed signals
EXT_RXEN5Output—multiplexed signals
EXT_RX6Output—multiplexed signals
EXT_CLSN7Output—multiplexed signals
reflected through the port
(Table 3–55).
The following four select lines for the output multiplexer enable the routing of
56 internal SIA signals to the external SIA port.
Table 3–55 lists the external SIA output multiplexer selection.
Table 3–55 External SIA Output Multiplexer Selection
CSR13<11:8>Pin Name
Port
NumberSignal NameFunction
00XX–––21040—SIA interface
signals (external SIA mode)
EXT_TXEN1jab_txen
EXT_TCLK2tclk
EXT_TX3jab_txd
EXT_RCLK4rclk
EXT_RXEN5rxen
(continued on next page)
3–53
Page 82
Table 3–55 (Cont.) External SIA Output Multiplexer Selection
CSR13<11:8>Pin Name
EXT_RX6rx
EXT_CLSN7clsn
01XX–––Diagnostics—SIA interface
EXT_TXEN1decmx_rxd
EXT_TCLK2tlp_reset
EXT_TX–decmx_rxen
EXT_RCLK4dmux_rxen
EXT_RXEN5tp_cmp_out
EXT_RX–poslp_detect_set
EXT_CLSN7neglp_detect_set
1111–––LED and external driver
EXT_TXEN1aui_txen
EXT_TCLK2sndlnk
EXT_TX3tp_txen
EXT_RCLK4clk419_4304m
EXT_RXEN5xver_active
EXT_RX6link_pass
EXT_CLSN7lcsr13_aui
100X–––PLL diagnostic signals
EXT_TXEN1wp_all<5>
EXT_TCLK2wp_all<6>
EXT_TX3wp_all<7>
EXT_RCLK4wp_all<8>
EXT_RXEN5wp_all<9>
EXT_RX6wp_all<10>
EXT_CLSN7wp_all<11>
Port
NumberSignal NameFunction
signals
signals (AUI or TP mode
with LEDs)
(continued on next page)
3–54
Page 83
Table 3–55 (Cont.) External SIA Output Multiplexer Selection
CSR13<11:8>Pin Name
101X–––PLL diagnostic signals
EXT_TXEN1apll_cphase<5>
EXT_TCLK2Reserved
EXT_TX3Reserved
EXT_RCLK4Reserved
EXT_RXEN5Reserved
EXT_RX6Reserved
EXT_CLSN7Reserved
1100–––SIA-RxM diagnostic signals
EXT_TXEN1poslpulse
EXT_TCLK2poseoframe
EXT_TX3neglpulse
EXT_RCLK4negeoframe
EXT_RXEN5colpulsm_on
EXT_RX6rcvpulsp_on
EXT_CLSN7rcvpulsp_on
1101–––SIA-RxM machine
EXT_TXEN1aui_clsn
EXT_TCLK2rcv_pulse
EXT_TX3clr_dtct
EXT_RCLK4col_pulsem
EXT_RXEN5rcvff1
EXT_RX6rcvff2
EXT_CLSN7rcvff4
1110–––Link test and other
EXT_TXEN1plsmaxtmr2
EXT_TCLK2plsmintmr2
Port
NumberSignal NameFunction
diagnostic signals
diagnostic signals
(continued on next page)
3–55
Page 84
Table 3–55 (Cont.) External SIA Output Multiplexer Selection
CSR13<11:8>Pin Name
EXT_TX3plsendcnt
EXT_RCLK4eoftmr
EXT_RXEN5txwatch_exp$ss
EXT_RX6rlocked$ss
EXT_CLSN7aui_tpc$ss
Port
NumberSignal NameFunction
3.2.2.5 SIA Transmit and Receive Register (CSR14)
CSR14 configures the SIA transmitter and receiver operating modes.
Figure 3–22 shows the CSR14 bit fields, and Table 3–56 describes the bit
fields. This register is mainly used for diagnostic purposes.
3–56
Page 85
Figure 3–22 CSR14 SIA Transmit and Receive Register
Table 3–56 CSR14 SIA Transmit and Receive Register Description
FieldDescription
14SPP—Set Polarity Plus
When reset and auto polarity enable (CSR14 <13>) is reset, the polarity of the
incoming data is switched. This feature can be used by the driver to reverse
polarity of incoming packets; otherwise, this bit should be set. This bit is valid only
in 10BASE-T mode.
13APE—Auto Polarity Enable
When set and link test enable CSR14<12> is also set, the auto polarity function
logic is enabled (Section 7.1.7). When reset, the polarity is determined by set
polarity plus (CSR14<14>). When link test enable (CSR14<12>) is reset, this bit
(CSR14<13>) should be also reset. This bit is valid only in 10BASE-T mode.
12LTE—Link Test Enable
When set, the link test function logic is enabled. In AUI mode, it should be reset.
In 10BASE-T mode, resetting this bit forces the link test function to link pass state.
11SQE—Signal Quality (Heartbeat) Generate Enable
Controls the signal quality (SQE) generator ability to imitate external medium
attachment unit (MAU) behavior. When set, a short heartbeat signal is
generated after the conclusion of a transmitted packet. In 10BASE-T mode, SQE
(CSR14<11>) should be set; otherwise, a heartbeat fail (TDES0<7>) is set. In AUI
mode, SQE (CSR14<11>) should be reset.
10CLD—Collision Detect Enable
When set, the collision detect logic is enabled.
9CSQ—Collision Squelch Enable
When set, the AUI collision receivers are active. This bit is valid only when AUI is
selected.
8RSQ—Receive Squelch Enable
When set, the AUI or 10BASE-T receivers are active in accordance with the
selected mode.
5:4CPEN—Compensation Enable
Table 3–58 defines twisted-pair compensation behavior. This bit is valid only in
10BASE-T mode.
3LSE—Link Pulse Send Enable
When set, the link pulse generator is enabled. In AUI mode, this bit should be
reset.
(continued on next page)
3–58
Page 87
Table 3–56 (Cont.) CSR14 SIA Transmit and Receive Register Description
FieldDescription
2DREN—Driver Enable
When set, the transmit SIA driver is enabled for AUI or 10BASE-T operation.
When reset, the transmit driver is disabled, preventing the data and link pulse
transmission to the external wires.
1LBK—Loopback Enable
Enables loopback operation in SIA (Table 3–59 and Section 5.7.3).
0ECEN—Encoder Enable
When set, the transmit data encoder is enabled, and the encoded data is transferred
to the output drivers. When reset, the transmit data encoder is disabled, and the
encoded data is blocked from propagating to the output drivers.
Table 3–57 lists the access rules for CSR14.
Table 3–57 CSR14 Access Rules
CategoryDescription
Value after resetFFFFFFFFH.
Read access rulesIn both SIA_auto_configuration and SIA_pin_configuration
Write access rulesCSR14 should be reset to 00000000H before writing any SIA
modes, a CSR14 read reflects internal states, rather than
the values written into the CSR.
CSR and released with or just after last CSR write.
3–59
Page 88
Table 3–58 lists the compensation field (CSR14<5:4>) definitions.
Table 3–58 Twisted-Pair Compensation Behavior
CSR14<5:4>
ValueTransmitter Output
00, 01Compensation Disabled Mode—Twisted-pair driver does not
10High Power Mode—Twisted-pair driver drives only high-differential
11Normal Compensation Mode—Driver compensates for 10 megahertz
compensate for 10 megahertz versus 5 megahertz media attenuation
(differential voltages are bound between 1.5 volts and 2.1 volts).
voltage (between 2.2 volts and 2.8 volts).
versus 5 megahertz media attenuation by driving high-differential
voltage for transients and driving low if the signal is stable for more
than 50 nanoseconds.
3–60
Page 89
3.2.2.6 SIA Mode Programming
Table 3–59 lists normal, full-duplex, and loopback programming. To monitor
these modes, the following signals are used in the table.
Testing feature that forces the RX input to PLL samplers to a constant low. It is
used to detect stacked samplers.
12DPST—PLL Self-Test Start
Testing feature that starts the PLL built-in integrity self-test. The status of the
test result is marked by PLL self-test done (CSR12<4>) and PLL self-test pass
(CSR12<5>) respectively.
11FLF—Force Link Fail
Testing feature that forces a link fail state and resets both link test and auto
polarity detector.
9FUSQ—Force Unsquelch
Testing feature that asserts the receiver RCVEN signal for testing purposes.
8TSCK—Test Clock
Testing feature that affects certain SIA clocks. When test clock is asserted, it
increases, by 1024, all SIA clocks with a cycle time longer than 2 microseconds, to
increase events during product testing. Test clock assertion also causes the jabber
timer to expire 1000 times faster (transmitted packet is retried and not stopped.)
5RWR—Receive Watchdog Release
Defines the time interval no carrier from receive watchdog expiration until reenabling the receive channel. When set, the receive watchdog is released 40- to
48-bit-times from the last carrier deassertion. When reset, the receive watchdog is
released 16- to 24-bit-times from the last carrier deassertion.
4RWD—Receive Watchdog Disable
When set, the receive watchdog counter is disabled. Receive carriers longer than
2560 bytes are guaranteed to cause the watchdog counter to time-out. Packets
shorter than 2048 bytes are guaranteed to pass.
2JCK—Jabber Clock
When set, transmission is cut after 2048 to 2560 bytes are transmitted (1.6
to 2.0 milliseconds). When reset, transmission is cut after 26 milliseconds to
33 milliseconds.
1HUJ—Host Unjab
Defines the time interval between transmit jabber expiration until re-enabling of
the transmit channel. When set, the transmit channel is released immediately
after the jabber expiration. When reset, the transmit jabber is released 365 to 420
milliseconds after jabber expiration.
0JBD—Jabber Disable
When set, the transmit jabber function is disabled.
3–63
Page 92
Table 3–61 lists the access rules for CSR15.
Table 3–61 CSR15 Access Rules
CategoryDescription
Value after resetFFFF0000H.
Read access rulesIn SIA_auto_configuration and SIA_pin_configuration
Write access rulesCSR15 should be reset to 00000000H before writing any SIA
modes, CSR15 read reflects internal states, rather than
the values written into the CSR.
CSR and released with or just after the last CSR write.
3–64
Page 93
Host Communication Area
Descriptor lists and data buffers, collectively called the host communication
area, reside in the host memory and manage the actions and status related to
buffer management.
4.1 Data Communication
The 21040 and the driver communicate through two data structures:
•Command and status registers (CSRs) described in Chapter 3.
•Descriptor lists and data buffers described in this chapter.
4.2 Descriptor Lists and Data Buffers
The 21040 transfers frame data to and from the receive and transmit buffers
in host memory. Descriptors that reside in the host memory act as pointers to
these buffers.
There are two descriptor lists, one for receive and one for transmit. The base
address of each list is written into CSR3 and CSR4, respectively. A descriptor
list is forward-linked (either implicitly or explicitly). The last descriptor may
point back to the first entry to create a ring structure. Explicit chaining of
descriptors is accomplished by setting the second address chained in both
the receive and transmit descriptors (RDES1<24> and TDES1<24>). The
descriptor lists reside in the host physical memory address space. Each
descriptor can point to a maximum of two buffers. This enables two buffers to
be used, physically addressed, and not contiguous in memory (Figure 4–1).
4
A data buffer consists of either an entire frame or part of a frame, but it cannot
exceed a single frame. Buffers contain only data; buffer status is maintained in
the descriptor. Data chaining refers to frames that span multiple data buffers.
Data chaining can be enabled or disabled. Data buffers reside in host physical
memory space.
4–1
Page 94
Figure 4–1 Descriptor Ring and Chain Structures
Ring Structure
Buffer 1
Descriptor 0
Buffer 2
Buffer 1
Descriptor 1
Buffer 2
Buffer 1
Descriptor N
Buffer 2
Chain Structure
Buffer 1
Descriptor 0
4–2
Buffer 1
Descriptor 1
Next Descriptor
MLO-010317
Page 95
4.2.1 Receive Descriptors
Figure 4–2 shows the receive descriptor format.
Descriptors and receive buffer addresses must be longword-aligned.
Providing two buffers, two byte-count buffers, and two address pointers in
each descriptor enables the adapter port to be compatible with various types of
memory management schemes.
Figure 4–2 Receive Descriptor Format
310
RDES0
O
W
N
Note
Status
RDES1
RDES2
RDES3
Control BitsByte Count Buffer 2Byte Count Buffer 1
Buffer Address 1
Buffer Address 2
4.2.1.1 Receive Descriptor 0 (RDES0)
RDES0 contains the received frame status, the frame length, and the descriptor
ownership information. Figure 4–3 shows the RDES0 bit fields, and Table 4–1
describes the bit fields.
When set, indicates that the descriptor is owned by the 21040. When reset,
indicates that the descriptor is owned by the host. The 21040 clears this bit either
when it completes the frame reception or when the buffers that are associated with
this descriptor are full.
30:16FL—Frame Length
Indicates the length in bytes of the received frame including the cyclic redundancy
check (CRC).
This field is valid only when last descriptor (RDES<8>) is set and length error
(RDES0<14>) is reset.
15ES—Error Summary
Indicates the logical OR of the following RDES0 bits:
RDES0<0>—Overflow
RDES0<1>—CRC error
RDES0<6>—Collision seen
RDES0<7>—Frame to long
RDES0<11>—Runt frame
RDES0<14>—Length error
This field is valid only when last descriptor (RDES<8>) is set.
14LE—Length Error
When set, indicates a frame truncation caused by a frame that does not fit within
the current descriptor buffers and indicates that the 21040 does not own the next
descriptor. The frame is truncated.
This field is valid only when last descriptor (RDES<8>) is set.
13:12DT—Data Type
This field is valid only when last descriptor (RDES<8>) is set.
10—External loopback frame or serial received frame. The 21040 does not
differentiate between loopback and serial received frames; therefore, this
information is global and reflects only the operating mode (CSR6<11:10>).
11—Reserved.
11RF—Runt Frame
When set, indicates that this frame was damaged by a collision or premature
termination before the collision window had passed. Runt frames are passed on to
the host only if the pass bad frames bit (CSR6<3>) is set.
This field is valid only when last descriptor (RDES<8>) is set and overflow
(RDES0<0>) is reset.
10MF—Multicast Frame
When set, indicates that this frame has a multicast address.
This field is valid only when last descriptor (RDES<8>) is set.
9FS—First Descriptor
When set, indicates that this descriptor contains the first buffer of a frame.
If the buffer size of the first buffer is 0, the second buffer contains the beginning
of the frame. If the buffer size of the second buffer is also 0, the second descriptor
contains the beginning of the frame.
8LS—Last Descriptor
When set, indicates that the buffers pointed to by this descriptor, are the last
buffers of the frame.
7TL—Frame Too Long
When set, indicates that the frame length exceeds the maximum Ethernet specified
size of 1518 bytes.
This field is valid only when last descriptor (RDES<8>) is set.
4–6
Note
Frame too long is only a frame length indication and does not cause any
frame truncation.
When set, indicates that the frame was damaged by a collision that occurred after
the 64 bytes following the start frame delimiter (SFD). This is a late collision.
This field is valid only when last descriptor (RDES<8>) is set.
5FT—Frame Type
When set, indicates that the frame is an Ethernet type frame (frame length field is
greater than 1500 bytes). When clear, indicates that the frame is an IEEE 802.3
frame.
This field is not valid for runt frames of less than 14 bytes.
This field is valid only when last descriptor (RDES<8>) is set.
4RJ—Receive Watchdog
When set, indicates that the receive watchdog timer expired while receiving the
current packet with length greater than 2048–2560 bytes. Receive watchdog
time-out (CSR5<9>) is set.
When RDES0<4> is set, the frame length field in RDES0<30:16> is not valid and
length error (RDES0<14>) is not set.
This field is valid only when last descriptor (RDES<8>) is set.
2DB—Dribbling Bit
When set, indicates that the frame contained a non-integer multiple of 8 bits. This
error is reported only if the number of dribbling bits in the last byte is greater
than 2. This field is not valid if either collision seen (RDES0<6>) or runt frame
RDES0<11> are set.
This field is valid only when last descriptor (RDES<8>) is set.
1CE—CRC Error
When set, indicates that a cyclic redundancy check (CRC) error occurred on the
received frame.
The CRC check is performed independent of a dribbling bit (RDES0<2>) error.
However, only whole bytes are run through the CRC logic. Consequently, received
frames with up to 6 dribbling bits cause this bit to be set.
This field is valid only when last descriptor (RDES<8>) is set.
When set, indicates received data in this descriptor’s buffer were truncated due to
FIFO overflow. This generally occurs if 21040 bus requests are not granted before
the internal receive FIFO fills up.
This field is valid only when last descriptor (RDES<8>) is set.
4.2.1.2 Receive Descriptor 1 (RDES1)
Figure 4–4 shows the RDES1 bit fields, and Table 4–2 describes the bit fields.