Beruflich Dokumente
Kultur Dokumente
Am79C973/Am79C975
PCnet™-FAST III
Single-Chip 10/100 Mbps PCI Ethernet Controller with Integrated PHY
This document contains information on a product under development at Advanced Micro Devices. The information Publication# 21510 Rev: E Amendment/0
is intended to help you evaluate this product. AMD reserves the right to change or discontinue work on this proposed Issue Date: August 2000
product without notice.
R f t AMD’ W b it ( d )f th l t t i f ti
P R E L I M I N A R Y
■ 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- ler (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 Sub-
mastering device that can be used in any application,
layer (PCS), Physical Medium Attachment (PMA), and
including network-ready PCs and bridge/router de-
Physical Medium Dependent (PMD) functionality for
signs. The bus master architecture provides high data
100BASE-TX, including MLT-3 encoding/decoding. It
throughput and low CPU and system bus utilization.
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 ap-
PHY implements Auto-Negotiation for twisted-pair
plications.
(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 th e i r pr e de c e s s o r s, t h e A m 7 9C 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 pow-
compliant with PC98/PC99 and Wired for Management
erful 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 di-
necessary configuration and data registers. rect interface to the PCI local bus, simplifying the
design of an Ethernet node in a PC system. The
The Am79C973 and Am79C975 controllers are com-
Am79C973 and Am79C975 controllers provide the
plete Ethernet nodes integrated into a single VLSI de-
complete interface to an Expansion ROM or Flash de-
vice. It contains a bus interface unit, a Direct Memory
vice allowing add-on card designs with only a single
Access (DMA) Buffer Management Unit, an ISO/IEC
load per PCI bus interface pin. With their built-in sup-
8802-3 (IEEE 802.3)- compliant Media Access Control-
port for both little and big endian byte alignment, the
2 Am79C973/Am79C975
P R E L I M I N A R Y
controllers also address non-PC applications. The The Am79C973 and Am79C975 controllers are regis-
Am79C973 and Am79C975 controllers’ advanced ter compatible with the LANCE™ (Am7990) Ethernet
CMOS design allows the bus interface to be connected controller, the C-LANCE™ (Am79C90) Ethernet con-
to either a +5-V or a +3.3-V signaling environment. A troller, and all Ethernet controllers in the PCnet™ Fam-
compliant IEEE 1149.1 JTAG test interface for board- ily, except ILACC™ (Am79C900), including the PCnet-
level testing is also provided, as well as a NAND tree ISA™ (Am79C960), PCnet-ISA+™ (Am79C961),
test structure for those systems that cannot support the PCnet-ISA II™ (Am79C961A), PCnet-32™
JTAG interface. (Am79C965), PCnet-PCI™ (Am79C970),
PCnet-PCI II™ (A m79C970A ), P Cnet- FAST™
The Am79C973 and Am79C975 controllers support
(Am79C971), and PCnet-FAST+™ (Am79C972). The
auto-configuration in the PCI configuration space. Ad-
Buffer Management Unit supports the LANCE and
ditional Am79C973 and Am79C975 controller configu-
PCnet descriptor software models.
ration parameters, including the unique IEEE physical
address, can be read from an external non-volatile The Am79C973 and Am79C975 controllers are ideally
memory (EEPROM) immediately following system re- suited for LAN on the motherboard, network adapter
set. card, and embedded designs. It is available in a 160-
pin Plastic Quad Flat Pack (PQFP) package and also in
In addition, the Am79C973 and Am79C975 controllers
a 176-pin Thin Quad Flat Pack (TQFP) package for
provide programmable on-chip LED drivers for trans-
form factor sensitive designs.
mit, receive, collision, link integrity, Magic Packet sta-
tus, 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
VAUXDET RWU PG MIRQ
WUMI
21510D-1
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
TABLE OF CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
RELATED AMD PRODUCTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
CONNECTION DIAGRAM (PQR160) - AM79C973 . . . . . . . . . . . . . . . . . . . . . . . . . . 18
CONNECTION DIAGRAM (PQL176) AM79C973 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
CONNECTION DIAGRAM (PQR160) - AM79C975 . . . . . . . . . . . . . . . . . . . . . . . . . . 20
CONNECTION DIAGRAM (PQL176) - AM79C975 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
PIN DESIGNATIONS (PQR160) (Am79C973/Am79C975) . . . . . . . . . . . . . . . . . . . . 22
Listed By Pin Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
PIN DESIGNATIONS (PQL176) (Am79C973/Am79C975) . . . . . . . . . . . . . . . . . . . . . 23
Listed By Pin Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
PIN DESIGNATIONS (PQR160, PQL176) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Listed By Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
PIN DESIGNATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Listed By Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
PIN DESIGNATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Listed By Driver Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
ORDERING INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
PIN DESCRIPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
PCI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Board Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
EEPROM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Expansion Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Media Independent Interface (MII) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
External Address Detection Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
IEEE 1149.1 (1990) Test Access Port Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Network Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Clock Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Serial Management Interface (SMI) (Am79C975 only) . . . . . . . . . . . . . . . . . . . . . . 37
Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
BASIC FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
System Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Software Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Network Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Serial Management Interface (Am79C975) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
MII Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
DETAILED FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Slave Bus Interface Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Slave Configuration Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Slave I/O Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Expansion ROM Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Slave Cycle Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Parity Error Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Master Bus Interface Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Am79C973/Am79C975 5
P R E L I M I N A R Y
Bus Acquisition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Bus Master DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Target Initiated Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Master Initiated Termination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Master Abort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Parity Error Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Initialization Block DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Descriptor DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
FIFO DMA Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Buffer Management Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Re-Initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Suspend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Buffer Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Descriptor Rings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Polling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Transmit Descriptor Table Entry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Receive Descriptor Table Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Receive Frame Queuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Software Interrupt Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10/100 Media Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Transmit and Receive Message Data Encapsulation. . . . . . . . . . . . . . . . . . . . . 70
Destination Address Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Media Access Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Transmit Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Transmit Function Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Automatic Pad Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Transmit FCS Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Transmit Exception Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Receive Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Receive Function Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Address Matching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Automatic Pad Stripping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Receive FCS Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Receive Exception Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Loopback Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Miscellaneous Loopback Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Full-Duplex Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Full-Duplex Link Status LED Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10/100 PHY Unit Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
100BASE-TX Physical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
100BASE-FX (Fiber Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10BASE-T Physical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
PHY/MAC Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Transmit Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Receive Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Internal PHY Loopback Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6 Am79C973/Am79C975
P R E L I M I N A R Y
Scrambler/Descrambler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Link Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Far End Fault Generation and Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
MLT-3 and Adaptive Equalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Serializer/Deserializer and Clock Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Medium Dependent Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10BASE-T Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Twisted Pair Transmit Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Twisted Pair Receive Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Twisted Pair Interface Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Collision Detect Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Jabber Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Reverse Polarity Detect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Auto-Negotiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Soft Reset Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
External Address Detection Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
External Address Detection Interface: MII Snoop Mode . . . . . . . . . . . . . . . . . . 89
External Address Detection Interface: Receive Frame Tagging . . . . . . . . . . . . 89
Expansion Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Expansion ROM - Boot Device Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Direct Flash Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
AMD Flash Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Direct SRAM Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
EEPROM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Automatic EEPROM Read Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
LED Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Power Savings Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Power Management Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Magic Packet Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
IEEE 1149.1 (1990) Test Access Port Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Boundary Scan Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
TAP Finite State Machine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Supported Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Boundary Scan Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Other Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
H_RESET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
S_RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Power on Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Software Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
PCI Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
I/O Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
USER ACCESSIBLE REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
PCI Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
PCI Vendor ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
PCI Device ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
PCI Command Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
PCI Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
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
10 Am79C973/Am79C975
P R E L I M I N A R Y
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
LIST OF FIGURES
Figure 1. Slave Configuration Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 2. Slave Configuration Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 3. Slave Read Using I/O Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 4. Slave Write Using Memory Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 5. Expansion ROM Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 6. Disconnect Of Slave Cycle When Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figure 7. Disconnect Of Slave Burst Transfer - No Host Wait States . . . . . . . . . . . . . 44
Figure 8. Disconnect Of Slave Burst Transfer - Host Inserts Wait States . . . . . . . . . . 45
Figure 9. Address Parity Error Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figure 10. Slave Cycle Data Parity Error Response 46
Figure 11. Bus Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 12. Non-Burst Read Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figure 13. Burst Read Transfer (EXTREQ = 0, MEMCMD = 0) . . . . . . . . . . . . . . . . . . 48
Figure 14. Non-Burst Write Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 15. Burst Write Transfer (EXTREQ = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Figure 16. Disconnect With Data Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figure 17. Disconnect Without Data Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Figure 18. Target Abort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figure 19. Preemption During Non-Burst Transaction . . . . . . . . . . . . . . . . . . . . . . . . . 54
Figure 20. Preemption During Burst Transaction 54
Figure 21. Master Abort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figure 22. Master Cycle Data Parity Error Response . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figure 23. Initialization Block Read In Non-Burst Mode 57
Figure 24. Initialization Block Read In Burst Mode 57
Figure 25. Descriptor Ring Read In Non-Burst Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figure 26. Descriptor Ring Read In Burst Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figure 27. Descriptor Ring Write In Non-Burst Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Figure 28. Descriptor Ring Write In Burst Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Figure 29. FIFO Burst Write At Start Of Unaligned Buffer . . . . . . . . . . . . . . . . . . . . . . . 62
Figure 30. FIFO Burst Write At End Of Unaligned Buffer . . . . . . . . . . . . . . . . . . . . . . . 63
Figure 31. 16-Bit Software Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Figure 32. 32-Bit Software Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Figure 33. ISO 8802-3 (IEEE/ANSI 802.3) Data Frame . . . . . . . . . . . . . . . . . . . . . . . . 74
Figure 34. IEEE 802.3 Frame And Length Field Transmission Order . . . . . . . . . . . . . . 77
Figure 35. 100BASE-X Transmit and Receive Data Paths of the Internal PHY . . . . . . 81
Figure 36. MLT-3 Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Figure 37. TX± and RX± Termination 86
Figure 38. 10BASE-T Transmit and Receive Data Paths . . . . . . . . . . . . . . . . . . . . . . . 87
Figure 39. Receive Frame Tagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Figure 40. Flash Configuration for the Expansion Bus . . . . . . . . . . . . . . . . . . . . . . . . . 91
Figure 41. EPROM Only Configuration for the Expansion Bus (64K EPROM) . . . . . . . 92
Figure 42. EPROM Only Configuration for the Expansion Bus (64K EPROM) 93
Figure 43. Expansion ROM Bus Read Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Figure 44. Flash Read from Expansion Bus Data Port . . . . . . . . . . . . . . . . . . . . . . . . . 94
Figure 45. Flash Write from Expansion Bus Data Port . . . . . . . . . . . . . . . . . . . . . . . . . 95
Figure 46. Block Diagram No SRAM Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Figure 47. Block Diagram Low Latency Receive Configuration . . . . . . . . . . . . . . . . . . 97
Figure 48. LED Control Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Am79C973/Am79C975 13
P R E L I M I N A R Y
14 Am79C973/Am79C975
P R E L I M I N A R Y
LIST OF TABLES
Table 1. Interrupt Flags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 2. SDI± Settings for Transceiver Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 3. Slave Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 4. Master Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table 5. Descriptor Read Sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table 6. Descriptor Write Sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 7. Receive Address Match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Table 8. Encoder Code-Group Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Table 9. Decoder Code-Group Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 10. Auto-Negotiation Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Table 11. EADI Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Table 12. Am29Fxxx Flash Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Table 13. Am79C973 EEPROM Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Table 14. Am79C975 EEPROM Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Table 15. LED Default Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Table 16. IEEE 1149.1 Supported Instruction Summary . . . . . . . . . . . . . . . . . . . . . . 106
Table 17. BSR Mode Of Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Table 18. Device ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Table 19. PCI Configuration Space Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Table 20. I/O Map In Word I/O Mode (DWIO = 0) . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Table 21. Legal I/O Accesses in Word I/O Mode (DWIO = 0) . . . . . . . . . . . . . . . . . . . 111
Table 22. I/O Map In DWord I/O Mode (DWIO =1). . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Table 23. Legal I/O Accesses in Double Word I/O Mode (DWIO =1). . . . . . . . . . . . . 111
Table 24. Loopback Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Table 25. Software Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Table 26. Receive Watermark Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Table 27. Transmit Start Point Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Table 28. Transmit Watermark Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Table 29. BCR Registers (Am79C973) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Table 30. BCR Registers (Am79C975) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Table 31. ROMTNG Programming Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Table 32. Interface Pin Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Table 33. Software Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Table 34. SRAM_BND Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Table 35. EBCS Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Table 36. CLK_FAC Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Table 37. FMDC Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Table 38. APDW Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Table 39. Am79C973/Am79C975 Internal PHY Management Register Set . . . . . . . 193
Table 40. ANR0: PHY Control Register (Register 0) . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Table 41. ANR1: PHY Status Register (Register 1) . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Table 42. ANR2: PHY Identifier (Register 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Table 43. ANR3: PHY Identifier (Register 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Table 44. ANR4: Auto-Negotiation Advertisement Register (Register 4) . . . . . . . . . . 197
Table 45. ANR5: Auto-Negotiation Link Partner Ability Register (Register 5)
- Base Page Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Table 46. ANR5: Auto-Negotiation Link Partner Ability Register (Register 5)
- Next Page Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Am79C973/Am79C975 15
P R E L I M I N A R Y
16 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 17
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
18 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 19
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
20 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 21
P R E L I M I N A R Y
22 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 23
P R E L I M I N A R Y
24 Am79C973/Am79C975
P R E L I M I N A R Y
PIN DESIGNATIONS
Listed By Group
Am79C973/Am79C975 25
P R E L I M I N A R Y
PIN DESIGNATIONS
Listed by Group (Concluded)
Notes:
1. Not including test features.
2. PHY power and ground pins require careful decoupling to ensure proper device performance.
26 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 control- TX is a differential output driver. Its characteristics and
ler. All IOL and IOH values shown in the table apply to 3.3 those of XTAL2 output are described in the DC Charac-
V signaling. teristics section.
TS3 Tri-State 3 -2 50
TS6 Tri-State 6 -2 50
Am79C973/Am79C975 27
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
28 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 29
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 IN-
flow
TLEVEL (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 ac-
MII
cept 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 re-
in slave mode, it checks parity during every address porting of the error is enabled by setting PERREN (PCI
phase. When it is the target of a cycle, it checks parity Command register, bit 6) to 1. During any master write
during write data phases and it generates parity during 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.
30 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
inter nal 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
be asynchronous to clock when asserted or deas- When RST is active, TRDY is an input for NAND tree
serted. 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
Dur ing 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 assert-
ing PME signal in D3 cold. The VAUXDET pin should
STOP be connected to the auxiliary power supply or to ground
Stop Input/Output through a resistor. If PCI power is used to power the de-
vice, a pull-down resistor is required. For systems that
In slave mode, the Am79C973/Am79C975 controller provide auxiliary power, the VAUXDET pin should be
drives the STOP signal to inform the bus master to stop tied to auxiliary power through a pull-up resistor.
the current transaction. In bus master mode, the
Am79C973/Am79C975 controller checks STOP to de- Board Interface
termine if the target wants to disconnect the current
transaction. Note: Before programming the LED pins, see the
description of LEDPE in BCR2, bit 12.
When RST is active, STOP is an input for NAND tree
testing. LED0
LED0 Output
This output is designed to directly drive an LED. By de-
fault, LED0 indicates an active link connection. This pin
can also be programmed to indicate other network sta-
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
mode of operation. This pin is implemented for designs read of the entire EEPROM, or indirectly by the host
that do not support the PME function. system by reading from BCR19, bit 0.
Three bits that are loaded from the EEPROM into Note: The EEDO pin is multiplexed with the LED3 and
CSR116 can program the characteristics of this pin: MIIRXFRTGD pins.
1. RWU_POL determines the polarity of the RWU sig- EESK
nal. EEPROM Serial Clock Output
2. If RWU_GATE bit is set, RWU is forced to the high This pin is designed to directly interface to a serial
impedance state when PG input is LOW. EEPROM that uses the 93C46 EEPROM interface pro-
3. RWU_DRIVER determines whether the output is tocol. EESK is connected to the EEPROM’s clock pin.
open drain or totem pole. It is controlled by either the Am79C973/Am79C975
controller directly during a read of the entire EEPROM,
The internal power-on-reset signal forces this output
or indirectly by the host system by writing to BCR19, bit
into the high impedance state until after the polarity and
1.
drive type have been determined.
Note: The EESK pin is multiplexed with the LED1 and
WUMI SFBD pins.
Wake-Up Mode Indicator Output The EESK pin is also used during EEPROM Auto-
This output, which is capable of driving an LED, is as- Detection to determine whether or not an EEPROM is
serted when the device is in Magic Packet mode. It can present at the Am79C973/Am79C975 controller inter-
be used to drive external logic that switches the device face. At the rising edge of the last CLK edge while RST
power source from the main power supply to an auxil- is asserted, EESK is sampled to determine the value of
iary power supply. the EEDET bit in BCR19. A sampled HIGH value
means that an EEPROM is present, and EEDET will be
EEPROM Interface set to 1. A sampled LOW value means that an EE-
PROM is not present, and EEDET will be set to 0. See
EECS
the EEPROM Auto-Detection section for more details.
EEPROM Chip Select Output
If no LED circuit is to be attached to this pin, then a pull
This pin is designed to directly interface to a serial EE- up or pull down resistor must be attached instead to re-
PROM that uses the 93C46 EEPROM interface proto- solve the EEDET setting.
col. EECS is connected to the EEPROM’s chip select
pin. It is controlled by either the Am79C973/Am79C975 WARNING: The input signal level of EESK must be
controller during command portions of a read of the en- valid for correct EEPROM detection before the
tire EEPROM, or indirectly by the host system by writ- deassertion of RST.
ing to BCR19, bit 2.
Expansion Bus Interface
EEDI
EBUA_EBA[7:0]
EEPROM Data In Output
Expansion Bus Upper Address/
This pin is designed to directly interface to a serial Expansion Bus Address [7:0] Output
EEPROM that uses the 93C46 EEPROM interface pro-
tocol. EEDI is connected to the EEPROM’s data input The EBUA_EBA[7:0] pins provide the least and most
pin. It is controlled by either the Am79C973/Am79C975 significant bytes of address on the Expansion Bus. The
controller during command portions of a read of the en- most significant address byte (address bits [19:16] dur-
tire EEPROM, or indirectly by the host system ing boot device accesses) is valid on these pins at the
by writing to BCR19, bit 0. beginning of a boot device access, at the rising edge of
AS_EBOE. This upper address byte must be stored ex-
Note: The EEDI pin is multiplexed with the LED0 pin. ternally in a D flip-flop. During subsequent cycles of a
EEDO boot device access, address bits [7:0] are present on
these pins.
EEPROM Data Out Input
All EBUA_EBA[7:0] outputs are forced to a constant
This pin is designed to directly interface to a serial
level to conserve power while no access on the Expan-
EEPROM that uses the 93C46 EEPROM interface pro-
sion Bus is being performed.
tocol. EEDO is connected to the EEPROM’s data out-
put pin. It is controlled by either the Am79C973/ Note: EBUA_EBA[7:5] pins are multiplexed with the
A m 7 9 C 9 7 5 A m 7 9 C9 7 3 / A m 7 9 C 9 7 5 A m 7 9 C 9 7 3 / TX_ER, PHY_RST, and MDC pins.
Am79C975 controller during command portions of a
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
group error. TX_ER is unused and is reserved for future data portions of read data transfers. When an operation
use and will always be driven to a logical zero. is not in progress on the management port, MDIO is not
dr iven. MDIO transitions from the Am79C973/
Note: The TX_ER pin is multiplexed with the
Am79C975 controller are synchronous to MDC falling
EBUA_EBA7 pin.
edges.
COL
If the PHY is attached through an MII physical connec-
Collision Input tor, then the MDIO pin should be externally pulled down
COL is an input that indicates that a collision has been to V SS with a 10-kΩ ±5% resistor. If the PHY is on
detected on the network medium. board, then the MDIO pin should be externally pulled
up to VCC with a 10-kΩ ±5% resistor.
Note: The COL pin is multiplexed with the EBDA15
pin. Note: The MDIO pin is multiplexed with the EBDA13
pin.
CRS
Carrier Sense Input
PHY_RST
CRS is an input that indicates that a non-idle medium, Physical Layer Reset Output
due either to transmit or receive activity, has been de- PHY_RST is an output pin that is used to reset an ex-
tected. ternal PHY. This output eliminates the need for a fan
out buffer for the PCI RST signal, provides polarity for
Note: The CRS pin is multiplexed with the EBDA14
the specific external PHY used, and prevents the reset-
pin.
ting of the external PHY when the PG input is LOW.
RX_ER The output polarity is determined by RST_POL bit
(CSR 116, bit 0).
Receive Error Input
RX_ER is an input that indicates that the MII trans- Note: The PHY_RST pin is multiplexed with the
ceiver device has detected a coding error in the receive EBUA_EBA6 pin.
frame currently being transferred on the RXD[3:0] pins. RX_CLK
When RX_ER is asserted while RX_DV is asserted, a
CRC error will be indicated in the receive descriptor for Receive Clock Input
the incoming receive frame. RX_ER is ignored while RX_CLK is a clock input that provides the timing refer-
RX_DV is deasserted. Special code groups generated ence for the transfer of the RX_DV, RXD[3:0], and
on RXD while RX_DV is deasserted are ignored (e.g., RX_ER signals into the Am79C973/Am79C975 device.
Bad SSD in TX and IDLE in T4). RX_ER transitions are RX_CLK must provide a nibble rate clock (25% of the
synchronous to RX_CLK rising edges. network data rate). Hence, when the Am79C973/
Am79C975 device is operating at 10 Mbps, it provides
Note: The RX_ER pin is multiplexed with the EBD6 an RX_CLK frequency of 2.5 MHz, and at 100 Mbps it
pin. provides an RX_CLK frequency of 25 MHz.
MDC Note: The RX_CLK pin is multiplexed with the EBD5
Management Data Clock Output pin.
MDC is a non-continuous clock output that provides a RXD[3:0]
timing reference for bits on the MDIO pin. During MII
management port operations, MDC runs at a nominal Receive Data Input
frequency of 2.5 MHz. When no management opera- RXD[3:0] is the nibble-wide MII-compatible receive
tions are in progress, MDC is driven LOW. The MDC is data bus. Data on RXD[3:0] is sampled on every rising
derived from the Time Base Clock. edge of RX_CLK while RX_DV is asserted. RXD[3:0] is
ignored while RX_DV is de-asserted.
If the MII port is not selected, the MDC pin can be left
floating. Note: The RXD[3:0] pin is multiplexed with the
EBD[3:0] pins.
Note: The MDC pin is multiplexed with the
EBUA_EBD5 pin. RX_DV
MDIO Receive Data Valid Input
Management Data I/O Input/Output RX_DV is an input used to indicate that valid received
data is being presented on the RXD[3:0] pins and
MDIO is the bidirectional MII management port data
RX_CLK is synchronous to the receive data. In order
pin. MDIO is an output during the header portion of the
for a frame to be fully received by the Am79C973/
management frame transfers and during the data por-
Am79C975 device, RX_DV must be asserted prior to
tions of write transfers. MDIO is an input during the
the RX_CLK rising edge, when the first nibble of the
Am79C973/Am79C975 35
P R E L I M I N A R Y
Start of Frame Delimiter is driven on RXD[3:0], and Note: The MIIRXFRTGD pin is multiplexed with the
must remain asserted until after the rising edge of EEDO and LED3 pins.
RX_CLK, when the last nibble of the CRC is driven on
MIIRXFRTGE
RXD[3:0]. RX_DV must then be deasserted prior to the
RX_CLK rising edge which follows this final nibble. MII Receive Frame Tag Enable Input
RX_DV transitions are synchronous to RX_CLK rising When the EADI is enabled (EADISEL, BCR2, bit 3), the
edges. Receive Frame Tagging is enabled (RXFRTG, CSR7,
Note: The RX_DV pin is multiplexed with the bit 14), and the MII Snoop mode is selected, the MIIRX-
EBD4 pin. FRTGE pin becomes a data input enable pin for the Re-
ceive Frame Tag. See the Receive Frame Tagging
External Address Detection Interface section for details.
36 Am79C973/Am79C975
P R E L I M I N A R Y
pins carry the transmit output data and are connected XTAL2
to the transmit side of the magnetics module.
Crystal Output Output
RX+, RX- The internal clock generator uses a 25 MHz (50 ppm -
Serial Receive Data 100 ppm) crystal that is attached to the pins XTAL1 and
MLT-3/PECL Input XTAL2. XTAL1 may alternatively be driven using an ex-
These pins are the 10BASE-T/100BASE-X port differ- ternal 25 MHz (50 ppm - 100 ppm) CMOS-level clock
ential receiver pairs. They receive MLT-3 data and are signal when XTAL2 is left floating.
connected to the receive side of the magnetics module
in 100BASE-TX operation. They receive PECL NRZI XCLK/XTAL
data from an exter nal fiber optic transceiver in External Clock/Crystal Select Input
100BASE-FX application. For 10BASE-T, these pins When HIGH, an External Clock Source is selected by-
accept the receive input data from the magnetics mod- passing the Crystal circuit. When LOW, a Crystal is
ule. used instead. The following table illustrates how this pin
SDI+, SDI- works.
Signal Detect Input
Output
These pins control the selection between PECL and
Input Pin Pin XCLK/XTAL Clock Source
MLT-3 data for the TX± and RX± pins. For 100BASE-
TX or 10BASE-T, both of these pins may be tied to XATL1 XTAL2 0 Crystal
ground or left floating. This enables transmission and
Oscillator/
reception of MLT-3 or 10BASE-T signals at the TX± and XTAL1 Don’t Care 1 External CLK
RX± pins. For 100BASE-FX, these pins are biased at Source
PECL levels. They are connected to the SDI pin from
the optical transceiver module to indicate whether the Serial Management Interface (SMI)
received signal is above the required threshold. If sig-
nal detect is not available, these pins should be tied to
(Am79C975 only)
a PECL logical 1 (SDI+ = PECL 1, SDI- = PECL 0). See MCLOCK
Table 2.
SMI Clock Input/Output
Table 2. SDI± Settings for Transceiver Operation MCLOCK is the clock pin of the serial management in-
terface. MCLOCK is typically driven by an external I2C/
SDI+ SDI- Port Mode SMBus master. The Am79C975 controller will drive the
TTL LOW TTL LOW MLT-3/10BASE-T clock line low in order to insert wait states before it
(<0.8 V) (<0.8 V) Mode starts sending out data in response to a read. The fre-
quency of the clock signal can vary between 10 kHz
TTL HIGH TTL HIGH and 100 kHz, and it can change from cycle to cycle.
PECL Mode
(>2.0 V) (>2.0 V)
Note: MCLOCK is also capable of running at a fre-
IREF quency as high as 2.5 MHz to allow for shorter produc-
Internal Current Reference Input tion test time.
This pin serves as a current reference for the integrated MDATA
10/100 PHY. It must be connected to ground via a SMI Data Input/Output
12 kΩ resistor (1%).
MDATA is the data pin of the serial management inter-
Clock Interface face. MDATA can be driven by an external I2C/SMBus
master or by the Am79C975 controller. The interface
XTAL1 protocol defines exactly at what time the Am79C975
Crystal Input Input controller has to listen to the MDATA pin and at what
time the controller must drive the pin.
The internal clock generator uses a 25-MHz (50 ppm-
100 ppm) crystal that is attached to the XTAL1 and MIRQ
XTAL2 pins. XTAL1 may alternatively be driven using
SMI Interrupt Output
an external 25 MHz (50 ppm - 100 ppm) CMOS-level
clock signal when XTAL2 is left floating. The XTAL1 pin MIRQ is an asynchronous attention signal that the
is not 5 V tolerant and must only be driven by a 3.3 V Am79C975 controller provides to indicate that a man-
clock source. agement frame has been transmitted or received. The
assertion of the MIRQ signal can be controlled by a glo-
bal mask bit (MIRQEN) or individual mask bits
Am79C973/Am79C975 37
P R E L I M I N A R Y
38 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 39
P R E L I M I N A R Y
1100
Memory Read
Aliased to Memory Read
Slave I/O Transfers
Multiple
After the Am79C973/Am79C975 controllers are config-
Dual Address ured as an I/O device by setting IOEN (for regular I/O
1101 Not used
Cycle mode) or MEMEN (for memory mapped I/O mode) in
Memory Read the PCI Command register, it starts monitoring the PCI
1110 Aliased to Memory Read
Line bus for access to its CSR, BCR, or APROM locations.
If configured for regular I/O mode, the Am79C973/
Memory Write
1111 Aliased to Memory Write Am79C975 controllers will look for an address that falls
Invalidate
within its 32 bytes of I/O address space (starting from
Slave Configuration Transfers the I/O base address). The Am79C973/Am79C975
controllers assert DEVSEL if it detects an address
The host can access the Am79C973/Am79C975 PCI match and the access is an I/O cycle. If configured for
configuration space with a configuration read or write memor y mapped I/O mode, the Am79C973/
command. The Am79C973/Am79C975 controllers will Am79C975 controllers will look for an address that falls
assert DEVSEL during the address phase when IDSEL within its 32 bytes of memory address space (starting
is asserted, AD[1:0] are both 0, and the access is a from the memory mapped I/O base address). The
40 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 controllers assert DEVSEL if it the internal Buffer Management Unit clock and the CLK
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
C/BE BE
DEVSEL IRDY
STOP
TRDY
IDSEL
DEVSEL
DEVSEL is sampled
STOP
21510D-6
IDSEL
Figure 1. Slave Configuration Read
21510D-7
The Am79C973/Am79C975 controllers will not assert Figure 2. Slave Configuration Write
DEVSEL if it detects an address match and the PCI
command is not of the correct type. In memory mapped
I/O mode, the Am79C973/Am79C975 controller aliases The Am79C973/Am79C975 controllers support fast
all accesses to the I/O resources of the command types back-to-back transactions to different targets. This is
Memory Read Multiple and Memory Read Line to the indicated by the Fast Back-To-Back Capable bit (PCI
basic Memory Read command. All accesses of the type Status register, bit 7), which is hardwired to 1. The
Memory Write and Invalidate are aliased to the basic Am79C973/Am79C975 controllers are capable of de-
Memory Write command. Eight-bit, 16-bit, and 32-bit tecting an I/O or a memory-mapped I/O cycle even when
non-burst transactions are supported. The Am79C973/ its address phase immediately follows the data phase
Am79C975 controllers decode all 32 address lines to of a transaction to a different target, without any idle
determine which I/O resource is accessed. state in-between. There will be no contention on the
The typical number of wait states added to a slave I/O DEVSEL, TRDY, and STOP signals, since the
or memory mapped I/O read or write access on the part Am79C973/Am79C975 controllers assert DEVSEL on
of the Am79C973/Am79C975 controllers are six to sev- the second clock after FRAME is asserted (medium tim-
en clock cycles, depending upon the relative phases of ing) See Figure 3 and Figure 4.
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 11
FRAME
AD ADDR DATA
C/BE 0010 BE
IRDY
TRDY
DEVSEL
STOP
21510D21510D-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
42 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 43
P R E L I M I N A R Y
During the boot procedure, the system will try to find an CLK
Expansion ROM. A PCI system assumes that an Ex- 1 2 3 4 5
pansion ROM is present when it reads the ROM signa-
ture 55H (byte 0) and AAH (byte 1). FRAME
44 Am79C973/Am79C975
P R E L I M I N A R Y
If the host is not yet ready when the Am79C973/ ity error when PERREN and SERREN are set to 1. See
Am79C975 controller asserts TRDY, the device will Figure 9.
wait for the host to assert IRDY. When the host asserts
IRDY and FRAME is still asserted, the Am79C973/
Am79C975 controller will finish the first data phase by
deasserting TRDY one clock later. At the same time, it
CLK
will assert STOP to signal a disconnect to the host. 1 2 3 4 5
STOP will stay asser ted until the host removes
FRAME. See Figure 8. FRAME
SERR
C/BE BE BE
DEVSEL
PAR PAR PAR
IRDY 21510D-14
Am79C973/Am79C975 45
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
46 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. The Am79C973/Am79C975 controller typically per-
FRAME is asserted at clock 5 indicating a valid ad- forms more than one non-burst read transaction within
dress and command on AD[31:0] and C/BE[3:0]. a single bus mastership period. FRAME is dropped be-
tween consecutive non-burst read cycles. REQ how-
CLK ever stays asserted until FRAME is asserted for the last
1 2 3 4 5 transaction. The Am79C973/Am79C975 controller
supports zero wait state read cycles. It asserts IRDY
FRAME immediately after the address phase and at the same
time starts sampling DEVSEL. Figure 12 shows two
non-burst read transactions. The first transaction has
AD ADDR zero wait states. In the second transaction, the target
extends the cycle by asserting TRDY one clock later.
C/BE CMD Basic Burst Read Transfer
The Am79C973/Am79C975 controller supports burst
IRDY
mode for all bus master read operations. The burst
mode must be enabled by setting BREADE (BCR18, bit
6). To allow burst transfers in descriptor read opera-
REQ tions, the Am79C973/Am79C975 controller must also
be programmed to use SWSTYLE 3 (BCR20, bits 7-0).
All burst read accesses to the initialization block and
GNT
descriptor ring are of the PCI command type Memory
Read (type 6). Burst read accesses to the transmit
buffer typically are longer than two data phases. When
21510D-16
MEMCMD (BCR18, bit 9) is cleared to 0, all burst read
accesses to the transmit buffer are of the PCI com-
Figure 11. Bus Acquisition mand type Memory Read Line (type 14). When MEM-
CMD (BCR18, bit 9) is set to1, all burst read accesses
In burst mode, the deassertion of REQ depends on the to the transmit buffer are of the PCI command type
setting of EXTREQ (BCR18, bit 8). If EXTREQ is Memory Read Multiple (type 12). AD[1:0] will both be 0
cleared to 0, REQ is deasserted at the same time as during the address phase indicating a linear burst or-
FRAME is asserted. (The Am79C973/Am79C975 con- der. Note that during a burst read operation, all byte
troller never performs more than one burst transaction l a ne s w i l l a l way s b e a c ti ve. T h e A m 79 C 97 3 /
within a single bus mastership period.) If EXTREQ is Am79C975 controller will internally discard unneeded
set to 1, the Am79C973/Am79C975 controller does not bytes.
deassert REQ until it starts the last data phase of the
transaction. Once asserted, REQ remains active until The Am79C973/Am79C975 controller will always per-
GNT has become active and independent of subse- form only a single burst read transaction per bus mas-
quent setting of STOP (CSR0, bit 2) or SPND (CSR5, tership period, where transaction is defined as one
bit 0). The assertion of H_RESET or S_RESET, how- address phase and one or multiple data phases. The
ever, will cause REQ to go inactive immediately. Am79C973/Am79C975 controller supports zero wait
state read cycles. It asserts IRDY immediately after the
Bus Master DMA Transfers address phase and at the same time starts sampling
There are four primary types of DMA transfers. The DEVSEL. FRAME is deasserted when the next to last
Am79C973/Am79C975 controller uses non-burst as data phase is completed.
well as burst cycles for read and write access to the Figure 13 shows a typical burst read access. The
main memory. Am79C973/Am79C975 controller arbitrates for the bus,
Basic Non-Burst Read Transfer is granted access, reads three 32-bit words (DWord)
from the system memory, and then releases the bus. In
By default, the Am79C973/Am79C975 controller uses
the example, the memory system extends the data
non-burst cycles in all bus master read operations. All
phase of each access by one wait state. The example
Am79C973/Am79C975 controller non-burst read ac-
assumes that EXTREQ (BCR18, bit 8) is cleared to 0,
cesses are of the PCI command type Memory Read
therefore, REQ is deasserted in the same cycle as
(type 6). Note that during a non-burst read operation,
FRAME is asserted.
all byte lanes will always be active. The Am79C973/
Am79C975 controller will internally discard unneeded
bytes.
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
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
48 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
Am79C973/Am79C975 49
P R E L I M I N A R Y
Figure 15 shows a typical burst write access. The disconnect with data transfer, disconnect without data
Am79C973/Am79C975 controller arbitrates for the bus, transfer, and target abort.
is granted access, and writes four 32-bit words
Disconnect With Data Transfer
(DWords) to the system memory and then releases the
bus. In this example, the memory system extends the Figure 16 shows a disconnection in which one last data
data phase of the first access by one wait state. The fol- transfer occurs after the target asserted STOP. STOP
lowing three data phases take one clock cycle each, is asserted on clock 4 to start the termination se-
which is determined by the timing of TRDY. The exam- quence. Data is still transferred during this cycle, since
ple assumes that EXTREQ (BCR18, bit 8) is set to 1, both IRDY and TRDY are asserted. The Am79C973/
therefore, REQ is not deasserted until the next to last Am79C975 controller terminates the current transfer
data phase is finished. with the deassertion of FRAME on clock 5 and of IRDY
one clock later. It finally releases the bus on clock 7.
Target Initiated Termination The Am79C973/Am79C975 controller will again re-
When the Am79C973/Am79C975 controller is a bus quest the bus after two clock cycles, if it wants to trans-
master, the cycles it produces on the PCI bus may be fer more data. The starting address of the new transfer
terminated by the target in one of three different ways: will be the address of the next non-transferred data.
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
50 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 assumption about the success of the previous data
Figure 17 shows a target disconnect sequence during transfers in the current transaction. The Am79C973/
which no data is transferred. STOP is asserted on clock Am79C975 controller terminates the current transfer
4 without TRDY being asserted at the same time. The with the deassertion of FRAME on clock 5 and of
Am79C973/Am79C975 controller terminates the ac- IRDY one clock cycle later. It finally releases the bus
cess with the deassertion of FRAME on clock 5 and of on clock 6.
IRDY one clock cycle later. It finally releases the bus on Since data integrity is not guaranteed, the Am79C973/
clock 7. The Am79C973/Am79C975 controller will Am79C975 controller cannot recover from a target
again request the bus after two clock cycles to retry the abort event. The Am79C973/Am79C975 controller will
last transfer. The starting address of the new transfer reset all CSR locations to their STOP_RESET values.
will be the address of the last non-transferred data. The BCR and PCI configuration registers will not be
Target Abort cleared. Any on-going network transmission is termi-
nated in an orderly sequence. If less than 512 bits have
Figure 18 shows a target abort sequence. The target been transmitted onto the network, the transmission
asserts DEVSEL for one clock. It then deasserts will be terminated immediately, generating a runt
DEVSEL and asserts STOP on clock 4. A target can packet. If 512 bits or more have been transmitted, the
use the target abort sequence to indicate that it can- message will have the current FCS inverted and ap-
not service the data transfer and that it does not want pended at the next byte boundary to guarantee an FCS
the transaction to be retr ied. Additionally, the error is detected at the receiving station.
Am79C973/Am79C975 controller cannot make any
Am79C973/Am79C975 51
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 remain asserted to regain bus ownership as soon as
indicate that the Am79C973/Am79C975 controller has possible. See Figure 19.
received a target abort. In addition, SINT (CSR5, bit 11)
Preemption During Burst Transaction
will be set to 1. When SINT is set, INTA is asserted if
the enable bit SINTE (CSR5, bit 10) is set to 1. This When the Am79C973/Am79C975 controller operates
mechanism can be used to inform the driver of the sys- in burst mode, it only performs a single transaction per
tem error. The host can read the PCI Status register to bus mastership period, where transaction is defined as
determine the exact cause of the interrupt. one address phase and one or multiple data phases.
The central arbiter can remove GNT at any time during
Master Initiated Termination the transaction. The Am79C973/Am79C975 controller
There are three scenarios besides normal completion will ignore the deassertion of GNT and continue with
of a transaction where the Am79C973/Am79C975 con- data transfers, as long as the PCI Latency Timer is not
troller will terminate the cycles it produces on the PCI expired. When the Latency Timer is 0 and GNT is deas-
bus. serted, the Am79C973/Am79C975 controller will finish
the current data phase, deassert FRAME, finish the
Preemption During Non-Burst Transaction
last data phase, and release the bus. If EXTREQ
When the Am79C973/Am79C975 controller performs (BCR18, bit 8) is cleared to 0, it will immediately assert
multiple non-burst transactions, it keeps REQ asserted REQ to regain bus ownership as soon as possible. If
until the assertion of FRAME for the last transaction. EXTREQ is set to 1, REQ will stay asserted.
When GNT is removed, the Am79C973/Am79C975
controller will finish the current transaction and then re-
lease the bus. If it is not the last transaction, REQ will
52 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 53
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
54 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 55
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 APERREN does not affect the reporting of address
dependent 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 have During execution of the Am79C973/Am79C975 con-
a parity error as if nothing has happened. All network troller bus master initialization procedure, the
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 control-
perform two data transfer cycles reading one DWord
ler 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
are seven DWords to transfer during the bus master ini-
indicate 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 transfers. The two phases within a bus mastership pe-
the current transmit descriptor. Any on-going net- riod will have addresses of ascending contiguous or-
work transmission is terminated in an orderly se- der.
quence.
When BREADE is set to 1 (BCR18, bit 6), all initializa-
■ Receive buffer write: BPE (RMD1, bit 23) is set in tion block read transfers will be executed in burst mode.
the last receive descriptor associated with the frame. AD[1:0] will be 0 during the address phase indicating a
Terminating on-going network transmission in an or- linear burst order.
derly sequence means that if less than 512 bits have
been transmitted onto the network, the transmission
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
FRAME
IRDY
TRDY
DEVSEL
REQ
GNT
21510D-29
DEVSEL is sampled
Am79C973/Am79C975 57
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 opera- signals for the second data transfer would be 0111b, if
tions. 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 Table 5. Descriptor Read Sequence
of BREADE has no effect in this configuration. See Fig-
ure 25. SWSTYLE BREADE
BCR20[7:0] BCR18[6] AD Bus Sequence
When SWSTYLE is set to 3, the descriptor entries are Address = XXXX XX00h
ordered to allow burst transfers. The Am79C973/
Turn around cycle
Am79C975 controller will perform all descriptor read
Data = MD1[31:24],
operations in burst mode, if BREADE is set to 1. See
MD0[23:0]
Figure 26. 0 X
Idle
Table 5 shows the descriptor read sequence. 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. Data = MD1[31:0]
When SWSTYLE (BCR20, bits 7-0) is cleared to 0 (i.e., 2 X Idle
the descriptor entries are organized as 16-bit software
Address = XXXX XX00h
structures), the descriptor access will write a single
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- Turn around cycle
scriptors, as well as on the last buffer in chain, writes to Data = MD1[31:0]
the descriptor consist of two data transfers.
3 0 Idle
The first data transfer writes a DWord containing status Address = XXXX XX08h
information. The second data transfer writes a byte Turn around cycle
(SWSTYLE cleared to 0), or otherwise a word contain-
Data = MD0[31:0]
ing additional status and the ownership bit (i.e.,
MD1[31]). Address = XXXX XX04h
Turn around cycle
The settings of SWSTYLE (BCR20, bits 7-0) and 3 1
Data = MD1[31:0]
BWRITE (BCR18, bit 5) affect the way the Am79C973/
Am79C975 controller performs descriptor write opera- Data = MD0[31:0]
tions.
58 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 59
P R E L I M I N A R Y
60 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
DEVSEL is sampled
21510D-33
Am79C973/Am79C975 61
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
be 0 during the address phase indicating a linear burst AD ADD DATA DATA DATA
order.
During FIFO DMA read operations, all byte lanes will C/BE 0111 0001 0000
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
inactive. All other data phases will always write a com- IRDY
plete DWord.
Figure 29 shows the beginning of a FIFO DMA write TRDY
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
data transfers to a 32-bit boundar y so that the REQ
Am79C973/Am79C975 controller can continue burst-
ing full DWords.
GNT
If a receive buffer does not end on a DWord boundary,
the Am79C973/Am79C975 controller will perform a
DEVSEL is sampled
non-DWord write on the last transfer to the buffer. Fig-
ure 30 shows the final three FIFO DMA transfers to a 21510D-34
receive buffer. Since there were only nine bytes of
space left in the receive buffer, the Am79C973/ Figure 29. FIFO Burst Write At Start Of Unaligned
Am79C975 controller bursts three data phases. The Buffer
first two data phases write a full DWord, the last one
only writes a single byte.
Note that the Am79C973/Am79C975 controller will al- The Am79C973/Am79C975 controller will continue
ways perform a DWord transfer as long as it owns the transferring FIFO data until the transmit FIFO is filled to
buffer space, even when there are less than four bytes its high threshold (read transfers) or the receive FIFO
to write. For example, if there is only one byte left for the is emptied to its low threshold (write transfers), or the
current receive frame, the Am79C973/Am79C975 con- Am79C973/Am79C975 controller is preempted, and
troller will write a full DWord, containing the last byte of the PCI Latency Timer is expired. The host should use
the receive frame in the least significant byte position the values in the PCI MIN_GNT and MAX_LAT regis-
(BSWP is cleared to 0, CSR3, bit 2). The content of the ters to determine the value for the PCI Latency Timer.
other three bytes is undefined. The message byte
62 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 63
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 al-
and receive descriptor pointers with their respective ready 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
The Am79C973/Am79C975 controller offers two sus- takes depends on many factors including the size of the
pend modes that allow easy updating of the CSR reg- SRAM, bus latency, and network traffic level.
isters 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-version
of SPND to 1 and enters the suspend mode. In sus-
The host requests the Am79C973/Am79C975 control- pend mode, all of the CSR and BCR registers are ac-
ler to enter the suspend mode by setting SPND (CSR5, cessible. As long as the Am79C973/Am79C975
bit 0) to 1. The host must poll SPND until it reads back controller 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 en-
When a fast suspend is requested (FASTSPND is set tered 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 chain-
after networ k activity has ceased. Hence, the ing.
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 possi- memory. During initialization, the user-defined base
bility of completely emptying the SRAM. Care must be address for the transmit and receive descriptor rings,
exercised in this mode, because the entire memory as well as the number of entries contained in the de-
subsystem of the Am79C973/Am79C975 controller is scriptor rings are set up. The programming of the soft-
suspended. Any changes to either the descriptor rings ware style (SWSTYLE, BCR20, bits 7-0) affects the
or the SRAM can cause the Am79C973/Am79C975 way the descriptor rings and their entries are arranged.
controller to start up in an unknown condition and could When SWSTYLE is at its default value of 0, the de-
cause data corruption. scriptor rings are backwards compatible with the
Am79C90 C-LANCE and the Am79C96x PCnet-ISA
64 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 con-
write access in burst mode. troller 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) di-
rectly. Figure 31 illustrates the relationship between the initial-
ization base address, the initialization block, the re-
Each ring entry contains the following information:
ceive and transmit descriptor ring base addresses, the
■ The address of the actual message data buffer in receive and transmit descriptors, and the receive and
user or host memory 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 65
P R E L I M I N A R Y
N N N
N
•
•
•
Rcv Descriptor
Ring
1st desc. 2nd
CSR2 CSR1 start 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 desc. 2nd
TLE RES TDRA[23:16] start 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 ap-
Figure 32 illustrates the relationship between the initial- propriate Transmit Descriptor Table Entry (TDTE). The
ization base address, the initialization block, the re- accesses will be made in the following order: RMD1,
ceive and transmit descriptor ring base addresses, the then RMD0 of the current RDTE during one bus arbitra-
receive and transmit descriptors, and the receive and tion, and after that, TMD1, then TMD0 of the current
transmit data buffers, when SSIZE32 is set to 1. TDTE during a second bus arbitration. All information
collected during polling activity will be stored internally
Polling in the appropriate CSRs, if the OWN bit is set (i.e.,
If there is no network channel activity and there is no CSR18, CSR19, CSR20, CSR21, CSR40, CSR42,
pre- or post-receive or pre- or post-transmit activity CSR50, CSR52).
being performed by the Am79C973/Am79C975 con- A typical receive poll is the product of the following con-
troller, then the Am79C973/Am79C975 controller will ditions:
periodically poll the current receive and transmit de-
scriptor entries in order to ascertain their ownership. If 1. Am79C973/Am79C975 controller does not own the
the DPOLL bit in CSR4 is set, then the transmit polling current RDTE and the poll time has elapsed and
function is disabled. RXON = 1 (CSR0, bit 5), or
2. Am79C973/Am79C975 controller does not own the
A typical polling operation consists of the following se- next RDTE and there is more than one receive de-
quence. The Am79C973/Am79C975 controller will use scriptor in the ring and the poll time has elapsed and
the current receive descriptor address stored internally RXON = 1.
66 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 cess, the Am79C973/Am79C975 controller finds that
the poll time has 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
current TDTE and TXDPOLL = 0 and TXON = 1 and Packet (STP) bit is not set, the Am79C973/Am79C975
a frame has just been transmitted. controller will immediately request the bus in order to
clear the OWN bit of this descriptor. (This condition
Setting the TDMD bit of CSR0 will cause the microcode would normally be found following a late collision
controller to exit the poll counting code and immedi- (LCOL) or retry (RTRY) error that occurred in the mid-
ately perform a polling operation. If RDTE ownership dle of a transmit frame chain of buffers.) After resetting
Am79C973/Am79C975 67
P R E L I M I N A R Y
the OWN bit of this descriptor, the Am79C973/ before the Am79C973/Am79C975 controller returns
Am79C975 controller will again immediately request ownership for the last buffer of the first frame.
the bus in order to access the next TDTE location in the
If an error occurs in the transmission before all of the
ring.
bytes of the current buffer have been transferred, trans-
If the OWN bit is set and the buffer length is 0, the OWN mit status of the current buffer will be immediately up-
bit will be cleared. In the C-LANCE device, the buffer dated. If the buffer does not contain the end of packet,
length of 0 is interpreted as a 4096-byte buffer. A zero the Am79C973/Am79C975 controller will skip over the
length buffer is acceptable as long as it is not the last rest of the frame which experienced the error. This is
buffer in a chain (STP = 0 and ENP = 1). done by returning to the polling microcode where the
Am79C973/Am79C975 controller will clear the OWN
If the OWN bit and STP are set, then microcode control
bit for all descriptors with OWN = 1 and STP = 0 and
proceeds to a routine that will enable transmit data
continue in like manner until a descriptor with OWN = 0
transfers to the FIFO. The Am79C973/Am79C975 con-
(no more transmit frames in the ring) or OWN = 1 and
troller will look ahead to the next transmit descriptor
STP = 1 (the first buffer of a new frame) is reached.
after it has performed at least one transmit data trans-
fer from the first buffer. At the end of any transmit operation, whether success-
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 DXSU-
will resume incrementing the poll time counter. If the
FLO to 1 enables the Am79C973/Am79C975 controller
transmit descriptor OWN bit has a value of 1, the
to gracefully recover from an underflow error. The de-
Am79C973/Am79C975 controller will begin filling the
vice will scan the transmit descriptor ring until it finds ei-
FIFO with transmit data and initiate a transmission.
ther the start of a new frame or a TDTE it does not own.
This end-of-operation poll coupled with the TDTE loo-
To avoid an underflow situation in a chained buffer
kahead operation allows the Am79C973/Am79C975
transmission, the system should always set the trans-
controller to avoid inserting poll time counts between
mit 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 with-
tents of the first buffer (as the bytes are needed by the
out 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
It is imperative that the host system never reads the successfully transmitted frame can be suppressed by
TDTE OWN bits out of order. The Am79C973/ setting TINTOKD (CSR5, bit 15) to 1. Another mode,
Am79C975 controller normally clears OWN bits in strict which is enabled by setting LTINTEN (CSR5, bit 14) to
FIFO order. However, the Am79C973/Am79C975 con- 1, allows suppression of interrupts for successful trans-
troller can queue up to two frames in the transmit FIFO. missions for all but the last frame in a sequence.
When the second frame uses buffer chaining, the
Receive Descriptor Table Entry
Am79C973/Am79C975 controller might return owner-
ship out of normal FIFO order. The OWN bit for last If the Am79C973/Am79C975 controller does not own
(and maybe only) buffer of the first frame is not cleared both the current and the next Receive Descriptor Table
until transmission is completed. During the transmis- Entry (RDTE), then the Am79C973/Am79C975 con-
sion the Am79C973/Am79C975 controller will read in troller will continue to poll according to the polling se-
buffers for the next frame and clear their OWN bits for quence described above. If the receive descriptor ring
all but the last one. The first and all intermediate buffers length is one, then there is no next descriptor to be
of the second frame can have their OWN bits cleared polled.
68 Am79C973/Am79C975
P R E L I M I N A R Y
If a poll operation has revealed that the current and the last byte of this receive message has been removed
next RDTE belong to the Am79C973/Am79C975 con- from the FIFO). The Am79C973/Am79C975 controller
troller, then additional poll accesses are not necessary. will subsequently update the current RDTE status with
Future poll operations will not include RDTE accesses the end of frame (ENP) indication set, write the mes-
as long as the Am79C973/Am79C975 controller re- sage byte count (MCNT) for the entire frame into
tains 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 main-
tained and accurate during that time.
Regardless of ownership of the second receive de-
scriptor, the Am79C973/Am79C975 controller will con- During the time that the Receive Frame Queuing mech-
tinue to perform receive data DMA transfers to the first anism is in operation, the Am79C973/Am79C975 con-
buffer. If the frame length exceeds the length of the first troller relies on the Receive Poll Time Counter (CSR
buffer, and the Am79C973/Am79C975 controller does 48) to control the worst case access to the RDTE. The
not own the second buffer, ownership of the current de- Receive Poll Time Counter is programmed through the
scriptor will be passed back to the system by writing a Receive Polling Interval (CSR49) register. The Re-
0 to the OWN bit of RMD1. Status will be written indi- ceived Polling Interval defaults to approximately 2 ms.
cating buffer (BUFF = 1) and possibly overflow (OFLO The Am79C973/Am79C975 controller will also try to
= 1) errors. access the RDTE during normal descriptor accesses
whether they are transmit or receive accesses. The
If the frame length exceeds the length of the first (cur- host can force the Am79C973/Am79C975 controller to
rent) buffer, and the Am79C973/Am79C975 controller immediately access the RDTE by setting the RDMD
does own the second (next) buffer, ownership will be (CSR 7, bit 13) to 1. Its operation is similar to the trans-
passed back to the system by writing a 0 to the OWN mit one. The polling process can be disabled by setting
bit of RMD1 when the first buffer is full. The OWN bit is the RXDPOLL (CSR7, bit 12) bit. This will stop the au-
the only bit modified in the descriptor. Receive data tomatic polling process and the host must set the
transfers to the second buffer may occur before the RDMD bit to initiate the receive process into host mem-
Am79C973/Am79C975 controller proceeds to look ory. Receive frames are still stored even when the re-
ahead to the ownership of the third buffer. Such action ceive 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
information gathered will be stored in the chip, regard- The Am79C973/Am79C975 controller is equipped with
less of the state of the ownership bit. a software programmable free-running interrupt timer.
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
Am79C973/Am79C975 69
P R E L I M I N A R Y
software timer will load the value stored in STVAL and 00h) to ensure that the receiving station will observe an
restart. The timer value STVAL (BCR31, bits 15-0) is in- information field (destination address, source address,
terpreted 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 inde-
to STVAL restarts the timer with the new contents of pendently over-ridden to allow illegally short (less than
STVAL. 64 bytes of frame data) messages to be transmitted
and/or received. The use of this feature reduces bus
10/100 Media Access Control utilization because the pad bytes are not transferred
The Media Access Control (MAC) engine incorporates into or out of main memory.
the essential protocol requirements for operation of an Framing
Ethernet/IEEE 802.3-compliant node and provides the
The MAC engine will autonomously handle the con-
interface between the FIFO subsystem and the internal
struction of the transmit frame. Once the transmit FIFO
PHY.
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
first) which was computed on the entire data portion of
The MAC engine provides programmable enhanced
the frame. The data portion of the frame consists of
features designed to minimize host supervision, bus
destination address, source address, length/type, and
utilization, and pre- or post-message processing.
frame data. The user is responsible for the correct or-
These features include the ability to disable retries after
dering and content in each of these fields in the frame.
a collision, dynamic FCS generation on a frame-by-
The MAC does not use the content in the length/type
frame basis, automatic pad field insertion and deletion
field unless APAD_XMT (CSR4, bit 11) is set and the
to enforce minimum frame size attributes, automatic re-
data portion of the frame is shorter than 60 bytes.
transmission without reloading the FIFO, and auto-
matic deletion of collision fragments. The MAC engine will detect the incoming preamble se-
quence when the RX_DV signal is activated by the in-
The two primary attributes of the MAC engine are:
ternal 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
ensure minimum frame size, strip unnecessary pad
— Addressing (source and destination address characters (if enabled), and pass the remaining bytes
handling) 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
checking will occur. Note that apart from pad stripping,
■ Media access management
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 will automatically delete the frame
The MAC engine provides minimum frame size en- from the receive FIFO, without host intervention. The
forcement for transmit and receive frames. When Am79C973/Am79C975 controller has the ability to ac-
APAD_XMT (CSR, bit 11) is set to 1, transmit mes- cept runt packets for diagnostic purposes and propri-
sages will be padded with sufficient bytes (containing etary networks.
70 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 en- integral number of bytes in the message.
gine 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 up-
dated 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
port and recover from errors on the medium. In addi- of a message (dribbling bits), which can occur under
tion, it protects the network from gross errors due to normal network operating conditions. The framing error
inability of the host to keep pace with the MAC engine is reported to the user as follows:
activity.
■ If the number of dribbling bits are 1 to 7 and there is
On completion of transmission, the following transmit no FCS error, then there is no Framing error (FRAM
status is available in the appropriate Transmit Message = 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 er-
channel activity. ror.
■ Excessive deferral (EXDEF), indicating that the ■ If the number of dribbling bits is EIGHT, then there
transmitter experienced Excessive Deferral on this is no Framing error. FCS error will be reported and
transmit frame, where Excessive Deferral is defined the receive message count will indicate one extra
in the ISO 8802-3 (IEEE/ANSI 802.3) standard. byte.
■ Loss of Carrier (LCAR), indicating that there was an Counters are provided to report the Receive Collision
interruption in the ability of the MAC engine to mon- Count and Runt Packet Count, for network statistics
itor its own transmission. Repeated LCAR errors in- and utilization calculations.
dicate a potentially faulty transceiver or network
connection. Media Access Management
■ Late Collision (LCOL) indicates that the transmis- The basic requirement for all stations on the network is
sion suffered a collision after the slot time. This is in- to provide fairness of channel allocation. The IEEE
dicative of a badly configured network. Late 802.3/Ethernet protocols define a media access mech-
collisions should not occur in a normal operating anism which permits all stations to access the channel
network. with equality. Any node can attempt to contend for the
channel by waiting for a predetermined time (Inter
■ Collision Error (CERR) indicates that the trans-
Packet Gap) after the last activity, before transmitting
ceiver did not respond with an SQE Test message
on the media. The channel is a multidrop communica-
within the first 4 ms after a transmission was com-
tions media (with various topological configurations
pleted. This may be due to a failed transceiver, dis-
permitted), which allows a single station to transmit and
connected or faulty transceiver drop cable, or
all other stations to receive. If two nodes simulta-
because the transceiver does not support this fea-
neously contend for the channel, their signals will inter-
ture (or it is disabled). SQE Test is only valid for 10-
act causing loss of data, defined as a collision. It is the
Mbps networks.
responsibility of the MAC to attempt to avoid and
In addition to the reporting of network errors, the MAC recover from a collision, to guarantee data integrity for
engine will also attempt to prevent the creation of any the end-to-end transmission to the receiving station.
network error due to the inability of the host to service
Medium Allocation
the MAC engine. During transmission, if the host fails
to keep the transmit FIFO filled sufficiently, causing an The IEEE/ANSI 802.3 standard (ISO/IEC 8802-3 1990)
underflow, the MAC engine will guarantee the message requires that the CSMA/CD MAC monitor the medium
is either sent as a runt packet (which will be deleted by for traffic by watching for carrier activity. When carrier is
the receiving station) or as an invalid FCS (which will detected, the media is considered busy, and the MAC
also cause the receiver to reject the message). should defer to the existing message.
The status of each receive message is available in the The ISO 8802-3 (IEEE/ANSI 802.3) standard also al-
appropriate Receive Message Descriptor (RMD) and lows optionally a two-part deferral after a receive mes-
CSR areas. All received frames are passed to the host sage.
Am79C973/Am79C975 71
P R E L I M I N A R Y
See ANSI/IEEE Std 802.3-1993 Edition, 4.2.3.2.1: 8802-3 standard requires, the Am79C973/Am79C975
MAC engine will become more aggressive on the net-
Note: It is possible for the PLS carrier sense indication
work. This aggressive nature will give rise to the
to fail to be asserted during a collision on the media. If
Am79C973/Am79C975 controller possibly capturing
the deference process simply times the inter-Frame
the network at times by forcing other less aggressive
gap based on this indication, it is possible for a short
compliant nodes to defer. By programming a larger
interFrame gap to be generated, leading to a potential
number of bit times, the Am79C973/Am79C975 MAC
reception failure of a subsequent frame. To enhance
will become less aggressive on the network and may
system robustness, the following optional measures,
defer more often than normal. The performance of the
as specified in 4.2.8, are recommended when Inter-
Am79C973/Am79C975 controller may decrease as the
Frame-SpacingPart1 is other than 0:
IPG value is increased from the default value, but the
1. Upon completing a transmission, start timing the in- resulting behavior may improve network performance
terrupted gap, as soon as transmitting and carrier by reducing collisions. The Am79C973/Am79C975
sense are both false. controller uses the same IPG for back-to-back trans-
2. When timing an inter-frame gap following reception, mits and receive-to-transmit accesses. Changing IFS1
reset the inter-frame gap timing if carrier sense be- will alter the per iod for which the Am79C973/
comes true during the first 2/3 of the inter-frame gap Am79C975 MAC engine will defer to incoming receive
timing interval. During the final 1/3 of the interval, frames.
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
The Am79C973/Am79C975 controller will perform the programming value is still valid. Two part deferral after
two-part deferral algorithm as specified in Section 4.2.8 transmission is useful for ensuring that severe IPG
(Process Deference). The Inter Packet Gap (IPG) timer shrinkage cannot occur in specific circumstances,
will start timing the 9.6 ms InterFrameSpacing after the causing a transmit message to follow a receive mes-
receive carrier is deasserted. During the first part de- sage so closely as to make them indistinguishable.
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 transmission
Am79C973/Am79C975 controller will defer any pend- has been completed, the external transceiver should
ing transmit frame and respond to the receive mes- generate the SQE Test message within 0.6 to 1.6 ms
sage. The IPG counter will be cleared to 0 continuously after the transmission ceases. During the time period in
until the carrier deasserts, at which point the IPG which the SQE Test message is expected, the
counter will resume the 9.6 ms count once again. Once Am79C973/Am79C975 controller will not respond to
the IFS1 period of 6.0 ms has elapsed, the Am79C973/ receive carrier sense.
Am79C975 controller will begin timing the second part
deferral (InterFrameSpacingPart2 - IFS2) of 3.4 ms. See ANSI/IEEE Std 802.3-1993 Edition, 7.2.4.6 (1):
Once IFS1 has completed and IFS2 has commenced, “At the conclusion of the output function, the DTE
the Am79C973/Am79C975 controller will not defer to a opens a time window during which it expects to see
receive frame if a transmit frame is pending. This the signal_quality_error signal asserted on the
means that the Am79C973/Am79C975 controller will Control In circuit. The time window begins when
not attempt to receive the receive frame, since it will the CARRIER_STATUS becomes
start to transmit and generate a collision at 9.6 ms. The CARRIER_OFF. If execution of the output function
Am79C973/Am79C975 controller will complete the does not cause CARRIER_ON to occur, no SQE
preamble (64-bit) and jam (32-bit) sequence before test occurs in the DTE. The duration of the window
ceasing transmission and invoking the random backoff shall be at least 4.0 ms but no more than 8.0 ms.
algorithm. During the time window the Carrier Sense Function
The Am79C973/Am79C975 controller allows the user is inhibited.”
to program the IPG and the first part deferral (Inter-
Frame-SpacingPart1 - IFS1) through CSR125. By The Am79C973/Am79C975 controller implements a
changing the IPG default value of 96 bit times (60h), the carrier sense “blinding” period of 4.0 ms length starting
user can adjust the fairness or aggressiveness of the from the deassertion of carrier sense after transmis-
Am79C973/Am79C975 MAC on the network. By pro- sion. This effectively means that when transmit two part
gramming a lower number of bit times than the ISO/IEC deferral is enabled (DXMT2PD is cleared), the IFS1
time is from 4 ms to 6 ms after a transmission. How-
72 Am79C973/Am79C975
P R E L I M I N A R Y
ever, since IPG shrinkage below 4 ms will rarely be en- 0 ≤ r < 2k where k = min (n,10).”
countered on a correctly configured network, and since
the fragment size will be larger than the 4 ms blinding The Am79C973/Am79C975 controller provides an al-
window, the IPG counter will be reset by a worst case ternative algorithm, which suspends the counting of the
IPG shrinkage/fragment scenario and the Am79C973/ slot time/IPG during the time that receive carrier sense
Am79C975 controller will defer its transmission. If car- is detected. This aids in networks where large numbers
rier is detected within the 4.0 to 6.0 ms IFS1 period, the of nodes are present, and numerous nodes can be in
Am79C973/Am79C975 controller will not restart the collision. It effectively accelerates the increase in 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
to a time determined by the random backoff algorithm. Automatic transmit features such as retry on collision,
If a single retry was required, the 1 bit will be set in the FCS generation/transmission, and pad field insertion
transmit frame status. If more than one retry was re- can all be programmed to provide flexibility in the (re-)
quired, the MORE bit will be set. If all 16 attempts ex- transmission of messages.
perienced 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
abandon transmission of the frame on detection of the Automatic pad field insertion is controlled by the
first collision. In this case, only the RTRY bit will be set APAD_XMT bit in CSR4.
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
If a collision is detected after 512 bit times have been frame-by-frame basis.
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
The ISO 8802-3 (IEEE/ANSI 802.3) Standard requires transfer transmit frame data into the transmit FIFO.
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
See ANSI/IEEE Std 802.3-1990 Edition, 4.2.3.2.5: frame before transmission of the current frame will be-
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:
Am79C973/Am79C975 73
P R E L I M I N A R Y
to be 64 bytes in the transmit FIFO to start a transmis- It is the responsibility of upper layer software to cor-
sion. rectly define the actual length field contained in the
message to correspond to the total number of LLC
Automatic Pad Generation
Data bytes encapsulated in the frame (length field as
Transmit frames can be automatically padded to extend defined in the ISO 8802-3 (IEEE/ANSI 802.3) stan-
them to 64 data bytes (excluding preamble). This al- dard). The length value contained in the message is not
lows the minimum frame size of 64 bytes (512 bits) for used by the Am79C973/Am79C975 controller to com-
IEEE 802.3/Ethernet to be guaranteed with no software pute the actual number of pad bytes to be inserted. The
intervention from the host/controlling process. Setting Am79C973/Am79C975 controller will append pad
the APAD_XMT bit in CSR4 enables the automatic bytes dependent on the actual number of bits transmit-
padding feature. The pad is placed between the LLC ted onto the network. Once the last data byte of the
data field and FCS field in the IEEE 802.3 frame. FCS frame has completed, prior to appending the FCS, the
is always added if the frame is padded, regardless of Am79C973/Am79C975 controller will check to ensure
the state of DXMTFCS (CSR15, bit 3) or ADD_FCS that 544 bits have been transmitted. If not, pad bytes
(TMD1, bit 29). The transmit frame will be padded by are added to extend the frame size to this value, and
bytes with the value of 00H. The default value of the FCS is then added. See Figure 33.
APAD_XMT is 0, which will disable automatic pad gen-
eration after H_RESET.
56 8 6 6 2 4
Bits Bits Bytes Bytes Bytes Bytes
46 – 1500
Bytes 21510D-38
The 544 bit count is derived from the following: Am79C973/Am79C975 controller regardless of the
state of DXMTFCS or ADD_FCS (TMD1, bit 29). Note
Minimum frame size (excluding preamble/SFD,
that the calculated FCS is transmitted most significant
including FCS) 64 bytes 512 bits
bit first. The default value of DXMTFCS is 0 after
Preamble/SFD size 8 bytes 64 bits H_RESET.
FCS size 4 bytes 32 bits ADD_FCS (TMD1, bit 29) allows the automatic gener-
ation and transmission of FCS on a frame-by-frame
At the point that FCS is to be appended, the transmitted
basis. DXMTFCS should be set to 1 in this mode. To
frame should contain:
generate FCS for a frame, ADD_FCS must be set in all
Preamble/SFD + (Min Frame Size - FCS) descriptors of a frame (STP is set to 1). Note that bit 29
of TMD1 has the function of ADD_FCS if SWSTYLE
64 + (512-32) = 544 bits
(BCR20, bits 7-0) is programmed to 0, 2, or 3.
A minimum length transmit frame from the Am79C973/
Transmit Exception Conditions
Am79C975 controller, therefore, will be 576 bits, after
the FCS is appended. Exception conditions for frame transmission fall into
two distinct categories: those conditions which are the
Transmit FCS Generation result of normal network operation, and those which
Automatic generation and transmission of FCS for a occur due to abnormal network and/or host related
transmit frame depends on the value of DXMTFCS events.
(CSR15, bit 3). If DXMTFCS is cleared to 0, the trans-
Normal events which may occur and which are handled
mitter will generate and append the FCS to the trans-
autonomously by the Am79C973/Am79C975 controller
mitted frame. If the automatic padding feature is
include collisions within the slot time with automatic re-
invoked (APAD_XMT is set in CSR4), the FCS will be
try. The Am79C973/Am79C975 controller will ensure
appended to frames shorter than 64 bytes by the
that collisions which occur within 512 bit times from the
74 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 75
P R E L I M I N A R Y
CSR12 to CSR14). The byte ordering is such that the BAM (RMD1, bit 20) is set by the Am79C973/
first byte received from the network (after the SFD) Am79C975 controller when it accepted the received
must match the least significant byte of CSR12 frame because the frame’s destination address is of the
(PADR[7:0]), and the sixth byte received must match type ’Broadcast’.
the most significant byte of CSR14 (PADR[47:40]).
If DRCVBC (CSR15, bit 14) is cleared to 0, only BAM,
When DRCVPA (CSR15, bit 13) is set to 1, the but not LAFM will be set when a Broadcast frame is re-
Am79C973/Am79C975 controller will not accept uni- ceived, even if the Logical Address Filter is pro-
cast frames. grammed in such a way that a Broadcast frame would
pass the hash filter. If DRCVBC is set to 1 and the Log-
If the incoming frame is multicast, the Am79C973/
ical Address Filter is programmed in such a way that a
Am79C975 controller performs a calculation on the
Broadcast frame would pass the hash filter, LAFM will
contents of the destination address field to determine
be set on the reception of a Broadcast frame.
whether or not to accept the frame. This calculation is
explained in the section that describes the Logical Ad- When the Am79C973/Am79C975 controller operates
dress Filter (LADRF). in promiscuous mode and none of the three match bits
is set, it is an indication that the Am79C973/Am79C975
When all bits of the LADRF registers are 0, no multicast
controller only accepted the frame because it was in
frames are accepted, except for broadcast frames.
promiscuous mode.
Although broadcast frames are classified as special
When the Am79C973/Am79C975 controller is not pro-
multicast frames, they are treated differently by the
grammed to be in promiscuous mode, but the EADI in-
Am79C973/Am79C975 controller hardware. Broadcast
terface is enabled, then when none of the three match
frames are always accepted, except when DRCVBC
bits is set, it is an indication that the Am79C973/
(CSR15, bit 14) is set and there is no Logical Address
Am79C975 controller only accepted the frame because
match.
it was not rejected by driving the EAR pin LOW within
None of the address filtering described above applies 64 bytes after SFD.
when the Am79C973/Am79C975 controller is operat-
See Table 7 for receive address matches.
ing in the promiscuous mode. In the promiscuous
mode, all properly formed packets are received, re- Table 7. Receive Address Match
gardless of the contents of their destination address
LAF DRC
fields. The promiscuous mode overrides the Disable
PAM M BAM VBC Comment
Receive Broadcast bit (DRCVBC bit l4 in the MODE
Frame accepted due to
register) and the Disable Receive Physical Address bit
0 0 0 X PROM = 1 or no EADI
(DRCVPA, CSR15, bit 13).
reject
The Am79C973/Am79C975 controller operates in pro- 1 0 0 X Physical address match
miscuous mode when PROM (CSR15, bit 15) is set. Logical address filter
In addition, the Am79C973/Am79C975 controller pro- match;
0 1 0 0
frame is not of type
vides the External Address Detection Interface (EADI)
broadcast
to allow external address filtering. See the section Ex-
ternal Address Detection Interface for further detail. Logical address filter
match;
0 1 0 1
The receive descriptor entry RMD1 contains three bits frame can be of type
that indicate which method of address matching broadcast
caused the Am79C973/Am79C975 controller to accept 0 0 1 0 Broadcast frame
the frame. Note that these indicator bits are only avail-
able when the Am79C973/Am79C975 controller is pro- Automatic Pad Stripping
grammed to use 32-bit structures for the descriptor During reception of an IEEE 802.3 frame, the pad field
entries (BCR20, bit 7-0, SWSTYLE is set to 2 or 3). can be stripped automatically. Setting ASTRP_RCV
(CSR4, bit 0) to 1 enables the automatic pad stripping
PAM (RMD1, bit 22) is set by the Am79C973/
feature. The pad field will be stripped before the frame
Am79C975 controller when it accepted the received
is passed to the FIFO, thus preserving FIFO space for
frame due to a match of the frame’s destination ad-
additional frames. The FCS field will also be stripped,
dress with the content of the physical address register.
since it is computed at the transmitting station based on
LAFM (RMD1, bit 21) is set by the Am79C973/ the data and pad field characters, and will be invalid for
Am79C975 controller when it accepted the received a receive frame that has had the pad characters
frame based on the value in the logical address filter stripped.
register.
76 Am79C973/Am79C975
P R E L I M I N A R Y
The number of bytes to be stripped is calculated from the pad field stripped (if ASTRP_RCV is set). Receive
the embedded length field (as defined in the ISO 8802- frames which have a length field of 46 bytes or greater
3 (IEEE/ANSI 802.3) definition) contained in the frame. will be passed to the host unmodified.
The length indicates the actual number of LLC data
Figure 34 shows the byte/bit ordering of the received
bytes contained in the message. Any received frame
length field for an IEEE 802.3-compatible frame format.
which contains a length field less than 46 bytes will have
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 result of normal network operation, and those which
greater than a normal IEEE 802.3 Length field (Š46), occur due to abnormal network and/or host related
the Am79C973/Am79C975 controller will not attempt to events.
strip valid Ethernet frames. Note that for some network
Normal events which may occur and which are handled
protocols, the value passed in the Ethernet Type and/
autonomously by the Am79C973/Am79C975 controller
or IEEE 802.3 Length field is not compliant with either
are basically collisions within the slot time and auto-
standard and may cause problems if pad stripping is
m at i c r u nt p a cke t r ej e c t i o n. T he A m7 9 C 97 3 /
enabled.
Am79C975 controller will ensure that collisions that
Receive FCS Checking occur within 512 bit times from the start of reception
Reception and checking of the received FCS is per- (excluding preamble) will be automatically deleted from
formed automatically by the Am79C973/Am79C975 the receive FIFO with no host intervention. The receive
controller. Note that if the Automatic Pad Stripping fea- FIFO will delete any frame that is composed of fewer
ture is enabled, the FCS for padded frames will be ver- than 64 bytes provided that the Runt Packet Accept
ified against the value computed for the incoming bit (RPA bit in CSR124) feature has not been enabled and
stream including pad characters, but the FCS value for the network interface is operating in half-duplex mode,
a padded frame will not be passed to the host. If an or the full-duplex Runt Packet Accept Disable bit (FDR-
FCS error is detected in any frame, the error will be re- PAD, BCR9, bit 2) is set. This criterion will be met re-
ported in the CRC bit in RMD1. gardless of whether the receive frame was the first (or
only) frame in the FIFO or if the receive frame was
Receive Exception Conditions queued behind a previously received message.
Exception conditions for frame reception fall into two Abnormal network conditions include:
distinct categories, i.e., those conditions which are the
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
■ PHY Control Register (ANR0) bit 8 is set to 1 if Auto- pher scrambling and descrambling capability for
Negotiation is disabled. 100BASE-TX applications.
Full-Duplex Link Status LED Support In the transmit data path for 100 Mbps, the 10/100 PHY
The Am79C973/Am79C975 controller provides bits in receives 4-bit (nibble) wide data across the internal MII
each of the LED Status registers (BCR4, BCR5, BCR6, at 25 million nibbles per second. For 100BASE-TX ap-
BCR7) to display the Full-Duplex Link Status. If the plications, it encodes and scrambles the data, serial-
FDLSE bit (bit 8) is set, a value of 1 will be sent to the izes it, and transmits an MLT-3 data stream to the
associated LEDOUT bit when in Full-Duplex. media via an isolation transformer.
The 10/100 PHY receives an MLT-3 data stream from
10/100 PHY Unit Overview
the network for 100BASE-TX. It then recovers the clock
The 10/100 PHY unit implements the complete physi- from the data stream, de-serializes the data stream,
cal layer for 10BASE-T and the Physical Coding Sub- and descrambles/decodes the data stream (5B/4B) be-
layer (PCS), Physical Medium Attachment (PMA), and fore presenting it to the internal MII interface.
Physical Medium Dependent (PMD) functionality for
100BASE-TX. The 10/100 PHY implements Auto-
100BASE-FX (Fiber Interface)
Negotiation allowing two devices connected across a The Am79C973/Am79C975 device suppor ts a
link segment to take maximum advantage of their capa- Pseudo-ECL (PECL) interface for Fiber applications.
bilities. Auto-Negotiation is performed using a modified The mode is enabled when BCR2 bit 14
10BASE-T link integrity test pulse sequence as defined (DISSCR_SFEX) is set to 1 and the Signal Detect pins
in the IEEE 802.3u specification. SDI± are connected to the optical transceiver.
The internal 10/100 PHY consists of the following For 100BASE-FX receive operation, the PHY unit re-
functional blocks: ceives a PECL data stream from the optical transceiver
■ 100BASE-X Block including: and decodes the data stream. For transmit operation,
the PHY unit encodes and serializes the data and
— Transmit and Receive State Machines
transmits a pseudo-ECL data stream to the fiber optic
— 4B/5B Encoder and Decoder transceiver. See Figure 35.
— Stream Cipher Scrambler and Descrambler The Fiber Interface (100BASE-FX) does not support
— Link Monitor State Machine Auto-Negotiation, 10 BASE-FL, and data scrambling.
When the device is set to operate in PECL mode, the
— Far End Fault Indication (FEFI) State Machine
100BASE-TX operation will be disabled.
— MLT-3 Encoder
— MLT-3 Decoder with adaptive equalization 10BASE-T Physical Layer
■ 10BASE-T Block including: The 10/100 PHY incorporates 10BASE-T physical
layer functions, including both clock recovery (ENDEC)
— Manchester Encoder/Decoder
and transceiver functions. Data transmission over the
— Collision Detection 10BASE-T medium requires an integrated 10BASE-T
— Jabber MAU. The transceiver will meet the electrical require-
ments for 10BASE-T as specified in IEEE 802.3i. The
— Receive Polarity Detect
transmit signal is filtered on the transceiver to reduce
— Waveshaping and Filtering harmonic content per IEEE 802.3i. Since filtering is
■ Auto-Negotiation performed in silicon, external filtering modules are not
needed. The 10/100 PHY receives 10-Mbps data from
■ Physical Data Transceiver (PDX)
the MAC across the internal MII at 2.5 million nibbles
■ PHY Control and Management per second for 10BASE-T. It then Manchester encodes
the data before transmission to the network.
100BASE-TX Physical Layer
The RX+ pins are differential twisted-pair receivers.
The functions performed by the device include encod- When properly terminated, each receiver will meet the
ing of 4-bit data (4B/5B), decoding of received code electrical requirements for 10BASE-T as specified in
groups (5B/4B), generating carrier sense and collision IEEE 802.3i. Each receiver has internal filtering and
detect indications, serialization of code groups for does not require external filter modules. The 10/100
transmission, de-serialization of serial data from recep- PHY receives a Manchester coded 10BASE-T data
tion, mapping of transmit, receive, carrier sense, and stream from the medium. It then recovers the clock and
collision at the PHY/MAC interface, and recovery of decodes the data.
clock from the incoming data stream. It offers stream ci-
Am79C973/Am79C975 79
P R E L I M I N A R Y
80 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 81
P R E L I M I N A R Y
82 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 83
P R E L I M I N A R Y
84 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 85
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)
Ω Ω, 1%
5049.9 (5)
Ω Ω, 1%
49.9
50 (4)
RX– RX– (6)
SDI+ .01 µF
75 Ω 75 Ω 75 Ω
SDI–
* 1:1.414 *
TX+ TX+ (1)
49.9 Ω, 1%
50 Ω
. 2KΩ
1KΩ
.01 µF
75 Ω
0.001 µF
0.1 µF 2KV .01 µF
(chassis ground)
10BASE-T Block IEEE 802.3, Section 14.3.1.2. The load is a twisted pair
cable that meets IEEE 802.3, Section 14.4.
The 10BASE-T block consists of the following sub-
blocks: The TX± signal is filtered on the chip to reduce har-
monic content per Section 14.3.2.1 (10BASE-T). Since
— Transmit Process filtering is performed in silicon, TX± can be connected
— Receive Process directly to a standard transformer. External filtering
modules are not needed.
— Interface Status
— Collision Detect Function Twisted Pair Receive Function
— Jabber Function The RX+ port is a differential twisted-pair receiver.
When properly terminated, the RX+ port will meet the
— Reverse Polarity Detect electrical requirements for 10BASE-T receivers as
Refer to Figure 38 for the 10BASE-T block diagram. specified in IEEE 802.3, Section 14.3.1.3. The receiver
has internal filtering and does not require external filter
Twisted Pair Transmit Function
modules or common mode chokes.
Data transmission over the 10BASE-T medium re-
quires use of the integrated 10BASE-T MAU and uses Signals appearing at the RX± differential input pair are
the differential driver circuitry on the TX± pins. routed to the internal decoder. The receiver function
meets the propagation delays and jitter requirements
TX± is a differential twisted-pair driver. When properly specified by the 10BASE-T Standard. The receiver
terminated, TX± will meet the transmitter electrical re- squelch level drops to half its threshold value after un-
quirements for 10BASE-T transmitters as specified in squelch to allow reception of minimum amplitude sig-
86 Am79C973/Am79C975
P R E L I M I N A R Y
nals and to mitigate carrier fade in the event of worst Collision Detect Function
case signal attenuation and crosstalk noise conditions. Simultaneous activity (presence of valid data signals)
from both the internal encoder transmit function and
the twisted pair RX± pins constitutes a collision,
thereby causing the PCS Control block to assert the
Clock Data Clock Data COL pin at the internal MII.
Jabber Function
The Jabber function inhibits the 10BASE-T twisted pair
Manchester Manchester transmit function of the Am79C973/Am79C975 device
Encoder Decoder 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
at the internal MII and sets the Jabber Detect bit in
Squelch Register 1. Once the internal transmit data stream from
Circuit 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 re-
TX± RX± ceive activity on RX±, this block causes the PCS
21510D-43 Control block to assert only the COL pin at the internal
MII. If there is RX± activity, this block will cause the
Figure 38. 10BASE-T Transmit and Receive Data PCS Control block to assert both COL and CRS at the
Paths 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-
nored, but it will set the polarity to the correct state. The
In the Link Pass state, receive activity which passes the reception of two consecutive packets will cause the po-
pulse width/amplitude requirements of the RX± inputs, larity to be locked, based on the polarity of the ETD. In
will cause the PCS Control block to assert Carrier order to change the polarity once it has been locked,
Sense (CRS) signal at the internal MII interface. Colli- the link must be brought down and back up again.
sion would cause the PCS Control block to assert Car-
rier Sense (CRS) and Collision (COL) signal at the Auto-Negotiation
internal MII. In the Link Fail state, this block would
The object of the Auto-Negotiation function is to deter-
cause the PCS Control block to de-assert Carrier
mine the abilities of the devices sharing a link. After ex-
Sense (CRS) and Collision (COL).
changing abilities, the Am79C973/Am79C975 device
In jabber detect mode, this block would cause the PCS 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
CRS pin to indicate the current state of the RX± pair. If ordered 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.
Am79C973/Am79C975 87
P R E L I M I N A R Y
The Am79C973/Am79C975 device implements the Auto-Negotiation goes further by providing a message-
transmit and receive Auto-Negotiation algorithm as de- based communication scheme called, Next Pages, be-
fined in IEEE 802.3u, Section 28. The Auto-Negotiation fore connecting to the Link Partner. This feature is not
algorithm uses a burst of link pulses called Fast Link supported in the Am79C973/Am79C975 device unless
Pulses (FLPs). The burst of link pulses are spaced be- the DANAS (BCR32, bit 10) is selected.
tween 55 and 140 µs so as to be ignored by the stan-
Soft Reset Function
dard 10BASE-T algorithm. The FLP burst conveys
information about the abilities of the sending device. The PHY Control Register (ANR0) incorporates the
The receiver can accept and decode an FLP burst to soft reset function (bit 15). It is a read/write register and
learn the abilities of the sending device. The link pulses is self-clearing. Writing a 1 to this bit causes a soft re-
transmitted conform to the standard 10BASE-T tem- set. When read, the register returns a 1 if the soft reset
plate. The device can perform auto-negotiation with re- is still being performed; otherwise, it is cleared to 0.
verse polarity link pulses. Note that the register can be polled to verify that the
soft reset has terminated. Under normal operating con-
The Am79C973/Am79C975 device uses the Auto-Ne- ditions, soft reset will be finished in 150 clock cycles.
gotiation algorithm to select the type connection to be
established according to the following priority: Soft reset only resets the 10/100 PHY unit registers to
100BASE-TX full duplex, 100BASE-T4, 100BASE-TX default values (some register bits retain their previous
half-duplex, 10BASE-T full duplex, 10BASE-T half-du- values). Refer to the individual registers for values after
plex. The Am79C973/Am79C975 device does not sup- a soft reset. Soft reset does not reset the PDX block nor
port 100BASE-T4 connections. the management interface.
The Auto-Negotiation algorithm is initiated when one or Soft reset is required when changing the value of the
the following events occurs: Auto-Negotiation enable SDISSCR (scrambling/descrambling) bit. After soft
bit is set, or reset, or soft reset, or transition to link fail reset, the register will retain the previous value written.
state (when Auto-Negotiation enable bit is set), or Auto-
Negotiation restart bit is set. The result of the Auto-Ne-
External Address Detection Interface
gotiation process can be read from the status register The EADI is provided to allow external address filtering
(Summary Status Register, ANR24). and to provide a Receive Frame Tag word for propri-
The Am79C973/Am79C975 device supports Parallel etary routing information. It is selected by setting the
Detection for remote legacy devices which do not sup- EADISEL bit in BCR2 to 1. This feature is typically uti-
port the Auto-Negotiation algorithm. In the case that a lized by terminal servers, bridges and/or router prod-
100BASE-TX only device is connected to the remote ucts. The EADI interface can be used in conjunction
end, the Am79C973/Am79C975 device will see scram- with external logic to capture the packet destination ad-
bled idle symbols and establish a 100BASE-TX only dress as it arrives at the Am79C973/Am79C975 con-
connection. If NLPs are seen, the Am79C973/ troller, to compare the captured address with a table of
Am79C975 device will establish a 10BASE-T connec- stored addresses or identifiers, and then to determine
tion. whether or not the Am79C973/Am79C975 controller
should accept the packet.
By default, the link partner must be at least 10BASE-T
half-duplex capable. The Am79C973/Am79C975 con- If an address match is detected by comparison with ei-
troller can automatically negotiate with the network and ther the Physical Address or Logical Address Filter reg-
yield the highest performance possible without soft- isters contained within the Am79C973/Am79C975
ware support. See the section on Network Port Man- controller or the frame is of the type 'Broadcast', then
ager for more details. the frame will be accepted regardless of the condition
of EAR. When the EADISEL bit of BCR2 is set to 1 and
Table 10. Auto-Negotiation Capabilities the Am79C973/Am79C975 controller is programmed
to promiscuous mode (PROM bit of the Mode Register
Network Speed Physical Network Type is set to 1), then all incoming frames will be accepted,
regardless of any activity on the EAR pin.
200 Mbps 100BASE-X, Full Duplex
Internal address match is disabled when PROM
100 Mbps 100BASE-T4, Half Duplex (CSR15, bit 15) is cleared to 0, DRCVBC (CSR15, bit
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
20 Mbps 10BASE-T, Full Duplex programmed to all zeros.
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-
88 Am79C973/Am79C975
P R E L I M I N A R Y
ler, unless the EAR pin becomes active during the first arrives in nibbles and can be at a rate of 25 MHz or 2.5
64 bytes of the frame (excluding preamble and SFD). MHz.
This allows external address lookup logic approxi-
The assertion of SFBD is a signal to the external ad-
mately 58 byte times after the last destination address
dress detection logic that the SFD has been detected
bit is available to generate the EAR signal, assuming
and that the first valid data nibble is on the RXD[3:0]
that the Am79C973/Am79C975 controller is not config-
data bus. The SFBD signal is delayed one RX_CLK
ured to accept runt packets. The EADI logic only sam-
cycle from the above definition and actually signals the
ples EAR from 2 bit times after SFD until 512 bit times
start of valid data. In order to reduce the amount of
(64 bytes) after SFD. The frame will be accepted if EAR
logic external to the Am79C973/Am79C975 controller
has not been asserted during this window. In order for
for multiple address decoding systems, the SFBD sig-
the EAR pin to be functional in full-duplex mode, FDR-
nal will go HIGH at each new byte boundary within the
PAD bit (BCR9, bit 2) needs to be set. If Runt Packet
packet, subsequent to the SFD. This eliminates the
Accept (CSR124, bit 3) is enabled, then the EAR signal
need for externally supplying byte framing logic.
must be generated prior to the 8 bytes received, if
frame rejection is to be guaranteed. Runt packet sizes The EAR pin should be driven LOW by the external ad-
could be as short as 12 byte times (assuming 6 bytes dress comparison logic to reject a frame.
for source address, 2 bytes for length, no data, 4 bytes
External Address Detection Interface: Receive
for FCS) after the last bit of the destination address is
Frame Tagging
available. EAR must have a pulse width of at least 110
ns. The Am79C973/Am79C975 controller supports re-
ceive frame tagging in MII Snoop mode. The receive
The EADI outputs continue to provide data throughout frame tagging implementation is a two-wire chip inter-
the reception of a frame. This allows the external logic face in addition to the existing EADI.
to capture frame header information to determine pro-
tocol type, internetworking information, and other use- The Am79C973/Am79C975 controller supports up to
ful data. 15 bits of receive frame tagging per frame in the receive
frame status (RFRTAG). The RFRTAG bits are in the
The EADI interface will operate as long as the STRT bit receive frame status field in RMD2 (bits 30-16) in 32-bit
in CSR0 is set, even if the receiver and/or transmitter software mode. The receive frame tagging is not sup-
are disabled by software (DTX and DRX bits in CSR15 ported in the 16-bit software mode. The RFRTAG field
are set). This configuration is useful as a semi-power- are all zeros when either the EADISEL (BCR2, bit3) or
down mode in that the Am79C973/Am79C975 control- the RXFRTAG (CSR7, bit 14) are set to 0. When
ler will not perform any power-consuming DMA opera- EADISEL (BCR2, bit 3) and RXFRTAG (CSR7, bit 14)
tions. However, external circuitry can still respond to are set to 1, then the RFRTAG reflects the tag word
control frames on the network to facilitate remote node shifted in during that receive frame.
control. Table 11 summarizes the operation of the 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 The receive frame tag register is a shift register that
No timing shifts data in MSB first, so that less than the 15 bits al-
0 1 All received frames
requirements located may be utilized by the user. The upper bits not
Frame rejected if in utilized will return zeros. The receive frame tag register
Low for two bit
0 0 address match is set to 0 in between reception of frames. After receiv-
times plus 10 ns
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 work clock period before the Am79C973/Am79C975
controller receives the end of the current receive frame.
The MII Snoop mode provides all necessary data and
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 synchro- the rising edge of the RX_CLK. The user has until one
nous to the rising edge of the RX_CLK. The data network clock period before the deassertion of the
Am79C973/Am79C975 89
P R E L I M I N A R Y
RX_DV to input the data into the receive frame tag reg- two-wire interface. If the user is still driving the data
ister. At the deassertion of the RX_DV, the receive input enable pin, erroneous or corrupted data may re-
frame tag register will no longer accept data from the side in the receive frame tag register. See Figure 39.
RX_CLK
RX_DV
SF/BD
MIIRXFRTGE
MIIRXFRTGD 21510D-44
Expansion Bus Interface Both are configured using the same methods and op-
erate the same. See the previous section on Expansion
The Am79C973/Am79C975 controller contains an Ex- ROM transfers to get the PCI timing and functional de-
pansion Bus Interface that supports Flash and EPROM scription of the transfer method. The Am79C973/
devices as boot devices, as well as provides read/write Am79C975 controller is functionally equivalent to the
access to Flash or EPROM. PCnet-PCI II controller with Expansion ROM. See Fig-
The signal AS_EBOE is provided to strobe the upper 8 ure 41 and Figure 42.
bits of the address into an external ‘374 (D flip-flop) ad- The Am79C973/Am79C975 controller will always read
dress latch. AS_EBOE is asser ted LOW during four bytes for every host Expansion ROM read access.
EPROM/Flash read operations to control the OE input The interface to the Expansion Bus runs synchronous
of the EPROM/Flash. to the PCI bus interface clock. The Am79C973/
The Expansion Bus Address is split into two different Am79C975 controller will start the read operation to the
bus es, EBUA _EB A[7:0] and EB DA [15:8]. Th e Expansion ROM by driving the upper 8 bits of the Ex-
EBUA_EBA[7:0] provides the least and the most signif- pansion ROM address on EBUA_EBA[7:0]. One-half
icant address byte. When accessing EPROM/Flash, clock later, AS_EBOE goes high to allow registering of
the EBUA_EBA[7:0] is strobed into an external ‘374 (D the upper address bits externally. The upper portion of
flip-flop) address latch. This constitutes the most signif- the Expansion ROM address will be the same for all four
icant portion of the Expansion Bus Address. For byte read cycles. AS_EBOE is driven high for one-half
EPROM/Flash accesses, EBUA_EBA[7:0] constitutes clock, EBUA_EBA[7:0] are driven with the upper 8 bits
the remaining least significant address byte. For byte of the Expansion ROM address for one more clock cycle
oriented EPROM/Flash accesses, EBDA[15:8] consti- after AS_EBOE goes low. Next, the Am79C973/
tutes the upper or middle address byte. EBADDRU Am79C975 controller starts driving the lower 8 bits of
(BCR29, bits 3-0) should be set to 0 when not used, the Expansion ROM address on EBUA_EBA[7:0].
since EBADDRU constitutes the EBUA portion of the The time that the Am79C973/Am79C975 controller
EBUA_EBA address byte and is strobed into the exter- waits for data to be valid is programmable. ROMTMG
nal ’374 address latch. (BCR18, bits 15-12) defines the time from when the
The signal EROMCS is connected to the CS/CE input Am79C973/Am79C975 controller drives
of the EPROM/Flash. The signal EBWE is connected EBUA_EBA[7:0] with the lower 8 bits of the Expansion
to the WE of the Flash device. ROM address to when the Am79C973/Am79C975 con-
troller latches in the data on the EBD[7:0] inputs. The
The Expansion Data Bus is configured for 8-bit byte ac- register value specifies the time in number of clock cy-
cess during EPROM/Flash accesses. During EPROM/ cles. When ROMTMG is set to nine (the default value),
Flash accesses, EBD[7:0] provides the data byte. See EBD[7:0] is sampled with the next rising edge of CLK
Figure 40, Figure 41, and Figure 42. ten clock cycles after EBUA_EBA[7:0] was driven with
Expansion ROM - Boot Device Access a new address value. The clock edge that is used to
sample the data is also the clock edge that generates
The Am79C973/Am79C975 controller suppor ts the next Expansion ROM address. All four bytes of Ex-
EPROM or Flash as an Expansion ROM boot device.
90 Am79C973/Am79C975
P R E L I M I N A R Y
pansion ROM data are stored in holding registers. One delay for the EBUA_EBA[7:0] outputs (tv_A_D) and by
clock cycle after the last data byte is available, the subtracting the input to clock setup time for the
Am79C973/Am79C975 controller asserts TRDY. EBD[7:0] inputs (t s_D ) from the time defined by
ROMTMG:
The access time for the Expansion ROM or the EB-
DATA (BCR30) device (tACC) during read operations tACC = ROMTMG * CLK period *CLK_FAC - (tv_A_D) -
can be calculated by subtracting the clock to output (ts_D)
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- reading the first byte, the Am79C973/Am79C975 con-
DATA (BCR30) device (tACC) during write operations troller reads in three more bytes by incrementing the
can be calculated by subtracting the clock to output lower portion of the ROM address. After the last byte is
delay for the EBUA EBA[7:0] outputs (tv_A_D) and by strobed in, TRDY will be asserted on clock 50. When
adding the input to clock setup time for Flash/EPRO in- the host tries to perform a burst read of the Expansion
puts (ts_D) from the time defined by ROMTMG: ROM, the Am79C973/Am79C975 controller will dis-
connect the access at the second data phase.
tACC = ROMTMG * CLK period * CLK_FAC - (tv_A_D) -
(ts_D) The host must program the Expansion ROM Base Ad-
dress register in the PCI configuration space before the
The timing diagram in Figure 43 assumes the default
first access to the Expansion ROM. The Am79C973/
programming of ROMTMG (1001b = 9 CLK). After
Am79C973/Am79C975 91
P R E L I M I N A R Y
Am79C975 controller will not react to any access to the BASE, PCI Expansion ROM Base Address register, bits
Expansion ROM until both MEMEN (PCI Command reg- 31-20). The address output to the Expansion ROM is
ister, bit 1) and ROMEN (PCI Expansion ROM Base the offset from the address on the PCI bus to ROM-
Address register, bit 0) are set to 1. After the Expansion BASE. The Am79C973/Am79C975 controller aliases all
ROM is enabled, the Am79C973/Am79C975 controller accesses to the Expansion ROM of the command types
will claim all memory read accesses with an address Memory Read Multiple and Memory Read Line to the
between ROMBASE and ROMBASE + 1M - 4 (ROM- basic Memory Read command.
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)
92 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
access to the I/O resources, attention must be given to EPADDRU (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 signa- start a read cycle on the Expansion Bus Interface. The
ture 55h (byte 0) and AAh (byte 1). Am79C 973/Am79C975 controller will dr ive
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 93
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 EBAD-
a new address value. This PCI slave access to the DRU.
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, de-
read access, except that the Am79C973/Am79C975
pending on whether or not the data is present and valid.
controller will not drive AS_EBOE low. The EROMCS
The access time is dependent on the ROMTMG bits
and EBWE are driven low for the value ROMTMG
(BCR18, bits 15-12) and the Flash/EPROM. This ac-
again. The write to the FLASH port is a posted write
cess mechanism differs from the Expansion ROM ac-
and will not result in a retry to the PCI unless the host
cess 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 Fig-
access. The PCI bus will not be held during accesses
ure 45.
through the Expansion Bus Data Port. If the LAAINC
(BCR29, bit 15) is set, the EBADDRL address will be
94 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 sequence, the Flash device will program and verify the
AMD’s Flash products are programmed on a byte-by- entire memory for an all zero data pattern prior to elec-
byte basis. Programming is a four bus cycle operation. trical erase. The Am79C973/Am79C975 controller is
There are two “unlock” write cycles. These are followed not required to provide any controls or timings during
by the program set-up command and data write cycles. these operations. The automatic erase begins on the
Addresses are latched on the falling edge of EBWE rising edge of the last EBWE pulse in the command se-
and the data is latched on the rising edge of EBWE. quence and terminates when the data on EBD[7] is 1,
The rising edge of EBWE begins programming. at which time the Flash device returns to the read
mode. Polling by the Am79C973/Am79C975 controller
Upon executing the AMD Flash Embedded Program is not required during the erase sequence. The follow-
Algorithm command sequence, the Am79C973/ ing FLASH programming-table excerpt (Table 12)
Am79C975 controller is not required to provide further shows the command sequence for byte programming
controls or timing. The AMD Flash product will compli- and sector/chip erasure on an AMD Flash device. In
ment EBD[7] during a read of the programmed location the following table, PA and PD stand for programmed
until the programming is complete. The host software address and programmed data, and SA stands for sec-
should poll the programmed address until EBD[7] tor address.
matches the programmed value.
The Am79C973/Am79C975 controller will support only
AMD Flash byte programming is allowed in any se- a single sector erase per command and not concurrent
quence and across sector boundaries. Note that a data sector erasures. The Am79C973/Am79C975 controller
0 cannot be programmed back to a 1. Only erase oper- will support most FLASH devices as long as there is no
ations can convert zeros to ones. AMD Flash chip timing requirement between the completion of com-
erase is a six-bus cycle operation. There are two unlock mands. The FLASH access time cannot be guaranteed
write cycles, followed by writing the set-up command. with the Am79C973/Am79C975 controller access
Two more unlock cycles are then followed by the chip mechanism. The Am79C973/Am79C975 controller will
erase command. Chip erase does not require the user also support only Flash devices that do not require data
to program the device prior to erasure. Upon executing hold times after write operations. See Table 12.
the AMD Flash Embedded Erase Algorithm command
Am79C973/Am79C975 95
P R E L I M I N A R Y
96 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 97
P R E L I M I N A R Y
98 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 99
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.
100 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 101
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 only PCI bus reset (assertion of RST pin). This reset will ac-
several microseconds. After H_RESET, the four LED tually occur after the EEPROM read following the reset
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
LED pin combined status signal can be programmed to
FDLS
run to a pulse stretcher, which consists of a 3-bit shift FDLSE
register clocked at 38 Hz (26 ms). The data input of
LNKS
each shift register is normally at logic 0. The OR gate LNKSE
output for each LED register asynchronously sets all RCV
three bits of its shift register when the output becomes RCVE To
asserted. The inverted output of each shift register is RCVM Pulse
used to control an LED pin. Thus, the pulse stretcher RCVME Stretcher
MR_SPEED_SEL
Power Savings Mode 100E
MPS
Power Management Support MPSE
102 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 103
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 corre-
with up to eight patterns stored in the Pattern Match spond to the pattern match bytes 3-0 of the same PMR
RAM (PMR). The stored patterns can be compared word (PMR bytes 4-1). If bit n of this field is 0, then byte
with part or all of incoming packets, depending on the n of the corresponding pattern word is ignored. If this
pattern length and the way the PMR is programmed. field is programmed to 3, then bytes 0 and 1 of the pat-
When a pattern match has been detected, then PMAT tern 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 asser t the PME pin if the
PME_EN bit (PMCSR, bit 8) is set. The contents of the P MR are not affec ted 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
shown in Figure 50. The PMR is programmed indirectly
Magic Packet Mode
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 f i 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
When BCR45 is written to set the PMAT_MODE bit to that is addressed to the Am79C973/Am79C975 con-
0, the Pattern Match logic is disabled and accesses to troller and contains a data sequence anywhere in its
the PMR are possible. Bits 6:0 of BCR45 specify the data field made up of 16 consecutive copies of the de-
address of the PMR word to be accessed. Writing to vice’s physical address (PADR[47:0]). The Am79C973/
BCR45 does not immediately affect the contents of the Am79C975 controller will search incoming frames until
PMR. Following the write to BCR45, the PMR word ad- it finds a Magic Packet frame. It starts scanning for the
dressed by the bits 6:0 of the BCR45 may be read by sequence after processing the length field of the frame.
reading BCR45, BCR46, and BCR47 in any order. To The data sequence can begin anywhere in the data
write to the PMR word, the write to BCR45 must be field of the frame, but must be detected before the
followed by a write to BCR46 and a write to BCR47 in Am79C973/Am79C975 controller reaches the frame’s
that order to complete the operation. The PMR will not FCS field. Any deviation of the incoming frame’s data
actually be written until the write to BCR47 is complete. sequence from the required physical address se-
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
patterns. The remainder of the RAM contains the The Am79C973/Am79C975 controller supports two dif-
match patterns and associated match pattern control ferent modes of address detection for a Magic Packet
bits. The byte 0 of the first word contains the Pattern frame. If MPPLBA (CSR5, bit 5) or EMPPLBA
Enable bits. Any bit position set in this byte enables the (CSR116, bit 6) are at their default value of 0, the
corresponding match pattern in the PMR, as an exam- Am79C973/Am79C975 controller will only detect a
ple if the bit 3 is set, then the Pattern 3 is enabled for Magic Packet frame if the destination address of the
matching. Bytes 1 to 4 in the first word are pointers to packet matches the content of the physical address
the beginning of the patterns 0 to 3, and bytes 1 to 4 in register (PADR). If MPPLBA or EMPPLBA are set to 1,
the second word are pointers to the beginning of the the destination address of the Magic Packet frame can
patterns 4 to 7, respectively. Byte 0 of the second word be unicast, multicast, or broadcast.
has no function associated with it. The byte 0 of the
104 Am79C973/Am79C975
P R E L I M I N A R Y
Pattern Enable
0 P3 pointer P2 pointer P1 pointer P0 pointer First Address
bits
Second
1 P7 pointer P6 pointer P5 pointer P4 pointer X
Address
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
Th e r e a r e t wo g e n er a l m e th 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 105
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-
b i t 5 ) , t h e M P I N T b i t ( C S R 5 , b i t 4 ) , a n d th e 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 ag i c Packe t f r am e i s d e t ec te d , t h e reset circuit is provided to ensure that the FSM is in the
Am79C973/Am79C975 controller will discard the frame TEST_LOGIC_RESET state at power-up. Therefore,
internally, but will not resume normal transmit and re- the TRST is not provided. The FSM is also reset when
ceive 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
be the interrupts from the Media Independent Interface, After the TAP FSM is reset, the IDCODE instruction is
which could occur while the device is in Magic Packet always invoked. The decoding logic gives signals to con-
mode. trol the data flow in the Data registers according to 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
106 Am79C973/Am79C975
P R E L I M I N A R Y
There are four possible operation modes in the BSR H_RESET will clear DWIO (BCR18, bit 7) and the
cell shown in Table 17. Am79C973/Am79C975 controller will be in 16-bit I/O
mode after the reset operation. A DWord write opera-
tion to the RDP (I/O offset 10h) must be performed to
Table 17. BSR Mode Of Operation set the device into 32-bit I/O mode.
1 Capture
S_RESET
2 Shift
3 Update
Software Reset (S_RESET) is an Am79C973/
Am79C975 reset operation that has been created by a
4 System Function
read access to the Reset register, which is located at
Other Data Registers offset 14h in Word I/O mode or offset 18h in DWord
I/O mode from the Am79C973/Am79C975 I/O or mem-
Other data registers are the following:
ory mapped I/O base address.
1. Bypass Register (1 bit)
S_RESET will reset all of or some portions of CSR0, 3,
2. Device ID register (32 bits) (Table 18). 4, 15, 80, 100, and 124 to default values. For the iden-
tity of individual CSRs and bit locations that are af-
fected by S_RESET, see the individual CSR register
Table 18. Device ID Register descriptions. S_RESET will not affect any PCI configu-
Bits 31-28 Version ration space location. S_RESET will not affect any of
Bits 27-12 Part Number (0010 0110 0010 0101) the BCR register values. S_RESET will cause the mi-
crocode program to jump to its reset state. Following
Manufacturer ID. The 11 bit manufacturer ID
Bits 11-1 cod for AMD is 00000000001 in accordance
the end of the S_RESET operation, the Am79C973/
with JEDEC publication 106-A. Am79C975 controller will not attempt to read the EE-
PROM device. After S_RESET, the host must perform
Bit 0 Always a logic 1
a full re-initialization of the Am79C973/Am79C975 con-
Note: The content of the Device ID register is the troller before starting network activity. S_RESET will
same as the content of CSR88. cause REQ to deassert immediately. STOP (CSR0, bit
2) or SPND (CSR5, bit 0) can be used to terminate any
Reset pending bus mastership request in an orderly se-
quence.
There are four different types of RESET operations that
S_RESET terminates all network activity abruptly. The
may be performed on the Am79C973/Am79C975 de-
host can use the suspend mode (SPND, CSR5, bit 0)
vice, H_RESET, S_RESET, STOP, and POR. The fol-
to terminate all network activity in an orderly sequence
lowing is a description of each type of RESET
before issuing an S_RESET.
operation.
STOP
H_RESET
A STOP reset is generated by the assertion of the
Hardware Reset (H_RESET) is an Am79C973/
STOP bit in CSR0. Writing a 1 to the STOP bit of CSR0,
Am79C975 reset operation that has been created by
when the stop bit currently has a value of 0, will initiate
the proper assertion of the RST pin of the Am79C973/
a STOP reset. If the STOP bit is already a 1, then writ-
Am79C975 device while the PG pin is HIGH. When the
ing a 1 to the STOP bit will not generate a STOP reset.
minimum pulse width timing as specified in the RST pin
description has been satisfied, then an internal reset STOP will reset all or some portions of CSR0, 3, and 4
operation will be performed. to default values. For the identity of individual CSRs
and bit locations that are affected by STOP, see the in-
H_RESET will program most of the CSR and BCR reg-
dividual CSR register descriptions. STOP will not affect
isters to their default value. Note that there are several
any of the BCR and PCI configuration space locations.
CSR and BCR registers that are undefined after
STOP will cause the microcode program to jump to its
H_RESET. See the sections on the individual registers
reset state. Following the end of the STOP operation,
for details.
the Am79C973/Am79C975 controller will not attempt to
H_RESET will clear most of the registers in the PCI read the EEPROM device.
configuration space. H_RESET will cause the micro-
Note: STOP will not cause a deassertion of the REQ
code program to jump to its reset state. Following the
signal, if it happens to be active at the time of the write
end of the H_RESET operation, the Am79C973/
to CSR0. The Am79C973/Am79C975 controller will
Am79C975 controller will attempt to read the EEPROM
wait until it gains bus ownership and it will first finish all
device through the EEPROM interface.
scheduled bus master accesses before the STOP reset
is executed.
Am79C973/Am79C975 107
P R E L I M I N A R Y
STOP terminates all network activity abruptly. The host specification revision 2.1. The 64-byte header includes
can use the suspend mode (SPND, CSR5, bit 0) to ter- all registers required to identify the Am79C973/
minate all network activity in an orderly sequence be- Am79C975 controller and its function. Additionally, PCI
fore setting the STOP bit. Power Management Interface registers are imple-
mented at location 40h - 47h. The layout of the
Power on Reset
Am79C973/Am79C975 PCI configuration space is
Power on Reset (POR) is generated when the shown in Table 19.
Am79C973/Am79C975 controller is powered up. POR
generates a hardware reset (H_RESET). In addition, it The PCI configuration registers are accessible only by
clears some bits that H_RESET does not affect. configuration cycles. All multi-byte numeric fields follow
little endian byte ordering. All write accesses to Re-
Software Access served locations have no effect; reads from these loca-
tions will return a data value of 0.
PCI Configuration Registers
The Am79C973/Am79C975 controller implements the
256-byte configuration space as defined by the PCI
Table 19. PCI Configuration Space Layout
31 24 23 16 15 8 7 0 Offset
Device ID Vendor ID 00h
Status Command 04h
Base-Class Sub-Class Programming IF Revision ID 08h
Reserved Header Type Latency Timer Reserved 0Ch
I/O Base Address 10h
Memory Mapped I/O Base Address 14h
Reserved 18h
Reserved 1Ch
Reserved 20h
Reserved 24h
Cardbus CIS Pointer 28h
Subsystem ID Subsystem Vendor ID 2Ch
Expansion ROM Base Address 30h
Reserved CAP-PTR 34h
Reserved 38h
MAX_LAT MIN_GNT Interrupt Pin Interrupt Line 3Ch
PMC NXT_ITM_PTR CAP_ID 40h
DATA_REG PMCSR_BSE PMCSR 44H
.
Reserved
.
Reserved FCh
108 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 109
P R E L I M I N A R Y
All I/O resources must be accessed in word quantities ware can invoke the DWIO mode by performing a
and on word addresses. The Address PROM locations DWord write access to the I/O location at offset 10h
can also be read in byte quantities. The only allowed (RDP). The data of the write access must be such that
DWord operation is a write access to the RDP, which it does not affect the intended operation of the
switches the device to DWord I/O mode. A read access Am79C973/Am79C975 controller. Setting the device
other than listed in the table below will yield undefined into 32-bit I/O mode is usually the first operation after
data, a write operation may cause unexpected repro- H_RESET or S_RESET. The RAP register will point to
gramming of the Am79C973/Am79C975 control regis- CSR0 at that time. Writing a value of 0 to CSR0 is a
ters. Table 21 shows legal I/O accesses in Word I/O safe operation. DWIO (BCR18, bit 7) will be set to 1 as
mode. an indication that the Am79C973/Am79C975 controller
operates in 32-bit I/O mode.
Table 20. I/O Map In Word I/O Mode (DWIO = 0)
Note: Even though the I/O resource mapping changes
No. of when the I/O mode setting changes, the RDP location
Offset Bytes Register
offset is the same for both modes. Once the DWIO bit
00h - 0Fh 16 APROM has been set to 1, only H_RESET can clear it to 0. The
10h 2 RDP DWIO mode setting is unaffected by S_RESET or set-
12h 2 RAP (shared by RDP and BDP) ting of the STOP bit. Table 22 shows how the 32 bytes
of address space are used in DWord I/O mode.
14h 2 Reset Register
16h 2 BDP
All I/O resources must be accessed in DWord quanti-
ties and on DWord addresses. A read access other
18h - 1Fh 8 Reserved than listed in Table 23 will yield undefined data, a write
Double Word I/O Mode operation may cause unexpected reprogramming of
the Am79C973/Am79C975 control registers.
The Am79C973/Am79C975 controller can be config-
ured to operate in DWord (32-bit) I/O mode. The soft-
110 Am79C973/Am79C975
P R E L I M I N A R Y
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
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
BCR40 PCI DATA Register Three (DATA3) Alias vendor ID is not the same as the Manufacturer ID in
Register CSR88 and CSR89. The vendor ID is assigned by the
PCI Special Interest Group.
BCR41 PCI DATA Register Four (DATA4) Alias
Register The PCI Vendor ID register is located at offset 00h in
the PCI Configuration Space. It is read only.
BCR42 PCI DATA Register Five (DATA5) Alias
Register This register is the same as BCR35 and can be written
by the EEPROM.
BCR43 PCI DATA Register Six (DATA6) Alias Reg-
ister PCI Device ID Register
Offset 02h
BCR44 PCI DATA Register Seven (DATA7) Alias
Register The PCI Device ID register is a 16-bit register that
uniquely identifies the Am79C973/Am79C975 control-
BCR45 OnNow Pattern Matching Register 1
Am79C973/Am79C975 113
P R E L I M I N A R Y
ler within AMD’s product line. The Am79C973/ controller detects a parity error, it
Am79C975 Device ID is 2000h. Note that this Device only sets the Detected Parity Er-
ID is not the same as the Part number in CSR88 and ror bit in the PCI Status register.
CSR89. The Device ID is assigned by AMD. The De- When PERREN is 1, the
vice ID is the same as the PCnet-PCI II (Am79C970A) Am79C973/Am79C975 controller
and PCnet-FAST (Am79C971) devices. asserts PERR on the detection of
a data parity error. It also sets the
The PCI Device ID register is located at offset 02h in
DATAPERR bit (PCI Status reg-
the PCI Configuration Space. It is read only.
ister, bit 8), when the data parity
PCI Command Register error occurred during a master
Offset 04h cycle. PERREN also enables re-
porting address parity errors
The PCI Command register is a 16-bit register used to through the SERR pin and the
control the gross functionality of the Am79C973/ SERR bit in the PCI Status regis-
Am79C975 controller. It controls the Am79C973/ ter.
Am79C975 controller’s ability to generate and respond
to PCI bus cycles. To logically disconnect the PERREN is cleared by
Am79C973/Am79C975 device from all PCI bus cycles H_RESET and is not affected by
except configuration cycles, a value of 0 should be writ- S_RESET or by setting the STOP
ten to this register. bit.
The PCI Command register is located at offset 04h in
5 VGASNOOP VGA Palette Snoop. Read as ze-
the PCI Configuration Space. It is read and written by
ro; write operations have no ef-
the host.
fect.
Bit Name Description
4 MWIEN Memory Write and Invalidate Cy-
15-10 RES Reserved locations. Read as ze- cle Enable. Read as zero; write
ros; write operations have no ef- operations have no effect. The
fect. Am79C973/Am79C975 controller
only generates Memory Write cy-
9 FBTBEN Fast Back-to-Back Enable. Read cles.
as zero; write operations have no
effect. The Am79C973/ 3 SCYCEN Special Cycle Enable. Read as
Am79C975 controller will not zero; write operations have no ef-
generate Fast Back-to-Back cy- fect. The Am79C973/Am79C975
cles. controller ignores all Special Cy-
cle operations.
8 SERREN SERR Enable. Controls the as-
sertion of the SERR pin. SERR is 2 BMEN Bus Master Enable. Setting
disabled when SERREN is BMEN enables the Am79C973/
cleared. SERR will be asserted Am79C975 controller to become
on detection of an address parity a bus master on the PCI bus. The
error and if both SERREN and host must set BMEN before set-
PERREN (bit 6 of this register) ting the INIT or STRT bit in CSR0
are set. of the Am79C973/Am79C975
controller.
SERREN is cleared by
H_RESET and is not effected by BMEN is cleared by H_RESET
S_RESET or by setting the STOP and is not effected by S_RESET
bit. or by setting the STOP bit.
7 RES Reserved location. Read as ze- 1 MEMEN Memory Space Access Enable.
ros; write operations have no ef- The Am79C973/Am79C975 con-
fect. troller will ignore all memory ac-
cesses when MEMEN is cleared.
6 PERREN Parity Error Response Enable. The host must set MEMEN be-
Enables the parity error response fore the first memory access to
functions. When PERREN is 0 the device.
and the Am79C973/Am79C975
114 Am79C973/Am79C975
P R E L I M I N A R Y
For memory mapped I/O, the BE[3:0], and the PAR lines for a
host must program the PCI Mem- parity error at the following times:
ory Mapped I/O Base Address
register with a valid memory ad- • In slave mode, during the ad-
dress before setting MEMEN. dress phase of any PCI bus com-
mand.
For accesses to the Expansion
ROM, the host must program the • In slave mode, for all I/O, mem-
PCI Expansion ROM Base Ad- ory and configuration write com-
dress register at offset 30h with a mands that select the
valid memory address before set- Am79C973/Am79C975 controller
ting MEMEN. The Am79C973/ when data is transferred (TRDY
Am79C975 controller will only re- and IRDY are asserted).
spond to accesses to the Expan-
sion ROM when both ROMEN • In master mode, during the data
(PCI Expansion ROM Base Ad- phase of all memory read com-
dress register, bit 0) and MEMEN mands.
are set to 1. Since MEMEN also
In master mode, during the data
enables the memory mapped ac-
phase of the memory write com-
cess to the Am79C973/
mand, the Am79C973/
Am79C975 I/O resources, the
Am79C975 controller sets the
PCI Memory Mapped I/O Base
PERR bit if the target reports a
Address register must be pro-
data parity error by asserting the
grammed with an address so that
PERR signal.
the device does not claim cycles
not intended for it. PERR is not effected by the state
of the Parity Error Response en-
MEMEN is cleared by H_RESET
able bit (PCI Command register,
and is not effected by S_RESET
bit 6).
or by setting the STOP bit.
PERR is set by the Am79C973/
0 IOEN I/O Space Access Enable. The
Am79C975 controller and
Am79C973/Am79C975 controller
cleared by writing a 1. Writing a 0
will ignore all I/O accesses when
has no effect. PERR is cleared by
IOEN is cleared. The host must
H_RESET and is not affected by
set IOEN before the first I/O ac-
S_RESET or by setting the STOP
cess to the device. The PCI I/O
bit.
Base Address register must be
programmed with a valid I/O ad- 14 SERR Signaled SERR. SERR is set
dress before setting IOEN. when the Am79C973/Am79C975
controller detects an address par-
IOEN is cleared by H_RESET
ity error and both SERREN and
and is not effected by S_RESET
PERREN (PCI Command regis-
or by setting the STOP bit.
ter, bits 8 and 6) are set.
PCI Status Register
SERR is set by the Am79C973/
Offset 06h Am79C975 controller and
The PCI Status register is a 16-bit register that contains cleared by writing a 1. Writing a 0
status information for the PCI bus related events. It is has no effect. SERR is cleared by
located at offset 06h in the PCI Configuration Space. H_RESET and is not affected by
S_RESET or by setting the STOP
Bit Name Description
bit.
15 PERR Parity Error. PERR is set when 13 RMABORT Received Master Abort. RM-
the Am79C973/Am79C975 con- ABORT is set when the
troller detects a parity error. Am79C973/Am79C975 controller
terminates a master cycle with a
The Am79C973/Am79C975 con-
master abort sequence.
troller samples the AD[31:0], C/
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
any specific register-level programming interfaces for H_RESET and is not effected by S_RESET or by setting
network devices. The value of this register is 00h. the STOP bit.
The PCI Programming Interface register is located at PCI Header Type Register
offset 09h in the PCI Configuration Space. It is read only.
Offset 0Eh
PCI Sub-Class Register The PCI Header Type register is an 8-bit register that
describes the format of the PCI Configuration Space
Offset 0Ah
locations 10h to 3Ch and that identifies a device to be
The PCI Sub-Class register is an 8-bit register that iden-
single or multi-function. The PCI Header Type register
tifies specifically the function of the Am79C973/
is located at address 0Eh in the PCI Configuration
Am79C975 controller. The value of this register is 00h
Space. It is read only.
which identifies the Am79C973/Am79C975 device as
an Ethernet controller. Bit Name Description
The PCI Sub-Class register is located at offset 0Ah in 7 FUNCT Single-function/multi-function de-
the PCI Configuration Space. It is read only. vice. Read as zero; write opera-
tions have no effect. The
PCI Base-Class Register
Am79C973/Am79C975 controller
Offset 0Bh is a single function device.
The PCI Base-Class register is an 8-bit register that
broadly classifies the function of the Am79C973/ 6-0 LAYOUT PCI configuration space layout.
Am79C975 controller. The value of this register is 02h Read as zeros; write operations
which classifies the Am79C973/Am79C975 device as have no effect. The layout of the
a network controller. PCI configuration space loca-
tions 10h to 3Ch is as shown in
The PCI Base-Class register is located at offset 0Bh in
the table at the beginning of this
the PCI Configuration Space. It is read only.
section.
PCI Latency Timer Register
PCI I/O Base Address Register
Offset 0Dh
The PCI Latency Timer register is an 8-bit register that Offset 10h
specifies the minimum guaranteed time the Am79C973/ The PCI I/O Base Address register is a 32-bit register
Am79C975 controller will control the bus once it starts that determines the location of the Am79C973/
its bus mastership period. The time is measured in clock Am79C975 I/O resources in all of I/O space. It is located
cycles. Every time the Am79C973/Am79C975 control- at offset 10h in the PCI Configuration Space.
ler asserts FRAME at the beginning of a bus mastership Bit Name Description
period, it will copy the value of the PCI Latency Timer
register into a counter and start counting down. The 31-5 IOBASE I/O base address most significant
counter will freeze at 0. When the system arbiter re- 27 bits. These bits are written by
moves GNT while the counter is non-zero, the the host to specify the location of
Am79C973/Am79C975 controller will continue with its the Am79C973/Am79C975 I/O
data transfers. It will only release the bus when the resources in all of I/O space. IO-
counter has reached 0. BASE must be written with a valid
The PCI Latency Timer is only significant in burst trans- address before the Am79C973/
actions, where FRAME stays asserted until the last data Am79C975 controller slave I/O
phase. In a non-burst transaction, FRAME is only as- mode is turned on by setting the
serted during the address phase. The internal latency IOEN bit (PCI Command register,
counter will be cleared and suspended while FRAME is bit 0).
deasserted.
When the Am79C973/
All eight bits of the PCI Latency Timer register are pro- Am79C975 controller is enabled
grammable. The host should read the Am79C973/ for I/O mode (IOEN is set), it
Am79C975 PCI MIN_GNT and PCI MAX_LAT registers monitors the PCI bus for a valid I/
to determine the latency requirements for the device O command. If the value on
and then initialize the Latency Timer register with an AD[31:5] during the address
appropriate value. phase of the cycles matches the
The PCI Latency Timer register is located at offset 0Dh value of IOBASE, the
in the PCI Configuration Space. It is read and written by Am79C973/Am79C975 controller
the host. The PCI Latency Timer register is cleared by
Am79C973/Am79C975 117
P R E L I M I N A R Y
118 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 119
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 spec-
This register has a default value ifies the maximum arbitration latency the Am79C973/
of 40h. Am79C975 controller can sustain without causing prob-
lems to the network activity. The register value specifies
The PCI Capabilities register is the time in units of 1/4 µs. The MAX_LAT register is an
located at offset 34h in the PCI alias of BCR22, bits 15-8. It is recommended that
Configuration Space. It is read BCR22 be programmed to a value of 1818h.
only.
The host should use the value in this register to deter-
PCI Interrupt Line Register mine the setting of the PCI Latency Timer register.
Offset 3Ch The PCI MAX_LAT register is located at offset 3Fh in
The PCI Interrupt Line register is an 8-bit register that the PCI Configuration Space. It is read only
is used to communicate the routing of the interrupt.
This register is written by the POST software as it ini- PCI Capability Identifier Register
tializes the Am79C973/Am79C975 controller in the Offset 40h
system. The register is read by the network driver to Bit Name Description
determine the interrupt channel which the POST soft-
ware has assigned to the Am79C973/Am79C975 con- 7-0 CAP_ID This register, when set to 1, iden-
troller. The PCI Interrupt Line register is not modified by tifies the linked list item as being
the Am79C973/Am79C975 controller. It has no effect the PCI Power Management reg-
on the operation of the device. isters. This register has a default
The PCI Interrupt Line register is located at offset 3Ch value of 1h.
in the PCI Configuration Space. It is read and written by
the host. It is cleared by H_RESET and is not affected The PCI Capabilities Identifier
by S_RESET or by setting the STOP bit. register is located at offset 40h in
the PCI Configuration Space. It is
PCI Interrupt Pin Register read only.
Offset 3Dh
PCI Next Item Pointer Register
This PCI Interrupt Pin register is an 8-bit register that
indicates the interrupt pin that the Am79C973/ Offset 41h
Am79C975 controller is using. The value for the Bit Name Description
Am79C973/Am79C975 Interrupt Pin register is 01h,
which corresponds to INTA. 7-0 NXT_ITM_PTR
The PCI Interrupt Pin register is located at offset 3Dh
in the PCI Configuration Space. It is read only. The Next Item Pointer Register
points to the starting address of
PCI MIN_GNT Register the next capability. The pointer at
Offset 3Eh this offset is a null pointer, indi-
The PCI MIN_GNT register is an 8-bit register that cating that this is the last capabil-
specifies the minimum length of a burst period that the ity in the linked list of the
Am79C973/Am79C975 device needs to keep up with capabilities. This register has a
the network activity. The length of the burst period is default value of 0h.
calculated assuming a clock rate of 33 MHz. The regis-
The PCI Next Pointer Register is
ter value specifies the time in units of 1/4 ms. The PCI
located at offset 41h in the PCI
MIN_GNT register is an alias of BCR22, bits 7-0. It is
Configuration Space. It is read
recommended that the BCR22 be programmed to a
only.
value of 1818h.
120 Am79C973/Am79C975
P R E L I M I N A R Y
PCI Power Management Capabilities Register 8-6 RES Reserved locations. Written as
(PMC) zeros and read as undefined.
Offset 42h
5 DSI Device Specific Initialization.
Note: All bits of this register are loaded from When this bit is 1, it indicates that
EEPROM. The register is aliased to BCR36 for testing special initialization of the func-
purposes. tion is required (beyond the stan-
Bit Name Description dard PCI configuration header)
before the generic class device
15-11 PME_SPT PME Support. This 5-bit field indi- driver is able to use it.
cates the power states in which
the function may assert PME. A Read only.
value of 0b for any bit indicates
4 RES Reserved locations. Written as
that the function is not capable of
zeros and read as undefined.
asserting the PME signal while in
that power state. 3 PME_CLK PME Clock. When this bit is a 1,
it indicates that the function relies
Bit(11) XXXX1b - PME can be
on the presence of the PCI clock
asserted from D0.
for PME operation. When this bit
Bit(12) XXX1Xb - PME can be is a 0 it indicates that no PCI
asserted from D1. clock is required for the function
to generate PME.
Bit(13) XX1XXb - PME can be
asserted from D2. Functions that do not support
PME generation in any state
Bit(14) X1XXXb - PME can be must return 0 for this field.
asserted from D3hot.
Read only.
Bit(15) 1XXXXb - PME can be
asserted from D3cold. 2-0 PMIS_VER Power Management Interface
Specification Version. A value of
Read only. 001b indicates that this function
complies with the revision 1.1 of
Bit 15 of the PMC register indi- the PCI Power Management In-
cates that the controller is capa- terface Specification.
ble of generating PME from the
D3 cold state. This capability de- PCI Power Management Control/Status Register
pends on the presence of auxilia- (PMCSR)
ry power, as indicated by the Offset 44h
AUXDET input. The capability
Bit Name Description
can be disabled by loading a zero
into bit 15 of BCR36 from the EE-
15 PME_STATUS PME Status. This bit is set when
PROM. (This register is aliased to
the function would normally as-
the PMC register.)
sert the PME signal independent
10 D2_SPT D2 Support. If this bit is a 1, this of the state of the PME_EN bit.
function supports the D2 Power
Writing a 1 to this bit will clear it
Management State.
and cause the function to stop as-
Read only. serting a PME (if enabled). Writ-
ing a 0 has no effect.
9 D1_SPT D1 Support. If this bit is a 1, this
function supports the D1 Power If the function supports PME from
Management State. D3cold then this bit is sticky and
must be explicitly cleared by the
Read only. operating system each time the
operating system is initially load-
ed.
Am79C973/Am79C975 121
P R E L I M I N A R Y
122 Am79C973/Am79C975
P R E L I M I N A R Y
been selected). Then a second access is performed, 15 ERR Error is set by the OR of CERR,
this time to the RDP offset of 10h (for either WIO or MISS, and MERR. ERR remains
DWIO mode). The RDP access is a read access, and set as long as any of the error
since RAP has just been loaded with the value of 0004h, flags are true.
the RDP read will yield the contents of CSR4. A read of
the BDP at this time (offset of 16h when WIO mode has Read accessible always. ERR is
been selected, 1Ch when DWIO mode has been select- read only. Write operations are
ed) will yield the contents of BCR4, since the RAP is ignored.
used as the pointer into both BDP and RDP space.
14 RES Reserved locations. Read/Write
RAP: Register Address Port accessible always. Read returns
Bit Name Description zero.
Am79C973/Am79C975 123
P R E L I M I N A R Y
11 MERR Memory Error is set by the When TINT is set, INTA is assert-
Am79C973/Am79C975 controller ed if IENA is 1 and the mask bit
when it requests the use of the TINTM (CSR3, bit 9) is 0.
system interface bus by asserting
REQ and has not received GNT TINT will not be set if TINTOKD
assertion after a programmable (CSR5, bit 15) is set to 1 and the
length of time. The length of time transmission was successful.
in microseconds before MERR is
asserted will depend upon the Read/Write accessible always.
setting of the Bus Timeout Regis- TINT is cleared by the host by
ter (CSR100). The default setting writing a 1. Writing a 0 has no ef-
of CSR100 will give a MERR after fect. TINT is cleared by
153.6 ms of bus latency. H_RESET, S_RESET, or by set-
ting the STOP bit.
When MERR is set, INTA is as-
serted if IENA is 1 and the mask 8 IDON Initialization Done is set by the
bit MERRM (CSR3, bit 11) is 0. Am79C973/Am79C975 controller
MERR assertion will set the ERR after the initialization sequence
bit, regardless of the settings of has completed. When IDON is
IENA and MERRM. set, the Am79C973/Am79C975
controller has read the initializa-
Read/Write accessible always. tion block from memory.
MERR is cleared by the host by
writing a 1. Writing a 0 has no ef- When IDON is set, INTA is as-
fect. MERR is cleared by serted if IENA is 1 and the mask
H_RESET, S_RESET, or by set- bit IDONM (CSR3, bit 8) is 0.
ting the STOP bit.
Read/Write accessible always.
10 RINT Receive Interrupt is set by the IDON is cleared by the host by
Am79C973/Am79C975 controller writing a 1. Writing a 0 has no ef-
after the last descriptor of a re- fect. IDON is cleared by
ceive frame has been updated by H_RESET, S_RESET, or by set-
writing a 0 to the OWNership bit. ting the STOP bit.
RINT may also be set when the
7 INTR Interrupt Flag indicates that one
first descriptor of a receive frame
or more following interrupt caus-
has been updated by writing a 0
ing conditions has occurred:
to the OWNership bit if the LAP-
EXDINT, IDON, MERR, MISS,
PEN bit of CSR3 has been set to
MFCO, RCVCCO, RINT, SINT,
a 1.
TINT, TXSTRT, UINT, STINT,
When RINT is set, INTA is assert- MREINT, MCCINT, MIIPDTINT,
ed if IENA is 1 and the mask bit MAPINT and the associated
RINTM (CSR3, bit 10) is 0. mask or enable bit is pro-
grammed to allow the event to
Read/Write accessible always. cause an interrupt. If IENA is set
RINT is cleared by the host by to 1 and INTR is set, INTA will be
writing a 1. Writing a 0 has no ef- active. When INTR is set by SINT
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
INIT clears the STOP bit. If STRT ter accesses, while the 32-bit
and INIT are set together, the hardware for which the
Am79C973/Am79C975 controller Am79C973/Am79C975 controller
initialization will be performed is intended will require 32 bits of
first. INIT is not cleared when the address. Therefore, whenever
initialization sequence has com- SSIZE32 = 0, the IADR[31:24]
pleted. bits will be appended to the 24-bit
initialization address, to each 24-
Read/Write accessible always. bit descriptor base address and
INIT is set by writing a 1. Writing to each beginning 24-bit buffer
a 0 has no effect. INIT is cleared address in order to form complete
by H_RESET, S_RESET, or by 32-bit addresses. The upper 8
setting the STOP bit. bits that exist in the descriptor ad-
dress registers and the buffer ad-
CSR1: Initialization Block Address 0 dress registers which are stored
Bit Name Description on board the Am79C973/
Am79C975 controller will be
31-16 RES Reserved locations. Written as overwritten with the IADR[31:24]
zeros and read as undefined. value, so that CSR accesses to
these registers will show the 32-
15-0 IADR[15:0] Lower 16 bits of the address of bit address that includes the ap-
the Initialization Block. Bit loca- pended field.
tions 1 and 0 must both be 0 to
align the initialization block to a If SSIZE32 = 1, then software will
DWord boundary. provide 32-bit pointer values for
all of the shared software struc-
This register is aliased with tures - i.e., descriptor bases and
CSR16. buffer addresses, and therefore,
IADR[31:24] will not be written to
Read/Write accessible only when the upper 8 bits of any of these
either the STOP or the SPND bit resources, but it will be used as
is set. Unaffected by H_RESET the upper 8 bits of the initializa-
or S_RESET, or by setting the tion address.
STOP bit.
This register is aliased with
CSR2: Initialization Block Address 1 CSR17.
Bit Name Description
Read/Write accessible only when
31-16 RES Reserved locations. Written as either the STOP or the SPND bit
zeros and read as undefined. is set. Unaffected by H_RESET,
S_RESET, or by setting the
15-8 IADR[31:24] If SSIZE32 is set (BCR20, bit 8), STOP bit.
then the IADR[31:24] bits will be
used strictly as the upper 8 bits of 7-0 IADR[23:16] Bits 23 through 16 of the address
the initialization block address. of the Initialization Block. When-
ever this register is written,
However, if SSIZE32 is reset CSR17 is updated with CSR2’s
(BCR20, bit 8), then the contents.
IADR[31:24] bits will be used to
generate the upper 8 bits of all Read/Write accessible only when
bus mastering addresses, as re- either the STOP or the SPND bit
quired for a 32-bit address bus. is set. Unaffected by H_RESET,
Note that the 16-bit software S_RESET, or by setting the
structures specified by the STOP bit.
SSIZE32 = 0 setting will yield
CSR3: Interrupt Masks and Deferral Control
only 24 bits of address for the
Am79C973/Am79C975 bus mas-
126 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 127
P R E L I M I N A R Y
host for each packet, and not all Read/Write accessible always.
messages may need all of the de- The LAPPEN bit will be reset to 0
scriptors that are allocated be- by H_RESET or S_RESET and
tween descriptors that contain will be unaffected by STOP.
STP = 1, then some descriptors/
buffers may be skipped in the See Appendix E for more infor-
ring. While performing the search mation on the Look Ahead Pack-
for the next STP bit that is set to et Processing concept.
1, the Am79C973/Am79C975
controller will advance through 4 DXMT2PD Disable Transmit Two Part Defer-
the receive descriptor ring re- ral (see Medium Allocation sec-
gardless of the state of ownership tion in the Media Access
bits. If any of the entries that are Management section for more
examined during this search indi- details). If DXMT2PD is set,
cate Am79C973/Am79C975 con- Transmit Two Part Deferral will
troller ownership of the descriptor be disabled.
but also indicate STP = 0, then
Read/Write accessible always.
the Am79C973/Am79C975 con-
DXMT2PD is cleared by
troller will reset the OWN bit to 0
H_RESET or S_RESET and is
in these entries. If a scanned en-
not affected by STOP.
try indicates host ownership with
STP = 0, then the Am79C973/ 3 EMBA Enable Modified Back-off Algo-
Am79C975 controller will not al- rithm (see Contention Resolution
ter the entry, but will advance to section in Media Access Man-
the next entry. agement section for more de-
tails). If EMBA is set, a modified
When the STP bit is found to be
back-off algorithm is implement-
true, but the descriptor that con-
ed.
tains this setting is not owned by
the Am79C973/Am79C975 con- Read/Write accessible always.
troller, then the Am79C973/ EMBA is cleared by H_RESET or
Am79C975 controller will stop S_RESET and is not affected by
advancing through the ring en- STOP.
tries and begin periodic polling of
this entry. When the STP bit is 2 BSWP Byte Swap. This bit is used to
found to be true, and the descrip- choose between big and little En-
tor that contains this setting is dian modes of operation. When
owned by the Am79C973/ BSWP is set to a 1, big Endian
Am79C975 controller, then the mode is selected. When BSWP is
Am79C973/Am79C975 controller set to 0, little Endian mode is se-
will stop advancing through the lected.
ring entries, store the descriptor
information that it has just read, When big Endian mode is select-
and wait for the next receive to ar- ed, the Am79C973/Am79C975
rive. controller will swap the order of
bytes on the AD bus during a data
This behavior allows the host phase on accesses to the FIFOs
software to pre-assign buffer only. Specifically, AD[31:24] be-
space in such a manner that the comes Byte 0, AD[23:16] be-
header portion of a receive pack- comes Byte 1, AD[15:8] becomes
et will always be written to a par- Byte 2, and AD[7:0] becomes
ticular memory area, and the data Byte 3 when big Endian mode is
portion of a receive packet will al- selected. When little Endian
ways be written to a separate mode is selected, the order of
memory area. The interrupt is bytes on the AD bus during a data
generated when the header bytes phase is: AD[31:24] is Byte 3,
have been written to the header AD[23:16] is Byte 2, AD[15:8] is
memory area. Byte 1, and AD[7:0] is Byte 0.
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
means that the software can read CSR5 and write back Note that the assertion of an in-
the value just read to clear the interrupt condition. terrupt due to SINT is not depen-
dent on the state of the INEA bit,
Bit Name Description
since INEA is cleared by the
STOP reset generated by the
31-16 RES Reserved locations. Written as
system error.
zeros and read as undefined.
Read/Write accessible always.
15 TOKINTD Transmit OK Interrupt Disable. If
SINT is cleared by the host by
TOKINTD is set to 1, the TINT bit
writing a 1. Writing a 0 has no ef-
in CSR0 will not be set when a
fect. The state of SINT is not af-
transmission was successful.
fected by clearing any of the PCI
Only a transmit error will set the
Status register bits that get set
TINT bit.
when a data parity error
TOKINTD has no effect when (DATAPERR, bit 8), master abort
LTINTEN (CSR5, bit 14) is set to (RMABORT, bit 13), or target
1. A transmit descriptor with abort (RTABORT, bit 12) occurs.
LTINT set to 1 will always cause SINT is cleared by H_RESET or
TINT to be set to 1, independent S_RESET and is not affected by
of the success of the transmis- setting the STOP bit.
sion.
10 SINTE System Interrupt Enable. If SIN-
Read/Write accessible always. TE is set, the SINT bit will be able
TOKINTD is cleared by to set the INTR bit.
H_RESET or S_RESET and is
Read/Write accessible always.
unaffected by STOP.
SINTE is set to 0 by H_RESET or
14 LTINTEN Last Transmit Interrupt Enable. S_RESET and is not affected by
When set to 1, the LTINTEN bit setting the STOP bit.
will cause the Am79C973/
9-8 RES Reserved locations. Written as
Am79C975 controller to read bit
zeros and read as undefined.
28 of TMD1 as LTINT. The set-
ting LTINT will determine if TINT 7 EXDINT Excessive Deferral Interrupt is
will be set at the end of the trans- set by the Am79C973/
mission. Am79C975 controller when the
transmitter has experienced Ex-
Read/Write accessible always.
cessive Deferral on a transmit
LTINTEN is cleared by
frame, where Excessive Deferral
H_RESET or S_RESET and is
is defined in the ISO 8802-3
unaffected by STOP.
(IEEE/ANSI 802.3) standard.
13-12 RES Reserved locations. Written as
When EXDINT is set, INTA is as-
zeros and read as undefined.
serted if the enable bit EXDINTE
11 SINT System Interrupt is set by the is 1.
Am79C973/Am79C975 controller
Read/Write accessible always.
when it detects a system error
EXDINT is cleared by the host by
during a bus master transfer on
writing a 1. Writing a 0 has no ef-
the PCI bus. System errors are
fect. EXDINT is cleared by
data parity error, master abort, or
H_RESET and is not affected by
a target abort. The setting of
S_RESET or setting the STOP
SINT due to data parity error is
bit.
not dependent on the setting of
PERREN (PCI Command regis- 6 EXDINTE Excessive Deferral Interrupt En-
ter, bit 6). able. If EXDINTE is set, the
EXDINT bit will be able to set the
When SINT is set, INTA is assert-
INTR bit.
ed if the enable bit SINTE is 1.
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
In suspend mode, all of the CSR RLEN is only defined after initial-
and BCR registers are accessi- ization. These bits are unaffected
ble. As long as the Am79C973/ by H_RESET, S_RESET, or
Am79C975 controller is not reset STOP.
while in suspend mode (by
H_RESET, S_RESET or by set- 7-0 RES Reserved locations. Read as 0s.
ting the STOP bit), no re-initial- Write operations are ignored.
ization of the device is required
after the device comes out of sus- CSR7: Extended Control and Interrupt 2
pend mode. The Am79C973/ Certain bits in CSR7 indicate the cause of an interrupt.
Am79C975 controller will contin- The register is designed so that these indicator bits are
ue at the transmit and receive de- cleared by writing ones to those bit locations. This
scriptor ring locations, from means that the software can read CSR7 and write back
where it had left, when it entered the value just read to clear the interrupt condition.
the suspend mode.
Bit Name Description
Read/Write accessible always.
SPND is cleared by H_RESET, 31-16 RES Reserved locations. Written as
S_RESET, or by setting the zeros and read as undefined.
STOP bit.
15 FASTSPNDE Fast Suspend Enable. When
CSR6: RX/TX Descriptor Table Length FASTSPNDE is set to 1, the
Am79C973/Am79C975 controller
Bit Name Description performs a fast suspend whenev-
er the SPND bit is set.
31-16 RES Reserved locations. Written as
zeros and read as undefined. When a fast suspend is request-
ed, the Am79C973/Am79C975
15-12 TLEN Contains a copy of the transmit controller performs a quick entry
encoded ring length (TLEN) field into the suspend mode. At the
read from the initialization block time the SPND bit is set, the
during the Am79C973/ Am79C973/Am79C975 controller
Am79C975 controller initializa- will complete the DMA process of
tion. This field is written during any transmit and/or receive pack-
the Am79C973/Am79C975 con- et that had already begun DMA
troller initialization routine. activity. In addition, any transmit
packet that had started transmis-
Read accessible only when either
sion will be fully transmitted and
the STOP or the SPND bit is set.
any receive packet that had be-
Write operations have no effect
gun reception will be fully re-
and should not be performed.
ceived. However, no additional
TLEN is only defined after initial-
packets will be transmitted or re-
ization. These bits are unaffected
ceived and no additional transmit
by H_RESET, S_RESET, or
or receive DMA activity will begin.
STOP.
Hence, the Am79C973/
11-8 RLEN Contains a copy of the receive Am79C975 controller may enter
encoded ring length (RLEN) read the suspend mode with transmit
from the initialization block during and/or receive packets still in the
Am79C973/Am79C975 controller FIFOs or the SRAM.
initialization. This field is written
When FASTSPNDE is 0 and the
during the Am79C973/
SPND bit is set, the Am79C973/
Am79C975 controller initializa-
Am79C975 controller may take
tion routine.
longer before entering the sus-
Read accessible only when either pend mode. At the time the
the STOP or the SPND bit is set. SPND bit is set, the Am79C973/
Write operations have no effect Am79C975 controller will com-
and should not be performed. plete the DMA process of a trans-
mit packet if it had already begun
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
10 STINTE Software Timer Interrupt Enable. ister and the read register
If STINTE is set, the STINT bit produce differences.
will be able to set the INTR bit.
When MAPINT is set to 1, INTA is
Read/Write accessible always. asserted if the enable bit MAP-
STINTE is set to 0 by H_RESET INTE is set to 1.
and is not affected by S_RESET
or setting the STOP bit Read/Write accessible always.
MAPINT is cleared by the host by
9 MREINT PHY Management Read Error In- writing a 1. Writing a 0 has no ef-
terrupt. The PHY Read Error in- fect. MAPINT is cleared by
terrupt is set by the Am79C973/ H_RESET and is not affected by
Am79C975 controller to indicate S_RESET or setting the STOP
that the currently read register bit.
from the PHY is invalid. The con-
tents of BCR34 are incorrect and 6 MAPINTE PHY Auto-Poll Interrupt Enable.
that the operation should be per- If MAPINTE is set, the MAPINT
formed again. The indication of bit will be able to set the INTR bit.
an incorrect read comes from the
internal PHY. Read/Write accessible always.
MAPINTE is set to 0 by
When MREINT is set to 1, INTA is H_RESET and is not affected by
asserted if the enable bit MREIN- S_RESET or setting the STOP bit
TE is set to 1.
5 MCCINT PHY Management Command
Read/Write accessible always. Complete Interrupt. The PHY
MREINT is cleared by the host by Management Command Com-
writing a 1. Writing a 0 has no ef- plete Interrupt is set by the
fect. MREINT is cleared by Am79C973/Am79C975 controller
H_RESET and is not affected by when a read or write operation to
S_RESET or setting the STOP the internal PHY Data Port
bit. (BCR34) is complete.
8 MREINTE PHY Management Read Error In- When MCCINT is set to 1, INTA
terrupt Enable. If MREINTE is is asserted if the enable bit MC-
set, the MREINT bit will be able to CINTE is set to 1.
set the INTR bit.
Read/Write accessible always.
Read/Write accessible always. MCCINT is cleared by the host by
MREINTE is set to 0 by writing a 1. Writing a 0 has no ef-
H_RESET and is not affected by fect. MCCINT is cleared by
S_RESET or setting the STOP bit H_RESET and is not affected by
S_RESET or setting the STOP
7 MAPINT PHY Management Auto-Poll In- bit.
terrupt. The PHY Auto-Poll inter-
rupt is set by the Am79C973/ 4 MCCINTE PHY Management Command
Am79C975 controller to indicate Complete Interrupt Enable. If
that the currently read status MCCINTE is set to 1, the MC-
does not match the stored previ- CINT bit will be able to set the
ous status indicating a change in INTR bit when the host reads or
state for the internal PHY. A writes to the internal PHY Data
change in the Auto-Poll Access Port (BCR34) only. Internal PHY
Method (BCR32, Bit 11) will reset Management Commands will not
the shadow register and will not generate an interrupt. For in-
cause an interrupt on the first ac- stance Auto-Poll state machine
cess from the Auto-Poll section. generated management frames
Subsequent accesses will gener- will not generate an interrupt
ate an interrupt if the shadow reg- upon completion unless there is a
compare error which get reported
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
Note: Bits 15-0 in this register are programmable CSR14: Physical Address Register 2
through the EEPROM. Note: Bits 15-0 in this register are programmable
Bit Name Description through the EEPROM.
31-16 RES Reserved locations. Written as Bit Name Description
zeros and read as undefined.
Am79C973/Am79C975 137
P R E L I M I N A R Y
138 Am79C973/Am79C975
P R E L I M I N A R Y
3 DXMTFCS Disable Transmit CRC (FCS). Read/Wr ite acc essible only
When DXMTFCS is set to 0, the when either the STOP or the
transmitter will generate and ap- SPND bit is set. LOOP is cleared
pend an FCS to the transmitted by H_RESET or S_RESET and
frame. When DXMTFCS is set to is unaffected by STOP.
1, no FCS is generated or sent 1 DTX Disable Transmit results in
with the transmitted frame. Am79C973/Am79C975 controller
DXMTFCS is overridden when not accessing the Transmit De-
ADD_FCS and ENP bits are set scriptor Ring and, therefore, no
in TMD1. transmissions are attempted.
DTX = 0, will set TXON bit (CSR0
When APAD_XMT bit (CSR4,
bit 4) if STRT (CSR0 bit 1) is as-
bit11) is set to 1, the setting of
serted.
DXMTFCS has no effect on
frames shorter than 64 bytes. Read/Write accessible only when
either the STOP or the SPND bit
If DXMTFCS is set and
is set.
ADD_FCS is clear for a particular
frame, no FCS will be generated. 0 DRX Disable Receiver results in the
If ADD_FCS is set for a particular Am79C973/Am79C975 controller
frame, the state of DXMTFCS is not accessing the Receive De-
ignored and a FCS will be ap- scriptor Ring and, therefore, all
pended on that frame by the receive frame data are ignored.
transmit circuitry. See also the DRX = 0, will set RXON bit
ADD_FCS bit in TMD1. (CSR0 bit 5) if STRT (CSR0 bit 1)
is asserted.
This bit was called DTCR in the
LANCE (Am7990) device. Read/Write accessible only when
either the STOP or the SPND bit
Read/Write accessible only when
is set.
either the STOP or the SPND bit
is set. CSR16: Initialization Block Address Lower
2 LOOP Loopback Enable allows the Bit Name Description
Am79C973/Am79C975 controller
to operate in full-duplex mode for 31-16 RES Reserved locations. Written as
test purposes. The setting of the zeros and read as undefined.
full- duplex control bits in BCR9
have no effect when the device 15-0 IADRL This register is an alias of CSR1.
operates in loopback mode.
When LOOP = 1, loopback is en- Read/Write accessible only when
abled. In combination with INTL either the STOP or the SPND bit
and MIIILP, various loopback is set.
Am79C973/Am79C975 139
P R E L I M I N A R Y
CSR18: Current Receive Buffer Address Lower 31-16 RES Reserved locations. Written as
Bit Name Description zeros and read as undefined.
CSR19: Current Receive Buffer Address Upper 31-16 RES Reserved locations. Written as
Bit Name Description zeros and read as undefined.
CSR20: Current Transmit Buffer Address Lower 31-16 RES Reserved locations. Written as
Bit Name Description zeros and read as undefined.
140 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 141
P R E L I M I N A R Y
CSR34: Current Transmit Descriptor Address 15-0 NNRDAU Contains the upper 16 bits of the
Lower next next receive descriptor ad-
Bit Name Description dress pointer.
142 Am79C973/Am79C975
P R E L I M I N A R Y
15-12 RES Reserved locations. Read and 15-0 CXST Current Transmit Status. This
written as zeros. field is a copy of bits 31-16 of
TMD1 of the current transmit de-
11-0 CRBC Current Receive Byte Count. scriptor.
This field is a copy of the BCNT
field of RMD1 of the current re- Read/Write accessible only when
ceive 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 CSR44: Next Receive Byte Count
STOP. Bit Name Description
Am79C973/Am79C975 143
P R E L I M I N A R Y
31-16 RES Reserved locations. Written as 15-0 TXPOLLINT Transmit Polling Interval. This
zeros and read as undefined. register contains the time that the
Am79C973/Am79C975 controller
15-12 RES Reserved locations. Read and will wait between successive poll-
written as zeros. ing operations. The TXPOLLINT
value is expressed as the two’s
11-0 NRBC Next Receive Byte Count. This complement of the desired inter-
field is a copy of the BCNT field of val, where each bit of TXPOL-
RMD1 of the next receive de- LINT represents 1 clock period of
scriptor. time. TXPOLLINT[3:0] are ig-
nored. (TXPOLLINT[16] is im-
Read/Write accessible only when
plied to be a one, so
either the STOP or the SPND bit
TXPOLLINT[15] is significant and
is set. These bits are unaffected
does not represent the sign of the
by H_RESET, S_RESET, or
two’s complement TXPOLLINT
STOP.
value.)
CSR45: Next Receive Status
The default value of this register
Bit Name Description is 0000h. This corresponds to a
polling interval of 65,536 clock
31-16 RES Reserved locations. Written as periods (1.966 ms when
zeros and read as undefined. CLK = 33 MHz). The TXPOL-
LINT value of 0000h is created
15-0 NRST Next Receive Status. This field is during the microcode initialization
a copy of bits 31-16 of RMD1 of routine and, therefore, might not
the next receive descriptor. be seen when reading CSR47 af-
ter H_RESET or S_RESET.
Read/Write accessible only when
either the STOP or the SPND bit If the user desires to program a
is set. These bits are unaffected value for POLLINT other than the
by H_RESET, S_RESET, or default, then the correct proce-
STOP. dure is to first set INIT only in
CSR0. Then, when the initializa-
CSR46: Transmit Poll Time Counter
tion sequence is complete, the
Bit Name Description user must set STOP (CSR0, bit
2). Then the user may write to
31-16 RES Reserved locations. Written as CSR47 and then set STRT in
zeros and read as undefined. CSR0. In this way, the default
value of 0000h in CSR47 will be
15-0 TXPOLL Transmit Poll Time Counter. This overwritten with the desired user
counter is incremented by the value.
Am79C973/Am79C975 controller
microcode and is used to trigger If the user does not use the stan-
the transmit descriptor ring poll- dard initialization procedure
ing operation of the Am79C973/ (standard implies use of an initial-
Am79C975 controller. ization block in memory and set-
ting the INIT bit of CSR0), but
Read/Write accessible only when instead, chooses to write directly
either the STOP or the SPND bit to each of the registers that are
is set. These bits are unaffected involved in the INIT operation,
by H_RESET, S_RESET, or then it is imperative that the user
STOP. also writes all zeros to CSR47 as
part of the alternative initialization
CSR47: Transmit Polling Interval
sequence.
Bit Name Description
Read/Write accessible only when
31-16 RES Reserved locations. Written as either the STOP or the SPND bit
zeros and read as undefined. is set. These bits are unaffected
144 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 145
P R E L I M I N A R Y
146 Am79C973/Am79C975
P R E L I M I N A R Y
CSR60: Previous Transmit Descriptor Address 15-0 PXDAL Contains the lower 16 bits of the
Lower previous transmit descriptor ad-
dress pointer. The Am79C973/
Bit Name Description
Am79C975 controller has the ca-
pability to stack multiple transmit
31-16 RES Reserved locations. Written as
frames.
zeros and read as undefined.
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.
LANCE/
16-bit software structures, 16-bit software structures,
00h PCnet-ISA 0
non-burst or burst access non-burst access only
controller
Am79C973/Am79C975 147
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 de-
descriptor. scriptor.
148 Am79C973/Am79C975
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/
Bit Name Description Am79C975Am79C973/
Am79C975 controller initializa-
31-16 RES Reserved locations. Written as tion routine based on the value in
zeros and read as undefined. the TLEN field of the initialization
block. However, this register can
15-0 XMTRC Transmit Ring Counter location. be manually altered. The actual
Contains a two’s complement bi- transmit ring length is defined by
nary number used to number the the current value in this register.
current transmit descriptor. This The ring length can be defined as
counter interprets the value in any value from 1 to 65535.
CSR78 as pointing to the first de-
scriptor. A counter value of zero Read/Write accessible only when
corresponds to the last descriptor either the STOP or the SPND bit
in the ring. is set. These bits are unaffected
Am79C973/Am79C975 149
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 26.
13-12 RCVFW[1:0] Receive FIFO Watermark.
RCVFW controls the point at Table 26. Receive Watermark Programming
which receive DMA is requested
in relation to the number of re- RCVFW[1:0] Bytes Received
ceived bytes in the Receive FIFO. 00 16
RCVFW specifies the number of 01 64
bytes which must be present 10 112
(once the frame has been verified 11 Reserved
as a non-runt) before receive
DMA is requested. Note however Read/Write accessible only when
that, if the network interface is op- either the STOP or the SPND bit
erating in half-duplex mode, in or- is set. RCVFW[1:0] is set to a val-
der for receive DMA to be ue of 01b (64 bytes) after
performed for a new frame, at H_RESET or S_RESET and is
least 64 bytes must have been re- unaffected by STOP.
ceived. This effectively avoids
having to react to receive frames 11-10 XMTSP[1:0] Transmit Start Point. XMTSP
which are runts or suffer a colli- controls the point at which pream-
sion during the slot time (512 bit ble transmission attempts to com-
times). If the Runt Packet Accept mence in relation to the number
feature is enabled or if the net- of bytes written to the MAC
work interface is operating in full- Transmit FIFO for the current
duplex mode, receive DMA will transmit frame. When the entire
be requested as soon as either frame is in the MAC Transmit
the RCVFW threshold is reached, FIFO, transmission will start re-
or a complete valid receive frame gardless of the value in XMTSP.
is detected (regardless of length). If the network interface is operat-
When the FDRPAD (BCR9, bit 2) ing in half-duplex mode, regard-
is set and the Am79C973/ less of XMTSP, the FIFO will not
Am79C975 controller is in full-du- internally overwrite its data until
plex mode, in order for receive at least 64 bytes (or the entire
DMA to be performed for a new frame if shorter than 64 bytes)
frame, at least 64 bytes must have been transmitted onto the
have been received. This effec- network. This ensures that for
tively disables the runt packet ac- collisions within the slot time win-
cept feature in full duplex. dow, transmit data need not be
rewritten to the Transmit FIFO,
When operating in the NO-SRAM and retries will be handled auton-
mode (no SRAM enabled), the omously by the MAC. If the Dis-
Bus Receive FIFO and the MAC able Retry feature is enabled, or if
Receive operate like a single the network is operating in full-du-
FIFO and the watermark value plex mode, the Am79C973/
selected by RCVFW[1:0] sets the Am79C975 controller can over-
number of bytes that must be write the beginning of the frame
as soon as the data is transmit-
150 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 151
P R E L I M I N A R Y
CSR82: Transmit Descriptor Address Pointer CSR85: DMA Address Register Upper
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 DMABAU This register contains the upper
15-0 TXDAPL Contains the lower 16 bits of the 16 bits of the address of system
transmit descriptor address cor- memory for the current DMA cy-
responding to the last buffer of cle. The Bus Interface Unit con-
the previous transmit frame. If the trols the Address Register by
previous transmit frame did not issuing increment commands to
use buffer chaining, then TXDA- increment the memory address
PL contains the lower 16 bits of for sequential operations. The
the previous frame’s transmit de- DMABAU register is undefined
scriptor address. until the first Am79C973/
Am79C975 controller DMA oper-
When both the STOP or SPND ation.
bits are cleared, this register is
updated by Am79C973/ Read/Write accessible only when
Am79C975 controller immediate- either the STOP or the SPND bit
ly before a transmit descriptor is set. These bits are unaffected
write. by H_RESET, S_RESET, or
STOP.
Read accessible always. Write
accessible through the PXDAL CSR86: Buffer Byte Counter
bits (CSR60) when the STOP or
Bit Name Description
SPND bit is set. TXDAPL is set to
0 by H_RESET and are unaffect-
31-16 RES Reserved locations. Written as
ed by S_RESET or STOP.
zeros and read as undefined.
CSR84: DMA Address Register Lower
15-12 RES Reserved. Read and written with
Bit Name Description ones.
31-16 RES Reserved locations. Written as 11-0 DMABC DMA Byte Count Register. Con-
zeros and read as undefined. tains the two's complement of the
current size of the remaining
15-0 DMABAL This register contains the lower transmit or receive buffer in
16 bits of the address of system bytes. This register is increment-
memory for the current DMA cy- ed by the Bus Interface Unit. The
cle. The Bus Interface Unit con- DMABC register is undefined un-
trols the Address Register by til 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 oper- STOP.
ation.
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.
152 Am79C973/Am79C975
P R E L I M I N A R Y
VER is read only. Write opera- Read accessible only when either
tions are ignored. the STOP or the SPND bit is set.
VER is read only. VER is read
27-12 PARTID Part number. The 16-bit code for only. Write operations are ig-
the Am79C973 controller is nored.
0010 0110 0010 0101 (2625h)
and the code for the Am79C975 11-0 PARTIDU Upper 12 bits of the Am79C973/
is 0010 0110 0010 0111 (2627h). Am79C975 controller part num-
ber, i.e., 0010 0110 0010b
This register is exactly the same (262h).
as the Device ID register in the
JTAG description. However, this Read accessible only when either
part number is different from that the STOP or the SPND bit is set.
stored in the Device ID register in VER is read only. PARTIDU is
the PCI configuration space. read only. Write operations are
ignored.
Read accessible only when either
the STOP or the SPND bit is set. CSR92: Ring Length Conversion
PARTID is read only. Write oper- Bit Name Description
ations are ignored.
11-1 MANFID Manufacturer ID. The 11-bit man- 31-16 RES Reserved locations. Written as
ufacturer code for AMD is zeros and read as undefined.
00000000001b. This code is per
15-0 RCON Ring Length Conversion Regis-
the JEDEC Publication 106-A.
ter. This register performs a ring
Note that this code is not the length conversion from an encod-
same as the Vendor ID in the PCI ed value as found in the initializa-
configuration space. tion block to a two’s complement
value used for internal counting.
Read accessible only when either By writing bits 15-12 with an en-
the STOP or the SPND bit is set. coded ring length, a two’s com-
VER is read only. MANFID is plemented value is read. The
read only. Write operations are RCON register is undefined until
ignored. written.
Am79C973/Am79C975 153
P R E L I M I N A R Y
setting of the MERRM bit (CSR3, RCVCCO bit of CSR4 (bit 5) will
bit 11) and the IENA bit (CSR0, be set each time that this occurs.
bit 6).
Read accessible always. RCC is
The value in this register is inter- read only, write operations are ig-
preted as the unsigned number of nored. RCC is cleared by
bus clock periods divided by two, H_RESET or S_RESET, or by
(i.e., the value in this register is setting the STOP bit.
given in 0.1 ms increments.) For
example, the value 0600h (1536 CSR116: OnNow Power Mode Register
decimal) will cause a MERR to be Note: Bits 15-0 in this register are programmable
indicated after 153.6 ms of bus through the EEPROM.
latency. A value of 0 will allow an
Bit Name Description
infinitely long bus latency, i.e.,
bus timeout error will never oc-
cur. 31-14 RES Reserved locations. Written as
zeros and read as undefined.
Read/Write accessible only when
13 LCMODE_D3C. This bit is a read/write from the
either the STOP or the SPND bit
PCI bus and is reset only at
is set. This register is set to
power-on. This bit is not written
0600h by H_RESET or
from the EEPROM. Power man-
S_RESET and is unaffected by
agement software can set this bit
STOP.
before going to D3cold and even
CSR112: Missed Frame Count if there is a reset and the EE-
PROM loads because of an incor-
Bit Name Description rect PG signal, the control bit will
not be changed. This bit is OR’ed
31-16 RES Reserved locations. Written as with LCMODE (CSR116 bit 8) for
zeros and read as undefined. OnNow link chnage, but not for
hardware link change
15-0 MFC Missed Frame Count. Indicates
the number of missed frames. 12 MPPEN_D3C This bit is read/write from the the
PCI bus and is reset only at
MFC will roll over to a count of 0 power-on. This bit is not written
from the value 65535. The MFCO from the EEPROM. Power man-
bit of CSR4 (bit 8) will be set each agement software can set this bit
time that this occurs. before going to D3cold and even
if there is a reset and the EE-
Read accessible always. MFC is PROM loads because of an incor-
read only, write operations are ig- rect PG signal, the control bit will
nored. MFC is cleared by not be changed. This bit is OR’ed
H_RESET or S_RESET or by with MPPEN (CSR116 bit 4) for
setting the STOP bit. both hardware magic packet or
OnNow magic packet.
CSR114: Receive Collision Count
11 PMAT_MODE_D3C
Bit Name Description
This bit is read/write from the the
31-16 RES Reserved locations. Written as PCI bus and is reset only at
zeros and read as undefined. power-on. This bit is not written
from the EEPROM. Power man-
15-0 RCC Receive Collision Count. Indi- agement software can set this bit
cates the total number of colli- before going to D3cold and even
sions encountered by the if there is a reset and the EE-
receiver since the last reset of the PROM loads because of an incor-
counter. rect PG signal, the control bit will
not be changed. This bit is OR’ed
RCC will roll over to a count of 0 with PMAT_MODE (BCR45 bit 7)
from the value 65535. The for OnNow magic packet.
154 Am79C973/Am79C975
P R E L I M I N A R Y
PMAT is cleared when power is 3 RWU_DRIVER RWU Driver Type. If this bit is set
initially applied (POR). to 1, RWU is a totem pole driver;
otherwise RWU is an open drain
Read accessible always. output.
Am79C973/Am79C975 155
P R E L I M I N A R Y
0 RST_POL PHY_RST Pin Polarity. If the 15-4 RES Reserved locations. Written as
PHY_POL is set to 1, the zeros and read as undefined.
PHY_RST pin is active LOW; oth-
erwise PHY_RST is active HIGH. 3 RPA Runt Packet Accept. This bit
forces the Am79C973/
Read/Write accessible only when Am79C975 controller to accept
either the STOP bit or the SPND runt packets (packets shorter
bit is set. Cleared by H_RESET than 64 bytes).
and is not affected by S_RESET
or setting the STOP bit. Read accessible always; write
accessible only when STOP is
CSR122: Advanced Feature Control set to 1. RPA is cleared by
Bit Name Description H_RESET or S_RESET and is
not affected by STOP.
31-16 RES Reserved locations. Written as
2-0 RES Reserved locations. Written as
zeros and read as undefined.
zeros and read as undefined.
15-1 RES Reserved locations. Written as
CSR125: MAC Enhanced Configuration Control
zeros and read as undefined.
Bit Name Description
0 RCVALGN Receive Packet Align. When set,
this bit forces the data field of ISO 31-16 RES Reserved locations. Written as
8802-3 (IEEE/ANSI 802.3) pack- zeros and read as undefined.
ets to align to 0 MOD 4 address
boundaries (i.e., DWord aligned 15-8 IPG Inter Packet Gap. Changing IPG
addresses). It is important to note allows the user to program the
that this feature will only function Am79C973/Am79C975 controller
correctly if all receive buffer for aggressiveness on a network.
boundaries are DWord aligned By changing the default value of
and all receive buffers have 0 96 bit times (60h) the user can
MOD 4 lengths. In order to ac- adjust the fairness or aggressive-
complish the data alignment, the ness of the Am79C973/
Am79C973/Am79C975 controller Am79C975 MAC on the network.
simply inserts two bytes of ran- By programming a lower number
dom data at the beginning of the of bit times other then the ISO/
receive packet (i.e., before the IEC 8802-3 standard requires,
ISO 8802-3 (IEEE/ANSI 802.3) the Am79C973/Am79C975 MAC
destination address field). The will become more aggressive on
MCNT field reported to the re- the network. This aggressive na-
ceive descriptor will not include ture will give rise to the
the extra two bytes. Am79C973/Am79C975 controller
possibly “capturing the network”
at times by forcing other less ag-
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
BCR0: Master Mode Read Active BCR1: Master Mode Write Active
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 MSRDA Reserved locations. After 15-0 MSWRA Reserved locations. After
H_RESET, the value in this regis- H_RESET, the value in this regis-
ter will be 0005h. The setting of ter will be 0005h. The setting of
this register has no effect on any this register has no effect on any
Am79C973/Am79C975 controller Am79C973/Am79C975 controller
function. It is only included for function. It is only included for
software compatibility with other software compatibility with other
PCnet family devices. PCnet family devices.
158 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 159
P R E L I M I N A R Y
160 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 161
P R E L I M I N A R Y
31-16 RES Reserved locations. Written as 12 LEDPE LED Program Enable. When
zeros and read as undefined. LEDPE is set to 1, programming
of the LED0 (BCR4), LED1
15 SMIUEN (For Am79C975 only) SMIUEN is (BCR5), LED2 (BCR6), and
used to enable/disable the Serial LED3 (BCR7) registers is en-
Management Interface Unit in the abled. When LEDPE is cleared to
Am79C975 controller. 0, programming of LED0 (BCR4),
LED1 (BCR5), LED2 (BCR6),
If SMIUEN is set to 0 (default), and LED3 (BCR7) registers is
the SMIU is disable. If SMIUEN is disabled. Writes to those regis-
set to 1, the SMIU is enabled. ters will be ignored.
Read/Write accessible always. Read/Write accessible always.
SMIUEN is cleared to 0 by LEDPE is cleared to 0 by
H_RESET and is unaffected by H_RESET and is unaffected by
S_RESET or by setting the STOP S_RESET or by setting the STOP
bit. bit.
14 DISSCR_SFEX 11 RESET_SFEX
This bit is used to disable the This bit is used to reset the inter-
scrambler/descrambler when the nal PHY. When RESET_SFEX is
device is used in PECL mode. set to 1, the internal PHY will stay
This bit defaults to 0, which en- reset until RESET_SFEX is
ables the scrambler/descrambler cleared to 0.
for MLT3 applications.
Read/Write accessible always.
When DISSCR_SFEX is set to 1, RESET_SFEX is cleared to 0 by
the scrambler will be disabled for H_RESET and is unaffected by
fiber applications. S_RESET or by setting the STOP
bit.
Read/Write accessible always.
This bit is cleared to 0 by 10 I2C_M3 (Am79C975 only). This bit is used
H_RESET and is unaffected by to set the operating frequency of
S_RESET or by setting the STOP the SMIU core. It represents the
bit. value in the D6 bit position (see
Appendix B on SMIU Bus Fre-
13 PHYSELEN This bit enables writes to
quency.
BCR18[4:3] for software selec-
tion of various operation and test Read/Write accessible always.
modes. When PHYSELEN is set I2C_M3 is cleared by H_RESET
to 0 (default), the two bits can and is unaffected by S_RESET or
only be written from the EE- by setting the STOP bit.
PROM. When PHYSELEN is set
to 1, writes to BCR18[4:3] are en- 9 I2C_M2 (Am79C975 only). This bit is used
abled. to set the operating frequency of
the SMIU core. It represents the
162 Am79C973/Am79C975
P R E L I M I N A R Y
value in the D5 bit position (see tems that do not allow interrupt
Appendix B on SMIU Bus Fre- channels to be shared by multiple
quency. devices.
7 INTLEVEL Interrupt Level. This bit allows the 5 I2C_M0 (Am79C975 only). This bit is used
interrupt output signals to be pro- to set the operating frequency of
grammed for level or edge- the SMIU core. It represents the
sensitive applications. value in the D3 bit position (see
Appendix B on SMIU Bus Fre-
When INTLEVEL is cleared to 0, quency.
the INTA pin is configured for
level-sensitive applications. In Read/Write accessible always.
this mode, an interrupt request is I2C_M0 is cleared by H_RESET
signaled by a low level driven on and is unaffected by S_RESET or
the INTA pin by the Am79C973/ by setting the STOP bit.
Am79C975 controller. When the
interrupt is cleared, the INTA pin 4 I2C_N2 (Am79C975 only). This bit is used
is tri-stated by the Am79C973/ to set the operating frequency of
Am79C975 controller and al- the SMIU core. It represents the
lowed to be pulled to a high level value in the D2 bit position (see
by an external pullup device. This Appendix B on SMIU Bus Fre-
mode is intended for systems quency.
which allow the interrupt signal to
Read/Write accessible always.
be shared by multiple devices.
I2C_N2 is cleared by H_RESET
When INTLEVEL is set to 1, the and is unaffected by S_RESET or
INTA pin is configured for edge- by setting the STOP bit.
sensitive applications. In this
3 EADISEL EADI Select. When set to 1, this
mode, an interrupt request is sig-
bit enables the three EADI inter-
naled by a high level driven on
face pins that are multiplexed
the INTA pin by the Am79C973/
with other functions. EESK/LED1
Am79C975 controller. When the
becomes SFBD, EEDO/LED3
interrupt is cleared, the INTA pin
becomes MIIRXFRTGD, and
is driven to a low level by the
LED2 becomes MIIRXFRTGE.
Am79C973/Am79C975 control-
ler. This mode is intended for sys-
Am79C973/Am79C975 163
P R E L I M I N A R Y
See the section on External Ad- Note: Bits 15-0 in this register are programmable
dress Detection for more details. through the EEPROM.
Bit Name Description
Read/Write accessible always.
EADISEL is cleared by
31-16 RES Reserved locations. Written as
H_RESET and is unaffected by
zeros and read as undefined.
S_RESET or by setting the STOP
bit. 15 LEDOUT This bit indicates the current
(non-stretched) value of the LED
2 SLEEP_SFEX
output pin. A value of 1 in this bit
Setting this bit will reduce the indicates that the OR of the en-
power consumption of the inter- abled signals is true.
nal PHY substantially.
The logical value of the LEDOUT
Read/Write accessible always. status signal is determined by the
SLEEP_SFEX is cleared to 0 by settings of the individual Status
H_RESET and is unaffected by Enable bits of the LED register
S_RESET or by setting the STOP (bits 8 and 6-0).
bit.
Read accessible always. This bit
1 I2C_N1 (Am79C975 only). This bit is used is read only; writes have no ef-
to set the operating frequency of fect. LEDOUT is unaffected by
the SMIU core. It represents the H_RESET, S_RESET, or STOP.
value in the D1 bit position (see
14 LEDPOL LED Polarity. When this bit has
Appendix B on SMIU Bus Fre-
the value 0, then the LED pin will
quency.
be driven to a LOW level whenev-
Read/Write accessible always. er the OR of the enabled signals
I2C_N1 is cleared by H_RESET is true, and the LED pin will be
and is unaffected by S_RESET or disabled and allowed to float high
by setting the STOP bit. whenever the OR of the enabled
signals is false (i.e., the LED out-
0 I2C_N0 (Am79C975 only). This bit is used put will be an Open Drain output
to set the operating frequency of and the output value will be the
the SMIU core. It represents the inverse of the LEDOUT status
value in the D0 bit position (see bit).
Appendix B on SMIU Bus Fre-
quency. When this bit has the value 1,
then the LED pin will be driven to
Read/Write accessible always. a HIGH level whenever the OR of
I2C_N0 is cleared by H_RESET the enabled signals is true, and
and is unaffected by S_RESET or the LED pin will be driven to a
by setting the STOP bit. LOW level whenever the OR of
the enabled signals is false (i.e.,
BCR4: LED 0 Status the LED output will be a Totem
BCR4 controls the function(s) that the LED0 pin dis- Pole output and the output value
plays. Multiple functions can be simultaneously en- will be the same polarity as the
abled on this LED pin. The LED display will indicate the LEDOUT status bit.).
logical OR of the enabled functions. BCR4 defaults to
The setting of this bit will not ef-
Link Status (LNKST) with pulse stretcher enabled
fect the polarity of the LEDOUT
(PSE = 1) and is fully programmable.
bit for this register.
Note: When LEDPE (BCR2, bit 12) is set to 1, pro-
gramming of the LED0 Status register is enabled. Read/Write accessible always.
When LEDPE is cleared to 0, programming of the LEDPOL is cleared by H_RESET
LED0 register is disabled. Writes to those registers will and is not affected by S_RESET
be ignored. or setting the STOP bit.
164 Am79C973/Am79C975
P R E L I M I N A R Y
13 LEDDIS LED Disable. This bit is used to and is not affected by S_RESET
disable the LED output. When or setting the STOP bit.
LEDDIS has the value 1, then the
LED output will always be dis- 7 PSE Pulse Stretcher Enable. When
abled. When LEDDIS has the val- this bit is set, the LED illumination
ue 0, then the LED output value time is extended for each new oc-
will be governed by the LEDOUT currence of the enabled function
and LEDPOL values. for this LED output. A value of 0
disables the pulse stretcher.
Read/Write accessible always.
LEDDIS is cleared by H_RESET Read/Write accessible always.
and is not affected by S_RESET PSE is set to 1 by H_RESET and
or setting the STOP bit. is not affected by S_RESET or
setting the STOP bit.
12 100E 100 Mbps Enable. When this bit
is set to 1, a value of 1 is passed 6 LNKSE Link Status Enable. When this bit
to the LEDOUT bit in this register is set, a value of 1 will be passed
when the Am79C973/Am79C975 to the LEDOUT bit in this register
controller is operating at 100 when in Link Pass state.
Mbps mode.
Read/Write accessible always.
Read/Write accessible always. LNKSE is set to 1 by H_RESET
100E is cleared by H_RESET and is not affected by S_RESET
and is not affected by S_RESET or setting the STOP bit.
or setting the STOP bit.
5 RCVME Receive Match Status Enable.
11-10 RES Reserved locations. Written and When this bit is set, a value of 1 is
read as zeros. passed to the LEDOUT bit in this
register when there is receive ac-
9 MPSE Magic Packet Status Enable. tivity on the network that has
When this bit is set to 1, a value of passed the address match func-
1 is passed to the LEDOUT bit in tion for this node. All address
this register when Magic Packet matching modes are included:
frame mode is enabled and a physical, logical filtering, broad-
Magic Packet frame is detected cast and promiscuous.
on the network.
Read/Write accessible always.
Read/Write accessible always. RCVME is cleared by H_RESET
MPSE is cleared by H_RESET and is not affected by S_RESET
and is not affected by S_RESET or setting the STOP bit.
or setting the STOP bit.
4 XMTE Transmit Status Enable. When
8 FDLSE Full-Duplex Link Status Enable. this bit is set, a value of 1 is
Indicates the Full-Duplex Link passed to the LEDOUT bit in this
Test Status. When this bit is set, register when there is transmit
a value of 1 is passed to the LED- activity on the network.
OUT signal when the Am79C973/
Am79C975 controller is function- Read/Write accessible always.
ing in a Link Pass state and full- XMTE 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 3 RES Reserved location. Written and
full-duplex operation being en- read as zeros.
abled, a value of 0 is passed to
2 RCVE Receive Status Enable. When
the LEDOUT signal.
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
Am79C973/Am79C975 165
P R E L I M I N A R Y
register when there is receive ac- 14 LEDPOL LED Polarity. When this bit has
tivity on the network. the value 0, then the LED pin will
be driven to a LOW level whenev-
Read/Write accessible always. er the OR of the enabled signals
RCVE is cleared by H_RESET is true, and the LED pin will be
and is not affected by S_RESET disabled and allowed to float high
or setting the STOP bit. whenever the OR of the enabled
signals is false (i.e., the LED out-
1 RES Reserved location. Written and put will be an Open Drain output
read as zeros. and the output value will be the
inverse of the LEDOUT status
0 COLE Collision Status Enable. When
bit).
this bit is set, a value of 1 is
passed to the LEDOUT bit in this When this bit has the value 1,
register when there is collision then the LED pin will be driven to
activity on the network. a HIGH level whenever the OR of
the enabled signals is true, and
Read/Write accessible always.
the LED pin will be driven to a
COLE is cleared by H_RESET
LOW level whenever the OR of
and is not affected by S_RESET
the enabled signals is false (i.e.,
or setting the STOP bit.
the LED output will be a Totem
BCR5: LED1 Status Pole output and the output value
will be the same polarity as the
BCR5 controls the function(s) that the LED1 pin dis- LEDOUT status bit).
plays. Multiple functions can be simultaneously en-
abled on this LED pin. The LED display will indicate the The setting of this bit will not ef-
logical OR of the enabled functions. BCR5 defaults to fect the polarity of the LEDOUT
Receive Status (RCV) with pulse stretcher enabled bit for this register.
(PSE = 1) and is fully programmable.
Read/Write accessible always.
Note: When LEDPE (BCR2, bit 12) is set to 1, pro-
LEDPOL is cleared by H_RESET
gramming of the LED1 Status register is enabled.
and is not affected by S_RESET
When LEDPE is cleared to 0, programming of the
or setting the STOP bit.
LED1 register is disabled. Writes to those registers will
be ignored. 13 LEDDIS LED Disable. This bit is used to
Note: Bits 15-0 in this register are programmable disable the LED output. When
through the EEPROM. LEDDIS has the value 1, then the
LED output will always be dis-
Bit Name Description
abled. When LEDDIS has the val-
ue 0, then the LED output value
31-16 RES Reserved locations. Written as
will be governed by the LEDOUT
zeros and read as undefined.
and LEDPOL values.
15 LEDOUT This bit indicates the current
Read/Write accessible always.
(non-stretched) value of the LED
LEDDIS is cleared by H_RESET
output pin. A value of 1 in this bit
and is not affected by S_RESET
indicates that the OR of the en-
or setting the STOP bit.
abled signals is true.
12 100E 100 Mbps Enable. When this bit
The logical value of the LEDOUT
is set to 1, a value of 1 is passed
status signal is determined by the
to the LEDOUT bit in this register
settings of the individual Status
when the Am79C973/Am79C975
Enable bits of the LED register
controller is operating at 100
(bits 8 and 6-0).
Mbps mode.
Read accessible always. This bit
Read/Write accessible always.
is read only, writes have no ef-
100E is cleared by H_RESET
fect. LEDOUT is unaffected by
and is not affected by S_RESET
H_RESET, S_RESET, or STOP.
or setting the STOP bit.
166 Am79C973/Am79C975
P R E L I M I N A R Y
11-10 RES Reserved locations. Written and 5 RCVME Receive Match Status Enable.
read as zeros. When this bit is set, a value of 1 is
passed to the LEDOUT bit in this
9 MPSE Magic Packet Status Enable. register when there is receive ac-
When this bit is set to 1, a value of tivity on the network that has
1 is passed to the LEDOUT bit in passed the address match func-
this register when Magic Packet tion for this node. All address
mode is enabled and a Magic matching modes are included:
Packet frame is detected on the physical, logical filtering, broad-
network. cast, and promiscuous.
Am79C973/Am79C975 167
P R E L I M I N A R Y
168 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 169
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 val- time is extended for each new oc-
ue 0, then the LED output value currence of the enabled function
will be governed by the LEDOUT for this LED output. A value of 0
and LEDPOL values. disables the pulse stretcher.
170 Am79C973/Am79C975
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.
Am79C973/Am79C975 171
P R E L I M I N A R Y
will always operate in the half-du- BCR18: Burst and Bus Control Register
plex mode. When FDEN is set,
Note: Bits 15-0 in this register are programmable
the Am79C973/Am79C975 con-
through the EEPROM.
troller will operate in full-duplex
mode. Do not set this bit when Bit Name Description
Auto-Negotiation is 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
troller drives the lower 8 or 16 bits
H_RESET, the value of these bits
of the Expansion Bus Address
will be undefined. The settings of
bus to when the Am79C973/
these bits will have no effect on
Am79C975 controller latches in
any Am79C973/Am79C975 con-
the data on the 8 or 16 bits of the
troller function. It is only included
Expansion Bus Data inputs.
for software compatibility with
ROMTMG, during write opera-
other PCnet family 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 31.
Bit Name Description
Table 31. ROMTNG Programming Values
31-16 RES Reserved locations. Written as
zeros and read as undefined. ROMTMG (bits 15-12) No. of Expansion Bus Cycles
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
on any Am79C973/Am79C975 The access time for the Expan-
controller function. It is only in- sion ROM or the EBDATA
cluded for software compatibility (BCR30) device (tACC) during
with other PCnet family devices. read operations can be calculat-
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:
172 Am79C973/Am79C975
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
Am79C973/Am79C975 173
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 STOP
that REQ stays asserted through- 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 ap- cleared, this bit prevents the de-
plication. 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 de- 5 BWRITE Burst Write Enable. When set,
tails. 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
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
176 Am79C973/Am79C975
P R E L I M I N A R Y
Read accessible only. EEDET is 2 ECS EEPROM Chip Select. This bit is
read only; write operations have used to control the value of the
no effect. The value of this bit is EECS pin of the interface when
determined at the end of the the EEN bit is set to 1 and the
H_RESET operation. It is unaf- PREAD bit is set to 0. If EEN = 1
fected by S_RESET or the STOP and PREAD = 0 and ECS is set to
bit. a 1, then the EECS pin will be
forced to a HIGH level at the ris-
Table 32 indicates the possible ing edge of the next clock follow-
combinations of EEDET and the ing bit programming.
existence of an EEPROM and the
resulting operations that are pos- If EEN = 1 and PREAD = 0 and
sible on the EEPROM interface. ECS is set to a 0, then the EECS
pin will be forced to a LOW level
12-5 RES Reserved locations. Written as at the rising edge of the next
zeros; read as undefined. clock following bit programming.
ECS has no effect on the output
4 EEN EEPROM Port Enable. When this value of the EECS pin unless the
bit is set to a 1, it causes the val- PREAD bit is set to 0 and the
ues of ECS, ESK, and EDI to be EEN bit is set to 1.
driven onto the EECS, EESK,
and EEDI pins, respectively. If Read accessible always, write
EEN = 0 and no EEPROM read accessible only when either the
function is currently active, then STOP or the SPND bit is set.
EECS will be driven LOW. When ECS is set to 0 by H_RESET and
EEN = 0 and no EEPROM read is not affected by S_RESET or
function is currently active, EESK STOP.
and EEDI pins will be driven by
the LED registers BCR5 and
BCR4, respectively. See Table
32.
1 ESK EEPROM Serial Clock. This bit clock following bit programming,
and the EDI/EDO bit are used to except when the PREAD bit is set
control host access to the EE- to 1 or the EEN bit is set to 0. If
PROM. Values programmed to both the ESK bit and the EDI/
this bit are placed onto the EESK EDO bit values are changed dur-
pin at the rising edge of the next ing one BCR19 write operation,
Am79C973/Am79C975 177
P R E L I M I N A R Y
while EEN = 1, then setup and that since the advanced parity er-
hold times of the EEDI pin value ror handling uses an additional bit
with respect to the EESK signal in the descriptor, SWSTYLE (bits
edge are not guaranteed. 7-0 of this register) must be set to
2 or 3 to program the Am79C973/
ESK has no effect on the EESK Am79C975 controller to use 32-
pin unless the PREAD bit is set to bit software structures.
0 and the EEN bit is set to 1.
APERREN does not affect the re-
Read accessible always, write porting of address parity errors or
accessible only when either the data parity errors that occur when
STOP or the SPND bit is set. ESK the Am79C973/Am79C975 con-
is reset to 1 by H_RESET and is troller is the target of the transfer.
not affected by S_RESET or
STOP. Read anytime; write accessible
only when either the STOP or the
0 EDI/EDO EEPROM Data In/EEPROM SPND bit is set. APERREN is
Data Out. Data that is written to cleared by H_RESET and is not
this bit will appear on the EEDI affected by S_RESET or STOP.
output of the interface, except
when the PREAD bit is set to 1 or 9 RES Reserved locations. Written as
the EEN bit is set to 0. Data that zeros; read as undefined.
is read from this bit reflects the
value of the EEDO input of the in- 8 SSIZE32 Software Size 32 bits. When set,
terface. this bit indicates that the
Am79C973/Am79C975 controller
EDI/EDO has no effect on the utilizes 32-bit software structures
EEDI pin unless the PREAD bit is for the initialization block and the
set to 0 and the EEN bit is set to transmit and receive descriptor
1. entries. When cleared, this bit in-
dicates that the Am79C973/
Read accessible always; write Am79C975 controller utilizes 16-
accessible only when either the bit software structures for the ini-
STOP or the SPND bit is set. EDI/ tialization block and the transmit
EDO is reset to 0 by H_RESET and receive descriptor entries. In
and is not affected by S_RESET this mode, the Am79C973/
or STOP. Am79C975 controller is back-
wards compatible with the
BCR20: Software Style Am7990 LANCE and Am79C960
This register is an alias of the location CSR58. Accesses PCnet-ISA controllers.
to and from this register are equivalent to accesses to
CSR58. The value of SSIZE32 is deter-
mined by the Am79C973/
Bit Name Description Am79C975 controller according
to the setting of the Software
31-16 RES Reserved locations. Written as Style (SWSTYLE, bits 7-0 of this
zeros and read as undefined. register).
15-11 RES Reserved locations. Written as Read accessible always.
zeros and read as undefined. SSIZE32 is read only; write oper-
ations will be ignored. SSIZE32
10 APERREN Advanced Parity Error Handling
will be cleared after H_RESET
Enable. When APERREN is set
(since SWSTYLE defaults to 0)
to 1, the BPE bits (RMD1 and
and is not affected by S_RESET
TMD1, bit 23) start having a
or STOP.
meaning. BPE will be set in the
descriptor associated with the If SSIZE32 is reset, then bits
buffer that was accessed when a IADR[31:24] of CSR2 will be
data parity error occurred. Note used to generate values for the
178 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 179
P R E L I M I N A R Y
Read accessible always; write 15-0 SVID Subsystem Vendor ID. SVID is
accessible only when either the used together with SID (BCR24,
STOP or the SPND bit is set. bits 15-0) to uniquely identify the
MAX_LAT is set to the value of add-in board or subsystem the
FFh by H_RESET which results Am79C973/Am79C975 controller
in a default maximum latency of is used in. Subsystem Vendor IDs
63.75 microseconds. It is recom- can be obtained form the PCI
mended to program the value of SIG. A value of 0 (the default) in-
18H via EEPROM. MAX_LAT is dicates that the Am79C973/
not affected by S_RESET or Am79C975 controller does not
STOP. support subsystem identification.
SVID is aliased to the PCI config-
7-0 MIN_GNT Minimum Grant. Specifies the uration space register Subsystem
minimum length of a burst period Vendor ID (offset 2Ch).
the Am79C973/Am79C975 con-
troller needs to keep up with the Read accessible always. SVID is
network activity. The length of the read only. Write operations are
burst period is calculated assum- ignored. SVID is cleared to 0 by
ing a clock rate of 33 MHz. The H_RESET and is not affected by
register value specifies the time S_RESET or by setting the STOP
in units of 1/4 ms. MIN_GNT is bit.
aliased to the PCI configuration
space register MIN_GNT (offset BCR24: PCI Subsystem ID Register
3Eh). The host will use the value Note: Bits 15-0 in this register are programmable
in the register to determine the through the EEPROM.
setting of the Am79C973/
Bit Name Description
Am79C975 Latency Timer regis-
ter.
31-16 RES Reserved locations. Written as
Read accessible always; write zeros and read as undefined.
accessible only when either the
STOP or the SPND bit is set. 15-0 SID Subsystem ID. SID is used to-
MIN_GNT is set to the value of gether with SVID (BCR23, bits
06h by H_RESET which results 15-0) to uniquely identify the add-
in a default minimum grant of in board or subsystem the
1.5 ms, which is the time it takes Am79C973/Am79C975 controller
to Am79C973/Am79C975 con- is used in. The value of SID is up
troller to read/write half of the to the system vendor. A value of
FIFO. (16 DWord transfers in 0 (the default) indicates that the
burst mode with one extra wait Am79C973/Am79C975 controller
state per data phase inserted by does not support subsystem
the target.) Note that the default identification. SID is aliased to the
is only a typical value. It also does PCI configuration space register
not take into account any descrip- Subsystem ID (offset 2Eh).
tor accesses. It is recommended
Read accessible always. SID is
to program the value of 18H via
read only. Write operations are
EEPROM. MIN_GNT is not af-
ignored. SID is cleared to 0 by
fected by S_RESET or STOP.
H_RESET and is not affected by
BCR23: PCI Subsystem Vendor ID Register S_RESET or by setting the STOP
bit.
Note: Bits 15-0 in this register are programmable
through the EEPROM. BCR25: SRAM Size Register
Bit Name Description Bit Name Description
31-0 RES Reserved locations. Written as Note: Bits 7-0 in this register are programmable
zeros and read as undefined. through the EEPROM.
180 Am79C973/Am79C975
P R E L I M I N A R Y
31-8 RES Reserved locations. Written as begins in the SRAM. The transmit
zeros and read as undefined. buffer in the SRAM begins at ad-
dress 0 and ends at the address
7-0 SRAM_SIZE SRAM Size. Specifies the upper located just before the address
8 bits of the 16-bit total size of the specified by SRAM_BND. There-
SRAM buffer. Each bit in fore, the receive buffer always be-
SRAM_SIZE accounts for a 512- gins on a 512 byte boundary. The
byte page. The starting address lower bits are assumed to be ze-
for the lower 8 bits is assumed to ros. SRAM_BND has no effect in
be 00h and the ending address the Low Latency Receive mode.
for the lower is assumed to be
FFh. Therefore, the maximum ad- Note: The minimum allowed
dress range is the starting ad- number of pages is four. The
dress of 0000h to ending address Am79C973/Am79C975 controller
of ((SRAM_SIZE +1) * 256 will not operate correctly with less
words) or 17FFh. An than four pages of memory per
SRAM_SIZE value of all zeros queue. See Table 34 for
specifies that no SRAM will be SRAM_BND programming de-
used and the internal FIFOs will tails.
be joined into a contiguous FIFO
similar to the PCnet-PCI II con- Table 34. SRAM_BND Programming
troller.
SRAM Addresses SRAM_BND [7:0]
Note: The minimum allowed Minimum SRAM_BND
04h
number of pages is eight for nor- Address
mal network operation. The Maximum SRAM_BND Address 13h
Am79C973/Am79C975 controller
will not operate correctly with less CAUTION: Programming
than the eight pages of memory. SRAM_BND and SRAM_SIZE
When the minimum number of to the same value will cause
pages is used, these pages must data corruption except in the
be allocated four each for trans- case where SRAM SIZE is 0.
mit and receive.
Read accessible always; write
CAUTION: Programming accessible only when the STOP
SRAM_BND and SRAM_SIZE bit is set. SRAM_BND is set to
to the same value will cause 00000000b during H_RESET
data corruption except in the and is unaffected by S_RESET or
case where SRAM_SIZE is 0. STOP.
Am79C973/Am79C975 181
P R E L I M I N A R Y
14 LOLATRX Low Latency Receive. When the 13-6 RES Reserved locations. Written as
LOLATRX bit is set to 1, the zeros and read as undefined.
Am79C973/Am79C975 controller
will switch to an architecture ap- 5-3 EBCS Expansion Bus Clock Source.
plicable to cut-through switches. These bits are used to select the
The Am79C973/Am79C975 con- source of the fundamental clock
troller will assert a receive frame to drive the SRAM and Expansion
DMA after only 16 bytes of the ROM access cycles. Table 35
current receive frame has been shows the selected clock source
received regardless of where the for the various values of EBCS.
RCVFW (CSR80, bits 13-12) are Note that the actual frequency
set. The watermark is a fixed val- that the Expansion Bus access
ue and cannot be changed. The cycles run at is a function of both
receive FIFOs will be in the EBCS and CLK_FAC
NO_SRAM mode while all trans- (BCR27, bits 2-0) bit field set-
mit traffic is buffered through the tings. When EBCS is set to either
SRAM. This bit is only valid and the PCI clock or the Time Base
the low latency receive only en- clock, no external clock source is
abled when the SRAM_SIZE required as the clocks are routed
(BCR25, bits 7-0) bits are non-ze- internally and the EBCLK pin
ro. SRAM_BND (BCR26, bits 7- should be pulled to VDD through
0) has no meaning when the a resistor.
Am79C973/Am79C975 controller
is in the Low Latency mode. See Table 35. EBCS Values
the section on SRAM Configura- EBCS Expansion Bus Clock Source
tion for more details. 000 CLK pin (PCI Clock)
001 Time Base Clock
When the LOLATRX bit is set to
0, the Am79C973/Am79C975 010 EBCLK pin
controller will return to a normal 011 Reserved
receive configuration. The runt 1XX Reserved
packet accept bit (RPA, CSR124,
bit 3) must be set when LOLA- Read accessible always; write
TRX is set. accessible only when the STOP
bit is set. EBCS is set to 000b
CAUTION: To provide data in- (PCI clock selected) during
tegrity when switching into H_RESET and is unaffected by
and out of the low latency S_RESET or the STOP bit.
mode, DO NOT SET the
FASTSPNDE (CSR7, bit 15) bit Note: The clock frequency driv-
when setting the SPND bit. Re- ing the Expansion Bus access cy-
ceive frames WILL be overwrit- cles that results from the settings
ten and the Am79C973/ of the EBCS and CLK FAC bits
Am79C975 controller may give must not exceed 33 MHz at any
erratic behavior when it is en- time. When EBCS is set to either
able again. The minimum al- the PCI clock or the Time Base
lowed number of pages is four. clock, no external clock source is
The Am79C973/Am79C975 required because the clocks are
controller will not operate cor- routed internally and the EBCLK
rectly in the LOLATRX mode pin should be pulled to VDD
with less than four pages of through a resistor.
memory.
CAUTION: Care should be ex-
Read/Write accessible only when ercised when choosing the PCI
the STOP bit is set. LOLATRX is clock pin because of the nature
cleared to 0 after H_RESET or of the PCI clock signal. The PCI
S_RESET and is unaffected by specification states that the
STOP. PCI clock can be stopped. If
182 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 183
P R E L I M I N A R Y
EBADDRL reaches FFFFh and port. The Flash and SRAM ac-
LAAINC is set to 1, the Expansion cesses use different address
Port Lower Address (EPADDRL) phases. Incorrect configuration
will roll over to 0000h. When the will result in a possible corruption
LAAINC bit is set to 0, the Expan- of data.
sion Port Lower Address will not
be affected in any way after an Flash read cycles are performed
access to EBDATA (BCR30) and when BCR30 is read and the
must be programmed. FLASH bit (BCR29, bit 15) is set
to 1. Upon completion of the read
Read accessible always; write cycle, the 8-bit result for Flash ac-
accessible only when the STOP cess is stored in EBDATA[7:0],
bit is set. LAINC is 0 after EBDATA[15:8] is undefined.
H_RESET and is unaffected by Flash write cycles are performed
S_RESET or the STOP bit. when BCR30 is written and the
FLASH bit (BCR29, bit 15) is set
13-4 RES Reserved locations. Written as to 1. EBDATA[7:0] only is valid
zeros and read as undefined. for write cycles.
3-0 EPADDRU Expansion Port Address Upper. SRAM read cycles are performed
This upper portion of the Expan- when BCR30 is read and the
sion Bus address is used to pro- FLASH bit (BCR29, bit 15) is set
vide addresses for Flash/EPROM to 0. Upon completion of the read
port accesses. cycle, the 16-bit result for SRAM
access is stored in EBDATA.
Read accessible always; write Write cycles to the SRAM are in-
accessible only when the STOP voked when BCR30 is written
bit is set or when SRAM SIZE and the FLASH bit (BCR29, bit
(BCR25, bits 7-0) is 0. EPADD- 15) is set to 0. Byte writes to the
RU is undefined after H_RESET SRAM must use a read-modify-
and is unaffected by S_RESET or write scheme since the word is al-
the STOP bit. ways valid for SRAM write or
read accesses.
BCR30: Expansion Bus Data Port Register
Bit Name Description Read and write accessible only
when the STOP is set or when
31-16 RES Reserved locations. Written as SRAM SIZE (BCR25, bits 7-0) is
zeros and read as undefined. 0. EBDATA is undefined after
H_RESET, and is unaffected by
15-0 EBDATA Expansion Bus Data Port. EBDA- S_RESET and the STOP bit.
TA is the data port for operations
on the Expansion Port accesses BCR31: Software Timer Register
involving SRAM and Flash ac- Bit Name Description
cesses. The type of access is set
by the FLASH bit (BCR 29, bit 31-16 RES Reserved locations. Written as
15). When the FLASH bit is set to zeros and read as undefined.
1, the Expansion Bus access will
follow the Flash access timing. 15-0 STVAL Software Timer Value. STVAL
When the FLASH bit is set to 0, controls the maximum time for
the Expansion Bus access will the Software Timer to count be-
follow the SRAM access timing. fore generating the STINT
(CSR7, bit 11) interrupt. The Soft-
Note: It is important to set the ware Timer is a free-running timer
FLASH bit and load Expansion that is started upon the first write
Port Address EPADDR (BCR28, to STVAL. After the first write, the
BCR29) with the required ad- Software Timer will continually
dress before attempting read or count and set the STINT interrupt
write to the Expansion Bus data at the STVAL period.
184 Am79C973/Am79C975
P R E L I M I N A R Y
The STVAL value is interpreted will set the MIIPDTI bit in CSR7,
as an unsigned number with a bit 3.
resolution of 256 Time Base
Clock periods. For instance, a Read accessible always. MIIPD
value of 122 ms would be pro- is read only. Write operations are
grammed with a value of 9531 ignored and should not be per-
(253Bh) if the Time Base Clock is formed.
running at 20 MHz. A value of 0 is
undefined and will result in erratic 13-12 FMDC Fast Management Data Clock (is
behavior. used for manufacturing tests).
When FMDC is set to 2h the MII
Read and write accessible al- Management Data Clock will run
ways. STVAL is set to FFFFh af- at 10 MHz max. The Manage-
ter H_RESET and is unaffected ment Data Clock will no longer be
by S_RESET and the STOP bit. IEEE 802.3u-compliant and set-
ting this bit should be used with
BCR32: PHY Control and Status Register care. The accompanying external
PHY must also be able to accept
Note: Bits 15-0 in this register are programmable
management frames at the new
through the EEPROM.
clock rate. When FMDC is set to
Bit Name Description 1h, the MII Management Data
Clock will run at 5 MHz max. The
31-16 RES Reserved locations. Written as Management Data Clock will no
zeros and read as undefined. longer be IEEE 802.3u-compliant
and setting this bit should be
15 ANTST Reserved for manufacturing used with care. The accompany-
tests. Written as 0 and read as ing external PHY must also be
undefined. able to accept management
frames at the new clock rate.
Note: Use of this bit will cause
When FMDC is set to 0h, the MII
data corruption and erroneous
Management Data Clock will run
operation.
at 2.5 MHz max and will be fully
Read/Write accessible always. compliant to IEEE 802.3u stan-
ANTST is set to 0 by H_RESET dards. See Table 37.
and is unaffected by S_RESET
and the STOP bit.
Table 37. FMDC Values
14 MIIPD MII PHY Detect. MIIPD reflects FMDC Fast Management Data Clock
the quiescent state of the MDIO 00 2.5 MHz max
pin. MIIPD is continuously updat-
01 5 MHz max
ed whenever there is no manage-
10 10 MHz max
ment operation in progress on the
11 Reserved
MII interface. When a manage-
ment operation begins on the in-
Read/Write accessible always.
terface, the state of MIIPD is
FMDC is set to 0 during
preserved until the operation
H_RESET, and is unaffected by
ends, when the quiescent state is
S_RESET and the STOP bit
again monitored and continuous-
ly updates the MIIPD bit. When 11 APEP Auto-Poll PHY. APEP when set to
the MDIO pin is at a quiescent 1 the Am79C973/Am79C975
LOW state, MIIPD is cleared to 0. controller will poll the status regis-
When the MDIO pin is at a quies- ter in the PHY. This feature al-
cent HIGH state, MIIPD is set to lows the software driver or upper
1. MIIPD is used by the automatic layers to see any changes in the
port selection logic to select the status of the PHY. An interrupt
MII port. When the MIIPD bit is when enabled is generated when
set to 1, the MII port is selected. the contents of the new status is
Any transition on the MIIPD bit different from the previous status.
Am79C973/Am79C975 185
P R E L I M I N A R Y
186 Am79C973/Am79C975
P R E L I M I N A R Y
TXD[3:0] nibble data path is 4-0 REGAD Management Frame Register Ad-
looped back onto the RXD[3:0] dress. REGAD contains the 5-bit
nibble data path. TX_CLK is Register Address field that is
looped back as RX_CLK. TX_EN used in the management frame
is looped back as RX_DV. CRS is that gets clocked out via the inter-
correctly OR’d with TX_EN and nal MII management interface
RX_DV and always encompass- whenever a read or write transac-
es the transmit frame. TX_ER is tion occurs to BCR34.
looped back as RX_ER. Howev-
er, TX_ER will not get asserted Read/Write accessible always.
by the Am79C973/Am79C975 REGAD is undefined after
controller to signal an error. The H_RESET and is unaffected by
TX_ER function is reserved for S_RESET and the STOP bit.
future use.
BCR34: PHY Management Data Register
Read/Write accessible always. Bit Name Description
MIIILP is set to 0 by H_RESET
and is unaffected by S_RESET 31-16 RES Reserved locations. Written as
and the STOP bit. zeros and read as undefined.
0 RES Reserved location. Written as ze- 15-0 MIIMD MII Management Data. MIIMD is
ros and read as undefined. the data port for operations on the
MII management interface (MDIO
BCR33: PHY Address Register
and MDC). The Am79C973/
Bit Name Description Am79C975 device builds man-
agement frames using the PHY-
31-16 RES Reserved locations. Written as AD and REGAD values from
zeros and read as undefined. BCR33. The operation code used
in each frame is based upon
15 RES Reserved locations. Written as whether a read or write operation
zeros and read as undefined. has been performed to BCR34.
Read cycles on the MII manage-
9-5 PHYAD Management Frame PHY Ad- ment interface are invoked when
dress. PHYAD contains the 5-bit BCR34 is read. Upon completion
PHY Address field that is used in of the read cycle, the 16-bit result
the management frame that gets of the read operation is stored in
clocked out via the MII manage- MIIMD. Write cycles on the MII
ment port pins (MDC and MDIO) management interface are in-
whenever a read or write transac- voked when BCR34 is written.
tion occurs to BCR34. The PHY The value written to MIIMD is the
address 1Fh is not valid. The value used in the data field of the
PHY address of the internal PHY management write frame.
unit is 1Eh (30 dec.)
Read/Write accessible always.
The Network Port Manager cop- MIIMD is undefined after
ies the PHYAD after the H_RESET and is unaffected by
Am79C973/Am79C975 controller S_RESET and the STOP bit.
reads the EEPROM and uses it to
communicate with the external BCR35: PCI Vendor ID Register
PHY. The PHY address must be
Note: Bits 15-0 in this register are programmable
programmed into the EEPROM
through the EEPROM.
prior to starting the Am79C973/
Am79C975 controller. Bit Name Description
Am79C973/Am79C975 187
P R E L I M I N A R Y
identifies the manufacturer of the means of programming them indirectly. The contents of
Am79C973/Am79C975 control- this register are copied into the corresponding fields
ler. AMD’s Vendor ID is 1022h. pointed with the DATA_SEL field set to zero. Bits 15-0
Note that this Vendor ID is not the in this register are programmable through the EE-
same as the Manufacturer ID in PROM.
CSR88 and CSR89. The Vendor Bit Name Description
ID is assigned by the PCI Special
Interest Group. 15-10 RES Reserved locations. Written as
zeros and read as undefined.
The Vendor ID is not normally
programmable, but the 9-8 D0_SCALE These bits correspond to the
Am79C973/Am79C975 controller DATA_SCALE field of the
allows this due to legacy operat- PMCSR (offset Register 44 of the
ing systems that do not look at PCI configuration space, bits 14-
the PCI Subsystem Vendor ID 13). Refer to the description of
and the Vendor ID to uniquely DATA_SCALE for the meaning of
identify the add-in board or sub- this field.
system that the Am79C973/
Am79C975 controller is used in. Read accessible always.
D0_SCALE is read only. Cleared
Note: If the operating system by H_RESET and is not affected
or the network operating sys- by S_RESET or setting the STOP
tem supports PCI Subsystem bit.
Vendor ID and Subsystem ID,
use those to identify the add-in 7-0 DATA0 These bits correspond to the PCI
board or subsystem and pro- DATA register (offset Register 47
gram the VID with the default of the PCI configuration space,
value of 1022h. bits 7-0). Refer to the description
of DATA register for the meaning
VID is aliased to the PCI configu- of this field.
ration space register Vendor ID
(offset 00h). Read accessible always. DATA0
is read only. Cleared by
Read accessible always. VID is H_RESET and is not affected by
read only. Write operations are S_RESET or setting the STOP bit
ignored. VID is set to 1022h by
H_RESET and is not affected by BCR38: PCI DATA Register One (DATA1) Alias
S_RESET or by setting the STOP Register
bit. Note: This register is an alias of the DATA register and
also of the DATA_SCALE field of the PMCSR register.
BCR36: PCI Power Management Capabilities (PMC)
Since these two are read only, BCR38 provides a
Alias Register
means of programming them through the EEPROM.
Note: This register is an alias of the PMC register The contents of this register are copied into the corre-
located at offset 42h of the PCI Configuration Space. sponding fields pointed with the DATA_SEL field set to
Since PMC register is read only, BCR36 provides a one. Bits 15-0 in this register are programmable
means of programming it through the EEPROM. The through the EEPROM.
contents of this register are copied into the PMC regis-
Bit Name Description
ter. For the definition of the bits in this register, refer to
the PMC register definition. Bits 15-0 in this register are 15-10 RES Reserved locations. Written as
programmable through the EEPROM. Read accessible zeros and read as undefined.
always. Read only. Cleared by H_RESET and is not af-
fected by S_RESET or setting the STOP bit. 9-8 D1_SCALE These bits correspond to the
DATA_SCALE field of the PMC-
BCR37: PCI DATA Register Zero (DATA0) Alias SR (offset Register 44 of the PCI
Register configuration space, bits 14-13).
Note: This register is an alias of the DATA register and Refer to the description of
also of the DATA_SCALE field of the PMCSR register. DATA_SCALE for the meaning of
Since these two are read only, BCR37 provides a this field.
188 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 189
P R E L I M I N A R Y
9-8 D4_SCALE These bits correspond to the 7-0 DATA5 These bits correspond to the PCI
DATA_SCALE field of the PMC- DATA register (offset Register 47
SR (offset register 44 of the PCI of the PCI configuration space,
configuration space, bits 14-13). bits 7-0). Refer to the description
Refer to the description of of DATA register for the meaning
DATA_SCALE for the meaning of of this field.
this field.
Read accessible always. DATA5
Read accessible always. is read only. Cleared by
D4_SCALE is read only. Cleared H_RESET and is not affected by
by H_RESET and is not affected S_RESET or setting the STOP
by S_RESET or setting the STOP bit.
bit
BCR43: PCI DATA Register Six (DATA6) Alias
7-0 DATA4 These bits correspond to the PCI Register
DATA register (offset Register 47 Note: This register is an alias of the DATA register and
of the PCI configuration space, also of the DATA_SCALE field of the PCMCR register.
bits 7-0). Refer to the description Since these two are read only, BCR43 provides a
of DATA register for the meaning means of programming them through the EEPROM.
of this field. The contents of this register are copied into the corre-
sponding fields pointed with the DATA_SEL field set to
Read accessible always. DATA4
six. Bits 15-0 in this register are programmable through
is read only. Cleared by
the EEPROM.
H_RESET and is not affected by
S_RESET or setting the STOP Bit Name Description
bit.
15-10 RES Reserved locations. Written as
BCR42: PCI DATA Register Five (DATA5) Alias zeros and read as undefined.
Register
Note: This register is an alias of the DATA register and 9-8 D6_SCALE These bits correspond to the
also of the DATA_SCALE field of the PCMCR register. DATA_SCALE field of the PMC-
Since these two are read only, BCR42 provides a SR (offset Register 44 of the PCI
means of programming them through the EEPROM. configuration space, bits 14-13).
The contents of this register are copied into the corre- Refer to the description of
sponding fields pointed with the DATA_SEL field set to DATA_SCALE for the meaning of
five. Bits 15-0 in this register are programmable this field.
through the EEPROM.
Read accessible always.
Bit Name Description D6_SCALE is read only. Cleared
by H_RESET and is not affected
15-10 RES Reserved locations. Written as by S_RESET or setting the STOP
zeros and read as undefined. bit
9-8 D5_SCALE These bits correspond to the 7-0 DATA6 These bits correspond to the PCI
DATA_SCALE field of the PMC- DATA register (offset Register 47
SR (offset Register 44 of the PCI of the PCI configuration space,
configuration space, bits 14-13). bits 7-0). Refer to the description
Refer to the description of of DATA register for the meaning
DATA_SCALE for the meaning of of this field.
this field.
Read accessible always. DATA6
Read accessible always. is read only. Cleared by
D5_SCALE is read only. Cleared H_RESET and is not affected by
by H_RESET and is not affected S_RESET or setting the STOP
bit.
190 Am79C973/Am79C975
P R E L I M I N A R Y
BCR44: PCI DATA Register Seven (DATA7) Alias PMR word, the write to BCR45 must be followed by a
Register write to BCR46 and a write to BCR47 in that order to
Note: This register is an alias of the DATA register and complete the operation. The RAM will not actually be
also of the DATA_SCALE field of the PCMCR register. written until the write to BCR47 is complete. The write
Since these two are read only, BCR44 provides a to BCR47 causes all 5 bytes (four bytes of BCR46-47
means of programming them through the EEPROM. and the upper byte of the BCR45) to be written to what-
The contents of this register are copied into the corre- ever PMR word is addressed by bits 6:0 of BCR45.
sponding fields pointed with the DATA_SEL field set to
seven. Bits 15-0 in this register are programmable
through the EEPROM. Bit Name Description
Am79C973/Am79C975 191
P R E L I M I N A R Y
dress of the PMR word to be accessed. Following the When PMAT_MODE is 0, the contents of the word ad-
write to BCR45, the PMR word may be read by reading dressed by bits 6:0 of BCR45 can be read by reading
BCR45, BCR46 and BCR47 in any order. To write to BCR45-47 in any order.
PMR word, the write to BCR45 must be followed by a
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
to BCR47 causes all 5 bytes (four bytes of BCR46-47
and the upper byte of the BCR45) to be written to what- Bit Name Description
ever PMR word is addressed by bits 6:0 of BCR45.
Bit Name Description 31-16 RES Reserved locations. Written as
zeros and read as undefined.
31-16 RES Reserved locations. Written as 15-8 PMR_B4 Pattern Match RAM Byte 4. This
zeros and read as undefined. byte is written into or read from
Byte 4 of Pattern Match RAM.
15-8 PMR_B2 Pattern Match RAM Byte 2. This
byte is written into or read from Read and write accessible al-
Byte 2 of the Pattern Match RAM. ways. PMR_B4 is undefined after
H_RESET, and is unaffected by
Read and write accessible al-
S_RESET and the STOP bit.
ways. PMR_B2 is undefined after
H_RESET, and is unaffected by 7-0 PMR_B3 Pattern Match RAM Byte 3. This
S_RESET and the STOP bit. byte is written into or read from
Byte 3 of Pattern Match RAM.
7-0 PMR_B1 Pattern Match RAM Byte 1. This
byte is written into or read from Read and write accessible al-
Byte 1 of Pattern Match RAM. ways. PMR_B3 is undefined after
H_RESET, and is unaffected by
Read and write accessible al-
S_RESET and the STOP bit.
ways. PMR_B1 is undefined after
H_RESET, and is unaffected by BCR48-BCR55: Reserved Locations for Am79C975
S_RESET and the STOP bit.
These registers must be 00h for the Am79C973 con-
BCR47: OnNow Pattern Matching Register 3 troller.
Note: This register is used to control and indirectly ac- PHY Management Registers (ANRs)
cess the Pattern Match RAM (PMR). When BCR45 is
written and the PMAT_MODE bit (bit 7) is 1, Pattern The Am79C973/Am79C975 device supports the MII
Match logic is enabled. No bus accesses into PMR are basic register set and extended register set. Both sets
possible, and BCR46, BCR47, and all other bits in of registers are accessible through the PHY Manage-
BCR45 are ignored. When PMAT_MODE is set, a read ment Interface. As specified in the IEEE standard, the
of BCR45, BCR46, or BCR47 returns all undefined bits basic register set consists of the Control Register (Reg-
except for PMAT_MODE. ister 0) and the Status Register (Register 1). The ex-
tended register set consists of Registers 2 to 31
When BCR45 is written and the PMAT_MODE bit is 0,
(decimal).
the Pattern Match logic is disabled and accesses to the
PMR are possible. Bits 6-0 of BCR45 specify the ad- Table 39 lists all the registers implemented in the de-
dress of the PMR word to be accessed. Following the vice. All the reserved registers should not be written to,
write to BCR45, the PMR word may be read by reading and reading them will return a zero value.
BCR45, BCR46 and BCR47 in any order. To write to
PMR word, the write to BCR45 must be followed by a
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
to BCR47 causes all 5 bytes (four bytes of BCR46-47
and the upper byte of the BCR45) to be written to what-
ever PMR word is addressed by bits 6:0 of BCR45.
192 Am79C973/Am79C975
P R E L I M I N A R Y
20-23 Reserved E
24 Summary Status E
25-31 Reserved E
Am79C973/Am79C975 193
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).
194 Am79C973/Am79C975
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 = Auto-Negotiation completed,
1 5 Auto-Negotiation Complete RO 0
0 = Auto-Negotiation not completed
Am79C973/Am79C975 195
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 42 and Table 43.
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
196 Am79C973/Am79C975
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 44.
This register contains the advertised ability of the When this register is modified, Res tar 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. Clearing R/W 1
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. Clearing R/W 1
this bit does not advertise Half Duplex capability.
4:0 Selector Field The Am79C973/Am79C975 device is an 802.3 compliant device RO 0x01
Am79C973/Am79C975 197
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 45 and Table 46.
Table 45. ANR5: Auto-Negotiation Link Partner Ability Register (Register 5) - Base Page Format
Read/ H/W or Soft
Bit(s) Name Description Write Reset
Table 46. ANR5: Auto-Negotiation Link Partner Ability Register (Register 5) - Next Page Format
Read/ H/W or Soft
Bit(s) Name Description Write Reset
198 Am79C973/Am79C975
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 47.
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 up the default value of 0x2001 represents a message
(Register 7) page with the message code set to null. See Table 48.
The Auto-Negotiation Next Page Register contains the
next page link code word to be transmitted. On power-
14 Reserved RO 0
Am79C973/Am79C975 199
P R E L I M I N A R Y
Table 49. ANR16: INTERRUPT Status and Enable Register (Register 16)
Read/ H/W or Soft
Bit(s) Name Description Write Reset
15:14 Reserved RO 0
1 = When this bit is set, setting bits 12:9 of this register
will cause an INTR condition and will set bits 4:1
Interrupt Test Enable accordingly. The effect is to test the register bits with
13 a forced interrupt condition. R/W 0
(Note 1)
0 = Bits 4:1 are only set if the interrupt condition (if any
bits in 12:9 are set) occurs.
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 50. 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/
200 Am79C973/Am79C975
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 = unused
11 = serial loopback
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
Am79C973/Am79C975 201
P R E L I M I N A R Y
ANR18: Descrambler Resynchronization Timer synchronizes 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 51) allows the user to program the time 51. 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 re- 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
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
If the Logical Address Filter is loaded with all zeros and compared with PADR[7:0], with PADR[0] being the
promiscuous mode is disabled, all incoming logical ad- least significant bit of the byte. The second ISO 8802-3
dresses except broadcast will be rejected. If the (IEEE/ANSI 802.3) byte is compared with PADR[15:8],
DRCVBC bit (CSR15, bit 14) is set as well, the broad- again from the least significant bit to the most signifi-
cast packets will be rejected. See Figure 51. cant bit, and so on. The sixth byte is compared with
PADR[47:40], the least significant bit being PADR[40].
PADR
This 48-bit value represents the unique node address Mode
assigned by the ISO 8802-3 (IEEE/ANSI 802.3) and The mode register field of the initialization block is cop-
used for internal address comparison. PADR[0] is com- ied into CSR15 and interpreted according to the de-
pared with the first bit in the destination address of the scription of CSR15.
incoming frame. It must be 0 since only the destination
address of a unicast frames is compared to PADR. The
six hex-digit nomenclature used by the ISO 8802-3
(IEEE/ANSI 802.3) maps to the Am79C973/
Am79C975 PADR register as follows: the first byte is
64
MUX Match
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
Am79C973/Am79C975 207
P R E L I M I N A R Y
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
and, therefore, may be set in any only be set when the last descrip-
descriptor of a chained buffer tor of a frame has both LTINT and
transmission. ENP set to 1. When LTINT is
cleared to 0, it will only cause the
29 ADD_FCS ADD_FCS dynamically controls suppression of interrupts for suc-
the generation of FCS on a frame cessful transmission. TINT will al-
by frame basis. This bit should be ways be set if the transmission
set with the ENP bit. However, for has an error. The LTINTEN over-
backward compatibility, it is rec- rides the function of TOKINTD
ommended that this bit be set for (CSR5, bit 15).
every descriptor of the intended
frame. When ADD_FCS is set, 27 ONE ONE indicates that exactly one
the state of DXMTFCS is ignored retry was needed to transmit a
and transmitter FCS generation is frame. ONE flag is not valid when
activated. When ADD_FCS is LCOL is set. The value of the
cleared to 0, FCS generation is ONE bit is written by the
controlled by DXMTFCS. When Am79C973/Am79C975 control-
APAD_XMT (CSR4, bit 11) is set ler. This bit has meaning only if
to 1, the setting of ADD_FCS has the ENP bit is set.
no effect on frames shorter than
64 bytes. ADD_FCS is set by the 26 DEF Deferred indicates that the
host, and is not changed by the Am79C973/Am79C975 controller
Am79C973/Am79C975 control- had to defer while trying to trans-
ler. This is a reserved bit in the C- mit a frame. This condition occurs
LANCE (Am79C90) controller. if the channel is busy when the
Am79C973/Am79C975 controller
28 MORE/LTINT Bit 28 always functions as is ready to transmit. DEF is set by
MORE. The value of MORE is the Am79C973/Am79C975 con-
written by the Am79C973/ troller and cleared by the host.
Am79C975 controller and is read
by the host. When LTINTEN is 25 STP Start of Packet indicates that this
cleared to 0 (CSR5, bit 14), the is the first buffer to be used by the
Am79C973/Am79C975 controller Am79C973/Am79C975 controller
will never look at the contents of for this frame. It is used for data
bit 28, write operations by the chaining buffers. The STP bit
host have no effect. When LTINT- must be set in the first buffer of
EN is set to 1 bit 28 changes its the frame, or the Am79C973/
function to LTINT on host write Am79C975 controller will skip
operations and on Am79C973/ over the descriptor and poll the
Am79C975 controller read opera- next descriptor(s) until the OWN
tions. and STP bits are set. STP is set
by the host and is not changed by
MORE MORE indicates that more than the Am79C973/Am79C975 con-
one retry was needed to transmit troller.
a frame. The value of MORE is
written by the Am79C973/ 24 ENP End of Packet indicates that this
Am79C975 controller. This bit is the last buffer to be used by the
has meaning only if the ENP bit is Am79C973/Am79C975 controller
set. for this frame. It is used for data
chaining buffers. If both STP and
LTINT LTINT is used to suppress inter- ENP are set, the frame fits into
rupts after successful transmis- one buffer and there is no data
sion on selected frames. When chaining. ENP is set by the host
LTINT is cleared to 0 and ENP is and is not changed by the
set to 1, the Am79C973/ Am79C973/Am79C975 control-
Am79C975 controller will not set ler.
TINT (CSR0, bit 9) after a suc-
cessful transmission. TINT will 23 BPE Bus Parity Error is set by the
Am79C973/Am79C975 controller
210 Am79C973/Am79C975
P R E L I M I N A R Y
15-12 ONES These four bits must be written as When DXSUFLO (CSR3, bit 6) is
ones. This field is written by the cleared to 0, the transmitter is
host and unchanged by the turned off when an UFLO error
Am79C973/Am79C975 control- occurs (CSR0, TXON = 0).
ler. When DXSUFLO is set to 1, the
Am79C973/Am79C975 controller
11-00 BCNT Buffer Byte Count is the usable gracefully recovers from an
length of the buffer pointed to by UFLO error. It scans the transmit
this descriptor, expressed as the descriptor ring until it finds the
two’s complement of the length of start of a new frame and starts a
the buffer. This is the number of new transmission.
bytes from this buffer that will be
transmitted by the Am79C973/ UFLO is set by the Am79C973/
Am79C975 controller. This field is Am79C975 controller and
written by the host and is not cleared by the host.
changed by the Am79C973/ 29 EXDEF Excessive Deferral. Indicates that
Am79C975 controller. There are the transmitter has experienced
no minimum buffer size restric- Excessive Deferral on this trans-
tions. mit frame, where Excessive De-
ferral is defined in the ISO 8802-3
TMD2
(IEEE/ANSI 802.3) standard. Ex-
Bit Name Description cessive Deferral will also set the
interrupt bit EXDINT (CSR5, bit
31 BUFF Buffer error is set by the 7).
Am79C973/Am79C975 controller
during transmission when the 28 LCOL Late Collision indicates that a col-
Am79C973/Am79C975 controller lision has occurred after the first
does not find the ENP flag in the channel slot time has elapsed.
current descriptor and does not The Am79C973/Am79C975 con-
own the next descriptor. This can troller does not retry on late colli-
occur in either of two ways: sions. LCOL is set by the
Am79C973/Am79C975 controller
1. The OWN bit of the next buffer and cleared by the host.
is 0. 27 LCAR Loss of Carrier is set when the
carrier is lost during an
Am79C973/Am79C975 controller
Am79C973/Am79C975 211
P R E L I M I N A R Y
212 Am79C973/Am79C975
P R E L I M I N A R Y
REGISTER SUMMARY
PCI Configuration Registers
Am79C973/Am79C975 213
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 CSR19 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.
214 Am79C973/Am79C975
P R E L I M I N A R Y
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
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
21 Reserved N/A Reserved No 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
218 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 219
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
220 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 221
P R E L I M I N A R Y
222 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 223
P R E L I M I N A R Y
224 Am79C973/Am79C975
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
Am79C973/Am79C975 225
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 320.0 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 300.0 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, 290.0 mA
is in the B2 or B3 state. receiving non-matching packets
IDD_S Static IDD PCI CLK, RST, and RST HIGH. 135.0 mA
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.
226 Am79C973/Am79C975
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
Am79C973/Am79C975 227
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-.
228 Am79C973/Am79C975
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
Am79C973/Am79C975 229
P R E L I M I N A R Y
230 Am79C973/Am79C975
P R E L I M I N A R Y
EXTERNAL CLOCK
Figure 52 External Clock Timing
Frequency - 25 - MHz
Drive Level - - - mW
Load Capacitance - 18 - pF
ESR - - 50 ohms
Am79C973/Am79C975 231
P R E L I M I N A R Y
PMD Interface
PECL
Note:
1. Not included in the production test.
161
160
80%
TX+,TX– 20%
TX+
TX–
162 21510D-57
170 171
80%
TX+, 20%
TX–
TX±
TX–
172 21510D-58
232 Am79C973/Am79C975
P R E L I M I N A R Y
10BASE-T
tTETD
TX±
21510D-59
t(PWKRD) t(PWKRD)
VTSQ+
RX±
VTSQ-
tPWKRD
21510D-60
Am79C973/Am79C975 233
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
234 Am79C973/Am79C975
P R E L I M I N A R Y
IOL
CL
IOH
21510D-61
Am79C973/Am79C975 235
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-62
tHIGH
0.6 VDD_PCI
tRISE tFALL
tCYC
21510B21510D-63
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-64
236 Am79C973/Am79C975
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-65
Tx Tx Tx
CLK
tON
AD[31:00], C/BE[3:0],
PAR, FRAME, IRDY, Valid n
TRDY, STOP,
DEVSEL, PERR
tOFF
AD[31:00], C/BE[3:0],
PAR, FRAME, IRDY, Valid n
TRDY, STOP,
DEVSEL, PERR
21510D-66
EESK
EECS
EEDI 0 1 1 A6 A5 A4 A3 A2 A1 A0
21510D-67
Am79C973/Am79C975 237
P R E L I M I N A R Y
EESK
tH (EEDO)
tVAL (EEDI,EECS)
EEDO Stable
tLOW (EECS)
EECS
EEDI
21510D-68
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-69
238 Am79C973/Am79C975
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-70
Am79C973/Am79C975 239
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-71
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-72
240 Am79C973/Am79C975
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-73
Am79C973/Am79C975 241
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.
242 Am79C973/Am79C975
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
Am79C973/Am79C975 243
APPENDIX A
PCnet™-FAST III
Recommended Magnetics
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 244
APPENDIX B
A less robust (but more cost effective) implementation 98 MDATA 108 MDATA
in a typical PC system simply uses the host processor
100 MCLOCK 110 MCLOCK
to control operation of the I2C/SMBus interfaces of the
PCI chipset (southbridge) and hardware monitoring de-
Am79C973/Am79C975 245
P R E L I M I N A R Y
Listed By Group mand register. Note that the SMIU interrupt acknowl-
edge does not follow the SMB alert protocol, but simply
Serial Management Interface Unit (SMIU) requires clearing the interrupt bit.
Pin Pin No. of
Name Function Type Driver Pins
Basic Operation
SMIU Transferring Data
MCLOCK I/O OD6 1
Clock The Serial Management Interface Unit (SMIU) of the
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
START condition is defined as a HIGH to LOW transi-
SMIU Clock Input/Output 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
is the receiving device and it must generate ACK. In a
Note: MCLOCK is capable of running at a frequency
read operation, the master is the receiving device and
as high as 1.25 MHz to allow for shorter production test
it must generate ACK. An inverted Acknowledge bit
time.
(NACK) is used to signal the transmitting device that
MDATA 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 tran-
face. MDATA can be driven by an external master (e.g., sition on MDATA while MCLOCK is HIGH.
the mi cr oc ontr ol ler or sou thbr id ge) or by th e 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
bit. The MSB of the 7-bit address is the first bit on the
MIRQ is an asynchronous attention signal that the
MDATA line. A 0 in the Read/Write bit indicates a write
Am79C975 controller provides to indicate that a man-
operation from the master to the Am79C975 controller,
agement frame has been transmitted or received. The
a 1 indicates a read operation. The Am79C975 control-
assertion of the MIRQ signal can be controlled by a glo-
ler does not support the General Call address (00h). It
bal mask bit (MIRQEN) or individual mask bits
will ignore the address by not asserting ACK.
(MRX_DONEM, MTX_DONEM), located in the Com-
246 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 Am79C975 controller will drive the MCLOCK line low in
data is transferred is a more complex operation. An ex- order to insert wait states before it starts driving the
ample is a data write transfer followed by a data read read data onto the MDATA pin., The master acts as the
transfer. After finishing the data write transfer, the mas- receiver and must generate ACK. (See section Byte
ter must initiate the turn-around of the MDATA line by Read Command or Block Read Command for more de-
asserting a repeated START condition followed by a re- tails).
peated 7-bit slave address and the READ bit. The
MDATA A
Data Data
Figure 71. Data Transfer with Change in Direction (with wait state)
Am79C973/Am79C975 247
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 th e A m 7 9 C 9 7 5 c o n tr 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
248 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 master must make sure that the Transmit Data memory
Write command with the assertion of the STOP condi- or the Receive Pattern RAM are not written beyond
tion (P). their respective length.
1 7 1 1 8 1 8 1
8 1 8 1 1
Key:
Block Read Command frame. This time, the ACK is generated by the master,
The Block Read command is used to read data from since he is the receiver of the data. Receive data will
the SMIU Receive Data memory. This command is follow. Being the receiver, the master must ACK each
more complex compared to the Block Write command, byte by driving the MDATA line LOW for 1 bit time. The
since it involves a change in the direction of the data last byte, however, must be followed by a NACK (N) to
transfer. The command starts with the START condition force the Am79C975 controller to stop driving the
(S). The next 7 bits are the slave address of the MDATA line. The Am79C975 device is capable of a
Am79C975 controller, followed by a 0 bit to indicate that block read past the 32 byte limit that is indicated in the
the data transfer starts with a write operation from the byte count field. If the host does not assert NACK after
mas ter to the A m79 C975 c ontr ol ler (W ) . Th e the 32nd byte, the Am79C975 controller will continue
Am79C975 controller must acknowledge the first byte driving receive data onto the MDATA line until the host
by driving MDATA LOW for 1 bit time (A). The next byte asserts NACK. If the master runs out of storage space
specifies the address of the SMIU register (MReg) that for the incoming data, he can abort the data transfer
is accessed, followed by another ACK from the after any byte by asserting NACK. The Block Read
Am79C975 controller. The address of the Receive command terminates with the assertion of the STOP
Data port (40), is the only valid value for the MReg ad- condition (P) by the master.
dress. The master initiates the turn-around of the trans- Note: The Am79C975 controller does not validate the
fer direction by asserting a repeated START condition, register address specified in the Block Read command.
followed 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 mand when there is data left in the Receive Data mem-
transfer and then continues driving the MDATA line. ory.
The first byte is the byte count indicating how many
bytes of data will follow. The byte count field will indi-
cate 32 in all but the last transaction, in which the byte
count field will indicate the remaining bytes of the
Am79C973/Am79C975 249
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 SMIU Bus Frequency
disabled. If SMIUEN is set to 1, the SMIU is enabled.
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, De- nations of M and N, the SMIU bus frequency can vary
vice ID and Revision ID. In addition, the Subsystem from 0.5 kHz to 1.25 MHz. It should be noted that the
Vendor ID and Subsystem ID allow a system manufac- frequencies that can be programmed through BCR2
turer to differentiate his product from a product by an- are not continuous. For example, say FI2C = 10 kHz,
other vendor who is also using the Am79C975 then (M+1)*2N+1 = 250. It is impossible to have such M
controller. All SMIU ID registers are shadow registers and N combinations that make an exact 250. With
of the respective PCI registers and can be initialized via M = E (Hex) and N = 3 (Hex), we get FI2C = 10.41,
the EEPROM (with the exception of the Revision ID). which will work with a 10 kHz bus frequency. The fol-
The host can verify that the registers are correctly ini- lowing is a list of BCR2 contents for various SMIU bus
tialized from the EEPROM by checking the PVALID bit frequencies.
in the SMIU 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
250 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 251
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 MTX_ADR register is cleared by setting the The System Management Interface Unit (SMIU) of the
MTX_START bit. The host must not load data for a new Am79C975 controller provides a separate 128-byte
alert frame into the Transmit Data memory until the Receive Data memory to store an incoming manage-
transmission of the current frame is ended as indicated ment or acknowledgment frame. The normal receive
by the MTX_DONE bit. It is possible to issue a new address matching mechanism (physical address, logi-
MTX_START command without loading new data to cal address, broadcast address) of the MAC cannot be
the Transmit Data memory or updating the MTX_LEN used by the SMIU. The Am79C975 controller provides
register. an Acknowledgment Frame Filter instead. The filter is
stored in a 40-byte Receive Pattern RAM.
The Am79C975 controller provides an asynchronous
interrupt pin to signal the host that the transmission of The Receive Pattern RAM is organized as 8 pattern
the alert frame is complete. After the end of the trans- words of 5 bytes each. Each pattern word holds four
mission, the MIRQ pin will be asserted, if the global in- bytes of data to be compared with the incoming frame
terrupt enable bit MIRQEN in the Command register is plus mask information that indicates which bytes
set to a 1 and the transmit interr upt mask bit should be included in the comparison. The pattern
(MTX_DONEM) is cleared to 0 (default state). Once word also contains a field that indicates how many
MIRQ is asserted, the host can read the MTX_DONE Dwords of the incoming frame should be skipped be-
bit in the Interrupt register to determine that the inter- fore this Dword of pattern is compared with frame data.
rupt was caused by the end of the transmission. The This field makes it unnecessary to store data for long
read of the Interrupt register will clear the MTX_DONE series of bytes that will be excluded from the compari-
bit and cause the deassertion of the MIRQ pin. The In- son anyway. A maximum of 7 Dwords (28 bytes) can be
terrupt register also provides a global interrupt bit skipped. If the filter pattern contains a string of more
M IR Q th a t i s t h e O R o f t h e M TX _ D O NE a n d than 7 Dwords that must be excluded from the compar-
MRX_DONE bits. ison, one or more pattern words will be loaded with the
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-
tions are reported: Late Collision, Loss of Carrier and The format of the pattern words is shown below.
Retr y 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.
252 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 bit set, even if the pattern word number 8 is the last
of 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 253
P R E L I M I N A R Y
since the frequency of the acknowledgment frames is tion or to start the receive data read from an arbitrary
very low. address inside the Receive Data memory. Note, that
the byte count field in the Block Read command will
Once the receive activity has ended, the Am79C975
only reflect the correct amount of transfer data if the ac-
controller will set the MRX_DONE bit in the Interrupt
cess starts at Receive Data memory address 0. If
register and clear the MRX_ENABLE bit in the Receive
MRX_ADR is manually changed, the byte count field
Status register. The MIRQ pin will be asserted, if the
should be ignored. The host must use the Receive
global interrupt enable bit MIRQEN in the Command
Message Length register (MRX_LEN) to determine the
register is set to a 1 and the receive interrupt mask bit
length of the data read operation. Data will be unde-
(MRX_DONEM) is cleared to 0 (default state). Once
fined, if the host reads further than the Receive Mes-
MIRQ is asserted, the host can read the MRX_DONE
sage Length register is indicating.
bit in the Interrupt register to determine that the inter-
rupt was caused by the end of the reception. The read The Receive Data memory will be protected from over-
of the Interrupt register will clear the MRX_DONE bit writing by another frame, until the host enables the next
and cause the deassertion of the MIRQ pin. The Inter- receive by setting the MRX_ENABLE bit the Receive
rupt register also provides a global interrupt bit MIRQ Status register. The operation will also clear the Re-
that is the OR of the MRX_DONE and MTX_DONE ceive Address register.
bits.
Loopback Operation
Once the MRX_DONE bit indicates that the reception
of the acknowledgment frame has ended, the Receive The SMIU provides a looback mode for diagnostic pur-
Status register provides the error status for the recep- poses. If MLOOP in the Command register is set to 1,
tion. Two error conditions are reported: Framing Error the receive path is not being blocked while the device
and Frame Check Sequence Error. There is also an is transmitting in half-duplex mode. Receive is never
error summary bit (MRX_ERR). The receive status bits blocked in full-duplex mode and MLOOP has no effect
remain valid as long as the MRX_ENABLE bit is set to in this mode.
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-
The host must read the Receive Message Length reg- gramming must be done using the Am79C975 CSR/
ister in order to determine the length of the frame. The BCR register interface. This limits the SMIU loopback
data from the Receive Data memory is read byte by mode to a debug or manufacturing test environment.
byte using one or multiple Block Read commands from
the Receive Data port. The command code of the Block
User Accessible Registers
Read command must be set to 40, the address of the The Serial Management Interface Unit (SMIU) of the
Receive Data port. The Am79C975 controller will indi- Am79C975 controller provides four types of user ac-
cate in the byte count field the number of bytes that will cessible registers: device ID registers, node address
follow. The byte count field will indicate 32 in all but the registers, device status registers and control and status
last transaction in which the byte count field will indi- registers. Most registers are accessible via the Read
cate the remaining bytes of the frame. The device is ca- Byte and/or Write Byte commands. Only the access to
pable of transferring data beyond the 32 byte mark. If the Transmit and Receive Data port as well as to the
the host does not assert NACK after the 32nd byte, the Receive Pattern RAM Data port is performed as a
Am79C975 controller will continue driving receive data Block Read or Block Write command. In all commands,
onto the MDATA line until the host asserts NACK. If the the command code is interpreted as the address of the
master does not have enough buffer space for the in- register.
coming data, it can abort the data transfer after any
byte. The Am79C975 controller will start the next Block Device ID Registers
Read command with the remaining data. The location
The following register allow the unique identification of
within the Receive Data memory from where the next
the Am79C975 device in a system.
byte is read is controlled by the Receive Address regis-
ter. This register will come up cleared to 0 after SMIU Vendor ID Register 0 (MReg Address 0)
H_RESET. With every byte read the address register This register is a shadow register of the PCI Vendor ID
will auto-increment. This allows a FIFO-type access to Register bits 7:0. The PCI Vendor ID Register is loaded
the Receive Data memory and the host does not need from the EEPROM.
to keep track of the location he is reading from. In addi-
tion, MRX_ADR can be set to any address within the Bit No. Name and Description
Receive Data memory in order to read a specific loca- 7:0 MVENDOR_ID[7:0]
254 Am79C973/Am79C975
P R E L I M I N A R Y
Default: 22h Read only, write has no effect. bits are silicon-revision dependent. The initial
revision value will be 40h.
These are the lower 8-bits of a register that
identifies AMD as the manufacturer of the SMIU Subsystem Vendor ID Register 0 (MReg
Am79C975 device. Address 5)
This register is a shadow register of the PCI Subsystem
SMIU Vendor ID Register 1 (MReg Address 1)
Vendor ID Register bits 7:0. The PCI Subsystem Ven-
This register is a shadow register of the PCI Vendor ID dor ID Register is loaded from the EEPROM.
Register bits 15:8. The PCI Vendor ID Register is
loaded from the EEPROM. Bit No. Name and Description
Am79C973/Am79C975 255
P R E L I M I N A R Y
These are the upper 8-bits of a register that to- Node IEEE Address 3 (MReg Address 12)
gether with the Subsystem Vendor ID uniquely This register is a shadow register of the APROM loca-
identifies the add-in card or subsystem the tion 03h. APROM location 03h is loaded from the EE-
Am79C975 device is used in. PROM.
Node ID Registers Bit No. Name and Description
The following registers provide the IEEE and IP ad- 7:0 N_IEEE_ADR[31:24]
dresses of the node using the Am79C975 devices, as
Default: 00h Read only, write has no effect.
well as of the management station.
Node IEEE Address 0 (MReg Address 9) Byte 3 of the Node IEEE Address register. The
Node IEEE Address is the unique 48-bit ad-
This register is a shadow register of the APROM loca-
dress of the station, the Am79C975 controller
tion 00h. APROM location 00h is loaded from the EE-
is used in.
PROM.
Bit No. Name and Description Node IEEE Address 4 (MReg Address 13)
Node IEEE Address 1 (MReg Address 10) Byte 4 of the Node IEEE Address register. The
Node IEEE Address is the unique 48-bit ad-
This register is a shadow register of the APROM loca-
dress of the station, the Am79C975 controller
tion 01h. APROM location 01h is loaded from the EE-
is used in.
PROM.
Bit No. Name and Description Node IEEE Address 5 (MReg Address 14)
Node IEEE Address 2 (MReg Address 11) Byte 5 (the MSB) of the Node IEEE Address
register. The Node IEEE Address is the unique
This register is a shadow register of the APROM loca-
48-bit address of the station, the Am79C975
tion 02h. APROM location 02h is loaded from the EE-
controller is used in.
PROM.
Bit No. Name and Description Node IP Address 0 (MReg Address 15)
256 Am79C973/Am79C975
P R E L I M I N A R Y
pose 8-bit register that is loaded from the EE- Byte 0 (the LSB) of the Management Station
PROM. IEEE Address register. The Management Sta-
tion IEEE Address is the unique 48-bit address
Node IP Address 1 (MReg Address 16) of the station that is used as the management
This register is loaded from the EEPROM. console in the network. This register can also
be used as general purpose 8-bit register that
Bit No. Name and Description is loaded from the EEPROM.
7:0 N_IP_ADR[15:8]
Management Station IEEE Address 1 (MReg
Default: 00h Read only, write has no effect. Address 20)
This register is loaded from the EEPROM.
Byte 1 of the Node IP Address register. The
Node IP Address is the 32-bit address used in Bit No. Name and Description
the IP protocol header to address the station, 7:0 M_IEEE_ADR[15:8]
the Am79C975 controller is used in. This reg-
ister can also be used as general purpose 8-bit Default: 00h Read only, write has no effect.
register that is loaded from the EEPROM.
Byte 1 of the Management Station IEEE Ad-
Node IP Address 2 (MReg Address 17) 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[23:16] 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 2 (MReg
Byte 2 of the Node IP Address register. The Address 21)
Node IP Address is the 32-bit address used in This register is loaded from the EEPROM.
the IP protocol header to address the station,
the Am79C975 controller is used in. This reg- Bit No. Name and Description
ister can also be used as general purpose 8-bit 7:0 M_IEEE_ADR[23:16]
register that is loaded from the EEPROM.
Default: 00h Read only, write has no effect.
Management Station IP Address 3 (MReg Address
18) Byte 2 of the Management Station IEEE Ad-
This register is loaded from the EEPROM. dress register. The Management Station IEEE
Address is the unique 48-bit address of the
Bit No. Name and Description station that is used as the management con-
7:0 N_IP_ADR[31:24] sole in the network. This register can also be
used as general purpose 8-bit register that is
Default: 00h Read only, write has no effect. loaded from the EEPROM.
Byte 3 (the MSB) of the Node IP Address reg- Management Station IEEE Address 3 (MReg
ister. The Node IP Address is the 32-bit ad- Address 22)
dress used in the IP protocol header to This register is loaded from the EEPROM.
address the station, the Am79C975 controller
is used in. This register can also be used as Bit No. Name and Description
general purpose 8-bit register that is loaded 7:0 M_IEEE_ADR[31:24]
from the EEPROM.
Default: 00h Read only, write has no effect.
Management Station IEEE Address 0 (MReg
Address 19) Byte 3 of the Management Station IEEE Ad-
This register is loaded from the EEPROM. dress register. The Management Station IEEE
Address is the unique 48-bit address of the
Bit No. Name and Description station that is used as the management con-
7:0 M_IEEE_ADR[7:0]Default: 00hRead only, sole in the network. This register can also be
write has no effect. used as general purpose 8-bit register that is
loaded from the EEPROM.
Am79C973/Am79C975 257
P R E L I M I N A R Y
Management Station IEEE Address 4 (MReg Default: 00h Read only, write has no effect.
Address 23)
Byte 1 of the Management Station IP Address
This register is loaded from the EEPROM.
register. The Management Station IP Address
Bit No. Name and Description is the 32-bit address used in the IP protocol
header to address the station that functions as
7:0 M_IEEE_ADR[39:32]
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 4 of the Management Station IEEE Ad-
dress register. The Management Station IEEE Management Station IP Address 2 (MReg Address
Address is the unique 48-bit address of the 27)
station that is used as the management con- This register is loaded from the EEPROM.
sole in the network. This register can also be
Bit No. Name and Description
used as general purpose 8-bit register that is
loaded from the EEPROM. 7:0 M_IP_ADR[23:16]
Management Station IEEE Address 5 (MReg Default: 00h Read only, write has no effect.
Address 24)
This register is loaded from the EEPROM. Byte 2 of the Management Station IP Address
register. The Management Station IP Address
Bit No. Name and Description 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 This register is loaded from the EEPROM.
console in the network. This register can also
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 Default: 00hRead only, write has no effect.
25)
This register is loaded from the EEPROM. Byte 3 (the MSB) of the Management Station
IP Address register. The Management Station
Bit No. Name and Description 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]
258 Am79C973/Am79C975
P R E L I M I N A R Y
Default: 00 Read only, write has no effect. When STRT is set to a 1, it indicates that the
Am79C975 controller is initialized for normal
This two bit field indicates the current power mode of operation and that the device is setup
state of the Am79C975 controller. The defini- to perform bus master activity. STRT is cleared
tion of the field values is given below: by H_RESET.
00b - D0
01b - D1 MIU Transceiver Status (MReg Address 30)
10b - D2 This register is a shadow register of some bits in the
11b - D3 transceiver status register.
5 RESERVED Default: 0Read as ZERO only Bit No. Name and Description
4 PVALID Default: 0Read only, write has no Default: 0000Read as ZERO only
effect.
Reserved bits. For future use only
When PVALID is set to a 1, it indicates that
3 LINK
there is an EEPROM connected to the
Am79C975 controller and that the read opera- Default: 0 Read only, write has no effect.
tion of the EEPROM has passed the checksum
verification. All registers that are loaded from When LINK is set to 1, it indicates that the
the EEPROM contain data read from the EE- physical layer interface of the Am79C975 con-
PROM. PVALID is cleared by H_RESET. troller is in Link Pass state. A value of 0 indi-
cates a Link Fail state.
3 RXON
2 DUPLEX
Default: 0 Read only, write has no effect.
Default: 0 Read only, write has no effect.
When RXON is set to a 1, it indicates that the
receive function for normal operation is en- When DULPEX is set to 1, it indicates that the
abled. Note that the reception of management physical layer interface is operating in full-du-
frames via the SMIU is only controlled by the plex mode. A value of 0 indicates half-duplex
MRX_ENABLE bit in the Receive Status regis- mode.
ter, but not of the state of RXON. RXON is
cleared by H_RESET. 1 SPEED
Default: 0 Read only, write has no effect. When SPEED is set to 1, it indicates that the
physical layer interface is operating at 100
When TXON is set to a 1, it indicates that the Mbps. A value of 0 indicates a speed of 10
transmit function for normal operation is en- Mbps.
abled. Note that the transmission of manage-
ment frames via the SMIU is always active, 0 AUTONEG_DONEDefault: 0Read only, write
independent of the state of TXON. TXON is has no effect.
cleared by H_RESET.
When AUTONEG_DONE is set to 1, it indi-
1 STOP cates that the autonegotiation process of the
physical layer interface with the other end of
Default: 1 Read only, write has no effect. the network cable has completed.
When STOP is set to a 1, it indicates that all Control and Status Registers
bus master activity of the Am79C975 controller
is disabled. STOP is set to 1 by H_RESET. The following registers control the transmission and re-
ception of management frames and provide status of
0 STRT the operation.
Am79C973/Am79C975 259
P R E L I M I N A R Y
SMIU Command Register (MReg Address 31) When MRX_RPA is set to a 1, the Am79C975
Bit No. Name and Description controller will accept runt frames (frames
shorter than 64 bytes) that pass the acknowl-
7 MIRQEN edgment frame filter. MRX_RPA is cleared by
H_RESET.
Default: 0 Read/Write
1:0 RESERVED
MIRQEN allows the MIRQ pin to be active if
the interrupt flag MIRQ in the SMIU Interrupt Default: 00 Read/Write as ZERO only
register is set. If MIRQEN is cleared to 0, the
MIRQ pin will be disabled regardless of the Reserved bits. For future use only
state of MIRQ. MRIRQEN is cleared by
H_RESET. SMIU Interrupt Register (MReg Address 32)
Bit No. Name and Description
6 MTX_DONEM
7 MIRQ
Default: 0 Read/Write
Default: 0 Read clear, write has no effect.
If MTX_DONEM is set to a 1, the MTX_DONE
bit in the SMIU Interrupt register will be MIRQ indicates that one of the following inter-
masked and unable to set the MIRQ bit. rupt causing conditions has occurred:
MTX_DONEM is cleared by H_RESET. MTX_DONE or MRX_DONE and the associat-
ed mask bit is programmed to allow the event
5 MRX_DONEM to cause an interrupt. If the MIRQEN bit in the
SMIU Command register is set to 1 and MIRQ
Default: 0 Read/Write is set, the MIRQ pin will be active. MIRQ is
cleared by clearing all the active individual in-
If MRX_DONEM is set to a 1, the MRX_DONE terrupt bits that have not been masked out, i.e.
bit in the SMIU Interrupt register will be MIRQ will clear after reading the Interrupt reg-
masked and unable to set the MIRQ bit. ister. MIRQ is also cleared by H_RESET.
MRX_DONEM is cleared by H_RESET.
6 MTX_DONE
4 RESERVED
Default: 0 Read clear, write has no effect.
Default: 0 Read/Write as ZERO only
MTX_DONE is set by the Am79C975 control-
Reserved bit. For future use only ler after an alert frame has been transmitted.
When MTX_DONE is set, the MIRQ pin is as-
3 MLOOP
serted if MIRQEN is set to a 1 and the mask bit
Default: 0 Read/Write MTX_DONEM in the SMIU Command register
is 0. MTIRQ is automatically cleared after
If MLOOP is set to 0, transmit frames will be reading the Interrupt register. MTX_DONE is
blocked from being received back, in case the also cleared by H_RESET.
transceiver loops back the data. Setting
MLOOP to 1 enables loopback mode. All data 5 MRX_DONE
that is transmitted will be received back, if the
Default: 0 Read clear, write has no effect.
transceiver loop backs the data and the data
passes the acknowledgment frame filter. The MRX_DONE is set by the Am79C975 control-
transceiver loopback can be achieved by pro- ler after an acknowledgment frame has been
gramming the device into loopback mode or by received. When MRX_DONE is set, the MIRQ
using an external loopback connector. MLOOP pin is asserted if MIRQEN is set to a 1 and the
has no effect., when the Am79C975 controller mask bit MRX_DONEM in the SMIU Com-
is configured for full-duplex operation. Re- mand register is 0. MRX_DONE is automati-
ceives are never blocked in full-duplex mode. cally cleared after reading the Interrupt
MLOOP is cleared by H_RESET. register. MRX_DONE is also cleared by
H_RESET.
2 MRX_RPA
4:0 RESERVED
Default: 0 Read/Write
260 Am79C973/Am79C975
P R E L I M I N A R Y
Default: 00000Read as ZERO only SMIU Transmit Data Port (MReg Address 36)
Bit No. Name and Description
Reserved bits. For future use only
7:0 MTX_DATA
SMIU Receive Pattern RAM Address Register
(MReg Address 33) Default: undefined Write only, read has no ef-
Bit No. Name and Description fect.
7:0 MRX_PADR This is the 8-bit data port used to write to the
Transmit Data memory.
Default: 00h Read/Write
SMIU Transmit Message Length Register (MReg
The SMIU Receive Pattern RAM Address reg- Address 37)
ister contains the address of the location in the
Bit No. Name and Description
Receive Pattern RAM where the next byte of
the Acknowledgment Frame Filter is written to. 7:0 MTX_ LEN
The register is cleared to 0 by H_RESET and
every time the MRX_ENABLE bit is set to 1. Default: 00h Read/Write
The address register autoincrements with ev-
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
responsible to load a valid value into the
MIU Receive Pattern RAM Data Port (MReg Address Transmit Message Length register. Any value
34) below 60 will create a runt frame on the net-
work. Any value above 128 will create unpre-
Bit No. Name and Description
dictable results.
7:0 MRX_PDATA
SMIU Transmit Status Register (MReg Address 38)
Default: undefined Read/Write Bit No. Name and Description
This is the 8-bit data port used to write to the 7 MTX_START
Receive Pattern RAM.
Default: 0 Read/Write
SMIU Transmit Address Register (MReg Address
35) When MTX_START is set to a 1, the
Am79C975 controller will take the content of
Bit No. Name and Description
the SMIU Transmit Data memory and transmit
7:0 MTX_ADR the data as the next frame. Setting
MTX_START will also clear the Transmit Ad-
Default: 00h Read/Write dress register. MTX_START is automatically
cleared after every transmission.
The SMIU Transmit Address register contains MTX_START is cleared by H_RESET.
the address of the location in the Transmit
Data memory where the next byte of data is 6:4 RESERVED
written to. The register is cleared to 0 by
H_RESET and every time the MTX_START bit Default: 000 Read/Write as ZERO only
in the Transmit Status register transitions is set
to 1. The address register auto-increments Reserved bits. For future use only
with every byte written to the Transmit Data
3 MTX_LCOL
memory. This allows a FIFO-type access to
the Transmit Data memory and the host does
Default: 0 Read only, write has no effect.
not need to keep track of the location he is writ-
ing to. In addition, MTX_ADR can be set to any Transmit Late Collision indicates that during
address within the Transmit Data memory in the transmission of the alert frame a collision
order to modify a specific location. has occurred after the first slot time has
Am79C973/Am79C975 261
P R E L I M I N A R Y
elapsed. The Am79C975 controller will not re- SMIU Receive Data Port (MReg Address 40)
try the transmission on late collision. Bit No. Name and Description
MTX_LCOL is valid while MTX_START is set
to 0. MTX_LCOL is cleared by H_RESET. 7:0 MRX_DATA
Default: 0 Read only, write has no effect. Default: undefinedRead only, write has no ef-
fect.
Transmit Retry error indicates that the trans-
mission of the alert frame has failed after 16 at- The SMIU Receive Message Length contains
tempts, due to repeated collisions on the the length of the acknowledgment frame, in-
network. MTX_RTRY is valid while cluding FCS. MRX_LEN only contains valid in-
MTX_START is set to 0. MTX_RTRY is formation after the Am79C975 controller has
cleared by H_RESET. set the MRX_DONE bit in the Interrupt regis-
ter. A message length value of larger than 128
0 MTX_ERR indicates, that the Receive Data memory has
overflowed. A message length between 129
Default: 0 Read only, write has no effect. and 132 bytes indicates that only FCS bytes
have been lost and all message data bytes are
Transmit Error is the OR of the MTX_LCOL, available in the Receive Data memory. A mes-
MTX_LCAR and MTX_RTRY error. sage length greater than 132 indicates that
MTX_ERR is valid while MTX_START is set to message data bytes have been lost from the
0. MTX_ERR is cleared by H_RESET. end of the message and the host should dis-
card the frame. MRX_LEN will indicate the cor-
SMIU Receive Address Register (MReg Address
rect message length up to 255 bytes. It will
39)
freeze at 255 for longer frames. MRX_LEN is
Bit No. Name and Description not affected by H_RESET.
7:0 MRX_ADR
SMIU Receive Status Register (MReg Address 42)
Default: 00h Read/Write Bit No. Name and Description
262 Am79C973/Am79C975
P R E L I M I N A R Y
Reserved bits. For future use only Default: 0 Read only, write has no effect.
Am79C973/Am79C975 263
P R E L I M I N A R Y
Register Summary
264 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C975 EEPROM Map
The Am79C975 PCnet-FAST III controller uses an ex- since there are some new registers in the SMIU that
tended EEPROM map compared to the Am79C973 de- are loaded from the EEPROM.
vice (locations reserved in Am79C973 EEPROM map),
Word Byte Byte
Addr. Addr. Most Significant Byte Addr. Least Significant Byte
First byte of the ISO 8802-3 (IEEE/ANSI 802.3)
2nd byte of the ISO 8802-3 (IEEE/ANSI 802.3) station physical address for this node, where
00h* 01h 00h
station physical address for this node “first byte” refers to the first byte to appear on
the 802.3 medium
01h 03h 4th byte of the node address 02h 3rd byte of the node address
02h 05h 6th byte of the node address 04h 5th byte of the node address
03h 07h CSR116[15:8] (OnNow Misc. Config). 06h CSR116[7:0] (OnNow Misc. Config.)
Hardware ID: must be 11h if compatibility to
04h 09h 08h Reserved location: must be 00h
AMD drivers is desired
05h 0Bh User programmable space 0Ah User programmable space
MSB of two-byte checksum, which is the sum of LSB of two-byte checksum, which is the sum of
06h 0Dh 0Ch
bytes 00h-0Bh and bytes 0Eh and 0Fh bytes 00h-0Bh and bytes 0Eh and 0Fh
Must be ASCII “W” (57h) if compatibility to AMD Must be ASCII “W” (57h) if compatibility to AMD
07h 0Fh 0Eh
driver software is desired driver software is desired
08h 11h BCR2[15:8] (Miscellaneous Configuration) 10h BCR2[7:0] (Miscellaneous Configuration)
09h 13h BCR4[15:8] (Link Status LED) 12h BCR4[7:0] (Link Status LED)
0Ah 15h BCR5[15:8] (LED1 Status) 14h BCR5[7:0] (LED1 Status)
0Bh 17h BCR6[15:8] (LED2 Status) 16h BCR6[7:0] (LED2 Status)
0Ch 19h BCR7[15:8] (LED3 Status) 18h BCR7[7:0] (LED3 Status)
0Dh 1Bh BCR9[15:8] (Full-Duplex Control) 1Ah BCR9[7:0] (Full-Duplex Control)
0Eh 1Dh BCR18[15:8] (Burst and Bus Control) 1Ch BCR18[7:0] (Burst and Bus Control)
0Fh 1Fh BCR22[15:8] (PCI Latency) 1Eh BCR22[7:0] (PCI Latency)
10h 21h BCR23[15:8] (PCI Subsystem Vendor ID) 20h BCR23[7:0] (PCI Subsystem Vendor ID)
11h 23h BCR24[15:8] (PCI Subsystem ID) 22h BCR22[7:0] (PCI Subsystem ID)
12h 25h BCR25[15:8] (SRAM Size) 24h BCR25[7:0] (SRAM Size)
13h 27h BCR26[15:8] (SRAM Boundary) 26h BCR26[7:0] (SRAM Boundary)
14h 29h BCR27[15:8] (SRAM Interface Control) 28h BCR27[7:0] (SRAM Interface Control)
15h 2Bh BCR32[15:8] (MII Control and Status) 2Ah BCR32[7:0] (MII Control and Status)
16h 2Dh BCR33[15:8] (MII Address) 2Ch BCR33[7:0] (MII Address)
17h 2Fh BCR35[15:8] (PCI Vendor ID) 2Eh BCR35[7:0] (PCI Vendor ID)
18h 31h BCR36[15:8] (Conf. Sp. byte 43h alias) 30h BCR36[7:0] (Conf. Sp. byte 42h alias)
19h 33h BCR37[15:8] (DATA_SCALE alias0) 32h BCR37[7:0] (Conf. Sp. byte 47h0 alias)
1Ah 35h BCR38[15:8] (DATA_SCALE alias 1) 34h BCR38[7:0] (Conf. Sp. byte 47h1 alias)
1Bh 37h BCR39[15:8] (DATA_SCALE alias 2) 36h BCR39[7:0] (Conf. Sp. byte 47h2 alias)
1Ch 39h BCR40[15:8] (DATA_SCALE alias 3) 38h BCR40[7:0] (Conf. Sp. byte 47h3 alias)
1Dh 3Bh BCR41[15:8] (DATA_SCALE alias 4) 3Ah BCR41[7:0] (Conf. Sp. byte 47h4 alias)
1Eh 3Dh BCR42[15:8] (DATA_SCALE alias 5) 3Ch BCR42[7:0] (Conf. Sp. byte 47h5 alias)
1Fh 3Fh BCR43[15:8] (DATA_SCALE alias 6) 3Eh BCR43[7:0] (Conf. Sp. byte 47h6 alias)
20h 41h BCR44[15:8] (DATA_SCALE alias 7) 40h BCR44[7:0] (Conf. Sp. byte 47h7 alias)
21h 43h BCR48[15:8] N_IP_ADR[15:8] 42h BCR48[7:0] N_IP_ADR[7:0]
22h 45h BCR49[15:8] N_IP_ADR[31:24] 44h BCR49[7:0] N_IP_ADR[23:16]
23h 47h BCR50[15:8] M_IEEE_ADR[15:8] 46h BCR50[7:0] M_IEEE_ADR[7:0]
24h 49h BCR51[15:8] M_IEEE_ADR[31:24] 48h BCR51[7:0] M_IEEE_ADR[23:16]
25h 4Bh BCR52[15:8] M_IEEE_ADR[47:40] 4Ah BCR52[7:0] M_IEEE_ADR[39:32]
26h 4Dh BCR53[15:8] M_IP_ADR[15:8] 4Ch BCR53[7:0] M_IP_ADR[7:0]
27h 4Fh BCR54[15:8] M_IP_ADR[31:24] 4Eh BCR54[7:0] M_IP_ADR[23:16]
Checksum adjust byte for the 82 bytes of the
28h 51h EEPROM contents, checksum of the 82 bytes of 50h BCR55[7:0] SMIU Slave Address
the EEPROM should total to FFh
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 265
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
266 Am79C973/Am79C975
P R E L I M I N A R Y
Switching Waveforms
MDATA
tSU tHD
MCLOCK
tRISE tFALL
21510D-76B
Am79C973/Am79C975 267
APPENDIX C
4
RXD(3:0)
RX_DV
Receive Signals
RX_ER
RX_CLK
CRS
MII Interface
21510C-77
Am79C973/Am79C975 268
P R E L I M I N A R Y
Am79C973/Am79C975 269
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-78
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 read PHY attached to the Am79C973/Am79C975 control-
or write operation. This is followed by the external PHY ler’s MII has no way of communicating important timely
address (PHYADD) and the register address (REGAD) status information back to Am79C973/Am79C975 con-
programmed in BCR33. The PHY address of 1Fh is re- troller. The Am79C973/Am79C975 controller has no
served and should not be used. The external PHY may way of knowing that an external PHY has undergone a
have a larger address space starting at 10h - 1Fh. This change in status without polling the MII status register.
is the address range set aside by the IEEE as vendor To prevent problems from occurring with inadequate
usable address space and will vary from vendor to ven- host or software polling, the Am79C973/Am79C975
dor. This field is followed by a bus turnaround field. Dur- controller will Auto-Poll when APEP (BCR32, bit 11) is
ing a read operation, the bus turnaround field is used to set to 1 to insure that the most current information is
determine if the external PHY is responding correctly to available. See MII Management Registers section for
the read request or not. The Am79C973/Am79C975 the bit descriptions of the MII Status Register. The con-
controller will tri-state the MDIO for both MDC cycles. tents of the latest read from the external PHY will be
During the second cycle, if the external PHY is syn- stored in a shadow register in the Auto-Poll block. The
chronized to the Am79C973/Am79C975 controller, the first read of the MII Status Register will just be stored,
external PHY will drive a 0. If the external PHY does not but subsequent reads will be compared to the contents
drive a 0, the Am79C973/Am79C975 controller will sig- already stored in the shadow register. If there has been
nal a MREINT (CSR7, bit 9) interrupt, if MREINTE a change in the contents of the MII Status Register, a
(CSR7, bit 8) is set to a 1, indicating the Am79C973/ MAPINT (CSR7, bit 5) interrupt will be generated on
Am79C975 controller had an MII management frame INTA if the MAPINTE (CSR7, bit 4) is set to 1. The
read error and that the data in BCR34 is not valid. The Auto-Poll features can be disabled if software driver
data field to/from the external PHY is read or written polling is required.
into the BCR34 register. The last field is an IDLE field The Auto-Poll’s frequency of generating MII manage-
that is necessary to give ample time for drivers to turn ment frames can be adjusted by setting of the APDW
off before the next access. The Am79C973/Am79C975 bits (BCR32, bits 10-8). The delay can be adjusted
controller will drive the MDC to 0 and tri-state the MDIO from 0 MDC periods to 2048 MDC periods. Auto-Poll by
anytime the MII Management Port is not active. default will only read the MII Status register in the ex-
To help to speed up the reading and of writing the MII ternal PHY.
management frames to the external PHY, the MDC can Network Port Manager
be sped up to 10 MHz by setting the FMDC bits in
BCR32. The IEEE 802.3 specification requires use of The Am79C973/Am79C975 controller is unique in that
the 2.5-MHz clock rate, but 5 MHz and 10 MHz are is does not require software intervention to control and
available for the user. The intended applications are configure an external PHY attached to the MII. This
that the 10-MHz clock rate can be used for a single ex- was done to ensure backwards compatibility with exist-
ternal PHY on an adapter card or motherboard. The 5- ing software drivers. To the current software drivers, the
MHz clock rate can be used for an exposed MII with Am79C973/Am79C975 controller will look and act like
one external PHY attached. The 2.5-MHz clock rate is the PCnet-PCI II and will interoperate with existing
intended to be used when multiple external PHYs are PCnet drivers from revision 2.5 upward. The heart of
connected to the MII Management Port or if compli- this system is the Network Port Manager.
ance to the IEEE 802.3u standard is required. If the external PHY is present and is active, the Net-
work Port Manager will request status from the external
270 Am79C973/Am79C975
P R E L I M I N A R Y
PHY by generating MII management frames. These driver. When The ASEL is set to 0, the software driver
frames will be sent roughly every 900 ms. These should then configure the por ts with PORTSEL
frames are necessary so that the Network Port Man- (CSR15, bits 7-8).
ager can monitor the current active link and can select
Note: It is highly recommended that ASEL and
a different network port if the current link goes down.
PORTSEL be used when trying to manually configure
Auto-Negotiation a specific network port.
In order to manually configure the External PHY, the
Through the external PHY, the following capabilities are
recommended procedure is to force the PHY config-
possible: 100BASE-T4, 100BASE-TX Full-/Half-Du-
urations when Auto-Negotiation is not enabled. Set the
plex, and 10BASE-T Full-/Half-Duplex. The capabilities
DANAS bit (BCR32, bit 7) to turn off the Network Port
are then sent to a link partner that will also send its ca-
Manager. Then clear the XPHYANE (BCR32, bit 5) and
pabilities. Both sides look to see what is possible and
set either XPHYFD (BCR32, bit 4) or XPHYSP
then they will connect at the greatest possible speed
(BCR32, bit 3) or both. The Network Port Manager will
and capability as defined in the IEEE 802.3u standard
send a few MII frames to the PHY to validate the con-
and according to Table C-68.
figuration.
By default, the link partner must be at least 10BASE-T
CAUTION: The Network Port Manager utilizes the
half-duplex capable. The Am79C973/Am79C975 con-
PHYADD (BCR33, bits 9-5) to communicate with the
troller can automatically negotiate with the network and
external PHY during the automatic port selection pro-
yield the highest performance possible without soft-
cess. The PHYADD is copied into a shadow register
ware support. See the section on Network Port Man-
after the Am79C973/Am79C975 controller has read
ager for more details.
the configuration information from the EEPROM. Ex-
Table 68. 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-
tee that the PHYADD has been shadowed.
200 Mbps 100BASE-X, Full Duplex
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
n External PHY Not Auto-Negotiable
20 Mbps 10BASE-T, Full Duplex n 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- This case occurs when the MIIPD (BCR32, bit 14) bit is
based communication scheme called, Next Pages, be- 1. This indicates that there is an external PHY attached
fore connecting to the Link Partner. This feature is not to Am79C973/Am79C975 controller’s MII. If more than
suppor ted in Am79C973/Am79C975 unless the one external PHY is attached to the MII Management
DANAS (BCR32, bit 10) is selected and the software Interface, then the DANAS (BCR32, bit 7) bit must be
driver is capable of controlling the external PHY. A com- set to 1 and then all configuration control should revert
plete bit description of the MII and Auto-Negotiation to software. The Am79C973/Am79C975 controller will
registers can be found in the MII Management Regis- read the register of the external PHY to determine its
ters section. status and network capabilities. See the MII Manage-
Automatic Network Port Selection ment Registers section for the bit descriptions of the
MII Status register. If the external PHY is not Auto-Ne-
If ASEL (BCR2, bit 0) is set to 1 and DANAS (BCR 32, gotiation capable and/or the XPHYANE (BCR32, bit 5)
bit 7) is set to 0, then the Network Port Manager will bit is set to 0, then the Network Port Manager will match
start to configure the external PHY if it detects the ex- up the external PHY capabilities with the XPHYFD
ternal PHY on the MII Interface. (BCR 32, bit 4) and the XPHYSP (BCR32, bit 3) bits
programmed from the EEPROM. The Am79C973/
Automatic Network Selection: Exceptions
Am79C975 controller will then program the external
If ASEL (BCR2, bit 0) is set to 0 or DANAS (BCR 32, bit PHY with those values. A new read of the external
7) is set to 1, then the Network Port Manager will dis- PHYs MII Status register will be made to see if the link
continue actively trying to establish the connections. It is up. If the link does not come up as programmed after
is assumed that the software driver is attempting to a specific time, the Am79C973/Am79C975 controller
configure the network por t and the Am79C973/ will fail the external PHY link. The Network Port Man-
Am79C975 controller will always defer to the software
Am79C973/Am79C975 271
P R E L I M I N A R Y
ager will periodically query the external PHY for active ucts. The EADI interface can be used in conjunction
links. with external logic to capture the packet destination ad-
dress from the nibble as it arrives at the Am79C973/
Automatic Network Selection: External PHY
Am79C975 controller, to compare the captured ad-
Auto-Negotiable
dress with a table of stored addresses or identifiers,
This case occurs when the MIIPD (BCR32, bit 14) bit is and then to determine whether or not the Am79C973/
1. This indicates that there is an external PHY attached Am79C975 controller should accept the packet.
to Am79C973/Am79C975 controller’s MII. If more than
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 Internal address match is disabled when PROM
Advertisement register with the following conditions (CSR15, bit 15) is cleared to 0, DRCVBC (CSR15, bit
set: turn off the Next Pages support, set the Technology 14) and DRCVPA (CSR15, bit 13) are set to 1, and the
Ability Field from the external PHY MII Status register Logical Address Filter registers (CSR8 to CSR11) are
read, and set the Type Selector field to the IEEE 802.3 programmed to all zeros.
standard. The Am79C973/Am79C975 controller will
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
Accept (CSR124, bit 3) is enabled, then the EAR signal
Automatic Network Selection: Force External Reset 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
troller will write to the external PHY’s MII Control regis- for source address, 2 bytes for length, no data, 4 bytes
ter wi th the RE SE T bi t s et to 1 (S e e th e MI I for FCS) after the last bit of the destination address is
Management Registers section for the MII register bit available. EAR must have a pulse width of at least 110
descriptions). This will force a complete reset of the ex- ns.
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
register to see if the RESET bit is 0. After the RESET to capture frame header information to determine pro-
bit is cleared, then the normal flow continues. tocol type, internetworking information, and other use-
External Address Detection Interface ful data.
The EADI interface will operate as long as the STRT bit
The EADI is provided to allow external address filtering
in CSR0 is set, even if the receiver and/or transmitter
and to provide a Receive Frame Tag word for propri-
are disabled by software (DTX and DRX bits in CSR15
etary routing information. It is selected by setting the
are set). This configuration is useful as a semi-power-
EADISEL bit in BCR2 to 1. This feature is typically uti-
down mode in that the Am79C973/Am79C975 control-
lized by terminal servers, bridges and/or router prod-
272 Am79C973/Am79C975
P R E L I M I N A R Y
ler will not perform any power-consuming DMA opera- tagging implementation will be a two--wire chip inter-
tions. However, external circuitry can still respond to face, respectively, added to the existing EADI.
control frames on the network to facilitate remote node
The Am79C973/Am79C975 controller supports up to
control. Table C-69 summarizes the operation of the
15 bits of receive frame tagging per frame in the receive
EADI interface.
frame status (RFRTAG). The RFRTAG bits are in the
Table 69. EADI Operations receive frame status field in RMD2 (bits 30-16) in 32-bit
software mode. The receive frame tagging is not sup-
Required Received ported in the 16-bit software mode. The RFRTAG field
PROM EAR Timing Frames
are all zeros when either the EADISEL (BCR2, bit3) or
No timing the RXFRTAG (CSR7, bit 14) are set to 0. When
1 X All received frames
requirements
EADISEL (BCR2, bit 3) and RXFRTAG (CSR7, bit 14)
No timing are set to 1, then the RFRTAG reflects the tag word
0 1 All received frames
requirements
shifted in during that receive frame.
Frame rejected if in
Low for two bit
0 0 address match In the MII mode, the two-wire interface will use the
times plus 10 ns
mode MIIRXFRTGD and MIIRXFRTGE pins from the EADI
interface. These pins will provide the data input and
When using the MII, the data arrives in nibbles and can
data input enable for the receive frame tagging, respec-
be at a rate of 25 MHz or 2.5 MHz.
tively. These pins are normally not used during the MII
The MII provides all necessary data and clock signals operation.
needed for the EADI interface. Data for the EADI is the
The receive frame tag register is a shift register that
RXD(3:0) receive data provided to the MII. RX_CLK is
shifts data in MSB first, so that less than the 15 bits al-
provided to allow clocking of the RXD(3:0) receive nib-
located may be utilized by the user. The upper bits not
ble stream into the external address detection logic.
utilized will return zeros. The receive frame tag register
The RXD(3:0) data is synchronous to the rising edge of
is set to 0 in between reception of frames. After receiv-
the RX_CLK.
ing SFBD indication on the EADI, the user can start
The assertion of SFBD is a signal to the external ad- shifting data into the receive tag register until one net-
dress detection logic that the SFD has been detected work clock period before the Am79C973/Am79C975
and that the first valid data nibble is on the RXD(3:0) controller receives the end of the current receive frame.
data bus. The SFBD signal is delayed one RX_CLK
In the MII mode, the user must see the RX_CLK to
cycle from the above definition and actually signals the
drive the synchronous receive frame tag data interface.
start of valid data. In order to reduce the amount of
After receiving the SFBD indication, sampled by the ris-
logic external to the Am79C973/Am79C975 controller
ing edge of the RX_CLK, the user will drive the data
for multiple address decoding systems, the SFBD sig-
input and the data input enable synchronous with the
nal will go HIGH at each new byte boundary within the
rising edge of the RX_CLK. The user has until one net-
packet, subsequent to the SFD. This eliminates the
work clock period before the deassertion of the RX_DV
need for externally supplying byte framing logic.
to input the data into the receive frame tag register. At
The EAR pin should be driven LOW by the external ad- the deassertion of the RX_DV, the receive frame tag
dress comparison logic to reject a frame. register will no longer accept data from the two-wire in-
terface. If the user is still driving the data input enable
External Address Detection Interface: Receive
pin, erroneous or corrupted data may reside in the re-
Frame Tagging
ceive frame tag register. See Figure C-79.
The Am79C973/Am79C975 controller supports re-
ceive frame tagging in the MII mode. The receive frame
RX_CLK
RX_DV
SFBD
MIIRXFRTGE
21510C-79
MIIRXFRTGD
Am79C973/Am79C975 273
P R E L I M I N A R Y
Note:
1. R/W = Read/Write, SC = Self Clearing, RO = Read only.
274 Am79C973/Am79C975
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-72.
The MII Management Status Register identifies the
physical and auto-negotiation capabilities of the PHY.
1 = link is up
2 Link Status RO, LL
0 = link is down
Am79C973/Am79C975 275
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
A4 100BASE-T4
276 Am79C973/Am79C975
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-
ceived link code word. This register contains either the
Register (Register 5) base page or the link partner’s next pages. See Table
The Auto-Negotiation Link Partner Ability Register is C-75.
Read Only. The register contains the advertised ability
Table 75. Auto-Negotiation Link Partner Ability Register (Register 5) - Base Page Format
Read/
Bit(s) Name Description Write
Am79C973/Am79C975 277
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.
278 Am79C973/Am79C975
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-80
Vihmin
RX_CLK
Vilmax
tRSU tRH
RXD[3:0],
RX_ER, Vihmin
RX_DV Vilmax
21510C-81
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-82
Am79C973/Am79C975 279
P R E L I M I N A R Y
Vihmin
MDC
Vilmax
tMSU tMH
MDIO Vihmin
Vilmax
21510C-83
Vihmin
MDC Vilmax
tTMVAL
Vihmin
MDIO Vilmax
21510C-84
Figure 84. Management Data Output Valid Delay Timing
280 Am79C973/Am79C975
P R E L I M I N A R Y
RX_CLK
tEAD8
RX_DV tEAD9 tEAD10
EAR tEAD7
SFBD
21510C-85
RX_CLK
Preamble SFD DA DA DA
RXD[3:0]
tEAD11
EAR
SFBD
21510C-86
Figure 86. Reject Timing - External PHY MII @ 2.5 MHz
Am79C973/Am79C975 281
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-87
Figure 87. Receive Frame Tag Timing with Media Independent Interface
282 Am79C973/Am79C975
APPENDIX D
Am79C973/Am79C975 283
APPENDIX E
Am79C973/Am79C975 284
P R E L I M I N A R Y
Am79C973/Am79C975 285
P R E L I M I N A R Y
cation pointer into this descriptor and then copy that is required by existing drivers, since
changed the ownership to give the descriptor it is being placed directly into the application
to the Am79C973 controller back at S3. Note buffer space.
that if steps S1, S2, and S3 have not com-
N2 The message on the wire ends.
pleted at this time, a BUFF error will result.
S7 When the driver completes the copy of buffer
C7 After filling the second buffer and performing
number 2 data to the application buffer space,
the last chance lookahead to the next descrip-
it begins polling descriptor number 3.
tor, the Am79C973 controller will write the sta-
tus and change the ownership bit of descriptor C9 When the Am79C973 controller has finished
number 2. all data DMA operations, it writes status and
changes ownership of descriptor number 3.
S6 After the ownership of descriptor number 2 has
been changed by the Am79C973 controller, S8 The driver sees that the ownership of descrip-
the next driver poll of the second descriptor will tor number 3 has changed, and it calls the ap-
show ownership granted to the CPU. The plication to tell the application that a frame has
driver now copies the data from buffer number arrived.
2 into the middle section of the application
S9 The application processes the received frame
buffer space. This operation is interleaved with
and generates the next TX frame, placing it
the C7 and C8 operations.
into a TX buffer.
C8 The Am79C973 controller will perform data
S10 The driver sets up the TX descriptor for the
DMA to the last buffer, whose pointer is point-
Am79C973 controller.
ing to application space. Data entering the
least buffer will not need the infamous double
286 Am79C973/Am79C975
P R E L I M I N A R Y
generated.
C2: Controller writes descriptor #1.
21510B-B1
Am79C973/Am79C975 287
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.
21510B-B2
LAPP Rules for Parsing Descriptors n 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
n Software will examine OWN and STP to determine search.
where an RCV frame begins. RCV frames will only n 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
n 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.
288 Am79C973/Am79C975
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
n 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.
n 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
n The controller will always mark the end of a frame
with either ENP = 1 or ERR = 1. Choose an expected frame size of 1060 bytes. Choose
buffer sizes of 800, 200, and 200 bytes.
The controller will discard all descriptors with OWN = 1
and STP = 0 and move to the next descriptor when n Example 1: Assume that a 1060 byte frame arrives
searching for a place to begin a new frame. It discards correctly, and that the timing of the early interrupt
these descriptors by simply changing the ownership bit and the software is smooth. The descriptors will
from OWN = 1 to OWN = 0. Such a descriptor is unused have changed from:
Descriptor Before the Frame Arrives After the Frame Arrives Comments (After
a
Number OWN STP ENP 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.
n Example 2: Assume that instead of the expected cause this is the last frame in a file transmission se-
1060 byte frame, a 900 byte frame arrives, either quence.
because there was an error in the network, or 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 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 modified buffer pointer into the third descriptor, then
to ENP location in the third descriptor. Here are the two the controller will write a ZERO to ENP for this buffer
possibilities: and will write a ZERO to OWN and STP.
1. If the controller finishes the data transfers into buffer 2. If the controller finishes the data transfers into buffer
number 2 after the driver writes the application number 2 before the driver writes the applications
Am79C973/Am79C975 289
P R E L I M I N A R Y
modified buffer point into the third descriptor, then *Same as note in example 2 above, except that in this
the controller will complete the frame in buffer num- case, it is very unlikely that the driver can respond to
ber 2 and then skip the then unowned third buffer. In the interrupt and get the pointer from the application
this case, the Am79C973 controller will not have before 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 all
descriptor, and it is possible that the software left occurrences of this case, the Am79C973 controller will
this bit as ENP = 1 from the last time through the not find the OWN bit set for this descriptor and, there-
ring. Therefore, the software must treat the location fore, the ENP bit will almost always contain the old
as a don’t care. The rule is, after finding ENP = 1 (or value, since the Am79C973 controller will not have had
ERR = 1) in descriptor number 2, the software must an opportunity to modify it.
ignore ENP bits until it finds the next STP = 1.
**Note that even though the Am79C973 controller will
n 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.
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 S3, S4, S5, and S6. The result is that there will be delay
from the execution of task C9 until the execution of task
For maximum performance, buffer sizes should be ad- S8. A perfectly timed system will have the values for S5
justed depending upon the expected frame size and and S7 at a minimum.
the values of the interrupt latency and application call
An average increase in performance can be achieved,
latency. The best driver code will minimize the CPU uti-
if the general guidelines of buffer sizes in Figure 2 is fol-
lization while also minimizing the latency from frame
lowed. However, as was noted earlier, the correct sizing
end on the network to the frame sent to application
for buffers will depend upon the expected message
from driver (frame latency). These objectives are aimed
size. There are two problems with relating expected
at increasing throughput on the network while decreas-
message size with the correct buffer sizing:
ing CPU utilization.
1. Message sizes cannot always be accurately pre-
Note: The buffer sizes in the ring may be altered at any
dicted, since a single application may expect differ-
time that the CPU has ownership of the corresponding
ent message sizes at different times. Therefore, the
descriptor. The best choice for buffer sizes will maxi-
buffer sizes chosen will not always maximize
mize the time that the driver is swapped out, while min-
throughput.
imizing the time from the last byte written by the
Am79C973 controller to the time that the data is 2. Within a single application, message sizes might be
passed from the driver to the application. In the dia- somewhat predictable, but when the same driver is
gram, this corresponds to maximizing S0, while mini- to be shared with multiple applications, there may
mizing the time between C9 and S8. (the timeline not be a common predictable message size.
happens to show a minimal time from C9 to S8.) Additional problems occur when trying to define the
Note: By increasing the size of buffer number 1, we in- correct sizing because the correct size also depends
crease the value of S0. However, when we increase the upon the interrupt latency, which may vary from system
size of buffer number 1, we also increase the value of to system, depending upon both the hardware and the
S4. If the size of buffer number 1 is too large, then the software installed in each system.
driver will not have enough time to perform tasks S2,
290 Am79C973/Am79C975
P R E L I M I N A R Y
In order to deal with the unpredictable nature of the The time from the end of frame arrival on the wire to de-
message size, the driver can implement a self-tuning livery of the frame to the application is labeled as frame
mechanism that examines the amount of time spent in latency. For the one-interrupt method, frame latency is
tasks S5 and S7. As such, while the driver is polling for minimized, while CPU utilization increases. For the
each descriptor, it could count the number of poll oper- two-interrupt method, frame latency becomes greater,
ations performed and then adjust the number 1 buffer while CPU utilization decreases. See Figure B-3.
size to a larger value, by adding “t” bytes to the buffer
Note: Some of the CPU time that can be applied to
count, if the number of poll operations was greater than
non-Ethernet tasks is used for task switching in the
”x.” If fewer than “x” poll operations were needed for
CPU. One task switch is required to swap a non-Ether-
each of S5 and S7, then software should adjust the
net task into the CPU (after S7A) and a second task
buffer size to a smaller value by subtracting “y” bytes
switch is needed to swap the Ethernet driver back in
from the buffer count. Experiments with such a tuning
again (at S8A). If the time needed to perform these task
mechanism must be performed to determine the best
switches exceeds the time saved by not polling descrip-
values for “x” and “y.”
tors, then there is a net loss in performance with this
Note: Whenever the size of buffer number 1 is ad- method. Therefore, the LAPP method implemented
justed, buffer sizes for buffer number 2 and buffer num- should be carefully chosen.
ber 3 should also be adjusted. Figure B-4 shows the buffer sizing for the two-interrupt
In some systems, the typical mix of receive frames on method. Note that the second buffer size will be about
a network for a client application consists mostly of the same for each method.
large data frames, with very few small frames. In this
There is another alternative which is a marriage of the
case, for maximum efficiency of buffer sizing, when a
two previous methods. This third possibility would use
frame arrives under a certain size limit, the driver
the buffer sizes set by the two-interrupt method, but
should not adjust the buffer sizes in response to the
would use the polling method of determining frame
short frame.
end. This will give good frame latency but at the price
An Alternative LAPP Flow: Two- of very high CPU utilization. And still, there are even
more compromise positions that use various fixed
Interrupt Method buffer sizes and, effectively, the flow of the one-inter-
An alternative to the above suggested flow is to use two rupt method. All of these compromises will reduce the
interrupts, one at the start of the receive frame and the complexity of the one-interrupt method by removing the
other at the end of the receive frame, instead of just heuristic buffer sizing code, but they all become less ef-
looking for the SRP interrupt as described above. This ficient than heuristic code would allow.
alternative attempts to reduce the amount of time that
the software wastes while polling for descriptor own
bits. This time would then be available for other CPU
tasks. It also minimizes the amount of time the CPU
needs for data copying. This savings can be applied to
other CPU tasks.
Am79C973/Am79C975 291
P R E L I M I N A R Y
generated.
C2: Controller writes descriptor #1.
21510B-B3
Figure 90. LAPP Timeline for Two-Interrupt Method
292 Am79C973/Am79C975
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
Am79C973/Am79C975 293
P R E L I M I N A R Y
INDEX
Numerics An Alternative LAPP Flow
Two-Interrupt Method . . . . . . . . . . . . .291
10 Mbps Receive (RX±) Timing APDW Values . . . . . . . . . . . . . . . . . . . . . .186
Diagram . . . . . . . . . . . . . . . . . . . . . . . . .233 APP 3 Buffer Grouping for
10 Mbps Transmit (TX±) Timing Two-interrupt Method . . . . . . . . . . . . . .293
Diagram . . . . . . . . . . . . . . . . . . . . . . . . .233 AS_EBOE . . . . . . . . . . . . . . . . . . . . . . . . . .34
10/100 Media Access Control . . . . . . . . . . .70 Automatic EEPROM Read Operation . . . . .98
10/100 PHY Unit Overview . . . . . . . . . . . .79 Automatic Network Port Selection . . . . . .271
100BASE-FX (Fiber Interface) . . . . . . . . . .79 Automatic Network Selection
100BASE-X Physical Layer . . . . . . . . . . . .79 Exceptions . . . . . . . . . . . . . . . . . . . . . .271
100BASE-X Transmit and Receive External PHY Auto-Negotiable . . . . . .272
Data Paths of the Internal PHY . . . . . . . . .81 External PHY Not Auto-Negotiable . .271
10BASE-T Block . . . . . . . . . . . . . . . . . . . . .86 Force External Reset . . . . . . . . . . . . . .272
10BASE-T Physical Layer . . . . . . . . . . . . . .79 Automatic Pad Generation . . . . . . . . . . . . . .74
EBDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 Automatic Pad Stripping . . . . . . . . . . . . . . .76
Expansion Bus Data/Address . . . . . . . . . . . .34 Automatic PREAD EEPROM Timing . . .238
16-Bit Software Model . . . . . . . . . . . . . . . .66 Auto-Negotiation . . . . . . . . . . . . . . . . .87, 271
C/BE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 Auto-Negotiation Advertisement
RXD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 Register (Register 4) . . . . . . . . . . . . . . . .276
TXD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 Auto-Negotiation Capabilities . . . . . . .88, 271
AD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 Auto-Negotiation Link Partner Ability
32-Bit Software Model . . . . . . . . . . . . . . . .67 Register (Register 5) . . . . . . . . . . . . . . . .277
EBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 Auto-Poll External PHY Status Polling . . .270
EBUA_EBA . . . . . . . . . . . . . . . . . . . . . . . . .33 Auxiliary Power . . . . . . . . . . . . . . . . . . . . .102
Expansion Bus Data . . . . . . . . . . . . . . . . . . .34
Expansion Bus Upper B
Address/ Expansion Bus Address . . . . . . .33
Basic Burst Read Transfer . . . . . . . . . . . . . .47
A Basic Burst Write Transfer . . . . . . . . . . . . .49
BASIC FUNCTIONS . . . . . . . . . . . . . . . . .39
Absolute Maximum Ratings . . . . . . .224, 266 Basic Non-Burst Read Transfer . . . . . . . . . .47
Address and Data . . . . . . . . . . . . . . . . . . . . .29 Basic Non-Burst Write Transfer . . . . . . . . .49
Address Match Logic . . . . . . . . . . . . . . . . .205 Basic Operation . . . . . . . . . . . . . . . . . . . . .246
Address Matching . . . . . . . . . . . . . . . . . . . .75 BCR Registers . . . . . . . . . . . . . . . . . .159, 161
Address Parity Error Response . . . . . . . . . .45 BCR0
Address PROM Space . . . . . . . . . . . . . . . .109 Master Mode Read Active . . . . . . . . . .157
Address Strobe/Expansion Bus BCR1
Output Enable . . . . . . . . . . . . . . . . . . . . . .34 Master Mode Write Active . . . . . . . . .158
Advanced Parity Error Handling . . . . . . . . .56 BCR16
Alternative Method for Initialization . . . . .283 I/O Base Address Lower . . . . . . . . . . .172
Am79C972 Bus Configuration BCR19
Registers . . . . . . . . . . . . . . . . . . . . . . . . .222 EEPROM Control and Status . . . . . . .175
Am79C972 Programmable Registers . . . .220 BCR20
Am79C973 EEPROM Map . . . . . . . . . . . .100 Software Style . . . . . . . . . . . . . . . . . . .178
Am79C975 EEPROM Map . . . . . . . . . . . .101 BCR28
Am79C975 PIN DESIGNATIONS . . . . . .245 Expansion Bus Port Address Lower
AMD Flash Programming . . . . . . . . . . . . . .95 (Used for Flash/EPROM and
SRAM Accesses) . . . . . . . . . . . . . .183
294 Am79C973/Am79C975
P R E L I M I N A R Y
BCR29 BCR46
Expansion Port Address Upper OnNow Pattern Matching
(Used for Flash/EPROM Register #2 . . . . . . . . . . . . . . . . . . .191
Accesses) . . . . . . . . . . . . . . . . . . . .183 BCR47
BCR30 OnNow Pattern Matching
Expansion Bus Data Port Register . . . .184 Register #3 . . . . . . . . . . . . . . . . . . .192
BCR31 BCR5
Software Timer Register . . . . . . . . . . .184 LED1 Status . . . . . . . . . . . . . . . . . . . . .166
BCR32 PHY Control and Status Register .185 BCR6
BCR33 LED2 Status . . . . . . . . . . . . . . . . . . . . .168
PHY Address Register . . . . . . . . . . . . .187 BCR7
BCR34 LED3 Status . . . . . . . . . . . . . . . . . . . . .169
PHY Management Data Register . . . . .187 BCR9
BCR35 Full-Duplex Control . . . . . . . . . . . . . . .171
PCI Vendor ID Register . . . . . . . . . . . .187 BLOCK DIAGRAM . . . . . . . . . . . . . . . . . . .4
BCR36 Block Diagram Low Latency
PCI Power Management Capabilities Receive Configuration . . . . . . . . . . . . . . .97
(PMC) Alias Register . . . . . . . . . . .188 Block Diagram No SRAM
BCR37 Configuration . . . . . . . . . . . . . . . . . . . . . .97
PCI DATA Register Zero (DATA0) Board Interface . . . . . . . . . . . . . . . . . . . . . .31
Alias Register . . . . . . . . . . . . . . . . .188 Boundary Scan Circuit . . . . . . . . . . . . . . . .106
BCR38 Boundary Scan Register . . . . . . . . . . . . . .106
PCI DATA Register One (DATA1) BSR Mode Of Operation . . . . . . . . . . . . . .107
Alias Register . . . . . . . . . . . . . . . . .188 Buffer Management . . . . . . . . . . . . . . . . . . .64
BCR39 Buffer Management Unit . . . . . . . . . . . . . . .63
PCI DATA Register Two (DATA2) Buffer Size Tuning . . . . . . . . . . . . . . . . . .290
Alias Register . . . . . . . . . . . . . . . . .189 Burst FIFO DMA Transfers . . . . . . . . . . . . .62
PCI DATA Register Zero (DATA2) Burst Write Transfer . . . . . . . . . . . . . . . . . .50
Alias Register . . . . . . . . . . . . . . . . .189 Bus Acquisition . . . . . . . . . . . . . . . . . . .46, 47
BCR4 Bus Command and Byte Enables . . . . . . . .29
LED 0 Status . . . . . . . . . . . . . . . . . . . .164 Bus Configuration Registers . . . . . . .157, 218
BCR40 Bus Grant . . . . . . . . . . . . . . . . . . . . . . . . . . .29
PCI Data Register Three (DATA3) Bus Master DMA Transfers . . . . . . . . . . . . .47
Alias Register . . . . . . . . . . . . . . . . .189 Bus Request . . . . . . . . . . . . . . . . . . . . . . . . .31
BCR41
PCI DATA Register Four (DATA4)
C
Alias Register . . . . . . . . . . . . . . . . .189 Carrier Sense . . . . . . . . . . . . . . . . . . . . . . . .35
BCR42 CLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
PCI DATA Register Five (DATA5) CLK Waveform for 3.3 V Signaling . . . . .236
Alias Register . . . . . . . . . . . . . . . . .190 CLK Waveform for 5 V Signaling . . . . . .236
BCR43 CLK_FAC Values . . . . . . . . . . . . . . . . . . .183
PCI DATA Register Six (DATA6) Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
Alias Register . . . . . . . . . . . . . . . . .190 Clock Interface . . . . . . . . . . . . . . . . . . . . . . .37
BCR44 Clock Timing . . . . . . . . . . . . . . .227, 231, 266
PCI DATA Register Seven (DATA7) COL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
Alias Register . . . . . . . . . . . . . . . . .191 Collision . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
BCR45 Collision Detect Function . . . . . . . . . . . . . .87
OnNow Pattern Matching Collision Handling . . . . . . . . . . . . . . . . . . . .73
Register #1 . . . . . . . . . . . . . . . . . . .191
Am79C973/Am79C975 295
P R E L I M I N A R Y
296 Am79C973/Am79C975
P R E L I M I N A R Y
CSR32 CSR58
Next Transmit Descriptor Address Software Style . . . . . . . . . . . . . . . . . . .145
Lower . . . . . . . . . . . . . . . . . . . . . . .142 CSR6
CSR33 RX/TX Descriptor Table Length . . . . .133
Next Transmit Descriptor Address CSR60
Upper . . . . . . . . . . . . . . . . . . . . . . .142 Previous Transmit Descriptor Address
CSR34 Lower . . . . . . . . . . . . . . . . . . . . . . .147
Current Transmit Descriptor Address CSR61
Lower . . . . . . . . . . . . . . . . . . . . . . .142 Previous Transmit Descriptor Address
CSR35 Upper . . . . . . . . . . . . . . . . . . .147, 148
Current Transmit Descriptor Address CSR62
Upper . . . . . . . . . . . . . . . . . . . . . . .142 Previous Transmit Byte Count . . . . . . .148
CSR36 CSR63
Next Next Receive Descriptor Address Previous Transmit Status . . . . . . . . . . .148
Lower . . . . . . . . . . . . . . . . . . . . . . .142 CSR64
CSR37 Next Transmit Buffer Address
Next Next Receive Descriptor Address Lower . . . . . . . . . . . . . . . . . . . . . . .148
Upper . . . . . . . . . . . . . . . . . . . . . . .142 CSR65
CSR38 Next Transmit Buffer Address
Next Next Transmit Descriptor Address Upper . . . . . . . . . . . . . . . . . . .148, 149
Lower . . . . . . . . . . . . . . . . . . . . . . .143 CSR66
CSR39 Next Transmit Byte Count . . . . . .148, 149
Next Next Transmit Descriptor Address CSR67 . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
Upper . . . . . . . . . . . . . . . . . . . . . . .143 Next Transmit Status . . . . . . . . . . . . . .149
CSR4 CSR7
Test and Features Control . . . . . . . . . .129 Extended Control and Interrupt 2 . . . .133
CSR40 CSR72
Current Receive Byte Count . . . . . . . .143 Receive Ring Counter . . . . . . . . . . . . .149
CSR41 CSR74
Current Receive Status . . . . . . . . . . . . .143 Transmit Ring Counter . . . . . . . . . . . .149
CSR42 CSR76
Current Transmit Byte Count . . . . . . .143 Receive Ring Length . . . . . . . . . . . . . .149
CSR43 CSR78
Current Transmit Status . . . . . . . . . . . .143 Transmit Ring Length . . . . . . . . . . . . .149
CSR44 CSR8
Next Receive Byte Count . . . . . . . . . .143 Logical Address Filter 0 . . . . . . . . . . .136
CSR45 CSR80
Next Receive Status . . . . . . . . . . . . . . .144 DMA Transfer Counter and FIFO
CSR46 Threshold Control . . . . . . . . . . . . .150
Transmit Poll Time Counter . . . . . . . .144 CSR82
CSR47 Transmit Descriptor Address Pointer
Transmit Polling Interval . . . . . . . . . . .144 Lower . . . . . . . . . . . . . . . . . . . . . . .152
CSR48 CSR84
Receive Poll Time Counter . . . . . . . . .145 DMA Address Register Lower . . . . . .152
CSR49 CSR85
Receive Polling Interval . . . . . . . . . . . .145 DMA Address Register Upper . . . . . . .152
CSR5 CSR86
Extended Control and Interrupt 1 . . . .130 Buffer Byte Counter . . . . . . . . . . . . . .152
Am79C973/Am79C975 297
P R E L I M I N A R Y
298 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 299
P R E L I M I N A R Y
300 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 301
P R E L I M I N A R Y
302 Am79C973/Am79C975
P R E L I M I N A R Y
Am79C973/Am79C975 303
P R E L I M I N A R Y
304 Am79C973/Am79C975