Professional Documents
Culture Documents
Am79C973/Am79C975
PCnet™-FAST III
Single-Chip 10/100 Mbps PCI Ethernet Controller with Integrated PHY
DISTINCTIVE CHARACTERISTICS
■ Single-chip PCI-to-Wire Fast Ethernet controller ■ Supports PC98/PC99 and Wired for
— 32-bit glueless PCI host interface Management baseline specifications
— Supports PCI clock frequency from DC to — Full OnNow support including pattern
33 MHz independent of network clock matching and link status wake-up events
— Supports network operation with PCI clock — Implements AMD’s patented Magic Packet™
from 15 MHz to 33 MHz technology for remote wake-up & power-on
— High performance bus mastering — Magic Packet mode and the physical address
architecture with integrated Direct Memory loaded from EEPROM at power up without
Access (DMA) Buffer Management Unit for requiring PCI clock
low CPU and bus utilization — Supports PCI Bus Power Management
— PCI specification revision 2.2 compliant Interface Specification Revision 1.1
— Supports PCI Subsystem/Subvendor ID/ — Supports Advanced Configuration and
Vendor ID programming through the Power Interface (ACPI) Specification Version
EEPROM interface 1.0
— Supports both PCI 5.0 V and 3.3 V signaling — Supports Network Device Class Power
environments Management Specification Version 1.0a
— Plug and Play compatible ■ Serial Management Interface enables remote
— Supports an unlimited PCI burst length alerting of system management events
— Big endian and little endian byte alignments — Inter-IC (I2C) compliant electrical interface
supported — System Management Bus (SMBus)
■ Fully Integrated 10/100 Mbps Physical Layer compliant signaling interface and register
Interface (PHY) access protocol
— Conforms to IEEE 802.3 standard for — Optional interrupt pin simplifies software
10BASE-T, 100BASE-TX, and 100BASE-FX interface
interfaces ■ Large independent internal TX and RX FIFOs
— Integrated 10BASE-T transceiver with on- — Programmable FIFO watermarks for both TX
chip filtering and RX operations
— Fully integrated MLT-3 encoder/decoder for — RX frame queuing for high latency PCI bus
100BASE-TX host operation
— Provides a PECL interface for 100BASE-FX — Programmable allocation of buffer space
fiber implementations between RX and TX queues
— Full-duplex capability for 10BASE-T and ■ EEPROM interface supports jumperless design
100BASE-TX and provides through-chip programming
— IEEE 802.3u Auto-Negotiation between 10 — Supports extensive programmability of
Mbps and 100 Mbps, half- and full-duplex device operation through EEPROM mapping
operation
■ Supports up to 1 megabyte (Mbyte) optional
■ Dual-speed CSMA/CD (10 Mbps and 100 Mbps) Boot PROM and Flash for diskless node
Media Access Controller (MAC) compliant with application
IEEE/ANSI 802.3 and Blue Book Ethernet ■ Extensive programmable internal/external
standards loopback capabilities
■ Extensive programmable LED status support
This document contains information on a product under development at Advanced Micro Devices. The information Publication# 21510 Rev: D Amendment/0
is intended to help you evaluate this product. AMD reserves the right to change or discontinue work on this proposed Issue Date: February 1999
product without notice.
■ Look-Ahead Packet Processing (LAPP) data mode for board-level production connectivity
handling technique reduces system overhead test
by allowing protocol analysis to begin before ■ Compatible with the existing PCnet Family
the end of a receive frame driver/diagnostic software
■ Includes Programmable Inter Packet Gap (IPG)
■ Software compatible with AMD PCnet Family
to address less network aggressive MAC
and LANCE™/C-LANCE™ register and
controllers
descriptor architecture
■ Offers the Modified Back-Off algorithm to
■ Available in 160-pin PQFP and 176-pin TQFP
address the Ethernet Capture Effect
packages
■ IEEE 1149.1-compliant JTAG Boundary Scan
test access port interface and NAND tree test ■ Advanced +3.3 V CMOS process technology for
low power operation
GENERAL DESCRIPTION
The Am79C973 and Am79C975 controllers are single- (MAC), a large Transmit FIFO and a large Receive
chip 32-bit full- duplex, 10/100-Megabit per second FIFO, and an IEEE 802.3-compliant 10/100 Mbps PHY.
(Mbps) fully integrated PCI-to-Wire Fast Ethernet sys-
The integrated 10/100 PHY unit of the Am79C973 and
tem solution, designed to address high-performance
Am79C975 controllers implement the complete physi-
system application requirements. They are flexible bus
cal layer for 10BASE-T and the Physical Coding
mastering device that can be used in any application,
Sublayer (PCS), Physical Medium Attachment (PMA),
including network-ready PCs and bridge/router de-
and Physical Medium Dependent (PMD) functionality
signs. The bus master architecture provides high data
for 100BASE-TX, including MLT-3 encoding/decoding.
throughput and low CPU and system bus utilization.
It also supports 100BASE-FX operation by providing a
The Am79C973 and Am79C975 controllers are fabri-
Pseudo-ECL (PECL) interface for direct connection to
cated with advanced low-power 3.3-V CMOS process
a fiber optic transceiver module. The internal 10/100
to provide low operating current for power sensitive
PHY implements Auto-Negotiation for twisted-pair
applications.
(10T/100TX) operation by using a modified 10BASE-T
The third generation Am79C973 and Am79C975 Fast link integrity test pulse sequence as defined in the
Ethernet controllers also have several enhancements IEEE 802.3u specification. The Auto-Negotiation func-
ove r t h e i r p r e d e c e s s o r s, t h e A m 7 9 C 9 7 1 a n d tion automatically configures the controller to operate
Am79C972 devices. Besides integrating the complete at the maximum performance level supported across
10/100 Physical Layer (PHY) interface, they further re- the network link.
duce system implementation cost by integrating the
The Am79C975 controller also implements a Serial
SRAM buffers on chip.
Management Interface in addition to the advanced
The Am79C973 and Am79C975 controllers contain 12- management features offered with the Am79C973 con-
kilobyte (Kbyte) buffers, the largest of their class in 10/ troller. The Serial Management Interface is based on
100 Mbps Ethernet controllers. The large internal buff- the industry standard Inter-IC (I2C) and System Man-
ers are fully programmable between the RX and TX agement Bus (SMBus) specifications and enables a
queues for optimal performance. system to communicate with another network station
for remote monitoring and alerting of local system man-
The Am79C973 and Am79C975 controllers are also
agement parameters and events. This simple yet
compliant with PC98/PC99 and Wired for Management
powerful Serial Management Interface is capable of
specifications. They fully support Microsoft’s OnNow
communicating within the system and over the network
and ACPI specifications, which are backward compati-
during normal operation or in low-power modes, even if
ble with Magic Packet technology and compliant with
the device is not initialized or set up for transmit or re-
the PCI Bus Power Management Interface Specifica-
ceive operation by the network software driver.
tion by supporting the four power management states
(D0, D1, D2, and D3), the optional PME pin, and the The 32-bit multiplexed bus interface unit provides a direct
necessary configuration and data registers. interface to the PCI local bus, simplifying the design of
an Ethernet node in a PC system. The Am79C973 and
The Am79C973 and Am79C975 controllers are com-
Am79C975 controllers provide the complete interface
plete Ethernet nodes integrated into a single VLSI
to an Expansion ROM or Flash device allowing add-on
device. It contains a bus interface unit, a Direct Memory
card designs with only a single load per PCI bus inter-
Access (DMA) Buffer Management Unit, an ISO/IEC
face pin. With their built-in support for both little and big
8802-3 (IEEE 802.3)- compliant Media Access Controller
endian byte alignment, the controllers also address
2 Am79C973/Am79C975
P R E L I M I N A R Y
non-PC applications. The Am79C973 and Am79C975 The Am79C973 and Am79C975 controllers are regis-
controllers’ advanced CMOS design allows the bus in- ter compatible with the LANCE™ (Am7990) Ethernet
terface to be connected to either a +5-V or a +3.3-V controller, the C-LANCE™ (Am79C90) Ethernet con-
signaling environment. A compliant IEEE 1149.1 JTAG troller, and all Ethernet controllers in the PCnet™
test interface for board-level testing is also provided, as Family, except ILACC™ (Am79C900), including the
well as a NAND tree test structure for those systems PCnet-ISA™ (Am79C960), PCnet-ISA+™
that cannot support the JTAG interface. (Am79C961), PCnet-ISA II™ (Am79C961A),
PCnet-32™ (Am79C965), PCnet-PCI™ (Am79C970),
The Am79C973 and Am79C975 controllers support
PCnet-PCI II™ (Am79C970A), PCnet- FAST™
auto-configuration in the PCI configuration space. Ad-
(Am79C971), and PCnet-FAST+™ (Am79C972). The
ditional Am79C973 and Am79C975 controller
Buffer Management Unit supports the LANCE and
configuration parameters, including the unique IEEE
PCnet descriptor software models.
physical address, can be read from an external non-
volatile memory (EEPROM) immediately following The Am79C973 and Am79C975 controllers are ideally
system reset. suited for LAN on the motherboard, network adapter
card, and embedded designs. It is available in a
In addition, the Am79C973 and Am79C975 controllers
160-pin Plastic Quad Flat Pack (PQFP) package and
provide programmable on-chip LED drivers for trans-
also in a 176-pin Thin Quad Flat Pack (TQFP) package
mit, receive, collision, link integrity, Magic Packet
for form factor sensitive designs.
status, activity, link active, address match, full-duplex,
10 Mbps or 100 Mbps, or jabber status.
Am79C973/Am79C975 3
P R E L I M I N A R Y
BLOCK DIAGRAM
MIIRXFRTGE
MIIRXFRTGD
EBUA_EBA[7:0]
SFBD
EBDA[15:8]
EAR
EBD[7:0]
EROMCS RXD[3:0],TXD[3:0]
AS_EBOE MDIO
EBWE MDC
EBCLK XTAL1 XTAL2
Link Auto
FIFO Network Monitor Negotiation
Control Port
Manager
Serial
OnNow
Management EECS
TCK Power 93C46
JTAG Interface Unit EESK
TMS Management EEPROM
Port EEDI
TDI Unit Interface
Control EEDO
TDO
MCLOCK
PME MDATA
RWU PG 21510D-1
VAUXDET MIRQ
WUMI
4 Am79C973/Am79C975
P R E L I M I N A R Y
TABLE OF CONTENTS
DISTINCTIVE CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
GENERAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
BLOCK DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
RELATED AMD PRODUCTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
CONNECTION DIAGRAM (PQR160) (AM79C973) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
CONNECTION DIAGRAM (PQL176) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
CONNECTION DIAGRAM (PQR160) (AM79C975) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
CONNECTION DIAGRAM (PQL176) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
PIN DESIGNATIONS (PQR160) (AM79C973/AM79C975) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
PIN DESIGNATIONS (PQL176) (AM79C973/AM79C975) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
PIN DESIGNATIONS (PQR160, PQL176) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
PIN DESIGNATIONS (LISTED BY GROUP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
PIN DESIGNATIONS (LISTED BY DRIVER TYPE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
ORDERING INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
PIN DESCRIPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
PCI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Board Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
EEPROM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Expansion Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Media Independent Interface (MII) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
External Address Detection Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
IEEE 1149.1 (1990) Test Access Port Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Network Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Clock Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Serial Management Interface (SMI) (Am79C975 only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
BASIC FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
System Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Software Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Network Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Serial Management Interface (Am79C975) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
MII Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
DETAILED FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Slave Bus Interface Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Slave Configuration Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Slave I/O Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Expansion ROM Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Slave Cycle Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Parity Error Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Master Bus Interface Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Bus Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Bus Master DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Target Initiated Termination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Master Initiated Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Master Abort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Parity Error Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Initialization Block DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Descriptor DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
FIFO DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Buffer Management Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Re-Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Suspend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Buffer Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Descriptor Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Transmit Descriptor Table Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Receive Descriptor Table Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Receive Frame Queuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Software Interrupt Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10/100 Media Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Transmit and Receive Message Data Encapsulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Am79C973/Am79C975 5
P R E L I M I N A R Y
6 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 7
P R E L I M I N A R Y
8 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 9
P R E L I M I N A R Y
LIST OF FIGURES
Figure 1. Slave Configuration Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 2. Slave Configuration Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 3. Slave Read Using I/O Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figure 4. Slave Write Using Memory Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figure 5. Expansion ROM Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 6. Disconnect Of Slave Cycle When Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figure 7. Disconnect Of Slave Burst Transfer - No Host Wait States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figure 8. Disconnect Of Slave Burst Transfer - Host Inserts Wait States. . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 9. Address Parity Error Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 10. Slave Cycle Data Parity Error Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 11. Bus Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 12. Non-Burst Read Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figure 13. Burst Read Transfer (EXTREQ = 0, MEMCMD = 0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figure 14. Non-Burst Write Transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figure 15. Burst Write Transfer (EXTREQ = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Figure 16. Disconnect With Data Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 17. Disconnect Without Data Transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figure 18. Target Abort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 19. Preemption During Non-Burst Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Figure 20. Preemption During Burst Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Figure 21. Master Abort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figure 22. Master Cycle Data Parity Error Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figure 23. Initialization Block Read In Non-Burst Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figure 24. Initialization Block Read In Burst Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figure 25. Descriptor Ring Read In Non-Burst Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figure 26. Descriptor Ring Read In Burst Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figure 27. Descriptor Ring Write In Non-Burst Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 28. Descriptor Ring Write In Burst Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 29. FIFO Burst Write At Start Of Unaligned Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figure 30. FIFO Burst Write At End Of Unaligned Buffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figure 31. 16-Bit Software Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figure 32. 32-Bit Software Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Figure 33. ISO 8802-3 (IEEE/ANSI 802.3) Data Frame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Figure 34. IEEE 802.3 Frame And Length Field Transmission Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Figure 35. 100BASE-X Transmit and Receive Data Paths of the Internal PHY . . . . . . . . . . . . . . . . . . . . . . . 77
Figure 36. MLT-3 Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Figure 37. TX± and RX± Termination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Figure 38. 10BASE-T Transmit and Receive Data Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Figure 39. Receive Frame Tagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Figure 40. Flash Configuration for the Expansion Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Figure 41. EPROM Only Configuration for the Expansion Bus (64K EPROM) . . . . . . . . . . . . . . . . . . . . . . . 88
Figure 42. EPROM Only Configuration for the Expansion Bus (>64K EPROM) . . . . . . . . . . . . . . . . . . . . . . 89
Figure 43. Expansion ROM Bus Read Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Figure 44. Flash Read from Expansion Bus Data Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Figure 45. Flash Write from Expansion Bus Data Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Figure 46. Block Diagram No SRAM Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Figure 47. Block Diagram Low Latency Receive Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Figure 48. LED Control Logic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Figure 49. OnNow Functional Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Figure 50. Pattern Match RAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Figure 51. NAND Tree Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Figure 52. NAND Tree Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Figure 53. Address Match Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Figure 59. Normal and Tri-State Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Figure 60. CLK Waveform for 5 V Signaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10 Am79C973/Am79C975
P R E L I M I N A R Y
LIST OF TABLES
Table 1. Interrupt Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Table 2. SDI± Settings for Transceiver Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 3. Slave Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 4. Master Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table 5. Descriptor Read Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Table 6. Descriptor Write Sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Table 7. Receive Address Match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Table 8. Encoder Code-Group Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Table 9. Decoder Code-Group Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Table 10. Auto-Negotiation Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Table 11. EADI Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Table 12. Am29Fxxx Flash Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Table 13. Am79C973 EEPROM Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Table 14. Am79C975 EEPROM Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Table 15. LED Default Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Table 16. IEEE 1149.1 Supported Instruction Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Table 17. BSR Mode Of Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Table 18. Device ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Table 19. NAND Tree Pin Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Table 20. PCI Configuration Space Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Table 21. I/O Map In Word I/O Mode (DWIO = 0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Table 22. Legal I/O Accesses in Word I/O Mode (DWIO = 0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Table 23. I/O Map In DWord I/O Mode (DWIO =1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Table 24. Legal I/O Accesses in Double Word I/O Mode (DWIO =1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Table 25. Loopback Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Table 26. Software Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Table 27. Receive Watermark Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Table 28. Transmit Start Point Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Am79C973/Am79C975 11
P R E L I M I N A R Y
12 Am79C973/Am79C975
P R E L I M I N A R Y
Controllers
Integrated Controllers
Am79C961A PCnet-ISA II Full Duplex Single-Chip Ethernet Controller for ISA Bus
Am79C965 PCnet-32 Single-Chip 32-Bit Ethernet Controller for 486 and VL Buses
Am79C970A PCnet-PCI II Full Duplex Single-Chip Ethernet Controller for PCI Local Bus
Am79C971 PCnet-FAST Single-Chip Full-Duplex 10/100 Mbps Ethernet Controller for PCI Local Bus
Am79C972 PCnet-FAST+ Enhanced 10/100 Mbps PCI Ethernet Controller with OnNow Support
Manchester Encoder/Decoder
Am79C973/Am79C975 13
P R E L I M I N A R Y
LED2/MIIRXFRTGE
EESK/LED1/SFBD
XCLK/XTAL
EED1/LED0
VDD_PCI
VDD_PCI
C/BE3
VDDB
WUMI
VDDB
EECS
VSSB
VSSB
VSSB
VSSB
VSSB
AD24
AD25
AD26
AD27
AD28
AD29
AD30
AD31
RWU
INTA
REQ
PME
GNT
VDD
TDO
TMS
EAR
VSS
RST
TCK
VSS
CLK
TDI
PG
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
IDSEL 1 120 EEDO/LED3/MIIRXFRTGD
AD23 2 119 DVSSP
VSSB 3 118 DVDDP
AD22 4 117 RX-
VDD_PCI 5 116 DVDDRX
AD21 6 115 RX+
AD20 7 114 SDI-
VDD 8 113 DVSSX
AD19 9 112 SDI+
AD18 10 111 TX-
VSSB 11 110 DVDDTX
AD17 12 109 TX+
VDD_PCI 13 108 DVDDD
AD16 14 107 IREF
C/BE2 15 106 DVSSD
VSS 16 105 DVDDA
FRAME 17 104 DVDDCO
IRDY 18 103 XTAL1
VSSB 19 102 XTAL2
TRDY
VDD_PCI
20 Am79C973 101 VDDB
21 100 NC
DEVSEL 22 PQR160 99 VSSB
STOP 23 98 NC
VDD 24 97 VDD
PERR 25 96 NC
SERR 26 95 VSSB
VSSB 27 94 VAUXDET
PAR 28 93 EBD0/RXD0
VDD_PCI 29 92 EBD1/RXD1
C/BE1 30 91 EBD2/RXD2
AD15 31 90 VSS
VSS 32 89 EBD3/RXD3
AD14 33 88 VDDB
AD13 34 87 EBD4/RX_DV
VSSB 35 86 EBD5/RX_CLK
AD12 36 85 EBD6/RX_ER
AD11 37 84 VSSB
VDD_PCI 38 83 EBD7/TX_CLK
AD10 39 82 EBDA15/COL
AD9 40 81 EBDA14/CRS
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
AD8
C/BE0
VSSB
AD7
VDD_PCI
AD6
AD5
VDD
AD4
AD3
VSSB
AD2
VDD_PCI
AD1
AD0
VSS
EROMCS
EBWE
AS_EBOE
EBCLK
EBUA_EBA0
VSSB
EBUA_EBA1
VDD
VDDB
EBUA_EBA2
EBUA_EBA3
EBUA_EBA4
EBUA_EBA5/MDC
EBUA_EBA6/PHY_RST
EBUA_EBA7/TX_ER
VSS
EBDA8/TXD0
VSSB
EBDA9/TXD1
EBDA10/TXD2
VDDB
EBDA11/TXD3
EBDA12/TX_EN
EBDA13/MDIO
21510D-2
14 Am79C973/Am79C975
P R E L I M I N A R Y
LED2/MIIRXFRTGE
EESK/LED1/SFBD
XCLK/XTAL
EED1/LED0
VDD_PCI
VDD_PCI
C/BE3
VDDB
WUMI
VDDB
EECS
VSSB
VSSB
VSSB
VSSB
VSSB
AD24
AD25
AD26
AD27
AD28
AD29
AD30
AD31
RWU
INTA
REQ
PME
GNT
VDD
TDO
TMS
EAR
VSS
RST
TCK
VSS
CLK
TDI
NC
NC
PG
NC
NC
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
NC 1 132 NC
NC 2 131 NC
IDSEL 3 130 EEDO/LED3/MIIRXFRTGD
AD23 4 129 DVSSP
VSSB 5 128 DVDDP
AD22 6 127 RX-
VDD_PCI 7 126 DVDDRX
AD21 8 125 RX+
AD20 9 124 SDI-
VDD 10 123 DVSSX
AD19 11 122 SDI+
AD18 12 121 TX-
VSSB 13 120 DVDDTX
AD17 14 119 TX+
VDD_PCI 15 118 DVDDD
AD16 16 117 IREF
C/BE2 17 116 DVSSD
VSS 18 115 DVDDA
FRAME 19 114 DVDDCO
IRDY 20 113 XTAL1
VSSB 21 Am79C973 112 XTAL2
TRDY 22 PQL176 111 VDDB
VDD_PCI 23 110 NC
DEVSEL 24 109 VSSB
STOP 25 108 NC
VDD 26 107 VDD
PERR 27 106 NC
SERR 28 105 VSSB
VSSB 29 104 VAUXDET
PAR 30 103 EBD0/RXD0
VDD_PCI 31 102 EBD1/RXD1
C/BE1 32 101 EBD2/RXD2
AD15 33 100 VSS
VSS 34 99 EBD3/RXD3
AD14 35 98 VDDB
AD13 36 97 EBD4/RX_DV
VSSB 37 96 EBD5/RX_CLK
AD12 38 95 EBD6/RX_ER
AD11 39 94 VSSB
VDD_PCI 40 93 EBD7/TX_CLK
AD10 41 92 EBDA15/COL
AD9 42 91 EBDA14/CRS
NC 43 90 NC
NC 44 89 NC
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
NC
NC
AD8
C/BE0
VSSB
AD7
VDD_PCI
AD6
AD5
VDD
AD4
AD3
VSSB
AD2
VDD_PCI
AD1
AD0
VSS
EROMCS
EBWE
AS_EBOE
EBCLK
EBUA_EBA0
VSSB
EBUA_EBA1
VDD
VDDB
EBUA_EBA2
EBUA_EBA3
EBUA_EBA4
EBUA_EBA5/MDC
EBUA_EBA6/PHY_RST
EBUA_EBA7/TX_ER
VSS
EBDA8/TXD0
VSSB
EBDA9/TXD1
EBDA10/TXD2
VDDB
EBDA11/TXD3
EBDA12/TX_EN
EBDA13/MDIO
NC
NC
21510D-3
Am79C973/Am79C975 15
P R E L I M I N A R Y
LED2/MIIRXFRTGE
EESK/LED1/SFBD
XCLK/XTAL
EED1/LED0
VDD_PCI
VDD_PCI
C/BE3
VDDB
WUMI
VDDB
EECS
VSSB
VSSB
VSSB
VSSB
VSSB
AD24
AD25
AD26
AD27
AD28
AD29
AD30
AD31
RWU
INTA
REQ
PME
GNT
VDD
TDO
TMS
EAR
VSS
RST
TCK
VSS
CLK
TDI
PG
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
IDSEL 1 120 EEDO/LED3/MIIRXFRTGD
AD23 2 119 DVSSP
VSSB 3 118 DVDDP
AD22 4 117 RX-
VDD_PCI 5 116 DVDDRX
AD21 6 115 RX+
AD20 7 114 SDI-
VDD 8 113 DVSSX
AD19 9 112 SDI+
AD18 10 111 TX-
VSSB 11 110 DVDDTX
AD17 12 109 TX+
VDD_PCI 13 108 DVDDD
AD16 14 107 IREF
C/BE2 15 106 DVSSD
VSS 16 105 DVDDA
FRAME 17 104 DVDDCO
IRDY 18 103 XTAL1
VSSB 19 102 XTAL2
TRDY
VDD_PCI
20 Am79C975 101 VDDB
21 100 MCLOCK
DEVSEL 22 PQR160 99 VSSB
STOP 23 98 MDATA
VDD 24 97 VDD
PERR 25 96 MIRQ
SERR 26 95 VSSB
VSSB 27 94 VAUXDET
PAR 28 93 EBD0/RXD0
VDD_PCI 29 92 EBD1/RXD1
C/BE1 30 91 EBD2/RXD2
AD15 31 90 VSS
VSS 32 89 EBD3/RXD3
AD14 33 88 VDDB
AD13 34 87 EBD4/RX_DV
VSSB 35 86 EBD5/RX_CLK
AD12 36 85 EBD6/RX_ER
AD11 37 84 VSSB
VDD_PCI 38 83 EBD7/TX_CLK
AD10 39 82 EBDA15/COL
AD9 40 81 EBDA14/CRS
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
AD8
C/BE0
VSSB
AD7
VDD_PCI
AD6
AD5
VDD
AD4
AD3
VSSB
AD2
VDD_PCI
AD1
AD0
VSS
EROMCS
EBWE
AS_EBOE
EBCLK
EBUA_EBA0
VSSB
EBUA_EBA1
VDD
VDDB
EBUA_EBA2
EBUA_EBA3
EBUA_EBA4
EBUA_EBA5/MDC
EBUA_EBA6/PHY_RST
EBUA_EBA7/TX_ER
VSS
EBDA8/TXD0
VSSB
EBDA9/TXD1
EBDA10/TXD2
VDDB
EBDA11/TXD3
EBDA12/TX_EN
EBDA13/MDIO
21510D-4
16 Am79C973/Am79C975
P R E L I M I N A R Y
LED2/MIIRXFRTGE
EESK/LED1/SFBD
XCLK/XTAL
EED1/LED0
VDD_PCI
VDD_PCI
C/BE3
VDDB
WUMI
VDDB
EECS
VSSB
VSSB
VSSB
VSSB
VSSB
AD24
AD25
AD26
AD27
AD28
AD29
AD30
AD31
RWU
INTA
REQ
PME
GNT
VDD
TDO
TMS
EAR
VSS
RST
TCK
VSS
CLK
TDI
NC
NC
PG
NC
NC
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
NC 1 132 NC
NC 2 131 NC
IDSEL 3 130 EEDO/LED3/MIIRXFRTGD
AD23 4 129 DVSSP
VSSB 5 128 DVDDP
AD22 6 127 RX-
VDD_PCI 7 126 DVDDRX
AD21 8 125 RX+
AD20 9 124 SDI-
VDD 10 123 DVSSX
AD19 11 122 SDI+
AD18 12 121 TX-
VSSB 13 120 DVDDTX
AD17 14 119 TX+
VDD_PCI 15 118 DVDDD
AD16 16 117 IREF
C/BE2 17 116 DVSSD
VSS 18 115 DVDDA
FRAME 19 114 DVDDCO
IRDY 20 113 XTAL1
VSSB 21 Am79C975 112 XTAL2
TRDY 22 PQL176 111 VDDB
VDD_PCI 23 110 MCLOCK
DEVSEL 24 109 VSSB
STOP 25 108 MDATA
VDD 26 107 VDD
PERR 27 106 MIRQ
SERR 28 105 VSSB
VSSB 29 104 VAUXDET
PAR 30 103 EBD0/RXD0
VDD_PCI 31 102 EBD1/RXD1
C/BE1 32 101 EBD2/RXD2
AD15 33 100 VSS
VSS 34 99 EBD3/RXD3
AD14 35 98 VDDB
AD13 36 97 EBD4/RX_DV
VSSB 37 96 EBD5/RX_CLK
AD12 38 95 EBD6/RX_ER
AD11 39 94 VSSB
VDD_PCI 40 93 EBD7/TX_CLK
AD10 41 92 EBDA15/COL
AD9 42 91 EBDA14/CRS
NC 43 90 NC
NC 44 89 NC
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
NC
NC
AD8
C/BE0
VSSB
AD7
VDD_PCI
AD6
AD5
VDD
AD4
AD3
VSSB
AD2
VDD_PCI
AD1
AD0
VSS
EROMCS
EBWE
AS_EBOE
EBCLK
EBUA_EBA0
VSSB
EBUA_EBA1
VDD
VDDB
EBUA_EBA2
EBUA_EBA3
EBUA_EBA4
EBUA_EBA5/MDC
EBUA_EBA6/PHY_RST
EBUA_EBA7/TX_ER
VSS
EBDA8/TXD0
VSSB
EBDA9/TXD1
EBDA10/TXD2
VDDB
EBDA11/TXD3
EBDA12/TX_EN
EBDA13/MDIO
NC
NC
21510D-5
Am79C973/Am79C975 17
P R E L I M I N A R Y
18 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 19
P R E L I M I N A R Y
20 Am79C973/Am79C975
P R E L I M I N A R Y
PIN DESIGNATIONS
Listed By Group
Pin Name Pin Function Type1 Driver No. of Pins
Physical Layer Interface (PHY)
IREF Internal Current Reference I NA 1
RX± Serial Receive Data I NA 2
TX± Serial Transmit Data O NA 2
SDI± Signal Detect Input I NA 2
Power Management Interface
RWU Remote Wake Up O O6 1
PME Power Management Event O OD6 1
WUMI Wake-Up Mode Indication O LED 1
PG Power Good I NA 1
VAUXDET Auxiliary Power Detect I NA 1
IEEE 1149.1 Test Access Port Interface (JTAG)
TCK Test Clock I NA 1
TDI Test Data In I NA 1
TDO Test Data Out O TS6 1
TMS Test Mode Select I NA 1
External Address Detection Interface (EADI)
EAR External Address Reject Low I NA 1
SFBD Start Frame Byte Delimiter O LED 1
MIIRXFRTGD MII Receive Frame Tag Data I NA 1
MIIRXFRTGE MII Receive Frame Tag Enable I NA 1
Media Independent Interface (MII)
COL Collision I NA 1
CRS Carrier Sense I NA 1
MDC Management Data Clock O OMII2 1
MDIO Management Data I/O I/O TSMII 1
RX_CLK Receive Clock I NA 1
RXD[3:0] Receive Data I NA 4
RX_DV Receive Data Valid I NA 1
RX_ER Receive Error I NA 1
TX_CLK Transmit Clock I NA 1
TXD[3:0] Transmit Data O OMII1 4
TX_EN Transmit Data Enable O OMII1 1
TX_ER Transmit Error O OMII1 1
Serial Management Interface (SMI) - Am79C975 only
MCLOCK SMI Clock I/O OD6 1
MDATA SMI Data I/O OD6 1
MIRQ SMI Interrupt O OD6 1
Note:
1. Not including test features.
Am79C973/Am79C975 21
P R E L I M I N A R Y
PIN DESIGNATIONS
Listed by Group (Continued)
Pin Name Pin Function Type1 Driver No. of Pins
Power Supplies (MAC, PCI, Buffer, ROM)
VDD Digital Power P NA 6
VSS Digital Ground P NA 7
VDDB I/O Buffer Power P NA 6
VSSB I/O Buffer Ground P NA 17
VDD_PCI PCI I/O Buffer Power P NA 9
Power Supplies (PHY)2
DVDDA Analog PLL Power P NA 1
DVDDD, DVDDP Physical Data Transceiver (PDX) Power, IREF P NA 2
DVSSD, DVSSP Physical Data Transceiver (PDX) Ground P NA 2
DVDDTX, DVDDRX PHY I/O Buffer Power P NA 2
DVSSX PHY Ground P NA 1
DVDDCO Crystal Oscillator Power P NA 1
Notes:
1. Not including test features.
2. PHY power and ground pins require careful decoupling to ensure proper device performance.
22 Am79C973/Am79C975
P R E L I M I N A R Y
PIN DESIGNATIONS
Listed By Driver Type A sustained tri-state signal is a low active signal that is
driven high for one clock period before it is left floating.
The following table describes the various types of out-
put drivers used in the Am79C973/Am79C975 TX is a differential output driver. Its characteristics and
controller. All IOL and IOH values shown in the table those of XTAL2 output are described in the DC Charac-
apply to 3.3 V signaling. teristics section.
TS6 Tri-State 6 -2 50
Am79C973/Am79C975 23
P R E L I M I N A R Y
ORDERING INFORMATION
Standard Products
AMD standard products are available in several packages and operating ranges. The order number (Valid Combination) is formed
by a combination of the elements below.
AM79C973
AM79C975 K\V C \W
TEMPERATURE RANGE
C = Commercial (0° C to +70° C)
PACKAGE TYPE
K = Plastic Quad Flat Pack (PQR160)
V = Thin Quad Flat Pack (PQL176)
SPEED OPTION
Not applicable
DEVICE NUMBER/DESCRIPTION
Am79C973/Am79C975
Single-Chip 10/100 Mbps PCI Ethernet Controller
with Integrated PHY
24 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 25
P R E L I M I N A R Y
INTA .
Interrupt Request Output Table 1. Interrupt Flags
An attention signal which indicates that one or more of Name Description Mask Bit Interrupt Bit
the following status flags is set: EXDINT, IDON, MERR, Excessive
MISS, MFCO, MPINT, RCVCCO, RINT, SINT, TINT, EXDINT CSR5, bit 6 CSR5, bit 7
Deferral
TXSTRT, UINT, MCCINT, MPDTINT, MAPINT, MRE- Initialization
INT, and STINT. Each status flag has either a mask or IDON CSR3, bit 8 CSR0, bit 8
Done
an enable bit which allows for suppression of INTA as- MERR Memory Error CSR3, bit 11 CSR0, bit 11
sertion. Table 1 shows the flag descriptions. By default
MISS Missed Frame CSR3, bit 12 CSR0, bit 12
INTA is an open-drain output. For applications that
need a high-active edge-sensitive interrupt signal, the Missed Frame
MFCO Count Over- CSR4, bit 8 CSR4, bit 9
INTA pin can be configured for this mode by setting
flow
INTLEVEL (BCR2, bit 7) to 1.
Magic Packet
When RST is active, INTA is the output for NAND tree MPINT CSR5, bit 3 CSR5, bit 4
Interrupt
testing. Receive
RCVCCO Collision Count CSR4, bit 4 CSR4, bit 5
IRDY Overflow
Initiator Ready Input/Output Receive
RINT CSR3, bit 10 CSR0, bit 10
IRDY indicates the ability of the initiator of the transac- Interrupt
tion to complete the current data phase. IRDY is used SINT System Error CSR5, bit 10 CSR5, bit 11
in conjunction with TRDY. Wait states are inserted until Transmit
both IRDY and TRDY are asserted simultaneously. A TINT CSR3, bit 9 CSR0, bit 9
Interrupt
data phase is completed on any clock when both IRDY TXSTRT Transmit Start CSR4, bit 2 CSR4, bit 3
and TRDY are asserted.
UINT User Interrupt CSR4, bit 7 CSR4, bit 6
When the Am79C973/Am79C975 controller is a bus MII
master, it asserts IRDY during all write data phases to Management
indicate that valid data is present on AD[31:0]. During MCCINT Command CSR7, bit 4 CSR7, bit 5
all read data phases, the device asserts IRDY to indi- Complete
cate that it is ready to accept the data. Interrupt
MII PHY Detect
When the Am79C973/Am79C975 controller is the tar-
MPDTINT Transition CSR7, bit 0 CSR7, bit 1
get of a transaction, it checks IRDY during all write data Interrupt
phases to determine if valid data is present on
MII Auto-Poll
AD[31:0]. During all read data phases, the device MAPINT CSR7, bit 6 CSR7, bit 7
Interrupt
checks IRDY to determine if the initiator is ready to
MII
accept the data.
Management
MREINT CSR7, bit 8 CSR7, bit 9
When RST is active, IRDY is an input for NAND tree Frame Read
testing. Error Interrupt
Software Timer
PAR STINT
Interrupt
CSR7, bit 10 CSR7, bit 11
Parity Input/Output
PERR
Parity is even parity across AD[31:0] and C/BE[3:0].
When the Am79C973/Am79C975 controller is a bus Parity Error Input/Output
master, it generates parity during the address and write During any slave write transaction and any master read
data phases. It checks parity during read data phases. transaction, the Am79C973/Am79C975 controller as-
When the Am79C973/Am79C975 controller operates serts PERR when it detects a data parity error and
in slave mode, it checks parity during every address reporting of the error is enabled by setting PERREN
phase. When it is the target of a cycle, it checks parity (PCI Command register, bit 6) to 1. During any master
during write data phases and it generates parity during write transaction, the Am79C973/Am79C975 controller
read data phases. monitors PERR to see if the target reports a data parity
error.
When RST is active, PAR is an input for NAND tree
testing. When RST is active, PERR is an input for NAND tree
testing.
26 Am79C973/Am79C975
P R E L I M I N A R Y
REQ TRDY
Bus Request Input/Output Target Ready Input/Output
The Am79C973/Am79C975 controller asserts REQ pin TRDY indicates the ability of the target of the transac-
as a signal that it wishes to become a bus master. REQ tion to complete the current data phase. Wait states are
is driven high when the Am79C973/Am79C975 control- inserted until both IRDY and TRDY are asserted simul-
ler does not request the bus. In Power Management taneously. A data phase is completed on any clock
mode, the REQ pin will not be driven. when both IRDY and TRDY are asserted.
When RST is active, REQ is an input for NAND tree When the Am79C973/Am79C975 controller is a bus
testing. master, it checks TRDY during all read data phases to
determine if valid data is present on AD[31:0]. During
RST all write data phases, the device checks TRDY to deter-
Reset Input mine if the target is ready to accept the data.
When RST is asserted LOW and the PG pin is HIGH, When the Am79C973/Am79C975 controller is the tar-
then the Am79C973/Am79C975 controller performs an get of a transaction, it asserts TRDY during all read
internal system reset of the type H_RESET data phases to indicate that valid data is present on
(HARDWARE_RESET, see section on RESET). RST AD[31:0]. During all write data phases, the device as-
must be held for a minimum of 30 clock periods. While serts TRDY to indicate that it is ready to accept the
in the H_RESET state, the Am79C973/Am79C975 data.
controller will disable or deassert all outputs. RST may
b e a s y n c h r o n o u s t o c l o ck w h e n a s s e r t e d o r When RST is active, TRDY is an input for NAND tree
deasserted. testing.
When the PG pin is LOW, RST disables all of the PCI PME
pins except the PME pin. Power Management Event Output, Open Drain
When RST is LOW and PG is HIGH, NAND tree testing PME is an output that can be used to indicate that a
is enabled. power management event (a Magic Packet, an OnNow
pattern match, or a change in link state) has been de-
SERR tected. The PME pin is asserted when either
System Error Output
1. PME_STATUS and PME_EN are both 1, or
During any slave transaction, the Am79C973/
2. PME_EN_OVR and MPMAT are both 1, or
Am79C975 controller asserts SERR when it detects an
address parity error, and reporting of the error is en- 3. PME_EN_OVR and LCDET are both 1.
abled by setting PERREN (PCI Command register, bit The PME signal is asynchronous with respect to the
6) and SERREN (PCI Command register, bit 8) to 1.
PCI clock.
By default SERR is an open-drain output. For compo-
nent test, it can be programmed to be an active-high
VAUXDET
totem-pole output. Auxiliary Power Detect Input
When RST is active, SERR is an input for NAND tree VAUXDET is used to sense the presence of the auxil-
testing. iary power and correctly report the capability of
asserting PME signal in D3 cold. The VAUXDET pin
STOP should be connected to the auxiliary power supply or to
Stop Input/Output ground through a resistor. If PCI power is used to
power the device, a pull-down resistor is required. For
In slave mode, the Am79C973/Am79C975 controller systems that provide auxiliary power, the VAUXDET pin
drives the STOP signal to inform the bus master to stop should be tied to auxiliary power through a pull-up
the current transaction. In bus master mode, the resistor.
Am79C973/Am79C975 controller checks STOP to de-
termine if the target wants to disconnect the current Board Interface
transaction. Note: Before programming the LED pins, see the
When RST is active, STOP is an input for NAND tree description of LEDPE in BCR2, bit 12.
testing. LED0
LED0 Output
This output is designed to directly drive an LED. By de-
fault, LED0 indicates an active link connection. This pin
Am79C973/Am79C975 27
P R E L I M I N A R Y
28 Am79C973/Am79C975
P R E L I M I N A R Y
mode of operation. This pin is implemented for designs Note: The EEDO pin is multiplexed with the LED3 and
that do not support the PME function. MIIRXFRTGD pins.
Three bits that are loaded from the EEPROM into EESK
CSR116 can program the characteristics of this pin: EEPROM Serial Clock Output
1. RWU_POL determines the polarity of the RWU signal. This pin is designed to directly interface to a serial
2. If RWU_GATE bit is set, RWU is forced to the high EEPROM that uses the 93C46 EEPROM interface
impedance state when PG input is LOW. protocol. EESK is connected to the EEPROM’s clock
pin. It is controlled by either the Am79C973/
3. RWU_DRIVER determines whether the output is
Am79C975 controller directly during a read of the en-
open drain or totem pole.
tire EEPROM, or indirectly by the host system by
The internal power-on-reset signal forces this output writing to BCR19, bit 1.
into the high impedance state until after the polarity and Note: The EESK pin is multiplexed with the LED1 and
drive type have been determined. SFBD pins.
WUMI The EESK pin is also used during EEPROM Auto-
Wake-Up Mode Indicator Output Detection to determine whether or not an EEPROM is
present at the Am79C973/Am79C975 controller inter-
This output, which is capable of driving an LED, is as-
face. At the rising edge of the last CLK edge while RST
serted when the device is in Magic Packet mode. It can
is asserted, EESK is sampled to determine the value of
be used to drive external logic that switches the device
the EEDET bit in BCR19. A sampled HIGH value
power source from the main power supply to an auxil-
means that an EEPROM is present, and EEDET will be
iary power supply.
set to 1. A sampled LOW value means that an EE-
EEPROM Interface PROM is not present, and EEDET will be set to 0. See
the EEPROM Auto-Detection section for more details.
EECS
If no LED circuit is to be attached to this pin, then a pull
EEPROM Chip Select Output
up or pull down resistor must be attached instead to re-
This pin is designed to directly interface to a serial EE- solve the EEDET setting.
PROM that uses the 93C46 EEPROM interface
protocol. EECS is connected to the EEPROM’s chip WARNING: The input signal level of EESK must be
select pin. It is controlled by either the Am79C973/ valid for correct EEPROM detection before the
Am79C975 controller during command portions of a deassertion of RST.
read of the entire EEPROM, or indirectly by the host Expansion Bus Interface
system by writing to BCR19, bit 2.
EBUA_EBA[7:0]
EEDI
Expansion Bus Upper Address/
EEPROM Data In Output Expansion Bus Address [7:0] Output
This pin is designed to directly interface to a serial The EBUA_EBA[7:0] pins provide the least and most
EEPROM that uses the 93C46 EEPROM interface pro- significant bytes of address on the Expansion Bus. The
tocol. EEDI is connected to the EEPROM’s data input most significant address byte (address bits [19:16] dur-
pin. It is controlled by either the Am79C973/Am79C975 ing boot device accesses) is valid on these pins at the
controller during command portions of a read of the en- beginning of a boot device access, at the rising edge of
tire EEPROM, or indirectly by the host system by writing AS_EBOE. This upper address byte must be stored ex-
to BCR19, bit 0. ternally in a D flip-flop. During subsequent cycles of a
Note: The EEDI pin is multiplexed with the LED0 pin. boot device access, address bits [7:0] are present on
these pins.
EEDO
All EBUA_EBA[7:0] outputs are forced to a constant
EEPROM Data Out Input level to conserve power while no access on the Expan-
This pin is designed to directly interface to a serial sion Bus is being performed.
EEPROM that uses the 93C46 EEPROM interface pro-
tocol. EEDO is connected to the EEPROM’s data Note: EBUA_EBA[7:5] pins are multiplexed with the
output pin. It is controlled by either the Am79C973/ TX_ER, PHY_RST, and MDC pins.
Am79C975Am79C973/Am79C975Am79C973/ EBDA[15:8]
Am79C975 controller during command portions of a Expansion Bus Data/Address [15:8] Input/Output
read of the entire EEPROM, or indirectly by the host
system by reading from BCR19, bit 0. When EROMCS is asserted low, EBDA[15:8] contain
address bits [15:8] for boot device accesses.
Am79C973/Am79C975 29
P R E L I M I N A R Y
The EBDA[15:8] signals are driven to a constant level interface, this input should be tied to VDD through a 4.7
to conserve power while no access on the Expansion kW resistor.
Bus is being performed.
EBCLK is not used to drive the bus interface, internal
Note: EBDA[15:8] pins are multiplexed with the buffer management unit, or the network functions.
TXD[3:0], TX_EN, MDIO, CRS, and COL pins.
Media Independent Interface (MII)
EBD[7:0]
TX_CLK
Expansion Bus Data [7:0] Input/Output
Transmit Clock Input
The EBD[7:0] pins provide data bits [7:0] for EPROM/
FLASH accesses. The EBD[7:0] signals are internally TX_CLK is a continuous clock input that provides the
forced to a constant level to conserve power while no timing reference for the transfer of the TX_EN,
access on the Expansion Bus is being performed. TXD[3:0], and TX_ER signals out of the Am79C973/
Am79C975 device. TX_CLK must provide a nibble rate
Note: EBD[7:0] pins are multiplexed with the clock (25% of the network data rate). Hence, an MII
RXD[3:0], RX_DV, RX_CLK, RX_ER, and TX_CLK transceiver operating at 10 Mbps must provide a
pins. TX_CLK frequency of 2.5 MHz and an MII trans-
EROMCS ceiver operating at 100 Mbps must provide a
TX_CLK frequency of 25 MHz.
Expansion ROM Chip Select Output
EROMCS serves as the chip select for the boot device. Note: The TX_CLK pin is multiplexed with the EBD7 pin.
It is asserted low during the data phases of boot device TXD[3:0]
accesses. Transmit Data Output
AS_EBOE TXD[3:0] is the nibble-wide MII transmit data bus. Valid
Address Strobe/Expansion Bus data is generated on TXD[3:0] on every TX_CLK rising
Output Enable Output edge while TX_EN is asserted. While TX_EN is de-
asserted, TXD[3:0] values are driven to a 0. TXD[3:0]
AS_EBOE functions as the address strobe for the
transitions synchronous to TX_CLK rising edges.
upper address bits on the EBUA_EBA[7:0] pins and as
the output enable for the Expansion Bus. Note: The TXD[3:0] pins are multiplexed with the
EBDA[11:8] pins.
As an address strobe, a rising edge on AS_EBOE is
supplied at the beginning of boot device accesses. This TX_EN
rising edge provides a clock edge for a ‘374 D-type Transmit Enable Output
edge-triggered flip-flop which must store the upper ad-
TX_EN indicates when the Am79C973/Am79C975 de-
dress byte during Expansion Bus accesses for
vice is presenting valid transmit nibbles on the MII.
EPROM/Flash.
While TX_EN is asserted, the Am79C973/Am79C975
AS_EBOE is asserted active LOW during boot device device generates TXD[3:0] and TX_ER on TX_CLK ris-
read operations on the expansion bus and is deas- ing edges. TX_EN is asserted with the first nibble of
serted during boot device write operations. preamble and remains asserted throughout the dura-
tion of a packet until it is deasserted prior to the first
EBWE TX_CLK following the final nibble of the frame. TX_EN
Expansion Bus Write Enable Output transitions synchronous to TX_CLK rising edges.
EBWE provides the write enable for write accesses to Note: The TX_EN pin is multiplexed with the EBDA12
the Flash device. pin.
EBCLK TX_ER
Expansion Bus Clock Input Transmit Error Output
EBCLK may be used as the fundamental clock to drive TX_ER is an output that, if asserted while TX_EN is as-
the Expansion Bus and internal SRAM access cycles. serted, instructs the MII PHY device connected to the
The actual internal clock used to drive the Expansion Am79C973/Am79C975 device to transmit a code
Bus cycles depends on the values of the EBCS and group error. TX_ER is unused and is reserved for future
CLK_FAC settings in BCR27. Refer to the SRAM Inter- use and will always be driven to a logical zero.
face Bandwidth Requirements section for details on
determining the required EBCLK frequency. If a clock Note: The TX_ER pin is multiplexed with the
source other than the EBCLK pin is programmed EBUA_EBA7 pin.
(BCR27, bits 5:3) to be used to run the Expansion Bus
30 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 31
P R E L I M I N A R Y
32 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 33
P R E L I M I N A R Y
34 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 35
P R E L I M I N A R Y
36 Am79C973/Am79C975
P R E L I M I N A R Y
detects an address match and the access is a memory signal, since the internal Buffer Management Unit clock
cycle. DEVSEL is asserted two clock cycles after the is a divide-by-two version of the CLK signal.
host has asserted FRAME. See Figure 1 and Figure 2.
The Am79C973/Am79C975 controllers do not support
burst transfers for access to its I/O resources. When the
host keeps FRAME asserted for a second data phase,
the Am79C973/Am79C975 controllers will disconnect
CLK the transfer.
1 2 3 4 5 6 7
FRAME
AD ADDR DATA
CLK
1 2 3 4 5 6
C/BE 1010 BE
FRAME
IRDY 1011 BE
C/BE
DEVSEL IRDY
STOP
TRDY
IDSEL
DEVSEL
DEVSEL is sampled
STOP
21510D-6
IDSEL
Figure 1. Slave Configuration Read
Am79C973/Am79C975 37
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7 8 9 10 11
FRAME
AD ADDR DATA
C/BE 0010 BE
IRDY
TRDY
DEVSEL
STOP
21510D-8
CLK
1 2 3 4 5 6 7 8 9 10 11
FRAME
AD ADDR DATA
C/BE 0111 BE
IRDY
TRDY
DEVSEL
STOP
21510D-9
Figure 4. Slave Write Using Memory Command
38 Am79C973/Am79C975
P R E L I M I N A R Y
CLK
1 2 3 4 5 48 49 50 51
FRAME
AD ADDR DATA
C/BE CMD BE
IRDY
TRDY
DEVSEL
STOP
DEVSEL is sampled
21510D-10
Am79C973/Am79C975 39
P R E L I M I N A R Y
21510D-12
40 Am79C973/Am79C975
P R E L I M I N A R Y
C/BE CMD BE
CLK
1 2 3 4 5 6
PAR PAR PAR
FRAME
SERR
AD 1st DATA DATA
DEVSEL
C/BE BE BE
21510D-14
PAR PAR PAR
Am79C973/Am79C975 41
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7 8 9 10
FRAME
AD ADDR DATA
C/BE CMD BE
PERR
IRDY
TRDY
DEVSEL
21510D-15
42 Am79C973/Am79C975
P R E L I M I N A R Y
starts driving AD[31:0] and C/BE[3:0] on clock 5. all byte lanes will always be active. The Am79C973/
FRAME is asserted at clock 5 indicating a valid ad- Am79C975 controller will internally discard unneeded
dress and command on AD[31:0] and C/BE[3:0]. The bytes.
Am79C973/Am79C975 controller does not use ad-
The Am79C973/Am79C975 controller typically per-
dress stepping which is reflected by ADSTEP (bit 7) in
forms more than one non-burst read transaction within
the PCI Command register being hardwired to 0.
a single bus mastership period. FRAME is dropped be-
tween consecutive non-burst read cycles. REQ
however stays asserted until FRAME is asserted for
the last transaction. The Am79C973/Am79C975 con-
CLK
1 2 3 4 5 troller supports zero wait state read cycles. It asserts
IRDY immediately after the address phase and at the
same time starts sampling DEVSEL. Figure 12 shows
FRAME
two non-burst read transactions. The first transaction
has zero wait states. In the second transaction, the tar-
AD ADDR get extends the cycle by asserting TRDY one clock
later.
Am79C973/Am79C975 43
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7 8 9 10 11
FRAME
IRDY
TRDY
DEVSEL
REQ
GNT
21510D-17
DEVSEL is sampled
Figure 12. Non-Burst Read Transfer
CLK
1 2 3 4 5 6 7 8 9 10 11
FRAME
IRDY
TRDY
DEVSEL
REQ
GNT
21510D-18
DEVSEL is sampled
44 Am79C973/Am79C975
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7 8 9 10
FRAME
IRDY
TRDY
DEVSEL
REQ
GNT
DEVSEL is sampled
21510D-19
Am79C973/Am79C975 45
P R E L I M I N A R Y
Figure 15 shows a typical burst write access. The Disconnect With Data Transfer
Am79C973/Am79C975 controller arbitrates for the bus, Figure 16 shows a disconnection in which one last data
is granted access, and writes four 32-bit words transfer occurs after the target asserted STOP. STOP
(DWords) to the system memory and then releases the is asserted on clock 4 to start the termination se-
bus. In this example, the memory system extends the quence. Data is still transferred during this cycle, since
data phase of the first access by one wait state. The fol- both IRDY and TRDY are asserted. The Am79C973/
lowing three data phases take one clock cycle each, Am79C975 controller terminates the current transfer
which is determined by the timing of TRDY. The exam- with the deassertion of FRAME on clock 5 and of IRDY
ple assumes that EXTREQ (BCR18, bit 8) is set to 1, one clock later. It finally releases the bus on clock 7.
therefore, REQ is not deasserted until the next to last The Am79C973/Am79C975 controller will again re-
data phase is finished. quest the bus after two clock cycles, if it wants to
Target Initiated Termination transfer more data. The starting address of the new
transfer will be the address of the next non-transferred
When the Am79C973/Am79C975 controller is a bus
data.
master, the cycles it produces on the PCI bus may be
terminated by the target in one of three different ways:
disconnect with data transfer, disconnect without data
transfer, and target abort.
CLK
1 2 3 4 5 6 7 8 9
FRAME
C/BE 0111 BE
IRDY
TRDY
DEVSEL
REQ
GNT
DEVSEL is sampled
21510D-20
46 Am79C973/Am79C975
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7 8 9 10 11
FRAME
IRDY
TRDY
DEVSEL
STOP
REQ
GNT
Disconnect Without Data Transfer about the success of the previous data transfers in the
Figure 17 shows a target disconnect sequence during current transaction. The Am79C973/Am79C975 con-
which no data is transferred. STOP is asserted on clock troller ter minates the current transfer with the
4 without TRDY being asserted at the same time. The deassertion of FRAME on clock 5 and of IRDY one
Am79C973/Am79C975 controller terminates the ac- clock cycle later. It finally releases the bus on clock 6.
cess with the deassertion of FRAME on clock 5 and of Since data integrity is not guaranteed, the Am79C973/
IRDY one clock cycle later. It finally releases the bus on Am79C975 controller cannot recover from a target
clock 7. The Am79C973/Am79C975 controller will abort event. The Am79C973/Am79C975 controller will
again request the bus after two clock cycles to retry the reset all CSR locations to their STOP_RESET values.
last transfer. The starting address of the new transfer The BCR and PCI configuration registers will not be
will be the address of the last non-transferred data. cleared. Any on-going network transmission is termi-
Target Abort nated in an orderly sequence. If less than 512 bits have
been transmitted onto the network, the transmission
Figure 18 shows a target abort sequence. The target will be terminated immediately, generating a runt
asserts DEVSEL for one clock. It then deasserts packet. If 512 bits or more have been transmitted, the
DEVSEL and asserts STOP on clock 4. A target can message will have the current FCS inverted and ap-
use the target abort sequence to indicate that it cannot pended at the next byte boundary to guarantee an FCS
service the data transfer and that it does not want the error is detected at the receiving station.
transaction to be retried. Additionally, the Am79C973/
Am79C975 controller cannot make any assumption
Am79C973/Am79C975 47
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7 8 9 10 11
FRAME
IRDY
TRDY
DEVSEL
STOP
REQ
GNT
DEVSEL is sampled
21510D-22
RTABORT (PCI Status register, bit 12) will be set to in- release the bus. If it is not the last transaction, REQ will
dicate that the Am79C973/Am79C975 controller has remain asserted to regain bus ownership as soon as
received a target abort. In addition, SINT (CSR5, bit possible. See Figure 19.
11) will be set to 1. When SINT is set, INTA is asserted
Preemption During Burst Transaction
if the enable bit SINTE (CSR5, bit 10) is set to 1. This
mechanism can be used to inform the driver of the sys- When the Am79C973/Am79C975 controller operates
tem error. The host can read the PCI Status register to in burst mode, it only performs a single transaction per
determine the exact cause of the interrupt. bus mastership period, where transaction is defined as
one address phase and one or multiple data phases.
Master Initiated Termination The central arbiter can remove GNT at any time during
There are three scenarios besides normal completion the transaction. The Am79C973/Am79C975 controller
of a transaction where the Am79C973/Am79C975 con- will ignore the deassertion of GNT and continue with
troller will terminate the cycles it produces on the PCI data transfers, as long as the PCI Latency Timer is not
bus. expired. When the Latency Timer is 0 and GNT is deas-
serted, the Am79C973/Am79C975 controller will finish
Preemption During Non-Burst Transaction
the current data phase, deassert FRAME, finish the
When the Am79C973/Am79C975 controller performs last data phase, and release the bus. If EXTREQ
multiple non-burst transactions, it keeps REQ asserted (BCR18, bit 8) is cleared to 0, it will immediately assert
until the assertion of FRAME for the last transaction. REQ to regain bus ownership as soon as possible. If
When GNT is removed, the Am79C973/Am79C975 EXTREQ is set to 1, REQ will stay asserted.
controller will finish the current transaction and then
48 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 49
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7
FRAME
AD ADDR DATA
C/BE 0111 BE
IRDY
TRDY
DEVSEL
REQ
GNT
21510D-24
DEVSEL is sampled
Figure 19. Preemption During Non-Burst Transaction
CLK
1 2 3 4 5 6 7 8 9
FRAME
C/BE 0111 BE
IRDY
TRDY
DEVSEL
REQ
GNT
50 Am79C973/Am79C975
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7 8 9
FRAME
AD ADDR DATA
IRDY
TRDY
DEVSEL
REQ
GNT
DEVSEL is sampled
21510D-26
CLK
1 2 3 4 5 6 7 8 9
FRAME
AD ADDR DATA
C/BE 0111 BE
PERR
IRDY
TRDY
DEVSEL
Am79C973/Am79C975 51
P R E L I M I N A R Y
Whenever the Am79C973/Am79C975 controller is the will be terminated immediately, generating a runt
current bus master and a data parity error occurs, SINT packet.
(CSR5, bit 11) will be set to 1. When SINT is set, INTA
If 512 bits or more have been transmitted, the message
is asserted if the enable bit SINTE (CSR5, bit 10) is set
will have the current FCS inverted and appended at the
to 1. This mechanism can be used to inform the driver
next byte boundary to guarantee an FCS error is de-
of the system error. The host can read the PCI Status
tected at the receiving station.
register to determine the exact cause of the interrupt.
The setting of SINT due to a data parity error is not de- APERREN does not affect the reporting of address
pendent on the setting of PERREN (PCI Command parity errors or data parity errors that occur when the
register, bit 6). Am79C973/Am79C975 controller is the target of the
transfer.
By default, a data parity error does not affect the state
of the MAC engine. The Am79C973/Am79C975 con- Initialization Block DMA Transfers
troller treats the data in all bus master transfers that During execution of the Am79C973/Am79C975 con-
have a parity error as if nothing has happened. All net- troller bus master initialization procedure, the
work activity continues. Am79C973/Am79C975 microcode will repeatedly re-
Advanced Parity Error Handling quest DMA transfers from the BIU. During each of
these initialization block DMA transfers, the BIU will
For all DMA cycles, the Am79C973/Am79C975 con-
perform two data transfer cycles reading one DWord
troller provides a second, more advanced level of parity
per transfer and then it will relinquish the bus. When
error handling. This mode is enabled by setting APER-
SSIZE32 (BCR20, bit 8) is set to 1 (i.e., the initialization
REN (BCR20, bit 10) to 1. When APERREN is set to 1,
block is organized as 32-bit software structures), there
the BPE bits (RMD1 and TMD1, bit 23) are used to in-
are seven DWords to transfer during the bus master ini-
dicate parity error in data transfers to the receive and
tialization procedure, so four bus master-ship periods
transmit buffers. Note that since the advanced parity
are needed in order to complete the initialization se-
error handling uses an additional bit in the descriptor,
quence. Note that the last DWord transfer of the last
SWSTYLE (BCR20, bits 7-0) must be set to 2 or 3 to
bus mastership period of the initialization sequence ac-
program the Am79C973/Am79C975 controller to use
cesses an unneeded location. Data from this transfer is
32-bit software structures. The Am79C973/Am79C975
discarded internally. When SSIZE32 is cleared to 0
controller will react in the following way when a data
(i.e., the initialization block is organized as 16-bit soft-
parity error occurs:
ware structures), then three bus mastership periods
■ Initialization block read: STOP (CSR0, bit 2) is set to are needed to complete the initialization sequence.
1 and causes a STOP_RESET of the device.
The Am79C973/Am79C975 supports two transfer
■ Descriptor ring read: Any on-going network activity modes for reading the initialization block: non-burst and
is terminated in an orderly sequence and then STOP burst mode, with burst mode being the preferred mode
(CSR0, bit 2) is set to 1 to cause a STOP_RESET when the Am79C973/Am79C975 controller is used in a
of the device. PCI bus application. See Figure 23 and Figure 24.
■ Descriptor ring write: Any on-going network activity When BREADE is cleared to 0 (BCR18, bit 6), all initial-
is terminated in an orderly sequence and then STOP ization block read transfers will be executed in non-
(CSR0, bit 2) is set to 1 to cause a STOP_RESET burst mode. There is a new address phase for every
of the device. data phase. FRAME will be dropped between the two
■ Transmit buffer read: BPE (TMD1, bit 23) is set in the transfers. The two phases within a bus mastership pe-
current transmit descriptor. Any on-going network riod will have addresses of ascending contiguous
transmission is terminated in an orderly sequence. order.
■ Receive buffer write: BPE (RMD1, bit 23) is set in When BREADE is set to 1 (BCR18, bit 6), all initializa-
the last receive descriptor associated with the frame. tion block read transfers will be executed in burst mode.
Terminating on-going network transmission in an or- AD[1:0] will be 0 during the address phase indicating a
derly sequence means that if less than 512 bits have linear burst order.
been transmitted onto the network, the transmission
52 Am79C973/Am79C975
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7 8 9 10
FRAME
IRDY
TRDY
DEVSEL
REQ
GNT
CLK
1 2 3 4 5 6 7
FRAME
IRDY
TRDY
DEVSEL
REQ
GNT
21510D-29
DEVSEL is sampled
Am79C973/Am79C975 53
P R E L I M I N A R Y
Descriptor DMA Transfers When SWSTYLE is set to 0 or 2, all descriptor write op-
Am79C973/Am79C975 microcode will determine when erations are performed in non-burst mode. The setting
a descriptor access is required. A descriptor DMA read of BWRITE has no effect in this configuration.
will consist of two data transfers. A descriptor DMA When SWSTYLE is set to 3, the descriptor entries are
write will consist of one or two data transfers. The de- ordered to allow burst transfers. The Am79C973/
scriptor DMA transfers within a single bus mastership Am79C975 controller will perform all descriptor write
period will always be of the same type (either all read operations in burst mode, if BWRITE is set to 1. See
or all write). Table 6 for the descriptor write sequence.
During descriptor read accesses, the byte enable sig- A write transaction to the descriptor ring entries is the
nals will indicate that all byte lanes are active. Should only case where the Am79C973/Am79C975 controller
some of the bytes not be needed, then the Am79C973/ inserts a wait state when being the bus master. Every
Am79C975 controller will internally discard the extra- data phase in non-burst and burst mode is extended by
neous information that was gathered during such a one clock cycle, during which IRDY is deasserted.
read.
Note that Figure 26 assumes that the Am79C973/
The settings of SWSTYLE (BCR20, bits 7-0) and Am79C975 controller is programmed to use 32-bit soft-
BREADE (BCR18, bit 6) affect the way the Am79C973/ ware structures (SWSTYLE = 2 or 3). The byte enable
Am79C975 controller performs descriptor read signals for the second data transfer would be 0111b, if
operations. the device was programmed to use 16-bit software
When SWSTYLE is set to 0 or 2, all descriptor read op- structures (SWSTYLE = 0).
erations are performed in non-burst mode. The setting
of BREADE has no effect in this configuration. See Table 5. Descriptor Read Sequence
Figure 25. SWSTYLE BREADE
When SWSTYLE is set to 3, the descriptor entries are BCR20[7:0] BCR18[6] AD Bus Sequence
ordered to allow burst transfers. The Am79C973/ Address = XXXX XX00h
Am79C975 controller will perform all descriptor read Turn around cycle
operations in burst mode, if BREADE is set to 1. See Data = MD1[31:24],
Figure 26. MD0[23:0]
0 X
Table 5 shows the descriptor read sequence. Idle
Address = XXXX XX04h
During descriptor write accesses, only the byte lanes
Turn around cycle
which need to be written are enabled.
Data = MD2[15:0], MD1[15:0]
If buffer chaining is used, accesses to the descriptors Address = XXXX XX04h
of all intermediate buffers consist of only one data
Turn around cycle
transfer to return ownership of the buffer to the system.
When SWSTYLE (BCR20, bits 7-0) is cleared to 0 (i.e., Data = MD1[31:0]
the descriptor entries are organized as 16-bit software 2 X Idle
structures), the descriptor access will write a single Address = XXXX XX00h
byte. When SWSTYLE (BCR20, bits 7-0) is set to 2 or Turn around cycle
3 (i.e., the descriptor entries are organized as 32-bit Data = MD0[31:0]
software structures), the descriptor access will write a
Address = XXXX XX04h
single word. On all single buffer transmit or receive de-
scriptors, as well as on the last buffer in chain, writes to Turn around cycle
the descriptor consist of two data transfers. Data = MD1[31:0]
3 0 Idle
The first data transfer writes a DWord containing status
information. The second data transfer writes a byte Address = XXXX XX08h
(SWSTYLE cleared to 0), or otherwise a word contain- Turn around cycle
ing additional status and the ownership bit Data = MD0[31:0]
(i.e., MD1[31]). Address = XXXX XX04h
The settings of SWSTYLE (BCR20, bits 7-0) and Turn around cycle
3 1
BWRITE (BCR18, bit 5) affect the way the Am79C973/ Data = MD1[31:0]
Am79C975 controller performs descriptor write Data = MD0[31:0]
operations.
54 Am79C973/Am79C975
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7 8 9 10
FRAME
IRDY
TRDY
DEVSEL
REQ
GNT
21510D-30
DEVSEL is sampled
CLK
1 2 3 4 5 6 7
FRAME
IRDY
TRDY
DEVSEL
REQ
GNT
Am79C973/Am79C975 55
P R E L I M I N A R Y
56 Am79C973/Am79C975
P R E L I M I N A R Y
CLK
1 2 3 4 5 6 7 8 9 10
FRAME
IRDY
TRDY
DEVSEL
REQ
GNT
CLK
1 2 3 4 5 6 7 8
FRAME
IRDY
TRDY
DEVSEL
REQ
GNT
21510D-33
DEVSEL is sampled
Am79C973/Am79C975 57
P R E L I M I N A R Y
Burst FIFO DMA Transfers count in the receive descriptor always reflects the exact
Bursting is only perfor med by the Am79C973/ length of the received frame.
Am79C975 controller if the BREADE and/or BWRITE
bits of BCR18 are set. These bits individually enable/
disable the ability of the Am79C973/Am79C975 con- CLK
troller to perform burst accesses during master read 1 2 3 4 5 6
operations and master write operations, respectively.
FRAME
A burst transaction will start with an address phase, fol-
lowed by one or more data phases. AD[1:0] will always
AD ADD DATA DATA DATA
be 0 during the address phase indicating a linear burst
order.
C/BE 0111 0001 0000
During FIFO DMA read operations, all byte lanes will
always be active. The Am79C973/Am79C975 control-
ler will internally discard unused bytes. During the first PAR PAR PAR PAR
and the last data phases of a FIFO DMA burst write op-
eration, one or more of the byte enable signals may be
IRDY
inactive. All other data phases will always write a
complete DWord.
TRDY
Figure 29 shows the beginning of a FIFO DMA write
with the beginning of the buffer not aligned to a DWord
boundary. The Am79C973/Am79C975 controller starts DEVSEL
off by writing only three bytes during the first data
phase. This operation aligns the address for all other
REQ
data transfers to a 32-bit boundary so that the
Am79C973/Am79C975 controller can continue bursting
full DWords. GNT
58 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 59
P R E L I M I N A R Y
Re-initialization may be done via the initialization block When FASTSPNDE is 0 and the SPND bit is set, the
or by setting the STOP bit in CSR0, followed by writing Am79C973/Am79C975 controller may take longer be-
to CSR15, and then setting the START bit in CSR0. fore entering the suspend mode. At the time the SPND
Note that this form of restart will not perform the same bit is set, the Am79C973/Am79C975 controller will
in the Am79C973/Am79C975 controller as in the C- complete the DMA process of a transmit packet if it had
LANCE device. In par ticular, upon restar t, the already begun and the Am79C973/Am79C975 control-
Am79C973/Am79C975 controller reloads the transmit ler will completely receive a receive packet if it had
and receive descriptor pointers with their respective already begun. The Am79C973/Am79C975 controller
base addresses. This means that the software must will not receive any new packets after the completion of
clear the descriptor OWN bits and reset its descriptor the current reception. Additionally, all transmit packets
ring pointers before restar ting the Am79C973/ stored in the transmit FIFOs and the transmit buffer
Am79C975 controller. The reload of descriptor base area in the SRAM (if one is present) will be transmitted,
addresses is performed in the C-LANCE device only and all receive packets stored in the receive FIFOs and
after initialization, so that a restart of the C-LANCE the receive buffer area in the SRAM (if selected) will be
without initialization leaves the C-LANCE pointing at transferred into system memory. Since the FIFO and
the same descriptor locations as before the restart. the SRAM contents are flushed, it may take much
longer before the Am79C973/Am79C975 controller en-
Suspend
ters the suspend mode. The amount of time that it takes
The Am79C973/Am79C975 controller offers two sus- depends on many factors including the size of the
pend modes that allow easy updating of the CSR SRAM, bus latency, and network traffic level.
registers without going through a full re-initialization of
the device. The suspend modes also allow stopping the Upon completion of the described operations, the
device with orderly termination of all network activity. Am79C973/Am79C975 controller sets the read-ver-
sion of SPND to 1 and enters the suspend mode. In
The host requests the Am79C973/Am79C975 control- suspend mode, all of the CSR and BCR registers are
ler to enter the suspend mode by setting SPND (CSR5, accessible. As long as the Am79C973/Am79C975 con-
bit 0) to 1. The host must poll SPND until it reads back troller is not reset while in suspend mode (by
1 to determine that the Am79C973/Am79C975 control- H_RESET, S_RESET, or by setting the STOP bit), no
ler has entered the suspend mode. When the host sets re-initialization of the device is required after the device
SPND to 1, the procedure taken by the Am79C973/ comes out of suspend mode. When SPND is set to 0,
Am79C975 controller to enter the suspend mode de- the Am79C973/Am79C975 controller will leave the
pends on the setting of the fast suspend enable bit suspend mode and will continue at the transmit and re-
(FASTSPND, CSR7, bit 15). ceive descriptor ring locations where it was when it
When a fast suspend is requested (FASTSPND is set entered the suspend mode.
to 1), the Am79C973/Am79C975 controller performs a See the section on Magic Packet™ technology for de-
quick entry into the suspend mode. At the time the tails on how that affects suspension of the Am79C973/
SPND bit is set, the Am79C973/Am79C975 controller Am79C975 controller.
will continue the DMA process of any transmit and/or
receive packets that have already begun DMA activity Buffer Management
until the network activity has been completed. In addi- Buffer management is accomplished through message
tion, any transmit packet that had started transmission descriptor entries organized as ring structures in mem-
will be fully transmitted and any receive packet that had ory. There are two descriptor rings, one for transmit and
begun reception will be fully received. However, no ad- one for receive. Each descriptor describes a single
ditional packets will be transmitted or received and no buffer. A frame may occupy one or more buffers. If mul-
additional transmit or receive DMA activity will begin tiple buffers are used, this is referred to as buffer
after network activity has ceased. Hence, the chaining.
Am79C973/Am79C975 controller may enter the sus-
Descriptor Rings
pend mode with transmit and/or receive packets still in
the FIFOs or the SRAM. This offers a worst case sus- Each descriptor ring must occupy a contiguous area of
pend time of a maximum length packet over the memory. During initialization, the user-defined base
possibility of completely emptying the SRAM. Care address for the transmit and receive descriptor rings,
must be exercised in this mode, because the entire as well as the number of entries contained in the de-
memory subsystem of the Am79C973/Am79C975 con- scriptor rings are set up. The programming of the
troller is suspended. Any changes to either the software style (SWSTYLE, BCR20, bits 7-0) affects the
descriptor rings or the SRAM can cause the way the descriptor rings and their entries are arranged.
Am79C973/Am79C975 controller to start up in an un- When SWSTYLE is at its default value of 0, the de-
known condition and could cause data corruption. scriptor rings are backwards compatible with the
Am79C90 C-LANCE and the Am79C96x PCnet-ISA
60 Am79C973/Am79C975
P R E L I M I N A R Y
family. The descriptor ring base addresses must be To permit the queuing and de-queuing of message
aligned to an 8-byte boundary and a maximum of 128 buffers, ownership of each buffer is allocated to either
ring entries is allowed when the ring length is set the Am79C973/Am79C975 controller or the host. The
through the TLEN and RLEN fields of the initialization OWN bit within the descriptor status information, either
block. Each ring entry contains a subset of the three TMD or RMD, is used for this purpose.
32-bit transmit or receive message descriptors (TMD,
When OWN is set to 1, it signifies that the Am79C973/
RMD) that are organized as four 16-bit structures
Am79C975 controller currently has ownership of this
(SSIZE32 (BCR20, bit 8) is set to 0). Note that even
ring descriptor and its associated buffer. Only the
though the Am79C973/Am79C975 controller treats the
owner is permitted to relinquish ownership or to write to
descriptor entries as 16-bit structures, it will always
any field in the descriptor entry. A device that is not the
perform 32-bit bus transfers to access the descriptor
current owner of a descriptor entry cannot assume
entries. The value of CSR2, bits 15-8, is used as the
ownership or change any field in the entry. A device
upper 8-bits for all memory addresses during bus mas-
may, however, read from a descriptor that it does not
ter transfers.
currently own. Software should always read descriptor
When SWSTYLE is set to 2 or 3, the descriptor ring entries in sequential order. When software finds that
base addresses must be aligned to a 16-byte bound- the current descriptor is owned by the Am79C973/
ary, and a maximum of 512 ring entries is allowed when Am79C975 controller, then the software must not read
the ring length is set through the TLEN and RLEN fields ahead to the next descriptor. The software should wait
of the initialization block. Each ring entry is organized at a descriptor it does not own until the Am79C973/
as three 32-bit message descriptors (SSIZE32 Am79C975 controller sets OWN to 0 to release owner-
(BCR20, bit 8) is set to 1). The fourth DWord is re- ship to the software. (When LAPPEN (CSR3, bit 5) is
served. When SWSTYLE is set to 3, the order of the set to 1, this rule is modified. See the LAPPEN descrip-
message descriptors is optimized to allow read and tion. At initialization, the Am79C973/Am79C975
write access in burst mode. controller reads the base address of both the transmit
and receive descriptor rings into CSRs for use by the
For any software style, the ring lengths can be set be-
Am79C973/Am79C975 controller during subsequent
yond this range (up to 65535) by writing the transmit
operations.
and receive ring length registers (CSR76, CSR78)
directly. Figure 31 illustrates the relationship between the initial-
ization base address, the initialization block, the
Each ring entry contains the following information:
receive and transmit descriptor ring base addresses,
■ The address of the actual message data buffer in the receive and transmit descriptors, and the receive
user or host memory and transmit data buffers, when SSIZE32 is cleared to 0.
■ The length of the message buffer
■ Status information indicating the condition of the
buffer
Am79C973/Am79C975 61
P R E L I M I N A R Y
N N N
N
•
•
•
Rcv Descriptor
Ring
1st 2nd
CSR2 CSR1 desc. desc.
IADR[31:16] IADR[15:0]
RMD RMD0
RMD RMD RMD
Initialization
Block
MOD Data Data Data
PADR[15:0] Rcv
Buffer Buffer Buffer
PADR[31:16] Buffers 1 2 N
PADR[47:32]
LADRF[15:0]
M M M
LADRF[31:16] M
LADRF[47:32] •
•
LADRF[63:48] •
RDRA[15:0] Xmt Descriptor
RLE RES RDRA[23:16] Ring
TDRA[15:0]
1st 2nd
TLE RES TDRA[23:16] desc. desc.
TMD TMD
TMD TMD TMD
21510B21510D-36
Note: The value of CSR2, bits 15-8, is used as the to vector to the appropriate Receive Descriptor Table
upper 8-bits for all memory addresses during bus mas- Entry (RDTE). It will then use the current transmit de-
ter transfers. scriptor address (stored internally) to vector to the
Figure 32 illustrates the relationship between the initial- appropriate Transmit Descriptor Table Entry (TDTE). The
ization base address, the initialization block, the accesses will be made in the following order: RMD1,
receive and transmit descriptor ring base addresses, then RMD0 of the current RDTE during one bus arbitra-
the receive and transmit descriptors, and the receive tion, and after that, TMD1, then TMD0 of the current TDTE
and transmit data buffers, when SSIZE32 is set to 1. during a second bus arbitration. All information collected
during polling activity will be stored internally in the appro-
Polling priate CSRs, if the OWN bit is set (i.e., CSR18, CSR19,
If there is no network channel activity and there is no CSR20, CSR21, CSR40, CSR42, CSR50, CSR52).
pre- or post-receive or pre- or post-transmit activity A typical receive poll is the product of the following
being performed by the Am79C973/Am79C975 control- conditions:
ler, then the Am79C973/Am79C975 controller will
periodically poll the current receive and transmit descrip- 1. Am79C973/Am79C975 controller does not own the
tor entries in order to ascertain their ownership. If the current RDTE and the poll time has elapsed and
DPOLL bit in CSR4 is set, then the transmit polling func- RXON = 1 (CSR0, bit 5), or
tion is disabled. 2. Am79C973/Am79C975 controller does not own the
next RDTE and there is more than one receive descrip-
A typical polling operation consists of the following se- tor in the ring and the poll time has elapsed and
quence. The Am79C973/Am79C975 controller will use RXON = 1.
the current receive descriptor address stored internally
62 Am79C973/Am79C975
P R E L I M I N A R Y
N N N
N
•
•
•
Rcv Descriptor
1st Ring 2nd
desc. desc.
CSR2 CSR1 start start
IADR[31:16] IADR[15:0]
RMD RMD
RMD RMD RMD
Initialization
Block
TLE RES RLE RES MODE
Rcv Data Data Data
PADR[31:0] Buffer Buffer Buffer
PADR[47:32]
Buffers
RES 1 2 N
LADRF[31:0]
LADRF[63:32]
M M M
RDRA[31:0] M
TDRA[31:0] •
•
•
Xmt Descriptor
1st
Ring
2nd
desc. desc.
start start
TMD0 TMD0
TMD1 TMD2 TMD3
If RXON is cleared to 0, the Am79C973/Am79C975 has not been previously established, then an RDTE
controller will never poll RDTE locations. poll will be performed ahead of the TDTE poll. If the mi-
crocode is not executing the poll counting code when
In order to avoid missing frames, the system should
the TDMD bit is set, then the demanded poll of the
have at least one RDTE available. To minimize poll ac-
TDTE will be delayed until the microcode returns to the
tivity, two RDTEs should be available. In this case, the
poll counting code.
poll operation will only consist of the check of the status
of the current TDTE. The user may change the poll time value from the de-
fault of 65,536 clock periods by modifying the value in
A typical transmit poll is the product of the following
the Polling Interval register (CSR47).
conditions:
Transmit Descriptor Table Entry
1. Am79C973/Am79C975 controller does not own the
current TDTE and TXDPOLL = 0 (CSR4, bit 12) and If, after a Transmit Descriptor Table Entry (TDTE) ac-
TXON = 1 (CSR0, bit 4) and the poll time has cess, the Am79C973/Am79C975 controller finds that
elapsed, or the OWN bit of that TDTE is not set, the Am79C973/
Am79C975 controller resumes the poll time count and
2. Am79C973/Am79C975 controller does not own the
re-examines the same TDTE at the next expiration of
current TDTE and TXDPOLL = 0 and TXON = 1 and
the poll time count.
a frame has just been received, or
3. Am79C973/Am79C975 controller does not own the If the OWN bit of the TDTE is set, but the Start of Packet
current TDTE and TXDPOLL = 0 and TXON = 1 and (STP) bit is not set, the Am79C973/Am79C975 control-
a frame has just been transmitted. ler will immediately request the bus in order to clear the
OWN bit of this descriptor. (This condition would nor-
Setting the TDMD bit of CSR0 will cause the microcode mally be found following a late collision (LCOL) or retry
controller to exit the poll counting code and immedi- (RTRY) error that occurred in the middle of a transmit
ately perform a polling operation. If RDTE ownership frame chain of buffers.) After resetting the OWN bit of
Am79C973/Am79C975 63
P R E L I M I N A R Y
this descriptor, the Am79C973/Am79C975 controller If an error occurs in the transmission before all of the
will again immediately request the bus in order to ac- bytes of the current buffer have been transferred, trans-
cess the next TDTE location in the ring. mit status of the current buffer will be immediately
updated. If the buffer does not contain the end of
If the OWN bit is set and the buffer length is 0, the OWN
packet, the Am79C973/Am79C975 controller will skip
bit will be cleared. In the C-LANCE device, the buffer
over the rest of the frame which experienced the error.
length of 0 is interpreted as a 4096-byte buffer. A zero
This is done by returning to the polling microcode
length buffer is acceptable as long as it is not the last
where the Am79C973/Am79C975 controller will clear
buffer in a chain (STP = 0 and ENP = 1).
the OWN bit for all descriptors with OWN = 1 and STP
If the OWN bit and STP are set, then microcode control = 0 and continue in like manner until a descriptor with
proceeds to a routine that will enable transmit data OWN = 0 (no more transmit frames in the ring) or OWN
transfers to the FIFO. The Am79C973/Am79C975 con- = 1 and STP = 1 (the first buffer of a new frame) is
troller will look ahead to the next transmit descriptor reached.
after it has performed at least one transmit data trans-
At the end of any transmit operation, whether success-
fer from the first buffer.
ful or with errors, immediately following the completion
If the Am79C973/Am79C975 controller does not own of the descriptor updates, the Am79C973/Am79C975
the next TDTE (i.e., the second TDTE for this frame), it controller will always perform another polling operation.
will complete transmission of the current buffer and up- As described earlier, this polling operation will begin
date the status of the current (first) TDTE with the with a check of the current RDTE, unless the
BUFF and UFLO bits being set. If DXSUFLO (CSR3, Am79C973/Am79C975 controller already owns that
bit 6) is cleared to 0, the underflow error will cause the descriptor. Then the Am79C973/Am79C975 controller
transmitter to be disabled (CSR0, TXON = 0). The will poll the next TDTE. If the transmit descriptor OWN
Am79C973/Am79C975 controller will have to be re-ini- bit has a 0 value, the Am79C973/Am79C975 controller
tialized to restore the transmit function. Setting will resume incrementing the poll time counter. If the
DXSUFLO to 1 enables the Am79C973/Am79C975 transmit descriptor OWN bit has a value of 1, the
controller to gracefully recover from an underflow error. Am79C973/Am79C975 controller will begin filling the
The device will scan the transmit descriptor ring until it FIFO with transmit data and initiate a transmission.
finds either the start of a new frame or a TDTE it does This end-of-operation poll coupled with the TDTE loo-
not own. To avoid an underflow situation in a chained kahead operation allows the Am79C973/Am79C975
buffer transmission, the system should always set the controller to avoid inserting poll time counts between
transmit chain descriptor own bits in reverse order. successive transmit frames.
If the Am79C973/Am79C975 controller does own the By default, whenever the Am79C973/Am79C975 con-
second TDTE in a chain, it will gradually empty the con- troller completes a transmit frame (either with or
tents of the first buffer (as the bytes are needed by the without error) and writes the status information to the
transmit operation), perform a single-cycle DMA trans- current descriptor, then the TINT bit of CSR0 is set to
fer to update the status of the first descriptor (clear the indicate the completion of a transmission. This causes
OWN bit in TMD1), and then it may perform one data an interrupt signal if the IENA bit of CSR0 has been set
DMA access on the second buffer in the chain before and the TINTM bit of CSR3 is cleared. The Am79C973/
executing another lookahead operation. (i.e., a looka- Am79C975 controller provides two modes to reduce
head to the third descriptor.) the number of transmit interrupts. The interrupt of a
successfully transmitted frame can be suppressed by
It is imperative that the host system never reads the
setting TINTOKD (CSR5, bit 15) to 1. Another mode,
TDTE OWN bits out of order. The Am79C973/
which is enabled by setting LTINTEN (CSR5, bit 14) to
Am79C975 controller normally clears OWN bits in strict
1, allows suppression of interrupts for successful trans-
FIFO order. However, the Am79C973/Am79C975 con-
missions for all but the last frame in a sequence.
troller can queue up to two frames in the transmit FIFO.
When the second frame uses buffer chaining, the Receive Descriptor Table Entry
Am79C973/Am79C975 controller might return owner- If the Am79C973/Am79C975 controller does not own
ship out of normal FIFO order. The OWN bit for last both the current and the next Receive Descriptor Table
(and maybe only) buffer of the first frame is not cleared Entry (RDTE), then the Am79C973/Am79C975 con-
until transmission is completed. During the transmis- troller will continue to poll according to the polling
sion the Am79C973/Am79C975 controller will read in sequence described above. If the receive descriptor
buffers for the next frame and clear their OWN bits for ring length is one, then there is no next descriptor to be
all but the last one. The first and all intermediate buffers polled.
of the second frame can have their OWN bits cleared
before the Am79C973/Am79C975 controller returns If a poll operation has revealed that the current and the
ownership for the last buffer of the first frame. next RDTE belong to the Am79C973/Am79C975
64 Am79C973/Am79C975
P R E L I M I N A R Y
controller, then additional poll accesses are not neces- will subsequently update the current RDTE status with
sary. Future poll operations will not include RDTE the end of frame (ENP) indication set, write the mes-
accesses as long as the Am79C973/Am79C975 control- sage byte count (MCNT) for the entire frame into
ler retains ownership of the current and the next RDTE. RMD2, and overwrite the “current” entries in the CSRs
with the “next” entries.
When receive activity is present on the channel, the
Am79C973/Am79C975 controller waits for the com- Receive Frame Queuing
plete address of the message to arrive. It then decides The Am79C973/Am79C975 controller supports the
whether to accept or reject the frame based on all ac- lack of RDTEs when SRAM (SRAM SIZE in BCR 25,
tive addressing schemes. If the frame is accepted, the bits 7-0) is enabled through the Receive Frame Queu-
Am79C973/Am79C975 controller checks the current ing mechanism. When the SRAM SIZE = 0, then the
receive buffer status register CRST (CSR41) to deter- Am79C973/Am79C975 controller reverts back to the
mine the ownership of the current buffer. PCnet PCI II mode of operation. This operation is auto-
If ownership is lacking, the Am79C973/Am79C975 matic and does not require any programming by the
controller will immediately perform a final poll of the host. When SRAM is enabled, the Receive Frame
current RDTE. If ownership is still denied, the Queuing mechanism allows a slow protocol to manage
Am79C973/Am79C975 controller has no buffer in more frames without the high frame loss rate normally
which to store the incoming message. The MISS bit will attributed to FIFO based network controllers.
be set in CSR0 and the Missed Frame Counter The Am79C973/Am79C975 controller will store the in-
(CSR112) will be incremented. Another poll of the cur- coming frames in the extended FIFOs until polling
rent RDTE will not occur until the frame has finished. takes place; if enabled, it discovers it owns an RDTE.
If the Am79C973/Am79C975 controller sees that the The stored frames are not altered in any way until writ-
last poll (either a normal poll, or the final effort de- ten out into system buffers. When the receive FIFO
scribed in the above paragraph) of the current RDTE overflows, further incoming receive frames will be
shows valid ownership, it proceeds to a poll of the next missed during that time. As soon as the network re-
RDTE. Following this poll, and regardless of the out- ceive FIFO is empty, incoming frames are processed
come of this poll, transfers of receive data from the as normal. Status on a per frame basis is not kept dur-
FIFO may begin. ing the overflow process. Statistic counters are
maintained and accurate during that time.
Regardless of ownership of the second receive de-
scriptor, the Am79C973/Am79C975 controller will During the time that the Receive Frame Queuing mech-
continue to perform receive data DMA transfers to the anism is in operation, the Am79C973/Am79C975
first buffer. If the frame length exceeds the length of the controller relies on the Receive Poll Time Counter
first buffer, and the Am79C973/Am79C975 controller (CSR 48) to control the worst case access to the
does not own the second buffer, ownership of the cur- RDTE. The Receive Poll Time Counter is programmed
rent descriptor will be passed back to the system by through the Receive Polling Interval (CSR49) register.
writing a 0 to the OWN bit of RMD1. Status will be writ- The Received Polling Interval defaults to approximately
ten indicating buffer (BUFF = 1) and possibly overflow 2 ms. The Am79C973/Am79C975 controller will also
(OFLO = 1) errors. try to access the RDTE during normal descriptor ac-
cesses whether they are transmit or receive accesses.
If the frame length exceeds the length of the first (cur- The host can force the Am79C973/Am79C975 control-
rent) buffer, and the Am79C973/Am79C975 controller ler to immediately access the RDTE by setting the
does own the second (next) buffer, ownership will be RDMD (CSR 7, bit 13) to 1. Its operation is similar to
passed back to the system by writing a 0 to the OWN the transmit one. The polling process can be disabled
bit of RMD1 when the first buffer is full. The OWN bit is by setting the RXDPOLL (CSR7, bit 12) bit. This will
the only bit modified in the descriptor. Receive data stop the automatic polling process and the host must
transfers to the second buffer may occur before the set the RDMD bit to initiate the receive process into
Am79C973/Am79C975 controller proceeds to look host memory. Receive frames are still stored even
ahead to the ownership of the third buffer. Such action when the receive polling process is disabled.
will depend upon the state of the FIFO when the OWN
bit has been updated in the first descriptor. In any case, Software Interrupt Timer
lookahead will be performed to the third buffer and the The Am79C973/Am79C975 controller is equipped with
information gathered will be stored in the chip, regard- a software programmable free-running interrupt timer.
less of the state of the ownership bit. The timer is constantly running and will generate an in-
This activity continues until the Am79C973/Am79C975 terrupt STINT (CSR 7, bit 11) when STINITE (CSR 7,
controller recognizes the completion of the frame (the bit 10) is set to 1. After generating the interrupt, the
last byte of this receive message has been removed software timer will load the value stored in STVAL and
from the FIFO). The Am79C973/Am79C975 controller restart. The timer value STVAL (BCR31, bits 15-0) is
Am79C973/Am79C975 65
P R E L I M I N A R Y
interpreted as an unsigned number with a resolution of length/type, data, and FCS) of 64 bytes. When
256 Time Base Clock periods. For instance, a value of ASTRP_RCV (CSR4, bit 10) is set to 1, the receiver will
122 ms would be programmed with a value of 9531 automatically strip pad bytes from the received mes-
(253Bh), if the Time Base Clock is running at 20 MHz. sage by observing the value in the length field and by
The default value of STVAL is FFFFh which yields the stripping excess bytes if this value is below the mini-
approximate maximum 838 ms timer duration. A write mum data size (46 bytes). Both features can be
to STVAL restarts the timer with the new contents of independently over-ridden to allow illegally short (less
STVAL. than 64 bytes of frame data) messages to be transmit-
ted and/or received. The use of this feature reduces
10/100 Media Access Control bus utilization because the pad bytes are not trans-
The Media Access Control (MAC) engine incorporates ferred into or out of main memory.
the essential protocol requirements for operation of an
Framing
Ethernet/IEEE 802.3-compliant node and provides the
interface between the FIFO subsystem and the internal The MAC engine will autonomously handle the con-
PHY. struction of the transmit frame. Once the transmit FIFO
has been filled to the predetermined threshold (set by
This section describes operation of the MAC engine XMTSP in CSR80) and access to the channel is cur-
when operating in half-duplex mode. When operating in rently permitted, the MAC engine will commence the 7-
half-duplex mode, the MAC engine is fully compliant to byte preamble sequence (10101010b, where first bit
Section 4 of ISO/IEC 8802-3 (ANSI/IEEE Standard transmitted is a 1). The MAC engine will subsequently
1990 Second Edition) and ANSI/IEEE 802.3 (1985). append the Star t Frame Delimiter (SFD) byte
When operating in full-duplex mode, the MAC engine (10101011b) followed by the serialized data from the
behavior changes as described in the section Full- transmit FIFO. Once the data has been completed, the
Duplex Operation. MAC engine will append the FCS (most significant bit
The MAC engine provides programmable enhanced first) which was computed on the entire data portion of
features designed to minimize host supervision, bus the frame. The data portion of the frame consists of
utilization, and pre- or post-message processing. destination address, source address, length/type, and
These features include the ability to disable retries after frame data. The user is responsible for the correct or-
a collision, dynamic FCS generation on a frame-by- dering and content in each of these fields in the frame.
frame basis, automatic pad field insertion and deletion The MAC does not use the content in the length/type
to enforce minimum frame size attributes, automatic re- field unless APAD_XMT (CSR4, bit 11) is set and the
transmission without reloading the FIFO, and data portion of the frame is shorter than 60 bytes.
automatic deletion of collision fragments. The MAC engine will detect the incoming preamble se-
The two primary attributes of the MAC engine are: quence when the RX_DV signal is activated by the
internal PHY. The MAC will discard the preamble and
■ Transmit and receive message data encapsulation begin searching for the SFD. Once the SFD is de-
— Framing (frame boundary delimitation, frame tected, all subsequent nibbles are treated as part of the
synchronization) frame. The MAC engine will inspect the length field to
— Addressing (source and destination address ensure minimum frame size, strip unnecessary pad
handling) characters (if enabled), and pass the remaining bytes
through the receive FIFO to the host. If pad stripping is
— Error detection (physical medium transmission performed, the MAC engine will also strip the received
errors) FCS bytes, although normal FCS computation and
■ Media access management checking will occur. Note that apart from pad stripping,
the frame will be passed unmodified to the host. If the
— Medium allocation (collision avoidance, except length field has a value of 46 or greater, all frame bytes
in full-duplex operation) including FCS will be passed unmodified to the receive
— Contention resolution (collision handling, except buffer, regardless of the actual frame length.
in full-duplex operation)
If the frame terminates or suffers a collision before 64
Transmit and Receive Message Data Encapsulation bytes of information (after SFD) have been received,
The MAC engine provides minimum frame size en- the MAC engine will automatically delete the frame
forcement for transmit and receive frames. When from the receive FIFO, without host intervention. The
APAD_XMT (CSR, bit 11) is set to 1, transmit mes- Am79C973/Am79C975 controller has the ability to ac-
sages will be padded with sufficient bytes (containing cept runt packets for diagnostic pur poses and
00h) to ensure that the receiving station will observe an proprietary networks.
information field (destination address, source address,
66 Am79C973/Am79C975
P R E L I M I N A R Y
Destination Address Handling regardless of any error. The FRAM error will only be re-
The first 6 bytes of information after SFD will be inter- ported if an FCS error is detected and there is a non-
preted as the destination address field. The MAC integral number of bytes in the message.
engine provides facilities for physical (unicast), logical During the reception, the FCS is generated on every
(multicast), and broadcast address reception. nibble (including the dribbling bits) coming from the ca-
Error Detection ble, although the internally saved FCS value is only
updated on the eighth bit (on each byte boundary). The
The MAC engine provides several facilities which re- MAC engine will ignore up to 7 additional bits at the end
por t and recover from errors on the medium. In of a message (dribbling bits), which can occur under
addition, it protects the network from gross errors due normal network operating conditions. The framing error
to inability of the host to keep pace with the MAC en- is reported to the user as follows:
gine activity.
■ If the number of dribbling bits are 1 to 7 and there
On completion of transmission, the following transmit is no FCS error, then there is no Framing error
status is available in the appropriate Transmit Message (FRAM = 0).
Descriptor (TMD) and Control and Status Register
(CSR) areas: ■ If the number of dribbling bits are 1 to 7 and there is
a FCS error, then there is also a Framing error
■ The number of transmission retry attempts (ONE, (FRAM = 1).
MORE, RTRY, and TRC).
■ If the number of dribbling bits is 0, then there is no
■ Whether the MAC engine had to Defer (DEF) due to Framing error. There may or may not be a FCS error.
channel activity.
■ If the number of dribbling bits is EIGHT, then there
■ Excessive deferral (EXDEF), indicating that the is no Framing error. FCS error will be reported and
transmitter experienced Excessive Deferral on this the receive message count will indicate one extra
transmit frame, where Excessive Deferral is defined byte.
in the ISO 8802-3 (IEEE/ANSI 802.3) standard.
Counters are provided to report the Receive Collision
■ Loss of Carrier (LCAR), indicating that there was an Count and Runt Packet Count, for network statistics
interruption in the ability of the MAC engine to mon- and utilization calculations.
itor its own transmission. Repeated LCAR errors in-
dicate a potentially faulty transceiver or network Media Access Management
connection. The basic requirement for all stations on the network is
■ Late Collision (LCOL) indicates that the transmis- to provide fairness of channel allocation. The IEEE
sion suffered a collision after the slot time. This is in- 802.3/Ethernet protocols define a media access mech-
dicative of a badly configured network. Late anism which permits all stations to access the channel
collisions should not occur in a normal operating with equality. Any node can attempt to contend for the
network. channel by waiting for a predetermined time (Inter
Packet Gap) after the last activity, before transmitting
■ Collision Error (CERR) indicates that the trans-
on the media. The channel is a multidrop communica-
ceiver did not respond with an SQE Test message
tions media (with various topological configurations
within the first 4 ms after a transmission was com-
permitted), which allows a single station to transmit and
pleted. This may be due to a failed transceiver, dis-
all other stations to receive. If two nodes simulta-
connected or faulty transceiver drop cable, or
neously contend for the channel, their signals will
because the transceiver does not support this fea-
interact causing loss of data, defined as a collision. It is
ture (or it is disabled). SQE Test is only valid for 10-
the responsibility of the MAC to attempt to avoid and
Mbps networks.
recover from a collision, to guarantee data integrity for
In addition to the reporting of network errors, the MAC the end-to-end transmission to the receiving station.
engine will also attempt to prevent the creation of any
Medium Allocation
network error due to the inability of the host to service
the MAC engine. During transmission, if the host fails The IEEE/ANSI 802.3 standard (ISO/IEC 8802-3 1990)
to keep the transmit FIFO filled sufficiently, causing an requires that the CSMA/CD MAC monitor the medium
underflow, the MAC engine will guarantee the message for traffic by watching for carrier activity. When carrier is
is either sent as a runt packet (which will be deleted by detected, the media is considered busy, and the MAC
the receiving station) or as an invalid FCS (which will should defer to the existing message.
also cause the receiver to reject the message). The ISO 8802-3 (IEEE/ANSI 802.3) standard also al-
The status of each receive message is available in the lows optionally a two-part deferral after a receive
appropriate Receive Message Descriptor (RMD) and message.
CSR areas. All received frames are passed to the host See ANSI/IEEE Std 802.3-1993 Edition, 4.2.3.2.1:
Am79C973/Am79C975 67
P R E L I M I N A R Y
Note: It is possible for the PLS carrier sense indication on the network. This aggressive nature will give rise to
to fail to be asserted during a collision on the media. If the Am79C973/Am79C975 controller possibly captur-
the deference process simply times the inter-Frame ing the network at times by forcing other less
gap based on this indication, it is possible for a short aggressive compliant nodes to defer. By programming
interFrame gap to be generated, leading to a potential a larger number of bit times, the Am79C973/
reception failure of a subsequent frame. To enhance Am79C975 MAC will become less aggressive on the
system robustness, the following optional measures, network and may defer more often than normal. The
as specified in 4.2.8, are recommended when Inter- performance of the Am79C973/Am79C975 controller
Frame-SpacingPart1 is other than 0: may decrease as the IPG value is increased from the
1. Upon completing a transmission, start timing the in- default value, but the resulting behavior may improve
terrupted gap, as soon as transmitting and carrier network performance by reducing collisions. The
sense are both false. Am79C973/Am79C975 controller uses the same IPG
for back-to-back transmits and receive-to-transmit ac-
2. When timing an inter-frame gap following reception, cesses. Changing IFS1 will alter the period for which
reset the inter-frame gap timing if carrier sense be- the Am79C973/Am79C975 MAC engine will defer to in-
comes true during the first 2/3 of the inter-frame gap coming receive frames.
timing interval. During the final 1/3 of the interval,
the timer shall not be reset to ensure fair access to CAUTION: Care must be exercised when altering
the medium. An initial period shorter than 2/3 of the these parameters. Adverse network activity could
interval is permissible including 0. result!
The MAC engine implements the optional receive two This transmit two-part deferral algorithm is imple-
part deferral algorithm, with an InterFrameSpacing- mented as an option which can be disabled using the
Part1 time of 6.0 ms. The InterFrameSpacingPart 2 in- DXMT2PD bit in CSR3. The IFS1 programming will
terval is, therefore, 3.4 ms. have no effect when DXMT2PD is set to 1, but the IPG
programming value is still valid. Two part deferral after
The Am79C973/Am79C975 controller will perform the transmission is useful for ensuring that severe IPG
two-part deferral algorithm as specified in Section 4.2.8 shrinkage cannot occur in specific circumstances,
(Process Deference). The Inter Packet Gap (IPG) timer causing a transmit message to follow a receive mes-
will start timing the 9.6 ms InterFrameSpacing after the sage so closely as to make them indistinguishable.
receive carrier is deasserted. During the first part de-
fe r r a l ( I n t e r Fr a m e S p a c i n g Pa r t 1 - I F S 1 ) , t h e During the time period immediately after a transmis-
Am79C973/Am79C975 controller will defer any pend- sion has been completed, the external transceiver
ing transmit frame and respond to the receive should generate the SQE Test message within 0.6 to
message. The IPG counter will be cleared to 0 contin- 1.6 ms after the transmission ceases. During the time
uously until the carrier deasserts, at which point the period in which the SQE Test message is expected, the
IPG counter will resume the 9.6 ms count once again. Am79C973/Am79C975 controller will not respond to
Once the IFS1 period of 6.0 ms has elapsed, the receive carrier sense.
Am79C973/Am79C975 controller will begin timing the See ANSI/IEEE Std 802.3-1993 Edition, 7.2.4.6 (1):
second part deferral (InterFrameSpacingPart2 - IFS2)
of 3.4 ms. Once IFS1 has completed and IFS2 has “At the conclusion of the output function, the DTE
commenced, the Am79C973/Am79C975 controller will opens a time window during which it expects to see
not defer to a receive frame if a transmit frame is pend- the signal_quality_error signal asserted on the
ing. This means that the Am79C973/Am79C975 Control In circuit. The time window begins when
controller will not attempt to receive the receive frame, the CARRIER_STATUS becomes
since it will start to transmit and generate a collision at CARRIER_OFF. If execution of the output function
9.6 ms. The Am79C973/Am79C975 controller will com- does not cause CARRIER_ON to occur, no SQE
plete the preamble (64-bit) and jam (32-bit) sequence test occurs in the DTE. The duration of the window
before ceasing transmission and invoking the random shall be at least 4.0 ms but no more than 8.0 ms.
backoff algorithm. During the time window the Carrier Sense Function
is inhibited.”
The Am79C973/Am79C975 controller allows the user
to program the IPG and the first part deferral (Inter- The Am79C973/Am79C975 controller implements a
Frame-SpacingPart1 - IFS1) through CSR125. By carrier sense “blinding” period of 4.0 ms length starting
changing the IPG default value of 96 bit times (60h), from the deassertion of carrier sense after transmis-
the user can adjust the fairness or aggressiveness of sion. This effectively means that when transmit two part
the Am79C973/Am79C975 MAC on the network. By deferral is enabled (DXMT2PD is cleared), the IFS1
programming a lower number of bit times than the ISO/ time is from 4 ms to 6 ms after a transmission. How-
IEC 8802-3 standard requires, the Am79C973/ ever, since IPG shrinkage below 4 ms will rarely be
Am79C975 MAC engine will become more aggressive encountered on a correctly configured network, and
68 Am79C973/Am79C975
P R E L I M I N A R Y
since the fragment size will be larger than the 4 ms The Am79C973/Am79C975 controller provides an al-
blinding window, the IPG counter will be reset by a ternative algorithm, which suspends the counting of the
worst case IPG shrinkage/fragment scenario and the slot time/IPG during the time that receive carrier sense
Am79C973/Am79C975 controller will defer its trans- is detected. This aids in networks where large numbers
mission. If carrier is detected within the 4.0 to 6.0 ms of nodes are present, and numerous nodes can be in
IFS1 period, the Am79C973/Am79C975 controller will collision. It effectively accelerates the increase in the
not restart the “blinding” period, but only restart IFS1. backoff time in busy networks and allows nodes not in-
volved in the collision to access the channel, while the
Collision Handling
colliding nodes await a reduction in channel activity.
Collision detection is performed and reported to the Once channel activity is reduced, the nodes resolving
MAC engine via the COL input pin. the collision time-out their slot time counters as normal.
If a collision is detected before the complete preamble/ This modified backoff algorithm is enabled when EMBA
SFD sequence has been transmitted, the MAC engine (CSR3, bit 3) is set to 1.
will complete the preamble/SFD before appending the
jam sequence. If a collision is detected after the pream- Transmit Operation
ble/SFD has been completed, but prior to 512 bits The transmit operation and features of the Am79C973/
being transmitted, the MAC engine will abort the trans- Am79C975 controller are controlled by programmable
mission and append the jam sequence immediately. options. The Am79C973/Am79C975 controller offers a
The jam sequence is a 32-bit all zeros pattern. large transmit FIFO to provide frame buffering for in-
The MAC engine will attempt to transmit a frame a total creased system latency, automatic retransmission with
of 16 times (initial attempt plus 15 retries) due to nor- no FIFO reload, and automatic transmit padding.
mal collisions (those within the slot time). Detection of Transmit Function Programming
collision will cause the transmission to be rescheduled
Automatic transmit features such as retry on collision,
to a time determined by the random backoff algorithm.
FCS generation/transmission, and pad field insertion
If a single retry was required, the 1 bit will be set in the
can all be programmed to provide flexibility in the (re-)
transmit frame status. If more than one retry was re-
transmission of messages.
quired, the MORE bit will be set. If all 16 attempts
experienced collisions, the RTRY bit will be set (1 and Disable retry on collision (DRTY) is controlled by the
MORE will be clear), and the transmit message will be DRTY bit of the Mode register (CSR15) in the initializa-
flushed from the FIFO. If retries have been disabled by tion block.
setting the DRTY bit in CSR15, the MAC engine will
Automatic pad field insertion is controlled by the
abandon transmission of the frame on detection of the
APAD_XMT bit in CSR4.
first collision. In this case, only the RTRY bit will be set
and the transmit message will be flushed from the The disable FCS generation/transmission feature can
FIFO. be programmed as a static feature or dynamically on a
frame-by-frame basis.
If a collision is detected after 512 bit times have been
transmitted, the collision is termed a late collision. The Transmit FIFO Watermark (XMTFW) in CSR80 sets the
MAC engine will abort the transmission, append the point at which the BMU requests more data from the
jam sequence, and set the LCOL bit. No retry attempt transmit buffers for the FIFO. A minimum of XMTFW
will be scheduled on detection of a late collision, and empty spaces must be available in the transmit FIFO
the transmit message will be flushed from the FIFO. before the BMU will request the system bus in order to
transfer transmit frame data into the transmit FIFO.
The ISO 8802-3 (IEEE/ANSI 802.3) Standard requires
use of a “truncated binary exponential backoff” algo- Transmit Start Point (XMTSP) in CSR80 sets the point
rithm, which provides a controlled pseudo random when the transmitter actually attempts to transmit a
mechanism to enforce the collision backoff interval, frame onto the media. A minimum of XMTSP bytes
before retransmission is attempted. must be written to the transmit FIFO for the current
frame before transmission of the current frame will be-
See ANSI/IEEE Std 802.3-1990 Edition, 4.2.3.2.5:
gin. (When automatically padded packets are being
“At the end of enforcing a collision (jamming), the sent, it is conceivable that the XMTSP is not reached
CSMA/CD sublayer delays before attempting to re- when all of the data has been transferred to the FIFO.
transmit the frame. The delay is an integer multiple In this case, the transmission will begin when all of the
of slot time. The number of slot times to delay be- frame data has been placed into the transmit FIFO.)
fore the nth retransmission attempt is chosen as a The default value of XMTSP is 01b, meaning there has
uniformly distributed random integer r in the range: to be 64 bytes in the transmit FIFO to star t a
transmission.
0 ≤ r < 2k where k = min (n,10).”
Am79C973/Am79C975 69
P R E L I M I N A R Y
56 8 6 6 2 4
Bits Bits Bytes Bytes Bytes Bytes
46 – 1500
Bytes 21510D-38
Figure 33. ISO 8802-3 (IEEE/ANSI 802.3) Data Frame
The 544 bit count is derived from the following: bit first. The default value of DXMTFCS is 0 after
H_RESET.
Minimum frame size (excluding preamble/SFD, in-
cluding FCS) 64 bytes 512 bits ADD_FCS (TMD1, bit 29) allows the automatic gener-
ation and transmission of FCS on a frame-by-frame
Preamble/SFD size 8 bytes 64 bits
basis. DXMTFCS should be set to 1 in this mode. To
FCS size 4 bytes 32 bits generate FCS for a frame, ADD_FCS must be set in all
descriptors of a frame (STP is set to 1). Note that bit 29
At the point that FCS is to be appended, the transmitted
of TMD1 has the function of ADD_FCS if SWSTYLE
frame should contain:
(BCR20, bits 7-0) is programmed to 0, 2, or 3.
Preamble/SFD + (Min Frame Size - FCS)
Transmit Exception Conditions
64 + (512-32) = 544 bits Exception conditions for frame transmission fall into
A minimum length transmit frame from the Am79C973/ two distinct categories: those conditions which are the
Am79C975 controller, therefore, will be 576 bits, after result of normal network operation, and those which
the FCS is appended. occur due to abnormal network and/or host related
events.
Transmit FCS Generation
Normal events which may occur and which are handled
Automatic generation and transmission of FCS for a
autonomously by the Am79C973/Am79C975 controller
transmit frame depends on the value of DXMTFCS
include collisions within the slot time with automatic re-
(CSR15, bit 3). If DXMTFCS is cleared to 0, the trans-
try. The Am79C973/Am79C975 controller will ensure
mitter will generate and append the FCS to the
that collisions which occur within 512 bit times from the
transmitted frame. If the automatic padding feature is
start of transmission (including preamble) will be auto-
invoked (APAD_XMT is set in CSR4), the FCS will be
matically retried with no host intervention. The transmit
appended to frames shorter than 64 bytes by the
FIFO ensures this by guaranteeing that data contained
Am79C973/Am79C975 controller regardless of the
within the FIFO will not be overwritten until at least 64
state of DXMTFCS or ADD_FCS (TMD1, bit 29). Note
bytes (512 bits) of preamble plus address, length, and
that the calculated FCS is transmitted most significant
data fields have been transmitted onto the network
70 Am79C973/Am79C975
P R E L I M I N A R Y
without encountering a collision. Note that if DRTY increased system latency, automatic flushing of colli-
(CSR15, bit 5) is set to 1 or if the network interface is sion fragments (runt packets), automatic receive pad
operating in full-duplex mode, no collision handling is stripping, and a variety of address match options.
required, and any byte of frame data in the FIFO can be
Receive Function Programming
overwritten as soon as it is transmitted.
Automatic pad field stripping is enabled by setting the
If 16 total attempts (initial attempt plus 15 retries) fail, ASTRP_RCV bit in CSR4. This can provide flexibility in
the Am79C973/Am79C975 controller sets the RTRY bit the reception of messages using the IEEE 802.3 frame
in the current transmit TDTE in host memory (TMD2), format.
gives up ownership (resets the OWN bit to 0) for this
frame, and processes the next frame in the transmit All receive frames can be accepted by setting the
ring for transmission. PROM bit in CSR15. Acceptance of unicast and broad-
cast frames can be individually turned off by setting the
Abnormal network conditions include: DRCVPA or DRCVBC bits in CSR15. The Physical Ad-
■ Loss of carrier dress register (CSR12 to CSR14) stores the address
that the Am79C973/Am79C975 controller compares to
■ Late collision
the destination address of the incoming frame for a uni-
■ SQE Test Error (Does not apply to 100-Mbps cast address match. The Logical Address Filter register
networks.) (CSR8 to CSR11) serves as a hash filter for multicast
These conditions should not occur on a correctly con- address match.
figured IEEE 802.3 network operating in half-duplex The point at which the BMU will start to transfer data
mode. If they do, they will be reported. None of these from the receive FIFO to buffer memory is controlled by
conditions will occur on a network operating in full- the RCVFW bits in CSR80. The default established
duplex mode. (See the section Full-Duplex Operation during H_RESET is 01b, which sets the watermark flag
for more detail.) at 64 bytes filled.
When an error occurs in the middle of a multi-buffer For test purposes, the Am79C973/Am79C975 control-
frame transmission, the error status will be written in ler can be programmed to accept runt packets by
the current descriptor. The OWN bit(s) in the subse- setting RPA in CSR124.
quent descriptor(s) will be cleared until the STP (the
next frame) is found. Address Matching
The Am79C973/Am79C975 controller supports three
Loss of Carrier
types of address matching: unicast, multicast, and
LCAR will be reported for every frame transmitted if the broadcast. The normal address matching procedure
controller detects a loss of carrier. can be modified by programming three bits in CSR15,
Late Collision the mode register (PROM, DRCVPA, and DRCVBC).
A late collision will be reported if a collision condition If the first bit received after the SFD (the least signifi-
occurs after one slot time (512 bit times) after the trans- cant bit of the first byte of the destination address field)
mit process was initiated (first bit of preamble is 0, the frame is unicast, which indicates that the frame
commenced). The Am79C973/Am79C975 controller is meant to be received by a single node. If the first bit
will abandon the transmit process for that frame, set received is 1, the frame is multicast, which indicates
Late Collision (LCOL) in the associated TMD2, and that the frame is meant to be received by a group of
process the next transmit frame in the ring. Frames ex- nodes. If the destination address field contains all 1s,
periencing a late collision will not be retried. Recovery the frame is broadcast, which is a special type of
from this condition must be performed by upper layer multicast. Frames with the broadcast address in the
software. destination address field are meant to be received by
all nodes on the local area network.
SQE Test Error
When a unicast frame arrives at the Am79C973/
CERR will be asserted in the 10BASE-T mode after
Am79C975 controller, the controller will accept the
transmit, if the network port is in Link Fail state. CERR
frame if the destination address field of the incoming
will never cause INTA to be activated. It will, however,
frame exactly matches the 6-byte station address
set the ERR bit CSR0.
stored in the Physical Address registers (PADR,
Receive Operation CSR12 to CSR14). The byte ordering is such that the
first byte received from the network (after the SFD)
The receive operation and features of the Am79C973/
must match the least significant byte of CSR12
Am79C975 controller are controlled by programmable
(PADR[7:0]), and the sixth byte received must match
options. The Am79C973/Am79C975 controller offers a
the most significant byte of CSR14 (PADR[47:40]).
large receive FIFO to provide frame buffering for
Am79C973/Am79C975 71
P R E L I M I N A R Y
When DRCVPA (CSR15, bit 13) is set to 1, the If DRCVBC (CSR15, bit 14) is cleared to 0, only BAM,
Am79C973/Am79C975 controller will not accept uni- but not LAFM will be set when a Broadcast frame is re-
cast frames. c e i ve d , eve n i f t h e L o g i c a l A d d r e s s F i l t e r i s
programmed in such a way that a Broadcast frame
If the incoming frame is multicast, the Am79C973/
would pass the hash filter. If DRCVBC is set to 1 and
Am79C975 controller performs a calculation on the
the Logical Address Filter is programmed in such a way
contents of the destination address field to determine
that a Broadcast frame would pass the hash filter,
whether or not to accept the frame. This calculation is
LAFM will be set on the reception of a Broadcast frame.
explained in the section that describes the Logical Ad-
dress Filter (LADRF). When the Am79C973/Am79C975 controller operates
in promiscuous mode and none of the three match bits
When all bits of the LADRF registers are 0, no multicast
is set, it is an indication that the Am79C973/Am79C975
frames are accepted, except for broadcast frames.
controller only accepted the frame because it was in
Although broadcast frames are classified as special promiscuous mode.
multicast frames, they are treated differently by the
When the Am79C973/Am79C975 controller is not pro-
Am79C973/Am79C975 controller hardware. Broadcast
grammed to be in promiscuous mode, but the EADI
frames are always accepted, except when DRCVBC
interface is enabled, then when none of the three
(CSR15, bit 14) is set and there is no Logical Address
match bits is set, it is an indication that the Am79C973/
match.
Am79C975 controller only accepted the frame because
None of the address filtering described above applies it was not rejected by driving the EAR pin LOW within
when the Am79C973/Am79C975 controller is operat- 64 bytes after SFD.
ing in the promiscuous mode. In the promiscuous
See Table 7 for receive address matches.
mode, all properly formed packets are received, re-
gardless of the contents of their destination address
Table 7. Receive Address Match
fields. The promiscuous mode overrides the Disable
Receive Broadcast bit (DRCVBC bit l4 in the MODE LAF DRC
register) and the Disable Receive Physical Address bit PAM M BAM VBC Comment
(DRCVPA, CSR15, bit 13). Frame accepted due to
0 0 0 X PROM = 1 or no EADI
The Am79C973/Am79C975 controller operates in pro-
reject
miscuous mode when PROM (CSR15, bit 15) is set.
1 0 0 X Physical address match
In addition, the Am79C973/Am79C975 controller pro- Logical address filter
vides the External Address Detection Interface (EADI) match;
to allow external address filtering. See the section Ex- 0 1 0 0
frame is not of type
ternal Address Detection Interface for further detail. broadcast
The receive descriptor entry RMD1 contains three bits Logical address filter
that indicate which method of address matching match;
0 1 0 1
frame can be of type
caused the Am79C973/Am79C975 controller to accept
broadcast
the frame. Note that these indicator bits are only avail-
able when the Am79C973/Am79C975 controller is 0 0 1 0 Broadcast frame
programmed to use 32-bit structures for the descriptor Automatic Pad Stripping
entries (BCR20, bit 7-0, SWSTYLE is set to 2 or 3).
During reception of an IEEE 802.3 frame, the pad field
PAM (RMD1, bit 22) is set by the Am79C973/ can be stripped automatically. Setting ASTRP_RCV
Am79C975 controller when it accepted the received (CSR4, bit 0) to 1 enables the automatic pad stripping
frame due to a match of the frame's destination ad- feature. The pad field will be stripped before the frame
dress with the content of the physical address register. is passed to the FIFO, thus preserving FIFO space for
LAFM (RMD1, bit 21) is set by the Am79C973/ additional frames. The FCS field will also be stripped,
Am79C975 controller when it accepted the received since it is computed at the transmitting station based
frame based on the value in the logical address filter on the data and pad field characters, and will be invalid
register. for a receive frame that has had the pad characters
stripped.
BAM (RMD1, bit 20) is set by the Am79C973/
Am79C975 controller when it accepted the received The number of bytes to be stripped is calculated from
frame because the frame's destination address is of the the embedded length field (as defined in the ISO 8802-
type 'Broadcast'. 3 (IEEE/ANSI 802.3) definition) contained in the frame.
The length indicates the actual number of LLC data
bytes contained in the message. Any received frame
72 Am79C973/Am79C975
P R E L I M I N A R Y
which contains a length field less than 46 bytes will Figure 34 shows the byte/bit ordering of the received
have the pad field stripped (if ASTRP_RCV is set). Re- length field for an IEEE 802.3-compatible frame format.
ceive frames which have a length field of 46 bytes or
greater will be passed to the host unmodified.
46 – 1500
Bytes
56 8 6 6 2 4
Bits Bits Bytes Bytes Bytes Bytes
1 – 1500 45 – 0
Bytes Bytes
Start of Frame
at Time = 0
Bit Bit Bit Bit
0 7 0 7
Increasing Time
Most Least
Significant Significant
Byte Byte 21510D-39
Figure 34. IEEE 802.3 Frame And Length Field Transmission Order
Since any valid Ethernet Type field value will always be Normal events which may occur and which are handled
greater than a normal IEEE 802.3 Length field (≥46), autonomously by the Am79C973/Am79C975 controller
the Am79C973/Am79C975 controller will not attempt are basically collisions within the slot time and auto-
to strip valid Ethernet frames. Note that for some net- m a t i c r u n t p a cke t r e j e c t i o n . T h e A m 7 9 C 9 7 3 /
work protocols, the value passed in the Ethernet Type Am79C975 controller will ensure that collisions that
and/or IEEE 802.3 Length field is not compliant with ei- occur within 512 bit times from the start of reception
ther standard and may cause problems if pad stripping (excluding preamble) will be automatically deleted from
is enabled. the receive FIFO with no host intervention. The receive
FIFO will delete any frame that is composed of fewer
Receive FCS Checking
than 64 bytes provided that the Runt Packet Accept
Reception and checking of the received FCS is per- (RPA bit in CSR124) feature has not been enabled and
formed automatically by the Am79C973/Am79C975 the network interface is operating in half-duplex mode,
controller. Note that if the Automatic Pad Stripping fea- or the full-duplex Runt Packet Accept Disable bit (FDR-
ture is enabled, the FCS for padded frames will be PAD, BCR9, bit 2) is set. This criterion will be met
verified against the value computed for the incoming bit regardless of whether the receive frame was the first
stream including pad characters, but the FCS value for (or only) frame in the FIFO or if the receive frame was
a padded frame will not be passed to the host. If an queued behind a previously received message.
FCS error is detected in any frame, the error will be re-
ported in the CRC bit in RMD1. Abnormal network conditions include:
Exception conditions for frame reception fall into two ■ Late collision
distinct categories, i.e., those conditions which are the Host related receive exception conditions include
result of normal network operation, and those which MISS, BUFF, and OFLO. These are described in the
occur due to abnormal network and/or host related section, Buffer Management Unit.
events.
Am79C973/Am79C975 73
P R E L I M I N A R Y
74 Am79C973/Am79C975
P R E L I M I N A R Y
10/100 PHY Unit Overview from the data stream, de-serializes the data stream,
and descrambles/decodes the data stream (5B/4B) be-
The 10/100 PHY unit implements the complete physi-
fore presenting it to the internal MII interface.
cal layer for 10BASE-T and the Physical Coding
Sublayer (PCS), Physical Medium Attachment (PMA), 100BASE-FX (Fiber Interface)
and Physical Medium Dependent (PMD) functionality
The Am79C973/Am79C975 device suppor ts a
for 100BASE-TX. The 10/100 PHY implements Auto-
Pseudo-ECL (PECL) interface for Fiber applications.
Negotiation allowing two devices connected across a
The mode is enabled when BCR2 bit 14
link segment to take maximum advantage of their capa-
(DISSCR_SFEX) is set to 1 and the Signal Detect pins
bilities. Auto-Negotiation is performed using a modified
SDI± are connected to the optical transceiver.
10BASE-T link integrity test pulse sequence as defined
in the IEEE 802.3u specification. For 100BASE-FX receive operation, the PHY unit re-
ceives a PECL data stream from the optical transceiver
The internal 10/100 PHY consists of the following
and decodes the data stream. For transmit operation,
functional blocks:
the PHY unit encodes and serializes the data and
■ 100BASE-X Block including: transmits a pseudo-ECL data stream to the fiber optic
— Transmit and Receive State Machines transceiver. See Figure 35.
— 4B/5B Encoder and Decoder The Fiber Interface (100BASE-FX) does not support
Auto-Negotiation, 10 Mbps, and data scrambling.
— Stream Cipher Scrambler and Descrambler
When the device is set to operate in PECL mode, the
— Link Monitor State Machine 100BASE-TX operation will be disabled.
— Far End Fault Indication (FEFI) State Machine
10BASE-T Physical Layer
— MLT-3 Encoder
The 10/100 PHY incorporates 10BASE-T physical
— MLT-3 Decoder with adaptive equalization layer functions, including both clock recovery (ENDEC)
■ 10BASE-T Block including: and transceiver functions. Data transmission over the
10BASE-T medium requires an integrated 10BASE-T
— Manchester Encoder/Decoder
MAU. The transceiver will meet the electrical require-
— Collision Detection ments for 10BASE-T as specified in IEEE 802.3i. The
— Jabber transmit signal is filtered on the transceiver to reduce
harmonic content per IEEE 802.3i. Since filtering is
— Receive Polarity Detect
performed in silicon, external filtering modules are not
— Waveshaping and Filtering needed. The 10/100 PHY receives 10-Mbps data from
■ Auto-Negotiation the MAC across the internal MII at 2.5 million nibbles
per second for 10BASE-T. It then Manchester encodes
■ Physical Data Transceiver (PDX)
the data before transmission to the network.
■ PHY Control and Management
The RX+ pins are differential twisted-pair receivers.
100BASE-TX Physical Layer When properly terminated, each receiver will meet the
The functions performed by the device include encod- electrical requirements for 10BASE-T as specified in
ing of 4-bit data (4B/5B), decoding of received code IEEE 802.3i. Each receiver has internal filtering and
groups (5B/4B), generating carrier sense and collision does not require external filter modules. The 10/100
detect indications, serialization of code groups for PHY receives a Manchester coded 10BASE-T data
transmission, de-serialization of serial data from recep- stream from the medium. It then recovers the clock and
tion, mapping of transmit, receive, carrier sense, and decodes the data.
collision at the PHY/MAC interface, and recovery of PHY/MAC Interface
clock from the incoming data stream. It offers stream ci-
pher scrambling and descrambling capability for The internal MII-compatible interface provides the data
100BASE-TX applications. path connection between the 10/100 PHY and 10/100
Media Access Control (MAC). The interface is compat-
In the transmit data path for 100 Mbps, the 10/100 PHY ible with Clause 22 of the IEEE 802.3 standard
receives 4-bit (nibble) wide data across the internal MII specification.
at 25 million nibbles per second. For 100BASE-TX ap-
plications, it encodes and scrambles the data, Transmit Process
serializes it, and transmits an MLT-3 data stream to the The transmit process generates code-groups based on
media via an isolation transformer. TXD[3:0], TX_EN, TX_ER signals on the internal MII.
These code-groups are transmitted by the PDX block.
The 10/100 PHY receives an MLT-3 data stream from
This process is also responsible for frame encapsulation
the network for 100BASE-TX. It then recovers the clock
Am79C973/Am79C975 75
P R E L I M I N A R Y
into a Physical Layer Stream, generating the collision Clause 24 of the IEEE 802.3u specification. The False
signal based on whether a carrier is received simulta- Carrier Indication as specified in the standard is also
neously with transmission and generating the Carrier generated by this block, and communicated to the Rec-
Sense (CRS) and Collision (COL) signals at the inter- onciliation layer. Figure 38 shows the receive process.
nal MII. The transmit process is implemented in
Internal PHY Loopback Paths
compliance with the transmit state diagram as defined
in Clause 24 of the IEEE 802.3u specification. Figure As shown in Figure 38, the 10/100 PHY provides two
38 shows the transmit process. internal loopback paths for system testing purposes.
The different loopback options can be programmed via
Receive Process the LBK[1:0] bits in the PHY Control/Status Register
The receive process passes to the internal MII a se- (ANR17) and are indicated below:
quence of data nibbles derived from the incoming
— From the 5-bit data output to 5-bit data input
code-groups. Each code-group is comprised of five
inside the PDX block (Symbol loopback path)
code-bits. This process detects channel activity and
then aligns the incoming code bits in code-group — From PDX serial output to PDX serial input (Se-
boundaries for subsequent data decoding. The receive rial loopback path).
process is responsible for code-group alignment and For the corresponding LBK settings, refer to the
also generates the Carrier Sense (CRS) signal at the description for the PHY Control/Status Register.
internal MII. The receive process is implemented in
compliance with the receive state diagram as defined in
76 Am79C973/Am79C975
P R E L I M I N A R Y
DISALIGN
1 0
5B/4B Decoder
5
4B/5B Encoder
Code Align
5 TX_EN
/J/K/ Insertion
/T/R/ Insertion
5 DISSCR
1 0
Descrambler
DISALIGN 1 0
5
5
Scrambler
5
PDX
DISSCR 1 0 LBK[1:0]=10
Loopback Paths 1 0
PDX 5 5
Symbol O/P 5
5
Deserializer
Serializer Clock Recovery RSCLK
LBK[1:0]=11
SDI± 1 0
Serial O/P
PECL MLT-3 SDI±
Conversion Conversion
TX± RX±
Note: The 5-bit mode bypasses Encoder/Decoder and Scrambler/Descrambler logic. 21510D-40
Figure 35. 100BASE-X Transmit and Receive Data Paths of the Internal PHY
Am79C973/Am79C975 77
P R E L I M I N A R Y
78 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 79
P R E L I M I N A R Y
Scrambler/Descrambler is detected from the far end peer, this block will cause
The 4B/5B encoded data has repetitive patterns which the link monitor to transition the link_status to FAIL.
result in peaks in the RF spectrum large enough to This action in-turn will cause IDLE code-group bits to
keep the system from meeting the standards set by be automatically transmitted. This is necessary to re-
regulatory agencies such as the FCC. The peaks in the establish communication when the link is repaired. The
radiated signal are reduced significantly by scrambling implementation is in compliance with the Clause 24 of
the transmitted signal. Scramblers add the output of a IEEE 802.3u specification.
random generator to the data signal. The resulting sig- Far End Fault Indication can be initialized using the
nal has fewer repetitive data patterns. PHY Control/Status Register (ANR17, bit 10).
After reset, the scrambler seed will be set to the PHY MLT-3 and Adaptive Equalization
address value to help improve the EMI performance of
This block is responsible for converting the NRZI data
the device.
stream from the PDX block to a currently sourced
The scrambled data stream is descrambled, at the re- MLT-3 encoded data stream. The effect of MLT-3 is the
ceiver, by adding it to the output of another random reduction of energy on the media (TX cable) in the crit-
generator. The receiver’s random generator has the ical frequency range of 20 MHz to 100 MHz. The
same function as the transmitter’s random generator. receive section of this block is responsible for equaliz-
ing and amplifying the received data stream and link
Link Monitor
detection. The adaptive equalizer compensates for the
The Link Monitor process is responsible for determin- amplitude and phase distortion due to the cable.
ing whether the underlying receive channel is providing
reliable data. This process takes advantage of the con- MLT-3 is a tri-level signal. All transitions are between
tinuous indication of signal detect by the PMD (PDX & 0 V and +1 V or 0 V and -1 V. A transition has a logical
MLT-3). The process sets the link_status to FAIL when- value of 1 and a lack of a transition has a logical value
ever signal_status is OFF. The link is reliable whenever of 0. The benefit of MLT-3 is that it reduces the maxi-
the signal_status has been continuously ON for 330 - mum frequency over the data line. The bit rate of TX
1000 ms. The implementation is in compliance with data is 125 Mbps. The maximum frequency (using
Clause 24 of the IEEE 802.3u specification. NRZI) is half of 62.5 MHz. MLT-3 reduces the maximum
frequency to 31.25 MHz.
The 10BASE-T Link Monitor monitors the line for link
pulses, while the 100BASE-T Link Monitor expects 100 The implementation of this block is in compliance with
Mbps idle signals. When the Link Monitor detects both ANSI X3712 TP-PMD/312, Revision 2.1 that defines a
10 Mbps and 100 Mbps signals, a state called Parallel 125-Mbps, full-duplex signalling for twisted pair wiring.
Fault is entered, where the Link Monitor simply halts A data signal stream following MLT-3 rules is illustrated
and fails to report a link. This condition can be caused in Figure 36. The data stream is 1010101.
by spurious noise on the network line. Consult the
IEEE 802.3u specification for more information. The The TX± drivers convert the NRZI serial output to
Parallel Fault Detect condition is displayed in Register MLT-3 format. The RX± receivers convert the received
6, bit 4. MLT-3 signals to NRZI. When the TX port of the 10/100
PHY is connected as in Figure 37, the transmit and re-
The current link status of this port is displayed In the ceive signals will be compliant with IEEE 802.3u
PHY Management Status Register (Register 1, bit 2). Section 25. The required signals (MLT-3) are described
Far End Fault Generation and Detection in detail in ANSI X3.263:1995 TP-PMD Revision 2.2
(1995).
Far End Fault Generation and Detection is imple-
mented in the 10/100 PHY for 100BASE-TX over STP The 10/100 PHY provides on-chip filtering. External fil-
and 100BASE-FX. This block generates a special Far ters are not required for either the transmit or receive
End Fault indication to its far end peer. This indication signals.
is generated only when an error condition is detected
on the receive channel. When Far End Fault Indication
80 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 81
P R E L I M I N A R Y
Isolation
Transformer with RJ45
common-mode Connector
chokes (8)
(7)
* 1:1 *
RX+ RX+ (3)
50 Ω (5)
50 Ω (4)
RX– RX– (6)
SDI+ .01 µF
75 Ω 75 Ω 75 Ω
SDI–
* 1:1.414 *
TX+ TX+ (1)
50 Ω
2KΩ
.01 µF
75 Ω
1KΩ
0.001 µF
2KV .01 µF
(chassis ground)
10BASE-T Block The TX± signal is filtered on the chip to reduce har-
monic content per Section 14.3.2.1 (10BASE-T). Since
The 10BASE-T block consists of the following sub-
filtering is performed in silicon, TX± can be connected
blocks:
directly to a standard transformer. External filtering
— Transmit Process modules are not needed.
— Receive Process Twisted Pair Receive Function
— Interface Status
The RX+ port is a differential twisted-pair receiver.
— Collision Detect Function When properly terminated, the RX+ port will meet the
— Jabber Function electrical requirements for 10BASE-T receivers as
— Reverse Polarity Detect specified in IEEE 802.3, Section 14.3.1.3. The receiver
Refer to Figure 38 for the 10BASE-T block diagram. has internal filtering and does not require external filter
modules or common mode chokes.
Twisted Pair Transmit Function
Signals appearing at the RX± differential input pair are
Data transmission over the 10BASE-T medium re-
routed to the internal decoder. The receiver function
quires use of the integrated 10BASE-T MAU and uses
meets the propagation delays and jitter requirements
the differential driver circuitry on the TX± pins.
specified by the 10BASE-T Standard. The receiver
TX± is a differential twisted-pair driver. When properly squelch level drops to half its threshold value after un-
terminated, TX± will meet the transmitter electrical re- squelch to allow reception of minimum amplitude
quirements for 10BASE-T transmitters as specified in signals and to mitigate carrier fade in the event of worst
IEEE 802.3, Section 14.3.1.2. The load is a twisted pair case signal attenuation and crosstalk noise conditions.
cable that meets IEEE 802.3, Section 14.4.
82 Am79C973/Am79C975
P R E L I M I N A R Y
Manchester Manchester The Jabber function inhibits the 10BASE-T twisted pair
Encoder Decoder transmit function of the Am79C973/Am79C975 device
if the TX± circuits are active for an excessive period
(20-150 ms). This prevents one port from disrupting the
network due to a stuck-on or faulty transmitter condi-
tion. If the maximum transmit time is exceeded, the
data path through the 10BASE-T transmitter circuitry is
disabled (although Link Test pulses will continue to be
sent). The PCS Control block also asserts the COL pin
Squelch at the internal MII and sets the Jabber Detect bit in
Circuit Register 1. Once the internal transmit data stream from
the MENDEC stops, an unjab time of 250-750 ms will
elapse before this block causes the PCS Control block
to de-assert the COL indication and re-enable the
transmit circuitry.
TX Driver RX Driver
When jabber is detected, this block will cause the PCS
control block to assert the COL pin and allow the PCS
Control block to assert or de-assert the CRS pin to in-
dicate the current state of the RX± pair. If there is no
TX± RX±
21510D-43 receive activity on RX±, this block causes the PCS
Control block to assert only the COL pin at the internal
Figure 38. 10BASE-T Transmit and Receive Data MII. If there is RX± activity, this block will cause the
Paths PCS Control block to assert both COL and CRS at the
internal MII.
Reverse Polarity Detect
Twisted Pair Interface Status
The polarity for 10BASE-T signals is set by reception of
The Am79C973/Am79C975 device will power up in the Normal Link Pulses (NLP) or packets. Polarity is
Link Fail state. The Auto-Negotiation algorithm will locked, however, by incoming packets only. The first
apply to allow it to enter the Link Pass state. NLP received when trying to bring the link up will be ig-
In the Link Pass state, receive activity which passes the nored, but it will set the polarity to the correct state. The
pulse width/amplitude requirements of the RX± inputs, reception of two consecutive packets will cause the po-
will cause the PCS Control block to assert Carrier larity to be locked, based on the polarity of the ETD. In
Sense (CRS) signal at the internal MII interface. Colli- order to change the polarity once it has been locked,
sion would cause the PCS Control block to assert the link must be brought down and back up again.
Carrier Sense (CRS) and Collision (COL) signal at the
Auto-Negotiation
internal MII. In the Link Fail state, this block would
cause the PCS Control block to de-assert Carrier The object of the Auto-Negotiation function is to deter-
Sense (CRS) and Collision (COL). mine the abilities of the devices sharing a link. After
exchanging abilities, the Am79C973/Am79C975 de-
In jabber detect mode, this block would cause the PCS vice and remote link partner device acknowledge each
Control block to assert the COL pin at the MII, and other and make a choice of which advertised abilities to
allow the PCS Control block to assert or de-assert the support. The Auto-Negotiation function facilitates an or-
CRS pin to indicate the current state of the RX± pair. If dered resolution between exchanged abilities. This
there is no receive activity on RX±, this block would exchange allows both devices at either end of the link
cause the PCS Control block to assert only the COL pin to take maximum advantage of their respective shared
at the internal MII. If there is RX± activity, this block abilities.
would cause the PCS Control block to assert both COL
and CRS at the internal MII. The Am79C973/Am79C975 device implements the
transmit and receive Auto-Negotiation algorithm as
Collision Detect Function defined in IEEE 802.3u, Section 28. The Auto-Nego-
Simultaneous activity (presence of valid data signals) tiation algorithm uses a burst of link pulses called Fast
from both the internal encoder transmit function and Link Pulses (FLPs). The burst of link pulses are spaced
Am79C973/Am79C975 83
P R E L I M I N A R Y
By default, the link partner must be at least 10BASE-T If an address match is detected by comparison with ei-
half-duplex capable. The Am79C973/Am79C975 con- ther the Physical Address or Logical Address Filter
troller can automatically negotiate with the network and registers contained within the Am79C973/Am79C975
yield the highest performance possible without soft- controller or the frame is of the type 'Broadcast', then
ware suppor t. See the section on Network Por t the frame will be accepted regardless of the condition
Manager for more details. of EAR. When the EADISEL bit of BCR2 is set to 1 and
the Am79C973/Am79C975 controller is programmed
Table 10. Auto-Negotiation Capabilities to promiscuous mode (PROM bit of the Mode Register
is set to 1), then all incoming frames will be accepted,
Network Speed Physical Network Type regardless of any activity on the EAR pin.
200 Mbps 100BASE-X, Full Duplex Internal address match is disabled when PROM
(CSR15, bit 15) is cleared to 0, DRCVBC (CSR15, bit
100 Mbps 100BASE-T4, Half Duplex 14) and DRCVPA (CSR15, bit 13) are set to 1, and the
100 Mbps 100BASE-X, Half Duplex
Logical Address Filter registers (CSR8 to CSR11) are
programmed to all zeros.
20 Mbps 10BASE-T, Full Duplex When the EADISEL bit of BCR2 is set to 1 and internal
10 Mbps 10BASE-T, Half Duplex
address match is disabled, then all incoming frames
will be accepted by the Am79C973/Am79C975 control-
Auto-Negotiation goes further by providing a message- ler, unless the EAR pin becomes active during the first
based communication scheme called, Next Pages, be- 64 bytes of the frame (excluding preamble and SFD).
fore connecting to the Link Partner. This feature is not This allows external address lookup logic approximately
supported in the Am79C973/Am79C975 device unless 58 byte times after the last destination address bit is
the DANAS (BCR32, bit 10) is selected. available to generate the EAR signal, assuming that
the Am79C973/Am79C975 controller is not configured
84 Am79C973/Am79C975
P R E L I M I N A R Y
to accept runt packets. The EADI logic only samples cycle from the above definition and actually signals the
EAR from 2 bit times after SFD until 512 bit times (64 start of valid data. In order to reduce the amount of
bytes) after SFD. The frame will be accepted if EAR has logic external to the Am79C973/Am79C975 controller
not been asserted during this window. In order for the for multiple address decoding systems, the SFBD sig-
EAR pin to be functional in full-duplex mode, FDRPAD nal will go HIGH at each new byte boundary within the
bit (BCR9, bit 2) needs to be set. If Runt Packet Accept packet, subsequent to the SFD. This eliminates the
(CSR124, bit 3) is enabled, then the EAR signal must need for externally supplying byte framing logic.
be generated prior to the 8 bytes received, if frame re-
The EAR pin should be driven LOW by the external ad-
jection is to be guaranteed. Runt packet sizes could be
dress comparison logic to reject a frame.
as short as 12 byte times (assuming 6 bytes for source
address, 2 bytes for length, no data, 4 bytes for FCS) External Address Detection Interface: Receive
after the last bit of the destination address is available. Frame Tagging
EAR must have a pulse width of at least 110 ns. The Am79C973/Am79C975 controller supports re-
The EADI outputs continue to provide data throughout ceive frame tagging in MII Snoop mode. The receive
the reception of a frame. This allows the external logic frame tagging implementation is a two-wire chip inter-
to capture frame header information to determine pro- face in addition to the existing EADI.
tocol type, internetworking information, and other The Am79C973/Am79C975 controller supports up to
useful data. 15 bits of receive frame tagging per frame in the receive
The EADI interface will operate as long as the STRT bit frame status (RFRTAG). The RFRTAG bits are in the re-
in CSR0 is set, even if the receiver and/or transmitter ceive frame status field in RMD2 (bits 30-16) in 32-bit
are disabled by software (DTX and DRX bits in CSR15 software mode. The receive frame tagging is not sup-
are set). This configuration is useful as a semi-power- ported in the 16-bit software mode. The RFRTAG field
down mode in that the Am79C973/Am79C975 control- are all zeros when either the EADISEL (BCR2, bit3) or
ler will not perform any power-consuming DMA the RXFRTAG (CSR7, bit 14) are set to 0. When
operations. However, external circuitry can still respond EADISEL (BCR2, bit 3) and RXFRTAG (CSR7, bit 14)
to control frames on the network to facilitate remote are set to 1, then the RFRTAG reflects the tag word
node control. Table 11 summarizes the operation of the shifted in during that receive frame.
EADI interface. In the MII Snoop mode, the two-wire interface will use
the MIIRXFRTGD and MIIRXFRTGE pins from the
Table 11. EADI Operations
EADI interface. These pins will provide the data input
Required Received and data input enable for the receive frame tagging, re-
PROM EAR Timing Frames spectively. These pins are normally not used during the
No timing MII operation.
1 X All received frames
requirements
No timing The receive frame tag register is a shift register that
0 1 All received frames shifts data in MSB first, so that less than the 15 bits al-
requirements
Frame rejected if in located may be utilized by the user. The upper bits not
Low for two bit utilized will return zeros. The receive frame tag register
0 0 address match
times plus 10 ns is set to 0 in between reception of frames. After receiv-
mode
ing SFBD indication on the EADI, the user can start
External Address Detection Interface: MII Snoop shifting data into the receive tag register until one net-
Mode and External PHY Mode work clock period before the Am79C973/Am79C975
The MII Snoop mode provides all necessary data and controller receives the end of the current receive frame.
clock signals needed for the EADI interface. Data for
In the MII Snoop mode, the user must see the RX_CLK
the EADI is the RXD[3:0] receive data provided to the
to drive the synchronous receive frame tag data inter-
internal MII. The user will receive the data as 4 bit nib-
face. After receiving the SFBD indication, sampled by
bles. RX_CLK is provided to allow clocking of the
the rising edge of the RX_CLK, the user will drive the
RXD[3:0] receive nibble stream into the external ad-
data input and the data input enable synchronous with
dress detection logic. The RXD[3:0] data is
the rising edge of the RX_CLK. The user has until one
synchronous to the rising edge of the RX_CLK. The
network clock period before the deassertion of the
data arrives in nibbles and can be at a rate of 25 MHz
RX_DV to input the data into the receive frame tag reg-
or 2.5 MHz.
ister. At the deassertion of the RX_DV, the receive
The assertion of SFBD is a signal to the external ad- frame tag register will no longer accept data from the
dress detection logic that the SFD has been detected two-wire interface. If the user is still driving the data
and that the first valid data nibble is on the RXD[3:0] input enable pin, erroneous or corrupted data may re-
data bus. The SFBD signal is delayed one RX_CLK side in the receive frame tag register. See Figure 39.
Am79C973/Am79C975 85
P R E L I M I N A R Y
RX_CLK
RX_DV
SF/BD
MIIRXFRTGE
MIIRXFRTGD 21510D-44
86 Am79C973/Am79C975
P R E L I M I N A R Y
EBD[7:0]
EBWE
EBUA_EBA[7:0] '374
D-FF
AS_/EBOE A[23:16]
EBDA[15:8] A[15:8]
A[7:0]
Am79C973 FLASH
WE
DQ[7:0]
CS
OE
EROMCS
21510D-45
The access time for the Expansion ROM or for the EB- The host must program the Expansion ROM Base
DATA (BCR30) device (tACC) during write operations Address register in the PCI configuration space be-
can be calculated by subtracting the clock to output fore the first access to the Expansion ROM. The
delay for the EBUA EBA[7:0] outputs (tv_A_D) and by Am79C973/Am79C975 controller will not react to
adding the input to clock setup time for Flash/EPRO in- any access to the Expansion ROM until both
puts (ts_D) from the time defined by ROMTMG: MEMEN (PCI Command register, bit 1) and ROMEN
(PCI Expansion ROM Base Address register, bit 0)
tACC = ROMTMG * CLK period * CLK_FAC - (tv_A_D) -
are set to 1. After the Expansion ROM is enabled, the
(ts_D)
Am79C973/Am79C975 controller will claim all mem-
The timing diagram in Figure 43 assumes the default o r y r e a d a c c e s s e s w i t h a n a d d r e s s b e t we e n
programming of ROMTMG (1001b = 9 CLK). After ROMBASE and ROMBASE + 1M - 4 (ROMBASE,
reading the first byte, the Am79C973/Am79C975 con- PCI Expansion ROM Base Address register, bits 31-
troller reads in three more bytes by incrementing the 20). The address output to the Expansion ROM is the
lower portion of the ROM address. After the last byte is offset from the address on the PCI bus to ROMBASE.
strobed in, TRDY will be asserted on clock 50. When The Am79C973/Am79C975 controller aliases all ac-
the host tries to perform a burst read of the Expansion cesses to the Expansion ROM of the command types
ROM, the Am79C973/Am79C975 controller will Memory Read Multiple and Memory Read Line to the
disconnect the access at the second data phase. basic Memory Read command.
Am79C973/Am79C975 87
P R E L I M I N A R Y
EBD[7:0]
EBWE
A[15:8]
A[7:0]
EBUA_EBA[7:0]
EPROM
DQ[7:0]
EROMCS CS
OE
EBDA[15:8]
Am79C973
AS_EBOE
21510D-46
Figure 41. EPROM Only Configuration for the Expansion Bus (64K EPROM)
88 Am79C973/Am79C975
P R E L I M I N A R Y
EBD[7:0]
Am79C973
'374
EBWE D-FF A[23:16]
A[15:8]
A[7:0]
EBUA_EBA[7:0] EPROM
DQ[7:0]
EROMCS CS
OE
EBDA[15:8]
AS_EBOE 21510D-47
Figure 42. EPROM Only Configuration for the Expansion Bus (>64K EPROM)
Since setting MEMEN also enables memory mapped (BCR30). The user must load the upper address EPAD-
access to the I/O resources, attention must be given to DRU (BCR 29, bits 3-0) and then set the FLASH
the PCI Memory Mapped I/O Base Address register, (BCR29, bit 15) bit to a 1. The Flash read/write utilizes
before enabling access to the Expansion ROM. The the PCI clock instead of the EBCLK during all ac-
host must set the PCI Memory Mapped I/O Base Ad- cesses. EPADDRU is not needed if the Flash size is
dress register to a value that prevents the Am79C973/ 64K or less, but still must be programmed. The user will
Am79C975 controller from claiming any memory cy- then load the lower 16 bits of address, EPADDRL (BCR
cles not intended for it. 28, bits 15-0).
During the boot procedure, the system will try to find an Flash/EPROM Read
Expansion ROM. A PCI system assumes that an Ex- A read to the Expansion Bus Data Port (BCR30) will
pansion ROM is present when it reads the ROM start a read cycle on the Expansion Bus Interface. The
signature 55h (byte 0) and AAh (byte 1). A m 7 9 C 9 7 3 / A m 7 9 C 9 7 5 c o n t r o l l e r w i l l d r i ve
Direct Flash Access EBUA_EBA[7:0] with the most significant address byte
at the same time the Am79C973/Am79C975 controller
Am79C973/Am79C975 controller supports Flash as an
will drive AS_EBOE high to strobe the address in the
Expansion ROM device, as well as providing a read/
external ‘374 (D flip-flop). On the next clock, the
wr ite data path to the Flash. The Am79C973/
Am79C973/Am79C975 controller will drive EBDA[15:8]
Am79C975 controller will support up to 1 Mbyte of
and EBUA_EBA[7:0] with the middle and least signifi-
Flash on the Expansion Bus. The Flash is accessed by
cant address bytes.
a read or write to the Expansion Bus Data por t
Am79C973/Am79C975 89
P R E L I M I N A R Y
A[19:16]
5 10 15 20 25 30 35 40 45 50 55 60 66
CLK
EBUA_EBA [7:0] A[7:2], 0, 0 A[7:2], 0, 1 A[7:2], 1, 0 A[7:2], 1, 1
Latched Address
EBDA [15:8]
EBD
AS_EBO
EROMCS
FRAME
IRDY
TRDY
DEVSEL
21510D-48
EBUA[19:16]
CLK 1 2 3 4 5 6 7 8 9 10 11 12 13
EBUA_EBA[7:0] EBA[7:0]
EBDA[15:8] EBDA[15:8]
EBD[7:0]
EROMCS
AS_EBOE
21510D-49
Figure 44. Flash Read from Expansion Bus Data Port
The EROMCS is driven low for the value ROMTMG + incremented and a continuous series of reads from the
1. Figure 44 assumes that ROMTMG is set to nine. Expansion Data Port (EBDATA, BCR30) is possible.
EBD[7:0] is sampled with the next rising edge of CLK The address incrementor will roll over without warning
ten clock cycles after EBUA_EBA[7:0] was driven with and without incrementing the upper address
a new address value. This PCI slave access to the EBADDRU.
Flash/EPROM will result in a retry for the very first ac-
The Flash write is almost the same procedure as the
cess. Subsequent accesses may give a retry or not,
read access, except that the Am79C973/Am79C975
depending on whether or not the data is present and
controller will not drive AS_EBOE low. The EROMCS
valid. The access time is dependent on the ROMTMG
and EBWE are driven low for the value ROMTMG
bits (BCR18, bits 15-12) and the Flash/EPROM. This
again. The write to the FLASH port is a posted write
access mechanism differs from the Expansion ROM
and will not result in a retry to the PCI unless the host
access mechanism since only one byte is read in this
tries to write a new value before the previous write is
manner, instead of the 4 bytes in an Expansion ROM
complete, then the host will experience a retry. See
access. The PCI bus will not be held during accesses
Figure 45.
through the Expansion Bus Data Port. If the LAAINC
(BCR29, bit 15) is set, the EBADDRL address will be
90 Am79C973/Am79C975
P R E L I M I N A R Y
EBUA[19:16]
CLK 1 2 3 4 5 6 7 8 9 10 11 12 13
EBUA_EBA[7:0] EBA[7:0]
EBDA[15:8] EBDA[15:8]
EBD[7:0]
EROMCS
AS_EBOE
EBWE 21510D-50
AMD Flash Programming entire memory for an all zero data pattern prior to elec-
AMD’s Flash products are programmed on a byte-by- trical erase. The Am79C973/Am79C975 controller is
byte basis. Programming is a four bus cycle operation. not required to provide any controls or timings during
There are two “unlock” write cycles. These are followed these operations. The automatic erase begins on the
by the program set-up command and data write cycles. rising edge of the last EBWE pulse in the command se-
Addresses are latched on the falling edge of EBWE quence and terminates when the data on EBD[7] is 1,
and the data is latched on the rising edge of EBWE. at which time the Flash device returns to the read
The rising edge of EBWE begins programming. mode. Polling by the Am79C973/Am79C975 controller
is not required during the erase sequence. The follow-
Upon executing the AMD Flash Embedded Program ing FLASH programming-table excerpt (Table 12)
Algorithm command sequence, the Am79C973/ shows the command sequence for byte programming
Am79C975 controller is not required to provide further and sector/chip erasure on an AMD Flash device. In
controls or timing. The AMD Flash product will compli- the following table, PA and PD stand for programmed
ment EBD[7] during a read of the programmed location address and programmed data, and SA stands for sec-
until the programming is complete. The host software tor address.
should poll the programmed address until EBD[7]
matches the programmed value. The Am79C973/Am79C975 controller will support only
a single sector erase per command and not concurrent
AMD Flash byte programming is allowed in any se- sector erasures. The Am79C973/Am79C975 controller
quence and across sector boundaries. Note that a data will support most FLASH devices as long as there is no
0 cannot be programmed back to a 1. Only erase oper- timing requirement between the completion of com-
ations can convert zeros to ones. AMD Flash chip mands. The FLASH access time cannot be guaranteed
erase is a six-bus cycle operation. There are two unlock with the Am79C973/Am79C975 controller access
write cycles, followed by writing the set-up command. mechanism. The Am79C973/Am79C975 controller will
Two more unlock cycles are then followed by the chip also support only Flash devices that do not require data
erase command. Chip erase does not require the user hold times after write operations. See Table 12.
to program the device prior to erasure. Upon executing
the AMD Flash Embedded Erase Algorithm command
sequence, the Flash device will program and verify the
Am79C973/Am79C975 91
P R E L I M I N A R Y
92 Am79C973/Am79C975
P R E L I M I N A R Y
Bus MAC
Rcv Rcv
FIFO FIFO
Bus MAC
Xmt Xmt
FIFO FIFO
Buffer FIFO
Management Control
Unit
21510D-51
Bus MAC
Rcv Rcv
FIFO FIFO
PCI Bus
Interface
Unit 802.3
SRAM
MAC
Core
Bus MAC
Xmt Xmt
FIFO FIFO
Buffer
FIFO
Management
Control
Unit
21510D-52
Am79C973/Am79C975 93
P R E L I M I N A R Y
94 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 95
P R E L I M I N A R Y
3Eh 7Dh Reserved for Boot ROM usage 7Ch Reserved for Boot ROM usage
3Fh 7Fh Reserved for Boot ROM usage 7Eh Reserved for Boot ROM usage
Note: *Lowest EEPROM address.
96 Am79C973/Am79C975
P R E L I M I N A R Y
3Eh 7Dh Reserved for Boot ROM usage 7Ch Reserved for Boot ROM usage
3Fh 7Fh Reserved for Boot ROM usage 7Eh Reserved for Boot ROM usage
Note: * Lowest EEPROM address.
Am79C973/Am79C975 97
P R E L I M I N A R Y
The LED pins can be configured to operate in either If bit 15 of PMC is zero, indicating that PME assertion
open-drain mode (active low) or in totem-pole mode in D3cold is not supported, the PME_Status and
(active high). The output can be stretched to allow the PME_En bits of the PMCSR register will be reset by a
human eye to recognize even short events that last PCI bus reset (assertion of RST pin). This reset will ac-
only several microseconds. After H_RESET, the four tually occur after the EEPROM read following the reset
LED outputs are configured as shown in Table 15. is complete to allow the controller to be configured.
To fully satisfy the requirements of the PCI power man-
Table 15. LED Default Configuration
agement specification in an adapter card configuration,
LED the AUXDET pin should be connected directly to the
Output Indication Driver Mode Pulse Stretch auxiliary power supply and also to ground through a re-
Open Drain - sistor. This will sense the presence of the auxiliary
LED0 Link Status Enabled
Active Low power and correctly report the capability of asserting
Receive Open Drain - PME in D3cold.
LED1 Enabled
Status Active Low For hardwired configurations where auxiliary power is
Open Drain - know to be always available or never available, the
LED2 -- Enabled
Active Low AUXDET input may be disabled by connecting it di-
Transmit Open Drain - rectly or through a resistor to VDD. This will allow
LED3 Enabled
Status Active Low BCR36 bit 15 to directly control PMC bit 15.
For each LED register, each of the status signals is
AND’d with its enable signal, and these signals are all COL
OR’d together to form a combined status signal. Each COLE
98 Am79C973/Am79C975
P R E L I M I N A R Y
Magic Packet
WUMI
MPPEN
MPINT
PG
LED
MPMAT
S SET Q
MPMODE
RWU
Link Change
LCMODE LCDET
S SET Q
R CLR Q
H_RESET R CLR Q POR
PME_STATUS
S DET Q
Pattern Match
POR R CLR Q
BCR47 BCR46 BCR45 PMAT
S SET Q
Input
Pattern Pattern Match RAM (PMR) R CLR Q
POR
PME Status
PME_EN
PME
MPMAT
PME_EN_OVR
LCEVENT
21510D-54
Figure 49. OnNow Functional Diagram
OnNow Wake-Up Sequence D0. The software then writes a 0 to the PME_STATUS
The system software enables the PME pin by setting bit to clear the bit and turn off the PME signal, and it
the PME_EN bit in the PMCSR register (PCI configura- calls the device's software driver to tell it that the device
tion registers, offset 44h, bit 8) to 1. When a Wake-up is now in state D0. The system software can clear the
event is detected, the Am79C973/Am79C975 control- PME_STATUS bit either before, after, or at the same
ler sets the PME_STATUS bit in the PMCSR register time that it puts the device back into the D0 state.
(PCI configuration registers, offset 44h, bit 15). Setting Link Change Detect
this bit causes the PME signal to be asserted. Asser-
Link change detect is one of Wake-up events defined
tion of the PME signal causes external hardware to
by the OnNow specification and is supported by the
wake up the CPU. The system software then reads the
RWU mode. Link Change Detect mode is set when the
PMCSR register of every PCI device in the system to
LCMODE bit (CSR116, bit 8) is set either by software
determine which device asserted the PME signal.
or loaded through the EEPROM.
When the software determines that the signal came
When this bit is set, any change in the Link status will
from the Am79C973/Am79C975 controller, it writes to
cause the LCDET bit (CSR116, bit 9) to be set. When
the device's PMCSR to put the device into power state
Am79C973/Am79C975 99
P R E L I M I N A R Y
the LCDET bit is set, the RWU pin will be asserted and words 2 to 63 is the Control Field of the PMR. Bit 7 of
the PME_STATUS bit (PMCSR register, bit 15) will be this field is the End of Packet (EOP) bit. When this bit is
set. If either the PME_EN bit (PMCSR, bit 8) or the set, it indicates the end of a pattern in the PMR. Bits 6-
PME_EN_OVR bit (CSR116, bit 10) are set, then the 4 of the Control Field byte are the SKIP bits. The value
PME will also be asserted. of the SKIP field indicates the number of the Dwords to
be skipped before the pattern in this PMR word is com-
OnNow Pattern Match Mode
pared with data from the incoming frame. A maximum
In the OnNow Pattern Match Mode, the Am79C973/ of seven Dwords may be skipped. Bits 3-0 of the Con-
Am79C975 device compares the incoming packets trol Field byte are the MASK bits. These bits
with up to eight patterns stored in the Pattern Match correspond to the pattern match bytes 3-0 of the same
RAM (PMR). The stored patterns can be compared PMR word (PMR bytes 4-1). If bit n of this field is 0, then
with part or all of incoming packets, depending on the byte n of the corresponding pattern word is ignored. If
pattern length and the way the PMR is programmed. this field is programmed to 3, then bytes 0 and 1 of the
When a pattern match has been detected, then PMAT pattern match field (bytes 2 and 1 of the word) are used
bit (CSR116, bit 7) is set. The setting of the PMAT bit and bytes 3 and 2 are ignored in the pattern matching
causes the PME_STATUS bit (PMCSR, bit 15) to be operation.
set, which in turn will assert the PME pin if the
PME_EN bit (PMCSR, bit 8) is set. The contents of the PMR are not affected by
H_RESET, S_RESET, or STOP. The contents are un-
Pattern Match RAM (PMR) defined after a power up reset (POR).
PMR is organized as an array of 64 words by 40 bits as
Magic Packet Mode
shown in Figure 50. The PMR is programmed indirectly
through the BCRs 45, 46, and 47. When the BCR45 is In Magic Packet mode, the Am79C973/Am79C975
written and the PMAT_MODE bit (BCR45, bit 7) is set controller remains fully powered up (all VDD and VDDB
to 1, Pattern Match logic is enabled. No bus accesses pins must remain at their supply levels). The device will
into the PMR are possible when the PMAT_MODE bit not generate any bus master transfers. No transmit op-
is set, and BCR46, BCR47, and all other bits in BCR45 erations will be initiated on the network. The device will
are ignored. When PMAT_MODE is set, a read of continue to receive frames from the network, but all
B C R 4 5 r e t u r n s a l l b i t s u n d e fi n e d ex c e p t fo r frames will be automatically flushed from the receive
PMAT_MODE. In order to access the contents of the FIFO. Slave accesses to the Am79C973/Am79C975
PMR, PMAT_MODE bit should be programmed to 0. controller are still possible. A Magic Packet is a frame
that is addressed to the Am79C973/Am79C975 con-
When BCR45 is written to set the PMAT_MODE bit to troller and contains a data sequence anywhere in its
0, the Pattern Match logic is disabled and accesses to data field made up of 16 consecutive copies of the de-
the PMR are possible. Bits 6:0 of BCR45 specify the vice's physical address (PADR[47:0]). The Am79C973/
address of the PMR word to be accessed. Writing to Am79C975 controller will search incoming frames until
BCR45 does not immediately affect the contents of the it finds a Magic Packet frame. It starts scanning for the
PMR. Following the write to BCR45, the PMR word ad- sequence after processing the length field of the frame.
dressed by the bits 6:0 of the BCR45 may be read by The data sequence can begin anywhere in the data
reading BCR45, BCR46, and BCR47 in any order. To field of the frame, but must be detected before the
write to the PMR word, the write to BCR45 must be Am79C973/Am79C975 controller reaches the frame's
followed by a write to BCR46 and a write to BCR47 in FCS field. Any deviation of the incoming frame's data
that order to complete the operation. The PMR will not sequence from the required physical address se-
actually be written until the write to BCR47 is complete. quence, even by a single bit, will prevent the detection
The first two 40-bit words in this RAM serve as pointers of that frame as a Magic Packet frame.
and contain enable bits for the eight possible match The Am79C973/Am79C975 controller supports two dif-
patterns. The remainder of the RAM contains the ferent modes of address detection for a Magic Packet
match patterns and associated match pattern control frame. If MPPLBA (CSR5, bit 5) or EMPPLBA
bits. The byte 0 of the first word contains the Pattern (CSR116, bit 6) are at their default value of 0, the
Enable bits. Any bit position set in this byte enables the Am79C973/Am79C975 controller will only detect a
corresponding match pattern in the PMR, as an exam- Magic Packet frame if the destination address of the
ple if the bit 3 is set, then the Pattern 3 is enabled for packet matches the content of the physical address
matching. Bytes 1 to 4 in the first word are pointers to register (PADR). If MPPLBA or EMPPLBA are set to 1,
the beginning of the patterns 0 to 3, and bytes 1 to 4 in the destination address of the Magic Packet frame can
the second word are pointers to the beginning of the be unicast, multicast, or broadcast.
patterns 4 to 7, respectively. Byte 0 of the second word
has no function associated with it. The byte 0 of the
100 Am79C973/Am79C975
P R E L I M I N A R Y
Start Pattern
2 Data Byte 3 Data Byte 2 Data Byte1 Data Byte 0 Pattern Control
P1
2+n Data Byte 4n+3 Date Byte 4n+2 Data Byte 4n+1 Data Byte 4n+0 Pattern Control End Pattern P1
Start Pattern
J Data Byte 3 Data Byte 2 Data Byte 1 Data Byte 0 Pattern Control
Pk
J+m Data Byte 4m+3 Data Byte 4m+2 Data Byte 4m+1 Data Byte 4m+0 Pattern Control End Pattern Pk
63 Last Address
7 6 5 4 3 2 1 0
EOP SKIP MASK
21510D-55
Note: The setting of MPPLBA or EMPPLBA only ef- deasserted (hardware control) or MPEN (CSR5, bit 2)
fects the address detection of the Magic Packet frame. must be set to 1 (software control).
The Magic Packet's data sequence must be made up
Note: FASTSPNDE (CSR7, bit 15) has no meaning in
of 16 consecutive copies of the device's physical ad-
Magic Packet mode.
dress (PADR[47:0]), regardless of what kind of destina-
tion address it has. The second method is the hardware method. In this
method, the MPPEN bit (CSR116, bit 4) is set at power
T h e r e a r e t wo g e n e ra l m e t h o d s t o p l a c e t h e
up by the loading of the EEPROM. This bit can also be
Am79C973/Am79C975 controller into the Magic
set by software. The Am79C973/Am79C975 controller
Packet mode. The first is the software method. In this
will be placed in the Magic Packet Mode when either
method, either the BIOS or other software, sets the
the PG input is deasserted or the MPEN bit is set.
MPMODE bit (CSR5, bit 1). Then Am79C973/
WUMI output will be asserted when the Am79C973/
Am79C975 controller must be put into suspend mode
Am79C975 controller is in the Magic Packet mode.
(see description of CSR5, bit 0), allowing any current
Magic Packet mode can be disabled at any time by as-
network activity to finish. Finally, either PG must be
serting PG or clearing MPEN bit.
Am79C973/Am79C975 101
P R E L I M I N A R Y
When the Am79C973/Am79C975 controller detects a pins are tested. The following paragraphs summarize
Magic Packet frame, it sets the MPMAT bit (CSR116, the IEEE 1149.1-compatible test functions imple-
bit 5), the MPINT bit (CSR5, bit 4), and the mented in the Am79C973/Am79C975 controller.
PME_STATUS bit (PMCSR, bit 15). The setting of the
Boundary Scan Circuit
MPMAT bit will also cause the RWU pin to be asserted
and if the PME_EN or the PME_EN_OVR bits are set, The boundary scan test circuit requires four pins (TCK,
then the PME will be asserted as well. If IENA (CSR0, TMS, TDI, and TDO), defined as the Test Access Port
bit 6) and MPINTE (CSR5, bit 3) are set to 1, INTA will (TAP). It includes a finite state machine (FSM), an in-
be asserted. Any one of the four LED pins can be pro- struction register, a data register array, and a power-on
grammed to indicate that a Magic Packet frame has reset circuit. Internal pull-up resistors are provided for
been received. MPSE (BCR4-7, bit 9) must be set to 1 the TDI, TCK, and TMS pins.
to enable that function. TAP Finite State Machine
Note: The polarity of the LED pin can be programmed The TAP engine is a 16-state finite state machine
to be active HIGH by setting LEDPOL (BCR4-7, bit 14) (FSM), driven by the Test Clock (TCK), and the Test
to 1. Mode Select (TMS) pins. An independent power-on
O n c e a M a g i c Pa cke t f ra m e i s d e t e c t e d , t h e reset circuit is provided to ensure that the FSM is in the
Am79C973/Am79C975 controller will discard the TEST_LOGIC_RESET state at power-up. Therefore,
frame internally, but will not resume normal transmit the TRST is not provided. The FSM is also reset when
and receive operations until PG is asserted or MPEN is TMS and TDI are high for five TCK periods.
cleared. Once both of these events has occurred, indi- Supported Instructions
cating that the system has detected the Magic Packet
and is awake, the controller will continue polling receive In addition to the minimum IEEE 1149.1 requirements
and transmit descriptor rings where it left off. It is not (BYPASS, EXTEST, and SAMPLE instructions), three
necessary to re-initialize the device. If the part is re-ini- additional instructions (IDCODE, TRIBYP, and SET-
tialized, then the descriptor locations will be reset and BYP) are provided to further ease board-level testing.
the Am79C973/Am79C975 controller will not start All unused instruction codes are reserved. See Table
where it left off. 16 for a summary of supported instructions.
If magic packet mode is disabled by the assertion of Table 16. IEEE 1149.1 Supported Instruction
PG, then in order to immediately re-enable Magic Summary
Packet mode, the PG pin must remain deasserted for Selected
at least 200 ns before it is reasserted. If Magic Packet Instruction Instruction Data
mode is disabled by clearing MPEN bit, then it may be Name Code Description Mode Register
immediately re-enabled by setting MPEN back to 1. EXTEST 0000 External Test Test BSR
The PCI bus interface clock (CLK) is not required to be ID Code
IDCODE 0001 Normal ID REG
running while the device is operating in Magic Packet Inspection
mode. Either of the INTA, the LED pins, RWU or the Sample
SAMPLE 0010 Normal BSR
PME signal may be used to indicate the receipt of a Boundary
Magic Packet frame when the CLK is stopped. If the TRIBYP 0011 Force Float Normal Bypass
system wishes to stop the CLK, it will do so after en- Control
abling the Magic Packet mode. SETBYP 0100 Boundary To Test Bypass
1/0
CAUTION: To prevent unwanted interrupts from other
BYPASS 1111 Bypass Scan Normal Bypass
active parts of the Am79C973/Am79C975 controller,
care must be taken to mask all likely interruptible Instruction Register and Decoding Logic
events during Magic Packet mode. An example would
After the TAP FSM is reset, the IDCODE instruction is
be the interrupts from the Media Independent Interface,
always invoked. The decoding logic gives signals to
which could occur while the device is in Magic Packet
control the data flow in the Data registers according to
mode.
the current instruction.
IEEE 1149.1 (1990) Test Access Port
Boundary Scan Register
Interface
Each Boundary Scan Register (BSR) cell has two
An IEEE 1149.1-compatible boundary scan Test Ac-
stages. A flip-flop and a latch are used for the Serial
cess Port is provided for board-level continuity test and
Shift Stage and the Parallel Output Stage, respectively.
diagnostics. All digital input, output, and input/output
102 Am79C973/Am79C975
P R E L I M I N A R Y
There are four possible operation modes in the BSR the device on a printed circuit board. The NAND tree is
cell shown in Table 17. built on all PCI bus and EAR pins.
NAND tree testing is enabled by asserting RST. PG
Table 17. BSR Mode Of Operation input should be driven HIGH during NAND tree testing.
All PCI bus signals will become inputs on the assertion
1 Capture
of RST. The result of the NAND tree test can be ob-
2 Shift served on the INTA pin. See 51.
3 Update
4 System Function Pin 143 (RST) is the first input to the NAND tree. Pin
144 (CLK) is the second input to the NAND tree, fol-
Other Data Registers lowed by pin 145 (GNT). All other PCI bus signals
Other data registers are the following: follow, counterclockwise, with pin 129 (EAR) being the
last. Table 19 shows the complete list of pins connected
1. Bypass Register (1 bit) to the NAND tree.
2. Device ID register (32 bits) (Table 18). RST must be asserted low to start a NAND tree test se-
quence. Initially, all NAND tree inputs except RST
should be driven high. This will result in a high output at
Table 18. Device ID Register
the INTA pin. If the NAND tree inputs are driven from
Bits 31-28 Version high to low in the same order as they are connected to
Bits 27-12 Part Number (0010 0110 0010 0101) build the NAND tree, INTA will toggle every time an ad-
Manufacturer ID. The 11 bit manufacturer ID ditional input is driven low. INTA will change to low,
Bits 11-1 cod for AMD is 00000000001 in accordance when CLK is driven low and all other NAND tree inputs
with JEDEC publication 106-A. stay high. INTA will toggle back to high, when GNT is
Bit 0 Always a logic 1 additionally driven low. The square wave will continue
until all NAND tree inputs are driven low. INTA will be
Note: The content of the Device ID register is the high, when all NAND tree inputs are driven low. See 52.
same as the content of CSR88.
Some of the pins connected to the NAND tree are outputs
in normal mode of operation. They must not be driven
NAND Tree Testing from an external source until the Am79C973/Am79C975
The Am79C973/Am79C975 controller provides a controller is configured for NAND tree testing.
NAND tree test mode to allow checking connectivity to
VDD
....
INTA
B S INTA (pin 142)
O
A
MUX
EAR (pin 129)
21510D-56
Am79C973/Am79C975 103
P R E L I M I N A R Y
RST
CLK
GNT
REQ
AD[31:0] FFFFFFFF 0000FFFF
C/BE[3:0] F 7 3 1
IDSEL
FRAME
IRDY
TRDY
DEVSEL
STOP
PERR
SERR
PAR
... ... ...
INTA
21510D-57
104 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 105
P R E L I M I N A R Y
106 Am79C973/Am79C975
P R E L I M I N A R Y
convenient place to store the value of the 48-bit IEEE All I/O resources must be accessed in word quantities
station address. It can be overwritten by the host com- and on word addresses. The Address PROM locations
puter and its content has no effect on the operation of can also be read in byte quantities. The only allowed
the controller. The software must copy the station ad- DWord operation is a write access to the RDP, which
d r e s s f r o m t h e A d d r e s s P RO M s p a c e t o t h e switches the device to DWord I/O mode. A read access
initialization block in order for the receiver to accept uni- other than listed in the table below will yield unde-
cast frames directed to this station. fined data, a write operation may cause unexpected
reprogramming of the Am79C973/Am79C975 con-
The six bytes of the IEEE station address occupy the
trol registers. Table 22 shows legal I/O accesses in
first six locations of the Address PROM space. The
Word I/O mode.
next six bytes are reserved. Bytes 12 and 13 should
match the value of the checksum of bytes 1 through 11 Table 21. I/O Map In Word I/O Mode (DWIO = 0)
and 14 and 15. Bytes 14 and 15 should each be ASCII
“W” (57h). The above requirements must be met in No. of
Offset Bytes Register
order to be compatible with AMD driver software.
APROMWE bit (BCR2, bit 8) must be set to 1 to enable 00h - 0Fh 16 APROM
write access to the Address PROM space. 10h 2 RDP
A read of the Reset register creates an internal soft- 14h 2 Reset Register
ware reset (S_RESET) pulse in the Am79C973/ 16h 2 BDP
Am79C975 controller. The internal S_RESET pulse 18h - 1Fh 8 Reserved
that is generated by this access is different from both
the assertion of the hardware RST pin (H_RESET) and Double Word I/O Mode
from the assertion of the software STOP bit. Specifi- The Am79C973/Am79C975 controller can be config-
cally, S_RESET is the equivalent of the assertion of the ured to operate in DWord (32-bit) I/O mode. The
RST pin (H_RESET) except that S_RESET has no ef- software can invoke the DWIO mode by performing a
fect on the BCR or PCI Configuration space locations. DWord write access to the I/O location at offset 10h
The NE2100 LANCE-based family of Ethernet cards (RDP). The data of the write access must be such that
requires that a write access to the Reset register fol- it does not affect the intended operation of the
lows each read access to the Reset register. The Am79C973/Am79C975 controller. Setting the device
Am79C973/Am79C975 controller does not have a sim- into 32-bit I/O mode is usually the first operation after
ilar requirement. The write access is not required and H_RESET or S_RESET. The RAP register will point to
does not have any effect. CSR0 at that time. Writing a value of 0 to CSR0 is a
safe operation. DWIO (BCR18, bit 7) will be set to 1 as
Note: The Am79C973/Am79C975 controller cannot an indication that the Am79C973/Am79C975 controller
service any slave accesses for a very short time after a operates in 32-bit I/O mode.
read access of the Reset register, because the internal
S_RESET operation takes about 1 ms to finish. The Note: Even though the I/O resource mapping changes
Am79C973/Am79C975 controller will terminate all when the I/O mode setting changes, the RDP location
slave accesses with the assertion of DEVSEL and offset is the same for both modes. Once the DWIO bit
STOP while TRDY is not asserted, signaling to the ini- has been set to 1, only H_RESET can clear it to 0. The
tiator to disconnect and retry the access at a later time. DWIO mode setting is unaffected by S_RESET or set-
ting of the STOP bit. Table 23 shows how the 32 bytes
Word I/O Mode of address space are used in DWord I/O mode.
After H_RESET, the Am79C973/Am79C975 controller All I/O resources must be accessed in DWord quanti-
is programmed to operate in Word I/O mode. DWIO ties and on DWord addresses. A read access other
(BCR18, bit 7) will be cleared to 0. Table 21 shows how than listed in Table 24 will yield undefined data, a write
the 32 bytes of address space are used in Word I/O operation may cause unexpected reprogramming of
mode. the Am79C973/Am79C975 control registers.
Am79C973/Am79C975 107
P R E L I M I N A R Y
Table 23. I/O Map In DWord I/O Mode (DWIO =1) Table 24. Legal I/O Accesses in Double Word I/O
Offset No. of Bytes Register Mode (DWIO =1)
00h - 0Fh 16 APROM AD[4:0] BE[3:0] Type Comment
10h 4 RDP DWord read of APROM
locations 3h (MSB) to 0h
RAP (shared by RDP and 0XX00 0000 RD (LSB),
14h 4
BDP) 7h to 4h, Bh to 8h or Fh to
18h 4 Reset Register Ch
1Ch 4 BDP 10000 0000 RD DWord read of RDP
10100 0000 RD DWord read of RAP
DWord read of Reset
11000 0000 RD
Register
DWord write to APROM
locations 3h (MSB) to 0h
0XX00 0000 WR (LSB),
7h to 4h, Bh to 8h or Fh to
Ch
10000 0000 WR DWord write to RDP
10100 0000 WR DWord write to RAP
DWord write to Reset
11000 0000 WR
Register
108 Am79C973/Am79C975
P R E L I M I N A R Y
The Am79C973/Am79C975 registers can be divided CSR5 Extended Control and Interrupt
into four groups: PCI Configuration, Setup, Running, CSR7 Extended Control and Interrupt2
and Test. Registers not included in any of these cate-
gories can be assumed to be intended for diagnostic CSR8* Logical Address Filter[15:0]
purposes. CSR9* Logical Address Filter[31:16]
■ PCI Configuration Registers CSR10* Logical Address Filter[47:32]
These registers are intended to be initialized by the
CSR11* Logical Address Filter[63:48]
system initialization procedure (e.g., BIOS device ini-
tialization routine) to program the operation of the CSR12* Physical Address[15:0]
Am79C973/Am79C975 controller PCI bus interface.
CSR13*^ Physical Address[31:16]
The following is a list of the registers that would typi-
CSR14*^ Physical Address[47:32]
cally need to be programmed once during the
initialization of the Am79C973/Am79C975 controller CSR15* Mode
within a system:
CSR24* Base Address of Receive Ring Lower
— PCI I/O Base Address or Memory Mapped I/O
CSR25* Base Address of Receive Ring Upper
Base Address register
— PCI Expansion ROM Base Address register CSR30* Base Address of Transmit Ring Lower
— PCI Interrupt Line register CSR31* Base Address of Transmit Ring Upper
— PCI Latency Timer register CSR47* Transmit Polling Interval
— PCI Status register CSR49* Receive Polling Interval
— PCI Command register CSR76* Receive Ring Length
— OnNow register
CSR78* Transmit Ring Length
CSR80 DMA Transfer Counter and FIFO Thresh-
old Control
Am79C973/Am79C975 109
P R E L I M I N A R Y
BCR4^ LED0 Status The following is a list of the registers that would typi-
cally need to be periodically read and perhaps written
BCR5^ LED1 Status during the normal running operation of the Am79C973/
BCR6^ LED2 Status Am79C975 controller within a system. Each of these
registers contains control bits, or status bits, or both.
BCR7^ LED3 Status
RAP Register Address Port
BCR9^ Full-Duplex Control
CSR0 Am79C973/Am79C975 Controller Status
BCR18^ Bus and Burst Control
CSR3 Interrupt Masks and Deferral Control
BCR19 EEPROM Control and Status
CSR4 Test and Features Control
BCR20 Software Style
CSR5 Extended Control and Interrupt
BCR22^ PCI Latency
CSR7 Extended Control and Interrupt2
BCR23^ PCI Subsystem Vendor ID
CSR112 Missed Frame Count
BCR24^ PCI Subsystem ID
CSR114 Receive Collision Count
BCR25^ SRAM Size
BCR32 Internal PHY Control and Status
BCR26^ SRAM Boundary
BCR33 Internal PHY Address
BCR27^ SRAM Interface Control
BCR34 Internal PHY Management Data
BCR32^ Internal PHY Control and Status
■ Test Registers
BCR33^ Internal PHY Address
These registers are intended to be used only for testing
BCR35^ PCI Vendor ID and diagnostic purposes. Those registers not included
BCR36 PCI Power Management Capabilities in any of the above lists can be assumed to be intended
(PMC) Alias Register for diagnostic purposes.
BCR37 PCI DATA Register Zero (DATA0) Alias PCI Configuration Registers
Register PCI Vendor ID Register
BCR38 PCI DATA Register One (DATA1) Alias Offset 00h
Register The PCI Vendor ID register is a 16-bit register that iden-
BCR39 PCI DATA Register Two (DATA2) Alias tifies the manufacturer of the Am79C973/Am79C975
Register controller. AMD’s Vendor ID is 1022h. Note that this
vendor ID is not the same as the Manufacturer ID in
BCR40 PCI DATA Register Three (DATA3) Alias CSR88 and CSR89. The vendor ID is assigned by the
Register PCI Special Interest Group.
BCR41 PCI DATA Register Four (DATA4) Alias The PCI Vendor ID register is located at offset 00h in
Register the PCI Configuration Space. It is read only.
BCR42 PCI DATA Register Five (DATA5) Alias This register is the same as BCR35 and can be written
Register by the EEPROM.
BCR43 PCI DATA Register Six (DATA6) Alias PCI Device ID Register
Register
Offset 02h
BCR44 PCI DATA Register Seven (DATA7) Alias
The PCI Device ID register is a 16-bit register that
Register
uniquely identifies the Am79C973/Am79C975 control-
BCR45 OnNow Pattern Matching Register 1 ler within AMD's product line. The Am79C973/
110 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C975 Device ID is 2000h. Note that this Device When PERREN is 1, the
ID is not the same as the Part number in CSR88 and Am79C973/Am79C975 controller
CSR89. The Device ID is assigned by AMD. The Device asserts PERR on the detection of
ID is the same as the PCnet-PCI II (Am79C970A) and a data parity error. It also sets the
PCnet-FAST (Am79C971) devices. DATAPERR bit (PCI Status reg-
ister, bit 8), when the data parity
The PCI Device ID register is located at offset 02h in
error occurred during a master
the PCI Configuration Space. It is read only.
cycle. PERREN also enables re-
PCI Command Register porting address parity errors
Offset 04h through the SERR pin and the
SERR bit in the PCI Status register.
The PCI Command register is a 16-bit register used to
control the gross functionality of the Am79C973/ PERREN is cleared by H_RESET
Am79C975 controller. It controls the Am79C973/ and is not affected by S_RESET
Am79C975 controller's ability to generate and respond or by setting the STOP bit.
to PCI bus cycles. To logically disconnect the
Am79C973/Am79C975 device from all PCI bus cycles 5 VGASNOOP VGA Palette Snoop. Read as zero;
except configuration cycles, a value of 0 should be writ- write operations have no effect.
ten to this register.
4 MWIEN Memory Write and Invalidate Cy-
The PCI Command register is located at offset 04h in cle Enable. Read as zero; write
the PCI Configuration Space. It is read and written by operations have no effect. The
the host. Am79C973/Am79C975 controller
Bit Name Description only generates Memory Write
cycles.
15-10 RES Reserved locations. Read as ze-
ros; write operations have no effect. 3 SCYCEN Special Cycle Enable. Read as
zero; write operations have no ef-
9 FBTBEN Fast Back-to-Back Enable. Read fect. The Am79C973/Am79C975
as zero; write operations have no controller ignores all Special
effect.The Am79C973/Am79C975 Cycle operations.
controller will not generate Fast
Back-to-Back cycles. 2 BMEN Bus Master Enable. Setting
BMEN enables the Am79C973/
8 SERREN SERR Enable. Controls the as- Am79C975 controller to become
sertion of the SERR pin. SERR is a bus master on the PCI bus. The
disabled when SERREN is host must set BMEN before set-
cleared. SERR will be asserted ting the INIT or STRT bit in CSR0
on detection of an address parity of the Am79C973/Am79C975
error and if both SERREN and controller.
PERREN (bit 6 of this register)
are set. BMEN is cleared by H_RESET
and is not effected by S_RESET
SERREN is cleared by H_RESET or by setting the STOP bit.
and is not effected by S_RESET
or by setting the STOP bit. 1 MEMEN Memory Space Access Enable.
The Am79C973/Am79C975 con-
7 RES Reserved location. Read as ze- troller will ignore all memory ac-
ros; write operations have no cesses when MEMEN is cleared.
effect. The host must set MEMEN be-
fore the first memory access to
6 PERREN Parity Error Response Enable. the device.
Enables the parity error response
functions. When PERREN is 0 For memory mapped I/O, the
and the Am79C973/Am79C975 host must program the PCI Mem-
controller detects a parity error, it ory Mapped I/O Base Address
only sets the Detected Parity Er- register with a valid memory ad-
ror bit in the PCI Status register. dress before setting MEMEN.
Am79C973/Am79C975 111
P R E L I M I N A R Y
112 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 113
P R E L I M I N A R Y
114 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 115
P R E L I M I N A R Y
116 Am79C973/Am79C975
P R E L I M I N A R Y
PCI Capabilities Pointer Register The host should use the value in this register to deter-
Offset 34h mine the setting of the PCI Latency Timer register.
Bit Name Description The PCI MIN_GNT register is located at offset 3Eh in
the PCI Configuration Space. It is read only.
7-0 CAP_PTR The PCI Capabilities pointer
Register is an 8-bit register that PCI MAX_LAT Register
points to a linked list of capabili- Offset 3Fh
ties implemented on this device. The PCI MAX_LAT register is an 8-bit register that
This register has a default value specifies the maximum arbitration latency the
of 40h. Am79C973/Am79C975 controller can sustain without
causing problems to the network activity. The register
The PCI Capabilities register is value specifies the time in units of 1/4 µs. The
located at offset 34h in the PCI MAX_LAT register is an alias of BCR22, bits 15-8. It is
Configuration Space. It is read recommended that BCR22 be programmed to a value
only. of 1818h.
PCI Interrupt Line Register The host should use the value in this register to deter-
Offset 3Ch mine the setting of the PCI Latency Timer register.
The PCI Interrupt Line register is an 8-bit register that The PCI MAX_LAT register is located at offset 3Fh in
is used to communicate the routing of the interrupt. the PCI Configuration Space. It is read only.
This register is written by the POST software as it ini-
tializes the Am79C973/Am79C975 controller in the PCI Capability Identifier Register
system. The register is read by the network driver to de- Offset 40h
termine the interrupt channel which the POST software Bit Name Description
has assigned to the Am79C973/Am79C975 controller.
The PCI Interrupt Line register is not modified by the 7-0 CAP_ID This register, when set to 1, iden-
Am79C973/Am79C975 controller. It has no effect on tifies the linked list item as being
the operation of the device. the PCI Power Management reg-
The PCI Interrupt Line register is located at offset 3Ch isters. This register has a default
in the PCI Configuration Space. It is read and written by value of 1h.
the host. It is cleared by H_RESET and is not affected
by S_RESET or by setting the STOP bit. The PCI Capabilities Identifier
register is located at offset 40h in
PCI Interrupt Pin Register the PCI Configuration Space. It is
Offset 3Dh read only.
This PCI Interrupt Pin register is an 8-bit register that
PCI Next Item Pointer Register
indicates the interrupt pin that the Am79C973/
Am79C975 controller is using. The value for the Offset 41h
Am79C973/Am79C975 Interrupt Pin register is 01h, Bit Name Description
which corresponds to INTA.
The PCI Interrupt Pin register is located at offset 3Dh 7-0 NXT_ITM_PTR
in the PCI Configuration Space. It is read only.
The Next Item Pointer Register
PCI MIN_GNT Register points to the starting address of
Offset 3Eh the next capability. The pointer at
The PCI MIN_GNT register is an 8-bit register that this offset is a null pointer, indi-
specifies the minimum length of a burst period that the cating that this is the last capabil-
Am79C973/Am79C975 device needs to keep up with ity in the linked list of the
the network activity. The length of the burst period is capabilities. This register has a
calculated assuming a clock rate of 33 MHz. The regis- default value of 0h.
ter value specifies the time in units of 1/4 ms. The PCI
The PCI Next Pointer Register is
MIN_GNT register is an alias of BCR22, bits 7-0. It is
located at offset 41h in the PCI
recommended that the BCR22 be programmed to a
Configuration Space. It is read
value of 1818h.
only.
Am79C973/Am79C975 117
P R E L I M I N A R Y
Bit 15 of the PMC register indi- 3 PME_CLK PME Clock. When this bit is a 1,
cates that the controller is capa- it indicates that the function relies
ble of generating PME from the on the presence of the PCI clock
D3 cold state. This capability de- for PME operation. When this bit
pends on the presence of auxilia- is a 0 it indicates that no PCI
ry power, as indicated by the clock is required for the function
AUXDET input. The capability to generate PME.
can be disabled by loading a zero
into bit 15 of BCR36 from the EE- Functions that do not support
PROM. (This register is aliased to PME generation in any state
the PMC register.) must return 0 for this field.
118 Am79C973/Am79C975
P R E L I M I N A R Y
PCI Power Management Control/Status Register This bit defaults to “0” if the func-
(PMCSR) tion does not support PME gener-
Offset 44h ation from D3cold.
If the function supports PME 7-2 RES Reserved locations. Read only.
from D3cold then this bit is sticky
and must be explicitly cleared by 1-0 PWR_STATE Power State. This 2-bit field is
the operating system each time used both to determine the cur-
the operating system is initially rent power state of a function and
loaded. to set the function into a new
power state. The definition of the
Read/write accessible always. field values is given below.
Sticky bit. This bit is reset by POR.
H_RESET, S_RESET, or setting 00b - D0.
the STOP bit has no effect. 01b - D1.
10b - D2.
14-13 DATA_SCALE
11b - D3.
Data Scale. This two bit read- These bits can be written and
only field indicates the scaling read, but their contents have no
factor to be used when interpret- effect on the operation of the
ing the value of the Data register. device.
The value and meaning of this
field will vary depending on the Read/write accessible always.
DATA_SCALE field.
PCI PMCSR Bridge Support Extensions Register
Read only. Offset 46h
12-9 DATA_SEL Data Select. This optional four-bit Bit Name Description
field is used to select which data 7-0 PMCSR_BSE The PCI PMCSR Bridge Support
is reported through the Data reg- Extensions Register is an 8-bit
ister and DATA_SCALE field. register. PMCSR Bridge Support
Extensions are not supported.
Read/write accessible always.
This register has a default value
Sticky bit. This bit is reset by POR.
of 00h.
H_RESET, S_RESET, or setting
the STOP bit has no effect. The PCI PMCSR Bridge Support
Extensions register is located at
8 PME_EN PME Enable. When a 1,
offset 46h in the PCI Configura-
PME_EN enables the function to
tion Space. It is read only.
assert PME. When a 0, PME as-
sertion is disabled.
Am79C973/Am79C975 119
P R E L I M I N A R Y
120 Am79C973/Am79C975
P R E L I M I N A R Y
When MERR is set, INTA is as- 8 IDON Initialization Done is set by the
serted if IENA is 1 and the mask Am79C973/Am79C975 controller
bit MERRM (CSR3, bit 11) is 0. after the initialization sequence
Am79C973/Am79C975 121
P R E L I M I N A R Y
When IDON is set, INTA is as- 4 TXON Transmit On indicates that the
serted if IENA is 1 and the mask transmit function is enabled.
bit IDONM (CSR3, bit 8) is 0. TXON is set if DTX (CSR15, bit 1)
is set to 0 after the START bit is
Read/Write accessible always. set. If INIT and START are set to-
IDON is cleared by the host by gether, TXON will not be set until
writing a 1. Writing a 0 has no ef- after the initialization block has
fect. IDON is cleared by been read in.
H_RESET, S_RESET, or by set-
ting the STOP bit. This bit will reset if the DXSUFLO
bit (CSR3, bit 6) is reset and there
7 INTR Interrupt Flag indicates that one is an underflow condition encoun-
or more following interrupt caus- tered.
ing conditions has occurred:
EXDINT, IDON, MERR, MISS, Read accessible always. TXON
MFCO, RCVCCO, RINT, SINT, is read only. TXON is cleared by
TINT, TXSTRT, UINT, STINT, H_RESET or S_RESET and set-
MREINT, MCCINT, MIIPDTINT, ting the STOP bit.
MAPINT and the associated
mask or enable bit is pro- 3 TDMD Transmit Demand, when set,
grammed to allow the event to causes the Buffer Management
cause an interrupt. If IENA is set Unit to access the Transmit De-
to 1 and INTR is set, INTA will be scriptor Ring without waiting for
active. When INTR is set by SINT the poll-time counter to elapse. If
or SLPINT, INTA will be active in- TXON is not enabled, TDMD bit
dependent of the state of INEA. will be reset and no Transmit De-
scriptor Ring access will occur.
Read accessible always. INTR is
read only. INTR is cleared by TDMD is required to be set if the
clearing all of the active individual TXDPOLL bit in CSR4 is set. Set-
interrupt bits that have not been ting TDMD while TXDPOLL = 0
masked out. merely hastens the Am79C973/
Am79C975 controller's response
6 IENA Interrupt Enable allows INTA to to a Transmit Descriptor Ring
be active if the Interrupt Flag is Entry.
set. If IENA = 0, then INTA will be
disabled regardless of the state Read/Write accessible always.
of INTR. TDMD is set by writing a 1. Writ-
ing a 0 has no effect. TDMD will
Read/Write accessible always. be cleared by the Buffer Manage-
IENA is set by writing a 1 and ment Unit when it fetches a
cleared by writing a 0. IENA is Transmit Descriptor. TDMD is
cleared by H_RESET or cleared by H_RESET or
S_RESET and setting the STOP S_RESET and setting the STOP
bit. bit.
5 RXON Receive On indicates that the re- 2 STOP STOP assertion disables the chip
ceive function is enabled. RXON from all DMA activity. The chip re-
is set if DRX (CSR15, bit 0) is set mains inactive until either STRT
to 0 after the START bit is set. If or INIT are set. If STOP, STRT
INIT and START are set together, and INIT are all set together,
RXON will not be set until after STOP will override STRT and
the initialization block has been INIT.
read in.
122 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 123
P R E L I M I N A R Y
124 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 125
P R E L I M I N A R Y
126 Am79C973/Am79C975
P R E L I M I N A R Y
11 APAD_XMT Auto Pad Transmit. When set, 7 UINTCMD User Interrupt Command. UINTC-
APAD_XMT enables the automatic MD can be used by the host to
padding feature. Transmit frames generate an interrupt unrelated to
will be padded to extend them to 64 any network activity. When
bytes including FCS. The FCS is UINTCMD is set, INTA is asserted
calculated for the entire frame, in- if IENA is set to 1. UINTCMD will
cluding pad, and appended after be cleared internally after the
the pad field. APAD_XMT will over- Am79C973/Am79C975 controller
ride the programming of the DXMT- has set UINT to 1.
FCS bit (CSR15, bit 3) and of the
ADD_FCS bit (TMD1, bit 29) for Read/Write accessible always.
frames shorter than 64 bytes. UINTCMD is cleared by
H_RESET or S_RESET or by
Read/Write accessible always. setting the STOP bit.
APAD_XMT is cleared by
H_RESET or S_RESET and is un- 6 UINT User Interrupt. UINT is set by the
affected by the STOP bit. Am79C973/Am79C975 controller
after the host has issued a user
10 ASTRP_RCV Auto Strip Receive. When set, interrupt command by setting
ASTRP_RCV enables the auto- UINTCMD (CSR4, bit 7) to 1.
matic pad stripping feature. The
pad and FCS fields will be stripped Read/Write accessible always.
from receive frames and not UINT is cleared by the host by
placed in the FIFO. writing a 1. Writing a 0 has no ef-
fect. UINT is cleared by
Read/Write accessible always. H_RESET or S_RESET or by
ASTRP_RCV is cleared by setting the STOP bit.
H_RESET or S_RESET and is
unaffected by the STOP bit. 5 RCVCCO Receive Collision Counter Over-
flow is set by the Am79C973/
9 MFCO Missed Frame Counter Overflow Am79C975 controller when the Re-
is set by the Am79C973/ ceive Collision Counter (CSR114
Am79C975 controller when the and CSR115) has wrapped around.
Missed Frame Counter (CSR112
and CSR113) has wrapped When RCVCCO is set, INTA is
around. asserted if IENA is 1 and the
mask bit RCVCCOM is 0.
When MFCO is set, INTA is as-
serted if IENA is 1 and the mask Read/Write accessible always.
bit MFCOM is 0. RCVCCO is cleared by the host
by writing a 1. Writing a 0 has no
Read/Write accessible always. effect. RCVCCO is cleared by
MFCO is cleared by the host by H_RESET, S_RESET, or by set-
writing a 1. Writing a 0 has no ef- ting the STOP bit.
fect. MFCO is cleared by
H_RESET, S_RESET, or by set- 4 RCVCCOM Receive Collision Counter Over-
ting the STOP bit. flow Mask. If RCVCCOM is set,
the RCVCCO bit will be masked
8 MFCOM Missed Frame Counter Overflow and unable to set the INTR bit.
Mask. If MFCOM is set, the
MFCO bit will be masked and un- Read/Write accessible always.
able to set the INTR bit. RCVCCOM is set to 1 by
H_RESET or S_RESET and is not
Read/Write accessible always. affected by the STOP bit.
MFCOM is set to 1 by H_RESET
or S_RESET and is not affected 3 TXSTRT Transmit Start status is set by the
by the STOP bit. Am79C973/Am79C975 controller
whenever it begins transmission
of a frame.
Am79C973/Am79C975 127
P R E L I M I N A R Y
CSR5: Extended Control and Interrupt 1 When SINT is set, INTA is assert-
Certain bits in CSR5 indicate the cause of an interrupt. ed if the enable bit SINTE is 1.
The register is designed so that these indicator bits are Note that the assertion of an in-
cleared by writing ones to those bit locations. This terrupt due to SINT is not depen-
means that the software can read CSR5 and write back dent on the state of the INEA bit,
the value just read to clear the interrupt condition. since INEA is cleared by the
STOP reset generated by the
Bit Name Description system error.
128 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 129
P R E L I M I N A R Y
130 Am79C973/Am79C975
P R E L I M I N A R Y
packet that had already begun 14 RXFRTG Receive Frame Tag. When Re-
DMA activity. In addition, any ceive Frame Tag is set to 1, a tag
transmit packet that had started word is put into the receive de-
transmission will be fully transmit- scriptor supplied by the EADI.
ted and any receive packet that See the section Receive Frame
had begun reception will be fully Tagging for details. This bit is
received. However, no additional valid only when the EADISEL
packets will be transmitted or re- (BCR2, bit 3) is set to 1.
ceived and no additional transmit
or receive DMA activity will begin. Read/Write accessible always.
Hence, the Am79C973/ RXFRTG is cleared by
Am79C975 controller may enter H_RESET. RXFRTG is unaffect-
the suspend mode with transmit ed by S_RESET or by setting the
and/or receive packets still in the STOP bit.
FIFOs or the SRAM.
13 RDMD Receive Demand, when set,
When FASTSPNDE is 0 and the causes the Buffer Management
SPND bit is set, the Am79C973/ Unit to access the Receive De-
Am79C975 controller may take scriptor Ring without waiting for
longer before entering the sus- the receive poll-time counter to
pend mode. At the time the elapse. If RXON is not enabled,
SPND bit is set, the Am79C973/ RDMD has no meaning and no
Am79C975 controller will com- receive Descriptor Ring access
plete the DMA process of a trans- will occur.
mit packet if it had already begun
and the Am79C973/Am79C975 RDMD is required to be set if the
controller will completely receive RXDPOLL bit in CSR7 is set. Set-
a receive packet if it had already ting RDMD while RXDPOLL = 0
begun. Additionally, all transmit merely hastens the Am79C973/
packets stored in the transmit Am79C975 controller's response
FIFOs and the transmit buffer to a receive Descriptor Ring Entry.
area in the SRAM (if one is en-
Read/Write accessible always.
abled) will be transmitted and all
RDMD is set by writing a 1. Writ-
receive packets stored in the re-
ing a 0 has no effect. RDMD will
ceive FIFOs, and the receive
be cleared by the Buffer Manage-
buffer area in the SRAM (if one is
ment Unit when it fetches a re-
enabled) will be transferred into
ceive Descriptor. RDMD is
system memory. Since the FIFO
cleared by H_RESET. RDMD is
and SRAM contents are flushed,
unaffected by S_RESET or by
it may take much longer before
setting the STOP bit.
the Am79C973/Am79C975 con-
troller enters the suspend mode. 12 RXDPOLL Receive Disable Polling. If RXD-
The amount of time that it takes POLL is set, the Buffer Manage-
depends on many factors includ- ment Unit will disable receive
ing the size of the SRAM, bus la- polling. Likewise, if RXDPOLL is
tency, and network traffic level. cleared, automatic receive poll-
ing is enabled. If RXDPOLL is
When a write to CSR5 is per-
set, RDMD bit in CSR7 must be
formed with bit 0 (SPND) set to 1,
set in order to initiate a manual
the value that is simultaneously
poll of a receive descriptor. Re-
written to FASTSPNDE is used to
ceive Descriptor Polling will not
determine which approach is
take place if RXON is reset.
used to enter suspend mode.
Read/Write accessible always.
Read/Write accessible always.
RXDPOLL is cleared by
FASTSPNDE is cleared by
H_RESET. RXDPOLL is unaf-
H_RESET, S_RESET or by set-
fected by S_RESET or by setting
ting the STOP bit.
the STOP bit.
Am79C973/Am79C975 131
P R E L I M I N A R Y
132 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 133
P R E L I M I N A R Y
134 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 135
P R E L I M I N A R Y
136 Am79C973/Am79C975
P R E L I M I N A R Y
CSR16: Initialization Block Address Lower CSR20: Current Transmit Buffer Address Lower
Bit Name Description Bit Name Description
31-16 RES Reserved locations. Written as 31-16 RES Reserved locations. Written as
zeros and read as undefined. zeros and read as undefined.
15-0 IADRL This register is an alias of CSR1. 15-0 CXBAL Contains the lower 16 bits of the
current transmit buffer address
Read/Write accessible only when ei- from which the Am79C973/
ther the STOP or the SPND bit is set. Am79C975 controller is
transmitting.
CSR17: Initialization Block Address Upper
Bit Name Description Read/Write accessible only when
either the STOP or the SPND bit is
31-16 RES Reserved locations. Written as set. These bits are unaffected by
zeros and read as undefined. H_RESET, S_RESET, or STOP.
15-0 IADRH This register is an alias of CSR2. CSR21: Current Transmit Buffer Address Upper
Bit Name Description
Read/Write accessible only when
either the STOP or the SPND bit is 31-16 RES Reserved locations. Written as
set. zeros and read as undefined.
CSR18: Current Receive Buffer Address Lower 15-0 CXBAU Contains the upper 16 bits of
Bit Name Description the current transmit buffer ad-
dress from which the
31-16 RES Reserved locations. Written as Am79C973/Am79C975 control-
zeros and read as undefined. ler is transmitting.
15-0 CRBAL Contains the lower 16 bits of the Read/Write accessible only when
current receive buffer address at either the STOP or the SPND bit
which the Am79C973/Am79C975 is set. These bits are unaffected
controller will store incoming by H_RESET, S_RESET, or
frame data. STOP.
Read/Write accessible only when CSR22: Next Receive Buffer Address Lower
either the STOP or the SPND bit Bit Name Description
is set. These bits are unaffected
by H_RESET, S_RESET, or 31-16 RES Reserved locations. Written as
STOP. zeros and read as undefined.
CSR19: Current Receive Buffer Address Upper 15-0 NRBAL Contains the lower 16 bits of the
Bit Name Description next receive buffer address to
which the Am79C973/
31-16 RES Reserved locations. Written as Am79C975 controller will store
zeros and read as undefined. incoming frame data.
15-0 CRBAU Contains the upper 16 bits of the Read/Write accessible only when
current receive buffer address at either the STOP or the SPND bit
which the Am79C973/Am79C975 is set. These bits are unaffected
controller will store incoming by H_RESET, S_RESET, or
frame data. STOP.
Am79C973/Am79C975 137
P R E L I M I N A R Y
CSR23: Next Receive Buffer Address Upper 15-0 NRDAL Contains the lower 16 bits of the
Bit Name Description next receive descriptor address
pointer.
31-16 RES Reserved locations. Written as
Read/Write accessible only when
zeros and read as undefined.
either the STOP or the SPND bit
15-0 NRBAU Contains the upper 16 bits of the is set. These bits are unaffected
next receive buffer address to by H_RESET, S_RESET, or
which the Am79C973/ STOP.
Am79C975 controller will store
CSR27: Next Receive Descriptor Address Upper
incoming frame data.
Bit Name Description
Read/Write accessible only when
either the STOP or the SPND bit 31-16 RES Reserved locations. Written as
is set. These bits are unaffected zeros and read as undefined.
by H_RESET, S_RESET, or
STOP. 15-0 NRDAU Contains the upper 16 bits of the
next receive descriptor address
CSR24: Base Address of Receive Ring Lower pointer.
Bit Name Description
Read/Write accessible only when
either the STOP or the SPND bit
31-16 RES Reserved locations. Written as
is set. These bits are unaffected
zeros and read as undefined.
by H_RESET, S_RESET, or
15-0 BADRL Contains the lower 16 bits of the STOP.
base address of the Receive
CSR28: Current Receive Descriptor Address Lower
Ring.
Bit Name Description
Read/Write accessible only when
either the STOP or the SPND bit 31-16 RES Reserved locations. Written as
is set. These bits are unaffected zeros and read as undefined.
by H_RESET, S_RESET, or
STOP. 15-0 CRDAL Contains the lower 16 bits of the
current receive descriptor ad-
CSR25: Base Address of Receive Ring Upper dress pointer.
Bit Name Description
Read/Write accessible only when
either the STOP or the SPND bit
31-16 RES Reserved locations. Written as
is set. These bits are unaffected
zeros and read as undefined.
by H_RESET, S_RESET, or
15-0 BADRU Contains the upper 16 bits of the STOP.
base address of the Receive
CSR29: Current Receive Descriptor Address Upper
Ring.
Bit Name Description
Read/Write accessible only when
either the STOP or the SPND bit 31-16 RES Reserved locations. Written as
is set. These bits are unaffected zeros and read as undefined.
by H_RESET, S_RESET, or
STOP. 15-0 CRDAU Contains the upper 16 bits of the
current receive descriptor ad-
CSR26: Next Receive Descriptor Address Lower dress pointer.
Bit Name Description
Read/Write accessible only when
either the STOP or the SPND bit
31-16 RES Reserved locations. Written as
is set. These bits are unaffected
zeros and read as undefined.
by H_RESET, S_RESET, or
STOP.
138 Am79C973/Am79C975
P R E L I M I N A R Y
CSR30: Base Address of Transmit Ring Lower Read/Write accessible only when
Bit Name Description either the STOP or the SPND bit
is set. These bits are unaffected
31-16 RES Reserved locations. Written as by H_RESET, S_RESET, or
zeros and read as undefined. STOP.
15-0 BADXL Contains the lower 16 bits of the CSR34: Current Transmit Descriptor Address
base address of the Transmit Lower
Ring. Bit Name Description
Am79C973/Am79C975 139
P R E L I M I N A R Y
CSR37: Next Next Receive Descriptor Address CSR40: Current Receive Byte Count
Upper
Bit Name Description Bit Name Description
31-16 RES Reserved locations. Written as
31-16 RES Reserved locations. Written as zeros and read as undefined.
zeros and read as undefined.
15-12 RES Reserved locations. Read and
15-0 NNRDAU Contains the upper 16 bits of the written as zeros.
next next receive descriptor ad-
dress pointer. 11-0 CRBC Current Receive Byte Count.
This field is a copy of the BCNT
Read/Write accessible only when field of RMD1 of the current re-
either the STOP or the SPND bit ceive descriptor.
is set. These bits are unaffected
by H_RESET, S_RESET, or Read/Write accessible only when
STOP. either the STOP or the SPND bit
is set. These bits are unaffected
CSR38: Next Next Transmit Descriptor Address by H_RESET, S_RESET, or
Lower STOP.
Bit Name Description
CSR41: Current Receive Status
31-16 RES Reserved locations. Written as Bit Name Description
zeros and read as undefined.
31-16 RES Reserved locations. Written as
15-0 NNXDAL Contains the lower 16 bits of the zeros and read as undefined.
next next transmit descriptor ad-
dress pointer. 15-0 CRST Current Receive Status. This field
is a copy of bits 31-16 of RMD1 of
Read/Write accessible only when the current receive descriptor.
either the STOP or the SPND bit
is set. These bits are unaffected Read/Write accessible only when
by H_RESET, S_RESET, or either the STOP or the SPND bit
STOP. is set. These bits are unaffected
by H_RESET, S_RESET, or
CSR39: Next Next Transmit Descriptor Address STOP.
Upper
CSR42: Current Transmit Byte Count
Bit Name Description
Bit Name Description
31-16 RES Reserved locations. Written as
zeros and read as undefined. 31-16 RES Reserved locations. Written as
zeros and read as undefined.
15-0 NNXDAU Contains the upper 16 bits of the
next next transmit descriptor ad- 15-12 RES Reserved locations. Read and
dress pointer. written as zeros.
Read/Write accessible only when 11-0 CXBC Current Transmit Byte Count.
either the STOP or the SPND bit This field is a copy of the BCNT
is set. These bits are unaffected field of TMD1 of the current trans-
by H_RESET, S_RESET, or mit descriptor.
STOP.
Read/Write accessible only when
either the STOP or the SPND bit
is set. These bits are unaffected
by H_RESET, S_RESET, or
STOP.
140 Am79C973/Am79C975
P R E L I M I N A R Y
31-16 RES Reserved locations. Written as 31-16 RES Reserved locations. Written as
zeros and read as undefined. zeros and read as undefined.
15-0 CXST Current Transmit Status. This field 15-0 TXPOLL Transmit Poll Time Counter. This
is a copy of bits 31-16 of TMD1 of counter is incremented by the
the current transmit descriptor. Am79C973/Am79C975 controller
microcode and is used to trigger
Read/Write accessible only when the transmit descriptor ring poll-
either the STOP or the SPND bit ing operation of the Am79C973/
is set. These bits are unaffected Am79C975 controller.
by H_RESET, S_RESET, or
STOP. Read/Write accessible only when
either the STOP or the SPND bit
CSR44: Next Receive Byte Count is set. These bits are unaffected
Bit Name Description by H_RESET, S_RESET, or
STOP.
31-16 RES Reserved locations. Written as
zeros and read as undefined. CSR47: Transmit Polling Interval
Bit Name Description
15-12 RES Reserved locations. Read and
written as zeros. 31-16 RES Reserved locations. Written as
zeros and read as undefined.
11-0 NRBC Next Receive Byte Count. This field
is a copy of the BCNT field of RMD1 15-0 TXPOLLINT Transmit Polling Interval. This
of the next receive descriptor. register contains the time that the
Am79C973/Am79C975 controller
Read/Write accessible only when
will wait between successive poll-
either the STOP or the SPND bit ing operations. The TXPOLLINT
is set. These bits are unaffected
value is expressed as the two’s
by H_RESET, S_RESET, or
complement of the desired inter-
STOP.
val, where each bit of TXPOL-
CSR45: Next Receive Status LINT represents 1 clock period of
time. TXPOLLINT[3:0] are ig-
Bit Name Description nored. (TXPOLLINT[16] is im-
plied to be a one, so
31-16 RES Reserved locations. Written as TXPOLLINT[15] is significant and
zeros and read as undefined. does not represent the sign of the
two’s complement TXPOLLINT
15-0 NRST Next Receive Status. This field is value.)
a copy of bits 31-16 of RMD1 of
the next receive descriptor. The default value of this register
is 0000h. This corresponds to a
Read/Write accessible only when polling interval of 65,536 clock
either the STOP or the SPND bit periods (1.966 ms when
is set. These bits are unaffected CLK = 33 MHz). The TXPOL-
by H_RESET, S_RESET, or LINT value of 0000h is created
STOP. during the microcode initialization
routine and, therefore, might not
be seen when reading CSR47 af-
ter H_RESET or S_RESET.
Am79C973/Am79C975 141
P R E L I M I N A R Y
CSR0. Then, when the initializa- will wait between successive poll-
tion sequence is complete, the ing operations. The RXPOLLINT
user must set STOP (CSR0, bit value is expressed as the two’s
2). Then the user may write to complement of the desired inter-
CSR47 and then set STRT in val, where each bit of RXPOL-
CSR0. In this way, the default LINT approximately represents
value of 0000h in CSR47 will be one clock time period. RXPOL-
overwritten with the desired user LINT[3:0] are ignored. (RXPOL-
value. LINT[16] is implied to be a 1, so
RXPOLLINT[15] is significant
If the user does not use the stan- and does not represent the sign
dard initialization procedure of the two’s complement
(standard implies use of an initial- RXPOL-LINT value.)
ization block in memory and set-
ting the INIT bit of CSR0), but The default value of this register
instead, chooses to write directly is 0000h. This corresponds to a
to each of the registers that are polling interval of 65,536 clock
involved in the INIT operation, periods (1.966 ms when
then it is imperative that the user CLK = 33 MHz). The RXPOL-
also writes all zeros to CSR47 as LINT value of 0000h is created
part of the alternative initialization during the microcode initialization
sequence. routine and, therefore, might not
be seen when reading CSR49 af-
Read/Write accessible only when ter H_RESET or S_RESET.
either the STOP or the SPND bit
is set. These bits are unaffected If the user desires to program a
by H_RESET, S_RESET, or value for RXPOLLINT other than
STOP. the default, then the correct pro-
cedure is to first set INIT only in
CSR48: Receive Poll Time Counter CSR0. Then, when the initializa-
Bit Name Description tion sequence is complete, the
user must set STOP (CSR0, bit 2).
31-16 RES Reserved locations. Written as Then the user may write to
zeros and read as undefined. CSR49 and then set STRT in
CSR0. In this way, the default
15-0 RXPOLL Receive Poll Time Counter. This value of 0000h in CSR47 will be
counter is incremented by the overwritten with the desired user
Am79C973/Am79C975 controller value.
microcode and is used to trigger
the receive descriptor ring polling If the user does not use the stan-
operation of the Am79C973/ dard initialization procedure
Am79C975 controller. (standard implies use of an initial-
ization block in memory and set-
Read/Write accessible only when ting the INIT bit of CSR0), but
either the STOP or the SPND bit instead, chooses to write directly
is set. These bits are unaffected to each of the registers that are
by H_RESET, S_RESET, or involved in the INIT operation,
STOP. then it is imperative that the user
also writes all zeros to CSR49 as
CSR49: Receive Polling Interval part of the alternative initialization
Bit Name Description sequence.
142 Am79C973/Am79C975
P R E L I M I N A R Y
9 RES Reserved locations. Written as The value of the SSIZE32 bit has
zeros and read as undefined. no effect on the drive of the upper 8
address bits. The upper 8 address
8 SSIZE32 Software Size 32 bits. When set, pins are always driven, regardless
this bit indicates that the of the state of the SSIZE32 bit.
Am79C973/Am79C975 controller
utilizes 32-bit software structures Note that the setting of the
for the initialization block and the SSIZE32 bit has no effect on the
transmit and receive descriptor defined width for I/O resources.
entries. When cleared, this bit in- I/O resource width is determined
dicates that the Am79C973/ by the state of the DWIO bit
Am79C975 controller utilizes 16- (BCR18, bit 7).
bit software structures for the ini-
tialization block and the transmit 7-0 SWSTYLE Software Style register. The value
and receive descriptor entries. In in this register determines the
this mode, the Am79C973/ style of register and memory re-
Am79C975 controller is back- sources that shall be used by the
wards compatible with the Am79C973/Am79C975 controller.
Am79C973/Am79C975 143
P R E L I M I N A R Y
The Software Style selection will CSR60: Previous Transmit Descriptor Address
affect the interpretation of a few Lower
bits within the CSR space, the or-
Bit Name Description
der of the descriptor entries and
the width of the descriptors and
31-16 RES Reserved locations. Written as
initialization block entries.
zeros and read as undefined.
All Am79C973/Am79C975 con-
15-0 PXDAL Contains the lower 16 bits of the
troller CSR bits and BCR bits and
previous transmit descriptor ad-
all descriptor, buffer, and initial-
dress pointer. The Am79C973/
ization block entries not cited in
Am79C975 controller has the ca-
Table 26 are unaffected by the
pability to stack multiple transmit
Software Style selection and are,
frames.
therefore, always fully functional
as specified in the CSR and BCR Read/Write accessible only when
sections. either the STOP or the SPND bit
is set. These bits are unaffected
Read/Write accessible only when
by H_RESET, S_RESET, or
either the STOP or the SPND bit is
STOP.
set. The SWSTYLE register will
contain the value 00h following
H_RESET and will be unaffected by
S_RESET or STOP.
LANCE/
16-bit software structures, 16-bit software structures,
00h PCnet-ISA 0
non-burst or burst access non-burst access only
controller
144 Am79C973/Am79C975
P R E L I M I N A R Y
CSR61: Previous Transmit Descriptor Address CSR64: Next Transmit Buffer Address Lower
Upper Bit Name Description
Bit Name Description
31-16 RES Reserved locations. Written as
31-16 RES Reserved locations. Written as zeros and read as undefined.
zeros and read as undefined.
15-0 NXBAL Contains the lower 16 bits of the
15-0 PXDAU Contains the upper 16 bits of the next transmit buffer address from
previous transmit descriptor ad- which the Am79C973/Am79C975
dress pointer. The Am79C973/ controller will transmit an outgo-
Am79C975 controller has the ca- ing frame.
pability to stack multiple transmit
frames. Read/Write accessible only when
either the STOP or the SPND bit
Read/Write accessible only when is set. These bits are unaffected
either the STOP or the SPND bit by H_RESET, S_RESET, or
is set. These bits are unaffected STOP.
by H_RESET, S_RESET, or
STOP. CSR65: Next Transmit Buffer Address Upper
Bit Name Description
CSR62: Previous Transmit Byte Count
Bit Name Description 31-16 RES Reserved locations. Written as
zeros and read as undefined.
31-16 RES Reserved locations. Written as
zeros and read as undefined. 15-0 NXBAU Contains the upper 16 bits of the
next transmit buffer address from
15-12 RES Reserved locations. which the Am79C973/Am79C975
controller will transmit an outgo-
11-0 PXBC Previous Transmit Byte Count. ing frame.
This field is a copy of the BCNT
field of TMD1 of the previous Read/Write accessible only when
transmit descriptor. either the STOP or the SPND bit
is set. These bits are unaffected
Read/Write accessible only when by H_RESET, S_RESET, or
either the STOP or the SPND bit STOP.
is set. These bits are unaffected
by H_RESET, S_RESET, or CSR66: Next Transmit Byte Count
STOP. Bit Name Description
CSR63: Previous Transmit Status
31-16 RES Reserved locations. Written as
Bit Name Description zeros and read as undefined.
31-16 RES Reserved locations. Written as 15-12 RES Reserved locations. Read and
zeros and read as undefined. written as zeros.
15-0 PXST Previous Transmit Status. This 11-0 NXBC Next Transmit Byte Count. This
field is a copy of bits 31-16 of field is a copy of the BCNT field of
TMD1 of the previous transmit TMD1 of the next transmit
descriptor. descriptor.
Am79C973/Am79C975 145
P R E L I M I N A R Y
15-0 RCVRC Receive Ring Counter location. Read/Write accessible only when
Contains a two's complement bi- either the STOP or the SPND bit
nary number used to number the is set. These bits are unaffected
current receive descriptor. This by H_RESET, S_RESET, or
counter interprets the value in STOP.
CSR76 as pointing to the first de-
scriptor. A counter value of zero CSR78: Transmit Ring Length
corresponds to the last descriptor Bit Name Description
in the ring.
31-16 RES Reserved locations. Written as
Read/Write accessible only when zeros and read as undefined.
either the STOP or the SPND bit
is set. These bits are unaffected 15-0 XMTRL Transmit Ring Length. Contains
by H_RESET, S_RESET, or the two's complement of the
STOP. transmit descriptor ring length.
This register is initialized during
CSR74: Transmit Ring Counter the Am79C973/Am79C975 con-
Bit Name Description troller initialization routine based
on the value in the TLEN field of
31-16 RES Reserved locations. Written as the initialization block. However,
zeros and read as undefined. this register can be manually al-
tered. The actual transmit ring
15-0 XMTRC Transmit Ring Counter location. length is defined by the current
Contains a two's complement bi- value in this register. The ring
nary number used to number the length can be defined as any val-
current transmit descriptor. This ue from 1 to 65535.
counter interprets the value in
CSR78 as pointing to the first de- Read/Write accessible only when
scriptor. A counter value of zero either the STOP or the SPND bit
corresponds to the last descriptor is set. These bits are unaffected
in the ring. by H_RESET, S_RESET, or
STOP.
146 Am79C973/Am79C975
P R E L I M I N A R Y
CSR80: DMA Transfer Counter and FIFO Threshold When operating with the SRAM,
Control the Bus Receive FIFO, and the
MAC Receive FIFO operate inde-
Bit Name Description
pendently on the bus side and
MAC side of the SRAM, respec-
31-16 RES Reserved locations. Written as
tively. In this case, the watermark
zeros and read as undefined.
value set by RCVFW[1:0] sets the
15-14 RES Reserved locations. Written as number of bytes that must be
zeros and read as undefined. present in the Bus Receive FIFO
only. See Table 27.
13-12 RCVFW[1:0] Receive FIFO Watermark.
RCVFW controls the point at Table 27. Receive Watermark Programming
which receive DMA is requested RCVFW[1:0] Bytes Received
in relation to the number of re- 00 16
ceived bytes in the Receive FIFO.
01 64
RCVFW specifies the number of
bytes which must be present 10 112
(once the frame has been verified 11 Reserved
as a non-runt) before receive
Read/Write accessible only when
DMA is requested. Note however
either the STOP or the SPND bit
that, if the network interface is op-
is set. RCVFW[1:0] is set to a val-
erating in half-duplex mode, in
ue of 01b (64 bytes) after
order for receive DMA to be per-
H_RESET or S_RESET and is
formed for a new frame, at least
unaffected by STOP.
64 bytes must have been re-
ceived. This effectively avoids 11-10 XMTSP[1:0] Transmit Start Point. XMTSP
having to react to receive frames controls the point at which pream-
which are runts or suffer a colli- ble transmission attempts to
sion during the slot time (512 bit commence in relation to the num-
times). If the Runt Packet Accept ber of bytes written to the MAC
feature is enabled or if the net- Transmit FIFO for the current
work interface is operating in full- transmit frame. When the entire
duplex mode, receive DMA will frame is in the MAC Transmit
be requested as soon as either FIFO, transmission will start re-
the RCVFW threshold is reached, gardless of the value in XMTSP.
or a complete valid receive frame If the network interface is operat-
is detected (regardless of length). ing in half-duplex mode,
When the FDRPAD (BCR9, bit 2) regardless of XMTSP, the FIFO
is set and the Am79C973/ will not internally overwrite its
Am79C975 controller is in full-du- data until at least 64 bytes (or the
plex mode, in order for receive entire frame if shorter than 64
DMA to be performed for a new bytes) have been transmitted
frame, at least 64 bytes must onto the network. This ensures
have been received. This effec- that for collisions within the slot
tively disables the runt packet time window, transmit data need
accept feature in full duplex. not be rewritten to the Transmit
FIFO, and retries will be handled
When operating in the NO-SRAM
autonomously by the MAC. If the
mode (no SRAM enabled), the
Disable Retry feature is enabled,
Bus Receive FIFO and the MAC
or if the network is operating in
Receive operate like a single
full-duplex mode, the Am79C973/
FIFO and the watermark value
Am79C975 controller can over-
selected by RCVFW[1:0] sets the
write the beginning of the frame as
number of bytes that must be
soon as the data is transmitted,
present in the FIFO before re-
because no collision handling is
ceive DMA is requested.
required in these modes.
Am79C973/Am79C975 147
P R E L I M I N A R Y
Note that when the SRAM is be- any time when the number of
ing used, if the NOUFLO bit bytes specified by XMTFW could
(CSR80, bit 14) is set to 1, there be written to the FIFO without
is the additional restriction that causing Transmit FIFO overflow,
the complete transmit frame must and the internal microcode en-
be DMA’d into the Am79C973/ gine has reached a point where
Am79C975 controller and reside the Transmit FIFO is checked to
within a combination of the Bus determine if DMA servicing is
Transmit FIFO, the SRAM, and required.
the MAC Transmit FIFO.
When operating in the NO-SRAM
When the SRAM is used, mode (no SRAM enabled),
SRAM_SIZE > 0, there is a re- SRAM_SIZE set to 0, the Bus
striction that the number of bytes Transmit FIFO and the MAC
written is a combination of bytes Transmit FIFO operate like a sin-
written into the Bus Transmit gle FIFO and the watermark val-
FIFO and the MAC Transmit ue selected by XMTFW[1:0] sets
FIFO. The Am79C973/ the number of FIFO byte loca-
Am79C975 controller supports a tions that must be available in
mode that will wait until a full the FIFO before receive DMA is
packet is available before com- requested.
mencing with the transmission of
preamble. This mode is useful in When operating with the SRAM,
a system where high latencies the Bus Transmit FIFO and the
cannot be avoided. See Table 28. MAC Transmit FIFO operate in-
dependently on the bus side and
Read/Write accessible only when MAC side of the SRAM, respec-
either the STOP or the SPND bit tively. In this case, the watermark
is set. XMTSP is set to a value of value set by XMTFW[1:0] sets the
01b (64 bytes) after H_RESET or number of FIFO byte locations
S_RESET and is unaffected by that must be available in the Bus
STOP. Transmit FIFO. See Table 28.
Table 28. Transmit Start Point Programming Table 29. Transmit Watermark Programming
148 Am79C973/Am79C975
P R E L I M I N A R Y
CSR82: Transmit Descriptor Address Pointer Lower CSR85: DMA Address Register Upper
Bit Name Description Bit Name Description
31-16 RES Reserved locations. Written as 31-16 RES Reserved locations. Written as
zeros and read as undefined. zeros and read as undefined.
15-0 TXDAPL Contains the lower 16 bits of the 15-0 DMABAU This register contains the upper
transmit descriptor address cor- 16 bits of the address of system
responding to the last buffer of memory for the current DMA cy-
the previous transmit frame. If the cle. The Bus Interface Unit
previous transmit frame did not controls the Address Register by
use buffer chaining, then TXDA- issuing increment commands to
PL contains the lower 16 bits of increment the memory address
the previous frame’s transmit de- for sequential operations. The
scriptor address. DMABAU register is undefined
until the first Am79C973/
When both the STOP or SPND Am79C975 controller DMA
bits are cleared, this register is operation.
updated by Am79C973/
Am79C975 controller immediate- Read/Write accessible only when
ly before a transmit descriptor either the STOP or the SPND bit
write. is set. These bits are unaffected
by H_RESET, S_RESET, or
Read accessible always. Write STOP.
accessible through the PXDAL
bits (CSR60) when the STOP or CSR86: Buffer Byte Counter
SPND bit is set. TXDAPL is set to
Bit Name Description
0 by H_RESET and are unaffect-
ed by S_RESET or STOP.
31-16 RES Reserved locations. Written as
CSR84: DMA Address Register Lower zeros and read as undefined.
Bit Name Description 15-12 RES Reserved. Read and written with
ones.
31-16 RES Reserved locations. Written as
zeros and read as undefined. 11-0 DMABC DMA Byte Count Register. Con-
tains the two's complement of the
15-0 DMABAL This register contains the lower current size of the remaining
16 bits of the address of system transmit or receive buffer in bytes.
memory for the current DMA cy- This register is incremented by the
cle. The Bus Interface Unit Bus Interface Unit. The DMABC
controls the Address Register by register is undefined until written.
issuing increment commands to
increment the memory address Read/Write accessible only when
for sequential operations. The either the STOP or the SPND bit
DMABAL register is undefined is set. These bits are unaffected
until the first Am79C973/ by H_RESET, S_RESET, or
Am79C975 controller DMA STOP.
operation.
CSR88: Chip ID Register Lower
Read/Write accessible only when Bit Name Description
either the STOP or the SPND bit
is set. These bits are unaffected 31-28 VER Version. This 4-bit pattern is
by H_RESET, S_RESET, or silicon-revision dependent.
STOP.
Read accessible only when either
the STOP or the SPND bit is set.
VER is read only. Write opera-
tions are ignored.
Am79C973/Am79C975 149
P R E L I M I N A R Y
27-12 PARTID Part number. The 16-bit code for 11-0 PARTIDU Upper 12 bits of the Am79C973/
the Am79C973 controller is Am79C975 controller part num-
0010 0110 0010 0101 (2625h) ber, i.e., 0010 0110 0010b
and the code for the Am79C975 (262h).
is 0010 0110 0010 0111 (2627h).
Read accessible only when either
This register is exactly the same the STOP or the SPND bit is set.
as the Device ID register in the VER is read only. PARTIDU is
JTAG description. However, this read only. Write operations are
part number is different from that ignored.
stored in the Device ID register in
the PCI configuration space. CSR92: Ring Length Conversion
Bit Name Description
Read accessible only when either
the STOP or the SPND bit is set.
31-16 RES Reserved locations. Written as
PARTID is read only. Write oper-
zeros and read as undefined.
ations are ignored.
15-0 RCON Ring Length Conversion Regis-
11-1 MANFID Manufacturer ID. The 11-bit man-
ter. This register performs a ring
ufacturer code for AMD is
length conversion from an encod-
00000000001b. This code is per
ed value as found in the
the JEDEC Publication 106-A.
initialization block to a two's com-
Note that this code is not the plement value used for internal
same as the Vendor ID in the PCI counting. By writing bits 15-12
configuration space. with an encoded ring length, a
two's complemented value is
Read accessible only when either read. The RCON register is unde-
the STOP or the SPND bit is set. fined until written.
VER is read only. MANFID is
read only. Write operations are Read/Write accessible only when
ignored. either the STOP or the SPND bit
is set. These bits are unaffected
0 ONE Always a logic 1. by H_RESET, S_RESET, or
STOP.
Read accessible only when either
the STOP or the SPND bit is set. CSR100: Bus Timeout
VER is read only. ONE is read Bit Name Description
only. Write operations are ignored.
31-16 RES Reserved locations. Written as
Device CSR88 zeros and read as undefined.
Am79C973 5003h
15-0 MERRTO This register contains the value of
Am79C975 7003h the longest allowable bus latency
(interval between assertion of
CSR89: Chip ID Register Upper REQ and assertion of GNT) that a
system may insert into an
Bit Name Description
Am79C973/Am79C975 controller
master transfer. If this value of
31-16 RES Reserved locations. Read as
bus latency is exceeded, then a
undefined.
MERR will be indicated in CSR0,
15-12 VER Version. This 4-bit pattern is bit 11, and an interrupt may be
silicon-revision dependent. generated, depending upon the
setting of the MERRM bit (CSR3,
Read accessible only when either bit 11) and the IENA bit (CSR0,
the STOP or the SPND bit is set. bit 6).
VER is read only. VER is read
only. Write operations are The value in this register is inter-
ignored. preted as the unsigned number of
150 Am79C973/Am79C975
P R E L I M I N A R Y
bus clock periods divided by two, CSR116: OnNow Power Mode Register
(i.e., the value in this register is Note: Bits 15-0 in this register are programmable
given in 0.1 ms increments.) For through the EEPROM.
example, the value 0600h (1536
decimal) will cause a MERR to Bit Name Description
be indicated after 153.6 ms of
bus latency. A value of 0 will al- 31-11 RES Reserved locations. Written as
low an infinitely long bus latency, zeros and read as undefined.
i.e., bus timeout error will never
10 PME_EN_OVR PME_EN Overwrite. When this
occur.
bit is set and the MPMAT or
Read/Write accessible only when LCDET bit is set, the PME pin will
either the STOP or the SPND bit is always be asserted regardless of
set. This register is set to 0600h by the state of PME_EN bit.
H_RESET or S_RESET and is un-
Read/Write accessible only when
affected by STOP.
either the STOP bit or the SPND
CSR112: Missed Frame Count bit is set. Cleared by H_RESET
and is not affected by S_RESET
Bit Name Description or setting the STOP bit.
31-16 RES Reserved locations. Written as 9 LCDET Link Change Detected. This bit is
zeros and read as undefined. set when the MII auto-polling log-
ic detects a change in link status
15-0 MFC Missed Frame Count. Indicates and the LCMODE bit is set.
the number of missed frames.
LCDET is cleared when power is
MFC will roll over to a count of 0 initially applied (POR).
from the value 65535. The MFCO
bit of CSR4 (bit 8) will be set each Read/Write accessible always.
time that this occurs.
8 LCMODE Link Change Wake-up Mode.
Read accessible always. MFC is When this bit is set to 1, the
read only, write operations are ig- LCDET bit gets set when the MII
nored. MFC is cleared by auto polling logic detects a Link
H_RESET or S_RESET or by Change.
setting the STOP bit.
Read/Write accessible only when
CSR114: Receive Collision Count either the STOP bit or the SPND
Bit Name Description bit is set. Cleared by H_RESET
and is not affected by S_RESET
31-16 RES Reserved locations. Written as or setting the STOP bit.
zeros and read as undefined.
7 PMAT Pattern Matched. This bit is set
15-0 RCC Receive Collision Count. Indicates when the PMMODE bit is set and
the total number of collisions en- an OnNow pattern match occurs.
countered by the receiver since the
PMAT is cleared when power is
last reset of the counter.
initially applied (POR).
RCC will roll over to a count of 0
Read accessible always.
from the value 65535. The
RCVCCO bit of CSR4 (bit 5) will 6 EMPPLBA Magic Packet Physical Logical
be set each time that this occurs. Broadcast Accept. If both
EMPPLBA and MPPLBA (CSR5,
Read accessible always. RCC is
bit 5) are at their default value of
read only, write operations are ig-
0, the Am79C973/Am79C975
nored. RCC is cleared by
controller will only detect a Magic
H_RESET or S_RESET, or by
Packet frame if the destination
setting the STOP bit.
address of the packet matches
Am79C973/Am79C975 151
P R E L I M I N A R Y
the content of the physical ad- regardless of the state of the MP-
dress register (PADR). If either MAT and LCDET bits.
EMPPLBA or MPPLBA is set to 1,
the destination address of the Read/Write accessible only when
Magic Packet frame can be uni- either the STOP bit or the SPND
cast, multicast, or broadcast. bit is set. Cleared by H_RESET
Note that the setting of EMPPL- and is not affected by S_RESET
BA and MPPLBA only affects the or setting the STOP bit.
address detection of the Magic
Packet frame. The Magic Packet 1 RWU_POL RWU Pin Polarity. If RWU_POL
frame’s data sequence must be is set to 1, the RWU pin is normal-
made up of 16 consecutive phys- ly HIGH and asserts LOW;
ical addresses (PADR[47:0]) otherwise RWU is normally LOW
regardless of what kind of desti- and asserts HIGH.
nation address it has.
Read/Write accessible only when
Read/Write accessible always. either the STOP bit or the SPND
EMPPLBA is set to 0 by bit is set. Cleared by H_RESET
H_RESET or S_RESET and is not and is not affected by S_RESET
affected by setting the STOP bit. or setting the STOP bit.
5 MPMAT Magic Packet Match. This bit is 0 RST_POL PHY_RST Pin Polarity. If the
set when PCnet-FAST+ detects a PHY_POL is set to 1, the
Magic Packet while it is in the PHY_RST pin is active LOW; oth-
Magic Packet mode. erwise PHY_RST is active HIGH.
152 Am79C973/Am79C975
P R E L I M I N A R Y
MCNT field reported to the re- nature will give rise to the
ceive descriptor will not include Am79C973/Am79C975 control-
the extra two bytes. ler possibly “capturing the
network” at times by forcing other
Read/Write accessible always. less aggressive nodes to defer.
RCVALGN is cleared by By programming a larger number
H_RESET or S_RESET and is of bit times, the Am79C973/
not affected by STOP. Am79C975 MAC will become
less aggressive on the network
CSR124: Test Register 1 and may defer more often than
This register is used to place the Am79C973/ normal. The performance of the
Am79C975 controller into various test modes. The Runt Am79C973/Am79C975 controller
Packet Accept is the only user accessible test mode. All may decrease as the IPG value is
other test modes are for AMD internal use only. increased from the default value.
Bit Name Description Note: Programming of the IPG
should be done in nibble intervals
31-16 RES Reserved locations. Written as instead of absolute bit times. The
zeros and read as undefined. decimal and hex values do not
match due to delays in the part
15-4 RES Reserved locations. Written as used to make up the final IPG.
zeros and read as undefined. Changes should be added or sub-
tracted from the provided hex val-
3 RPA Runt Packet Accept. This bit
ue on a one-for-one basis.
forces the Am79C973/
Am79C975 controller to accept CAUTION: Use this parameter
runt packets (packets shorter with care. By lowering the IPG
than 64 bytes). below the ISO/IEC 8802-3 stan-
dard 96 bit times, the
Read accessible always; write Am79C973/Am79C975 control-
accessible only when STOP is ler can interrupt normal net-
set to 1. RPA is cleared by work behavior.
H_RESET or S_RESET and is
not affected by STOP. Read accessible always. Write
accessible when the STOP bit is
2-0 RES Reserved locations. Written as set to 1. IPG is set to 60h (96 Bit
zeros and read as undefined. times) by H_RESET or
S_RESET and is not affected by
CSR125: MAC Enhanced Configuration Control STOP.
Bit Name Description
7-0 IFS1 InterFrameSpacingPart1. Chang-
31-16 RES Reserved locations. Written as ing IFS1 allows the user to
zeros and read as undefined. program the value of the Inter-
Frame- SpacePart1 timing. The
15-8 IPG Inter Packet Gap. Changing IPG Am79C973/Am79C975 controller
allows the user to program the sets the default value at 60 bit
Am79C973/Am79C975 controller times (3ch). See the subsection
for aggressiveness on a network. on Medium Allocation in the sec-
By changing the default value of tion Media Access Management
96 bit times (60h) the user can for more details.
adjust the fairness or aggressive-
ness of the Am79C973/ The equation for setting IFS1
Am79C975 MAC on the network. when IPG ≥ 96 bit times is as
By programming a lower number follows:
of bit times other then the ISO/
IEC 8802-3 standard requires, IFS1 = IPG - 36 bit times
the Am79C973/Am79C975 MAC
Note: Programming of the IPG
will become more aggressive on
should be done in nibble intervals
the network. This aggressive
Am79C973/Am79C975 153
P R E L I M I N A R Y
instead of absolute bit times due programmed through the EEPROM read operation or a
to the MII. The decimal and hex user register write operation.
values do not match due to de-
BCR0, BCR1, BCR16, BCR17, and BCR21 are regis-
lays in the part used to make up
ters that are used by other devices in the PCnet family.
the final IPG.
Writing to these registers have no effect on the opera-
Changes should be added or tion of the Am79C973/Am79C975 controller.
subtracted from the provided hex Writes to those registers marked as “Reserved” will
value on a one-for-one basis. have no effect. Reads from these locations will produce
Due to changes in synchroniza- undefined values.
tion delays internally through dif-
ferent network ports, the IFS1 BCR0: Master Mode Read Active
can be off by as much as +12 bit Bit Name Description
times.
31-16 RES Reserved locations. Written as
Read accessible always. Write zeros and read as undefined.
accessible only when the SPND
bit or the STOP bit is set to 1. 15-0 MSRDA Reserved locations. After
IFS1 is set to 3ch (60 bit times) by H_RESET, the value in this regis-
H_RESET or S_RESET and is ter will be 0005h. The setting of
not affected by STOP. this register has no effect on any
Am79C973/Am79C975 controller
Bus Configuration Registers function. It is only included for
The Bus Configuration Registers (BCR) are used to software compatibility with other
program the configuration of the bus interface and oth- PCnet family devices.
er special features of the Am79C973/Am79C975 con-
troller that are not related to the IEEE 8802-3 MAC Read always. MSRDA is read
functions. The BCRs are accessed by first setting the only. Write operations have no
appropriate RAP value and then by performing a slave effect.
access to the BDP. See Table 30.
BCR1: Master Mode Write Active
All BCR registers are 16 bits in width in Word I/O mode Bit Name Description
(DWIO = 0, BCR18, bit 7) and 32 bits in width in DWord
I/O mode (DWIO = 1). The upper 16 bits of all BCR reg- 31-16 RES Reserved locations. Written as
isters is undefined when in DWord I/O mode. These bits zeros and read as undefined.
should be written as zeros and should be treated as un-
defined when read. The default value given for any 15-0 MSWRA Reserved locations. After
BCR is the value in the register after H_RESET. Some H_RESET, the value in this regis-
of these values may be changed shor tly after ter will be 0005h. The setting of
H_RESET when the contents of the external EEPROM this register has no effect on any
is automatically read in. None of the BCR register val- Am79C973/Am79C975 controller
ues are affected by the assertion of the STOP bit or function. It is only included for
S_RESET. software compatibility with other
PCnet family devices.
Note that several registers have no default value.
BCR0, BCR1, BCR3, BCR8, BCR10-17, and BCR21 Read always. MSWRA is read
are reserved and have undefined values. BCR2 and only. Write operations have no
BCR34 are not obser vable without first being effect.
154 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 155
P R E L I M I N A R Y
156 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 157
P R E L I M I N A R Y
158 Am79C973/Am79C975
P R E L I M I N A R Y
2 SLEEP_SFEX Setting this bit will reduce the The logical value of the LEDOUT
power consumption of the inter- status signal is determined by the
nal PHY substantially. settings of the individual Status
Enable bits of the LED register
Read/Write accessible always. (bits 8 and 6-0).
SLEEP_SFEX is cleared to 0 by
H_RESET and is unaffected by Read accessible always. This bit
S_RESET or by setting the STOP is read only; writes have no ef-
bit. fect. LEDOUT is unaffected by
H_RESET, S_RESET, or STOP.
1 I2C_N1 (Am79C975 only). This bit is used
to set the operating frequency of 14 LEDPOL LED Polarity. When this bit has
the SMIU core. It represents the the value 0, then the LED pin will
value in the D1 bit position (see be driven to a LOW level whenev-
Appendix B on SMIU Bus er the OR of the enabled signals
Frequency. is true, and the LED pin will be
disabled and allowed to float high
Read/Write accessible always. whenever the OR of the enabled
I2C_N1 is cleared by H_RESET signals is false (i.e., the LED out-
and is unaffected by S_RESET or put will be an Open Drain output
by setting the STOP bit. and the output value will be the
inverse of the LEDOUT status
0 I2C_N0 (Am79C975 only). This bit is used bit).
to set the operating frequency of
the SMIU core. It represents the When this bit has the value 1,
value in the D0 bit position (see then the LED pin will be driven to
Appendix B on SMIU Bus a HIGH level whenever the OR of
Frequency. the enabled signals is true, and
the LED pin will be driven to a
Read/Write accessible always. LOW level whenever the OR of
I2C_N0 is cleared by H_RESET the enabled signals is false (i.e.,
and is unaffected by S_RESET or the LED output will be a Totem
by setting the STOP bit. Pole output and the output value
will be the same polarity as the
BCR4: LED 0 Status
LEDOUT status bit.).
BCR4 controls the function(s) that the LED0 pin dis-
plays. Multiple functions can be simultaneously en- The setting of this bit will not ef-
abled on this LED pin. The LED display will indicate the fect the polarity of the LEDOUT
logical OR of the enabled functions. BCR4 defaults to bit for this register.
Link Status (LNKST) with pulse stretcher enabled
(PSE = 1) and is fully programmable. Read/Write accessible always.
LEDPOL is cleared by H_RESET
Note: When LEDPE (BCR2, bit 12) is set to 1, pro- and is not affected by S_RESET
gramming of the LED0 Status register is enabled. or setting the STOP bit.
When LEDPE is cleared to 0, programming of the
LED0 register is disabled. Writes to those registers will 13 LEDDIS LED Disable. This bit is used to
be ignored. disable the LED output. When
Note: Bits 15-0 in this register are programmable LEDDIS has the value 1, then the
through the EEPROM. LED output will always be dis-
abled. When LEDDIS has the
Bit Name Description
value 0, then the LED output val-
ue will be governed by the
31-16 RES Reserved locations. Written as
LEDOUT and LEDPOL values.
zeros and read as undefined.
Read/Write accessible always.
15 LEDOUT This bit indicates the current
LEDDIS is cleared by H_RESET
(non-stretched) value of the LED
and is not affected by S_RESET
output pin. A value of 1 in this bit
or setting the STOP bit.
indicates that the OR of the en-
abled signals is true.
Am79C973/Am79C975 159
P R E L I M I N A R Y
12 100E 100 Mbps Enable. When this bit 6 LNKSE Link Status Enable. When this bit
is set to 1, a value of 1 is passed is set, a value of 1 will be passed
to the LEDOUT bit in this register to the LEDOUT bit in this register
when the Am79C973/Am79C975 when in Link Pass state.
controller is operating at 100
Mbps mode. Read/Write accessible always.
LNKSE is set to 1 by H_RESET
Read/Write accessible always. and is not affected by S_RESET
100E is cleared by H_RESET or setting the STOP bit.
and is not affected by S_RESET
or setting the STOP bit. 5 RCVME Receive Match Status Enable.
When this bit is set, a value of 1 is
11-10 RES Reserved locations. Written and passed to the LEDOUT bit in this
read as zeros. register when there is receive ac-
tivity on the network that has
9 MPSE Magic Packet Status Enable. passed the address match func-
When this bit is set to 1, a value of tion for this node. All address
1 is passed to the LEDOUT bit in matching modes are included:
this register when Magic Packet physical, logical filtering, broad-
frame mode is enabled and a cast and promiscuous.
Magic Packet frame is detected
on the network. Read/Write accessible always.
RCVME is cleared by H_RESET
Read/Write accessible always. and is not affected by S_RESET
MPSE is cleared by H_RESET or setting the STOP bit.
and is not affected by S_RESET
or setting the STOP bit. 4 XMTE Transmit Status Enable. When
this bit is set, a value of 1 is
8 FDLSE Full-Duplex Link Status Enable. Indi- passed to the LEDOUT bit in this
cates the Full-Duplex Link Test register when there is transmit
Status. When this bit is set, a value of activity on the network.
1 is passed to the LEDOUT signal
when the Am79C973/Am79C975 Read/Write accessible always.
controller is functioning in a Link XMTE is cleared by H_RESET
Pass state and full-duplex operation and is not affected by S_RESET
is enabled. When the Am79C973/ or setting the STOP bit.
Am79C975 controller is not function-
ing in a Link Pass state with full- 3 RES Reserved location. Written and
duplex operation being enabled, a read as zeros.
value of 0 is passed to the LEDOUT
signal. 2 RCVE Receive Status Enable. When
this bit is set, a value of 1 is
Read/Write accessible always. passed to the LEDOUT bit in this
FDLSE is cleared by H_RESET register when there is receive ac-
and is not affected by S_RESET tivity on the network.
or setting the STOP bit.
Read/Write accessible always.
7 PSE Pulse Stretcher Enable. When RCVE is cleared by H_RESET
this bit is set, the LED illumination and is not affected by S_RESET
time is extended for each new oc- or setting the STOP bit.
currence of the enabled function
for this LED output. A value of 0 1 RES Reserved location. Written and
disables the pulse stretcher. read as zeros.
160 Am79C973/Am79C975
P R E L I M I N A R Y
The logical value of the LEDOUT 12 100E 100 Mbps Enable. When this bit
status signal is determined by the is set to 1, a value of 1 is passed
settings of the individual Status to the LEDOUT bit in this register
Enable bits of the LED register when the Am79C973/Am79C975
(bits 8 and 6-0). controller is operating at 100
Mbps mode.
Read accessible always. This bit
is read only, writes have no ef- Read/Write accessible always.
fect. LEDOUT is unaffected by 100E is cleared by H_RESET
H_RESET, S_RESET, or STOP. and is not affected by S_RESET
or setting the STOP bit.
14 LEDPOL LED Polarity. When this bit has
the value 0, then the LED pin will 11-10 RES Reserved locations. Written and
be driven to a LOW level whenev- read as zeros.
er the OR of the enabled signals
is true, and the LED pin will be 9 MPSE Magic Packet Status Enable.
disabled and allowed to float high When this bit is set to 1, a value of
whenever the OR of the enabled 1 is passed to the LEDOUT bit in
signals is false (i.e., the LED out- this register when Magic Packet
put will be an Open Drain output mode is enabled and a Magic
and the output value will be the Packet frame is detected on the
inverse of the LEDOUT status network.
bit).
Read/Write accessible always.
When this bit has the value 1, MPSE is cleared by H_RESET
then the LED pin will be driven to and is not affected by S_RESET
a HIGH level whenever the OR of or setting the STOP bit.
Am79C973/Am79C975 161
P R E L I M I N A R Y
8 FDLSE Full-Duplex Link Status Enable. function for this node. All address
Indicates the Full-Duplex Link matching modes are included:
Test Status. When this bit is set, physical, logical filtering, broad-
a value of 1 is passed to the LED- cast, and promiscuous.
OUT signal when the Am79C973/
Am79C975 controller is function- Read/Write accessible always.
ing in a Link Pass state and full- RCVME is cleared by H_RESET
duplex operation is enabled. and is not affected by S_RESET
When the Am79C973/ or setting the STOP bit.
Am79C975 controller is not func-
tioning in a Link Pass state with 4 XMTE Transmit Status Enable. When
full-duplex operation being en- this bit is set, a value of 1 is
abled, a value of 0 is passed to passed to the LEDOUT bit in this
the LEDOUT signal. register when there is transmit
activity on the network.
Read/Write accessible always.
FDLSE is cleared by H_RESET Read/Write accessible always.
and is not affected by S_RESET XMTE is cleared by H_RESET
or setting the STOP bit. and is not affected by S_RESET
or setting the STOP bit.
7 PSE Pulse Stretcher Enable. When
this bit is set, the LED illumination 3 RES Reserved location. Written and
time is extended for each new oc- read as zeros.
currence of the enabled function
2 RCVE Receive Status Enable. When
for this LED output. A value of 0
this bit is set, a value of 1 is
disables the pulse stretcher.
passed to the LEDOUT bit in this
Read/Write accessible always. register when there is receive ac-
PSE is set to 1 by H_RESET and tivity on the network.
is not affected by S_RESET or
Read/Write accessible always.
setting the STOP bit.
RCVE is set to 1 by H_RESET
6 LNKSE Link Status Enable. When this bit and is not affected by S_RESET
is set, a value of 1 will be passed or setting the STOP bit.
to the LEDOUT bit in this register
1 RES Reserved location. Written and
in Link Pass state.
read as zeros.
Read/Write accessible always.
0 COLE Collision Status Enable. When
LNKSE is cleared by H_RESET
this bit is set, a value of 1 is
and is not affected by S_RESET
passed to the LEDOUT bit in this
or setting the STOP bit.
register when there is collision
5 RCVME Receive Match Status Enable. activity on the network.
When this bit is set, a value of 1 is
Read/Write accessible always.
passed to the LEDOUT bit in this
COLE is cleared by H_RESET
register when there is receive ac-
and is not affected by S_RESET
tivity on the network that has
or setting the STOP bit.
passed the address match
162 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 163
P R E L I M I N A R Y
164 Am79C973/Am79C975
P R E L I M I N A R Y
The logical value of the LEDOUT 12 100E 100 Mbps Enable. When this bit
status signal is determined by the is set to 1, a value of 1 is passed
settings of the individual Status to the LEDOUT bit in this register
Enable bits of the LED register when the Am79C973/Am79C975
(bits 8 and 6-0). controller is operating at 100
Mbps mode.
Read accessible always. This bit
is read only; writes have no ef- Read/Write accessible always.
fect. LEDOUT is unaffected by 100E is cleared by H_RESET
H_RESET, S_RESET, or STOP. and is not affected by S_RESET
or setting the STOP bit.
14 LEDPOL LED Polarity. When this bit has
the value 0, then the LED pin will 11-10 RES Reserved locations. Written and
be driven to a LOW level whenev- read as zeros.
er the OR of the enabled signals
is true, and the LED pin will be 9 MPSE Magic Packet Status Enable.
disabled and allowed to float high When this bit is set to 1, a value of
whenever the OR of the enabled 1 is passed to the LEDOUT bit in
signals is false (i.e., the LED out- this register when magic frame
put will be an Open Drain output mode is enabled and a magic
and the output value will be the frame is detected on the network.
inverse of the LEDOUT status
bit.). Read/Write accessible always.
MPSE is cleared by H_RESET
When this bit has the value 1, and is not affected by S_RESET
then the LED pin will be driven to or setting the STOP bit.
a HIGH level whenever the OR of
the enabled signals is true, and 8 FDLSE Full-Duplex Link Status Enable.
the LED pin will be driven to a Indicates the Full-Duplex Link
LOW level whenever the OR of Test Status. When this bit is set,
the enabled signals is false (i.e., a value of 1 is passed to the LED-
the LED output will be a Totem OUT signal when the Am79C973/
Pole output and the output value Am79C975 controller is function-
will be the same polarity as the ing in a Link Pass state and full-
LEDOUT status bit). duplex operation is enabled.
When the Am79C973/
The setting of this bit will not ef- Am79C975 controller is not func-
fect the polarity of the LEDOUT tioning in a Link Pass state with
bit for this register. full-duplex operation being en-
abled, a value of 0 is passed to
Read/Write accessible always. the LEDOUT signal.
LEDPOL is cleared by H_RESET
and is not affected by S_RESET Read/Write accessible always.
or setting the STOP bit. FDLSE is cleared by H_RESET
and is not affected by S_RESET
13 LEDDIS LED Disable. This bit is used to or setting the STOP bit.
disable the LED output. When
LEDDIS has the value 1, then the 7 PSE Pulse Stretcher Enable. When
LED output will always be dis- this bit is set, the LED illumination
abled. When LEDDIS has the time is extended for each new oc-
value 0, then the LED output val- currence of the enabled function
ue will be governed by the for this LED output. A value of 0
LEDOUT and LEDPOL values. disables the pulse stretcher.
Am79C973/Am79C975 165
P R E L I M I N A R Y
6 LNKSE Link Status Enable. When this bit Read/Write accessible always.
is set, a value of 1 will be passed COLE is cleared by H_RESET
to the LEDOUT bit in this register and is not affected by S_RESET
in Link Pass state. or setting the STOP bit.
166 Am79C973/Am79C975
P R E L I M I N A R Y
the half-duplex mode. When BCR18: Burst and Bus Control Register
FDEN is set, the Am79C973/ Note: Bits 15-0 in this register are programmable
Am79C975 controller will operate through the EEPROM.
in full-duplex mode. Do not set
this bit when Auto-Negotiation is Bit Name Description
enabled.
31-16 RES Reserved locations. Written as
Read/Write accessible always. zeros and read as undefined.
FDEN is reset to 0 by H_RESET,
and is unaffected by S_RESET 15-12 ROMTMG Expansion ROM Timing. The val-
and the STOP bit. ue of ROMTMG is used to tune
the timing for all EBDATA
BCR16: I/O Base Address Lower (BCR30) accesses to Flash/
EPROM as well as all Expansion
Bit Name Description
ROM accesses to Flash/EPROM.
31-16 RES Reserved locations. Written as ROMTMG, during read opera-
zeros and read as undefined. tions, defines the time from when
the Am79C973/Am79C975 con-
15-5 IOBASEL Reserved locations. After H_RESET,
troller drives the lower 8 or 16 bits
the value of these bits will be unde-
of the Expansion Bus Address
fined. The settings of these bits will
bus to when the Am79C973/
have no effect on any Am79C973/
Am79C975 controller latches in
Am79C975 controller function. It
the data on the 8 or 16 bits of the
is only included for software com-
Expansion Bus Data inputs.
patibility with other PCnet family
ROMTMG, during write opera-
devices.
tions, defines the time from when
Read/Write accessible always. the Am79C973/Am79C975 con-
IOBASEL is not affected by troller drives the lower 8 or 16 bits
S_RESET or STOP. of the Expansion Bus Data to
when the EBWE and EROMCS
4-0 RES Reserved locations. Written as deassert.
zeros, read as undefined.
The register value specifies the
BCR17: I/O Base Address Upper time in number of clock cycles +1
according to Table 32.
Bit Name Description
Table 32. ROMTNG Programming Values
31-16 RES Reserved locations. Written as
ROMTMG (bits 15-12) No. of Expansion Bus Cycles
zeros and read as undefined.
1h<=n <=Fh n+1
15-0 IOBASEU Reserved locations. After
H_RESET, the value in this regis- Note: Programming ROMTNG
ter will be undefined. The settings with a value of 0 is not permitted.
of this register will have no effect
The access time for the Expan-
on any Am79C973/Am79C975
sion ROM or the EBDATA
controller function. It is only in-
(BCR30) device (tACC) during
cluded for software compatibility
read operations can be calculat-
with other PCnet family devices.
ed by subtracting the clock to out-
Read/Write accessible always. put delay for the EBUA_EBA[7:0]
IOBASEU is not affected by outputs (tv_A_D) and by subtract-
S_RESET or STOP. ing the input to clock setup time
for the EBD[7:0] inputs (ts_D)
from the time defined by
ROMT-MG:
Am79C973/Am79C975 167
P R E L I M I N A R Y
The access time for the Expan- suffer transmit underflows, be-
sion ROM or for the EBDATA cause the arbiter that controls
(BCR30) device (tACC) during transfers to and from the SRAM
write operations can be calculat- guarantees a worst case latency
ed by subtracting the clock to out- on transfers to and from the MAC
put delay for the EBUA EBA[7:0] and Bus Transmit FIFOs such
outputs (tv_A_D) and by adding that it will never underflow if the
the input to clock setup time for complete packet has been
Flash/EPRO inputs (ts_D) from DMA’d into the Am79C973/
the time defined by ROMTMG. Am79C975 controller before
packet transmission begins.
tACC = ROMTMG * CLK period *
CLK_FAC - (tv_A_D) - (ts_D) The NOUFLO bit has no effect
when the Am79C973/Am79C975
For an adapter card application, controller is operating in the NO-
the value used for clock period SRAM mode.
should be 30 ns to guarantee cor-
rect interface timing at the maxi- Read/Write accessible only when
mum clock frequency of 33 MHz. either the STOP or the SPND bit
is set. NOUFLO is cleared to 0 af-
Read accessible always; write ter H_RESET or S_RESET and
accessible only when the STOP is unaffected by STOP.
bit is set. ROMTMG is set to the
value of 1001b by H_RESET and 10 RES Reserved location. Written as ze-
is not affected by S_RESET or ros and read as undefined.
STOP. The default value allows
using an Expansion ROM with an 9 MEMCMD Memory Command used for burst
access time of 250 ns in a system read accesses to the transmit
with a maximum clock frequency buffer. When MEMCMD is set to
of 33 MHz. 0, all burst read accesses to the
transmit buffer are of the PCI
11 NOUFLO No Underflow on Transmit. When command type Memory Read
the NOUFLO bit is set to 1, the Line (type 14). When MEMCMD
Am79C973/Am79C975 controller is set to 1, all burst read accesses
will not start transmitting the pre- to the transmit buffer are of the
amble for a packet until the PCI command type Memory
Transmit Start Point (CSR80, bits Read Multiple (type 12).
10-11) requirement (except when
XMTSP = 3h, Full Packet has no Read accessible always; write
meaning when NOUFLO is set to accessible only when either the
1) has been met and the com- STOP or the SPND bit is set.
plete packet has been DMA’d into MEMCMD is cleared by
the Am79C973/Am79C975 con- H_RESET and is not affected by
troller. The complete packet may S_RESET or STOP.
reside in any combination of the
Bus Transmit FIFO, the SRAM, 8 EXTREQ Extended Request. This bit con-
and the MAC Transmit FIFO, as trols the deassertion of REQ for a
long as enough of the packet is in burst transaction. If EXTREQ is
the MAC Transmit FIFO to meet set to 0, REQ is deasserted at the
the Transmit Start Point require- beginning of a burst transaction.
ment. When the NOUFLO bit is (The Am79C973/Am79C975
cleared to 0, the Transmit Start controller never performs more
Point is the only restriction on than one burst transaction within
when preamble transmission be- a single bus mastership period.)
gins for transmit packets. In this mode, the Am79C973/
Am79C975 controller relies on
Setting the NOUFLO bit guaran- the PCI latency timer to get
tees that the Am79C973/ enough bus bandwidth, in case
Am79C975 controller will never the system arbiter also removes
168 Am79C973/Am79C975
P R E L I M I N A R Y
GNT at the beginning of the burst the appropriate bit inside of the
transaction. If EXTREQ is set to EEPROM is set to 0.)
1, REQ stays asserted until the
last but one data phase of the Read accessible always. DWIO
burst transaction is done. This is read only, write operations
mode is useful for systems that have no effect. DWIO is cleared
implement an arbitration scheme by H_RESET and is not affected
without preemption and require S_RESET or by setting the
that REQ stays asserted through- STOP bit.
out the transaction.
6 BREADE Burst Read Enable. When set,
EXTREQ should not be set to 1 this bit enables burst mode during
when the Am79C973/Am79C975 memory read accesses. When
controller is used in a PCI bus cleared, this bit prevents the de-
application. vice from performing bursting
during read accesses. The
Read accessible always, write Am79C973/Am79C975 controller
accessible only when either the can perform burst transfers when
STOP or the SPND bit is set. EX- reading the initialization block,
TREQ is cleared by H_RESET the descriptor ring entries (when
and is not affected by S_RESET SWSTYLE = 3) and the buffer
or STOP. memory.
7 DWIO Double Word I/O. When set, this BREADE should be set to 1 when
bit indicates that the Am79C973/ the Am79C973/Am79C975 con-
Am79C975 controller is pro- troller is used in a PCI bus appli-
grammed for DWord I/O (DWIO) cation to guarantee maximum
mode. When cleared, this bit indi- performance.
cates that the Am79C973/
Am79C975 controller is pro- Read accessible always; write
grammed for Word I/O (WIO) accessible only when either the
mode. This bit affects the I/O Re- STOP or the SPND bit is set.
source Offset map and it affects BREADE is cleared by H_RESET
the defined width of the and is not affected by S_RESET
Am79C973/Am79C975 control- or STOP.
lers I/O resources. See the DWIO
and WIO sections for more 5 BWRITE Burst Write Enable. When set,
details. this bit enables burst mode during
memory write accesses. When
The initial value of the DWIO bit is cleared, this bit prevents the de-
determined by the programming vice from performing bursting
of the EEPROM. during write accesses. The
Am79C973/Am79C975 controller
The value of DWIO can be al- can perform burst transfers when
tered automatically by the writing the descriptor ring entries
Am79C973/Am79C975 control- (when SWSTYLE = 3) and the
ler. Specifically, the Am79C973/ buffer memory.
Am79C975 controller will set
DWIO if it detects a DWord write BWRITE should be set to 1 when
access to offset 10h from the the Am79C973/Am79C975 con-
Am79C973/Am79C975 controller troller is used in a PCI bus appli-
I/O base address (corresponding cation to guarantee maximum
to the RDP resource). performance.
Once the DWIO bit has been set Read accessible always, write
to a 1, only a H_RESET or an EE- accessible only when either the
PROM read can reset it to a 0. STOP or the SPND bit is set.
(Note that the EEPROM read op- BWRITE is cleared by H_RESET
eration will only set DWIO to a 0 if and is not affected by S_RESET
or STOP.
Am79C973/Am79C975 169
P R E L I M I N A R Y
4-3 PHYSEL[1:0] PHYSEL[1:0] bits allow for soft- BCR19: EEPROM Control and Status
ware controlled selection of Bit Name Description
different operation and test
modes. The normal mode of op-
31-16 RES Reserved locations. Written as
eration is when both bits 0 and 1
zeros and read as undefined.
are set to 0 to select the Expan-
sion ROM/Flash. Setting bit 0 to 1 15 PVALID EEPROM Valid status bit. Read
and bit 1 to 0 allows snooping of accessible only. PVALID is read
the internal MII-compatible bus to only; write operations have no ef-
allow External Address Detection fect. A value of 1 in this bit
Interface (EADI). Setting PHY- indicates that a PREAD operation
SEL[1:0] = 10 enables the has occurred, and that (1) there is
external MII mode. Since the in- an EEPROM connected to the
ternal 10/100 PHY is disabled in Am79C973/Am79C975 controller
this mode, the Am79C973/ interface pins and (2) the con-
Am79C975 controller behaves tents read from the EEPROM
like an Am79C972 PCnet-FAST+ have passed the checksum verifi-
device. See the following table for cation operation.
details.
A value of 0 in this bit indicates a
PHYSEL [1:0] Mode failure in reading the EEPROM.
The checksum for the entire 82
00 Expansion ROM/Flash - Normal Mode
bytes of EEPROM is incorrect or
01 EADI/Internal MII Snoop Mode no EEPROM is connected to the
interface pins.
Full MII Mode - An External PHY
10
Required
PVALID is set to 0 during
11 Reserved H_RESET and is unaffected by
S_RESET or the STOP bit. How-
Read accessible always, these ever, following the H_RESET op-
bits can only be written from the eration, an automatic read of the
EEPROM unless a write-enable EEPROM will be performed. Just
bit BCR2[13], is set. PHYSEL as is true for the normal PREAD
[1:0] is cleared by H_RESET and command, at the end of this auto-
is not affected by S_RESET or matic read operation, the PVALID
STOP. bit may be set to 1. Therefore,
H_RESET will set the PVALID bit
2-0 LINBC Reserved locations. Read acces- to 0 at first, but the automatic EE-
sible always; write accessible PROM read operation may later
only when either the STOP or the set PVALID to a 1.
SPND bit is set. After H_RESET,
the value in these bits will be If PVALID becomes 0 following
001b. The setting of these bits an EEPROM read operation (ei-
have no effect on any ther automatically generated af-
Am79C973/Am79C975 controller ter H_RESET, or requested
function. LINBC is not affected by through PREAD), then all EE-
S_RESET or STOP. PROM-programmable BCR loca-
tions will be reset to their
H_RESET values. The content of
the Address PROM locations,
however, will not be cleared.
170 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 171
P R E L I M I N A R Y
13 EEDET EEPROM Detect. This bit indi- BCR5 and BCR4, respectively.
cates the sampled value of the See Table 33.
EESK/LED1/SFBD pin at the end
of H_RESET. This value indi- Read accessible always, write
cates whether or not an accessible only when either the
EEPROM is present at the EE- STOP or the SPND bit is set.
PROM interface. If this bit is a 1, EEN is set to 0 by H_RESET and
it indicates that an EEPROM is is unaffected by the S_RESET or
present. If this bit is a 0, it indi- STOP bit.
cates that an EEPROM is not
present. 3 RES Reserved location. Written as
zero and read as undefined.
Read accessible only. EEDET is
read only; write operations have 2 ECS EEPROM Chip Select. This bit is
no effect. The value of this bit is used to control the value of the
determined at the end of the EECS pin of the interface when
H_RESET operation. It is unaf- the EEN bit is set to 1 and the
fected by S_RESET or the PREAD bit is set to 0. If EEN = 1
STOP bit. and PREAD = 0 and ECS is set to
a 1, then the EECS pin will be
Table 33 indicates the possible forced to a HIGH level at the ris-
combinations of EEDET and the ing edge of the next clock
existence of an EEPROM and the following bit programming.
resulting operations that are pos-
sible on the EEPROM interface. If EEN = 1 and PREAD = 0 and
ECS is set to a 0, then the EECS
12-5 RES Reserved locations. Written as pin will be forced to a LOW level
zeros; read as undefined. at the rising edge of the next
clock following bit programming.
4 EEN EEPROM Port Enable. When this ECS has no effect on the output
bit is set to a 1, it causes the val- value of the EECS pin unless the
ues of ECS, ESK, and EDI to be PREAD bit is set to 0 and the
driven onto the EECS, EESK, EEN bit is set to 1.
and EEDI pins, respectively. If
EEN = 0 and no EEPROM read Read accessible always, write
function is currently active, then accessible only when either the
EECS will be driven LOW. STOP or the SPND bit is set.
When EEN = 0 and no EE- ECS is set to 0 by H_RESET and
PROM read function is currently is not affected by S_RESET or
active, EESK and EEDI pins will STOP.
be driven by the LED registers
172 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 173
P R E L I M I N A R Y
174 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 175
P R E L I M I N A R Y
Note: Bits 7-0 in this register are programmable Note: Bits 7-0 in this register are programmable
through the EEPROM. through the EEPROM.
31-8 RES Reserved locations. Written as 31-8 RES Reserved locations. Written as
zeros and read as undefined. zeros and read as undefined.
7-0 SRAM_SIZE SRAM Size. Specifies the upper 7-0 SRAM_BND SRAM Boundary. Specifies the
8 bits of the 16-bit total size of the upper 8 bits of the 16-bit address
SRAM buffer. Each bit in boundary where the receive buff-
SRAM_SIZE accounts for a 512- er begins in the SRAM. The
byte page. The starting address transmit buffer in the SRAM be-
for the lower 8 bits is assumed to gins at address 0 and ends at the
be 00h and the ending address address located just before the ad-
for the lower is assumed to be dress specified by SRAM_BND.
FFh. Therefore, the maximum ad- Therefore, the receive buffer al-
dress range is the starting ways begins on a 512 byte
address of 0000h to ending ad- boundary. The lower bits are as-
dress of ((SRAM_SIZE +1) * 256 sumed to be zeros. SRAM_BND
words) or 17FFh. An has no effect in the Low Latency
SRAM_SIZE value of all zeros Receive mode.
specifies that no SRAM will be
used and the internal FIFOs will Note: The minimum allowed
be joined into a contiguous FIFO number of pages is four. The
similar to the PCnet-PCI II Am79C973/Am79C975 controller
controller. will not operate correctly with less
than four pages of memory per
Note: The minimum allowed queue. See Table 35 for
number of pages is eight for nor- SRAM_BND programming details.
mal network operation. The
Am79C973/Am79C975 controller Table 35. SRAM_BND Programming
will not operate correctly with less SRAM Addresses SRAM_BND [7:0]
than the eight pages of memory. Minimum SRAM_BND
When the minimum number of 04h
Address
pages is used, these pages must Maximum SRAM_BND Address 13h
be allocated four each for trans-
mit and receive. CAUTION: Programming
SRAM_BND and SRAM_SIZE
CAUTION: Programming
to the same value will cause
SRAM_BND and SRAM_SIZE
data corruption except in the
to the same value will cause
case where SRAM SIZE is 0.
data corruption except in the
case where SRAM_SIZE is 0. Read accessible always; write
accessible only when the STOP
Read accessible always; write
bit is set. SRAM_BND is set to
accessible only when the STOP
00000000b during H_RESET
bit is set. SRAM_SIZE is set to
and is unaffected by S_RESET or
000000b during H_RESET and is
STOP.
unaffected by S_RESET or STOP.
176 Am79C973/Am79C975
P R E L I M I N A R Y
BCR27: SRAM Interface Control Register FASTSPNDE (CSR7, bit 15) bit
Bit Name Description
when setting the SPND bit. Re-
ceive frames WILL be overwrit-
ten and the Am79C973/
31-16 RES Reserved locations. Written as
Am79C975 controller may give
zeros and read as undefined.
erratic behavior when it is en-
15 PTR TST Reserved. Reserved for manu- able again. The minimum al-
facturing tests. Written as zero lowed number of pages is four.
and read as undefined. The Am79C973/Am79C975
controller will not operate cor-
Note: Use of this bit will cause rectly in the LOLATRX mode
data corruption and erroneous with less than four pages of
operation. memory.
Am79C973/Am79C975 177
P R E L I M I N A R Y
Note: The clock frequency driv- BCR28: Expansion Bus Port Address Lower (Used
ing the Expansion Bus access cy- for Flash/EPROM and SRAM Accesses)
cles that results from the settings
Bit Name Description
of the EBCS and CLK FAC bits
must not exceed 33 MHz at any
31-16 RES Reserved locations. Written as
time. When EBCS is set to either
zeros and read as undefined.
the PCI clock or the Time Base
clock, no external clock source is 15-0 EPADDRL Expansion Port Address Lower.
required because the clocks are This address is used to provide
routed internally and the EBCLK addresses for the Flash and
pin should be pulled to VDD SRAM port accesses.
through a resistor.
SRAM accesses are started
CAUTION: Care should be ex- when a read or write is performed
ercised when choosing the PCI on BCR30 and the FLASH (BCR
clock pin because of the nature 29, bit 15) is set to 0. During
of the PCI clock signal. The PCI SRAM accesses only bits in the
specification states that the PCI EPADDRL are valid. Since all
clock can be stopped. If that SRAM accesses are word orient-
can occur while it is being used ed only, EPADDRL[0] is the least
for the Expansion Bus clock da- significant word address bit. On
ta, corruption will result. any byte write accesses to the
SRAM, the user will have to follow
CAUTION: The Time Base
the read-modify-write scheme. On
Clock will not support 100
any byte read accesses to the
Mbit operation and should
SRAM, the user will have to
only be selected in 10 Mbit
chose which byte is needed from
only configurations.
the complete word returned in
CAUTION: The external clock BCR30.
source used to drive the
Flash accesses are started when
EBCLK pin must be a continu-
a read or write is performed on
ous clock source at all times.
BCR30 and the FLASH (BCR 29,
2-0 CLK_FAC Clock Factor. These bits are used bit 15) is set to 1. During Flash
to select whether the clock select- accesses all bits in EPADDR are
ed by EBCS is used directly or if it valid.
is divided down to give a slower
Read accessible always; write
clock for running the Expansion
accessible only when the STOP
Bus access cycles. The possible
is set or when SRAM SIZE
factors are given in Table 37.
(BCR25, bits 7-0) is 0. EPADDRL
is undefined after H_RESET and
Table 37. CLK_FAC Values is unaffected by S_RESET or
CLK_FAC Clock Factor STOP.
000 1
001 1/2 (divide by 2) BCR29: Expansion Port Address Upper (Used for
010 Reserved Flash/EPROM Accesses)
011 1/4 (divide by 4) Bit Name Description
1XX Reserved
31-16 RES Reserved locations. Written as
Read accessible always; write zeros and read as undefined.
accessible only when the STOP
bit is set. CLK_FAC is set to 000b 15 FLASH Flash Access. When the FLASH
during H_RESET and is unaffect- bit is set to 1, the Expansion Bus
ed by S_RESET or STOP. access will be a Flash cycle.
When FLASH is set to 0, the Ex-
pansion Bus access will be a
SRAM cycle. For a complete
178 Am79C973/Am79C975
P R E L I M I N A R Y
description, see the section on BCR30: Expansion Bus Data Port Register
Expansion Bus Accesses. This Bit Name Description
bit is only applicable to reads or
writes to EBDATA (BCR30). It
31-16 RES Reserved locations. Written as
does not affect Expansion ROM
zeros and read as undefined.
accesses from the PCI system
bus. 15-0 EBDATA Expansion Bus Data Port. EBDA-
TA is the data port for operations
Read accessible always; write
on the Expansion Port accesses
accessible only when the STOP
involving SRAM and Flash ac-
bit is set. FLASH is 0 after
cesses. The type of access is set
H_RESET and is unaffected by
by the FLASH bit (BCR 29, bit
S_RESET or the STOP bit.
15). When the FLASH bit is set to
14 LAAINC Lower Address Auto Increment. 1, the Expansion Bus access will
When the LAAINC bit is set to 1, follow the Flash access timing.
the Expansion Port Lower Address When the FLASH bit is set to 0,
will automatically increment by one the Expansion Bus access will
after a read or write access to EB- follow the SRAM access timing.
DATA (BCR30). When EBADDRL
Note: It is important to set the
reaches FFFFh and LAAINC is set
FLASH bit and load Expansion
to 1, the Expansion Port Lower Ad-
Port Address EPADDR (BCR28,
dress (EPADDRL) will roll over to
BCR29) with the required address
0000h. When the LAAINC bit is
before attempting read or write to
set to 0, the Expansion Port Low-
the Expansion Bus data port. The
er Address will not be affected in
Flash and SRAM accesses use
any way after an access to EB-
different address phases. Incor-
DATA (BCR30) and must be
rect configuration will result in a
programmed.
possible corruption of data.
Read accessible always; write
Flash read cycles are performed
accessible only when the STOP
when BCR30 is read and the
bit is set. LAINC is 0 after
FLASH bit (BCR29, bit 15) is set
H_RESET and is unaffected by
to 1. Upon completion of the read
S_RESET or the STOP bit.
cycle, the 8-bit result for Flash ac-
13-4 RES Reserved locations. Written as cess is stored in EBDATA[7:0],
zeros and read as undefined. EBDATA[15:8] is undefined.
Flash write cycles are performed
3-0 EPADDRU Expansion Port Address Upper. when BCR30 is written and the
This upper portion of the Expan- FLASH bit (BCR29, bit 15) is set
sion Bus address is used to to 1. EBDATA[7:0] only is valid
provide addresses for Flash/ for write cycles.
EPROM port accesses.
SRAM read cycles are performed
Read accessible always; write when BCR30 is read and the
accessible only when the STOP FLASH bit (BCR29, bit 15) is set
bit is set or when SRAM SIZE to 0. Upon completion of the read
(BCR25, bits 7-0) is 0. EPADD- cycle, the 16-bit result for SRAM
RU is undefined after H_RESET access is stored in EBDATA.
and is unaffected by S_RESET or Write cycles to the SRAM are in-
the STOP bit. voked when BCR30 is written
and the FLASH bit (BCR29, bit
15) is set to 0. Byte writes to the
SRAM must use a read-modify-
write scheme since the word is al-
ways valid for SRAM write or
read accesses.
Am79C973/Am79C975 179
P R E L I M I N A R Y
180 Am79C973/Am79C975
P R E L I M I N A R Y
10-8 APDW Auto-Poll Dwell Time. APDW de- Read/Write accessible always.
termines the dwell time between XPHYRST is set to 0 by
PHY Management Frame H_RESET and is unaffected by
accesses when Auto-Poll is S_RESET and the STOP bit.
turned on. See Table 39. XPHYRST is only valid when the
internal Network Port Manager is
scanning for a network port.
Table 39. APDW Values
5 XPHYANE PHY Auto-Negotiation Enable.
APDW Auto-Poll Dwell Time
This bit will force the PHY into en-
000Continuous (26µs @ 2.5 MHz)
abling Auto-Negotiation. When
001Every 128 MDC cycles (103µs @ 2.5 MHz)
set to 0 the Am79C973/
010Every 256 MDC cycles (206µs @ 2.5 MHz) Am79C975 controller will send a
011Every 512 MDC cycles (410 µs @ 2.5 MHz) management frame disabling
100Every 1024 MDC cycles (819 µs @ 2.5 MHz) Auto-Negotiation.
101Every 2048 MDC cycles (1640 µs @ 2.5 MHz)
110-111 Reserved Read/Write accessible always.
XPHYANE is set to 0 by
Read/Write accessible always. H_RESET and is unaffected by
APDW is set to 100h after S_RESET and the STOP bit.
H_RESET and is unaffected by XPHYANE is only valid when the
S_RESET and the STOP bit. internal Network Port Manager is
scanning for a network port.
7 DANAS Disable Auto-Negotiation Auto
Setup. When DANAS is set, the 4 XPHYFD PHY Full Duplex. When set, this
Am79C973/Am79C975 controller bit will force the PHY into full du-
after a H_RESET or S_RESET plex when Auto-Negotiation is not
will remain dormant and not auto- enabled.
matically startup the
Am79C973/Am79C975 181
P R E L I M I N A R Y
182 Am79C973/Am79C975
P R E L I M I N A R Y
of the read cycle, the 16-bit result Read accessible always. VID is
of the read operation is stored in read only. Write operations are
MIIMD. Write cycles on the MII ignored. VID is set to 1022h by
management interface are in- H_RESET and is not affected by
voked when BCR34 is written. S_RESET or by setting the STOP
The value written to MIIMD is the bit.
value used in the data field of the
management write frame. BCR36: PCI Power Management Capabilities (PMC)
Alias Register
Read/Write accessible always. Note: This register is an alias of the PMC register
MIIMD is undefined after located at offset 42h of the PCI Configuration Space.
H_RESET and is unaffected by Since PMC register is read only, BCR36 provides a
S_RESET and the STOP bit. means of programming it through the EEPROM. The
contents of this register are copied into the PMC regis-
BCR35: PCI Vendor ID Register
ter. For the definition of the bits in this register, refer to
Note: Bits 15-0 in this register are programmable the PMC register definition. Bits 15-0 in this register are
through the EEPROM. programmable through the EEPROM. Read accessible
Bit Name Description always. Read only. Cleared by H_RESET and is not af-
fected by S_RESET or setting the STOP bit.
31-16 RES Reserved locations. Written as
zeros and read as undefined. BCR37: PCI DATA Register Zero (DATA0) Alias
Register
15-0 VID Vendor ID. The PCI Vendor ID Note: This register is an alias of the DATA register and
register is a 16-bit register that also of the DATA_SCALE field of the PMCSR register.
identifies the manufacturer of the Since these two are read only, BCR37 provides a means
Am79C973/Am79C975 control- of programming them indirectly. The contents of this reg-
ler. AMD’s Vendor ID is 1022h. ister are copied into the corresponding fields pointed
Note that this Vendor ID is not the with the DATA_SEL field set to zero. Bits 15-0 in this reg-
same as the Manufacturer ID in ister are programmable through the EEPROM.
CSR88 and CSR89. The Vendor
Bit Name Description
ID is assigned by the PCI Special
Interest Group.
15-10 RES Reserved locations. Written as
The Vendor ID is not normally zeros and read as undefined.
programmable, but the
Am79C973/Am79C975 controller 9-8 D0_SCALE These bits correspond to the
allows this due to legacy operat- DATA_SCALE field of the
ing systems that do not look at PMCSR (offset Register 44 of the
the PCI Subsystem Vendor ID PCI configuration space, bits 14-
and the Vendor ID to uniquely 13). Refer to the description of
identify the add-in board or sub- DATA_SCALE for the meaning of
system that the Am79C973/ this field.
Am79C975 controller is used in.
Read accessible always.
Note: If the operating system D0_SCALE is read only. Cleared by
or the network operating sys- H_RESET and is not affected by
tem supports PCI Subsystem S_RESET or setting the STOP bit.
Vendor ID and Subsystem ID, 7-0 DATA0 These bits correspond to the PCI
use those to identify the add-in DATA register (offset Register 47
board or subsystem and pro- of the PCI configuration space,
gram the VID with the default bits 7-0). Refer to the description
value of 1022h. of DATA register for the meaning
VID is aliased to the PCI configu- of this field.
ration space register Vendor ID Read accessible always. DATA0
(offset 00h). is read only. Cleared by
H_RESET and is not affected by
S_RESET or setting the STOP bit.
Am79C973/Am79C975 183
P R E L I M I N A R Y
BCR38: PCI DATA Register One (DATA1) Alias BCR39: PCI DATA Register Two (DATA2) Alias
Register Register
Note: This register is an alias of the DATA register and Note: This register is an alias of the DATA register and
also of the DATA_SCALE field of the PMCSR register. also of the DATA_SCALE field of the PMCSR register.
Since these two are read only, BCR38 provides a Since these two are read only, BCR39 provides a
means of programming them through the EEPROM. means of programming them through the EEPROM.
The contents of this register are copied into the corre- The contents of this register are copied into the corre-
sponding fields pointed with the DATA_SEL field set to sponding fields pointed with the DATA_SEL field set to
one. Bits 15-0 in this register are programmable two. Bits 15-0 in this register are programmable
through the EEPROM. through the EEPROM.
Bit Name Description Bit Name Description
15-10 RES Reserved locations. Written as 15-10 RES Reserved locations. Written as
zeros and read as undefined. zeros and read as undefined.
9-8 D1_SCALE These bits correspond to the 9-8 D2_SCALE These bits correspond to the
DATA_SCALE field of the PMC- DATA_SCALE field of the
SR (offset Register 44 of the PCI PMCSR (offset Register 44 of the
configuration space, bits 14-13). PCI configuration space, bits 14-
Refer to the description of 13). Refer to the description of
DATA_SCALE for the meaning of DATA_SCALE for the meaning of
this field. this field.
184 Am79C973/Am79C975
P R E L I M I N A R Y
PMC-SR (offset Register 44 of 7-0 DATA4 These bits correspond to the PCI
the PCI configuration space, bits DATA register (offset Register 47
14-13). Refer to the description of of the PCI configuration space,
DATA_SCALE for the meaning of bits 7-0). Refer to the description
this field. of DATA register for the meaning
of this field.
Read accessible always.
D3_SCALE is read only. Cleared by Read accessible always. DATA4 is
H_RESET and is not affected by read only. Cleared by H_RESET
S_RESET or setting the STOP bit. and is not affected by S_RESET or
setting the STOP bit.
7-0 DATA3 These bits correspond to the PCI
DATA register (offset Register 47 BCR42: PCI DATA Register Five (DATA5) Alias
of the PCI configuration space, Register
bits 7-0). Refer to the description Note: This register is an alias of the DATA register and
of DATA register for the meaning also of the DATA_SCALE field of the PCMCR register.
of this field. Since these two are read only, BCR42 provides a
means of programming them through the EEPROM.
Read accessible always. DATA3
The contents of this register are copied into the corre-
is read only. Cleared by
sponding fields pointed with the DATA_SEL field set to
H_RESET and is not affected by
five. Bits 15-0 in this register are programmable
S_RESET or setting the STOP bit.
through the EEPROM.
BCR41: PCI DATA Register Four (DATA4) Alias Bit Name Description
Register
Note: This register is an alias of the DATA register and 15-10 RES Reserved locations. Written as
also of the DATA_SCALE field of the PCMCR register. zeros and read as undefined.
Since these two are read only, BCR41 provides a
9-8 D5_SCALE These bits correspond to the
means of programming them through the EEPROM.
DATA_SCALE field of the PMC-
The contents of this register are copied into the corre-
SR (offset Register 44 of the PCI
sponding fields pointed with the DATA_SEL field set to
configuration space, bits 14-13).
four. Bits 15-0 in this register are programmable
Refer to the description of
through the EEPROM.
DATA_SCALE for the meaning of
Bit Name Description this field.
Am79C973/Am79C975 185
P R E L I M I N A R Y
BCR43: PCI DATA Register Six (DATA6) Alias BCR44: PCI DATA Register Seven (DATA7) Alias
Register Register
Note: This register is an alias of the DATA register and Note: This register is an alias of the DATA register and
also of the DATA_SCALE field of the PCMCR register. also of the DATA_SCALE field of the PCMCR register.
Since these two are read only, BCR43 provides a Since these two are read only, BCR44 provides a
means of programming them through the EEPROM. means of programming them through the EEPROM.
The contents of this register are copied into the corre- The contents of this register are copied into the corre-
sponding fields pointed with the DATA_SEL field set to sponding fields pointed with the DATA_SEL field set to
six. Bits 15-0 in this register are programmable through seven. Bits 15-0 in this register are programmable
the EEPROM. through the EEPROM.
Bit Name Description
Bit Name Description
15-10 RES Reserved locations. Written as
zeros and read as undefined.
15-10 RES Reserved locations. Written as
9-8 D6_SCALE These bits correspond to the zeros and read as undefined.
DATA_SCALE field of the PMC-
9-8 D7_SCALE These bits correspond to the
SR (offset Register 44 of the PCI
DATA_SCALE field of the PMC-
configuration space, bits 14-13).
SR (offset Register 44 of the PCI
Refer to the description of
configuration space, bits 14-13).
DATA_SCALE for the meaning of
Refer to the description of
this field.
DATA_SCALE for the meaning of
Read accessible always. this field.
D6_SCALE is read only. Cleared by
Read accessible always.
H_RESET and is not affected by
D7_SCALE is read only. Cleared
S_RESET or setting the STOP bit.
by H_RESET and is not affected
7-0 DATA6 These bits correspond to the PCI by S_RESET or setting the
DATA register (offset Register 47 STOP bit.
of the PCI configuration space,
7-0 DATA7 These bits correspond to the PCI
bits 7-0). Refer to the description
DATA register (offset register 47
of DATA register for the meaning
of the PCI configuration space,
of this field.
bits 7-0). Refer to the description
Read accessible always. DATA6 is of DATA register for the meaning
read only. Cleared by H_RESET of this field.
and is not affected by S_RESET or
Read accessible always. DATA7
setting the STOP bit.
is read only. Cleared by
H_RESET and is not affected by
S_RESET or setting the STOP bit.
186 Am79C973/Am79C975
P R E L I M I N A R Y
BCR45: OnNow Pattern Matching Register 1 Read and write accessible al-
Note: This register is used to control and indirectly ac- ways. PMR_ADDR is reset to 0
cess the Pattern Match RAM (PMR). When BCR45 is after H_RESET, and is unaffect-
written and the PMAT_MODE bit (bit 7) is 1, Pattern ed by S_RESET and the STOP bit.
Match logic is enabled. No bus accesses into PMR are
BCR46: OnNow Pattern Matching Register 2
possible, and BCR46, BCR47, and all other bits in
BCR45 are ignored. When PMAT_MODE is set, a read Note: This register is used to control and indirectly ac-
of BCR45, BCR46, or BCR47 returns all undefined bits cess the Pattern Match RAM (PMR). When BCR45 is
except for PMAT_MODE. written and the PMAT_MODE bit (bit 7) is 1, Pattern
Match logic is enabled. No bus accesses into PMR are
When BCR45 is written and the PMAT_MODE bit is 0,
possible, and BCR46, BCR47, and all other bits in
the Pattern Match logic is disabled and accesses to the
BCR45 are ignored. When PMAT_MODE is set, a read
PMR are possible. Bits 6-0 of BCR45 specify the ad-
of BCR45, BCR46, or BCR47 returns all undefined bits
dress of the PMR word to be accessed. Following the
except for PMAT_MODE.
write to BCR45, the PMR word may be read by reading
BCR45, BCR46 and BCR47 in any order. To write to When BCR45 is written and the PMAT_MODE bit is 0,
PMR word, the write to BCR45 must be followed by a the Pattern Match logic is disabled and accesses to the
write to BCR46 and a write to BCR47 in that order to PMR are possible. Bits 6-0 of BCR45 specify the ad-
complete the operation. The RAM will not actually be dress of the PMR word to be accessed. Following the
written until the write to BCR47 is complete. The write write to BCR45, the PMR word may be read by reading
to BCR47 causes all 5 bytes (four bytes of BCR46-47 BCR45, BCR46 and BCR47 in any order. To write to
and the upper byte of the BCR45) to be written to what- PMR word, the write to BCR45 must be followed by a
ever PMR word is addressed by bits 6:0 of BCR45. write to BCR46 and a write to BCR47 in that order to
complete the operation. The RAM will not actually be
written until the write to BCR47 is complete. The write
Bit Name Description to BCR47 causes all 5 bytes (four bytes of BCR46-47
and the upper byte of the BCR45) to be written to what-
31-16 RES Reserved locations. Written as ever PMR word is addressed by bits 6:0 of BCR45.
zeros and read as undefined.
15-8 PMR_B0 Pattern Match RAM Byte 0. This Bit Name Description
byte is written into or read from
Byte 0 of the Pattern Match RAM 31-16 RES Reserved locations. Written as
zeros and read as undefined.
Read and write accessible al-
ways. PMR_B0 is undefined after 15-8 PMR_B2 Pattern Match RAM Byte 2. This
H_RESET, and is unaffected by byte is written into or read from
S_RESET and the STOP bit. Byte 2 of the Pattern Match RAM.
Am79C973/Am79C975 187
P R E L I M I N A R Y
BCR47: OnNow Pattern Matching Register 3 BCR48-BCR55: Reserved Locations for Am79C975
Note: This register is used to control and indirectly ac- These registers must be 00h for the Am79C973 con-
cess the Pattern Match RAM (PMR). When BCR45 is troller.
written and the PMAT_MODE bit (bit 7) is 1, Pattern
Match logic is enabled. No bus accesses into PMR are PHY Management Registers (ANRs)
possible, and BCR46, BCR47, and all other bits in The Am79C973/Am79C975 device supports the MII
BCR45 are ignored. When PMAT_MODE is set, a read basic register set and extended register set. Both sets
of BCR45, BCR46, or BCR47 returns all undefined bits of registers are accessible through the PHY Manage-
except for PMAT_MODE. ment Interface. As specified in the IEEE standard, the
When BCR45 is written and the PMAT_MODE bit is 0, basic register set consists of the Control Register (Reg-
the Pattern Match logic is disabled and accesses to the ister 0) and the Status Register (Register 1). The ex-
PMR are possible. Bits 6-0 of BCR45 specify the ad- tended register set consists of Registers 2 to 31
dress of the PMR word to be accessed. Following the (decimal).
write to BCR45, the PMR word may be read by reading Table 40 lists all the registers implemented in the de-
BCR45, BCR46 and BCR47 in any order. To write to vice. All the reserved registers should not be written to,
PMR word, the write to BCR45 must be followed by a and reading them will return a zero value.
write to BCR46 and a write to BCR47 in that order to
complete the operation. The RAM will not actually be Table 40. Am79C973/Am79C975 Internal PHY
written until the write to BCR47 is complete. The write Management Register Set
to BCR47 causes all 5 bytes (four bytes of BCR46-47 Register
and the upper byte of the BCR45) to be written to what- Address Basic/
ever PMR word is addressed by bits 6:0 of BCR45. (in Decimal) Register Name Extended
0 PHY Control B
When PMAT_MODE is 0, the contents of the word ad-
1 PHY Status B
dressed by bits 6:0 of BCR45 can be read by reading
2-3 PHY Identifier E
BCR45-47 in any order.
Auto-Negotiation
4 E
Bit Name Description Advertisement
Auto-Negotiation Link
5 E
31-16 RES Reserved locations. Written as Partner Ability
zeros and read as undefined. Auto-Negotiation
6 E
Expansion
15-8 PMR_B4 Pattern Match RAM Byte 4. This Auto-Negotiation Next
byte is written into or read from 7 E
Page
Byte 4 of Pattern Match RAM. 8-15 Reserved E
Interrupt Enable and
Read and write accessible al- 16
Status
E
ways. PMR_B4 is undefined after
17 PHY Control/Status E
H_RESET, and is unaffected by
Descrambler Resynch.
S_RESET and the STOP bit. 18 E
Timer
7-0 PMR_B3 Pattern Match RAM Byte 3. This PHY Management
19 E
byte is written into or read from Extension
Byte 3 of Pattern Match RAM. 20-23 Reserved E
24 Summary Status E
Read and write accessible al- 25-31 Reserved E
ways. PMR_B3 is undefined after
H_RESET, and is unaffected by
S_RESET and the STOP bit.
188 Am79C973/Am79C975
P R E L I M I N A R Y
Retains
Duplex Mode 1 = full duplex,
0 8 R/W 1 previous
(Note 3) 0 = half duplex
value
Notes:
1. R/W = Read/Write, SC = Self Clearing, RO = Read only.
2. Soft Reset does not reset the PDX block. Refer to the Soft Reset Section for details.
3. Bits 8 and 13 have no effect if Auto-Negotiation is enabled (Bit 12 = 1).
4. If the ISOL pin of the chip and the Isolate bit in Register 0 is 1, this bit will be set.
Am79C973/Am79C975 189
P R E L I M I N A R Y
1 = 100BASE-T4 able,
1 15 100BASE-T4 RO 0
0 = not 100BASE-T4 able
1 = link is up,
1 (Note 1) 2 Link Status RO, LL 0
0 = link is down
Note:
1. LH = Latching High, LL = Latching Low.
190 Am79C973/Am79C975
P R E L I M I N A R Y
ANR2 and ANR3: PHY Identifier (Registers 2 and 3) IEEE Identifier and register 2, bit 0 corresponds to bit
Registers 2 and 3 contain a unique PHY identifier, con- 18 of the IEEE Identifier. Register 3, bit 15 corresponds
sisting of 22 bits of the organizationally unique IEEE to bit 19 of the IEEE Identifier and register 3, bit 10 cor-
Identifier, a 6-bit manufacturer's model number, and a responds to bit 24 of the IEEE Identifier. Register 3, bits
4-bit manufacturer's revision number. The most signifi- 9-4 contain the manufacturer's model number and bits
cant bit of the PHY identifier is bit 15 of register 2; the 3-0 contain the manufacturer's revision number. These
least significant bit of the PHY identifier is bit 0 of reg- registers are shown in Table 43 and Table 44.
ister 3. Register 2, bit 15 corresponds to bit 3 of the
Revision Number
(bits 3-0); Register 3, Retains original
3 3-0 PHY_ID[3-0] RO 0000
bit 0 is LS bit of PHY value
Identifier
Am79C973/Am79C975 191
P R E L I M I N A R Y
ANR4: Auto-Negotiation Advertisement Register register is to advertise the technology ability to the link
(Register 4) partner device. See Table 45.
This register contains the advertised ability of the When this register is modified, Restar t Auto-
Am79C973/Am79C975 device. The purpose of this Negotiation (Register 0, bit 9) must be enabled to guar-
antee the change is implemented.
14 Reserved RO 0
When set, a remote fault bit is inserted into the base link code
word during the Auto Negotiation process. When cleared, the
13 Remote Fault R/W 0
base link code work will have the bit position for remote fault as
cleared.
12:11 Reserved RO 0
10 PAUSE This bit should be set if the PAUSE capability is to be advertised. R/W 0
9 Reserved RO 0
Full Duplex - This bit advertises Full Duplex capability. When set, Full Duplex
8 100BASE-TX capability is advertised. When cleared, Full Duplex capability is R/W 1
not advertised.
Half duplex - This bit advertises Half Duplex capability for the Auto-negotiation
7 100BASE-TX process. Setting this bit advertises Half Duplex capability. R/W 1
Clearing this bit does not advertise Half Duplex capability.
Full Duplex - This bit advertises Full Duplex capability. When set, Full Duplex
6 10BASE-T capability is advertised. When cleared, Full Duplex capability is R/W 1
not advertised.
Half duplex - This bit advertises Half Duplex capability for the Auto-negotiation
5 10BASE-T process. Setting this bit advertises Half Duplex capability. R/W 1
Clearing this bit does not advertise Half Duplex capability.
4:0 Selector Field The Am79C973/Am79C975 device is an 802.3 compliant device RO 0x01
192 Am79C973/Am79C975
P R E L I M I N A R Y
ANR5: Auto-Negotiation Link Partner Ability of the link partner. The bit definitions represent the re-
Register (Register 5) ceived link code word. This register contains either the
The Auto-Negotiation Link Partner Ability Register is base page or the link partner's next pages. See Table
Read Only. The register contains the advertised ability 46 and Table 47.
Table 46. ANR5: Auto-Negotiation Link Partner Ability Register (Register 5) - Base Page Format
Read/ H/W or Soft
Bit(s) Name Description Write Reset
Table 47. ANR5: Auto-Negotiation Link Partner Ability Register (Register 5) - Next Page Format
Read/ H/W or Soft
Bit(s) Name Description Write Reset
Am79C973/Am79C975 193
P R E L I M I N A R Y
ANR6: Auto-Negotiation Expansion Register process. The Auto-Negotiation Expansion Register bits
(Register 6) are Read Only. See Table 48.
The Auto-Negotiation Expansion Register provides ad-
ditional information which aids the Auto-Negotiation
15:5 Reserved RO 0
ANR7: Auto-Negotiation Next Page Register the default value of 0x2001 represents a message page
(Register 7) with the message code set to null. See Table 49.
The Auto-Negotiation Next Page Register contains the
next page link code word to be transmitted. On power-up
14 Reserved RO 0
Reserved Registers (Registers 8-15, 20-23, and 25-31) registers should be ignored when read and should not
The Am79C973/Am79C975 device contains reserved be written at any time.
registers at addresses 8-15, 20-23, and 25-31. These
194 Am79C973/Am79C975
P R E L I M I N A R Y
Table 50. ANR16: INTERRUPT Status and Enable Register (Register 16)
H/W or Soft
Bit(s) Name Description Read/ Write Reset
15:14 Reserved RO 0
Link Status Change 1 = Link Status Change drives the INT pin.
R/W 0
12 Interrupt Enable 0 = This interrupt is masked.
Duplex Mode Change 1 = Duplex Mode Change drives the INT pin.
R/W 0
11 Interrupt Enable 0 = This interrupt is masked.
Auto-Neg Change 1 = Auto-Neg Change drives the INT pin.
R/W 0
10 Interrupt Enable 0 = This interrupt is masked.
Speed Change 1 = Speed Change drives the INT pin.
R/W 0
9 Interrupt Enable 0 = This interrupt is masked.
Global 1= Global Interrupt drives the INT pin.
R/W 0
8 Interrupt Enable 0 = This interrupt is masked.
7:5 Reserved RO 0
Note:
1. All bits, except bit 13, are cleared on read (COR). The register must be read twice to see if it has been cleared.
ANR17: PHY Control/Status Register (Register 17) disable the alignment (SDISALIGN), a software reset
This register is used to control the configuration of the after a write operation to the appropriate bits in this reg-
10/100 PHY unit of the Am79C973/Am79C975 device. ister is mandatory for proper configuration. If a register
See Table 51. bit is only appropriate to use at one speed, then the
speed will be indicated in parenthesis in the Name col-
When configuring the device to enable/disable the umn, for example, (10M).
scrambler/descrambler (SDISSCR), and/or to enable/
Am79C973/Am79C975 195
P R E L I M I N A R Y
00 = normal operation
LBK[1-0] 01 = unused
17 8:7 R/W 00 00
(100M) 10 = symbol loopback (Note 1)
11 = serial loopback (Note 1)
Receive Polarity 1 = Receive polarity of the 10BASE-T
17 6 Reversed receiver is reversed. RO 0 0
(10M) 0 = Receive polarity is correct.
17 1 Reserved Reserved. RO 0 0
Note:
1. For these loopback paths, the data is also transmitted out of the MDI pins (TX±).
196 Am79C973/Am79C975
P R E L I M I N A R Y
ANR18: Descrambler Resynchronization Timer resynchronizes itself to the next IDLE symbol stream
Register (Register 18) after it receives a packet of excessive length. This reg-
Descrambler Resynchronization Timer Register ister should be programmed as described in the Table
(shown in Table 52) allows the user to program the time 52. The programmed timer value should always be
it takes for the descrambler to start the resynchroniza- greater than the length of the maximum size packet in
tion process. This is to ensure that the Descrambler normal operation.
Note:
1. The corresponding time to this setting is 1ms.
Retains
PHY Address defaults to
19 4-0 PHY Address RO 11110 Previous
11110.
Value
ANR24: Summary Status Register (Register 24) register access can convey. The Summary Status regis-
The Summary Status register is a global register con- ter indicates the following: Link Status, Full Duplex Sta-
taining status information. This register is Read/Only tus, Auto-Negotiation Alert, and Speed. See Table 54.
and represents the most important data which a single
Am79C973/Am79C975 197
P R E L I M I N A R Y
198 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 199
P R E L I M I N A R Y
64
MUX Match
200 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 201
P R E L I M I N A R Y
202 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 203
P R E L I M I N A R Y
204 Am79C973/Am79C975
P R E L I M I N A R Y
the Am79C973/Am79C975 con- 11-00 BCNT Buffer Byte Count is the usable
troller and cleared by the host. length of the buffer pointed to by
this descriptor, expressed as the
25 STP Start of Packet indicates that this two's complement of the length of
is the first buffer to be used by the the buffer. This is the number of
Am79C973/Am79C975 controller bytes from this buffer that will be
for this frame. It is used for data transmitted by the Am79C973/
chaining buffers. The STP bit Am79C975 controller. This field is
must be set in the first buffer of the written by the host and is not
frame, or the Am79C973/ changed by the Am79C973/
Am79C975 controller will skip Am79C975 controller. There are no
over the descriptor and poll the minimum buffer size restrictions.
next descriptor(s) until the OWN
and STP bits are set. STP is set by TMD2
the host and is not changed by the Bit Name Description
Am79C973/Am79C975 controller.
31 BUFF Buffer error is set by the
24 ENP End of Packet indicates that this
Am79C973/Am79C975 controller
is the last buffer to be used by the
during transmission when the
Am79C973/Am79C975 controller
Am79C973/Am79C975 controller
for this frame. It is used for data
does not find the ENP flag in the
chaining buffers. If both STP and
current descriptor and does not
ENP are set, the frame fits into
own the next descriptor. This can
one buffer and there is no data
occur in either of two ways:
chaining. ENP is set by the host
and is not changed by the 1. The OWN bit of the next buffer
Am79C973/Am79C975 controller. is 0.
23 BPE Bus Parity Error is set by the 2. FIFO underflow occurred be-
Am79C973/Am79C975 controller fore the Am79C973/Am79C975
when a parity error occurred on controller obtained the STATUS
the bus interface during a data byte (TMD1[31:24]) of the next
transfers from the transmit buffer descriptor. BUFF is set by the
associated with this descriptor. Am79C973/Am79C975 controller
The Am79C973/Am79C975 con- and cleared by the host.
troller will only set BPE when the
advanced parity error handling is If a Buffer Error occurs, an Under-
enabled by setting APERREN flow Error will also occur. BUFF is
(BCR20, bit 10) to 1. BPE is set by set by the Am79C973/Am79C975
the Am79C973/Am79C975 con- controller and cleared by the host.
troller and cleared by the host.
30 UFLO Underflow error indicates that the
This bit does not exist, when the transmitter has truncated a mes-
Am79C973/Am79C975 controller sage because it could not read
is programmed to use 16-bit soft- data from memory fast enough.
ware structures for the descriptor UFLO indicates that the FIFO has
ring entries (BCR20, bits 7-0, emptied before the end of the
SWSTYLE is cleared to 0). frame was reached.
22-16 RES Reserved locations. When DXSUFLO (CSR3, bit 6) is
cleared to 0, the transmitter is
15-12 ONES These four bits must be written as turned off when an UFLO error
ones. This field is written by the occurs (CSR0, TXON = 0)
host and unchanged by the
Am79C973/Am79C975 controller.
Am79C973/Am79C975 205
P R E L I M I N A R Y
206 Am79C973/Am79C975
P R E L I M I N A R Y
REGISTER SUMMARY
PCI Configuration Registers
Am79C973/Am79C975 207
P R E L I M I N A R Y
RAP
Addr Symbol Default Value Comments Use
00 CSR0 uuuu 0004 Am79C973/Am79C975 Controller Status Register R
01 CSR1 uuuu uuuu Lower IADR: maps to location 16 S
02 CSR2 uuuu uuuu Upper IADR: maps to location 17 S
03 CSR3 uuuu 0000 Interrupt Masks and Deferral Control S
04 CSR4 uuuu 0115 Test and Features Control R
05 CSR5 uuuu 0000 Extended Control and Interrupt 1 R
06 CSR6 uuuu uuuu RXTX: RX/TX Encoded Ring Lengths S
07 CSR7 0uuu 0000 Extended Control and Interrupt 1 R
08 CSR8 uuuu uuuu LADRF0: Logical Address Filter — LADRF[15:0] S
09 CSR9 uuuu uuuu LADRF1: Logical Address Filter — LADRF[31:16] S
10 CSR10 uuuu uuuu LADRF2: Logical Address Filter — LADRF[47:32] S
11 CSR11 uuuu uuuu LADRF3: Logical Address Filter — LADRF[63:48] S
12 CSR12 uuuu uuuu PADR0: Physical Address Register — PADR[15:0][ S
13 CSR13 uuuu uuuu PADR1: Physical Address Register — PADR[31:16] S
14 CSR14 uuuu uuuu PADR2: Physical Address Register — PADR[47:32] S
see register
15 CSR15 MODE: Mode Register S
description
16 CSR16 uuuu uuuu IADRL: Base Address of INIT Block Lower (Copy) T
17 CSR17 uuuu uuuu IADRH: Base Address of INIT Block Upper (Copy) T
18 CSR18 uuuu uuuu CRBAL: Current RCV Buffer Address Lower T
19 CSR22 uuuu uuuu CRBAU: Current RCV Buffer Address Upper T
20 CSR20 uuuu uuuu CXBAL: Current XMT Buffer Address Lower T
21 CSR21 uuuu uuuu CXBAU: Current XMT Buffer Address Upper T
22 CSR22 uuuu uuuu NRBAL: Next RCV Buffer Address Lower T
23 CSR23 uuuu uuuu NRBAU: Next RCV Buffer Address Upper T
24 CSR24 uuuu uuuu BADRL: Base Address of RCV Ring Lower S
25 CSR25 uuuu uuuu BADRU: Base Address of RCV Ring Upper S
26 CSR26 uuuu uuuu NRDAL: Next RCV Descriptor Address Lower T
27 CSR27 uuuu uuuu NRDAU: Next RCV Descriptor Address Upper T
28 CSR28 uuuu uuuu CRDAL: Current RCV Descriptor Address Lower T
29 CSR29 uuuu uuuu CRDAU: Current RCV Descriptor Address Upper T
30 CSR30 uuuu uuuu BADXL: Base Address of XMT Ring Lower S
31 CSR31 uuuu uuuu BADXU: Base Address of XMT Ring Upper S
32 CSR32 uuuu uuuu NXDAL: Next XMT Descriptor Address Lower T
33 CSR33 uuuu uuuu NXDAU: Next XMT Descriptor Address Upper T
Note:
u = undefined value, R = Running register, S = Setup register, T = Test register; all default values are in hexadecimal format.
208 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 209
P R E L I M I N A R Y
210 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 211
P R E L I M I N A R Y
Programmability
RAP Mnemonic Default Name User EEPROM
0 MSRDA 0005h Reserved No No
1 MSWRA 0005h Reserved No No
2 MC 0002h Miscellaneous Configuration Yes Yes
3 Reserved N/A Reserved No No
4 LED0 00C0h LED0 Status Yes Yes
5 LED1 0084h LED1 Status Yes Yes
6 LED2 0088h LED2 Status Yes Yes
7 LED3 0090h LED3 Status Yes Yes
8 Reserved N/A Reserved No No
9 FDC 0000h Full-Duplex Control Yes Yes
10-15 Reserved N/A Reserved No No
16 IOBASEL N/A Reserved No No
17 IOBASEU N/A Reserved No No
18 BSBC 9001h Burst and Bus Control Yes Yes
19 EECAS 0002h EEPROM Control and Status Yes No
20 SWS 0200h Software Style Yes No
22 PCILAT FF06h PCI Latency Yes Yes
23 PCISID 0000h PCI Subsystem ID No Yes
24 PCISVID 0000h PCI Subsystem Vendor ID No Yes
25 SRAMSIZ 0000h SRAM Size Yes Yes
26 SRAMB 0000h SRAM Boundary Yes Yes
27 SRAMIC 0000h SRAM Interface Control Yes Yes
28 EBADDRL N/A Expansion Bus Address Lower Yes No
29 EBADDRU N/A Expansion Bus Address Upper Yes No
30 EBDR N/A Expansion Bus Data Port Yes No
31 STVAL FFFFh Software Timer Value Yes No
32 MIICAS 0000h PHY Control and Status Yes Yes
33 MIIADDR N/A PHY Address Yes Yes
34 MIIMDR N/A PHY Management Data Yes No
35 PCIVID 1022h PCI Vendor ID No Yes
PCI Power Management Capabilities
36 PMC_A C811h No Yes
(PMC) Alias Register
37 DATA0 0000h PCI DATA Register Zero Alias Register No Yes
38 DATA1 0000h PCI DATA Register One Alias Register No Yes
39 DATA2 0000h PCI DATA Register Two Alias Register No Yes
40 DATA3 0000h PCI DATA Register Three Alias Register No Yes
41 DATA4 0000h PCI DATA Register Four Alias Register No Yes
42 DATA5 0000h PCI DATA Register Five Alias Register No Yes
43 DATA6 0000h PCI DATA Register Six Alias Register No Yes
44 DATA7 0000h PCI DATA Register Seven Alias Register No Yes
45 PMR1 N/A Pattern Matching Register 1 Yes No
46 PMR2 N/A Pattern Matching Register 2 Yes No
47 PMR3 N/A Pattern Matching Register 3 Yes No
212 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 213
P R E L I M I N A R Y
Register Contents
CSR0 Status and control bits: (DEFAULT = 0004)
8000 ERR 0800 MERR 0080 INTR 0008 TDMD
4000 -- 0400 RINT 0040 IENA 0004 STOP
2000 CERR 0200 TINT 0020 RXON 0002 STRT
1000 MISS 0100I IDON 0010 TXON 0001 INIT
CSR1 Lower IADR (Maps to CSR 16)
CSR2 Upper IADR (Maps to CSR 17)
CSR3 Interrupt masks and Deferral Control: (DEFAULT = 0)
8000 -- 0800 MERRM 0080 -- 0008 EMBA
4000 -- 0400 RINTM 0040 DXSUFLO 0004 BSWP
2000 -- 0200 TINTM 0020 LAPPEN 0002 --
1000 MISSM 0100 IDONM 0010 DXMT2PD 0001 --
CSR4 Interrupt masks, configuration and status bits: (DEFAULT = 0115)
8000 -- 0800 APAD_XMT 0080 UNITCMD 0008 TXSTRT
4000 DMAPLUS 0400 ASTRP_RCV 0040 UNIT 0004 TXSTRTM
2000 -- 0200 MFCO 0020 RCVCCO 0002 --
1000 TXDPOLL 0100 MFCOM 0010 RCVCCOM 0001 --
CSR5 Extended Interrupt masks, configuration and status bits: (DEFAULT = 0XXX)
8000 TOKINTD 0800 SINT 0080 EXDINT 0008 MPINTE
4000 LTINTEN 0400 SINTE 0040 EXDINTE 0004 MPEN
2000 -- 0200 -- 0020 MPPLBA 0002 MPMODE
1000 -- 0100 -- 0010 MPINT 0001 SPND
CSR7 Extended Interrupt masks, configuration and status bits: (DEFAULT = 0000)
8000 FASTSPND 0800 STINT 0080 MAPINT 0008 MCCIINT
4000 RXFRMTG 0400 STINTE 0040 MAPINTE 0004 MCCIINTE
2000 RDMD 0200 MREINT 0020 MCCINT 0002 MIIPDTINT
1000 RXDPOLL 0100 MREINTE 0010 MCCINTE 0001 MIIPDTNTE
CSR8 - CSR11 Logical Address Filter
CSR12 - CSR14 Physical Address Register
MODE: (DEFAULT = 0)
bits [8:7] = PORTSEL, Port Selection
CSR15
11 PHY Selected
10 Reserved
8000 PROM 0800 -- 0080 PORTSEL0 0008 DXMTFCS
4000 DRCVBC 0400 -- 0040 INTL 0004 LOOP
2000 DRCVPA 0200 -- 0020 DRTY 0002 DTX
1000 -- 0100 PORTSEL1 0010 FCOLL 0001 DRX
CSR47 TXPOLLINT: Transmit Polling Interval
CSR49 RXPOLLINT: Receive Polling Interval
Software Style (mapped to BCR20)
bits [7:0] = SWSTYLE, Software Style Register.
CSR58
0000 LANCE/PCnet-ISA
0002 PCnet-32
8000 -- 0800 -- 0080 -- 0008 SWSTYLE3
4000 -- 0400 APERREN 0040 -- 0004 SWSTYLE2
2000 -- 0200 -- 0020 -- 0002 --
1000 -- 0100 SSIZE32 0010 -- 0001 SWSTYLE0
214 Am79C973/Am79C975
P R E L I M I N A R Y
Register Contents
CSR76 RCVRL: RCV Descriptor Ring length
CSR78 XMTRL: XMT Descriptor Ring length
CSR80 FIFO threshold and DMA burst control (DEFAULT = 2810)
8000 Reserved
4000 Reserved
bits [13:12] = RCVFW, Receive FIFO Watermark
0000 Request DMA when 16 bytes are present
1000 Request DMA when 64 bytes are present
2000 Request DMA when 112 bytes are present
3000 Reserved
bits [11:10] = XMTSP, Transmit Start Point
0000 Start transmission after 20/36 (No SRAM/SRAM) bytes have been written
0400 Start transmission after 64 bytes have been written
0800 Start transmission after 128 bytes have been written
0C00 Start transmission after 220 max/Full Packet (No SRAM/SRAM with UFLO bit set) bytes
have been written
bits [9:8] = XMTFW, Transmit FIFO Watermark
0000 Start DMA when 16 write cycles can be made
0100 Start DMA when 32 write cycles can be made
0200 Start DMA when 64 write cycles can be made
0300 Start DMA when 128 write cycles can be made
bits [7:0] = DMA Burst Register
Chip ID (Contents = v2625003 (for Am79C973); v = Version Number)
CSR88~89
Chip ID (Contents = v2627003 (for Am79C975); v = Version Number)
CSR112 Missed Frame Count
CSR114 Receive Collision Count
CSR116 OnNow Miscellaneous
8000 -- 0800 -- 0080 PMAT 0008 RWU_DRIVER
4000 -- 0400 -- 0040 EMPPLBA 0004 RWU_GATE
2000 -- 0200 PME_EN_OVR 0020 MPMAT 0002 RWU_POL
1000 -- 0100 LCDET 0010 MPPEN 0001 RST_POL
CSR122 Receive Frame Alignment Control
8000 -- 0800 -- 0080 -- 0008 --
4000 -- 0400 -- 0040 -- 0004 --
2000 -- 0200 -- 0020 -- 0002 --
1000 -- 0100 -- 0010 -- 0001 RCVALGN
CSR124 BMU Test Register (DEFAULT = 0000)
8000 -- 0800 -- 0080 -- 0008 --
4000 -- 0400 -- 0040 -- 0004 RPA
2000 -- 0200 -- 0020 -- 0002 --
1000 -- 0100 -- 0010 -- 0001 --
MAC Enhanced Configuration Control (DEFAUT = 603c
CSR125 bits [15:8] = IPG, InterPacket Gap (Default=60xx, 96 bit times)
bits [8:0] = IFS1, InterFrame Space Part 1 (Default=xx3c, 60 bit times)
Am79C973/Am79C975 215
P R E L I M I N A R Y
216 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 217
P R E L I M I N A R Y
Parameter
Symbol Parameter Description Test Conditions Min Max Units
Digital I/O (Non-PCI Pins)
VIH Input HIGH Voltage 2.0 V
VIL Input LOW Voltage 0.8 V
IOL1 = 4 mA
VOL Output LOW Voltage IOL2 = 6 mA 0.4 V
IOL3 = 12 mA (Note 1)
IOH1= -4 mA
VOH Output HIGH Voltage (Notes 2, 3) IOH2= -2 mA 2.4 V
(Note 3)
IOZ Output Leakage Current (Note 4) 0 V <VOUT <VDD -10 10 µA
IIX Input Leakage Current (Note 5) 0 V <VIN <VDD -10 10 µA
IIL Input LOW Current (Note 6) VIN = 0 V; VDD = 3.6 V -200 -10 µA
IIH Input HIGH Current (Note 6) VIN = 2.7 V; VDD = 3.6 V -50 10 µA
PCI Bus Interface - 5 V Signaling
VIH Input HIGH Voltage 2.0 5.5 V
VIL Input LOW Voltage -0.5 0.8 V
IOZ Output Leakage Current (Note 4) 0 V <VIN < VDD_PCI -10 10 µA
IIL Input LOW Current VIN = 0.5 V -- -70 µA
IIH Input HIGH Current VIN = 2.7 V -- 70 µA
IIX_PME Input Leakage Current (Note 7) 0 V = < VIN < 5.5 V -1 1 µA
VOH Output HIGH Voltage (Note 2) IOH = -2 mA 2.4 V
IOL4 = 3 mA
VOL Output LOW Voltage 0.55 V
IOL2 = 6 mA (Note 1)
PCI Bus Interface - 3.3 V Signaling
VDD_PCI +
VIH Input HIGH Voltage 0.5 VDD_PCI V
0.5
VIL Input LOW Voltage -0.5 0.3 VDD_PCI V
IOZ Output Leakage Current (Note 4) 0 V < VOUT < VDD_PCI -10 10 µA
IIL Input HIGH Current 0 V < VIN < VDD_PCI -10 10 µA
IIX_PME Input Leakage Current (Note 7) 0 V = < VIN < 5.5 V -1 1 µA
VOH Output HIGH Voltage (Note 2) IOH = -500 µA 2.4 V
VOL Output LOW Voltage IOL = 1500 µA 0.1 VDD_PCI V
218 Am79C973/Am79C975
P R E L I M I N A R Y
Parameter
Symbol Parameter Description Test Conditions Min Max Units
Pin Capacitance
CIN Pin Capacitance FC = 1 MHz (Note 8) 10 pF
CCLK CLK Pin Capacitance FC = 1 MHz (Notes 8,9) 5 12 pF
CIDSEL IDSEL Pin Capacitance Fc = 1 MHz (Notes 8, 10 8 pF
LPIN Pin Inductance Fc = 1 MHz (Note 8) 20 nH
Power Supply Current (Note 11)
IDD Dynamic Current PCI CLK at 33 MHz 210 mA
Wake-up current when the device is PCI CLK at 33 MHz, Device in Magic
IDD_WU1 in the D1, D2, or D3 state and the Packet or OnNow mode, receiving TBD mA
PCI bus is in the B0 or B1 state. non-matching packets
Wake-up current when the device is PCI CLK LOW, PG LOW, Device at
IDD_WU2 in the D2 or D3 state and the PCI bus Magic Packet or OnNow mode, TBD mA
is in the B2 or B3 state. receiving non-matching packets
PCI CLK, RST, and TBC_EN pin
IDD_S Static IDD 1 mA
HIGH.
Notes:
1. IOL2 applies to DEVSEL, FRAME, INTA, IRDY, PERR, SERR, STOP, TRDY, EECS, EEDI, EBUA_EBA[7:0], EBDA[15:8],
EBD[7:0], EROMCS, AS_EBOE, EBWE, and PHY_RST.
IOL3 applies to LED0, LED1, LED2, LED3, and WUMI.
IOL4 applies to AD[31:0], C/BE[3:0], PAR, and REQ pins in 5 V signalling environment.
2. VOH does not apply to open-drain output pins.
3. IOH2 applies to all other outputs.
4. IOZ applies to all output and bidirectional pins, except the PME pin. Tests are performed at VIN = 0 V and at VDD only.
5. IIX applies to all input pins except PME, TDI, TCLK, and TMS pins.
6. IIL and IIH apply to the TDI, TCLK, and TMS pins.
7. IIX_PME applies to the PME pin only. Tests are performed at VIN = 0 V and 5.5 V only.
8. Parameter not tested. Value determined by characterization.
9. CCLK applies only to the CLK pin.
10. CIDSEL applies only to the IDSEL pin.
11. Power supply current values listed here are preliminary estimates and are not guaranteed.
Am79C973/Am79C975 219
P R E L I M I N A R Y
Parameter
Symbol Parameter Name Test Condition Min Max Unit
Clock Timing
FCLK CLK Frequency 0 33 MHz
@ 1.5 V for 5 V signaling
tCYC CLK Period 30 _ ns
@ 0.4 VDD for 3.3 V signaling
@ 2.0 V for 5 V signaling
tHIGH CLK High Time 12 ns
@ 0.4 VDD for 3.3 signaling
@ 0.8 V for 5 V signaling
tLOW CLK Low Time 12 ns
@ 0.3 VDD for 3.3 V signaling
over 2 V p-p for 5 V signaling
tFALL CLK Fall Time over 0.4 VDD for 3.3 V signaling 1 4 V/ns
(Note 1)
over 2 V p-p for 5 V signaling
tRISE CLK Rise Time over 0.4 VDD for 3.3 V signaling 1 4 V/ns
(Note 1)
Output and Float Delay Timing
AD[31:00], C/BE[3:0], PAR, FRAME,
IRDY, TRDY, STOP, DEVSEL, PERR,
tVAL 2 11 ns
SERR
Valid Delay
tVAL (REQ) REQ Valid Delay 2 12 ns
AD[31:00], C/BE[3:0], PAR, FRAME,
tON IRDY, TRDY, STOP, DEVSEL Active 2 ns
Delay
AD[31:00], C/BE[3:0], PAR, FRAME,
tOFF IRDY, TRDY, STOP, DEVSEL Float 28 ns
Delay
Setup and Hold Timing
AD[31:00], C/BE[3:0], PAR, FRAME,
tSU IRDY, TRDY, STOP, DEVSEL, IDSEL 7 ns
Setup Time
AD[31:00], C/BE[3:0], PAR, FRAME,
tH IRDY, TRDY, STOP, DEVSEL, IDSEL 0 ns
Hold Time
tSU (GNT) GNT Setup Time 10 ns
tH (GNT) GNT Hold Time 0 ns
220 Am79C973/Am79C975
P R E L I M I N A R Y
Parameter
Symbol Parameter Name Test Condition Min Max Unit
EEPROM Timing
fEESK EESK Frequency (Note 2) 650 kHz
tHIGH (EESK) EESK High Time 780 ns
tLOW (EESK) EESK Low Time 780 ns
tVAL (EEDI) EEDI Valid Output Delay from EESK (Note 2) -15 15 ns
tVAL (EECS) EECS Valid Output Delay from EESK (Note 2) -15 15 ns
tLOW (EECS) EECS Low Time 1550 ns
tSU (EEDO) EEDO Setup Time to EESK (Note 2) 50 ns
tH (EEDO) EEDO Hold Time from EESK (Note 2) 0 ns
JTAG (IEEE 1149.1) Test Signal Timing
tJ1 TCK Frequency 10 MHz
tJ2 TCK Period 100 ns
tJ3 TCK High Time @ 2.0 V 45 ns
tJ4 TCK Low Time @ 0.8 V 45 ns
tJ5 TCK Rise Time 4 ns
tJ6 TCK Fall Time 4 ns
tJ7 TDI, TMS Setup Time 8 ns
tJ8 TDI, TMS Hold Time 10 ns
tJ9 TDO Valid Delay 3 30 ns
tJ10 TDO Float Delay 50 ns
tJ11 All Outputs (Non-Test) Valid Delay 3 25 ns
tJ12 All Outputs (Non-Test) Float Delay 36 ns
tJ13 All Inputs (Non-Test)) Setup Time 8 ns
tJ14 All Inputs (Non-Test) Hold Time 7 ns
Notes:
1. Not tested; parameter guaranteed by design characterization.
2. Parameter value is given for automatic EEPROM read operation. When EEPROM port (BCR19) is used to access the EE-
PROM, software is responsible for meeting EEPROM timing requirements.
Analog I/O - PECL Mode
Notes:
1. Applies to RX+, RX-, SDI+, SDI- inputs only. Any voltage applied to these pins must not be below VI min or above VI max.
2. Tested for DVDD = Minimum, shown limits are specified over entire DVDD operating range.
3. Applies to TX+,TX- outputs only. Measured with the load of 82 W to DVDD and 150 W to DVSS on each SDI+ and SDI-.
Am79C973/Am79C975 221
P R E L I M I N A R Y
Parameter
Symbol Parameter Name Test Condition Min Max Unit
External Address Detection Interface: Internal PHY @ 25 MHz
tEAD7 SFBD change to ↓ RX_CLK 0 20 (Note 1) ns
EAR deassertion to ↑ RX_CLK (first
tEAD8 40 ns
rising edge)
EAR assertion after SFD event
tEAD9 0 5,080 ns
(frame rejection)
tEAD10 EAR assertion width 50 ns
External Address Detection Interface: Internal PHY @ 2.5 MHz
EAR deassertion to ↑ RX_CLK (first
tEAD11 400 ns
rising edge)
EAR assertion after SFD event
tEAD12 0 50,800 ns
(frame rejection)
tEAD13 EAR assertion width 500 ns
Receive Frame Tag Timing with Media Independent Interface
RXFRTGE assertion to ↑SF/BD (first
tEAD14 0 ns
rising edge)
RXFRTGE, RXFRTGD setup to ↑
tEAD15 10 ns
RX_CLK
RXFRTGE, RXFRTGD hold to ↑
tEAD16 10 ns
RX_CLK
RX_CLK @25 MHz 40 ns
tEAD17 RXFRTGE deassertion to ↓ RX_DV
RX_CLK @2.5 MHz 400 ns
Note:
1. May need to delay RX_CLK to capture Start Frame Byte Delimiter (SFBD) at 100 Mbps operation. Analog I/O - MLT-3 Mode
Analog I/O - MLT-3 Mode
10BASE-T Mode
222 Am79C973/Am79C975
P R E L I M I N A R Y
External Clock
Clock Timing
1 2 3
XCLK
21510D-57
Am79C973/Am79C975 223
P R E L I M I N A R Y
PMD Interface
PECL
161
160
80%
TX+,TX– 20%
TX+
TX–
162 21510D-58
MLT-3
170 171
80%
TX+, 20%
TX–
TX±
TX–
172 21510D-59
224 Am79C973/Am79C975
P R E L I M I N A R Y
10BASE-T
No. Symbol Parameter Description Test Conditions Min Max Unit
Note: RX± pulses narrower than tPWDRD (min) will maintain internal Carrier Sense on. RX± pulses wider than tPWKRD (max)
will turn internal Carrier Sense off.
tTETD
TX±
21510D-60
t(PWKRD) t(PWKRD)
VTSQ+
RX±
VTSQ-
t(PWKRD) 21510D-61
Am79C973/Am79C975 225
P R E L I M I N A R Y
SWITCHING WAVEFORMS
Key to Switching Waveforms
Must be Will be
Steady Steady
May Will be
Change Changing
from H to L from H to L
May Will be
Change Changing
from L to H from L to H
KS000010-PAL
IOL
CL
IOH
21510D-62
226 Am79C973/Am79C975
P R E L I M I N A R Y
tHIGH
2.4 V
2.0 V 2.0 V
tLOW
CLK 1.5 V 1.5 V
0.8 V 0.8 V
0.4 V
tRISE tFALL
tCYC
21510D-63
Figure 60. CLK Waveform for 5 V Signaling
tHIGH
0.6 VDD_PCI
tRISE tFALL
tCYC
21510B21510D-64
Figure 61. CLK Waveform for 3.3 V Signaling
Tx Tx
CLK
tSU tH
AD[31:00], C/BE[3:0],
PAR, FRAME, IRDY,
TRDY, STOP,
DEVSEL, IDSEL
tSU(GNT) tH(GNT)
GNT
21510B21510D-65
Am79C973/Am79C975 227
P R E L I M I N A R Y
Tx Tx Tx
CLK
tVAL
MIN MAX
AD[31:00] C/BE[3:0],
PAR, FRAME, IRDY, Valid n Valid n+1
TRDY, STOP, DEVSEL,
PERR, SERR tVAL(REQ)
MIN MAX
REQ
Valid n Valid n+1
21510D-66
Tx Tx Tx
CLK
tON
AD[31:00], C/BE[3:0],
PAR, FRAME, , Valid n
TRDY, STOP,
DEVSEL, PERR
tOFF
AD[31:00], C/BE[3:0],
PAR, FRAME, IRDY, Valid n
TRDY, STOP,
DEVSEL, PERR
21510D-67
Figure 64. Output Tri-state Delay Timing
EESK
EECS
EEDI 0 1 1 A6 A5 A4 A3 A2 A1 A0
21510D-68
228 Am79C973/Am79C975
P R E L I M I N A R Y
EESK
tH (EEDO)
tVAL (EEDI,EECS)
EEDO Stable
tLOW (EECS)
EECS
EEDI
21510D-69
Figure 66. Automatic PREAD EEPROM Timing
tJ3
2.0 V 2.0 V
tJ4
TCK 1.5 V 1.5 V
0.8 V 0.8 V
tJ5 tJ6
tJ2
21510D-70
Am79C973/Am79C975 229
P R E L I M I N A R Y
tJ2
TCK
tJ7 tJ8
TDI, TMS
tJ9
TDO
tJ11 tJ12
Output
Signals
tJ13 tJ14
Input
Signals
21510D-71
230 Am79C973/Am79C975
P R E L I M I N A R Y
tHIGH
2.4 V
2.0 V 2.0 V
tLOW
EBCLK 1.5 V 1.5 V
0.8 V 0.8 V
0.4V
tRISE tFALL
tCYC
21510D-72
Figure 69. EBCLK Waveform
EBCLK
EBUA_EGA[7:0]
Upper Lower
Address Address
EBDA[15:8]
tv_A_D ts_D t_LZ
t_HZ
EBD[7:0] Data
th_D
EROMCS t_CS_H
t_CS_L
EBWE t_AS_H
AS_EBOE
t_AS_L
21510D-73
Am79C973/Am79C975 231
P R E L I M I N A R Y
EBCLK
EBUA_EBA[7:0]
Upper Lower
Address Address
EBDA[15:8]
tv_A_D
EBD[7:0] DATA
t_CS_H
EBWE, EROMCS
t_CS_L
t_AS_H t_WE_CSAD
AS_EBOE
t_AS_L
21510D-74
232 Am79C973/Am79C975
P R E L I M I N A R Y
PHYSICAL DIMENSIONS*
PQR160
Plastic Quad Flat Pack (measured in millimeters)
31.00
31.40
27.90
28.10
Pin 160 25.35
REF Pin 120
Pin 1 I.D.
25.35
REF
27.90
28.10
31.00
31.40
Pin 40
Pin 80
3.95
3.20
0.65 BASIC MAX
3.60
0.25
Min SEATING PLANE
16-038-PQR-1
PQR160
12-22-95 lv
*For reference only. BSC is an ANSI standard for Basic Space Centering.
Am79C973/Am79C975 233
P R E L I M I N A R Y
PQL176
Thin Quad Flat Pack (measured in millimeters)
176
25.80
23.80 26.20
24.20
44
23.80
24.20
25.80
26.20
11° – 13°
1.35
1.60 MAX
1.45
16-038-PQT-1_AL
PQL176
0.50 BSC 11° – 13° 5.12.97 lv
1.00 REF.
Trademarks
Copyright 1999 Advanced Micro Devices, Inc. All rights reserved.
AMD, the AMD logo, and combinations thereof are registered trademarks of Advanced Micro Devices, Inc.
Auto-Poll, C-LANCE, IMR100, LANCE, Mace, Magic Packet, PCnet, PCnet-ISA, PCnet-ISA+, PCnet-ISA-II, PCnet-32, PCnet-PCI,
PCnet-PCI II, and PCnet-FAST are trademarks of Advanced Micro Devices, Inc.
Product names used in this publication are for identification purposes only and may be trademarks of their respective companies.
234 Am79C973/Am79C975
APPENDIX A
PCnet™-FAST III
Recommended Magnetics
The PCnet-FAST III controller uses magnetics that AMD Am79C873 NetPHY-1 10/100 PHY magnetics
have a Transmit (TX) turns ratio of 1:1.414 and a Re- and LevelOne LXT970 10/100 PHY magnetics that are
ceive (RX) turns ratio of 1:1. The following table shows used today with PCnet-FAST and PCnet-FAST+, but
the current approved vendor list of 3.3 V magnetics rec- are not the same part numbers since the turns ratios
ommended for use with the PCnet-FAST III device. are different.
These magnetics modules are pin compatible with the
Am79C973/Am79C975 A-1
P R E L I M I N A R Y
A-2 Am79C973/Am79C975
APPENDIX B
Am79C973/Am79C975 B-1
P R E L I M I N A R Y
Listed By Group Command register. Note that the SMIU interrupt ac-
knowledge does not follow the SMB alert protocol, but
Serial Management Interface Unit (SMIU) simply requires clearing the interrupt bit.
Pin Pin No. of Basic Operation
Name Function Type Driver Pins
Transferring Data
SMIU
MCLOCK I/O OD6 1 The Serial Management Interface Unit (SMIU) of the
Clock
Am79C975 controller uses a two pin interface to com-
SMIU
MDATA I/O OD6 1 municate with other devices. MCLOCK is the clock pin.
Data
MDATA is the data pin. Both signals are bussed and
SMIU shared with other devices in the system. There is at
MIRQ O OD6 1
Interrupt least one master device in the system (e.g., a micro-
controller). A master is a device that initiates a transfer
Note: OD6 = Open Drain Output, IOL = 6 mA, 50 pF and also provides the clock signal. The Am79C975
load. controller is always a slave device.
Listed By Function The master starts a data transfer on the serial manage-
MCLOCK ment bus by asserting the START condition. The
SMIU Clock Input/Output START condition is defined as a HIGH to LOW transi-
tion on MDATA while MCLOCK is HIGH. Data will follow
MCLOCK is the clock pin of the serial management in- with the most significant bit (MSB) of a byte transferred
terface. MCLOCK is typically driven by an external first. Data can only change during the LOW period of
master (e.g., the southbridge or a dedicated microcon- MCLOCK and must be stable on the MDATA pin during
troller). The Am79C975 controller will drive the clock the HIGH period of MCLOCK. Every byte of data must
line low in order to insert wait states before it starts be acknowledged by the receiving device with the Ac-
sending out data in response to a read. The frequency knowledge bit (ACK). ACK is defined as a LOW pulse
of the clock signal can vary between 10 KHz and 100
on MDATA that follows the same timing as a regular
KHz and it can change from cycle to cycle.
data bit. In a write operation, the Am79C975 controller
Note: MCLOCK is capable of running at a frequency is the receiving device and it must generate ACK. In a
as high as 1.25 MHz to allow for shorter production test read operation, the master is the receiving device and
time. it must generate ACK. An inverted Acknowledge bit
MDATA (NACK) is used to signal the transmitting device that
the data transfer should terminate. A data transfer is
SMIU Data Input/Output ended when the master asserts the STOP condition.
MDATA is the data pin of the serial management inter- The STOP condition is defined as a LOW to HIGH
face. MDATA can be driven by an external master (e.g., transition on MDATA while MCLOCK is HIGH.
the microcontroller or southbr idge) or by the
Implementation note: The assertion of START forces
Am79C975 controller. The interface protocol defines
the state machine in the decoder logic to look for the
exactly at what time Am79C975 has to listen to the
slave address of the Am79C975 device. The assertion
MDATA pin and at what time the controller must drive
of STOP forces the state machine to reset and to wait
the pin (see section Basic Operations for more details).
for the assertion of a START condition.
MIRQ
The first byte in every data transfer is the 7-bit address
SMIU Interrupt Output of the Am79C975 device followed by the Read/Write
MIRQ is an asynchronous attention signal that the bit. The MSB of the 7-bit address is the first bit on the
Am79C975 controller provides to indicate that a man- MDATA line. A 0 in the Read/Write bit indicates a write
agement frame has been transmitted or received. The operation from the master to the Am79C975 controller,
assertion of the MIRQ signal can be controlled by a glo- a 1 indicates a read operation. The Am79C975 control-
bal mask bit (MIRQEN) or individual mask bits ler does not support the General Call address (00h). It
(MRX_DONEM, MTX_DONEM), located in the will ignore the address by not asserting ACK.
B-2 Am79C973/Am79C975
P R E L I M I N A R Y
MCLOCK S 1 2 3 4 5 6 7 8 9 1 2 3-8 9 P
A data transfer that involves a change in the direction repeated 7-bit slave address and the READ bit. The
data is transferred is a more complex operation. An ex- Am79C975 controller will drive the MCLOCK line low in
ample is a data write transfer followed by a data read order to insert wait states before it starts driving the read
transfer. After finishing the data write transfer, the mas- data onto the MDATA pin. The master acts as the re-
ter must initiate the turn-around of the MDATA line by ceiver and must generate ACK. (See section Byte Read
asserting a repeated START condition followed by a Command or Block Read Command for more details).
MDATA A
Data Data
Figure B-2. Data Transfer with Change in Direction (with wait state)
Am79C973/Am79C975 B-3
P R E L I M I N A R Y
1 7 1 1 8 1 8 1 1
Key:
Note that the Am79C975 controller does not validate must acknowledge the first byte by driving MDATA LOW
the register address specified in the Write Byte com- for 1 bit time (A). The next byte specifies the address of
mand. A Write Byte command to a non-existing regis- the SMIU register (MReg) that is accessed, followed by
ter, or to register that is read-only, or to one of the another ACK from the Am79C975 controller. The mas-
registers that require a Block Read or Write command ter initiates the turn-around of the transfer direction by
may cause unexpected reprogramming of an SMIU asserting a repeated START condition, followed by the
register. repeated 7-bit slave address. This time, the Read/Write
bit is set to 1 to indicate that the next byte of data is
Read Byte Command
d r i ve n by t h e A m 7 9 C 9 7 5 c o n t r o l l e r ( R ) . T h e
The Read Byte command is used to read 1 byte of data Am79C975 controller acknowledges the transfer and
from an SMIU register. This command is more complex then drives the one byte of register data onto the
compared to the Write Byte command, since it involves MDATA line. The acknowledge for the register data is
a change in the direction of the data transfer. The com- generated by the master, since he is the receiver of the
mand starts with the START condition (S). The next 7 data. The master generates a NACK (N) to force the
bits are the slave address of the Am79C975 controller, Am79C975 controller to stop driving the MDATA line
followed by a 0 bit to indicate that the data transfer since the data transfer consists of only one byte. The
starts with a write operation from the master to the Read Byte command terminates with the assertion of
Am79C975 controller (W). The Am79C975 controller the STOP condition (P) by the master.
1 7 1 1 8 1 1 7 1 1 8 1 1
Key:
Note: The Am79C975 controller does not validate the Block Write Command
register address specified in the Read Byte command. The Block Write command is used to write data to the
A Read Byte command to a non-existing register, or to SMIU Transmit Data memory or to the Receive Pattern
register that is write-only, or to one of the registers that RAM. The command starts with the START condition
require a Block Read or Write command will yield un- (S). The next 7 bits are the slave address of the
defined data. Am79C975 controller, followed by a 0 bit to indicate a
If the second slave address in the Read Byte Com- write operation (W). The next byte specifies the ad-
mand is not the one of the Am79C975 controller, the dress of the SMIU register (MReg) that is accessed.
device will release the MDATA line to generate a NACK. The address of the Receive Pattern RAM Data port
The master, receiving the NACK, must abort the cycle (34) or the address of the Transmit Data port (36) is the
by generating a STOP condition. only valid values for the MReg address. The third byte
B-4 Am79C973/Am79C975
P R E L I M I N A R Y
of the Block Write command specifies the byte count. Note that the Am79C975 controller does not validate
The byte count value is ignored by the Am79C975 con- the register address specified in the Block Write com-
troller. The device is capable of receiving any amount mand. A Block Write command to a register other than
of data even passed the limit of 32 bytes as defined by the Transmit Data port or the Receive Pattern RAM
the SMB specification. Since the Am79C975 controller Data port may cause unexpected reprogramming of an
is the receiver of all data transfers, it must acknowledge SMIU register. The Am79C975 controller also does not
each byte by driving the MDATA line LOW for 1 bit time check the length of the Block Write command. The
(A). The master indicates the termination of the Block Write master must make sure that the Transmit Data memory
command with the assertion of the STOP condition (P). or the Receive Pattern RAM are not written beyond
their respective length.
1 7 1 1 8 1 8 1
8 1 8 1 1
Key:
Block Read Command the ACK is generated by the master, since he is the re-
The Block Read command is used to read data from ceiver of the data. Receive data will follow. Being the
the SMIU Receive Data memory. This command is receiver, the master must ACK each byte by driving the
more complex compared to the Block Write command, MDATA line LOW for 1 bit time. The last byte, however,
since it involves a change in the direction of the data must be followed by a NACK (N) to force the
transfer. The command starts with the START condition Am79C975 controller to stop driving the MDATA line.
(S). The next 7 bits are the slave address of the The Am79C975 device is capable of a block read past
Am79C975 controller, followed by a 0 bit to indicate the 32 byte limit that is indicated in the byte count field.
that the data transfer starts with a write operation from If the host does not assert NACK after the 32nd byte,
the master to the Am79C975 controller (W). The the Am79C975 controller will continue driving receive
Am79C975 controller must acknowledge the first byte data onto the MDATA line until the host asserts NACK.
by driving MDATA LOW for 1 bit time (A). The next byte If the master runs out of storage space for the incoming
specifies the address of the SMIU register (MReg) that data, he can abort the data transfer after any byte by
is accessed, followed by another ACK from the asserting NACK. The Block Read command terminates
Am79C975 controller. The address of the Receive Data with the assertion of the STOP condition (P) by the
port (40), is the only valid value for the MReg address. master.
The master initiates the turn-around of the transfer di- Note: The Am79C975 controller does not validate the
rection by asserting a repeated START condition, fol- register address specified in the Block Read command.
lowed by the repeated 7-bit slave address. This time, A Block Read command to a register other than the Re-
the Read/Write bit is set to 1 to indicate that the next ceive Data port will yield unexpected data. The master
bytes of data are driven by the Am79C975 controller must also make sure to only issue a Block Read com-
(R). The Am79C975 controller acknowledges the trans- mand when there is data left in the Receive Data memory.
fer and then continues driving the MDATA line. The first
byte is the byte count indicating how many bytes of
data will follow. The byte count field will indicate 32 in
all but the last transaction, in which the byte count field
will indicate the remaining bytes of the frame. This time,
Am79C973/Am79C975 B-5
P R E L I M I N A R Y
If the second slave address in the Block Read Com- The master, receiving the NACK, must abort the cycle
mand is not the one of the Am79C975 controller, the by generating a STOP condition.
device will release the MDATA line to generate a NACK.
1 7 1 1 8 1 1 7 1 1
8 1 8 1 8 1 1
Key:
Detailed Functions Note that the SMIU is not accessible while the
Am79C975 controller is reading the content of the EE-
Global Enable/Disable PROM after H_RESET (for ~ 1.7 ms). The device will
Bit 15 (SMIUEN) in BCR2 is used to enable/disable the not drive the Acknowledge bit during that time and the
Serial Management Interface Unit in the Am79C975 access by the master will time-out.
controller. If SMIUEN is set to 0 (default), the SMIU is
disabled. If SMIUEN is set to 1, the SMIU is enabled. SMIU Bus Frequency
BCR2 is programmable via the EEPROM. The SMIU operating frequency is set by programming
BCR2 register bits. The equation for SMIU bus fre-
Identification quency is FI2C = 2500/(M+1)*2N+1 kHz, assuming that
The SMIU of the Am79C975 controller provides a com- a 25 MHz crystal has been used. The maximum value
prehensive set of registers that allow the identification of M is F (Hex) and N is 7 (Hex). With different combi-
of the device. ID information includes Vendor ID, Device nations of M and N, the SMIU bus frequency can vary
ID and Revision ID. In addition, the Subsystem Vendor from 0.5 kHz to 1.25 MHz. It should be noted that the
ID and Subsystem ID allow a system manufacturer to frequencies that can be programmed through BCR2
differentiate his product from a product by another ven- are not continuous. For example, say FI2C = 10 kHz,
dor who is also using the Am79C975 controller. All then (M+1)*2N+1 = 250. It is impossible to have such M
SMIU ID registers are shadow registers of the respec- and N combinations that make an exact 250. With
tive PCI registers and can be initialized via the EE- M = E (Hex) and N = 3 (Hex), we get FI2C = 10.41,
PROM (with the exception of the Revision ID). The host which will work with a 10 kHz bus frequency. The fol-
can verify that the registers are correctly initialized from lowing is a list of BCR2 contents for various SMIU bus
the EEPROM by checking the PVALID bit in the SMIU frequencies.
Am79C975 Status register.
BCR2 (Hex) FI2C (kHz)
Initialization A643 10
The SMIU of the Am79C975 controller does not require A463 13
any complex initialization in order to transmit or receive A642 20
management frames. Only the acknowledgment frame
A422 30
filter needs to be setup in order to receive incoming
frames (see section Receive Operation later). A641 40
A461 50
The host should check the content of the Transceiver
Status register to make sure the Am79C975 controller A202 60
is connected to a network (LINK set to 1), before any A640 80
transmit or receive operation is started. A460 100
B-6 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 B-7
P R E L I M I N A R Y
network. Any value above 128 will create unpredictable (MTX_ERR). The transmit status bits remain valid as
results. Padding is not supported by the SMIU. long as the MTX_START bit is set to 0.
Once the Transmit Data memory is filled with the data The Transmit Retry Error condition requires special at-
of the alert frame and the Transmit Message Length tention. It can happen, that the START or STOP bit is
register is setup with the length of the alert frame, the set in the Am79C975 controller to change normal oper-
host must set the MTX_START bit in the Transmit Sta- ation. START and STOP cause a reset of the transmit
tus register to start the transmission. The Am79C975 logic. Normal transmission of an alert frame will suc-
controller will transmit the alert frame after any pending ceed. If, however, the SMIU is in the middle of a backoff
frame transmission (including retries) has completed. interval or the transmission of the alert frame is suffer-
The host can poll the MTX_DONE bit in the Interrupt ing a collision, the transmission will abort and the
register to determine if the transmission of the alert MTX_RTRY bit will be set. If MTX_RTRY is set in the
frame has already ended. The MTX_DONE bit will be SMIU Transmit Status register, the host should re-
set to a 1 after the end of transmission, independent of transmit the frame.
the success of the operation. The MTX_DONE bit will
auto-clear after reading the Interrupt register. Receive Operation
The System Management Interface Unit (SMIU) of the
The MTX_ADR register is cleared by setting the
Am79C975 controller provides a separate 128-byte
MTX_START bit. The host must not load data for a new
Receive Data memory to store an incoming manage-
alert frame into the Transmit Data memory until the
ment or acknowledgment frame. The normal receive
transmission of the current frame is ended as indicated
address matching mechanism (physical address, logi-
by the MTX_DONE bit. It is possible to issue a new
cal address, broadcast address) of the MAC cannot be
MTX_START command without loading new data to
used by the SMIU. The Am79C975 controller provides
the Transmit Data memory or updating the MTX_LEN
an Acknowledgment Frame Filter instead. The filter is
register.
stored in a 40-byte Receive Pattern RAM.
The Am79C975 controller provides an asynchronous
The Receive Pattern RAM is organized as 8 pattern
interrupt pin to signal the host that the transmission of
words of 5 bytes each. Each pattern word holds four
the alert frame is complete. After the end of the trans-
bytes of data to be compared with the incoming frame
mission, the MIRQ pin will be asserted, if the global in-
plus mask information that indicates which bytes
terrupt enable bit MIRQEN in the Command register is
should be included in the comparison. The pattern
set to a 1 and the transmit interr upt mask bit
word also contains a field that indicates how many
(MTX_DONEM) is cleared to 0 (default state). Once
Dwords of the incoming frame should be skipped be-
MIRQ is asserted, the host can read the MTX_DONE
fore this Dword of pattern is compared with frame data.
bit in the Interrupt register to determine that the inter-
This field makes it unnecessary to store data for long
rupt was caused by the end of the transmission. The
series of bytes that will be excluded from the compari-
read of the Interrupt register will clear the MTX_DONE
son anyway. A maximum of 7 Dwords (28 bytes) can be
bit and cause the deassertion of the MIRQ pin. The In-
skipped. If the filter pattern contains a string of more
terrupt register also provides a global interrupt bit
than 7 Dwords that must be excluded from the compar-
MIRQ that is the OR of the MTX_DONE and
ison, one or more pattern words will be loaded with the
MRX_DONE bits.
value 7h in the Skip field and 0h in the Mask field. Fi-
Once the MTX_DONE bit indicates that the transmis- nally the most significant bit of the pattern word indi-
sion of the alert frame has ended, MTX_START is cates whether or not this word is the end of the stored
cleared and the SMIU Transmit Status register provides pattern.
the error status for the transmission. Three error condi-
The format of the pattern words is shown below.
tions are reported: Late Collision, Loss of Carrier and
Retry Error. There is also an error summary bit
Bytes of data to be compared with the incoming frame. The least significant byte corresponds to the
31:0 Pattern
first byte of the Dword received from the network.
Bits 3:0 of this field correspond to bytes 3:0 of the pattern field. If bit n of this field is 0, byte n of the
35:32 Mask
pattern is ignored in the comparison.
This field indicates how many Dwords of the incoming frame must be skipped before the pattern in this
38:36 Skip word is compared with data from the incoming frame. A maximum of 7 Dwords may be skipped per
pattern word.
39 EOP End of Pattern. If this bit is set, this pattern word contains the last Dword of the frame filter.
B-8 Am79C973/Am79C975
P R E L I M I N A R Y
The host must load the Receive Pattern RAM using pattern word. The first pattern word is followed by the
one or multiple Block Write commands to the Receive second pattern word. The host need not write all 8 pat-
Pattern RAM Data port. The command code of the tern words. The last pattern word must have the EOP
Block Write command must be set to 34, the address of bit set, even if the pattern word number 8 is the last
the Receive Pattern RAM Data port. The byte count one. Words following the EOP bit are ignored. The host
field can have any value since it is ignored by the must make sure that no more than 40 bytes are written
Am79C975 controller. The device is capable of receiv- to the Receive Pattern RAM. When MRX_ENABLE is
ing any amount of frame filter bytes even passed the set to 1, the MRX_PADR register will clear to 0 and no
limit of 32 bytes as defined by the SMB specification. write to the Receive Pattern RAM may occur. A new ac-
The location within the Receive Pattern RAM where the knowledgment frame filter can be written to the Re-
next byte is written to is controlled by the Receive Pat- ceive Pattern RAM after disabling the receiver by
tern RAM Address register (MRX_PADR). This register setting MRX_ENABLE to 0.
will come up cleared to 0 after H_RESET. With every
The table below shows how a sample pattern would be
byte write the address register will auto-increment. This
stored in the Receive Pattern RAM. Note that in the 4
allows a FIFO-type access to the Receive Pattern RAM
columns containing the frame data, the byte in the left-
and the host does not need to keep track of the location
most column is closer to the start of the frame than the
he is writing to. In addition, MRX_PADR can be set to
byte in the rightmost column. The 4 columns showing
any address within the Receive Pattern RAM in order
pattern data stored in the RAM show the least signifi-
to modify a specific location. The sequence the Re-
cant byte of the RAM word in the rightmost column.
ceive Pattern RAM must be written is LSB (bits 7:0) of
the first pattern word, followed by bits 15:8 of the first
0 00 00 1A 00 1 0 0 1111 00 1A 00 00
4 E0 1B xx xx 2 0 0 0011 xx xx 1B E0
8 xx xx xx xx
12 08 06 xx xx 3 0 1 0011 xx xx 06 08
16 xx xx xx xx
20 xx 01 xx xx 4 0 1 0010 xx xx 01 xx
24 xx xx xx xx
28 xx xx xx xx
32 xx xx xx xx
36 xx xx 9d 37 5 0 3 1100 37 9d xx xx
40 c7 48 xx xx 6 1 0 0011 xx xx 48 c7
Once the acknowledgment frame filter has been loaded memory. A message length greater than 132 indicates
to the Receive Pattern RAM, the host must set the that message data bytes have been lost from the end
MRX_ENABLE bit in the Receive Status register to en- of the message. The Receive Message Length register
able the reception of acknowledgment frames. (MRX_LEN) will indicate the correct message length
up to 255 bytes. It will freeze at 255 for longer frames.
When an incoming frame passes the acknowledgment
Pad stripping is not supported by the SMIU. The setting
frame filter, the Am79C975 controller will store the
of the ASTRP_RCV bit in CSR4 only effects the recep-
frame data in the Receive Data memory. Runt frames
tion of normal frames and not of acknowledgment
(frames shorter than 64 bytes) are automatically de-
frames. Note that if the main receiver of the Am79C975
leted, unless MRX_RPA (bit 2 in the SMIU Command
device is enabled, the acknowledgment frame will also
register) is set to a 1. If the incoming frame is larger
be passed up to the network driver and from there to
than 128 bytes (including FCS), the Am79C975 con-
the protocol stack. The frame format of the acknowl-
troller will only store the first 128 bytes and discard the
edgment frame should be designed such that it will be
rest. A message length between 129 and 132 bytes in-
identified by the protocol stack as a special frame and
dicates that only FCS bytes have been lost and all mes-
thrown away. There will be no real performance impact
sage data bytes are available in the Receive Data
Am79C973/Am79C975 B-9
P R E L I M I N A R Y
since the frequency of the acknowledgment frames is address inside the Receive Data memory. Note, that
very low. the byte count field in the Block Read command will
only reflect the correct amount of transfer data if the ac-
Once the receive activity has ended, the Am79C975
cess starts at Receive Data memory address 0. If
controller will set the MRX_DONE bit in the Interrupt
MRX_ADR is manually changed, the byte count field
register and clear the MRX_ENABLE bit in the Receive
should be ignored. The host must use the Receive
Status register. The MIRQ pin will be asserted, if the
Message Length register (MRX_LEN) to determine the
global interrupt enable bit MIRQEN in the Command
length of the data read operation. Data will be unde-
register is set to a 1 and the receive interrupt mask bit
fined, if the host reads further than the Receive Mes-
(MRX_DONEM) is cleared to 0 (default state). Once
sage Length register is indicating.
MIRQ is asserted, the host can read the MRX_DONE
bit in the Interrupt register to determine that the inter- The Receive Data memory will be protected from over-
rupt was caused by the end of the reception. The read writing by another frame, until the host enables the next
of the Interrupt register will clear the MRX_DONE bit receive by setting the MRX_ENABLE bit the Receive
and cause the deassertion of the MIRQ pin. The Inter- Status register. The operation will also clear the Re-
rupt register also provides a global interrupt bit MIRQ ceive Address register.
that is the OR of the MRX_DONE and MTX_DONE bits.
Loopback Operation
Once the MRX_DONE bit indicates that the reception
The SMIU provides a looback mode for diagnostic pur-
of the acknowledgment frame has ended, the Receive
poses. If MLOOP in the Command register is set to 1,
Status register provides the error status for the recep-
the receive path is not being blocked while the device
tion. Two error conditions are reported: Framing Error
is transmitting in half-duplex mode. Receive is never
and Frame Check Sequence Error. There is also an
blocked in full-duplex mode and MLOOP has no effect
error summary bit (MRX_ERR). The receive status bits
in this mode.
remain valid as long as the MRX_ENABLE bit is set to
0. The host has the option to discard an erroneous For loopback operation, transmit data must be sent
frame by simply not reading the receive data and un- back to the receiver. This is done at the transceiver by
protecting the Receive Data memory by setting the either using an external loopback connector or by pro-
MRX_ENABLE bit. gramming the transceiver for loopback mode. The pro-
gramming must be done using the Am79C975 CSR/
The host must read the Receive Message Length reg-
BCR register interface. This limits the SMIU loopback
ister in order to determine the length of the frame. The
mode to a debug or manufacturing test environment.
data from the Receive Data memory is read byte by
byte using one or multiple Block Read commands from User Accessible Registers
the Receive Data port. The command code of the Block
The Serial Management Interface Unit (SMIU) of the
Read command must be set to 40, the address of the
Am79C975 controller provides four types of user ac-
Receive Data port. The Am79C975 controller will indi-
cessible registers: device ID registers, node address
cate in the byte count field the number of bytes that will
registers, device status registers and control and status
follow. The byte count field will indicate 32 in all but the
registers. Most registers are accessible via the Read
last transaction in which the byte count field will indi-
Byte and/or Write Byte commands. Only the access to
cate the remaining bytes of the frame. The device is ca-
the Transmit and Receive Data port as well as to the
pable of transferring data beyond the 32 byte mark. If
Receive Pattern RAM Data port is performed as a
the host does not assert NACK after the 32nd byte, the
Block Read or Block Write command. In all commands,
Am79C975 controller will continue driving receive data
the command code is interpreted as the address of the
onto the MDATA line until the host asserts NACK. If the
register.
master does not have enough buffer space for the in-
coming data, it can abort the data transfer after any Device ID Registers
byte. The Am79C975 controller will start the next Block
The following register allow the unique identification of
Read command with the remaining data. The location
the Am79C975 device in a system.
within the Receive Data memory from where the next
byte is read is controlled by the Receive Address regis- SMIU Vendor ID Register 0 (MReg Address 0)
ter. This register will come up cleared to 0 after This register is a shadow register of the PCI Vendor ID
H_RESET. With every byte read the address register Register bits 7:0. The PCI Vendor ID Register is loaded
will auto-increment. This allows a FIFO-type access to from the EEPROM.
the Receive Data memory and the host does not need
to keep track of the location he is reading from. In addi- Bit No. Name and Description
tion, MRX_ADR can be set to any address within the 7:0 MVENDOR_ID[7:0]
Receive Data memory in order to read a specific loca-
tion or to start the receive data read from an arbitrary Default: 22h Read only, write has no effect.
B-10 Am79C973/Am79C975
P R E L I M I N A R Y
These are the lower 8-bits of a register that SMIU Subsystem Vendor ID Register 0 (MReg
identifies AMD as the manufacturer of the Address 5)
Am79C975 device. This register is a shadow register of the PCI Subsystem
Vendor ID Register bits 7:0. The PCI Subsystem
SMIU Vendor ID Register 1 (MReg Address 1)
Vendor ID Register is loaded from the EEPROM.
This register is a shadow register of the PCI Vendor ID
Register bits 15:8. The PCI Vendor ID Register is Bit No. Name and Description
loaded from the EEPROM. 7:0 MSUBVEN_ID[7:0]Default: 00hRead only,
Bit No. Name and Description write has no effect
7:0 MVENDOR_ID[15:8] These are the lower 8-bits of a register that to-
gether with the Subsystem ID uniquely identi-
Default: 10h Read only, write has no effect. fies the add-in card or subsystem the
Am79C975 device is used in.
These are the upper 8-bits of a register that
identifies AMD as the manufacturer of the SMIU Subsystem Vendor ID Register 1 (MReg
Am79C975 device. Address 6)
SMIU Device ID Register 0 (MReg Address 2) This register is a shadow register of the PCI Subsystem
Vendor ID Register bits 15:8. The PCI Subsystem
This register is a shadow register of the PCI Device ID Vendor ID Register is loaded from the EEPROM.
Register bits 7:0.
Bit No. Name and Description
Bit No. Name and Description
7:0 MSUBVEN_ID[15:8]
7:0 MDEVICE_ID[7:0]
Default: 00h Read only, write has no effect
Default: 00h Read only, write has no effect.
These are the upper 8-bits of a register that to-
These are the lower 8-bits of a register that gether with the Subsystem ID uniquely identi-
identifies the Am79C975 device within AMD’s fies the add-in card or subsystem the
product line. Am79C975 device is used in.
SMIU Device ID Register 1 (MReg Address 3) SMIU Subsystem ID Register 0 (MReg Address 7)
This register is a shadow register of the PCI Device ID This register is a shadow register of the PCI Subsystem
Register bits 15:8. ID Register bits 7:0. The PCI Subsystem ID Register is
Bit No. Name and Description loaded from the EEPROM.
7:0 MDEVICE_ID[15:8] Bit No. Name and Description
7:0 MSUBSYS_ID[7:0]Default: 00hRead only,
Default: 20h Read only, write has no effect
write has no effect
These are the upper 8-bits of a register that
These are the lower 8-bits of a register that to-
identifies the Am79C975 device within AMD’s
gether with the Subsystem Vendor ID uniquely
product line.
identifies the add-in card or subsystem the
SMIU Revision ID Register (MReg Address 4) Am79C975 device is used in.
This register is a shadow register of the PCI Revision SMIU Subsystem ID Register 1 (MReg Address 8)
ID Register.
This register is a shadow register of the PCI Subsystem
Bit No. Name and Description Vendor ID Register bits 15:8. The PCI Subsystem ID
Register is loaded from the EEPROM.
7:0 MREVISION_ID
Bit No. Name and Description
Default: 40h Read only, write has no effect
7:0 MSUBSYS_ID[15:8]
This 8-bit register specifies the Am79C975
controller revision number. The upper 4 bits of Default: 00h Read only, write has no effect.
the register value are fixed to 4h, the lower four
These are the upper 8-bits of a register that to-
bits are silicon-revision dependent. The initial
gether with the Subsystem Vendor ID uniquely
revision value will be 40h.
Am79C973/Am79C975 B-11
P R E L I M I N A R Y
identifies the add-in card or subsystem the Byte 3 of the Node IEEE Address register. The
Am79C975 device is used in. Node IEEE Address is the unique 48-bit ad-
dress of the station, the Am79C975 controller
Node ID Registers is used in.
The following registers provide the IEEE and IP ad-
Node IEEE Address 4 (MReg Address 13)
dresses of the node using the Am79C975 devices, as
well as of the management station. This register is a shadow register of the APROM location
04h. APROM location 04h is loaded from the EEPROM.
Node IEEE Address 0 (MReg Address 9)
Bit No. Name and Description
This register is a shadow register of the APROM location
00h. APROM location 00h is loaded from the EEPROM. 7:0 N_IEEE_ADR[39:32]
Bit No. Name and Description Default: 00h Read only, write has no effect.
7:0 N_IEEE_ADR[7:0]
Byte 4 of the Node IEEE Address register. The
Default: 00h Read only, write has no effect. Node IEEE Address is the unique 48-bit ad-
dress of the station, the Am79C975 controller
Byte 0 (the LSB) of the Node IEEE Address is used in.
register. The Node IEEE Address is the unique
48-bit address of the station, the Am79C975 Node IEEE Address 5 (MReg Address 14)
controller is used in. This register is a shadow register of the APROM location
05h. APROM location 05h is loaded from the EEPROM.
Node IEEE Address 1 (MReg Address 10)
Bit No. Name and Description
This register is a shadow register of the APROM location
01h. APROM location 01h is loaded from the EEPROM. 7:0 N_IEEE_ADR[47:40]
Bit No. Name and Description Default: 00h Read only, write has no effect.
7:0 N_IEEE_ADR[15:8]
Byte 5 (the MSB) of the Node IEEE Address
Default: 00h Read only, write has no effect. register. The Node IEEE Address is the unique
48-bit address of the station, the Am79C975
Byte 1 of the Node IEEE Address register. The controller is used in.
Node IEEE Address is the unique 48-bit ad-
dress of the station, the Am79C975 controller Node IP Address 0 (MReg Address 15)
is used in. This register is loaded from the EEPROM.
Node IEEE Address 2 (MReg Address 11) Bit No. Name and Description
This register is a shadow register of the APROM location 7:0 N_IP_ADR[7:0]Default: 00hRead only, write
02h. APROM location 02h is loaded from the EEPROM. has no effect.
Bit No. Name and Description Byte 0 (the LSB) of the Node IP Address regis-
7:0 N_IEEE_ADR[23:16] ter. The Node IP Address is the 32-bit address
used in the IP protocol header to address the
Default: 00h Read only, write has no effect. station, the Am79C975 controller is used in. This
register can also be used as general purpose 8-
Byte 2 of the Node IEEE Address register. The bit register that is loaded from the EEPROM.
Node IEEE Address is the unique 48-bit ad-
dress of the station, the Am79C975 controller Node IP Address 1 (MReg Address 16)
is used in. This register is loaded from the EEPROM.
Node IEEE Address 3 (MReg Address 12) Bit No. Name and Description
This register is a shadow register of the APROM location 7:0 N_IP_ADR[15:8]
03h. APROM location 03h is loaded from the EEPROM.
Default: 00h Read only, write has no effect.
Bit No. Name and Description
7:0 N_IEEE_ADR[31:24] Byte 1 of the Node IP Address register. The
Node IP Address is the 32-bit address used in
Default: 00h Read only, write has no effect. the IP protocol header to address the station,
B-12 Am79C973/Am79C975
P R E L I M I N A R Y
the Am79C975 controller is used in. This reg- Default: 00h Read only, write has no effect.
ister can also be used as general purpose 8-bit
register that is loaded from the EEPROM. Byte 1 of the Management Station IEEE Ad-
dress register. The Management Station IEEE
Node IP Address 2 (MReg Address 17) Address is the unique 48-bit address of the
This register is loaded from the EEPROM. station that is used as the management con-
sole in the network. This register can also be
Bit No. Name and Description used as general purpose 8-bit register that is
7:0 N_IP_ADR[23:16] loaded from the EEPROM.
Default: 00h Read only, write has no effect. Management Station IEEE Address 2 (MReg
Address 21)
Byte 2 of the Node IP Address register. The This register is loaded from the EEPROM.
Node IP Address is the 32-bit address used in
the IP protocol header to address the station, Bit No. Name and Description
the Am79C975 controller is used in. This reg- 7:0 M_IEEE_ADR[23:16]
ister can also be used as general purpose 8-bit
register that is loaded from the EEPROM. Default: 00h Read only, write has no effect.
Management Station IP Address 3 (MReg Address Byte 2 of the Management Station IEEE Ad-
18) dress register. The Management Station IEEE
This register is loaded from the EEPROM. Address is the unique 48-bit address of the
station that is used as the management con-
Bit No. Name and Description sole in the network. This register can also be
7:0 N_IP_ADR[31:24] used as general purpose 8-bit register that is
loaded from the EEPROM.
Default: 00h Read only, write has no effect.
Management Station IEEE Address 3 (MReg
Byte 3 (the MSB) of the Node IP Address reg- Address 22)
ister. The Node IP Address is the 32-bit ad- This register is loaded from the EEPROM.
dress used in the IP protocol header to
address the station, the Am79C975 controller Bit No. Name and Description
is used in. This register can also be used as 7:0 M_IEEE_ADR[31:24]
general purpose 8-bit register that is loaded
from the EEPROM. Default: 00h Read only, write has no effect.
Management Station IEEE Address 0 (MReg Byte 3 of the Management Station IEEE Ad-
Address 19) dress register. The Management Station IEEE
This register is loaded from the EEPROM. Address is the unique 48-bit address of the
station that is used as the management con-
Bit No. Name and Description sole in the network. This register can also be
7:0 M_IEEE_ADR[7:0]Default: 00hRead only, used as general purpose 8-bit register that is
write has no effect. loaded from the EEPROM.
Byte 0 (the LSB) of the Management Station Management Station IEEE Address 4 (MReg
IEEE Address register. The Management Sta- Address 23)
tion IEEE Address is the unique 48-bit address This register is loaded from the EEPROM.
of the station that is used as the management
Bit No. Name and Description
console in the network. This register can also
be used as general purpose 8-bit register that 7:0 M_IEEE_ADR[39:32]
is loaded from the EEPROM.
Default: 00h Read only, write has no effect.
Management Station IEEE Address 1 (MReg
Address 20) Byte 4 of the Management Station IEEE Ad-
dress register. The Management Station IEEE
This register is loaded from the EEPROM.
Address is the unique 48-bit address of the
Bit No. Name and Description station that is used as the management con-
sole in the network. This register can also be
7:0 M_IEEE_ADR[15:8]
Am79C973/Am79C975 B-13
P R E L I M I N A R Y
used as general purpose 8-bit register that is Bit No. Name and Description
loaded from the EEPROM.
7:0 M_IP_ADR[23:16]
Management Station IEEE Address 5 (MReg
Address 24) Default: 00h Read only, write has no effect.
This register is loaded from the EEPROM. Byte 2 of the Management Station IP Address
Bit No. Name and Description register. The Management Station IP Address
is the 32-bit address used in the IP protocol
7:0 M_IEEE_ADR[47:40] header to address the station that functions as
the management console in the network. This
Default: 00h Read only, write has no effect. register can also be used as general purpose
8-bit register that is loaded from the EEPROM.
Byte 5 (the MSB) of the Management Station
IEEE Address register. The Management Sta- Management Station IP Address 3 (MReg Address
tion IEEE Address is the unique 48-bit address 28)
of the station that is used as the management
console in the network. This register can also This register is loaded from the EEPROM.
be used as general purpose 8-bit register that Bit No. Name and Description
is loaded from the EEPROM.
7:0 M_IP_ADR[31:24]
Management Station IP Address 0 (MReg Address
25) Default: 00hRead only, write has no effect.
This register is loaded from the EEPROM. Byte 3 (the MSB) of the Management Station
Bit No. Name and Description IP Address register. The Management Station
IP Address is the 32-bit address used in the IP
7:0 M_IP_ADR[7:0] protocol header to address the station that
functions as the management console in the
Default: 00h Read only, write has no effect. network. This register can also be used as
general purpose 8-bit register that is loaded
Byte 0 (the LSB) of the Management Station IP
from the EEPROM.
Address register. The Management Station IP
Address is the 32-bit address used in the IP
Device Status Registers
protocol header to address the station that
functions as the management console in the The following registers allow to determine the status of
network. This register can also be used as the Am79C975 device as it relates to the normal mode
general purpose 8-bit register that is loaded of operation (i.e. not related to the Serial Management
from the EEPROM. Am79C975 Unit).
SMIU Am79C975 Status (MReg Address 29)
Management Station IP Address 1 (MReg Address
26) This register is a shadow register of some bits in CSR0,
BCR19 and some bits in the PCI PCMCSR register.
This register is loaded from the EEPROM.
Bit No. Name and Description
Bit No. Name and Description
7:6 POWERSTATE
7:0 M_IP_ADR[15:8]
Default: 00 Read only, write has no effect.
Default: 00h Read only, write has no effect.
This two bit field indicates the current power
Byte 1 of the Management Station IP Address
state of the Am79C975 controller. The defini-
register. The Management Station IP Address
tion of the field values is given below:
is the 32-bit address used in the IP protocol
00b - D0
header to address the station that functions as
01b - D1
the management console in the network. This
10b - D2
register can also be used as general purpose
11b - D3
8-bit register that is loaded from the EEPROM.
5 RESERVED Default: 0Read as ZERO only
Management Station IP Address 2 (MReg Address
27) Reserved bits. For future use only
This register is loaded from the EEPROM.
B-14 Am79C973/Am79C975
P R E L I M I N A R Y
Default: 0 Read only, write has no effect. Reserved bits. For future use only
Am79C973/Am79C975 B-15
P R E L I M I N A R Y
B-16 Am79C973/Am79C975
P R E L I M I N A R Y
The SMIU Receive Pattern RAM Address reg- SMIU Transmit Message Length Register (MReg
ister contains the address of the location in the Address 37)
Receive Pattern RAM where the next byte of Bit No. Name and Description
the Acknowledgment Frame Filter is written to.
The register is cleared to 0 by H_RESET and 7:0 MTX_ LEN
every time the MRX_ENABLE bit is set to 1.
The address register autoincrements with ev- Default: 00h Read/Write
ery byte write to the Receive Pattern RAM.
The SMIU Transmit Message Length contains
This allows a FIFO-type access to the Receive
the number of bytes from the Transmit Data
Pattern RAM and the host does not need to
memory that will be transmitted by the
keep track of the location he is writing to. In ad-
Am79C975 controller as the alert frame. The 4
dition, MRX_PADR can be set to any address
bytes of FCS checksum are not part of the
within the Receive Pattern RAM in order to
memory content, but are calculated by the con-
modify a specific location.
troller and appended to the frame. The host is
MIU Receive Pattern RAM Data Port (MReg Address responsible to load a valid value into the
34) Transmit Message Length register. Any value
below 60 will create a runt frame on the net-
Bit No. Name and Description work. Any value above 128 will create unpre-
7:0 MRX_PDATA dictable results.
Default: undefined Read/Write SMIU Transmit Status Register (MReg Address 38)
Bit No. Name and Description
This is the 8-bit data port used to write to the
Receive Pattern RAM. 7 MTX_START
This is the 8-bit data port used to write to the Default: 0 Read only, write has no effect.
Transmit Data memory.
Am79C973/Am79C975 B-17
P R E L I M I N A R Y
Transmit Loss of Carrier indicates that the SMIU Receive Message Length Register (MReg
transceiver was in Link Fail state during the Address 41)
transmission of the alert frame. MTX_LCAR is Bit No. Name and Description
valid while MTX_START is set to 0.
MTX_LCAR is cleared by H_RESET. 7:0 MRX _LEN
Bit No. Name and Description SMIU Receive Status Register (MReg Address 42)
7:0 MRX_ADR Bit No. Name and Description
Default: undefinedRead only, write has no ef- Default: 0 Read only, write has no effect.
fect.
Framing error indicates that the acknowledg-
This is the 8-bit data port used to read from the ment frame contains a non-integer multiple of
Receive Data memory. eight bits and that there was an FCS error. If
B-18 Am79C973/Am79C975
P R E L I M I N A R Y
there was no FCS error on the acknowledg- on the acknowledgment frame. MRX_FCS is
ment frame, then MRX_FRAM will not be set valid while MRX_ENABLE is set to 0.
even if there was a non-integer multiples of MRX_FCS is cleared by H_RESET.
eight bits in the frame. MRX_FRAM is valid
while MRX_ENABLE is set to 0. 0 MRX_ERR
MTX_MRX_FRAM is cleared by H_RESET.
Default: 0 Read only, write has no effect.
1 MRX_FCS
Receive Error is the OR of the MRX_FRAM
Default: 0 Read only, write has no effect. and MRX_FCS error. MRX_ERR is valid while
MRX_ENABLE is set to 0. MRX_ERR is
Frame Check Sequence error indicates that cleared by H_RESET.
the receiver has detected an FCS (CRC) error
Am79C973/Am79C975 B-19
P R E L I M I N A R Y
Register Summary
B-20 Am79C973/Am79C975
P R E L I M I N A R Y
3Eh 7Dh Reserved for Boot ROM usage 7Ch Reserved for Boot ROM usage
3Fh 7Fh Reserved for Boot ROM usage 7Eh Reserved for Boot ROM usage
Note: * Lowest EEPROM address.
Am79C973/Am79C975 B-21
P R E L I M I N A R Y
DC CHARACTERISTICS
Parameter
Symbol Parameter Description Test Conditions Min Max Units
SMIU Input Voltage
VIL Input LOW Voltage 0.6 V
VIH Input HIGH Voltage 1.4 V
SMIU Output Voltage
VOL Output LOW Voltage IOL = 6 mA 0.4 V
SMIU Input Leakage Current
IIX Input Leakage VIN = 0 V; VDD = 3.3 V -10 10 µA
SWITCHING CHARACTERISTICS
Parameter
Symbol Parameter Name Test Condition Min Max Unit
Clock Timing (Serial Management Interface)
FMCLOCK MCLOCK Frequency 10 100 KHz
tHIGH MCLOCK High Time @VIHmin 4.0 50 µs
tLOW MCLOCK Low Time @VILmax 4.7 -- µs
tFALL MCLOCK Fall Time From VIHmin to VILmax -- 300 ns
tRISE MCLOCK Rise Time From VILmax to VIHmin -- 1000 ns
Data Timing (Serial Management Interface)
tSU MDATA Setup Time @VILmax 250 -- ns
tHD MDATA Hold Time @VILmax 300 -- ns
tFALL MDATA Fall Time From VIHmin to VILmax 300 ns
tRISE MDATA Rise Time From VILmax to VIHmin 1000 ns
B-22 Am79C973/Am79C975
P R E L I M I N A R Y
SWITCHING WAVEFORMS
MDATA
tSU tHD
MCLOCK
tRISE tFALL
21510D-7B
Am79C973/Am79C975 B-23
P R E L I M I N A R Y
B-24 Am79C973/Am79C975
APPENDIX C
4
RXD(3:0)
RX_DV
Receive Signals
RX_ER
RX_CLK
CRS
MII Interface
21510C-1
Am79C973/Am79C975 C-1
P R E L I M I N A R Y
C-2 Am79C973/Am79C975
P R E L I M I N A R Y
OP TA
Preamble ST PHY Register
10 Rd Z0 Rd Data Idle
1111....1111 01 Address Address
01 Wr 10 Wr Z
32 2 2 5 5 2 16 1
Bits Bits Bits Bits Bits Bits Bits Bit
21510C-2
This is followed by a start field (ST) and an operation Auto-Poll External PHY Status Polling
field (OP). The operation field (OP) indicates whether As defined in the IEEE 802.3 standard, the external
the Am79C973/Am79C975 controller is initiating a PHY attached to the Am79C973/Am79C975 control-
read or write operation. This is followed by the external ler’s MII has no way of communicating important timely
PHY address (PHYADD) and the register address (RE- status information back to Am79C973/Am79C975 con-
GAD) programmed in BCR33. The PHY address of 1Fh troller. The Am79C973/Am79C975 controller has no
is reserved and should not be used. The external PHY way of knowing that an external PHY has undergone a
may have a larger address space starting at 10h - 1Fh. change in status without polling the MII status register.
This is the address range set aside by the IEEE as ven- To prevent problems from occurring with inadequate
dor usable address space and will vary from vendor to host or software polling, the Am79C973/Am79C975
vendor. This field is followed by a bus turnaround field. controller will Auto-Poll when APEP (BCR32, bit 11) is
During a read operation, the bus turnaround field is set to 1 to insure that the most current information is
used to determine if the external PHY is responding available. See MII Management Registers section for
correctly to the read request or not. The Am79C973/ the bit descriptions of the MII Status Register. The con-
Am79C975 controller will tri-state the MDIO for both tents of the latest read from the external PHY will be
MDC cycles. stored in a shadow register in the Auto-Poll block. The
During the second cycle, if the external PHY is syn- first read of the MII Status Register will just be stored,
chronized to the Am79C973/Am79C975 controller, the but subsequent reads will be compared to the contents
external PHY will drive a 0. If the external PHY does not already stored in the shadow register. If there has been
drive a 0, the Am79C973/Am79C975 controller will sig- a change in the contents of the MII Status Register, a
nal a MREINT (CSR7, bit 9) interrupt, if MREINTE MAPINT (CSR7, bit 5) interrupt will be generated on
(CSR7, bit 8) is set to a 1, indicating the Am79C973/ INTA if the MAPINTE (CSR7, bit 4) is set to 1. The Auto-
Am79C975 controller had an MII management frame Poll features can be disabled if software driver polling
read error and that the data in BCR34 is not valid. The is required.
data field to/from the external PHY is read or written The Auto-Poll’s frequency of generating MII manage-
into the BCR34 register. The last field is an IDLE field ment frames can be adjusted by setting of the APDW bits
that is necessary to give ample time for drivers to turn (BCR32, bits 10-8). The delay can be adjusted from 0
off before the next access. The Am79C973/Am79C975 MDC periods to 2048 MDC periods. Auto-Poll by default
controller will drive the MDC to 0 and tri-state the MDIO will only read the MII Status register in the external PHY.
anytime the MII Management Port is not active.
Network Port Manager
To help to speed up the reading and of writing the MII
management frames to the external PHY, the MDC can The Am79C973/Am79C975 controller is unique in that
be sped up to 10 MHz by setting the FMDC bits in is does not require software intervention to control and
BCR32. The IEEE 802.3 specification requires use of configure an external PHY attached to the MII. This
the 2.5-MHz clock rate, but 5 MHz and 10 MHz are was done to ensure backwards compatibility with exist-
available for the user. The intended applications are ing software drivers. To the current software drivers, the
that the 10-MHz clock rate can be used for a single ex- Am79C973/Am79C975 controller will look and act like
ternal PHY on an adapter card or motherboard. The 5- the PCnet-PCI II and will interoperate with existing
MHz clock rate can be used for an exposed MII with PCnet drivers from revision 2.5 upward. The heart of
one external PHY attached. The 2.5-MHz clock rate is this system is the Network Port Manager.
intended to be used when multiple external PHYs are If the external PHY is present and is active, the Net-
connected to the MII Management Port or if compli- work Port Manager will request status from the external
ance to the IEEE 802.3u standard is required. PHY by generating MII management frames. These
frames will be sent roughly every 900 ms. These
frames are necessary so that the Network Por t
Am79C973/Am79C975 C-3
P R E L I M I N A R Y
Manager can monitor the current active link and can should then configure the por ts with PORTSEL
select a different network port if the current link goes (CSR15, bits 7-8).
down.
Note: It is highly recommended that ASEL and
Auto-Negotiation PORTSEL be used when trying to manually configure
a specific network port.
Through the external PHY, the following capabilities are
possible: 100BASE-T4, 100BASE-TX Full-/Half-Du- In order to manually configure the External PHY, the
plex, and 10BASE-T Full-/Half-Duplex. The capabilities recommended procedure is to force the PHY config-
are then sent to a link partner that will also send its ca- urations when Auto-Negotiation is not enabled. Set the
pabilities. Both sides look to see what is possible and DANAS bit (BCR32, bit 7) to turn off the Network Port
then they will connect at the greatest possible speed Manager. Then clear the XPHYANE (BCR32, bit 5) and
and capability as defined in the IEEE 802.3u standard set either XPHYFD (BCR32, bit 4) or XPHYSP
and according to Table C-1. (BCR32, bit 3) or both. The Network Port Manager will
send a few MII frames to the PHY to validate the con-
By default, the link partner must be at least 10BASE-T figuration.
half-duplex capable. The Am79C973/Am79C975 con-
troller can automatically negotiate with the network and CAUTION: The Network Port Manager utilizes the
yield the highest performance possible without soft- PHYADD (BCR33, bits 9-5) to communicate with the
ware support. See the section on Network Port Manager external PHY during the automatic port selection pro-
for more details. cess. The PHYADD is copied into a shadow register
after the Am79C973/Am79C975 controller has read
the configuration information from the EEPROM. Ex-
Table C-1. Auto-Negotiation Capabilities treme care must be exercised by the host software not
to access BCR33 during this time. A read of PVALID
Network Speed Physical Network Type
(BCR19, bit 15) before accessing BCR33 will guaran-
200 Mbps 100BASE-X, Full Duplex tee that the PHYADD has been shadowed.
Am79C973/Am79C975’s Automatic Network Port se-
100 Mbps 100BASE-T4, Half Duplex lection mechanism falls within the following general
categories:
100 Mbps 100BASE-X, Half Duplex
■ External PHY Not Auto-Negotiable
20 Mbps 10BASE-T, Full Duplex
■ External PHY Auto-Negotiable
10 Mbps 10BASE-T, Half Duplex Automatic Network Selection: External PHY Not
Auto-Negotiable
Auto-Negotiation goes further by providing a message-
based communication scheme called, Next Pages, be- This case occurs when the MIIPD (BCR32, bit 14) bit is
fore connecting to the Link Partner. This feature is not 1. This indicates that there is an external PHY attached
suppor ted in Am79C973/Am79C975 unless the to Am79C973/Am79C975 controller’s MII. If more than
DANAS (BCR32, bit 10) is selected and the software one external PHY is attached to the MII Management
driver is capable of controlling the external PHY. A Interface, then the DANAS (BCR32, bit 7) bit must be
complete bit description of the MII and Auto-Negotia- set to 1 and then all configuration control should revert
tion registers can be found in the MII Management to software. The Am79C973/Am79C975 controller will
Registers section. read the register of the external PHY to determine its
status and network capabilities. See the MII Manage-
Automatic Network Port Selection ment Registers section for the bit descriptions of the
If ASEL (BCR2, bit 0) is set to 1 and DANAS (BCR 32, MII Status register. If the external PHY is not Auto-Ne-
bit 7) is set to 0, then the Network Port Manager will gotiation capable and/or the XPHYANE (BCR32, bit 5)
start to configure the external PHY if it detects the bit is set to 0, then the Network Port Manager will match
external PHY on the MII Interface. up the external PHY capabilities with the XPHYFD (BCR
32, bit 4) and the XPHYSP (BCR32, bit 3) bits pro-
Automatic Network Selection: Exceptions grammed from the EEPROM. The Am79C973/
If ASEL (BCR2, bit 0) is set to 0 or DANAS (BCR 32, bit Am79C975 controller will then program the external PHY
7) is set to 1, then the Network Port Manager will dis- with those values. A new read of the external PHYs MII
continue actively trying to establish the connections. It Status register will be made to see if the link is up. If the
is assumed that the software driver is attempting to link does not come up as programmed after a specific
configure the network por t and the Am79C973/ time, the Am79C973/Am79C975 controller will fail the ex-
Am79C975 controller will always defer to the software ternal PHY link. The Network Port Manager will periodi-
driver. When The ASEL is set to 0, the software driver cally query the external PHY for active links.
C-4 Am79C973/Am79C975
P R E L I M I N A R Y
Automatic Network Selection: External PHY address from the nibble as it arrives at the Am79C973/
Auto-Negotiable Am79C975 controller, to compare the captured ad-
This case occurs when the MIIPD (BCR32, bit 14) bit is dress with a table of stored addresses or identifiers,
1. This indicates that there is an external PHY attached and then to determine whether or not the Am79C973/
to Am79C973/Am79C975 controller’s MII. If more than Am79C975 controller should accept the packet.
one external PHY is attached to the MII Management If an address match is detected by comparison with ei-
Interface, then the DANAS (BCR32, bit 7) bit must be ther the Physical Address or Logical Address Filter reg-
set to 1 and then all configuration control should revert isters contained within the Am79C973/Am79C975
to software. The Am79C973/Am79C975 controller will controller or the frame is of the type 'Broadcast', then
read the MII Status register of the external PHY to de- the frame will be accepted regardless of the condition
termine its status and network capabilities. If the exter- of EAR. When the EADISEL bit of BCR2 is set to 1 and
nal PHY is Auto-Negotiation capable and/or the the Am79C973/Am79C975 controller is programmed
XPHYANE (BCR32, bit 5) bit is set to 1, then the to promiscuous mode (PROM bit of the Mode Register
Am79C973/Am79C975 controller will start the external is set to 1), then all incoming frames will be accepted,
PHY’s Auto-Negotiation process. The Am79C973/ regardless of any activity on the EAR pin.
Am79C975 controller will write to the external PHY’s
Advertisement register with the following conditions Internal address match is disabled when PROM
set: turn off the Next Pages support, set the Technology (CSR15, bit 15) is cleared to 0, DRCVBC (CSR15, bit
Ability Field from the external PHY MII Status register 14) and DRCVPA (CSR15, bit 13) are set to 1, and the
read, and set the Type Selector field to the IEEE 802.3 Logical Address Filter registers (CSR8 to CSR11) are
standard. The Am79C973/Am79C975 controller will programmed to all zeros.
then write to the external PHY’s MII Control register in- When the EADISEL bit of BCR2 is set to 1 and internal
structing the external PHY to negotiate the link. The address match is disabled, then all incoming frames
Am79C973/Am79C975 controller will poll the external will be accepted by the Am79C973/Am79C975 control-
PHY’s MII Status register until the Auto-Negotiation ler, unless the EAR pin becomes active during the first
Complete bit is set to 1and the Link Status bit is set to 64 bytes of the frame (excluding preamble and SFD).
1. The Am79C973/Am79C975 controller will then wait This allows external address lookup logic approxi-
a specific time and then again read the external PHY’s mately 58 byte times after the last destination address
MII Status register. If the Am79C973/Am79C975 con- bit is available to generate the EAR signal, assuming
troller sees that the external PHY’s link is down, it will that the Am79C973/Am79C975 controller is not config-
try to bring up the external PHY’s link manually as de- ured to accept runt packets. The EADI logic only sam-
scribed above. A new read of the external PHY’s MII ples EAR from 2 bit times after SFD until 512 bit times
Status register will be made to see if the link is up. If the (64 bytes) after SFD. The frame will be accepted if EAR
link does not come up as programmed after a specific has not been asserted during this window. In order for
time, the Am79C973/Am79C975 controller will fail the the EAR pin to be functional in full-duplex mode, FDR-
external PHY link and start the process again. PAD bit (BCR9, bit 2) needs to be set. If Runt Packet
Automatic Network Selection: Force External Reset Accept (CSR124, bit 3) is enabled, then the EAR signal
must be generated prior to the 8 bytes received, if
If the XPHYRST bit (BCR32, bit 6) is set to 1, then the frame rejection is to be guaranteed. Runt packet sizes
flow changes slightly. The Am79C973/Am79C975 con- could be as short as 12 byte times (assuming 6 bytes for
troller will write to the external PHY’s MII Control regis- source address, 2 bytes for length, no data, 4 bytes for
ter with the RESET bit set to 1 (See the MII FCS) after the last bit of the destination address is avail-
Management Registers section for the MII register bit able. EAR must have a pulse width of at least 110 ns.
descriptions). This will force a complete reset of the ex-
ternal PHY. The Am79C973/Am79C975 controller after The EADI outputs continue to provide data throughout
a specific time will poll the external PHY’s MII Control the reception of a frame. This allows the external logic to
register to see if the RESET bit is 0. After the RESET capture frame header information to determine protocol
bit is cleared, then the normal flow continues. type, internetworking information, and other useful data.
External Address Detection Interface The EADI interface will operate as long as the STRT bit
in CSR0 is set, even if the receiver and/or transmitter
The EADI is provided to allow external address filtering are disabled by software (DTX and DRX bits in CSR15
and to provide a Receive Frame Tag word for propri- are set). This configuration is useful as a semi-power-
etary routing information. It is selected by setting the down mode in that the Am79C973/Am79C975 control-
EADISEL bit in BCR2 to 1. This feature is typically ler will not perform any power-consuming DMA
utilized by terminal servers, bridges and/or router operations. However, external circuitry can still respond
products. The EADI interface can be used in conjunc- to control frames on the network to facilitate remote
tion with external logic to capture the packet destination
Am79C973/Am79C975 C-5
P R E L I M I N A R Y
node control. Table C-2 summarizes the operation of tagging implementation will be a two--wire chip inter-
the EADI interface. face, respectively, added to the existing EADI.
RX_CLK
RX_DV
SFBD
MIIRXFRTGE
21510C-3
MIIRXFRTGD
C-6 Am79C973/Am79C975
P R E L I M I N A R Y
Note:
1. R/W = Read/Write, SC = Self Clearing, RO = Read only.
Am79C973/Am79C975 C-7
P R E L I M I N A R Y
Status Register (Register 1) This register is read only; a write will have no effect.
See Table C-5.
The MII Management Status Register identifies the
physical and auto-negotiation capabilities of the PHY.
C-8 Am79C973/Am79C975
P R E L I M I N A R Y
When set, the device wishes to engage in next page exchange. If clear, the
15 Next Page R/W
device does not wish to engage in next page exchange.
14 Reserved RO
When set, a remote fault bit is inserted into the base link code word during
13 Remote Fault the Auto Negotiation process. When cleared, the base link code word will R/W
have the bit position for remote fault as cleared.
A0 10BASE-T
A2 100BASE-TX
A3 100BASE-TX Full Duplex
A4 100BASE-T4
Am79C973/Am79C975 C-9
P R E L I M I N A R Y
Auto-Negotiation Link Partner Ability of the link partner. The bit definitions represent the re-
Register (Register 5) ceived link code word. This register contains either the
base page or the link partner's next pages. See Table
The Auto-Negotiation Link Partner Ability Register is C-8.
Read Only. The register contains the advertised ability
Table C-8. Auto-Negotiation Link Partner Ability Register (Register 5) - Base Page Format
Read/
Bit(s) Name Description Write
C-10 Am79C973/Am79C975
P R E L I M I N A R Y
Parameter
Symbol Parameter Name Test Condition Min Max Unit
Transmit Timing
measured from Vilmax = 0.8 V or
TX_EN, TX_ER, TXD valid from
tTVAL measured from Vihmin = 2.0V 0 25 ns
↑ TX_CLK
(Note 1)
Receive Timing
measured from Vilmax = 0.8 V or
RX_DV, RX_ER, RXD setup to
tRSU measured from Vihmin = 2.0V 10 ns
↑ RX_CLK
(Note 1)
measured from Vilmax = 0.8 V or
RX_DV, RX_ER, RXD hold to
tRH measured from Vihmin = 2.0V 10 ns
↑ RX_CLK
(Note 1)
Management Cycle Timing
tMHIGH MDC Pulse Width HIGH Time CLOAD = 390 pf 160 ns
tMLOW MDC Pulse Width LOW Time CLOAD = 390 pf 160 ns
tMCYC MDC Cycle Period CLOAD = 390 pf 400 ns
CLOAD = 470 pf,
measured from Vilmax = 0.8 V or
tMSU MDIO setup to ↑ MDC 10 ns
measured from Vihmin = 2.0V
(Note 1)
CLOAD = 470 pf,
measured from Vilmax = 0.8 V or
tMH MDIO hold to ↑ MDC 10 ns
measured from Vihmin = 2.0V
(Note 1)
CLOAD = 470 pf,
measured from Vilmax = 0.8 V or tMCYC -
tMVAL MDIO valid from ↑ MDC ns
measured from Vihmin = 2.0V, tMSU
(Note 1)
Notes:
1. MDIO valid measured at the exposed mechanical Media Independent Interface.
2. TXCLK and RXCLK frequency and timing parameters are defined for the external physical layer transceiver as defined in the
IEEE 802.3u standard. They are not replicated here.
Am79C973/Am79C975 C-11
P R E L I M I N A R Y
Vihmin
TX_CLK Vilmax
tTVAL
TXD[3:0], Vihmin
TX_EN, Vilmax
TX_ER 21510C-4
Vihmin
RX_CLK
Vilmax
tRSU tRH
RXD[3:0],
RX_ER, Vihmin
RX_DV Vilmax
21510C-5
tMHIGH
2.4
2.0 V tMLOW 2.0 V
MDC 1.5 V 1.5 V
0.8 V 0.8 V
0.4
tMCYC 21510C-6
C-12 Am79C973/Am79C975
P R E L I M I N A R Y
Vihmin
MDC
Vilmax
tMSU tMH
MDIO Vihmin
Vilmax
21510C-7
Vihmin
MDC Vilmax
tTMVAL
Vihmin
MDIO Vilmax
21510C-8
Figure C-8. Management Data Output Valid Delay Timing
Am79C973/Am79C975 C-13
P R E L I M I N A R Y
RX_CLK
tEAD8
RX_DV tEAD9 tEAD10
EAR tEAD7
SFBD
21510C-9
RX_CLK
Preamble SFD DA DA DA
RXD[3:0]
tEAD11
EAR
SFBD
21510C-10
Figure C-10. Reject Timing - External PHY MII @ 2.5 MHz
C-14 Am79C973/Am79C975
P R E L I M I N A R Y
RX_CLK
Preamble SFD DA DA DA
RXD[3:0]
RX_DV
EAR
SFBD
tEAD14 tEAD17
RXFRTGE
tEAD15
RXFRTGD
tEAD16
21510C-11
Figure C-11. Receive Frame Tag Timing with Media Independent Interface
Am79C973/Am79C975 C-15
P R E L I M I N A R Y
C-16 Am79C973/Am79C975
APPENDIX D
Am79C973/Am79C975 D-1
P R E L I M I N A R Y
D-2 Am79C973/Am79C975
APPENDIX E
Am79C973/Am79C975 E-1
P R E L I M I N A R Y
Note: The labels in the following text are used as ref- Note: Even though the third buffer is not owned by the
erences in the timeline diagram that follows (Figure Am79C973 controller, existing AMD Ethernet control-
B-1). lers will continue to perform data DMA into the buffer
Setup space that the controller already owns (i.e., buffer num-
ber 2). The controller does not know if buffer space in
The driver should set up descriptors in groups of three, buffer number 2 will be sufficient or not for this frame,
with the OWN and STP bits of each set of three de- but it has no way to tell except by trying to move the en-
scriptors to read as follows: 11b, 10b, 00b. tire message into that space. Only when the message
An option bit (LAPPEN) exists in CSR3, bit position 5; does not fit will it signal a buffer error condition--there is
the software should set this bit. When set, the LAPPEN no need to panic at this point that it discovers that it
bit directs the Am79C973 controller to generate an IN- does not yet own descriptor number 3.
TERRUPT when STP has been written to a receive de- S2 The first task of the drivers interrupt service
scriptor by the Am79C973 controller. routing is to collect the header information
Flow from the Am79C973 controller’s first buffer and
pass it to the application.
The Am79C973 controller polls the current receive de-
scriptor at some point in time before a message arrives. S3 The application will return an application buffer
The Am79C973 controller determines that this receive pointer to the driver. The driver will add an off-
buffer is OWNed by the Am79C973 controller and it set to the application data buffer pointer, since
stores the descriptor information to be used when a the Am79C973 controller will be placing the
message does arrive. first portion of the message into the first and
second buffers. (the modified application data
N0 Frame preamble appears on the wire, followed buffer pointer will only be directly used by the
by SFD and destination address. Am79C973 controller when it reaches the third
N1 The 64th byte of frame data arrives from the buffer.) The driver will place the modified data
wire. This causes the Am79C973 controller to buffer pointer into the final descriptor of the
begin frame data DMA operations to the first group (#3) and will grant ownership of this de-
buffer. scriptor to the Am79C973 controller.
C0 When the 64th byte of the message arrives, C5 Interleaved with S2, S3, and S4 driver activity,
the Am79C973 controller performs a looka- the Am79C973 controller will write frame data
head operation to the next receive descriptor. to buffer number 2.
This descriptor should be owned by the S4 The driver will next proceed to copy the con-
Am79C973 controller. tents of the Am79C973 controller’s first buffer
C1 The Am79C973 controller intermittently re- to the beginning of the application space. This
quests the bus to transfer frame data to the first copy will be to the exact (unmodified) buffer
buffer as it arrives on the wire. pointer that was passed by the application.
S1 The driver remains idle. S5 After copying all of the data from the first buffer
into the beginning of the application data
C2 When the Am79C973 controller has com- buffer, the driver will begin to poll the owner-
pletely filled the first buffer, it writes status to ship bit of the second descriptor. The driver is
the first descriptor. waiting for the Am79C973 controller to finish
C3 When the first descriptor for the frame has filling the second buffer.
been written, changing ownership from the C6 At this point, knowing that it had not previously
A m 7 9 C 9 7 3 c o n t r o l l e r t o t h e C P U, t h e owned the third descriptor and knowing that
Am79C973 controller will generate an SRP IN- the current message has not ended (there is
TERRUPT. (This interrupt appears as a RINT more data in the FIFO), the Am79C973 con-
interrupt in CSR0). troller will make a last ditch lookahead to the
S1 The SRP INTERRUPT causes the CPU to final (third) descriptor. This time the ownership
switch tasks to allow the Am79C973 control- will be TRUE (i.e., the descriptor belongs tot he
ler’s driver to run. controller), because the driver wrote the appli-
cation pointer into this descriptor and then
C4 During the CPU interrupt-generated task changed the ownership to give the descriptor
switching, the Am79C973 controller is per- to the Am79C973 controller back at S3. Note
forming a lookahead operation to the third de- that if steps S1, S2, and S3 have not com-
scr iptor. At this point in time, the third pleted at this time, a BUFF error will result.
descriptor is owned by the CPU.
E-2 Am79C973/Am79C975
P R E L I M I N A R Y
C7 After filling the second buffer and performing N2 The message on the wire ends.
the last chance lookahead to the next descrip-
S7 When the driver completes the copy of buffer
tor, the Am79C973 controller will write the sta-
number 2 data to the application buffer space,
tus and change the ownership bit of descriptor
it begins polling descriptor number 3.
number 2.
C9 When the Am79C973 controller has finished
S6 After the ownership of descriptor number 2 has
all data DMA operations, it writes status and
been changed by the Am79C973 controller,
changes ownership of descriptor number 3.
the next driver poll of the second descriptor will
show ownership granted to the CPU. The S8 The driver sees that the ownership of descrip-
driver now copies the data from buffer number tor number 3 has changed, and it calls the ap-
2 into the middle section of the application plication to tell the application that a frame has
buffer space. This operation is interleaved with arrived.
the C7 and C8 operations.
S9 The application processes the received frame
C8 The Am79C973 controller will perform data and generates the next TX frame, placing it into
DMA to the last buffer, whose pointer is point- a TX buffer.
ing to application space. Data entering the
S10 The driver sets up the TX descriptor for the
least buffer will not need the infamous double
Am79C973 controller.
copy that is required by existing drivers, since
it is being placed directly into the application
buffer space.
Am79C973/Am79C975 E-3
P R E L I M I N A R Y
generated.
C2: Controller writes descriptor #1.
21510B-B1
E-4 Am79C973/Am79C975
P R E L I M I N A R Y
LAPP Software Requirements needed for the drive to copy data from buffer number 2
to the application buffer space. Note that the time
Software needs to set up a receive ring with descriptors
needed for the copies performed by the driver depends
formed into groups of three. The first descriptor of each
upon the sizes of the second and third buffers, and that
group should have OWN = 1 and STP = 1, the second
the sizes of the second and third buffers need to be set
descriptor of each group should have OWN = 1 and
according to the time needed for the data copy opera-
STP = 0. The third descriptor of each group should
tions. This means that an iterative self-adjusting mech-
have OWN = 0 and STP = 0. The size of the first buffer
anism needs to be placed into the software to
(as indicated in the first descriptor) should be at least
determine the correct buffer sizing for optimal opera-
equal to the largest expected header size; however, for
tion. Fixed values for buffer sizes may be used; in such
maximum efficiency of CPU utilization, the first buffer
a case, the LAPP method will still provide a significant
size should be larger than the header size. It should be
performance increase, but the performance increase
equal to the expected number of message bytes, minus
will not be maximized.
the time needed for interrupt latency and minus the ap-
plication call latency, minus the time needed for the Figure B-2 illustrates this setup for a receive ring size
driver to write to the third descriptor, minus the time of 9.
Descriptor OWN = 1 STP = 1 Note that the times needed for tasks S1,
#7 SIZE = A-(S1+S2+S3+S4+S6) S2, S3, S4, and S6 should be divided by
0.8 microseconds to yield an equivalent
Descriptor OWN = 1 STP = 0 number of network byte times before
#8 SIZE = S1+S2+S3+S4 subtracting these quantities from the
Descriptor OWN = 0 STP = 0 expected message size A.
#9 SIZE = S6
21510B-B2
LAPP Rules for Parsing Descriptors ■ Software must discard all descriptors with OWN = 0
and STP = 0 and move to the next descriptor when
When using the LAPP method, software must use a
searching for the beginning of a new frame; ENP and
modified form of descriptor parsing as follows:
ERR should be ignored by software during this
■ Software will examine OWN and STP to determine search.
where an RCV frame begins. RCV frames will only ■ Software cannot change an STP value in the receive
begin in buffers that have OWN = 0 and STP = 1. descriptor ring after the initial setup of the ring is
■ Software shall assume that a frame continues until complete, even if software has ownership of the STP
it finds either ENP = 1 or ERR = 1.
Am79C973/Am79C975 E-5
P R E L I M I N A R Y
descriptor, unless the previous STP descriptor in the for receive purposes by the controller, and the driver
ring is also OWNED by the software. must recognize this. (The driver will recognize this if it
When LAPPEN = 1, then hardware will use a modified follows the software rules.)
form of descriptor parsing as follows: The controller will ignore all descriptors with OWN = 0
■ The controller will examine OWN and STP to deter- and STP = 0 and move to the next descriptor when
mine where to begin placing an RCV frame. A new searching for a place to begin a new frame. In other
RCV frame will only begin in a buffer that has words, the controller is allowed to skip entries in the
OWN = 1 and STP =1. ring that it does not own, but only when it is looking for
a place to begin a new frame.
■ The controller will always obey the OWN bit for de-
termining whether or not it may use the next buffer Some Examples of LAPP Descriptor
for a chain. Interaction
■ The controller will always mark the end of a frame Choose an expected frame size of 1060 bytes. Choose
with either ENP = 1 or ERR = 1. buffer sizes of 800, 200, and 200 bytes.
The controller will discard all descriptors with OWN = 1 ■ Example 1: Assume that a 1060 byte frame arrives
and STP = 0 and move to the next descriptor when correctly, and that the timing of the early interrupt
searching for a place to begin a new frame. It discards and the software is smooth. The descriptors will
these descriptors by simply changing the ownership bit have changed from:
from OWN = 1 to OWN = 0. Such a descriptor is unused
Descriptor Before the Frame Arrives After the Frame Arrives Comments (After
Number OWN STP ENPa OWN STP ENPb Frame Arrival)
1 1 1 x 0 1 0 Bytes 1-800
2 1 0 X 0 0 0 Bytes 801-1000
3 0 0 X 0 0 1 Bytes 1001-1060
Controller’s current
4 1 1 X 1 1 X
location
5 1 0 X 1 0 X Not yet used
6 0 0 X 0 0 X Not yet used
etc. 1 1 X 1 1 X Net yet used
a. & b. ENP or ERR.
■ Example 2: Assume that instead of the expected because this is the last frame in a file transmission
1060 byte frame, a 900 byte frame arrives, either sequence.
because there was an error in the network, or
Descriptor Before the Frame Arrives After the Frame Arrives Comments (After
Number OWN STP ENPa OWN STP ENPb Frame Arrival)
1 1 1 x 0 1 0 Bytes 1-800
2 1 0 X 0 0 0 Bytes 801-1000
3 0 0 X 0 0 ?* Discarded buffer
Controller’s current
4 1 1 X 1 1 X
location
5 1 0 X 1 0 X Not yet used
6 0 0 X 0 0 X Not yet used
etc. 1 1 X 1 1 X Net yet used
a. & b. ENP or ERR.
Note: The Am79C973 controller might write a ZERO the controller will write a ZERO to ENP for this buffer
to ENP location in the third descriptor. Here are the two and will write a ZERO to OWN and STP.
possibilities: 2. If the controller finishes the data transfers into buffer
1. If the controller finishes the data transfers into buffer number 2 before the driver writes the applications
number 2 after the driver writes the application modified buffer point into the third descriptor, then
modified buffer pointer into the third descriptor, then the controller will complete the frame in buffer num-
ber 2 and then skip the then unowned third buffer. In
E-6 Am79C973/Am79C975
P R E L I M I N A R Y
this case, the Am79C973 controller will not have fore the Am79C973 controller has completed its poll
had the opportunity to RESET the ENP bit in this of the next descriptors. This means that for almost
descriptor, and it is possible that the software left all occurrences of this case, the Am79C973 control-
this bit as ENP = 1 from the last time through the ler will not find the OWN bit set for this descriptor
ring. Therefore, the software must treat the location and, therefore, the ENP bit will almost always con-
as a don’t care. The rule is, after finding ENP = 1 (or tain the old value, since the Am79C973 controller
ERR = 1) in descriptor number 2, the software must will not have had an opportunity to modify it.
ignore ENP bits until it finds the next STP = 1. **Note that even though the Am79C973 controller will
■ Example 3: Assume that instead of the expected write a ZERO to this ENP location, the software should
1060 byte frame, a 100 byte frame arrives, because treat the location as a don’t care, since after finding the
there was an error in the network, or because this is ENP = 1 in descriptor number 2, the software should ig-
the last frame in a file transmission sequence, or nore ENP bits until it finds the next STP = 1.
perhaps because it is an acknowledge frame. the
interrupt and get the pointer from the application be-
Descriptor Before the Frame Arrives After the Frame Arrives Comments (After
Number OWN STP ENPa OWN STP ENPb Frame Arrival)
1 1 1 x 0 1 0 Bytes 1-800
2 1 0 X 0 0 0** Discarded buffer
3 0 0 X 0 0 ? Discarded buffer
Controller’s current
4 1 1 X 1 1 X
location
5 1 0 X 1 0 X Not yet used
6 0 0 X 0 0 X Not yet used
etc. 1 1 X 1 1 X Net yet used
a. & b.ENP or ERR.
Buffer Size Tuning S8. A perfectly timed system will have the values for S5
and S7 at a minimum.
For maximum performance, buffer sizes should be ad-
justed depending upon the expected frame size and An average increase in performance can be achieved,
the values of the interrupt latency and application call if the general guidelines of buffer sizes in Figure 2 is fol-
latency. The best driver code will minimize the CPU uti- lowed. However, as was noted earlier, the correct sizing
lization while also minimizing the latency from frame for buffers will depend upon the expected message
end on the network to the frame sent to application size. There are two problems with relating expected
from driver (frame latency). These objectives are aimed message size with the correct buffer sizing:
at increasing throughput on the network while decreas- 1. Message sizes cannot always be accurately pre-
ing CPU utilization. dicted, since a single application may expect differ-
Note: The buffer sizes in the ring may be altered at ent message sizes at different times. Therefore, the
any time that the CPU has ownership of the corre- buffer sizes chosen will not always maximize
sponding descriptor. The best choice for buffer sizes throughput.
will maximize the time that the driver is swapped out, 2. Within a single application, message sizes might be
while minimizing the time from the last byte written by somewhat predictable, but when the same driver is
the Am79C973 controller to the time that the data is to be shared with multiple applications, there may
passed from the driver to the application. In the dia- not be a common predictable message size.
gram, this corresponds to maximizing S0, while mini-
mizing the time between C9 and S8. (the timeline Additional problems occur when trying to define the
happens to show a minimal time from C9 to S8.) correct sizing because the correct size also depends
upon the interrupt latency, which may vary from system
Note: By increasing the size of buffer number 1, we in- to system, depending upon both the hardware and the
crease the value of S0. However, when we increase the software installed in each system.
size of buffer number 1, we also increase the value of
S4. If the size of buffer number 1 is too large, then the In order to deal with the unpredictable nature of the mes-
driver will not have enough time to perform tasks S2, sage size, the driver can implement a self-tuning mechanism
S3, S4, S5, and S6. The result is that there will be delay that examines the amount of time spent in tasks S5 and S7.
from the execution of task C9 until the execution of task As such, while the driver is polling for each descriptor, it could
count the number of poll operations performed and then
Am79C973/Am79C975 E-7
P R E L I M I N A R Y
adjust the number 1 buffer size to a larger value, by The time from the end of frame arrival on the wire to de-
adding “t” bytes to the buffer count, if the number of poll livery of the frame to the application is labeled as frame
operations was greater than ”x.” If fewer than “x” poll op- latency. For the one-interrupt method, frame latency is
erations were needed for each of S5 and S7, then soft- minimized, while CPU utilization increases. For the
ware should adjust the buffer size to a smaller value by two-interrupt method, frame latency becomes greater,
subtracting “y” bytes from the buffer count. Experiments with while CPU utilization decreases. See Figure B-3.
such a tuning mechanism must be performed to determine
Note: Some of the CPU time that can be applied to
the best values for “x” and “y.”
non-Ethernet tasks is used for task switching in the
Note: Whenever the size of buffer number 1 is ad- CPU. One task switch is required to swap a non-Ether-
justed, buffer sizes for buffer number 2 and buffer num- net task into the CPU (after S7A) and a second task
ber 3 should also be adjusted. switch is needed to swap the Ethernet driver back in
In some systems, the typical mix of receive frames on again (at S8A). If the time needed to perform these task
a network for a client application consists mostly of switches exceeds the time saved by not polling descrip-
large data frames, with very few small frames. In this tors, then there is a net loss in performance with this
case, for maximum efficiency of buffer sizing, when a method. Therefore, the LAPP method implemented
frame arrives under a certain size limit, the driver should be carefully chosen.
should not adjust the buffer sizes in response to the Figure B-4 shows the buffer sizing for the two-interrupt
short frame. method. Note that the second buffer size will be about
the same for each method.
An Alternative LAPP Flow: Two-Interrupt
Method There is another alternative which is a marriage of the
two previous methods. This third possibility would use
An alternative to the above suggested flow is to use two the buffer sizes set by the two-interrupt method, but
interrupts, one at the start of the receive frame and the would use the polling method of determining frame
other at the end of the receive frame, instead of just end. This will give good frame latency but at the price
looking for the SRP interrupt as described above. This of very high CPU utilization. And still, there are even
alternative attempts to reduce the amount of time that more compromise positions that use various fixed
the software wastes while polling for descriptor own buffer sizes and, effectively, the flow of the one-inter-
bits. This time would then be available for other CPU rupt method. All of these compromises will reduce the
tasks. It also minimizes the amount of time the CPU complexity of the one-interrupt method by removing the
needs for data copying. This savings can be applied to heuristic buffer sizing code, but they all become less ef-
other CPU tasks. ficient than heuristic code would allow.
E-8 Am79C973/Am79C975
P R E L I M I N A R Y
generated.
C2: Controller writes descriptor #1.
21510B-B3
Figure E-3. LAPP Timeline for Two-Interrupt Method
Am79C973/Am79C975 E-9
P R E L I M I N A R Y
Descriptor OWN = 1 STP = 1 Note that the times needed for tasks S1,
#7 SIZE = HEADER_SIZE (minimum 64 bytes) S2, S3, S4, and S6 should be divided by
0.8 microseconds to yield an equivalent
Descriptor OWN = 1 STP = 0 number of network byte times before
#8 SIZE = S1+S2+S3+S4 subtracting these quantities from the
Descriptor OWN = 0 STP = 0 expected message size A.
#9 SIZE = 1518 - (S1+S2+S3+S4+HEADER_SIZE)
21510B-B4
E-10 Am79C973/Am79C975
PRELIMINARY
INDEX
Index-1
P R E L I M I N A R Y
Index-2 Am79C973/Am79C975
P R E L I M I N A R Y
CSR65: Next Transmit Buffer Address Upper 145 Double Word I/O Mode 107
CSR66: Next Transmit Byte Count 145 DVDDA Analog PLL Power 34
CSR67: Next Transmit Status 146 DVDDCO Crystal 34
CSR72: Receive Ring Counter 146 DVDDD, DVDDP PDX Block Power 34
CSR74: Transmit Ring Counter 146 DVDDRX, DVDDTX I/O Buffer Power 34
CSR76: Receive Ring Length 146 DVSSD, DVSSP PDX Ground 34
CSR78: Transmit Ring Length 146 DVSSX All Blocks 34
CSR80: DMA Transfer Counter and FIFO Threshold
Control 147 E
CSR82: Transmit Descriptor Address Pointer Lower EADI Operations 85, C-6
149 EAR 32
CSR84: DMA Address Register Lower 149 EBCLK 30
CSR85: DMA Address Register Upper 149 EBCLK Waveform 231
CSR86: Buffer Byte Counter 149 EBCS Values 177
CSR88: Chip ID Register Lower 149 EBD[7:0] 30
CSR89: Chip ID Register Upper 150 EBDA[15:8] 29
CSR92: Ring Length Conversion 150 EBUA_EBA[7:0] 29
CSR100: Bus Timeout 150 EBWE 30
CSR112: Missed Frame Count 151 EECS 29
CSR114: Receive Collision Count 151 EEDI 29
CSR116: OnNow Power Mode Register 151 EEDO 29
CSR122: Advanced Feature Control 152 EEPROM Auto-Detection 94
CSR124: Test Register 1 153 EEPROM Chip Select 29
CSR125: MAC Enhanced Configuration Control 153 EEPROM Data In 29
Cycle Frame 25 EEPROM Data Out 29
EEPROM Interface 29, 93, 94
D EEPROM MAP 95
DC CHARACTERISTICS OVER COMMERCIAL EEPROM Read Functional Timing 228
OPERATING RANGES 218, B-22 EEPROM Serial clock 29
Decoder 79 EEPROM Timing 221
Descriptor DMA Transfers 54 EEPROM-Programmable Registers 94
Descriptor Ring Read In Burst Mode 55 EESK 29
Descriptor Ring Read In Non-Burst Mode 55 Encoder 78
Descriptor Ring Write In Burst Mode 57 EPROM Only Configuration for the Expansion Bus
Descriptor Ring Write In Non-Burst Mode 57 (>64K EPROM) 89
Descriptor Rings 60 EPROM Only Configuration for the Expansion Bus
Destination Address Handling 67 (64K EPROM) 88
DETAILED FUNCTIONS 36 EROMCS 30
Device B-14 Error Detection 67
Device ID Register 103 Expansion Bus Clock 30
Device Select 25 Expansion Bus Data [7:0] 30
DEVSEL 25 Expansion Bus Data/Address [15:8] 29
Digital Ground (8 Pins) 34 Expansion Bus Interface 86
Digital I/O (Non-PCI Pins) 218 Expansion Bus Read Timing 231
Digital Power (6 Pins) 34 Expansion Bus Upper Address/ Expansion Bus
Direct Access to the Interface 94 Address [7:0] 29
Direct Flash Access 89 Expansion Bus Write Enable 30
Direct SRAM Access 92 Expansion Bus Write Timing 232
Disconnect Of Burst Transfer 40 Expansion ROM - Boot Device Access 86
Disconnect Of Slave Burst Transfer - Host Inserts Wait Expansion ROM Bus Read Sequence 90
States 41 Expansion ROM Read 39
Disconnect Of Slave Burst Transfer - No Host Wait Expansion ROM Transfers 39
States 40 External Address Detection Interface 32, 84, C-5
Disconnect Of Slave Cycle When Busy 40 External PHY 85, C-6
Disconnect When Busy 40 External PHY - MII @ 2.5 MHz 222
Disconnect With Data Transfer 46, 47 External PHY - MII @ 25 MHz 222
Disconnect Without Data Transfer 47, 48 MII Snoop Mode and External PHY Mode 85
DISTINCTIVE CHARACTERISTICS 1 Receive Frame Tagging 85, C-6
Am79C973/Am79C975 Index-3
P R E L I M I N A R Y
External Address Reject Low 32 JTAG (IEEE 1149.1) TCK Waveform for 5 V Signalin
External Clock 223 229
JTAG (IEEE 1149.1) Test Signal Timing 221, 230
F
Far End Fault Generation and Detection 80 K
FIFO Burst Write At End Of Unaligned Buffer 59 Key to Switching Waveforms 226
FIFO Burst Write At Start Of Unaligned Buffer 58
FIFO DMA Transfers 56 L
Flash Read from Expansion Bus Data Port 90 LAPP 3 Buffer Grouping E-5
Flash Write from Expansion Bus Data Port 91 LAPP Timeline E-4
Flash/EPROM Read 89 LAPP Timeline for Two-Interrupt Method E-9
Flow, LAPP E-2 Late Collision 71
FMDC Values 181 LED Control Logic 98
FRAME 25 LED Default Configuration 98
Frame Format at the MII Interface Connection C-3 LED Support 95
Framing 66 LED0 27
Full-Duplex Link Status LED Support 74 LED1 28
Full-Duplex Operation 74 LED2 28
LED3 28
G Legal I/O Accesses in Double Word I/O Mode (DWIO
GENERAL DESCRIPTION 2 =1) 108
GNT 25 Legal I/O Accesses in Word I/O Mode (DWIO = 0) 108
Link Change Detect 99
H Link Monitor 80
H_RESET 105 Look-Ahead Packet Processing (LAPP) Concept E-1
Loopback Configuration 136
I
Loopback Operation 74
I/O Buffer Ground (17 Pins) 34 Loss of Carrier 71
I/O Map In DWord I/O Mode (DWIO = 1) 108 Low Latency Receive Configuration 92
I/O Map In Word I/O Mode (DWIO = 0) 107
I/O Registers 106 M
I/O Resources 106 MAC 66, 67, 68
IDSEL 25 Magic Packet Mode 100
IEEE 1149.1 (1990) Test Access Port Interface 32, 102 Management Cycle Timing C-11
IEEE 1149.1 Supported Instruction Summary 102 Management Data Clock 31
IEEE 802.3 Frame And Length Field Transmission Management Data I/O 31
Order 73 Management Data Output Valid Delay Timing C-13
Initialization 59 Management Data Setup and Hold Timing C-13
Initialization Block 198 Management Interrupt (SMI) Line 98
Initialization Block (SSIZE32 = 0) 198 Management Station IP Address 1 (MReg Address 26)
Initialization Block (SSIZE32 = 1) 198 B-14
Initialization Block DMA Transfers 52 Manual PHY Configuration C-4
Initialization Block Read In Burst Mode 53 Master Abort 49, 51
Initialization Block Read In Non-Burst Mode 53 Master Bus Interface Unit 42
Initialization Device Select 25 Master Cycle Data Parity Error Response 51
Initiator Ready 26 Master Initiated Termination 48
Input Setup and Hold Timing 227 MCLOCK SMI Clock 33
Instruction Register and Decoding Logic 102 MDATA SMI Data 33
INTA 26 MDC 31
Interface Pin Assignment 172 MDC Waveform C-12
Internal Loopback Paths 76 MDIO 31
Internal SRAM Configuration 92 Media Access Management 67
Interrupt Request 26 Media Independent Interface 75
Introduction C-1, E-1 Media Independent Interface (MII) 30, C-1
IRDY 26 Medium Allocation 67
IREF Internal Current Reference 33 Medium Dependent Interface 81
MII Interface 35
J
MII Management Control Register (Register 0 C-7
Jabber Function 83
Index-4 Am79C973/Am79C975
P R E L I M I N A R Y
MII Management Frames C-2 PCI Expansion ROM Base Address Register 116
MII Management Interface C-2 PCI Header Type Register Offset 0Eh 114
MII management registers C-7 PCI I/O Base Address Register Offset 10h 114
MII Network Status Interface C-2 PCI I/O Buffer Power (9 Pins) 34
MII Receive Frame Tag Enable 32 PCI Interface 25
MII Receive Interface C-2 PCI Interrupt Line Register Offset 3Ch 117
MII Transmit Interface C-1 PCI Interrupt Pin Register 117
MIIRXFRTGD 32 PCI Latency Timer Register Offset 0Dh 114
MIIRXFRTGE 32 PCI MAX_LAT Register Offset 3Fh 117
MIRQ SMI Interrupt 33 PCI Memory Mapped I/O Base Address Register 115
Miscellaneous Loopback Features 74 PCI MIN_GNT Register 117
MLT-3 and Adaptive Equalization 80 PCI Next Item Pointer Register Offset 41h 117
PCI PMCSR Bridge Support Extensions Register 119
N PCI PMCSR Bridge Support Extensions Register
NAND Tree Circuitry 103 Offset 46h 119
NAND Tree Pin Sequence 104 PCI Power Management Capabilities Register (PMC)
NAND Tree Testing 103 118
NAND Tree Waveform 104 PCI Power Management Control/Status Register
Network Interfaces 32, 35 (PMCSR) 119
Network Port Manager C-3 PCI Programming Interface Register Offset 09h 113
No SRAM Configuration 92 PCI Revision ID Register Offset 08h 113
Non-Burst FIFO DMA Transfers 56 PCI Status Register Offset 06h 112
Non-Burst Read Transfer 44 PCI Sub-Class Register Offset 0Ah 114
Non-Burst Write Transfer 45 PCI Subsystem ID Register 116
Normal and Tri-State Outputs 226 PCI Subsystem Vendor ID Register 116
PCI Vendor ID Register 110
O
PCI Vendor ID Register Offset 00h 110
OnNow Functional Diagram 99 PCI-to-Wire Fast Ethernet system solution 2
OnNow Pattern Match Mode 100 PCnet™-FAST III Recommended Magnetics A-1
OnNow Wake-Up Sequence 99 PERR 26
Operating Ranges 218, B-22 PG 28
Ordering Information 24 PHY Control and Management Block (PCM Block) 188
Other Data Registers 103 PHY Management Registers 213
Outline of LAPP Flow E-1 PHY Management Registers (ANRs) 188
Output and Float Delay Timing 220 PHY_RST Physical Layer Reset 31
Output Tri-state Delay Timing 228 PHYSICAL DIMENSIONS 233
Output Valid Delay Timing 228 Pin Capacitance 219
P PIN Descriptions 25
PIN Designations (PQL176) (Am79C973/Am79C975)
PADR 199
Listed By Pin Number 19
PAR 26
PIN Designations (PQR160) (Am79C973/Am79C975)
Parity 26
18
Parity Error 26
PIN Designations (PQR160) (Am79C973/Am79C975)
Parity Error Response 41, 49
Listed By Pin Number 18
Pattern Match RAM 101
PIN Designations (PQR160, PQL176) Listed By Group
Pattern Match RAM (PMR) 100
20
PCI Base-Class Register Offset 0Bh 114
PIN Designations Listed By Driver Type 23
PCI Bus Interface Pins - 3.3 V Signaling 218
PIN Designations Listed by Group 21, 22
PCI Bus Interface Pins - 5 V Signaling 218
PMD Interface Timing (MLT-3) 224
PCI Capabilities Pointer Register Offset 34h 117
PMD Interface Timing (PECL) 224
PCI Capability Identifier Register Offset 40h 117
PME 27
PCI Command Register 111
Polling 62
PCI Command Register Offset 04h 111
Power Good 28
PCI Configuration Registers 105, 109, 110, 207
Power Management Event 27
PCI Configuration Space Layout 106
Power Management Support 98
PCI Data Register 120
Power on Reset 105
PCI Data Register Offset 47h 120
Power Savings Mode 98
PCI Device ID Register Offset 02h 110
Power Supply 34
Am79C973/Am79C975 Index-5
P R E L I M I N A R Y
Index-6 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 Index-7
P R E L I M I N A R Y
Index-8 Am79C973/Am79C975