B PRELIMINARY CY82C693UB hyperCache / Stand-Alone PCI Peripheral Controller with USB Features • PCI to ISA bridge • PCI Bus Rev. 2.1 compliant • Supports up to 5 additional PCI masters including the CY82C691 • Integrated DMA controllers with Type A, B, and F support • Integrated Interrupt controllers • Integrated timer/counters • Integrated Real-Time-Clock with 256 bytes of battery-backed SRAM (14 bytes of clock RAM and 242 bytes of CMOS scratch RAM) • Write-only Register Shadowing • Integrated Dual-Channel enhanced IDE controller with — PCI bus mastering • • • • • • • • • — CD ROM support — PIO modes 0 through 4 operation — Single-word and Multi-word DMA modes 0 through 2 Integrated Keyboard Controller APM compliant power management support through SMM or under hardware control Flash PROM support with write-protection Power-on reset circuitry QuietBus support for the PCI and ISA bus interfaces for better noise immunity General-purpose I/O pins and registers USB Host/Hub controller with 2 USB ports Flexible Stand-Alone configuration options Packaged in a 208-pin PQFP System Block Diagram Intel Pentium Processor, Cyrix M1 or AMD K5, K6 CY82C694 Expansion Cache CY82C691 CY82C692 Control CACHE TAG Cypress Clock CY2254ASC-2 DRAMAddress, DRAMControl DRAM Data[32:63] DRAM Data[0:31] PCI LOCAL BUS DRAM Lower 4 Bytes EPROM CY27C010 or Flash BIOS CY82C693UB USB Bus DRAM Upper 4 bytes Standard or EDO DRAMs IDE devices ISA Bus hyperCache and QuietBus are trademarks of Cypress Semiconductor Corporation. Pentium is a trademark of Intel Corporation. Cypress Semiconductor Corporation • 3901 North First Street • San Jose • CA 95134 • 408-943-2600 March 25, 1997 - Revised December 10, 1997 PRELIMINARY CY82C693UB TABLE OF CONTENTS Features ................................................................................................................................................... 1 CY82C693UB Signals ........................................................................................................................... 11 Pin Configuration ................................................................................................................................... 12 CY82C693UB Pin Reference (In Numerical Order by Pin Number) ...................................................... 13 CY82C693UB Pin Reference (In Alphabetical Order by Signal Name) ................................................. 14 Introduction ............................................................................................................................................ 17 System Overview ............................................................................................................................................. 17 CY82C693UB Introduction .............................................................................................................................. 17 Functional Overview .............................................................................................................................. 17 PCI Bus Interface ............................................................................................................................................ 17 ISA Bus Interface ............................................................................................................................................. 18 Reset Logic ...................................................................................................................................................... 18 Keyboard Controller ......................................................................................................................................... 19 Operating Frequency ....................................................................................................................................................19 Resetting the Keyboard Controller ...............................................................................................................................19 Host Interface ...............................................................................................................................................................19 PS/2 Compatible Mouse Support .................................................................................................................................19 Keyboard Interface .......................................................................................................................................................19 Maximum Flexibility ......................................................................................................................................................19 Keyboard Self-Test .......................................................................................................................................................19 Power Management Logic ............................................................................................................................... 19 AT Refresh Logic ............................................................................................................................................. 20 Pre-Read/Post-Write Buffers ........................................................................................................................... 20 BIOS ROM Control .......................................................................................................................................... 20 Timer/Counter Logic ........................................................................................................................................ 20 DMA Controllers .............................................................................................................................................. 21 DMA Controller Transfer Modes ...................................................................................................................................21 IDE Controller .................................................................................................................................................. 21 Real-Time-Clock .............................................................................................................................................. 21 RTC Address Map ........................................................................................................................................................22 External RTC Control ...................................................................................................................................................22 Interrupt Controllers ......................................................................................................................................... 22 NMI Sources .................................................................................................................................................................23 Stand-Alone Operation .................................................................................................................................... 23 Use With An External PCI Arbiter .................................................................................................................................23 Splitting GNTBSY .........................................................................................................................................................23 External Reset Control .................................................................................................................................................24 FREQACK Bypassing ..................................................................................................................................................24 32-Bit I/O Space Decode ..............................................................................................................................................24 1 Mbyte ROM Decode ..................................................................................................................................................24 Universal Serial Bus (USB) Host Controller .................................................................................................... 24 CY82C693UB Signal Description .......................................................................................................... 25 Reset Signals .................................................................................................................................................. 25 PCI Interface Signals ....................................................................................................................................... 25 ISA Interface Signals ....................................................................................................................................... 27 Power Management Signals ............................................................................................................................ 33 Keyboard Interface Signals ............................................................................................................................. 33 IDE Interface Signals ....................................................................................................................................... 33 USB Interface Signals ..................................................................................................................................... 34 Miscellaneous Signals ..................................................................................................................................... 34 hyperCache Memory and I/O Map ......................................................................................................... 35 CY82C693UB Control Registers ........................................................................................................... 37 2 PRELIMINARY CY82C693UB TABLE OF CONTENTS (continued) Register 1: Register 2: Register 3: Register 4: Register 5: Peripheral Configuration Register #1 (Read/Write) — Index=01H ................................................ 37 Peripheral Configuration Register #2 (Read/Write) - Index=02H .................................................. 38 Interrupt Request Level/Edge Control Register #1 (Read/Write) - Index=03H ............................. 38 Interrupt Request Level/Edge Control Register #2 (Read/Write) - Index=04H ............................. 39 Real-Time-Clock Configuration Register (Read/Write) - Index=05H ............................................ 39 Write-Only Shadow Registers ................................................................................................................ 40 Register 80: DMA1 Write Request Shadow Register (Read/Write) - Index=80H ........................................... 40 Register 81: DMA1 Write Single Mask Bit Shadow Register (Read/Write) - Index=81H ................................ 40 Register 82: DMA1 Write Mode Shadow Register (Read/Write) - Index=82H ............................................... 40 Register 83: DMA1 Clear Byte Pointer Shadow Register (Read/Write) - Index=83H ..................................... 40 Register 84: DMA1 Master Clear Shadow Register (Read/Write) - Index=84H ............................................. 40 Register 85: DMA1 Clear Mask Shadow Register (Read/Write) - Index=85H ................................................ 40 Register 86: Timer Counter 1 Command Mode Shadow Register (Read/Write) - Index=86H ....................... 40 Register 87: CMOS Battery-Backed RAM Address and NMI Mask Registers Shadow Register (Read/Write) - Index=87H ............................................................................................................................... 40 Register 88: DMA2 Write Request Shadow Register (Read/Write) - Index=88H ........................................... 40 Register 89: DMA2 Write Single Mask Bit Shadow Register (Read/Write) - Index=89H ................................ 41 Register 8A: DMA2 Write Mode Shadow Register (Read/Write) - Index=8AH ............................................... 41 Register 8B: DMA2 Clear Byte Pointer Shadow Register (Read/Write) - Index=8BH .................................... 41 Register 8C: DMA2 Mask Clear Shadow Register (Read/Write) - Index=8CH .............................................. 41 Register 8D: DMA2 Clear Mask Shadow Register (Read/Write) - Index=8DH .............................................. 41 Register 8E: Coprocessor Error Shadow Register (Read/Write) - Index=8EH ............................................... 41 Register 8F: Extended CMOS RAM address Shadow Register (Read/Write) - Index=8FH ........................... 41 General Purpose I/O Registers .............................................................................................................. 42 Register 90: General Purpose I/O Control Register A (Read/Write) - Index=90H Register 91: General Purpose I/O Input/Output Control Register A (Read/Write) Register 92: General Purpose I/O Control Register B (Read/Write) - Index=92H Register 93: General Purpose I/O Input/Output Control Register B (Read/Write) .......................................... 42 - Index=91H ..................... 42 .......................................... 43 - Index=93H ..................... 43 Power Management Control Registers .................................................................................................. 44 Register 40: Standby Timer Event Detection Control (Read/Write) - Index=40H ........................................... 44 Register 41: Standby Timer Interrupt Request Detection Control #1 (Read/Write) - Index=41H ................... 45 Register 42: Standby Timer Interrupt Request Detection Control #2 (Read/Write) - Index=42H ................... 45 Register 43: Standby Timer DMA Request Detection Control #1 (Read/Write) - Index=43H ......................... 46 Register 44: Suspend Timer Event Detection Control (Read/Write) - Index=44H .......................................... 46 Register 45: Suspend Timer Interrupt Request Detection Control #1 (Read/Write) - Index=45H .................. 47 Register 46: Suspend Timer Interrupt Request Detection Control #2 (Read/Write) - Index=46H .................. 47 Register 47: Suspend Timer DMA Request Detection Control #1 (Read/Write) - Index=47H ........................ 48 Register 48: User Timer 1 Event Detection Control (Read/Write) - Index=48H ............................................. 48 Register 49: User Timer 1 Interrupt Request Detection Control #1 (Read/Write) - Index=49H ...................... 49 Register 4A: User Timer 1 Interrupt Request Detection Control #2 (Read/Write) - Index=4AH ..................... 49 Register 4B: User Timer 1 DMA Request Detection Control #1 (Read/Write) - Index=4BH .......................... 50 Register 4C: Throttle Timer Event Detection Control (Read/Write) - Index=4CH ........................................... 50 Register 4D: Throttle Timer Interrupt Request Detection Control #1 (Read/Write) - Index=4DH ................... 51 Register 4E: Throttle Timer Interrupt Request Detection Control #2 (Read/Write) - Index=4EH ................... 51 Register 4F: Throttle Timer DMA Request Detection Control #1 (Read/Write) - Index=4FH ......................... 52 Register 50: Non-motherboard Memory Address Range Decode for Event Detection Register #1 (Read/Write) - Index=50H ........................................................................................................... 52 Register 51: Non-motherboard Memory Address Range Decode for Event Detection Register #2 (Read/Write) - Index=51H ........................................................................................................... 52 Register 52: Non-motherboard Memory Address Mask for Event Detection Register #1 (Read/Write) - Index=52H ............................................................................................................................... 52 3 PRELIMINARY CY82C693UB TABLE OF CONTENTS (continued) Register 53: Non-motherboard Memory Address Mask for Event Detection Register #2 (Read/Write) - Index=53H ............................................................................................................................... 52 Register 54: Programmable I/O Trap 1 Address Range Register #1 (Read/Write) - Index=54H ................... 52 Register 55: Programmable I/O Trap 1 Address Range Register #2 (Read/Write) - Index=55H ................... 53 Register 56: Programmable I/O Trap 1 Address Range Register #3 (Read/Write) - Index=56H ................... 53 Register 57: Programmable I/O Trap 1 Address Range Register #4 (Read/Write) - Index=57H ................... 53 Register 58: Programmable I/O Trap 2 Address Range Register #1 (Read/Write) - Index=58H ................... 53 Register 59: Programmable I/O Trap 2 Address Range Register #2 (Read/Write) - Index=59H ................... 53 Register 5A: Programmable I/O Trap 2 Address Range Register #3 (Read/Write) - Index=5AH .................. 53 Register 5B: Programmable I/O Trap 2 Address Range Register #4 (Read/Write) - Index=5BH .................. 53 Register 5C: Programmable I/O Trap 1 Address Detection Control (Read/Write) - Index=5CH .................... 54 Register 5D: Programmable I/O Trap 2 Address Detection Control (Read/Write) - Index=5DH .................... 54 Register 5E: I/O Trap 1 and 2 Monitoring Control (Read/Write) - Index=5EH ................................................ 55 Register 5F: Standby and Suspend Timer Terminal Count Control Register (Read/Write) - Index=5FH ....... 55 Register 60: User Timer 1 and User Timer 2 Terminal Count Control Register (Read/Write) - Index=60H ... 56 Register 61: User Timer 3 Terminal Count Control Register (Read/Write) - Index=61H ................................ 56 Register 62: Throttle Timer Terminal Count Control Register (Read/Write) - Index=62H .............................. 57 Register 63: Power Management Control Register#1 (Read/Write) - Index=63H .......................................... 57 Register 64: Power Management Control Register#2 (Read/Write) - Index=64H .......................................... 58 Register 65: Power Management Clock Control Register (Read/Write) - Index=65H .................................... 58 Register 66: STOPCLK Control Register (Read/Write) - Index=66H ............................................................. 59 Register 67: Power Management SMI Control Register (Read/Write) - Index=67H ....................................... 59 Register 70: Power Management SMI Enable Register #1 (Read/Write) - Index=70H .................................. 60 Register 71: Power Management SMI Enable Register #2 (Read/Write) - Index=71H .................................. 60 Register 72: Power Management SMI Enable Register #3 (Read/Write) - Index=72H .................................. 61 Register 73: Power Management SMI Enable Register #4 (Read/Write) - Index=73H .................................. 61 Register 74: Power Management SMI Enable Register #5 (Read/Write) - Index=74H .................................. 62 Register 75: Power Management SMI Enable Register #6 (Read/Write) - Index=75H .................................. 62 Register 76: Power Management SMI Status Register #1 (Read/Write) - Index=76H ................................... 63 Register 77: Power Management SMI Status Register #2 (Read/Write) - Index=77H ................................... 64 Register 78: Power Management SMI Status Register #3 (Read/Write) - Index=78H ................................... 65 Register 79: Power Management Interrupt Request Status Register #1 (Read/Write) - Index=79H .............. 66 Register 7A: Power Management Interrupt Request Status Register #2 (Read/Write) - Index=7AH ............. 67 Register 7B: Power Management DMA Request Status Register (Read/Write) - Index=7BH ....................... 68 Register 7C: Reserved - Index=7CH ............................................................................................................... 69 Register 7D: Reserved - Index=7DH .............................................................................................................. 69 Register 7E: Reserved - Index=7EH .............................................................................................................. 69 Register 7F: Reserved - Index=7FH ............................................................................................................... 69 Special I/O Port Registers ..................................................................................................................... 70 Port 61: System Control Port B, NMI (Read/Write) - I/O Address=061H ......................................................... 70 Port 70: RTC/Configuration RAM Address Port, NMI (Write) - I/O Address=070H ......................................... 70 Port 92: PS/2 Reset Control (Read/Write) - I/O Address=092H ...................................................................... 70 Port B2: APM Control Port (Read/Write) - I/O Address=0B2H ........................................................................ 71 Port B3: APM Status Port (Read/Write) - I/O Address=0B3H ......................................................................... 71 CY82C693UB DMA Controller Registers .............................................................................................. 72 DMA DMA DMA DMA DMA DMA DMA Register 0: DMAC1 Channel 0 Current Address Register (Read/Write) - I/O Address=000H ............... 72 Register 1: DMAC1 Channel 0 Current Word Count Register (Read/Write) - I/O Address=001H ......... 72 Register 2: DMAC1 Channel 1 Current Address Register (Read/Write) - I/O Address=002H ............... 72 Register 3: DMAC1 Channel 1 Current Word Count Register (Read/Write) - I/O Address=003H ......... 73 Register 4: DMAC1 Channel 2 Current Address Register (Read/Write) - I/O Address=004H ............... 73 Register 5: DMAC1 Channel 2 Current Word Count Register (Read/Write) - I/O Address=005H ......... 73 Register 6: DMAC1 Channel 3 Current Address Register (Read/Write) - I/O Address=006H ............... 73 4 PRELIMINARY CY82C693UB TABLE OF CONTENTS (continued) DMA Register 7: DMAC1 Channel 3 Current Word Count Register (Read/Write) - I/O Address=007H ......... 73 DMA Register 8: DMAC1 Status/Command Register (Read/Write) - I/O Address=008H ............................... 73 Status Register Format (Read Only) ............................................................................................................... 74 Command Register Format (Write Only) ......................................................................................................... 75 DMA Register 9: DMAC1 DMA Request Register (Write Only) - I/O Address=009H ...................................... 75 DMA Request Register Write Format .............................................................................................................. 75 DMA Register 10: DMAC1 DMA Command/Mask Register (Write Only) - I/O Address=00AH ....................... 76 DMA Request Mask Register Write Single Bit Format .................................................................................... 76 DMA Register 11: DMAC1 DMA Mode Register (Write Only) - I/O Address=00BH ........................................ 76 Mode Register Format ..................................................................................................................................... 77 DMA Register 12: DMAC1 Address Space Expansion Flip-Flop Control Register (Write Only) I/O Address=00CH .......................................................................................................................................... 77 DMA Register 13: DMAC1 Master Clear Register (Write Only) - I/O Address=00DH ..................................... 77 DMA Register 14: DMAC1 DMA Mask Clear Register (Write Only) - I/O Address=00EH ............................... 77 DMA Register 15: DMAC1 Request Mask Register Control (Read/Write) - I/O Address=00FH ..................... 78 DMA Request Mask Register Read and Write All Bits Format ........................................................................ 78 DMA Register 16: DMAC2 Channel 0 (Channel 4) Current Address Register (Read/Write) I/O Address=0C0H .......................................................................................................................................... 78 DMA Register 17: DMAC2 Channel 0 (Channel 4) Current Word Count Register (Read/Write) I/O Address=0C2H .......................................................................................................................................... 78 DMA Register 18: DMAC2 Channel 1 (Channel 5) Current Address Register (Read/Write) I/O Address=0C4H .......................................................................................................................................... 78 DMA Register 19: DMAC2 Channel 1 (Channel 5) Current Word Count Register (Read/Write) I/O Address=0C6H .......................................................................................................................................... 79 DMA Register 20: DMAC2 Channel 2 (Channel 6) Current Address Register (Read/Write) I/O Address=0C8H .......................................................................................................................................... 79 DMA Register 21: DMAC2 Channel 2 (Channel 6) Current Word Count Register (Read/Write) I/O Address=0CAH .......................................................................................................................................... 79 DMA Register 22: DMAC2 Channel 3 (Channel 7) Current Address Register (Read/Write) I/O Address=0CCH .......................................................................................................................................... 79 DMA Register 23: DMAC2 Channel 3 (Channel 7) Current Word Count Register (Read/Write) I/O Address=0CEH .......................................................................................................................................... 79 DMA Register 24: DMAC2 Status/Command Register (Read/Write) - I/O Address=0D0H ............................. 79 Status Register Format (Read Only) ............................................................................................................... 80 Command Register Format (Write Only) ......................................................................................................... 81 DMA Register 25: DMAC2 DMA Request Register (Write Only) - I/O Address=0D2H ................................... 81 DMA Request Register Write Format .............................................................................................................. 81 DMA Register 26: DMAC2 DMA Command/Mask Register (Write Only) - I/O Address=0D4H ...................... 82 DMA Request Mask Register Write Single Bit Format .................................................................................... 82 DMA Register 27: DMAC2 DMA Mode Register (Write Only) - I/O Address=0D6H ........................................ 82 Mode Register Format ..................................................................................................................................... 83 DMA Register 28: DMAC2 Address Space Expansion Flip-Flop Control Register (Write Only) I/O Address=0D8H .......................................................................................................................................... 83 DMA Register 29: DMAC2 Master Clear Register (Write Only) - I/O Address=0DAH ..................................... 83 DMA Register 30: DMAC2 DMA Mask Clear Register (Write Only) - I/O Address=0DCH .............................. 83 DMA Register 31: DMAC2 Request Mask Register Control (Read/Write) - I/O Address=0DEH .................... 84 DMA Request Mask Register Read and Write All Bits Format ........................................................................ 84 DMA Register 32: DMAC1 Channel 2 Page Address Register (Read/Write) - Index=081H ........................ 84 DMA Register 33: DMAC1 Channel 3 Page Address Register (Read/Write) - Index=082H ........................ 84 DMA Register 34: DMAC1 Channel 1 Page Address Register (Read/Write) - Index=083H ........................ 84 DMA Register 35: DMAC1 Channel 0 Page Address Register (Read/Write) - Index=087H ........................ 84 DMA Register 36: DMAC2 Channel 6 Page Address Register (Read/Write) - Index=089H ........................ 84 5 PRELIMINARY CY82C693UB TABLE OF CONTENTS (continued) DMA Register 37: DMAC2 Channel 7 Page Address Register (Read/Write) - Index=08AH ........................ 84 DMA Register 38: DMAC2 Channel 5 Page Address Register (Read/Write) - Index=08BH ........................ 85 DMA Register 39: DMAC1 Extended Mode Control (Write Only) − I/O Address=40BH .................................. 85 DMAC1 Extended Mode Control Register Format .......................................................................................... 85 DMA Register 40: DMAC1 Channel 2 High Page Address Register (Read/Write) - Index=481H ................ 85 DMA Register 41: DMAC1 Channel 3 High Page Address Register (Read/Write) - Index=482H ................ 85 DMA Register 42: DMAC1 Channel 1 High Page Address Register (Read/Write) - Index=483H ................ 85 DMA Register 43: DMAC1 Channel 0 High Page Address Register (Read/Write) - Index=487H ................ 85 DMA Register 44: DMAC2 Channel 6 High Page Address Register (Read/Write) - Index=489H ................ 86 DMA Register 45: DMAC2 Channel 7 High Page Address Register (Read/Write) - Index=48AH ............... 86 DMA Register 46: DMAC2 Channel 5 High Page Address Register (Read/Write) - Index=48BH ............... 86 DMA Register 47: DMAC2 Extended Mode Control (Write Only) - I/O Address=4D6H .................................. 86 DMAC2 Extended Mode Control Register Format .......................................................................................... 86 CY82C693UB IDE (Bus Mastering) DMA Controller Registers ............................................................. 87 SFF-8038i Registers ........................................................................................................................................ 87 Bus Master IDE Command Register Format (Offset+00H for Primary Channel; Offset +08H for Secondary Channel) .............................................................................................................. 87 Bus Master IDE Status Register Format (Offset+02H for Primary Channel; Offset +0AH for Secondary Channel) .............................................................................................................. 88 Bus Master IDE Descriptor Table Pointer Register Format (Offset+04H-07H for Primary Channel; Offset +0CH-0FH for Secondary Channel) ....................................... 88 Bus Master IDE I/O Base Address Register (PCI Configuration Space, function 1, register address 20-23H) 88 hyperCache Specific (Not Required by SFF-8038i) Registers ........................................................................ 89 Bus Master IDE Channel 0 Configuration Register (I/O Address 22H with Data = 30 (Index Port); I/O Address 23H is the Data Port) ................................................................................................................... 89 Bus Master IDE Channel 1 Configuration Register (I/O Address 22H with Data = 31 (Index Port); I/O Address 23H is the Data Port) ................................................................................................................... 89 Bus Master IDE TimeOut Register (I/O Address 22H with Data = 32 (Index Port); I/O Address 23H is the Data Port) - Write Only ............................................................................................... 89 Bus Master IDE Test Register (I/O Address 22H with Data = 33 (Index Port); I/O Address 23H is the Data Port) ................................................................................................................... 89 CY82C693UB Interrupt Controller Registers ......................................................................................... 90 ICW1: INTC1 Interrupt Initialization Command Word 1 (Write Only) - I/O Address=020H .............................. 91 ICW2: INTC1 Interrupt Initialization Command Word 2 (Write Only) - I/O Address=021H .............................. 91 ICW3: INTC1 Interrupt Initialization Command Word 3 (Write Only) - I/O Address=021H .............................. 92 ICW4: INTC1 Interrupt Initialization Command Word 4 (Write Only) - I/O Address=021H .............................. 92 ICW1: INTC2 Interrupt Initialization Command Word 1 (Write Only) - I/O Address=0A0H ............................. 93 ICW2: INTC2 Interrupt Initialization Command Word 2 (Write Only) - I/O Address=0A1H ............................. 93 ICW3: INTC2 Interrupt Initialization Command Word 3 (Write Only) - I/O Address=0A1H ............................. 93 ICW4: INTC2 Interrupt Initialization Command Word 4 (Write Only) - I/O Address=0A1H ............................. 94 OCW1: INTC1 Interrupt Operational Command Word 1 (Read/Write) - I/O Address=021H ........................... 94 OCW2: INTC1 Interrupt Operational Command Word 2 (Write Only) - I/O Address=020H ............................ 95 OCW3: INTC1 Interrupt Operational Command Word 3 (Write Only) - I/O Address=020H ............................ 95 OCW1: INTC2 Interrupt Operational Command Word 1 (Read/Write) - I/O Address=0A1H ........................... 96 OCW2: INTC2 Interrupt Operational Command Word 2 (Write Only) - I/O Address=0A0H ............................ 96 OCW3: INTC2 Interrupt Operational Command Word 3 (Write Only) - I/O Address=0A0H ............................ 97 CY82C693UB Timer/Counter Registers ................................................................................................ 98 Timer/Counter Register 0: Timer Control Word Register (Write Only) - Address=043H ................................. 98 Timer Control Word Register Format (Not Read-Back Command or Counter Latch Command) .................... 98 Timer Control Word Register Format (Read-Back Command) ........................................................................ 98 Timer Control Word Register Format (Counter Latch Command) ................................................................... 9 9 6 PRELIMINARY CY82C693UB TABLE OF CONTENTS (continued) Timer/Counter Register 1: Counter 0 Register (Read/Write Except for Read-Back Status Command) - Address=040H .............................................................................................................................................. 99 Counter 0 Register Format (Read-Back Status Command − Read Only) ....................................................... 99 Timer/Counter Register 2: Counter 1 Register (Read/Write Except for Read-Back Status Command) - Address=041H .............................................................................................................................................. 99 Counter 1 Register Format (Read-Back Status Command − Read Only) ..................................................... 100 Timer/Counter Register 3: Counter 2 Register (Read/Write Except for Read-Back Status Command) - Address=042H ............................................................................................................................................ 100 Counter 2 Register Format (Read-Back Status Command − Read Only) ..................................................... 100 CY82C693UB Real-Time-Clock Registers .......................................................................................... 101 RTC Register 0: Seconds Byte (Read/Write except for bit 7 which is always 0) - Index=00H ..................... 101 RTC Register 1: Seconds Alarm (Read/Write) - Index=01H ........................................................................ 101 RTC Register 2: Minutes Byte (Read/Write) - Index=02H ............................................................................ 101 RTC Register 3: Minutes Alarm (Read/Write) - Index=03H .......................................................................... 101 RTC Register 4: Hours Byte (Read/Write) - Index=04H ............................................................................... 101 RTC Register 5: Hours Alarm (Read/Write) - Index=05H ............................................................................. 101 RTC Register 6: Day-of-the-Week Byte (Read/Write) - Index=06H ............................................................. 101 RTC Register 7: Day-of-the-Month Byte (Read/Write) - Index=07H ............................................................. 102 RTC Register 8: Month Byte (Read/Write) - Index=08H ............................................................................... 102 RTC Register 9: Year Byte (Read/Write) - Index=09H ................................................................................. 102 RTC Register 10: Control/Status Register A (Read/Write except for bit 7 which is Read Only) - Index=0AH .................................................................................................................................................. 102 RTC Register 11: Control/Status Register B (Read/Write) - Index=0BH ...................................................... 103 RTC Register 12: Control/Status Register C (Read Only) - Index=0CH ...................................................... 104 RTC Register 13: Control/Status Register D (Read Only) - Index=0DH ...................................................... 104 RTC Registers 14-127: Battery-Backable Scratch Block 1 (Read/Write) − Indices=0EH-7FH ...................... 104 RTC Registers 128-255: Battery-Backable Scratch Block 2 (Read/Write) − Indices=80H-FFH .................... 104 CY82C693UB Keyboard/Mouse Controller Registers ......................................................................... 105 Keyboard/Mouse Register 0: Status Register (Read Only) - I/O Read to address 64H ................................ 105 Keyboard/Mouse Register 1: Command Byte Register ................................................................................. 106 System to Controller Command Set .............................................................................................................. 107 Controller to System Command Set .............................................................................................................. 108 System to Keyboard Command Set .............................................................................................................. 109 Keyboard to System Command Set .............................................................................................................. 109 System to Mouse Controller Command Set .................................................................................................. 110 Mouse to System Controller Command Set .................................................................................................. 111 CY82C693UB PCI Configuration Registers ......................................................................................... 112 PCI to ISA PCI Configuration Registers (Function 0 during Configuration Cycle) ............................... 112 Register 0: Vendor ID Number (Read Only) - Index=00H with a 16-bit access ............................................ 112 Register 1: Device ID Number (Read Only) - Index=02H with a 16-bit access ............................................ 112 Register 3: Command Register (Read/Write) - Index=04H with a 16-bit access .......................................... 112 Register 4: Status Register (Read/Write) - Index=06H with a 16-bit access ................................................ 113 Register 5: Revision ID Number (Read Only) - Index=08H with an 8-bit access ......................................... 113 Register 6: Programming Interface Revision ID Number (Read Only) - Index=09H with an 8-bit access .... 113 Register 7: Sub Class Code Register (Read Only) - Index=0AH with an 8-bit access ................................. 113 Register 8: Base Class Code Register (Read Only) - Index=0BH with an 8-bit access ............................... 114 Register 9: Header Type Register (Read Only) - Index=0EH with an 8-bit access ...................................... 114 Register 10: PCI Interrupt A Routing Control Register (Read/Write) - Index=40H with an 8-bit access ...... 114 Register 11: PCI Interrupt B Routing Control Register (Read/Write) - Index=41H with an 8-bit access ...... 114 Register 12: PCI Interrupt C Routing Control Register (Read/Write) - Index=42H with an 8-bit access ...... 115 Register 13: PCI Interrupt D Routing Control Register (Read/Write) - Index=43H with an 8-bit access ...... 115 Register 14: PCI Control Register (Read/Write) - Index=44H with an 8-bit access ...................................... 115 7 PRELIMINARY CY82C693UB TABLE OF CONTENTS (continued) Register 15: PCI Error Control Register (Read/Write) - Index=45H with an 8-bit access ............................. 116 Register 16: PCI Error Status Register (Read/Write) - Index=46H with an 8-bit access .............................. 116 Register 17: PCI BIOS Control Register (Read/Write) - Index=47H with an 8-bit access ............................ 117 Register 18: ISA/DMA Top of Memory Control (Read/Write) - Index=48H with an 8-bit access .................. 117 Register 19: AT Control Register #1 (Read/Write) - Index=49H with an 8-bit access .................................. 118 Register 20: AT Control Register #2 (Read/Write) - Index=4AH with an 8-bit access .................................. 118 Register 21: PCI IDE Interrupt Request 0 Routing Control Register (Read/Write) Index=4BH with an 8-bit access .................................................................................................................... 119 Register 22: PCI IDE Interrupt Request 1 Routing Control Register (Read/Write) Index=4CH with an 8-bit access .................................................................................................................... 119 Register 23: CY82C693UB Stand-Alone Control and USB Host Controller Control Register (Read/Write) - Index=4DH with an 8-bit access .................................................................................................................. 120 Register 24: CY82C693UB USB Control Register 1 (Read/Write) - Index=4EH with an 8-bit access .......... 121 Register 24: CY82C693UB USB Control Register 2 (Read/Write) - Index=4FH with an 8-bit access .......... 121 Primary Channel IDE PIO (Programmed I/O) PCI Configuration Registers (Function 1 during Configuration Cycle) ................................................. 122 Register 0: Vendor ID Number (Read Only) - Index=00H with a 16-bit access ............................................ 122 Register 1: Device ID Number (Read Only) - Index=02H with a 16-bit access ............................................ 122 Register 2: Command Register (Read/Write) - Index=04H with a 16-bit access .......................................... 122 Register 3: Status Register (Read/Write) - Index=06H with a 16-bit access ................................................ 123 Register 4: Revision ID Number (Read Only) - Index=08H with an 8-bit access ......................................... 123 Register 5: Class Code Register (Read Only) - Index=09H with a 32-bit access ......................................... 123 Register 6: Header Type Register (Read Only) - Index=0EH with an 8-bit access ...................................... 123 Register 7: Primary IDE Command Address Register (Read/Write) - Index=10H with a 32-bit access ....... 123 Register 8: Primary IDE Control Address Register (Read/Write) - Index=14H with a 32-bit access ............ 124 Register 9: Primary Bus Master IDE Control Address Register (Read/Write) Index=20H with a 32-bit access ..................................................................................................................... 124 Register 10: Primary IDE Interrupt INTA Control Register (Read/Write) - Index=3CH with an 8-bit access 124 Register 11: Primary IDE Interrupt Pin Control Register (Read Only) - Index=3DH with an 8-bit access .... 124 Register 12: Primary IDE Control Register (Read/Write) - Index=40H with a 32-bit access ........................ 125 Register 13: Primary IDE Address Setup Control Register (Read/Write) - Index=48H with a 32-bit access 125 Register 14: Primary Master Drive IDE IOR Command Control Register (Read/Write) Index=4CH with an 8-bit access .................................................................................................................... 125 Register 15: Primary Master Drive IDE IOW Command Control Register (Read/Write) Index=4DH with an 8-bit access .................................................................................................................... 126 Register 16: Primary Slave Drive IDE IOR Command Control Register (Read/Write) Index=4EH with an 8-bit access .................................................................................................................... 126 Register 17: Primary Slave Drive IDE IOW Command Control Register (Read/Write) Index=4FH with an 8-bit access .................................................................................................................... 126 Register 18: Primary Master Drive 8-Bit IDE Command Control Register (Read/Write) Index=50H with an 8-bit access ..................................................................................................................... 126 Register 19: Primary Slave Drive 8-Bit IDE Command Control Register (Read/Write) Index=51H with an 8-bit access ..................................................................................................................... 126 Register 20: Primary Master Drive IORDY Control Register (Read/Write) Index=52H with an 8-bit access ..................................................................................................................... 127 Register 21: Primary Slave Drive IORDY Control Register (Read/Write) Index=53H with an 8-bit access ..................................................................................................................... 127 Secondary Channel IDE PIO (Programmed I/O) PCI Configuration Registers (Function 2 during Configuration Cycle) ................................................. 128 Register 0: Vendor ID Number (Read Only) - Index=00H with a 16-bit access ............................................ 128 Register 1: Device ID Number (Read Only) - Index=02H with a 16-bit access ............................................ 128 Register 2: Command Register (Read/Write) - Index=04H with a 16-bit access .......................................... 128 8 PRELIMINARY CY82C693UB TABLE OF CONTENTS (continued) Register 3: Status Register (Read/Write) - Index=06H with a 16-bit access ................................................ 129 Register 4: Revision ID Number (Read Only) - Index=08H with an 8-bit access ......................................... 129 Register 5: Class Code Register (Read Only) - Index=09H with a 32-bit access ......................................... 129 Register 6: Header Type Register (Read Only) - Index=0EH with an 8-bit access ...................................... 129 Register 7: Secondary IDE Command Address Register (Read/Write) - Index=10H with a 32-bit access .. 129 Register 8: Secondary IDE Control Address Register (Read/Write) - Index=14H with a 32-bit access ....... 130 Register 9: Secondary IDE Interrupt INTB Control Register (Read/Write) Index=3CH with an 8-bit access .................................................................................................................... 130 Register 10: Secondary IDE Interrupt Pin Control Register (Read Only) - Index=3DH with an 8-bit access 130 Register 11: Secondary IDE Control Register (Read/Write) - Index=40H with a 32-bit access ................... 130 Register 12: Secondary IDE Address Setup Control Register (Read/Write) Index=48H with a 32-bit access ..................................................................................................................... 131 Register 13: Secondary Master Drive IDE IOR Command Control Register (Read/Write) Index=4CH with an 8-bit access .................................................................................................................... 131 Register 14: Secondary Master Drive IDE IOW Command Control Register (Read/Write) Index=4DH with an 8-bit access .................................................................................................................... 131 Register 15: Secondary Slave Drive IDE IOR Command Control Register (Read/Write) Index=4EH with an 8-bit access .................................................................................................................... 131 Register 16: Secondary Slave Drive IDE IOW Command Control Register (Read/Write) Index=4FH with an 8-bit access .................................................................................................................... 131 Register 17: Secondary Master Drive 8-Bit IDE Command Control Register (Read/Write) Index=50H with an 8-bit access ..................................................................................................................... 132 Register 18: Secondary Slave Drive 8-Bit IDE Command Control Register (Read/Write) Index=51H with an 8-bit access ..................................................................................................................... 132 Register 19: Secondary Master Drive IORDY Control Register (Read/Write) Index=52H with an 8-bit access ..................................................................................................................... 132 USB Host Controller PCI Configuration Registers (Function 3 during Configuration Cycle) ............... 133 Register 0: Vendor ID Number (Read Only) - Index=00H with a 16-bit access ............................................. 133 Register 1: Device ID Number (Read Only) - Index=02H with a 16-bit access ............................................. 133 Register 2: Command Register (Read/Write) - Index=04H with a 16-bit access ........................................... 133 Register 3: Status Registers (Read/Write) - Index=06H with a 16-bit access ............................................... 134 Register 4: Revision ID Number (Read Only) - Index=08H with an 8-bit access .......................................... 134 Register 5: Class Code Register (Read Only) - Index=09H with a 24-bit access .......................................... 135 Register 6: Cache Line Size (Read/Write) - Index=0CH with an 8-bit access ............................................... 135 Register 7: Latency Timer (Read/Write) - Index=0DH with an 8-bit access .................................................. 135 Register 8: Header Type Register (Read Only) - Index=0EH with an 8-bit access ....................................... 135 Register 9: BIST Register (Read Only) - Index=0FH with an 8-bit access .................................................... 135 Register 10: Base Address Register (Read/Write) - Index=10H with a 32-bit access ................................... 135 Register 11: Interrupt LIne Register (Read/Write) - Index=3CH with an 8-bit access ................................... 135 Register 12: Interrupt Pin Register (Read/Write) - Index=3DH with an 8-bit access ..................................... 136 Register 13: Min_Gnt Register (Read Only) - Index=3EH with an 8-bit access ............................................ 136 Register 14: Max_Lat Register (Read Only) - Index=3FD with an 8-bit access ............................................ 136 Register 15: ASIC Test Mode Enable Register (Read/Write) - Index=40H with a 32-bit access ................... 136 Register 16: ASIC Operational Mode Enable Register (Read/Write) - Index=44H with an 8-bit access ....... 136 USB Host Controller Operational Registers ......................................................................................... 137 Register 0: HcRevision (Read Only) - Offset=00H with a 32-bit access ........................................................ 137 Register 1: HcControl (Read/Write) - Offset=04H with a 32-bit access ......................................................... 137 Register 2: HcCommandStatus (Read/Write) - Offset=08H with a 32-bit access .......................................... 138 Register 3: HcInterruptStatus (Read/Write) - Offset=0CH with a 32-bit access ............................................ 138 Register 4: HcInterruptEnable (Read/Write) - Offset=10H with a 32-bit access ............................................ 139 Register 5: HcInterruptDisable (Read/Write) - Offset=14H with a 32-bit access ........................................... 140 Register 6: HcHCCA (Read/Write) - Offset=18H with a 32-bit access .......................................................... 140 9 PRELIMINARY CY82C693UB TABLE OF CONTENTS (continued) Register 7: HcPeriodCurrentED (Read/Write) - Offset=1CH with a 32-bit access ........................................ 140 Register 8: HcControlHeadED (Read/Write) - Offset=20H with a 32-bit access ........................................... 140 Register 9: HcControlCurrentED (Read/Write) - Offset=24H with a 32-bit access ........................................ 141 Register 10: HcBulkHeadED (Read/Write) - Offset=28H with a 32-bit access .............................................. 141 Register 11: HcBulkCurrentED (Read/Write) - Offset=2CH with a 32-bit access .......................................... 141 Register 12: HcDoneHead (Read/Write) - Offset=30H with a 32-bit access ................................................. 141 Register 13: HcFmInterval (Read/Write) - Offset=34H with a 32-bit access ................................................. 141 Register 13: HcFrameRemaining (Read Only) - Offset=38H with a 32-bit access ........................................ 141 Register 14: HcFmNumber (Read Only) - Offset=3CH with a 32-bit access ................................................. 142 Register 15: HcPeriodicStart (Read/Write) - Offset=40H with a 32-bit access .............................................. 142 Register 16: HcLSThreshold (Read/Write) - Offset=44H with a 32-bit access .............................................. 142 Register 17: HcRhDescriptorA (Read/Write) - Offset=48H with a 32-bit access ........................................... 142 Register 18: HcRhDescriptorB (Read/Write) - Index=4CH with a 32-bit access ........................................... 143 Register 19: HcRhStatus (Read/Write) - Index=50H with a 32-bit access .................................................... 144 Register 20: HcRhPortStatus[1:2] (Read/Write) - Index=54H, 58H with a 32-bit access .............................. 145 Register 21: HceControl (Read/Write) - Index=100H with a 32-bit access .................................................... 146 Register 22: HceInput - Index=104H with a 32-bit access ............................................................................. 147 Register 23: HceOutput - Index=108H with a 32-bit access .......................................................................... 147 Register 24: HceStatus (Read/Write) - Index=10CH with a 32-bit access .................................................... 147 Maximum Ratings ................................................................................................................................ 148 Electrical Characteristics ...................................................................................................................... 148 Switching Waveforms .......................................................................................................................... 149 Ordering Information ............................................................................................................................ 163 Package Diagrams .............................................................................................................................. 164 10 CY82C693UB PRELIMINARY CY82C693UB Signals SA[19:4]/PCIIDE[15:0],SA[3:0] SD[15:0] AD[31:0] PCICLK XD[7:0]/IDEDMA/IDEIRQ C/BE[3:0] LA[23:17]/PIDECS's/PCIIDEA[2:0] FRAME IRDY TRDY DEVSEL PAR STOP SERR IDSEL INTA INTB INTC INTD GNTBSY/GRANT FREQACK/IRQ8 REQ[3:0]/PGNT/SGNT GNT[3:0]/PREQ/SREQ IRQ8/PSRSTB VCCBAT X2/RTCRD[1] X1/RTCWT[2] ROMCS/ROMMODE SMI/GBSEP STOPCLK/RSTCHG EPMI PWGD CPURST PCIRST INIT USB_CLK USB_D1+/USB_D1− USB_D2+/USB_D2− PCI Signals ISA Signals IRQ[15:14],[11:9],[7:3] INTR/KBATMODE NMI ATCLK ALE DREQ[7:5]/GPIO DACK[7:5]/GPIO/Config. REFSH SPKR EOP IGNNE/ROMS1 RTC/ROM Signals Power Mgmt. Signals Reset Signals USB Signals Keyboard/ Mouse Signals Dedicated IDE Signals FERR IOCS16 MCS16 SBHE MRD,MWT,IOR,IOW, SMEMR,SMEMW OSC 0WS AEN IOCHRDY IOCHK KBDATA IRQ1/KBCLK MSDATA/KBDCLK IRQ12/MSCLK KBCS/KYLCK GTA20/ROMS0 IDEIOR,IDEIOW IDEIOCS16 BLKIDE NOTES: 1. RTCRD available only as bond option. 2. RTCWT available only as bond option. 82C693UB–2 11 CY82C693UB PRELIMINARY Pin Configuration 157 159 158 160 162 161 164 163 166 165 168 167 173 172 171 170 169 175 174 181 180 179 178 177 176 184 183 182 186 185 197 196 195 194 193 192 191 190 189 188 187 200 199 198 202 201 207 206 205 204 203 156 155 154 153 152 151 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 37 38 39 40 41 42 43 44 45 46 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 CY82C693UB 94 95 96 90 91 92 93 86 87 88 89 81 82 83 84 85 77 78 79 80 74 75 76 70 71 72 73 66 67 68 69 62 63 64 65 59 60 61 55 56 57 58 53 54 47 48 49 50 51 52 97 98 99 100 101 102 103 104 208 208-pin PQFP Top View 82C693UB–2 12 CY82C693UB PRELIMINARY CY82C693UB Pin Reference (In Numerical Order by Pin Number) Pin # Pin Name Pin # 1 GND 43 AD9 85 SA7/IDE3 127 X1/RTCWT(bond option only) 169 +3.3V 2 FRAME 44 AD8 86 SA6/IDE2 128 PWGD 170 GTA20/ROMS0 3 IDSEL 45 AD7 87 SA5/IDE1 129 DRQ0 171 GND 4 TRDY 46 AD6 88 SA4/IDE0 130 DRQ5/GPIO6/ PWREN 172 STOPCLK/ RSTCHG 5 IRDY 47 AD5 89 SA3 131 DRQ6/GPIO7/ OVRCUR 173 CPURST 6 DEVSEL 48 AD4 90 SA2 132 DRQ7/GPIO8/ SMIACT 174 INIT 7 SERR 49 AD3 91 SA1 133 OSC 175 NMI 8 PAR 50 AD2 92 SA0 134 SD0 176 INTR/ KBATMODE 9 USB_D1+ 51 AD1 93 GND 135 SD1 177 IGNNE/ROMS1 10 USB_D1– 52 AD0 94 ROMCS/ ROMMODE 136 +5V 178 FERR 11 C/BE3 53 GND 95 IRQ7 137 GND 179 SMI/GBSEP 12 C/BE2 54 IOCHK 96 IRQ6 138 SD2 180 USB_D2+ 13 C/BE1 55 IOCHRDY 97 IRQ5 139 SD3 181 USB_D2– 14 C/BE0 56 0WS 98 IRQ4 140 SD4 182 EPMI 15 USB_CLK 57 AEN 99 IRQ3 141 SD5 183 MSDATA/ KBDCLK 16 AD31 58 SMEMW 100 IRQ1/KBCLK 142 SD6 184 KBCS/KYLCK 17 AD30 59 SMEMR 101 REFSH 143 SD7 185 KBDATA 18 AD29 60 IOW 102 IRQ9 144 MRD 186 IDEIOCS16 19 AD28 61 IOR 103 ALE 145 MWT 187 IDEIOW 20 +5V 62 LA23/IDECS0 104 +5V 146 SD15 188 IDEIOR 21 GND 63 LA22/IDECS1 105 GND 147 SD14 189 GNTBSY/ GRANT 22 AD27 64 LA21/SIDECS0 106 IRQ10 148 SD13 190 FREQACK/IRQ8 23 AD26 65 +5V 107 ATCLK 149 SD12 191 GNT0/PREQ 24 AD25 66 LA20/SIDECS1 108 IRQ11 150 SD11 192 GNT1/SREQ 25 AD24 67 GND 109 IRQ12/MSCLK 151 GND 193 GNT2/SQWV 26 AD23 68 LA19/IDEA2 110 IRQ14 152 SD10 194 GNT3/DISARB 27 AD22 69 LA18/IDEA1 111 IRQ15 153 SD9 195 +5V 28 AD21 70 LA17/IDEA0 112 DACK0/TSTM 154 SD8 196 REQ0/PGNT 29 AD20 71 GND 113 DACK1/TSTM0 155 XD0/XDIR 197 GND 30 AD19 72 SA19/IDE15 114 DACK2/TSTM1 156 +5V 198 REQ1/SGNT 31 AD18 73 SA18/IDE14 115 DACK3/ DISPSEL 157 BLKIDE 199 REQ2 32 +5V 74 SA17/IDE13 116 DACK5/KBSEL/GPIO9 158 XD1/XDEN 200 REQ3 33 GND 75 SA16/IDE12 117 DACK6/RTCSEL/GPIO10 159 XD2/IACK1 201 PCIRST 34 AD17 76 SA15/IDE11 118 DACK7/EXTBUF/GPIO11 160 XD3/IREQ1 202 INTD Pin Name Pin # Pin Name 13 Pin # Pin Name Pin # Pin Name CY82C693UB PRELIMINARY CY82C693UB Pin Reference (In Numerical Order by Pin Number) (continued) Pin # Pin Name Pin # 35 AD16 77 SA14/IDE10 119 EOP 161 XD4/IACK0 203 INTC 36 AD15 78 SA13/IDE9 120 DRQ1 162 XD5/IREQ0 204 INTB 37 AD14 79 SA12/IDE8 121 DRQ3 163 XD6/IDEIRQ1/ GPIO1/BUSY 205 INTA 38 AD13 80 SA11/IDE7 122 DRQ2 164 XD7/IDEIRQ0/ GPIO0 206 STOP 39 AD12 81 GND 123 IRQ8/PSRSTB 165 SBHE 207 PCICLK 40 AD11 82 SA10/IDE6 124 VCCBAT 166 MCS16 208 +5V 41 AD10 83 SA9/IDE5 125 GND 167 IOCS16 42 GND 84 SA8/IDE4 126 X2/RTCRD (bond option only) 168 SPKR Pin Name Pin # Pin # Pin Name Pin # Pin Name Pin Name CY82C693UB Pin Reference (In Alphabetical Order by Signal Name) Pin Name Pin No. Pin Name Pin No. Pin No. Pin Name Pin Name Pin No. AD0 52 C/BE3 11 INTR/ KBATMODE 176 AD1 51 CPURST 173 IOCHK 54 AD2 50 DACK0/TSTM 114 IOCHRDY 55 PWGD 128 AD3 49 DACK1/TSTM0 114 IOCS16 167 REFSH AD4 48 DACK2/TSTM1 114 IOR 61 REQ0/ PGNT AD5 47 DACK3 / DISPSEL 115 IOW 60 AD6 46 DACK5/ KBSEL/GPIO9 116 IRDY AD7 45 DACK6/RTCSEL/GPIO10 117 AD8 44 DACK7/EXTBUF/GPIO11 AD9 43 AD10 AD11 Pin Name Pin No. SD8 154 SD9 153 SD10 152 101 SD11 150 196 SD12 149 REQ1/ SGNT 198 SD13 148 5 REQ2 199 SD14 147 IRQ1/KBCLK 100 REQ3 200 SD15 146 118 IRQ3 99 ROMCS/ 94 ROMMODE SERR 7 DEVSEL 6 IRQ4 98 SMEMR 59 41 DRQ0 129 IRQ5 97 SA0 92 SMEMW 58 40 DRQ1 120 IRQ6 96 SA1 91 SMI/GBSEP 179 AD12 39 DRQ2 122 IRQ7 95 SA2 90 SPKR 168 AD13 38 DRQ3 121 IRQ8/PSRSTB 123 SA3 89 STOP 206 AD14 37 DRQ5/GPIO6/ PWREN 130 IRQ9 102 SA4/IDE0 88 STOPCLK/ RSTCHG 172 AD15 36 DRQ6/GPIO7/ OVRCUR 131 IRQ10 106 SA5/IDE1 87 TRDY 4 AD16 35 DRQ7/GPIO8/ SMIACT 132 IRQ11 108 SA6/IDE2 86 USB_CLK 15 AD17 34 EOP 119 IRQ12/MSCLK 109 SA7/IDE3 85 USB_D1+ 9 AD18 31 EPMI 182 IRQ14 110 SA8/IDE4 84 USB_D1– 10 AD19 30 FERR 178 IRQ15 111 SA9/IDE5 83 USB_D2+ 180 AD20 29 FRAME 2 KBCS/KYLCK 184 SA10/IDE6 82 USB_D2– 181 14 CY82C693UB PRELIMINARY CY82C693UB Pin Reference (In Alphabetical Order by Signal Name) (continued) Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. Pin Name Pin No. AD21 28 FREQACK/ IRQ8 190 KBDATA 185 SA11/IDE7 80 VCCBAT 124 AD22 27 GND 1, 21, 33, 42, 53, 67, 71, 81, 93, 105, 125, 137, 151, 171,197 LA17/IDEA0 70 SA12/IDE8 79 X1/RTCWT (bond option only) 127 AD23 26 GNT0/PREQ 191 LA18/IDEA1 69 SA13/IDE9 78 X2/RTCRD (bond option only) 126 AD24 25 GNT1/SREQ 192 LA19/IDEA2 68 SA14/IDE10 77 XD0/XDIR 155 AD25 24 GNT2/SQWV 193 LA20/SIDECS1 66 SA15/IDE11 76 XD1/XDEN 158 AD26 23 GNT3/DISARB 194 LA21/SIDECS0 64 SA16/IDE12 75 XD2/IACK1 159 AD27 22 GNTBSY/ GRANT 189 LA22/IDECS1 63 SA17/IDE13 74 XD3/IREQ1 160 AD28 19 GTA20/ROMS0 170 LA23/IDECS0 62 SA18/IDE14 73 XD4/IACK0 161 AD29 18 IDEIOCS16 186 SA19/ IDE15 72 XD5/IREQ0 162 AD30 17 IDEIOR 188 MCS16 166 SBHE 165 XD6/IDEIRQ1/ GPIO1/BUSY 163 AD31 16 IDEIOW 187 MRD 144 SD0 134 XD7/IDEIRQ0/ GPIO0 164 AEN 57 IDSEL 3 MSDATA/ KBDCLK 183 SD1 135 0WS 56 ALE 103 IGNNE/ROMS1 177 MWT 145 SD2 138 +3.3V 169 ATCLK 107 INIT 174 NMI 175 SD3 139 +5V 20,32, 65,104, 136,156, 195,208 BLKIDE 157 INTA 205 OSC 133 SD4 140 C/BE0 14 INTB 204 PAR 8 SD5 141 C/BE1 13 INTC 203 PCICLK 207 SD6 142 C/BE2 12 INTD 202 PCIRST 201 SD7 143 15 CY82C693UB PRELIMINARY To Keyboard Connector Reset Circuitry Power Management Logic XD Bus Keyboard Controller DMA Controllers Timer/Counter Pre-Read/ Post-write Buffers AT Refresh Logic ROM/Flash Control ISA Interface USB Bus USB Host Controller PCI Interface PCI Bus PCI Arbiter (can be disabled) Real-TimeClock IDE Controller Interrupt Controllers Figure 1. CY82C693UB Functional Block Diagram 16 ISA Bus PRELIMINARY CY82C693UB Introduction cards to be added to the system. PCI is the predominant local bus for Pentium systems. System Overview Master cycles are initiated by driving FRAME LOW with a valid address on AD[31:0], valid even address parity on PAR, and a valid command on C/BE[3:0]. Data phases occur when IRDY (initiator ready) and TRDY (target ready) are both active, valid data is placed on AD[31:0], the PAR signal is driven to reflect even parity, and the correct byte enable combination is present on C/BE[3:0]. Wait states can be inserted into a transaction if the initiator deasserts IRDY or the target deasserts TRDY. A transaction is terminated by the deassertion of FRAME prior to the final data phase. As a PCI master, the CY82C693UB will only perform memory read and write transactions. A read or write cycle consists of a maximum of 4 bytes of data in a single data cycle. The hyperCache family is a family of chips created to provide flexible solutions for today’s PC designs. The chipset provides all the functions necessary to implement a 3.3V Pentium-class processor based system with the USB (Universal Serial Bus), PCI (Peripheral Component Interconnect), and the ISA (Industry Standard Architecture) buses. System designers can exploit the advantages of the USB and PCI buses while maintaining access to the large base of ISA cards in the marketplace. The Cypress hyperCache family offers system designers several key advantages. With only three chips, a complete system can be implemented. Cache can be added up to 512 MB with additional CY82C694 devices in 128-KB increments All chipset solutions are pin-compatible and provide flexible upgrade paths through on-board or external cache modules. Six banks of page-mode or EDO DRAM further increase the system designer’s options. The chipset also contains concurrent bus support, PCI enhanced IDE with CD-ROM support, integrated RTC, integrated peripheral control (Interrupts/DMA), and integrated keyboard controller. This chipset is flexible enough to provide the system designer with many cost/performance/function options to provide an optimum solution for a given design. The CY82C693UB uses a subtractive decode strategy to determine if a PCI target transaction is destined for the ISA bus. Potential PCI targets decode any valid address during the first cycle of the transaction (FRAME asserted). If a PCI peripheral device (including the integrated IDE controller in the CY82C693UB) detects a transaction to its address space, it will assert DEVSEL. If the CY82C693UB does not detect the assertion of DEVSEL by another target (or its own IDE controller) within 4 PCI clock cycles, it will claim the transaction by asserting DEVSEL. All transactions that are not claimed by a PCI peripheral are, by default, sent to the ISA bus. After asserting DEVSEL, the CY82C693UB will initiate an ISA cycle and assert TRDY to the PCI bus when valid data is available. CY82C693UB Introduction The CY82C693UB Peripheral Controller provides a highly integrated peripheral solution for PCI-based motherboards. The CY82C693UB contains a PCI to ISA bridge, a PCI IDE controller, DMA controllers, Interrupt controllers, a RealTime-Clock, Keyboard controller and a USB Host Controller. As a PCI slave, the CY82C693UB will target-terminate the cycle after the first data transfer by asserting STOP with TRDY if FRAME is not deasserted before the data phase. The CY82C693UB does not accept bursts as a target. By not allowing target bursts, PCI bus bandwidth, which would otherwise be quickly consumed by ISA or IDE targets, is conserved. Figure 1 shows a block diagram of the CY82C693UB. Functional Overview The CY82C693UB supports PCI error reporting through the SERR (system error) signal. Both internally detected and externally generated errors are reported. SERR is asserted for any system error, including address/data parity errors on Special Cycle commands, except for data parity. If the CY82C693UB detects the assertion of SERR, it will assert NMI (non-maskable interrupt) to the CPU. The CY82C693UB will store the source of the NMI (SERR) in an internal configuration register to allow the NMI handler software to determine the cause of the error. The CY82C693UB Peripheral Controller contains the following functional blocks: • PCI Interface • ISA Interface • Reset Logic • Keyboard Controller • Power Management Logic • AT Refresh Logic • Pre-Read/Post-Write Buffers • BIOS ROM Control • Timer/Counter Logic • DMA Controllers • Dual-Channel Enhanced IDE Controller • Real-Time-Clock with 32-kHz Oscillator • Interrupt Controllers • USB Host Controller The CY82C693UB supports the four PCI interrupt signals (INTA, INTB, INTC, and INTD). The interrupt lines are open-drain and should be routed to all of the PCI slots. For single-function devices, only INTA should be used. The three other interrupt lines can be connected to any set of functions on a multi-function device. Each interrupt signal can be programmed to be level-sensitive (PCI Compliant) or edge-triggered (not PCI Compliant). The assertion of a PCI interrupt request will cause the INTR signal to be asserted to the processor. When the processor performs an interrupt acknowledge cycle, the CY82C693UB will return an interrupt vector based on the level of the PCI interrupt. The PCI interrupt levels are programmable. Interrupt programmability is useful in resolving system conflicts. PCI Bus Interface The CY82C693UB provides a bridge for transactions between the PCI bus, the ISA bus, and IDE peripherals. PCI bus speeds of 25, 30, or 33 MHz are supported. The PCI interface is master/slave (it can initiate or be a target for transactions). The PCI bus interface in the CY82C693UB is Revision 2.1 compliant. This standard allows for a multitude of high-speed peripheral The CY82C693UB contains the PCI arbiter. The CY82C693UB supports up to five PCI masters, including the CY82C691. There are four dedicated request and grant line pairs, one for each slot, and a special busy and grant for the 17 CY82C693UB PRELIMINARY CY82C691 has flushed its write buffers (causing memory to be coherent with respect to the write buffer contents), the CY82C691 will assert FREQACK for one PCI clock cycle and rescind. This informs the CY82C693UB that the write buffers have been flushed and it is free to take control of the PCI bus and perform the ISA master/DMA transfer. CY82C691. The CY82C691 is the default owner of the PCI bus. If the CY82C691 requires ownership of PCI and is granted the bus, it will assert the GNTBSY signal. When the CY82C693UB sees another master’s request asserted, and no higher priority masters are requesting the bus, the CY82C693UB will remove the grant from the CY82C691 and give the grant to the new master. The CY82C693UB supports rotating priority. In rotating priority, the last master to be granted the bus becomes lowest priority. The CY82C691 is always given highest priority to reduce CPU latency due to arbitration. GNTBSY performs the PCI arbitration function between the CY82C691 and the CY82C693UB. The CY82C691 is the default owner of the PCI bus (GNTBSY is asserted LOW by the CY82C693UB in the default state). When the CY82C693UB wants access to the PCI bus, it drives GNTBSY HIGH for one PCI clock cycle and rescinds the signal. If the CY82C691 has a PCI bus cycle pending, it will drive GNTBSY LOW until it is finished with its transaction (PCI bus busy). Once the CY82C691 has finished its pending transaction, it will deassert GNTBSY and rescind. When the CY82C693UB sees GNTBSY deasserted, it is free to grant the PCI bus to another master. The CY82C693UB will leave GNTBSY deasserted as long as a master other than the CY82C691 is on the PCI bus. Once the other PCI masters finish their transactions, the CY82C693UB will assert GNTBSY to inform the CY82C691 that it is free to take the PCI bus again. ISA Bus Interface The CY82C693UB contains an ISA (Industry Standard Architecture) Bus interface. If no other target in the system claims the transaction, it is passed to the ISA bus. The ISA bus interface in the CY82C693UB is full master/slave, allowing a myriad of low-cost peripheral cards to be added to the system. ISA master cycles are performed by the CY82C693UB whenever a PCI master wants to access an ISA peripheral card. The CY82C693UB drives the address onto the ISA address lines and asserts BALE. The accessed resource will then respond with its size by the assertion/negation of the IOCS16 or MEMCS16 signals. The appropriate command signals (SMEMR, SMEMW, MEMR, MEMW, IOR, or IOW) will then be asserted by the CY82C693UB. The deassertion of the active command signal indicates when valid data is on the bus. Wait states can be inserted into an ISA cycle by the target’s negation of the IOCHRDY signal. This forces the command signal to stay on the bus until IOCHRDY is asserted again. Because a PCI data transfer is up to 32 bits wide on byte boundaries and ISA data can be eight or sixteen bits wide, the CY82C693UB performs bus steering. Based on the address, the state of the C/BE[3:0] signals and the width of the ISA bus resident, the CY82C693UB will steer data to/from the PCI data bus from/to the ISA data bus. If a PCI read transaction from the ISA bus requires data larger than the 8/16-bit ISA data width, the CY82C693UB can be programmed to perform multiple ISA transactions and pack the data into a single, larger PCI data word. If less than 32 bits are required on the PCI bus (by the assertion of fewer than all 4 byte enables), only the requested data will be packed and presented on the PCI data lines. On an ISA MASTER write, data will be driven onto the PCI bus as it is written (not packed). An ISA peripheral requests ownership of the ISA bus by asserting its DMA request signal. The request can be either a normal ISA transaction controlled by the peripheral itself, or a DMA transaction using transfer parameters (such as starting address and block count) previously set up in the DMA controller inside the CY82C693UB. In a normal ISA transaction, the ISA master begins its transfers after receiving DMA acknowledge from the CY82C693UB. The CY82C693UB differentiates a normal ISA bus request from an ISA DMA request by checking the transfer parameters (in the on-chip DMA controller) corresponding to the above DMA request signal. If no transfer parameters are stored, then the request is a normal ISA transfer. The ISA bus interface in the CY82C693UB allows for fully synchronous/asynchronous operation. In other words, the ISA clock can be synchronized to a divided-down version of the PCI clock, or the PCI and ISA clocks can be fully independent in frequency and phase. The CY82C693UB can switch the ISA clock to a fixed 7.16-MHz clock if the PCI clock is slowed to conserve system power. If the ISA request is a DMA transfer, the CY82C693UB outputs the pre-programmed starting address and the control signals onto the ISA bus. It will also assert AEN to the requesting ISA bus master so that it will ignore the address and simply provide the data to be transferred onto the ISA bus. The address on the ISA bus is the memory address used to route the DMA data to the proper memory location. If the target for a DMA/MASTER ISA cycle is on the PCI bus, the PCI bus will be arbitrated for before the CY82C693UB will assert the DMA acknowledge to the ISA master. The COMMAND recovery time is programmable (either 1.5 or 2.5 ISA clock cycles). Command recovery is the amount of idle ISA cycles between back-to-back ISA transactions. This allows for a trade-off between extra performance and card compatibility. The default is 2.5 ISA clock cycles. However, if the ISA peripheral cards in the system can support 1.5 ISA clocks, the CY82C693UB can be programmed to reduce the overall ISA cycle time. The CY82C693UB contains QuietBus logic. Control and data signals will only be passed from PCI to ISA when the CY82C693UB determines that the ISA bus is the intended target. This reduces the noise and power consumption associated with switching output buffers unnecessarily. It also eliminates some system EMI (Electro-Magnetic Interference). When either an ISA master request or a DMA request is asserted to the CY82C693UB, system data coherency must be maintained. This is accomplished using two sideband signals between the CY82C691 and the CY82C693UB (FREQACK and GNTBSY). When the CY82C693UB detects the assertion of one of the DMA request signals, it will assert FREQACK for one clock cycle. This is a request to the CY82C691 to flush all write buffers. After driving FREQACK for one cycle, the CY82C693UB will drive the signal deasserted (HIGH) for one PCI clock cycle and float the signal (rescind). After the Reset Logic The CY82C693UB provides three signals for resetting system components, CPURST, INIT and RESET. 18 CY82C693UB PRELIMINARY registers and ports that are user definable. As inputs, they set bits in internal reserved registers. As outputs, they reflect the value of the internal register bits. The general purpose I/Os are multiplexed with some alternate control signals, the XD bus, IDE DMA control, and IDE Interrupt Request signals. Therefore, these system functions will not be available from the CY82C693UB when the pins are programmed as general purpose I/Os. However, not every system will require the additional system functions, and those that do can implement these system functions externally if general purpose I/O is a requirement. CPURST is an active HIGH signal that provides power-on reset functionality for the CPU. CPURST is asserted when the CY82C693UB detects PWGD (power good) asserted from the power supply. CPURST forces the processor to begin execution in a known state. When the Pentium processor detects CPURST, it will immediately abort all bus activity and perform its reset sequence. The CY82C693UB will assert CPURST for a minimum of 1 ms after PWGD is asserted. This is sufficient to ensure a “cold” or “power-on” reset. The assertion of CPURST will cause all internal processor registers, write-buffers, and caches to be reset. The processor will begin execution by reading from address FFFFFFF0H upon the deassertion of CPURST. CPURST is also used to reset ISA peripherals (functions as SYSRESET). PS/2 Compatible Mouse Support The CY82C693UB supports a PS/2 compatible mouse. MSCLK and MSDATA should be connected directly to the mouse connector. Mouse interrupt requests are generated internally. For a “warm” reset, INIT will be asserted for a minimum of 15 PCI clock cycles. A “warm” reset is performed whenever the CPU writes Port 92H, bit 0, to “1”. The keyboard controller within the CY82C693UB can also issue a fast “warm” reset if the user writes FE (hex) to port 64 (hex). INIT provides CPURST functionality except INIT leaves the CPU’s level 1 cache, internal write-buffers, and floating-point registers intact. Only the processor core is reset. INIT can be used to switch the processor from protected to real mode. Once INIT is sampled active, the processor will begin the initialization sequence on the next instruction boundary. The initialization sequence will continue to completion followed by normal reset execution (read from address FFFFFFF0H). INIT will be asserted for a minimum of two CPU clock cycles and will remain active for three CPU clock cycles prior to the BRDY of an I/O write cycle. Keyboard Interface The CY82C693UB provides the KBCLK and KBDATA signals to connect directly to the keyboard controller. There is also a KEYLOCK pin which should be connected to the KEYLOCK connector. If KEYLOCK is active, the keyboard controller will not respond to inputs from the keyboard. The keyboard interrupt request is internally connected to the CY82C693UB’s interrupt controller. Maximum Flexibility The internal keyboard controller can be disabled if a custom, external keyboard controller solution is desired. All of the signals needed to control and interface to an external keyboard controller are multiplexed with existing keyboard interface signals. RESET is used to reset all PCI peripherals (functions as PCIRST). RESET (like CPURST) will be asserted for a minimum of 1 ms after PWGD is asserted. Keyboard Controller Keyboard Self-Test The CY82C693UB integrates the essential functions of an 8042 Keyboard Controller including: • operating frequencies from 6 to 16 MHz • support for a PS/2-compatible mouse • complete operating system independence • works with MS-DOS, Microsoft Windows, OS/2, and UNIX The first access to the keyboard controller must be a write of AAH to port 64H. This initiates the keyboard self-test. A subsequent read of port 64H will issue 55H if self-test is passed. Prior to the write of AAH to port 64H, all keyboard controller accessed will be ignored. Power Management Logic The CY82C693UB provides flexible power management to help systems conform to governmental system power consumption guidelines. There are 5 timers within the power management logic (a standby timer, a suspend timer, user timer 1, user timer 2, and user timer 3). There are also 10 programmable event detectors. Operating Frequency The keyboard controller inside the CY82C693UB operates at frequencies between 6 and 16 MHz. The clock is internally selectable. Resetting the Keyboard Controller Events which can be monitored include: • Keyboard Commands • Serial Port Commands • Parallel Port Commands • Hard Disk Commands • DMA/ISA MASTER Requests • A Specific (set of) Interrupt Request(s) • Video Memory Accesses • Floppy Drive Accesses • A PCI Master Request • A Specific I/O Range The CY82C693UB can monitor any combination or all of the above events. The keyboard controller will be reset when the PWGD (power good) signal is negated. Once PWGD is asserted, the keyboard controller will remain in its reset state for 120 keyboard clock cycles before becoming operational. Host Interface PCI or ISA masters communicate with the keyboard controller by performing I/O reads and writes to two eight-bit port locations (0064H and 0060H). I/O Port 0064H is the command/status register and I/O Port 0060H is the data register. There are two host signals that the keyboard controller generates (or are functionally emulated within the CY82C693UB), GTA20 and INIT. These signals initiate the A20 mask and “warm reset” respectively. There are also four keyboard general purpose I/O 19 CY82C693UB PRELIMINARY and deasserted based on programmable STOPCLK period registers. This signal may also be used to power-down peripherals that support a power-down signal. External logic can force the CY82C693UB to assert SMI by activating the EPMI input. Hardware power management can be selected to ease the power-down software requirements. In the hardware power management mode, the STOPCLK signal may be programmed to automatically assert when the suspend and/or standby timers expire. This signal is used to reduce the power consumption of the processors and peripherals when they are idle. The CY82C693UB contains an internal interrupt/event counter. The terminal count for this timer should be programmed to the longest amount of time it takes to handle any interrupt. Whenever a user-selectable event (typically an interrupt) occurs, the STOPCLK signal will be deasserted for the time period of the interrupt timer. This allows the processor to handle the interrupt. If no other monitored events occur before the interrupt timer expires, STOPCLK will be reasserted. Software power management works with CPU SMM (System Management Mode). All Pentium-class processors have SMM capabilities. SMM is entered through a dedicated System Management Interrupt (SMI). SMM has its own protected address space, which can only be accessed in System Management Mode. All power management software should be embedded in the SMI handler code stored in SMM space. SMM memory control is handled by the CY82C691 (please see CY82C691 datasheet). However, all SMI generation is handled by the CY82C693UB. AT Refresh Logic The CY82C693UB contains logic to support refresh cycles on the ISA bus. An internal refresh request is generated every 15.6 microseconds. Upon detecting the refresh request, the CY82C693UB will arbitrate for the ISA bus and generate a refresh cycle. The CY82C693UB contains its own internal refresh counter and refresh address counter. During ISA refresh cycles, the CY82C693UB will not grant the ISA bus to any peripheral cards. If a PCI transaction is targeting ISA, the CY82C693UB will attempt to buffer the transaction. If the internal FIFO buffers are full or the transaction cannot be buffered, the CY82C693UB will negate TRDY until the refresh is completed. The CY82C693UB supports Full-Speed, Standby, and Suspend power-down states. Other user-defined power-down states can be implemented. Full-Speed is the normal operating state. When power-management is enabled, the Standby timer will begin counting. The terminal count for the Standby timer can be set to various values between 0.2 seconds and 240 minutes. If any of the monitored events occur before the terminal count is reached, the standby timer will reset to zero and begin counting again. If the standby timer expires without detecting any monitored events, the CY82C693UB will assert SMI, allowing the SMI handler to transition the system into the Standby state. The SMI signal must be cleared (deasserted) by the SMI handler by performing a write to the CY82C693UB’s internal SMI clear register (register E7H, bit 6). Once Standby state has been entered, the Suspend timer will begin counting. The terminal counts for the suspend timer can be set to values between 1 second and 480 minutes. If a Standby event is detected by the CY82C693UB before the suspend timer expires, the CY82C693UB will assert SMI, reset all timers (only the Suspend timer will be reset if the event is a Suspend event), and set a status register bit to identify the monitored event. The System Management Interrupt handler must determine the source of the SMI by reading CY82C693UB status registers. The handler code can use the SMI source information to determine which state to transition to. If the suspend timer expires before any monitored event occurs, the CY82C693UB will once again assert SMI so that the handler can transition to the Suspend state Pre-Read/Post-Write Buffers There are 3 FIFOs inside the CY82C693UB. PCI/ISA FIFOs are 1 entry deep and 32 bits wide. There is one 4 entries deep by 32 bit wide FIFO for each IDE channel. PCI to ISA or IDE transactions are buffered to improve system performance. ISA or IDE transactions will likewise be buffered for transmission to the PCI bus. PIO IDE transactions go through their own independent buffers. The buffers eliminate some of the latency due to arbitration for resources. BIOS ROM Control The CY82C693UB provides all of the control signals to support both Flash and conventional ROM. There is also a dedicated XD bus to buffer the ROM data (provided IDE DMA, Independent IDE Interrupt Requests, and several of the general purpose I/O functions are not required). The XD bus can also be externally buffered, which frees pins for other functions. If Flash ROM is used, the CY82C693UB will provide the write-protection through an internal Read Only register bit. The user-definable timers (User timer 1, User timer 2, and User timer 3) can be used to create additional power-down states. They can be enabled or disabled at any time. The user timer terminal count values can be programmed to values between 1 second and 480 minutes. When any of the timers expire, the CY82C693UB will assert SMI (until it is cleared in the handler) and set a configuration register bit to indicate which timer(s) expired. The System Management Interrupt handler must read status registers to determine the source of the SMI. Software can then transition to any power-down state (pre-defined or user-defined). Only User timer 1 is programmable to be reset upon the detection of monitored events. Boot-block Flash is supported through hardware strap pins. With boot-block Flash, the boot-block can be write protected and can be used to store recovery code (to rebuild the BIOS from disk, network, etc.). Inverted upper address is normal operating mode. This allows BIOS to begin in non-boot-block memory. If the BIOS is corrupted during an update, the CY82C693UB should be strapped to not invert the upper ROM address bit, thus operating out of the protected boot-block space. Timer/Counter Logic There are two power control signals used by the CY82C693UB (STOPCLK, and EPMI). The first signal (STOPCLK) is register controlled and can be asserted or negated in any state. STOPCLK has been traditionally connected to the CPU’s STOPCLK input to disable the clock to the internal CPU’s core. When STOPCLK is enabled, it will periodically be asserted The CY82C693UB contains an 8254-compatible timer/counter. It can be used to generate software time delays, count in binary or BCD, generate interrupts, or generate square-wave patterns. There are three independent, 16-bit counters that can operate in the following six modes: Interrupt 20 CY82C693UB PRELIMINARY WCR is decremented to zero. This will give the best DMA performance but runs the risk of degrading overall system performance by tying up the PCI bus for long periods. The channel must once again be initialized/autoinitialized after the block transfer has been completed. on terminal count, Hardware retriggerable one-shot, Rate generator, Square wave generator, Software triggered strobe, and Hardware retriggerable strobe. The output of Counter 0 is internal only (can be programmed to generate interrupts). The output of Counter 1 is also internal and works with the AT refresh logic to generate ISA refresh cycles. The output of Counter 2 comes out on the SPKR pin and can be used in any of the modes for a variety of functions, including generating a square wave to an external speaker. In Demand Transfer Mode, the DMACs will continue performing transfers until the WCR contains zero or the DMA request is negated. The peripheral will negate its DMA request when it is not ready to transfer data (e.g., an I/O device with its buffer full). When the device is ready to resume the transfer, it must assert its DMA request again and rearbitrate for the ISA and PCI buses. This allows higher priority bus masters to access the buses while the peripheral involved in the DMA cycle is not ready. However, if the device remains ready to transfer data, it can hold its DMA request active and perform back-to-back transfers without arbitrating between transfers. The channel must be initialized/autoinitialized after the block transfer has been completed. DMA Controllers The CY82C693UB contains two 8237-compatible DMA controllers cascaded together to provide seven separate DMA channels. Internally, each controller is a 4-channel DMA device which generates the memory address and control signals necessary to transfer data between an ISA peripheral device and system memory (via the PCI bus). The two DMA controllers (DMACs) are configured to provide four 8-bit DMA channels and three 16-bit DMA channels. Channel 0 of the 16-bit DMAC is used to cascade the two controllers. The DMA controllers support type A, B, and F transfer rates. Seven DMA channels are available in the CY82C693UB. If additional channels are required, channels may be placed in Cascade Mode. When a channel is in Cascade Mode, external 8237 HOLDREQ and HLDA signals can be routed to the channel’s DMA request and DMA acknowledge signals respectively. The arbitration rotating protocol will be maintained. The DMACs operate in one of three states at all times: IDLE, PROGRAM, or ACTIVE. After the DMACs have been initialized, they remain in IDLE until a DMA request signal is asserted. Once a DMA request is seen, the DMAC that receives the request will enter the ACTIVE state, or if the system is programming the internal configuration registers of a DMAC, it will enter the PROGRAM state. In the IDLE state, the DMACs do nothing aside from sampling the DMA request signals and configuration register decode signals. If a request comes in at the same time as a configuration register access, the register access is executed first. Read, Write, and Verify transfers can be performed in any of the transfer modes. Any channel may also be configured to perform autoinitialization. During autoinitialization, the original values are automatically restored to the Base Address Register and Word Count Register from the Current Address Register and Current Word Count Register when the block transfer is complete (zero in the WCR or an EOP is signalled from the peripheral). The channel will not automatically be masked if autoinitialization is selected. The first thing the DMACs do, after entering the ACTIVE state, is arbitrate for the PCI bus. The CY82C693UB must obtain ownership of the PCI bus regardless of whether the target is on PCI or not. After the PCI bus has been won, the CY82C693UB will issue DMA acknowledge to the highest priority requestor. The DMA transfer is then free to begin. The DMAC is in control of the ISA command signals and IOCHRDY during DMA. IDE Controller The DMACs will enter the PROGRAM state any time a PCI address is decoded to I/O Port 22H. This is the Index Register Port (IRP) for DMAC configuration space. A read or write to Port 23H should immediately follow the write to the IRP. Port 23H is the Data Register Port (DRP). The CY82C693UB contains an integrated, dual-channel PCI to IDE bridge. The IDE controller conforms to ANSI modes 0, 1, 2, 3, and 4 for PIO (Programmed I/O) transfers. Single-word and multi-word DMA transfer modes 0, 1, and 2 are also supported. ATAPI (CD ROM) protocols are allowed with pre-fetching disabled. The controller allows for CHS (Cylinder-Head-Sector) or LBA (Logical Block Address) addressing. Each of the two channels support two devices for a maximum of four IDE devices in the system. The controller allows for PIO pre-fetching, post writing, and DMA PCI mastering in order to increase overall system performance. DMA Controller Transfer Modes Real-Time-Clock The DMACs can be programmed (on a per channel basis) to transfer data in four modes: Single Transfer Mode, Block Transfer Mode, Demand Transfer Mode, or Cascade Mode. The CY82C693UB contains 14 bytes for a complete time-of-day clock with alarm, one hundred year calendar, a programmable periodic interrupt generator, and 242 bytes of battery-backed “scratch” RAM. The entire Real-Time-Clock (RTC) remains operational under normal or battery power. A 32 kHz oscillator is integrated as part of the RTC. Only an external crystal and a battery are required to complete the clock circuit. In Single Transfer Mode, the DMACs will transfer one byte/half-word of data (8 or 16 bits) at a time. A DMAC must arbitrate for the PCI bus after each transfer. This ensures that the PCI bus bandwidth will not be completely consumed by an ISA peripheral. The Word Count Register (WCR) will decrement from the block count until zero is reached. If autoinitializing is selected, the channel will reinitialize itself for the next DMA transfer. Otherwise, the channel will be masked until it is initialized. RTC Address Map The internal RTC contains 256 bytes of battery-backed RAM (14 bytes for clock data and 242 bytes of user-definable RAM). Figure 2 shows the address map. In Block Transfer Mode, the DMACs will hold onto ownership of the PCI bus and continue performing transfers until the 21 PRELIMINARY ing bit will be reset on the second CPU interrupt acknowledge cycle. If AEOI is not selected, it is the responsibility of the software to generate the appropriate end-of-interrupt (EOI) sequence at the end of the interrupt service routine to clear down the interrupt (for example, if a clock interrupt is requested, the system designer may wish the pending interrupt request to remain active through the entire service routine. This allows higher priority interrupts to prematurely force an exit from the clock service routine without causing the loss of the clock interrupt request. If AEOI were programmed, the request to the CPU and the interrupt pending bit would automatically be reset before the clock service routine was entered. If a higher priority interrupt forced the clock routine to be exited, the clock interrupt would be lost.) Hex Address (Index) Accessed Using Ports 70H− index and 71H− data Ports 72H− index and 73H− data Seconds 00 Seconds Alarm 01 Minutes 02 Minutes Alarm 03 Hours 04 Hours Alarm 05 Day of the week 06 Numerical date of the month 07 Month 08 Year 09 RegisterA 0A RegisterB 0B RegisterC 0C RegisterD 0D 0E 114 Bytesof User-Defined RAM (Configuration Storage) 128 Bytes of additional UserDefined RAM (Configuration Storage) CY82C693UB The interrupt controllers (INTCs) are initialized and programmed using special command words issued by the CPU. Initialization Command Words (ICW1 through ICW4) bring the INTCs to a known state when the system is first powered-up or reset. Operational Command Words (OCW1 through OCW3) setup the various operating modes. The following events occur automatically in the initialization sequence: • The edge sense circuit is reset. Therefore, a request must make a LOW-to-HIGH transition to be detected. If the interrupt request is programmed to be edge-detected, the rising edge must be used (LOW-to-HIGH). High-to-Low transitions will be ignored. • The interrupt mask register is cleared. Interrupts are enabled. • Interrupt Request (IR) 7 is set to the lowest priority on each INTC. • Special Mask Mode is reset. • Status Read is set to return the value in the Interrupt Request Register (IRR). The following options are programmable through the ICWs and OCWs: • Vector Mode operation: The CY82C693UB can generate the vector for an interrupt acknowledge cycle. • The call address interval: The number of cycles to generate an interrupt vector can be chosen to be 4 or 8. • Edge vs. Level Sensitive Interrupt Requests: The interrupt request lines can be programmed to be detected on a rising edge or a fixed level on an individual request basis. • Vector Address Byte: The value can be programmed. • Automatic End-Of-Interrupt: The pending interrupt can be programmed to clear automatically with the acknowledge cycle. If AEOI is not programmed, interrupts must be cleared within the interrupt service routine by the software. • Interrupt Nesting: Interrupt nesting is a programmable option. If interrupt nesting is allowed, interrupts can be asserted within interrupt service routines. • Interrupt Masking: The bits of the Interrupt Mask Register can be set to mask (ignore) certain interrupt requests. • Interrupt Priority: Priority can be programmed to be rotating or fixed. • Polling: When Polling is selected, Interrupt Requests will not issue an interrupt to the CPU. They will merely set bits within the Interrupt Pending Register (IPR). It is the responsibility of the CPU to periodically read (poll) the IPR to determine if an interrupt is pending. 7F 80 FF Figure 2. Real-Time-Clock Address Map Update cycles are performed once per second. The update cycle increments the seconds byte and increments the minutes byte on an overflow (followed by hour, day, month, year, etc.). Alarm value comparisons are also made. During the update cycle, data is undefined. However, the CY82C693UB contains an UIP (update in progress) bit to inform the system of updates. If the processor, upon polling the appropriate RTC status register, sees the UIP bit set, an access to the RTC clock data should not be performed. An update-ended interrupt may also be programmed to inform the processor that the update cycle has ended and RTC data is valid. External RTC Control To allow for maximum flexibility, an external RTC can be used. The control signals for an external RTC are only used when the internal RTC is disabled. External RTC control is only available as a bond option (separate part number). Please contact Cypress if the use of an external RTC is desired. Interrupt Controllers The CY82C693UB contains two interrupt controllers (INTC1 and INTC2) that provide 82C59A functionality. There are fifteen separate interrupt request inputs (although some of the interrupt requests are only available internally). The two controllers are cascaded to maintain AT interrupt priorities. Interrupt arbitration can be programmed to be rotating or fixed. When interrupt requests come in from the system, the CY82C693UB will store all requests, evaluate the priority, and respond with the appropriate acknowledge vector for the CPU’s first interrupt acknowledge cycle. Then, if automatic end-of-interrupt (AEOI) is selected, the internal interrupt pend- 22 CY82C693UB PRELIMINARY CY82C693UB. When the internal PCI arbiter is disabled, the RTC square wave is driven on pin 193. PCI and IDE interrupts are fully routable internally to independent interrupt levels. The interrupt level of each PCI or IDE interrupt is controlled with configuration registers. Splitting GNTBSY NMI Sources When the PCI arbiter inside the CY82C693UB is enabled, GNTBSY functions as the arbitration signal between the CY82C693UB and the CPU-to-PCI bridge. The CPU-to-PCI bridge is normally granted use of the PCI bus (to reduce the arbitration latency that can hurt CPU performance). The CY82C693UB holds GNTBSY asserted to signal that the bus is granted to the CPU-to-PCI bridge. When another PCI master requests use of the bus, the CY82C693UB takes away the CPU-to-PCI bridge’s grant by deasserting GNTBSY for one clock cycle and then placing GNTBSY in a high-impedance state. The CPU-to-PCI bridge must signal busy (by reasserting GNTBSY) in the cycle immediately following the sampling of GNTBSY deasserted if the CPU-to-PCI bridge wishes to retain control of the PCI bus. Otherwise, the CPU-to-PCI bridge must immediately get off of the PCI bus. If GNTBSY is not sampled asserted in the next clock cycle after the original deassertion, the CY82C693UB will grant the PCI bus to the highest priority requesting master. However, if GNTBSY is reasserted by the CPU-to-PCI bridge, the CY82C693UB will not grant the bus to any other PCI masters until GNTBSY is deasserted again by the CPU-to-PCI bridge. Busy must be asserted until the PCI bus is IDLE; otherwise, the CY82C693UB may cause a bus clash. This is because the CY82C693UB will not check for PCI bus IDLE if it sees that busy is deasserted. If the PCI bus has not been signalled busy by the CPU-to-PCI bridge, a maximum of three pending requests will be serviced before GNTBSY is asserted again by the CY82C693UB to grant the bus back to the CPU-to-PCI bridge. The CY82C693UB can generate a non-maskable interrupt (NMI) from the following sources: 1. ISA bus IOCHK assertion. 2. PCI SERR assertion. Please refer to port 61H and port 70H description for enable and disable options. Stand-Alone Operation The CY82C693UB was designed to be used as part of the hyperCache chipset or as a stand-alone PCI peripheral controller. The stand-alone option can be used in any PCI system. The system CPU need not be X86-based, provided the PCI specification is followed. Special options were added to the CY82C693UB to make stand-alone operation very flexible. The options include: the ability to disable the integrated PCI arbiter; the ability to split the GNTBSY signaling protocol onto separate GRANT and BUSY signals; the ability to reset both the CY82C693UB and the ISA bus when PCIRST is driven active from an external source; the ability to bypass the FREQACK protocol for DMA transfers into memory; and the ability to decode 32-bit I/O space. Use With An External PCI Arbiter When using an external PCI arbiter, GNT3/DISARB (pin 194) should be tied LOW through a 1K Ohm pull-down resistor. This will disable the PCI arbiter that is contained in the CY82C693UB. Pin 191 becomes the PREQ output when the internal arbiter is disabled. PREQ is the primary PCI request signal. In the CY82C693UB, PREQ is used to request the PCI bus for ISA DMA/Master transactions, Bus Master IDE transactions, and USB bus master transactions. PREQ should be connected to one of the request inputs of the external arbiter. PCICLK GNTBSY Pin 196 becomes the PGNT input when the internal arbiter is disabled. PGNT is the primary PCI grant signal. The external arbiter should assert PGNT to allow the CY82C693UB to take ownership of the PCI bus. PGNT should be connected to the grant output that corresponds to the PREQ request input. If PGNT is asserted to the CY82C693UB without a pending PREQ, the CY82C693UB will follow bus parking rules as specified in the PCI rev. 2.1 specification. CY82C693UB takes the grant away CPU-to-PCI bridge signals busy Figure 3. GNTBSY Arbitration Protocol The GNTBSY protocol is implemented using a single signal. This may cause problems when attempting to interface the CY82C693UB to a CPU-to-PCI bridge that does not support single signal handshaking. Therefore, the CY82C693UB provides the option to separate GNTBSY into a GRANT signal and a BUSY signal. Pin 192 becomes the SREQ input when the internal arbiter is disabled. SGNT is the secondary PCI grant signal. Pin 198 becomes the SGNT output when the internal arbiter is disabled. They are used as optional USB arbitration signals. SREQ and SGNT can be programmed to provide separate arbitration for the USB Host Controller. By default, the USB Host Controller requests use of the PCI bus and is granted the bus through PREQ and PGNT. When programmed for separate arbitration (PCI Configuration Registers, Function 0, index=4DH, bit 7), SREQ and SGNT are used to arbitrate for USB, and PREQ and PGNT are used for other bus masters (IDE and ISA DMA). If pin number 179 (SMI/GBSEP) is pulled down through a 1K Ohm resistor, the GNTBSY signalling protocol is split into separate GRANT and BUSY signals. Pin 189 becomes a constantly driving GRANT output. GRANT will be asserted to grant ownership of the PCI bus to the CPU-to-PCI bridge. Pin 163 becomes the BUSY input. BUSY is asserted by the CPU-to-PCI bridge to signal that the PCI bus is busy and should not be granted to any other PCI master. The integrated Real-Time-Clock contains logic to generate a square wave. When the internal PCI arbiter is enabled, the RTC square wave is not available outside of the 23 CY82C693UB PRELIMINARY External Reset Control When the flush request/acknowledge protocol is bypassed, the RTC interrupt request (IRQ8) may be optionally driven on pin 190. This can be used to provide immediate, non-masked servicing for Real-Time-Clock interrupts. External IRQ8 generation is controlled by PCI configuration register 4DH, bit 5. If bit 5 is “0”, IRQ8 from the RTC circuit is only routed internally to the integrated interrupt controller. It is not available on an external CY82C693UB pin. If, however, register 4DH, bit 5 is set to “1”, the IRQ8 output from the RTC circuitry is masked to the internal interrupt controller, and IRQ8 is driven on pin 190 of the CY82C693UB. NOTE: If the flush request/acknowledge protocol is not bypassed, FREQACK is driven on pin 190 and if register 4DH, bit 5 is set to “1” the RTC interrupt will only be masked (IRQ8 will not be available externally). System reset is normally controlled by the CY82C693UB. When the PWGD signal is deasserted, the CY82C693UB’s internal circuitry is reset and CPURST is driven active. PCIRST is placed in high-impedance until the CY82C693UB samples pin 172 HIGH (default with internal pull-up). Then PCIRST is driven active. When PWGD goes active, the CY82C693UB will continue to drive CPURST and PCIRST active for a minimum of 1 ms. If an external reset agent is desired, pin 172 should be pulled to ground through a 1K Ohm resistor. If pin 172 is sampled LOW while PWGD is deasserted, the PCIRST output buffer will be placed in high-impedance. This requires the external agent to drive PCIRST (internal pull-up resistor is used). Once PWGD is asserted, the state of pin 172 will be internally latched into the CY82C693UB. If pin 172 is pulled LOW, PCIRST becomes an input to the CY82C693UB. CPURST will still be driven active for a minimum of 1ms after the assertion of PWGD. After PWGD goes active, the PCIRST input can be driven active by an external agent to reset the internal circuitry of the CY82C693UB. PCIRST will also be inverted and driven out on the CPURST output. ISA bus is also reset by the assertion of PCIRST. PCIRST is a synchronous input (sampled on PCI clock). The minimum active PCIRST must be 80 PCI clock cycles. This insures that AT components inside the CY82C693UB (such as the keyboard controller) are properly reset. 32-Bit I/O Space Decode As X86 processors only support 64 Kbytes of I/O space, the CY82C693UB’s IDE controllers only decode the lower 16 bits of the PCI address. This is sufficient for PC chipset applications. However, for stand-alone operation, it may become necessary to decode 32 address bits (4GB) of I/O space. If PCI configuration register 4DH, bit 4 is set to “1”, 32-bits are decoded for I/O space. This effects the format of IDE Base Address Registers in PCI configuration space. When register 4DH, bit 4 is “0”, the upper 16-bits of the IDE Base Address Registers (10H, 14H, and 20H) are hardwired to 0000H. When register 4DH, bit 4 is “1”, the upper 16-bits are readable and writable. The value written corresponds to the decoded address range (as specified in the PCI specification, revision 2.1). FREQACK Bypassing NOTE: Flush Request/Acknowledge signaling must be bypassed if an acknowledge is not sent to the CY82C693UB. Otherwise DMA will not work. 1 Mbyte ROM Decode The CY82C693UB can support Extended ROM decoding up to 1 MB at the top of memory space. If bit 3 of the PCI configuration register 4DH is set to “0”, 512 KB Extended ROM address decoding is supported (FFF80000H to FFFFFFFFH). If bit 3 is set to “1” 1 MB Extended ROM address decoding is enabled (FFF00000H to FFFFFFFFH). The CY82C693UB uses a flush request/acknowledge handshake. The flush request/acknowledge insures that there is a coherent path whenever ISA or IDE DMA masters attempt to access system memory. Data coherency may be violated anytime there is a temporary storage element (such as a post write buffer) that does not monitor transfers of data to provide the most up-to-date copy. In other words, data may be stored in a post-write buffer which is more current than the data in DRAM memory. An ISA/IDE DMA master may get the wrong data if the access is allowed to proceed to main memory “around the post-write buffer.” Universal Serial Bus (USB) Host Controller USB Driver Software To eliminate a data coherency problem, the CY82C693UB will issue a “flush request” before allowing an ISA/IDE DMA transfer to proceed. Flush request is signalled when the CY82C693UB asserts FREQACK for one PCI clock cycle. The CY82693UB will then deassert FREQACK, place the output in high-impedance, and begin monitoring the input. When all post-write buffers have been emptied, the system controller will assert FREQACK for one PCI clock cycle. This signifies an acknowledge. The CY82C693UB will proceed with the DMA transfer. Host Controller Driver Scope of OpenHCI HCI Host Controller Hardware If a coherent path to memory can be guaranteed without flushing storage elements (i.e., the post-write buffers “snoop” transactions and provide current data, or there are no post-write buffers), the flush request/acknowledge protocol may be bypassed. If PCI configuration register 4DH, bit 6 is set to “1”, the flush request will be internally acknowledged. The FREQACK signal (pin 190) will be unused and placed in a high-impedance state. USB USB Device USB Device Figure 4. USB System Domains The CY82C693UB contains a USB host controller. The Host Controller integrates a root hub with two USB ports; therefore, two USB peripheral devices can be connected to the 24 CY82C693UB PRELIMINARY CY82C693UB without any extra logic. An external hub can be connected to any of the two integrated ports in case more devices are required. The Host Controller is connected to system memory via the PCI bus and has bus mastering capability. The USB Host Controller’s PCI configuration registers are located in PCI function 3 configuration space in CY82C693UB. from the USBD, reformats them as necessary, schedules their execution and enqueues them for the processing by the Host Controller. When the Host Controller finishes the processing of the Transfer Descriptors, the HCD reformats them as necessary, and sends the results back to the USBD. The HCD is also responsible for status and error conditions monitoring. The CY82C693UB USB Host Controller fully complies with the USB Open Host Controller Interface (OpenHCI) standard, thus allowing it to be compatible with the available OpenHCI standard software drivers. Figure 4 illustrates different hierarchical domains of a USB system. The Host Controller moves data between system memory and devices on the USB by processing Transfer Descriptors enqueued by the HCD and generating transactions on USB. When the Host Controller sends information to a USB device, the data from system memory pointed to by a Transfer Descriptor is converted to the USB serial protocol and transferred on the USB with the appropriate headers. When the Host controller receives information from a USB device, the data is converted from the USB serial protocol and stored in the system memory location pointed to by a Transfer Descriptor. The Host Controller is also responsible for reporting the status of transactions on USB to the HCD. Some other tasks performed by the Host Controller include the maintenance of USB frame generation and the reporting of USB device connection activity to the HCD. The domains are the USB Driver (USBD), Host Controller Driver (HCD), Host Controller (HC), and USB Device. The USB Driver and the Host Controller Driver are part of system software, and HCD is typically provided by the operating system. The Host Controller and the USB devices are implemented in hardware. The interface between the software layer (HCD) and the hardware (HC) is called Host Controller Interface (HCI), which is specified in the OpenHCI standard. The basic building block for communication across the interface is called Transfer Descriptor (TD). The Transfer Descriptor contains all necessary information for the Host Controller to process packet transaction with USB devices. The HCD software is responsible for communicating information between the USBD software layer (also typically located in the operating system) and the Host Controller. The HCD receives Transfer Descriptors For more detailed information on the USB Host Controller, see USB Open Host Controller Interface (OpenHCI) Specification, revision 1.0 available from Microsoft, Compaq and National Semiconductor. For additional information on USB, see USB Specification revision 1.0 from USB Implementers Forum. CY82C693UB Signal Description The CY82C693UB signals are divided into eight functional areas: Reset signals, PCI Interface signals, ISA Interface signals, Power Management signals, Keyboard Interface signals, IDE Interface signals, USB interface signals, and Miscellaneous signals. Reset Signals Name I/O Description PWGD I Power Good: This signal is driven active from a combination of the external power supply’s power good signal and the external reset switch. This signal is used to qualify initialization signals and reset the internal state of the CY82C693UB. CPURST O CPU Reset: This signal resets the CPU and the ISA bus. PCIRST O PCI Reset: This signal functions as the PCI bus reset. During normal operation, this signal is an output only (used by the CY82C693UB to reset PCI bus residents). If pin 172 is pulled LOW through a 1K Ohm resistor, PCIRST becomes an input that is used to initiate a CY82C693UB reset and an ISA reset. See the text description for Stand-Alone Operation. This signal will power up in a high-impedance state with an internal pull-up resistor. When pin 172 is sampled, this signal will either begin driving (pin 172 HIGH) or remain a high-Z input (pin 172 LOW). INIT O CPU Initialization: This signal is used to reset the core of the CPU without disturbing the state of internal caches or write-buffers. This signal can be used to switch the processor from protected mode to real mode. Name I/O Description AD[31:0] I/O PCI Address/Data Bus: Multiplexed bidirectional address/data lines on the PCI bus. The CY82C693UB either drives or samples these lines during PCI cycles. PCICLK I PCI Clock: PCI Clock Input. This signal is used to synchronize the CY82C693UB to the PCI bus. The clock must be within the range 25 MHz to 33 MHz. PCI Interface Signals 25 PRELIMINARY CY82C693UB PCI Interface Signals (continued) Name I/O Description C/BE[3:0] I/O PCI Command & Byte Enables: C/BE[3:0] are driven by the current bus master during the address phase to define the transaction and during the data phase as the byte enables. These signals are outputs when the CY82C693UB is a master and inputs when the CY82C693UB is a slave. FRAME I/O Cycle Frame: Driven by the current bus master to indicate the start and duration of a transaction. IRDY I/O Initiator Ready: The assertion of IRDY indicates the current bus master’s ability to complete the current data phase of the transaction. Used in conjunction with TRDY from the target. TRDY I/O Target Ready: The assertion of TRDY indicates the current target’s ability to complete the current data phase of the transaction. Works in conjunction with IRDY from the master. DEVSEL I/O Device Select: Indicates that a PCI device has decoded that it is the target of the transaction. The target has three options for decoding: fast decoding, medium decoding, or slow decoding. The CY82C693UB will sample DEVSEL, and if it is not asserted by a target within the timeout period, will assert DEVSEL to claim the cycle. PAR I/O Parity: An even parity bit across AD[31:0] and C/BE[3:0]. As a master the CY82C691 generates even parity on PCI write cycles. On read cycles, the CY82C693UB checks parity by sampling PAR. STOP I/O Stop: Indicates that the current target is requesting the master to stop the current transaction. STOP is used in conjunction with DEVSEL and TRDY to indicate disconnect, target abort, and retry cycles. SERR I/O System Error: System error may be asserted by any agent for reporting address parity errors or any other types of errors besides data parity. SERR will cause the CY82C693UB to assert NMI to the processor. IDSEL I PCI ID Select: This signal should be connected to a unique PCI address. It is used to select the CY82C693UB during PCI configuration cycles. INTA/B/C/D I PCI Interrupt Requests: These signals allow PCI peripherals to interrupt the processor. GNTBSY/GRANT I/O CY82C691 Busy/Grant: This signal is the PCI arbitration signal used by the CY82C691. The CY82C691 is the default owner of the PCI bus. In the default state, the CY82C693UB will actively drive this signal asserted (LOW). If another external master requests the bus, the CY82C693UB will deassert this signal for a single clock cycle and then let the signal float. If the CY82C691 asserts this signal within two clock cycles after this signal is seen deasserted, this signal becomes BUSY to the central arbiter. BUSY tells the CY82C693UB that the CY82C691 owns the PCI bus. The CY82C693UB will not grant the PCI bus to any other PCI master until BUSY is deasserted by the CY82C691. When no requests are pending on the PCI bus, this signal reverts to 691 GRANT and is driven active (LOW) to allow the CY82C691 to take possession of the PCI bus. If pin 179 is strapped LOW through a 1K Ohm resistor, this signal becomes a dedicated GRANT output. GRANT is constantly driven by the CY82C693UB. FREQACK/IRQ8 I/O CY82C691 Flush Request/Acknowledge or RTC Interrupt Request: This signal is used to facilitate DMA transfers. The CY82C693UB will drive this signal LOW for one clock cycle to request the CY82C691 flush its internal buffers before a DMA transfer. Once the CY82C691 has flushed its buffers, it will drive this signal for one clock cycle to acknowledge the flush. The CY82C693UB is then free to perform its DMA transfer. If PCI configuration register 4DH, bit 6 is set to “1”, all flush requests are immediately acknowledged inside the CY82C693UB. This signal becomes high-impedance. If PCI configuration register 4DH, bit 5 is also set to “1”, the Real-Time-Clock interrupt request (IRQ8) is masked to the internal interrupt controller and driven out on this pin. REQ[3:2] I PCI Bus Requests: These signals are connected to the individual bus requests from each PCI peripheral. When a combination of the bus requests is asserted, the CY82C693UB will resolve the priority and give the grant to the highest priority master. If the internal PCI arbiter is disabled (by strapping pin 194 LOW through a 1K Ohm resistor), these signals become UNUSED. 26 PRELIMINARY CY82C693UB PCI Interface Signals (continued) Name I/O Description REQ[1]/SGNT I/O PCI Bus Request 1/ Secondary PCI Grant: If the internal PCI arbiter is enabled, this signal is connected to the individual bus request from PCI peripheral number 1. When a combination of the bus requests is asserted, the CY82C693UB will resolve the priority and give the grant to the highest priority master. If the internal PCI arbiter is disabled (by strapping pin 194 LOW through a 1K Ohm resistor), this signal becomes a RESERVED input. In the CY82C693UBU this signal will optionally become the secondary grant input to grant the PCI bus to the USB Host Controller. REQ[0]/PGNT I/O PCI Bus Request 0/ Primary PCI Grant: If the internal PCI arbiter is enabled, this signal is connected to the individual bus request from PCI peripheral number 0. When a combination of the bus requests is asserted, the CY82C693UB will resolve the priority and give the grant to the highest priority master. If the internal PCI arbiter is disabled (by strapping pin 194 LOW through a 1K Ohm resistor), this signal becomes the PGNT input. PGNT is driven active by the external PCI arbiter to grant ownership of the PCI bus to the CY82C693UB. GNT[3]/DISARB I/O PCI Bus Grant 3/ PCI Arbiter Disable: This signal is connected to bus grant of PCI peripheral #3. When a combination of the bus requests is asserted, the CY82C693UB will resolve the priority and assert grant to the highest priority master. During power-up, this signal acts as a strapping option to disable the PCI arbiter within the CY82C693UB. An external PCI arbiter must be provided. When the internal arbiter is disabled, several other signals change function to provide the request/grant signals from the CY82C693UB to the external arbiter. GNT[2]/SQWV O PCI Bus Grant 2/ RTC Square Wave Output: This signal is connected to bus grant of PCI peripheral #3. When a combination of the bus requests is asserted, the CY82C693UB will resolve the priority and assert grant to the highest priority master. If the internal PCI arbiter is disabled (pin 194 strapped LOW during power up), this pin drives the output of the square wave generator in the Real-Time-Clock. GNT[1]/SREQ O PCI Bus Grant 1/ Secondary PCI Request: If the internal PCI arbiter is enabled, this signal is connected to the individual bus grant to PCI peripheral number 1. When a combination of the PCI bus requests is asserted, the CY82C693UB will resolve the priority and assert grant to the highest priority master. If the internal PCI arbiter is disabled (by strapping pin 194 LOW through a 1K Ohm resistor), this signal becomes a RESERVED output. In the CY82C693UBU this signal will optionally become the secondary request output to request ownership of the PCI bus for the USB Host Controller. GNT[0]/PREQ O PCI Bus Grant 0/ Primary PCI Request: If the internal PCI arbiter is enabled, this signal is connected to the individual bus grant to PCI peripheral number 0. When a combination of the bus requests is asserted, the CY82C693UB will resolve the priority and assert grant to the highest priority master. If the internal PCI arbiter is disabled (by strapping pin 194 LOW through a 1K Ohm resistor), this signal becomes the PREQ output. PREQ is driven active by the CY82C693UB to request ownership of the PCI bus for ISA or IDE DMA and USB Host Controller (if no separate arbitration used) cycles. Name I/O Description SA[19:4]/ IDE[15:0] I/O ISA Address Bus/PCI IDE Data Bus: These signals provide most of the address for the ISA bus as well as the data path for IDE. SA[3:0] I/O ISA Address: These signals provide the rest of the ISA address. SD[15:0] I/O System Data Bus: These signals connect directly to the ISA data bus. XD7/IDEIRQ0 GPIO0 I/O XD Bus, Bit 7/Programmable Interrupt Request 0/General Purpose I/O 0: If zero TTL is desired for XD bus support (BIOS ROM data, external keyboard controller data, and external RTC data), this is bit 7 of the data bus. Otherwise, this is user-selectable to provide support for a Programmable Interrupt Request or a general purpose I/O. As a GPIO, this signal can either reflect the contents of an internal register bit (output) or set an internal register bit to the value driven on the line (input). ISA Interface Signals 27 PRELIMINARY CY82C693UB ISA Interface Signals (continued) Name I/O Description XD6/IDEIRQ1 GPIO1/BUSY I/O XD Bus, Bit 6/Programmable Interrupt Request 1/General Purpose I/O 1/PCI Bus Busy: If zero TTL is desired for XD bus support (BIOS ROM data, external keyboard controller data, and external RTC data), this is bit 6 of the data bus. Otherwise, this is user-selectable to provide support for a Programmable Interrupt Request or a general purpose I/O. As a GPIO, this signal can either reflect the contents of an internal register bit (output) or set an internal register bit to the value driven on the line (input). If pin 179 is strapped LOW during power-up (GNTBSY split), this signal becomes the BUSY input. BUSY is asserted by the CPU-to-PCI bridge to tell the PCI arbiter in the CY82C693UB that the PCI bus is currently busy and may not be granted to any other PCI master. XD5/IREQ0 I/O XD Bus, Bit 5/IDE DMA Request 0: If zero TTL is desired for XD bus support (BIOS ROM data, external keyboard controller data, and external RTC data), this is bit 5 of the data bus. Otherwise, this is user-selectable to provide support for IDE DMA.. For IDE DMA support, this signal is DMA request 0 (primary IDE channel DMA request). XD4/IACK0 I/O XD Bus, Bit 4/IDE DMA Acknowledge 0: If zero TTL is desired for XD bus support (BIOS ROM data, external keyboard controller data, and external RTC data), this is bit 4 of the data bus. Otherwise, this is user-selectable to provide support for IDE DMA. For IDE DMA support, this signal is DMA acknowledge 0 (primary IDE channel DMA acknowledge).. XD3/IREQ1 I/O XD Bus, Bit 3/IDE DMA Request 1: If zero TTL is desired for XD bus support (BIOS ROM data, external keyboard controller data, and external RTC data), this is bit 3 of the data bus. Otherwise, this is user-selectable to provide support for IDE DMA. For IDE DMA support, this signal is DMA request 1 (secondary IDE channel DMA request). XD2/IACK1 I/O XD Bus, Bit 2/IDE DMA Acknowledge 1: If zero TTL is desired for XD bus support (BIOS ROM data, external keyboard controller data, and external RTC data), this is bit 2 of the data bus. Otherwise, this is user-selectable to provide support for IDE DMA or a general purpose I/O. For IDE DMA support, this signal is DMA acknowledge 1 (secondary IDE channel DMA acknowledge). As a GPIO, this signal can either reflect the contents of an internal register bit (output) or set an internal register bit to the value driven on the line (input). XD1/XDEN I/O XD Bus, Bit 1/External XD Bus Buffer Enable: If zero TTL is desired for XD bus support (BIOS ROM data, external keyboard controller data, and external RTC data), this is bit 1 of the data bus. Otherwise, this pin provides the enable for a buffer between XD[7:0] and SD[7:0]. XD0/XDIR I/O XD Bus, Bit 0/External XD Bus Direction Control: If zero TTL is desired for XD bus support (BIOS ROM data, external keyboard controller data, and external RTC data), this is bit 0 of the data bus. Otherwise, this pin provides the direction control for a buffer between XD[7:0] and SD[7:0]. LA23/IDECS0 I/O Latched Address 23/ IDE Chip Select0: This signal connects to LA23 on the ISA bus and is used to provide access up to 16 MB. During IDE accesses, this signal provides the chip select 0 for the primary channel. LA22/IDECS1 I/O Latched Address 22/ IDE Chip Select1: This signal connects to LA22 on the ISA bus and is used to provide access up to 16 MB. During IDE accesses, this signal provides the chip select 1 for the primary channel. LA21/SIDECS0 I/O Latched Address 21/ Secondary IDE Chip Select0: This signal connects to LA21 on the ISA bus and is used to provide access up to 16 MB. During IDE accesses, this signal provides the chip select 0 for the secondary channel. LA20/SIDECS1 I/O Latched Address 20/ Secondary IDE Chip Select1: This signal connects to LA20 on the ISA bus and is used to provide access up to 16 MB. During IDE accesses, this signal provides the chip select 1 for the secondary channel. LA[19:17]/ IDEA[2:0] I/O Latched Address 19 Through 17/ PCI IDE Register Select Address 2 Through 0: These signals connect to LA19 through LA17 on the ISA bus and are used to provide access up to 16 MB. During IDE accesses, these signals provide the register select (or address) to the IDE connectors. 28 PRELIMINARY CY82C693UB ISA Interface Signals (continued) Name I/O Description IRQ1/KBCLK I/O Keyboard Clock/Interrupt Request 1: This signal is the keyboard clock connected to the keyboard connector if the internal keyboard controller is used. Otherwise, it provides IRQ1 (the keyboard controller interrupt input) if an external keyboard controller is desired. IRQ[15:14], IRQ[11:9] IRQ[7:3] I Interrupt Request Inputs: These signals provide interrupt requests for CPU interrupters. IRQ12/MSCLK I/O Mouse Clock/Interrupt Request 12: This signal is the mouse clock connected to the mouse connector if the internal keyboard controller is used. Otherwise, it provides IRQ12 (the mouse controller interrupt input) if an external keyboard controller is desired. IRQ8/PSRSTB I Power Strobe/Interrupt Request 8: If the internal Real-Time-Clock (RTC) is used, this is the power strobe input. If an external RTC is desired, this is interrupt request 8 (traditionally the RTC interrupt). INTR/KBATMODE I/O CPU Interrupt/Keyboard AT Mode: This is the INTR (interrupt request) signal that is connected directly to the CPU’s INTR pin. When interrupt requests come in to the CY82C693UB, it will assert INTR to the CPU. On power-up this signal should be pulled-down through a 1K Ohm resistor to ground if PS/2 keyboard support is desired. NMI O Non-maskable CPU Interrupt: This is the NMI (non-maskable interrupt request) signal that is connected directly to the CPU’s NMI pin. When the CY82C693UB detects a fatal error (such as a PCI parity error), it will assert NMI to the CPU. ATCLK O AT Clock: This signal can be used to provide the system ISA (AT) bus clock. It can be internally programmed to generate different ISA frequencies. ALE I/O Bus Address Latch Enable: This signal is the ISA BALE signal used by peripherals to latch the cycle address, AEN, and SBHE. DRQ7/GPIO8/ SMIACT I/O ISA DMA/Master Request Input 7/General Purpose I/O 8/USB Host Controller SMIACT Input: This signal is used by external ISA peripherals to request mastership of the ISA bus for DMA or ISA MASTER cycles. They can be programmed to be GPIO if the DREQ signals are connected to an external (’157 type) TTL device to time multiplex (using the ATCLK as the selector signal) the DMA requests onto DRQ[3:0]. When USB Host Controller is enabled, this signal becomes SMI Active input, which is used to mask the SMI output while in SMM. Pull-up is required for SMIACT if unused. DRQ6/GPIO7/ OVRCUR I/O ISA DMA/Master Request Input 6/General Purpose I/O 7/USB Host Controller OVRCUR input: This signal is used by external ISA peripherals to request mastership of the ISA bus for DMA or ISA MASTER cycles. They can be programmed to be GPIO if the DREQ signals are connected to an external (’157 type) TTL device to time multiplex (using the ATCLK as the selector signal) the DMA requests onto DRQ[3:0]. When USB Host Controller is enabled, this signal becomes Over-current Detection input. OVRCUR is asserted when downstream ports exceed their current allocation. This input causes power to be disabled and is reported through the hub and port status register. Pull-up required for OVRCUR if unused. DRQ5/GPIO6/ PWREN I/O ISA DMA/Master Request Input 5/General Purpose I/O 6/USB Host Controller PWREN output: This signal is used by external ISA peripherals to request mastership of the ISA bus for DMA or ISA MASTER cycles. They can be programmed to be GPIO if the DREQ signals are connected to an external (’157 type) TTL device to time multiplex (using the ATCLK as the selector signal) the DMA requests onto DRQ[3:0]. When USB Host Controller is enabled, this signal becomes Port Power Enable output. The global power to USB ports is controlled by this signal. If NoPowerSwitching in HcRhDescriptorA (USB Host Controller Operational Register) is set, this signal is always active. 29 PRELIMINARY CY82C693UB ISA Interface Signals (continued) Name I/O Description DRQ[3:0] I ISA DMA/Master Request Inputs: These signals are used by external ISA peripherals to request mastership of the ISA bus for DMA or ISA MASTER cycles. These signals can also be programmed to be time multiplexed (based on ATCLK) to free DRQ[7:5] for GPIO. If they are multiplexed, the multiplexed version of DREQ3 and DREQ7 (with DREQ3 passed through when ATCLK is LOW) should be connected to the DRQ3 pin, the multiplexed version of DREQ1 and DREQ6 (with DREQ1 active when ATCLK is LOW) should be tied to the DRQ1 pin, the multiplexed version of DREQ0 and DREQ5 (with DREQ0 active when ATCLK is LOW) should be tied to the DRQ0 pin, and DREQ2 should be tied directly to the DRQ2 pin. DACK0/TSTM I/O ISA DMA/Master 0 Acknowledge/Test Mode Enable: This signal is used by the CY82C693UB to grant ISA bus mastership to external ISA peripherals for DMA or ISA MASTER cycles. At power-up, this pin should be pulled-down through a 1K Ohm resistor to enable test mode. For normal operation, this pin should not be pulled-down. This signal can also be programmed to generate a DMA acknowledge code that can be sent to the Input A input of a ’138 type TTL 1 of 8 decoder. By programming this input to generate a coded output, DACK[7:5] are free to become GPIO. DACK1/TSTM0 I/O ISA DMA/Master 1 Acknowledge Input/Test Mode Select 0: This signal is used by the CY82C693UB to grant ISA bus mastership to external ISA peripherals for DMA or ISA MASTER cycles. At power-up, this pin should be pulled-down through a 1K Ohm resistor or not pulled-down to select between the different test modes. This signal can also be programmed to generate a DMA acknowledge code that can be sent to the Input B input of a ’138 type TTL 1 of 8 decoder. By programming this input to generate a coded output, DACK[7:5] are free to become GPIO. DACK2/TSTM1 I/O ISA DMA/Master 2 Acknowledge/Test Mode Select 1: This signal is used by the CY82C693UB to grant ISA bus mastership to external ISA peripherals for DMA or ISA MASTER cycles. At power-up, this pin should be pulled-down through a 1K Ohm resistor not pulled-down to select between the different test modes. This signal can also be programmed to generate a DMA acknowledge code that can be sent to the Input C input of a ’138 type TTL 1 of 8 decoder. By programming this input to generate a coded output, DACK[7:5] are free to become GPIO. DACK3/DISPSEL I/O ISA DMA/Master 3 Acknowledge Input/Display Type Select: This signal is used by the CY82C693UB to grant ISA bus mastership to external ISA peripherals for DMA or ISA MASTER cycles. At power-up, this pin should be pulled-down through a 1K Ohm resistor or left floating to select between CGA and Monochrome monitors (acts as the keyboard controller Mono/Color pin). This signal can also be programmed to generate an enable to a ’138 type TTL 1 of 8 decoder. By programming this input to generate the enable, glitches are prevented when the code signals switch. DACK5/KBSEL /GPIO9 I/O ISA DMA/Master 5 Acknowledge Input/Internal Keyboard Controller Enable/General Purpose I/O 9: This signal is used by the CY82C693UB to grant ISA bus mastership to external ISA peripherals for DMA or ISA MASTER cycles. At power-up, this pin should be pulled-down through a 1K Ohm resistor to disable the internal keyboard controller if an external keyboard controller is desired. This signal can be used as a GPIO if DACK[3:0] are programmed to connect to an external ’138 type TTL 1 of 8 decoder. DACK6/RTCSEL /GPIO10 I/O ISA DMA/Master 6 Acknowledge Input/Internal Real Time Clock Enable/General Purpose I/O 10: This signal is used by the CY82C693UB to grant ISA bus mastership to external ISA peripherals for DMA or ISA MASTER cycles. At power-up, this pin should be pulled-down through a 1K Ohm resistor to disable the internal RTC if an external RTC is desired. NOTE: external RTC support is available through bond option (separate part number). Please contact Cypress if the use of an external RTC is desired. This signal can be used as a GPIO if DACK[3:0] are programmed to connect to an external ’138 type TTL 1 of 8 decoder. 30 CY82C693UB PRELIMINARY ISA Interface Signals (continued) Name I/O Description DACK7/EXTBUF /GPIO11 I/O ISA DMA/Master 7 Acknowledged Input/Internal IDE Controller Enable/General Purpose I/O 11: This signal is used by the CY82C693UB to grant ISA bus mastership to external ISA peripherals for DMA or ISA MASTER cycles. At power-up, this pin should be pulled-down through a 1K Ohm resistor to enable a direct connection to the XD bus. If IDE Bus Master functions are required, the pin should not be pulled down and an external XD bus buffer should be used. This signal can be used as a GPIO if DACK[3:0] are programmed to connect to an external ’138 type TTL 1 of 8 decoder. REFSH I/O AT Refresh: Driven when an ISA refresh cycle is in progress. As an input, this signal will force a refresh cycle to be initiated. SPKR O Speaker Output: This signal is the output of counter 2 in the timer/counter logic. It can be used to drive a speaker. EOP O End of Process: This signal is driven by the CY82C693UB to signal the end of a block transfer during a DMA cycle. IGNNE/ROMS1 I/O Ignore Numerical Error: This signal is driven by the CY82C693UB to the CPU and should be connected to the CPU’s IGNNE pin. When this signal is asserted, the processor will ignore numerical errors and continue executing non-control, floating-point instructions. At power-up, this signal acts as ROMS1. ROMS1 is used in conjunction with ROMS0 (GTA20) and ROMMODE (ROMCS) to implement boot-block Flash recovery straps. The strapping is defined as follows: ROMMODE ROMS0 ROMS1 Result FERR I 1 X X No ROM address bits are inverted. (EPROM or bootblock recovery mode). 0 1 1 ROM address bit 16 is inverted (Normal operation w/ 16Kx8 boot-block Flash) 0 1 1 ROM address bit 17 is inverted (Normal operation w/ 32Kx8 boot-block Flash) 0 0 1 ROM address bit 18 is inverted (Normal operation with 64Kx8 boot-block Flash) 0 0 0 ROM address bit 15 is inverted (Normal operation with 8Kx8 boot-block Flash) Floating Point Error: This signal from the processor causes an IRQ13 from the CY82C693UB to occur. 31 CY82C693UB PRELIMINARY ISA Interface Signals (continued) Name I/O Description GTA20/ROMS0 I/O Gate A20: This signal forces memory to wrap-around 1 MB. It is implemented as a fast gate A20. At power-up, this signal acts as ROMS0. ROMS0 is used in conjunction with ROMS1 (IGNNE) and ROMMODE (ROMCS) to implement boot-block Flash recovery straps. The strapping is defined as follows: ROMMODE ROMS0 ROMS1 Result 1 X X No ROM address bits are inverted. (EPROM or bootblock recovery mode) 0 1 1 ROM address bit 16 is inverted (Normal operation w/ 16Kx8 boot-block Flash) 0 1 0 ROM address bit 17 is inverted (Normal operation with 32Kx8 boot-block Flash) 0 0 1 ROM address bit 18 is inverted (Normal operation with 64Kx8 boot-block Flash) 0 0 0 ROM address bit 15 is inverted (Normal operation with 8Kx8 boot-block Flash) X2/RTCRD O RTC Crystal Out/RTC Output Enable: If the integrated RTC is used, this signal is the 32.768-kHz crystal output. If an external RTC is desired, this signal is the RTC output enable. NOTE: external RTC is a bond option only. This input must be open if a crystal oscillator with TTL outputs are used to signal 32.768 KHz. The 32.768 KHz oscillator output should be connected to X1. X1/RTCWT I/O RTC Crystal In/RTC Write Enable: If the integrated RTC is used, this signal is the 32.768-KHz crystal input. If an external RTC is desired, this signal is the RTC write enable.NOTE: external RTC is a bond option only. A TTL level 32.768 KHz oscillator may be connected to this pin. If a oscillator is connected to this pin, X2 should be left open. IOCS16 I 16-Bit I/O Chip Select: This signal is driven active by any ISA I/O target that can support 16-bit accesses. MCS16 I/O 16-Bit Memory Chip Select: This signal is driven active by any ISA MEMORY target that can support 16-bit accesses. During ISA Master cycles, the CY82C693UB will drive this signal. SBHE I/O System Byte High Enable: This signal is driven active by the current ISA bus master to indicate that valid data resides on SD[15:8]. MRD I/O ISA Memory Read Command Signal: This signal is driven by the current ISA bus owner to request a memory resource to drive data onto the bus during a cycle. MWT I/O ISA Memory Write Command Signal: This signal is driven by the current ISA bus owner to request a memory resource to accept data presented on the bus during a cycle. IOR I/O ISA I/O Read Command Signal: This signal is driven by the current ISA bus owner to request an I/O resource to drive data onto the bus during a cycle. IOW I/O ISA I/O Write Command Signal: This signal is driven by the current ISA bus owner to request an I/O resource to accept data presented on the bus during a cycle. SMEMR I/O ISA System Memory Read Command Signal: This signal is driven by the current ISA bus owner to request a memory resource to drive data onto the bus during a cycle. This signal is only active within the first 1 MB of memory space. SMEMW I/O ISA System Memory Write Command Signal: This signal is driven by the current ISA bus owner to request a memory resource to accept data presented on the bus during a cycle. This signal is only active within the first 1 MB of memory space. 32 PRELIMINARY CY82C693UB ISA Interface Signals (continued) Name I/O Description OSC I Oscillator Input: This signal is the 14.318-MHz reference clock input, used by the timer and DMA controller. This reference clock must be connected, because it is used to sample strap options. 0WS I Zero Wait State Input: When this signal is driven by an ISA peripheral, the CY82C693UB will shorten the ISA cycle to zero wait states and ignore IOCHRDY. AEN O Address Enable: This signal is driven active by the CY82C693UB as an indication to the I/O resources not to respond to the address and I/O Command signal lines during a DMA cycle. IOCHRDY I/O I/O Channel Ready: When deasserted, this signal indicates to the ISA bus owner that additional cycle time is required to complete the transaction. Used to add ISA wait states. IOCHK I I/O Channel Check: This signal is driven active if the system detects an ISA bus parity error. Power Management Signals Name I/O Description SMI/GBSEP I/O System Management Interrupt/GNTBSY Separate: Used by the CY82C693UB to send the highest-level, process-transparent interrupt to the CPU. At power up, this signal is sampled to determine the grant/busy protocol for CPU-to-PCI bridge arbitration. If this signal is left floating (sampled HIGH), GNTBSY arbitration is performed on a single signal. If this signal is strapped LOW through a 1K Ohm resistor, GRANT is driven out on pin 189 and BUSY is sampled on pin number 163. STOPCLK/ RSTCHG I/O CPU Stop Clock/External PCI Reset Generator Present: This signal is used to stop the clock to the CPU’s core to reduce power-consumption during idle periods. At power up, this signal is sampled to determine the source of PCI reset in the system. If this signal is left floating (sampled HIGH), PCI reset and CPU/ISA reset signals are output from the CY82C693UB. They are asserted when PWGD is sampled deasserted and will be driven asserted for a minimum period of 1ms after PWGD goes active. If STOPCLK/RSTCHG is strapped LOW through an external 1K Ohm resistor, PCIRST becomes an input. When PCIRST is sampled asserted, all registers/FIFOs/state within the CY82C693UB are cleared to a known reset state. CPURST is driven active for the duration of PCIRST active. There is no minimum guaranteed assertion time for CPURST in this mode. EPMI I External Power Management Input: This signal is used to force the assertion of an SMI by an external source (e.g., a power-down switch). Keyboard Interface Signals Name I/O Description KBDATA I/O Keyboard Data: This is the serial data line to/from the keyboard connector. KBCS/KYLCK I/O Keyboard Chip Select/Key Lock Input: This signal is the key lock input to lock the keyboard (for system security) if the internal keyboard controller is used. If an external keyboard controller is desired, this is the keyboard controller chip select. MSDATA/KBDCLK I/O Mouse Data/External Keyboard Controller Clock Output: If the internal keyboard controller is used, this is the serial mouse data line to/from the keyboard connector. If an external keyboard controller is desired, this signal drives the state machine clock input (normally ATCLK) of the external keyboard controller. Name I/O Description IDEIOR O IDE I/O Read: This signal directly drives the IDEIOR signal on the IDE connector. IDEIOW O IDE I/O Write: This signal directly drives the IDEIOW signal on the IDE connector. IDEIOCS16 I IDE I/O Chip Select 16: This signal directly drives the IDEIOCS16 signal on the IDE connector. Determines whether the IDE transaction is 8 bits or 16 bits wide. IDE Interface Signals 33 CY82C693UB PRELIMINARY IDE Interface Signals (continued) Name I/O Description BLKIDE O Block IDE: This signal may be used in conjunction with an external Quad OR gate to block the IDE chip selects to the IDE drives during ISA transfers. This prevents older IDE devices from hanging if multiple IDE chip selects are asserted. Newer drives will not have a problem because IDE chip selects will only be sampled when an IDE COMMAND signal (IDEIOW or IDEIOR) is asserted. USB Interface Signals Name I/O Description USB_CLK I USB 48MHz Clock Input USB_D1+, USB_D1– I/O USB port 1: This signal pair comprises the differential signal for USB port 1. USB_D2+, USB_D2– I/O USB port 2: this signal pair comprises the differential signal for USB port 2. Miscellaneous Signals Name I/O Description ROMCS /ROMMODE I/O System ROM Chip Select: This signal is used to enable the on-board BIOS ROM. At power-up, this signal acts as ROMMODE. ROMMODE is used in conjunction with ROMS0 (GTA20) and ROMS1 (IGNNE) to implement boot-block Flash recovery straps. The strapping is defined as follows: ROMMODE ROMS0 ROMS1 Result 1 X X No ROM address bits are inverted. (EPROM or bootblock recovery mode). 0 1 1 ROM address bit 16 is inverted (Normal operation w/ 16Kx8 boot-block Flash) 0 1 0 ROM address bit 17 is inverted (Normal operation with 32Kx8 boot-block Flash) 0 0 1 ROM address bit 18 is inverted (Normal operation with 64Kx8 boot-block Flash) 0 0 0 ROM address bit 15 is inverted (Normal operation with 8Kx8 boot-block Flash) VBATT I Battery Backup Power: This pin should be connected directly to a battery-driven power source. Used to retain and maintain RTC functionality when the main power supply is disconnected. +5V I VCC: These are the +5V power supply pins for the device. They should be maintained within the proper operating limits. +3.3V I 3.3-Volt VCC: This is the +3.3V power supply pin for the device. It should be maintained within the proper operating limits. GND I GROUND: These are the 0V power supply pins for the device. They should be maintained within the proper operating limits. 34 CY82C693UB PRELIMINARY hyperCache Memory and I/O Map The hyperCache memory and I/O mapping diagrams are shown in this section. The detailed description of I/O registers shown in the I/O map can be found in the next sections. Alias to Conventional System BIOS Alias to Extended System BIOS Extended System BIOS (Up to 1 MB) FFFFFFFF FFFF0000 FFFEFFFF FFFE0000 FFFDFFFF FFF00000 FFEFFFFF PCI Memory Space Top of DRAM Memory Extended System Memory 00100000 000FFFFF Conventional System BIOS 000F0000 000EFFFF Extended System BIOS 000E0000 000DFFFF Peripheral BIOS (Block D) 000D0000 000CFFFF Peripheral BIOS (Block C) 000C0000 000BFFFF Video Memory (Block B) 000B0000 000AFFFF Video Memory (Block A) 000A0000 0009FFFF Extended System Memory 00010000 0000FFFF Conventional System Memory 00000000 Figure 5. hyperCache Memory Map Diagram 35 CY82C693UB PRELIMINARY FFFFFFFF Not Used by x86 Microprocessors 00010000 0000FFFF User Defined I/O Space DMA Controller Extended Mode and High Page Registers 000004D7 000004D6 0000040B DMA Controller 2 Registers 000000CF 000000C0 APM Control/Status Registers 000000B3 000000B2 Interrupt Controller 2 Registers 000000A1 000000A0 PS/2 Reset Control 00000092 DMA Page Registers 0000008B 00000080 Real Time Clock Registers 00000073 00000070 Keyboard Control & Port B Registers 00000064 00000060 Timer/Counter Config. Registers 00000043 00000040 Chipset Configuration Data Port Chipset Configuration Address Port Interrupt Controller 1 Registers DMA Controller 1 Registers 00000023 00000022 00000021 00000020 0000001F 00000000 Figure 6. hyperCache CY82C693UB I/O Map Diagram 36 CY82C693UB PRELIMINARY CY82C693UB Control Registers number of the register into Port 22, which forces the internal decoding logic to point to the selected register. Data can be accessed by then reading/writing to/from Port 23. The control registers for the CY82C693UB are defined in this section. The registers can be accessed through I/O Ports 22H and 23H (PCI I/O Reads or Writes to address 22H and 23H). To access each register, the user must first write the index . Register 1: Peripheral Configuration Register #1 (Read/Write) — Index=01H Bit Function Default 7:6 I/O Wait State Control: 00: 1 Wait State 01: 2 Wait States 10: 3 Wait States 11: 4 Wait States This register field is used to aid in ISA compatibility. ISA cards that cannot respond fast enough may require wait states to be inserted into each ISA cycle. Wait states are inserted by the deassertion of the IOCHRDY signal. IOCHRDY will remain deasserted for the number of wait states (AT clock cycles) programmed into this register field. 11 5:4 16-bit DMA Wait State Control 00: 1 Wait State 01: 2 Wait States 10: 3 Wait States 11: 4 Wait States This bit field allows wait state control on 16-bit accesses. Wait states are inserted by the deassertion of the IOCHRDY signal. IOCHRDY will remain deasserted for the number of wait states (AT clock cycles) programmed into this register field. 00 3:2 8-bit DMA Wait State Control 00: 1 Wait State 01: 2 Wait States 10: 3 Wait States 11: 4 Wait States This bit field allows wait state control on 8-bit accesses. Wait states are inserted by the deassertion of the IOCHRDY signal. IOCHRDY will remain deasserted for the number of wait states (AT clock cycles) programmed into this register field. 00 1 MEMR Leading Edge Delay Control: 0: 1 DMA clock delay 1: No delay This bit allows the assertion of the MEMR signal to be delayed during DMA transactions. Normally MEMR is asserted one DMA clock cycle later than IOR during DMA. This delay may be removed so that MEMR and IOR are asserted at the same time. 0 0 DMA Controller Clock Speed Control: 0: DMA clock is ATCLK divided by two 1: DMA clock is ATCLK This bit allows the clock that controls the DMA controllers to be sped by running directly off of the ATCLK. Normally, the DMA clock is the AT clock divided by two. When this bit changes, internal synchronization logic prevents short clock pulses. 0 37 PRELIMINARY CY82C693UB Register 2: Peripheral Configuration Register #2 (Read/Write) − Index=02H Bit Function Default 7:3 Reserved 000 2 Peripheral Controller Test Mode Control: 0: Normal Operation 1: Put Peripheral Controller Into Test Mode 0 1 Interrupt Request Configuration Control: 0: Normal Operation 1: Enable Interrupt Request Level/Edge Control When this bit is set to 1, interrupt request inputs can be programmed (on an individual basis) to be Edge-triggered (non-sharable) or Level-sensitive (sharable). The selection is made in registers 3 and 4. 0 0 DMA Extended Mode Control 0: Enable DMA Extended Mode 1: Disable DMA Extended Mode 0 Register 3: Interrupt Request Level/Edge Control Register #1 (Read/Write) − Index=03H Bit Function Default 7 IRQ7 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 6 IRQ6 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 5 IRQ5 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 4 IRQ4 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 3 IRQ3 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 2:0 Reserved 000 38 CY82C693UB PRELIMINARY Register 4: Interrupt Request Level/Edge Control Register #2 (Read/Write) − Index=04H Bit Function Default 7 IRQ15 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 6 IRQ14 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 5 Reserved, Must be 0 0 4 IRQ12 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 3 IRQ11 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 2 IRQ10 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 1 IRQ9 Edge-Triggered/Level-Sensitive Selector: 0: Edge-Triggered 1: Level-Sensitive 0 0 Reserved, Must be 0 0 Register 5: Real-Time-Clock Configuration Register (Read/Write) − Index=05H Bit Function Default 7:3 Reserved 00000 2:0 Value programmed into this register is used to fine-tune the 32-kHz Oscillator for greater RTC accuracy. The frequency variation is not linear and changes as the following: 000: +16 ppm 011: 0 ppm 111: −14 ppm Each on bit adds 0.5 pF of capacitance onto the crystal pins internally. 000 39 CY82C693UB PRELIMINARY Write-Only Shadow Registers The following registers contain shadowed values for the internal write-only registers. The shadowed values may be used to read, mask-off, and then modify certain fields within the write-only registers. Register 80: DMA1 Write Request Shadow Register (Read/Write) − Index=80H Bit Function Default 7:0 This register contains the shadowed value that was written into DMA1’s DMA request register. (DMA Register 9) 00000000 Register 81: DMA1 Write Single Mask Bit Shadow Register (Read/Write) − Index=81H Bit Function Default 7:0 This register contains the shadowed value that was written into DMA1 write single mask bit register. (DMA Register 10) 00000000 Register 82: DMA1 Write Mode Shadow Register (Read/Write) − Index=82H Bit Function Default 7:0 This register contains the shadowed value that was written into DMA1 write mode register. (DMA Register 11) 00000000 Register 83: DMA1 Clear Byte Pointer Shadow Register (Read/Write) − Index=83H Bit Function Default 7:0 This register contains the shadowed value that was written into DMA1 Address Space Expansion Flip-Flop Control Register. (DMA Register 12) 00000000 Register 84: DMA1 Master Clear Shadow Register (Read/Write) − Index=84H Bit Function Default 7:0 This register contains the shadowed value that was written into DMA1 master clear register. (DMA Register 13) 00000000 Register 85: DMA1 Clear Mask Shadow Register (Read/Write) − Index=85H Bit Function Default 7:0 This register contains the shadowed value that was written into DMA1 mask clear register. (DMA Register 14) 00000000 Register 86: Timer Counter 1 Command Mode Shadow Register (Read/Write) − Index=86H Bit Function Default 7:0 This register contains the shadowed value that was written into timer counter 1 command mode register. (Timer/Counter Register 0) 00000000 Register 87: CMOS Battery-Backed RAM Address and NMI Mask Registers Shadow Register (Read/Write) − Index=87H Bit Function Default 7:0 This register contains the shadowed value that was written into the NMI mask register and the last accessed address to the CMOS RAM. 00000000 Register 88: DMA2 Write Request Shadow Register (Read/Write) − Index=88H Bit Function Default 7:0 This register contains the shadowed value that was written into DMA2’s write request register. (DMA Register 25) 00000000 40 CY82C693UB PRELIMINARY Register 89: DMA2 Write Single Mask Bit Shadow Register (Read/Write) − Index=89H Bit Function Default 7:0 This register contains the shadowed value that was written into DMA2’s write single mask bit register. (DMA Register 26) 00000000 Register 8A: DMA2 Write Mode Shadow Register (Read/Write) − Index=8AH Bit Function Default 7:0 This register contains the shadowed value that was written into DMA2’s write mode register. (DMA Register 27) 00000000 Register 8B: DMA2 Clear Byte Pointer Shadow Register (Read/Write) − Index=8BH Bit Function Default 7:0 This register contains the shadowed value that was written into DMA2’s Address Space Expansion Flip-Flop Control register. (DMA Register 28) 00000000 Register 8C: DMA2 Mask Clear Shadow Register (Read/Write) − Index=8CH Bit Function Default 7:0 This register contains the shadowed value that was written into DMA2’s mask clear register. (DMA Register 29) 00000000 Register 8D: DMA2 Clear Mask Shadow Register (Read/Write) − Index=8DH Bit Function Default 7:0 This register contains the shadowed value that was written into DMA2’s clear register. (DMA Register 30) 00000000 Register 8E: Coprocessor Error Shadow Register (Read/Write) − Index=8EH Bit Function Default 7:0 This register contains the shadowed value that was written into the coprocessor error register. 00000000 Register 8F: Extended CMOS RAM address Shadow Register (Read/Write) − Index=8FH Bit Function Default 7:0 This register contains the shadowed value that was written into the extended CMOS RAM address register. 00000000 41 CY82C693UB PRELIMINARY General Purpose I/O Registers The following registers control the operation of GPIO. Register 90: General Purpose I/O Control Register A (Read/Write) − Index=90H Bit Function Default 7 Internal Keyboard Controller GPIO Port Output Control: 0: Internal Keyboard Controller Ports not available on outputs of the CY82C693UB. 1: Internal Keyboard Controller Ports available on outputs of the CY82C693UB. 0 6 Reserved 0 5 GPIO5 Control: This bit value will be driven onto the GPIO5 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO5 pin if it is programmed as an input. 0 4 GPIO4 Control: This bit value will be driven onto the GPIO4 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO4 pin if it is programmed as an input. 0 3 GPIO3 Control: This bit value will be driven onto the GPIO3 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO3 pin if it is programmed as an input. 0 2 GPIO2 Control: This bit value will be driven onto the GPIO2 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO2 pin if it is programmed as an input. 0 1 GPIO1 Control: This bit value will be driven onto the GPIO1 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO1 pin if it is programmed as an input. 0 0 GPIO0 Control: This bit value will be driven onto the GPIO0 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO0 pin if it is programmed as an input. 0 Register 91: General Purpose I/O Input/Output Control Register A (Read/Write) − Index=91H Bit Function Default 7:6 Reserved 00 5 GPIO5 Control: 0: Input 1: Output 0 4 GPIO4 Control: 0: Input 1: Output 0 3 GPIO3 Control: 0: Input 1: Output 0 2 GPIO2 Control: 0: Input 1: Output 0 1 GPIO1 Control: 0: Input 1: Output 0 0 GPIO0 Control: 0: Input 1: Output 0 42 CY82C693UB PRELIMINARY Register 92: General Purpose I/O Control Register B (Read/Write) − Index=92H Bit Function Default 7 DMA Request Mode: 0: Normal. DMA request pins cannot be used for GPIO. 1: Multiplexed. If external multiplexer is used, several of the DMA Request signals can be used for GPIO. 0 6 DMA Acknowledge Mode: 0: Normal. DMA acknowledge pins cannot be used for GPIO. 1: Encoded. If external priority decoder is used, several of the DMA Acknowledge signals can be used for GPIO. 0 5 GPIO11 Control: This bit value will be driven onto the GPIO11 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO11 pin if it is programmed as an input. 0 4 GPIO10 Control: This bit value will be driven onto the GPIO10 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO10 pin if it is programmed as an input. 0 3 GPIO9 Control: This bit value will be driven onto the GPIO9 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO9 pin if it is programmed as an input. 0 2 GPIO8 Control: This bit value will be driven onto the GPIO8 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO8 pin if it is programmed as an input. 0 1 GPIO7 Control: This bit value will be driven onto the GPIO7 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO7 pin if it is programmed as an input. 0 0 GPIO6 Control: This bit value will be driven onto the GPIO6 pin if it is programmed as an output. This bit will contain the value driven onto the GPIO6 pin if it is programmed as an input. 0 Register 93: General Purpose I/O Input/Output Control Register B (Read/Write) − Index=93H Bit Function Default 7:6 Reserved 00 5 GPIO11 Control: 0: Input 1: Output 0 4 GPIO10 Control: 0: Input 1: Output 0 3 GPIO9 Control: 0: Input 1: Output 0 2 GPIO8 Control: 0: Input 1: Output 0 1 GPIO7 Control: 0: Input 1: Output 0 0 GPIO6 Control: 0: Input 1: Output 0 43 CY82C693UB PRELIMINARY Power Management Control Registers The following registers control the operation of the power management logic within the CY82C693UB. Register 40: Standby Timer Event Detection Control (Read/Write) − Index=40H Bit Function Default 7 PCI Master Request Detection Control: 0: Disable PCI Master Request Detection 1: Enable PCI Master Request Detection 0 6 Video Memory Access (Blocks A, B, or 3b0H−3dfH) Detection Control: 0: Disable Video Memory Access Detection 1: Enable Video Memory Access Detection 0 5 Parallel Port Access (278H−27fH, or 378H−37fH) Detection Control: 0: Disable Parallel Port. Access Detection 1: Enable Parallel Port Access Detection 0 4 COM Port 2/4 Access (2f8H−2ffH, or 2e8H−2efH) Detection Control: 0: Disable COM Port 2/4 Access Detection 1: Enable COM Port 2/4 Access Detection 0 3 COM Port 1/3 Access (3f8H−3ffH, or 3e8H−3efH) Detection Control: 0: Disable COM Port 1/3 Access Detection 1: Enable COM Port 1/3 Access Detection 0 2 Hard Disk Access (170H−177H, or 1f0H−1f7H) Detection Control: 0: Disable Hard Disk Access Detection 1: Enable Hard Disk Access Detection 0 1 Floppy Disk Access (3f5H) Detection Control: 0: Disable Floppy Disk Access Detection 1: Enable Floppy Disk Access Detection 0 0 Keyboard Controller Access (60H or 64H) Detection Control: 0: Disable Keyboard Controller Access Detection 1: Enable Keyboard Controller Access Detection 0 44 CY82C693UB PRELIMINARY Register 41: Standby Timer Interrupt Request Detection Control #1 (Read/Write) − Index=41H Bit Function Default 7 IRQ7 Monitor Control: 0: Disable IRQ7 Monitoring 1: Enable IRQ7 Monitoring 0 6 IRQ6 Monitor Control: 0: Disable IRQ6 Monitoring 1: Enable IRQ6 Monitoring 0 5 IRQ5 Monitor Control: 0: Disable IRQ5 Monitoring 1: Enable IRQ5 Monitoring 0 4 IRQ4 Monitor Control: 0: Disable IRQ4 Monitoring 1: Enable IRQ4 Monitoring 0 3 IRQ3 Monitor Control: 0: Disable IRQ3 Monitoring 1: Enable IRQ3 Monitoring 0 2 INTR Monitor Control (Any Unmasked Interrupt Request): 0: Disable INTR Monitoring 1: Enable INTR Monitoring 0 1 IRQ1 Monitor Control: 0: Disable IRQ1 Monitoring 1: Enable IRQ1 Monitoring 0 0 IRQ0 Monitor Control: 0: Disable IRQ0 Monitoring 1: Enable IRQ0 Monitoring 0 Register 42: Standby Timer Interrupt Request Detection Control #2 (Read/Write) − Index=42H Bit Function Default 7 IRQ15 Monitor Control: 0: Disable IRQ15 Monitoring 1: Enable IRQ15 Monitoring 0 6 IRQ14 Monitor Control: 0: Disable IRQ14 Monitoring 1: Enable IRQ14 Monitoring 0 5 IRQ13 Monitor Control: 0: Disable IRQ13 Monitoring 1: Enable IRQ13 Monitoring 0 4 IRQ12 Monitor Control: 0: Disable IRQ12 Monitoring 1: Enable IRQ12 Monitoring 0 3 IRQ11 Monitor Control: 0: Disable IRQ11 Monitoring 1: Enable IRQ11 Monitoring 0 2 IRQ10 Monitor Control: 0: Disable IRQ10 Monitoring 1: Enable IRQ10 Monitoring 0 1 IRQ9 Monitor Control: 0: Disable IRQ9 Monitoring 1: Enable IRQ9 Monitoring 0 0 IRQ8 Monitor Control: 0: Disable IRQ8 Monitoring 1: Enable IRQ8 Monitoring 0 45 CY82C693UB PRELIMINARY Register 43: Standby Timer DMA Request Detection Control #1 (Read/Write) − Index=43H Bit Function Default 7 DREQ7 Monitor Control: 0: Disable DREQ7 Monitoring 1: Enable DREQ7 Monitoring 0 6 DREQ6 Monitor Control: 0: Disable DREQ6 Monitoring 1: Enable DREQ6 Monitoring 0 5 DREQ5 Monitor Control: 0: Disable DREQ5 Monitoring 1: Enable DREQ5 Monitoring 0 4 ISA DMA/MASTER Monitor Control (Any DREQ): 0: Disable ISA DMA/MASTER Monitoring 1: Enable ISA DMA/MASTER Monitoring 0 3 DREQ3 Monitor Control: 0: Disable DREQ3 Monitoring 1: Enable DREQ3 Monitoring 0 2 DREQ2 Monitor Control: 0: Disable DREQ2 Monitoring 1: Enable DREQ2 Monitoring 0 1 DREQ1 Monitor Control: 0: Disable DREQ1 Monitoring 1: Enable DREQ1 Monitoring 0 0 DREQ0 Monitor Control: 0: Disable DREQ0 Monitoring 1: Enable DREQ0 Monitoring 0 Register 44: Suspend Timer Event Detection Control (Read/Write) − Index=44H Bit Function Default 7 PCI Master Request Detection Control: 0: Disable PCI Master Request Detection 1: Enable PCI Master Request Detection 0 6 Video Memory Access (Blocks A, B, or 3b0H−3dfH) Detection Control: 0: Disable Video Memory Access Detection 1: Enable Video Memory Access Detection 0 5 Parallel Port Access (278H−27fH, or 378H−37fH) Detection Control: 0: Disable Parallel Port Access Detection 1: Enable Parallel Port Access Detection 0 4 COM Port 2/4 Access (2f8H−2ffH, or 2e8H−2efH) Detection Control: 0: Disable COM Port. 2/4 Access Detection 1: Enable COM Port 2/4 Access Detection 0 3 COM Port 1/3 Access (3f8H−3ffH, or 3e8H−3efH) Detection Control: 0: Disable COM Port 1/3 Access Detection 1: Enable COM Port 1/3 Access Detection 0 2 Hard Disk Access (170H−177H, or 1f0H−1f7H) Detection Control: 0: Disable Hard Disk Access Detection 1: Enable Hard Disk Access Detection 0 1 Floppy Disk Access (3f5H) Detection Control: 0: Disable Floppy Disk Access Detection 1: Enable Floppy Disk Access Detection 0 0 Keyboard Controller Access (60H or 64H) Detection Control: 0: Disable Keyboard Controller Access Detection 1: Enable Keyboard Controller Access Detection 0 46 CY82C693UB PRELIMINARY Register 45: Suspend Timer Interrupt Request Detection Control #1 (Read/Write) − Index=45H Bit Function Default 7 IRQ7 Monitor Control: 0: Disable IRQ7 Monitoring 1: Enable IRQ7 Monitoring 0 6 IRQ6 Monitor Control: 0: Disable IRQ6 Monitoring 1: Enable IRQ6 Monitoring 0 5 IRQ5 Monitor Control: 0: Disable IRQ5 Monitoring 1: Enable IRQ5 Monitoring 0 4 IRQ4 Monitor Control: 0: Disable IRQ4 Monitoring 1: Enable IRQ4 Monitoring 0 3 IRQ3 Monitor Control: 0: Disable IRQ3 Monitoring 1: Enable IRQ3 Monitoring 0 2 INTR Monitor Control (Any Unmasked Interrupt Request): 0: Disable INTR Monitoring 1: Enable INTR Monitoring 0 1 IRQ1 Monitor Control: 0: Disable IRQ1 Monitoring 1: Enable IRQ1 Monitoring 0 0 IRQ0 Monitor Control: 0: Disable IRQ0 Monitoring 1: Enable IRQ0 Monitoring 0 Register 46: Suspend Timer Interrupt Request Detection Control #2 (Read/Write) − Index=46H Bit Function Default 7 IRQ15 Monitor Control: 0: Disable IRQ15 Monitoring 1: Enable IRQ15 Monitoring 0 6 IRQ14 Monitor Control: 0: Disable IRQ14 Monitoring 1: Enable IRQ14 Monitoring 0 5 IRQ13 Monitor Control: 0: Disable IRQ13 Monitoring 1: Enable IRQ13 Monitoring 0 4 IRQ12 Monitor Control: 0: Disable IRQ12 Monitoring 1: Enable IRQ12 Monitoring 0 3 IRQ11 Monitor Control: 0: Disable IRQ11 Monitoring 1: Enable IRQ11 Monitoring 0 2 IRQ10 Monitor Control: 0: Disable IRQ10 Monitoring 1: Enable IRQ10 Monitoring 0 1 IRQ9 Monitor Control: 0: Disable IRQ9 Monitoring 1: Enable IRQ9 Monitoring 0 0 IRQ8 Monitor Control: 0: Disable IRQ8 Monitoring 1: Enable IRQ8 Monitoring 0 47 CY82C693UB PRELIMINARY Register 47: Suspend Timer DMA Request Detection Control #1 (Read/Write) − Index=47H Bit Function Default 7 DREQ7 Monitor Control: 0: Disable DREQ7 Monitoring 1: Enable DREQ7 Monitoring 0 6 DREQ6 Monitor Control: 0: Disable DREQ6 Monitoring 1: Enable DREQ6 Monitoring 0 5 DREQ5 Monitor Control: 0: Disable DREQ5 Monitoring 1: Enable DREQ5 Monitoring 0 4 ISA DMA/MASTER Monitor Control (Any DREQ): 0: Disable ISA DMA/MASTER Monitoring 1: Enable ISA DMA/MASTER Monitoring 0 3 DREQ3 Monitor Control: 0: Disable DREQ3 Monitoring 1: Enable DREQ3 Monitoring 0 2 DREQ2 Monitor Control: 0: Disable DREQ2 Monitoring 1: Enable DREQ2 Monitoring 0 1 DREQ1 Monitor Control: 0: Disable DREQ1 Monitoring 1: Enable DREQ1 Monitoring 0 0 DREQ0 Monitor Control: 0: Disable DREQ0 Monitoring 1: Enable DREQ0 Monitoring 0 Register 48: User Timer 1 Event Detection Control (Read/Write) − Index=48H Bit Function Default 7 PCI Master Request Detection Control: 0: Disable PCI Master Request Detection 1: Enable PCI Master Request Detection 0 6 Video Memory Access (Blocks A, B, or 3b0H−3dfH) Detection Control: 0: Disable Video Memory Access Detection 1: Enable Video Memory Access Detection 0 5 Parallel Port Access (278H−27fH, or 378H−37fH) Detection Control: 0: Disable Parallel Port Access Detection 1: Enable Parallel Port Access Detection 0 4 COM Port 2/4 Access (2f8H−2ffH, or 2e8H−2efH) Detection Control: 0: Disable COM Port 2/4 Access Detection 1: Enable COM Port 2/4 Access Detection 0 3 COM Port 1/3 Access (3f8H−3ffH, or 3e8H−3efH) Detection Control: 0: Disable COM Port 1/3 Access Detection 1: Enable COM Port 1/3 Access Detection 0 2 Hard Disk Access (170H−177H, or 1f0H−1f7H) Detection Control: 0: Disable Hard Disk Access Detection 1: Enable Hard Disk Access Detection 0 1 Floppy Disk Access (3f5H) Detection Control: 0: Disable Floppy Disk Access Detection 1: Enable Floppy Disk Access Detection 0 0 Keyboard Controller Access (60H or 64H) Detection Control: 0: Disable Keyboard Controller Access Detection 1: Enable Keyboard Controller Access Detection 0 48 CY82C693UB PRELIMINARY Register 49: User Timer 1 Interrupt Request Detection Control #1 (Read/Write) − Index=49H Bit Function Default 7 IRQ7 Monitor Control: 0: Disable IRQ7 Monitoring 1: Enable IRQ7 Monitoring 0 6 IRQ6 Monitor Control: 0: Disable IRQ6 Monitoring 1: Enable IRQ6 Monitoring 0 5 IRQ5 Monitor Control: 0: Disable IRQ5 Monitoring 1: Enable IRQ5 Monitoring 0 4 IRQ4 Monitor Control: 0: Disable IRQ4 Monitoring 1: Enable IRQ4 Monitoring 0 3 IRQ3 Monitor Control: 0: Disable IRQ3 Monitoring 1: Enable IRQ3 Monitoring 0 2 INTR Monitor Control (Any Unmasked Interrupt Request): 0: Disable INTR Monitoring 1: Enable INTR Monitoring 0 1 IRQ1 Monitor Control: 0: Disable IRQ1 Monitoring 1: Enable IRQ1 Monitoring 0 0 IRQ0 Monitor Control: 0: Disable IRQ0 Monitoring 1: Enable IRQ0 Monitoring 0 Register 4A: User Timer 1 Interrupt Request Detection Control #2 (Read/Write) − Index=4AH Bit Function Default 7 IRQ15 Monitor Control: 0: Disable IRQ15 Monitoring 1: Enable IRQ15 Monitoring 0 6 IRQ14 Monitor Control: 0: Disable IRQ14 Monitoring 1: Enable IRQ14 Monitoring 0 5 IRQ13 Monitor Control: 0: Disable IRQ13 Monitoring 1: Enable IRQ13 Monitoring 0 4 IRQ12 Monitor Control: 0: Disable IRQ12 Monitoring 1: Enable IRQ12 Monitoring 0 3 IRQ11 Monitor Control: 0: Disable IRQ11 Monitoring 1: Enable IRQ11 Monitoring 0 2 IRQ10 Monitor Control: 0: Disable IRQ10 Monitoring 1: Enable IRQ10 Monitoring 0 1 IRQ9 Monitor Control: 0: Disable IRQ9 Monitoring 1: Enable IRQ9 Monitoring 0 0 IRQ8 Monitor Control: 0: Disable IRQ8 Monitoring 1: Enable IRQ8 Monitoring 0 49 CY82C693UB PRELIMINARY Register 4B: User Timer 1 DMA Request Detection Control #1 (Read/Write) − Index=4BH Bit Function Default 7 DREQ7 Monitor Control: 0: Disable DREQ7 Monitoring 1: Enable DREQ7 Monitoring 0 6 DREQ6 Monitor Control: 0: Disable DREQ6 Monitoring 1: Enable DREQ6 Monitoring 0 5 DREQ5 Monitor Control: 0: Disable DREQ5 Monitoring 1: Enable DREQ5 Monitoring 0 4 ISA DMA/MASTER Monitor Control (Any DREQ): 0: Disable ISA DMA/MASTER Monitoring 1: Enable ISA DMA/MASTER Monitoring 0 3 DREQ3 Monitor Control: 0: Disable DREQ3 Monitoring 1: Enable DREQ3 Monitoring 0 2 DREQ2 Monitor Control: 0: Disable DREQ2 Monitoring 1: Enable DREQ2 Monitoring 0 1 DREQ1 Monitor Control: 0: Disable DREQ1 Monitoring 1: Enable DREQ1 Monitoring 0 0 DREQ0 Monitor Control: 0: Disable DREQ0 Monitoring 1: Enable DREQ0 Monitoring 0 Register 4C: Throttle Timer Event Detection Control (Read/Write) − Index=4CH Bit Function Default 7 PCI Master Request Detection Control: 0: Disable PCI Master Request Detection 1: Enable PCI Master Request Detection 0 6 Video Memory Access (Blocks A, B, or 3b0H−3dfH) Detection Control: 0: Disable Video Memory Access Detection 1: Enable Video Memory Access Detection 0 5 Parallel Port Access (278H−27fH, or 378H−37fH) Detection Control: 0: Disable Parallel Port Access Detection 1: Enable Parallel Port Access Detection 0 4 COM Port 2/4 Access (2f8H−2ffH, or 2e8H−2efH) Detection Control: 0: Disable COM Port 2/4 Access Detection 1: Enable COM Port 2/4 Access Detection 0 3 COM Port 1/3 Access (3f8H−3ffH, or 3e8H−3efH) Detection Control: 0: Disable COM Port. 1/3 Access Detection 1: Enable COM Port 1/3 Access Detection 0 2 Hard Disk Access (170H−177H, or 1f0H−1f7H) Detection Control: 0: Disable Hard Disk Access Detection 1: Enable Hard Disk Access Detection 0 1 Floppy Disk Access (3f5H) Detection Control: 0: Disable Floppy Disk Access Detection 1: Enable Floppy Disk Access Detection 0 0 Keyboard Controller Access (60H or 64H) Detection Control: 0: Disable Keyboard Controller Access Detection 1: Enable Keyboard Controller Access Detection 0 50 CY82C693UB PRELIMINARY Register 4D: Throttle Timer Interrupt Request Detection Control #1 (Read/Write) − Index=4DH Bit Function Default 7 IRQ7 Monitor Control: 0: Disable IRQ7 Monitoring 1: Enable IRQ7 Monitoring 0 6 IRQ6 Monitor Control: 0: Disable IRQ6 Monitoring 1: Enable IRQ6 Monitoring 0 5 IRQ5 Monitor Control: 0: Disable IRQ5 Monitoring 1: Enable IRQ5 Monitoring 0 4 IRQ4 Monitor Control: 0: Disable IRQ4 Monitoring 1: Enable IRQ4 Monitoring 0 3 IRQ3 Monitor Control: 0: Disable IRQ3 Monitoring 1: Enable IRQ3 Monitoring 0 2 INTR Monitor Control (Any Unmasked Interrupt Request): 0: Disable INTR Monitoring 1: Enable INTR Monitoring 0 1 IRQ1 Monitor Control: 0: Disable IRQ1 Monitoring 1: Enable IRQ1 Monitoring 0 0 IRQ0 Monitor Control: 0: Disable IRQ0 Monitoring 1: Enable IRQ0 Monitoring 0 Register 4E: Throttle Timer Interrupt Request Detection Control #2 (Read/Write) − Index=4EH Bit Function Default 7 IRQ15 Monitor Control: 0: Disable IRQ15 Monitoring 1: Enable IRQ15 Monitoring 0 6 IRQ14 Monitor Control: 0: Disable IRQ14 Monitoring 1: Enable IRQ14 Monitoring 0 5 IRQ13 Monitor Control: 0: Disable IRQ13 Monitoring 1: Enable IRQ13 Monitoring 0 4 IRQ12 Monitor Control: 0: Disable IRQ12 Monitoring 1: Enable IRQ12 Monitoring 0 3 IRQ11 Monitor Control: 0: Disable IRQ11 Monitoring 1: Enable IRQ11 Monitoring 0 2 IRQ10 Monitor Control: 0: Disable IRQ10 Monitoring 1: Enable IRQ10 Monitoring 0 1 IRQ9 Monitor Control: 0: Disable IRQ9 Monitoring 1: Enable IRQ9 Monitoring 0 0 IRQ8 Monitor Control: 0: Disable IRQ8 Monitoring 1: Enable IRQ8 Monitoring 0 51 CY82C693UB PRELIMINARY Register 4F: Throttle Timer DMA Request Detection Control #1 (Read/Write) − Index=4FH Bit Function Default 7 DREQ7 Monitor Control: 0: Disable DREQ7 Monitoring 1: Enable DREQ7 Monitoring 0 6 DREQ6 Monitor Control: 0: Disable DREQ6 Monitoring 1: Enable DREQ6 Monitoring 0 5 DREQ5 Monitor Control: 0: Disable DREQ5 Monitoring 1: Enable DREQ5 Monitoring 0 4 ISA DMA/MASTER Monitor Control (Any DREQ): 0: Disable ISA DMA/MASTER Monitoring 1: Enable ISA DMA/MASTER Monitoring 0 3 DREQ3 Monitor Control: 0: Disable DREQ3 Monitoring 1: Enable DREQ3 Monitoring 0 2 DREQ2 Monitor Control: 0: Disable DREQ2 Monitoring 1: Enable DREQ2 Monitoring 0 1 DREQ1 Monitor Control: 0: Disable DREQ1 Monitoring 1: Enable DREQ1 Monitoring 0 0 DREQ0 Monitor Control: 0: Disable DREQ0 Monitoring 1: Enable DREQ0 Monitoring 0 Register 50: Non-motherboard Memory Address Range Decode for Event Detection Register #1 (Read/Write) − Index=50H Bit Function Default 7:0 Non-motherboard memory address decode AD[31:24] 00000000 Register 51: Non-motherboard Memory Address Range Decode for Event Detection Register #2 (Read/Write) − Index=51H Bit Function Default 7:0 Non-motherboard memory address decode AD[23:16] 00000000 Register 52: Non-motherboard Memory Address Mask for Event Detection Register #1 (Read/Write) − Index=52H Bit Function Default 7:0 Mask bits for non-motherboard memory address decode for event detection AD[31:24] 00000000 Register 53: Non-motherboard Memory Address Mask for Event Detection Register #2 (Read/Write) − Index=53H Bit Function Default 7:0 Mask bits for non-motherboard memory address decode for event detection AD[23:16] 00000000 Register 54: Programmable I/O Trap 1 Address Range Register #1 (Read/Write) − Index=54H Bit Function Default 7:0 I/O address AD[7:0] which will automatically generate an SMI. The I/O Trap can be used in conjunction with the I/O restart feature of the Pentium. 00000000 52 CY82C693UB PRELIMINARY Register 55: Programmable I/O Trap 1 Address Range Register #2 (Read/Write) − Index=55H Bit Function Default 7:0 I/O address AD[15:8] which will automatically generate an SMI. The I/O Trap can be used in conjunction with the I/O restart feature of the Pentium. 00000000 Register 56: Programmable I/O Trap 1 Address Range Register #3 (Read/Write) − Index=56H Bit Function Default 7:0 I/O address AD[23:16] which will automatically generate an SMI. The I/O Trap can be used in conjunction with the I/O restart feature of the Pentium. 00000000 Register 57: Programmable I/O Trap 1 Address Range Register #4 (Read/Write) − Index=57H Bit Function Default 7:0 I/O address AD[31:24] which will automatically generate an SMI. The I/O Trap can be used in conjunction with the I/O restart feature of the Pentium. 00000000 Register 58: Programmable I/O Trap 2 Address Range Register #1 (Read/Write) − Index=58H Bit Function Default 7:0 Secondary I/O address AD[7:0] which will automatically generate an SMI. The I/O Trap can be used in conjunction with the I/O restart feature of the Pentium. 00000000 Register 59: Programmable I/O Trap 2 Address Range Register #2 (Read/Write) − Index=59H Bit Function Default 7:0 Secondary I/O address AD[15:8] which will automatically generate an SMI. The I/O Trap can be used in conjunction with the I/O restart feature of the Pentium. 00000000 Register 5A: Programmable I/O Trap 2 Address Range Register #3 (Read/Write) − Index=5AH Bit Function Default 7:0 Secondary I/O address AD[23:16] which will automatically generate an SMI. The I/O Trap can be used in conjunction with the I/O restart feature of the Pentium. 00000000 Register 5B: Programmable I/O Trap 2 Address Range Register #4 (Read/Write) − Index=5BH Bit Function Default 7:0 Secondary I/O address AD[31:24] which will automatically generate an SMI. The I/O Trap can be used in conjunction with the I/O restart feature of the Pentium. 00000000 53 CY82C693UB PRELIMINARY Register 5C: Programmable I/O Trap 1 Address Detection Control (Read/Write) − Index=5CH Bit Function Default 7 AD[15:0] I/O Trap 1 Address Mask Control: 0: Disable AD[15:10] I/O Trap 1 Address Masking 1: Enable AD[15:10] I/O Trap 1 Address Masking 0 6 AD[31:16] I/O Trap 1 Address Mask Control: 0: Disable AD[31:16] I/O Trap 1 Address Masking 1: Enable AD[31:16] I/O Trap 1 Address Masking 0 5 Reserved 0 4:2 Mask bit selection for Programmable I/O Trap 1 Address: 000: No Bits Masked 001: Lowest Order Bit Masked 010: 2 Lowest Order Bits Masked 011: 3 Lowest Order Bits Masked 100: 4 Lowest Order Bits Masked 101: 5 Lowest Order Bits Masked 110: 6 Lowest Order Bits Masked 111: 7 Lowest Order Bits Masked 000 1 Standby Timer Non-motherboard memory access detection control: 0: Disable Non-motherboard memory access detection 1: Enable Non-motherboard memory access detection 0 0 Suspend Timer Non-motherboard memory access detection control: 0: Disable Non-motherboard memory access detection 1: Enable Non-motherboard memory access detection 0 Register 5D: Programmable I/O Trap 2 Address Detection Control (Read/Write) − Index=5DH Bit Function Default 7 AD[15:0] I/O Trap 2 Address Mask Control: 0: Disable AD[15:10] I/O Trap 1 Address Masking 1: Enable AD[15:10] I/O Trap 1 Address Masking 0 6 AD[31:16] I/O Trap 2 Address Mask Control: 0: Disable AD[31:16] I/O Trap 1 Address Masking 1: Enable AD[31:16] I/O Trap 1 Address Masking 0 5 Reserved 0 4:2 Mask bit selection for Programmable I/O Trap 2 Address: 000: No Bits Masked 001: Lowest Order Bit Masked 010: 2 Lowest Order Bits Masked 011: 3 Lowest Order Bits Masked 100: 4 Lowest Order Bits Masked 101: 5 Lowest Order Bits Masked 110: 6 Lowest Order Bits Masked 111: 7 Lowest Order Bits Masked 000 1 User Timer 1 Non-motherboard memory access detection control: 0: Disable Non-motherboard memory access detection 1: Enable Non-motherboard memory access detection 0 0 Throttle Timer Non-motherboard memory access detection control: 0: Disable Non-motherboard memory access detection 1: Enable Non-motherboard memory access detection 0 54 CY82C693UB PRELIMINARY Register 5E: I/O Trap 1 and 2 Monitoring Control (Read/Write) − Index=5EH Bit Function Default 7 Standby Timer I/O Trap 1 Monitor Control: 0: Disable Monitoring of I/O Trap 1 1: Enable Monitoring of I/O Trap 1 0 6 Suspend Timer I/O Trap 1 Monitor Control: 0: Disable Monitoring of I/O Trap 1 1: Enable Monitoring of I/O Trap 1 0 5 User Timer 1 I/O Trap 1 Monitor Control: 0: Disable Monitoring of I/O Trap 1 1: Enable Monitoring of I/O Trap 1 0 4 Throttle Timer I/O Trap 1 Monitor Control: 0: Disable Monitoring of I/O Trap 1 1: Enable Monitoring of I/O Trap 1 0 3 Standby Timer I/O Trap 2 Monitor Control: 0: Disable Monitoring of I/O Trap 2 1: Enable Monitoring of I/O Trap 2 0 2 Suspend Timer I/O Trap 2 Monitor Control: 0: Disable Monitoring of I/O Trap 2 1: Enable Monitoring of I/O Trap 2 0 1 User Timer 1 I/O Trap 2 Monitor Control: 0: Disable Monitoring of I/O Trap 2 1: Enable Monitoring of I/O Trap 2 0 0 Throttle Timer I/O Trap 2 Monitor Control: 0: Disable Monitoring of I/O Trap 2 1: Enable Monitoring of I/O Trap 2 0 Register 5F: Standby and Suspend Timer Terminal Count Control Register (Read/Write) Bit Function 7:4 Standby Timer Terminal Count: 0000: 0.4 seconds 1000: 0001: 1 second 1001: 0010: 1.8 seconds 1010: 0011: 3.5 seconds 1011: 0100: 7 seconds 1100: 0101: 14 seconds 1101: 0110: 28 seconds 1110: 0111: 56 seconds 1111: 2 minutes 3.8 minutes 7.5 minutes 15 minutes 30 minutes 60 minutes 120 minutes 240 minutes Suspend Timer Terminal Count: 0000: 0.2 seconds 1000: 0001: 0.4 seconds 1001: 0010: 1 second 1010: 0011: 1.8 seconds 1011: 0100: 3.5 seconds 1100: 0101: 7 seconds 1101: 0110: 14 seconds 1110: 0111: 28 seconds 1111: 56 seconds 2 minutes 3.8 minutes 7.5 minutes 15 minutes 30 minutes 60 minutes 120 minutes 3:0 − Index=5FH Default 0000 0000 55 CY82C693UB PRELIMINARY Register 60: User Timer 1 and User Timer 2 Terminal Count Control Register (Read/Write) Bit Function 7:4 User Timer 1 Terminal Count: 0000: 0.2 seconds 1000: 0001: 0.4 seconds 1001: 0010: 1 second 1010: 0011: 1.8 seconds 1011: 0100: 3.5 seconds 1100: 0101: 7 seconds 1101: 0110: 14 seconds 1110: 0111: 28 seconds 1111: 56 seconds 2 minutes 3.8 minutes 7.5 minutes 15 minutes 30 minutes 60 minutes 120 minutes User Timer 2 Terminal Count: 0000: 0.2 seconds 1000: 0001: 0.4 seconds 1001: 0010: 1 second 1010: 0011: 1.8 seconds 1011: 0100: 3.5 seconds 1100: 0101: 7 seconds 1101: 0110: 14 seconds 1110: 0111: 28 seconds 1111: 56 seconds 2 minutes 3.8 minutes 7.5 minutes 15 minutes 30 minutes 60 minutes 120 minutes 3:0 Default 0000 0000 Register 61: User Timer 3 Terminal Count Control Register (Read/Write) Bit Function 7:4 User Timer 3 Terminal Count: 0000: 0.2 seconds 1000: 0001: 0.4 seconds 1001: 0010: 1 second 1010: 0011: 1.8 seconds 1011: 0100: 3.5 seconds 1100: 0101: 7 seconds 1101: 0110: 14 seconds 1110: 0111: 28 seconds 1111: − Index=60H − Index=61H Default 0000 56 seconds 2 minutes 3.8 minutes 7.5 minutes 15 minutes 30 minutes 60 minutes 120 minutes 3:2 SLOWCLK (PMWTCNT) to STOPCLK Transition Delay: 00: 430 microseconds 01: 7 milliseconds 10: 55 milliseconds 11: 1 second 00 1:0 Reserved 00 56 CY82C693UB PRELIMINARY Register 62: Throttle Timer Terminal Count Control Register (Read/Write) Bit Function 7:4 Throttle 0000: 0001: 0010: 0011: 0100: 0101: 0110: 0111: Timer Low Time:: 27 microseconds 53.7 microseconds 107 microseconds 215 microseconds 430 microseconds 860 microseconds 1.7 milliseconds 3.4 milliseconds 1000: 1001: 1010: 1011: 1100: 1101: 1110: 1111: 7 milliseconds 14 milliseconds 28 milliseconds 55 milliseconds 0.1 seconds 0.2 seconds 0.4 seconds 1 second Throttle 0000: 0001: 0010: 0011: 0100: 0101: 0110: 0111: Timer High Time:: 27 microseconds 53.7 microseconds 107 microseconds 215 microseconds 430 microseconds 860 microseconds 1.7 milliseconds 3.4 milliseconds 1000: 1001: 1010: 1011: 1100: 1101: 1110: 1111: 7 milliseconds 14 milliseconds 28 milliseconds 55 milliseconds 0.1 seconds 0.2 seconds 0.4 seconds 1 second 3:0 − Index=62H Default 0000 0000 Register 63: Power Management Control Register#1 (Read/Write) − Index=63H Bit Function Default 7 Power Management Enable Control: 0: Disable Power Management 1: Enable Power Management 0 6 Hardware Controlled Power Management:: 0: Disable Hardware Power Management 1: Enable Hardware Power Management 0 5 Software Controlled Power Management:: 0: Disable Software Power Management 1: Enable Software Power Management 0 4 Reserved 0 3 User Timer 1 Control: 0: Disable User Timer 1 1: Enable User Timer 1 0 2 User Timer 2 Control: 0: Disable User Timer 2 1: Enable User Timer 2 0 1 User Timer 3 Control: 0: Disable User Timer 3 1: Enable User Timer 3 0 0 Suspend Timer Event Monitor Control: 0: Disable Monitoring of Events 1: Enable Monitoring of Events 0 57 CY82C693UB PRELIMINARY Register 64: Power Management Control Register#2 (Read/Write) − Index=64H Bit Function Default 7 Standby Timer Control: 0: Normal Operation 1: Reset Standby Timer (Value will automatically return to Normal Operation after Standby Timer is reset.) 0 6 Suspend Timer Control: 0: Enable Suspend Timer 1: Disable Suspend Timer Disabling and reenabling the Suspend Timer allows for additional power-down states. Once the Suspend Timer has expired, it can be disabled and reenabled. When the terminal count expires, SMI will be asserted again. Software can keep track of the number of times that the Suspend Timer has expired to create additional states. 0 5 Quick Power-down Control: 0: Disable Quick Power-down 1: Enable Quick Power-down 0 4 Video Access Event Control: 0: Video Access Event consists of accesses to blocks A, B, and I/O 3b0H–3dfH. 1: Video Access Event only consists of accesses to blocks A and B 0 3 Throttle Timer NMI monitor Control: 0: Disable monitoring of the NMI signal 1: Enable monitoring of the NMI signal 0 2 User Timer 1 NMI monitor Control: 0: Disable monitoring of the NMI signal 1: Enable monitoring of the NMI signal 0 1 Suspend Timer NMI monitor Control: 0: Disable monitoring of the NMI signal 1: Enable monitoring of the NMI signal 0 0 Standby Timer NMI monitor Control: 0: Disable monitoring of the NMI signal 1: Enable monitoring of the NMI signal 0 Register 65: Power Management Clock Control Register (Read/Write) − Index=65H Bit Function Default 7:6 Reserved 00 5 Software STOPCLK Assertion Control: 0: Normal Operation 1: Force Assertion of STOPCLK STOPCLK will remain active after this register is written to one until this register is written to zero. 0 4 Software STOPCLK Deassertion Control: 0: Normal Operation 1: Force Deassertion of STOPCLK STOPCLK will remain inactive after this register is written to one until this register is written to zero. 0 3:2 Hardware Controlled Power Management Control with the expiration of the Standby Timer: 00: Will not automatically assert STOPCLK 01: Reserved 10: Will automatically assert STOPCLK only 11: Will automatically assert STOPCLK 00 1:0 Hardware Controlled Power Management Control with the expiration of the Suspend Timer: 00 00: Will not automatically assert STOPCLK 01: Reserved 10: Will automatically assert STOPCLK only 11: Will automatically assert STOPCLK 58 CY82C693UB PRELIMINARY Register 66: STOPCLK Control Register (Read/Write) − Index=66H Bit Function Default 7 STOPCLK Function Control: 0: Disable STOPCLK 1: Enable STOPCLK 0 6 STOPCLK Throttling Control: 0: Disable STOPCLK throttling 1: Enable STOPCLK throttling 0 5 Reserved 0 4 STOPCLK Automatic Deassertion Control: 0: STOPCLK automatically deasserted when Standby events occur 1: STOPCLK not automatically deasserted when Standby events occur 00 3 STOPCLK Assertion Delay Timer Control: 0: Disable STOPCLK Assertion Delay Timer 1: Enable STOPCLK Assertion Delay Timer 00 2:1 STOPCLK Delay Timer: 00: 430 microseconds 01: 860 microseconds 10: 1.7 milliseconds 11: 7 milliseconds 0 0 Reserved 0 Register 67: Power Management SMI Control Register (Read/Write) − Index=67H Bit Function Default 7 Software SMI Assertion Control: 0: Normal Operation 1: Force Assertion of SMI SMI will remain active after this register is written to one until this register is written to zero. 0 6 Software SMI Deassertion Control: 0: Normal Operation 1: Force Deassertion of SMI SMI will remain inactive after this register is written to one until this register is written to zero. 0 5:0 Reserved 000000 59 CY82C693UB PRELIMINARY Register 70: Power Management SMI Enable Register #1 (Read/Write) − Index=70H Bit Function Default 7 Non-motherboard Memory Access 0: Will Not Generate SMI 1: Will Generate SMI 0 6 Video Memory Access: 0: Will Not Generate SMI 1: Will Generate SMI 0 5 Parallel Port Access: 0: Will Not Generate SMI 1: Will Generate SMI 0 4 COM Port 2/4 Access: 0: Will Not Generate SMI 1: Will Generate SMI 0 3 COM Port 1/3 Access: 0: Will Not Generate SMI 1: Will Generate SMI 00 2 Hard Disk Access: 0: Will Not Generate SMI 1: Will Generate SMI 0 1 Floppy Disk Access: 0: Will Not Generate SMI 1: Will Generate SMI 0 0 Keyboard Controller Access: 0: Will Not Generate SMI 1: Will Generate SMI 0 Register 71: Power Management SMI Enable Register #2 (Read/Write) − Index=71H Bit Function Default 7 User Timer 2 Timeout: 0: Will Not Generate SMI 1: Will Generate SMI 0 6 User Timer 1 Timeout: 0: Will Not Generate SMI 1: Will Generate SMI 0 5 Suspend Timer Timeout: 0: Will Not Generate SMI 1: Will Generate SMI 0 4 Standby Timer Timeout: 0: Will Not Generate SMI 1: Will Generate SMI 0 3 NMI: 0: 1: 00 Will Not Generate SMI Will Generate SMI 2 PCI Master Request: 0: Will Not Generate SMI 1: Will Generate SMI 0 1 Programmable I/O Trap 2 Address Access: 0: Will Not Generate SMI 1: Will Generate SMI 0 0 Programmable I/O Trap 1 Address Access: 0: Will Not Generate SMI 1: Will Generate SMI 0 60 CY82C693UB PRELIMINARY Register 72: Power Management SMI Enable Register #3 (Read/Write) − Index=72H Bit Function Default 7 Reserved 0 6 Automatic STOPCLK Assertion with APM Control Port Read Control: 0: No Automatic STOPCLK Assertion with APM Control Port Read 1: Automatic STOPCLK Assertion with APM Control Port Read 0 5 DMA Request: 0: Will Not Generate SMI 1: Will Generate SMI This register bit works in conjunction with Register F5H. When this bit is set to 1, any DMA Request that is enabled will generate an SMI. 0 4 Interrupt Request: 0: Will Not Generate SMI 1: Will Generate SMI This register bit works in conjunction with Registers F3H and F4H. When this bit is set to 1, any Interrupt Request that is enabled will generate an SMI. 0 3 The Assertion of the EPMI Signal: 0: Will Not Generate SMI 1: Will Generate SMI 00 2 APMC (Advanced Power Management Code) Request: 0: Will Not Generate SMI 1: Will Generate SMI 0 1 Software SMI Request: 0: Will Not Generate SMI 1: Will Generate SMI 0 0 User Timer 3 Timeout: 0: Will Not Generate SMI 1: Will Generate SMI 0 Register 73: Power Management SMI Enable Register #4 (Read/Write) − Index=73H Bit Function Default 7 Assertion of IRQ7 (Interrupt Request 7) 0: Will Not Generate SMI 1: Will Generate SMI 0 6 Assertion of IRQ6 (Interrupt Request 6) 0: Will Not Generate SMI 1: Will Generate SMI 0 5 Assertion of IRQ5 (Interrupt Request 5) 0: Will Not Generate SMI 1: Will Generate SMI 0 4 Assertion of IRQ4 (Interrupt Request 4) 0: Will Not Generate SMI 1: Will Generate SMI 0 3 Assertion of IRQ3 (Interrupt Request 3) 0: Will Not Generate SMI 1: Will Generate SMI 00 2 Assertion of INTR (Any Interrupt Request) 0: Will Not Generate SMI 1: Will Generate SMI 0 1 Assertion of IRQ1 (Interrupt Request 1) 0: Will Not Generate SMI 1: Will Generate SMI 0 0 Assertion of IRQ0 (Interrupt Request 0) 0: Will Not Generate SMI 1: Will Generate SMI 0 61 CY82C693UB PRELIMINARY Register 74: Power Management SMI Enable Register #5 (Read/Write) − Index=74H Bit Function Default 7 Assertion of IRQ15 (Interrupt Request 15) 0: Will Not Generate SMI 1: Will Generate SMI 0 6 Assertion of IRQ14 (Interrupt Request 14) 0: Will Not Generate SMI 1: Will Generate SMI 0 5 Assertion of IRQ13 (Interrupt Request 13) 0: Will Not Generate SMI 1: Will Generate SMI 0 4 Assertion of IRQ12 (Interrupt Request 12) 0: Will Not Generate SMI 1: Will Generate SMI 0 3 Assertion of IRQ11 (Interrupt Request 11) 0: Will Not Generate SMI 1: Will Generate SMI 00 2 Assertion of IRQ10 (Interrupt Request 10) 0: Will Not Generate SMI 1: Will Generate SMI 0 1 Assertion of IRQ9 (Interrupt Request 9) 0: Will Not Generate SMI 1: Will Generate SMI 0 0 Assertion of IRQ8 (Interrupt Request 8) 0: Will Not Generate SMI 1: Will Generate SMI 0 Register 75: Power Management SMI Enable Register #6 (Read/Write) − Index=75H Bit Function Default 7 Assertion of DREQ7 (DMA Request 7) 0: Will Not Generate SMI 1: Will Generate SMI 0 6 Assertion of DREQ6 (DMA Request 6) 0: Will Not Generate SMI 1: Will Generate SMI 0 5 Assertion of DREQ5 (DMA Request 5) 0: Will Not Generate SMI 1: Will Generate SMI 0 4 Assertion of DREQ (Any DMA Request) 0: Will Not Generate SMI 1: Will Generate SMI 0 3 Assertion of DREQ3 (DMA Request 3) 0: Will Not Generate SMI 1: Will Generate SMI 00 2 Assertion of DREQ2 (DMA Request 2) 0: Will Not Generate SMI 1: Will Generate SMI 0 1 Assertion of DREQ1 (DMA Request 1) 0: Will Not Generate SMI 1: Will Generate SMI 0 0 Assertion of DREQ0 (DMA Request 0) 0: Will Not Generate SMI 1: Will Generate SMI 0 62 CY82C693UB PRELIMINARY Register 76: Power Management SMI Status Register #1 (Read/Write) − Index=76H Bit Function Default 7 Non-motherboard Memory Access READ: 0: SMI was not caused by Non-motherboard Memory Access 1: SMI was caused by Non-motherboard Memory Access WRITE: 0: No change to register. 1: Clear Register 0 6 Video Memory Access READ: 0: SMI was not caused by Video Memory Access 1: SMI was caused by Video Memory Access WRITE: 0: No change to register. 1: Clear Register 0 5 Parallel Port Access READ: 0: SMI was not caused by Parallel Port Access 1: SMI was caused by Parallel Port Access WRITE: 0: No change to register. 1: Clear Register 0 4 COM Port 2/4 Access READ: 0: SMI was not caused by COM Port 2/4 Access 1: SMI was caused by COM Port 2/4 Access WRITE: 0: No change to register. 1: Clear Register 0 3 COM Port 1/3 Access READ: 0: SMI was not caused by COM Port 1/3 Access 1: SMI was caused by COM Port 1/3 Access WRITE: 0: No change to register. 1: Clear Register 00 2 Hard Disk Access READ: 0: SMI was not caused by Hard Disk Access 1: SMI was caused by Hard Disk Access WRITE: 0: No change to register. 1: Clear Register 0 1 Floppy Disk Access READ: 0: SMI was not caused by Floppy Disk Access 1: SMI was caused by Floppy Disk Access WRITE: 0: No change to register. 1: Clear Register 0 0 Keyboard Controller Access READ: 0: SMI was not caused by Keyboard Controller Access 1: SMI was caused by Keyboard Controller Access WRITE: 0: No change to register. 1: Clear Register 0 63 CY82C693UB PRELIMINARY Register 77: Power Management SMI Status Register #2 (Read/Write) − Index=77H Bit Function Default 7 User Timer 2 Timeout READ: 0: SMI was not caused by a User Timer 2 Timeout 1: SMI was caused by a User Timer 2 Timeout WRITE: 0: No change to register. 1: Clear Register 0 6 User Timer 1 Timeout READ: 0: SMI was not caused by a User Timer 1 Timeout 1: SMI was caused by a User Timer 1 Timeout WRITE: 0: No change to register. 1: Clear Register 0 5 Suspend Timer Timeout READ: 0: SMI was not caused by a Suspend Timer Timeout 1: SMI was caused by a Suspend Timer Timeout WRITE: 0: No change to register. 1: Clear Register 0 4 Standby Timer Timeout READ: 0: SMI was not caused by a Standby Timer Timeout 1: SMI was caused by a Standby Timer Timeout WRITE: 0: No change to register. 1: Clear Register 0 3 PCI Master Request READ: 0: SMI was not caused by a PCI Master Request 1: SMI was caused by a PCI Master Request WRITE: 0: No change to register. 1: Clear Register 00 2 NMI (Non-maskable Interrupt) READ: 0: SMI was not caused by an NMI 1: SMI was caused by an NMI WRITE: 0: No change to register. 1: Clear Register 0 1 Programmable I/O Trap 2 READ: 0: SMI was not caused by a Programmable I/O Trap 2 1: SMI was caused by a Programmable I/O Trap 2 This Register bit is cleared automatically on a read. 0 0 Programmable I/O Trap 1 READ: 0: SMI was not caused by a Programmable I/O Trap 1 1: SMI was caused by a Programmable I/O Trap 1 This Register bit is cleared automatically on a read. 0 64 CY82C693UB PRELIMINARY Register 78: Power Management SMI Status Register #3 (Read/Write) − Index=78H Bit Function Default 7 Standby Timer Status when in GREENPC Mode: 0: Timer continues to count. 1: Timer expired and GREENPC mode has been entered. 0 6 Suspend Timer Status when in SUSGREENPC Mode: 0: Timer continues to count. 1: Timer expired and SUSGREENPC mode has been entered. 0 5 Interrupt Request READ: 0: SMI was not caused by an Interrupt Request 1: SMI was caused by an Interrupt Request This Register bit is cleared automatically on a read. If this bit is 0, registers F9H-FAH can be ignored. However, if this bit is 1, registers F9H–FAH contain valid status and should be cleared after being read. 0 4 DMA Request READ: 0: SMI was not caused by a DMA Request 1: SMI was caused by a DMA Request This Register bit is cleared automatically on a read. If this bit is 0, register FBH can be ignored. However, if this bit is 1, register FBH contains valid status and should be cleared after being read. 0 3 EPMI Asserted READ: 0: SMI was not caused by an EPMI Assertion 1: SMI was caused by an EPMI Assertion WRITE: 0: No change to register. 1: Clear Register 00 2 APMC Write READ: 0: SMI was not caused by an APMC Write 1: SMI was caused by an APMC Write WRITE: 0: No change to register. 1: Clear Register 0 1 Software SMI Assertion (Through Register E7H) READ: 0: SMI was not caused by a Software SMI Assertion 1: SMI was caused by a Software SMI Assertion WRITE: 0: No change to register. 1: Clear Register 0 0 User Timer 3 Timeout READ: 0: SMI was not caused by a User Timer 3 Timeout 1: SMI was caused by a User Timer 3 Timeout WRITE: 0: No change to register. 1: Clear Register 0 65 PRELIMINARY Register 79: Power Management Interrupt Request Status Register #1 (Read/Write) CY82C693UB − Index=79H Bit Function Default 7 Assertion of IRQ7 (Interrupt Request 7) 0: SMI was not caused by an IRQ7 1: SMI was caused by an IRQ7 WRITE: 0: No change to register 1: Clear Register 0 6 Assertion of IRQ6 (Interrupt Request 6) 0: SMI was not caused by an IRQ6 1: SMI was caused by an IRQ6 WRITE: 0: No change to register 1: Clear Register 0 5 Assertion of IRQ5 (Interrupt Request 5) 0: SMI was not caused by an IRQ5 1: SMI was caused by an IRQ5 WRITE: 0: No change to register 1: Clear Register 0 4 Assertion of IRQ4 (Interrupt Request 4) 0: SMI was not caused by an IRQ4 1: SMI was caused by an IRQ4 WRITE: 0: No change to register 1: Clear Register 0 3 Assertion of IRQ3 (Interrupt Request 3) 0: SMI was not caused by an IRQ3 1: SMI was caused by an IRQ3 WRITE: 0: No change to register 1: Clear Register 00 2 Assertion of INTR (Any Interrupt Request) 0: SMI was not caused by an INTR 1: SMI was caused by an INTR WRITE: 0: No change to register 1: Clear Register 0 1 Assertion of IRQ1 (Interrupt Request 1) 0: SMI was not caused by an IRQ1 1: SMI was caused by an IRQ1 WRITE: 0: No change to register 1: Clear Register 0 0 Assertion of IRQ0 (Interrupt Request 0) 0: SMI was not caused by an IRQ0 1: SMI was caused by an IRQ0 WRITE: 0: No change to register 1: Clear Register 0 66 PRELIMINARY Register 7A: Power Management Interrupt Request Status Register #2 (Read/Write) CY82C693UB − Index=7AH Bit Function Default 7 Assertion of IRQ15 (Interrupt Request 15) 0: SMI was not caused by an IRQ15 1: SMI was caused by an IRQ15 WRITE: 0: No change to register 1: Clear Register 0 6 Assertion of IRQ14 (Interrupt Request 14) 0: SMI was not caused by an IRQ14 1: SMI was caused by an IRQ14 WRITE: 0: No change to register 1: Clear Register 0 5 Assertion of IRQ13 (Interrupt Request 13) 0: SMI was not caused by an IRQ13 1: SMI was caused by an IRQ13 WRITE: 0: No change to register 1: Clear Register 0 4 Assertion of IRQ12 (Interrupt Request 12) 0: SMI was not caused by an IRQ12 1: SMI was caused by an IRQ12 WRITE: 0: No change to register 1: Clear Register 0 3 Assertion of IRQ11 (Interrupt Request 11) 0: SMI was not caused by an IRQ11 1: SMI was caused by an IRQ11 WRITE: 0: No change to register 1: Clear Register 00 2 Assertion of IRQ10 (Interrupt Request 10) 0: SMI was not caused by an IRQ10 1: SMI was caused by an IRQ10 WRITE: 0: No change to register 1: Clear Register 0 1 Assertion of IRQ9 (Interrupt Request 9) 0: SMI was not caused by an IRQ9 1: SMI was caused by an IRQ9 WRITE: 0: No change to register 1: Clear Register 0 0 Assertion of IRQ8 (Interrupt Request 8) 0: SMI was not caused by an IRQ8 1: SMI was caused by an IRQ8 WRITE: 0: No change to register 1: Clear Register 0 67 CY82C693UB PRELIMINARY Register 7B: Power Management DMA Request Status Register (Read/Write) − Index=7BH Bit Function Default 7 Assertion of DREQ7 (DMA Request 7) 0: SMI was not caused by a DREQ7 1: SMI was caused by a DREQ7 WRITE: 0: No change to register 1: Clear Register 0 6 Assertion of DREQ6 (DMA Request 6) 0: SMI was not caused by a DREQ6 1: SMI was caused by a DREQ6 WRITE: 0: No change to register 1: Clear Register 0 5 Assertion of DREQ5 (DMA Request 5) 0: SMI was not caused by a DREQ5 1: SMI was caused by a DREQ5 WRITE: 0: No change to register 1: Clear Register 0 4 Assertion of DREQ (Any DMA Request) 0: SMI was not caused by a DREQ 1: SMI was caused by a DREQ WRITE: 0: No change to register 1: Clear Register 0 3 Assertion of DREQ3 (DMA Request 3) 0: SMI was not caused by a DREQ3 1: SMI was caused by a DREQ3 WRITE: 0: No change to register 1: Clear Register 00 2 Assertion of DREQ2 (DMA Request 2) 0: SMI was not caused by a DREQ2 1: SMI was caused by a DREQ2 WRITE: 0: No change to register 1: Clear Register 0 1 Assertion of DREQ1 (DMA Request 1) 0: SMI was not caused by a DREQ1 1: SMI was caused by a DREQ1 WRITE: 0: No change to register 1: Clear Register 0 0 Assertion of DREQ0 (DMA Request 0) 0: SMI was not caused by a DREQ0 1: SMI was caused by a DREQ0 WRITE: 0: No change to register 1: Clear Register 0 68 PRELIMINARY CY82C693UB Register 7C: Reserved − Index=7CH Bit Function Default 7:0 Reserved 00000000 Register 7D: Reserved − Index=7DH Bit Function Default 7:0 Reserved 00000000 Register 7E: Reserved − Index=7EH Bit Function Default 7:0 Reserved 00000000 Register 7F: Reserved − Index=7FH Bit Function Default 7:0 Reserved 00000000 69 PRELIMINARY CY82C693UB Special I/O Port Registers The following ports are used for special functions. They are accessed by performing I/O transactions to the address specified. Port 61: System Control Port B, NMI (Read/Write) - I/O Address=061H Bit Function Default 7 Read Only. PCI System Error (SERR) check: 0: No error 1: PCI SERR detected 0 6 Read Only. I/O channel check: 0: No error 1: I/O channel error detected (ISA IOCHK signal asserted) 0 5 Read Only. Timer 2 output: 0: Timer 2 (speaker) output is low 1: Timer 2 output is high 0 4 Read Only. Refresh detection: 0: Refresh request not detected 1: Refresh request detected 0 3 Read/Write port. I/O channel check: 0: Enable I/O channel check 1: Disable I/O channel check When enabled an I/O channel error will generate an NMI to the CPU. 0 2 Read/Write port. PCI System Error (SERR) check: 0: Enable PCI SERR check 1: Disable PCI SERR check When enabled a PCI system error will generate an NMI to the CPU. 0 1 Read/Write port. Speaker data. 0 0 Read/Write. Timer 2 speaker gate: 0: Timer 2 speaker gate disabled 1: Timer 2 speaker gate enabled 0 Port 70: RTC/Configuration RAM Address Port, NMI (Write) - I/O Address=070H Bit Function Default 7 NMI reporting: 0: Enable NMI reporting 1: Disable NMI reporting Sources of NMI can be either from ISA I/O channel error or PCI SERR depending on bits 3 and 2 of register port 61. 0 6:0 Extended CMOS RAM See CY82C693UB Real-Time Clock Register section. 0000000 Port 92: PS/2 Reset Control (Read/Write) - I/O Address=092H Bit Function Default 7:2 Reserved 00000000 1 GTA20 Control: 0: Activate GTA20. 1: Deactivate GTA20. 0 0 Fast Reset Control: 0: INIT deactivated. Will occur automatically after reset timer expires. 1: Assert INIT. 0 70 PRELIMINARY CY82C693UB Port B2: APM Control Port (Read/Write) - I/O Address=0B2H Bit Function Default 7:0 This Read/Write Port can be used for APM software. A write to this register will generate an SMI. 00000000 Port B3: APM Status Port (Read/Write) - I/O Address=0B3H Bit Function Default 7:0 This Read/Write Port can be used for APM software. 00000000 71 CY82C693UB PRELIMINARY CY82C693UB DMA Controller Registers ACTIVE State. The ACTIVE State will be entered when a valid DMA request is recognized by the CY82C693UB. During 8-bit DMA transfers, DMAC1 places the memory address bits on Address 0 through 15. For 16-bit DMA transfers, DMAC2 places the memory address bits on Address 1 through 16 (Address 0 is zero for 16-bit transfers). The page address bits are placed on Address 17 through 23. There are two DMA controllers cascaded together inside the CY82C693UB. (DMAC1 and DMAC2). Each DMA Controller contains four channels. DMAC1 controls the 8-bit DMA operations and DMAC2 controls 16-bit DMA operations. Channel 0 of DMAC2 provides the cascade between the two controllers, and therefore, may not be used for DMA data transfers. DMAC1’s DMA request and acknowledge signals correspond to the DREQ0–DREQ3 and DACK0–DACK3 signals. DMAC2’s DMA request and acknowledge signals correspond to the DREQ5–DREQ7 and DACK5–DACK7 signals. DMA registers 0 through 7 provide access to each channel’s Current Address Register, Current Word Count Register, Base Address Register, and Base Word Count Register. The Current Address Register contains the 16-bit address used during transfers. The value in the Current Address Register is either incremented or decremented (programmable) to provide the transfer addresses. Channel 0 will hold its address (without incrementing or decrementing) by setting the Address Hold Bit in the Command Register. If Autoinitializtion is selected, the Current Address Register is reloaded with the contents of the Base Address Register when the terminal count is reached in the Current Word Count Register. The Current Word Count Register contains the number of transfers to perform. This register is decremented with each transfer. The terminal count will be reached on the transition of this register from 0000H to FFFFH. Therefore, the actual number of transfers will be one more than the value loaded in the Current Word Count Register. When the terminal count is reached, the channel will be suspended and either masked or autoinitialized. The Base Address Register is write-only and is loaded along with the Current Address Register. This register stores the initial value of the Current Address Register and will reload its contents into the Current Address Register when the terminal count is reached if autoinitialization is selected. Likewise, the Base Word Count Register is used to reload the Current Word Count Register with its initial value if autoinitialization is programmed. The internal registers for the CY82C693UB DMA controllers are defined in this section. The registers can be accessed by performing I/O reads and writes to Addresses 000H through 00FH (for DMAC1) and Addresses 0C0H through 0CFH (for DMAC2). The DMA Page (Upper Order DMA address bits are controlled using I/O addresses 080H–08FH). All DMAC registers are eight bits (1 byte) wide. Performing I/O accesses to these address ranges will place the corresponding DMA controller into its Program State. The DMA controller register address space has been increased using an additional address flip-flop. The flip-flop toggles every time an access occurs to the DMA word count or DMA address registers. The flip-flop is cleared by the assertion of the CPURST signal (from the CY82C693UB) or a MASTER CLEAR from the DMA registers. The flip-flop can also be programmed by an access to the flip-flop control register. The DMA channels within the controllers should be masked prior to entering the Program State to insure that a DMA access is not attempted to a partially programmed channel. After the DMA controllers are programmed, they should be unmasked. This will allow the DMA controllers to enter the - DMA Register 0: DMAC1 Channel 0 Current Address Register (Read/Write) - I/O Address=000H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Address Register 0 1 1 Read High Byte of Current Address Register 1 0 0 Write Low Byte of Base Address Register and Current Address Register 1 0 1 Write High Byte of Base Address Register and Current Address Register DMA Register 1: DMAC1 Channel 0 Current Word Count Register (Read/Write) - I/O Address=001H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Word Count Register 0 1 1 Read High Byte of Current Word Count Register 1 0 0 Write Low Byte of Base Word Count Register and Current Word Count Register 1 0 1 Write High Byte of Base Word Count Register and Current Word Count Register DMA Register 2: DMAC1 Channel 1 Current Address Register (Read/Write) - I/O Address=002H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Address Register 0 1 1 Read High Byte of Current Address Register 1 0 0 Write Low Byte of Base Address Register and Current Address Register 1 0 1 Write High Byte of Base Address Register and Current Address Register 72 PRELIMINARY CY82C693UB DMA Register 3: DMAC1 Channel 1 Current Word Count Register (Read/Write) - I/O Address=003H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Word Count Register 0 1 1 Read High Byte of Current Word Count Register 1 0 0 Write Low Byte of Base Word Count Register and Current Word Count Register 1 0 1 Write High Byte of Base Word Count Register and Current Word Count Register DMA Register 4: DMAC1 Channel 2 Current Address Register (Read/Write) - I/O Address=004H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Address Register 0 1 1 Read High Byte of Current Address Register 1 0 0 Write Low Byte of Base Address Register and Current Address Register 1 0 1 Write High Byte of Base Address Register and Current Address Register DMA Register 5: DMAC1 Channel 2 Current Word Count Register (Read/Write) - I/O Address=005H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Word Count Register 0 1 1 Read High Byte of Current Word Count Register 1 0 0 Write Low Byte of Base Word Count Register and Current Word Count Register 1 0 1 Write High Byte of Base Word Count Register and Current Word Count Register DMA Register 6: DMAC1 Channel 3 Current Address Register (Read/Write) - I/O Address=006H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Address Register 0 1 1 Read High Byte of Current Address Register 1 0 0 Write Low Byte of Base Address Register and Current Address Register 1 0 1 Write High Byte of Base Address Register and Current Address Register DMA Register 7: DMAC1 Channel 3 Current Word Count Register (Read/Write) - I/O Address=007H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Word Count Register 0 1 1 Read High Byte of Current Word Count Register 1 0 0 Write Low Byte of Base Word Count Register and Current Word Count Register 1 0 1 Write High Byte of Base Word Count Register and Current Word Count Register DMA Register 8: DMAC1 Status/Command Register (Read/Write) - I/O Address=008H I/O Read I/O Write Flip-Flop State Function 0 1 X Read Status Register 1 0 X Write Command Register 73 PRELIMINARY CY82C693UB Status Register Format (Read Only) Bit Function Default 7 DMA Request for Channel 3: 0: No DMA request is pending for Channel 3 1: DMA request is pending for Channel 3 This bit is cleared by CPURST, Master Clear, or on the deassertion of the DMA Request. This bit will not be masked (even if the channel is masked). 0 6 DMA Request for Channel 2: 0: No DMA request is pending for Channel 2 1: DMA request is pending for Channel 2 This bit is cleared by CPURST, Master Clear, or on the deassertion of the DMA Request. This bit will not be masked (even if the channel is masked). 0 5 DMA Request for Channel 1: 0: No DMA request is pending for Channel 1 1: DMA request is pending for Channel 1 This bit is cleared by CPURST, Master Clear, or on the deassertion of the DMA Request. This bit will not be masked (even if the channel is masked). 0 4 DMA Request for Channel 0: 0: No DMA request is pending for Channel 0 1: DMA request is pending for Channel 0 This bit is cleared by CPURST, Master Clear, or on the deassertion of the DMA Request. This bit will not be masked (even if the channel is masked). 0 3 Terminal Count Status on Channel 3: 0: Terminal Count Not Reached on Channel 3 1: Terminal Count Reached on Channel 3 This bit is cleared by CPURST, Master Clear, or on a Status Register Read. 0 2 Terminal Count Status on Channel 2: 0: Terminal Count Not Reached on Channel 2 1: Terminal Count Reached on Channel 2 This bit is cleared by CPURST, Master Clear, or on a Status Register Read. 0 1 Terminal Count Status on Channel 1: 0: Terminal Count Not Reached on Channel 1 1: Terminal Count Reached on Channel 1 This bit is cleared by CPURST, Master Clear, or on a Status Register Read. 0 0 Terminal Count Status on Channel 0: 0: Terminal Count Not Reached on Channel 0 1: Terminal Count Reached on Channel 0 This bit is cleared by CPURST, Master Clear, or on a Status Register Read. 0 74 PRELIMINARY CY82C693UB Command Register Format (Write Only) Bit Function Default 7 DMA Acknowledge Signal Active Level Control: 0: DACK signals are active LOW 1: DACK signals are active HIGH 0 6 DMA Request Signal Active Level Control: 0: DREQ signals are active HIGH 1: DREQ signals are active LOW 0 5 Reserved, Must be 0 0 4 DMA Priority Control: 0: DMA Requests will be honored according to fixed priority (Channel 0 has highest priority/Channel 7 has lowest priority) 1: DMA Requests will be honored according to rotating priority (Every time a channel is acknowledged, it rotates to lowest priority) 0 3 DMA Compressed Timing Control: 0: Disable Compressed Timing 1: Enable Compressed Timing Normal DMA word transfers take 4 DMA clock cycles. Compressed timing causes the command signals and the terminal count signal to be asserted one cycle earlier. This allows the entire DMA transfer to be compressed to 3 DMA clock cycles. 0 2 DMA Controller Disable Control: 0 0: Normal Operation 1: Disable DMA Controllers Disabling the DMA Controllers prevents DMA cycles from occurring during channel programming. 1 Address Hold Control: 0: Normal Operation 1: Force the value in Channel 0’s Current Address Register to remain the same (no increment or decrement). Used for memory to memory transfers. 0 0 Memory to Memory Transfer Control: 0: Normal Operation 1: Channel 0 and channel 1 will be used for memory to memory transfers. 0 DMA Register 9: DMAC1 DMA Request Register (Write Only) - I/O Address=009H I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Write DMA Request Register DMA Request Register Write Format. (This Register is used to generate DMA requests through software. Multiple Software requests can be generated with separate writes to this register. Software DMA Requests cannot be masked. Bit Function Default 7:3 Reserved 00000 2 DMA Request Generation Control: 0: Do not generate a DMA Request 1: Force a DMA Request on the channel specified by bits[1:0]. 0 1:0 DMA Request Channel Selector: 00: Channel 0 01: Channel 1 10: Channel 2 11: Channel 3 00 75 PRELIMINARY CY82C693UB DMA Register 10: DMAC1 DMA Command/Mask Register (Write Only) - I/O Address=00AH I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Write single-bit in DMA Request Mask Register (leaving the rest unchanged) DMA Request Mask Register Write Single Bit Format. (This Register is used to mask DMA requests through software. Single-bit Software request masks can be generated with separate writes to this register or all channels can be masked using DMA Register 15.) Bit Function Default 7:3 Reserved 00000 2 DMA Request Mask Generation Control: 0: Clear the mask on the channel specified by bits[1:0] 1: Force a DMA Request on the channel specified by bits[1:0]. 0 1:0 DMA Request Mask Channel Selector: 00: Channel 0 01: Channel 1 10: Channel 2 11: Channel 3 00 DMA Register 11: DMAC1 DMA Mode Register (Write Only) - I/O Address=00BH I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Write Mode Register 76 PRELIMINARY CY82C693UB Mode Register Format. (Should be programmed for each channel.) Bit Function Default 7:6 DMA Mode Selection Control: 00: Demand Transfer Mode 01: Single Transfer Mode 10: Block Transfer Mode 11: Cascade Mode See DMA Controller description for details about each mode. 00 5 Counter Direction Control: 0: Increment Address Counter After Each Transfer 1: Decrement Address Counter After Each Transfer 0 4 Autoinitialization Control: 0: Disable Autoinitialization 1: Enable Autoinitialization Autoinitialization will restore the initial values into the Current Address Register and Word Count Register when the terminal count is reached. The channel will not automatically be masked if it is autoinitialized. 0 3:2 DMA Transfer Type Selection Control: 00: Verify Transfer 01: Write Transfer 10: Read Transfer 11: Undefined (DO NOT USE) See DMA Controller description for details about each transfer type. 00 1:0 Channel Selector: 00 00: Channel 0 01: Channel 1 10: Channel 2 11: Channel 3 Each DMA channel has its own mode register, but they are all accessed through I/O Address 00BH. For Mode Register writes, bits[1:0] control which channel’s mode register will be written. To read each channel’s mode register, four sequential reads will walk through all of the mode registers. Clearing the Mode Register Counter (DMA Register 14) will start the read sequence at a known state (channel 0). During reads, the channel selector bits will be 11 regardless of the channel. DMA Register 12: DMAC1 Address Space Expansion Flip-Flop Control Register (Write Only) - I/O Address=00CH I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Clear Flip-Flop (Flip-Flop=0). This is a special command. The data lines are ignored. DMA Register 13: DMAC1 Master Clear Register (Write Only) - I/O Address=00DH I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Perform Master Clear. This is a special command. The data lines are ignored. DMA Register 14: DMAC1 DMA Mask Clear Register (Write Only) - I/O Address=00EH I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Clear DMA Request Mask Bits (Unmask all DMA requests). This is a special command. The data lines are ignored. 77 PRELIMINARY CY82C693UB DMA Register 15: DMAC1 Request Mask Register Control (Read/Write) - I/O Address=00FH I/O Read I/O Write Flip-Flop State Function 0 1 X Read All bits of DMA Request Mask Register 1 0 X Write All bits of DMA Request Mask Register DMA Request Mask Register Read and Write All Bits Format (This register is cleared on CPURST.) Bit Function Default 7:4 Reserved 0000 3 DMA Channel 3 Request Mask: 0: Channel 3 Not Masked 1: Channel 3 Masked 0 2 DMA Channel 2 Request Mask: 0: Channel 2 Not Masked 1: Channel 2 Masked 0 1 DMA Channel 1 Request Mask: 0: Channel 1 Not Masked 1: Channel 1 Masked 0 0 DMA Channel 0 Request Mask: 0: Channel 0 Not Masked 1: Channel 0 Masked 0 DMA Register 16: DMAC2 Channel 0 (Channel 4) Current Address Register (Read/Write) - I/O Address=0C0H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Address Register 0 1 1 Read High Byte of Current Address Register 1 0 0 Write Low Byte of Base Address Register and Current Address Register 1 0 1 Write High Byte of Base Address Register and Current Address Register DMA Register 17: DMAC2 Channel 0 (Channel 4) Current Word Count Register (Read/Write) - I/O Address=0C2H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Word Count Register 0 1 1 Read High Byte of Current Word Count Register 1 0 0 Write Low Byte of Base Word Count Register and Current Word Count Register 1 0 1 Write High Byte of Base Word Count Register and Current Word Count Register DMA Register 18: DMAC2 Channel 1 (Channel 5) Current Address Register (Read/Write) - I/O Address=0C4H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Address Register 0 1 1 Read High Byte of Current Address Register 1 0 0 Write Low Byte of Base Address Register and Current Address Register 1 0 1 Write High Byte of Base Address Register and Current Address Register 78 PRELIMINARY CY82C693UB DMA Register 19: DMAC2 Channel 1 (Channel 5) Current Word Count Register (Read/Write) - I/O Address=0C6H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Word Count Register 0 1 1 Read High Byte of Current Word Count Register 1 0 0 Write Low Byte of Base Word Count Register and Current Word Count Register 1 0 1 Write High Byte of Base Word Count Register and Current Word Count Register DMA Register 20: DMAC2 Channel 2 (Channel 6) Current Address Register (Read/Write) - I/O Address=0C8H I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Address Register 0 1 1 Read High Byte of Current Address Register 1 0 0 Write Low Byte of Base Address Register and Current Address Register 1 0 1 Write High Byte of Base Address Register and Current Address Register DMA Register 21: DMAC2 Channel 2 (Channel 6) Current Word Count Register (Read/Write) - I/O Address=0CAH I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Word Count Register 0 1 1 Read High Byte of Current Word Count Register 1 0 0 Write Low Byte of Base Word Count Register and Current Word Count Register 1 0 1 Write High Byte of Base Word Count Register and Current Word Count Register DMA Register 22: DMAC2 Channel 3 (Channel 7) Current Address Register (Read/Write) - I/O Address=0CCH I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Address Register 0 1 1 Read High Byte of Current Address Register 1 0 0 Write Low Byte of Base Address Register and Current Address Register 1 0 1 Write High Byte of Base Address Register and Current Address Register DMA Register 23: DMAC2 Channel 3 (Channel 7) Current Word Count Register (Read/Write) - I/O Address=0CEH I/O Read I/O Write Flip-Flop State Function 0 1 0 Read Low Byte of Current Word Count Register 0 1 1 Read High Byte of Current Word Count Register 1 0 0 Write Low Byte of Base Word Count Register and Current Word Count Register 1 0 1 Write High Byte of Base Word Count Register and Current Word Count Register DMA Register 24: DMAC2 Status/Command Register (Read/Write) - I/O Address=0D0H I/O Read I/O Write Flip-Flop State Function 0 1 X Read Status Register 1 0 X Write Command Register 79 PRELIMINARY CY82C693UB Status Register Format (Read Only) Bit Function Default 7 DMA Request for Channel 7: 0: No DMA request is pending for Channel 7 1: DMA request is pending for Channel 7 This bit is cleared by CPURST, Master Clear, or on the deassertion of the DMA Request. This bit will not be masked (even if the channel is masked). 0 6 DMA Request for Channel 6: 0: No DMA request is pending for Channel 6 1: DMA request is pending for Channel 6 This bit is cleared by CPURST, Master Clear, or on the deassertion of the DMA Request. This bit will not be masked (even if the channel is masked). 0 5 DMA Request for Channel 5: 0: No DMA request is pending for Channel 5 1: DMA request is pending for Channel 5 This bit is cleared by CPURST, Master Clear, or on the deassertion of the DMA Request. This bit will not be masked (even if the channel is masked). 0 4 DMA Request for Channel 4: 0: No DMA request is pending for Channel 4 1: DMA request is pending for Channel 4 This bit is cleared by CPURST, Master Clear, or on the deassertion of the DMA Request. This bit will not be masked (even if the channel is masked). 0 3 Terminal Count Status on Channel 7: 0: Terminal Count Not Reached on Channel 7 1: Terminal Count Reached on Channel 7 This bit is cleared by CPURST, Master Clear, or on a Status Register Read. 0 2 Terminal Count Status on Channel 6: 0: Terminal Count Not Reached on Channel 6 1: Terminal Count Reached on Channel 6 This bit is cleared by CPURST, Master Clear, or on a Status Register Read. 0 1 Terminal Count Status on Channel 5: 0: Terminal Count Not Reached on Channel 5 1: Terminal Count Reached on Channel 5 This bit is cleared by CPURST, Master Clear, or on a Status Register Read. 0 0 Terminal Count Status on Channel 4: 0: Terminal Count Not Reached on Channel 4 1: Terminal Count Reached on Channel 4 This bit is cleared by CPURST, Master Clear, or on a Status Register Read. 0 80 PRELIMINARY CY82C693UB Command Register Format (Write Only) Bit Function Default 7 DMA Acknowledge Signal Active Level Control: 0: DACK signals are active LOW 1: DACK signals are active HIGH 0 6 DMA Request Signal Active Level Control: 0: DREQ signals are active HIGH 1: DREQ signals are active LOW 0 5 Reserved, Must be 0 0 4 DMA Priority Control: 0 0: DMA Requests will be honored according to fixed priority (Channel 0 has highest priority/Channel 7 has lowest priority) 1: DMA Requests will be honored according to rotating priority (Every time a channel is acknowledged, it rotates to lowest priority) 3 DMA Compressed Timing Control: 0: Disable Compressed Timing 1: Enable Compressed Timing Normal DMA word transfers take 4 DMA clock cycles. Compressed timing causes the command signals and the terminal count signal to be asserted one cycle earlier. This allows the entire DMA transfer to be compressed to 3 DMA clock cycles. 2 DMA Controller Disable Control: 0 0: Normal Operation 1: Disable DMA Controllers Disabling the DMA Controllers prevents DMA cycles from occurring during channel programming. 1 Address Hold Control: 0: Normal Operation 1: Force the value in Channel 0’s Current Address Register to remain the same (no increment or decrement). Used for memory to memory transfers. 0 0 Memory to Memory Transfer Control: 0: Normal Operation 1: Channel 0 and channel 1 will be used for memory to memory transfers. 0 0 DMA Register 25: DMAC2 DMA Request Register (Write Only) - I/O Address=0D2H I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Write DMA Request Register DMA Request Register Write Format (This Register is used to generate DMA requests through software. Multiple Software requests can be generated with separate writes to this register. Software DMA Requests cannot be masked.) Bit Function Default 7:3 Reserved 00000 2 DMA Request Generation Control: 0: Do not generate a DMA Request 1: Force a DMA Request on the channel specified by bits[1:0]. 0 1:0 DMA Request Channel Selector: 00: Channel 4 01: Channel 5 10: Channel 6 11: Channel 7 00 81 PRELIMINARY CY82C693UB DMA Register 26: DMAC2 DMA Command/Mask Register (Write Only) - I/O Address=0D4H I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Write single-bit in DMA Request Mask Register (leaving the rest unchanged) DMA Request Mask Register Write Single Bit Format (This Register is used to mask DMA requests through software. Single-bit Software request masks can be generated with separate writes to this register or all channels can be masked using DMA Register 15.) Bit Function Default 7:3 Reserved 00000 2 DMA Request Mask Generation Control: 0: Clear the mask on the channel specified by bits[1:0] 1: Force a DMA Request on the channel specified by bits[1:0]. 0 1:0 DMA Request Mask Channel Selector: 00: Channel 4 01: Channel 5 10: Channel 6 11: Channel 7 00 DMA Register 27: DMAC2 DMA Mode Register (Write Only) - I/O Address=0D6H I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Write Mode Register 82 PRELIMINARY CY82C693UB Mode Register Format (Should be programmed for each channel.) Bit Function Default 7:6 DMA Mode Selection Control: 00: Demand Transfer Mode 01: Single Transfer Mode 10: Block Transfer Mode 11: Cascade Mode See DMA Controller description for details about each mode. 00 5 Counter Direction Control: 0: Increment Address Counter After Each Transfer 1: Decrement Address Counter After Each Transfer 0 4 Autoinitialization Control: 0: Disable Autoinitialization 1: Enable Autoinitialization Autoinitialization will restore the initial values into the Current Address Register and Word Count Register when the terminal count is reached. The channel will not automatically be masked if it is autoinitialized. 0 3:2 DMA Transfer Type Selection Control: 00: Verify Transfer 01: Write Transfer 10: Read Transfer 11: Undefined (DO NOT USE) See DMA Controller description for details about each transfer type. 00 1:0 Channel Selector: 00 00: Channel 0 01: Channel 1 10: Channel 2 11: Channel 3 Each DMA channel has its own mode register, but they are all accessed through I/O Address 00BH. For Mode Register writes, bits[1:0] control which channel’s mode register will be written. To read each channel’s mode register, four sequential reads will walk through all of the mode registers. Clearing the Mode Register Counter (DMA Register 14) will start the read sequence at a known state (channel 0). During reads, the channel selector bits will be 11 regardless of the channel. DMA Register 28: DMAC2 Address Space Expansion Flip-Flop Control Register (Write Only) - I/O Address=0D8H I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Clear Flip-Flop (Flip-Flop=0). This is a special command. The data lines are ignored. DMA Register 29: DMAC2 Master Clear Register (Write Only) - I/O Address=0DAH I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Perform Master Clear. This is a special command. The data lines are ignored. DMA Register 30: DMAC2 DMA Mask Clear Register (Write Only) - I/O Address=0DCH I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Clear DMA Request Mask Bits (Unmask all DMA requests). This is a special command. The data lines are ignored. 83 CY82C693UB PRELIMINARY DMA Register 31: DMAC2 Request Mask Register Control (Read/Write) - I/O Address=0DEH I/O Read I/O Write Flip-Flop State Function 0 1 X Read DMA Request Mask Register 1 0 X Write DMA Request Mask Register DMA Request Mask Register Read and Write All Bits Format (This register is cleared on CPURST.) Bit Function Default 7:4 Reserved 0000 3 DMA Channel 7 Request Mask: 0: Channel 7 Not Masked 1: Channel 7 Masked 0 2 DMA Channel 6 Request Mask: 0: Channel 6 Not Masked 1: Channel 6 Masked 0 1 DMA Channel 5 Request Mask: 0: Channel 5 Not Masked 1: Channel 5 Masked 0 0 DMA Channel 4 Request Mask: 0: Channel 4 Not Masked 1: Channel 4 Masked 0 DMA Register 32: DMAC1 Channel 2 Page Address Register (Read/Write) − Index=081H Bit Function Default 7:0 Page Address (Address bits 23-16) for DMAC1 (8-bit DMA Controller), Channel 2 00000000 DMA Register 33: DMAC1 Channel 3 Page Address Register (Read/Write) − Index=082H Bit Function Default 7:0 Page Address (Address bits 23-16) for DMAC1 (8-bit DMA Controller), Channel 3 00000000 DMA Register 34: DMAC1 Channel 1 Page Address Register (Read/Write) − Index=083H Bit Function Default 7:0 Page Address (Address bits 23-16) for DMAC1 (8-bit DMA Controller), Channel 1 00000000 DMA Register 35: DMAC1 Channel 0 Page Address Register (Read/Write) − Index=087H Bit Function Default 7:0 Page Address (Address bits 23-16) for DMAC1 (8-bit DMA Controller), Channel 0 00000000 DMA Register 36: DMAC2 Channel 6 Page Address Register (Read/Write) − Index=089H Bit Function Default 7:0 Page Address (Address bits 23-16) for DMAC2 (16-bit DMA Controller), Channel 6 00000000 DMA Register 37: DMAC2 Channel 7 Page Address Register (Read/Write) − Index=08AH Bit Function Default 7:0 Page Address (Address bits 23-16) for DMAC2 (16-bit DMA Controller), Channel 7 00000000 84 CY82C693UB PRELIMINARY DMA Register 38: DMAC2 Channel 5 Page Address Register (Read/Write) − Index=08BH Bit Function Default 7:0 Page Address (Address bits 23–16) for DMAC2 (16-bit DMA Controller), Channel 5 00000000 DMA Register 39: DMAC1 Extended Mode Control (Write Only) − I/O Address=40BH I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Write DMA Request Mask Register DMAC1 Extended Mode Control Register Format (This register is cleared on CPURST.) Bit Function Default 7:6 Reserved 00 5:4 DMA Cycle Timing Mode: 00: Compatible Timing 01: Type “A” Timing 10: Type “B” Timing 11: Type “F” Timing 00 3 DMA Channel 3 Select: 0: Channel 3 Not Selected 1: Channel 3 Selected 0 2 DMA Channel 2 Select: 0: Channel 2 Not Selected 1: Channel 2 Selected 0 1 DMA Channel 1 Select: 0: Channel 1 Not Selected 1: Channel 1 Selected 0 0 DMA Channel 0 Select: 0: Channel 0 Not Selected 1: Channel 0 Selected 0 DMA Register 40: DMAC1 Channel 2 High Page Address Register (Read/Write) − Index=481H Bit Function Default 7:0 High Page Address (Address bits 31–24) for DMAC1 (8-bit DMA Controller), Channel 2 00000000 DMA Register 41: DMAC1 Channel 3 High Page Address Register (Read/Write) − Index=482H Bit Function Default 7:0 High Page Address (Address bits 31–24) for DMAC1 (8-bit DMA Controller), Channel 3 00000000 DMA Register 42: DMAC1 Channel 1 High Page Address Register (Read/Write) − Index=483H Bit Function Default 7:0 High Page Address (Address bits 31–24) for DMAC1 (8-bit DMA Controller), Channel 1 00000000 DMA Register 43: DMAC1 Channel 0 High Page Address Register (Read/Write) − Index=487H Bit Function Default 7:0 High Page Address (Address bits 31–24) for DMAC1 (8-bit DMA Controller), Channel 0 00000000 85 CY82C693UB PRELIMINARY DMA Register 44: DMAC2 Channel 6 High Page Address Register (Read/Write) − Index=489H Bit Function Default 7:0 High Page Address (Address bits 31−24) for DMAC2 (16-bit DMA Controller), Channel 6 00000000 DMA Register 45: DMAC2 Channel 7 High Page Address Register (Read/Write) − Index=48AH Bit Function Default 7:0 High Page Address (Address bits 31−24) for DMAC2 (16-bit DMA Controller), Channel 7 00000000 DMA Register 46: DMAC2 Channel 5 High Page Address Register (Read/Write) − Index=48BH Bit Function Default 7:0 High Page Address (Address bits 31−24) for DMAC2 (16-bit DMA Controller), Channel 5 00000000 DMA Register 47: DMAC2 Extended Mode Control (Write Only) - I/O Address=4D6H I/O Read I/O Write Flip-Flop State Function 0 1 X Undefined 1 0 X Write DMA Request Mask Register DMAC2 Extended Mode Control Register Format (This register is cleared on CPURST.) Bit Function Default 7:6 Reserved 00 5:4 DMA Cycle Timing Mode: 00: Compatible Timing 01: Type “A” Timing 10: Type “B” Timing 11: Type “F” Timing 00 3 DMA Channel 7 Select: 0: Channel 7 Not Selected 1: Channel 7 Selected 0 2 DMA Channel 6 Select: 0: Channel 6 Not Selected 1: Channel 6 Selected 0 1 DMA Channel 5 Select: 0: Channel 5 Not Selected 1: Channel 5 Selected 0 0 DMA Channel 4 Select: 0: Channel 4 Not Selected 1: Channel 4 Selected 0 86 CY82C693UB PRELIMINARY CY82C693UB IDE (Bus Mastering) DMA Controller Registers ming the starting location of the linked-list into the DMA controller itself. The controller will issue master cycles on PCI to gather and load the DMA information (word count and starting address). After each DMA terminal count is reached, the next entry in the linked-list is loaded until the end of the list is reached. The CY82C693UB supports two channels of DMA for the IDE controller. IDE DMA is compatible with SFF-8038i (the Small Form Factor Committee specification defining bus mastering on IDE). Only 16-bit DMA operation is supported. Some DMA IDE Registers are referenced to a Base Address + an offset. The base address should be programmed in PCI configuration space (see the “Bus Master IDE I/O Base Address Register”). The IDE DMA controller supports scatter-gather. Scatter-gather operation requires setting up a linked list of DMA information in memory (Physical Region Descriptor Table) and programSFF-8038i Registers Offset from Base Address Register R/W 00H Bus Master IDE Command Register (Primary Channel) Readable/ Writable 01H Reserved Do not access 02H Bus Master IDE Status Register (Primary Channel) Readable/ WritableWriting a 1 clears the corresponding bit. 03H Reserved Do not access 04H-07H Bus Master IDE Descriptor Table Pointer Register (Primary Channel) Readable/ Writable 08H Bus Master IDE Command Register (Secondary Channel) Readable/ Writable 09H Reserved Do not access 0AH Bus Master IDE Status Register (Secondary Channel) Readable/ WritableWriting a 1 clears the corresponding bit. 0BH Reserved Do not access 0CH-0FH Bus Master IDE Descriptor Table Pointer Register (Secondary Channel) Readable/ Writable Bus Master IDE Command Register Format (Offset+00H for Primary Channel; Offset +08H for Secondary Channel) Bit Function Default 7:4 Reserved 0000 3 Bus Master (DMA) Transfer Direction: 0: PCI bus master read. 1: PCI bus master write. NOTE: This bit must NOT be changed when the bus master function is active. 0 2:1 Reserved 00 0 Start/Stop Bus Master Transfer: Bus Master operation begins when this bit is written from a 0 to a 1. The controller will transfer data between the IDE device and memory when this bit is set. Master operation can be halted by writing a 0 to this bit. All state information is lost when a master operation is halted. Therefore, master operations cannot be halted and then resumed. 0 87 PRELIMINARY CY82C693UB Bus Master IDE Status Register Format (Offset+02H for Primary Channel; Offset +0AH for Secondary Channel) Bit Function Default 7 Simplex Status (Read Only): 0: Two channels operate independently and can be used at the same time. 1: Only one channel may be used at a time. 0 6 Drive 1 DMA Capability Status: 0: Drive 1 is not capable of DMA transfers. 1: Drive 1 is capable of DMA transfers. 0 5 Drive 0 DMA Capability Status: 0: Drive 0 is not capable of DMA transfers. 1: Drive 0 is capable of DMA transfers. 0 4:3 Reserved 00 2 IDE Interrupt Pending: 0: No IDE Interrupt Pending 1: IDE Interrupt Pending. Writing a ‘1’ to this bit will reset the status to “No IDE Interrupt Pending”. 0 1 IDE DMA Error Encountered: 0: No Error Detected 1: An Error Occurred in the Transfer of Data to/from Memory. Writing a ‘1’ to this bit will reset the status to “No IDE Interrupt Pending”. 0 0 Bus Master IDE Active: 0: There is no bus master active on IDE. 1: The Start Bit has been set in the Command Register. This bit is cleared when the last transfer for a region is performed, where EOT for that region is set in the region descriptor. It is also cleared when the Start Bit is cleared in the Command Register. When this bit is read as ’0’, all data transferred from the drive during the previous bus master command is visible in system memory, unless the bus master command was aborted. 0 Bus Master IDE Descriptor Table Pointer Register Format (Offset+04H-07H for Primary Channel; Offset +0CH-0FH for Secondary Channel) Bit Function Default 31:2 Base Address of the Descriptor Table. Corresponds to PAD[31:2] of the address that the controller will read from to obtain the first Descriptor Table Entry. 00000000H 1:0 Reserved 00 Bus Master IDE I/O Base Address Register (PCI Configuration Space, function 1, register address 20-23H) Bit Function Default 31:16 Reserved 0000H 15:4 Bus Master Interface Base Address: This sets the Base Address (Corresponding to PAD[15:4]) that will be added with an offset value to access the SFF-8038i Registers. 0000H 3:2 Reserved, hardwired to 00 00 1 Reserved 0 0 Resource Type Indicator (Read Only): This bit is hardwired to ’1’ indicating that the base address field in this register maps to I/O space. 0 88 PRELIMINARY CY82C693UB hyperCache Specific (Not Required by SFF-8038i) Registers The following registers define options/functions that are not explicitly covered by the SFF-8038i spec. Nonetheless, these registers should be programmed for complete operation. Bus Master IDE Channel 0 Configuration Register (I/O Address 22H with Data = 30 (Index Port); I/O Address 23H is the Data Port) Bit Function Default 7:3 Reserved. Will Return ’00000’ on read. 00000 2 IDE DMA Transfer Mode: 0: Multiple 1: Single 0 1:0 IDE DMA Transfer Speed Mode: 00: Mode 0 01: Mode 1 10: Mode 2 11: Reserved 00 Bus Master IDE Channel 1 Configuration Register (I/O Address 22H with Data = 31 (Index Port); I/O Address 23H is the Data Port) Bit Function Default 7:3 Reserved. Will Return ’00000’ on read. 00000 2 IDE DMA Transfer Mode: 0: Multiple 1: Single 0 1:0 IDE DMA Transfer Speed Mode: 00: Mode 0 01: Mode 1 10: Mode 2 11: Reserved 00 Bus Master IDE TimeOut Register (I/O Address 22H with Data = 32 (Index Port); I/O Address 23H is the Data Port) - Write Only Bit Function Default 7:0 IDE DMA time out counter value. This register provides the terminal count on a counter with a 14.318 MHz clock input. Therefore, to find the timeout period, multiply the value in this register by 69.8 ns. 28H Bus Master IDE Test Register (I/O Address 22H with Data = 33 (Index Port); I/O Address 23H is the Data Port) Bit Function Default 7:0 Undefined on read; Must write 00000000 on writes to this register. 00000000 89 CY82C693UB PRELIMINARY CY82C693UB Interrupt Controller Registers 3. When the CPU recognizes the assertion of INTR, it responds with an Interrupt Acknowledge Cycle. The Interrupt Acknowledge Cycle is passed on to the PCI bus. There are two Interrupt controllers cascaded together inside the CY82C693UB. (INTC1 and INTC2). The controllers each accept up to eight requests (from the Interrupt Request pins), resolve interrupt priority, assert the INTR pin to the CPU, and, in response to an interrupt acknowledge cycle, will return the appropriate Interrupt Vector (an address that points to the interrupt service routine). 4. When the CY82C693UB sees a PCI Interrupt Acknowledge Cycle, it will respond with a vector (address corresponding to the appropriate Interrupt Service Routine). 5. The CPU uses the vector to jump to the Interrupt Service Routine and begins execution of the interrupt handler The ISR will be reset on an End-of-Interrupt (EOI). An EOI is a special command that the interrupt handler code must issue to the CY82C693UB. A specific EOI can be sent to the CY82C693UB to clear a specific bit in the ISR, or the highest priority interrupt can be cleared (non-specific). Masked interrupts will not be cleared for a non-specific EOI. If Automatic End-of-Interrupt (AEOI) is programmed, the highest priority (non-masked) interrupt bit will be cleared in the ISR after the Interrupt Acknowledge cycle A subset of the interrupt request lines are dedicated for specific system operations. They include: IRQ0 - The output of the system timer inside the CY82C693UB; IRQ1 - The keyboard request interrupt; IRQ2 - The cascade between INTC1 and INTC2; IRQ8 - The alarm from the Real-Time-Clock; IRQ12 The mouse request interrupt; and IRQ13 - The coproccessor error signal. These interrupt requests are not generally available for other interrupt functions. IRQ0 and IRQ2 are not brought out to external CY82C693UB pins (the connection is made internally). The rest of the dedicated interrupts are available when CY82C693UB functions are disabled. IRQ1 is available on the KBCLK (keyboard clock) pin when the internal keyboard controller is disabled. IRQ8 is available on the PSRSTB (power supply to battery source signal for the RTC) when the internal RTC is disabled. IRQ12 is available on the MSCLK (mouse clock) pin when the internal keyboard controller is disabled. IRQ13 is available on the FERR pin The priority can be programmed to be fixed, a specific rotation, or automatic rotation. In fixed priority mode, Interrupt Request 0 (IR0) is the highest priority followed in descending order by IR1, IR8, IR9, IR10, IR11, IR12, IR13, IR14, IR15, IR3, IR4, IR5, IR6, and IR7 (the lowest priority). This priority scheme comes from the fact that INTC2 is cascaded through IR2 of INTC1. Fixed priority is the default. Rotation or interrupt polling must be programmed. If an interrupt has its bit set in the ISR, all lower priority interrupts will not cause the assertion of INTR to the CPU (until the ISR bit is cleared). Specific Rotation allows the highest priority to be changed. All Interrupt Requests wrap-around in priority (e.g., if IR3 is selected to highest priority, the priority changes to IR3–IR7 followed by IR0-IR2 for each controller in descending order.). If Automatic Rotation is programmed, the last Interrupt Request to be serviced is given lowest priority. Polling mode will inhibit the CY82C693UB from generating INTR to the CPU. The CPU must poll (read the IRR register) to determine which interrupt to take. IRQ[15:14], IRQ[11:9], and IRQ[7:3] are available for system use. There are traditional functions for these interrupt requests. However, the system designer can configure these inputs for many uses. The traditional uses are as follows: IRQ3 - Serial Port 2 interrupt request; IRQ4 - Serial Port 1 interrupt request; IRQ5 - Parallel Port 2 interrupt request; IRQ6 - Floppy Disk Controller interrupt request; IRQ7 - Parallel Port 1 interrupt request; IRQ9 - ISA/PCI slot interrupt request; IRQ10 ISA/PCI slot interrupt request; IRQ11 - ISA/PCI slot interrupt request; IRQ14 - Hard Disk interrupt request; and IRQ15 ISA/PCI slot interrupt request. The Interrupt Controllers are programmed using Initialization Command Words (ICWs) and Operational Command Words (OCWs). When any number of interrupt requests are asserted to the CY82C693UB, bits are set in the Interrupt Request Register (IRR) corresponding to the asserted interrupt requests. The In Service Register (ISR) will store bits corresponding to all interrupt channels that are currently being serviced. The Interrupt Mask Register (IMR) will allow interrupt requests to be gated (masked off) by setting bits corresponding to the channels to be masked. All of the above registers output to priority resolution logic. The resolution logic will evaluate the inputs, determine a priority for interrupt servicing, assert INTR to the CPU, and latch the highest priority (non-masked) channel value into the ISR. A vector corresponding to the highest priority (non-masked) interrupt will be provided to the PCI bus in response to an Interrupt Acknowledge cycle. To initialize each controller, a sequence of four bytes must be sent to the corresponding controller. An I/O write to address 020H (for INTC1) and 0A0H (for INTC2) with 1 on bit 4 of the data bus will begin the initialization sequence. The interrupt controller will automatically reset the Initialization Word Count Register, latch ICW1 into the controller, select Fixed Priority, assign IR7 the highest priority, clear the Interrupt Mask Register, set the Slave mode address to 7 (for cascading), disable Special Mask Mode, and select the IRR for Status Read operations (the contents of the IRR will be returned on a Status Read). The next three I/O writes to address 021H (for INTC1) and 0A1H (for INTC2) will load ICW2 through ICW4 for each controller. Executing an I/O write to 020H (for INTC1) and 0A0H (for INTC2) will cause the ICW writing to terminate and will begin writing OCW2 or OCW3. The sequence for handling a peripheral interrupt is as follows: 1. Interrupt requests (one or multiple) are issued to the CY82C693UB through the IRQ pins, the PCIINT pins, or the internal requestors. This sets the corresponding bit(s) in the IRR. The OCWs allow the controllers to be reconfigured during normal operation. OCW1 is located at I/O address 021H (for INTC1) and 0A1H (for INTC2) whenever the controller is not being initialized. OCW2 and OCW3 are at I/O location 020H (for INTC1) and 0A0H (for INTC2) with data bit 4 set to zero. Data bit 3 controls whether OCW2 (bit3=0) or OCW3 (bit3=1) is being written. 2. Using the values stored in the IRR, ISR, and IMR, the next interrupt to be serviced is determined. INTR is asserted to the CPU. - 90 PRELIMINARY CY82C693UB ICW1: INTC1 Interrupt Initialization Command Word 1 (Write Only) - I/O Address=020H Bit Function Default 7:5 Reserved, must be 000 000 4 Controller Initialization Control: 0: This is an Operational Command Word Write 1: This is an Initialization Command Word Write (and begins the Initialization Sequence.) 0 3 Controller Interrupt Request Control: 0: Edge-Triggered 1: Level-Sensitive If this bit is set to 1, the interrupt requests must remain active until after the Interrupt Acknowledge Cycle to return the proper vector. If the request goes away early, and no other interrupts are being requested, the vector returned will correspond to IR7. The interrupt request must be removed before the End-of-Interrupt to insure that a second spurious interrupt will not occur. 0 2 Don’t Care 0 1 Controller Cascade Control: 0: Cascade Mode (for multiple interrupt controllers) 1: Single Mode (There are two controllers in the CY82C693UB. Therefore, this bit should NEVER be programmed to one.) 0 0 ICW4 Write Status: 0: ICW4 write not required 1: ICW4 write required. 0 ICW2: INTC1 Interrupt Initialization Command Word 2 (Write Only) - I/O Address=021H Bit Function Default 7:3 Upper 5 bits of the interrupt vector. These will appear on AD[7:3] during the data phase of an interrupt acknowledge cycle. AD[2:0] are driven with the interrupt level that comes out of the priority resolution logic (0 through 7). 00000 2:0 Interrupt Request Level, Must write to 000. 000 91 PRELIMINARY CY82C693UB ICW3: INTC1 Interrupt Initialization Command Word 3 (Write Only) - I/O Address=021H Bit 7 6 5 4 3 2 1 0 Function Slave Control IR7: 0: There is no slave controller connected to Interrupt Request 7 of this controller. 1: There is a slave controller connected to Interrupt Request 7 of this controller. NOTE: Must be set to 0. Slave Control IR6: 0: There is no slave controller connected to Interrupt Request 6 of this controller. 1: There is a slave controller connected to Interrupt Request 6 of this controller. NOTE: Must be set to 0. Slave Control IR5: 0: There is no slave controller connected to Interrupt Request 5 of this controller. 1: There is a slave controller connected to Interrupt Request 5 of this controller. NOTE: Must be set to 0. Slave Control IR4: 0: There is no slave controller connected to Interrupt Request 4 of this controller. 1: There is a slave controller connected to Interrupt Request 4 of this controller. NOTE: Must be set to 0. Slave Control IR3: 0: There is no slave controller connected to Interrupt Request 3 of this controller. 1: There is a slave controller connected to Interrupt Request 3 of this controller. NOTE: Must be set to 0. Slave Control IR2: 0: There is no slave controller connected to Interrupt Request 2 of this controller. 1: There is a slave controller connected to Interrupt Request 2 of this controller. NOTE: This bit should be set to 1 for INTC2 to function properly. Slave Control IR1: 0: There is no slave controller connected to Interrupt Request 1 of this controller. 1: There is a slave controller connected to Interrupt Request 1 of this controller. NOTE: Must be set to 0. Slave Control IR0: 0: There is no slave controller connected to Interrupt Request 0 of this controller. 1: There is a slave controller connected to Interrupt Request 0 of this controller. NOTE: Must be set to 0. Default 0 0 0 0 0 0 0 0 ICW4: INTC1 Interrupt Initialization Command Word 4 (Write Only) - I/O Address=021H Bit 7:5 4 3 2 1 0 Function Reserved, Must be set to 000 Multiple Interrupt Control: 0: Disable Multiple Interrupt from the Same Channel 1: Enable Multiple Interrupt from the Same Channel This bit (when set) allows INTC2 to fully nest interrupts, when Cascaded with Fixed Priority, without being blocked by INTC1. Correct handling requires the CPU to issue non-specific EOIs to INTC2 and check its ISR when exiting an interrupt service routine. If the ISR contains zero, a non-specific EOI should be sent to INTC1. If the ISR contains anything other than zero, no command should be issued to INTC1. Buffered Mode: 0: Not Buffered 1: Buffered Master/Slave stored in buffer. Must be set to 0. Automatic End-of-Interrupt (AEOI) Control: 0: Disable AEOI 1: Enable AEOI AEOI should not be enabled if the system supports fully nested interrupts unless this controller is a Cascade Master. Microprocessor Mode: 0: Not x86 1: x86 NOTE: This bit must be set to 1. 92 Default 000 0 0 0 0 0 PRELIMINARY CY82C693UB ICW1: INTC2 Interrupt Initialization Command Word 1 (Write Only) - I/O Address=0A0H Bit Function Default 7:5 Reserved, Must be 000 000 4 Controller Initialization Control: 0: This is an Operational Command Word Write 1: This is an Initialization Command Word Write (and begins the Initialization Sequence.) 0 3 Controller Interrupt Request Control: 0: Edge-Triggered 1: Level-Sensitive If this is set to 1, the interrupt requests must remain active until after the Interrupt Acknowledge Cycle to return the proper vector. If the request goes away early, and no other interrupts are being requested, the vector returned will correspond to IR7. The interrupt request must be removed before the End-of-Interrupt to insure that a second spurious interrupt will not occur. 0 2 Don’t Care 0 1 Controller Cascade Control: 0: Cascade Mode (for multiple interrupt controllers) 1: Single Mode (There are two controllers in the CY82C693UB. Therefore, this bit should NEVER be programmed to one.) 0 0 ICW4 Write Status: 0: ICW4 write not required 1: ICW4 write required. 0 ICW2: INTC2 Interrupt Initialization Command Word 2 (Write Only) - I/O Address=0A1H Bit Function Default 7:3 Upper 5 bits of the interrupt vector. These will appear on AD[7:3] during the data phase of an interrupt acknowledge cycle. AD[2:0] are driven with the interrupt level that comes out of the priority resolution logic (0 through 7). 00000 2:0 Interrupt Request Level, Must write to 000. 000 ICW3: INTC2 Interrupt Initialization Command Word 3 (Write Only) - I/O Address=0A1H Bit Function Default 7:3 Reserved (These bits must be set to zero) 00000 2:0 This is the slave mode address that the controller will respond to. This should be written to 02H for proper Cascade mode operation with INTC1. 000 93 PRELIMINARY CY82C693UB ICW4: INTC2 Interrupt Initialization Command Word 4 (Write Only) - I/O Address=0A1H Bit Function Default 7:5 Don’t Care 000 4 Multiple Interrupt Control: 0: Disable Multiple Interrupts from the Same Channel 1: Enable Multiple Interrupts from the Same Channel This bit (when set) allows INTC2 to fully nest interrupts, when Cascaded with Fixed Priority, without being blocked by INTC1. Correct handling requires the CPU to issue non-specific EOIs to INTC2 and check its ISR when exiting an interrupt service routine. If the ISR contains zero, a non-specific EOI should be sent to INTC1. If the ISR contains anything other than zero, no command should be issued to INTC1. 0 3 Buffered Mode: 0: Not Buffered 1: Buffered 0 2 Master/Slave stored in buffer. Must be set to 0. 0 1 Automatic End-of-Interrupt (AEOI) Control: 0: Disable AEOI 1: Enable AEOI AEOI should not be enabled if the system supports fully nested interrupts unless this controller is a Cascade Master. 0 0 Microprocessor Mode: 0: Not x86 1: x86 NOTE: This bit must be set to 1. 0 OCW1: INTC1 Interrupt Operational Command Word 1 (Read/Write) - I/O Address=021H All Mask Bits are cleared by writing ICW1. Bit Function Default 7 IR7 Mask Control: 0: Not Masked 1: Masked 0 6 IR6 Mask Control: 0: Not Masked 1: Masked 0 5 IR5 Mask Control: 0: Not Masked 1: Masked 0 4 IR4 Mask Control: 0: Not Masked 1: Masked 0 3 IR3 Mask Control: 0: Not Masked 1: Masked 0 2 IR2 Mask Control: 0: Not Masked 1: Masked 0 1 IR1 Mask Control: 0: Not Masked 1: Masked 0 0 IR0 Mask Control: 0: Not Masked 1: Masked 0 94 PRELIMINARY CY82C693UB OCW2: INTC1 Interrupt Operational Command Word 2 (Write Only) - I/O Address=020H Bit Function Default 7:5 Command Control: 000: Clear Rotate in Auto EOI 001: Non-specific EOI Command 010: No Command 011: Specific EOI Command 100: Set Rotate on AEOI 101: Rotate on non-specific EOI 110: Specific Rotate Command 111: Rotate on specific EOI 000 4 Controller Initialization Control: 0: This is an Operational Command Word Write 1: This is an Initialization Command Word Write (and begins the Initialization Sequence.) 0 3 Operational Command Word Selection Control: 0: This is a write to OCW2 1: This is a write to OCW3 0 2:0 These three bits select which interrupt channel is controlled by the specific commands. 000: Channel 0 100: Channel 4 001: Channel 1 101: Channel 5 010: Channel 2 110: Channel 6 011: Channel 3 111: Channel 7 000 OCW3: INTC1 Interrupt Operational Command Word 3 (Write Only) - I/O Address=020H Bit 7 6 5 4 3 2 1:0 Function Reserved (Must be set to zero) Set/Reset Special Mask Mode Control: 0: Disable Set/Reset of Special Mask Mode Bit 1: Enable Set/Reset of Special Mask Mode Bit This bit allows the Special Mask Mode bit (bit 5) to be protected. When this bit is disabled, bit 5 will not change. Special Mask Mode Control: 0: Disable Special Mask Mode 1: Enable Special Mask Mode In Special Mask Mode, writing a 1 to any bit position inhibits interrupts on the associated channel. Writing a 0 to any bit position enables interrupts on the associated channel. The mask is handled by causing the priority resolution logic to ignore the condition of the ISR. Controller Initialization Control: 0: This is an Operational Command Word Write 1: This is an Initialization Command Word Write (and begins the Initialization Sequence.) Operational Command Word Selection Control: 0: This is a write to OCW2 1: This is a write to OCW3 Interrupt Polling Control: 0: Disable Polling Cycle 1: Enable Polling Cycle In systems where interrupts are polled, writing a 1 to this bit causes an interrupt status word to be returned on the next I/O read to the controller. Bit 7 of the data will give interrupt pending status (0 for no interrupts pending, 1 for interrupts pending). The level of the highest pending interrupt is encoded on bits 2–0. The IRR will not change until the read cycle is completed. The PM bit will automatically reset. Status Control: 00: Disable Status Read 01: Disable Status Read 10: Contents of the IRR will be read on a status read. 11: Contents of the ISR will be read on a status read. 95 Default 0 0 0 0 0 0 00 PRELIMINARY CY82C693UB OCW1: INTC2 Interrupt Operational Command Word 1 (Read/Write) - I/O Address=0A1H All Mask Bits are cleared by writing ICW1. Bit Function Default 7 IR7 Mask Control: 0: Not Masked 1: Masked 0 6 IR6 Mask Control: 0: Not Masked 1: Masked 0 5 IR5 Mask Control: 0: Not Masked 1: Masked 0 4 IR4 Mask Control: 0: Not Masked 1: Masked 0 3 IR3 Mask Control: 0: Not Masked 1: Masked 0 2 IR2 Mask Control: 0: Not Masked 1: Masked 0 1 IR1 Mask Control: 0: Not Masked 1: Masked 0 0 IR0 Mask Control: 0: Not Masked 1: Masked 0 OCW2: INTC2 Interrupt Operational Command Word 2 (Write Only) - I/O Address=0A0H Bit Function Default 7:5 Command Control: 000: Clear Rotate in Auto EOI 001: Non-specific EOI Command 010: No Command 011: Specific EOI Command 100: Set Rotate on AEOI 101: Rotate on non-specific EOI 110: Specific Rotate Command 111: Rotate on specific EOI 000 4 Controller Initialization Control: 0: This is an Operational Command Word Write 1: This is an Initialization Command Word Write (and begins the Initialization Sequence.) 0 3 Operational Command Word Selection Control: 0: This is a write to OCW2 1: This is a write to OCW3 0 2:0 These three bits select which interrupt channel is controlled by the specific commands. 000: Channel 0 (IRQ8) 100: Channel 4 (IRQ12) 001: Channel 1 (IRQ9) 101: Channel 5 (IRQ13) 010: Channel 2 (IRQ10) 110: Channel 6 (IRQ14) 011: Channel 3 (IRQ11) 111: Channel 7 (IRQ15) 000 96 PRELIMINARY CY82C693UB OCW3: INTC2 Interrupt Operational Command Word 3 (Write Only) - I/O Address=0A0H Bit Function Default 7 Reserved (Must be set to zero) 0 6 Set/Reset Special Mask Mode Control: 0: Disable Set/Reset of Special Mask Mode Bit 1: Enable Set/Reset of Special Mask Mode Bit This bit allows the Special Mask Mode bit (bit 5) to be protected. When this bit is disabled, bit 5 will not change. 0 5 Special Mask Mode Control: 0: Disable Special Mask Mode 1: Enable Special Mask Mode In Special Mask Mode, writing a 1 to any bit position inhibits interrupts on the associated channel. Writing a 0 to any bit position enables interrupts on the associated channel. The mask is handled by causing the priority resolution logic to ignore the condition of the ISR. 0 4 Controller Initialization Control: 0: This is an Operational Command Word Write 1: This is an Initialization Command Word Write (and begins the Initialization Sequence.) 0 3 Operational Command Word Selection Control: 0: This is a write to OCW2 1: This is a write to OCW3 0 2 Interrupt Polling Control: 0: Disable Polling Cycle 1: Enable Polling Cycle In systems where interrupts are polled, writing a 1 to this bit causes an interrupt status word to be returned on the next I/O read to the controller. Bit 7 of the data will give interrupt pending status (0 for no interrupts pending, 1 for interrupts pending). The level of the highest pending interrupt is encoded on bits 2–0. The IRR will not change until the read cycle is completed. The PM bit will automatically reset. 0 1:0 Status Control: 00: Disable Status Read 01: Disable Status Read 10: Contents of the IRR will be read on a status read. 11: Contents of the ISR will be read on a status read. 00 2CY82C693UB 97 CY82C693UB PRELIMINARY CY82C693UB Timer/Counter Registers For proper operation, each counter must be programmed before use. Each counter is programmed by writing to the “Timer Control Register” with an appropriate control word and then writing an initial count to the associated counter’s register. A count value may be read by reading the associated counter’s register. The CY82C693UB contains a timer/counter which can be used to generate a speaker tone, periodic interrupts, and the ISA refresh. There are three, individually operated, 16-bit counters. The output of counter 0 is internally hardwired to the IRQ0 input of DMA controller 1. The output of counter 1 is tied to the refresh request logic for ISA refresh. The output of counter 2 is output on the SPKR (speaker output pin). Timer/Counter Register 0: Timer Control Word Register (Write Only) - Address=043H Bit Function Default 7:0 Control Register 00000000 Timer Control Word Register Format (Not Read-Back Command or Counter Latch Command) Bit 7:6 5:4 3:1 0 Function Counter Select: 00: Counter 0 01: Counter 1 10: Counter 2 11: Read-Back Command (See Timer Control Word Register Format for Read-Back Command) Read/Write Select: 00: Counter Latch Command (See Timer Control Word Register Format for CounterLatch Command) 01: Read/Write Least Significant Byte of Counter 10: Read/Write Most Significant Byte of Counter 11: Read/Write Least Significant Byte followed by Most Significant Byte of Counter Counter Mode Select: 000: Out signal on end of count=0 cycle. 001: Hardware re-triggerable one-shot. X10: Rate Generator (Divide by n counter). X11: Square Wave Output. 100: Software triggered strobe. 101: Hardware triggered strobe. Binary/BCD Countdown Select: 0: Binary countdown 1: BCD countdown Default 00 00 000 0 Timer Control Word Register Format (Read-Back Command) Bit Function Default 7:6 Counter Select: 11: Read-Back Command (Must be 11 for Read-Back Command) Latch Count of Selected Counter(s) Control: 0: Do not latch current count value 1: Latch current count value Latch Status of Selected Counter(s) Control: 0: Do not latch current status value 1: Latch current status value Counter 2 Select: 0: Counter 2 not selected 1: Counter 2 selected Counter 1 Select: 0: Counter 1 not selected 1: Counter 1 selected Counter 0 Select: 0: Counter 0 not selected 1: Counter 0 selected Reserved 11 5 4 3 2 1 0 98 0 0 0 0 0 0 PRELIMINARY CY82C693UB Timer Control Word Register Format (Counter Latch Command) Bit Function Default 7:6 Counter Select: 00: Latch Counter 0 01: Latch Counter 1 10: Latch Counter 2 11: Read-Back Command (See Timer Control Word Register Format for Read-Back Command) 00 5:4 Read/Write Select: 00: Counter Latch Command (Must be 00 for Counter Latch Command) 00 3:0 Reserved, Must be 0000 0000 Timer/Counter Register 1: Counter 0 Register (Read/Write Except for Read-Back Status Command) - Address=040H Bit Function Default 7:0 Counter 0 Count Value 00000000 Counter 0 Register Format (Read-Back Status Command − Read Only) Bit Function Default 7 Counter OUT State 0 6 Count available for reading Status: 0: The count value has not been loaded into the counting element. 1: The count value is available for reading. 0 5:4 Read/Write Status: 00: Counter Latch Command 01: Read/Write Least Significant Byte of Counter 10: Read/Write Most Significant Byte of Counter 11: Read/Write Least Significant Byte followed by Most Significant Byte of Counter 00 3:1 Counter Mode Status: 000: Out signal on end of count=0 cycle 001: Hardware re-triggerable one-shot X10: Rate Generator (Divide by n counter) X11: Square Wave Output 100: Software triggered strobe 101: Hardware triggered strobe 000 0 Binary/BCD Countdown Status: 0: Binary countdown 1: BCD countdown 0 Timer/Counter Register 2: Counter 1 Register (Read/Write Except for Read-Back Status Command) - Address=041H Bit Function Default 7:0 Counter 1 Count Value 00000000 99 PRELIMINARY CY82C693UB Counter 1 Register Format (Read-Back Status Command − Read Only) Bit Function Default 7 Counter OUT State 0 6 Count available for reading Status: 0: The count value has not been loaded into the counting element. 1: The count value is available for reading. 0 5:4 Read/Write Status: 00: Counter Latch Command 01: Read/Write Least Significant Byte of Counter 10: Read/Write Most Significant Byte of Counter 11: Read/Write Least Significant Byte followed by Most Significant Byte of Counter 00 3:1 Counter Mode Status: 000: Out signal on end of count=0 cycle 001: Hardware re-triggerable one-shot X10: Rate Generator (Divide by n counter) X11: Square Wave Output 100: Software triggered strobe 101: Hardware triggered strobe 000 0 Binary/BCD Countdown Status: 0: Binary countdown 1: BCD countdown 0 Timer/Counter Register 3: Counter 2 Register (Read/Write Except for Read-Back Status Command) - Address=042H Bit Function Default 7:0 Counter 2 Count Value 00000000 Counter 2 Register Format (Read-Back Status Command − Read Only) Bit Function Default 7 Counter OUT State 0 6 Count available for reading Status: 0: The count value has not been loaded into the counting element. 1: The count value is available for reading. 0 5:4 Read/Write Status: 00: Counter Latch Command 01: Read/Write Least Significant Byte of Counter 10: Read/Write Most Significant Byte of Counter 11: Read/Write Least Significant Byte followed by Most Significant Byte of Counter 00 3:1 Counter Mode Status: 000: Out signal on end of count=0 cycle 001: Hardware re-triggerable one-shot X10: Rate Generator (Divide by n counter) X11: Square Wave Output 100: Software triggered strobe 101: Hardware triggered strobe 000 0 Binary/BCD Countdown Status: 0: Binary countdown 1: BCD countdown 0 100 CY82C693UB PRELIMINARY CY82C693UB Real-Time-Clock Registers write) to address 071H will read or write the contents of the appropriate RTC register. The RTC inside the CY82C693UB contains a time-of-day clock, an interrupt generating alarm, a 100 year calendar, a software controlled periodic interrupt, and 242 bytes of battery-backable static RAM (for scratch data). An external battery and a 6 pF or a 12 pF 32.768-kHz crystal in parallel with a 6-pF capacitor are all that must be provided to enable the RTC to keep time in battery-backed mode. Leap-year and daylight savings time will be automatically adjusted. The scratch data is broken into two separate blocks. Access to the blocks is controlled through I/O accesses to different addresses. The lower 128 register bytes (this includes the Clock Data) are accessed using I/O writes to address 070H (with register index as the write data) followed by I/O reads or writes to address 071H. The data for the I/O access to 071H is the contents of the desired register. For the upper 128 scratch RAM bytes, the scratch RAM address should be written to I/O address 072H followed by a data read or write to I/O address 073H. RTC registers are accessed using I/O addresses 070H and 071H. The index address of the register must first be placed in the RTC’s Index Address Register. This is loaded through an I/O write to address 070H with the register index as the write data. Following the I/O write to 070H, an I/O access (read or PLEASE NOTE: Where the registers are called out BCD (binary coded decimal), the values must be written/read as BCD values (Not Hexadecimal). RTC Register 0: Seconds Byte (Read/Write except for bit 7 which is always 0) − Index=00H Bit Function Default 7:0 BCD representation of seconds (must be in the range 00–59) 00000000 RTC Register 1: Seconds Alarm (Read/Write) − Index=01H Bit Function Default 7:0 BCD representation of seconds alarm (must be in the range 00–59) If bit 7:6=11, then a 1 second periodic interrupt will occur. 00000000 RTC Register 2: Minutes Byte (Read/Write) − Index=02H Bit Function Default 7:0 BCD representation of minutes (must be in the range 00–59) 00000000 RTC Register 3: Minutes Alarm (Read/Write) − Index=03H Bit Function Default 7:0 BCD representation of minutes alarm (must be in the range 00–59) 00000000 RTC Register 4: Hours Byte (Read/Write) − Index=04H Bit Function Default 7:0 BCD representation of hours 12-hour Mode: Must be in the range 01–12 (AM) or 81–92 (PM) 24-hour Mode: Must be in the range 00–23 00000000 RTC Register 5: Hours Alarm (Read/Write) − Index=05H Bit Function Default 7:0 BCD representation of hours alarm 12-hour Mode: Must be in the range 01–12 (AM) or 81–92 (PM) 24-hour Mode: Must be in the range 00–23 00000000 RTC Register 6: Day-of-the-Week Byte (Read/Write) − Index=06H Bit Function Default 7:0 BCD representation of day-of-the-week (must be in the range 01–07); 01=Sunday. 00000000 101 PRELIMINARY RTC Register 7: Day-of-the-Month Byte (Read/Write) CY82C693UB − Index=07H Bit Function Default 7:0 BCD representation of day-of-the-month (must be in the range 01–31) 00000000 RTC Register 8: Month Byte (Read/Write) − Index=08H Bit Function Default 7:0 BCD representation of month (must be in the range 01–12) 00000000 RTC Register 9: Year Byte (Read/Write) − Index=09H Bit Function Default 7:0 BCD representation of year (must be in the range 00–99) 00000000 RTC Register 10: Control/Status Register A (Read/Write except for bit 7 which is Read Only) − Index=0AH Bit Function Default 7 Update In Progress (UIP): 0: There is no clock update about to occur (guaranteed for 244 µs) 1: An update cycle is about to occur or is occurring. Data read from the clock words will be invalid. This bit goes high 244 µs prior to an update and remains active for an additional 2 ms after the update begins. This bit can be cleared by writing a 1 to bit 7 of RTC register 11. 0 6:4 Divider/Prescaler on the RTC: 000: 4.194304 MHz Oscillator 001: 1.048576 MHz Oscillator 010: 32.768 kHz Oscillator (Recommended Setting) 1XX: Reset Divider 000 3:0 Periodic Interrupt Rate Control: 32.768-KHz Oscillator 0000: No Periodic Interrupts 0001: 3.90526 ms 0010: 7.8125 ms 0011: 122.070 µs 0100: 244.141 µs 0101: 488.281 µs 0110: 976.562 µs 0111: 1.953125 ms 1000: 3.90625 ms 1001: 7.8125 ms 1010: 15.625 ms 1011: 31.25 ms 1100: 62.5 ms 1101: 125 ms 1110: 250 ms 1111: 500 ms 0000 Other Frequencies No Periodic Interrupts 30.517 µs 61.035 µs 122.070 µs 244.141 µs 488.281 µs 976.562 µs 1.953125 ms 3.90625 ms 7.8125 ms 15.625 ms 31.25 ms 62.5 ms 125 ms 250 ms 500 ms 102 PRELIMINARY RTC Register 11: Control/Status Register B (Read/Write) CY82C693UB − Index=0BH Bit Function Default 7 Update Cycle Control: 0: Enable Update Cycles 1: Disable Update Cycles, and abort any Update Cycle In Progress This bit is not changed when PSRSTB is asserted. 0 6 Periodic Interrupt Control: 0: Disable Periodic Interrupt Generation 1: Enable Periodic Interrupt Generation This bit is cleared when PSRSTB is asserted. 0 5 Alarm Interrupt Control: 0: Disable Alarm Interrupt Generation 1: Enable Alarm Interrupt Generation Alarm interrupts will be generated when the time matches the values programmed into the alarm register fields. This bit is cleared when PSRSTB is asserted. 0 4 Update-Ended Interrupt Control: 0: Disable Update-Ended Interrupt Generation 1: Enable Update-Ended Interrupt Generation Update-Ended interrupts will be generated when an update cycle is completed. This can be used to tell the CPU that its data may be read from the clock data registers. This bit is cleared when PSRSTB is asserted. 0 3 Square Wave Control: 0: Disable Square Wave Generation 1: Enable Square Wave Generation 0 2 Data Mode: 0: BCD 1: Binary 0 1 Hour Format Control: 0: 12-hour clock format 1: 24-hour clock format This bit is not changed when PSRSTB is asserted. 0 0 Daylight Savings Time Control: 0: Disable Daylight Savings Time Change 1: Enable Daylight Savings Time Change Setting this bit will cause the update cycle to change the time automatically for Daylight Savings Time. The changes take place on the last Sunday in April and the last Sunday in October. This bit is not changed when PSRSTB is asserted. 0 103 CY82C693UB PRELIMINARY RTC Register 12: Control/Status Register C (Read Only) − Index=0CH Bit Function 7 Interrupt Request Flag: 0 0: No RTC Interrupts have occurred. 1: An RTC Interrupt has occurred. The specific interrupt flags (bits 6–4 of this register) and the interrupt enable bits (bits 6–4 of RTC Register 11) indicate which event(s) caused the interrupt to occur. This bit is cleared by the assertion of PSRSTB or a read to this register. 6 Periodic Interrupt Flag: 0: The period timer has not reached its terminal count. 1: The period timer has reached its terminal count Note: An interrupt will not be generated and bit 7 will not be set if Periodic Interrupts are disabled. This bit is cleared by the assertion of PSRSTB or a read to this register. 0 5 Alarm Interrupt Flag: 0: The clock did not match the alarm values. 1: The clock did match the alarm values. Note: An interrupt will not be generated and bit 7 will not be set if Alarm Interrupts are disabled. This bit is cleared by the assertion of PSRSTB or a read to this register. 0 4 Update-Ended Interrupt Flag: 0: An Update Cycle did not end 1: An Update Cycle did end Note: An interrupt will not be generated and bit 7 will not be set if Update-Ended Interrupts are disabled. This bit is cleared by the assertion of PSRSTB or a read to this register. 0 3:0 Reserved (Read as all zeroes). 0000 RTC Register 13: Control/Status Register D (Read Only) Default − Index=0DH Bit Function Default 7 Valid RAM and Time Flag: 0: The contents of the RAM and Time are not guaranteed to be valid 1: The contents of the RAM and Time are valid 0 6:0 Reserved (Read as all zeroes). 0000000 RTC Registers 14-127: Battery-Backable Scratch Block 1 (Read/Write) − Indices=0EH-7FH Bit Function Default 7:0 User Defined 00000000 RTC Registers 128-255: Battery-Backable Scratch Block 2 (Read/Write) − Indices=80H-FFH NOTE: These Registers are accessed through I/O ports 072H and 073H (not 070H and 071H-the ports for the other RTC registers) Bit Function Default 7:0 User Defined 00000000 4CY82C693UB 3CY82C693UB 104 CY82C693UB PRELIMINARY CY82C693UB Keyboard/Mouse Controller Registers The Keyboard controller inside the CY82C693UB is capable of supporting both AT and PS/2 modes of operation. In PS/2 mode, a PS/2 style mouse is supported without the need of an external controller. The keyboard controller interrupts the processor through IRQ1 and the mouse controller interrupts the processor through IRQ12. These interrupts will cause the operating systems to enter their scan code interpretation routines. The keyboard controller processes scan codes whenever a keyboard key is pressed and released. When a key is pressed, a “make” code is sent from the controller in the keyboard to the controller in the CY82C693UB. If the key is not released immediately, “make” codes are continually sent to the system. When the key is finally released, a “break” is recognized by the system. The keyboard/mouse controller control registers are accessed using I/O port locations 64H and 60H. Status is read, by performing a read to I/O port 64H. The keyboard controller’s input buffer may be addressed at I/O port 60H or 64H (Data bytes are written to 60H and command bytes are written to 64H). The output buffer can contain scan codes from the keyboard or any requested data bytes from the controller. It can be accessed by reading I/O port 60H. Special function keys (such as the <Shift> key or the <Cntrl> key) are used to set status flags inside the keyboard controller. The status flags can alter the function of other keystrokes. Keyboard/Mouse Register 0: Status Register (Read Only) - I/O Read to address 64H Bit Function Default 7 Parity Error Detection: 0: No parity error was transmitted from the keyboard. 1: A parity error was detected in the last byte transmitted. The keyboard must transmit odd parity. 0 6 Timeout Detection: 0: No timeout was detected. 1: A timeout occurred during the transmission of data between the controller and the keyboard. 0 5 Mouse Output Buffer Full Flag: 0: No mouse data is present in the output buffer. 1: Mouse data is present in the output buffer. 0 4 Keyboard Lock Status: 0 0: KEYLOCK is active. The keyboard controller is inhibited from receiving scan codes. 1: KEYLOCK is inactive. Normal operation. 3 Command/Data Flag: 0: Data byte has been written to 60H. 1: command byte has been written to 64H. This bit can be used to indicate to the system whether the byte in the input buffer is a command byte or a data byte. 0 2 System Flag: This bit will reflect the value written to the Set System Flag bit of the command byte. 0 1 Input Buffer (Port 60H or 64H) Full Flag: 0: No data is present in the input buffer. 1: Data is present in the input buffer. A read of the input buffer will reset this bit to zero. 0 0 Output Buffer (Port 60H only) Full Flag: 0: No data is present in the output buffer. 1: Data is present in the output buffer. A read of the output buffer will reset this bit to zero. 0 105 PRELIMINARY CY82C693UB Keyboard/Mouse Register 1: Command Byte Register. Stored in keyboard RAM at location 20H; A 20H command must be written to the input buffer at 64H, Data is accessed at 60H. Bit Function Default 7 Reserved. Must be set to zero. 0 6 Scan Code Translation: 0: Do not translate scan codes. 1: Scan codes are translated to AT scan codes. 0 5 Mouse Interface Control: 0: Enable PS/2 mouse interface. 1: Disable PS/2 mouse interface. 0 4 Keyboard Interface Control: 0: Enable keyboard interface. 1: Disable keyboard interface. When the keyboard interface is disabled, the KBCLK signal is driven LOW. Nothing can be sent or received. 0 3 KEYLOCK Override Control: 0: Normal Operation. 1: Override the KEYLOCK signal. This will cause the keyboard to be unlocked regardless of the state of the KEYLOCK signal. 0 2 System Flag: 0: Report 0 on bit 2 of Status Register during status reads. 1: Report 1 on bit 2 of Status Register during status reads. 0 1 Output Buffer Filled with Mouse Data Interrupt Control: 0: Will not send IRQ12 whenever the output buffer is filled with mouse data. 1: Will send IRQ12 whenever the output buffer is filled with mouse data. 0 0 Output Buffer Filled with Keyboard Data Interrupt Control: 0: Will not send IRQ1 whenever the output buffer is filled with keyboard data. 1: Will send IRQ1 whenever the output buffer is filled with keyboard data. 0 106 PRELIMINARY CY82C693UB System to Controller Command Set. These commands are executed by writing them to the input register through I/O port 064H. If data is accompanied with the command, it must be read/written to I/O port 060H. Command Description 20H Read controller’s command byte: The controller will put the contents of the current command byte into the output port. The command byte format is given above (Keyboard/Mouse Register 1). 21H-3FH Read controller’s RAM: The controller will put the contents of the controller’s RAM addressed by bits 5 through 0 of the command into the output port. 60H Write controller’s command byte: The controller will write the new command byte. It uses the next data written to I/O port 60H for the new command byte data. The command byte format is given above (Keyboard/Mouse Register 1). 61H-7FH Write controller’s RAM: The controller will write the RAM location addressed by bits 5 through 0 of the command. It uses the next data written to I/O port 60H for the new RAM data. A4H Check for installed password: The controller will test for a password. If a password is installed, FAH will be placed in the output buffer. If no password is installed, F1H is placed in the output buffer. A5H Load password: The keyboard controller will load the contents of the input buffer into a password location and will not stop storing the password until NULL (00H) is detected. NULL will be stored as the last byte of the password. A6H Enable Password Security: The keyboard controller will check the installed password against the keyboard input for a match before allowing scan codes to be passed to the system. A7H Disable Mouse interface: This command will set bit 5 of the command byte to 1. This will cause the MSECLK signal to be driven low, effectively disabling mouse operation. A8H Enable Mouse interface: This command will reset bit 5 of the command byte to 0. Mouse operation will be allowed. A9H Mouse interface test: The controller will test the MSECLK and MSEDATA signals. The following status will be placed in the output buffer: 00H: No Error Detected 01H: MSECLK is stuck low. 02H: MSECLK is stuck high. 03H: MSEDATA is stuck low. 04H: MSEDATA is stuck high. AAH Execute Self-Test: The internal diagnostic self-test will be executed. If no errors are detected, 55H will be placed in the output buffer. ABH Keyboard interface test: The controller will test the KBCLK and KBDATA signals. The following status will be placed in the output buffer: 00H: No Error Detected 01H: KBCLK is stuck low. 02H: KBCLK is stuck high. 03H: KBDATA is stuck low. 04H: KBDATA is stuck high. ADH Disable Keyboard interface: This command will set bit 4 of the command byte to 1. This will cause the KBCLK signal to be driven low, effectively disabling keyboard operation. AEH Enable Keyboard interface: This command will reset bit 4 of the command byte to 0. Keyboard operation will be allowed. C0H Read controller’s input port: This command will cause the controller to read its input port and place the contents into the controller’s output buffer. 107 PRELIMINARY CY82C693UB System to Controller Command Set. (continued) These commands are executed by writing them to the input register through I/O port 064H. If data is accompanied with the command, it must be read/written to I/O port 060H. Command Description D0H Read controller’s output port: This command will cause the controller to read its output port and place the contents into the controller’s input buffer. D1H Write controller’s output port: This command will cause the controller to take the next data that is written to 60H and place it into the controller’s output port. D2H Write keyboard output buffer: This command will cause the controller to take the next data that is written to 60H and place it into the controller’s output buffer. D3H Write mouse output buffer: This command will cause the controller to take the next data that is written to 60H and place it into the controller’s mouse output buffer. D4H Write to mouse: This command will cause the controller to take the next data that is written to 60H and transmit it to the mouse. E0H Read Test Inputs: T0 and T1 (KBCLK and KBDATA inputs) are read by the controller and placed in the output buffer. Bit 0 represents T0 and bit 1 represents T1. EXH Active Output Port Flag: Bits 1, 2, and 3 of the output buffer represent the active output port. F0H–FFH Pulse Output Port: This command will cause bits 3 through 0 in the controller’s output port to pulse low for 6 µs based on the command. A 0 in bits 3 through zero will select the bits to be pulsed. Controller to System Command Set. These commands are written from the controller to the output register. They must be read by the system performing an I/O read to address 60H. Command Description 55H No error detected upon completion of self-test: This command will appear in the output register in response to a successful completion of the self-test initiated by system command AAH. F1H No password installed: This command will appear in the output register in response to no password detection initiated by system command A4H. FAH Password installed: This command will appear in the output register in response to a password detection initiated by system command A4H. FEH Resend Command: This command will appear in the output register in response to an illegal command. 108 PRELIMINARY CY82C693UB System to Keyboard Command Set. These commands are written from the controller to the keyboard. The command should be written to the Input Buffer (Port 60H). If data is required along with the command, the system must perform a subsequent dat a write to I/O Port 60H. Command EDH EEH F2H F3H F4H F5H F6H FEH FFH Description Set/Reset Keyboard LED status indicators: Num Lock, Caps Lock, and Scroll Lock LEDs, which are found on most keyboards, can be turned on or off using this command. The system must first write the EDH command to I/O port 60H and get acknowledged. Then the system must write port 60H with the following data: Bits 7–3: 00000 Bit 2: Caps Lock (1 Turns LED on) Bit 1: Num Lock (1 Turns LED on) Bit 0: Scroll Lock (1 Turns LED on) Echo Command: This command can be used to test the keyboard. A present and working keyboard will echo EEH after it receives this command. Read keyboard ID bytes: The keyboard will acknowledge the command and send the two keyboard ID bytes. Set typematic rate and delay period: This command is used to set the typematic rate (make codes/second when a key is pressed and held down) and delay period (number of milliseconds after a key is pressed before typematic starts). INT 16H Function 03H sends the Set Rate command F3H to the keyboard controller followed by the delay and rate values. Begin Operation: This command causes the keyboard to clear its output buffer and begin scanning. Reset and Disable: This command causes the keyboard to reset to its power-on default and disables scanning. Reset and Enable: This command causes the keyboard to reset to its power-on default and enables scanning. Resend: If the system detects an error in the previous transmission, this command will cause the keyboard to send the transmission again. Self-test: This command causes the keyboard to initiate its internal diagnostic self-test. Keyboard to System Command Set. These commands are written from the keyboard to the controller. Command 00H 83H ABH AAH FCH EEH FAH FEH FFH Description Overrun character (For scan code sets 2 and 3): When the keyboard exceeds buffer capacity, it places 00H at the bottom of the buffer. When 00H reaches the top of the buffer, it is sent to the system. Low Keyboard ID Byte: The keyboard responds to the Read ID bytes command by first sending the low ID byte. High Keyboard ID Byte: The keyboard responds to the Read ID bytes command by first sending the low ID byte. Then it sends the high ID byte. Power-on Diagnostics Completed: If the power-on diagnostic tests completed successfully (no error detected), this command is sent to the system. Power-on Diagnostics Failed: If the power-on diagnostic tests detected an error, this command is sent to the system. The keyboard controller will wait to be reset or receive some other command from the system. Echo Response: This is the keyboard’s response to the system’s echo command. Acknowledge (ACK): The keyboard will acknowledge any valid keyboard command that the system transmits with an ACK command. Resend: If the keyboard detects an error in the previous transmission, this command will be sent, requesting the system to send the transmission again. Overrun character (For scan code set 1): When the keyboard exceeds buffer capacity, it places FFH at the bottom of the buffer. When FFH reaches the top of the buffer, it is sent to the system. 109 PRELIMINARY CY82C693UB System to Mouse Controller Command Set. These commands are specific to the mouse controller. The system must first send command D4H to I/O port 64H to tell the controller that the next command is intended for the mouse controller. If D4H is not sent, the controller will interpret the commands as Keyboard commands. Command Description E6H Reset mouse scaling: This command will cause scaling to be reset to 1:1. E7H Set scaling: When the mouse is in Stream Mode, this command will convert Input X,Y coordinates to outputs as follows: Input Output 0 0 1 1 2 1 3 3 4 6 5 9 6 or greater Input x 2 E8H Set Resolution: This is a two byte command. The first byte is E8H (sent to port 64H) to tell the mouse controller to set its resolution. The second byte is data (sent to port 60H). The data must be in one of the following combinations: Data Byte Value Resolution 00H 1 count/mm 01H 2 counts/mm 02H 4 counts/mm 03H 8 counts/mm E9H Status Request: In response to this command, the mouse will send a three byte status report. The first byte is the sampling rate. The second byte is the resolution, and the third byte is defined as follows: Bit Description 7 Reserved 6 0: Stream Mode 1: Remote Mode 5 0: Mouse Disabled 1: Mouse Enabled 4 0: Scaling 1:1 1: Scaling 2:1 (Defined by Set Scaling command) 3 Reserved 2 0: Left mouse button not pressed 1: Left mouse button pressed 1 Reserved 0 0: Right mouse button not pressed 1: Right mouse button pressed. EAH Set Stream Mode: When Stream Mode is selected, the mouse transmits data every time the mouse detects a unit of movement or a mouse button pressed. If no button is pressed or the mouse does not detect movement, no data will be transmitted. EBH Read Mouse Data: This command will force the mouse to transmit one packet of mouse data. ECH Reset Wrap Mode: This command takes the mouse out of wrap mode (the mouse will not echo data back to the system). EEH Set Wrap Mode: This command puts the mouse in wrap mode (the mouse will echo data back to the system). F0H Set Remote Mode: In Remote Mode, mouse data will only be transmitted in response to a Read Mouse Data command. F2H Read device type: The mouse will return 00H (type ID for mouse) in response to this command. 110 PRELIMINARY CY82C693UB System to Mouse Controller Command Set. (continued) These commands are specific to the mouse controller. The system must first send command D4H to I/O port 64H to tell the controller that the next command is intended for the mouse controller. If D4H is not sent, the controller will interpret the commands as Keyboard commands. Command Description F3H Set Sampling Rate: This is a two byte command. The first byte is F3H (sent to port 64H) to tell the mouse controller to set its sampling rate (the number of times per second that the system checks the mouse for data). The second byte is data (sent to port 60H). The data must be in one of the following combinations: Data Byte Value Sampling Rate 0AH 10 samples/second 14H 20 samples/second 28H 40 samples/second 3CH 60 samples/second 50H 80 samples/second 64H 100 samples/second C8H 200 samples/second F4H Enable transmission: This command will enable data transmission if the mouse has been set to Stream Mode. This command has no effect if the controller is in remote mode. F6H Load default settings: This command will load the power-on default settings. They are as follows: 100 samples/second sampling rate Linear Scaling Stream Mode 4 counts/mm resolution Transmission disabled FEH Resend: If the system detects an error in the previous transmission, this command will cause the mouse to send the transmission again. FFH Self-test: This command causes the mouse to initiate its internal diagnostic self-test. Mouse to System Controller Command Set. These commands are transferred from the mouse to the mouse controller. Command Description FAH Acknowledge (ACK) Command: The mouse will acknowledge valid commands by returning the ACK command (except for reset commands). FEH Resend: If the mouse detects an error in the previous transmission, this command will cause the mouse controller to send the transmission again. 111 PRELIMINARY CY82C693UB CY82C693UB PCI Configuration Registers The PCI configuration registers for the CY82C693UB are defined in this section. The registers are accessed by performing configuration read and write cycles (C/BE[3:0]=1010b or 1011b) with the IDSEL signal asserted to the CY82C693UB. PCI to ISA PCI Configuration Registers (Function 0 during Configuration Cycle) Register 0: Vendor ID Number (Read Only) − Index=00H with a 16-bit access Bit Function Default 15:0 Cypress ID Number: 0001000010000000 1080H Register 1: Device ID Number (Read Only) − Index=02H with a 16-bit access Bit Function Default 15:0 CY82C693UB Device ID Number: 1100011010010011 C693H Register 3: Command Register (Read/Write) − Index=04H with a 16-bit access Bit Function Default 15:10 Reserved 000000 9 Fast Back-to-Back Enable. This bit is forced to 0 (Fast Back-to-Back Accesses are Disabled) 0 8 SERR Reporting Enable: 0: SERR Reporting Disabled 1: SERR Reporting Enabled 0 7:4 Reserved 0000 3 Enable Special Cycle Decoding: 0: Disable Special Cycle Decoding 1: Enable Special Cycle Decoding 0 2 Bus Master Enable. This bit is forced to 1 (Bus Mastering is Always Enabled) 1 1 Memory Access Enable. This bit is forced to 1 (Memory Access is Always Enabled) 1 0 I/O Access Enable. This bit is forced to 1 (I/O Access is Always Enabled) 1 112 CY82C693UB PRELIMINARY Register 4: Status Register (Read/Write) − Index=06H with a 16-bit access Bit Function Default 15 Not implemented: Read as 0 0 14 PCI System Error READ: 0: No PCI System Error Occurred 1: PCI System Error Occurred WRITE: 0: No change to register 1: Clear Register 0 13 PCI Master-Abort READ: 0: No PCI Master-Abort Occurred 1: PCI Master-Abort Occurred WRITE: 0: No change to register 1: Clear Register 0 12 CY82C693UB Detection of Target-Abort (from another PCI target) READ: 0: No PCI Target-Abort Occurred 1: PCI Target-Abort Occurred WRITE: 0: No change to register 1: Clear Register 0 11 CY82C693UB Assertion of Target-Abort (CY82C693UB is the target) READ: 0: No PCI Target-Abort Occurred 1: PCI Target-Abort Occurred WRITE: 0: No change to register 1: Clear Register 0 10:9 DEVSEL Timing Status. These register bits are Read Only and will always return 01 (medium timing) 01 8 Not implemented: Read as 0 0 7 Fast Back-to-Back Transfer Occurred. This Read Only bit will always return 1 1 6:0 Reserved 0000000 Register 5: Revision ID Number (Read Only) − Index=08H with an 8-bit access Bit Function Default 7:0 Current Revision of the Part (00000000) 00H Register 6: Programming Interface Revision ID Number (Read Only) − Index=09H with an 8-bit access Bit Function Default 7:0 Current Revision of the Programming Interface (00000000) 00H Register 7: Sub Class Code Register (Read Only) − Index=0AH with an 8-bit access Bit Function Default 7:0 Sub Class Code (00000001) 01H 113 CY82C693UB PRELIMINARY Register 8: Base Class Code Register (Read Only) − Index=0BH with an 8-bit access Bit Function Default 7:0 Base Class Code (00000110) 06H Register 9: Header Type Register (Read Only) − Index=0EH with an 8-bit access Bit Function Default 7:0 Device Type - multi-function device 80H Register 10: PCI Interrupt A Routing Control Register (Read/Write) − Index=40H with an 8-bit access Bit Function Default 7 Interrupt A Routing Control: 0: Interrupt A Routing Enabled 1: Interrupt A Routing Disabled 0 6:4 Reserved 000 3:0 Interrupt Request Level that PCI INTA is Routed to: 0000: Reserved 1000: Reserved 0001: Reserved 1001: IRQ9 0010: Reserved 1010: IRQ10 0011: IRQ3 1011: IRQ11 0100: IRQ4 1100: IRQ12 0101: IRQ5 1101: Reserved 0110: IRQ6 1110: IRQ14 0111: IRQ7 1111: IRQ15 0000 Register 11: PCI Interrupt B Routing Control Register (Read/Write) − Index=41H with an 8-bit access Bit Function Default 7 Interrupt B Routing Control: 0: Interrupt B Routing Enabled 1: Interrupt B Routing Disabled 0 6:4 Reserved 000 3:0 Interrupt Request Level that PCI INTB is Routed to: 0000: Reserved 1000: Reserved 0001: Reserved 1001: IRQ9 0010: Reserved 1010: IRQ10 0011: IRQ3 1011: IRQ11 0100: IRQ4 1100: IRQ12 0101: IRQ5 1101: Reserved 0110: IRQ6 1110: IRQ14 0111: IRQ7 1111: IRQ15 0000 114 CY82C693UB PRELIMINARY Register 12: PCI Interrupt C Routing Control Register (Read/Write) − Index=42H with an 8-bit access Bit Function Default 7 Interrupt C Routing Control: 0: Interrupt C Routing Enabled 1: Interrupt C Routing Disabled 0 6:4 Reserved 000 3:0 Interrupt Request Level that PCI INTC is Routed to: 0000: Reserved 1000: Reserved 0001: Reserved 1001: IRQ9 0010: Reserved 1010: IRQ10 0011: IRQ3 1011: IRQ11 0100: IRQ4 1100: IRQ12 0101: IRQ5 1101: Reserved 0110: IRQ6 1110: IRQ14 0111: IRQ7 1111: IRQ15 0000 Register 13: PCI Interrupt D Routing Control Register (Read/Write) − Index=43H with an 8-bit access Bit Function Default 7 Interrupt D Routing Control: 0: Interrupt D Routing Enabled 1: Interrupt D Routing Disabled 0 6:4 Reserved 000 3:0 Interrupt Request Level that PCI INTD is Routed to: 0000: Reserved 1000: Reserved 0001: Reserved 1001: IRQ9 0010: Reserved 1010: IRQ10 0011: IRQ3 1011: IRQ11 0100: IRQ4 1100: IRQ12 0101: IRQ5 1101: Reserved 0110: IRQ6 1110: IRQ14 0111: IRQ7 1111: IRQ15 0000 Register 14: PCI Control Register (Read/Write) − Index=44H with an 8-bit access Bit Function Default 7 Reserved 0 6:5 PCI Master Grant Arbitration Time 00: Reevaluate Grants after every PCI clock 01: Reevaluate Grants after 16 PCI clocks 10: Reevaluate Grants after 32 PCI clocks 11: Reevaluate Grants after 64 PCI clocks 0 4 Retry on excessive delay control: 0: Disable Retry if delay will be longer than 16 PCI clock cycles 1: Enable Retry if delay will be longer than 16 PCI clock cycles (Rev 2.1 Compliant) 0 3 Reserved 0 2 Reserved. Must be set to 0. 0 1 Reserved. Must be set to 0. 0 0 Reserved. Must be set to 0. 0 115 PRELIMINARY CY82C693UB − Index=45H with an 8-bit access Register 15: PCI Error Control Register (Read/Write) Bit Function Default 7 SERR Reporting on Target-Abort Control: 0: Disable SERR Assertion on Target-Abort 1: Enable SERR Assertion on Target-Abort 0 6 SERR Reporting on Special Cycle Data Parity Errors Control: 0: Disable SERR Assertion on Special Cycle Data Parity Errors 1: Enable SERR Assertion on Special Cycle Data Parity Errors 0 5 SERR Reporting on Address Parity Errors Control: 0: Disable SERR Assertion on Address Parity Errors 1: Enable SERR Assertion on Address Parity Errors 0 4:2 Reserved 000 1 ISA Master Post-Write Enable: 0: Disable ISA Master Post-Write Buffering 1: Enable ISA Master Post-Write Buffering 0 0 DMA Post-Write Enable: 0: Disable DMA Post-Write Buffering 1: Enable DMA Post-Write Buffering 0 Register 16: PCI Error Status Register (Read/Write) − Index=46H with an 8-bit access Bit Function Default 7:5 Reserved 000 4 Shutdown Cycle READ: 0: No Shutdown Cycle Detected 1: Shutdown Cycle Detected WRITE: 0: No change to register. 1: Clear Register 0 3:2 Reserved 00 1 ISA/DMA 0–512K Forwarding: 0: Enable Forwarding 1: Disable Forwarding 0 0 ISA/DMA 640K–768K Forwarding: 0: Disable Forwarding 1: Enable Forwarding 0 116 PRELIMINARY Register 17: PCI BIOS Control Register (Read/Write) CY82C693UB − Index=47H with an 8-bit access Bit Function Default 7 Extended BIOS Control (Addresses FFF80000H–FFFDFFFFH): 0: Disable ROM Address Mapping from FFF80000H to FFFDFFFFH 1: Generate ROMCS for addresses between FFF80000H–FFFDFFFFH 0 6 Low BIOS Control (Addresses 000E0000H–000EFFFFH and FFFE0000H–FFFEFFFFH): 0: Disable Low ROM Address Mapping 1: Generate ROMCS for Low ROM addresses 0 5 ROM Write-protect Control: 0: ROMCS will only become active on ROM reads (ROM is Read Only). 1: ROMCS will become active on ROM reads and writes. 0 4 Block D BIOS Control (Addresses 000D0000H–000DFFFFH): 0: Disable ROM Address Mapping from 000D0000H–000DFFFFH 1: Generate ROMCS for addresses between 000D0000H–000DFFFFH 0 3 Block C BIOS Control (Addresses 000C0000H–000CFFFFH): 0: Disable ROM Address Mapping from 000C0000H–000CFFFFH 1: Generate ROMCS for addresses between 000C0000H–000CFFFFH 0 2 External Keyboard Controller Status (This bit is Read Only): 0: Internal Keyboard Controller is in use. 1: External Keyboard Controller is in use. (Internal Keyboard Controller is disabled.) 0 1 External Real-Time-Clock Status (This bit is Read Only): 0: Internal RTC is in use. 1: External RTC is in use. (Internal RTC is disabled.) 0 0 External XD Buffer Status (This bit is Read Only): 0: CY82C693UB XD Bus is in use. 1: External buffer is in use to buffer the XD bus. 0 Register 18: ISA/DMA Top of Memory Control (Read/Write) Bit Function 7:4 Top of ISA Memory: 0000: 1 MByte 0001: 2 MByte 0010: 3 MByte 0011: 4 MByte 0100: 5 MByte 0101: 6 MByte 0110: 7 MByte 0111: 8 MByte − Index=48H with an 8-bit access Default 0 1000: 1001: 1010: 1011: 1100: 1101: 1110: 1111: 9 MByte 10 MByte 11 MByte 12 MByte 13 MByte 14 MByte 15 MByte 16 MByte 3 ISA/DMA Low BIOS Forwarding Control 0: Disable ISA/DMA Low BIOS Forwarding 1: Enable ISA/DMA Low BIOS Forwarding 0 2 ISA/DMA 512K-640K BIOS Forwarding Control 0: Disable ISA/DMA 512K–640K BIOS Forwarding 1: Enable ISA/DMA 512K–640K BIOS Forwarding 0 1 ISA/DMA 832K-896K BIOS Forwarding Control 0: Disable ISA/DMA 832K–896K BIOS Forwarding 1: Enable ISA/DMA 832K–896K BIOS Forwarding 0 0 ISA/DMA 768K-832K BIOS Forwarding Control 0: Disable ISA/DMA 768K–832K BIOS Forwarding 1: Enable ISA/DMA 768K–832K BIOS Forwarding 0 117 PRELIMINARY Register 19: AT Control Register #1 (Read/Write) CY82C693UB − Index=49H with an 8-bit access Bit Function Default 7 Reserved 0 6 PIO IDE Routable Interrupt Request Control 0: IDE Interrupt Requests are available on XD bus pins to support Interrupt routing 1: IDE Interrupt Requests must be hardwired to IRQ14 and IRQ15 0 5 IDE DMA Status (This bit is Read Only) 0: IDE DMA is disabled 1: IDE DMA is enabled 0 4 Keyboard Controller Status (This bit is Read Only) 0: PS/2 Keyboard Controller 1: Standard AT Keyboard Controller 0 3 16-bit I/O Recovery Control 0: Disable 16-bit I/O Recovery 1: Enable 16-bit I/O Recovery 0 2 8-bit I/O Recovery Control 0: Disable 8-bit I/O Recovery 1: Enable 8-bit I/O Recovery 0 1:0 ATCLK Control 00: PCICLK divided by four 01: PCICLK divided by three 10: 14.318 MHz Clock divided by two (7.16 MHz) 11: Reserved 00 Register 20: AT Control Register #2 (Read/Write) − Index=4AH with an 8-bit access Bit Function Default 7 Wait for Halt Control: 0: Enable Wait for Halt 1: Disable Wait for Halt 0 6 Keyboard Controller Fast Reset Emulation Control: 0: Enable Fast Reset Emulation 1: Disable Fast Reset Emulation 0 5 Keyboard Controller Fast Gate A20 Emulation Control: 0: Enable Fast Gate A20 Emulation 1: Disable Fast Gate A20 Emulation 0 4 Port 92 Emulation Control: 0: Enable Port 92 Emulation 1: Disable Port 92 Emulation 0 3 AT Refresh Cycle Control 0: Refresh is four ATCLK cycles 1: Refresh is four ATCLK/2 cycles 0 2 AT Refresh Control 0: Disable AT Refresh 1: Enable AT Refresh 0 1:0 Keyboard Controller Clock Speed Control PCICLK Speed 25 MHz 33 MHz 00: 6.25 MHz 8.25 MHz 01: 12.5 MHz 16.5 MHz 10: 8.33 MHz 11 MHz 11: 16.67 MHz 22 MHz 00 118 PRELIMINARY Register 21: PCI IDE Interrupt Request 0 Routing Control Register (Read/Write) CY82C693UB − Index=4BH with an 8-bit access Bit Function Default 7 IDE Interrupt 0 Routing Control: 0: Interrupt 0 Routing Enabled 1: Interrupt 0 Routing Disabled 0 6:4 Reserved 000 3:0 Interrupt Request Level that PCI IDE IRQ0 is Routed to: 0000: Reserved 1000: Reserved 0001: Reserved 1001: IRQ9 0010: Reserved 1010: IRQ10 0011: IRQ3 1011: IRQ11 0100: IRQ4 1100: IRQ12 0101: IRQ5 1101: Reserved 0110: IRQ6 1110: IRQ14 0111: IRQ7 1111: IRQ15 0000 Register 22: PCI IDE Interrupt Request 1 Routing Control Register (Read/Write) − Index=4CH with an 8-bit access Bit Function Default 7 IDE Interrupt 1 Routing Control: 0: Interrupt 0 Routing Enabled 1: Interrupt 0 Routing Disabled 0 6:4 Reserved 000 3:0 Interrupt Request Level that PCI IDE IRQ1 is Routed to: 0000: Reserved 1000: Reserved 0001: Reserved 1001: IRQ9 0010: Reserved 1010: IRQ10 0011: IRQ3 1011: IRQ11 0100: IRQ4 1100: IRQ12 0101: IRQ5 1101: Reserved 0110: IRQ6 1110: IRQ14 0111: IRQ7 1111: IRQ15 0000 119 PRELIMINARY CY82C693UB Register 23: CY82C693UB Stand-Alone Control and USB Host Controller Control Register (Read/Write) with an 8-bit access − Index=4DH Bit Function Default 7 External PCI Arbiter Protocol Control: 0: All CY82C693UB masters arbitrate for the PCI bus using the PREQ/PGNT signal pair. 1: This setting is used to allow USB master arbitration to use the SREQ/SGNT signal pair. All other CY82C693UB masters use PREQ/PGNT. 0 Note: This register bit is only for use when the internal PCI arbiter is disabled. If the internal PCI arbiter is used (pin 194 HIGH at power-up), this register bit does not effect CY82C693UB operation. 6:5 Flush Request/Acknowledge Handshake Control: 00: Normal Operation: Flush request/acknowledge handshake is performed using the FREQACK signal. 01: Flush request/acknowledge handshake is performed using the FREQACK signal. However, IRQ8 (the RTC interrupt) is masked internally and will not be seen by the interrupt controller. 10: Flush request is automatically acknowledged internally. The FREQACK signal will remain in high impedance. 11: Flush request is automatically acknowledged internally. IRQ8 (the RTC interrupt) is masked internally and will not be seen by the interrupt controller. IRQ8 is driven out on the FREQACK pin (pin 190). 00 If a Flush Acknowledge is not sent externally (by the system northbridge), bit 6 must be set to “1.” Otherwise DMA will not work correctly. Note: Flush request may not be automatically acknowledged internally if a coherent path to memory is not guaranteed. 4 IDE Controller Decode Control: 0: IDE Controller decode will only use lower 16 address bits (64KB). 1: IDE Controller decode will use all 32-bits (4GB). 0 Note: If I/O transactions are allowed above 64KB, this bit should be set to 1. Otherwise, system conflicts may occur. See IDE Controller Configuration Registers 7, 8, &9. 3 ROM Space Decode: 0: 512KB ROM space decode 1: 1MB ROM space decode 2 Reserved. 1 Reserved. 0 USB Interface Control: 0: Disable USB interface 1: Enable USB interface 0 0 120 PRELIMINARY CY82C693UB Register 24: CY82C693UB USB Control Register 1 (Read/Write) - Index=4EH with an 8-bit access Bit Function Default 7:6 USB Host Controller Test Mode Selection 00 5 USB Host Controller Test Mode Enable 0 4 USB Host Controller IRQ1 Enable: 0: Disabled 1: Enabled 0 3 USB Host Controller IRQ12 Enable: 0: Disabled 1: Enabled This bit is write-only. Undefined on read. 0 2 USB Host Controller FA20 Enable: 0: Disabled 1: Enabled This bit is write-only. Undefined on read. 0 1 USB Host Controller SMI Enable: 0: Disabled 1: Enabled This bit is write-only. Undefined on read. 0 0 Reserved 0 Register 24: CY82C693UB USB Control Register 2 (Read/Write) - Index=4FH with an 8-bit access Bit Function Default 7 USB Host Controller SMIACT Enable: 0: Disabled 1: Enabled 0 6 USB Host Controller PWREN Enable: 0: Disable 1: Enabled 0 5:4 USB Host Controller Interrupt Mapping: 00: PCI INTAN 01: PCI INTBN 10: PCI INTCN 11: PCI INTDN 00 3:0 Reserved. 0000 121 PRELIMINARY CY82C693UB Primary Channel IDE PIO (Programmed I/O) PCI Configuration Registers (Function 1 during Configuration Cycle) Register 0: Vendor ID Number (Read Only) − Index=00H with a 16-bit access Bit Function Default 15:0 Cypress ID Number: 0001000010000000 1080H Register 1: Device ID Number (Read Only) − Index=02H with a 16-bit access Bit Function Default 15:0 CY82C693UB Device ID Number: 1100011010010011 C693H Register 2: Command Register (Read/Write) − Index=04H with a 16-bit access Bit Function Default 15:10 Reserved. 000000 9 Reserved, Must be set to 0. 0 8 SERR Reporting Enable: 0: SERR Reporting Disabled 1: SERR Reporting Enabled 0 7 Reserved, Must be set to 0. 0 6:3 Reserved. 0000 2 Bus Master Enable. 0 Bus Master Disabled 1 Bus Master Enabled 0 1 Memory Access Enable. This bit is forced to 0 (Memory Access is not allowed to IDE Controller). 0 0 I/O Access Enable.: 0: Primary IDE controller disabled. 1: Primary IDE controller enabled. The Primary IDE Controller will respond to PIO I/O accesses when this bit is set. 0 122 CY82C693UB PRELIMINARY Register 3: Status Register (Read/Write) − Index=06H with a 16-bit access Bit Function Default 15 Reserved. Read as 0. 0 14 PCI System Error This bit is not used by the IDE controllers. 0 13 PCI Master-Abort READ: 0: No PCI Master-Abort Occurred 1: PCI Master-Abort Occurred WRITE: 0: No change to register 1: Clear Register 0 12 CY82C693UB Detection of Target-Abort (from another PCI target) READ: 0: No PCI Target-Abort Occurred 1: PCI Target-Abort Occurred WRITE: 0: No change to register 1: Clear Register 0 11 CY82C693UB Assertion of Target-Abort (CY82C693UB is the target) READ: 0: No PCI Target-Abort Occurred 1: PCI Target-Abort Occurred WRITE: 0: No change to register 1: Clear Register 0 10:9 DEVSEL Timing Status These register bits are Read Only and will always return 01 (medium timing). 01 8 Reserved. Read as 0. 0 7 Fast Back-to-Back Transfer Capable. This Read Only bit will always return 1. 1 6:0 Reserved. 0000000 Register 4: Revision ID Number (Read Only) − Index=08H with an 8-bit access Bit Function Default 7:0 Current Revision of the Part (00000000) 00H Register 5: Class Code Register (Read Only) − Index=09H with a 32-bit access Bit Function Default 7:0 Sub Class Code - IDE mass storage disk controller w/ bus mastering support 00010180H Register 6: Header Type Register (Read Only) − Index=0EH with an 8-bit access Bit Function Default 7:0 Device Type, single-function device 00H Register 7: Primary IDE Command Address Register (Read/Write) − Index=10H with a 32-bit access Bit Function 31:0 Primary IDE Command Address Register: 00000000H This register specifies the amount of I/O space required for the primary IDE command registers. The IDE command block requires 8 bytes of I/O space (Bits [2:0] are hardwired to 001). Bits [15:3] are programmable. Bits [31:16] are hard-wired to 0000H. See stand-alone description for 32-bit decode option. Default 123 CY82C693UB PRELIMINARY Register 8: Primary IDE Control Address Register (Read/Write) − Index=14H with a 32-bit access Bit Function Default 31:0 Primary IDE Control Address Register: This register specifies the amount of I/O space required for the primary IDE control registers. The IDE control block requires 2 bytes of I/O space (Bits [1:0] are hardwired to 01). Bits [15:2] are programmable. Bits [31:16] are hard-wired to 0000H. See stand-alone description for 32-bit decode option. 00000000H Note: Register Indices 18H-1FH will return all zeroes when read. Register 9: Primary Bus Master IDE Control Address Register (Read/Write) − Index=20H with a 32-bit access Bit Function Default 31:0 Bus Master IDE Control Address Register: This register specifies the amount of I/O space required for the bus master IDE control registers. The bus master IDE control block requires 16 bytes of I/O space (Bits [3:0] are hardwired to 0001). Bits [15:4] are programmable. Bits [31:16] are hard-wired to 0000H. See stand-alone description for 32-bit decode option. 00000000H Register 10: Primary IDE Interrupt INTA Control Register (Read/Write) − Index=3CH with an 8-bit access Bit Function Default 7:0 Primary IDE Interrupt Control Register: This register is written by the POST software to inform the system which interrupt level the primary IDE controller is connected. 14H Register 11: Primary IDE Interrupt Pin Control Register (Read Only) − Index=3DH with an 8-bit access Bit Function Default 7:0 Primary IDE Interrupt Pin Control Register: 01H: The Primary IDE Channel Interrupt is connected to PCI INTA internally. 01H Note: Register Indices 3EH-3FH will return all zeroes when read. 124 CY82C693UB PRELIMINARY Register 12: Primary IDE Control Register (Read/Write) − Index=40H with a 32-bit access Bit Function Default 31:18 Reserved 00000000000 000 17 Reserved 0 16 Reserved 0 15:14 Reserved 00 13 Retry I/O Accesses Not Completed by 16 PCI Clocks Control: 0: I/O Accesses Not Completed by 16 PCI Clocks will not be retried. 1: I/O Accesses Not Completed by 16 PCI Clocks will be retried. 0 12:11 Reserved 00 10 Slave Drive Prefetch Control: 0: Disable Prefetch (Must be 0 for CDROM accesses). 1: Enable Prefetch 0 9 Post Write Control: 0: One level FIFO for Posted Writes 1: Four levels of FIFO for Posted Writes 0 8 Master Drive Prefetch Control: 0: Disable Prefetch (Must be 0 for CDROM accesses). 1: Enable Prefetch 0 7:6 Reserved 00 5:4 Post Write Length Control: The value programmed into this register+1 will be the length of the Post Write Bursts that the IDE write state machine will attempt to the IDE drive when the AT bus grant is received. 00 3:2 Reserved 00 1:0 Prefetch Length Control: The value programmed into this register+1 will be the length of the Prefetch Bursts that the IDE read state machine will attempt to the IDE drive when the AT bus grant is received. 00 Note: Register Indices 44H-47H will return all zeroes when read. Register 13: Primary IDE Address Setup Control Register (Read/Write) − Index=48H with a 32-bit access Bit Function Default 31:8 Reserved 000000H 7:4 Slave Drive IDE Address Set-up Time: The value programmed into this register +1 will be the setup (in PCI Clock cycles) from address valid to IOR or IOW valid. 0011 3:0 Master Drive IDE Address Set-up Time: The value programmed into this register +1 will be the setup (in PCI Clock cycles) from address valid to IOR or IOW valid. 0011 Register 14: Primary Master Drive IDE IOR Command Control Register (Read/Write) − Index=4CH with an 8-bit access Bit Function Default 7:4 16-Bit Master Drive IDE IOR Command Pulse Width Time: The value programmed into this register +1 will be the duration (in AT Clock cycles) of the asserted IOR signal. 0011 3:0 16-Bit Master Drive IDE IOR Command Recovery Time: The value programmed into this register +1 will be the duration (in AT Clock cycles) that IOR must be deasserted between transfers. 0011 125 CY82C693UB PRELIMINARY − Index=4DH with an 8-bit access Register 15: Primary Master Drive IDE IOW Command Control Register (Read/Write) Bit Function Default 7:4 16-Bit Master Drive IDE IOW Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOW signal. 0110 3:0 16-Bit Master Drive IDE IOW Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOW must be deasserted between transfers. 1110 Register 16: Primary Slave Drive IDE IOR Command Control Register (Read/Write) − Index=4EH with an 8-bit access Bit Function Default 7:4 16-Bit Slave Drive IDE IOR Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOR signal. 0011 3:0 16-Bit Slave Drive IDE IOR Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOR must be deasserted between transfers. 0011 Register 17: Primary Slave Drive IDE IOW Command Control Register (Read/Write) − Index=4FH with an 8-bit access Bit Function Default 7:4 16-Bit Slave Drive IDE IOW Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOW signal. 0110 3:0 16-Bit Slave Drive IDE IOW Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOW must be deasserted between transfers. 1110 Register 18: Primary Master Drive 8-Bit IDE Command Control Register (Read/Write) − Index=50H with an 8-bit access Bit Function Default 7:4 8-Bit Master Drive IDE Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOW or IOR signal. 1010 3:0 8-Bit Master Drive IDE IOW Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOW must be deasserted between transfers. 1010 Register 19: Primary Slave Drive 8-Bit IDE Command Control Register (Read/Write) − Index=51H with an 8-bit access Bit Function Default 7:4 8-Bit Slave Drive IDE Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOW or IOR signal. 1010 3:0 8-Bit Slave Drive IDE IOW Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOW must be deasserted between transfers. 1010 Note: The 8-bit IDE Command Registers are used for mode 0, 1, and 2 drives. For mode 3 and 4 drives, the 8 and 16 bit timings are the same. 126 CY82C693UB PRELIMINARY Register 20: Primary Master Drive IORDY Control Register (Read/Write) − Index=52H with an 8-bit access Bit Function Default 7:4 Reserved 0000 3:2 Read Synchronization Control: The value in this register selects the number of PCI clocks used to synchronize the rising edge of IORDY during read transactions. 01 1:0 Write Synchronization Control: The value in this register selects the number of PCI clocks used to synchronize the rising edge of IORDY during write transactions. 01 Register 21: Primary Slave Drive IORDY Control Register (Read/Write) − Index=53H with an 8-bit access Bit Function Default 7:4 Reserved 0000 3:2 Read Synchronization Control: The value in this register selects the number of PCI clocks used to synchronize the rising edge of IORDY during read transactions. 01 1:0 Write Synchronization Control: The value in this register selects the number of PCI clocks used to synchronize the rising edge of IORDY during write transactions. 01 127 PRELIMINARY CY82C693UB Secondary Channel IDE PIO (Programmed I/O) PCI Configuration Registers (Function 2 during Configuration Cycle) Register 0: Vendor ID Number (Read Only) − Index=00H with a 16-bit access Bit Function Default 15:0 Cypress ID Number: 0001000010000000 1080H Register 1: Device ID Number (Read Only) − Index=02H with a 16-bit access Bit Function Default 15:0 CY82C693UB Device ID Number: 1100011010010011 C693H Register 2: Command Register (Read/Write) − Index=04H with a 16-bit access Bit Function Default 15:10 Reserved. 000000 9 Reserved, must be set to 0 0 8 SERR Reporting Enable: 0: SERR Reporting Disabled 1: SERR Reporting Enabled 0 7 Reserved, must be set to 0. 0 6 Reserved 0 5:1 Reserved 00000 0 I/O Access Enable.: 0: Secondary IDE controller disabled 1: Secondary IDE controller enabled The Secondary IDE Controller will respond to PIO I/O accesses when this bit is set. 0 128 CY82C693UB PRELIMINARY Register 3: Status Register (Read/Write) − Index=06H with a 16-bit access Bit Function Default 15 Not Implemented. Read as 0. 0 14 PCI System Error This bit is not used by the IDE controllers. 0 13 PCI Master-Abort READ: 0: No PCI Master-Abort Occurred 1: PCI Master-Abort Occurred WRITE: 0: No change to register 1: Clear Register 0 12 CY82C693UB Detection of Target-Abort (from another PCI target) READ: 0: No PCI Target-Abort Occurred 1: PCI Target-Abort Occurred WRITE: 0: No change to register 1: Clear Register 0 11 CY82C693UB Assertion of Target-Abort (CY82C693UB is the target) READ: 0: No PCI Target-Abort Occurred 1: PCI Target-Abort Occurred WRITE: 0: No change to register 1: Clear Register 0 10:9 DEVSEL Timing Status. These register bits are Read Only and will always return 01 (medium timing) 01 8 Not Implemented. Read as 0. 0 7 Fast Back-to-Back Transfer Capable. This Read Only bit will always return 1. 1 6:0 Reserved 0000000 Register 4: Revision ID Number (Read Only) − Index=08H with an 8-bit access Bit Function Default 7:0 Current Revision of the Part (00000000) 00H Register 5: Class Code Register (Read Only) − Index=09H with a 32-bit access Bit Function Default 7:0 Sub Class Code - IDE mass storage disk controller 00010100H Register 6: Header Type Register (Read Only) − Index=0EH with an 8-bit access Bit Function Default 7:0 Device Type, single-function device 00H Register 7: Secondary IDE Command Address Register (Read/Write) − Index=10H with a 32-bit access Bit Function Default 31:0 Secondary IDE Command Address Register: This register specifies the amount of I/O space required for the secondary IDE command registers. The IDE command block requires 8 bytes of I/O space (Bits [2:0] are hardwired to 001). Bits [15:3] are programmable. Bits [31:16] are hard-wired to 0000H. See stand-alone description for 32-bit decode option description. 00000000H 129 CY82C693UB PRELIMINARY Register 8: Secondary IDE Control Address Register (Read/Write) − Index=14H with a 32-bit access Bit Function Default 31:0 Secondary IDE Control Address Register: This register specifies the amount of I/O space required for the secondary IDE control registers. The IDE control block requires 2 bytes of I/O space (Bits [1:0] are hardwired to 01). Bits [15:2] are programmable. Bits [31:16] are hard-wired to 0000H. See stand-alone description for 32-bit decode option description. 00000000H Note: Register Indices 18H-3BH will return all zeroes when read. Register 9: Secondary IDE Interrupt INTB Control Register (Read/Write) − Index=3CH with an 8-bit access Bit Function Default 7:0 Secondary IDE Interrupt Control Register: This register is written by the POST software to inform the system which interrupt level the secondary IDE controller is connected. 15H Register 10: Secondary IDE Interrupt Pin Control Register (Read Only) − Index=3DH with an 8-bit access Bit Function Default 7:0 Secondary IDE Interrupt Pin Control Register: 02H: The secondary IDE Channel Interrupt is connected to PCI INTB internally. 02H Note: Register Indices 3EH-3FH will return all zeroes when read. Register 11: Secondary IDE Control Register (Read/Write) − Index=40H with a 32-bit access Bit Function Default 31:16 Reserved 00000000000 00000 15:14 Reserved 00 13 Retry I/O Accesses Not Completed by 16 PCI Clocks Control: 0: I/O Accesses Not Completed by 16 PCI Clocks will not be retried 1: I/O Accesses Not Completed by 16 PCI Clocks will be retried 0 12:11 Reserved 00 10 Slave Drive Prefetch Control: 0: Disable Prefetch (Must be 0 for CDROM accesses). 1: Enable Prefetch 0 9 Post Write Control: 0: One level FIFO for Posted Writes 1: Four levels of FIFO for Posted Writes 0 8 Master Drive Prefetch Control: 0: Disable Prefetch (Must be 0 for CDROM accesses) 1: Enable Prefetch 0 7:6 Reserved 00 5:4 Post Write Length Control: The value programmed into this register+1 will be the length of the Post Write Bursts that the IDE write state machine will attempt to the IDE drive when the AT bus grant is received. 00 3:2 Reserved 00 1:0 Prefetch Length Control: The value programmed into this register+1 will be the length of the Prefetch Bursts that the IDE read state machine will attempt to the IDE drive when the AT bus grant is received. 00 Note: Register Indices 44H-47H will return all zeroes when read. 130 CY82C693UB PRELIMINARY Register 12: Secondary IDE Address Setup Control Register (Read/Write) − Index=48H with a 32-bit access Bit Function Default 31:8 Reserved 000000H 7:4 Slave Drive IDE Address Setup Time: The value programmed into this register +1 will be the setup (in PCI Clock cycles) from address valid to IOR or IOW valid. 0011 3:0 Master Drive IDE Address Setup Time: The value programmed into this register +1 will be the setup (in PCI Clock cycles) from address valid to IOR or IOW valid. 0011 Register 13: Secondary Master Drive IDE IOR Command Control Register (Read/Write) − Index=4CH with an 8-bit access Bit Function Default 7:4 16-Bit Master Drive IDE IOR Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOR signal. 0011 3:0 16-Bit Master Drive IDE IOR Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOR must be deasserted between transfers. 0011 Register 14: Secondary Master Drive IDE IOW Command Control Register (Read/Write) − Index=4DH with an 8-bit access Bit Function Default 7:4 16-Bit Master Drive IDE IOW Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOW signal. 0110 3:0 16-Bit Master Drive IDE IOW Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOW must be deasserted between transfers. 1110 Register 15: Secondary Slave Drive IDE IOR Command Control Register (Read/Write) − Index=4EH with an 8-bit access Bit Function Default 7:4 16-Bit Slave Drive IDE IOR Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOR signal. 0011 3:0 16-Bit Slave Drive IDE IOR Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOR must be deasserted between transfers. 0011 Register 16: Secondary Slave Drive IDE IOW Command Control Register (Read/Write) − Index=4FH with an 8-bit access Bit Function Default 7:4 16-Bit Slave Drive IDE IOW Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOW signal. 0110 3:0 16-Bit Slave Drive IDE IOW Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOW must be deasserted between transfers. 1110 131 CY82C693UB PRELIMINARY Register 17: Secondary Master Drive 8-Bit IDE Command Control Register (Read/Write) − Index=50H with an 8-bit access Bit Function Default 7:4 8-Bit Master Drive IDE Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOW or IOR signal. 1010 3:0 8-Bit Master Drive IDE IOW Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOW must be deasserted between transfers. 1010 Register 18: Secondary Slave Drive 8-Bit IDE Command Control Register (Read/Write) − Index=51H with an 8-bit access Bit Function Default 7:4 8-Bit Slave Drive IDE Command Pulse Width Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) of the asserted IOW or IOR signal. 1010 3:0 8-Bit Slave Drive IDE IOW Command Recovery Time: The value programmed into this register +1 will be the duration (in PCI Clock cycles) that IOW must be deasserted between transfers. 1010 Note: The 8-bit IDE Command Registers are used for mode 0, 1, and 2 drives. For mode 3 and 4 drives, the 8 and 16 bit timings are the same. Register 19: Secondary Master Drive IORDY Control Register (Read/Write) − Index=52H with an 8-bit access Bit Function Default 7:4 Reserved 0000 3:2 Read Synchronization Control: The value in this register selects the number of PCI clocks used to synchronize the rising edge of IORDY during read transactions. 01 1:0 Write Synchronization Control: The value in this register selects the number of PCI clocks used to synchronize the rising edge of IORDY during write transactions. 01 132 PRELIMINARY CY82C693UB USB Host Controller PCI Configuration Registers (Function 3 during Configuration Cycle) Register 0: Vendor ID Number (Read Only) - Index=00H with a 16-bit access Bit Function Default 15:0 Cypress ID Number: 0001000010000000 1080H Register 1: Device ID Number (Read Only) - Index=02H with a 16-bit access Bit Function Default 15:0 CY82C693UB Device ID Number: 1100011010010011 C693H Register 2: Command Register (Read/Write) - Index=04H with a 16-bit access Bit Function Default 15:10 Reserved. Always 0. 000000 9 Fast Back-to-Back enable: 0: Disabled 1 Enabled The USB Host Controller always generates fast back-to-back access. Therefore, this bit must be set to 1. 0 8 SERR Reporting Enable: 0: Disabled 1: Enabled 0 7 Wait Cycle Control. Always 0. 0 6 PERR Detection Enabled. Not supported by CY82C693UB. 0 5 VGA Palette Snooping. Always 0 0 4 Memory Write and Invalidate Command Enable 0 3 Special Cycle Enable. Always 0. 0 2 PCI Master Enable: 0 0: Bus Master Disabled 1: Bus Master Enabled This bit enables the USB Host Controller to act as a PCI master. If set to 0, no PCI access will be generated by the USB Host Controller. This bit must be set to 1 before USB transactions can start. 1 Memory Access Enable: 0: Memory Access Disabled 1: Memory Access Enabled This bit must be set to 1 for the USB Host Controller to perform memory acces. 0 0 I/O Access Enable: 0: I/O Access Disabled 1: I/O Access Enabled This bit must be set to 1 for the USB Host Controller to perform I/O access 0 133 PRELIMINARY CY82C693UB Register 3: Status Registers (Read/Write) - Index=06H with a 16-bit access Bit Function Default 15 Detected Parity Error: READ: 0: No Parity Error Detected 1: Parity Error Detected WRITE: 0: No change to register 1: Clear register This bit is set to 1 whenever the USB Host Controller detects a parity error, even if the Parity Error Detection Enable bit (command register, bit 6) is disabled. 0 14 PCI SERR Status: READ: 0: No Parity Error Detected 1: Parity Error Detected WRITE: 0: No change to register 1: Clear register This bit is set to 1 when the USB Host Controller detects a PCI address parity error. 0 13 PCI Master-Abort READ: 0: No PCI Master-Abort occurred 1: PCI Master-Abort occurred WRITE: 0: No change to register 1: Clear register 0 12 CY82C693UB Detection of Target-Abort (from another PCI target) READ: 0: No PCI Target-Abort occurred 1: PCI Target-Abort occurred WRITE: 0: No change to register 1: Clear register 0 11 CY82C693UB Assertion of Target-Abort (CY82C693UB is the target) READ: 0: No PCI Target-Abort occurred 1: PCI Target-Abort occurred WRITE: 0: No change to register 1: Clear register 0 10:9 DEVSEL Timing Status: These register bits are Read Only and will always read as 01 (medium timing) 01 8 Data Parity Reported. Not supported by CY82C693UB (PERR) 0 7 Fast Back-to-Back Transfer Capable. This Read Only bit will always return 1 1 6:0 Reserved. Always 0. 0 Register 4: Revision ID Number (Read Only) - Index=08H with an 8-bit access Bit Function Default 7:0 Current Revision of the Part (00000000) 00H 134 PRELIMINARY CY82C693UB Register 5: Class Code Register (Read Only) - Index=09H with a 24-bit access Bit Function Default 23:0 Sub Class Code: Base Class Code: Serial Bus Controller (OCH) Sub Class Code: Universal Serial Bus (03H) Programming Interface: USB OpenHCI (10H) 0C0310H Register 6: Cache Line Size (Read/Write) - Index=0CH with an 8-bit access Bit Function Default 7:0 Cache Line Size. This register identifies the system cache line size in units of 32-bit words. The USB Host Controller will only store the value of bit 3 in this register since the cache line size of 32 bytes is the only value applicable to the design. Any value other than 08H written to this register will be read back as 00H 00H Register 7: Latency Timer (Read/Write) - Index=0DH with an 8-bit access Bit Function Default 7:0 Latency Timer. This register identifies the value of the latency timer in PCI clocks for PCI bus master cycles. 00H Register 8: Header Type Register (Read Only) - Index=0EH with an 8-bit access Bit Function Default 7:0 Header Type. This register identifies the type of the predefined header in the configuration space. Since the USB Host Controller is a single function device and not a PCI-to-PCI bridge, this byte should be read as 00H. 00H Register 9: BIST Register (Read Only) - Index=0FH with an 8-bit access Bit Function Default 7:0 Built-In Self Test. This register identifies the control and status of Built-In Self Test. The USB Host Controller does not implement BIST, so this register is read only 00H Register 10: Base Address Register (Read/Write) - Index=10H with a 32-bit access Bit Function Default 31:12 Base Address. POST writes the value of the memory base address to this register. 00000H 11:4 Always 0. Indicates a 4K byte address range is requested. 00H 3 Always 0. Indicates there is no support for prefetchable memory. 0 2:1 Always 0. Indicates that the base register is 32-bit wide and can be placed anywhere in 32-bit memory space. 00 0 Always 0. Indicates that the USB Host Controller operational registers are mapped into mem- 0 ory space. Note: The Base Address Register contains the base address of the memory-mapped USB Host Controller Operational Registers, which are defined in the next section. Register 11: Interrupt LIne Register (Read/Write) - Index=3CH with an 8-bit access Bit Function Default 7:0 Interrupt Line. This register identifies which of the system interrupt controllers the device’s interrupt pin is connected to. The value of this register is used by the device drivers and has no direct meaning to the USB Host Controller. 00H 135 PRELIMINARY CY82C693UB Register 12: Interrupt Pin Register (Read/Write) - Index=3DH with an 8-bit access Bit Function Default 7:0 Interrupt Pin Register. This register identifies which interrupt pin a device uses. Since the USB Host Controller uses INTA, this register is set to 01H. 01H Register 13: Min_Gnt Register (Read Only) - Index=3EH with an 8-bit access Bit Function Default 7:0 PCI Min_Gnt. This register specifies how long of a burst the USB Host Controller needs assuming a clock rate of 33 MHz. The value specifies a period of time in units of 1/4 microsecond. 00H Register 14: Max_Lat Register (Read Only) - Index=3FD with an 8-bit access Bit Function Default 7:0 PCI Max. Latency. This register specifies how often the USB Host Controller needs access to the PCI bus assuming a clock rate of 33 MHz. The value specifies a period of time in units of 1/4 microsecond. 00H Register 15: ASIC Test Mode Enable Register (Read/Write) - Index=40H with a 32-bit access Bit Function Default 31:0 ASIC Test Mode Enable. For normal USB Host Controller operation this register must be set to 0. 0XXXXXXXH Register 16: ASIC Operational Mode Enable Register (Read/Write) - Index=44H with an 8-bit access Bit Function Default 7:0 ASIC Operational Mode Enable. For normal USB Host Controller operation this register must remain as 0. 00H 136 CY82C693UB PRELIMINARY USB Host Controller Operational Registers The USB Host Controller Operational Registers are accessed using memory-mapped I/O. The address of each operational register is given by the Base Address (specified in the Base Address Register in the USB Host Controller PCI Configuration Registers) and the offset value of the register. Register 0: HcRevision (Read Only) - Offset=00H with a 32-bit access Bit Function Default 31:8 Reserved. 000000H 7:0 Revision Number. Indicates the OpenHCI Specification revision number implemented by the hardware. 10H Register 1: HcControl (Read/Write) - Offset=04H with a 32-bit access Bit Function Default 31:11 Reserved. 0H 10 Remote Wakeup Connected Enable: If a remote wakeup signal is supported, this bit is used to enable that operation. Since there is no remote wakeup signal supported, this bit is ignored. 0 9 Remote Wakeup Connected: This Read Only bit indicated whether the Host Controller supports a remote wakeup signal. This implementation does not support any such signal. The bit is hard-coded to 0. 0 8 Interrupt Routing: This bit is used for interrupt routing: 0: Interrupt routed to normal interrupt mechanism (INT) 1: Interrupt routed to SMI 0 7:6 Host Controller Functional State: This field is used to set the Host Controller state. The state encoding are: 00: USBReset 01: USBResume 10: USBOperational 11: USBSuspend The USB Host Controller may force a state change from USBSuspend to USBResume after detecting resume signaling from a downstream port. 00 5 Bulk List Enable: When set this bit enables processing of the Bulk list. 0 4 Control List Enable: When set this bit enables processing of the Control list. 0 3 Isochronous Enable: When cleared, this bit disables the Isochronous List when the Periodic List is enabled (so Interrupt EDs may be serviced). While processing the Periodic List, the Host Controller will check this bit when it finds an isochronous ED. 0 2 Periodic List Enable: When set, this bit enables processing of the Periodic (interrupt and isochronous) list. The Host Controller checks this bit prior to attempting any periodic transfer in a frame. 0 1:0 Control Bulk Service Ratio: Specifies the number of Control Endpoints serviced for every Bulk Endpoint. Encoding is N−1 where N is the number of Control Endpoints (i.e., ‘00’ = 1 Control Endpoint; ‘11’ = 4 Control Endpoints). 00 137 PRELIMINARY CY82C693UB Register 2: HcCommandStatus (Read/Write) - Offset=08H with a 32-bit access Bit Function Default 31:18 Reserved. 17:16 Schedule Overrun Count: This field increments every time the SchedulingOverrun bit in HcInterruptStatus is set. The count wraps from ‘11’ to ‘00’. 00 15:4 Reserved. 0H 3 Ownership Change Request: When set by software, this bit sets the OwnershipChange field in HcInterruptStatus. The bit is cleared by software. 0 2 Bulk List Filled: When set, this bit indicates there is an active ED on the Bulk List. the bit may be set by either software or the Host Controller. The bit is cleared by the Host Controller each time it begins processing the head of the Bulk List 0 1 Control List Filled: When set, this bit indicates there is an active ED on the Control List. The bit may be set by either software or the Host Controller. The bit is cleared by the Host Controller each time it begins processing the head of the Control List 0 0 Host Controller Reset: This bit is set to initiate a software reset. This bit is cleared by the Host Controller upon completion of the reset operation 0 Register 3: HcInterruptStatus (Read/Write) - Offset=0CH with a 32-bit access Bit Function Default 31 Reserved. 0 30 Ownership Change: This bit is set when the OwnershipChangeRequest bit of HcCommandStatus is set. 0 29:7 Reserved. 0H 6 Root Hub Status Change: This bit is set when the content of HcRhStatus or the content of any HcRhPortStatus register has changed 0 5 FrameNumber Overflow: This bit is set when bit 15 of FrameNumber changes value from ‘0’ to ‘1’ or from ‘1’ to ‘0’. 0 4 Unrecoverable Error: Read Only. This event is not implemented and is hard-coded to ‘0’. All writes are ignored. 0 3 Resume Dectected: This bit is set when the Host Controller detects resume signaling on a downstream port. 0 2 Start Of Frame: This bit is set when the Frame Management block signals a ‘Start of Frame’ event. 0 1 Writeback Done Head: This bit is set after the Host Controller has written HcDoneHead to HccaDoneHead. 0 0 Scheduling Overrun: This bit is set when the List Processor determines a Schedule Overrun has occurred. 0 138 PRELIMINARY CY82C693UB Register 4: HcInterruptEnable (Read/Write) - Offset=10H with a 32-bit access Bit Function Default 31 Master Interrupt Enable: This bit is a global interrupt enable. A write of ‘1’ allows interrupts to be enabled via the specific enable bits listed below. 0 30 Ownership Change Enable: 0: Ignore 1: Enable interrupt generation due to Ownership Change 0 29:7 Reserved. 0H 6 Root Hub Status Change Enable: 0: Ignore 1: Enable interrupt generation due to Root Hub Status Change 0 5 Frame Number Overflow Enable: 0: Ignore 1: Enable interrupt generation due to Frame Number Overflow 0 4 Unrecoverable Error Enable: This event is not implemented. All writes to this bit will be ignored. 0 3 Resume Detected Enable: 0: Ignore 1: Enable interrupt generation due to Resume Detected 0 2 Start Of Frame Enable: 0: Ignore 1: Enable interrupt generation due to Start of Frame 0 1 Writeback Done Head Enable: 0: Ignore 1: Enable interrupt generation due to Writeback Done Head 0 0 Scheduling Overrun Enable: 0: Ignore 1: Enable interrupt generation due to Scheduling Overrun 0 139 PRELIMINARY CY82C693UB Register 5: HcInterruptDisable (Read/Write) - Offset=14H with a 32-bit access Bit Function Default 31 Master Interrupt Enable: This bit is a global interrupt disable. A write of ‘1’ disables all interrupts. 0 30 Ownership Change Enable: 0: Ignore 1: Disable interrupt generation due to Ownership Change 0 29:7 Reserved. 0H 6 Root Hub Status Change Enable: 0: Ignore 1: Disable interrupt generation due to Root Hub Status Change 0 5 Frame Number Overflow Enable: 0: Ignore 1: Disable interrupt generation due to Frame Number Overflow 0 4 Unrecoverable Error Enable: This event is not implemented. All writes to this bit will be ignored. 0 3 Resume Detected Enable: 0: Ignore 1: Disable interrupt generation due to Resume Detected 0 2 Start Of Frame Enable: 0: Ignore 1: Disable interrupt generation due to Start of Frame 0 1 Writeback Done Head Enable: 0: Ignore 1: Disable interrupt generation due to Writeback Done Head 0 0 Scheduling Overrun Enable: 0: Ignore 1: Disable interrupt generation due to Scheduling Overrun 0 Register 6: HcHCCA (Read/Write) - Offset=18H with a 32-bit access Bit Function Default 31:8 HCCA: Pointer to HCCA base address. 0H 7:0 Reserved. 0H Register 7: HcPeriodCurrentED (Read/Write) - Offset=1CH with a 32-bit access Bit Function Default 31:4 Period Current ED: Pointer to the current Periodic List ED. 0H 3:0 Reserved. 0H Register 8: HcControlHeadED (Read/Write) - Offset=20H with a 32-bit access Bit Function Default 31:4 Control Head ED: Pointer to the Control List Head ED. 0H 3:0 Reserved. 0H 140 PRELIMINARY CY82C693UB Register 9: HcControlCurrentED (Read/Write) - Offset=24H with a 32-bit access Bit Function Default 31:4 Control Current ED: Pointer to the current Control List ED. 0H 3:0 Reserved. 0H Register 10: HcBulkHeadED (Read/Write) - Offset=28H with a 32-bit access Bit Function Default 31:4 Bulk Head ED: Pointer to the Bulk List Head ED. 0H 3:0 Reserved. 0H Register 11: HcBulkCurrentED (Read/Write) - Offset=2CH with a 32-bit access Bit Function Default 31:4 Bulk Current ED: Pointer to the current Bulk List ED. 0H 3:0 Reserved. 0H Register 12: HcDoneHead (Read/Write) - Offset=30H with a 32-bit access Bit Function Default 31:4 Done Head: Pointer to the current Done List Head ED. 0H 3:0 Reserved. 0H Register 13: HcFmInterval (Read/Write) - Offset=34H with a 32-bit access Bit Function 31 Frame Interval Toggle: This bit is toggled by Host Controller Driver whenever it loads a new value into FrameInterval. Default 30:16 FS Largest Data Packet: This field specifies a value which is loaded into the Largest Data Packet Counter at the beginning of each frame. 15:14 Reserved. 0H 13:0 Frame Interval: This field specifies the length of a frame as (bit times – 1). For 12,000 bit times in a frame, a value of 11,999 is stored here. 2EDFH Register 13: HcFrameRemaining (Read Only) - Offset=38H with a 32-bit access Bit Function Default 31 Frame Remaining Toggle: This bit is loaded with FrameIntervalToggle when FrameRemaining is loaded. 0 30:14 Reserved. 0H 13:0 Frame Remaining: 0H This field is a 14 bit decrementing counter used to time a frame. When the Host Controller is in the USBOperational state the counter decrements each 12 MHz clock period. When the count reaches 0, the end of a frame has been reached. The counter reloads with FrameInterval at that time. In addition, the counter loads when the Host Controller transitions into USBOperational state. 141 PRELIMINARY CY82C693UB Register 14: HcFmNumber (Read Only) - Offset=3CH with a 32-bit access Bit Function Default 31:16 Reserved. 0H 15:0 Frame Number: This field is a 16 bit incrementing counter. The count is incremented coincident with the loading of FrameRemaining. The count will roll over from ‘FFFFH’ to ‘0H.’ 0H Register 15: HcPeriodicStart (Read/Write) - Offset=40H with a 32-bit access Bit Function Default 31:14 Reserved. 0H 13:0 Periodic Start: This field contains a value used by the List Processor to determine where in a frame the Periodic List processing must begin. 0H Register 16: HcLSThreshold (Read/Write) - Offset=44H with a 32-bit access Bit Function Default 31:12 Reserved. 0H 11:0 LS Threshold: This field contains a value used by the Frame Management block to determine whether or not a low speed transaction can be started in the current frame. 0H Register 17: HcRhDescriptorA (Read/Write) - Offset=48H with a 32-bit access Bit Function Default 31:24 Power On To Power Good Time: Host Controller power switching is effective within 2 ms. The field value is represented as the number of 2 ms intervals. Only bits [25:24] are implemented as Read/Write. The remaining bits are Read Only as ‘0’. It is not expected that these bits be written to anything other than 1H, but limited adjustment is provided. This field should be written to support the system implementation. This field should always be written to a non-zero value. 01H 23:13 Reserved. 0H 12 No Over Current Protection: The Host Controller implements global over-current reporting 0: Over-current status is reported 1: Over-current status is not reported This bit should be written to support the external system port over-current implementation. 0H 11 Over Current Protection Mode: 0 The Host Controller implements global over-current reporting 0: Global Over-Current 1: Individual Over-Current This bit is only valid when NoOverCurrentProtection is cleared. This bit should be written ‘0’. 10 Device Type: Read Only. The CY82C693UB USB Host Controller is not a compound device. 9 No Power Switching: 0 The Host Controller implements a global power switching mode. 0: Ports are power switched 1: Ports are always powered on This bit should be written to support the external system port power switching implementation. 8 Power Switching Mode: The Host Controller implements a global power switching mode. 0: Global Switching 1: Individual Switching This bit is only valid when NoPowerSwitching is cleared. this bit should be written ‘0’. 0 7:0 Number Downstream Ports: Read Only. The CY82C693UB USB Host Controller supports two downstream ports. 02H 142 0 PRELIMINARY CY82C693UB Note: This register is only reset by a power-on reset (PCIRST). It is written during system initialization to configure the Root Hub. These bit should not be written during normal operation. Register 18: HcRhDescriptorB (Read/Write) - Index=4CH with a 32-bit access Bit Function Default 31:16 Port Power Control Mask: The Host Controller implements global-power switching. This field is only valid if NoPowerSwitching is cleared and PowerSwitchingMode is set (individual port switching). When set, the port only responds to individual port power switching commands (Set/ClearPortPower). When cleared, the port only responds to global power switching commands (Set/ClearGlobalPower). 0: Device not removable 1: Global-power mask Port bit relationship: bit 16: Reserved bit 17: Port 1 bit 18: Port 2 ... bit 31: Port 15 Unimplemented ports are reserved, read/write ‘0’. 0000H 15:0 Device Removable: The Host Controller ports default to removable devices. 0: Device not removable 1: Device removable Port Bit relationship: 0: Reserved 1: Port 1 2: Port 2 ... 15: Port 15 Unimplemented ports are reserved, read/write ‘0’. 0000H Note: THis register is only reset by power-on reset (PCIRST). It is written during system initialization to configure the Root Hub. These bits should not be written during normal configuration. 143 PRELIMINARY CY82C693UB Register 19: HcRhStatus (Read/Write) - Index=50H with a 32-bit access Bit Function Default 31 Clear Remote Wakeup Enable: Write Only. Writing a ‘1’ to this bit clears DeviceRemoteWakeupEnable. Writing a ‘0’ has no effect. 0 30:18 Reserved. 0H 17 Over Current Indicator Change: This bit is set when OverCurrentIndicator changes. Writing a ‘1’ clears this bit. Writing a ‘0’ has no effect. 0 16 READ: Local Power Status Change. Not supported. Always read ‘0’. WRITE: Set Global Power. Writing a ‘1’ issues a SetGlobalPower command to the ports. Writing a ‘0’ has no effects. 0 15 READ: Device Remote Wakeup Enable. This bit enables ports’ ConnectStatusChange as a remote wakeup event: 0: Disabled 1: Enabled WRITE: Set Remote Wakeup Enable. Writing a ‘1’ sets DeviceRemoteWakeupEnable. Writing a ‘0’ has no effect. 0 14:2 Reserved. 0H 1 Over Current Indicator: This bit reflects the state of the OVRCUR pin. This field is only valid if NoOverCurrentProtection and OverCurrentProtectionMode are cleared. 0: No over-current condition 1: Over-current condition 0 READ: Local Power Status. Not supported. Always read ‘0’. WRITE: Clear Global Power. Writing a ‘1’ issues a ClearGlobalPower command to the ports. Writing a ‘0’ has no effect. Note: This register is reset by the USBReset state. 144 0 PRELIMINARY CY82C693UB Register 20: HcRhPortStatus[1:2] (Read/Write) - Index=54H, 58H with a 32-bit access Bit Function Default 31:21 Reserved. 0H 20 Port Reset Status Change: This bit indicates that the port reset signal has completed. 0: Port reset is not complete 1: Port reset is complete 0 19 Port Over Current Indicator Change: This bit is set when OverCurrentIndicator changes. Writing a ‘1’ clears this bit. Writing a ‘0’ has no effect. 0 18 Port Suspend Status Change: This bit indicates the completion of the selective resume sequence for the port. 0: Port is not resumed 1: Port resume is complete 0 17 Port Enable Status Change: This bit indicates that the port has been disabled due to a hardware event (cleared PortEnableStatus). 0: Port has not been disabled 1: PortEnableStatus has been cleared 0 16 Connect Status Change: This bit indicates a connect or disconnect event has been detected. Writing a ‘1’ clears this bit. Writing a ‘0’ has no effect. 0: No connect/disconnect event 1: Hardware detection of connect/disconnect event Note: If DeviceRemovable is set, this bit resets to ‘1’. 0 15:10 Reserved. 0H 9 READ: 0 Low Speed Device Attached. This bit defines the speed (and bus idle) of the attached device. It is only valid when CurrentConnectStatus is set. 0: Full Speed device 1: Low Speed device WRITE: Clear Port Power. Writing a ‘1’ clears PortPowerStatus. Writing a ‘0’ has no effect. 8 READ: Port Power Status. This bit reflects the power state of the port regardless of the power switching mode. 0: Port power is off 1: Port power is on Note: if NoPowerSwitching is set, this bit is always read as ‘1’. WRITE: Set Port Power. Writing a ‘1’ sets PortPowerStatus. Writing a ‘0’ has no effect. 0 7:5 Reserved. 0H 4 READ: Port Reset Status. 0: Port reset signal is not active 1: Port reset signal is active WRITE: Set Port Reset. Writing a ‘1’ sets PortResetStatus. Writing a ‘0’ has no effect. 0 3 READ: Port Over Current Indicator. The Host Controller supports global over-current reporting. This bit reflects the state of the OVRCUR pin dedicated to this port. This field is only valid if NoOverCurrentProtection is cleared and OverCurrentProtectionMode is set. 0: No over-current condition 1: Over-current condition WRITE: Clear Port Suspend. Writing a ‘1’ initiates the selective resume sequence for the port. Writing a ‘0’ has no effect. 0 145 PRELIMINARY CY82C693UB Register 20: HcRhPortStatus[1:2] (Read/Write) - Index=54H, 58H with a 32-bit access (continued) Bit Function Default 2 READ: Port Suspend Status. 0: Port is not suspended 1: Port is selectively suspended WRITE: Set Port Suspend. Writing a ‘1’ sets PortSuspendStatus. Writing a ‘0’ has no effect 0 1 READ: Port Enable Status. 0: Port disabled 1: Port enabled WRITE: Set Port Enable. Writing a ‘1’ sets PortEnableStatus. Writing a ‘0’ has no effect. 0 0 READ: Current Connect Status. 0: No device connected 1 Device connected Note: If DeviceRemovable is set (not removable) this bit is always ‘1’. WRITE: Clear Port Enable. Writing a ‘1’ clears PortEnableStatus. Writing a ‘0’ has no effect. 0 Note: This register is reset by the USBReset state. Register 21: HceControl (Read/Write) - Index=100H with a 32-bit access Bit Function Default 31:9 Reserved. 0H 8 A20 State: Indicates current state of Gate A20 on keyboard controller. Used to compare against value written to 60H when GateA20Sequence is active. 0 7 IRQ12 Active: 0 Indicates that a positive transition on IRQ12 from keyboard controller has occurred. Software may write a ‘1’ to this bit to clear it (set it to ‘0’). Software write of a ‘0’ to this bit has no effect. 6 IRQ1 Active: 0 Indicates that a positive transition on IRQ1 from keyboard controller has occurred. Software may write a ‘1’ to this bit to clear it (set it to ‘0’). Software write of a ‘0’ to this bit has no effect. 5 Gate A20 Sequence: Set by the Host Controller when a data value of D1H is written to I/O port 64H. Cleared by the Host Controller on write to I/O port 64H of any value other than D1H. 4 External IRQEn: 0 When set to ‘1’, IRQ1 and IRQ12 from the keyboard controller will cause an emulation interrupt. The function controlled by this bit is independent of the setting of the EmulationEnable bit in this register. 3 IRQEn: When set the Host Controller will generate IRQ1 or IRQ12 as long as the OutputFull bit in HceStatus is set to ‘1’. If the AuxOutputFull bit of HceStatus is ‘0’ then IRQ1 is generated and if it is ‘1’, then an IRQ12 is generated. 0 2 Character Pending: When set, an emulation interrupt will be generated when the OutputFull bit of the HceStatus register is set to ‘0’. 0 1 Emulation Interrupt: This bit is a static decode of the emulation interrupt condition. 0 0 Emulation Enable: 0 When set to ‘1’ the Host Controller will be enabled for legacy emulation. The Host Controller will decode accesses to I/O registers 60H and 64H and generate IRQ1 and/or IRQ12 when appropriate. Additionally, the Host Controller will generate an emulation interrupt at appropriate times to invoke the emulation software. 0 Note: This register is used to enable and control the legacy keyboard and mouse emulation hardware and report various status information. 146 PRELIMINARY CY82C693UB Register 22: HceInput - Index=104H with a 32-bit access Bit Function Default 31:8 Reserved. 0H 7:0 Input Data: This register holds data that is written to I/O ports 60H and 64H. - Note: This register is the emulation side of the legacy Input Buffer Register. Register 23: HceOutput - Index=108H with a 32-bit access Bit Function Default 31:8 Reserved. 0H 7:0 Output Data: This register hosts data that is returned when an I/O read of port 60H is performed by application software. Note: This register is the emulation side of the legacy Output Buffer register where keyboard and mouse data is to be read by software. Register 24: HceStatus (Read/Write) - Index=10CH with a 32-bit access Bit Function Default 31:8 Reserved. 0H 7 Parity: Indicates parity error on keyboard/mouse data. 0 6 Timeout: Used to indicate a time-out. 0 5 Aux Output Full: IRQ12 is asserted whenever this bit is set to ‘1’ and OutputFull is set to ‘1’ and the IRQEn bit is set. 0 4 Inhibit Switch: This bit reflects the state of the keyboard inhibit switch and is set if the keyboard is NOT inhibited. 0 3 Cmd Data: The Host Controller will set this bit to ‘0’ on an I/O write to port 60H and on an I/O write to port 64H the Host Controller will set this bit to ‘1’. 0 2 Flag: Nominally used as a system flag by software to indicate a warm or cold boot. 0 1 Input Full: Except for the case of a Gate A20 sequence, this bit is set to ‘1’ on an I/O write to address 60H or 64H. While this bit is set to ‘1’ and emulation is enabled, an emulation interrupt condition exists. 0 0 Output Full: The Host Controller will set this bit to ‘0’ on a read of I/O port 60H. If IRQEn is set and AuxOutputFull is set to ‘0’ then an IRQ1 is generated as long as this bit is set to ‘1’. If IRQEn is set and AuxOutputFull is set to ‘1’ then an IRQ12 will be generated as long as this bit is set to ‘1’. While this bit is ‘0’ and CharacterPending in HceControl is set to ‘1’, an emulation interrupt condition exists. 0 Note: This register is the emulation side of the legacy Status register. 147 CY82C693UB PRELIMINARY Maximum Ratings Operating Range Range Ambient Temperature Supply Voltage (VCC) ......................................................+7 V Commercial 0°C to +70°C Ambient Storage Temperature ........................ −40°C to 125°C Extended Temp −40°C to +85°C 5V ± 5% 3.3V ± 0.3V (Above which the useful life may be impaired. For user guidelines, not tested.) DC Voltage Applied to Outputs ............................ −0.5V to VDD VDD VDDQ 5V ± 5% 3.3V ± 0.3V Electrical Characteristics Over the Operating Range (TA=0°C to 70°C) Parameter Description Min. Max. Unit 4.5 5.5 V 3.3V I/O Supply Voltage 3.0 VCC V Input LOW Voltage −0.5 0.8 V VIH Input HIGH Voltage 2.0 VDD+0.5 V VOL Output LOW Voltage 0.4 V VOH Output HIGH Voltage IIL Input Leakage Current 10 µA IOL Output Leakage 10 µA CIN Input Capacitance 10 pF COUT Output Capacitance ICC Power Supply Current VCC Core Supply Voltage VDD VIL 2.4 66 MHz 148 V 10 pF TBD mA CY82C693UB PRELIMINARY Switching Waveforms PCI to ISA RD Cycle − No Data Packing (Part 1 of 2) SUBTRACTIVE DECODE CLK EDGE A PCICLK FRAME PAD[31:0] PC/BE[31:0] VALIDI SA ADDRESS MEMORY READ VALID BYTEENABLES DEVSEL IRDY TRDY ATCLK BALE VALID ADDRESS LA[17:23] VALID ADDRESS SA[19:0]SBHE MRD OR IOR SD[15:0] IOCHRDY (STANDARD OR 0WS) IOCHRDY (WAIT STATES) 0WS (STANDARD OR WAIT STATES) 0WS (0WS) 149 CY82C693UB PRELIMINARY Switching Waveforms (continued) PCI to ISA RD Cycle − No Data Packing (Part 2 of 2) CLK EDGE A PCICLK FRAME PAD[31:0] VALID DATA PC/BE[31:0] VALID BYTE ENABLES DEVSEL IRDY TRDY ATCLK BALE LA[17:23] SA[19:0]SBHE VALID ADDRESS VALID ADDRESS MRD OR IOR SD[15:0] VALID DATA IOCHRDY (STANDARD OR 0WS) IOCHRDY (WAIT STATES) 0WS (STANDARD OR WAIT STATES) 0WS (0WS) 150 PRELIMINARY CY82C693UB Switching Waveforms (continued) PCI Write to ISA Post Write Buffer (Subtractive Decode Set to 6 CLKS) FRAME PAD[31:0] ISA ADDRESS VALID DATA MEM WRITE PC/BE[31:0] OR IO WRITE VALID BYTE ENABLES DEVSEL IRDY TRDY 151 PRELIMINARY CY82C693UB Switching Waveforms (continued) DMA/Master Operation (Memory Read/IO Write) ATCLK DRQX DACKX AEN, BALE LA[17:23] SA[19:0] SBHE VALID MEMORY ADDRESS IOCHRDY MRD IOW VALID DATA SD[15:0] PCICLK FREQACK 693 691 GNTBSY FRAME PAD[31:0] PC/BE[3:0] MEM ADDR MEM RD DATA BYTE ENABLES IRDY TRDY 152 CY82C693UB PRELIMINARY Switching Waveforms (continued) DMA/Master Operation (IO Read/Memory Write) ATCLK DRQX DACKX AEN, BALE LA[17:23] SA[19:0] SBHE VALID MEMORY ADDRESS IOCHRDY MWT IOR VALID DATA SD[15:0] PCICLK FREQACK 693 691 GNTBSY FRAME PAD[31:0] PC/BE[3:0] IRDY TRDY 153 ADDR VALID DATA MEM WR BYTE ENABLES CY82C693UB PRELIMINARY Switching Waveforms (continued) Reset IMS OSC PWGD TRESETD COLD RESET PCIRST CPURST TRESETSU PCICLK INIT (WARM RESET) TWRESETDR 154 TWRESETDF CY82C693UB PRELIMINARY Switching Waveforms (continued) Power Management (Hardware Controlled) ATCLK PCICLK STOPCLK STOP CLK THROTTLE LOW TIME Power Management (Software Controlled) tSMEH CPUCLK tSMEH SMI tSMISU tSMIH 155 STOP CLK THROTTLE HIGH TIME CY82C693UB PRELIMINARY Switching Waveforms (continued) IDE PIO Transfer PIDE t0 PIDEt9 VALID IDE ADDRESS PIDECSO/I,PCIIDEA[2:0] PIDEt2 PIDEt1 PIDEt8 IDEIOR/IDEIOW PIDEt2i PCIIDE[15:0](WRITE) PIDEt2 PIDEt4 PCIIDE[15:0](READ) PIDEt5 PIDEt7 PIDEt6 IDEIOCS16(MODE 0, 1, 2 ONLY) PIDEtA IOCHRDY (NO WAIT STATES) PIDEtRD IOCHRDY (GENERATED WAIT) PIDEtB Single Word DMA Transfer t0* DMARQ tC* DMACK tI* tJ* IDEIOR/IDEIOW tD* READ PCIIDE(15:0) tE* tS* tF* WRITE PCIIDE(15:0) tG* *Preface all of these indices with SWIPEDMA (e.g. TH becomes SWPIDEDMA tH) 156 tH* PIDEt6Z CY82C693UB PRELIMINARY Switching Waveforms (continued) Multiword DMA Transfer t0* DMARQ tL* DMACK tD* tI* tK* tJ* IDEIOR/IDEIOW tE* tZ* READ PCIIDE(15:0) tGr* tF* WRITE PCIIDE(15:0) tGw* tH* 157 CY82C693UB PRELIMINARY Switching Waveforms (continued) AT Refresh Timing ATCLK T118 REFSH T120 T119 MEMR SMEMR XA [10:0] ROW ADDRESS Interrupt Acknowledge Cycle PCICLK FRAME PAD[31:0] PC/BE[3:0] INTERRUPT VECTOR INTERRUPT ACKNOWLEDGE LOW ORDER BYTE ENABLED IRDY TRDY 158 CY82C693UB PRELIMINARY Switching Waveforms (continued) CY82C693 Configuration Access PCICLK FRAME PAD[31:0] CONFIG ADDRESS CONFIG DATA IDSEL PIN OF 693 PC/BE[3:0] CONFIG RD OR WR VALID BYTEENABLES IRDY TRDY DEVSEL 159 PRELIMINARY CY82C693UB Switching Waveforms (continued) 693 Generated Retry (For Accesses Requiring More Than 16 PCI Clock Cycles to Complete) 16 PCI CLOCK CYCLES PCICLK RETRY CYCLE FRAME PAD[31:0] 693 ADDRESS PC/BE[3:0] WR OR RD 693 ADDRESS VALID BYTE ENABLES WR OR RD IRDY TRDY STOP DEVSEL 160 CY82C693UB PRELIMINARY Switching Waveforms (continued) 693 PCI Disconnect on a NON−Burst Cycle (If Initiator does not Deassert Frame) PCICLK FRAME PAD[31:0] 693 ADDRESS PC/BE[3:0] WR OR RD VALID DATA VALID BYTE ENABLES IRDY TRDY STOP DEVSEL 161 CY82C693UB PRELIMINARY Switching Waveforms (continued) ISA Master Memory Pre-Read PCICLK FRAME IRDY DEVSEL TRDY A/D A D0 D1 A D0 C/BE C BE0 BE1 C BE0 BE1 D1 A D0 D1 C BE0 BE1 A+1 D0 C BE0 STOP 1WS BURST WRITE WITH FASTEST TARGET 0 WS BURST WRITE WITH FASTEST TARGET 0WS BURST WRITE DISCONNECT & RETRY WITH FASTEST TARGET 82C693UB–4 162 CY82C693UB PRELIMINARY Switching Waveforms (continued) PCI Master Subtractive Decode “DEVSEL” Timing PCI Master Subtractive Decode “DEVSEL” Timing 5 5 PCICLK PCICLK FRAME FRAME IRDY IRDY DEVSEL DEVSEL TRDY/ STOP TRDY/ STOP (SUB−DECODE=5PCICLK) (SUB−DECODE=6PCICLK) 82C693UB–6 82C693UB–5 PCI Master Subtractive Decode “DEVSEL” Timing PCI Master Subtractive Decode “DEVSEL” Timing 5 5 PCICLK PCICLK FRAME FRAME IRDY IRDY DEVSEL DEVSEL TRDY/ STOP TRDY/ STOP (SUB−DECODE=3PCICLK) (SUB−DECODE=4PCICLK) 82C693UB–8 82C693UB–7 Ordering Information Ordering Code Package Name Package Type Operating Range CY82C693UB-NC N208 208-Lead Plastic Quad Flat Pack Commercial CG4973AT N208 208-Lead Plastic Quad Flat Pack Extended Temp Document #: 38-00684 163 PRELIMINARY CY82C693UB Package Diagram 208-Lead Plastic Quad Flatpack N208 © Cypress Semiconductor Corporation, 1997. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in a Cypress Semiconductor product. Nor does it convey or imply any license under patent or other rights. Cypress Semiconductor does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress Semiconductor products in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress Semiconductor against all charges.