The contents of this document are provided in connection with Advanced
Micro Devices, Inc. (“AMD”) products. AMD makes no representations or
warranties with respect to the accuracy or completeness of the contents of
this publication and reserves the right to make changes to specifications and
product descriptions at any time without notice. No license, whether express,
implied, arising by estoppel or otherwise, to any intellectual property rights
is granted by this publication. Except as set forth in AMD’s Standard Terms
and Conditions of Sale, AMD assumes no liability whatsoever, and disclaims
any express or implied warranty, relating to its products including, but not
limited to, the implied warranty of merchantability, fitness for a particular
purpose, or infringement of any intellectual property right.
AMD’s products are not designed, intended, authorized or warranted for use
as components in systems intended for surgical implant into the body, or in
other applications intended to support or sustain life, or in any other application in which the failure of AMD’s product could create a situation where personal injury, death, or severe property or environmental damage may occur.
AMD reserves the right to discontinue or make changes to its products at any
time without notice.
Trademarks
AMD, the AMD logo, AMD Athlon, and combinations thereof, AMD-751, AMD-760, AMD-761, AMD-762, and
AMD-766 are trademarks of Advanced Micro Devices, Inc.
Other product names used in this publication are for identification purposes only and may be trademarks of
their respective companies.
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
4/2001BModified descriptions for WSC# and WSC# feature additions. NDA version only.
3/2001AInitial public release.
Revision History11
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
12Revision History
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
1Overview
The AMD Athlon™ processor powers the next generation in computing
platforms, delivering the ultimate performance for cutting-edge
applications and an unprecedented computing experience.
The AMD-761™ system controller provides standard
Northbridge functionality for desktop personal computers
using the AMD Athlon™ family of processors. This
functionality includes the processor interface as well as PCI,
AGP, and main memory interface implementing state of the art
Double Data Rate (DDR) synchronous DRAM technology.
This document provides information typically required for
development of the system BIOS and device drivers to properly
program the AMD-761 system controller configuration
registers. The document is organized as follows:
Section 1 provides an overview of the general BIOS
requirements for initializing the AMD-761 system controller
configuration registers.
Section 2 on page 9 contains a description of all AMD-761
system controller configuration registers.
Section 3 on page 149 contains additional information on
setup of the DDR SDRAM interface configuration registers.
Section 4 on page 185 contains additional information on
configuration of the power management features of the
AMD-761 system controller.
Section 5 on page 195 contains additional information on
setup of the PCI bus interface configuration registers.
Section 6 on page 205 contains additional information on
setup of the AGP interface configuration registers.
Section 7 on page 211 contains a list of recommended
settings for many of the AMD-761 system controller
configuration registers.
Chapter 1Overview1
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
1.1General BIOS Initialization Requirements
The following sections provide general requirements for BIOS
when programming the AMD-761 system controller
configuration registers. Note that the register descriptions also
include some specific programming notes.
1.1.1AMD-761™ Configuration Spaces
The AMD-761 system controller contains both I/O and memorymapped configuration spaces as listed below.
I/O Mapped Space
•PCI configuration space address and data (CF8h, CFCh)
•Host bridge registers mapped in PCI configuration
space, device 0, function 0
•DDR interface PDL and I/O controls mapped in PCI
configuration space to device 0, function 1
•PCI to PCI bridge/AGP registers mapped in PCI
configuration space to device 1, function 0
GART Memory-Mapped Registers
•Mapped in memory space as defined by the
programming of Base Address 1: GART Memory Mapped
Register Base
This section outlines a few cases in the AMD-761 system
controller configuration registers that require special handling
for proper BIOS programming.
Configuration Cycles
Enable
The AMD-761 system controller supports configuration
address space as defined by the PCI Local Bus Specification,
Revision 2.2, which defines a unique 256-byte space that is
accessed through two 32-bit index registers mapped in I/O
space.
As defined in the PCI specification, configuration cycles are
generated on the PCI bus only when bit 31 of the Configuration
Address register is set.
2OverviewChapter 1
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Function 1 SpaceThe configuration registers that control the memory interface’s
Programmable Delay Lines (PDLs) and I/O drive strengths are
mapped to device 0: function 1 in the host bridge. This
configuration space is disabled by default and requires a write
to the PCI Control register’s Func1_En (Dev 0:F0:0x4C, bit 0).
The intent of this separate configuration space is that it is
configured at initial power-on, subsequently disabled, and
essentially protected from further writes.
Note that the AMD-761 system controller does not report as
a multifunction device (bit 7 is not set in the Header_Type
field in the PCI Latency Timer and Header Type register in
Dev 0:F0:0x0C).
Reads to the PCI header that normally occupies offsets 00h–
3Fh return all 1s—that is, the normal PCI header registers
are not implemented.
Memory-Mapped
BARs
Five DWORD registers are accessed by the AMD-761 system
controller AGP miniport driver as memory-mapped space. This
space is defined by the Base Address 1: GART MemoryMapped Register Base (Dev 0:F0:0x14), which provides address
bits [31:12] of the memory-mapped space. Note that this space
is defined as a 4-Kbyte region, hence the lower address bits
[11:4] are 0s.
This register must be properly programmed by BIOS to allow
the driver to access the memory-mapped space.
Memory HolesLegacy memory holes are decoded in the normal region of main
memory from 640 Kbyte to 1 Mbyte. The AMD-761 system
controller does not allow PCI masters to access DRAM in this
region unless the EV6_Mode bit is set in the PCI Arbitration
Control Register. See “Bit Definitions PCI Arbitration Control
(Dev0:F0:0x84)” on page 71.
AGP Override Bits
for 4X Rate
and Fast Writes
The AGP Status register (Dev 0:F0:0xA4) reports the AMD-761
system controller’s capability to support AGP fast writes and
the AGP-4X rate. The operating system normally reads these
bits along with the same bits in the AGP card’s status register,
and uses this information to configure the AGP Command
register (Dev 0:F0:0xA8) in the AMD-761 system controller and
the AGP card.
Chapter 1Overview3
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
The AMD-761 system controller provides BIOS the ability to
override the reporting of fast write and 4X rate support. This
override function is accomplished through a write to a separate
register, which is required because the AGP Status register is
specified as read-only in the AGP specification.
Refer to Section 6.2 on page 208 for details of this
implementation.
Interrupt Pin Control
R/W Attributes
Silicon RevisionsThe reader is advised to read the AMD-761™ System Controller
The Int_Pin field in the AGP/PCI Interrupt and Bridge Control
register (Dev 1:F0:0x3C) is read-only by default and initializes
to all 0s. If the BIOS is required to initialize this field to
another value, it must first change this field to R/W by setting
the Int_Pin_Cntl bit in the Miscellaneous Device 1 Control
register (Dev 1:F0:0x40).
The AMD-761 system controller does not use the Int_Pin field
internally, the register is provided for software compatibility only.
Revision Guide, order# 23613, for the most current information
for the version of silicon being used. The silicon revision is
available by reading the PCI revision ID and Class Code
register in Dev 0:F0:0x08.
1.1.3Power-On Reset Initialization
All of the AMD-761 system controller’s configuration registers
must be initialized by BIOS after initial power-on, paying especially
close attention to the registers that are not initialized to a known
value.
The AMD-761 system controller is reset when the
Southbridge’s PCIRST# pin is asserted, which occurs when
transitioning from the Mechanical Off, S5, S4, or S3 sleep
states.
To accommodate support of the Advanced Configuration and
Power Interface (ACPI) S3 (suspend to RAM) power
management state, the registers listed in Table 1 on page 5 are
not initialized to a known state after reset (RESET# asserted),
and they must be initialized by BIOS after initial power-on for
proper operation. These registers retain the value programmed
by BIOS after subsequent assertions of the RESET# pin when
transitioning to and from the S3 sleep state.
4OverviewChapter 1
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Table 1.AMD-761™ System Controller Configuration Register Bits Unknown at RESET#
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Table 1.AMD-761™ System Controller Configuration Register Bits Unknown at RESET# (Continued)
Register NameOffsetBit NameBit(s)
SW_Recal[7]
Use_Act_Dly[6]
DDR PDL Calibration ControlDev 0:F1:0x40
Dev 0:F1:0x44
DDR PDL Configuration 0–17
DDR DQS/MDAT Pad ConfigurationDev 0:F1:0x8C
DDR CLK/CS Pad ConfigurationDev 0:F1:0x90
DDR CMDB/CMDA Pad
Configuration
through
Dev 0:F1:0x88
Dev 0:F1:0x94
Auto_Cal_En[5]
Act_Dly_Inh[4]
Auto_Cal_Period[1:0]
Clk_Dly[31:24]
SW_Cal_Dly[23:16]
Cal_Dly[15:8]
Act_Dly[7:0]
PSlewMDAT[29:27]
NSlewMDAT[26:24]
PDrvMDAT[19:18]
NDrvMDAT[17:16]
PSlewDQS[13:11]
NSlewDQS[10:8]
PDrvDQS[3:2]
NDrvDQS[1:0]
PSlewCLK[29:27]
NSlewCLK[26:24]
PDrvCLK[19:18]
NDrvCLK[17:16]
PSlewCS[13:11]
NSlewCS[10:8]
PDrvCS[3:2]
NDrvCS[1:0]
PSlewCMDB[29:27]
NSlewCMDB[26:24]
PDrvCMDB[19:18]
NDrvCMDB[17:16]
PSlewCMDA[13:11]
NSlewCMDA[10:8]
PDrvCMDA[3:2]
NDrvCMDA[1:0]
6OverviewChapter 1
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Table 1.AMD-761™ System Controller Configuration Register Bits Unknown at RESET# (Continued)
Register NameOffsetBit NameBit(s)
PSlewMAB[29:27]
NSlewMAB[26:24]
PDrvMAB[19:18]
DDR MAB/MAA Pad ConfigurationDev 0:F1:0x98
NDrvMAB[17:16]
PSlewMAA[13:11]
NSlewMAA[10:8]
PDrvMAA[3:2]
NDrvMAA[1:0]
Refer to Section 7 on page 211 for suggested values for these
configuration registers.
1.1.4Programming Reserved Bits
The AMD-761 system controller has many bits that are
specified as reserved and which may be used in future silicon
revisions. BIOS must always write a 0 to these bits and not
depend on the value read back.
1.1.5Power Management Considerations
There are several requirements for BIOS initialization of the
AMD-761 system controller’s configuration register when
supporting power management. Refer to Section 4 on page 185
for further details of these requirements.
For any system enabling the S3 state, a number of core logic
PCI configuration registers and processor MSRs must be saved
or restored prior to suspending or restoring S3. Also, certain
hidden bits must be unmasked. These requirements apply to all
platforms regardless of segment and whether or not AMD
PowerNow!™ is used.
Chapter 1Overview7
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Table 2 provides recommendations for settings in the
AMD Athlon processor System Configuration register in
systems that utilize the AMD-761 system controller.
Table 2.Recommended Settings for AMD Athlon™ Processor SYSCFG
Register
Bit FieldName
[22]EvictEn0
[17]SysUcLockEn0
[16]ChxToDirtyDis0
[13]SysFillValIsD10
[11]ClVicBlkEn0
SetDirtyEnE0There are three set-to-dirty enables: Set-
SetDirtyEnO0
[10:8]
SetDirtyEnS0
BIOS
Setting
Comments
An Evict command, when set, is sent as
part of an INVD instruction. The Evict
command has no function in the
AMD-761™ system controller.
A LockToggle command, when set, is sent as
part of a LOCK instruction prefix and certain
other instructions. LockToggle has no
function in the AMD-761 system controller.
The AMD Athlon™ processor and the
AMD-761 system controller support
Change-To-Dirty commands.
ClVicBlkEn, when set, causes all evicted
clean blocks to cause the CleanVictimBlk
system interface command. This setting
has no function with the AMD-761 system
controller.
DirtyEnE, SetDirtyEnO, and SetDirtyEnS. If
a given enable is set and a cache block
must make a transition from E-to-M, O-toM, or S-to-M, then the AMD Athlon processor performs the action indicated by the
setting of the ChxToDirtyDis field. However, if a given enable is cleared, the processor takes no externally visible action
when the desired transition is performed.
Change to dirty commands are not needed
by the AMD-761 system controller.
8OverviewChapter 1
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
2AMD-761™ System Controller
Programmer’s Interface
2.1Overview
The AMD-760™ chipset supports both x86 and Alpha™
processors that conform to the Socket2000 bus specification.
Both processors share a compatible view of system memory and
peripherals. Legacy x86 (IBM PC-AT) memory mappings are
implemented by x86 processors (AMD Athlon™ processor) as
shown in Figure 1.
AMD Athlon™
Processor Family
x86 µProcessor
PC Memory
View
Mapping Logic
Socket2000
Northbridge
AMD-761™ System Controller
PCI
Southbridge
AMD-766™ Peripheral Bus
Controller
AMD Athlon
Processor Family
Alpha µProcessor
Conventional
Memory
View
Same view of the system
Socket2000
Northbridge
AMD-761 System Controller
PCI
Southbridge
AMD-766 Peripheral Bus Controller
Figure 1.AMD Athlon™ Processor Family Address Mapping
Chapter 2AMD-761™ System Controller Programmer’s Interface9
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
2.2Address Map
Table 3 shows the address map implemented by the AMD-761™
system controller.
Table 3. AMD-761™ System Controller Socket2000 Memory Map
Address Space Start Address Space EndName/CommandDescription
SysAddOut MS B =0
&
1 FF000 0000
SysAddOut MS B =0
&
1 FE00 0000
SysAddOut MS B =0
&
1 FC00 0000
SysAddOut MS B =0
&
1 F800 0000
SysAddOut MS B =0
&
1 0000 0000
SysAddOut MS B =0
&
0 0000 0000
SysAddOut MS B =1
&
0 0000 0000
SysAddOut MS B =1
&
0 0000 0000
SysAddOut MS B =1
&
0 FF000 0000
SysAddOut MS B =0
&
0 0000 0000
SysAddOut MSB
=0 &
3 FFFF FFFF
SysAddOut MSB
=0 &
1 FEFF FFFF
SysAddOut MSB
=0 &
1 FDFF FFFF
SysAddOut MSB
=0 &
1 FBFF FFFF
SysAddOut MSB
=0 &
1 F7FF FFFF
SysAddOut MSB
=0 &
0 FFFF FFFF
SysAddOut MSB
=1 &
3 FFFF FFFF
SysAddOut MSB
=1 &
3 FFFF FFFF
SysAddOut MSB
=1 &
3 FFFF FFFF
SysAddOut MSB
= 0 &
3 FFFF FFFF
Reserved
(Masked)
PCI Configuration
Space
(Masked)
PCI I/O Space
(Masked)
PCI IACK/Special
Cycle Generation
(Masked)
Reserved
(Masked)
PCI Memory Space
(Masked)
Normal Memory
(Masked Writes)
Reserved
(Masked Reads)
Reserved
(Blocks)
Normal Memory
(Blocks)
May be used by the Northbridge for other
purposes (used for EV6 Northbridges).
This space is used to create PCI configuration cycles
using WrBytes, WrLWs, RdBytes, and RdLWs
commands only. See Section 2.2.3 on page 15.
This space is used to create PCI I/O cycles using only
WrBytesWrLWs, RdBytes and RdLWs commands.
WrLWs commands to this space are used to create
PCI special cycles. The lower 16 bits of the data is
passed on to the PCI bus as both the address and
data with the special cycle PCI command. See
Section 2.2.1 on page 12 for all special cycles
generated by the AMD Athlon™ processor.
RdBytes commands to this space are used to
create PCI IACK. The lower 16 bits of these
addresses are passed on unmodified to the PCI
with the IACK PCI command. See Section 2.2.2 on
page 15.
May be used by the Northbridge for other
purposes (used for EV6 Northbridges).
The lower 32 bits of these addresses are
forwarded unmodified to the PCI. Accessed only
with Wr/RdBytes, Wr/RdLWs, Wr/RdQWs. The
AMD-761™ system controller generates low-order
address bit as required from the AMD Athlon
processor system bus MASK field.
DRAM, accessed only with masked write
commands WrBytes, WrLWs, WrQWs.
The AMD-761 system controller does not support
masked reads to this address space.
May be used by the Northbridge for other
purposes (used for EV6 Northbridges).
DRAM, accessed with read and write block
commands. Note that the AMD-761 system
controller only uses 32 address bits internally and
the address space wraps. Address 1 0000 0000 is
treated the same as 0 0000 0000.
10AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
For reference, the x86 view of memory from the perspective of
the AMD Athlon processor and the mapping to the Socket2000
memory map is shown in Figure 2.
Note: Not to scale.
I/O Space
CF8, CFC
x86 In and Out Address Space
(BAR0)
TOM
APIC Registers
PCI Memory
Reserved
AGP Virtual
Reserved
Extended
Memory
BIOS
VGA
GART
640–1-Mbyte addresses are sent to PCI
or DRAM as a function of AMD Athlon
processor MSRs.
Reserved
PCI Config
PCI I/O
PCI IACK/Special
PCI Memory
DRAM
TM
DOS Memory
x86 Memory Address Space
Socket2000 Address Space
Figure 2.AMD Athlon™ Processor Family x86 Processor Address Mapping
Chapter 2AMD-761™ System Controller Programmer’s Interface11
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
2.2.1Special Cycles
Special cycles generated by the AMD Athlon processor are
forwarded down to the PCI bus with specific values in the
address and data fields of the PCI special cycle command.
Table 4 defines these values. The AMD Athlon processor
generates AMD Athlon processor system bus WrLWs
commands to a single address (1 F8000 0000) with the data
field specifying the desired special cycle. The AMD-761 system
controller maps the AMD Athlon processor system bus data
value onto the PCI for both address and data phases of the
Special Cycle Transaction.
.
Table 4.AMD Athlon™ Processor Special Cycle Encodings
PCI Address and
Special Cycle
SHUTDOWN0000 0000
HALT0000 0001
Data Field
Contents
Processor Description
The AMD Athlon™ processor generates in response to a shutdown condition. AMD Athlon processor system
bus WrLWs command: SysAddOut:
MSB=0 & [33:0] = 1 F8000 0000
SysDatOut: [31:0] = 0000 0000
The AMD Athlon processor generates
in response to executing a HALT
instruction: WrLWs command:
SysAddOut: MSB=0 & [33:0] = 1
F8000 0000
SysDatOut: [31:0] = 0000 0001
Northbridge and Southbridge
Description
The AMD-761™ system controller
forwards onto the PCI bus the PCI
special cycle command: AD[31:0] =
0000 0000 (address and data).
AMD-766™ peripheral bus controllers
asserts INIT to processor.
The AMD-761 system controller waits
for all queues to memory to be empty
(assumes the PCI grant enable register
is clear, “Dev0:F0:0x84” on page 70).
AMD-761 system controller optionally
(via “Dev0:F0:0x60” on page 61)
initiates an AMD Athlon system bus
disconnect to this specific CPU. The
AMD-761 system controller forwards
onto the PCI bus (after the optional
AMD Athlon system bus disconnect).
PCI special cycle command: AD[31:0] =
0000 0001 (address and data)
AMD-766 peripheral bus controllers
ignores.
The AMD-761 system controller
forwards onto the PCI bus, PCI special
cycle command: AD[31:0] = 0001 0002
(address and data).
AMD-766 peripheral bus controllers
ignores.
WB
INVALIDATE
0001 0002
The AMD Athlon processor generates
in response to executing a WBINV
instruction WrLWs command:
SysAddOut: MSB=0 & [33:0] = 1
F8000 0000
SysDatOut: [31:0] = 0001 0002
12AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Table 4.AMD Athlon™ Processor Special Cycle Encodings (Continued)
PCI Address and
Special Cycle
INVALIDATE0002 0002
FLUSHACK0003 0002
CONNECT0004 0002
Data Field
Contents
Processor Description
The AMD Athlon™ processor generates in response to executing an INVD
instruction WrLWs command:
SysAddOut: MSB=0 & [33:0] = 1
F8000 0000
SysDatOut: [31:0] = 0002 0002
The AMD Athlon processor generates
in response to assertion of the FLUSH
pin after all caches have been flushed
to memory. WrLWs command:
SysAddOut: MSB=0 & [33:0] = 1
F8000 0000
SysDatOut: [31:0] = 0003 0002
The AMD Athlon processor generates
CONNECT as the first cycle after
STOP/GRANT or HALT AMD Athlon
system bus special cycle regardless of
whether or not a disconnect is
achieved (or even attempted).
The AMD-761 system controller
forward onto the PCI bus, special cycle
command: AD[31: 0] = 0005 0002.
The AMD-761 system controller
forwards to the PCI bus.
Command: AD[31: 0] = 0006 0002.
Chapter 2AMD-761™ System Controller Programmer’s Interface13
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Table 4.AMD Athlon™ Processor Special Cycle Encodings (Continued)
PCI Address and
Special Cycle
STOP/GRANT0012 0002
Data Field
Contents
Processor Description
AMD Athlon™ processor generates in
response to assertion of the STPCLK.
WrLWs command: SysAddOut:
MSB=0 & [33:0] = 1 F8000 0000
SysDatOut: [31:0] = 0012 0002
Northbridge and Southbridge
Description
The AMD-761™ system controller waits
for all queues to memory to be empty
(assumes the PCI grant enable register
is clear, “Dev0:F0:0x84” on page 70).
The AMD-761 system controller system
controller optionally (via
“Dev0:F0:0x60” on page 61) initiates
an AMD Athlon processor system bus
disconnect to this specific processor.
The AMD-761 system controller
forwards onto the PCI bus (after the
optional system bus disconnect) PCI
special cycle command: AD[31:0] =
0012 0002 (address and data).
The AMD-766™ peripheral bus
controllers receives and enters the
appropriate power state. The
AMD-766 peripheral bus controllers
may then assert DCSTOP# to the
Northbridge to signal that it should
deassert CKE to DDR SDRAMs and
stop its internal clocks.
14AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
2.2.2IACK
In x86 compatible Socket2000 systems, APIC is used as the
interrupt controller. To fetch the appropriate vector during
IACK cycles, x86 processors are required to assert their APIC
ID (CPU ID) on bits [15:12] of the address field when reading
the IACK generation space. IACK return data flushes all PCI
and AGP/PCI write buffers to memory.
2.2.3PCI Configuration Accesses
In legacy x86 PC systems, PCI configuration cycles are
generated via an indirect method. A configuration address
register is defined at I/O address 0CF8 that allows software to
load a value that is asserted on the PCI address wires during
the next configuration read/write cycle. A configuration data
register is defined at I/O address 0CFC that allows software to
generate configuration read and write cycles on the PCI using
IN and OUT instructions. Data sent during OUT instructions to
the Configuration Data register is asserted on the PCI data
wires during the generated configuration write transaction.
Data received in response to a generated configuration read
transaction is returned to satisfy the IN from the Configuration
Data register.
In Socket2000 systems, PCI configuration cycles are generated
in one of two ways:
In EV6 Compatible mode, the x86 processor must detect IN
and OUT instructions that reference 0CF8 and 0CFC and
generate the appropriate, explicit RdBytes/Rd/LWs and
WrBytes/WrLWs Socket2000 commands to a 16-Mbyte
region as follows:
•When an OUT instruction is detected to 0CF8, the write
data is saved into a register and the instruction retired.
•When an IN/OUT instruction is detected to 0CFC, an
appropriate AMD Athlon system bus Rd/Wr transaction is
launched with the SysAdd Field[23:0] taken from the
register that saved the most recent write to 0CF8 (above).
In traditional mode, which the AMD-761 system controller
implements, IN and OUT instructions that reference 0CF8
and 0CFC are passed normally on to the AMD Athlon
processor system bus where the Northbridge generates the
appropriate PCI configuration access.
Chapter 2AMD-761™ System Controller Programmer’s Interface15
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
2.3Address Decoding
A consistent view of memory and PCI devices is enforced by
decoding logic in the AMD-761 system controller in the
AMD Athlon processor system bus and PCI interfaces.
2.3.1Socket2000 Address Decoding
The AMD-761 system controller must consider both the
AMD Athlon processor system bus SysAddOut field and the
command field when deciding what to do with a given
command. This AMD Athlon processor system bus decoding is
summarized as follows:
SysAddOut MSB = 0 and command is a block command,
DRAM is accessed:
•If SysAddOut [31:0] falls between Dev0:BAR0 and
Dev0:BAR0+Len, address is to AGP virtual address space
and needs to passed through the GART before
presentation to DRAM.
SysAddOut MSB = 1 and command is a masked write
command (WrQWs, WrLWs, WrBytes), DRAM is accessed:
•If SysAddOut [31:0] falls between Dev0:BAR0 and
Dev0:BAR0+Len, address is to AGP virtual address space
and needs to passed through the GART before
presentation to DRAM.
SysAddOut MSB = 0 and SysAddOut [35:32] = 0 and
command is a masked command, PCI memory-mapped I/O is
accessed:
•Using Dev0:F0:0x14, BAR1, send to the AMD-761 system
controller memory-mapped GART control registers (see
Section 2.5 on page 138).
•Memory range address decoding, send to either PCI or
AGP/PCI using address bits [31:0] based on the
following:
•Dev1:0x20, 0x24 (see “AGP/PCI Memory Limit and
Base (Dev1:0x20)” on page 131 and “AGP/PCI
Prefetchable Memory Limit and Base (Dev1:0x24)”
on page 133).
•Dev 0:F0:0x84 AGP VGA BIOS bits, see “Bit
Definitions PCI Arbitration Control (Dev0:F0:0x84)”
on page 71).
16AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
SysAddOut MSB = 0 and SysAddOut [35:24] = 1F8 and
command is RdBytes, an IACK special cycle is generated on
the primary PCI. SysAddOut[15:0] are asserted on PCI
AD[15:0] during this cycle. The data returned on the PCI is
returned to the processor.
SysAddOut MSB = 0 and SysAddOut [35:24] = 1F8 and
command is WrBytes, a PCI special cycle is generated on
the primary PCI. SysAddOut[15:0] are asserted on PCI
AD[15:0] during this cycle (address = data).
SysAddOut MSB = 0 and SysAddOut [35:24] = 1FC/1FD and
command is RdBytes or WrBytes, a PCI I/O command is
generated. SysAddOut[23:0] are asserted on PCI AD[23:0]
with the PCI I/O read or write command.
•Using Dev1:0x1C, I/O range address decoding, send to
either PCI or AGP/PCI.
Note: Low-order AMD Athlon processor system bus address bits, per
the AMD Athlon processor system bus specification,
SysAddOut only goes down to PA[3]. For mask operations, the
Mask[7:0] bits are encoded to logically create PA[2:0] in the
above.
2.3.2PCI/AGP Master Address Decoding
The PCI controllers in the AMD-761 system controller must
consider the received PCI/AGP address in conjunction with the
BAR registers and the memory configuration registers to route
the transaction. The AMD-761 system controller does not allow
PCI masters to access I/O regions or main memory from
640 Kbyte to 1 Mbyte (unless the EV6_Mode bit is set as
described in “Bit Definitions PCI Arbitration Control
(Dev0:F0:0x84)” on page 71). This decoding is summarized as
follows:
1.AD[31:0] is less than the physical top of memory (from the
memory controller), DRAM is accessed.
2.AD[31:0] is above the physical top of memory and it falls
between Dev0:BAR0 and Dev0:BAR0+Len, address is to
AGP virtual address space and needs to be passed through
the GART before presentation to DRAM.
Chapter 2AMD-761™ System Controller Programmer’s Interface17
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
3.Memory range address decoding, send to AGP/PCI using
address bits [31:0] based on the following (for writes only
from the primary PCI):
•Dev1:0x20, 0x24 (see “AGP/PCI Memory Limit and
Base (Dev1:0x20)” on page 131 and “AGP/PCI
Prefetchable Memory Limit and Base (Dev1:0x24)”
on page 133).
•Dev 0:F0:0x84 AGP VGA BIOS bits (see “Bit
Definitions PCI Arbitration Control (Dev0:F0:0x84)”
on page 71).
4.Else, the primary PCI is accessed (for writes only from the
AGP/PCI).
Note: GART Control register access. The AMD-761 system
controller does not allow access to the memory-mapped
GART control registers from either PCI or AGP/PCI masters.
2.4Configuration Registers
All functional registers in the AMD-761 system controller are
implemented as PCI configuration registers. The AMD-761
system controller implements a standard PCI hierarchy that
allows BIOS software to enumerate devices on the primary PCI,
the AGP port, and future interfaces. See the logical bus
hierarchy in Figure 3 on page 19.
Note that the AMD-761 system controller only responds to
function 0 and 1, device 0 and function 0, device 1. All other
configuration accesses return Fs. Function 1, device 0 accesses
are ignored unless enabled by the appropriate bit in the PCI
Control register (see “Dev0:F0:0x4C” on page 47).
18AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Processor
Host to PCI
Bridge
Device 0:F0/F1
PCI
PCI-to-PCI
Bridge
Device 1:F0
PCI-to-PCI
Bridge
Device 1:F1
Processor
(Future Interface)
Figure 3.AMD-761™ System Controller Logical Bus Hierarchy
2 Processor
System Only
PCI Devices
AGP
Southbridge
AGP
Master
Chapter 2AMD-761™ System Controller Programmer’s Interface19
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
2.4.1I/O Register Map
The AMD-761 system controller implements some I/O registers
(accessed by processor I/O instructions). These registers, as
presented in Table 5, are the Configuration Address and
Configuration Data registers as specified in PCI Local BusSpecification, Revision 2.2.
Table 5.I/O Register Map
Register
Configuration Address
Configuration Data
AMD Athlon™ Processor System Bus
Address
SysAddOut MSB =0 &
1 FC000 0CF8
SysAddOut MSB =0 &
1 FC000 0CFC
Reference
“I/O:0CF8” on page 21 and “I/O:0CF8” on
page 23
“I/O:0CFC” on page 25
20AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Configuration Address Register Type 0I/O:0CF8
3130292827262524
BitConfig_EnReserved
Reset00000000
R/WR/WR
2322212019181716
BitPCI_Bus_Num
Reset00000000
R/WR/W
15141312111098
BitDev_NumFunc_Num
Reset00000000
R/WR/W
76543210
BitReg_NumReserved
Reset00000000
R/WR/WR
Register Description
When writes to the configuration address register have [23:16] == 0h00, a Type 0 configuration access is specified.
Chapter 2AMD-761™ System Controller Programmer’s Interface21
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit DefinitionsConfiguration Address Register Type 0 (I/O:0CF8)
BitNameFunction
31Config_EnConfiguration Enable
0 = PCI configuration cycles are not generated.
1 = Accesses to the Configuration Data and Address registers are converted to
configuration cycles on the PCI.
30–24ReservedReserved
23—16PCI_Bus_NumPCI Bus Number
This bit field defines which PCI bus in the system is referenced with this address. The
AMD-761™ system controller logically implements two PCI buses. The main PCI bus
normally enumerates as bus 0 and the AGP bus enumerates as bus 1.
15—11Dev_NumDevice Number
This bit field defines which device is accessed in the system. Devices are assigned numbers
in a system by tying the device IDSEL wire to a specific PCI AD wire. The AMD-761 system
controller decodes this field and asserts the appropriate AD wire during the address phase
to select the defined device. In the AMD-761 system controller there are two “hard-wired”
device numbers for the host to PCI bridge (0b00000) and P2P bridge (0b00001).
10—8Func_NumFunction Number
This bit field defines which function is accessed in a given device. The AMD-761 system
controller responds to function 0 only (0b000) by default. Function 1 (DDR PDL registers)
can be enabled via writing to the PCI Control register (Dev 0:F0:0x4C) as described on
page 47.
7—2Reg_NumRegister Number
This bit field defines which specific PCI register is accessed in the device and function
specified above. The register numbers for the AMD-761 system controller device 0 are
listed in Table 6, “Device 0, Function 0 Configuration Register Map,” on page 27. The
register numbers for the AMD-761 device 1 are listed in Table 15, “Device 1 Configuration
Register Map,” on page 117.
1—0ReservedReserved
Programming Notes
22AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Configuration Address Register Type 1I/O:0CF8
3130292827262524
BitConfig_EnReserved
Reset00000000
R/WR/WR
2322212019181716
BitPCI_Bus_Num
Reset00000000
R/WR/W
15141312111098
BitDev_NumFunc_Num
Reset00000000
R/WR/W
76543210
BitReg_NumReserved
Reset00000000
R/WR/WR
Register Description
When writes to the configuration address register have [23:16] ~= 0h00, a type 1 configuration access is specified.
Chapter 2AMD-761™ System Controller Programmer’s Interface23
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit DefinitionsConfiguration Address Register Type 1 (I/O:0CF8)
BitNameFunction
31Config_EnConfiguration Enable
0 = PCI configuration cycles are not generated.
1 = Accesses to the Configuration Data and Address registers are converted to
configuration cycles on the PCI.
30–24ReservedReserved
23—16PCI_Bus_NumPCI Bus Number
This bit field defines which PCI bus in the system is referenced with this address. The
AMD-761™ system controller logically implements two PCI buses. The main PCI bus
normally enumerates as bus 0 and the AGP bus enumerates as bus 1.
15—11Dev_NumDevice Number
This bit field defines which device is accessed in the system on the target PCI bus. This field
is passed on directly to the AD wires undecoded.
10—8Func_NumFunction Number
This bit field defines which function is accessed in a given device. This field is passed on
directly to the AD wires undecoded.
7—2Reg_NumRegister Number
This bit field defines which specific PCI register is accessed in the device and function
specified above.
1—0ReservedReserved
Programming Notes
24AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Configuration Data I/O:0CFC
3130292827262524
BitConfig_Data
Resetxxxxxxxx
R/WR/W
2322212019181716
BitConfig_Data
Resetxxxxxxxx
R/WR/W
15141312111098
BitConfig_Data
Resetxxxxxxxx
R/WR/W
76543210
BitConfig_Data
Resetxxxxxxxx
R/WR/W
Register Description
Bit DefinitionsConfiguration Data (I/O:0CFC)
BitNameFunction
31—0Config_DataConfiguration Data
This bit field is used to access the PCI configuration register specified in the Configuration
Address register above.
Programming Notes
Chapter 2AMD-761™ System Controller Programmer’s Interface25
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
2.4.2Configuration Register Access
The AMD-761 system controller implements most registers as
PCI configuration registers. The x86 software executes IN and
OUT instructions to I/O addresses of 0CF8 and 0CFC to access
all configuration registers. These are translated by the
AMD Athlon™ processor into AMD Athlon processor system bus
RdBytes and WrBytes commands with the lower 24 bits of the
address field containing the logical contents of the ConfigAddr
register (I/O address 0CF8). The format of this register is shown
in “I/O:0CF8” on page 21 and “I/O:0CF8” on page 23.
Configuration accesses in the AMD-761 system controller
conform to the following rules:
The AMD-761 system controller is defined to be function 0
and 1, device 0; and function 0, device 1. The IDSEL pin of
all external PCI devices must be wired to 1 of AD[31:13] as
logically [12:11] are assigned to device 0, 1 (AMD-761
system controller).
Function 1, device 0 configuration space contains only the
DDR Programmable Delay Line (PDL) registers. This space
is enabled only when the appropriate bit is set in the PCI
Control register (see “Dev0:F0:0x4C” on page 47). Accesses
to the normal reserved PCI space of function 1 yields all 1s.
Accesses to function 1 are ignored when function 1 is not
enabled.
Device 0 accesses correspond to the host to PCI bridge
registers defined in Section 2.4.3 on page 27.
Device 1 accesses correspond to the PCI-to-PCI bridge
registers defined in Section 2.4.5 on page 117.
Access can be byte, word or DWord in length and must be
naturally aligned.
Northbridges are required to create type 0 and type 1 accesses
as follows:
If SysAdd[23:16] = 0 (Bus# = 2'h00), a type 0 config cycle is
generated and PCI AD[1:0] = 2'b00. Device#, SysAdd[15:11]
is decoded and asserted on PCI AD[31:11] for IDSEL.
If SysAdd[23:16] != 0 (Bus# != 2'h00), a type 1 config cycle is
generated and PCI AD[1:0] = 2'b01. Bus# and Device# fields
are passed onto the PCI directly with no decoding. PCI
AD[31:24] = 2'h00.
26AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
2.4.3Device 0: PCI Configuration Registers
In Table 6, the column entitled Offset consists of the register
number specified in the Configuration Address register bits
[7:2] concatenated with 0b00 to form a simple 1-byte offset.
Reserved configuration registers return 0 when read.
Table 6.Device 0, Function 0 Configuration Register Map
Host to PCI Bridge (Device 0, Function 0)OffsetReference
Device IDVendor ID0x00–0x03
StatusCommand0x04–0x07
Class Code = 0x060000Revision ID0x08–0x0B
ReservedHeader TypeLatency TimerReserved0x0C–0x0F
BAR0 - AGP Virtual Address Space0x10–0x13
BAR1 - GART Memory-Mapped Control Registers Pointer0x14–0x17
Reserved0x18–0x1B
Reserved0x1C–0x33
Reserved
Reserved0x38–0x43
Extended BIU Control0x44–0x53
ECC Mode/Status0x48–0x4B
Capabilities
Pointer: A0
0x34–0x37
“Dev0:F0:0x00”
on page 30
“Dev0:F0:0x04”
on page 32
“Dev0:F0:0x08”
on page 35
“Dev0:F0:0x0C”
on page 36
“Dev0:F0:0x10”
on page 37
“Dev0:F0:0x14”
on page 39
“Dev0:F0:0x34”
on page 41
“Dev0:F0:0x44”
on page 42
“Dev0:F0:0x48”
on page 44
PCI Control0x4C–0x4F
AMD Athlon™ Processor System Bus Dynamic Compensation0x50–0x53
DRAM Timing 0x54–0x57
DRAM Mode/Status0x58–0x5B
Reserved0x5C–0x5F
BIU0 Status/Control0x60–0x63
BIU0 SIP0x64–0x67
“Dev0:F0:0x4C”
on page 47
“Dev0:F0:0x50”
on page 49
“Dev0:F0:0x54”
on page 51
“Dev0:F0:0x58”
on page 56
“Dev0:F0:0x60”
on page 61
“Dev0:F0:0x64”
on page 64
Chapter 2AMD-761™ System Controller Programmer’s Interface27
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Table 6.Device 0, Function 0 Configuration Register Map (Continued)
Host to PCI Bridge (Device 0, Function 0)OffsetReference
Reserved
Reserved
Memory Status/Control0x70–0x73
Reserved0x74–0x77
Reserved0x78–0x7B
Reserved0x7C–0x7F
ReservedBoot ProcWHAMI0x80–0x83
PCI Arbitration Control0x84–0x87
Configuration Status0x88–0x8B
Reserved0x8C–0x8F
Reserved0x90–0x93
Reserved0x94–0x97
Reserved0x98–0x9B
0x68–0x6B
0x6C–0x6F
“Dev0:F0:0x70”
on page 66
“Dev0:F0:0x80”
on page 68
“Dev0:F0:0x84”
on page 70
“Dev0:F0:0x88”
on page 74
PCI Top of MemoryReserved0x9C–0x9F
AGP Capability Identifier0xA0–0xA3
AGP Status0xA4–0xA7
AGP Command0xA8–0xAB
AGP Virtual Address Space Size0xAC–0xAF
GART/AGP Mode Control0xB0–0xB3
AGP 4X Dynamic Compensation0xB4–0xB7
AGP Compensation Bypass0xB8–0xBF
Memory Base Address 00xC0–0xC3
Memory Base Address 10xC4–0xC7
“Dev0:F0:0x9C”
on page 77
“Dev0:F0:0xA0”
on page 79
“Dev0:F0:0xA4”
on page 80
“Dev0:F0:0xA8”
on page 82
“Dev0:F0:0xAC”
on page 84
“Dev0:F0:0xB0”
on page 86
“Dev0:F0:0xB4”
on page 88
“Dev0:F0:0xB8”
on page 91
“Dev0:F0:0xC0”
on page 95
“Dev0:F0:0xC4”
on page 95
28AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Table 6.Device 0, Function 0 Configuration Register Map (Continued)
Host to PCI Bridge (Device 0, Function 0)OffsetReference
Memory Base Address 20xC8–0xCB
Memory Base Address 30xCC–0xCF
Memory Base Address 40xD0–0xD3
Memory Base Address 50xD4–0xD7
Memory Base Address 60xD8–0xDB
Memory Base Address 70xDC–0xDF
Reserved0xE0–0xFF
“Dev0:F0:0xC8”
on page 95
“Dev0:F0:0xCC”
on page 95
“Dev0:F0:0xD0”
on page 95
“Dev0:F0:0xD4”
on page 95
“Dev0:F0:0xD8”
on page 95
“Dev0:F0:0xDC”
on page 95
Chapter 2AMD-761™ System Controller Programmer’s Interface29
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
PCI ID Dev0:F0:0x00
3130292827262524
BitDev_ID
Reset01110000
R/WR
2322212019181716
BitDev_ID
Reset00001110
R/WR
15141312111098
BitVend_ID
Reset00010000
R/WR
76543210
BitVend_ID
Reset00100010
R/WR
Register Description
30AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsPCI ID (Dev0:F0:0x00)
BitNameFunction
31 —16D ev _I DDevice Identifier
This 16-bit field is assigned by the device manufacturer and identifies the type of device.
The current Northbridge device ID assignments are:
AMD-751™ system controller — AMD Athlon processor, 1P SDRAM-100
0x7006 host to PCI bridge
0x7007 PCI-to-PCI bridge (1X/2X AGP)
15—0Vend_IDVendor Identifier
This 16-bit field identifies the manufacturer of the device.
Programming Notes
Chapter 2AMD-761™ System Controller Programmer’s Interface31
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
PCI Command and Status Dev0:F0:0x04
3130292827262524
BitPERR_RcvSERR_SentMas_ABRTTrgt_ABRT
Reset00000010
R/WRR/W1CR/W1CR/W1CRRR
2322212019181716
BitFast_B2BUDF66MCap_LstReserved
Reset00010000
R/WR
15141312111098
BitReservedFBACKSERR
Reset00000000
R/WRR/W
76543210
BitSTEPPERRVGAMWINVSCYCMSTRMEMI/O
Reset00000100
R/WRR/WR
Trg t_ ABRT
_ Signaled
DEVSEL_TimingData_PERR
Register Description
32AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsPCI Command and Status (Dev0:F0:0x04)
BitNameFunction
31PERR _RcvDetected Parity Error
This bit is always 0 because the AMD-761™ system controller does not support data
parity checking.
30SERR_SentSignaled System Error
This bit is set whenever the AMD-761 system controller generates a system error and
asserts the SERR# line (ECC, GART error). This bit is cleared by writing a 1. Refer to Table 7
on page 34 for details about SERR# assertion and status.
29Mas_ ABRTReceived Master Abort
This bit is set whenever a CPU to PCI transaction (except for a special cycle) is terminated
due to a master abort. This bit is cleared by writing a 1.
28Trgt_ABRTReceived Target Abort
This bit is set whenever a CPU to PCI transaction (except for a special cycle) is terminated
due to a target abort. This bit is cleared by writing a 1.
27Trgt_ABRT_
Signaled
26—25DEVSEL_TimingDEVSEL# Timing
24Data_PERRData Parity Error
23Fast B2BFast Back-to-Back Capable
22UDFUser-Definable Features
2166M66-MHz Capable
20Cap_LstCapabilities List
19–10ReservedReserved
Signaled Target Abort
This bit is always 0 because the AMD-761 system controller does not terminate
transactions with target aborts.
This bit field defines the timing of DEVSEL# on the AMD-761 system controller. The
AMD-761 system controller supports medium DEVSEL# timing.
This bit is always 0 because the AMD-761 system controller does not report parity errors.
This bit is always 0, indicating that the AMD-761 system controller as a target is not
capable of accepting fast back-to-back transactions when the transactions are not to the
same agent.
This bit is always 0, indicating that UDF is not supported on the AMD-761 system
controller.
This bit is always 0, indicating that the AMD-761 system controller is not 66-MHz capable.
This bit is set to indicate that this device’s configuration space supports a capabilities list.
9FBACKFast Back-to-Back to Different Devices Enable
This bit is always 0, because the AMD-761 system controller does not allow generation of
fast back-to-back transactions to different agents.
8SERRSystem Error Enable
0 = SERR# driver disabled
1 = SERR# driver enabled
Refer to Table 7 for details about SERR# assertion and status.
Chapter 2AMD-761™ System Controller Programmer’s Interface33
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit Definitions (Continued)PCI Command and Status (Dev0:F0:0x04)
BitNameFunction
7STEPAddress Stepping
This bit is always 0 because the AMD-761™ system controller does not perform
address stepping.
6PERRParity Error Response
This bit is always 0 because the AMD-761 system controller does not report data parity errors.
5VGAVGA Palette Snoop Enable
This bit is always 0, indicating that the AMD-761 system controller does not snoop the VGA
palette address range.
4MWINVMemory Write and Invalidate Enable
This bit is always 0 because the AMD-761 system controller does not generate memory
write and invalidate commands.
3SCYCSpecial Cycle
This bit is always 0 because the AMD-761 system controller ignores PCI special cycles.
2MSTRBus Master Enable
This bit is always set, indicating that the AMD-761 system controller is allowed to act as a bus
master on the PCI bus.
1MEMMemory Access Enable
0 = PCI memory accesses ignored
1 = PCI memory accesses responded to
0I/OI/O Access Enable
This bit is always 0 because the AMD-761 system controller does not respond to I/O cycles
on the PCI bus.
Programming Notes
Table 7 lists the controls required to enable the assertion of the AMD-761 SERR# pin and the various status bits that can
be read to determine when the SERR# and A_SERR# pins have been asserted.
Table 7.AMD-761™ System Controller SERR# Assertion Control and Status Bits
SERR# Source
GART or ECC error
A_SERR# assertion on AGP
interface forwarded to SERR# pin
SERR# Pin
Assertion Control
Enabled by bit 8, Dev 0:F0:0x04, PCI
Status/Command register.
Enabled by bit 8, Dev 1:F0:0x04, PCI
Status/Command register, and bit 17,
Dev 1:F0:0x3C, AGP/PCI Interrupt and
Bridge Control.
Read bit 30, Dev 0:F0:0x04, PCI
Status/Command register.
Read bit 30, Dev 1:F0:0x1C, AGP/PCI
Status, I/O and Base Limit, and bit 30,
Dev 1:F0:0x04, AGP/PCI
Command/Status.
Signalled System
Error Status Bit
34AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
PCI Revision ID and Class Code Dev0:F0:0x08
3130292827262524
BitClass_Code
Reset00000110
R/WR
2322212019181716
BitSub-Class_Code
Reset00000000
R/WR
15141312111098
BitProg_I/F
Reset00000000
R/WR
76543210
BitRev_ID
Reset00010000
R/WR
(See Programming Notes below.)
Register Description
Bit DefinitionsPCI Revision ID and Class Code (Dev0:F0:0x08)
BitNameFunction
31–24Class_CodeClass Code
Indicates a bridge device.
23–16Sub-
Class_Code
Sub-Class Code
Indicates a Host/PCI bridge.
15–8Prog_I/FProgram Interface
Indicates a Host/PCI bridge.
7–0Rev_IDRevision Identification
Identifies revision number of the device.
Programming Notes
Refer to the AMD-761™ System Controller Revision Guide, order# 23613, for details of the Rev_ID field for each silicon
revision.
Chapter 2AMD-761™ System Controller Programmer’s Interface35
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
PCI Latency Timer and Header Type Dev0:F0:0x0C
3130292827262524
BitReserved
Reset00000000
R/WR
2322212019181716
BitHeader_Type
Reset00000000
R/WR
15141312111098
BitLat_Timer
Reset00000000
R/WR/W
76543210
BitReserved
Reset00000000
R/WR
Register Description
Bit DefinitionsPCI Latency Timer and Header type (Dev0:F0:0x0C)
BitNameFunction
31–24ReservedReserved
23–16Header_TypeHeader Type
Bit 23 is always 0, indicating that the AMD-761™ system controller is a single function device.
Bits [22:16] are 0, indicating that Type 00 configuration space header format is supported.
15–8Lat_TimerLatency Timer
This bit field defines the minimum amount of time in PCI clock cycles that the bus master
can retain ownership of the bus. This action is mandatory for masters that are capable of
performing a burst consisting of more than two data phases.
7–0ReservedReserved
Programming Notes
36AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Base Address 0: AGP Virtual Address Space Dev0:F0:0x10
3130292827262524
BitBase_Addr_High
Reset00000000
R/WR/WR
2322212019181716
BitBase_Addr_Low
Reset00000000
R/WR
15141312111098
BitBase_Addr_Low
Reset00000000
R/WR
76543210
BitBase_Addr_LowPrefetchableTypeMemory
Reset00001000
R/WR
Base-
Addr_Low
Register Description
This register is used by system BIOS memory mapping software to allocate virtual address space for AGP.
Chapter 2AMD-761™ System Controller Programmer’s Interface37
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit DefinitionsBase Address 0: AGP Virtual Address Space (Dev0:F0:0x10)
BitNameFunction
31–25Base_Addr_HighBase Address High
This bit field forms the upper part of BAR0. This field is loaded by BIOS software. Note that
when the GART enable bit in the AGP Virtual Address Space Size register is 0 (see
“Dev0:F0:0xAC” on page 84), these bits always return 0s to indicate no address space
should be allocated to AGP. Note that a write to this register must occur before a read
returns 0s with the GART enable bit cleared.
This bit field corresponds to bits [3:1] of the AGP Virtual Address Space Size register. When
bits [3:1] of that register are set, the R/W attributes in bits [30:25] in this register are
automatically set. BIOS software writes all 1s to this BAR register and then reads back the
register to determine how much memory is required for AGP as follows:
31302928272625Memory
RWRWRWRWRWRWRW32 Mbytes
RWRWRWRWRWRWR64 Mbytes
RWRWRWRWRWRR128 Mbytes
RWRWRWRWRRR256 Mbytes
RWRWRWRRRR512 Mbytes
RWRWRRRRR1 Gbyte
RWRRRRRR2 Gbytes
24–4Base_Addr_LowBase Address Low
This bit field is hardwired to return 0s to indicate that the minimum allocated memory size
is 32 Mbytes.
3PrefetchablePrefetchable
This bit is hardwired to 1 to indicate that this range is prefetchable.
2–1TypeType
This bit field is hardwired to indicate that this base register is 32 bits wide and mapping
can be performed anywhere in the 32-bit address space.
0MemoryMemory
This bit is hardwired to 0 to indicate that this base address register maps into memory space.
Programming Notes
38AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Base Address 1: GART Memory-Mapped Register Base Dev0:F0:0x14
3130292827262524
BitBase_Addr_High
Reset00000000
R/WR/W
2322212019181716
BitBase_Addr_High
Reset00000000
R/WR/W
15141312111098
BitBase_Addr_HighBase_Addr_Low
Reset00000000
R/WR/WR
76543210
BitBase_Addr_LowPrefetchableTypeMemory
Reset00001000
R/WR
Register Description
This register provides the base address for the GART memory-mapped configuration register space (see “MemoryMapped Register Map” on page 140 for details).
Chapter 2AMD-761™ System Controller Programmer’s Interface39
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit DefinitionsBase Address 1: GART Memory-Mapped Register Base (Dev0:F0:0x14)
BitNameFunction
31–12Base_Addr_HighBase Address High
This bit field forms the upper part of BAR1. This field is loaded by BIOS software.
11–4Base_Addr_LowBase Address Low
This bit field is hardwired to return 0s to indicate that 4 Kbytes are allocated to GART
memory-mapped control registers and that the registers always reside in a 4-Kbyte
boundary per PCI Local Bus Specification, Revision 2.2.
3PrefetchablePrefetchable
This bit is hardwired to 1 to indicate that this range is prefetchable
2–1TypeType
This bit field is hardwired to indicate that this base register is 32 bits wide and mapping
can be performed anywhere in the 32-bit address space.
0MemoryMemory
This bit is hardwired to 0 to indicate that this base address register maps into memory space.
Programming Notes
40AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
AGP/PCI Capabilities Pointer Dev0:F0:0x34
3130292827262524
BitReserved
Reset00000000
R/WR
2322212019181716
BitReserved
Reset00000000
R/WR
15141312111098
BitReserved
Reset00000000
R/WR
76543210
BitCAP_PTR
Reset10100000
R/WR
Register Description
Bit DefinitionsAGP/PCI Capabilities Pointer (Dev0:0x34)
BitNameFunction
31–8Reser ve dReserved
7–0CAP_PTRCapabilities Pointer
This field contains a byte offset into a device’s configuration space containing the first item
in the capabilities list. The first item in the capabilities list is the AGP function.
Note that when the AGP valid bit in the PCI-to-PCI bridge virtual address space register is
set to invalid, this capabilities pointer is set by the chipset to point to the next item in the
linked list. If no next item exists, then it is set to null.
Programming Notes
Chapter 2AMD-761™ System Controller Programmer’s Interface41
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Extended BIU ControlDev0:F0:0x44
3130292827262524
BitReserved
Reset00000000
R/WR
2322212019181716
BitReservedReserved
Reset00000000
R/WR
15141312111098
BitReservedReservedP0_WrDataDly
Reset000SIP Stream
R/WR
76543210
BitReservedReservedReservedReservedP0_2BitPF
Reset00000000
R/WRRRR/WR
Register Description
This register provides controls for the processor interface, in addition to the BIU Control register at Dev 0:F0:0x60 for
Processor 0.
42AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsExtended BIU Control (Dev0:F0:0x44)
BitNameFunction
31–11ReservedReserved
15–14ReservedReserved
10–8P0_WrDataDlyWrite Data Delay
P0_WrDataDly is the time in SYSCLK periods from the launch of a SysDC WriteData
command until the launch of the first data object by the processor. This value is a
calculated part of the SIP stream. This value is not provided in the BIU SIP register and is
thus provided here.
7-4ReservedReserved
3P0_2BitPFTwo Bit Times Per Frame Enable
This bit enables the use of the two bit time commands on the AMD Athlon™ processor
system bus. This bit must be set when connected to an AMD Athlon processor and
disabled when connected to an Alpha processor. For proper operation, BIOS must not
clear this bit once it has been set.
0 = Two-bit time commands disabled
1 = Two-bit time commands enabled (AMD Athlon processor only)
2–0ReservedReserved
These bits must be written with 0 (cleared) for normal operation.
Programming Notes
Chapter 2AMD-761™ System Controller Programmer’s Interface43
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
ECC Mode/Status Dev0:F0:0x48
3130292827262524
BitReserved
Reset00000000
R/WR
2322212019181716
BitReserved
Reset00000000
R/WR
15141312111098
BitSERR_EnableReservedECC_DiagECC_ModeECC_Status
ResetXX0XXX00
R/WR/WRR/WR/WR/W1C
76543210
BitECC_CS_MEDECC_CS_SED
Reset00000000
R/WRR
Register Description
This register provides ECC mode control and status reporting for the DRAM system.
Note that some bits of this register are not initialized at reset time, and all bits must be initialized by BIOS for proper
operation. This action should be done prior to attempting DRAM access.
44AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsECC Mode/Status (Dev0:F0:0x48)
BitNameFunction
31–16ReservedReserved
15-14SERR_EnableSystem Error Enable
These bits control the AMD-761™ system controller’s reporting of ECC errors to the
system via the SERR# pin on the PCI bus. Note that SERR# assertion is still subject to the
normal PCI SERR# enable (bit 8 in Dev 0:F0:0x04). Refer to Table 7 on page 34 for
details about SERR# assertion and status.
When the ECC diagnostic mode is enabled, the AMD-761 system controller always
writes 0x00 to the ECC byte to aid testing of the ECC logic. During partial writes, the
RMW sequence still occurs, but the ECC bits are always written to 0x00.
For reads, the ECC circuitry is unaffected by the ECC_Diag bit. The ECC code returned
from memory is checked, and errors are reported in the ECC_Status bits as usual.
Correction is not performed in this mode.
11–10ECC_ModeError Correcting Code Mode
00 = ECC disabled, no error detection or correction is performed.
01 = EC_HiPerf mode enabled. Error checking and status reporting is enabled. Data
destined for the PCI/AGP and memory (RMR) is not corrected.
10 = ECC_HiPerf mode enabled. Error checking and status reporting is enabled. Data
destined for the PCI/AGP and memory (RMR) is corrected.
11 = ECC_Scrub mode enabled. Error checking and status reporting is enabled. Data
destined for the PCI/AGP and memory (RMR) is corrected. The memory
contents are corrected (scrubbed) after all reads with errors.
9–8ECC_StatusError Correcting Code Status
This bit field indicates the status of the ECC detect logic as follows:
00 = No error
X1 = MED: multi-bit error detect
1X = SED: single-bit error detect
The ECC status bits and corresponding failing chip-select indicators are set by the first
error detected of each type (SED or MED). The AMD-761 system controller does not log
any new errors of each type or assert SERR# until software clears the associated
ECC_Status bit by writing a 1.
Chapter 2AMD-761™ System Controller Programmer’s Interface45
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit Definitions (Continued)ECC Mode/Status (Dev0:F0:0x48)
BitNameFunction
7–4ECC_CS_MEDMultiple Bit Error Chip Select
These bits provide the binary encoded chip select for the first multiple-bit error detected
by the AMD-761™ system controller.
3–0ECC_CS_SEDSingle Bit Error Chip Select
These bits provide the binary encoded chip select for the first single-bit error detected
by the AMD-761 system controller.
Programming Notes
System software is responsible for decoding the binary encoded, failing chip-select information and identifying a
corresponding physical DIMM location.
Some bits in this register are not initialized at reset. BIOS must initialize all bits in this register prior to attempting
DRAM access.
46AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
PCI ControlDev0:F0:0x4C
3130292827262524
BitReserved
Reset00000000
R/WR
2322212019181716
BitReserved
Reset00000000
R/WR
15141312111098
BitReservedReservedReservedReserved
Reset00000000
R/WRRRR
76543210
BitReservedReservedReserved
Reset00000000
R/WRRR/WR/WR/WR/W
WSC_DIR
(See Note.)
PCI_DT_EnPCI_OR_EnFunc1_En
Register Description
This register controls various functions in the primary PCI and AGP interfaces.
Note: The WSC_DIR configuration bit is implemented only in Revision B4 silicon and above. This bit is reserved and must
be cleared in all previous silicon revisions.
Chapter 2AMD-761™ System Controller Programmer’s Interface47
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit DefinitionsPCI Control (Dev0:F0:0x4C)
BitNameFunction
31—4Res erve dReserved
3WSC_DIRWrite Snoop Complete Direction Control
This bit controls the direction and function of the Write Snoop Complete (WSC#) pin.
Refer to the AMD-761™ System Controller Datasheet, order# 24088, for a full description
of the WSC# pin.
0 = Bidirectional mode for use with Southbridges that drive WSC# as an output and
sample WSC# as an input (such as the AMD-766™ peripheral bus controller). In this
mode, the WSC# pin of the AMD-761 system controller defaults as an input and is
driven by the Northbridge only after the pin is first asserted by the Southbridge.
1 = Unidirectional mode for use with Southbridges that only sample WSC# as an input.
In this mode, the WSC# pin is always driven by the AMD-761 system controller.
Note: This bit is implemented only in silicon revision B4 and above. It is reserved in all
previous silicon revisions and must be cleared.
2PCI_DT_EnDelayed Transactions Enable (PCI)
0 = Delayed transactions disabled on the PCI interface
1 = Delayed transactions enabled on the PCI interface
1PCI_OR_En Ordering Rules Compliance Enable (PCI)
This bit controls how the AMD-761 system controller PCI bus interface orders transactions.
0 = PCI ordering rules compliance disabled
1 = PCI ordering rules compliance enabled
0
Programming Notes
If the target latency bit is set (bit 23 of Dev 0:F0:0x84), then the delayed transactions enable (bit 2) must be set when the
front-side bus is clocked at 66 MHz.
When enabling PCI ordering rules compliance, it is recommended that delayed transactions be enabled simultaneously
for optimal performance.
Refer to See Chapter 5, “PCI Bus Interface” on page 195 for more information on the transaction options in the AMD-761
system controller. Refer to See Chapter 7, “Recommended BIOS Settings” on page 211 for the recommended bit settings
for these bits.
Func1_En
Function 1 Enable
This bit controls access to device 0, function 1 configuration space (DDR PDL registers).
Refer to “Device 0, Function 1: DDR PDL Configuration Registers” on page 97 for more
information on the function 1 registers.
0 = Device 0, function 1 disabled
1 = Device 0, function 1 enabled
Note that the WSC_DIR pin is implemented only in silicon revisions B4 and above and must be treated as Reserved (write
a 0) in all other silicon revisions.
48AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
AMD Athlon™ Processor System Bus Dynamic Compensation Dev0:F0:0x50
3130292827262524
BitReserved
Reset00000000
R/WR
2322212019181716
BitPValNVal
Reset00000000
R/WR
15141312111098
BitBYP_PBYP_N
Reset00000000
R/WR/W
76543210
BitSlewCntlBYPReserved
Reset01100000
R/WR/WR/WR
Register Description
Note that the default value of the BYP, BYP_P, and BYP_N fields of this register can be optionally controlled by SIP bits
when loading the SIP stream from external ROM.
Chapter 2AMD-761™ System Controller Programmer’s Interface49
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit DefinitionsAMD Athlon™ System Bus Dynamic Compensation (Dev0:F0:0x50)
BitNameFunction
31–24ReservedReserved
23–20PvalP Transistor Strength Value
This field reflects the P transistor strength value that was automatically written to the
AMD Athlon™ processor system bus I/O pads by the auto-compensation circuit. In bypass
mode (bit 4=1) this field returns the values in the BYP_P field (bits [15:12]). The P values
are active Low.
19–16NValN Transistor Strength Value
This field reflects the N transistor strength value that was automatically written to the
AMD Athlon processor system bus I/O pads by the auto-compensation circuit. In bypass
mode (bit 4=1) this field returns the values in the BYP_N field (bits [11:8]). The N values
are active High.
15–12BYP_PBypass Values P Driver
Bypass strength values for the P driver. The P values are active Low. A value of 0 on bit 3
for instance signifies that (2^3 + 1) or 9 legs of the P driver are active.
11–8BYP_NBypass Values N Driver
Bypass strength values for the N driver. The N values are active High. A value of 1 on bit 3,
for instance signifies that (2^3 + 1) or 9 legs of the N driver are active.
7–5SlewCntlSlew Rate Control
Slew rate control for AMD Athlon processor system bus.
000 = Slew rate 0 (slowest)
001 = Slew rate 1
010 = Sl e w rate 2
011 = Slew rate 3 (default)
100 = Slew rate 4
101= Sl e w rate 5
110 = Sl e w rate 6
111 = Slew rate 7 (fastest)
4BYPBypass
Setting the bypass bit allows an external drive strength setting to be provided in the BYP_P
and BYP_N fields. Clearing this bit causes the drive strength to be provided by the
compensation circuit.
3-0ReservedReserved
Programming Notes
50AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
This register defines the DRAM timing parameters for all banks. BIOS software must set appropriate values in this register
before setting the SDRAM_Init bit (See “Bit Definitions DRAM Mode/Status (Dev0:F0:0x58)” on page 57) or attempting
any DRAM accesses.
Note that this register is not initialized at reset time, and all bits must be initialized by BIOS for proper operation. This
action should be done prior to attempting DRAM access.
Chapter 2AMD-761™ System Controller Programmer’s Interface51
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit DefinitionsDRAM Timing (Dev0:F0:0x54)
BitNameFunction
31SBP_Wait_StateSuper Bypass Wait State
This bit forces a wait state on all super bypass reads. This bit should be set when the bus
speed is 133 MHz (refer to Table 8 on page 55).
0 = No additional wait state on super bypass reads
1 = Add wait state on super bypass reads
30AddrTiming_AAddress Timing for Copy-A
This bit determines whether an extra delay is added to the address and command buses
(MAA[14:0], RASA#, CASA#; WEA#, CKEA, CS[5:4, 1:0]#). This bit should be programmed
depending on the loading presented to these pins.
0 = No extra delay
1 = XX ps delay
29AddrTiming_BAddress Timing for Copy-B
This bit determines whether an extra delay is added to the address and command buses
(MAB[14:0], RASB#, CASB#; WEB#, CKEB, CS[7:6, 3:2]#). This bit should be programmed
depending on the loading presented to these pins.
0 = No extra delay
1 = XX ps delay
28RD_Wait_StateRead Wait State
This bit determines whether a wait state must be added before returning the read data
from the memory to the requester. This bit should be programmed depending on the
overall round-trip timing.
Note that this bit must be set for 100-MHz and 133-MHz operation, but it must not be set
for 66-MHz operation (refer to Table 8).
0 = No wait states
1 = One wait state
27Reg_DIMM_EnRegistered DIMM Enable
This bit enables the use of registered DIMMs on the motherboard.
AMD-761™ system controller 0 = Unbuffered DIMMs
1 = Registered DIMMs
26 t
WTR
Write Data In to Read Command Delay
This bit controls the number of clock cycles that must occur between the last valid write
operation and the next read command.
0 = t
1 = t
duration is 1 clock cycle.
WTR
duration is 2 clock cycles.
WTR
52AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit Definitions (Continued)DRAM Timing (Dev0:F0:0x54)
BitNameFunction
25-24 t
WR
Write Recovery Time
This bit field controls the number of clock cycles that must occur from the last valid
write operation to the earliest time a new precharge command can be asserted to the
same bank.
00 = t
duration is 1 clock cycle.
WR
01 = Re served
23t
RRD
10 = t
11 = t
Activate Bank A to Activate Bank B Command Delay
duration is 2 clock cycles.
WR
duration is 3 clock cycles.
WR
This bit controls the number of clock cycles between successive activate commands to
different banks.
0 = t
1 = t
duration is 2 clock cycles.
RRD
duration is 3 clock cycles.
RRD
22-19ReservedReserved
18–16Idle_Cyc_LimitIdle Cycle Limit
This bit field controls the number of idle cycles to wait before precharging an idle bank.
Idle cycles are defined as cycles in which no valid requests are asserted.
111 = Disable idle precharge
110 = 48 c ycles
101 = 32 c y cles
100 = 24 cycles
011 = 16 cyc l es
010 = 12 cyc l es
001 = 8 cycles (recommended “safe” configuration)
000 = 0 cycles
15–14PH_LimitPage Hit Limit
This bit field controls the number of consecutive page hit requests to allow before
choosing a non-PH request.
00 = 1 cycle
01 = 4 c yc le
10 = 8 cycles (recommended “safe” configuration)
11 = 16 c ycles
13–12ReservedReserved
Chapter 2AMD-761™ System Controller Programmer’s Interface53
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit Definitions (Continued)DRAM Timing (Dev0:F0:0x54)
BitNameFunction
11–9t
8–7t
6–4t
RC
RP
RAS
t
RC
This bit field indicates the tRC timing value (bank cycle time: minimum time from activate
to activate of same bank).
111 = 10 cyc l es
110 = 9 c ycles
101 = 8 cycles (recommended “safe” configuration)
100 = 7 cycles
011 = 6 c ycles
010 = 5 c ycles
001 = 4 cycles
000 = 3 cycles
t
RP
This bit field indicates the tRP timing value (precharge time: time from precharge to
activate on the same bank).
00 = 3 cycles (recommended “safe” configuration)
01 = 2 c yc les
10 = 1 c yc les
11 = 4 c yc les
t
RAS
This bit field indicates the t
timing value (minimum bank active time: time from activate
RAS
to precharge of same bank).
111 = 9 c ycles
110 = 8 c ycles
101 = 7 cycles (recommended “safe” configuration)
100 = 6 cycles
011 = 5 c ycles
010 = 4 c ycles
001 = 3 cycles
000 = 2 cycles
3–2t
CL
CAS Latency of SDRAM
11 = Re served
10 = 2.5 cycles
01 = 2 cycles (recommended “safe” configuration)
00 = 3 cycles
54AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit Definitions (Continued)DRAM Timing (Dev0:F0:0x54)
BitNameFunction
1–0t
RCD
t
RCD
This bit field (t
) is the timing value (RAS to CAS latency, delay from activate to RD/WR
RCD
command).
11 = 4 c yc les
10 = 3 cycles (recommended “safe” configuration)
01 = 2 c yc les
00 = 1 cycle
Programming Notes
This register is not initialized at reset. BIOS must initialize all bits in this register prior to setting the SDRAM_Init bit (See
“Bit Definitions DRAM Mode/Status (Dev0:F0:0x58)” on page 57) or attempting DRAM access for correct operation.
The required settings for the wait state bits for SBP_Wait_State and Rd_Wait_State are listed in Table 8.
Table 8.Wait State Settings for DRAM Timing Register
This register provides general mode control and status reporting of the DRAM system.
Note that some bits of this register are not initialized at reset time, and all bits must be initialized by BIOS for proper
operation. This action should be done prior to attempting DRAM access.
56AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsDRAM Mode/Status (Dev0:F0:0x58)
BitNameFunction
31Clk _Dis 5Clock Disable
This bit controls the DDR CLKOUT5/CLKOUT5# differential clock pair:
0 = Clock pair enabled
1 = Clock pair disabled (three-stated)
Note:This bit is meant to disable the clock pair when it is not connected to anything.
This bit should not be used for memory sizing or power management uses.
30Clk_Dis4Clock Disable
This bit controls the DDR CLKOUT4/CLKOUT4# differential clock pair.
0 = Clock pair enabled
1 = Clock pair disabled (three-stated)
Note:This bit is meant to disable the clock pair when it is not connected to anything.
This bit should not be used for memory sizing or power management uses.
29Clk_Dis3Clock Disable
This bit controls the DDR CLKOUT3/CLKOUT3# differential clock pair.
0 = Clock pair enabled
1 = Clock pair disabled (three-stated)
Note:This bit is meant to disable the clock pair when it is not connected to anything.
This bit should not be used for memory sizing or power management uses.
28Clk_Dis2Clock Disable
This bit controls the DDR CLKOUT2/CLKOUT2# differential clock pair.
0 = Clock pair enabled
1 = Clock pair disabled (three-stated)
Note:This bit is meant to disable the clock pair when it is not connected to anything.
This bit should not be used for memory sizing or power management uses.
27Clk_Dis1Clock Disable
This bit controls the DDR CLKOUT1/CLKOUT1# differential clock pair.
0 = Clock pair enabled
1 = Clock pair disabled (three-stated)
Note:This bit is meant to disable the clock pair when it is not connected to anything.
This bit should not be used for memory sizing or power management uses.
26Clk_Dis0Clock Disable
This bit controls the DDR CLKOUT0/CLKOUT0# differential clock pair.
0 = Clock pair enabled
1 = Clock pair disabled (three-stated)
Note:This bit is meant to disable the clock pair when it is not connected to anything.
This bit should not be used for memory sizing or power management uses.
Chapter 2AMD-761™ System Controller Programmer’s Interface57
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit Definitions (Continued)DRAM Mode/Status (Dev0:F0:0x58)
BitNameFunction
25SDRAM_InitSDRAM Initialization
This bit is used by the BIOS to tell the SDRAM controller to start the SDRAM initialization
sequence. Once set, this bit cannot be reset. The BIOS should first program the SDRAM
timing registers and set the output buffer drive strength. After that, it should set this bit.
24ReservedReserved
23Mode_Reg_StatusMode Register Status
0 = Off/done
1 = Set
When clear, the Mode register write is disabled and/or Mode register write done. When
set, the Mode register write is enabled. Configuration bits t
asserted. BIOS software sets this bit for write to the SDRAM Mode register. The memory
controller clears this bit when it has issued the Mode register write to the SDRAM.
22–21STR_ControlSuspend to RAM Control
These bits are used to allow the BIOS to communicate the power-up sequence to the
AMD-761™ system controller memory controller and power management logic, as
follows:
00 = Default. These bits are cleared to this state any time the RESET# pin is asserted.
The AMD-761 memory controller always drives the CKE pins inactive (Low) while
these bits are Low.
01 = BIOS sets this pattern after the system resumes from S4 (suspend to disk), S5 (soft
off), or mechanical off states. This action causes the AMD-761 memory controller
to assert the CKE pins and follow the normal sequence for DDR DRAM
initialization after power-on.
1X = BIOS sets this pattern when the system is resuming from the S3 (suspend to RAM)
state. This action causes the AMD-761 memory controller to exit self-refresh while
preserving all memory data.
must be set before this bit is
CL
20Burst_Ref_EnBurst Refresh Enable
0 = AMD-761 system controller does not burst refreshes.
1 = AMD-761 system controller queues up to four refreshes before issuing.
Refreshes are only queued during long sequences of operations to the same
memory device.
19Ref _DisRefresh Disable
This bit is provided for system debug, and should be cleared for normal operation.
0 = Refresh enabled (normal operation)
1 = Refresh disabled (debug only)
18Reserved
58AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit Definitions (Continued)DRAM Mode/Status (Dev0:F0:0x58)
BitNameFunction
17—16Cyc_Per_RefCycles Per Refresh
Refresh counter defines period of refresh requests.
The following table shows the relationship between the values in this field and the
resultant refresh period for the different system clock frequencies:
Value66 MHz100 MHz133 MHz
0030.72 µs20.48 µs15.36 µs
0123.04 µs15.36 µs11.52 µs
1015 .3 6 µs10.24 µs7.68 µs
117.68 µs7.68 µs3.84 µs
15–8ReservedReserved
7CS7_X4ModeChip-Select 7 X4Mode Enable
0 = This chip select consists of non-x4 devices (disabled).
1 = This chip select consists of x4 devices (enabled).
6CS6_X4ModeChip-Select 6 X4Mode Enable
0 = This chip select consists of non-x4 devices (disabled).
1 = This chip select consists of x4 devices (enabled).
5CS5_X4ModeChip-Select 5 X4Mode Enable
0 = This chip select consists of non-x4 devices (disabled).
1 = This chip select consists of x4 devices (enabled).
4CS4_X4ModeChip-Select 4 X4Mode Enable
0 = This chip select consists of non-x4 devices (disabled).
1 = This chip select consists of x4 devices (enabled).
3CS3_X4ModeChip-Select 3 X4Mode Enable
0 = This chip select consists of non-x4 devices (disabled).
1 = This chip select consists of x4 devices (enabled).
2CS2_X4ModeChip-Select 2 X4Mode Enable
0 = This chip select consists of non-x4 devices (disabled).
1 = This chip select consists of x4 devices (enabled).
1CS1_X4ModeChip-Select 1 X4Mode Enable
0 = This chip select consists of non-x4 devices (disabled).
1 = This chip select consists of x4 devices (enabled).
0CS0_X4ModeChip-Select 0 X4Mode Enable
0 = This chip select consists of non-x4 devices (disabled).
1 = This chip select consists of x4 devices (enabled).
Chapter 2AMD-761™ System Controller Programmer’s Interface59
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Programming Notes
Note that some bits of this register are not initialized at reset time, and all bits must be initialized by BIOS for proper
operation. This action should be done prior to attempting DRAM access.
The Clk_Dis bits are cleared by RESET#, and therefore all DDR DRAM interface clock pairs are enabled when exiting the
Advanced Configuration and Power Interface (ACPI) S3 sleep state (suspend to RAM). BIOS should disable any clock pairs
that are connected to unpopulated DIMM slots upon exit of S3.
When a chip select is programmed to operate in x4 DIMM mode, the DM[8:0] pins become DQS pins for that chip select.
The pad configuration for the DM[8:0] pins is automatically controlled by the DQS_Drive field (Dev 0:F0:0x40) instead of
the MDAT_Drive field, when any chip select is configured for x4 DIMM mode.
60AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
This register provides general status and control for the AMD Athlon™ processor system bus interface.
Chapter 2AMD-761™ System Controller Programmer’s Interface61
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit DefinitionsBIU0 Status/Control (Dev0:F0:0x60)
BitNameFunction
31Prb _EnProbe Enable
0 = Probes are not sent to this processor.
1 = Probes are sent to this processor.
30ReservedThis bit must be programmed to zero for normal operation.
29ReservedThis bit must be programmed to zero for normal operation.
28ReservedThis bit must be programmed to zero for normal operation.
27–25Xca_Prb_CntXca Probe Count
This bit field represents the maximum number of consecutive AMD Athlon™ processor
system bus grants for probe data movement types that are allowed before letting another
type have the bus.BIOS must program this field to a non-zero value for proper operation.
The recommended value to be loaded in this field by BIOS software is 0x2.
24–22Xca_RD_CntXca Read Count
This bit field represents the maximum number of consecutive AMD Athlon processor
system bus grants for read data movement types that are allowed before letting another
type have the bus.BIOS must program this field to a non-zero value for proper operation.
The recommended value to be loaded in this field by BIOS software is 0x6.
21–19Xca_WR_CntXca Write Count
This bit field represents the maximum number of consecutive AMD Athlon processor
system bus grants for write data movement types that are allowed before letting another
type have the bus.BIOS must program this field to a non-zero value for proper operation.
The recommended value to be loaded in this field by BIOS software is 0x6.
18Halt_Discon_EnHalt Disconnect Enable
0 = No AMD Athlon system bus disconnect is performed following HALT.
1 = AMD Athlon system bus disconnects after receiving a HALT special cycle.
17Stp_Grant_
Discon_En
16–14Prb_LimitProbe Limit
13–10Ack_LimitAck Limit
Stop Grant Disconnect Enable
0 = No AMD Athlon processor system bus disconnect is performed following STOP/GRANT.
1 = AMD Athlon processor system bus disconnects after receiving a STOP/GRANT special cycle.
BIOS software initializes this field with the maximum number of outstanding probes that
the given CPU can handle. The default is a single probe. Encoding is as follows:
0b000 = 1 probe
0b001 = 2 probes
................................
0b111 = 8 probes
BIOS software reads this field to determine how many outstanding unacknowledged
AMD Athlon processor system bus commands can be sent to the AMD-761™ system
controller. The AMD-761 system controller allows a maximum of four unacknowledged
62AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit Definitions (Continued)BIU0 Status/Control (Dev0:F0:0x60)
BitNameFunction
9Bypass_EnBypass Enable
When set, the AMD-761™ system controller internally bypasses certain memory pipe
stages for optimal performance. This bit may be set only if both of the following are true:
1. System is single processor or it is two processors and only CPU0 is present, and
2. CPU clock multiplier is 4 or greater. See “Config Status” on page 74 to determine the
clock multiplier (FID).
8–7SysDC_Out_DlySysDC Out Delay
This bit field specifies the number of SysClk cycles from a return of read data type SysDC
command and the start of the corresponding data.
0b00 = Reserved
0b01 = 1 clock
0b10 = 2 clocks
0b11 = 3 clocks
This field is initialized by pinstrapping during reset.
6–3SysDC_In_DlySysDC In Delay
This bit field specifies the number of SysClk cycles from a write data type SysDC command
and the start of the corresponding data.
0b0000 = 1 clock
0b0001 = 2 clocks
.............................
0b1111 = 16 clocks
This field is initialized by pinstrapping during reset.
2WR2_RDWR2 Read
This field defines the number of SysClk cycles that are inserted between write data and
read data cycles to allow the AMD Athlon™ processor system bus data wires to turn
around. This field is initialized by pinstrapping during reset.
1–0RD2_WRRD2 Write
This field defines the number of SysClk cycles that are inserted between read data and
write data cycles to allow the AMD Athlon processor system bus data wires to turn
around. This field is initialized by pinstrapping during reset.
Programming Notes
Chapter 2AMD-761™ System Controller Programmer’s Interface63
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
This register provides visibility to the serial initialization packet delivered to the AMD Athlon™ processor during the
AMD Athlon processor system bus connect protocol.
64AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsBIU0 SIP (Dev0:F0:0x64)
BitNameFunction
31Clk_Fwd_OffsetClock Forward Offset
0 = The AMD-761™ system controller delays driving of the data and clock for
AMD Athlon™ processor system bus SysData bits [31:16] and [63:48] by ~1000 ps.
1 = All AMD Athlon system bus ClkFWD groups drive the same nominally SysClk edge.
30–29Data_Init_CntData Initialization Count
This value specifies the number of SysClks from the launch of data by the processor until it
can be read from the AMD-761 system controller receive FIFO.
28–27Addr_Init_CntAddress Initialization Count
This value specifies the number of SysClks from the launch of a command by the
processor until it can be read from the AMD-761 system controller
System Data Even Clock Delay -- AMD Athlon processor SIP[33:31]
This value specifies the number of processor XICLK phases between the nominal start of
bit time and the launch of the even clocks.
System Data Odd Clock Delay -- AMD Athlon processor SIP[30:28]
This value specifies the number of processor XICLK phases between the nominal start of
bit time and the launch of the odd clocks.
System Data Even Delay -- AMD Athlon processor SIP[27:26]
This value specifies the number of processor XICLK phases between the nominal start of
bit time and the launch of the even data (SysData bits [31:16] and [63:48]).
System Data Odd Delay -- AMD Athlon processor SIP[25:24]
This value specifies the number of processor XICLK phases between the nominal start of
bit time and the launch of the odd data (SData bits [15:00] and [47:32]).
This value specifies the number of processor XICLK phases between the nominal start of
bit time and the launch of the address (SysAddOut).
This value is an internal processor parameter that is used to cause SYSDC commands and
their associated data to arrive in the processor core at the correct relative times.
System Addr Clock Delay -- AMD Athlon processor SIP[13:11]
This value specifies the number of processor XICLK phases between the nominal start of
bit time and the launch of the SADDOUTCLK.
System Reset Clock Offset -- AMD Athlon processor SIP[10:9]
This value is an internal processor parameter that is used to properly time AMD Athlon
system bus data transfer.
System Data Rec Mux PreLd -- AMD Athlon processor SIP[8:6]
This value specifies the number of SysClk phases from the launch of data by the AMD-761
system controller until it can be read from the AMD Athlon receive FIFO.
System Address Rec Mux PreLd -- AMD Athlon processor SIP[5:3]
This value specifies the number of SysClk phases from the launch of address/command by
the AMD-761 system controller until it can be read from the AMD Athlon receive FIFO.
receive FIFO.
Programming Notes
Chapter 2AMD-761™ System Controller Programmer’s Interface65
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
This register provides general status and control for the memory controller.
Note that the Self_Ref_En bit in this register is not initialized at reset time, but must be initialized by BIOS for proper
operation. This action should be done prior to attempting DRAM access.
66AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsMemory Status/Control (Dev0:F0:0x70)
BitNameFunction
31–19ReservedReserved
18Self_Ref_EnSelf-Refresh Enable
This bit enables self-refresh when entering certain power management states. This bit
should normally be set, but the option to disable this function is provided to
accommodate specific DIMMs that do not correctly support the self-refresh feature. Note
that if this bit is not set, then DCSTOP# assertion (ACPI sleep states) must be inhibited.
0 = Self-refresh disabled
1 = Self-refresh enabled
17–14Reserved
13Reserved
12–11ReservedReserved
10PCI_Pipe_EnPCI Pipe Enable
0 = All PCI transactions, from either the PCI or AGP interfaces, force the memory
controller to check for outstanding read probes with a matching block address and
stall until these probes are complete.
1 = Memory controller pipelines PCI transactions.
Setting this bit generally increases PCI throughput. This bit must be clear when the
processor is allowed to issue CleanVictimBlock commands.
9PCI_Blk_WR_EnPCI Block Write Enable
0 = PCI full-block writes do RID/INV probes, forcing the memory controller to wait for
probe data movement.
1 = PCI full-block writes do NOP/INV probes.
This bit must be clear when the AMD Athlon™ processor is allowed to issue
CleanVictimBlock commands.
8–1ReservedReserved
0ReservedReserved
Programming Notes
Note that the Self_Ref_En bit in this register is not initialized at reset time but must be initialized by BIOS for proper
operation. This action should be done prior to attempting DRAM access.
DCSTOP# assertion (ACPI S1/S3) must not be enabled if the Self_Ref_En bit is cleared.
Chapter 2AMD-761™ System Controller Programmer’s Interface67
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Who Am I (WHAMI)Dev0:F0:0x80
3130292827262524
BitReserved
Reset00000000
R/WR
2322212019181716
BitReservedReservedReservedReservedBIU0_Present
Reset0000000From CPU
R/WR
15141312111098
BitFirstBusID
Reset00000000
R/WR
76543210
BitWHAMI
ResetCPUID
R/WR
Register Description
68AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsWho Am I (WHAMI) (Dev0:F0:0x80)
BitNameFunction
31-17ReservedReserved
16BIU0 _P rese ntBIU0 Present
This bit, when set, indicates that a processor is installed on the specified AMD Athlon™
processor system bus port on the AMD-761™ system controller and it has requested a
connect sequence (ProcRdy assertion).
15–8FirstBusIDFirst BusID
This field contains the AMD Athlon processor system bus ID of the first processor to read
this register:
00h if CPU0 was the first to read WHAMI after reset,
01h if CPU1 was the first to read WHAMI after reset.
7–0WHAMIWho Am I
This field returns the AMD Athlon processor system bus ID (below) of the processor that
accesses it:
00h for CPU0,
Programming Notes
01h for CPU1.
Chapter 2AMD-761™ System Controller Programmer’s Interface69
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
This register provides general PCI arbiter mode control.
70AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsPCI Arbitration Control (Dev0:F0:0x84)
BitNameFunction
31–24AGP_VGA_BIOSAGP VGA BIOS
These bits when set indicate that the corresponding (16-KByte) segment should be
mapped to the AGP PCI bus. Bit 24 corresponds to the addresses 0xC0000–0xC3FFF and
bit 31 maps addresses 0xDC000–0xDFFFF to the AGP PCI interface. Set one or more of
these bits if the AGP graphics card has a ROM BIOS.
23Tgt_LatencyTarget Latency
This bit is designed to ensure that the AMD-761™ system controller is compliant to the PCI
maximum target latency rule. Note that this compliance applies only to the PCI bus and
not the AGP bus.
0 = AMD-751™ system controller-compatible, the AMD-761 system controller does not
disconnect a master when it cannot service a read request within 32 PCI clock
periods (initial latency) or 8 clocks (subsequent data cycles).
1 = If the AMD-761 system controller cannot respond to a memory read within 32 clocks
for the initial access, or 8 clocks for each subsequent access, it forces a retry.
Note:To prevent potential deadlocks, set this bit and clear bit 3 (Tgt_Lat_Tim_Dis) if
the system has PCI to AGP traffic.
22–18ReservedReserved
17AGP_Chain_EnEnable AGP Chaining
When set, CPU writes to the AGP bus are chained together.
16PCI_Chain_EnEnable PCI Chaining
When set, CPU writes to PCI are chained together.
15MDA_DebugMDA Debug
This bit allows monochrome display adapters (MDA) to be used simultaneously with AGP
cards for debug of AGP device drivers. The behavior of the AMD-761 system controller
display adapters is a function of this bit and the VGA Enable in (D1:0x3C[19]) as follows:
VGA = 0, MDA = 0: all MDA and VGA references go to PCI
VGA = 0, MDA = 1: operation undefined
VGA = 1, MDA = 0: all VGA references go to AGP, MDA only (I/O 3BFh) goes to PCI
VGA = 1, MDA = 1: all VGA references go to AGP, all MDA (including memory) go to PCI
14PCI _W R_Po st
_Rtry
13AG P_ WR _Pos t
_Rtry
PCI Write Post Retry
When set, this bit enables retries on PCI if there are pending posted writes.
AGP Write Post Retry
When set, this bit enables retries on the AGP bus if there are pending posted writes.
Chapter 2AMD-761™ System Controller Programmer’s Interface71
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit Definitions (Continued)PCI Arbitration Control (Dev0:F0:0x84)
BitNameFunction
12RD_Data_Err_
Dis
11AG P_ Er ly_P rb_
Dis
10PCI _E rly_ Prb_
Dis
9AGP_Arb_Pipe_
Dis
8SB_Lock_DisSouthbridge Lock Disable
Read Data Error Disable
Whenever a cycle from a processor to the PCI or AGP buses results in a master abort
(except special cycles), the AMD-761™ system controller returns a read data error
indicator to the processor. When set, this bit causes data value of all 1s to be returned.
When clear, an AMD Athlon™ processor system bus read data error response is returned.
The CPU response to read data error is determined by the settings of the Machine Check
Architecture registers in the processor.
AGP Early Probe Disable
As soon as the AMD-761 system controller detects a PCI write cycle to memory from an
external AGP master, it sends a “probe only” request to the processor that is used to flush
data from the processor cache. After one or more data phases, a write request is sent to
the memory, which also results in a probe. When set, this bit disables the early probe from
an AGP master running a PCI write cycle to memory.
PCI Early Probe Disable
This bit is similar AGP_Erly_Prb_Dis and can disable early probe requests for write cycles
from an external master on the standard PCI bus.
AGP Arbiter Pipe Disable
When set, this bit disables the AGP arbiter from pipelining grants onto the bus.
When the Southbridge makes a request for the PCI bus, the AMD-761 system controller
makes sure that all the previous posted requests from the processors and PCI are
completed by the memory before granting the bus to the Southbridge. When set, this bit
disables this flushing of previous requests.
7PM_Reg_EnPower Management Register Enable
This bit, when set, enables reading from and writing to the power management register
(at BAR2).
615M_Hole15M Memory Hole
When set, this bit creates a hole in memory from 15 Mbytes to 16 Mbytes. This register is
used by the PCI decode logic to know when to accept a cycle from an external PCI master.
When set, the PCI decode logic does not assert a match for addresses falling in this range.
514M_Hole14M Memory Hole
When set, this bit creates a hole in memory from 14 Mbytes to 15 Mbytes. This register is
used by the PCI decode logic to know when to accept a cycle from an external PCI master.
When set, the PCI decode logic does not assert a match for addresses falling in this range.
4EV6_ModeEV6 Mode
When set, this bit indicates that the PCI interfaces have to decode memory hits in the EV6
mode. There are no memory holes and DMA can be done to any address that lies within
the SDRAM map.
72AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit Definitions (Continued)PCI Arbitration Control (Dev0:F0:0x84)
BitNameFunction
3Tgt_Lat_Tim_
Dis
2AGP_Pref_EnAGP Prefetch Enable
1PCI_Pref_En PCI Prefetch Enable
0Park_PCIPark PCI
Programming Notes
To avoid potential deadlocks for systems that use traffic from the PCI bus to the PCI bus of the AGP, clear the write target
latency timer disable bit (bit 3, Tgt_Lat_Tim_Dis), and set the read target latency timer bit (bit 23, Tgt_Latency). Refer to
the programming notes for the PCI Control register (Dev 0:F0:0x4C) for details on the recommended setting of the
Tgt_Latency bit.
Target Latency Timer Disable
When the AMD-761™ system controller acts as a PCI target, it has a latency timer that
retries the (write) cycle if it cannot respond within 8 bus clocks (16 clocks for the first
transfer). When set, this bit disables the AMD-761 system controller’s target latency timer
on both the standard PCI and AGP PCI interfaces.
Note:To prevent potential deadlocks caused by PCI to AGP traffic on the system, this
bit should be cleared and bit 23 (Tgt_Latency) must be set. Note also that
setting this bit disables the Tgt_Latency function controlled by bit 23.
When set, this bit enables the AMD-761 system controller to prefetch data from the
SDRAM when a PCI master on the standard AGP bus reads from the main memory.
When set, this bit enables the AMD-761 system controller to prefetch data from the
SDRAM when a PCI master on the PCI bus reads from the main memory.
When set, this bit enables parking on an external PCI master. When clear, the PCI arbiter
only parks on processor accesses to PCI.
Chapter 2AMD-761™ System Controller Programmer’s Interface73
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
x (from PCI AD[31:30])x (from PCI AD[27:26])x (from PCI AD[11:10])
x (from PCI
AD[9])
x (from PCI
AD[24])
x (from PCI
AD[29])
x (from PCI
AD[8])
x (from PCI AD[19:16])
x (from PCI AD[3:0])
x (from PCI
AD[20])
x (from PCI
AD[4])
Register Description
This register allows BIOS software to determine what system initialization states have been programmed by resistor
pinstrappings on the motherboard.
74AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsConfig Status (Dev0:F0:0x88)
BitNameFunction
31–29AGP_Clk_MuxAGP Clock Mux
For internal test only.
28–26Sys_Clk_MuxSystem Clock Mux
For internal test only.
25Type_DetType Detect
0 = This installed card in the AGP slot uses 1.5-V signalling.
1 = This installed card in the AGP slot uses 3.3-V signalling.
24S2K_ThreshAMD Athlon™ Processor System Bus Threshold
AMD Athlon™ processor system bus threshold range select for AMD Athlon™ system bus
I/O cells. When Low, these AMD Athlon processor system bus inputs sense input
thresholds between 1.35 V and 1.9 V. When High, the inputs sense thresholds between 2.0
V and 2.2 V.
When set, this bit indicates that the AMD Athlon processor push-pull drivers are enabled.
22IG_PP_EnAMD-761™ System Controller Push-Pull Driver Enable
When set, this bit indicates that the AMD-761 system controller push-pull drivers are
enabled.
21–20Clk_SpeedClock Speed
This bit field defines the speed of the system clock received by the AMD-761 system
controller:
00 = 100 MHz
01 = 66 M H z
10 = Re served
11 = 133 M H z
19–18ReservedReserved
17–16S2K0_Bus_LenAMD Athlon Processor System Bus Length
This bit field indicates the relative length of the AMD Athlon processor system bus trace
routing on the motherboard.
00 = Short
01..............
10...............
1 = Long
15Tristate_EnTristate Enable
For internal test only.
14NAN D_ EnNAND Enable
For internal test only.
Chapter 2AMD-761™ System Controller Programmer’s Interface75
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit Definitions (Continued)Config Status (Dev0:F0:0x88)
BitNameFunction
13Bypass_PLLsBypass PLLs
This bit is set for test and debug of the AMD-761™ system controller with the internal
PLLs disabled.
0 = AMD-761 system controller PLLs enabled
1 = AMD-761 system controller
pins directly to internal clock trees
12Dis_DividerDisable Divider
For internal test only.
11–8ReservedReserved
7SIP_ROM_EnSIP ROM Enabled
This bit indicates that the external SIP ROM is enabled and is read to create the SIP stream
to the AMD Athlon processor, instead of the internally generated SIP table.
6GP_StrapGeneral-Purpose Strap
This bit may be used as a general-purpose strap for communicating motherboard- specific
information to BIOS. The AMD-761 system controller does not use this strap internally.
5In_Clk_EnINCLK Enable
This bit indicates that the AMD-761 system controller delays the INCLK to the AMD Athlon
processor. When reset, the motherboard is expected to provide delay in the etch to center
the INCLK with the data.
4Out_Clk_EnOUTCLK Enable
This bit indicates that the AMD Athlon processor delays the OUTCLK to the AMD-761
system controller. When reset, the motherboard is expected to provide delay in the etch to
center the OUTCLK with the data.
3–0CPU0_DividerCPU Divider
This bit field contains the CPU clock multiplier field supplied by the processor. Together
with the Clk_Speed field and the S2K0_Bus_Len field, these fields allow the AMD-761
system controller to properly program the AMD Athlon™ processor system bus
initialization logic using the SIP protocol.
The clock multiplier field is also known as the Frequency Identification (FID) bits and the
values are shown below.
PLLs bypassed; clocks driven from SYSCLK and AGPCLK
FID Value Multiplier FID Value Multiplier FID Value Multiplier FID Value Multiplier
000011.001005.010007.011009.0
000111. 501015. 510017.511019. 5
001012. 001106 .010108 .0111010 .0
001112. 501116 .510118 .5111110 .5
Programming Notes
76AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
PCI Top of MemoryDev0:F0:0x9C
3130292827262524
BitPCI_Mem_Top
Reset10000000
R/WR/W
2322212019181716
BitReserved
Reset00000000
R/WR
15141312111098
BitReserved
Reset00000000
R/WR
76543210
BitReserved
Reset00000000
R/WR
Register Description
This register is used to define the top of main system memory. It is used to compare the memory addresses of an external
PCI master to determine if it is in the range of the AMD-761™ system controller DRAM. If the address compares, then the
AMD-761 system controller responds to the bus master access with DEVSEL# assertion.
Chapter 2AMD-761™ System Controller Programmer’s Interface77
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
Bit DefinitionsPCI Top of Memory (Dev0:F0:0x9C)
BitNameFunction
31–24PCI_Mem_TopPCI Memory Top
This 8-bit field is compared to the incoming PCI bus master address to determine if a
memory cycle falls within the AMD-761™ system controller DRAM region, as follows:
BIOS should write to this field following completion of the memory sizing algorithm, after
it has determined the total size of the installed memory.
23–0ReservedReserved
Programming Notes
78AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
AGP Capability Identifier Dev0:F0:0xA0
3130292827262524
BitReserved
Reset00000000
R/WR
2322212019181716
BitMajor_RevMinor_Rev
Reset00100000
R/WR
15141312111098
BitNext_Pointer
Reset00000000
R/WR
76543210
BitCap_ID
Reset00000010
R/WR
Register Description
Bit DefinitionsAGP Capability Identifier (Dev0:F0:0xA0)
BitNameFunction
31–24ReservedReserved
23–20Major_RevMajor Revision
Major revision of the AGP interface specification conformed to by this device.
19–16Minor_RevMinor Revision
Minor revision of the AGP interface specification conformed to by this device.
15–8Next_PointerNext Pointer
Pointer to the next item in the capabilities list. Must be null for the final item on the list.
7–0Cap_IDCapID
This value indicates that this list item pertains to AGP registers.
Programming Notes
Chapter 2AMD-761™ System Controller Programmer’s Interface79
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
AGP StatusDev0:F0:0xA4
3130292827262524
BitMax_ReqQ_Depth
Reset00001111
R/WR
2322212019181716
BitReserved
Reset00000000
R/WR
15141312111098
BitReservedSBAReserved
Reset00000010
R/WR
76543210
BitReservedR4GFWReservedRates
Reset00000111
R/WR
Register Description
80AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsAGP Status (Dev0:F0:0xA4)
BitNameFunction
31–24Max_ReqQ_
Depth
23–10ReservedReserved
9SBASideband Addressing
8–6ReservedReserved
5R4GAddress Limit
4FWFast Write Transfer
3ReservedReserved
2–0RatesRate Transfers
Programming Notes
Maximum Command Requests
This field contains the maximum number of AGP command requests that this node
can manage.
This field is always 1, indicating that the AMD-761™ system controller supports sideband
addressing.
This bit is always 0, indicating that the AMD-761 system controller does not support
addresses greater than 4 Gbytes.
This bit indicates supports of fast write transfers.
0 = Fast writes not supported
1 = Fast writes supported
This field indicates that the AMD-761 system controller supports 1x (bit[0]), 2x (bit[1]), and
4X (bit[2]) transfers.
Fast writes are disabled by default and are indicated in the status bit that reports this capability. Setting the FW_Enable bit
in the AGP 4X Dynamic Compensation register (Dev 0:F0:0xB4, bit 7) sets the FW bit in this register to indicate support of
this feature. Fast writes are enabled when both the FW_Enable bit (in the AGP 4X Dynamic Compensation register) and
the Fast_Writes bit in the AGP Command register are set.
AGP 4X transfers are supported and the 4X status bit is set by default in this register. This bit can be overridden by setting
the 4X_Override bit in the AGP 4X Dynamic Compensation register (Dev 0:F0:0xB4, bit 6).
Chapter 2AMD-761™ System Controller Programmer’s Interface81
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
82AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsAGP Command (Dev0:F0:0xA8)
BitNameFunction
31–10ReservedReserved
9SBA_EnSideband Addressing Enable
When this bit is set, sideband addressing is enabled.
8AGP_EnAGP Operations Enable
When this bit is set, the AMD-761™ system controller accepts AGP operations. When this
bit is clear, the AMD-761 system controller ignores AGP operations.
7–6ReservedReserved
5R4G_En4GB Address Indicator
This bit indicates that the AMD-761 system controller does not support addresses greater
than 4 Gbytes. The AMD-761 system controller supports only 32-bit addresses.
4Fast_WritesFast Writes
0 = Fast writes disabled
1 = Fast writes enabled when the FW_Enable bit is also set in the AGP 4X Dynamic
Compensation register (Dev 0:F0:0xB4, bit 7)
3ReservedReserved
2–0Data_Transfer
_Mode
Programming Notes
Data Transfer Mode
Only one bit must be set in this field to indicate the desired AGP data transfer rate.
001 = 1X AGP rate
010 = 2X AGP rate
100 = 4X AGP rate
Chapter 2AMD-761™ System Controller Programmer’s Interface83
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
AGP Virtual Address Space SizeDev0:F0:0xAC
3130292827262524
BitReserved
Reset00000000
R/WR
2322212019181716
BitReservedVga_IA_En
Reset00000000
R/WRR/W
15141312111098
BitReserved
Reset00000000
R/WR
76543210
BitReservedVA_SizeGART_En
Reset00000000
R/WRR/W
Register Description
84AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsAGP Virtual Address Space Size (Dev0:F0:0xAC)
BitNameFunction
31–17ReservedReserved
16Vga_IA_EnISA Address Aliasing Enable
When set, this bit forces the AMD-761™ system controller to alias ISA addresses, which
means that address bits [15:10] are not used in decoding. When clear, no ISA aliasing is
performed and address bits [15:10] are used for decoding.
15–4ReservedReserved
3–1VA_SizeVirtual Address Size
This field defines the virtual address space size to be allocated to GART by the system
BIOS. Prior to the execution of the system BIOS memory mapping software, system BIOS
gets the amount of GART virtual address space required by the graphics controller. It sets
these bits to the required value. Changing these bits automatically changes bits [30:25] in
the host-PCI bridge (device 0) AGP Virtual Address Space register, offset 0x10 (see
“Dev0:F0:0x10” on page 37).
The size of GART virtual address space is always greater than or equal to the amount of
physical system memory allocated to AGP in non-contiguous 4-Kbyte blocks. The amount
of physical memory allocated to AGP is determined by operating system software.
[3] [2] [1] VA_Size
0 0 0 32 Mbytes
0 0 1 64 Mbytes
0 1 0 128 Mbytes
0 1 1 256 Mbytes
1 0 0 512 Mbytes
1 0 1 1 Gbytes
1 1 0 2 Gbytes
0GART_EnGART Enable
When clear, GART is not valid in this system. System BIOS does not allocate virtual address
space for GART because the host-PCI bridge (device 0) AGP virtual address space, offset
0x10 (see “Dev0:F0:0x10” on page 37) is set to 0. The PCI-PCI bridge (device 1) capabilities
pointer is set to point to the next item in the linked list or null if there is no other item. This
bit is set by BIOS PCI enumeration routines.
When set, GART is valid in this system. System BIOS allocates virtual address space for
GART based upon the value in bits [3:1] above.
Programming Notes
Chapter 2AMD-761™ System Controller Programmer’s Interface85
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
GART/AGP Mode Control Dev0:F0:0xB0
3130292827262524
BitReserved
Reset00000000
R/WR
2322212019181716
BitReserved
Reset00000000
R/WRR/W
15141312111098
BitReserved
Reset00000000
R/WR
76543210
BitReserved
Reset00000000
R/WR
NonGART
_Snoop
PDC_EnLv1_Index
Register Description
This register provides bits to control specific features of the AMD-761™ system controller AGP implementation.
86AMD-761™ System Controller Programmer’s InterfaceChapter 2
Preliminary Information
24081D—February 2002 AMD-761™ System Controller Software/BIOS Design Guide
Bit DefinitionsGART/AGP Mode Control (Dev0:F0:0xB0)
BitNameFunction
31–21ReservedReserved
20Reserved
19NonGART_SnoopNonGART Snoop
When set, this bit forces AGP accesses that are not in the GART range to cause
AMD Athlon™ processor system bus probes to the processor(s). When clear, AGP
addresses that fall outside of the GART range do not cause probes.
18Reserved
17P D C _ E nGart Page Directory Cache Enable
This bit is used only in the two-level GART mode. It has no effect in the one-level GART
mode. The GART directory is enabled only when both this bit and the AGP Features
Control register (offset 02h of the memory-mapped Features and Capabilities register—see
“Bar1 + 0x00” on page 141) bit 2, "GART Cache Enable", are 1s.
16Lv1_IndexLevel 1 Index (GART Index Scheme Control)
When set to 1, this bit enables the one-level GART mode. When cleared to 0, two-level
GART mode is enabled.
15–0ReservedReserved
Programming Notes
Chapter 2AMD-761™ System Controller Programmer’s Interface87
Preliminary Information
AMD-761™ System Controller Software/BIOS Design Guide24081D —Februar y 2002
AGP 4X Dynamic CompensationDev0:F0:0xB4
3130292827262524
BitPValNVal
ResetXXXXXXXX
R/WR
2322212019181716
BitReservedDisStrbQuantum_Cnt
Reset00000001
R/WRR/WR/W
15141312111098
BitReservedReserved
Reset00000000
R/WR
76543210
Bit
FW_Enable 4X_Override
Reset00000000
R/WR/WRR/W
Comp3.3ReservedPCI
Always_
Compensate
Do_
Compensate
Register Description
88AMD-761™ System Controller Programmer’s InterfaceChapter 2
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.