CS8900A
Crystal LAN™ ISA Ethernet Controller
1) A frame is received by the CS8900A, triggering
an enabled interrupt.
Offset
Type
Description
0004h Write-only TxCMD (Transmit Command)
0006h Write-only
0008h Read-only
000Ah Read/Write
000Ch Read/Write
000Eh Read/Write
TxLength (Transmit Length)
Interrupt Status Queue
PacketPage Pointer
2) The host reads the Interrupt Status Queue
(memory base + 0120h) and is informed of the
receive frame.
PacketPage Data (Port 0)
PacketPage Data (Port 1)
3) The host reads RxStatus (memory base +
0400h) to learn the status of the receive frame.
Table 17. I/O Mode Mapping
4) The host reads RxLength (memory base +
0402h) to learn the frame’s length.
4.10.1 Receive/Transmit Data Ports 0 and 1
These two ports are used when transferring trans-
5) The host reads the frame data by executing re- mit data to the CS8900A and receive data from the
petitive memory-to-memory move instructions CS8900A. Port 0 is used for 16-bit operations and
(REP MOVS) from memory base + 0404h to
Ports 0 and 1 are used for 32-bit operations (lower-
transfer the entire frame from CS8900A mem- order word in Port 0).
ory to host memory.
4.10.2 TxCMD Port
For a more detailed description of receive, see
Section 5.2 on page 79.
The host writes the Transmit Command (TxCMD)
to this port at the start of each transmit operation.
The Transmit Command tells the CS8900A that the
host has a frame to be transmitted, as well as how
that frame should be transmitted. This port is
mapped into PacketPage base + 0144h. See Regis-
ter 9 in Section 4.4 on page 47 for more informa-
tion.
4.9.5 Polling the CS8900A in Memory Mode
If interrupts are not used, the host can poll the
CS8900A to check if receive frames are present
and if memory space is available for transmit.
However, this is beyond the scope of this data
sheet.
4.10.3 TxLength Port
4.10 I/O Space Operation
The length of the frame to be transmitted is written
here immediately after the Transmit Command is
written. This port is mapped into PacketPage base
+ 0146h.
In I/O Mode, PacketPage memory is accessed
through eight 16-bit I/O ports that are mapped into
16 contiguous I/O locations in the host system’s I/O
space. I/O Mode is the default configuration for the
CS8900A and is always enabled. On power up, the
default value of the I/O base address is set at 300h.
(Note that 300h is typically assigned to LAN pe-
ripherals). The I/O base address may be changed to
any available XXX0h location, either by loading
configuration data from the EEPROM, or during
system setup. Table 17 shows the CS8900A I/O
Mode mapping.
4.10.4 Interrupt Status Queue Port
This port contains the current value of the Interrupt
Status Queue (ISQ). The ISQ is located at Pack-
etPage base + 0120h. For a more detailed descrip-
tion of the ISQ, see Section 5.1 on page 79.
4.10.5 PacketPage Pointer Port
The PacketPage Pointer Port is written whenever
the host wishes to access any of the CS8900A’s in-
ternal registers. The first 12 bits (bits 0 through B)
provide the internal address of the target register to
be accessed during the current operation. The next
Offset
Type
Description
0000h Read/Write Receive/Transmit Data (Port 0)
0002h Read/Write Receive/Transmit Data (Port 1)
Table 17. I/O Mode Mapping
CIRRUS LOGIC PRODUCT DATA SHEET
76
DS271PP3