OPTi ® FireBridge II 82C814 Docking Station Controller Data Book Revision: 1.0 912-3000-047 January 08, 1998 Copyright Copyright © 1997, OPTi Inc. All rights reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual, or otherwise, without the prior written permission of OPTi Incorporated, 888 Tasman Drive, Milpitas, CA 95035. Disclaimer OPTi Inc. makes no representations or warranties with respect to the design and documentation herein described and especially disclaims any implied warranties of merchantability or fitness for any particular purpose. Further, OPTi Inc. reserves the right to revise the design and associated documentation and to make changes from time to time in the content without obligation of OPTi Inc. to notify any person of such revisions or changes. Note: Before designing contact OPTi for latest Product Alerts, Applications Notes, and Errata for this product line. Trademarks OPTi and OPTi Inc. are registered trademarks of OPTi Inc. All other trademarks and copyrights are the property of their respective holders. OPTi Inc. 888 Tasman Drive Milpitas, CA 95035 Tel: (408) 486-8000 Fax: (408) 486-8001 www.opti.com ii 82C814 Table of Contents 1.0 Features ............................................................................................................................ 1 2.0 Overview ........................................................................................................................... 1 3.0 Signal Definitions ............................................................................................................. 2 4.0 3.1 Terminology/Nomenclature Conventions ........................................................................................2 3.2 Signal Descriptions ............................................................................................................................6 3.2.1 Host Interface PCI Signals .....................................................................................................6 3.2.2 Docking Control and Sense Signals .......................................................................................7 3.2.3 PCI Docking Interface Pins.....................................................................................................7 3.2.4 Interrupt Interface Pins ...........................................................................................................9 3.2.5 Power and Ground Pins .........................................................................................................9 3.3 Strap-Selected Interface Options ....................................................................................................10 3.4 Internal Resistors .............................................................................................................................11 Functional Description .................................................................................................. 13 4.1 OPTi Docking Station Controller Chipset.......................................................................................13 4.2 Chipset Compatibility .......................................................................................................................13 4.3 Interface Overview ............................................................................................................................13 4.4 Device Type Detection Logic ...........................................................................................................14 4.5 Primary PCI Bus................................................................................................................................15 4.6 PCI-to-CardBus Bridge.....................................................................................................................15 4.6.1 Configuration Cycle ..............................................................................................................15 4.6.1.1 Translation Between Type 0 and Type 1 Configuration Cycles ............................15 4.6.2 Cycle from Host to Docking Interface ...................................................................................16 4.6.3 Master Cycle from Docking Interface ...................................................................................16 4.6.4 Inability to Complete a Posted Write ....................................................................................16 4.6.5 Cycle Termination by Target ................................................................................................16 4.6.5.1 Posted Write Termination .....................................................................................16 4.6.5.2 Non-Posted Write Termination..............................................................................16 4.6.5.3 Read (Prefetched or Non-Prefetched) Termination ..............................................16 OPTi ® 912-3000-047 Revision: 1.0 Page iii January 08, 1998 82C814 Table of Contents (cont.) 4.7 4.8 4.9 5.0 PCI Docking Station Operation .......................................................................................................17 4.7.1 Introduction...........................................................................................................................17 4.7.2 Procedure .............................................................................................................................17 4.7.3 Initial Setup...........................................................................................................................17 4.7.4 Action Upon Attachment of Dock..........................................................................................18 Status Change Service Routine ......................................................................................................19 4.8.1 Docking Event ......................................................................................................................19 4.8.2 Undocking Event ..................................................................................................................19 4.8.3 Notes on Undocking .............................................................................................................19 4.8.4 Retest ...................................................................................................................................19 4.8.5 PCI Clock Buffering ..............................................................................................................20 Interrupt Support ..............................................................................................................................20 4.9.1 PCI INTx# Implementation ...................................................................................................20 4.9.2 IRQ Driveback Logic.............................................................................................................20 4.9.3 Compaq Serial IRQ Implementation.....................................................................................21 4.9.3.1 Operation ..............................................................................................................21 82C814 Register Set ...................................................................................................... 23 5.1 Register State on Device Removal..................................................................................................23 5.2 Base Register Group ........................................................................................................................23 5.3 82C814-Specific Register Group .....................................................................................................31 5.4 5.3.1 CLKRUN#.............................................................................................................................31 5.3.2 Slot Buffer Enable, Slew Rate, and Threshold Control.........................................................31 5.3.3 Dual ISA Buses ....................................................................................................................31 CardBus Register Group..................................................................................................................34 5.4.1 5.5 Docking Station Window Selection Group.....................................................................................36 5.5.1 5.6 Power Control.......................................................................................................................34 Docking Station Window Registers ......................................................................................36 5.5.1.1 Cycle Decoding.....................................................................................................37 5.5.1.2 Cycle Trapping......................................................................................................37 5.5.1.3 ISA Window Selection...........................................................................................37 PCI Power Management Register Group........................................................................................41 OPTi ® Page iv January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table of Contents (cont.) 6.0 7.0 Electrical Ratings ........................................................................................................... 43 6.1 Absolute Maximum Ratings.............................................................................................................43 6.2 DC Characteristics: VCC = 3.3V or 5.0V ±5%, TA = 0°C to +70°C.................................................43 6.3 AC Characteristics............................................................................................................................44 6.4 AC Timing Diagrams ........................................................................................................................45 Mechanical Package Outline ......................................................................................... 47 Appendix A IRQ Driveback Protocol ................................................................................. 49 A.1 Driveback Cycle Format...................................................................................................................49 A.2 Edge vs Level Mode, IRQ Polarity ...................................................................................................50 A.3 Host Handling of IRQ Driveback Information.................................................................................50 OPTi ® 912-3000-047 Revision: 1.0 Page v January 08, 1998 82C814 Table of Contents (cont.) OPTi ® Page vi January 08, 1998 912-3000-047 Revision: 1.0 82C814 List of Figures Figure 2-1 Figure 3-1 Figure 3-2 Figure 4-1 Figure 6-1 Figure 6-2 Figure 6-3 Figure 7-1 Figure A-1 Multiple ISA Bus Support and Cascadeable Docking......................................................................1 Pin Diagram .....................................................................................................................................3 Power-Up Timing ...........................................................................................................................11 82C814 Organization.....................................................................................................................13 Setup Timing Waveform ................................................................................................................45 Hold Timing Waveform ..................................................................................................................45 Output Delay Timing Waveform.....................................................................................................45 144-Pin LQFP, Low-Profile Quad Flat Pack ..................................................................................47 IRQ Driveback Cycle High-Priority Request ..................................................................................49 OPTi ® 912-3000-047 Revision: 1.0 Page vii January 08, 1998 82C814 List of Figures (cont.) OPTi ® Page viii January 08, 1998 912-3000-047 Revision: 1.0 82C814 List of Tables Table 3-1 Table 3-2 Table 3-3 Table 3-4 Table 3-5 Table 4-1 Table 4-2 Table 4-3 Table 4-4 Table 4-5 Table 4-6 Table 4-7 Table 5-1 Table 5-2 Table 5-3 Table 5-4 Table 5-5 Table 5-6 Table 5-7 Table A-1 Table A-2 Signal Definitions Legend ................................................................................................................2 Numerical Pin Cross-Reference List................................................................................................4 Alphabetical Pin Cross-Reference List ............................................................................................5 Strap Options for 82C814 Configurations......................................................................................10 Internal Keeper Resistor Scheme..................................................................................................11 Device Detection (CardBus Rules) ................................................................................................14 CLKRUN# Control Bits ..................................................................................................................15 Translation Feature Configuration Bit ............................................................................................15 Write Posting Associated Registers...............................................................................................16 Summary of Typical Settings (using IRQ5 for SMI) .......................................................................18 Register used to Delay Internal PCICLK to Compensate for Trace Delays...................................20 Compaq SIRQ Control Bits............................................................................................................21 Base Register Group - PCICFG 00h-4Fh ......................................................................................23 Specific Register Group - PCICFG 50h-5Fh..................................................................................32 CardBus Register Set in System Memory .....................................................................................34 CardBus Register Group - PCICFG 60h-74h / MEMOFST 00h-7Fh .............................................35 Docking Station Access Windows .................................................................................................37 Docking Station Window Registers - PCICFG 80h-EFh ................................................................37 PCI Power Management Registers - PCICFG F0h-FFh................................................................41 Information Provided on a Driveback Cycle...................................................................................49 Information Provided on a Optional Data Phase 2 of IRQ Driveback Cycle ..................................50 OPTi ® 912-3000-047 Revision: 1.0 Page ix January 08, 1998 82C814 List of Tables (cont.) OPTi ® Page x January 08, 1998 912-3000-047 Revision: 1.0 OPTi 82C814 ® Docking Station Controller 1.0 • • • • • • • • • • • • • • • Features 2.0 Provides true hot docking and undocking PCI Power Management Compliant Supports 3.3V or 5.0V PCI dock Host PCI bus can be 3.3V or 5.0V Host and Docking PCI buses can be asynchronous Works in conjunction with OPTi PCI-to-ISA bridge to provide reliable ISA support on the dock Provides eight windows, selectable for memory or I/O Offers additional fixed window for VGA Supports INTA#, INTB#, INTC#, INTD# Supports four bus masters Generates PCI clocks for four devices Supports cascadeable docking with multiple 82C814 controllers Bridge solution increases primary PCI bus bandwidth by off-loading transactions into buffers Supports external bus arbiter for secondary PCI bus Packaged in 144-pin LQFP (Low-profile Quad Flat Pack) Figure 2-1 Overview This document describes the OPTi 82C814 Docking Station Controller, a true bridge docking solution that allows software to treat the docking station like a dynamically insertable/ removable CardBus card. The PCI software interface conforms to the CardBus header layout, instead of the PCI-to-PCI bridge header layout, to overcome the limitations of PCI-to-PCI bridges. The docking controller implements a true PCI-PCI bridge with full buffering and synchronous or asynchronous operation. Figure 2-1 illustrates the flexibility of the device, including its ability to support multiple ISA buses when used with an OPTi PCI-to-ISA Bridge. Note: This document describes Revision 1.0 of the 82C814 chip. Multiple ISA Bus Support and Cascadeable Docking Host Chipset CPU Local ISA Bus PCI Bus 0 82C814 Docking Station Controller Sound Chip (Ports 340-35Fh) PCI LCD/SVGA Controller PCI Bus 1 82C814 Docking Station Controller OPTi PCI-ISA Bridge PCI Device Docking ISA Bus PCI Bus 2 Network Controller 912-3000-047 Revision: 1.0 Sound Card (Ports 340-35Fh) Page 1 January 08, 1998 82C814 3.0 Signal Definitions The 82C814 chip provides a primary interface which is PCIbased. It also provides an independent attachment interface, which can be switched on and off dynamically. 3.1 Terminology/Nomenclature Conventions Table 3-1 Signal Definitions Legend Mnemonic Description CMOS CMOS-level compatible Dcdr Decoder Ext External The “#” symbol at the end of a signal name indicates that the active, or asserted state occurs when the signal is at a low voltage level. When “#” is not present after the signal name, the signal is asserted when at the high voltage level. G Ground I Input I/O Input/Output The terms “assertion” and “negation” are used extensively. This is done to avoid confusion when working with a mixture of “active low” and “active high” signals. The term “assert”, or “assertion” indicates that a signal is active, independent of whether that level is represented by a high or low voltage. The term “negate”, or “negation” indicates that a signal is inactive. Int Internal Mux Multiplexer O Output OD Open drain (open-collector) CMOSlevel compatible The 82C814 has some pins that have multiple functions (denoted by “+” in the pin name). These functions are either: P Power PD Pull-down resistor • cycle-multiplexed (always enabled and available when a particular cycle is in progress), PU Pull-up resistor S Schmitt-trigger TTL-level compatible TTL TTL-level compatible • a strap option (configured at reset), • or selected via register programming. The tables in this section use several common abbreviations. Table 3-1 lists the mnemonics and their meanings. OPTi ® Page 2 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Pin Diagram 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 82C814 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 C/BE3# AD24 AD25 AD26 AD27 AD28 AD29 GND AD30 AD31 REQ# GNT# VCC PCIRST# CCD2# CVS2 CIRQSER CCLKRUN# PCIRQ3# PCIRQ2# GND PCIRQ1# PCIRQ0# CGNT3# CREQ3# CGNT2# CREQ2# CGNT1# CREQ1# CGNT0# CREQ0# CRST# CAD31 GND CCLK3 C_VCC CAD12 CAD13 CAD14 CAD15 CC/BE1# CAD16 CPAR GND CSERR# CPERR# CBLOCK# CSTOP# CDEVSEL# CTRDY# CIRDY# GND CCLK2 C_VCC CFRAME# CC/BE2# CAD17 CAD18 CAD19 CAD20 CAD21 CAD22 CAD23 GND CC/BE3# CAD24 CAD25 CAD26 CAD27 CAD28 CAD29 CAD30 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 AD7 AD6 AD5 AD4 AD3 AD2 GND AD1 AD0 CLKRUN# IRQLATCH+INTA# INTB# VENID+EXTCLK+INTC# VCC ENVCC3+INTD# ENVCC5 CCD1# CVS1 CCLK0 GND CAD0 CAD1 CAD2 CAD3 CAD4 CAD5 CAD6 CAD7 CC/BE0# CAD8 CAD9 CAD10 GND CCLK1 C_VCC CAD11 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 VCC C/BE0# AD8 AD9 AD10 AD11 AD12 AD13 GND AD14 AD15 C/BE1# PAR SERR# PERR# LOCK# STOP# DEVSEL# VCC PCICLK GND TRDY# IRDY# FRAME# C/BE2# AD16 AD17 AD18 GND AD19 AD20 AD21 AD22 AD23 IDSEL VCC Figure 3-1 OPTi ® 912-3000-047 Revision: 1.0 Page 3 January 08, 1998 82C814 Table 3-2 Pin No. Numerical Pin Cross-Reference List Pin Name Pin Type Pin No. Pin Name Pin Type Pin No. Pin Name Pin Type Pin No. Pin Name Pin Type 1 AD7 I/O 35 C_VCC P 73 C_VCC P 111 AD23 I/O 2 AD6 I/O 36 CAD11 I/O 74 CCLK3 O 112 AD22 I/O 3 AD5 I/O 37 CAD12 I/O 75 GND G 113 AD21 I/O 4 AD4 I/O 38 CAD13 I/O 76 CAD31 I/O 114 AD20 I/O 5 AD3 I/O 39 CAD14 I/O 77 CRST# O 115 AD19 I/O 6 AD2 I/O 40 CAD15 I/O 78 CREQ0# I 116 GND G 7 GND G 41 CC/BE1# I/O 79 CGNT0# O 117 AD18 I/O 8 AD1 I/O 42 CAD16 I/O 80 CREQ1# I 118 AD17 I/O 9 AD0 I/O 43 CPAR I/O 81 CGNT1# O 119 AD16 I/O 10 CLKRUN# I/O 44 GND G 82 CREQ2# I 120 C/BE2# I/O 11 IRQLATCH I/O 45 CSERR# I/O 83 CGNT2# O 121 FRAME# I/O INTA# I/O 46 CPERR# I/O 84 CREQ3# I 122 IRDY# I/O 12 INTB# I/O 47 CBLOCK# I/O 85 CGNT3# O 123 TRDY# I/O 13 VENID O 48 CSTOP# I/O 86 PCIRQ0# I 124 GND G I 49 CDEVSEL# I/O 87 PCIRQ1# I 125 PCICLK I I/O 50 CTRDY# I/O 88 GND G 126 VCC P 14 VCC P 51 CIRDY# I/O 89 PCIRQ2# I 127 DEVSEL# I/O 15 ENVCC3 O 52 GND G 90 PCIRQ3# I 128 STOP# I/O EXTCLK INTC# I/O 53 CCLK2 O 91 CCLKRUN# 16 ENVCC5 O 54 C_VCC P 92 CIRQSER 17 CCD1# I 55 CFRAME# I/O 18 CVS1 I 56 CC/BE2# INTD# I 129 LOCK# I/O I/O 130 PERR# I/O 93 CVS2 I 131 SERR# O/OD I/O 94 CCD2# I 132 PAR I/O 19 CCLK0 O 57 CAD17 I/O 95 PCIRST# I 133 C/BE1# I/O 20 GND G 58 CAD18 I/O 96 VCC P 134 AD15 I/O 21 CAD0 I/O 59 CAD19 I/O 97 GNT# I 135 AD14 I/O 22 CAD1 I/O 60 CAD20 I/O 98 REQ# O 136 GND G 23 CAD2 I/O 61 CAD21 I/O 99 AD31 I/O 137 AD13 I/O 24 CAD3 I/O 62 CAD22 I/O 100 AD30 I/O 138 AD12 I/O 25 CAD4 I/O 63 CAD23 I/O 101 GND G 139 AD11 I/O 26 CAD5 I/O 64 GND G 102 AD29 I/O 140 AD10 I/O 27 CAD6 I/O 65 CC/BE3# I/O 103 AD28 I/O 141 AD9 I/O 28 CAD7 I/O 66 CAD24 I/O 104 AD27 I/O 142 AD8 I/O 29 CC/BE0# I/O 67 CAD25 I/O 105 AD26 I/O 143 C/BE0# I/O 30 CAD8 I/O 68 CAD26 I/O 106 AD25 I/O 144 VCC 31 CAD9 I/O 69 CAD27 I/O 107 AD24 I/O 32 CAD10 I/O 70 CAD28 I/O 108 C/BE3# I/O 33 GND G 71 CAD29 I/O 109 VCC P 34 CCLK1 O 72 CAD30 I/O 110 IDSEL I P OPTi ® Page 4 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 3-3 Pin No. Pin Name Alphabetical Pin Cross-Reference List Pin Type Pin No. Pin Name Pin Type Pin No. Pin Name Pin Type Pin No. Pin Name Pin Type 9 AD0 I/O 27 CAD6 I/O 34 CCLK1 O 64 GND G 8 AD1 I/O 28 CAD7 I/O 53 CCLK2 O 75 GND G 6 AD2 I/O 30 CAD8 I/O 74 CCLK3 O 88 GND G 5 AD3 I/O 31 CAD9 I/O 91 CCLKRUN# I 101 GND G 4 AD4 I/O 32 CAD10 I/O 49 CDEVSEL# I/O 116 GND G 3 AD5 I/O 36 CAD11 I/O 55 CFRAME# I/O 124 GND G 2 AD6 I/O 37 CAD12 I/O 79 CGNT0# O 136 GND G 1 AD7 I/O 38 CAD13 I/O 81 CGNT1# O 97 GNT# I 142 AD8 I/O 39 CAD14 I/O 83 CGNT2# O 110 IDSEL I 141 AD9 I/O 40 CAD15 I/O 85 CGNT3# O 12 INTB# I/O 140 AD10 I/O 42 CAD16 I/O 10 CLKRUN# I/O 122 IRDY# 139 AD11 I/O 57 CAD17 I/O 51 CIRDY# I/O 138 AD12 I/O 58 CAD18 I/O 92 CIRQSER I/O 137 AD13 I/O 59 CAD19 I/O 43 CPAR I/O 135 AD14 I/O 60 CAD20 I/O 46 CPERR# I/O 134 AD15 I/O 61 CAD21 I/O 78 CREQ0# I 119 AD16 I/O 62 CAD22 I/O 80 CREQ1# I 118 AD17 I/O 63 CAD23 I/O 82 CREQ2# I 117 AD18 I/O 66 CAD24 I/O 84 CREQ3# I 115 AD19 I/O 67 CAD25 I/O 77 CRST# O 114 AD20 I/O 68 CAD26 I/O 45 CSERR# I/O 113 AD21 I/O 69 CAD27 I/O 48 CSTOP# I/O 112 AD22 I/O 70 CAD28 I/O 50 CTRDY# I/O 111 AD23 I/O 71 CAD29 I/O 35 C_VCC P 107 AD24 I/O 72 CAD30 I/O 54 C_VCC P 106 AD25 I/O 76 CAD31 I/O 73 C_VCC P 105 AD26 I/O 143 C/BE0# I/O 18 CVS1 I 104 AD27 I/O 133 C/BE1# I/O 93 CVS2 I 103 AD28 I/O 120 C/BE2# I/O 127 DEVSEL# I/O 102 AD29 I/O 108 C/BE3# I/O 15 ENVCC3+ INTD# O 16 ENVCC5 O 121 FRAME# I/O 100 AD30 I/O 47 CBLOCK# I/O 99 AD31 I/O 29 CC/BE0# I/O 21 CAD0 I/O 41 CC/BE1# I/O 22 CAD1 I/O 56 CC/BE2# I/O 23 CAD2 I/O 65 CC/BE3# 24 CAD3 I/O 17 CCD1# I/O I 25 CAD4 I/O 94 CCD2# I 26 CAD5 I/O 19 CCLK0 O 7 GND G 20 GND G 33 GND G 44 GND G 52 GND G I/O 11 IRQLATCH+ INTA# I/O 129 LOCK# I/O 132 PAR I/O 125 PCICLK I 86 PCIRQ0# I 87 PCIRQ1# I 89 PCIRQ2# I 90 PCIRQ3# I 95 PCIRST# I 130 PERR# I/O 98 REQ# O 131 SERR# O/OD 128 STOP# I/O 123 TRDY# I/O 14 VCC P 96 VCC P 109 VCC P 126 VCC P 144 VCC P 13 VENID+ EXTCLK+ INTC# I/O OPTi ® 912-3000-047 Revision: 1.0 Page 5 January 08, 1998 82C814 3.2 Signal Descriptions 3.2.1 Host Interface PCI Signals Pin No. Signal Type AD[31:0] 99, 100, 102:107, 111:115, 117:119, 134, 135, 137:142, 1:6, 8, 9 I/O Address and Data Lines 31 through 0: This bus carries the address during the address phase and the data during the data phase of a PCI cycle. During the address phase these pins are inputs only and during the data phase they are I/Os. C/BE[3:0]# 108, 120, 133, 143 I/O Bus Command and Byte Enables 3 through 0: These inputs provide the command type information during the address phase and carry the byte enable information during the data phase. PAR 132 I/O Parity: This bit carries parity information for both the address and data phases of PCI cycles. During the address or data write phase of a PCI cycle this pin is an input only. During the data read phase it acts as an output only. PCICLK 125 I PCI Clock: Provides timing for all transactions on the host PCI bus; normally 33MHz. This same clock can be used for timing the slot interfaces, or can be divided. The slot interfaces can also run from the alternative EXTCLK input. VENID# 13 O Drive Vendor ID: This pin can be used to enable an external tristate buffer to drive vendor ID bits onto the PCI bus. This feature allows system card designers to drive a unique PCI card ID for identification by software. I External Clock: Provides alternative clock source for transactions on the slot interface PCI bus. The frequency can be any value but is usually 20MHz or 25MHz. It should be tied low if not used. This pin is automatically sensed just after reset time to determine whether an external clock frequency is being applied. If not, the function defaults to VENID#. Signal Name EXTCLK INTC# Signal Description I/O See Section 3.2.4 for interrupt information. CLKRUN# 10 I/O Clock Run: Pulled low by any device needing to use the PCI bus. If no devices pull this pin low, the host PCI bus controller is allowed to stop the PCICLK signal. The interrupt logic of the 82C814 uses this signal to request a restart of PCICLK in order to send an interrupt request. IRQLATCH 11 I/O Interrupt Latch: For use on chipsets without IRQ driveback capability, the 82C814 logic can drive this line low to drive ISA IRQ lines using an external latch. This pin is also a strap option, refer to Section 5.3 I/O See Section 3.2.4 for interrupt information. INTA# FRAME# 121 I/O Cycle Frame: Driven by PCI bus masters to indicate the beginning and duration of an access. IRDY# 122 I/O Initiator Ready: Asserted by the PCI bus master to indicate that it is ready to complete the current data phase of the transaction. TRDY# 123 I/O Target Ready: Asserted by the PCI bus target (when the 82C814 is a slave) to indicate that it is ready to complete the current data phase of the transaction. PCItype devices on the slot interfaces return CTRDY# to the 82C814, which in turn drives TRDY# to the host. The 82C814 logic drives TRDY# directly for 82C814 configuration register accesses. OPTi ® Page 6 January 08, 1998 912-3000-047 Revision: 1.0 82C814 3.2.1 Host Interface PCI Signals (cont.) Signal Name Pin No. Signal Type STOP# 128 I/O Stop: Used by the target to request that the master stop the current transaction and retry it later. The 82C814 logic uses this mechanism to back-off from a claimed cycle and generate, for example, an SMI through the IRQ driveback cycle. LOCK# 129 I/O Lock: Indicates an atomic operation that may require multiple transactions to complete. The signal can be asserted to the 82C814 by any host bus PCI master, and is driven by the 82C814 logic in response to the current slot interface bus master driving its CBLOCK# signal. DEVSEL# 127 I/O Device Select: Driven by the 82C814 logic when it decodes its address as the target of the current access via either positive or subtractive decoding. PERR# 130 I/O Parity Error: All devices use this signal to report data parity errors during any PCI transaction except a Special Cycle. SERR# 131 O/OD REQ# 98 O Bus Request: The 82C814 logic uses this signal to gain control of the PCI bus. The logic also uses this pin to generate an interrupt driveback request. GNT# 97 I Bus Grant: The system grants the bus to the 82C814 chip using this signal. IDSEL 110 I ID Select: This signal is the "chip select" for the controller. This input simply connects to one of the upper address lines to select the controller for configuration cycles. PCIRST# 95 I Reset: Main chip reset input. 3.2.2 Signal Description System Error: The 82C814 logic uses this line to report address parity errors, data parity errors on the Special Cycle command, or any other system error where the result will be catastrophic. This pin has an open drain output. Docking Control and Sense Signals Signal Name Pin No. Signal Type CCD1# 17 I CCD2# 94 I CVS1 18 I CVS2 93 I ENVCC5 16 O 5.0V VCC Enable: Used to turn on power to 5.0V dock. ENVCC3 15 O 3.3V VCC Enable: Used to turn on power to 3.3V dock. I/O See Section 3.2.4 for interrupt information. INTD# 3.2.3 Signal Description Connection Detect 1 and 2, Voltage Sense 1 and 2: CCD1-2# and CVS1-2 are used to determine proper dock attachment and to sense its voltage. PCI Docking Interface Pins Signal Name CAD[31:0] Pin No. Signal Type 76, 72:66, 63:57, 42, 40:36, 32:30, 28:21 I/O Signal Description Multiplexed Address and Data Lines 31 through 0: These pins are the multiplexed PCI address and data lines. During the address phase, these pins are outputs for PCI slave cycles and inputs for PCI master cycles. During the data phase, these pins are outputs during PCI write cycles and inputs during PCI reads. OPTi ® 912-3000-047 Revision: 1.0 Page 7 January 08, 1998 82C814 3.2.3 PCI Docking Interface Pins (cont.) Signal Name Pin No. Signal Type CRST# 77 O Reset: Used to reset the docking station PCI bus. This signal defaults to “asserted” until specifically programmed to go high. 65, 56, 41, 29 I/O Bus Command and Byte Enables 3 through 0: These pins are the multiplexed PCI command and byte enable lines. Normally outputs, these pins are inputs during master cycles. 43 I/O Parity: This signal is an input either during PCI slave cycles for address and write data phases or during PCI master cycle for read data phase; otherwise it is an output. CCLK[3:0] 74, 53, 34, 19 O Clock 3 through 0: These pins generate individual clocks to each PCI device on the dock. CFRAME# 55 I/O Cycle Frame: The 82C814 drives this signal to indicate the beginning and duration of an access. CIRDY# 51 I/O Initiator Ready: The 82C814 drives this signal to indicate its ability to complete the current data phase of the transaction. CTRDY# 50 I/O Target Ready: The 82C814 monitors this input from the slot interface slave device to determine when it can complete the cycle. PCI devices on the slots return CTRDY# to the 82C814 which in turn drives host TRDY#. CSTOP# 48 I/O Stop: This signal is used by the target to request the master to stop the current transaction. The 82C814 will back-off the current cycle and retry it later. CBLOCK# 47 I/O Bus Lock: The 82C814 uses this signal to indicate an atomic operation that may require multiple transactions to complete. CDEVSEL# 49 I/O Device Select: This signal is normally an input from the slot interface device claiming the cycle. The 82C814 claims the cycle ahead of time on the host side. CPERR# 46 I/O Parity Error: All slot interface devices use this signal to report data parity errors, during any PCI transaction except a Special Cycle. CSERR# 45 I/O System Error: All slot interface devices use this signal to report address parity errors, data parity errors on the Special Cycle command, or any other system error where the result will be catastrophic. CEXT_GNT# 84 I External Arbiter Grant Input: This signal is asserted by an external arbiter to grant the secondary PCI bus to the 82C814. When using an external arbiter CREQ[2:0]# and CGNT[2:0]# are not functional and should be pulled high. I Bus Master Request Line 3: Request/grant signal pairs are provided to accommodate up to four PCI bus masters on the docking station. CC/BE[3:0]# CPAR CREQ3# Signal Description CREQ[2:0]# 82, 80, 78 I Bus Master Request Lines 2 through 0: Request/grant signal pairs are provided to accommodate up to four PCI bus masters on the docking station. CEXT_REQ# 85 O External Arbiter Request Output: The 82C814 asserts this signal to request the secondary PCI bus from an external arbiter. When using an external arbiter CREQ[2:0]# and CGNT[2:0]# are not functional and should be pulled high. O Bus Grant Line 3: Request/grant signal pairs are provided to accommodate up to four PCI bus masters on the docking station. O Bus Grant Lines 2 through 0: Request/grant signal pairs are provided to accommodate up to four PCI bus masters on the docking station. CGNT3# CGNT[2:0]# 83, 81, 79 OPTi ® Page 8 January 08, 1998 912-3000-047 Revision: 1.0 82C814 3.2.3 PCI Docking Interface Pins (cont.) Signal Name Pin No. Signal Type CCLKRUN# 91 I/O 3.2.4 Signal Description CLKRUN signal for docking PCI devices: Pulled low by any device needing the PCI bus. If no devices pull this pin low, the 82C814 logic is allowed to stop its CCLK0-3 outputs. Interrupt Interface Pins Pin No. Signal Type PCIRQ0# 86 I PCI Interrupt 0: From docking station, routed according to PCICFG 48h PCIRQ1# 87 I PCI Interrupt 1: From docking station, routed according to PCICFG 49h PCIRQ2# 89 I PCI Interrupt 2: From docking station, routed according to PCICFG 4Ah PCIRQ3# 90 I PCI Interrupt 3: From docking station, routed according to PCICFG 4Bh CIRQSER 92 I/O IRQ Serial: Single-wire Serial IRQ for docking station devices using serial IRQs INTA# 11 I/O INTA#: IRQLATCH reassigned as Primary PCI INTA#. See Table 3-4 for strap options. INTB# 12 I/O INTB#: NC pin reassigned as Primary PCI INTB#. See Table 3-4 for strap options. INTC# 13 I/O INTC#: VENID# pin reassigned as Primary PCI INTC#. See Table 3-4 for strap options. INTD# 15 I/O INTD#: ENVCC3 pin reassigned as Primary PCI INTD#. See Table 3-4 for strap options. Signal Name IRQ Serial: INTD# reassigned as IRQSER - provides serial IRQ connection to host bus core logic. Enabled in PCICFG 4Eh. IRQSER 3.2.5 Signal Description Power and Ground Pins Signal Name Pin No. Signal Type Signal Description GND 7, 20, 33, 44, 52, 64,75, 88, 101, 116, 124, 136 G Ground Connection VCC 14, 96, 109, 126, 144 P Power Connection: For Host Interface C_VCC 35, 54, 73 P Power Connection: For Docking Interface OPTi ® 912-3000-047 Revision: 1.0 Page 9 January 08, 1998 82C814 3.3 Strap-Selected Interface Options The 82C814 CardBus Controller can be strapped to operate in one of several different modes depending on its implementation in the system. Strap options are registered at chip reset time. The selection straps are normally 10k ohm resistors engaged full-time. Note: For 5.0V core and PCI host interface designs that use host PCI interrupts INTA#-D#, it may not be possible to strap the 82C814 into 5.0V mode if there is an external pull-up on the host INTA# signal. For these designs it is necessary to program the core voltage to 5.0V by writing PCICFG 5Eh[4] = 1. The strapping possibilities are listed in Table 3-4. Table 3-4 Strap Options for 82C814 Configurations Strap Selection Feature No Strap Pulled by 10k ohm Resistor at Reset IRQLATCH (PCI INTA#) Pin 11 Core Voltage Select 3.3V Core and PCI host interface (internal pull up) 5.0V Core and PCI host interface (external 10k ohm pull down) PCI INTB# Pin 12 PCI Interrupts Use IRQ Driveback or IRQLATCH# (internal pull down) Provide INTA#-D# (external 10k ohm pull up) OPTi ® Page 10 January 08, 1998 912-3000-047 Revision: 1.0 82C814 3.4 Internal Resistors The 82C814 slot interfaces are provided with pull-up and pull-down resistors internal to the chip. The resistors are active at the times indicated in Table 3-5. Table 3-5 refers to the chip state with no card inserted, a powered-down card inserted, or a docking station attached. Figure 3-2 shows the functional timing relationships of software power-up and reset commands to the signals output by the power cycle state machine. Table 3-5 Internal Keeper Resistor Scheme 82C814 Action with No Attachment Signal Group 82C814 Action after Detecting Docking Station Dock Detect: CCD1-2# Pull up to core VCC to detect dock insertion/removal Pull up to core VCC Address/Data: CAD[31:0] CC/BE[3:0]# CPAR Pull down Pull down until interface is powered up Reset: CRST# Driven low Driven according to PCICFG 3Eh[6] Frame: CFRAME# Pull down None PCI Control/Status: CIRDY# CTRDY# CDEVSEL# CSTOP# CPERR# CBLOCK# Pull down None Clock: CCLK[3:0] Pull down Disable pull-down (clock input is always driven) Request: CREQ[3:0]# Pull up to card VCC None Open Drain: CSERR# Pull up to card VCC None Figure 3-2 Power-Up Timing Software writes CardBus 010h[5:4] = 11 (3.3V select) Pull-downs disabled VCC3 output signal CardBus 000h[3] = 1 (power cycle complete) Pull-ups enabled, Output signals are driven Software sees power cycle complete, writes PCICFG 3Eh = 0 (deassert CRST#) CRST# OPTi ® 912-3000-047 Revision: 1.0 Page 11 January 08, 1998 82C814 OPTi ® Page 12 January 08, 1998 912-3000-047 Revision: 1.0 82C814 4.0 Functional Description 4.1 OPTi Docking Station Controller Chipset compliant system. ISA DMA may require special software support on non-OPTi systems. The OPTi Docking Station solution is comprised of two devices. The minimum configuration requires one chip, the 82C814 part. • The 144-pin 82C814 Docking Controller handles the signal transfer for a complete PCI bus, including interrupts and clock generation. • The OPTi PCI-ISA Bridge converts PCI signals back into ISA signals. No OPTi PCI-ISA Bridge is required in the system, but one can be added as an option to support ISA peripherals in an attached docking station that connects through the PCI bus interface. The OPTi PCI-ISA Bridges are discussed in a separate document. The multiple interface arrangement offers the maximum in system design flexibility. 4.2 Chipset Compatibility 4.3 Interface Overview The OPTi 82C814 Docking Station Controller Chipset uses two independent external interfaces. The terms host interface and docking interface are used throughout this document to describe these interfaces. • The host interface provides industry standard PCI signals to the host system. The interface also can be programmed to return interrupt requests from the docking interfaces. • The docking interface duplicates the primary PCI signal set. It is completely isolated from the primary PCI bus. The interface signal groups used to integrate the OPTi Docking Station Controller Chipset into the standard system are described in the following sections. Figure 4-1 illustrates the interaction of the logic modules of the OPTi Docking Station Controller Chipset. Because the OPTi Docking Station Controller Chipset is based on a PCI host interface, it can be used with any PCI- Figure 4-1 82C814 Organization PCI-to-CardBus Bridge #0 PCI Ctrl, Address, Data P r i m a r y H o s t P C I PCI Function #0 Cfg. Registers REQ# GNT# Master Req PCICLK Logic IRQ Driveback Logic Clock PCIRQ[3:0]# Generation Logic External Clock Source IRQs Bus Arbiter B u s P C I PCI CCLK[3:0] S e c o n d a r y P C I B u s D o c k i n g S t a t i o n PCI Slots OPTi PCI-to-ISA Bridge ISA Slots OPTi ® 912-3000-047 Revision: 1.0 Page 13 January 08, 1998 82C814 The logic implements several functional blocks that interact as indicated. The functional blocks shown in the diagram are briefly described below. • The 82C814 takes its control, address, and data information from its primary PCI bus, which is usually controlled by the host PCI interface but can also be controlled by a master on the docking interface. • The 82C814 logic implements a PCI-to-PCI (Card Bus) bridge controlled by PCI Configuration Registers. These configuration registers are accessed from the primary PCI bus. Any bus master, including a master on the docking interface, can program these registers. The PCI Configuration Registers consist of standard CardBus registers at indexes 00h-47h and OPTi 82C814 architecture-specific registers at indexes 48h-FFh. Settings in these registers control host interface operations, select architecture-specific settings such as interrupt routing to the host, and provide PCI status to the host on request. The register set is accessed as PCI Function 0 of the 82C814 device. • The PCI-to-PCI bridge serves to connect the primary PCI bus to an independent secondary PCI bus. It is this secondary bus that interfaces externally to a docking station. If no dock is attached, software can still access the configuration registers for the bridge. • Devices connected to the docking interface can transmit interrupts to the host system directly or through serial IRQs. Docking station PCI devices can generate INTA#, INTB#, INTC#, and INTD# which the 82C814 logic converts to an interrupt. • Clock generation logic is provided to use either the primary PCICLK input for synchronous operation, or an external clock input for asynchronous operation. Four separate output clocks are provided, and can be skew-compensated to adjust for varying board trace lengths. The logic subsystems of the 82C814 Docking Station Controller are described in detail in the following sections. 4.4 Device Type Detection Logic The 82C814 logic includes attachment detection logic and a power control state machine to determine what type of dock has been attached to the docking interface. The power control state machine follows the algorithm provided by the CardBus specification, with a slight modification for docking station detection. Table 4-1 lists the device determination rules. Although the state machine follows the rules for CardBus device detection, only docking stations are considered valid attachments. • The bus arbiter logic takes master requests for bus ownership for the purpose of giving PCI master control to one of the secondary PCI buses. Table 4-1 Device Detection (CardBus Rules) CCD2# CCD1# CVS2 CVS1 Key Card Type GND Short to CVS1 Open Short to CCD1# LV 3.3V CardBus Short to CVS2 GND Short to CCD2# GND LV 3.3/x.xV CardBus Short to CVS1 GND GND Short to CCD2# LV 3.3/x.x/y.yV CardBus Short to CVS2 GND Short to CCD2# Open LV x.xV CardBus GND Short to CVS2 Short to CCD1# Open LV x.x/y.yV CardBus Short to CVS1 GND Open Short to CCD2# LV y.yV CardBus GND Short to CVS1 GND Short to CCD1# -- 3.3V Docking Station GND Short to CVS2 Short to CCD1# GND -- 5.0V Docking Station GND GND Open Open 5.0V 5.0V PCMCIA GND GND Open GND LV 3.3V PCMCIA GND GND Open GND 5.0V 3.3/5.0V PCMCIA GND GND GND Open LV x.xV PCMCIA GND GND GND GND LV x.x/3.3V PCMCIA GND GND GND GND 5.0V x.x/3.3/5.0V PCMCIA OPTi ® Page 14 January 08, 1998 912-3000-047 Revision: 1.0 82C814 4.5 Primary PCI Bus The host interfaces to the 82C814 chip through the primary PCI bus. This bus operates according to PCI standards, including the later addition of the CLKRUN# signal. CLKRUN# is normally controlled by the host, but at certain times can be driven low by the 82C814 chip when the chip is requesting that PCICLK be restarted or sped up. Refer to the PCI Mobile Design Guide for the requirements of CLKRUN#. CLKRUN# is controlled by PCICFG 50h[2]. 4.6 The 82C814 logic is different from the standard PCI-to-PCI bridge in this regard. The 82C814 allows the secondary to act as a primary. PCICFG 52h[0] is used to enable this feature. PCI-to-CardBus Bridge The PCI-to-CardBus bridge circuit of the 82C814 chip recognizes the cycle being performed by the current system bus master and responds as required. 4.6.1 4.6.1.1 Translation Between Type 0 and Type 1 Configuration Cycles The 82C814 logic converts Type 1 configuration cycles on the host PCI bus to Type 1, Type 0, or a Special Cycle as is typically required of a PCI-to-PCI bridge. However, in a PCIto-PCI bridge, Type 1 configuration cycles on the secondary PCI bus can be converted only to Type 1 or Special Cycles on the primary bus, never to Type 0. Configuration Cycle If the access is a configuration cycle, the PCI bridge simply accesses the local PCI Configuration Register set directly. The PCI cycle controller claims all configuration accesses to PCI Function 0 of the 82C814 chip. With this feature selected, master devices on the docking station interface can program the PCI configuration registers of the 82C814 (and any other PCI device on the host PCI bus). To do so, the secondary bus master must generate a Type 1 configuration cycle. The 82C814 logic will pass this to the primary as a Type 0 configuration cycle. Since the 82C814 PCI configuration registers sit on the primary, they are also accessible this way. Thus, on the primary the 82C814 acts as both initiator by generating the configuration cycle, and as target by claiming the cycle it just generated. Note that secondary bus masters can access PCI configuration registers on any primary bus device, not just the 82C814. Table 4-2 7 CLKRUN# Control Bits 6 5 PCICFG 50h 4 3 2 1 PCI Host Feature Control Register 0 Default = 01h CLKRUN# (on host interface): 0 = Enabled per PCI 1 = Disabled, CLKRUN# tristated Table 4-3 7 PCICFG 52h Translation Feature Configuration Bit 6 5 4 3 Docking Feature Control Register 2 2 1 0 Default = 0Fh Type 1 to Type 0 conversion blocked from secondary to primary: 0 = No 1 = Yes (Default) OPTi ® 912-3000-047 Revision: 1.0 Page 15 January 08, 1998 82C814 4.6.2 Cycle from Host to Docking Interface For a cycle from the host to a docking interface with a docking station attached, the PCI bridge resynchronizes the cycle and passes it to the external PCI device. Docking PCI devices can run either synchronously at the host PCI frequency, or asynchronously at any speed using an external clock. The bridge claims the cycle if it falls into one of the ranges programmed in the Window Registers of the PCI Configuration Register set. 4.6.3 Master Cycle from Docking Interface For a master cycle from the docking interface, the 82C814 logic presents the cycle on the host PCI bus as master. If the cycle is directed to a device on the other docking interface, the 82C814 logic claims the cycle immediately, as a slave, since the address ranges are already programmed into the Base Address Registers for that docking station. If the cycle is not claimed by the other docking station and no host device claims it, the 82C814 generates a master abort. 4.6.4 Inability to Complete a Posted Write The 82C814 logic provides write posting in both the downstream and upstream PCI directions. There is a special situation that arises when the target of posted write data is unable to complete the transaction. Normally, a target retry or a disconnect will result in the 82C814 logic retrying the access until it has completed the transfer of posted data. However, after the programmed number of retries has been attempted, the logic must report the error condition back to the host. The 82C814 provides only one mechanism to return the error: the SERR# pin. The host must then decide how to handle the SERR# generation, either by generation of an NMI or some other means. Table 4-4 The 82C814 PCI configuration register set provides a register to program the number of retries before the logic gives up and generates SERR#, as shown in Table 4-4. 4.6.5 Cycle Termination by Target The PCI-to-CardBus bridge logic responds to cycle termination by target devices in various ways for each transaction type being terminated. 4.6.5.1 Posted Write Termination Retry or Disconnect - The 82C814 logic retries the write cycle at least 256 times, and may continue trying indefinitely, according to the setting of PCICFG 5Eh[2:0]. When the logic reaches the retry limit, it generates SERR# on the master interface. No target abort will be signalled in the PCI Status Register, but software can read 82C814-Specific Register 5Fh to determine whether the retry limit was exceeded. Target Abort or No Response - The logic generates SERR#+CSERR# on the master interface. Software reads the PCI Status Register to determine that a target abort occurred. 4.6.5.2 Non-Posted Write Termination Retry, Disconnect, or Target Abort - The logic simply conveys the target response to the initiator. No Response - If PCICFG 3Eh[5] = 0, the 82C814 logic terminates the cycle to the initiator normally. If bit 3Eh[5] = 1, the logic generates target abort to the initiator. 4.6.5.3 Read (Prefetched or Non-Prefetched) Termination Retry, Disconnect, or Target Abort - The logic simply conveys the target response to the initiator. No Response - If PCICFG 3Eh[5] = 0, the 82C814 logic terminates the cycle to the initiator normally and returns FFFFFFFFh as the data read. If bit 3Eh[5] = 1, the logic generates target abort to the initiator. Write Posting Associated Registers 7 6 PCICFG 5Eh 5 4 3 2 1 Primary Retry Limit Register 0 Default = 07h Retry Limit: These bits relate to the number of times that the 82C814, as a slave, will retry accesses on the primary. If this limit is exceeded, the 82C814 generates SERR# to the host. 000=28 100=216 001=210 101=220 010=212 110=224 011=214 111= Infinite retries (Default) OPTi ® Page 16 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 4-4 7 Write Posting Associated Registers (cont.) 6 5 PCICFG 5Fh - 4 3 2 82C814 Retry Count Readback Register (RO) 1 0 Default = 00h This register returns the number of retry attempts made. More than 256 retries are indicated by FFh. Used for diagnostic purposes. Read-only. Separate counts are maintained for primary and secondary. Bit 5Eh[3] selects the count being read back. PCICFG 3Eh Bridge Control Register - Byte 0 Default = 40h Response to master abort on slot interface: 0 = Ignore 1 = Signal with target abort or SERR# 4.7 PCI Docking Station Operation OPTi docking is based on the CardBus concept: the docking station can be treated like a CardBus card being plugged into or removed from the system at any time. The docking interface is fully isolated and allows the host system to recover in case of problems on the dock. Windows 98 and NT 5.0 fully supports 82C814 docking. When using other operating systems, BIOS support software is required. The rest of this section describes the basics of the support software needed. 4.7.1 Introduction The 82C814 register set follows the Yenta standard; the registers are virtually the same whether in CardBus mode or in Docking mode. However, there are two differences from a programming point of view. • A CardBus card can be identified as PCICFG 68h[5:4] = 10. A Docking Station is identified by PCICFG 68h[5:4] = 11. • A CardBus card has only one interrupt, mapped to PCIRQ0#. A Docking Station has four interrupt pins, mapped through PCIRQ[3:0]#. When a docking station is attached to the interface, the power control state machine of the 82C814 recognizes the docking station. A docking station is the only valid attachment to the 82C814 chip. 4.7.2 Procedure The docking concept follows the Yenta specification. However, a more flexible set of registers is available for docking that allows eight windows instead of the four offered by Yenta. Either the Yenta window registers (PCICFG 1C-3Bh) or the docking registers (PCICFG 80-BFh) can be used. The docking window registers also allow finer control over window sizes than do the Yenta window registers. 4.7.3 Initial Setup The following programming should be performed at system initialization time, and does not need to be repeated. • Enable Host Chipset Bus Preemption. Write SYSCFG 1Eh[3] = 1 on the Viper-N+ and FireStar chipsets. • Establish Status Change Interrupt. Write PCICFG 4Ch with the IRQ that should be generated when the dock is attached or removed. Any available IRQ can be used. On FireStar, selecting IRQ2 will generate an SMI and IRQ13 will generate an NMI. These selections are not available on Viper-N+. However, normal IRQs can be programmed on the Viper-N+ chipset to generate an SMI or NMI if desired, through the following approach: 1. Use SYSCFG 64h and A4h to select the IRQ to use for SMI generation. 2. Write SYSCFG 57h[6] = 1 to enable INTRGRP to generate PMI#6 when the selected IRQ goes active. 3. Write SYSCFG 59h[5:4] = 11 to enable PMI#6 to generate SMI. OPTi ® 912-3000-047 Revision: 1.0 Page 17 January 08, 1998 82C814 • Establish IRQ Driveback Address. Write PCICFG 5457h with an I/O address to use for IRQ driveback. The default value is 33333330h, but any unused value is fine. Ideally the address should be greater than FFFFh to prevent conflicts with ISA I/O address space. quate. Also write PCICFG 60h = 0Fh to clear any pending events. Table 4-5 summarizes the typical settings for system initialization. 4.7.4 Write the same value to the IRQ Driveback registers in the host chipset (Viper-N+ or FireStar). The registers are at the same PCI offset, but different PCI device: PCIDV1 5457h. • Select PCI Bus Number of Docking Station. PCICFG 19h selects the PCI bus number on the secondary side of the bridge. A value of 01h is typical. When a docking station is attached, the 82C814 sees CD1# and CD2# go low, because the docking station connector has these lines hard-wired as follows: • Select Total Number of Downstream Buses. PCICFG 1Ah selects the number of the last downstream PCI bus. A value of 01h is typical. • CD1# is connected to CVS1 for a 3.3V docking station, or to CVS2 for a 5.0V docking station. • Program the Time-out Value. PCICFG 1Bh should be set to FFh. • CD2# is connected to ground. The 82C814 card detection sequencer waits for the time set in PCICFG 50h[3], then performs a test on these lines to determine the type of device attached. Once the test is complete, the 82C814 generates an interrupt to the IRQ configured in PCICFG 4Ch. • Program the Latency Timer. PCICFG 0Dh should be set to FFh. • Select the Status Change Events. PCICFG 64h[3:0] select the events that will cause a status change interrupt in the future. Typically writing PCICFG 64h = 06h is ade- Table 4-5 Action Upon Attachment of Dock At idle, with no device attached, the CD1-2# pins are pulled high internal to the 82C814 chip. CVS1-2 are driven low. All other interface lines are pulled low at this time; the docking interface itself can remain unpowered. The 82C814 monitors the CD1-2 lines to determine a docking event. Summary of Typical Settings (using IRQ5 for SMI) Register Byte 3 Byte 2 Byte 1 Byte 0 82C814 Register PCICFG 4Ch -- -- -- 15h (IRQ5) PCICFG 54h 33h 33h 33h 30h PCICFG 0Ch -- -- FFh -- PCICFG 18h FFh 01h 01h 00h PCICFG 64h -- -- -- 06h PCICFG 60h -- -- -- 0Fh Viper N+ Register (assuming IRQ5) PCIDV1 54h 33h 33h 33h 30h SYSCFG 64h -- -- -- ****1***b(IRQ5) SYSCFG 57h -- -- -- 01**0000b SYSCFG 59h -- -- -- **11****b SYSCFG 1Eh -- -- -- ****1***b * These bits should be read first, then written to the same value. OPTi ® Page 18 January 08, 1998 912-3000-047 Revision: 1.0 82C814 4.8 Status Change Service Routine Interrupt or SMI service software should perform the following steps: 1. Read PCICFG 68h[7, 5:4] to determine whether a docking station has been recognized. Test: PCICFG 68h[7] = 0? Yes - Device recognized. No - Device not recognized. Go to “Retest” section. Test: PCICFG 68[5:4] = 11? Yes - Docking station recognized. No - Not a docking station. Exit procedure so that CardBus software can handle event. 2. Read PCICFG 68h[2:1]. The card detection sequencer drives CVS1 and CVS2 low after detection, so CD1-2# will stay low. Test: PCICFG 68h[2:1] = 00? Yes - Docking confirmed. No - A non zero value indicates that the connection is not valid or that an undock event has taken place. 3. Read PCICFG 60h to determine the event that caused the interrupt. Write this same value back to the register to clear these events, and cause the IRQ line that was active to go inactive. Also clear PMI event on host chipset if this was an SMI. 4. Test: Was docking confirmed in step 2? Yes - Go to “Docking Event” section. No - Force a retest by writing PCICFG 6Dh[6] = 1, and go to step 1. If this is the second time through, then proceed to “Undocking Event” section. 4.8.1 Docking Event 1. Read PCICFG 69h to determine the docking station voltage. 2. Power up the interface by writing PCICFG 70h[6:4] with the correct VCC value. PCICFG 70h is typically written to 20h for a 5.0V docking station. 3. Read PCICFG 68h again to check power cycling. Test: PCICFG 68h[3] = 1? Yes - Continue to next step. No - There is a problem. Check PCICFG 69h[1] to see if the VCC value chosen is allowable. If necessary, force a retest and then start over at step 1. 4. Select PCICLK skew through PCICFG 52h[7:4]. This value will have to be determined according to the design of the docking station. Depending on the type of PCICLK routing used on the docking station, the internal clock may need to be skewed 1-15ns. 5. Write PCICFG 3Eh[6] = 0 to deassert PCIRST# to the dock. The Docking Station devices can now be configured in the usual manner for PCI devices. 4.8.2 Undocking Event The following step should be followed if an undock event has been detected. 1. Test whether PCICFG 69h[0] = 1. If so, data may have been lost in the undocking event. On an undock event, no other steps are necessary. The controller automatically powers down the dock, tristates the interface, and asserts the CRST# line. 4.8.3 Notes on Undocking When undocking, the user can notify the system software (Windows 95) first so that the system software can turn off the 82C814 docking side to make a graceful undock. This is the safest scheme to implement but is not always practical in a real system because of cost. If hot undocking is required without notifying the system software, shorter CD1-2# pins are required on the docking connector. The CD1-2# pins will change first. The 82C814 will complete the current cycle on the secondary, and will not attempt to start another. The undocking event generates an interrupt to the system, so that software can check to determine if any posted write data was left in the FIFO. PCICFG 5Fh returns the number of retries attempted in flushing the FIFO, which can be used to determine whether any data was left after the hot undock. 4.8.4 Retest Whenever the result of a test is ambiguous, software should force the controller to retest the detection pins. Force a retest by writing PCICFG 6Dh[6] = 1, then start the full service routine over again. If after several times through this retest sequence the status cannot be determined, assume an “undocked” state. OPTi ® 912-3000-047 Revision: 1.0 Page 19 January 08, 1998 82C814 4.8.5 PCI Clock Buffering The 82C814 logic provides register settings PCICFG 52h[7:4] to compensate for trace delays. Some compensation is gen- Table 4-6 erally required. Table 4-6 highlights the register used for compensating trace delays. Register used to Delay Internal PCICLK to Compensate for Trace Delays 7 6 5 PCICFG 52h 4 3 2 1 Docking Feature Control Register 2 0 Default = 0Fh Secondary PCICLK Skew: This value selects the approximate delay, in nanoseconds, that the internal secondary PCICLK must be skewed in order to compensate for external buffer delays. 0000 = No delay ..... 1101 = 13ns 4.9 0001 = 1ns 0010 = 2ns 1110 = 14ns 1111 = 15ns Interrupt Support The 82C814 supports a total of three interrupt schemes from the secondary PCI bus. 1. PCI interrupts INTA#, INTB#, INTC#, and INTD# can be mapped internally to system PCIRQ[3:0]# lines. 2. PCI IRQ driveback cycles can generate any ISA interrupt. The OPTi PCI-ISA Bridge uses this scheme to generate interrupts in a parallel format back to the host controller via the 82C814 chip. 3. The Compaq Serial IRQ scheme uses a single wire, IRQSER, along with the PCICLK to transmit interrupts in a serial format. The available schemes are described below. 4.9.1 PCI INTx# Implementation The PCI INTA#, INTB#, INTC#, and INTD# lines can be mapped to any of the primary side PCIRQ[3:0]# lines. PCICFG 48-4Ch provide controls for this mapping. 4.9.2 IRQ Driveback Logic A detailed overview of the IRQ driveback cycle is provided in Appendix A. The logic used to implement this mechanism is relatively simple. The trigger events for a driveback cycle are any transition on an interrupt line, or an SMI event as enabled by the 82C814 configuration registers. The request goes to the Request Arbiter logic, which always gives the driveback cycle top priority. Once the REQ# pin is available, the Request Arbiter asserts REQ# on behalf of the IRQ Driveback logic and toggles REQ# according to the driveback protocol discussed in Appendix A. Once the host PCI controller returns GNT#, the driveback logic writes to the IRQ driveback address location specified in the PCI configuration registers as shown in Appendix A. OPTi ® Page 20 January 08, 1998 912-3000-047 Revision: 1.0 82C814 4.9.3 Compaq Serial IRQ Implementation The 82C814 chip supports the Compaq standard of Serial IRQs. This one wire approach is very compact compared to the Intel two-wire approach, but if two devices on the line want to share the same interrupt, there may be brief contention since both devices drive the line low on one clock and Table 4-7 7 6 5 4 3 2 Serial IRQ Control Register 1 Compaq SIRQ HALT mode request: Compaq SIRQ QUIET mode request: 0 = Active 1 = Halt 0 = Continuous 1 = Quiet Compaq SIRQ data frame slots. Change only when the Serial IRQ logic is disabled or in Halt state. 0 = 17 slots 1 = 21 slots PCICFG 4Fh 0 = No 1 = Yes The Compaq Serial IRQ scheme requires the register bits. shown in Table 4-7. Compaq SIRQ Control Bits PCICFG 4Eh Compaq SIRQ in HALT state (RO)? high on the clock that immediately follows. Because of this contention, OPTi cannot guarantee against chip hardware failure if interrupts are shared in this mode. Compaq SIRQ Start frame width in PCI clocks. Change this setting only when Serial IRQ is disabled or in Halt state. 00 = 4 PCI clocks 01 = 6 PCI clocks 10 = 8 PCI clocks 11 = Reserved Serial IRQ Control Register 2 1 0 Default = 00h Compaq SIRQ (Compaq Serial IRQ scheme): 0 = Disable 1 = Enable Default = 00h Compaq SIRQ in QUIET state (RO)? 0 = No 1 = Yes QUIET - PCICFG 4Eh[6] requests the next Serial IRQ cycle to be Continuous or Quiet mode. In mobile applications, use Continuous mode only. This is to guarantee that the host gains control of the Serial IRQ for suspend and APM stop clock. In application where the PCI clock never stops, use either mode. PCICFG 4Fh[6] can be read to determine the current state of the logic. HALT - PCICFG 4Eh[7] requests a temporary halt of the Serial IRQ controller as soon as the current cycle has returned to Idle state. Once in Halt state, the Serial IRQ configuration can be changed. After the logic has been put in Halt state, upon clearing this bit the logic will return to Continuous mode. PCICFG 4Fh[7] can be read to determine the current state of the logic. 4.9.3.1 Operation The Compaq Serial IRQ protocol requires one additional PCI sustained Tri-State pin, the IRQSER signal. For detailed Serial IRQ operation, refer to the “Serialized IRQ for PCI Systems” specification. After setting PCICFG 4Eh[0] = 1 to enable Compaq Serial IRQ (CSIRQ) mode, the CSIRQ controller initiates a Continuous mode Start frame. During the Data frame, the CSIRQ logic samples the IRQSER input for the corresponding SMI, IOCHCK#, and IRQ values, and then passes the sampled values to the primary. At the end of the Data frame, the CSIRQ controller will sample the QUIET and HALT bits to determine whether the next Compaq Serial IRQ cycle will be Continuous mode, Quiet mode, or a temporary Halt state. • If the next cycle is sampled to be Continuous mode, IRQSER is asserted for three PCI clocks. Once the logic enters Idle state, it checks whether the PMU stop PCI clock request is pending. If so, the CSIRQ logic will stay in the Idle state until the PMU request is removed. • If the next cycle is sampled to be Quiet mode, IRQSER is asserted for two PCI clocks. Once the logic enters Idle state, it samples the IRQSER input to begin the Quiet mode cycle. Since the 82C814 has no control of the Start frame, this mode is not recommended for mobile application. • If the HALT bit is sampled active, then the CSIRQ logic asserts IRQSER for three PCI clocks to tell all the Serial IRQ devices that next cycle will be Continuous mode; the logic then enters Halt state. In Halt state, CSIRQ configuration can be changed. Clearing the HALT bit will immediately cause a Continuous mode Start frame to be generated. Once enabled, the Compaq Serial IRQ logic operates all the time when docked; no clock stop synchronization is needed. OPTi ® 912-3000-047 Revision: 1.0 Page 21 January 08, 1998 82C814 OPTi ® Page 22 January 08, 1998 912-3000-047 Revision: 1.0 82C814 5.0 82C814 Register Set The 82C814 Docking Controller chip provides a single group of programming registers, PCI-to-CardBus Bridge 0 Register Group, accessed through a PCI Configuration Cycle to Function 0 of the chip. Consists of CardBus Controller Base Register Group at PCICFG 00h-4Fh, 82C814-specific registers at 50h-5Fh, CardBus Control and Status Register Group at 60h7Fh, and Docking Station Window Register Group at 80hFFh. Note that the CardBus Control and Status Register Group can also be accessed in system memory space. This register group is defined in the following subsections. disconnected from the interface (CCD1# and CCD2# both high). However, the 82C814-specific registers at PCICFG 48h-5Fh control global configuration and remain set to their programmed values even after a device is removed. 5.2 Base Register Group The registers below represent the standard group required for PCI peripheral device identification and configuration for a PCI-to-CardBus bridge. Note: 5.1 Register State on Device Removal As a general rule, all PCI configuration registers default to their power-on reset value when the card or docking station is Table 5-1 7 In the tables that follow, all bits are R/W and their default value is zero, unless otherwise specified. R/W = Read/Write, RO = Read-only, and WO = Write-only Base Register Group - PCICFG 00h-4Fh 6 5 4 3 2 1 0 PCICFG 00h Vendor Identification Register (RO) - Byte 0 Default = 45h PCICFG 01h Vendor Identification Register (RO) Byte 1 Default = 10h PCICFG 02h Device ID (RO) - Byte 0 Default = 14h PCICFG 03h Device ID (RO) - Byte 1 Default = C8h PCICFG 04h PCI Command Register - Byte 0 Default = 04h Address/data stepping: 0 = Disable (always) PERR# generation: VGA palette snoop: 0 = Disable 1 = Enable 0 = Disable 1 = Enable PCICFG 05h Mem write and Invalidate (RO): 0 = Disable (always) Special Cycle (RO): 0 = Disable (always) Bus master by docking interfaces: 1 = Enable (always) Respond to PCI mem accesses: 0 = No 1 = Yes PCI Command Register - Byte 1 Reserved: Write bits as read. Fast back-toback capability (RO): Fast back-toback (RO): PCI Status Register - Byte 0 Reserved (RO) 0 = No (always) 0 = No 1 = Yes Write 1 to clear SERR# generation: 0 = Disable 1 = Enable Default = 10h Reserved (RO) 1 = Yes (always) PCICFG 07h Parity error: PCI Power Management Capability (RO) 0 = No 1 = Yes Default = 00h 0 = Disable (always) PCICFG 06h Respond to PCI I/O accesses: PCI Status Register - Byte 1 System error: 0 = No 1 = Yes Write 1 to clear Received master abort: 0 = No 1 = Yes Write 1 to clear Received target abort: 0 = No 1 = Yes Write 1 to clear Signalled target abort: 0 = No 1 = Yes Write 1 to clear Default = 02h DEVSEL# timing (RO): 00 = Fast 01 = Medium (always) 10 = Slow 11 = Reserved PERR# active as master: 0 = No 1 = Yes Write 1 to clear OPTi ® 912-3000-047 Revision: 1.0 Page 23 January 08, 1998 82C814 Table 5-1 Base Register Group - PCICFG 00h-4Fh (cont.) 7 6 5 4 3 2 1 0 PCICFG 08h Revision Register (RO) Revision 1.0 Default = 10h PCICFG 09h Programming Interface Class Code Register (RO) Default = 00h Class Code Register (RO) - Byte 0 Default = 07h PCICFG 0Ah Subclass Code bits: = 07h (PCI-to-Cardbus Bridge) PCICFG 0Bh Class Code Register (RO) - Byte 1 Default = 06h Base Class Code bits: = 06h (Bus Bridge) PCICFG 0Ch Cache Line Size Register Default = 00h Not implemented PCICFG 0Dh Latency Timer Register Default = 00h Indicates the time-out value for the primary PCI interface. PCICFG 0Eh Header Type Register Multi-function device (RO): Default = 02h Layout type for 10-3Fh bytes bits [6:0] = 02h (PCI-to-CardBus Header Layout) 0 = No (always) PCICFG 0Fh BIST Register Default = 00h Not implemented PCICFG 10h CardBus Base Address Register - Byte 0: Address Bits [7:0] Default = 00h CardBus Socket Status and Control Base Address Bits: - The 32-bit Cardbus Base Address Register selects the starting address in memory space of the CardBus socket status and control registers. Actual register addresses are calculated by adding the MEMOFST of the register to this base address. Bits [11:0] are read-only and are always 0, to indicate that the registers occupy 4KB of non prefetchable system memory space and starts on a 4KB boundary. PCICFG 11h CardBus Base Address Register - Byte 1: Address Bits [15:8] Default = 00h PCICFG 12h CardBus Base Address Register - Byte 2: Address Bits [23:16] Default = 00h PCICFG 13h CardBus Base Address Register - Byte 3: Address Bits [31:24] Default = 00h PCICFG 14h Capabilities Pointer (RO) Default = F0h Indicates the offset in the PCICFG space for the location of the first item in the Capabilities Linked List. This location is PCICFG F0h. PCICFG 15h Reserved Default = 00h OPTi ® Page 24 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 5-1 7 Base Register Group - PCICFG 00h-4Fh (cont.) 6 5 PCICFG 16h 4 3 2 1 PCI Secondary Bus Status Register - Byte 0 Fast back-toback capability on docking interface PCI bus (RO): 0 Default = 00h Reserved (RO) 0 = No (always) PCICFG 17h Parity error on docking interface PCI bus: 0 = No 1 = Yes Write 1 to clear PCI Secondary Bus Status Register - Byte 1 Received system error on docking interface PCI bus: 0 = No 1 = Yes Write 1 to clear Received master abort on docking interface PCI bus (RO): 0 = No 1 = Yes PCICFG 18h - - DEVSEL# timing on docking interface PCI bus (RO): 0 = No 1 = Yes 00 = Fast 01 =Medium (always) 10 = Slow 11 = Reserved Write 1 to clear Primary PCI Bus Number Register PERR# active as master on docking interface PCI bus (RO): 0 = No 1 = Yes Default = 00h Secondary PCI Bus Number Register Default = 00h Indicates the number of the PCI bus to which the docking interface of the 82C814 chip is connected. Defaults to 0. The logic uses this value to determine whether Type 1 configuration transactions on the host interface should be converted to Type 0 transactions on the docking interface. PCICFG 1Ah - 0 = No 1 = Yes Signalled target abort on docking interface PCI bus: Indicates the number of the PCI bus to which the host interface of the 82C814 chip is connected. Defaults to 0. The logic uses this value to determine whether Type 1 configuration transactions on the docking interface should be converted to Special Cycle transactions on the host interface. PCICFG 19h - Received target abort on docking interface PCI bus (RO): Default = 02h Subordinate Bus Number Register Default = 00h Indicates the number of the highest-numbered PCI bus on the docking interface side. The 82C814 logic uses this value in conjunction with the Secondary Bus Number to determine when to respond to Type 1 configuration transactions on the host interface and pass them onto the docking interface. Defaults to 0. PCICFG 1Bh Latency Timer Register Default = 00h Indicates the time-out value for the docking interface. PCICFG 1Ch Memory Window 0 Base Address Register - Byte 0: Address Bits [7:0] Default = 00h Memory Window 0 Base Address Bits: - The 32-bit Memory Window 0 Base Address Register selects the start address of one of two possible CardBus memory windows to the slot interface. Bits [11:0] are read-only and are always 0. The memory windows are globally enabled by bit 04h[1] (Command Register). Prefetching is enabled by bit 3Fh[0] (Bridge Control Register) and defaults to "enabled." The Limit address can be set below the Base address to individually disable a window. PCICFG 1Dh Memory Window 0 Base Address Register - Byte 1: Address Bits [15:8] Default = F0h PCICFG 1Eh Memory Window 0 Base Address Register - Byte 2: Address Bits [23:16] Default = FFh PCICFG 1Fh Memory Window 0 Base Address Register - Byte 3: Address Bits [31:24] Default = FFh OPTi ® 912-3000-047 Revision: 1.0 Page 25 January 08, 1998 82C814 Table 5-1 Base Register Group - PCICFG 00h-4Fh (cont.) 7 6 PCICFG 20h 5 4 3 2 1 Memory Window 0 Limit Address Register - Byte 0: Address Bits [7:0 0 Default = 00h Memory Window 0 Limit Address Bits: - The 32-bit Memory Window 0 Limit Address Register selects the end address of Memory Window 0. Bits [11:0] are read-only and are always 0. The minimum window size is always 4KB. PCICFG 21h Memory Window 0 Limit Address Register - Byte 1: Address Bits [15:8] Default = 00h PCICFG 22h Memory Window 0 Limit Address Register - Byte 2: Address Bits [23:16] Default = 00h PCICFG 23h Memory Window 0 Limit Address Register - Byte 3: Address Bits [31:24] Default = 00h PCICFG 24h Memory Window 1 Base Address Register - Byte 0: Address Bits [7:0] Default = 00h Memory Window 1 Base Address Bits: - The 32-bit Memory Window 1 Base Address Register selects the start address of one of two possible CardBus memory windows to the slot interface. Bits [11:0] are read-only and are always 0. The memory windows are globally enabled by bit 04h[1] (Command Register). Prefetching is enabled by bit 3Fh[1] (Bridge Control Register) and defaults to "enabled." The Limit address can be set below the Base address to individually disable a window. PCICFG 25h Memory Window 1 Base Address Register - Byte 1: Address Bits [15:8] Default = F0h PCICFG 26h Memory Window 1 Base Address Register - Byte 2: Address Bits [23:16] Default = FFh PCICFG 27h Memory Window 1 Base Address Register - Byte 3: Address Bits [31:24] Default = FFh PCICFG 28h Memory Window 1 Limit Address Register - Byte 0: Address Bits [7:0] Default = 00h Memory Window 1 Limit Address Bits: - The 32-bit Memory Window 1 Limit Address Register selects the end address of Memory Window 1. Bits [11:0] are read-only and are always 0. The minimum window size is always 4KB. PCICFG 29h Memory Window 1 Limit Address Register - Byte 1: Address Bits [15:8] Default = 00h PCICFG 2Ah Memory Window 1 Limit Address Register - Byte 2: Address Bits [23:16] Default = 00h PCICFG 2Bh Memory Window 1 Limit Address Register - Byte 3: Address Bits [31:24] Default = 00h PCICFG 2Ch I/O Window 0 Base Address Register - Byte 0: Address Bits [7:0] I/O Window 0 Base Address Bits: - The 32-bit I/O Window 0 Base Address Register selects the start address of one of two possible CardBus I/O windows to the slot interface. The I/O windows are globally enabled by bit 04h[0] (Command Register). Default = 00h RO: Decoding: Always returns 0. 0 = 16-bit (AD[31:16] = 0) 1 = 32-bit PCICFG 2Dh I/O Window 0 Base Address Register - Byte 1: Address Bits [15:8] Default = F0h PCICFG 2Eh I/O Window 0 Base Address Register - Byte 2: Address Bits [23:16] Default = FFh PCICFG 2Fh I/O Window 0 Base Address Register - Byte 3: Address Bits [31:24] Default = FFh OPTi ® Page 26 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 5-1 7 Base Register Group - PCICFG 00h-4Fh (cont.) 6 5 PCICFG 30h 4 3 2 1 I/O Window 0 Limit Address Register - Byte 0: Address Bits [7:0] Default = 00h I/O Window 0 Limit Address Bits: - 0 RO: The 32-bit I/O Window 0 Limit Address Register selects the end address of I/O Window 0. The minimum window size is always 4 bytes. Always returns 0. PCICFG 31h I/O Window 0 Limit Address Register - Byte 1: Address Bits [15:8] Default = 00h PCICFG 32h I/O Window 0 Limit Address Register - Byte 2: Address Bits [23:16] Default = 00h PCICFG 33h I/O Window 0 Limit Address Register - Byte 3: Address Bits [31:24] Default = 00h PCICFG 34h I/O Window 1 Base Address Register - Byte 0: Address Bits [7:0] I/O Window 1 Base Address Bits: - The 32-bit I/O Window 1 Base Address Register selects the start address of one of two possible CardBus I/O windows to the slot interface. The I/O windows are globally enabled by bit 04h[0] (Command Register). Default = 00h RO: Decoding: Always returns 0. 0 = 16-bit (AD[31:16] = 0) 1 = 32-bit PCICFG 35h I/O Window 1 Base Address Register - Byte 1: Address Bits [15:8] Default = F0h PCICFG 36h I/O Window 1 Base Address Register - Byte 2: Address Bits [23:16] Default = FFh PCICFG 37h I/O Window 1 Base Address Register - Byte 3: Address Bits [31:24] Default = FFh PCICFG 38h I/O Window 1 Limit Address Register - Byte 0: Address Bits [7:0] Default = 00h I/O Window 1 Limit Address Bits: - RO: The 32-bit I/O Window 1 Limit Address Register selects the end address of I/O Window 1. The minimum window size is always 4 bytes. Always returns 0. PCICFG 39h I/O Window 1 Limit Address Register - Byte 1: Address Bits [15:8] Default = 00h PCICFG 3Ah I/O Window 1 Limit Address Register - Byte 2: Address Bits [23:16] Default = 00h PCICFG 3Bh I/O Window 1 Limit Address Register - Byte 3: Address Bits [31:24] Default = 00h PCICFG 3Ch Interrupt Line Register for Status Change Default = 00h - This register is readable and writable per the PCI specification. The logic does not use the value written to this register. PCICFG 3Dh Interrupt Pin Register for Status Change Default = 01h RO: - This register reflects the value written to PCICFG 4Ch. It defaults to 01h, selecting PCIRQ0# for the status change (docking station attach/detach) interrupt. If PCICFG 4Ch is written to select an ISA interrupt or no interrupt, this register returns 00h. PCICFG 3Eh Reserved Bridge Control Register - Byte 0 Force CRST# cycling on slot interface: Response to master abort on slot interface: 0 = CRST# high 0 = Ignore 1 = Assert CRST# (Default) 1 = Signal with target abort or SERR# Reserved: Write as read. Pass VGA addresses A0000-BFFFFh, 3B0-3BBh, 3C0-3DFh: 0 = No 1 = Yes Default = 40h Reserved Forwarding of SERR# from slot interface to primary PCI bus: Response to parity errors on slot interface: 0 = Ignore 1 = Enable 0 = Disable 1 = Enable OPTi ® 912-3000-047 Revision: 1.0 Page 27 January 08, 1998 82C814 Table 5-1 Base Register Group - PCICFG 00h-4Fh (cont.) 7 6 5 4 PCICFG 3Fh 3 2 1 0 Bridge Control Register - Byte 1 Reserved. Write as read. Default = 03h Write posting: 0 = Disable 1 = Enable PCICFG 40h Memory Window 1 prefetch: Memory Window 0 prefetch: 0 = Disable 0 = Disable 1 = Enable (Default) 1 = Enable (Default) Subsystem Vendor Register - Byte 0: Bits [7:0] Default = 00h Subsystem Vendor Bits: - The chipset responds to reads of this register with the first value written. The register can be written only once, then becomes read only. If the option is selected, the EXTCLK pin can be used as DRVVENID# to enable external logic to drive this data onto the bus. In this case, the chipset claims the access but does not drive any data. PCICFG 41h Subsystem Vendor Register - Byte 1: Bits [15:8] Default = 00h PCICFG 42h Subsystem ID Register - Byte 0: Bits [7:0]: Default = 00h Subsystem ID - The chipset responds to reads of this register with the first value written. The register can be written only once, then becomes read only. If the option is selected, the EXTCLK pin can be used as DRVVENID# to enable external logic to drive this data onto the bus. In this case, the chipset claims the access but does not drive any data. PCICFG 43h Subsystem ID Register - Byte 1: Bits [15:8] Default = 00h Reserved Default = 00h Docking PCIRQ0# Interrupt Assignment Register Default = 01h PCICFG 44h - 47h PCICFG 48h Reserved Using OPTi IRQ driveback mechanism: Docking Interrupt Assignment (PCIRQ0# Default) - Interrupts from the docking PCIRQ0# pin are mapped to this interrupt. Note that if an IRQ (an edge-mode interrupt) is selected, this IRQ must be programmed to Level mode on the host chipset. Level Mode: 00000 = Disabled 00010 = PCIRQ1# 00001 = PCIRQ0# (Default) 00011 = PCIRQ2# Edge Mode: (Viper-N+) 10000 = IRQ0 10001 = IRQ1 10010 = IRQ2 10011 = IRQ3 10100 = IRQ4 10101 = IRQ5 Reserved 10110 = IRQ6 10111 = IRQ7 11000 = IRQ8 11001 = IRQ9 11010 = IRQ10 00100 = PCIRQ3# 00101-01111 = Rsrvd 11011 = IRQ11 11100 = IRQ12 11101 = IRQ13 11110 = IRQ14 11111 = IRQ15 Using Host PCI INTA#-D# (PCICFG 50h[6]=1) 000 = Disabled 001 = INTA# (default) 010 = INTB# 011 = INTC# 100 = INTD# 101-111 = Reserved OPTi ® Page 28 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 5-1 7 Base Register Group - PCICFG 00h-4Fh (cont.) 6 PCICFG 49h 5 4 3 2 Docking PCIRQ1# Interrupt Assignment Register Reserved 1 0 Default = 02h Using OPTi IRQ driveback mechanism: Docking PCIRQ1# Interrupt Assignment (PCIRQ1# Default) - Interrupts from the docking PCIRQ1# pin are mapped to this interrupt. Note that if an IRQ (an edge-mode interrupt) is selected, this IRQ must be programmed to Level mode on the host chipset. Level Mode: 00000 = Disabled 00001 = PCIRQ0# Edge Mode: (Viper-N+) 10000 = IRQ0 10001 = IRQ1 10010 = IRQ2 10011 = IRQ3 10100 = IRQ4 10101 = IRQ5 Reserved 00010 = PCIRQ1# (Default) 00011 = PCIRQ2# 00100 = PCIRQ3# 00101-01111 = Rsrvd 10110 = IRQ6 10111 = IRQ7 11000 = IRQ8 11001 = IRQ9 11010 = IRQ10 11011 = IRQ11 11100 = IRQ12 11101 = IRQ13 11110 = IRQ14 11111 = IRQ15 Using Host PCI INTA#-D# (PCICFG 50h[6]=1) 000 = Disabled 001 = INTA# 010 = INTB# (default) PCICFG 4Ah Docking PCIRQ2# Interrupt Assignment Register Reserved 011 = INTC# 100 = INTD# 101-111 = Reserved Default = 03h Using OPTi IRQ driveback mechanism: Docking PCIRQ2# Interrupt Assignment (PCIRQ2# Default) - Interrupts from the docking PCIRQ2# pin are mapped to this interrupt. Note that if an IRQ (an edge-mode interrupt) is selected, this IRQ must be programmed to Level mode on the host chipset. Level Mode: 00000 = Disabled 00001 = PCIRQ0# Edge Mode: (Viper-N+) 10000 = IRQ0 10001 = IRQ1 10010 = IRQ2 10011 = IRQ3 10100 = IRQ4 10101 = IRQ5 Reserved 00010 = PCIRQ1# 00011 = PCIRQ2# (Default) 00100 = PCIRQ3# 00101-01111 = Rsrvd 10110 = IRQ6 10111 = IRQ7 11000 = IRQ8 11001 = IRQ9 11010 = IRQ10 11011 = IRQ11 11100 = IRQ12 11101 = IRQ13 11110 = IRQ14 11111 = IRQ15 Using Host PCI INTA#-D# (PCICFG 50h[6]=1) 000 = Disabled 001 = INTA# 010 = INTB# 011 = INTC# (default) 100 = INTD# 101-111 = Reserved OPTi ® 912-3000-047 Revision: 1.0 Page 29 January 08, 1998 82C814 Table 5-1 Base Register Group - PCICFG 00h-4Fh (cont.) 7 6 PCICFG 4Bh 5 4 3 2 1 0 Docking PCIRQ3# Interrupt Assignment Register Reserved Default = 04h Using OPTi IRQ driveback mechanism: Docking PCIRQ3# Interrupt Assignment (PCIRQ3# Default) - Interrupts from the docking PCIRQ3# pin are mapped to this interrupt. Note that if an IRQ (an edge-mode interrupt) is selected, this IRQ must be programmed to Level mode on the host chipset. Level Mode: 00000 = Disabled 00001 = PCIRQ0# Edge Mode: (Viper-N+) 10000 = IRQ0 10001 = IRQ1 10010 = IRQ2 10011 = IRQ3 10100 = IRQ4 10101 = IRQ5 00010 = PCIRQ1# 00011 = PCIRQ2# 00100 = PCIRQ3# (Default) 00101-01111 = Rsrvd 10110 = IRQ6 10111 = IRQ7 11000 = IRQ8 11001 = IRQ9 11010 = IRQ10 11011 = IRQ11 11100 = IRQ12 11101 = IRQ13 11110 = IRQ14 11111 = IRQ15 Reserved Using Host PCI INTA#-D# (PCICFG 50h[6]=1) 000 = Disabled 001 = INTA# 010 = INTB# PCICFG 4Ch 011 = INTC# 100 = INTD# (default) 101-111 = Reserved Docking Detect Interrupt Assignment Register Interrupt Pin Requested in PCICFG 3Dh Host controller type: 0 = FireStar (burst two data phases) Reserved Using OPTi IRQ driveback mechanism: Docking Detect Interrupt Assignment - If attachment of a docking station is detected, or if the device attached could not be determined, this interrupt will be generated. This same interrupt will be generated when the docking station is removed. 0 = equal to Level Mode selections in PCICFG 4Ch[4:0] 1 = Viper-N+ (send single data phase on IRQ driveback) Default = 01h 1 = Always 01 Level Mode: 00000 = Disabled 00001 = PCIRQ0# (Default) 00010 = PCIRQ1# 00011 = PCIRQ2# 00100 = PCIRQ3# 00101 = ACPI0 00110 = ACPI1 00111 = ACPI2 01000 = ACPI3 01001-01111 = Rsrvd Edge Mode: (Viper-N+) 10000 = IRQ0 10001 = IRQ1 10010 = IRQ2 10011 = IRQ3 10100 = IRQ4 10101 = IRQ5 10110 = IRQ6 10111 = IRQ7 11000 = IRQ8 11001 = IRQ9 11010 = IRQ10 11011 = IRQ11 11100 = IRQ12 11101 = IRQ13 11110 = IRQ14 11111 = IRQ15 Reserved Using Host PCI INTA#-D# (PCICFG 50h[6]=1) 000 = Disabled 001 = INTA# (default) 010 = INTB# PCICFG 4Dh 011 = INTC# 100 = INTD# 101-111 = Reserved Serial IRQ Enable Register Test Bits (for factory use only) Default = 00h Reserved IRQSER on pin 15 0 = Disabled 1 = Enabled PCICFG 4Eh Serial IRQ Control Register 1 Default = 00h OPTi ® Page 30 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 5-1 Base Register Group - PCICFG 00h-4Fh (cont.) 7 6 5 4 Compaq SIRQ HALT mode request: Compaq SIRQ QUIET mode request: Reserved 0 = Active 1 = Halt 0 = Continuous 1 = Quiet Compaq SIRQ data frame slots. Change only when the Serial IRQ logic is disabled or in Halt state. 3 00 = 4 PCI clocks 01 = 6 PCI clocks 10 = 8 PCI clocks 11 = Reserved 0 = 17 slots 1 = 21 slots PCICFG 4Fh Compaq SIRQ in HALT state (RO)? 0 = No 1 = Yes 5.3 Serial IRQ Control Register 2 And External Arbiter Enable Compaq SIRQ in QUIET state (RO)? 82C814-Specific Register Group The following subsections discuss some of the special functions located in the 82C814-Specific Register Group. CLKRUN# PCICFG 50h[2] selects whether the CLKRUN# signal to the host will toggle. Normally it will be set for automatic operation. In this mode, the 82C814 logic asserts CLKRUN# only when it wants bus ownership for master cycles, or when it has an interrupt it must send to the host. At all other times, it leaves CLKRUN# tristated and depends on the current PCI bus master to assert CLKRUN# and keep the clock running. 5.3.2 Reserved 0 = No 1 = Yes The 82C814 defines many special functions that require enabling and monitoring through a dedicated register set. The 82C814-specific registers at PCICFG 50h-5Fh remain set to their programmed values even after a device is removed from the slot. Also, PCICFG 50h is common to both slot interfaces (i.e. changing the bit in one PCI register set changes it in the other). 5.3.1 2 Compaq SIRQ Start frame width in PCI clocks. Change this setting only when Serial IRQ is disabled or in Halt state. Slot Buffer Enable, Slew Rate, and Threshold Control PCICFG 51h[2:0] are automatically updated by the card insertion state machine according to whether a 5.0V or 3.3V dock has been detected using CD1-2# and VS1-2. Once the card has been inserted and detected, and the interface automatically set appropriately, software can still override the automatic settings by reading and then writing PCICFG 51h[2:0] as desired. 1 0 Reserved Compaq SIRQ (Compaq Serial IRQ scheme): 0 = Disable 1 = Enable Default = 00h External Arbiter on secondary PCI: 0 = Disable 1 = Enable 5.3.3 Dual ISA Buses Dual ISA buses are possible with the 82C814 chip used in conjunction with the OPTi PCI-ISA Bridge chips. This feature depends on the ISA Windows feature of the 82C814 chip, which allows cycles destined for the remote docking ISA bus to be claimed with positive decoding from the primary PCI bus and then retried. If the cycle turns out not to be destined for the docking ISA bus, the 82C814 chip ignores the next retry so that the cycle will be claimed using subtractive decode by the host chipset. The FireStar chip provides an additional feature that allows positive decode of cycles to known local ISA devices. This feature would conflict with the positive decode used by the 82C814 chip. Therefore, the 82C814 chip has the option of decoding on the slow clock instead of on the medium clock. This feature is enabled by writing PCICFG 5Eh[7] = 1. When the feature is selected, the 82C814 logic will monitor the DEVSEL# line to determine whether FireStar (or anyone else) has claimed the cycle by fast or medium decode. Only if DEVSEL# remains high through the medium decode clock will the 82C814 chip claim the cycle. The slow decode feature works only for windows enabled as ISA windows. Other windows will continue to use a medium decode. OPTi ® 912-3000-047 Revision: 1.0 Page 31 January 08, 1998 82C814 Table 5-2 Specific Register Group - PCICFG 50h-5Fh 7 6 5 PCICFG 50h 4 3 2 1 PCI Host Feature Control Register Reserved Primary INTA#INTD# Select Vendor ID feature selected: 0 = No (pin 12 pulled down) 0 = No 1 = Yes 1 = Yes (pin 12 pulled up) PCICFG 51h IRQLATCH function 0 = Disable (default) Docking detect debounce: 0 = 1.0 sec 1 = 0.25 sec 1 = Enable Default = 00h CLKRUN# (on host interface): 0 = Enabled per PCI 1 = Disabled, CLKRUN# tristated CRST# and ENVCC5 Control 0 = Normal 00 = 1 (Default) 01 = 2 10 = 3 11 = 4 Dock Interfaceclock source: 0 = PCICLK 1 = EXTCLK Mode select: CCLKRUN# on dock interface 0 = Automatic 1 = Force async 0 = Disabled 0 = Read/Write 1 = Read only Default = 04h Dock Interface threshold voltage: 0 = 3.3V 1 = 5.0V 1 = Enabled MEMOFST 010 bits [2:0] 1 = Force both signals high, ignore PCICFG 3Eh[6] and MEMOFST 070h Docking Feature Control Register 1 Dock Interface clock divisor: 0 Output Drive Select: 00 = Reserved 01 = Reserved 10 = 3.3V PCI dock 11 = 5.0V PCI dock These bits retain their previously written value regardless of dock attachment/removal. PCICFG 52h Docking Feature Control Register 2 Secondary PCICLK Skew: This value selects the approximate delay, in nanoseconds, that the internal secondary PCICLK must be skewed in order to compensate for external buffer delays. 0000 = No delay ..... 1101 = 13ns Default = 4Fh Block Posted Writes on Downstream Transactions Block Prefetch on Downstream Transactions 0001 = 1ns 0010 = 2ns 0 = No 0 = No 1110 = 14ns 1111 = 15ns 1 = Yes (default) 1 = Yes (default) Controls memory windows 0 & 1 only Controls memory windows 0 & 1 only PCICFG 53h Enabled delayed Transactions 0 = Only when window selected as ISA window 1 = On all windows whenever retry count exceeds 50% of retry limit (PCICFG 5Eh[2:0]). (default) Docking Feature Control Register 3 Event signalled when PCICFG 3Eh[6] is changed Event signalled when CD1-2# change states Event signalled on read of MEMOFST 0-FFFh Type 1 to Type 0 conversion blocked from secondary to primary: 0 = No 1 = Yes (Default) Default = 00h Event signalled on write of MEMOFST 0-FFFh 00 = None 00 = None 00 = None 00 = None 01 = SMI# 01 = SMI# 01 = SMI# 01 = SMI# 10 = ACPI1 (DOCK#) 10 = ACPI1 (DOCK#) 10 = ACPI1 (DOCK#) 10 = ACPI1 (DOCK#) 11 = ACPI2 (STSCHG#) 11 = ACPI2 (STSCHG#) 11 = ACPI2 (STSCHG#) 11 = ACPI2 (STSCHG#) Note: SMI# is available through IRQ Driveback or Serial IRQ; ACPI1 and ACPI2 are available only through IRQ Driveback OPTi ® Page 32 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 5-2 7 Specific Register Group - PCICFG 50h-5Fh (cont.) 6 PCICFG 54h 5 4 3 2 1 IRQ Driveback Address Register - Byte 0: Address Bits [7:0] 0 Default = 30h IRQ Driveback Protocol Address Bits: - - When the 82C814 logic must generate an interrupt from any source, it follows the IRQ Driveback Protocol and toggles the REQ# line to the host. Once it has the bus, it writes the changed IRQ information to the 32-bit I/O address specified in this register. The host interrupt controller claims this cycle and latches the new IRQ values. Bits 2:0 are reserved to be 000 and are read-only. This register defaults to a value of 33333330h. PCICFG 55h IRQ Driveback Address Register - Byte 1: Address Bits [15:8] Default = 33h PCICFG 56h IRQ Driveback Address Register - Byte 2: Address Bits [23:16] Default = 33h PCICFG 57h IRQ Driveback Address Register - Byte 3: Address Bits [31:24] Default = 33h PCICFG 58h DRQ Remap Base Address Register - Byte 0: Address Bits [7:0] Default = 00h DRQ Remap Base Address Bits: - - The distributed DMA protocol requires DMA controller registers for each DMA channel to be individually mapped into I/O space outside the range claimed by ISA devices. Bits A[31:0] of this register specify that base; bits 7:0 are reserved (write 0) because the base address can fall only on 256 byte boundaries. The 82C814 logic uses this base address to forward accesses across the bridge to remote devices specified in the DMA Channel Selector Register. PCICFG 59h DRQ Remap Base Address Register - Byte 1: Address Bits [15:8] Default = 00h PCICFG 5Ah DRQ Remap Base Address Register - Byte 2: Address Bits [23:16] Default = 00h PCICFG 5Bh DRQ Remap Base Address Register - Byte 3: Address Bits [31:24] Default = 00h PCICFG 5Ch Channel 7 (DMAC2): DMA Channel Selector Register Channel 6 (DMAC2): DMAC responsibility (RO): Channel 5 (DMAC2): 0 = Not claimed 0 = Not claimed 0 = Not claimed 0 = Secondary (always) 1 = On slot 1 = On slot 1 = On slot interface interface 1 = Master interface PCICFG 5Dh Channel 3 (DMAC1): Default = 00h Channel 2 (DMAC1): Channel 1 (DMAC1): 0 = Not claimed 0 = Not claimed 0 = Not claimed 0 = Not claimed 1 = On slot interface 1 = On slot interface 1 = On slot interface SMI Status Register (Write 1 to clear bit) Toggling of PCICFG 3Eh[6] Generated SMI Dock/Undock Event Generated SMI 0 = No 1 = Yes 0 = No 1 = Yes Read of CardBus Registers (MEMOFST 0=FFFh) Generated SMI Write of CardBus Registers (MEMOFST 0=FFFh) Generated SMI 0 = No 1 = Yes 0 = No 1 = Yes Channel 0 (DMAC1): 1 = On slot interface Default = 00h Docking Window 3 generated SMI: Docking Window 2 generated SMI: Docking Window 1 generated SMI: Docking Window 0 generated SMI: 0 = No 1 = Yes 0 = No 1 = Yes 0 = No 1 = Yes 0 = No 1 = Yes OPTi ® 912-3000-047 Revision: 1.0 Page 33 January 08, 1998 82C814 Table 5-2 Specific Register Group - PCICFG 50h-5Fh (cont.) 7 6 5 4 PCICFG 5Eh 3 2 0 Primary Retry Limit Register Slow decode for ISA windows: 0 = Disable 1 = Enable Prefetch on upstream transactions: Posted writes on upstream transactions: 0 = Disable 1 = Enable 0 = Disable 1 = Enable Core voltage: 0 = 3.3V 1 = 5.0V Retry count readback control: 0 = Write posting retries on secondary 1 = Retries on primary PCICFG 5Fh - 1 Default = 00h Retry Limit: These bits relate to the number of times that the 82C814, as a slave, will retry accesses on the primary. If this limit is exceeded, the 82C814 generates SERR# to the host. 000=28 100=216 001=2 10 101=220 010=2 12 110=224 011=214 111= Infinite retries (Default) 82C814 Retry Count Readback Register (RO) Default = 00h This register returns the number of retry attempts made. More than 256 retries are indicated by FFh. Used for diagnostic purposes. Read-only. Separate counts are maintained for primary and secondary. Bit 5Eh[3] selects the count being read back. Write-Only: This register is also writable, for factory diagnostic purposes only. Status Change Initialization 0 = Old scheme 0 = Original 1 = New 1 = Variation When PCICFG 51h[3]=1 0 = Automatic Mode PCI Retry Test 0 = Disable 1 = Enable Prototype test mode: Force FIFO clear 0 = Disable 1 = Enable Retry test times: Power-up and detect timer: 0 = Normal 1 = Quick* 0 = Normal 1 = Quick 1 = Sync mode * Quick Mode will not function unless PCICFG 5Eh[2:0] is zero. 5.4 CardBus Register Group The CardBus-style control and status register group is accessible through two different means. It is always accessible as part of the PCI configuration space at the indexes shown in Table 5-4. In addition, when the CardBus register base address at PCICFG 14h is written to any value other than zero, these same registers can be accessed through the system memory space selected (see Table 5-3). 5.4.1 Power Control Note that when accessing these registers in PCI memory space, they start from an offset of 00h, not 60h, from the register base address programmed. Table 5-3 PCICFG 70h[6:4] set the external VCC5 and VCC3 pin levels. Because only these two pins are available on the 82C814 interface, the system must be designed to interpret these signals properly and select the correct voltage for the application. CardBus Register Set in System Memory CardBus Base Address plus: Name 000h Socket Event Register 004h Socket Mask Register 008h Socket Present State Register 00Ch Force Event Register 010h Control Register 014-7FFh Reserved OPTi ® Page 34 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 5-4 CardBus Register Group - PCICFG 60h-74h / MEMOFST 00h-7Fh 7 6 5 PCICFG 60h / MEMOFST 00h 4 3 2 1 Socket Event Register - Byte 0 Reserved: Write as read. PCICFG 61h / MEMOFST 01h 0 Default = 00h Power cycle complete: CCD2# status change: CCD1# status change: 0 = No 1 = Yes Write 1 to clear 0 = No 1 = Yes Write 1 to clear 0 = No 1 = Yes Write 1 to clear Socket Event Register - Byte 1 Reserved: Default = 00h Reserved: Write as read. PCICFG 62h / MEMOFST 02h Socket Event Register - Byte 2 Default = 00h Reserved: Write as read. PCICFG 63h / MEMOFST 03h Socket Event Register - Byte 3 Default = 00h Reserved. Write as read. PCICFG 64h / MEMOFST 04h Socket Mask Register - Byte 0 Reserved: Write as read. PCICFG 65h / MEMOFST 05h Default = 00h Power cycle status change event: CCD2# status change event: CCD1# status change event: 0 = Mask 1 = Enable 0 = Mask 1 = Enable 0 = Mask 1 = Enable Socket Mask Register - Byte 1 Reserved Default = 00h Reserved: Write as read. PCICFG 66h / MEMOFST 06h Socket Mask Register - Byte 2 Default = 00h Reserved: Write as read. PCICFG 67h / MEMOFST 07h Socket Mask Register - Byte 3 Default = 00h Reserved: Write as read. PCICFG 68h / MEMOFST 08h Dock recognized - updated only on card insertion: 0 = Yes 1 = No Socket Present State Register (RO) - Byte 0 Device type - updated only on PCIRQ# Status card insertion: 0 = At least one of PCIRQ0-3# 11 = Docking station All other combinations reserved is low Reserved: Write as read. PCICFG 6Ah / MEMOFST 0Ah 0 = Not successful 1 = Successful 1 = PCIRQ0-3# are all high PCICFG 69h / MEMOFST 09h Power cycle status: Default = 00h CCD2-1# state: Socket Present State Register - Byte 1 Reserved Reserved 00 = Dock attached 01 = No dock attached 10 = No dock attached 11 = No dock attached Default = 00h 3.3V dock detected: 5.0V dock detected: 0 = No 1 = Yes 0 = No 1 = Yes Socket Present State Register - Byte 2 Bad VCC Data lost (dock request (outside detached CVS1-2, before transacCCD1-2# tion completed): range): 0 = No 0 = No 1 = Maybe 1 = Yes Default = 00h Reserved: Write as read. PCICFG 6Bh / MEMOFST 0Bh Socket Present State Register - Byte 3 (bits are writeable) Default = 30h OPTi ® 912-3000-047 Revision: 1.0 Page 35 January 08, 1998 82C814 Table 5-4 CardBus Register Group - PCICFG 60h-74h / MEMOFST 00h-7Fh 7 6 Socket can sup- Socket can supply Voltage Y: ply Voltage X: 0 = No 1 = Yes 0 = No 1 = Yes Socket can supply 3.3V: Socket can supply 5.0V: 2 1 Force device type: Force retest of CVS1-2, CCD1-2# pins (or force bits): Reserved: Write as read. Force power cycle event: 0 = No 1 = Yes Default = 00h Force CCD2# event: 0 = No 1 = Yes Force CCD1# event: Reserved Force 3.3V dock detected bit to 1: 0 = No 1 = Yes Default = 00h Force 5.0V dock detected bit to 1: 0 = No 1 = Yes Force Event Register - Byte 2 Reserved 0 = No 1 = Yes Force Event Register - Byte 1 0 = No 1 = Yes PCICFG 6Eh / MEMOFST 0Eh 0 0 = No 1 = Yes 11 = Docking station All other combinations reserved PCICFG 6Dh / MEMOFST 0Dh Reserved: 3 Force Event Register - Byte 0 Reserved: Write as read. 0 = No 1 = Yes Write as read. 4 0 = No 1 = Yes PCICFG 6Ch / MEMOFST 0Ch Force dock recognized bit to 1: 5 Force bad VCC request bit to 1: 0 = No 1 = Yes Force data lost bit to 1: 0 = No 1 = Yes Default = 00h Reserved: Write as read. PCICFG 6Fh / MEMOFST 0Fh Force Event Register - Byte 3 Default = 00h Reserved: Write as read. PCICFG 70h / MEMOFST 10h Reserved: Control Register - Byte 0 Dock VCC power request: Write as read. 000 = Power off 001 = Reserved 010 = 5.0V 011 = 3.3V PCICFG 71h / MEMOFST 11h 100 = Voltage X 101 = Voltage Y 11x = Reserved Default = 00h Reserved: Dock VPP Power Request Write as read. Read/write bits; do not have any function. If PCICFG 50h[0] = 1, these bits always return 0. Control Register - Byte 1 Default = 00h Reserved: Write as read. PCICFG 72h / MEMOFST 12h Control Register - Byte 2 Default = 00h Reserved: Write as read. PCICFG 73h / MEMOFST 13h Control Register - Byte 3 Default = 00h Reserved: Write as read. PCICFG 74h / MEMOFST 14h 5.5 Reserved Docking Station Window Selection Group One block of the 82C814 PCI-to-CardBus configuration registers is used to select the memory or I/O address ranges that will be claimed by the bridge and passed onto the secondary PCI bus for use with the OPTi PCI-to-ISA Bridge. Default = 00h The docking station access windows allow far more flexibility in cycle selection, masking, etc. than do the CardBus window registers. 5.5.1 Docking Station Window Registers The docking station registers are listed in Table 5-5. Table 56 follows and includes the default settings for each register. Windows 4-7, which were available in Rev 0.0 of the 82C814 chip and overlapped the CardBus windows, are no longer available. Table 5-5 summarizes the features. OPTi ® Page 36 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 5-5 Docking Station Access Windows Docking Station Access Window # Default Mask Bits Decoded Memory or I/O Selectable? Can Generate SMI#? 0 000FFFh A[31:2] Yes - Defaults to Memory Yes 1 000FFFh A[31:2] Yes - Defaults to Memory Yes 2 000003h A[31:2] Yes - Defaults to I/O Yes 3 000003h A[31:2] Yes - Defaults to I/O Yes 5.5.1.1 Cycle Decoding Each window can select either memory or I/O decoding, and allows for a decode range anywhere from one dword to the entire address space. Upper address bits from A31 on down can be masked in the comparison, allowing any desired degree of aliasing. 5.5.1.2 Cycle Trapping Instead of passing a claimed cycle onto the intended slave PCI interface, the cycle controller can generate a STOP# or CSTOP# on the master PCI interface (primary PCI interface or slot interface) and cause the controlling device to back off. At the same time, the cycle controller generates an IRQ driveback cycle with SMI# active, therefore converting the cycle into a System Management Interrupt trap. At this point, the master will most likely retry the cycle, at which time the 82C814 will allow it to proceed. It may or may not be able to deliver valid data. The host chipset can then run its SMM code. The SMM code can read the SMI Status Register from the 82C814 to determine the window access that caused the SMI. Once the value has been read, the host must write a 1 back to each SMI indicator bit to re-enable trapping and SMI generation on that window. Table 5-6 7 5.5.1.3 ISA Window Selection All docking station windows contain the ISA Window Selection bit. When set to 1, the window operation is modified as follows. • When a cycle initiated on the primary is claimed through this window, the cycle will be immediately and automatically retried. • On the docking station side, the OPTi PCI-ISA Bridge will claim the cycle and wait for positive decode on the ISA bus. - If positive decode is determined, the OPTi PCI-ISA Bridge logic will terminate the cycle normally. - If no positive decode can be achieved, the OPTi PCIISA Bridge logic will terminate the cycle with a Target Abort. Once this occurs, the 82C814 chip will simply ignore the next retry attempt on its primary and allow the cycle to pass to the local ISA bus of the host controller. The retries occur up to the limit defined in PCICFG 5Eh[2:0] before SERR# is generated. Docking Station Window Registers - PCICFG 80h-EFh 6 PCICFG 80h 5 4 3 2 Window 0 Start Address Register - Byte 0: Address Bits [7:0] Window Start Address Bits: - 1 Register bits [31:0] indicate the start address for Window 0. The selection between memory or I/O, as well as other feature selections, are made through the Window 0 Control Register. 0 Default = 00h RO: Always returns 0 If memory: reads 0. If I/O: Decoding 0 = 16-bit AD[31:16] = 0 1 = 32-bit PCICFG 81h Window 0 Start Address Register - Byte 1: Address Bits [15:8] Default = FFh PCICFG 82h Window 0 Start Address Register - Byte 2: Address Bits [23:16] Default = FFh PCICFG 83h Window 0 Start Address Register - Byte 3: Address Bits [31:24] Default = FFh PCICFG 84h Window 0 Stop Address Register - Byte 0: Address Bits [7:0] Window 0 Address Bits: - Register bits [31:0] indicate the stop address for one of the eight memory or I/O windows. Default = 00h RO: Always returns 0 OPTi ® 912-3000-047 Revision: 1.0 Page 37 January 08, 1998 82C814 Table 5-6 Docking Station Window Registers - PCICFG 80h-EFh (cont.) 7 6 5 4 3 2 1 0 PCICFG 85h Window 0 Stop Address Register - Byte 1: Address Bits [15:8] Default = 00h PCICFG 86h Window 0 Stop Address Register - Byte 2: Address Bits [23:16] Default = 00h PCICFG 87h Window 0 Stop Address Register - Byte 3: Address Bits [31:24] Default = 00h PCICFG 88h Window 0 Mask Register - Byte 0: Mask Bits [7:0] Default = 03h RO: Window 0 Mask Bits: - Mask register bits [23:2] allow Window 0 to be aliased throughout the memory or I/O address space. Setting any bit to a 1 masks out the comparison on this bit. The register should be written to 0 to decode the entire address. Bits [1:0] are always 11 (masked). Always returns 1. PCICFG 89h Window 0 Mask Register - Byte 1: Mask Bits [15:8] Default = 00h PCICFG 8Ah Window 0 Mask Register - Byte 2: Mask Bits [23:16] Default = 00h PCICFG 8Bh Window 0 Control Register Default = 48h Reads are prefetchable: Window points to ISA bus: Writes can be posted: 0 = No 1 = Yes 0 = No 1 = Yes Set to 0 for I/O window Set to 0 for I/O window 0 = No 1 = Yes PCICFG 8Ch-8Fh PCICFG 90h Reserved 0 = I/O Cycle qualifier: Window 0 Trap/SMI#: 1 = Memory (Default) 0 = Disable 1 = Enable Reserved Default = 00h Window 1 Start Address Register - Byte 0: Address Bits [7:0] Default = 00h Window 1 Start Address Bits: - Reserved RO: Register bits [31:0] indicate the start address for Window 1. The selection between memory or I/O, as well as other feature selections, are made through the Window 1 Control Register. Always returns 0 If memory: reads 0. If I/O: Decoding 0 = 16-bit AD[31:16] = 0 1 = 32-bit PCICFG 91h Window 1 Start Address Register - Byte 1: Address Bits [15:8] Default = FFh PCICFG 92h Window 1 Start Address Register - Byte 2: Address Bits [23:16] Default = FFh PCICFG 93h Window 1 Start Address Register - Byte 3: Address Bits [31:24] Default = FFh PCICFG 94h Window 1 Stop Address Register - Byte 0: Address Bits [7:0] Default = 00h Window 1 Stop Address Bits: - Register bits [31:0] indicate the stop address for one of the eight memory or I/O windows. RO: Always returns 0 PCICFG 95h Window 1 Stop Address Register - Byte 1: Address Bits [15:8] Default = 00h PCICFG 96h Window 1 Stop Address Register - Byte 2: Address Bits [23:16] Default = 00h PCICFG 97h Window 1 Stop Address Register - Byte 3: Address Bits [31:24] Default = 00h PCICFG 98h Window 1 Mask Register - Byte 0: Mask Bits [7:0] Default = 03h OPTi ® Page 38 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 5-6 Docking Station Window Registers - PCICFG 80h-EFh (cont.) 7 6 5 4 3 2 1 - 0 RO: Window 1 Mask Bits: Mask register bits [23:2] allow Window 0 to be aliased throughout the memory or I/O address space. Setting any bit to a 1 masks out the comparison on this bit. The register should be written to 0 to decode the entire address. Bits [1:0] are always 11 (masked). Always returns 1. PCICFG 99h Window 1 Mask Register - Byte 1: Mask Bits [15:8] Default = 00h PCICFG 9Ah Window 1 Mask Register - Byte 2: Mask Bits [23:16] Default = 00h PCICFG 9Bh Window 1 Control Register Window points to ISA bus: Reads are prefetchable: 0 = No 1 = Yes Writes can be posted: 0 = No 1 = Yes 0 = No 1 = Yes Set to 0 for I/O window Set to 0 for I/O window PCICFG 9Ch-9Fh PCICFG A0h Reserved Cycle qualifier: 0 = I/O 1 = Memory (Default) Default = 48h Window 1 Trap/SMI#: 0 = Disable 1 = Enable Reserved Default = 00h Window 2 Start Address Register - Byte 0: Address Bits [7:0] Default = 00h Window 2 Address Bits: - Reserved RO: Register bits [31:0] indicate the start address for Window 2. The selection between memory or I/O, as well as other feature selections, are made through the Window 2 Control Register. Always returns 0 If memory: reads 0. If I/O: Decoding 0 = 16-bit AD[31:16] = 0 1 = 32-bit PCICFG A1h Window 2 Start Address Register - Byte 1: Address Bits [15:8] Default = FFh PCICFG A2h Window 2 Start Address Register - Byte 2: Address Bits [23:16] Default = FFh PCICFG A3h Window 2 Start Address Register - Byte 3: Address Bits [31:24] Default = FFh PCICFG A4h Window 2 Stop Address Register - Byte 0: Address Bits [7:0] Default = 00h Window 2 Stop Address Bits: - Register bits [31:0] indicate the stop address for one of the eight memory or I/O windows. RO: Always returns 0 PCICFG A5h Window 2 Stop Address Register - Byte 1: Address Bits [15:8] Default = 00h PCICFG A6h Window 2 Stop Address Register - Byte 2: Address Bits [23:16] Default = 00h PCICFG A7h Window 2 Stop Address Register - Byte 3: Address bits [31:24] Default = 00h PCICFG A8h Window 2 Mask Register - Byte 0: Mask Bits [7:0] Default = 03h Window 2 Mask Bits: - RO: Mask register bits [23:2] allow Window 0 to be aliased throughout the memory or I/O address space. Setting any bit to a 1 masks out the comparison on this bit. The register should be written to 0 to decode the entire address. Bits [1:0] are always 11 (masked). Always returns 1. PCICFG A9h Window 2 Mask Register - Byte 1: Mask Bits [15:8] Default = 00h PCICFG AAh Window 2 Mask Register - Byte 2: Mask Bits [23:16] Default = 00h OPTi ® 912-3000-047 Revision: 1.0 Page 39 January 08, 1998 82C814 Table 5-6 Docking Station Window Registers - PCICFG 80h-EFh (cont.) 7 6 5 4 PCICFG ABh 3 2 0 Window 2 Control Register Window points to ISA bus: Reads are prefetchable: 0 = No 1 = Yes Writes can be posted: 0 = No 1 = Yes 0 = No 1 = Yes Set to 0 for I/O window Set to 0 for I/O window PCICFG ACh-AFh PCICFG B0h Reserved Default = 00h Cycle qualifier: Window 2 Trap/SMI#: 0 = I/O (Default) 1 = Memory 0 = Disable 1 = Enable Reserved Reserved Default = 00h Window 3 Start Address Register - Byte 0: Address Bits [7:0] Window 3 Address Bits: - 1 Default = 00h RO: Register bits [31:0] indicate the start address for Window 3. The selection between memory or I/O, as well as other feature selections, are made through the Window 3 Control Register. Always returns 0 If memory: reads 0. If I/O: Decoding 0 = 16-bit AD[31:16] = 0 1 = 32-bit PCICFG B1h Window 3 Start Address Register - Byte 1: Address Bits [15:8] Default = FFh PCICFG B2h Window 3 Start Address Register - Byte 2: Address Bits [23:16] Default = FFh PCICFG B3h Window 3 Start Address Register - Byte 3: Address Bits [31:24] Default = FFh PCICFG B4h Window 3 Stop Address Register - Byte 0: Address Bits [7:0] Window 3 Stop Address Bits: - Default = 00h RO: Register bits [31:0] indicate the stop address for one of the eight memory or I/O windows. Always returns 0 PCICFG B5h Window 3 Stop Address Register - Byte 1: Address Bits [15:8] Default = 00h PCICFG B6h Window 3 Stop Address Register - Byte 2: Address Bits [23:16] Default = 00h PCICFG B7h Window 3 Stop Address Register - Byte 3: Address Bits [31:24] Default = 00h PCICFG B8h Window 3 Mask Register - Byte 0: Mask Bits [7:0] Window 3 Mask Bits: - Default = 03h RO: Mask register bits [23:2] allow Window 0 to be aliased throughout the memory or I/O address space. Setting any bit to a 1 masks out the comparison on this bit. The register should be written to 0 to decode the entire address. Bits [1:0] are always 11 (masked). Bit 23 is always 0 Always returns 1. PCICFG B9h Window 3 Mask Register - Byte 1: Mask Bits [15:8] Default = 00h PCICFG BAh Window 3 Mask Register - Byte 2: Mask Bits [23:16] Default = 00h Bit 23 Reserved Bits [22:16] PCICFG BBh Window 3 Control Register Default = 00h OPTi ® Page 40 January 08, 1998 912-3000-047 Revision: 1.0 82C814 Table 5-6 Docking Station Window Registers - PCICFG 80h-EFh (cont.) 7 6 5 4 3 2 Window points to ISA bus: Reads are prefetchable: Writes can be posted: Reserved Cycle qualifier: Window 3 Trap/SMI#: 0 = I/O (Default) 1 = Memory 0 = Disable 1 = Enable 0 = No 1 = Yes 0 = No 1 = Yes 0 = No 1 = Yes Set to 0 for I/O window Set to 0 for I/O window PCICFG BCh-EFh 5.6 1 0 Reserved Reserved Default = 00h PCI Power Management Register Group the following registers comprise the PCI Power Management Register Group. Table 5-7 PCI Power Management Registers - PCICFG F0h-FFh PCICFG F0h Capabilities ID Register (RO) Default = 01h This register always returns 01h to identify the Linked List item as being the PCI Power Management Registers. PCICFG F1h Next Item Pointer Register (RO) Default = 00h Value of 0 indicates no additional items in Capabilities List PCICFG F2h Reserved Power Management Capabilities Register - Byte 0 Device Specific Individualization Reserved Default = 01h Returns 001b to indicate Rev 1.0 of PCI Power Management Specification 0 = No (always) PCICFG F3h Power Management Capabilities Register - Byte 1 Support D1 Supports D2 Power Manage- Power Management State ment State Reserved 1 = Yes (always) PCICFG F4h Default = 06h Power Management Control/Status Register - Byte 0 Reserved Reserved 1 = Yes (always) Default = 00h Power State 00 = State D0 01 = State D1 10 = State D2 11 = State D3hot PCICFG F5h PME Status 0 = Inactive 1 = Active Write 1 to clear Power Management Control/Status Register - Byte 1 Data Register (not Implemented) Default = 00h PME# PCI Function 0 = Disable 1 = Enabled OPTi ® 912-3000-047 Revision: 1.0 Page 41 January 08, 1998 82C814 Table 5-7 PCI Power Management Registers - PCICFG F0h-FFh (cont.) PCICFG F6h PCI-to-PCI Bridge Support Extensions Register (RO) Bus Power Clock Control B2/B3 Support for D3hot 1 = Enabled (always) 1 =Enable (always)* Default = C0h Reserved * Indicates that when Power State is programmed to D3hot, secondary PCI clocks will be stopped. PCICFG F7h Data Register (RO) Default = 00h Data Register not implemented PCICFG F8h-FFh Reserved Default = 00h OPTi ® Page 42 January 08, 1998 912-3000-047 Revision: 1.0 82C814 6.0 Electrical Ratings Stresses above those listed in the following tables may cause permanent damage to the device. These are stress ratings only and functional operation of the device at these or any 6.1 other conditions above those indicated in the operational sections of this specification are not implied. Absolute Maximum Ratings 5.0 Volt Symbol Parameter VCC Supply Voltage VI Input Voltage –0.5 VCC + 0.5 VO Output Voltage –0.5 TOP Operating Temperature TSTG Storage Temperature 6.2 Min 3.3 Volt Max Min Max Unit +4.0 V –0.5 VCC + 0.5 V VCC + 0.5 –0.5 VCC + 0.5 V 0 +70 0 +70 °C –40 +125 –40 +125 °C +6.5 DC Characteristics: VCC = 3.3V or 5.0V ±5%, TA = 0°C to +70°C Symbol Parameter Min Max Unit VIL Input low Voltage –0.5 +0.8 V VIH Input high Voltage +2.0 VCC + 0.5 V VOL Output low Voltage +0.4 V IOL = 4.0mA VOH Output high Voltage V IOH = -1.6mA IIL Input Leakage Current +10.0 µA VIN = VCC IOZ Tristate Leakage Current +10.0 µA CIN Input Capacitance +10.0 pF COUT Output Capacitance +10.0 pF ICC Power Supply Current 3.3V Core 5.0V Core +2.4 mA Condition Fully active 100 150 OPTi ® 912-3000-047 Revision: 1.0 Page 43 January 08, 1998 82C814 6.3 Sym AC Characteristics Parameter Min Max Unit Figure Primary PCI Bus t100 C/BE[3:0]#, AD[31:0], FRAME#, IRDY#, TRDY#, STOP#, DEVSEL#, LOCK#, PAR, SERR#, PERR# setup time to PCICLK rising 7 ns 6-1 t101 C/BE[3:0]#, AD[31:0], FRAME#, IRDY#, TRDY#, STOP#, DEVSEL#, LOCK#, PAR, SERR#, PERR# hold time from PCICLK rising 0 ns 6-2 t102 C/BE[3:0]#, AD[31:0], FRAME#, IRDY#, TRDY#, STOP#, DEVSEL#, LOCK#, PAR, SERR#, PERR# valid delay from PCICLK rising 2 ns 6-3 t103 REQ# setup time to PCICLK rising 12 ns 6-1 t104 REQ# hold time from PCICLK rising 0 ns 6-2 t105 GNT# valid delay from PCICLK rising 2 ns 6-3 11 12 Secondary PCI Bus t200 CC/BE[3:0]#, CAD[31:0], CFRAME#, CIRDY#, CTRDY#, CSTOP#, CDEVSEL#, CBLOCK#, CPAR, CSERR#, CPERR# setup time to PCICLK rising 7 ns 6-1 t201 CC/BE[3:0]#, CAD[31:0], CFRAME#, CIRDY#, CTRDY#, CSTOP#, CDEVSEL#, CBLOCK#, CPAR, CSERR#, CPERR# hold time from PCICLK rising 0 ns 6-2 t202 CC/BE[3:0]#, CAD[31:0], CFRAME#, CIRDY#, CTRDY#, CSTOP#, CDEVSEL#, CBLOCK#, CPAR, CSERR#, CPERR# valid delay from PCICLK rising 2 ns 6-3 t203 CREQ[3:0]# setup time to PCICLK rising 12 ns 6-1 t204 CREQ[3:0]# hold time from PCICLK rising 0 ns 6-2 t205 CGNT[3:0]# valid delay from PCICLK rising 2 ns 6-3 t206 PCIRQ[3:0]# setup time to PCICLK rising 5 ns 6-1 t207 PCIRQ[3:0]# hold time from PCICLK rising 3 ns 6-2 t208 PCIRQ[3:0]# valid delay from PCICLK rising 2 ns 6-3 11 12 16 OPTi ® Page 44 January 08, 1998 912-3000-047 Revision: 1.0 82C814 6.4 AC Timing Diagrams Figure 6-1 Setup Timing Waveform 0ns 50ns 100ns PCICLK t100, t103, t200, t203, t206 SIGNAL Figure 6-2 Hold Timing Waveform 0ns 50ns 100ns PCICLK t101, t104, t201, t204, t207 SIGNAL Figure 6-3 Output Delay Timing Waveform 0ns 50ns 100ns PCICLK t102, t105, t202, t203, t205, t208 SIGNAL OPTi ® 912-3000-047 Revision: 1.0 Page 45 January 08, 1998 82C814 OPTi ® Page 46 January 08, 1998 912-3000-047 Revision: 1.0 82C814 7.0 Mechanical Package Outline Figure 7-1 144-Pin LQFP, Low-Profile Quad Flat Pack OPTi ® 912-3000-047 Revision: 1.0 Page 47 82C814 OPTi ® Page 48 912-3000-047 Revision: 1.0 IRQ Driveback Appendix A IRQ Driveback Protocol The OPTi PCI IRQ Driveback cycle provides a clean and simple way to convey interrupt and DMA status information to the host. The protocol is reliable and does not in any way compromise PCI compatibility. cycle request is illustrated in the figure. A second data phase is also possible. 1. Whenever a PCI peripheral device must signal an IRQ or SMI# to the system, it asserts its REQ# line to the host for one PCI clock, deasserts it for one PCI clock, then asserts it again and keeps it low until acknowledged. 2. The host recognizes this sequence as a high-priority request and immediately removes all other bus grants (GNT# lines). Once the previous bus owner is off the bus, the host acknowledges the high-priority request with GNT# as usual. The charts below illustrate the interrupt information indicated IRQ bits indicate whether that IRQ line is being driven high or low. The EN# bits indicate whether that IRQ is enabled to be changed or not. When the EN# bit is low, the value on the IRQ bit is valid. The device containing the central interrupt controller claims this I/O write cycle, and can then change its internal IRQ line state to match the value sent. 3. The peripheral device logic runs an I/O write cycle to the IRQ Driveback address specified in the PCI configuration registers, and releases REQ#. 4. The host latches the information on AD[31:0] and sets the IRQ lines appropriately. 5. An optional second burst data cycle can take place to convey additional interrupt information. PCI-type devices on the secondary side of bridge chips can use this same protocol to convey their interrupt requests through the bridge to the host. The format of the driveback Figure A-1 A.1 Driveback Cycle Format When a PCI device needs to generate an interrupt to the system, it runs a driveback cycle with the Enable bit low for each IRQ line under its control. For example, a device on PCI could run a driveback cycle with IRQ3 high and EN3# low to generate IRQ3 to the system. When the interrupt has been serviced and the device deasserts its interrupt, it starts another driveback cycle with IRQ3 low and EN3# low. During both of these instances, if the device controls interrupts other than IRQ3, it must set its EN# bits low for all channels it controls, not just for the interrupt whose state has changed. The other IRQs must be driven with their previously used values. IRQ Driveback Cycle High-Priority Request PCICLK // REQ# GNT# // // AD[31:0] // Table A-1 Information Provided on a Driveback Cycle Low AD15 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 Word IRQ15 IRQ14 IRQ13 IRQ12 IRQ11 IRQ10 AD14 IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0 High AD31 AD25 AD24 AD23 AD22 AD21 AD20 AD19 AD18 AD17 AD16 Word EN15# EN14# EN13# EN12# EN11# EN10# EN9# EN8# EN7# EN6# EN5# EN4# EN3# EN2# EN1# EN0# AD30 AD13 AD29 AD12 AD28 AD11 AD27 AD26 OPTi ® 912-3000-047 Revision: 1.0 Page 49 January 08, 1998 IRQ Driveback There is a convention for assignment of otherwise unusable IRQs: nal from the ISA bus across the PCI bus. The sense of IRQ13 is active high. • IRQ2 generates an SMI#. Note that the sense of IRQ2 is still active high. In this way, devices that use IRQ driveback can generate SMI# simply by routing their normal interrupt to IRQ2 without needing to change the polarity of the interrupt generation logic. Table A-2 illustrates the format of the optional second data phase of the IRQ driveback cycle. This phase is presently reserved for returning the PCI interrupts and ACPI Events. If the device needs to send back level-model interrupts, it bursts the information on the PCI clock following data phase one. The IRQ driveback address automatically increments to (base +4) per PCI requirements. It is also allowable for devices to drive back only phase 2, by directly accessing the (base +4) address. • IRQ13 generates an NMI. This feature allows PCI-to-ISA bridges such as the 82C825 chip to return the CHCK# sig- Table A-2 Low Word High Word A.2 Information Provided on a Optional Data Phase 2 of IRQ Driveback Cycle AD15 AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 Rsvd Rsvd Rsvd Rsvd Rsvd Rsvd Rsvd Rsvd ACPI3 ACPI2 ACPI1 ACPI0 PCIRQ 3 PCIRQ 2 PCIRQ 1 PCIRQ 0 AD31 AD30 AD29 AD28 AD27 AD26 AD25 AD24 AD23 AD22 AD21 AD20 AD19 AD18 AD17 AD16 Rsvd Rsvd Rsvd Rsvd Rsvd Rsvd Rsvd Rsvd ENP2# ENP1# ENP0# Edge vs Level Mode, IRQ Polarity The IRQs driven back in data phase 1 are interpreted as edge-mode interrupts, as expected for AT compatibility. The AD[15:0] signals are interpreted as active when high (1); the Enable (EN#) signals AD[31:16] are active when low (0). In optional data phase 2, the PCIRQ0-3 bits are interpreted as level-mode interrupts by the host hardware. As with data phase 1, the controls indicated by AD[15:0] are interpreted as active when high; the Enable (EN#) controls on AD[31:16] are active when low. Note that PCI signals INTA-D# are active low by definition. A.3 EN EN EN EN ENP3# ACPI3# ACPI2# ACPI1# ACPI0# However, the INTA-D# lines can be shared by multiple devices on the PCI bus. Thus, one device could perform an IRQ driveback to set the INTx# line active for its purposes, while another device could follow immediately by setting the same INTx# line inactive. Therefore, the host is required to implement a counter in this case, so that it considers the line inactive only after it has received the same number of activegoing drivebacks as it has inactive-going drivebacks. A three-bit counter can be considered sufficient to handle the situation, since this would allow up to seven devices to chain to the same interrupt. It is unlikely that system requirements would exceed this number given the latency penalty incurred. Host Handling of IRQ Driveback Information The host chipset must handle the IRQ driveback information differently depending on whether the selected interrupt is sharable or not. Generally the ISA IRQ lines need no special consideration. OPTi ® Page 50 January 08, 1998 912-3000-047 Revision: 1.0 OPTi ® Sales Information HEADQUARTERS: OPTi Inc. 888 Tasman Drive Milpitas, CA 95035 tel: 408-486-8000 fax: 408-486-8011 SALES OFFICES: Japan OPTi Japan KK Murata Building 6F, 2-22-7 Ohhashi Meguro-ku Tokyo 153, Japan tel: 81-3-5454-0178 fax: 81-3-5454-0168 Taiwan OPTi Inc. 9F, No 303, Sec 4, Hsin Yih Road Taipei, Taiwan, ROC tel: 886-2-325-8520 fax: 886-2-325-6520 United States OPTi Inc. 20405 State Highway 249, Ste. #220 Houston, TX 77070 tel: 281-257-1856 fax: 281-257-1825 REPRESENTATIVES: United States Alabama/Mississippi Concord Component Reps 190 Line Quarry Rd., Ste. #102 Madison, AL 35758 tel: 205-772-8883 fax: 205-772-8262 Michigan Wisconsin Singapore Jay Marketing 44752 Helm Street., Ste. A Plymouth, MI 48170 tel: 313-459-1200 fax: 313-459-1697 Micro-Tex, Inc. 22660 Broadway, Ste. #4A Waukesha, WI 53186 tel: 414-542-5352 fax: 414-542-7934 New Jersey International Instep Microsolutions Pte Ltd. 18, Tannery Lane, #05-02 Lian Tong Building Singapore 347780 tel: 65-741-7507 fax: 65-741-1478 S-J Associates, Inc. 131-D Gaither Dr. Mt. Laurel, NJ 08054 tel: 609-866-1234 fax: 609-866-8627 New York S-J Associates, Inc. 265 Sunrise Highway Rockville Centre, NY 11570 tel: 516-536-4242 fax: 516-536-9638 S-J Associates, Inc. 735 Victor-Pittsford Victor, NY 14564 tel: 716-924-1720 North & South Carolina Lyons Corp. 248 N. State St. Westerville, OH 43081 tel: 614-895-1447 fax: Same Georgia Texas Massachusetts S-J Associates, Inc. 267 Boston Road Corporate Place, Ste. #3 N. Billerica, MA 01862 tel: 508-670-8899 fax: 508-670-8711 Switzerland Legend Electronic Components. Ltd. Unit 413, Hong Kong Industrial Technology Centre 72 Tat Chee Avenue Kowloon Tong, Hong Kong tel: 852-2776-7708 fax: 852-2652-2301 Datacomp AG Silbernstrasse 10 8953 Dietikon Switzerland tel: 41-1-740-5140 fax: 41-1-741-3423 France Spectrum 2 Grange Mews, Station Road Launton, Bicester Oxfordshire,OX6 0DX UK tel: 44-1869-325174 fax: 44-1869-325175 Germany Engineered Solutions Ind., Inc. 1000 E. Atlantic Blvd., Ste. #202 Pompano Beach, FL 33060 tel: 305-784-0078 fax: 305-781-7722 Micro-Tex, Inc. 1870 North Roselle Rd., Ste. #107 Schaumburg, IL 60195-3100 tel: 708-885-8200 fax: 708-885-8210 China Ohio/W. Pennsylvania Florida Illinois Uniao Digital Rua Guido Caloi Bloco B, Piso 3 Sao Paulo-SP, CEP 05802-140 Brazil tel: 55-11-5514-3355 fax: 55-11-5514-1088 Concord Component Reps 10608 Dunhill Terrace Raleigh, NC 27615 tel: 919-846-3441 fax: 919-846-3401 Lyons Corp. 4812 Fredrick Rd., Ste. #101 Dayton, OH 45414 tel: 513-278-0714 fax: 513-278-3609 Axxis Technology Marketing, Inc. 701 Brazos, Suite 500 Austin, TX 78701 tel: 512-320-9130 fax: 512-320-5730 Axxis Technology Marketing, Inc. 6804 Ashmont Drive Plano, TX 75023 tel: 214-491-3577 fax: 214-491-2508 Virginia S-J Associates, Inc. 900 S. Washington St., Ste. #307 Falls Church, VA 22046 tel: 703-533-2233 fax: 703-533-2236 South America Braemac Pty. Ltd. Unit 6, 111 Moore St., Leichhardt Sydney, 2040 Australia tel: 61-2-550-6600 fax: 61-2-550-6377 Tekelec Airtronic, France 5, Rue Carle Vernet 92315 Sevres Cedex France tel: 33-1-46-23-24-25 fax: 33-1-45-07-21-91 Lyons Corp. 4615 W. Streetsboro Richfield, OH 44286 tel: 216-659-9224 fax: 216-659-9227 Concord Component Reps 6825 Jimmy Carter Blvd., Ste. #1303 Norcross, GA 30071 tel: 770-416-9597 fax: 770-441-0790 Australia Kamaka Rheinsrasse 22 76870 Kandel Germany tel: 49-7275-958211 fax: 49-7275-958220 India United Kingdom MMD 3 Bennet Court, Bennet Road Reading Berkshire, RG2 0QX UK tel: 44 1734 313232 fax: 44 1734 313255 Spectra Innovation Unit S-822 Manipal Centre 47 Dickenson Road Bangalore 560-042 Kamataka, India tel: 91-80-558-8323/3977 fax: 91-80-558-6872 Israel Ralco Components (1994) Ltd. 11 Benyamini St. 67443 Tel Aviv Israel tel: 972-3-6954126 fax: 972-3-6951743 Korea Woo Young Tech Co., Ltd. 5th Floor Koami Bldg 13-31 Yoido-Dong Youngduengpo-Ku Seoul, Korea 150-010 tel: 02-369-7099 fax: 02-369-7091 The information contained within this document is subject to change without notice. OPTi Inc. reserves the right to make changes in this manual at any time as well as in the products it describes, at any time without notice or obligation. OPTi Inc. assumes no responsibility for any errors contained within. In no event will OPTi Inc. be liable for any damages, direct, indirect, incidental or consequential resulting from any error, defect, or omission in this specification. Copyright © 1997 by OPTi Inc. All rights reserved. OPTi is a trademark of OPTi Incorporated. All other brand and product names are trademarks or copyrights of their respective owners. June 27, 1997 OPTi Inc. · 888 Tasman Drive · Milpitas, CA 95035 · (408) 486-8000 OPTi Inc. 888 Tasman Drive Milpitas, CA 95035 Tel: (408) 486-8000 Fax: (408) 486-8001 www.opti.com