TABLE OF CONTENTS..................................................................................................................................................................II
LIST OF FIGURES..........................................................................................................................................................................III
LIST OF TABLES ...........................................................................................................................................................................IV
PCI to ISA Bridge Registers (Function 0) ..........................................................................................................................27
PCI Configuration Space Header.......................................................................................................................................................... 27
ISA Bus Control.................................................................................................................................................................................... 27
Plug and Play Control........................................................................................................................................................................... 30
Enhanced IDE Controller Registers (Function 1)..............................................................................................................33
PCI Configuration Space Header.......................................................................................................................................................... 33
IDE I/O Registers..................................................................................................................................................................................37
Universal Serial Bus Controller Registers (Function 2)....................................................................................................38
PCI Configuration Space Header.......................................................................................................................................................... 38
USB I/O Registers................................................................................................................................................................................. 39
Power Management Registers (Function 3)........................................................................................................................40
PCI Configuration Space Header.......................................................................................................................................................... 40
Power Management-Specific PCI Configuration Registers .................................................................................................................. 41
Power Management Subsystem Overview ............................................................................................................................................43
Power Management I/O-Space Registers..............................................................................................................................................46
TABLE 6. SCI/SMI/RESUME CONTROL FOR PM EVENTS.................................................................................................44
TABLE 7. SUSPEND RESUME EVENTS AND CONDITIONS ...............................................................................................44
TABLE 8. AC CHARACTERISTICS - PCI CYCLE TIMING..................................................................................................56
TABLE 9. AC CHARACTERISTICS - ULTRADMA-33 IDE BUS INTERFACE TIMING.................................................. 57
VT82C586B
Revision 1.0 May 13, 1997-iv-List of Tables
Page 7
9,$7HFKQRORJLHV,QF
VT82C586B
VT82C586B PIPC
PCI I
WITH
M
ASTER MODE
USB C
•PC97 Compliant PCI to ISA Bridge
ONTROLLER
−
Integrated ISA Bus Controller with integrated DMA, timer, and interrupt controller
−
Integrated Keyboard Controller with PS2 mouse support
−
Integrated DS12885-style Real Time Clock with extended 256 byte CMOS RAM and Day/Month Alarm for ACPI
−
Integrated USB Controller with root hub and two function ports
−
Integrated master mode enhanced IDE controller with enhanced PCI bus commands and UltraDMA-33 extensions
−
PCI-2.1 compliant with delay transaction
−
Eight double-word line buffer between PCI and ISA bus
−
One level of PCI to ISA post-write buffer
−
Supports type F DMA transfers
−
Distributed DMA support for ISA legacy DMA across the PCI bus
−
Fast reset and Gate A20 operation
−
Edge trigger or level sensitive interrupt
−
Flash EPROM, 2MB EPROM and combined BIOS support
−
Programmable ISA bus clock
−
Supports external IOAPIC interface for symmetrical multiprocessor configurations
NTEGRATED PERIPHERAL CONTROLLER
PC97 C
ACPI, D
OMPLIANT
ISTRIBUTED
PCI IDE C
, K
EYBOARD CONTROLLER, AND REAL TIME CLOCK
PCI-TO-ISA B
DMA, P
RIDGE
LUG AND PLAY
ONTROLLER WITH ULTRA
,
DMA-33,
•Inter-operable with VIA and other Host-to-PCI Bridges
−
Combine with VT82C585VPX/587VP for a complete 75MHz 6x86 / PCI / ISA system (Apollo VPX)
−
Combine with VT82C595 for a complete Pentium / PCI / ISA system (Apollo VP2)
−
Combine with VT82C685/687 for a complete Pentium-Pro /PCI / ISA system (Apollo P6)
−
Combine with VIA Apollo-AGP and Apollo Pro chipsets for new high-performance / enhanced-functionality systems
−
Inter-operable with other Intel or non-Intel Host-to-PCI bridges for a complete PC97 compliant PCI/ISA system
•Enhanced Master Mode PCI IDE Controller with Extension to UltraDMA-33
−
Dual channel master mode PCI supporting four Enhanced IDE devices
−
Transfer rate up to 33MB/sec to cover PIO mode 4, multi-word DMA mode 2 drives, and UltraDMA-33 interface
−
Sixteen levels (doublewords) of prefetch and write buffers
−
Interlaced commands between two channels
−
Bus master programming interface for SFF-8038i rev.1.0 and Windows-95 compliant
−
Full scatter gather capability
−
Support ATAPI compliant devices including DVD devices
−
Support PCI native and ATA compatibility modes
−
Complete software driver support
Revision 1.0 May 13, 1997-1-Features
Page 8
9,$7HFKQRORJLHV,QF
Universal Serial Bus Controller
•
−
USB v.1.0 and Intel Universal HCI v.1.1 compatible
−
Eighteen level (doublewords) data FIFO with full scatter and gather capability
−
Root hub and two function ports
−
Integrated physical layer transceivers with over-current detection status on USB inputs
−
Legacy keyboard and PS/2 mouse support
Sophisticated PC97-Compatible Power Management
•
−
Supports both ACPI (Advanced Configuration and Power Interface) and legacy (APM) power management
−
ACPI v1.0 Compliant (all required features plus extensions for most efficient desktop power management)
−
APM v1.2 Compliant
−
Supports soft-off (suspend to disk) and power-on suspend with hardware automatic wake-up
−
One idle timer, one peripheral timer and one general purpose timer, plus 24/32-bit ACPI compliant timer
−
Dedicated input pin for external modem ring indicator for system wake-up
−
Enhanced integrated real time clock (RTC) with date alarm, month alarm, and century field
−
Normal, doze, sleep, suspend and conserve modes
−
System event monitoring with two event classes
−
Five multi-purpose I/O pins plus support for up to 16 general purpose input ports and 16 output ports
−
I2C serial bus support for JEDEC-compatible DIMM identification and on-board-device power control
−
Seven external event input ports with programmable SMI condition
−
Primary and secondary interrupt differentiation for individual channels
−
Clock throttling control
−
Multiple internal and external SMI sources for flexible power management models
VT82C586B
Plug and Play Controller
•
−
PCI interrupts steerable to any interrupt channel
−
Three steerable interrupt channels for on-board plug and play devices
−
Microsoft Windows 95
Pin-compatible upgrade from VT82C586 and VT82C586A for existing designs
•
Built-in Nand-tree pin scan test capability
•
0.5um mixed voltage, high speed and low power CMOS process
•
Single chip 208 pin PQFP
•
TM
and plug and play BIOS compliant
Revision 1.0 May 13, 1997-2-Features
Page 9
9,$7HFKQRORJLHV,QF
O
VERVIEW
VT82C586B
The VT82C586B PIPC (PCI Integrated Peripheral Controller) is a high integration, high performance and high compatibility
device that supports Intel and non-Intel based processor to PCI bus bridge functionality to make a complete Microsoft PC97compliant PCI/ISA system. In addition to complete ISA extension bus functionality, the VT82C586B includes standard intelligent
peripheral controllers:
a) Master mode enhanced IDE controller with dual channel DMA engine and interlaced dual channel commands. Dedicated
FIFO coupled with scatter and gather master mode operation allows high performance transfers between PCI and IDE
devices. In addition to standard PIO and DMA mode operation, the VT82C586B also supports the emerging UltraDMA-33
standard to allow reliable data transfer rates up to 33MB/sec throughput. The IDE controller is SFF-8038i v1.0 and
Microsoft Windows-95 compliant.
b) Universal Serial Bus controller that is USB v1.0 and Universal HCI v1.1 compliant. The VT82C586B includes the root hub
with two function ports with integrated physical layer transceivers. The USB controller allows hot plug and play and
isochronous peripherals to be inserted into the system with universal driver support. The controller also implements legacy
keyboard and mouse support so that legacy software can run transparently in a non-USB-aware operating system
environment.
c) Keyboard controller with PS2 mouse support.
d) Real Time Clock with 256 byte extended CMOS. In addition to the standard ISA RTC functionality, the integrated RTC also
includes the date alarm and other enhancements for compatibility with the ACPI standard.
e) Notebook-class power management functionality that is compliant with ACPI and legacy APM requirements. Two types of
sleep states (soft-off and power-on-suspend) are supported with hardware automatic wake-up. Additional functionality
includes event monitoring, CPU clock throttling (Intel processor pr otocol), modular power control, hardware- and software-
based event handling, general purpose IO, chip select and external SMI.
f) Distributed DMA capability for support of ISA legacy DMA over the PCI bus.
g) Plug and Play controller that allows complete steerability of all PCI interrupts to any interrupt channel. Three ad ditional
steerable interrupt channels are provided to allow plug and play and reconfigurability of on-board peripherals for W indows
95 compliance.
h) External IOAPIC support for Intel-compliant symmetrical multiprocessor systems.
The VT82C586B also enhances the functionality of the standard ISA peripherals. The integrated interrupt controller supports both
edge and level triggered interrupts channel by channel. The integrated DMA controller supports type F DMA in addition to
standard ISA DMA modes. Compliant with the PCI-2.1 specification, the VT82C586B supports delayed transactions so that
slower ISA peripherals do not block the traffic of the PCI bus. Special circuitry is built in to allow concurrent operation without
causing dead lock even in a PCI-to-PCI bridge environment The chip also includes eight levels (doublewords) of line buffers from
the PCI bus to the ISA bus to further enhance overall system performance.
CPU / Cache
Sideband Signals:
Init / CPUreset
IRQ / NMI
SMI / StopClk
FERR / IGNNE
Boot ROM
CA
CD
RTC
Crystal
North Bridge
VT82C586B
208PQFP
MA/RAS/CAS
MD
PCI
I2C (Module ID)
USB
KBC
IDE
GPIO, Power Control, Reset
ISA
System Memory
Expansion
Cards
Figure 1. PC System Configuration Using the VT82C586B
System Address Bus
Multifunction Pins
ISA Bus Cycles:
Address: The LA[23:17] address lines are bi-directional. These address lines allow
accesses to physical memory on the ISA bus up to 16MBytes.
PCI IDE Cycles:
Chip Select: DCS1A# is for the ATA command register block and corresponds to
CS1FX# on the primary IDE connector. DCS3A# is for the ATA command register
block and corresponds to CS3FX# on the primary IDE connector. DCS1B# is for the
ATA command register block and corresponds to CS17X# on the primary IDE
connector. DCS3B# is for the ATA command register block and corresponds to
CS37X# on the primary IDE connector.
Disk Address: DA[2:0] are used to indicate which byte in either the ATA command
block or control block is being accessed.
B
System Data.
the ISA bus. These pins also function as
GPIO3_CFG bit is low (pin 92 becomes GPI_RE# for enabling external inputs onto
the SD pins using an external buffer). These pins also function as
Outputs
of an external latch).
System Byte High Enable.
transferred on the upper byte (SD[15:8]) of the data bus. SBHE# is negated during
refresh cycles.
I/O Read.
data on to the ISA data bus.
I/O Write.
latch data from the ISA data bus.
Memory Read.
onto the ISA data bus.
Memory Write.
from the ISA data bus.
Standard Memory Read.
1MB, which indicates that it may drive data onto the ISA data bus
Standard Memory Write.
1MB, which indicates that it may latch data from the ISA data bus.
Bus Address Latch Enable.
VT82C586B to indicate that the address (SA[19:0], LA[23:17] and the SBHE#
signal) is valid
16-Bit I/O Chip Select.
indicate that they support 16-bit I/O bus cycles.
Memory Chip Select 16.
low to indicate they support 16-bit memory bus cycles.
I/O Channel Check.
uncorrectable error has occurred for a device or memory on the ISA Bus.
I/O Channel Ready.
additional time (wait states) is required to complete the cycle.
SD[15:8] provide the high order byte data path for devices residing on
15-8 if the GPIO4_CFG bit is low (pin 136 becomes GPO_WE for control
IOR# is the command to an ISA I/O slave device that the slave may drive
IOW# is the command to an ISA I/O slave device that the slave may
MEMR# is the command to a memory slave that it may drive data
MEMW# is the command to a memory slave that it may latch data
VT82C586B
General Purpose Inputs
SBHE# indicates, when asserted, that a byte is being
SMEMR# is the command to a memory slave, under
SMEMW# is the command to a memory slave, under
BALE is an active high signal asserted by the
This signal is driven by I/O devices on the ISA Bus to
ISA slaves that are 16-bit memory devices drive this line
When this signal is asserted, it indicates that a parity or an
Devices on the ISA Bus negate IOCHRDY to indicate that
15-8 if the
General Purpose
Revision 1.0 May 13, 1997-7-Pinouts
Page 14
9,$7HFKQRORJLHV,QF
ISA Bus Control (continued)
Signal NamePin No.I/OSignal Description
REFRESH#29B
AEN15O
IRQ15, 14, 119, 7-3
DRQ7-5, 3-0132, 130, 57,
DACK7:5, 3-0#133, 131, 58,
TC32O
MASTER#(see below)I
SPKR /
Power-up Strap
128-129, 127-
126, 61, 71-75
30, 7, 16, 59
31, 33, 18, 60
134B
Refresh.
an input REFRESH# is driven by 16-bit ISA Bus masters to indicate refresh cycle.
Address Enable.
misinterpreting DMA cycles as valid I/O cycles.
I
Interrupt Request.
ISA Bus I/O devices with a mechanism for asynchronously interrupting the CPU.
I
DMA Request.
VT82C586B’s DMA controller.
O
Acknowledge.
been granted.
Terminal Count.
indicator.
ISA Master Request.
Multifunction Pin
As an output REFRESH# indicates when a refresh cycle is in progress. As
AEN is asserted during DMA cycles to prevent I/O slaves from
The DRQ lines are used to request DMA services from the
The DACK# output lines indicate a request for DMA service has
Normal Operation:
Power-up Strapping:
VT82C586B
The IRQ signals provide both system board components and
The VT82C586B asserts TC to DMA slaves as a terminal count
(see below pin 137)
Speaker Drive.
0/1 = Fixed/flexible IDE I/O base
The SPKR signal is the output of counter 2.
Revision 1.0 May 13, 1997-8-Pinouts
Page 15
9,$7HFKQRORJLHV,QF
On Board Plug and Play
Signal NamePin No.I/OSignal Description
MIRQ0 /
APICCS# /
POS (3040F)
MIRQ1 /
KEYLOCK /
IRQ8# (3040F)
MIRQ2 /
MASTER# /
SDDIR (3041A)
90I
106I
137I
Multifunction Pin
O
O
O
MIRQ0.
APICCS#
implementations.
POS.
was introduced in rev F of the 3040 silicon and is not available in earlier chips.
Rx59[3]Rx59[0]
Multifunction Pin
I
MIRQ1.
I
KEYLOCK.
IRQ8#.
revision F of the 3040 silicon and is not available in earlier chips.
Rx48[4]Rx59[1]
Rx5A[2]Rx48[4]
Multifunction Pin
I
MIRQ2.
MASTER#.
control for the IDE interface DD / SA transceivers (see SOE#).
SDDIR.
interface DD / SA transceivers (see SOE#) separate from MASTER#. This
function was introduced in revision A of the 3041 silicon and not available in
earlier chips.
Rx48[5]Rx59[2]
Steerable interrupt request input for on-board devices.
. Chip select for external IOAPIC chip for symmetric multiprocessor
Power-On Suspend Status Output (see Function 0 Rx59 bit-3). This function
(see PCI Configuration Register Function 0 Rx59[3,0])
Pin Function
(see PCI Configuration Register Function 0 Rx59[1] & Rx48[4])
Pin Function
this setting, Rx57[3:0] must be set to 0 (MIRQ1 routing)
Pin Function
(see PCI Configuration Register Function 0 Rx59[2] & Rx48[5])
Pin Function
Revision 1.0 May 13, 1997-9-Pinouts
Page 16
9,$7HFKQRORJLHV,QF
UltraDMA-33 Enhanced IDE Interface
Signal NamePin No.I/OSignal Description
DRDYA# /
DDMARDYA#
/ DSTROBEA
DRDYB# /
DDMARDYB#
/ DSTROBEB
DIORA# /
HDMARDYA#
/ HSTROBEA
DIORB# /
HDMARDYB#
/ HSTROBEB
DIOWA# /
STOPA
DIOWB# /
STOPB
SOE#56O
DDRQA45I
DDRQB46I
DDACKA#47O
DDACKB#48O
49I
89I
50O
54O
51O
55O
EIDE Mode:
UltraDMA Mode:
EIDE Mode:
UltraDMA Mode:
EIDE Mode:
UltraDMA Mode:
EIDE Mode:
UltraDMA Mode:
EIDE Mode:
UltraDMA Mode:
EIDE Mode:
UltraDMA Mode:
System Address Transceiver Output Enable.
enables of the 245 transceivers that interface the DD[15:0] signals to SA[15:0]. The
transceiver direction controls are driven by MASTER# with DD[15-0] connected to
the “A” side of the transceivers and SA[15-0] connected to the “B” side.
Device DMA Request A.
Device DMA Request B.
Device DMA Acknowledge A.
Device DMA Acknowledge B.
VT82C586B
I/O Channel Ready A.
Device DMA Ready A
The device may assert DDMARDY# to pause output transfers
Device Strobe A
The device may stop DSTROBE to pause input data transfers
I/O Channel Ready B.
Device DMA Ready B
The device may assert DDMARDY# to pause output transfers
Device Strobe B
The device may stop DSTROBE to pause input data transfers
Device I/O Read A.
Host DMA Ready A
The host may assert HDMARDY# to pause input transfers
Host Strobe A
The host may stop HSTROBE to pause output data transfers
Device I/O Read B.
Host DMA Ready B
The host may assert HDMARDY# to pause input transfers
Host Strobe B
The host may stop HSTROBE to pause output data transfers
Device I/O Write A.
. Primary channel stop transfer: asserted by the host prior
Stop A
to initiation of an UltraDMA burst; negated by the host before
data is transferred in an UltraDMA burst. Assertion of STOP by
the host during or after data transfer in UltraDMA mode signals
the termination of the burst.
Device I/O Write B.
. Secondary channel stop transfer: asserted by the host
Stop B
prior to initiation of an UltraDMA burst; negated by the host
before data is transferred in an UltraDMA burst. Assertion of
STOP by the host during or after data transfer in UltraDMA mode
signals the termination of the burst.
Note:Refer to the ISA bus interface pin descriptions for remaining IDE interface pin descriptions (the IDE address, data, and
drive select pins are multiplexed with the ISA bus LA and SA pins). Also, the MASTER# pin description may be found
in the "On Board Plug and Play" pin group (DD / SA transceiver direction control).
transceiver that buffers the X-Bus data and ISA-Bus data (the output enable of the
transceiver should be grounded). SD0-7 connect to the “A” side of the transceiver
and XD0-7 connect to the “B” side. XDIR high indicates that SD0-7 drives XD0-7.
Multifunction Pin. ROM Chip Select / Keyboard Controller Chip Select.
ISA memory cycle:
ISA I/O cycle:
VT82C586B
For connection to external X-Bus devices (e.g. BIOS ROM)
External SCI/SMI ports.
GPIO3_CFG bit low (pin 92 = GPI_RE#)
GPIO4_CFG bit low (pin 136 = GPO_WE)
(see Configuration Register Offset 5Ah)
XDIR is tied directly to the direction control of a 74F245
This pin sits on the VDD-5VSB power plane and is available even under soft-off
state.
General Purpose I/O 1
Can be used along with pin 88 as an I
defined as clock).
General Purpose I/O 2
Can be used along with pin 87 as an I
defined as data).
Multifunction Pin
GPIO3 Configuration bit high:
external SCI/SMI capability.
GPIO3 Configuration bit low:
Connects to the output enable (OE# pin) of the external 244 buffers whose data pins
connect to SD15-8 and XD7-0 for GPI15-0.
Multifunction Pin
GPIO4 Configuration bit high:
external SCI/SMI capability.
GPIO4 Configuration bit low:
Connects to the latch enable (LE pin) of the external 373 latches whose data pins
connect to SD15-8 and XD7-0 for GPO15-0.
: General Purpose I/O with external SCI/SMI capability.
: General Purpose I/O with external SCI/SMI capability.
: General Purpose I/O with external SCI/SMI capability.
(per GPIO3 Configuration Bit: Function 3 Rx40 bit-6)
(per GPIO4 Configuration Bit: Function 3 Rx40 bit-7)
USB Port 0 Data +
USB Port 0 Data USB Port 1 Data +
USB Port 1 Data USB Clock.
Clock input for Universal Serial Bus interface
Keyboard Interface
Signal NamePin No.I/OSignal Description
KBCK /
KA20G
KBDT /
KBRC#
MSCK / IRQ1110B
MSDT / IRQ12111B
A20M147O
KEYLOCK /
MIRQ1 /
IRQ8#
108B
109B
106I
Multifunction Pin.
Internal KBC enabled:
Internal KBC disabled:
Multifunction Pin.
Internal KBC enabled:
Internal KBC disabled:
Multifunction Pin.
PS/2 mouse enabled:
PS/2 mouse disabled and internal KBC disabled:
IRQ 1 input from external KBC.
Multifunction Pin.
PS/2 mouse enabled:
PS/2 mouse disabled:
A20 Mask.
Keyboard Lock.
(For reference only - see pin 106 description in "Onboard Plug and Play" section)
Direct connect A20 mask on CPU.
Keyboard lock signal for internal keyboard controller.
VT82C586B
Function depends on enable/disable of internal KBC.
Keyboard Clock.
Gate A20:
Function depends on enable/disable of internal KBC.
Keyboard Data.
Keyboard Reset:
Function depends on enable/disable of internal KBC.
Mouse Clock.
Function depends on enable/disable of internal KBC.
Mouse Data.
Interrupt Request 12.
Clock to keyboard interface.
Gate A20 output from external KBC
Data to keyboard interface.
Reset input from external KBC.
Clock to PS/2 mouse interface.
Interrupt Request 1.
Data to PS/2 mouse interface.
IRQ 12 input from external KBC
Internal Real Time Clock
Signal NamePin No.I/OSignal Description
RTCX1 /
IRQ8#
RTCX2 /
RTCCS#
VBAT102I
Revision 1.0 May 13, 1997-12-Pinouts
104I
105O
Multifunction Pin
Internal RTC enabled:
Internal RTC disabled:
Rx5A[2]Rx48[4]
00External RTC - IRQ8# input on pin 104
01External RTC - IRQ8# input on pin 106
1xInternal RTC - IRQ8# input not required
Multifunction Pin
Internal RTC enabled:
Internal RTC disabled:
RTC Battery.
Battery input for internal RTC
RTC Crystal Input
Interrupt Request 8
Pin Function
RTC Crystal Output
External RTC Chip Select
: 32.768Khz crystal or oscillator input.
: IRQ8 input from external RTC
: 32.768Khz crystal output
Page 19
9,$7HFKQRORJLHV,QF
Resets and Clocks
Signal NamePin No.I/OSignal Description
PWRGD138I
PCIRST#3O
RSTDRV4O
BCLK14O
OSC6I
Power Good.
PCI Reset.
generate PCIRST# during power-up or from the control register.
Reset Drive.
Bus Clock.
Oscillator.
Connected to the POWERGOOD signal on the Power Supply.
An active low reset signal for the PCI bus. The VT82C586B will
RSTDRV is the reset signal to the ISA bus.
ISA bus clock.
OSC is the 14.31818 MHz clock signal. It is used by the internal Timer.
Power Management
Signal NamePin No.I/OSignal Description
PWRBTN#91I
PWRON107O
RI#93I
Power Button.
Power Supply Control.
Ring Indicator.
to be re-activated by a received phone call. Input referenced to VDD-5VSB.
Referenced to VDD-5VSB.
May be connected to external modem circuitry to allow the system
Power and Ground
VT82C586B
Powered by VDD-5VSB.
Signal NamePin No.I/OSignal Description
VDD517, 34, 53, 79,
115
VDD-5VSB103P
VDD3144P
VDD_PCI157, 171, 184,
198
AVDD100P
AGND101P
GND13, 26, 39, 52,
68, 84, 120,
140, 156, 166,
177, 188, 197,
208
P
Power Supply.
switch on the power supply is turned on and the PWRON signal is conditioned high.
Power Supply.
is turned off. If the "soft-off" state is not implemented, then this pin can be
connected to VDD5.
Power Supply.
circuitry.
P
PCI Voltage.
USB Differential Output Power Source
USB Differential Output Ground
P
Ground
4.75 to 5.25V. This supply is turned on only when the mechanical
Always available unless the mechanical switch of the power supply
This pin should be connected to the same voltage as the CPU I/O
3.3 or 5V.
Revision 1.0 May 13, 1997-13-Pinouts
Page 20
9,$7HFKQRORJLHV,QF
VT82C586B
R
EGISTERS
Register Overview
The following tables summarize the configuration and I/O
registers of the VT82C586B. These tables also document the
power-on default value (“Default”) and access type (“Acc”) for
each register. Access type definitions used are RW
(Read/Write), RO (Read/Only), “—” for reserved / used
(essentially the same as RO), and RWC (or just WC) (Read /
Write 1’s to Clear individual bits). Registers indicated as RW
may have some read/only bits that always read back a fixed
value (usually 0 if unused); registers designated as RWC or
WC may have some read-only or read write bits (see individual
register descriptions for details).
Detailed register descriptions are provided in the following
section of this document. All offset and default values are
shown in hexadecimal unless otherwise indicated
90-91-available for system use-0000 0000 1001 000x
92System Control0000 0000 1001 0010
93-9F-available for system use-0000 0000 1001 nnnn
A0-BFSlave Interrupt Controller0000 0000 101x xxxn
C0-DFSlave DMA Controller0000 0000 110n nnnx
E0-FF-available for system use-0000 0000 111x xxxx
100-CF7-available for system useCF8-CFBPCI Configuration Address 0000 1100 1111 10xx
CFC-CFFPCI Configuration Data0000 1100 1111 11xx
D00-FFFF -available for system use-
Table 3. Registers
Legacy I/O Registers
PortMaster DMA Controller RegistersDefault Acc
00Channel 0 Base & Current AddressRW
01Channel 0 Base & Current CountRW
02Channel 1 Base & Current AddressRW
03Channel 1 Base & Current CountRW
04Channel 2 Base & Current AddressRW
05Channel 2 Base & Current CountRW
06Channel 3 Base & Current AddressRW
07Channel 3 Base & Current CountRW
08Status / CommandRW
09Write Request
70CMOS Memory Address & NMI Disa
71CMOS Memory Data (128 bytes)RW
72CMOS Memory AddressRW
73CMOS Memory Data (256 bytes)RW
74CMOS Memory AddressRW
75CMOS Memory Data (256 bytes)RW
NMI Disable is port 70h (CMOS Memory Address) bit-7.
RTC control occurs via specific CMOS data locations (0-0Dh).
Ports 72-73 may be used to access all 256 locations of CMOS.
Ports 74-75 may be used to access CMOS if the internal RTC is
disabled.
9Programming Interface00RO
ASub Class Code01RO
BBase Class Code06RO
C-reserved- (cache line size)00—
D-reserved- (latency timer)00—
EHeader Type80RO
FBuilt In Self Test (BIST)00RO
Configuration Space PCI-to-ISA Bridge-Specific Registers
Offset ISA Bus ControlDefaultAcc
40ISA Bus Control00RW
41ISA Test Mode00RW
42ISA Clock Control00RW
43ROM Decode Control00RW
44Keyboard Controller Control00RW
45Type F DMA Control00RW
46Miscellaneous Control 100RW
47Miscellaneous Control 200RW
48Miscellaneous Control 301RW
49-reserved-00—
4AIDE Interrupt Routing04RW
4B-reserved-00—
4CDMA / Master Mem Access Control 100RW
4DDMA / Master Mem Access Control 200RW
4F-4E DMA / Master Mem Access Control 30300RW
RW
WC
VT82C586B
Offset Plug and Play ControlDefaultAcc
50-reserved- (do not program)24RW
51-53 -reserved-00—
54PCI IRQ Edge / Level Selection00RW
55PnP Routing for External MIRQ0-100RW
56PnP Routing for PCI INTB-A00RW
57PnP Routing for PCI INTD-C00RW
58PnP Routing for External MIRQ200RW
9Programming Interface85
ASub Class Code01RO
BBase Class Code01RO
C-reserved- (cache line size)00—
DLatency Timer00RW
EHeader Type00RO
FBuilt In Self Test (BIST)00RO
13-10 Base Address - Pri Data / Command000001F0 RO
17-14 Base Address - Pri Control / Status000003F4 RO
1B-18 Base Address - Sec Data / Command00000170 RO
1F-1C Base Address - Sec Control / Status00000374 RO
23-20 Base Address - Bus Master Control0000CC01
24-2F -reserved- (unassigned)00—
30-33 -reserved- (expan ROM base addr)00—
34-3B -reserved- (unassigned)00—
Offset Configuration Space IDE RegistersDefaultAcc
40Chip Enable08RW
41IDE Configuration02RW
42-reserved- (do not program)09
43FIFO Configuration3ARW
44Miscellaneous Control 168RW
45Miscellaneous Control 200RW
46Miscellaneous Control 3C0RW
4B-48 Drive Timing Control
4CAddress Setup TimeFFRW
4D-reserved- (do not program)00
4ESec Non-1F0 Port Access TimingFFRW
4FPri Non-1F0 Port Access TimingFFRW
7-6-reserved-00
B-8 Power Management Timer0000 0000 RW
F-C -reserved-00
Offset Processor RegistersDefaultAcc
13-10 Processor Control0000 0000 RW
14Processor LVL200
15Processor LVL300
1F-16 -reserved-00
Offset General Purpose RegistersDefaultAcc
21-20 General Purpose Status0000
23-22 General Purpose SCI Enable0000RW
25-24 General Purpose SMI Enable0000RW
27-26 General Purpose Power Supply Ctrl0200RW
Offset Generic RegistersDefaultAcc
29-28 Global Status0000
2B-2A Global Enable0000RW
2D-2C Global Control00RW
3B-38 GP Timer Reload Enable0000 0000 RW
3F-3C -reserved-00
Offset General Purpose I/O RegistersDefaultAcc
41-40 GPIO Direction Control0000RW
43-42 GPIO Port Output Value0000RW
45-44 GPIO Port Input Valueinput
47-46 GPO Port Output Value0000RW
49-48 GPI Port Input Valueinput
FF-4A -reserved-00
—
—
RO
RO
—
WC
WC
—
WC
—
RO
RO
—
Revision 1.0 May 13, 1997-19-Register Overview
Page 26
9,$7HFKQRORJLHV,QF
Configuration Space I/O
Mechanism #1
These ports respond only to double-word accesses. Byte or
word accesses will be passed on unchanged.
Port CFB-CF8 - Configuration Address ......................... RW
Port CFF-CFC - Configuration Data .............................. RW
Refer to PCI Bus Specification Version 2.1 for further details
on operation of the above configuration registers.
Revision 1.0 May 13, 1997-20-Configuration Space I/O
Page 27
9,$7HFKQRORJLHV,QF
VT82C586B
Register Descriptions
Legacy I/O Ports
This group of registers includes the DMA Controllers,
Interrupt Controllers, and Timer/Counters as well as a number
of miscellaneous ports originally implemented using discrete
logic on original PC/AT motherboards. All of the registers
listed are integrated on-chip. These registers are implemented
in a precise manner for backwards compatibility with previous
generations of PC hardware. These registers are listed for
information purposes only. Detailed descriptions of the
actions and programming of these registers are included in
numerous industry publications (duplication of that
information here is beyond the scope of this document). All of
these registers reside in I/O space.
Port 61 - Misc Functions & Speaker Control ................. RW
7Reserved
6IOCHCK# Active
This bit is set when the ISA bus IOCHCK# signal is
asserted. Once set, this bit may be cleared by setting
bit-3 of this register. Bit-3 should be cleared to
enable recording of the next IOCHCK#. IOCHCK#
generates NMI to the CPU if NMI is enabled.
5Timer/Counter 2 Output
This bit reflects the output of Timer/Counter 2
without any synchronization.
4Refresh Detected
This bit toggles on every rising edge of the ISA bus
REFRESH# signal.
Revision 1.0 May 13, 1997-21-Register Descriptions
Page 28
9,$7HFKQRORJLHV,QF
VT82C586B
Keyboard Controller Registers
The keyboard controller handles the keyboard and mouse
interfaces. Two ports are used: port 60 and port 64. Reads
from port 64 return a status byte. Writes to port 64h are
command codes (see command code list following the register
descriptions). Input and output data is transferred via port 60.
A “Control” register is also available. It is accessable by
writing commands 20h / 60h to the command port (port 64h);
The control byte is written by first sending 60h to the
command port, then sending the control byte value. The
control register may be read by sending a command of 20h to
port 64h, waiting for “Output Buffer Full” status = 1, then
reading the control byte value from port 60h.
Traditional (non-integrated) keyboard controllers have an
“Input Port” and an “Output Port” with specific pins dedicated
to certain functions and other pins available for general
purpose I/O. Specific commands are provided to set these pins
high and low. All outputs are “open-collector” so to allow
input on one of these pins, the output value for that pin would
be set high (non-driving) and the desired input value read on
the input port. These ports are defined as follows:
1T1 - Mouse Clock In––
Note: Command code C0h transfers input port data to the
output buffer. Command code D0h copies output port values
to the output buffer. Command code E0h transfers test input
port data to the output buffer.
Port 60 - Keyboard Controller Input Buffer ................. WO
Only write to port 60h if port 64h bit-1 = 0 (1=full).
Port 60 - Keyboard Controller Output Buffer ................ RO
Only read from port 60h if port 64h bit-0 = 1 (0=empty).
Lo Code Hi Code
Lo Code Hi Code
Hi Code
Port 64 - Keyboard / Mouse Status .................................. RO
Revision 1.0 May 13, 1997-22-Register Descriptions
Page 29
9,$7HFKQRORJLHV,QF
Port 64 - Keyboard / Mouse Command .......................... WO
This port is used to send co mmands to the keyboard / mouse
controller. The command codes recognized by the
VT82C586B are listed n the table below.
Note: The VT82C586B Keyboard Controller is compatible
with the VIA VT82C42 Industry-Standard Keyboard
Controller except that due to its integrated nature, many of the
input and output port pins are not available externally for use
as general purpo se I/O pins (even though P 13-P16 are set on
power-up as strapping options). In other words, many of the
commands below are provided and “work”, but otherwise
perform no useful function (e. g., commands that set P12-P 17
high or low). Also note that setting P10-11, P22-23, P26-27,
and T0-1 high or lo w directly serves no useful purpose, sinc e
these bits are used to implement the keyboard and mouse ports
and are directly controlled by keyboard controller logic.
Table 4. Keyboard Controller Command Codes
VT82C586B
CodeKeyboard Command Code Description
20hRead Control Byte (next byte is Control Byte)
60hWrite Control Byte (next byte is Control Byte)
9xhWrite low nibble (bits 0-3) to P10-P13
A1hOutput Keyboard Controller Version #
A4hTest if Password is installed
(always returns F1h to indicate not installed)
A7hDisable Mouse Interface
A8hEnable Mouse Interface
A9hMouse Interface Test (puts test results in port 60h)
(value: 0=OK, 1=clk stuck low, 2=clk stuck high,
3=data stuck lo, 4=data stuck hi, FF=general error)
AAhKBC self test (returns 55h if OK, FCh if not)
ABhKeyboard Interface Test (see A9h Mouse Test)
ADhDisable Keyboard Interface
AEhEnable Keyboard Interface
AFhReturn Version #
B0hSet P10 low
B1hSet P11 low
B2hSet P12 low
B3hSet P13 low
B4hSet P22 low
B5hSet P23 low
B6hSet P14 low
B7hSet P15 low
B8hSet P10 high
B9hSet P11 high
BAhSet P12 high
BBhSet P13 high
BChSet P22 high
BDhSet P23 high
BEhSet P14 high
BFhSet P15 high
CodeKeyboard Command Code Description
C0hRead input port (read P10-17 input data to
the output buffer)
C1hPoll input port low (read input data on P11-13
repeatably & put in bits 5-7 of status
C2hPoll input port high (same except P15-17)
C8hUnblock P22-23 (use before D1 to change
active mode)
C9hReblock P22-23 (protection mechanism for D1)
CAhRead mode (output KBC mode info to port 60
output buffer (bit-0=0 if ISA, 1 if PS/2)
D0hRead Output Port (copy P10-17 output port values
to port 60)
D1hWrite Output Port (data byte following is written to
keyboard output port as if it came from keyboard)
D2hWrite Keyboard Output Buffer & clear status bit-5
(write following byte to keyboard)
D3hWrite Mouse Output Buffer & set status bit-5 (write
following byte to mouse; put value in mouse input
buffer so it appears to have come from the mouse)
D4hWrite Mouse (write following byte to mouse)
E0hRead test inputs (T0-1 read to bits 0-1 of resp byte)
ExhSet P23-P21 per command bits 3-1
FxhPulse P23-P20 low for 6usec per command bits 3-0
All other codes not listed are undefined.
Revision 1.0 May 13, 1997-23-Register Descriptions
Page 30
9,$7HFKQRORJLHV,QF
VT82C586B
DMA Controller I/O Registers
Ports 00-0F - Master DMA Controller
Channels 0-3 of the Master DMA Controller control System
DMA Channels 0-3. There are 16 Master DMA Controller
registers:
I/O Address Bits 15-0Register Name
0000 0000 000x 0000Ch 0 Base / Current AddressRW
0000 0000 000x 0001Ch 0 Base / Current CountRW
0000 0000 000x 0010Ch 1 Base / Current AddressRW
0000 0000 000x 0011Ch 1 Base / Current CountRW
0000 0000 000x 0100Ch 2 Base / Current AddressRW
0000 0000 000x 0101Ch 2 Base / Current CountRW
0000 0000 000x 0110Ch 3 Base / Current AddressRW
0000 0000 000x 0111Ch 3 Base / Current CountRW
0000 0000 000x 1000Status / CommandRW
0000 0000 000x 1001Write RequestWO
0000 0000 000x 1010Write Single MaskWO
0000 0000 000x 1011Write ModeWO
0000 0000 000x 1100Clear Byte Pointer F/FWO
0000 0000 000x 1101Master ClearWO
0000 0000 000x 1110Clear MaskWO
0000 0000 000x 1111R/W All Mask BitsRW
Note that not all bits of the address are decoded.
The Master DMA Controller is compatible with the Intel 8237
DMA Controller chip. Detailed descriptions of 8237 DMA
Controller operation can be obtained from the Intel Peripheral
Components Data Book and numerous other industry
publications.
Ports C0-DF - Slave DMA Controller
Channels 0-3 of the Slave DMA Controller control System
DMA Channels 4-7. There are 16 Slave DMA Controller
registers:
I/O Address Bits 15-0Register Name
0000 0000 1100 000xCh 0 Base / Current AddressRW
0000 0000 1100 001xCh 0 Base / Current CountRW
0000 0000 1100 010xCh 1 Base / Current AddressRW
0000 0000 1100 011xCh 1 Base / Current CountRW
0000 0000 1100 100xCh 2 Base / Current AddressRW
0000 0000 1100 101xCh 2 Base / Current CountRW
0000 0000 1100 110xCh 3 Base / Current AddressRW
0000 0000 1100 111xCh 3 Base / Current CountRW
0000 0000 1101 000xStatus / CommandRW
0000 0000 1101 001xWrite RequestWO
0000 0000 1101 010xWrite Single MaskWO
0000 0000 1101 011xWrite ModeWO
0000 0000 1101 100xClear Byte Pointer F/FWO
0000 0000 1101 101xMaster ClearWO
0000 0000 1101 110xClear MaskWO
0000 0000 1101 111xRead/Write All Mask BitsWO
Note that not all bits of the address are decoded.
The Slave DMA Controller is compatible with the Intel 8237
DMA Controller chip. Detailed description of 8237 DMA
controller operation can be obtained from the Intel Peripheral
Components Data Book and numerous other industry
publications.
Ports 80-8F - DMA Page Registers
There are eight DMA Page Registers, one for each DMA
channel. These registers provide bits 16-23 of the 24-bit
address for each DMA channel (bits 0-15 are stored in
registers in the Master and Slave DMA Controllers). They are
located at the following I/O Port addresses:
Note that not all bits of the address are decoded.
The Master Interrupt Controller is compatible with the Intel
8259 Interrupt Controller chip. Detailed descriptions of 8259
Interrupt Controller operation can be obtained from the Intel
Peripheral Components Data Book and numerous other
industry publications.
Ports A0-A1 - Slave Interrupt Controller
The Slave Interrupt Controller controls system interrupt
channels 8-15. The slave system interrupt controller also
occupies two register locations:
Note that not all address bits are decoded.
The Slave Interrupt Controller is compatible with the Intel
8259 Interrupt Controller chip. Detailed descriptions of 8259
Interrupt Controller operation can be obtained from the Intel
Peripheral Components Data Book and numerous other
industry publications.
Interrupt Controller Shadow Registers
The following shadow registers are enabled by setting bit 4 of
Rx47 to 1 (offset 47h in the PCI-ISA Bridge function 0
register group). If the shadow registers are enabled, they are
read back at the indicated I/O port instead of the standard
interrupt controller registers (writes to the interrupt controller
register ports are directed to the standard interrupt controller
registers).
Port 20 - Master Interrupt Control Shadow ................... RO
7-5Reserved
4OCW3 bit 5
3OCW2 bit 7
2ICW4 bit 4
1ICW4 bit 1
0ICW1 bit 3
Port 21 - Master Interrupt Mask Shadow ....................... RO
7-5Reserved
4-0T7-T3 of Interrupt Vector Address
Port A0 - Slave Interrupt Control Shadow ..................... RO
7-5Reserved
4OCW3 bit 5
3OCW2 bit 7
2ICW4 bit 4
1ICW4 bit 1
0ICW1 bit 3
Port A1 - Slave Interrupt Mask Shadow ........................ RO
Note that not all bits of the address are decoded.
The Timer / Counters are compatible with the Intel 8254
Timer / Counter chip. Detailed descriptions of 8254 Timer /
Counter operation can be obtained from the Intel Peripheral
Components Data Book and numerous other industry
publications.
Revision 1.0 May 13, 1997-25-Register Descriptions
Page 32
9,$7HFKQRORJLHV,QF
CMOS / RTC Registers
Port 70 - CMOS Address ................................................. WO
06Day of the Week
07Day of the Month
08Month
09Year
VT82C586B
Binary Range BCD Range
00-3Bh00-59h
00-3Bh00-59h
00-3Bh00-59h
00-3Bh00-59h
am 12hr: 01-1Ch01-12h
pm 12hr: 81-8Ch81-92h
24hr: 00-17h00-23h
am 12hr: 01-1Ch01-12h
pm 12hr: 81-8Ch81-92h
24hr: 00-17h00-23h
Sun=1: 01-07h01-07h
01-1Fh01-31h
01-0Ch01-12h
00-63h00-99h
Port 72 - CMOS Address .................................................. RW
7-0CMOS Address
Port 73 - CMOS Data........................................................ RW
7-0CMOS Data
Note:Ports 72-73 may be accessed if Rx5A bit-2 is set to
one to select the internal RTC. If Rx5A bit-2 is set to
zero, accesses to ports 72-73 will be directed to an
external RTC.
Port 74 - CMOS Address .................................................. RW
7-0CMOS Address
Port 75 - CMOS Data........................................................ RW
7-0CMOS Data
Note:Ports 74-75 may be accessed only if Function 0 Rx5B
bit-1 is set to one to enable the internal RTC SRAM
and if Rx48 bit-3 (Port 74/75 Access Enable) is set to
one to enable port 74/75 access.
Note:Ports 70-71 are compatible with PC industry-
standards and may be used to access the lower 128
bytes of the 256-byte on-chip CMOS RAM. Ports
72-73 may be used to access the full extended 256byte space. Ports 74-75 may be used to access the
full on-chip extended 256-byte space in cases where
the on-chip RTC is disabled.
Note:The system Real Time Clock (RTC) is part of the
“CMOS” block. The RTC control registers are
located at specific offsets in the CMOS data area (00Dh and 7D-7Fh). Detailed descriptions of CMOS /
RTC operation and programming can be obtained
from the VIA VT82887 Data Book or numerous
other industry publications. For reference, the
definition of the RTC register locations and bits are
summarized in the following table:
(256 bytes).................................RW
(256 bytes)
(256 bytes).................................RW
(256 bytes)
0ARegister A
7UIP
6-4DV2-0
3-0RS3-0
0BRegister B
7SET
6PIE
5AIE
4UIE
3SQWE
2DM
124/12
0DSE
0CRegister C
7IRQF
6PF
5AF
4UF
3-00
0DRegister D
7VRT
6-00
0E-7C Software-Defined Storage Registers
Offset Extended Functions
7DDate Alarm
7EMonth Alarm
7FCentury Field
80-FF Software-Defined Storage Registers
Update In Progress
Divide (010=ena osc & keep time)
Rate Select for Periodic Interrupt
Inhibit Update Transfers
Periodic Interrupt Enable
Alarm Interrupt Enable
Update Ended Interrupt Enable
No function (read/write bit)
Data Mode (0=BCD, 1=binary)
Hours Byte Format (0=12, 1=24)
Daylight Savings Enable
Interrupt Request Flag
Periodic Interrupt Flag
Alarm Interrupt Flag
Update Ended Flag
Unused (always read 0)
Reads 1 if VBAT voltage is OK
Unused (always read 0)
Binary Range BCD Range
01-1Fh01-31h
01-0Ch01-12h
13-14h19-20h
Table 5. CMOS Register Summary
(111 Bytes)
(128 Bytes)
Revision 1.0 May 13, 1997-26-Register Descriptions
Page 33
9,$7HFKQRORJLHV,QF
VT82C586B
PCI to ISA Bridge Registers (Function 0)
All registers are located in the function 0 PCI configuration
space of the VT82C586B. These registers are accessed
through PCI configuration mechanism #1 via I/O address
CF8/CFC.
PCI Configuration Space Header
Offset 1-0 - Vendor ID = 1106h ......................................... RO
Offset 3-2 - Device ID = 0586h .......................................... RO
3Special Cycle Enable
2Bus Master
1Memory Space
0I/O Space
† If the test bit at offset 46 bit-4 is set, access to the above
indicated bits is reversed: bit-3 above becomes read only
(reading back 1) and bits 0-1 above become read / write (with
a default of 1).
Offset 7-6 - Status ........................................................... RWC
Offset 44 - Keyboard Controller Control ........................ RW
7KBC Timeout Test
6-4Reserved
3Mouse Lock Enable
2-1Reserved
0Reserved
Offset 45 - Type F DMA Control ..................................... RW
7ISA Master / DMA to PCI Line Buffer
6DMA type F Timing on Channel 7
5DMA type F Timing on Channel 6
4DMA type F Timing on Channel 5
3DMA type F Timing on Channel 3
2DMA type F Timing on Channel 2
1DMA type F Timing on Channel 1
0DMA type F Timing on Channel 0
(no defined function)................. default = 0
(do not program) . def=0
(no defined function)................. default = 0
The Post Memory Write function is automatically
enabled when Delay Transaction (see Rx47 bit-6
below) is enabled, independent of the state of this bit.
Offset 47 - Miscellaneous Control 2 ................................ RW
7CPU Reset Source
6PCI Delay Transaction Enable
The "Post Memory Write" function is automatically
enabled when this bit is enabled, independent of the
state of Rx46 bit-0 above.
5EISA 4D0/4D1 Port Enable
4Interrupt Controller Shadow Register Enable
3Reserved (always program to 0)
Note: Always mask this bit. This bit may read back
2Write Delay Transaction Time-Out Timer Enable
1Read Delay Transaction Time-Out Timer Enable
0Software PCI Reset
(do not program)........................default = 0
(no function) ..............................default = 0
0Allow burst reads to be interrupted........default
Note:All ISA DMA / Masters that access addresses higher
than the top of PCI memory will not be directed to the
PCI bus.
11Forward E0000-EFFFF Accesses to PCI
10Forward A0000-BFFFF Accesses to PCI
9Forward 80000-9FFFF Accesses to PCI
8Forward 00000-7FFFF Accesses to PCI
7Forward DC000-DFFFF Accesses to PCI
6Forward D8000-DBFFF Accesses to PCI
5Forward D4000-D7FFF Accesses to PCI
4Forward D0000-D3FFF Accesses to PCI
3Forward CC000-CFFFF Accesses to PCI
2Forward C8000-CBFFF Accesses to PCI
1Forward C4000-C7FFF Accesses to PCI
0Forward C0000-C3FFF Accesses to PCI
for ISA DMA/Master accesses
(HA[23:16])
........def=0
.......def=0
........ def=1
........ def=1
......def=0
...... def=0
....... def=0
....... def=0
.....def=0
...... def=0
....... def=0
....... def=0
Revision 1.0 May 13, 1997-29-Register Descriptions
Page 36
9,$7HFKQRORJLHV,QF
Plug and Play Control
VT82C586B
Offset 50 - Reserved (Do Not Program) .......................... RW
Note:PIRQA-D# normally connect to PCI interrupt pins
INTA-D# (see pin definitions for more information).
Note: The definitions of the fields of the following three
registers were incorrectly documented in some earlier
revisions of this document. The silicon has not changed
and the following definition should be used for all silicon
revisions:
The bits in this register are latched from pins XD7-0 at powerup but are read/write accessible so may be changed after
power-up to change the default strap setting:
1Enable
This bit is set if the internal RTC is disabled but it is
desired to still be able to access the internal RTC
SRAM via ports 74-75. If the internal RTC is
enabled, setting this bit does nothing (the internal
RTC SRAM should be accessed at either ports 70/71
or 72/73.
0RTC Test Mode Enable
Offset 5C - DMA Control (3041 Silicon Only) ............... RW
Revision 1.0 May 13, 1997-32-Register Descriptions
Page 39
9,$7HFKQRORJLHV,QF
VT82C586B
Enhanced IDE Controller Registers (Function 1)
This Enhanced IDE controller interface is fully compatible
with the SFF 8038i v.1.0 specification. There are two sets of
software accessible registers -- PCI configuration registers and
Bus Master IDE I/O registers. The PCI configuration registers
are located in the function 1 PCI configuration space of the
VT82C586B. The Bus Master IDE I/O registers are defined in
the SFF8038i v1.0 specification.
PCI Configuration Space Header
Offset 1-0 - Vendor ID (1106h=VIA) ................................ RO
Offset 3-2 - Device ID (0571h=IDE Controller) ............... RO
1Native PCI Mode ................default if SPKR=1
The default value for this bit is determined at powerup as strapped by the SPKR pin (pin 134) ): 0 =
fixed IDE addressing, 1 = flexible IDE addressing.
See figure 2 for strap circuit.
1Programmable Indicator - Primary
0Fixed (mode is determined by bit-2)
1Supports both modes (may be set to either
0Channel Operating Mode - Primary
0Compatibility Mode.............default if SPKR=0
1Native PCI Mode ................default if SPKR=1
The default value for this bit is determined at powerup as strapped by the SPKR pin (pin 134) ): 0 =
fixed IDE addressing, 1 = flexible IDE addressing.
See figure 2 for strap circuit.
Compatibility Mode (fixed IRQs and I/O addresses):
Command BlockControl Block
ChannelRegisters
Pri1F0-1F73F614
Sec170-17737615
Native PCI Mode (registers are programmable in I/O space)
Command BlockControl Block
ChannelRegisters
PriBA @offset 10hBA @offset 14h
SecBA @offset 18hBA @offset 1Ch
Command register blocks are 8 bytes of I/O space
Control registers are 4 bytes of I/O space (only byte 2 is used)
Offset A - Sub Class Code (01h) ....................................... RO
Offset B - Base Class Code (01h) ...................................... RO
Offset D - Latency Timer (Default=0) ............................. RW
Offset E - Header Type (00h) ............................................ RO
Offset F - BIST (00h) ......................................................... RO
Offset 8 - Secondary Channel Command
Offset A - Secondary Channel Status
Offset C-F - Secondary Channel PRD Table Address
VT82C586B
Revision 1.0 May 13, 1997-37-Register Descriptions
Page 44
9,$7HFKQRORJLHV,QF
VT82C586B
Universal Serial Bus Controller Registers (Function 2)
This USB host controller interface is fully compatible with
UHCI specification v1.1. There are two sets of software
accessible registers: PCI configuration registers and USB I/O
registers. The PCI configuration registers are located in the
function 2 PCI configuration space of the VT82C586B. The
USB I/O registers are defined in the UHCI v1.1 specification.
PCI Configuration Space Header
Offset 1-0 - Vendor ID ....................................................... RO
0-7Vendor ID
Offset 3-2 - Device ID ......................................................... RO
1111 IRQ15 (see note below)
Note: Some software incorrectly sets this register to 0FFh to
disable USB interrupts. A value of 0FFh will program the
USB interrupt to interrupt controller channel 15 and cause the
secondary IDE channel to work improperly.
These registers are compliant with the UHCI v1.1 standard.
Refer to the UHCI v1.1 specification for further details.
Offset 1-0 - USB Command
Offset 3-2 - USB Status
Offset 5-4 - USB Interrupt Enable
Offset 7-6 - Frame Number
Offset B-8 - Frame List Base Address
Offset 0C - Start Of Frame Modify
Offset 11-10 - Port 1 Status / Control
Offset 13-12 - Port 2 Status / Control
Offset 1F-14 - Reserved
Offset 41 - Miscellaneous Control 2 ................................. RW
7-3Reserved
2Trap Option
0Set trap 60/64 status bits without checking
1Set trap 60/64 status bits only when trap 60/64
1A20gate Pass Through Option
0Pass through A20GATE command sequence
1Don’t pass through Write I/O port 64 (ff)
0Reserved
Offset 60 - Serial Bus Release Number ............................. RO
7-0Release Number
Offset C1-C0 - Legacy Support ......................................... RO
Revision 1.0 May 13, 1997-39-Register Descriptions
Page 46
9,$7HFKQRORJLHV,QF
Power Management Registers (Function 3)
This section describes the ACPI (Advanced Configuration and
Power Interface) Power Management system of the
VT82C586B. This system supports both ACPI and legacy
power management functions and is compatible with the APM
v1.2 and ACPI v0.9 specifications.
PCI Configuration Space Header
VT82C586B
Offset 1-0 - Vendor ID ....................................................... RO
0-7Vendor ID
Offset 3-2 - Device ID ......................................................... RO
7Address Stepping
6Reserved
5Reserved
4Memory Write and Invalidate
3Reserved
2Bus Master
1Memory Space
0I/O Space
0Disable ........ always reads 0 in 3040F and later
1Enable
Note: In 3040E and earlier silicon, this bit could be
set to 1 to allow access to the Power Management I/O
Register Block (the quadword at offset 20 was used in
that silicon to set the base address for this register
block). Beginning with 3040F silicon, the function of
this bit was moved to offset 41 bit-7 and the base
address register for the PM I/O register block was
moved from to offset 48.
Offset 7-6 - Status ........................................................... RWC
Offset 8 - Revision ID (nnh) .............................................. RO
7-4Silicon Version Code
0OEM Version ("3040 Silicon")
1Production Version ("3041 Silicon")
2-F -reserved for future use-
3-0Silicon Revision Code
OEM Version
0Revision E ("3040E")
1Revision F ("3040F")
2-F -reserved for future use-
Production Version
0Revision A ("3041" or "3041A")
1-F -reserved for future useProgramming and pin differences between the above silicon
versions and revisions are indicated in this document in the
appropriate section. Marking specifications corresponding to
the above versions and revisions are also included in the
Mechanical Specifications section of this document.
Port Address for the base of the 256-byte Power
Management I/O Register block, corresponding to
AD[15:8]. The "I/O Space" bit at offset 5-4 bit-0
enables access to this register block.
Register Block (see offset 4B-48 to set the
base address for this register block). The
definitions of the registers in the Power
Management I/O Register Block are included
later in this document, following the Power
Management Subsystem overview.
(Do Not Program)...................... default = 0
(Do Not Program)...................... default = 0
151/0 = Ena/Disa IRQ15 as Secondary Intr Channel
141/0 = Ena/Disa IRQ14 as Secondary Intr Channel
131/0 = Ena/Disa IRQ13 as Secondary Intr Channel
121/0 = Ena/Disa IRQ12 as Secondary Intr Channel
111/0 = Ena/Disa IRQ11 as Secondary Intr Channel
101/0 = Ena/Disa IRQ10 as Secondary Intr Channel
91/0 = Ena/Disa IRQ9 as Secondary Intr Channel
81/0 = Ena/Disa IRQ8 as Secondary Intr Channel
71/0 = Ena/Disa IRQ7 as Secondary Intr Channel
61/0 = Ena/Disa IRQ6 as Secondary Intr Channel
51/0 = Ena/Disa IRQ5 as Secondary Intr Channel
41/0 = Ena/Disa IRQ4 as Secondary Intr Channel
31/0 = Ena/Disa IRQ3 as Secondary Intr Channel
2Reserved
11/0 = Ena/Disa IRQ1 as Secondary Intr Channel
01/0 = Ena/Disa IRQ0 as Secondary Intr Channel
Offset 4B-48 - I/O Register Base Address (3040F and later
silicon; see Offset 23-20 for 3040E and earlier) ............ RW
31-16 Reserved
15-8 Power Management I/O Register Base Address.
Port Address for the base of the 256-byte Power
Management I/O Register block, corresponding to
AD[15:8]. The "I/O Space" bit at offset 41 bit-7
(offset 5-4 bit-0 in 3040E and earlier silicon) enables
access to this register block. The definitions of the
registers in the Power Management I/O Register
Block are included later in this document, following
the Power-Management-Specific PCI Configuration
register descriptions and the Power Management
Subsystem overview.
On setting this bit to 1, the GP1 timer loads the value
defined by bits 23-16 of this register and starts
counting down. The GP1 timer is reloaded at the
occurrence of certain peripheral events enabled in the
GP Timer Reload Enable Register (Power
Management I/O Space Offset 38h). If no such event
occurs and the GP1 timer counts down to zero, then
the GP1 Timer Timeout Status bit is set to one (bit-3
of the Global Status register at Power Management
Register I/O Space Offset 28h). Additionally, if the
GP1 Timer Timeout Enable bit is set (bit-3 of the
Global Enable register at Power Management
Register I/O Space Offset 2Ah), then an SMI is
generated.
6GP1 Timer Automatic Reload
This bit is set to one to enable the GP1 timer to reload
automatically after counting down to 0.
On setting this bit to 1, the GP0 timer loads the value
defined by bits 15-8 of this register and starts
counting down. The GP0 timer is reloaded at the
occurrence of certain peripheral events enabled in the
GP Timer Reload Enable Register (Power
Management I/O Space Offset 38h). If no such event
occurs and the GP0 timer counts down to zero, then
the GP0 Timer Timeout Status bit is set to one (bit-2
of the Global Status register at Power Management
Register I/O Space Offset 28h). Additionally, if the
GP0 Timer Timeout Enable bit is set (bit-2 of the
Global Enable register at Power Management
Register I/O Space Offset 2Ah), then an SMI is
generated.
2GP0 Timer Automatic Reload
This bit is set to one to enable the GP0 timer to reload
automatically after counting down to 0.
Offset 61 - Programming Interface Read Value ............ WO
7-0Rx09 Read Value
The value returned by the register at offset 9h (Programming
Interface) may be changed by writing the desired value to this
location.
Offset 62 - Sub Class Read Value .................................... WO
7-0Rx0A Read Value
The value returned by the register at offset 0Ah (Sub Class
Code) may be changed by writing the desired value to this
location.
Offset 63 - Base Class Read Value ................................... WO
7-0Rx0B Read Value
The value returned by the register at offset 0Bh (Base Class
Code) may be changed by writing the desired value to this
location.
Revision 1.0 May 13, 1997-42-Register Descriptions
Page 49
9,$7HFKQRORJLHV,QF
VT82C586B
Power Management Subsystem Overview
The power management function of the VT82C586B is
indicated in the following block diagram:
*3
'HYLFH
,GOH
7LPHU
3ULPDU\
(YHQWV
*3
*OREDO
6WDQGE\
7LPHU
3:5%71
*3,2
5,
86%
UHVXPH
/HJDF\2QO\(YHQW/RJLF$&3,/HJDF\(YHQW/RJLF
$&3,/HJDF\*HQHULF&RQWURO)HDWXUHV
$&3,/HJDF\)L[HG&RQWURO)HDWXUHV
$&3,2QO\(YHQW/RJLF
8VHU
,QWHUIDFH
%XV
0DVWHU
+DUGZDUH
(YHQWV
57&
307LPHU
6&,B(1
'HF
60,(YHQWV6&,60,(YHQWV
:DNHXS(YHQWV
60,$UELWHU
6&,$UELWHU
6OHHS:DNH
6WDWH
0DFKLQH
&38
673&/.
&RQWURO
3RZHU
3ODQH
&RQWURO
60,
6&,
Figure 4. Power Management Subsystem Block Diagram
Refer to ACPI Specification v0.9 and APM specification v1.2
for additional information.
Power Plane Management
There are three power planes inside the VT82C586B. The
scheme is optimal for systems with ATX power supplies,
although it also works using non-ATX power supplies. The
key feature of the ATX power supply is that two sets of power
sources are available: the first set is always on unless turned
off by the mechanical switch. Only one voltage (5V) is
available for this set. The second set includes the normal 5V
and 12V and is controlled by an input signal PWRON as well
as the mechanical switch. This set of voltages is available only
when both the mechanical switch is on and the PWRON signal
is high. The power planes powered by the above two sets of
supplies are referred to as VDD-5VSB and VDD-5V (also
called VDD5), respectively. In addition to the two power
planes, a third plane is powered by the combination of 5VSB
and VBAT for the integrated real time clock. Most of the
circuitry inside the VT82C586B is powered by VDD-5V. The
amount of logic powered by VDD-5VSB is very small and
remains functional as long as the mechanical switch of the
power supply is turned on. The main function of this logic is
to control the power supply of the VDD-5V plane.
General Purpose I/O Ports
As ACPI compliant hardware, the VT82C586B includes
PWRBTN# (pin 91) and RI# (pin 93) pins to implement power
button and ring indicator functionality. In addition, a PWRON
pin (pin 107) is also available to control the VDD-5V power
plane by VDD-5VSB powered logic. Furthermore, the
VT82C586B offers many general purpose I/O ports with the
following capabilities:
2
C support
• I
• Three GPIO ports without external logic in addition to
2
C port. Five GPIO ports are available if I2C
the I
functionality is not used. Every port can be used inp uts,
outputs or I/O with external SCI/SMI capabilities.
• Sixteen GPI and sixteen GPO pins using external
buffers (244 buffers for input and 373 latches for output).
Pins 87, 88 and 94 of the VT82C586B are dedicated general
purpose I/O pins that can be used as inputs, outputs or I/O with
external SMI capability. In particular, pins 87 and 88 can be
used to implement a software-implemented I
2
C port for system
configuration and genera l purpose peripheral communication.
Pins 92 and 136 can be configured either as dedicated general
purpose I/O pins or as control signals for external buffers for
implementing up to sixteen GPI and sixteen GPO ports. The
GPI and GPO ports are connected to the SD15-8 and XD7-0.
The configuration is determined in the GPIO4_CFG and
CPIO3_CFG bits of the PIN_CFG register:
GPIO4_CFG: default to 1 to define pin 136 as GPIO4;
set to 0 to redefine the pin as GPO_WE latch enable.
GPIO3_CFG: default to 1 to define pin 92 as GPIO3; set
to 0 to redefine the pin as GPI_RE# buffer enable.
Revision 1.0 May 13, 1997-43-Register Descriptions
Page 50
9,$7HFKQRORJLHV,QF
Power Management Events
VT82C586B
Three types of power management events are supported:
1)
ACPI-required Fixed Events
and PM1a_EN registers. These events can trigger either
SCI or SMI depending on the SCI_EN bit:
• PWRBTN# Triggering
• RTC Alarm
• ACPI Power Management Timer Carry (always SCI)
• BIOS Release (always SCI)
2)
ACPI-aware General Purpose Function Events
in the GP_STS and GP_SCI_EN, and GP_SMI_EN
registers. These events can trigger either SCI or SMI
depending on the setting of individual SMI and SCI
enable bits:
• EXTSMI triggering (refer to Table 2)
• USB Resume
• RI# Indicator
3)
Generic Global Events
GBL_EN registers. These registers are mainly used for
SMI:
• GP0 and GP1 Timer Time Out
• Secondary Event Timer Time Out
• Occurrence of Primary Events
(defined in register PACT_STS and PACT_EN)
• Legacy USB accesses (keyboard and mouse).
Once enabled, each of the EXTSMI inputs triggers an SCI or
SMI at either the rising or the falling transition of the
corresponding input pin signal. Software can check the status
of the input pins via register EXTSMI_VAL and take proper
actions.
Among many possible actions, the SCI and SMI routine can
change the processor state by programming the P_BLK
registers. The routine can also set the SLP_EN bit to put the
system into one of the two suspend states:
1)
Suspend to Disk (or Soft-Off):
plane is turned off while VDD-5VSB and VDD-RTC
planes remain on.
2)
Power-On-Suspend:
processor is put in the C3 state.
In either suspend state, there is minimal interface between
powered and non-powered planes.
All power planes remain on but the
defined in the PM1a_STS
defined
defined in the GBL_STS and
The VDD-5V power
The VT82C586B allows the following events to wake up the
system from the two suspend states and from the C2 state to
the normal working state (processor in C0 state):
•
Activation of External Inputs:
and other EXTSMI pins (see table below)
•
RTC Alarm and ACPI Power Management Timer
table below)
•
USB Resume Event
•
Interrupt Events
register setting)
•
ISA Master or DMA Events
independent of any register setting)
The VT82C586B also provides very flexible SCI/SMI steering
and the PWRON control for these events:
Revision 1.0 May 13, 1997-44-Register Descriptions
Page 51
9,$7HFKQRORJLHV,QF
VT82C586B
Legacy Power Management Timers
In addition to the ACPI power management timer, the
VT82C586B includes the following four legacy power
management timers:
GP0 Timer
GP1 Timer
reload
Secondary Event Timer
Conserve Mode Timer
The normal sequence of operations for a general purpose timer
(GP0 or GP1) is to
1) First program the time base and timer value of the initial
count (register GP_TIM_CNT).
2) Then activate counting by setting the GP0_START or
GP1_START bit to one: the timer will start with the
initial count and count down towards 0.
3) When the timer counts down to zero, an SMI will be
generated if enabled (GP0TO_EN and GP1TO_EN in the
GBL_EN register) with status recorded (GP0TO_STS and
GP1TO_STS in the GBL_STS register).
4) Each timer can also be programmed to reload the initial
count and restart counting automatically after counting
down to 0. This feature is not used in standard VIA
BIOS.
The GP0 and GP1 timers can be used just as the general
purpose timers described above. However, they can also be
programmed to reload the initial count by system primary
events or peripheral events thus used as primary event (global
standby) timer and peripheral timer, respectively. The
secondary event timer is solely used to monitor secondary
events.
System Primary and Secondary Events
Primary system events are distinguished in the P RI_ACT _ST S
and PRI_ACT_EN registers:
Bit Event
7
Keyboard Access
6
Serial Port Access
5
Parallel Port Access
4
Video Access
3
IDE/Floppy Access
2
Reserved
1
Primary Interrupts
0
ISA Master/DMA Activity
Each category can be enabled as a primary event by setting the
corresponding bit of the PRI_ACT_EN register to 1. If
: general purpose timer with primary event
: general purpose timer with peripheral event
: to monitor secondary events
: not used in desktop applications
Trigger
I/O port 60h
I/O ports 3F8h-3FFh, 2F8h-2FFh,
3E8h-3EFh, or 2E8h-2EFh
I/O ports 378h-37Fh or 278h-27Fh
I/O ports 3B0h-3DFh or memory
A/B segments
I/O ports 1F0h-1F7h, 170h-177h,
or 3F5h
Each channel of the interrupt
controller can be programmed to
be a primary or secondary
interrupt
enabled, the occurrence of the primary event reloads the GP0
timer if the PACT_GP0_EN bit is also set to 1. T he cause of
the timer reload is recorded in the corresponding bit of
PRI_ACT_STS register while the timer is reloaded. If no
enabled primary event occurs during the count down, the GP0
timer will time out (count down to 0) and the system can be
programmed (setting the GP0TO_EN bit in the GBL_EN
register to one) to trigger an SMI to switch the system to a
power down mode.
The VT82C586B distinguishes two kinds of interrupt requests
as far as power management is concerned: the primary and
secondary interrupts. Like other primary events, the
occurrence of a primary interrupt demands that the system be
restored to full processing capability. Secondary interrupts,
however, are typically used for housekeeping tasks in the
background unnoticeable to the user. The VT82C586B allows
each channel of interrupt request to be declared as either
primary, secondary, or ignorable in the PIRQ_CH and
SIRQ_CH registers. Secondary interrupts are the only system
secondary events defined in the VT82C586B.
Like primary events, primary interrupts can be made to reload
the GP0 timer by setting the PIRQ_EN bit to 1. Secondary
interrupts do not reload the GP0 timer. Therefore the GP0
timer will time out and the SMI routine can put the system into
power down mode if no events other than secondary interrupts
are happening periodically in the background.
Primary events can be programmed to trigger an SMI (setting
of the PACT_EN bit). Typically, this SMI triggering is turned
off during normal system operation to avoid degrading system
performance. Triggering is turned on by the SMI routine
before entering the power down mode so that the system may
be returned to normal operation at the occurrence of primary
events. At the same time, the GP0 timer is reloaded and the
count down process is restarted.
Peripheral Events
Primary and secondary events define system events in general
and the response is typically expressed in terms of system
events. Individual peripheral events can also be monitored by
the VT82C586B through the GP1 timer. The follo wing four
categories of perip heral events are distinguished (via register
GP_RLD_EN):
Bit-7
Bit-6
Bit-4
Bit-3
The four categories are subsets of the primary events as
defined in PRI_ACT_EN and the occurrence of these events
can be checked through a common register PRI_ACT_STS.
As a peripheral timer, GP1 can be used to monitor one (or
more than one) of the above four device types by programming
the corresponding bit to one and the other bits to zero. Time
out of the GP1 timer indicates no activity of the corresponding
device type and appropriate action can be taken as a result.
Keyboard Access
Serial Port Access
Video Access
IDE/Floppy Access
Revision 1.0 May 13, 1997-45-Register Descriptions
Page 52
9,$7HFKQRORJLHV,QF
Power Management I/O-Space Registers
Basic Power Management Control and Status
VT82C586B
Offset 1-0 - Power Management Status ........................ RWC
The bits in this register are set only by hardware and can be
reset by software by writing a one to the desired bit position.
15Wakeup Status
This bit is set when the system is in the suspend state
and an enabled resume event occurs. Upon setting
this bit, the system automatically transitions from the
suspend state to the normal working state (from C3 to
C0 for the processor).
14-12 Reserved
11Power Button Override Status
This bit is set when the PWRBTN# input pin is
continuously asserted for more than 4 seconds. The
setting of this bit will reset the PB_STS bit and
transition the system into the soft off state.
10RTC Status
This bit is set when the RTC generates an alarm (on
assertion of the RTC IRQ signal).
9Reserved
8Power Button Status
This bit is set when the PWRBTN# signal is asserted
LOW. If the PWRBTN# signal is held LOW for
more than four seconds, this bit is cleared, the
PBOR_STS bit is set, and the system will transition
into the soft off state.
7-6Reserved
5Global Status
This bit is set by hardware when BIOS_RLS is set
(typically by an SMI routine to release control of the
SCI/SMI lock). When this bit is cleared by software
(by writing a one to this bit position) the BIOS_RLS
bit is also cleared at the same time by hardware.
4Bus Master Status
This bit is set when a system bus master requests the
system bus. All PCI master, ISA master and ISA
DMA devices are included.
3-1Reserved
0Timer Carry Status
The bit is set when the 23
bit ACPI power management timer changes.
Revision 1.0 May 13, 1997-46-Register Descriptions
Page 53
9,$7HFKQRORJLHV,QF
VT82C586B
Offset 5-4 - Power Management Control ........................ RW
15-14 Reserved
13Sleep Enable
This is a write-only bit; reads from this bit always
return zero. Writing a one to this bit causes the
system to sequence into the sleep (suspend) state
defined by the SLP_TYP field.
12-10 Sleep Type
000 Soft Off (also called Suspend to Disk). The
010 Power On Suspend. All power planes remain
0x1 Reserved
1xx Reserved
In either sleep state, there is minimal interface
between powered and non-powered planes so that the
effort for hardware design may be well managed.
9-3Reserved
2Global Release
This bit is set by ACPI software to indicate the
release of the SCI / SMI lock. Upon setting of this
bit, the hardware automatically sets the BIOS_STS
bit. The bit is cleared by hardware when the
BIOS_STS bit is cleared by software. Note that the
setting of this bit will cause an SMI to be generated if
the BIOS_EN bit is set (bit-5 of the Global Enable
register at offset 2Ah).
1Bus Master Reload
This bit is used to enable the occurrence of a bus
master request to transition the processor from the C3
state to the C0 state.
0SCI Enable
Selects the power management event to generate
either an SCI or SMI:
0Generate SMI
1Generate SCI
Note that certain power management events can be
programmed individually to generate an SCI or SMI
independent of the setting of this bit (refer to the
General Purpose SCI Enable and General Purpose
SMI Enable registers at offsets 22 and 24). Also,
TMR_STS & GBL_STS always generate SCI and
BIOS_STS always generates SMI.
Offset 0B-08 - Power Management Timer ...................... RW
31-24 Extended Timer Value (ETM_VAL)
This field reads back 0 if the 24-bit timer option is
selected (Rx41 bit-3).
23-0 Timer Value (TMR_VAL)
This read-only field r eturns the running count of the
power management timer. This is a 24/32-bit counter
that runs off a 3.579545 MHz clock, and counts while
in the S0 (working) system state. The timer is reset to
an initial value of zero during a reset, and then
continues counting until the 14.31818 MHz input to
the chip is stopped. If the clock is restarted without a
reset, then the counter will continue counting from
where it stopped.
Revision 1.0 May 13, 1997-47-Register Descriptions
Page 54
9,$7HFKQRORJLHV,QF
Processor Power Management Registers
VT82C586B
Offset 13-10 - Processor Control ...................................... RW
31-5 Reserved
4Throttling Enable (THT_EN)
3040 Silicon:
reading the "Processor Level 2" (P_LVL2) port:
0No clock thro ttling. Reads from the Processor
1Reading the "Processor Level 2" port enables
3041 Silicon:
3-1Throttling Duty Cycle (THT_DTY)
This 3-bit field determines the duty cycle of the
STPCLK# signal when the system is in throttling
mode (the "Throttling Enable" bit is set to one and , in
3040 silicon, the "Processor Level 2" register is
read). The duty cycle indicates the percentage of
time the STPCLK# signal is asserted while the
Throttling Enable bit is set. The field is decoded as
follows:
clock throttling by modulating the STPCLK#
signal with a duty cycle determined bits 3-1 of
this register.
Setting this bit starts clock throttling
(modulating the STPCLK# signal) regardless
of the CPU state (i.e., it is not necessary to
read the "Processor Level 2" port to start clock
throttling). The throttling duty cycle is
determined by bits 3-1 of this register.
processor in the C2 clock state if the Throttling
Enable bit (Function 3 Rx10 bit-4) is set.
3041 Silicon:
processor into the Stop Clock state (the VT82C586B
asserts STPCLK# to suspend the processor). Wake
up from Stop Clock state is by interrupt (INTR, SMI,
PWRBTN#, RTC wakeup, or pin toggle SCI).
Reads from this register return all zeros; writes to this register
have no effect.
Revision 1.0 May 13, 1997-48-Register Descriptions
Page 55
9,$7HFKQRORJLHV,QF
General Purpose Power Management Registers
VT82C586B
Offset 21-20 - General Purpose Status (GP_STS) ....... RWC
15-10 Reserved
9USB Resume Status (USB_STS)
This bit is set when a USB peripheral generates a
resume event.
8Ring Status (RI_STS)
This bit is set when the RI# input is asserted low.
7EXTSMI7 Toggle Status (EXT7_STS)
This bit is set when the EXTSMI7# pin is toggled.
6EXTSMI6 Toggle Status (EXT6_STS)
This bit is set when the EXTSMI6# pin is toggled.
5EXTSMI5 Toggle Status (EXT5_STS)
This bit is set when the EXTSMI5# pin is toggled.
4EXTSMI4 Toggle Status (EXT4_STS)
This bit is set when the EXTSMI4# pin is toggled.
3EXTSMI3 Toggle Status (EXT3_STS)
This bit is set when the EXTSMI3# pin is toggled.
2EXTSMI2 Toggle Status (EXT2_STS)
This bit is set when the EXTSMI2# pin is toggled.
1EXTSMI1 Toggle Status (EXT1_STS)
This bit is set when the EXTSMI1# pin is toggled.
0EXTSMI0 Toggle Status (EXT0_STS)
This bit is set when the EXTSMI0# pin is toggled.
Note that the above bits correspond one for one with the bits
of the General Purpose SCI Enable and General Purpose SMI
Enable registers at offsets 22 and 24: an SCI or SMI is
generated if the corresponding bit of the General Purpose SCI
or SMI Enable registers, respectively, is set to one.
The above bits are set by hardware only and can only be
cleared by writing a one to the desired bit.
Offset 23-22 - General Purpose SCI Enable ................... RW
15-10 Reserved
9Enable SCI on setting of the USB_STS bit
8Enable SCI on setting of the RI_STS bit
7Enable SCI on setting of the EXT7_STS bit
6Enable SCI on setting of the EXT6_STS bit
5Enable SCI on setting of the EXT5_STS bit
4Enable SCI on setting of the EXT4_STS bit
3Enable SCI on setting of the EXT3_STS bit
2Enable SCI on setting of the EXT2_STS bit
1Enable SCI on setting of the EXT1_STS bit
0Enable SCI on setting of the EXT0_STS bit
These bits allow generation of an SCI using a separate set of
conditions from those used for generating an SMI.
Offset 25-24 - General Purpose SMI Enable .................. RW
15-10 Reserved
9Enable SMI on setting of the USB_STS bit
8Enable SMI on setting of the RI_STS bit
7Enable SMI on setting of the EXT7_STS bit
6Enable SMI on setting of the EXT6_STS bit
5Enable SMI on setting of the EXT5_STS bit
4Enable SMI on setting of the EXT4_STS bit
3Enable SMI on setting of the EXT3_STS bit
2Enable SMI on setting of the EXT2_STS bit
1Enable SMI on setting of the EXT1_STS bit
0Enable SMI on setting of the EXT0_STS bit
These bits allow generation of an SMI using a separate set of
conditions from those used for generating an SCI.
Offset 27-26 - Power Supply Control .............................. RW
15-11 Reserved
10Ring PS Control (RI_PS_CTL)
This bit enables the setting of the RI_STS bit to turn
on the VDD_5V power plane by setting PWRON = 1.
9Power Button Control (PB_CTL)
This bit is used to control the setting of the P B_STS
bit to resume the system from suspend (turn on the
VDD_5V power plane by setting PWRON = 1).
8RTC PS Control (RTC_PS_CTL)
This bit enables the setting of the RTC_STS bit to
resume the system from suspend (turn on the
VDD_5V power plane by setting PWRON = 1).
7-1Reserved
0EXTSMI0 Toggle PS Control (E0_PS_CTL)
This bit enables the setting of the EXT0_ST S bit to
resume the system from suspend (turn on the
VDD_5V power plane by setting PWRON = 1).
Revision 1.0 May 13, 1997-49-Register Descriptions
Page 56
9,$7HFKQRORJLHV,QF
Generic Power Management Registers
VT82C586B
Offset 29-28 - Global Status .......................................... RWC
15-7 Reserved
6Software SMI Status (SW_SMI_STS)
This bit is set when the SMI_CMD port (offset 2F) is
written.
5BIOS Status (BIOS_STS)
This bit is set when the GBL_RLS bit is set to one
(typically by the ACPI software to release control of
the SCI/SMI lock). When this bit is reset (by writing
a one to this bit position) the GBL_RLS bit is reset at
the same time by hardware.
4Legacy USB Status (LEG_USB_STS)
This bit is set when a legacy USB event occurs.
3GP1 Timer Time Out Status (GP1TO_STS)
This bit is set when the GP1 timer times out.
2GP0 Timer Time Out Status (GP0TO_STS)
This bit is set when the GP0 timer times out.
1Secondary Event Timer Time Out Status
(STTO_STS)
This bit is set when the secondary event timer times
out.
0Primary Activity Status (PACT_STS)
This bit is set at the occurrence of any enabled
primary system activity (see the Primary Activity
Detect Status register at offset 30h and the Primary
Activity Detect Enable register at offset 34h). After
checking this bit, software can check the status bits in
the Primary Activity Detect Status register at offset
30h to identify the specific source of the primary
event. Note that setting this bit can be enabled to
reload the GP0 timer (see bit-0 of the GP Timer
Reload Enable register at offset 38).
Note that SMI can be generated based on the setting of any of
the above bits (see the offset 2Ah Global Enable register bit
descriptions in the right hand column of this page).
The bits in this register are set by hardware only and can only
be cleared by writing a one to the desired bit position.
Revision 1.0 May 13, 1997-50-Register Descriptions
Page 57
9,$7HFKQRORJLHV,QF
VT82C586B
Offset 2D-2C - Global Control (GBL_CTL) ................... RW
15-9 Reserved
8SMI Active (INSMI)
7-5Reserved
4SMI Lock (SMIIG)
3Reserved
2Power Button Triggering
Set to one to avoid the situation where PB_STS is set
to wake up the system then reset again by
PBOR_STS to switch the system into the soft-off
state. Must be set to 0 for ACPI v0.9 compliance.
1BIOS Release (BIOS_RLS)
This bit is set by legacy software to indicate release
of the SCI/SMI lock. Upon setting of this bit,
hardware automatically sets the GBL_STS bit. This
bit is cleared by hardware when the GBL_STS bit
cleared by software.
Note that if the GBL_EN bit is set (bit-5 of the Power
Management Enable register at offset 2), then setting
this bit causes an SCI to be generated (because setting
this bit causes the GBL_STS bit to be set).
Writing to this port sets the SW_SMI_ST S bit. Note
that if the SW_SMI_EN bit is set (see bit-6 of the
Global Enable register at offset 2Ah), then an SMI is
generated.
Revision 1.0 May 13, 1997-51-Register Descriptions
Page 58
9,$7HFKQRORJLHV,QF
VT82C586B
Offset 33-30 - Primary Activity Detect Status ............. RWC
These bits correspond to the Primary Activity Detect Enable
bits in offset 37-34.
31-8 Reserved
7Keyboard Controller Access Status..... (KBC_STS)
Set if the keyboard controller is accessed via I/O port
60h.
6Serial Port Access Status....................... (SER_STS)
Set if the serial port is accessed via I/O ports 3F83FFh, 2F8-2FFh, 3E8-3EFh, or 2E8-2Efh (COM1-4,
respectively).
5Parallel Port Access Status....................(PAR_STS)
Set if the parallel port is accessed via I/.O ports 27827Fh or 378-37Fh (LPT2 or LPT1).
Set on the occurrence of a primary interrupt (enabled
via the "Primary Interrupt Channel" register at
Function 3 PCI configuration register offset 44h).
0ISA Master / DMA Activity Status......(DRQ_STS)
Set on the occurrence of ISA master or DMA activity.
Note:The bits above correspond to the bits of the Primary
Activity Detect Enable register at offset 34 (see right
hand column of this page): if the corresponding bit is
set in that register, setting of the above bits will cause
the PACT_STS bit to be set (bit-0 of the Global
Status register at offset 28). Setting of PACT_STS
may be set up to enable a "Primary Activity Event":
an SMI will be generated if PACT_EN is set (bit-0 of
the Global Enable register at offset 2Ah) and/or the
GP0 timer will be reloaded if the "GP0 Timer Reload
on Primary Activity" bit is set (bit-0 of the GP Timer
Reload Enable register at offset 38 on this page).
Note:Bits 3-7 above also correspond to bits 3-7 of the GP
Timer Reload Enable register at offset 38 (see right
hand column of this page): if the corresponding bit is
set in that register, setting the bit in this register will
cause the GP1 timer to be reloaded.
All bits of this register are set by hardware only and may only
be cleared by writing a one to the desired bit. All bits default
to 0.
Note:Setting of any of the above bits also sets the
PACT_STS bit (bit-0 of offset 28) which causes the
GP0 timer to be reloaded (if PACT_GP0 _EN is set)
or generates an SMI (if PACT_EN is set).
Offset 3B-38 - GP Timer Reload Enable ......................... RW
All bits in this register default to 0 on power up.
31-8 Reserved
7Enable GP1 Timer Reload on KBC Access
1 = setting of KBC_STS causes GP1 timer to reload.
6Enable GP1 Timer Reload on Serial Port Access
1 = setting of SER_STS causes GP1 timer to reload.
5Reserved
4Enable GP1 Timer Reload on Video
1 = setting of VID_STS causes GP1 timer to reload.
3Enable GP1 Timer Reload on IDE/Floppy Access
1 = setting of IDE_STS causes GP1 timer to reload.
2-1Reserved
0Enable GP0 Timer Reload on Primary Activity
1 = setting of PACT_STS causes GP0 timer to reload.
Primary activities are enabled via the Primary
Activity Detect Enable register (offset 37-34) with
status recorded in the Primary Activity Detect Status
register (offset 33-30).
0Pin 136 is GPIO4 input ..........................default
1Pin 136 is GPIO4 output (if Rx40 bit-7 = 1)
0Pin 92 is GPIO3 input ............................default
1Pin 92 is GPIO3 output (if Rx40 bit-6 = 1)
0Pin 88 is GPIO2 / I2CD1 input ..............default
1Pin 88 is GPIO2 / I2CD1 output
0Pin 87 is GPIO1 / I2CD2 input ..............default
1Pin 87 is GPIO1 / I2CD2 output
0Pin 94 is GPIO0 input ............................default
1Pin 94 is GPIO0 output
Offset 42 - GPIO Port Output Value (GPIO_VAL) ...... RW
7-5Reserved
4GPIO4_VAL
Write output value for the GPIO4 pin if the port is
available (GPIO4_CFG = 1 in PCI Config Register
function 3 offset 40h). The input state of the GPIO4
pin may be read from register EXTSMI_VAL bit-4.
3GPIO3_VAL
Write output value for the GPIO3 pin if the port is
available (GPIO3_CFG = 1 in PCI Config Register
function 3 offset 40h). The input state of the GPIO3
pin may be read from register EXTSMI_VAL bit-3.
2GPIO2_VAL
Write output value for the GPIO2 (I2CD2) pin. T he
input state of the GPIO2 pin may be read from
register EXTSMI_VAL bit-2.
1GPIO1_VAL
Write output value for the GPIO1 (I2CD1) pin. T he
input state of the GPIO1 pin may be read from
register EXTSMI_VAL bit-1.
0GPIO0_VAL
Write output value for the GPIO0 pin. The input
state of the GPIO0 pin may be read from register
EXTSMI_VAL bit-0.
Offset 44 - GPIO Port Input Value (EXTSMI_VAL) ..... RO
Depending on the configuration, up to 8 external SCI/SMI
ports are available as indicated below. The state of these
inputs may be read in this register.
7EXTSMI7# Input Value
GPIO3_CFG=0: EXTSMI7# on XD7 (pin 122)
GPIO3_CFG=1: EXTSMI7# function not available
6EXTSMI6# Input Value
GPIO3_CFG=0: EXTSMI6# on XD6 (pin 121)
GPIO3_CFG=1: EXTSMI6# function not available
5EXTSMI5# Input Value
GPIO3_CFG=0: EXTSMI5# on XD5 (pin 119)
GPIO3_CFG=1: EXTSMI5# function not available
4EXTSMI4# Input Value
GPIO4_CFG=0:
GPIO4_CFG=1: EXTSMI4# on GPIO4 (pin 136)
3EXTSMI3# Input Value
GPIO3_CFG=0: EXTSMI3# on XD3 (pin 117)
GPIO3_CFG=1: EXTSMI3# on GPIO3 (pin 92)
2EXTSMI2# Input Value
1EXTSMI1# Input Value
0EXTSMI0# Input Value
Note: GPIO3_CFG and GPIO4_CFG are located in PCI
Configuration Register function 3 offset 40h.
Note: Stress above the conditions listed may cause permanent damage to the
device. Functional operation of this device should be restricted to the
conditions described under operating conditions.
DC Characteristics
TA-0-70oC, VDD=5V+/-5%, GND=0V
SymbolParameterMinMaxUnitCondition
V
IL
V
IH
V
OL
V
OH
I
IL
I
OZ
I
CC
Input low voltage-0.500.8V
Input high voltage2.0VDD+0.5V
Output low voltage-0.45VIOL=4.0mA
Output high voltage2.4-VIOH=-1.0mA
Input leakage current-+/-10uA0<VIN<V
Tristate leakage current-+/-20uA0.45<V
Power supply current-80mA
+ 0.5Volts
DD
DD
OUT<VDD
Revision 1.0 May 13, 1997-55-Electrical Specifications
Page 62
9,$7HFKQRORJLHV,QF
AC Timing Specifications
T
AD[31:0] Setup Time to PCLK Rising7ns
S
T
FRAME#,TRDY#,IRDY# Setup Time to PCLK Rising7ns
S
T
CBE[3:0]#, STOP#,DEVSEL# Setup Time to PCLK Rising7ns
S
T
PGNT# Setup Time to PCLK Rising12ns
S
T
AD[31:0] Hold Time from PCLK Rising0ns
H
T
FRAME#,TRDY#,IRDY# Hold Time from PCLK Rising0ns
H
T
CBE[3:0]#, STOP#,DEVSEL# Hold Time from PCLK Rising0ns
H
T
PGNT# Hold Time from PCLK Rising0ns
H
T
AD[31:0] Valid Delay from PCLK Rising (address phase)211ns0pf on min, 50pf on max
VD
T
AD[31:0] Valid Delay from PCLK Rising (data phase)211ns0pf on min, 50pf on max
VD
T
FRAME#,TRDY#,IRDY# Valid Delay from PCLK Rising211ns0pf on min, 50pf on max
VD
T
CBE[3:0]#, STOP#,DEVSEL# Valid Delay from PCLK Rising211ns0pf on min, 50pf on max
VD
T
PREQ# Valid Delay from PCLK Rising212ns0pf on min, 50pf on max
VD
VT82C586B
Table 8. AC Characteristics - PCI Cycle Timing
ParameterMin Max UnitNotes
T
FRAME#,TRDY#,IRDY# Float Delay from PCLK Rising28ns0pf on min, 50pf on max
FD
T
CBE[3:0]#, STOP#,DEVSEL# Float Delay from PCLK Rising28ns0pf on min, 50pf on max
FD
Revision 1.0 May 13, 1997-56-Electrical Specifications
Page 63
9,$7HFKQRORJLHV,QF
VT82C586B
Table 9. AC Characteristics - UltraDMA-33 IDE Bus Interface Timing
Envelope time for read initial29.3ns
Data setup time for read initial1.1ns
Data hold time for read initial (rise)2.3ns
Envelope time for write initial (rise)29.3ns
Data setup time for write initial (fall)42.2ns
Data hold time for write initial (fall)17.8ns
Data setup time for write initial42.0ns
Data hold time for write initial17.2ns
READY to final STROBE time21.3ns
READY to Pause time180.0ns
Limited interlock time (to STOP)95.1ns
Limited interlock time (to Host DMARDY)125.3ns
Delay time required for output drives turning on102.0ns
Data setup time for read terminating55.3ns
Data hold time for read terminating31.6ns
Limited interlock time (to STOP)125.3ns
Limited interlock time (to Host STROBE)95.2ns
Limited interlock time with minimum120.6ns
Data setup time for write terminating57.7ns
Data hold time for write terminating31.8ns
Limited interlock time with minimum155.8ns
Delay time required for output drives turning on68.5ns
Limited interlock time65.2ns
Limited interlock time with minimum90.6ns
Delay time of PCLK to DCS3,1#4.8ns
Delay time of PCLK to DA[2:0]5.3ns
Delay time of PCLK to DIOW#9.3ns
Delay time of PCLK to DIOR#9.2ns
Data setup time during PIO write85.5ns
Data hold time during PIO write31.7ns
Data setup time during PIO read0.4ns
Data hold time during PIO read2.1ns
Revision 1.0 May 13, 1997-57-Electrical Specifications
Page 64
9,$7HFKQRORJLHV,QF
VT82C586B
DDRQ (Drive)
UI
T
DDACK# (Host)
STOP (Host)
HDMARDY# (Host)
T
ENV1
DSTROBE (Drive)
T
LI1
T
DS1
Data
T
DH1
Figure 5. UltraDMA-33 IDE Timing - Drive Initiating DMA Burst for Read Command
DDRQ (Drive)
T
UI
DDACK# (Host)
T
ENV2
STOP (Host)
DDMARDY# (Drive)
T
UI
HSTROBE (Host)
DDMARDY# (Drive)
HSTROBE (Host)
T
DVH2
Data
T
DVS2
Figure 6. UltraDMA-33 IDE Timing - Drive Initiating Burst for Write Command
Revision 1.0 May 13, 1997-58-Electrical Specifications
Page 65
9,$7HFKQRORJLHV,QF
DDRQ (Drive)
DDACK# (Host)
For Write:
DDMARDY# (Drive)
HSTROBE (Host)
VT82C586B
T
RFS
For Read:
STOP (Host)
HDMARDY# (Host)
Figure 7. UltraDMA-33 IDE Timing - Pausing a DMA Burst
T
RP
Revision 1.0 May 13, 1997-59-Electrical Specifications
Page 66
9,$7HFKQRORJLHV,QF
)
)
)
DDRQ (Drive
DDACK# (Host)
STOP (Host
HDMARDY# (Host
VT82C586B
T
LI4
T
CRC
DVS4
T
DVH4
Data
T
ZA4
Figure 8. UltraDMA-33 IDE Timing - Drive Terminating DMA Burst During Read Command
DDRQ (Drive)
DDACK# (Host)
T
STOP (Host)
LI5A
DDMARDY# (Host)
HSTROBE (Host)
T
LI5B
Data
Figure 9. UltraDMA-33 IDE Timing - Drive Terminating DMA Burst During Write Command
Revision 1.0 May 13, 1997-60-Electrical Specifications
T
MLI5
T
CRC
DVS5
T
DVH5
Page 67
9,$7HFKQRORJLHV,QF
T
MLI6
VT82C586B
DDRQ# (Drive)
T
DDACK# (Host)
ZA6
STOP (Host)
HDMARDY# (Host)
Data
Figure 10. UltraDMA-33 IDE Timing - Host Terminating DMA Burst During Read Command
CRC
DDRQ (Drive)
DDACK# (Host)
T
MIL7
STOP (Host)
T
HSTROBE# (Host)
Data
Figure 11. UltraDMA-33 IDE Timing - Host Terminating DMA Burst During Write Command
Revision 1.0 May 13, 1997-61-Electrical Specifications
LI7
T
DVS7
CRC
T
DVH7
Page 68
9,$7HFKQRORJLHV,QF
DCS3# / DCS1#
DA [2:0]
DIOW#
DD Write
DIOR#
DD Read
VT82C586B
T
2
T
3
T
WDS
T
4
T
WDH
T
5
T
T
RDS
RDH
Figure 12. UltraDMA-33 IDE Timing - PIO Cycle
Revision 1.0 May 13, 1997-62-Electrical Specifications
Page 69
9,$7HFKQRORJLHV,QF
P
ACKAGE MECHANICAL SPECIFICATIONS
VT82C586B
7<3
7<3
97&%
66%
<<::997$,:$1
0
//5//////
0
Y = Date Code Year
W = Date Code Week
V = Chip Version
CD = OEM Version
CE = Production Version
R = Revision Code
L = Lot Code