1. Introduction
  2. Nowadays, several PC form factors exist in the PC board market, such as NLX, LPX, ATX and Baby-AT form factors. Due to the different placements of the form factor, PC chipsets should be prepared for different board layouts. As a result, SiS chips based on compatible logic design provide two series of chipsets, SiS 5597 and SiS 5598, to assist board designers for their board layouts.

    SiS 5597’s pin assignment is based on NLX, and LPX form factor, while SiS 5598’s is defined on the basis of ATX and Baby-AT form factors. In the next few chapters, you will read "SiS Chip" which indicates either SiS 5597 or 5598 chipsets, decided by the placements of form factors on PC boards of customers.

    The SiS Chip with built-in VGA controller is a highly integrated single chip solution for Pentium PCI/ISA system. A portion of on-board DRAM is shared with the integrated VGA controller. In that way, the system cost is substantially reduced and on-board DRAM can be used flexibly.

    The SiS Chip consists of Host-to-PCI bridge function, PCI to ISA bridge function, PCI IDE function, Universal Serial Bus host/hub function, Integrated RTC, Integrated Keyboard Controller and Graphics/Video accelerate function.

    SiS Chip supports Enhanced Power Management, including legacy Power Management Unit and Advanced Configuration and Power Interface (ACPI). It also supports ATA Synchronous DMA transfer protocol to improve the IDE performance and Common Architecture for moving ISA function to PCI to improve system performance. The system block diagram is shown below :

  3. Features

- Write Back Cache Modes

- 8 bits or 7 bits Tag with Direct Mapped Cache Organization

- Integrated 16K bits Dirty RAM

- Support Pipelined Burst SRAM

- Support 256 KBytes and 512 KBytes Cache Sizes

- Cache Hit Read/Write Cycle of 3-1-1-1

- Cache Back-to-Back Read/Write Cycle of 3-1-1-1-1-1-1-1

- Support 6 RAS lines (3 Banks) of FPM/EDO/SDRAM DIMMs/SIMMs

- Support 2Mbytes to 384Mbytes of main memory

- Support Cacheable DRAM Sizes up to 128 MBytes.

- Support 256K/512K/1M/2M/4M/8M/16M/32M x N FPM/EDO/SDRAM DRAM

- Support 64 Mb DRAM Technology

- Support 3.3V or 5V DRAM.

- Supports Symmetrical and Asymmetrical DRAM.

- Support 32 bits/64 bits mixed mode configuration

- Support Concurrent Write Back

- Support CAS before RAS Refresh

- Support Relocation of System Management Memory

- Programmable CAS#, RAS#, RAMWE# and MA Driving Current.

- Fully Configurable for the Characteristic of Shadow RAM ( 640 KBytes to 1 MBytes)

- Support FPM DRAM 5-3-3-3(-3-3-3-3) Burst Read Cycles

- Support EDO DRAM 5-2-2-2(-2-2-2-2) Burst Read Cycles

- Support SDRAM 6-1-1-1(-2-1-1-1) Burst Read Cycles

- Support X-1-1-1/X-2-2-2/X-3-3-3 Burst Write Cycles

- Support 8 Qword Deep Buffer for Read/Write Reordering, Dword Merging and 3/2-1-1-1 Post write Cycles

- Two Programmable Non-Cacheable Regions

- Option to Disable Local Memory in Non-Cacheable Regions

- Shadow RAM in Increments of 16 KBytes

- Meet ACPI Requirements

- Support Both ACPI and Legacy PMU

- Support Suspend to Disk

- Support SMM Mode of CPU

- Support CPU Stop Clock

- Support Power Button for ACPI function

- Support Automatic Power Control for system power off function

- Support Modem Ring-in, RTC Alarm Wake up

- Support Thermal Detection

- Support GPIOs, and GPOs for External Devices Control

- Support Programmable Chip Select

- Support up to 4 PCI Masters

- Support Rotating Priority Mechanism

- Hidden Arbitration Scheme Minimizes Arbitration Overhead.

- Support Concurrency between CPU to Memory and PCI to PCI.

- Support Asynchronous and Synchronous PCI Clock

- Translates the CPU Cycles into the PCI Bus Cycles

- Provides CPU-to-PCI Read Assembly and Write Disassembly Mechanism

- Translates Sequential CPU-to-PCI Memory Write Cycles into PCI Burst Cycles

- Zero Wait State Burst Cycles

- Support IDE Posted Write

- Support Pipelined Process in CPU-to-PCI Access

- Support Advance Snooping for PCI Master Bursting

- Maximum PCI Burst Transfer from 256 Bytes to 4 KBytes

- CPU-to-Memory Posted Write Buffer (CTMFF) with 8 QW Deep, Always Sustains 0 Wait Performance on CPU-to-Memory.

- CPU-to-Memory Read Buffer with 4 QW Deep

- CPU-to-PCI Posted Write Buffer(CTPFF) with 8 DW Deep

- PCI-to-Memory Posted Write Buffer(PTHFF) with 8 QW Deep, Always Streams 0 Wait Performance on PCI-to/from-Memory Access

- PCI-to-Memory Read Prefetch Buffer(CTPFF) with 8 QW Deep

- Support 32-bit PCI local bus standard revision 2.1

- Built-in an enhanced 64-bit BITBLT graphics engine

- Support tightly coupled host interface to VGA to speed up GUI performance and the video playback frame rate

- Support direct access to video memory to speed up GUI performance and the video playback frame rate

- Shared System Memory Area 0.5MB, 1MB, 1.5MB, 2MB, 2.5MB, 3MB, 3.5MB, 4MB

- Built-in programmable 24-bit true-color RAMDAC with reference-voltage generator

- Built-in dual-clock generator

- Built-in monitor-sense circuit

- Built-in Phillips SAA7110/SAA7111, Brooktree Bt815/817/819A(8 -bit SPI mode 1,2) video decoder interface

- Built-in Standard feature connector logic support

- Translates PCI Bus Cycles into ISA Bus Cycles

- Translates ISA Master or DMA Cycles into PCI Bus Cycles

- Provides a Dword Post Buffer for PCI to ISA Memory cycles

- Two 32 bit Prefetch/Post Buffers Enhance the DMA and ISA Master Performance

- Fully Compliant to PCI 2.1

- 8-, 16- bit DMA Data Transfer

- ISA compatible, and Fast Type F DMA Cycles

- Two 8237A Compatible DMA Controllers with Seven Independent Programmable Channels

- Provides the Readability of the two 8237 Associated Registers

- Support Distributed DMA

- 14 Independently Programmable Channels for Level- or Edge-triggered Interrupts

- Provides the Readability of the two 8259A Associated Registers

- Support Serial IRQ

- System Timer Interrupt

- Generates Refresh Request

- Speaker Tone Output

- Provides the Readability of the 8254 Associated Registers

- Hardwired Logic Provides Instant Response

- Support PS/2 Mouse interface

- Support Hot Key "Wake-up" Function

- Capable of Enable/Disable Internal KBC and PS2 Mouse

- Built-in up to one Month Alarm for ACPI

- Bus Master Programming Interface for ATA Windows 95 Compliant Controller

- Support PCI Bus Mastering

- Plug and Play Compatible

- Support Scatter and Gather

- Support Dual Mode Operation - Native Mode and Compatibility Mode

- Support IDE PIO Timing Mode 0, 1, 2 ,3 and 4

- Support Multiword DMA Mode 0, 1, 2

- Support Ultra DMA/33

- Two Separate IDE Bus

- Two 16 Dword FIFO for PCI Burst Transfers.

- OpenHCI Host Controller with Root Hub

- Two USB ports

- Support Legacy Devices

- Support Over Current Detection

 

    1. Detail Features for Integrated Video/Graphics Accelerator

Host Bus Interface

· Support tightly couppled host interface to VGA to speed up GUI performance and the video playback frame rate

PCI Bus Interface

Performance

- 256 raster operation functions

- Rectangle fill

- Color/Font expansion

- Line-drawing with styled pattern

- Built-in 8x8 pattern registers for 256 and high-color modes

- Built-in 8x8 mask registers

- 32 doublewords hardware Command Queue

· Built-in 4 stages GUI engine write-buffer and 9 stage read-buffer to minimize engine wait-state

Integration

Display Memory Interface

Resolution, Color & Frame Rate

- 640x480 256/32K/64K/16M colors NI

- 800x600 16/256/32K/64K/16M colors NI

- 1024x768 16/256/32K/64K/16M colors NI

- 1280x1024 16/256 colors NI, 32K/64K colors interlace only

Video Functions

Power Management

 

Multimedia Application

    1. Functional Block Diagram

To be continued on next page.

Figure -1

*Multi-function pins

KEN#/INV

OSCI/IRQ8#

GPIO7/OCO#/OCI2#

RAS[5:0]#/CS[5:0]#

OSCO/RTCCS#

GPIO8/OCI1#

CAS[7:0]#/DQM[7:0]

ONCTL#/RTCALE

GPIO9/THRM#/IOCHK#

MA12/GPO3

KBDAT/IRQ1

GPIO10/ACPILED

MA13/GPO4

KBCLK/GPIO2

EXTSMI#/TURBO

MA14/GPO6

KLOCK#/GPIO0/RAMWC#

GPCS1/SIRQ

MA1B/SCAS1#

PMCLK/GPIO1

IDA[15:0]/SD[15:0]

MA0B/SRAS1#

PMDAT/IRQ12

IDB[8:0]/SA[16:8]

 

IIRQ[A:B]/IRQ[14:15]

IDB[15:9]/LA[23:17]

  1. Functional Description
    1. Host Interface
    2. The SiS Chip is designed to support Pentium CPU host interface at 75/66.667/60/55/50MHz. The host data bus and the DRAM bus are 64-bit wide.

      The SiS Chip supports the pipelined addressing mode of the Pentium CPU by issuing the next address signal, NA#. NA# signal is asserted except single read DRAM cycle.

      The SiS Chip supports the CPU L1 write back (WB) or write through (WT) cache policies and the SiS Chip L2 WB cache policies. The L1 cache is snooped by the assertion of EADS# when the CPU is put in the HOLD state.

      The SiS Chip issues AHOLD to the Pentium CPU in response to the assertion of PCI master requests. Once the AHOLD is asserted, SiS Chip does not immediately assert PGNT[3:0]# until both the CPU to PCI posted write buffer and the memory write buffer are empty. During inquire cycles, the AHOLD may be negated temporarily to allow the CPU to write back the inquired hit modified line to L2 or DRAM.

       

    3. Cache Controller
    4. The built-in L2 Cache Controller uses a direct-mapped scheme, which can be configured as in the write back mode. SiS chip also supports the write through mode, but this function only for the cache sizing. Pipelined burst SRAMs are supported.

      SiS Chip supports SRAM types auto-detection and auto-sizing. Table 3-1 shows the cache sizes that are supported by the SiS Chip when using synchronous SRAM, with the corresponding TAG RAM sizes, data RAM sizes, and cacheable memory sizes.

       

      Table -1 Cache Size with 8-bit tag

      Cache Size

      Data RAM

      Tag RAM

      Cacheable Size

      256K

      32Kx32x2

      8Kx8

      64MB

      512K

      32Kx32x4

      16Kx8

      128MB

      512K

      64Kx32x2

      16Kx8

      128MB

      The SiS Chip also provides an alternative to save the dirty SRAM chip. This is accomplished by integrated 16Kb Dirty RAM.

    5. DRAM Controller
      1. DRAM Type
      2. The SiS Chip can support up to 384MBytes of DRAMs size and each bank could be single or double sided 64 bits FPM (Fast Page mode) DRAM, EDO (Extended Data Output) DRAM, and SDRAM (Synchronous DRAM) DRAM. Half populated bank(32-bit) is also supported.

        The installed EDO/FPM DRAM type can be 256K, 512k, 1M, 2M, 4M, 8M or 16M bit deep by n bit wide DRAMs, and both symmetrical and asymmetrical type DRAM are supported. It also supports SDRAM 1M, 2M, 4M, 8M, 16M or 32M bit deep by n bit wide DRAMs, and both single and double sided. It is also permissible to mix the DRAMs (FPM/EDO/SDRAM) bank by bank and the corresponding DRAM timing will be switched automatically according to register settings.

         

      3. DRAM Configuration
      4. SiS Chip supports six rows of DRAMs each 64 bits wide. Regarding to these six row lines, BANK0 use RAS[1:0], BANK1 use RAS[3:2], BANK2 use RAS[5:4]. The six rows of DRAMs may be implemented in three banks of single-sided SIMMs for FPM/EDO DRAM, three banks of double-sided SIMMs , three banks of SDRAM or any other combinations as required. Access to the rows are not interleaved and need not to be populated starting from row 0 or in consecutive sequence.

        The SiS Chip can support EDO, FPM and SDRAM. SDRAM, EDO and FPM DRAMs can not be mixed in one bank, however, different banks can use different types of DRAM..

        The basic configurations are shown as the following sections:

         

        EDO/FPM DRAM Configuration (4 SIMM/6 SIMM):

         

         

        SDRAM Configuration (2 DIMM/3 DIMM):

         

        DRAM Type Mixed Configuration: EDO/FPM + SDRAM (4 SIMM + 2 DIMM)

        NOTE : 1. SiS Chip only support six rows (3 banks) DRAMs.

        2. It is recommended that board designer must follow DC characteristics of each type

        DRAM (SDRAM, EDO, FPM) to design the portion of DRAM in DRAM mode

        mixed configuration.

        3. SiS Chip will assert the RAS0#/CS0#, MA0A, MA1A, SCAS0, and SRAS0 (Bank

        0) when integrated VGA controller access the main memory.

        4. If the KLOCK# or GPIO function are not needed, the Bank2 DRAM can used the RAMWC# instead of RAMWB#.

        5. Please refer to "Multiplexed pins" section to define the pin for each function.

      5. DRAM Scramble Table
      6. The DRAM scramble table contains information for memory address mapping. These tables provide the translation between CPU host address and memory Row and Column address.

        There are several memory address mapping: 64-bit mapping and 32-bit mapping for FPM/EDO DRAM, 2 Banks and 4 Banks mapping for SDRAM that SiS Chip supports:

         

        64-bit mapping table for FPM/EDO DRAM

        a. Symmetric:

        Type

        256K (9x9)

        1M (10x10)

        4M (11x11)

        16M (12x12)

        Address

        Row

        Column

        Row

        Column

        Row

        Column

        Row

        Column

        MA0

        15

        3

        15

        3

        15

        3

        15

        3

        MA1

        16

        4

        16

        4

        16

        4

        16

        4

        MA2

        17

        5

        17

        5

        17

        5

        17

        5

        MA3

        18

        6

        18

        6

        18

        6

        18

        6

        MA4

        19

        7

        19

        7

        19

        7

        19

        7

        MA5

        20

        8

        20

        8

        20

        8

        20

        8

        MA6

        12

        9

        21

        9

        21

        9

        21

        9

        MA7

        13

        10

        22

        10

        22

        10

        22

        10

        MA8

        14

        11

        14

        11

        23

        11

        23

        11

        MA9

        NA

        NA

        13

        12

        24

        12

        24

        12

        MA10

        NA

        NA

        NA

        NA

        14

        13

        25

        13

        MA11

        NA

        NA

        NA

        NA

        NA

        NA

        26

        14

         

        b. Asymmetric:

        Type

        512K (10x9)

        1M (11x9)

        2M (11x10)

        Address

        Row

        Column

        Row

        Column

        Row

        Column

        MA0

        15

        3

        15

        3

        15

        3

        MA1

        16

        4

        16

        4

        16

        4

        MA2

        17

        5

        17

        5

        17

        5

        MA3

        18

        6

        18

        6

        18

        6

        MA4

        19

        7

        19

        7

        19

        7

        MA5

        20

        8

        20

        8

        20

        8

        MA6

        21

        9

        21

        9

        21

        9

        MA7

        13

        10

        22

        10

        22

        10

        MA8

        14

        11

        14

        11

        23

        11

        MA9

        12

        NA

        12

        NA

        13

        12

        MA10

        NA

        NA

        13

        NA

        14

        NA

        MA11

        NA

        NA

        NA

        NA

        NA

        NA

         

        Type

        1M (12x8)

        2M (12x9)

        4M (12x10)

        8M (12x11)

        Address

        Row

        Column

        Row

        Column

        Row

        Column

        Row

        Column

        MA0

        15

        3

        15

        3

        15

        3

        15

        3

        MA1

        16

        4

        16

        4

        16

        4

        16

        4

        MA2

        17

        5

        17

        5

        17

        5

        17

        5

        MA3

        18

        6

        18

        6

        18

        6

        18

        6

        MA4

        19

        7

        19

        7

        19

        7

        19

        7

        MA5

        20

        8

        20

        8

        20

        8

        20

        8

        MA6

        21

        9

        21

        9

        21

        9

        21

        9

        MA7

        22

        10

        22

        10

        22

        10

        22

        10

        MA8

        11

        NA

        23

        11

        23

        11

        23

        11

        MA9

        12

        NA

        12

        NA

        24

        12

        24

        12

        MA10

        13

        NA

        13

        NA

        13

        NA

        25

        13

        MA11

        14

        NA

        14

        NA

        14

        NA

        14

        NA

         

         

        32-bit mapping table for FPM/EDO DRAM

        a. Symmetric:

        Type

        256K (9x9)

        1M (10x10)

        4M (11x11)

        16M (12x12)

        Address

        Row

        Column

        Row

        Column

        Row

        Column

        Row

        Column

        MA0

        15

        3

        15

        3

        15

        3

        15

        3

        MA1

        16

        4

        16

        4

        16

        4

        16

        4

        MA2

        17

        5

        17

        5

        17

        5

        17

        5

        MA3

        18

        6

        18

        6

        18

        6

        18

        6

        MA4

        19

        7

        19

        7

        19

        7

        19

        7

        MA5

        11

        8

        20

        8

        20

        8

        20

        8

        MA6

        12

        9

        21

        9

        21

        9

        21

        9

        MA7

        13

        2

        13

        2

        22

        2

        22

        2

        MA8

        14

        10

        14

        10

        23

        10

        23

        10

        MA9

        NA

        NA

        12

        11

        13

        11

        24

        11

        MA10

        NA

        NA

        NA

        NA

        14

        12

        25

        12

        MA11

        NA

        NA

        NA

        NA

        NA

        NA

        14

        13

         

        b. Asymmetric:

        Type

        512K (10x9)

        1M (11x9)

        2M (11x10)

        Address

        Row

        Column

        Row

        Column

        Row

        Column

        MA0

        15

        3

        15

        3

        15

        3

        MA1

        16

        4

        16

        4

        16

        4

        MA2

        17

        5

        17

        5

        17

        5

        MA3

        18

        6

        18

        6

        18

        6

        MA4

        19

        7

        19

        7

        19

        7

        MA5

        20

        8

        20

        8

        20

        8

        MA6

        14

        9

        21

        9

        21

        9

        MA7

        13

        2

        13

        2

        22

        2

        MA8

        11

        10

        11

        10

        14

        10

        MA9

        12

        NA

        12

        NA

        12

        11

        MA10

        NA

        NA

        14

        NA

        13

        NA

        MA11

        NA

        NA

        NA

        NA

        NA

        NA

        Type

        1M (12x8)

        2M (12x9)

        4M (12x10)

        8M (12x11)

        Address

        Row

        Column

        Row

        Column

        Row

        Column

        Row

        Column

        MA0

        15

        3

        15

        3

        15

        3

        15

        3

        MA1

        16

        4

        16

        4

        16

        4

        16

        4

        MA2

        17

        5

        17

        5

        17

        5

        17

        5

        MA3

        18

        6

        18

        6

        18

        6

        18

        6

        MA4

        19

        7

        19

        7

        19

        7

        19

        7

        MA5

        20

        8

        20

        8

        20

        8

        20

        8

        MA6

        21

        9

        21

        9

        21

        9

        21

        9

        MA7

        10

        2

        22

        2

        22

        2

        22

        2

        MA8

        11

        NA

        11

        10

        23

        10

        23

        10

        MA9

        12

        NA

        12

        NA

        12

        11

        24

        11

        MA10

        13

        NA

        13

        NA

        13

        NA

        13

        12

        MA11

        14

        NA

        14

        NA

        14

        NA

        14

        NA

         

        MA Mapping table for SDRAM

        a. 2 Banks Device SDRAM Type:

        Type

        1M (1x11x8)

        2M (1x11x9)

        4M (1x11x10)

        Address

        Row

        Column

        Row

        Column

        Row

        Column

        MA0

        15

        3

        15

        3

        15

        3

        MA1

        16

        4

        16

        4

        16

        4

        MA2

        17

        5

        17

        5

        17

        5

        MA3

        18

        6

        18

        6

        18

        6

        MA4

        19

        7

        19

        7

        19

        7

        MA5

        20

        8

        20

        8

        20

        8

        MA6

        21

        9

        21

        9

        21

        9

        MA7

        22

        10

        22

        10

        22

        10

        MA8

        12

        NA

        23

        11

        23

        11

        MA9

        13

        NA

        13

        NA

        24

        12

        MA10

        14

        NA

        14

        NA

        14

        NA

        MA11

        11

        11

        12

        12

        13

        13

        MA12

        NA

        NA

        NA

        NA

        NA

        NA

        MA13

        NA

        NA

        NA

        NA

        NA

        NA

        MA14

        NA

        NA

        NA

        NA

        NA

        NA

        Type

        4M (1x13x8)

        8M (1x13x9)

        16M (1x13x10)

        Address

        Row

        Column

        Row

        Column

        Row

        Column

        MA0

        15

        3

        15

        3

        15

        3

        MA1

        16

        4

        16

        4

        16

        4

        MA2

        17

        5

        17

        5

        17

        5

        MA3

        18

        6

        18

        6

        18

        6

        MA4

        19

        7

        19

        7

        19

        7

        MA5

        20

        8

        20

        8

        20

        8

        MA6

        21

        9

        21

        9

        21

        9

        MA7

        22

        10

        22

        10

        22

        10

        MA8

        12

        NA

        23

        11

        23

        11

        MA9

        13

        NA

        13

        NA

        24

        12

        MA10

        14

        NA

        14

        NA

        14

        NA

        MA11

        11

        11

        12

        12

        13

        13

        MA12

        NA

        NA

        NA

        NA

        NA

        NA

        MA13

        23

        NA

        24

        NA

        25

        NA

        MA14

        24

        NA

        25

        NA

        26

        NA

         

        b. 4 banks Device SDRAM Type:

        Type

        2M (2x11x8))

        4M (2x12x8)

        8M (2x12x9)

        16M (2x12x10)

        Address

        Row

        Column

        Row

        Column

        Row

        Column

        Row

        Column

        MA0

        15

        3

        15

        3

        15

        3

        15

        3

        MA1

        16

        4

        16

        4

        16

        4

        16

        4

        MA2

        17

        5

        17

        5

        17

        5

        17

        5

        MA3

        18

        6

        18

        6

        18

        6

        18

        6

        MA4

        19

        7

        19

        7

        19

        7

        19

        7

        MA5

        20

        8

        20

        8

        20

        8

        20

        8

        MA6

        21

        9

        21

        9

        21

        9

        21

        9

        MA7

        22

        10

        22

        10

        22

        10

        22

        10

        MA8

        23

        NA

        23

        NA

        23

        11

        23

        11

        MA9

        13

        NA

        13

        NA

        24

        NA

        24

        12

        MA10

        14

        NA

        14

        NA

        14

        NA

        25

        NA

        MA11

        11

        11

        11

        11

        12

        12

        13

        13

        MA12

        12

        12

        12

        12

        13

        13

        14

        14

        MA13

        NA

        NA

        24

        NA

        25

        NA

        26

        NA

        MA14

        NA

        NA

        NA

        NA

        NA

        NA

        NA

        NA

        Type

        8M (2x13x8)

        16M (2x13x9)

        32M (2x13x10)

        Address

        Row

        Column

        Row

        Column

        Row

        Column

        MA0

        15

        3

        15

        3

        15

        3

        MA1

        16

        4

        16

        4

        16

        4

        MA2

        17

        5

        17

        5

        17

        5

        MA3

        18

        6

        18

        6

        18

        6

        MA4

        19

        7

        19

        7

        19

        7

        MA5

        20

        8

        20

        8

        20

        8

        MA6

        21

        9

        21

        9

        21

        9

        MA7

        22

        10

        22

        10

        22

        10

        MA8

        23

        NA

        23

        11

        23

        11

        MA9

        13

        NA

        24

        NA

        24

        12

        MA10

        14

        NA

        14

        NA

        25

        NA

        MA11

        11

        11

        12

        12

        13

        13

        MA12

        12

        12

        13

        13

        14

        14

        MA13

        24

        NA

        25

        NA

        26

        NA

        MA14

        25

        NA

        26

        NA

        27

        NA

         

      7. DRAM Detection Sequence
      8. SiS Chip supports six rows (three banks) DRAMs for DRAM’s SIMMs/DIMMs from row0 to row5. The DRAMs detection sequence is a row-based detection sequence, it is performed by the BIOS row by row and fulfill the DRAM configuration information into the corresponding DRAM configuration registers. The following steps will be described the DRAM detection sequence.

        Step 1. To detect if there is any DRAM populated in row N, SiS Chip set this row with maximum DRAM size, then write/read the same address with test pattern by the normal DRAM read/write timing and compare the data. If the read data is the same as the write pattern, then there exists DRAM in the rowN; otherwise, proceed the SDRAM detection from step 3.

        Step 2. If the DRAM is detected in the rowN by step 1, SiS Chip treat it as EDO or FPM DRAM. SiS Chip first write test pattern into DRAM, then set register 55h bit 6 (EDO test bit) to be "1" in PCI/memory bridge configuration register, and do the read, compare test pattern from the same DRAM location. The EDO test bit will delay the data forward to CPU after 4096 CPU clock. If the CPU still get the right data, then EDO mode DRAM is set to this row; otherwise, the FP mode DRAM is set. Go to step 8.

        Step 3. If the DRAM is detected not populated in row N by normal write/read procedure, SiS Chip check if there is SDRAM exist in this row or not. SiS Chip first assume the DRAM mode is SDRAM (set bit [7:6] of register 60h/61h/62h to be "11" in Host to PCI bridge configuration register, it depends on which bank is under detection), and then do the SDRAM initialization procedure from step 4 to step 7.

        Step 4. Set register 56h bit 3 to "1" to enable SDRAM sizing, then set register 57h bit 7 to be "1", register 57h bit 7 will drive a precharge command to SDRAM, then disable this bit (set to be "0").

        Step 5. Set register 57h bit 6 to be "1", this bit will drive a "mode register set" (MRS) command to SDRAM. When SDRAM receive MRS command, it will load the needed information (Toggle/Linear mode, CAS Latency) into SDRAM. After doing MRS, disable this bit ( set to be "0").

        Step 6. Set register 57h bit 5 to be "1" at least two times, then SDRAM will perform refresh cycle at least two times before the normal operation. Disable this bit ( set to be "0").

        Step 7. Write/Read the test pattern into SDRAM, then compare the data. If the data is correct, SDRAM is detected, and set rowN as SDRAM; otherwise, rowN is no DRAM populated. Set Register 56h bit 3 to "0".

        Step 8. After DRAM mode is set, SiS Chip do DRAM sizing by write/read test pattern based on the MA mapping table.

        Step 9. Repeat from step 1 to step 8 to detect the other rows.

        Note : The value of N is from 0 to 5.

        The following will be shown the flow chart of DRAM Detection Sequence.

        Figure -1

      9. DRAM Performance
      10. All the DRAM cycles are synchronous with the CPU clock. The following table shows the different possible speed settings that depend on different DRAM type, RAS# setting, CAS# setting, and so forth.

        Cycle Type

        DRAM type

        75Mhz

        66/60/50 Mhz

        Note

        Read Page Hit

        EDO

        5-2-2-2

        5-2-2-2

         
         

        FPM

        5-3-3-3

        5-3-3-3

        *1

         

        SDRAM

        6-1-1-1

        6-1-1-1

        CL=2

           

        7-1-1-1

        7-1-1-1

        CL=3

        Read Row Start

        EDO

        9-2-2-2

        8-2-2-2

        *2

         

        FPM

        9-3-3-3

        8-3-3-3

        *1

         

        SDRAM

        10-1-1-1

        9-1-1-1

        CL=2

           

        11-1-1-1

        10-1-1-1

        CL=3

        Read Page Miss

        EDO

        13-2-2-2

        12-2-2-2

        *3, *4

         

        FPM

        13-3-3-3

        12-3-3-3

        *1

        *3

        *4

         

        SDRAM

        11-1-1-1

        10-1-1-1

        CL=2, *4

           

        12-1-1-1

        11-1-1-1

        CL=3, *4

        Back-to-Back Burst Read Page Hit

        EDO

        5-2-2-2-2-2-2-2...

        5-2-2-2-2-2-2-2...

         
         

        FPM

        5-3-3-3-3-3-3-3...

        5-3-3-3-3-3-3-3...

         
         

        SDRAM

        6-1-1-1-2-1-1-1...

        6-1-1-1-2-1-1-1...

        CL=2, *5

           

        7-1-1-1-3-1-1-1...

        7-1-1-1-3-1-1-1...

        CL=3, *5

        Posted Write

        EDO/FPM/

        SDRAM

        3-1-1-1

        3-1-1-1

         

        Write Retire Rate

        EDO

        2-2-2

        2-2-2

         

        (Buffer to DRAM)

        FPM

        3-3-3

        3-3-3

        *1

         

        SDRAM

        2-2-2

        1-1-1/2-2-2

        CL=2

             

        1-1-1/2-2-2

        CL=3

        Write Page Hit

        EDO

        2

        2

         
         

        FPM

        2

        2

         
         

        SDRAM

        2

        2

        CL=2

           

        2

        2

        CL=3

        Write Row Start

        EDO

        7

        6

         
         

        FPM

        7

        6

         
         

        SDRAM

        7

        6

        CL=2

           

        7

        6

        CL=3

        Write Page Miss

        EDO

        10

        9

         
         

        FPM

        10

        9

         
         

        SDRAM

        10

        9

        CL=2

           

        10

        9

        CL=3

        Note: EDO CAS# width=1T, FPM CAS# width=2T, CAS precharge time=1T, 60ns DRAM.

        *1 X-4-4-4 is for both CAS pulse width and CAS precharge time are 2 CPU clocks.

        *2 It is for RAS to CAS time of 3 CPU clocks.

        *3 It is for RAS pre-charge time of 4 CPU clocks, RAS to CAS time of 3 CPU clocks.

        *4 EDO : 9-2-2-2, FPM : 9-3-3-3 and SDRAM : 8-1-1-1 during pipelined cycle.

        *5 6-1-1-1-4-1-1-1 and 7-1-1-1-5-1-1-1 for L2 Cache is populated.

      11. CPU to DRAM Posted Write FIFOs
      12. There is a built-in CPU to Memory posted write buffer with 8 QWord deep ( CTMFF). All the write access to DRAM will be buffered. For the CPU read miss / Line fill cycles, the write-back data from the second level cache will be buffered first, and right after the data had been posted write into the FIFO, CPU can performs the read operation by the memory controller starting to read data from DRAMs. The buffered data are then written to DRAM whenever no any other read DRAM request comes. With this concurrent write back policy, many wait states are eliminated. If there comes a bunch of continuous DRAM write cycles, some ones will be pending if the CTMFF is full.

         

      13. 32-bit (Half-Populated) DRAM Access
      14. For the read access, there will be either single or burst read cycle to access the DRAM which depends on the cacheability of the cycle. If the current DRAM configuration is half-populated bank, then the SiS Chip will assert 8 consecutive cycles to access DRAM for the burst cycle. For the single cycle that only accesses DRAM within a DWord, the SiS Chip will only issue one cycle to access DRAM. For the single cycle that accesses one Qword or cross DWord boundary, the SiS Chip will issue two consecutive cycles to access DRAM.

         

      15. Arbiter
      16. The arbiter is the interface between the DRAM controller and the host which can access DRAMs. In addition to pass or translate the information from outside to DRAM controller, arbiter is also responsible for which master has higher priority to access DRAMs. The arbiter treats different DRAM access request as DRAM master, and that makes there be 5 masters which are trying to access DRAMs by sending their request to the arbiter. After one of them get the grant from the arbiter, it owns DRAM bus and begins to do memory data transaction.

        The masters are: CPU read request, PCI master, Posted write FIFO write request, VGA request and Refresh request. The order of these masters shown above also stands for their priority to access memory.

         

      17. Refresh cycle

      The refresh cycle will occur every 15.6 us, 62.4 us, 124.8 us and 187.2 us and depend on setting the register 53h bits[2:1] in Host to PCI bridge configuration space. It is timed by a counter of 14Mhz input. The CAS[7:0]# will be asserted at the same time, and the RAS[5:0]# are asserted sequentially.

    6. PCI bridge
    7. SiS Chip is able to operate at both asynchronous and synchronous PCI clocks. Synchronous mode is provided for those synchronous system to improve the overall system performance.

      While in the PCI master write cycles, post-write is always performed. And function of Write Merge with CPU-to-DRAM post-write buffer is incorporated to eliminate the penalty of snooping write-back. On the other hand, prefetch is enabled for master read cycles by default, and such function could be disabled optionally. And, Direct-Read from CPU-to-DRAM post-write buffer is implemented to eliminate the overhead of snooping write-back also.

      In addition to Write-Merge and Direct-Read, Snoop-Ahead also hides the overhead of inquiry cycles for master to main memory cycles. These key functions, Write-Merge, Direct-Read and Snoop-Ahead, achieve the purpose of zero wait for PCI burst transfer.

      The post-write and prefetch buffers are both 16 Double-Word deep FIFOs .

       

      1. Snooping Control
      2. In order to maintain the cache consistency while PCI master accesses to main memory, SiS Chip performs inquiry cycle to snoop L1 and L2 caches before PCI masters really read from or write to memory. For the purpose of snooping, AHOLD is asserted to force the Pentium-like processors to float its address bus as soon as PCI master requests the PCI bus. Such host bus hold mechanism is completed by an AHOLD/BOFF# process and will be depicted later. Since the inquiry cycle is the major penalty for PCI master cycles, SiS Chip builds in a high performance snoop-ahead mechanism to incorporate the zero wait requirement of PCI bus transactions.

        The main idea of "snoop-ahead" is to do memory operations and inquiry cycle simultaneously. For example, when transferring the Ln line of data, SiS Chip also performs the Ln+1 line of inquiry cycle in the mean while.

         

      3. AHOLD/BOFF# Process and Arbiter Interface
      4. In order to perform inquiry cycles, SiS Chip uses AHOLD to hold address bus of Pentium-like CPUs. While PCI master asserts PREQ#, SiS Chip will drive AHOLD firstly. And, if PCI master operates a peer-to-peer transaction, SiS Chip will deasserts AHOLD to permit CPU to do memory cycles concurrently. Otherwise, SiS Chip retains AHOLD signal until PREQ# is inactive and bus transaction completes.

        Figure -2

        Note: HOLD & HLDA are internal signals.

        Figure -3

      5. Target Initiated Termination
      6. In general, SiS Chip is capable to complete all the requests to access main memory from PCI masters until master terminates the transaction actively. Sometimes, as SiS Chip is unable to respond or is unable to burst, it will initiate to terminate bus transactions and STOP# will be issued by doing Retry or Disconnect.

         

      7. Target Retry
      8. SiS Chip may operate Target Retry for one of two reasons:

        1. Whenever a PCI master tries to access main memory and SiS Chip is locked previously by another agent, Target Retry will be signaled.

        2. Once SiS Chip can‘t meet the requirement of target initial latency, Target Retry is used and no data is transferred.

         

      9. Disconnect With Data
      10. In some situations, such as the burst crosses a resource boundary or a resource conflict, SiS Chip might be temporarily unable to continue bursting, and, therefore, SiS Chip concludes an active termination.

        1. SiS Chip supports PCI burst transfers, the bursting length can be 256 bytes, 512 bytes, 1K bytes, 2K bytes, or 4K bytes and depend on setting the register 80h bits[7:5] in Host to PCI bridge configuration space. A burst will be terminated by doing Disconnect if the transfer goes across the programmed bursting length. In this way, at most 128 cache lines of data can be uninterruptedly transferred no matter what the status they are in L1 and L2 cache. One reason for the constraint is that page miss may occur only once at the beginning of the entire bursting transaction since the maximum bursting length is always within the page size in any of the used DRAM.

        2. If advanced snoop function is disabled, PCI transaction will not cross the cache boundary and also causes a Disconnect operation. Since the heavy overhead of inquiry cycles is not preventable, and SiS Chip can‘t keep bursting transfer.

         

      11. Disconnect Without Data
      12. If Target Subsequent Latency timer expires, it causes SiS Chip to assert STOP# by doing Disconnect operation.

        Figure -4

      13. DATA Flow
      14. The major two data paths are PCI->PTHFF->DRAM and DRAM->CTPFF->PCI for PCI master write DRAM cycles and read DRAM cycles, respectively. For cache system, if an inquiry cycle hits Pipeline Burst SRAM, SiS Chip would read from L2 directly, but write DRAM and L2 CACHE simultaneously.

        Based on snooping result, there are additional data path that SiS Chip should perform.

        Table Data Flow Based on Snooping Result

        PCI Master Read Memory Cycle

        Result of Snoop

           

        Status of L1

        Status of L2

        Data Flow

        Operation

         

        Miss or None

        DRAM -> CTPFF -> PCI

        Read DRAM

        Miss or Unmodified

        Hit and Not Dirty

        DRAM -> CTPFF -> PCI

        Read DRAM

         

        Hit and Dirty

        L2 -> CTPFF -> PCI

        Read L2

         

        Miss or None

        L1 -> CTMFF & CTPFF

        Direct Read

         

        CTPFF -> PCI

         

        Hit Modified

        Hit, Dirty or Not

        L1 -> L2 & CTPFF

        Direct Read

           

        CTPFF -> PCI

         

         

        PCI Master Write Memory Cycle

        Result of Snoop

           

        Status of L1

        Status of L2

        Data Flow

        PSL Operation

         

        Miss or None

        PCI -> PTHFF -> DRAM

        Write DRAM

        Miss or Unmodified

        Hit, Dirty or Not

        PCI -> PTHFF -> L2&DRAM

        Write DRAM&L2

         

        Miss or None

        L1 -> CTMFF

         
           

        PTHFF & CTMFF -> DRAM

        Write Merge

        Hit Modified

        Hit, Dirty or Not

        L1 -> L2

         
           

        PCI -> PTHFF -> L2&DRAM

        Write DRAM&L2

        Note: CTPFF means CPU-to-PCI Posted Write Buffer.

        CTMFF means CPU-to-Memory Posted Write Buffer

        PTMFF means PCI-to-Memory Posted Write Buffer

      15. PCI Master Read/Write DRAM Cycle
      16. If inquiry cycle hits neither L1 nor L2 cache, SiS Chip could perform prefetching/retiring operation and inquiry cycles simultaneously.

      17. PCI Master Write L2 CACHE and DRAM Cycles
      18. (1) Without Invalidation

        For the purpose of writing L2 CACHE, PCI Slave controller (PSL) must drive the HBE[7:0]# and HD bus. Then, BOFF# is asserted to force CPU floats the host bus. And to retain the correct address on HA bus, advanced snoop is temporarily suspended.

        Note: KHIT is an internal signal.

         

        (2) With Invalidation

        Note: KHIT is an internal signal.

         

      19. PCI Arbiter

      The main function of PCI arbiter takes charge of the PCI bus ownership assignment. This PCI arbiter supports at most 4 external PCI masters and 4 internal PCI masters. The arbitration operation is applied to the Host Bridge and CPU.

      The arbitration scheme which we design is done at two layers. CPU has the highest priority, i.e., CPU will be the PCI bus owner if there is a request from the Host Bridge. If there is no request from the Host Bridge, rotational priority scheme will be applied to these masters.

       

      Arbitration Algorithm

      PCI Masters (Agent 0~6, SIO) Requests

      Figure 3-5 shows the arbitration tree in arbiter design. Whenever a PCI cycle occurs, priority status will be changed. The initial priority for master 0-7 to own PCI bus is 4 -> 0->SIO->2->5->1->6->3->4.........

      Figure -5 Arbitration Tree

      NOTE: "SIO" means the System I/O for PCI to ISA bridge.

       

      CPU Request

      In our previous design, CPU will be constantly held if PCI masters continuously deliver requests to the arbiter. To address this problem in SiS Chip, we derived a timer-based algorithm to reserve PCI bandwidth for CPU. Three timers, PCI Grant Timer(PGT)/Master Latency Timer(MLT)/CPU Idle Timer(CIT), are included in the host bridge for this purpose.

      Whenever the PCI bus is owned by any PCI device other than host bridge, PCI grant timer (PGT) starts to count. After the timer is expired, the host bridge asserts its request signal to ask for gaining the control of PCI bus. Since the host bridge has the highest priority, PCI arbiter grants the bus to the host bridge as soon as possible after it receives the request from the host bridge.

      Once the host bridge get a chance to start a transaction on PCI bus, its master latency timer (MLT) begins to count. After MLT is expired, the host bridge deasserts its request signal to inform the arbiter that the host bridge no more needs the PCI bus. If there is any other PCI device that requests for the bus, arbiter grants the bus to the device and CPU is held again.

      If there is no request from any PCI devices, the arbiter parks the bus on the host bridge. The ratio MLT/PGT approximately guarantees the minimum PCI bandwidth allocated to host bridge when CPU and PCI masters are contending for system resources, but it doesn’t constrain CPU’s highest utilization of PCI bus because of our bus parking policy.

      To prevent the host bridge from capturing PCI bus too long while CPU actually has nothing to do at all, the third timer, CPU Idle Timer (CIT) is included in our design. CIT starts to count when the host bridge get a chance to start a transaction on PCI bus, but is reloaded with its initial value whenever the host bus leaves idle state. CIT actually keeps track on how long the CPU is in idle state. After CIT is expired, the host bridge deasserts its request signal just in the same manner as the case of MLT’s expiration.

      PGT is a 16-bit timer. MLT and CIT are both 8-bit timers. All of the initial values of the three timers are programmable and can be tuned according to the nature of the application. Although CIT & MLT are both 8-bit timers, the initial value of CIT is typically programmed much smaller than MLT.

       

      PCI peer-to-peer access concurrent with CPU to L2/DRAM access

      With this feature, a transaction initiated by a PCI master targeting a PCI target won’t hold CPU. The CPU can still access L2 cache, system memory and PCI post-write buffers when PCI peer-to-peer activities are undergoing. With the enlarged 8 Dword deep PCI post-write buffers, it takes longer for CPU to halt while PCI peer-to-peer accesses are taking place.

       

      Arbitration Parking

      When no agent is currently using or requesting the bus, the arbiter will grant the bus ownership to the arbitration controller of SiS Chip.

       

      CPU to PCI Bridge

      The CPU to PCI bridge forwards the CPU cycles not targeting the local memory to the PCI bus, In the case of a 64-bit CPU request or a misaligned 32-bit CPU request, the bridge takes the duty of read assembly and write disassembly control, An 8 level post-write buffer is implemented to improve the performance of CPU to PCI memory write and CPU to IDE port write. Except for on-board memory write cycles, and any non-post write cycles forwarded to the PCI bus will be suspended until the post-write buffer is empty. For memory write cycles toward PCI or I/O write cycles towards IDE data port, the address and data from host bus are pushed into the post write buffer if it is not full. The push rate for a double word is 3 CPU clocks. The pushed data are, at later time, written to the PCI bus. If the addresses of consecutive written data are in double word incremental sequence and they are targeting memory space, they will be transferred to the PCI bus in a burst manner.

      The bridge provides a mechanism for converting standard I/O cycles on the CPU bus to configuration cycles on the PCI bus. Configuration Mechanism#1 in PCI Specification is used to do the cycle conversion.

      The bridge always intercepts the first interrupt acknowledge cycle from CPU bus, and forwards the second interrupt acknowledge cycle onto the PCI bus.

      The bridge is designed to be able to handle asynchronous clock relationship between CPU and PCI. However, in order to enhance the performance of the bridge when PCI clock is lagging CPU clock by 2~4 ns, an optional synchronous mode is provided. The synchronous mode can averagely save two extra CPU clocks for a single non-post cycle.

    8. Power Management Unit (PMU)
    9. The function of PMU is to provide power management functions for the system to meet Green PC requirement. The main methodology of PMU is to generate SMI#, STPCLK# and FLUSH# signals to CPU for different situations. The PMU unit includes 3 major sub-blocks, Legacy PMU, APC and ACPI. Legacy PMU is the traditional PMU block and may be replaced by ACPI. APC(Auto Power Control) block is mainly responsible for the power supply control. For more information on APCI please refer to Section 3.6.8 Advanced Configuration and Power Interface (ACPI) on page *.The following sections will introduce the legacy PMU function.

       

      1. Legacy PMU Block Diagram
      2. Legacy PMU block can be divided into several sub-blocks as shown in Figure 3-6 Legacy PMU Block Diagram. Events Catching Logic is responsible for recording the events that request SMI#. Time Base generation logic is to generate the clock for timer. Timers are responsible for timeout reporting. SMI generation Logic is for SMI# generation. STPCLK# generation Logic is for STPCLK# generation. FLUSH# generation Logic is for FLUSH# generation.

        Figure -6 Legacy PMU Block Diagram

         

      3. Time Base Generation Logic
      4. All the clocks used in Legacy PMU timers are derived from 14.318 MHZ clock. To support different time slots, SiS Chip uses frequency divider to obtain the clock we require. The time slots SiS Chip support are divided in two classes. One is for monitor standby timer and the other is for system standby timer. The former includes 6.6sec, 0.84sec, 13.3ms and 1.6ms programmability in register 96h bits[7:6] of Host-to-PCI bridge configuration space while the latter includes 9 sec, 1.1 sec, 70ms and 8.85ms programmability in register 91h bits[1:0] of Host-to-PCI bridge configuration space. Besides, SiS Chip provide CPU clock for timer in test mode.

         

      5. Timers
      6. There are three kinds of timer defined in Legacy PMU. One is for monitor activity, another is for system activity and the other is for STPCLK# behavior generation. In order to save monitor power dissipation, we provide monitor standby timer to detect if there is any monitor-related activity. If there is any activity, monitor standby timer will be reloaded. Otherwise, monitor standby timer will continuously count down. If it count to zero, it will report timeout event. System standby timer has the same operation as monitor standby timer. STPCLK# assertion/deassertion timer is to toggle STPCLK# signal in Throttling mode.

         

      7. Event Catching Logic
      8. System Sleep Events

        The timeout of system timer will request SMI# to enter Sleep state. If throttling mode is enabled, Legacy PMU will enter throttling mode. Otherwise, if STPCLK# mode is enabled, Legacy PMU will enter sleep mode. If both modes are disabled, Legacy PMU remains wakeup.

         

        System Wakeup events

        The following events will wakeup system from Standby state to Normal state.

        Software Wakeup

        RING

        IRQ 1-15, NMI

        INIT

        PCI or ISA master request

         

        Monitor Timeout event

        If monitor timer expired, SMI# will be generated for the request of turn-off monitor power.

         

        Monitor Wakeup Events

        The following shows the events that can wakeup monitor from Standby to Normal state.

        IRQ1-15,NMI

        PCI master, ISA master activity

        Ring Activity

         

        SMI Sources

        The following shows the sources to generate SMI request.

        System Standby SMI

        System Wakeup SMI

        Throttling Wakeup SMI

        Monitor Standby SMI

        Monitor Wakeup SMI

        Ring SMI

        Keyboard Port SMI

        Primary Hard Disk Port SMI

        Secondary Hard Disk Port SMI

        Primary Serial Port SMI

        Secondary Serial Port SMI

        Parallel Port SMI

        APM SMI

        Break Switch SMI (External SMI)

        10-bit Programmable Port SMI

        16-bit Programmable Port SMI

        IRQ SMI

        USB SMI

         

      9. Output generation Logic
      10. SMI# generation

        When there is any event to request entering sleep/throttling/wakeup state, SMI# will be issued. When SMI# is recognized by CPU, SMI routine will handle the operation of state transition.

         

        STPCLK# generation

        STPCLK# generation is initialized by SMI sub-routine by writing Reg. 93 bit 3 to ‘1’ in Host to PCI bridge configuration space. The behavior of STPCLK# depends on the configuration register setting, i.e., non-throttling or throttling.

         

        FLUSH# generation

        FLUSH# is generated for DeTurbo mode. By issuing FLUSH#, CPU will write back all modified cachelines in the data cache and invalidate both internal code and data caches. Flush Acknowledge special cycle will be driven once flush operation is completed. Hence, CPU performance can be degraded.

         

      11. Operation of Power Management
      12. There are three states in PMU, i.e., Wakeup state, Sleep state and Throttling state. In wakeup state, system wakes up from sleep or throttling state. In sleep state, STPCLK# will always asserted until exiting Sleep state. In throttling state, STPCLK# will be asserted and deasserted periodically.

        Once CPU recognizes a STPCLK# interrupt, CPU will perform the following:

        1. Wait for all instructions being executed to complete.

        2. Flush the instruction pipeline of any instructions waiting to be executed.

        3. Wait for all pending bus cycles to complete and EWBE# to go active.

        4. Drive a special bus cycle(stop grant bus cycle) to indicate that the clock is being stopped. Stop grant bus cycle is decoded as follows: M/IO#=0, D/C#=0, W/R#=1, Address Bus=00000010H (A4=1), BE7#-BE0#=11111011, Data bus=undefined.

        5. Enter low power mode.

        The rising edge of STPCLK# indicates that CPU can return to program execution at the instruction following the interrupted instruction

         

      13. Hardware Limitation

      If STPCLK# is configured as throttling mode. There is a possibility for SMI to break Configuration Register Access. To elaborate, there are two steps to access Configuration registers. The first step is to program I/O port CF8h and the second one is to program I/O port CFCh. If SMI routine begins to be executed between the two steps by CPU. There is possibility for PMU to cause mal-function.

      The recommended solution for this problem is to read the CF8h data before executing other code in SMI routine and write back the data to CF8h before exiting SMI routine.

       

    10. PCI/ISA System I/O (PSIO)
      1. Functional Description
      2. As a PCI slave device, PSIO responds to both I/O and memory transfers. PSIO always target-terminates after the first data phase for any bursting cycle.

        The PSIO is assigned as the subtractive decoder in the Bus 0 of the PCI/ISA system by accepting all accesses not positively decoded by some other agent. In reality, the PSIO only subtractively responds to low 64K I/O or low 16M memory accesses. PSIO also positively decodes I/O addresses for internal registers, and BIOS memory space by asserting DEVSEL# signal on the medium timing.

        As a PCI master device, the PCI master bridge on behalf of DMA devices or ISA Master devices start to drive the AD bus, C/BE[3:0]# and PAR signals. When MEMR# or MEMW# is asserted, the PSIO will generate FRAME#, and IRDY# to PCI bus if the targeted memory is not on the ISA side. The valid address and command are driven during the address phase, and PAR signal is asserted one clock after that phase. PSIO always activated FRAME# for 2 PCLKs because it does not conduct any bursting cycle.

        The ISA address decoder is used to determine the destination of ISA master devices or DMA devices. This decoder provides the following options as they are defined in registers 48h to 4Bh of PCI to ISA Bridge configuration space.

        a. Memory: 0-512K

        b. Memory: 512K-640K

        c. Memory: 640K-768K(video buffer)

        d. Memory: 768K-896K in eight 16K sections(Expansion ROM)

        e. Memory: 896K-960K(lower BIOS area)

        f. Memory: 1M-XM-16M within which a hole can be opened. Access to the hole is not forwarded to PCI bus.

        g. Memory:>16M automatically forwards to PCI.

         

         

      3. ISA Bus Controller
      4. The SiS Chip’s ISA Bus Interface accepts those cycles from PCI bus interface and then translates them onto the ISA bus. It also requests the PCI master bridge to generate PCI cycle on behalf of DMA or ISA master devices. The ISA bus interface thus contains a standard ISA Bus Controller (IBC) and a Data Buffering logic. IBC provides all the ISA control, such as ISA command generation, I/O recovery control, wait-state insertion, and data buffer steering. The PCI to/from ISA address and data bus bufferings are also all integrated in SiS Chip. The SiS Chip can directly support 4 ISA slots without external data or address buffering.

        Standard ISA bus refresh is requested by Counter 1, and then performed via the IBC. IBC generates the pertinent command and refreshes address to the ISA bus. Since the ISA refresh is transparent to the PCI bus and the DMA cycle, an arbiter is employed to resolve the possible conflicts among PCI cycles, refresh cycles, and DMA cycles.

         

      5. DMA Controller
      6. The SiS Chip contains a seven-channel DMA controller. The channel 0 to 3 is for 8-bit DMA devices while channel 5 to 7 is for 16-bit devices. The channels can also be programmed for any of the four transfer modes, which include single, demand, block, and cascade. Except in cascade mode, each of the three active transfer modes can perform three different types of transfers, which include read, write, and verify. The address generation circuitry in SiS Chip can only support 24-bit address for DMA devices.

         

        Distributed DMA

        Distributed DMA allows the individual DMA channels to be separated into different physical devices on the PCI bus. In distributed DMA, the DMA Master contains the addresses that were occupied by the traditional ISA DMA Controller(8237). This device will respond to any system read or write to the traditional ISA DMA address locations so the software will continue to think it is communicating with a standard DMA controller. The SiS Chip is the DMA Master and the protocol is as follows:

        1). When the CPU bridge attempts to read/write a legacy DMA register, a PCI I/O cycle will be initiated on the PCI bus with a legacy DMA address. The SiS Chip will take control of this cycle by driving DEVSEL# active, driving the internal Request(requesting the PCI bus), and issuing a PCI retry to terminate this cycle.

        2). When granted the PCI bus, the SiS Chip will run up to PCI I/O byte read/writes. The specific I/O addresses for each legacy DMA address are remappable. The purpose of these read/writes is to return/send the individual channel read/write information. DMA Slave devices must only respond to the slave address assigned to them and not any legacy DMA address.

        3). At the end of the last read/write the SiS Chip will set an internal flag indicating completion and will drive its internal Request inactive (relinquishing the PCI bus) and wait for the retried PCI I/O read/write from the CPU bridge.

        4). The PCI I/O read/write will be retried. If it was a read, theSiS Chip will return the data. If it was a write, the SiS Chip will simply terminate the cycle. Then the SiS Chip will reset the internal flag.

         

      7. Interrupt Controller
      8. The SiS Chip provides an ISA compatible interrupt controller that incorporates the functionality of two 82C59 interrupt controllers. The two controllers are cascaded so that 14 external and two internal interrupts are supported. The master interrupt controller provides IRQ<7:0> and the slave one provides IRQ<15:8>. The two internal interrupt are used for internal functions only and are not available externally. IRQ2 is used to cascade the two controllers together and IRQ0 is used as a system timer interrupt and is tied to interval Counter 0. The remaining 14 interrupt lines are available for external system interrupts.

        Priority

        Label

        Controller

        Typical Interrupt Source

        1

        IRQ0

        1

        Timer/Counter 0 Out

        2

        IRQ1

        1

        Keyboard

        3-10

        IRQ2

        1

        Interrupt from Controller 2

        3

        IRQ8#

        2

        Real Time Clock

        4

        IRQ9

        2

        Expansion bus pin B04

        5

        IRQ10

        2

        Expansion bus pin D03

        6

        IRQ11

        2

        Expansion bus pin D04

        7

        IRQ12

        2

        Expansion bus pin D05

        8

        IRQ13

        2

        Coprocessor Error Ferr#

        9

        IRQ14

        2

        Fixed Disk Drive Controller Expansion bus pin D07

        10

        IRQ15

        2

        Expansion bus pin D06

        11

        IRQ3

        1

        Serial port 2, Expansion Bus B25

        12

        IRQ4

        1

        Serial port 1, Expansion Bus B24

        13

        IRQ5

        1

        Parallel Port 2, Expansion Bus B23

        14

        IRQ6

        1

        Diskette Controller, Expansion Bus B22

        15

        IRQ7

        1

        Parallel Port1, Expansion Bus B21

        In addition to the ISA features, the ability to do interrupt sharing is included. Two registers located at 4D0h and 4D1h are defined to allow edge or level sense selection to be made on an individual channel by channel basis instead of on a complete bank of channels. Note that the default of IRQ0, IRQ1, IRQ2, IRQ8# and IRQ13 is edge sensitive, and can not be programmed. Also, each PCI Interrupt(INTx#) can be programmed independently to route to one of the eleven ISA compatible interrupts(IRQ<7:3>, IRQ<15:14>, and IRQ<12:9>) through PCI to ISA bridge configuration registers 41h to 44h.

         

        Serial IRQ

        The Serial IRQ provides a mechanism for communicating IRQ status between ISA legacy components, PCI components, and PCI system controllers. A serial interface is specified that provides a means for transferring IRQ and/or other information from one system component to a system host controller. A transfer, called an serial IRQ cycle, consists of three frame types: one Start Frame, several IRQ/Data Frames, and one Stop Frame. This protocol uses the PCI clock as its clock source and conforms to the PCI bus electrical specification.

         

        Timing Diagrams For Serial IRQ Cycle.

        Figure -7 Start Frame timing with source sampled a low pulse on SMI#

         

        Figure -8 Stop Frame Timing with Host using 17 SIRQ# sampling period

         

        Serial IRQ Cycle Control

        There are two modes of operations for the serial IRQ start frame.

        a) Quiet(Active) Mode: Any device may initiate a Start Frame by driving SIRQ# low for one clock, while SIRQ# is Idle. After driving low one clock the SIRQ# must immediately be tri-stated without at any time driving high. A Start Frame may not be initiated while the SIRQ# is Active. The SIRQ# is Idle between Stop and Start Frames. This mode of operation allows the SIRQ# to be Idle when there are no IRQ/Data transitions which should be most of the time.

        Once a Start Frame has been initiated the SiS Chip will take over driving the SIRQ# low in the next clock and will continue driving the SIRQ# low for a programmable period of three to seven clocks more. This makes a total low pulse width of four to eight clocks. Finally, SiS Chip will drive the SIRQ# back high for one clock, then tri-state.

        Any serial IRQ device which detects any transition on an SIRQ# line for which it is responsible must initiate a Start Frame in order to update the SiS Chip unless the SIRQ# is already in a serial IRQ cycle and the IRQ/Data transition can be delivered in the serial IRQ cycle.

        b) Continuous(Idle) Mode: Only the SiS Chip can initiate a Start Frame to update SIRQ# line information. All other serial IRQ agents become passive may not initiate a Start Frame. SIRQ# will be driven low for four to eight clocks by the SiS Chip . This mode has two functions. It can be used to stop or idle the SIRQ# or the SiS Chip can operate SIRQ# in a continuous mode by initiating a Start Frame at the end of every Stop Frame. A serial IRQ mode transition can only occurs during the Stop Frame. Upon reset, the Serial IRQ bus is default to Continuous mode, therefore only the SiS Chip can initiate the first Start Frame. Slave must continuously sample the Stop Frames pulse width to determine the next serial IRQ cycle's mode.

         

        IRQ/Data Frame

        Once a Start Frame has been initiated, all serial IRQ devices must detect for the rising edges of the Start pulse and start counting IRQ/Data Frames from there. There are three clock phases for each IRQ/Data Frame:Sample phase, Recovery Phase, and Turn-around phase. During the Sample phase the serial IRQ device must drive the SIRQ# low, if and only if, its last detected IRQ/Data value was low. If its detected IRQ/Data value is high, SIRQ# must be left tri-stated. During the Recovery phase , a serial IRQ device will drive SIRQ# back high if it has driven the SIRQ# low in the previous clock. During the Turn-around phase all serial IRQ devices must be tri-stated. All serial IRQ devices will drive SIRQ# low at the appropriate sample point regardless of which device initiated the sample activity, if its associated IRQ/Data line is low.

        The Sample phase for each IRQ/Data follows the low to high transition of the Start Frame pulse by a number of clocks equal to the IRQ/Data Frame times three, minus one.(e.g. the IRQ5 sample clock is the sixth IRQ/Data frame, (6x3)-1=17th clock after the rising edge of the Start Pulse).

        Serial IRQ Sampling Periods

        IRQ/Data Frame

        Signal Sampled

        # of clocks past Start

        2:1

        Reserved

        2

        3

        SMI#

        8

        4

        IRQ3

        11

        5

        IRQ4

        14

        6

        IRQ5

        17

        7

        IRQ6

        20

        8

        IRQ7

        23

        9

        IRQ8#

        26

        10

        IRQ9

        29

        11

        IRQ10

        32

        12

        IRQ11

        35

        13

        IRQ12

        38

        14

        IRQ13

        41

        15

        IRQ14

        44

        16

        IRQ15

        47

        17

        IOCHCK#

        50

        21:18

        Reserved

        53

        32:22

        Unassigned

        95

        At the end of each Sample phase, the SiS Chip will sample the state the SIRQ# line and replicate the status the original IRQ/Data line at the input to the 8259s Interrupt Controller.

         

        Stop Cycle Control

        Once all IRQ/Data frames have completed, the SiS Chip will terminate SIRQ# activity by driving Stop cycle. Only the SiS Chip can initiate the stop frame. A Stop Frame is indicated by the SiS Chip driving SIRQ# low for two clocks(Quiet Mode) or 3 clocks(Continuous Mode), then back high for one clock. In the Quiet mode, any serial IRQ device may initiate a Start frame in the third clock or more after the rising edge of the Stop frame pulse. In the Continuous mode, only the SiS Chip may initiate a Start frame in the third clock or more after the rising edge of the Stop frame pulse.

         

        EOI/ISR Latency

        When a legacy interrupt is deasserted, it will start a serial interrupt frame. An EOI can occur after the legacy interrupt is deasserted, however, the 8259 may not detect the deasserted interrupt because it is still being serialized. This could cause the 8259 to generate interrupt as soon as the EOI is received. By delaying EOIs and ISR read to the 8259 in order to ensure that these latency issues are well covered. Note that, EOI indicates the End of Interrupt and ISR indicates the Interrupt Service Routine.

         

      9. Timer/Counter
      10. The SiS Chip contains 3 channel counter/timer that is equivalent to those found in the 82C54 programmable interval timer. The counters use a division of 14.318MHz OSC input as the clock source. The outputs of the timers are directed to key system functions. Counter 0 is connected to the interrupt controller IRQ0 and provides a system timer interrupt for a time-of-day, diskette time-out, or the other system timing function. Counter 1 generates a refresh-request signal and Counter 2 generates the tone for the speaker.

         

      11. Integrated Real Time Clock (RTC)
      12. Real Time Clock Module

        The Real Time Clock module in the SiS Chip contain the industrial standard Real Time Clock which is compatible to MC146818, and the Auto Power Control circuitry mainly to support the ACPI power control functions. The Real Time Clock part provides a time-of-day clock with alarm and one hundred year calendar, a programmable periodic interrupt, 114 Bytes of standard CMOS SRAM, and 128 Byes of extended CMOS SRAM. The Auto Power Control part provides the software/hardware power up/down functions. Figure 3-9 shows the block diagram of the RTC module.

        Figure -9 RTC module Block Diagram

         

        RTC Registers & RAM

        Three separate RTC registers & RAMs are provided in the SiS Chip. One is called the Standard Bank, another is the Extended Bank, and the other is the APC (Auto Power Control) registers. All of these registers are referenced through the same index, and data port, ie. port 70H and 71H, respectively. The access control with which that the three portions of registers are appropriately addressed are stored in PCI-ISA:45h[3] (EXTEND_EN bit) and PCI-ISA:44h[4] (APCREG_EN bit). EXTEND_EN bit enables the access of the Standard Bank while it is 0. The EXTEND_EN bit must be programmed to 1 to read/write the Extended Bank. The APCREG_EN bit toggle the 70H/71H access between the RTC registers and APC registers. The 70H/71H port will access the RTC Standard/Extended Bank if APCREG_EN bit is 0. The 70H/71H port will access the APC register if APCREG_EN bit is 1. Figure 3-10 shows the address map of the Standard Bank. In the Standard Bank, the lower 10 bytes contain the time, calendar, and alarm data. The registers Ah,Bh,Ch, and Dh contain the control and status bytes. The last two bytes (7Eh, 7Fh) are the Day of Month Alarm byte and the Month Alarm byte which are the extended alarm features requested by the ACPI. The Day of the Month Alarm selects the day within the month to generate a RTC alarm while the Month Alarm selects the month within the year to generate a RTC alarm. The remain 112 bytes in the Standard Bank are the general purpose RAM bytes. In the Extended Bank, another 128 bytes are also provided for the general purpose usage.

        Figure -10 Address Map of the Standard Bank

        The APC registers are provided to support the Auto Power Control Function. The register 02H defines the "Day of the Week" Alarm byte which can select the day within a week to generate a RTC alarm. The 03H, 04H registers contain the control information for the auto power control functions. Figure 3-11 shows the address map of the APC registers.

        Address

        Register Name

        00h

        Reserved

        01h

        Reserved

        02h

        Day of Week Alarm

        03h

        Auto Power Control Register I

        04h

        Auto Power Control Register II

        Figure -11 Address Map of the APC Control Register

        RTC Update Cycle

        The primary function of the the update cycle is to increment the seconds bytes, the minutes bytes and so forth through to the year of the century byte. The update cycle also compares each alarm byte in the corresponding time byte and issues an alarm if a match or if a "Don’t care" code(11XXXXXX) is present in this time byte. Figure 3-12 shows the block diagram of the RTC.

        Figure -12 Block Diagram of RTC

         

        RTC External Connection Requirement

        The SiS Chip‘s RTC is powered by the RTCVDD, & RTCVSS. In reality, not only the internal circuitry of the RTC, the pins associated with the RTC module are also powered by the specific power planes. They are ONCTL#, PWRGD, PSRSTB#, SWITCH, PWRBT#, RING, OSCI, OSCO, GPIO5, and GPIO10.

        SiS Chip is designed to support the 3V output with 5V input tolerant I/O buffers. The 5V tolerant capability is achieved by two 5V power pins(VCC5) sustaining the I/O associated well. The two pins must be connected to VCC5 if 5V input tolerance is required. The Ball NO. of these two pins are AF15, AB2 in SiS5597 and D15, H2 in SiS5598.

        Please note that the RTC-related ten pins have no 5V tolerance since the associated well for the RTC is powered by the RTCVDD. The voltage level of RTCVDD is not allowed to be higher than 3.3V since SiS Chip employs the 3.3V process. Thus, DO NOT POWER THE RTCVDD HIGHER THAN 3.3V. Please ensure the ten pins related to the RTC follows this requirment. For instance, a voltage divider is requiried to clamp the PWRGD from the power supply to around 3.3V. These ten pins are : ONCTL#, RING, PWRGD, PSRSTB#, OSCI, OSCO, SWITCH, PWRBT#, GPIO5, GPIO10.

        SiS Chip contains 3 wells if categorized by the driving power:

        1) the internal circuitry excluding the RTC (powered by 3.3V OVDD)

        2) the RTC(powered by RTCVDD), and

        3) the I/O buffers(powered by 5V VCC5).

         

      13. Auto Power Controller

An ATX power supply and the integrated RTC are needed at the same time to make the Auto Power Control function work. ATX power supply has a control signal ONCTL# and two set of VCC named VCC5 and AUX5V. When power is applied, then AUX5V exists but VCC5 does not until ONCTL# goes low. APC controls the signal ONCTL# to turn on or turn off VCC5 of ATX power supply.

Auto Power Control

Let us take the following power up/down sequence as an example to illustrate the APC functions. Please also refer to Figure 3-13 showing the typical timing sequence of the power control related pins. Also, Figure 3-14 outlines the main APC functions.

Figure -13 Typical Timing Sequence on the Power Control Related Signals

Figure -14 APC Block Diagram

(1) The PSRSTB# is used to determine whether the system is using internal RTC(PSRSTB# is high) or external RTC(PSRSTB# is low).The ONCTL# is set to high as long as the PSRSTB# is low. When the PSRSTB# is high and the power up events are asserted, the ONCTL# will control ATX power supply which can provide VCC5 for the motherboard.

Since the RTC must continue to count the time when the system power is removed, a conversion from the system power to an alternate power supply, usually a battery must be made. In a system powered by the ATX power supply, it is recommended to design the power conversion circuitry powered by both the AUX5V and battery. Please refer to "Application Circuit" for more details. In terms of this application, the PSRSTB# is low only when both the battery and the AUX5V is low. That is, PSRSTB# is low when the battery happened to be exhausted and the power supply is not plugged yet. Most of the cases in the application, the PSRSTB# is first restored to high by AUX5V from ATX power supply. As long as the PSRSTB# is high, the power up events can be recognized and results in the assertion of the ONCTL# to have the ATX power supply provide VCC5 for the system. It is now obvious why the conversion circuitry should use the AUX5V or battery for the power source. This ensures that the APC circuit block can have power to work and can sense the "Power Up" Request Events to wake up PC board’s power from ATX power supply. In other words, RTC and APC controller must be powered by AUX5V/battery through RTCVDD, and PSRSTB# signal must be high, so that Power Up Request Events can wake up system power.

(2) During the power down period, the following events can power up the PC main board by the assertion of ONCTL#. They are Switch On event (via SWITCH), Power Button On event (via PWRBT#), Ring Up event (via RING), Start Request event (via GPIO5), and Alarm On event (via IRQ8#). Following is the detail description of these events:

1. Switch On Event:

A schmitt trigger input buffer and a debounce protection of at least 30ms is associated with the Switch pin. When Pwrgd is low, an active low on the SWITCH lasting for more than 30ms indicates a request from Switch On Request event, then the ONCTL# signal will be activated to low in order to power on the VCC5 of ATX power supply.

2. Power Button On Event:

In addition to SWITCH, SiS Chip provides another power button control pin which is PWRBT#. While Pwrgd is low, a high to low transition with the active low logic lasting for more than 30ms indicates the Power On Request Event which eventually activates the ONCTL#. While Pwrgd is high, the assertion of PWRBT# less than 4 seconds results in a SCI/SMI event, and the assertion of PWRBT# more than 4 seconds will turn off the system. The ACPI module will take the appropriate action.

3. Ring Up Event:

The function is enabled by setting APC_EN bit and RNUP_EN bit which are located in the bit 6 and bit 5 of the Auto Power Control Register I. Also, the active high/low logic of the RING can be programmed through bit 4 of this register. In reality, while Pwrgd is low, the detection of RING pulse lasting for more than 4ms would activate the ONCTL#. While PWRGD is high, the detection of RING pulse would wake up the Legacy PMU or ACPI to put the system back to the higher activity mode. Please refer to ACPI section for more detail on this aspect.

4. Start Request Event (GPIO5 Event):

While the power is removed, a high to low transition on the GPIO5 also indicates a power up request event which activates ONCTL#. Note that no debouncer is associated with this signal. This function is enabled by setting APC_EN bit, and STARTREQ_EN bit which are registered in the bit 6, and bit 3 of Auto Power Control Register I, respectively.

5. Alarm On Event:

When the time value of RTC matches the corresponding time bytes which were set in advance, the RTC would send an "alarm" to the APC module to activate the ONCTL#. The SiS Chip supports the 24 hour alarm to a month alarm. Beside the ACPI Extended Alarm function, SiS chip also supplies an additional alarm function called the "Day of Week Alarm". Following are the detail description of these two alarm functions:

    1. ACPI Extended Alarm Function: The ACPI Extended Alarm Function can set the alarm by the day within a month or the month within a year. The Day of the Month and the Month Alarms bytes are stored in the register 7Eh and 7Fh of RTC Standard Bank. To enable this function the APC_EN bit in APC Register I must be enabled.
    2. Day of Month Alarm Function: The Day of Month Alarm Function can set the alarm by the day within a week. With this additional feature, the SiS Chip allows the system to be alarmed up on, say, each Monday 08:00. The Day of the Week Alarm byte is located in the register 2h of the APC registers. Note that this feature is enabled when DayWeekAlarm_EN bit located in the bit 0 of the Day of the Week Alarm Register, and the APC_EN bit are both set. ACPI extended alarm function is the default alarm mode once the APC_EN bit is set. However, the ACPI extended alarm mode is replaced by the Day of the Week alarm mode once the DayWeekAlarm_EN bit is set.

(3) While in the power up state, the following events can power down the PC main board by the deassertion of ONCTL#. They are Switch Off event (via SWITCH), Software Power Off Request Event (via register bit of SiS Chip), and Power-Button-Over-Ride (via PWRBT#). Following is the detail description of these events:

1.Switch Off Event:

A schmitt trigger input buffer and a debounce protection of at least 30ms is associated with the Switch pin. When PWRGD is high, an active low pulse on the SWITCH signal for more than 30ms indicates a request from Switch Off Request Event, then the ONCTL# will be deasserted to high in order to power off the VCC5 of ATX power supply. An Switch on Request event asserts the ONCTL# while An Switch off request event deasserts ONCTL#.

2. Software Power Off Request Event:

SiS Chip also provide two software means to control the ONCTL# signal. One is to programming a "1" to SLP_EN bit (ACPI:04h[6]) and "100" (S5 state) to SLP_TYP bit (ACPI:04h[4:2]), the other is to program a "1" to APC_EN bit (APC: I[6]) and Power Off System Control bit (PCI-ISA:69h[4]). System will be powered off if any of these two settings was set. In other words, ONCTL# will be deasserted to high.

3. Power-Button-Over-Ride Event:

If push the Power Button over 4 seconds, a Power-Button-Over-Ride event happened. The SiS chip will deassert the ONCTL# if Power-Button-Over-Ride event happened, and turn off the system power eventually. Please note that this is a hardware implemented function, and do not need the special support from the BIOS.

  1. SiS chip supplies a special pin, GPIO10/ACPILED, to facilitate the Green PC denote-LED design. If this pin is in its output mode (APC II[3] = 0), and pin definition is ACPILED (APC II[1] = 1), and 1 Hz Function Support is enabled (APC II[0] = 1), and ACPI function is enabled (PCI to ISA:40h[7] = 1), then SiS chip will send out an 1 Hz signal on this pin to turn on/off the external LED whenever GPIO10 pin status register (ACPI:18h[10]) is set to 1.

 

      1. Advanced Configuration and Power Interface (ACPI)

Advanced Configuration and Power Interface (ACPI) is PC 97 specification. ACPI extends the portability for different platforms by moving the power management function into the OS. ACPI also releases the restriction of ROM BIOS capacity on the complexity of the advanced power management functions. The power management events of ACPI are initiated by the assertion of System Control Interrupt (SCI). System uses SCI to send ACPI-relevant notifications to the host OS, and then OS executes the specific service sub-routines according to which enable bit and status bit were set.

The ACPI architecture in SiS chip consists of the control logic, the SCI/SMI# generating logic, the wake up logic, and the configuration registers to ensure fluent communication with the ACPI-compliant OS. The control logic is used by OS to alternate some state transitions. The SCI/SMI# generating logic sensing the external environmental change or request is used to notify the OS to take some actions. The wakeup logic will sequence the system from the sleeping state (S1) to the G0 working state. Following table summaries the ACPI configuration space supported by SiS chip:

Name

Address

Register Description

PM1a_STS

00h

Power Management 1a Status Register

PM1b_STS

01h

Power Management 1b Status Register

PM1a_EN

02h

Power Management 1a Enable Register

PM1b_EN

03h

Power Management 1b Enable Register

PM1a_CNT

04h

Power Management 1a Control Register

PM1b_CNT

05h

Power Management 1b Control Register

PM_TMR

08h

Power Management Timer

P_CNT

0Ch

Processor Control

P_LVL2

10h

Processor LVL2 Register

P_LVL3

11h

Processor LVL3 register

PM2_CNT

12h

Power Management 2 Control

GP_TMR

13h

General Purpose Timer Register

GPIO_STS1

14h

Status register 1 for general purpose I/O pins

GPIO_STS2

15h

Status register 2 for general purpose I/O pins

GPIO_EN1

16h

Enable register 1 for general purpose I/O pins

GPIO_EN2

17h

Enable register 2 for general purpose I/O pins

GPIO_CNT1

18h

Control/Read back status register 1 for general purpose I/O pins

GPIO_CNT2

19h

Control/Read back status register 1 for general purpose I/O pins

GPIO_SEL1

1Ah

Input/Output Selection register 1 for general purpose I/O pins

GPIO_SEL2

1Bh

Input/Output Selection register 2 for general purpose I/O pins

GPIO_MUX1

1Ch

GPIO Mux. function selection register 1

GPIO_MUX2

1Dh

GPIO Mux function selection register 2

GPIO_LVL1

1Eh

Polarity selection register 1 for general purpose I/O pins

GPIO_LVL2

1Fh

Polarity selection register 2 for general purpose I/O pins

SMI_CMD

20h

SMI command port

MUX_REG

24h

Mux. function selection register

AUX_STS

25h

Auxiliary Control Status register

AUX_EN

26h

Auxiliary Control Enable register

SMI_PEN

28h

Programmable SMI command port enable value

SMI_PDIS

29h

Programmable SMI command port disable value

SMI_REG

2Ah

Scratch register for SMI or ACPI use

ACPI_TST

2Bh

APCI test mode register

Control Logic

From ACPI specification, SiS chip supports the four global system states (G0-G3),

and the traditional Legacy system state as it is shown in the Figure 3-15. The ACPI-compliant OS assumes the responsibility of sequencing the platform between these various global states. The ACPI-compliant OS is invoked by the shareable interrupt to which SCI is routed. The reroutability of SCI is through the programming of register 6Ah of the PCI to ISA configuration space. Transition of Legacy to/from ACPI is through issuing ACPI activate/deactivate command to the SMI handler by doing OUT to the SMI_CMD port with the data equal to the value defined in SMI_PEN, or SMI_PDIS registers, respectively.

 

Figure -15 Global System State Diagram

ACPI machine would stay at G0 working state as the normal operating state in which different devices are dynamically transiting between the respective power states, and processors are dynamically transiting between their respective states (C0,C1,C2,C3) .In the G0 state, two global state transition options are provided. One is the G1 sleeping state, and the other is the G2 soft -off state. SiS chip only supports two level of system sleeping states which are S1, and S5. In reality, the system G1 sleeping state only consists of one level ( S1 only ) of hierarchy in the sense of sleeping states. The OS can initiate the sleeping transition by programming the SLP_TYPx field with S1 value and then setting SLP_ENx bit high. While in the G1 state, a set of Wake_Up Events(explained in the Wakeup logic) can be enabled to transit the system state back to G0. The G2 soft-off state is an OS initiated system shutdown. The State can be initiated by programming the SLP_TYPx field with S5 value and setting the SLP_ENx bit high. Also, a hardware event which is driven by pressing the power button for more than four seconds can transit the system to the G2 state while it is in the G0 state. This hardware event is called a power button over-ride, and is mainly provided to turn off a hung system in case. Putting system in the G2 state will deassert ONCTL# eventually from hardware point of view.

G1 Sleeping System State --- S1

Transit to S1 state is by setting SLP_EN bit HIGH. All system power is still alive in this state. The external CPU clock can be disabled(or stopped) through GPO6. A set of Wake_UP Events can be enabled, before entering S1, to wake up the system back to G0 state. Figure 3-16 is the typical sequence responding to enter S1 state. Details of the Wake_UP Events is illustrated in the Wakeup Logic.

1. Programming SLP_EN in SMI or SCI would put the PC in the system power state S1.

Note : STPCLK# won’t be activated until the SMIACT# is deasserted. That is, the STPCLK#

is activated once the CPU exits the SMI handler.

2. Reserve 8 to 16ms for the emulation of Stpgnt latency.

3. While in the Stpgnt state, the wake up events would deassert GPO6.

4. Reserve 16 to 24ms from the exiting of Stpgnt to the deassertion of STPCLK#.

5. Wak_Sts could be cleared by writing a 1 to bit 15 of the base+0 register.

 

Figure -16 Typical GPO6 Timing

G2 Soft-off State:

In the G2 state, only the RTC power is alive. While in the G2 state, the SiS chip could sense the following five power up events to transit the system to the Legacy system state by asserting the ONCTL#. They are Alarm On event, Power On(PWRBTN#) event, Ring Up event, Start Request event(GPIO5), and the Switch On/Off event(SWITCH). Please see the APC portion of the RTC module for more details.

Processor Power State Control

SiS chip supports the four power states in the G0 working state. While in the C0 state, it provides programmable Throttling function to place the processor executing at a designated performance level relative to its max. performance. This can be achieved by programming the THTL_DUTY field (ACPI:0Ch[3:1]) with desired value, and setting THT_EN bit (ACPI:0Ch[4]) HIGH. The C1 state is supported through the HLT instruction. As an instance, the execution of a HALT instruction will cause the Pentium CPU to automatically enter the Auto HALT Power down state where Icc of the processor will be -20% of the Icc in the Normal state. In this state, the CPU will transit to the Normal state upon the occurrence of INTR, NMI, SMI#, RESET, or INIT. The Pentium won’t recognize AHOLD, BOFF#, and EADS# for cache invalidation or writebacks. That is, the system is no longer able to allow bus master snooping, or memory access. As such, C2 low power state provides an alternative not to block bus master streaming while the CPU is put into the low power state.

In the C2 power state, SiS chip places the processor into the low power state by keeping STPCLK# low as long as no interrupt requests occur. Entering C2 state is through reading P_LVL2 register (ACPI:10h) as it is defined in the ACPI specification. Exiting C2 is effective when Wakeup1 is asserted (Wakeup1 is an internal signal, and will be asserted when any of the enabled interrupt(IRQ15-3, IRQ1,and NMI),GPCS0, or the GPCS1 is asserted.). Register 74, and 75 in the PCI to ISA configuration space defines which interrupt requests among the IRQ15-3,1, and NMI. are considered(or enabled) to generate Wakeup1. Bit 1 of register 63h, and bit 1 of register 64h enables/disables GPCS0, and GPCS1, respectively to be included in the generation of Wakeup1. The IRQ0 interrupt request is also allowed, if IRQ0SEN (ACPI:0Ch[6]) is set, to deassert STPCLK# for about 128us when in C2 or C3 state to refresh the system timer.

As a more rigid or flexible alternative to the handling of bus master in the CPU low power state, SiS chip supports the C3 power state by also keeping STPCLK# low, which can be entered by reading P_LVL3 register (ACPI:11h). The main difference between C3 and C2 state is that the bus masters are preventing from writing into the memory in the C3 state. This is, prior to entering the C3 state, done by setting the ARB_DIS bit (ACPI:12h[0]) HIGH which disables the system arbiter. Upon a bus master requesting an access, the CPU will awaken from C3 state if the BM_RLD bit (ACPI: 05h[1])is set, and re-enable bus master accesses by clearing the ARB_DIS to enable the system arbiter. If the BM_RLD bit is not set, the C3 power state is not exited upon bus master requests. From hardware point of view, in the C3 state, to serve bus master requests, it is needed to transit the CPU back to C0 state by deasserting STPCLK# while it is not needed for C2 state. Any interrupt(Wakeup1) will also bring the processor out of C3 power state. Specifically, SiS chip will bring the processor out of C2 or C3 state once G1 sleeping state is entered. Because, CPU processor state is only meaningful in the G0 Working state. To provide a running history for the ACPI driver to determine CPU power state policy, one last information BM_STS (ACPI: 01h[4]) is provided. The BM_STS is set whenever any bus master request (REQ# ) is asserted. Figure 3-17 illustrates the processor power state diagrams supported by SiS chip.

 

Figure -17 Processor Power State Diagram

SCI/SMI# Generation Logic

The SCI generation logic mainly issues the SCI interrupt to invoke the SCI interrupt handler to respond to the power management events. These power management events, instead of initiating SCI, will issue SMI# if the system works in Legacy mode with SCI_EN being 0. As a summary, the following events can raise SCI or SMI#, and can also be enabled as the wakeup events while in the G1 state.

1) Power management timer event,

2) Power button event,

3) Real time clock alarm event,

4) Ring event,

5) Hotkey event(or EXTSMI#),

6) General purpose timer event,

7) USB request event,

8) General purpose I/O events(GPIO0,

GPIO1,GPIO2,GPIO5/STARTREQ,GPIO7,

GPIO8,GPIO9/THRM,and GPIO10).

One specific event which is BIOS_SCI event only generates SCI. The BIOS_SCI event is provided to allow the BIOS to invoke SCI handler for some specific application. By writing a 1 to BIOS_RLS locating in the bit 10 of GPIO_MUX1, the GBL_STS status bit is set. The SCI will then be generated if GBL_EN bit (ACPI: 03h[5]) is set.

There are also five events that only generate SMI#. The generation of SMI# through these events is independent to the status of SCI_EN bit.

1) ACPI enable event,

2) ACPI disable event,

3) Serial IRQ event,

4) Periodic SMI event, and

5) ACPI_SMI event

While working in the Legacy system state, the events provided in the legacy PMU block are also the sources of generating SMI# as a backward compatibility. Therefore, the users can choose ACPI or Legacy PMU on their own need. Please refer to Figure 3-18 for more information.

Figure -18 ACPI working mechanism overview

The following paragraphs describe some power management events:

 

Power management timer

The ACPI specification requires a power management timer (PM timer) which provides OS an accurate time value to monitor the system idle time. For instance, if CPU idle time is longer than the threshold value, OS may let CPU enter power saving state like C1, C2, C3. The PM timer is a 24-bit fixed rate free running count-up timer that runs off a 3.578545 Mhz clock in the SiS chipset. The status bit TMR_STS (ACPI:00h[0]) is set when the most significant bit of the timer (bit 23) is changed from "1" to "0" or from "0" to "1". If the enable bit TMR_EN (ACPI:02h[0]) is set, then the setting of TMR_STS will raise an ACPI event. The current value of the timer can also be accessed by reading TMR_VAL register (ACPI: 09h-0Bh). The timer will be cleared as long as the system stays at S1 sleeping state. Please refer to the Figure 3-19 Power management Timer Flow Chart for the power management timer event flow chart.

Figure -19 Power management Timer Flow Chart

 

Power Button switch

This switch is an user interface control instead of the traditional power supplier switch. It can be used to cycle the system between the G0 and G1 states through the power management event. Besides, the power button provides user a "Fail-safe" mechanism to force the system to enter the G2 state (Soft-Off) when the system has "Hung", called the power button override.

An 1ms debouncer associated with the power button is used to recognize and respond to the active low logic presented on the pin for more than 1ms. If the PWRBT# is pressed for more than 4 seconds, the SiS chip will turn off the system power by deasserting the ONCTL#.

If the PWRBT# is released within 4 seconds then only the PWRBTN_STS bit (ACPI:00h[8]) will be set. If the PWRBTN_EN bit (ACPI:02h[8]) is also enabled, an SMI or SCI will be raised. Please refer to the Figure 3-20 Power Button Switch Flow Chart for the power button event flow chart.

Figure -20 Power Button Switch Flow Chart

Real time clock alarm

It is required to extend the current RTC definition of a 24-hour alarm to a one-month-alarm in ACPI specification. To extending the alarm bytes, SiS chip supports both the "Day Alarm", and "Month Alarm" function. The Day Alarm byte, and Month Alarm byte are located in the 7Eh, and 7Fh of the Standard Bank of the RTC CMOS RAM, respectively. The OS will attempt to identify the RTC as a possible power management event source by checking the RTC_EN bit (ACPI:02h[10]) and RTC_STS bit (ACPI:00h[10]). Note that the RTC_STS bit will be set by the external IRQ8# if external RTC is used. Users can set any specific time to generate an SCI if system is in the working state, or a wake-up event if system is in the sleeping state. Please refer to Figure 3-21 RTC Alarm Flow Chart for the RTC alarm event flow chart.

Figure -21 RTC Alarm Flow Chart

Ring, USB, Serial IRQ

Because the power management is controlled by OS in ACPI system, it is important to know that there is an event from the peripheral devices. The SiS chipset offers many hardware pins and internal detection to provide designers some flexible implementations. They are Ring, USB, Serial IRQ and GPIOs.

Two debouncers are associated with the RING to allow two possible modes of activation. The default mode supports 150ms detection on the RING signal while the other mode supports frequency between 14Hz to 70Hz. These two modes can be selected via ACPI:1Ch[0].

For ring detection, the RI_STS bit (ACPI:14h[0]) will be set if the ring signal is sensed asserted. If the RI_EN bit (ACPI:16h[0]) is also enabled, then the power management event will be generated. Please refer to Figure 3-22 Ring Flow Chart for the ring event flow chart.

Figure -22 Ring Flow Chart

For USB or serial IRQ detection, a power management event is generated by chipset internal function through USB_EN (ACPI:16h[14]) & USB_STS (ACPI:14h[14]) or through SIRQ_EN (ACPI:16h[8]) & SIRQ_STS (ACPI:14h[8]) if there is an interrupt or an USB device changing. For more information please refer to Figure 3-23 USB Flow Chart and Figure 3-24 Serial IRQ Flow Chart.

 

Figure -23 USB Flow Chart

Figure -24 Serial IRQ Flow Chart

General Purpose I/O(GPIOx) Events:

SiS chip provides eleven pins to support general purpose I/O function. Three(GPO3, GPO4, and GPO6 are output only) The rest(GPIO[2:0],GPIO5,GPIO[10:7]) are bidirectional. The input/output attribute of these pins can be programmed through setting or resetting the corresponding bits of the GPIO_SEL1, and GPIO_SEL2 registers. By default, all the GPIO pins are input. While in the input mode, the "active logic" level can be programmed through GPIO_LVL1, and GPIO_LVL2 registers. The default active level is low. When the active level is sensed on the GPIO pin, the corresponding status bit in the GPIO_STS1, or GPIO_STS2 is set. Then, the SCI, or SMI# is generated if the corresponding enable bit in the GPIO_EN1, or GPIO_EN2 is set. Writing a 1 to the status bit can clear the bit. In addition, the input level of each GPIO pins can be directly read back by reading the corresponding bit in the GPIO_CNT1 or GPIO_CNT2 registers. While in the output mode, the logic of each GPIO pin can be controlled by writing the desired value to the corresponding bit in the GPIO_CNT1 or GPIO_CNT2 registers to control the peripheral device power, for instance.

 

Hotkey Event

When internal keyboard controller is enabled, the HOTKY_STS will be set if the "CTRL+ALT+Backspace" is recognized. Then SCI/SMI# is generated if HOTKY_EN (ACPI:17h[1]). is set. The HOTKY_STS (ACPI:15h[1]) can also be set once the TURBO/EXTSMI# is activated. The active level of TURBO/EXTSMI# can be programmed through bit 3 of GPIO_LVL1. register.

 

Thermal Detection

SiS chipset can program GPIO9 for the thermal detection input THRM#. A 1ms debouncer is used to sense the status of THRM#. When the logic of the THRM# matches the programming active level, the STPCLK# is throttled if the THRM_THEN bit (bit 3 of register 1Ch) is set. The throttling will be stopped if the THRM# goes back to the inactive state as a result of the system temperature may be cooled down. Note that it is not necessary to set the THT_EN bit for throttling the STPCLK# in response to the THRM# request. If THRM# is asserted, the system can be programmed to enter the throttling mode directly or generate an SCI/SMI instead. These two options can be selected by the thermal throttling function bit (ACPI:1Ch[3]). Please refer to Figure 3-25 Thermal Detection Flow Chart for the thermal detection flow chart.

Figure -25 Thermal Detection Flow Chart

CPU low power state

The greatest power consumption component in a system is CPU. There is a great power saving if CPU enters the low power state or turns off when it is idle. The SiS chipset supports the C0-C3 CPU power states. In C1 state, system sends halt command to CPU through software in ACPI configuration register. In C2 and C3 state, system halt the CPU by asserting the STPCLK#. However, the Bus Master can still access the DRAM in the C2 state. In the C3 state, CPU should go back to C0 for the Bus Master accessing. Please refer to Figure 3-26 CPU Power State Flow Chart for the CPU power state flow chart.

Figure -26 CPU Power State Flow Chart

The SiS Chip support S0, S1, S5 states. In S1, all system power is still working, but CPU clock can be stopped by GPO6. Please refer to Figure 3-27 System States Flow Chart. The wakeup event can be programmed by software in ACPI configuration register.

In S5 (soft-off ) state, only the RTC power is working. To wake system in soft-off state, the SiS Chip provides RTC alarm, power button switch, APC switch and Modem Ring-in to wake up the system. Please refer to Figure 3-27 System States Flow Chart for the system state flow chart.

Figure -27 System States Flow Chart

General purpose timer and period SMI

General purpose timer is a 8 bits down counter. Its time slot is 1us or 1 min. General purpose timer can be programmed as Suspend timer or BIOS Timer(ACPI:1Ch[11]). After writing counter values, it begin to count. If using as Suspend timer and there is no any reload events (Host-PCI:90h,91h) happened, the timer will time out eventually. There is a power management event when timer is time out. The function of Suspend timer is similiar to System Standby Timer. However, Suspend Timer can assert SCI or SMI but System Standby Timer can only assert SMI.

Period SMI can generate SMI# every 16 sec if the PERSMI_EN (ACPI:26h[2]) is set. This allows the SMI# handler to periodically give warning to the user for delivering the "low battery" message, for instance.

These two functions do not belong to standard ACPI but for the convenience and variety of power management design. Please refer to Figure 3-28 and Figure 3-29 for more information.

Figure -28 General Purpose Timer Flow Chart

Figure -29 Period SMI Flow Chart

ACPI_SMI event:

The ACPI_SMI event, similar to the BIOS_SCI, is provided for the ACPI handler to invoke SMI# handler. Writing a 1 to GBL_RLS(bit 0 of AUX_STS1 register) will set the BIOS_STS bit, and generate SMI# if BIOS_EN bit is set..

Wakeup Logic

When in the G1(or S1) system state, the events that generates SCI or SMI# in the G0 state can be programmed to serve as the wakeup events while the system is in G1 state.

Any of the enabled wakeup events will set the wake status bit(WAK_STS) which allows the ACPI driver to separate sleeping from waking code. As mentioned in the preceding, activating Wakeup1 will also set the WAK_STS bit, and awake the system.

One difference among them is that any power button press will unconditionally set the PWRBTN_STS bit and awakens the system, regardless of the value of the PWRBTN_EN bit while in the G1 sleeping state.

 

SCI event source

Following are the sources which can generate the SCI.

Power button

RTC alarm

Global status bit (ACPI:00h[5])

Power management timer

Peripheral device IRQ

USB

RING

General purpose timer

SIRQ

Hot key (via EXTSMI#)

GPIO

    1. Integrated PCI Master/Slave IDE Controller

Overview

SiS Chip supports a full function PCI IDE controller capable of PIO, DMA and Ultra DMA/33 mode operation. It can be supported by programming the internal registers to support PIO Mode 0 ~ 4, Single/Multi-Word DMA Mode 0 ~ 2 and Ultra DMA Mode 0 ~ 2 timing.

The IDE Controller block diagram is shown as below:

Figure -30 IDE Controller Block Diagram

There are two 64-byte FIFO associated with two IDE channels. The data can be popped into FIFO by the unit of word or double-word. All accesses to the IDE data port will go through FIFO, no matter prefetch/postwrite is enabled or not. Accesses to the command or control port will bypass FIFO. This mechanism allows the host to access command or control ports when FIFO is not empty. The FIFO has an option to be 32-byte in depth(from Register 52h bit 0 in PCI IDE configuration space), which is for backward compatibility only and is suggested not to be used. SiS Chip provides the 64-byte FIFO mainly to support Ultra-DMA. Because the Ultra-DMA can be operated at twice the speed of traditional DMA in mode-2, a small FIFO may easily become bottleneck and degrade system performance.

The host may need to access command or control ports when PIO mode or DMA mode data transfer is undergoing. The IDE controller provides a mechanism to complete the command/control port access without disrupting the operation of FIFO.

In PIO mode, when doing postwrite, the command/control port access is held-off until the FIFO is flushed to IDE. When doing prefetch, the command/control access is held-off until the FIFO is full. Before the command/control port access is actually carried out, the host will be keep waiting on PCI bus.

In DMA mode, the command/control access will go through a higher priority than the DMA data transfer cycles. When the command/control access cycle is first seen on the PCI bus, the controller will retry the cycle so that PCI bus will not be used by the host while it is only waiting. At the same time, the controller will suspend the DMA data transfer cycles by completing the current cycle successfully, then de-asserts IDACK# to inform IDE device to stop the DMA data transfer. The IDE device may or may not deassert its IDREQ at this moment. On the other hand, the host should keep retrying the command/control cycle on PCI bus. Eventually the cycle will be accepted and carried out when DMA data transfer is stopped. After the command/control cycle is completed, the controller resumes DMA data transfer cycles as soon as the IDE device asserts IDREQ.

Both primary and secondary channels may be programmed as Native mode or Compatibility mode via the Class Code Field in the controller's Configuration Space register.

In Compatibility mode, the interrupt requests for channel 0 and channel 1 are rerouted to IRQ 14 and IRQ 15 of the built-in Interrupt Controller.

Following table illustrates the accessing methods to the I/O ports in compatibility mode:

Primary Channel:

 

READ

WRITE

PORT

ICSA1#

ICSA0#

IIORA#

IIORB#

IIOWA#

IIOWB#

1F0

1

0

0

1

0

1

1F1

1

0

0

1

0

1

1F2

1

0

0

1

0

1

1F3

1

0

0

1

0

1

1F4

1

0

0

1

0

1

1F5

1

0

0

1

0

1

1F6

1

0

0

1

0

1

1F7

1

0

0

1

0

1

3F6

0

1

0

1

0

1

 

Secondary Channel:

 

READ

WRITE

PORT

ICSB1#

ICSB0#

IIORA#

IIORB#

IIOWA#

IIOWB#

170

1

0

1

0

1

0

171

1

0

1

0

1

0

172

1

0

1

0

1

0

173

1

0

1

0

1

0

174

1

0

1

0

1

0

175

1

0

1

0

1

0

176

1

0

1

0

1

0

177

1

0

1

0

1

0

376

0

1

1

0

1

0

In Native mode, the interrupt requests of both channels (channel 0 and channel 1) share the same PCI interrupt pin. The interrupt pin may be rerouted to any one of eleven ISA compatible interrupts (IRQ[15:14], IRQ[12:9], and IRQ[7:3]) via programming Register 61h bits 3:0 in PCI to ISA bridge Configure space.

Meanwhile, accessing of the I/O ports are via the addresses programmed in Base Address Registers 10h~13h, 14h~17h, 18h~1Bh and 1Ch~1Fh in PCI IDE configuration space.

While serving as a bus master device, the IDE controller may transfer data between IDE devices and main memory directly. By performing the DMA transfer, IDE offloads the CPU and improves system performance. Bus master DMA programming is according to the information specification "Programming Interface for Bus Master IDE Controller".

The integrated IDE controller contains PCI configuration header and registers to meet PCI 2.1 specifications. The integrated PCI IDE controller supports PCI type 0 configuration cycles of configuration mechanism #1.

Proper cycle timing is generated to meet PCI Bus speed and different modes of IDE drive. All cycle timing can be controlled by software programming from Register 40h to Register 49h in PCI IDE configuration space.

As a slave device, IDE decodes and interprets PCI cycles and generate signals to start and terminate IDE cycles. This block responds only to cycles that belong to IDE I/O address space. It supports both 16-bit and 32-bit I/O data transfer at address 1F0/170. All other IDE registers read or write operations are 8-bit only.

 

PIO mode operation

The IDE controller is capable of doing prefetch or postwrite in PIO mode. The count(in bytes) of prefetch length for each channel can be programmed in Prefetch Count Registers 4Ch~4Dh and 4Eh~4Fh in PCI IDE Configuration space. Normally, the count will be programmed as 512(29), which is the size of a single sector. The prefetch and postwrite functions can be enabled or disabled independently through control bits in Register 4Bh of PCI IDE configuration space. When prefetch is enabled, the controller will start prefetching when the first read data port command is received. It will keep prefetching until the FIFO is full or when prefetch count is reached. Whenever the FIFO becomes non-empty again, the prefetch will automatically resume until the prefetch count is reached.

When postwrite is enabled, the host can write data to FIFO in word- or Dword- increment. The IDE controller will automatically start IDE write cycles as long as FIFO is non-empty. When the fast postwrite function is enabled, the write IDE data port command on PCI bus will last for 3 PCI clocks only. When disabled, the PCI command will be 5 PCI clocks.

 

DMA mode operation

There is a DMA engine associated with each channel. The DMA engine can be invoked by writing the start-bit in Bus Master command register. The DMA engine will first request for PCI bus to read the descriptor from memory, load the address pointer and byte-count. For IDE read operation, the controller will start prefetching data into FIFO at this moment. When FIFO is half-full (or 75% full, programmable), the DMA engine will request for PCI bus to flush the data in FIFO to memory. If the prefetch count is reached while the FIFO is not yet half-full, the DMA engine will also request for PCI bus to flush the FIFO. For write operation, after descriptor is read, the DMA engine will again request for PCI bus to read data from memory to FIFO. At the same time, when the FIFO becomes non-empty, the controller will automatically start IDE write cycles to flush data in FIFO to IDE device. When data in FIFO is less than eight bytes, the DMA engine will again request for PCI bus to re-fill the FIFO.

Normally, the byte-count loaded in IDE controller will be equal to IDE transfer size programmed to IDE devices. If the two values were programmed differently, the IDE controller and the software that driving IDE should work together to prevent system from failure.

 

When the DMA engine is writing IDE

If the byte-count was programmed to be greater than the IDE transfer size, the IDE device will de-assert IDREQ signal when the transfer size is reached and issue interrupt to IDE controller. The IDE controller will pass transparently the interrupt to host. When the host clears the start-bit in response to the interrupt, the IDE controller will simply discard the remaining data in FIFO. When the host read the status bit, it will see the interrupt bit set and active bit also set. This will be interpreted as a normal ending. If the byte-count was programmed to be less than the IDE transfer size, the controller will exhaust its data in FIFO while IDREQ signal is still asserting. The host should time-out because it does not receive any interrupt. When the host reads the status register, it will see the interrupt bit not set and the active bit set.

 

When the DMA engine is reading IDE

If the byte-count was programmed to be greater than the IDE transfer size, the IDE device will de-assert IDREQ signal when the transfer size is reached and issue interrupt to IDE controller. The IDE controller should mask the interrupt, request for PCI bus to flush all the data in FIFO to memory. After the FIFO is empty, the controller will unmask the interrupt to inform host that all data is visible in memory. The host, after received the interrupt, will read the status register and see the interrupt bit set and active bit also set. This will be interpreted as a normal ending.

If the byte count was programmed to be less than the IDE transfer size, the IDE controller will stop prefetching when its byte-count has reached while IDREQ signal is still asserted by device. The controller may or may not flush its data in FIFO to memory, depending on whether the FIFO has reached its request level or not. The host will eventually be time-out because it does not receive any interrupt. When the host reads the status register, it will see the interrupt bit not set and the active bit set. The remaining data in FIFO will be discarded when the host clears the start-bit.

 

Ultra-DMA/33 Operation

Ultra DMA is a fast data transfer protocol used on IDE bus. By utilizing both the rising edge and the falling edge of the data strobe signal to latch data from DD[15:0], the data transfer rate is effectively doubled than that of the traditional multi-word DMA while the highest fundamental frequency on the cable is the same. In view of the faster transfer rate on IDE bus may easily fill the FIFO up when reading IDE device, in such condition the IDE bus will be idle and result in system performance degradation, SiS Chip lengthens the internal FIFO for each channel (channel 0/channel 1) to 16-Dword to improve system performance. When the FIFO is half-full (or 3/4-full, programmable), the DMA engine should request for PCI bus by asserting an internal request signal to system arbiter. The system arbiter, based on an algorithm described in the previous sections, shall grant the PCI bus to DMA engine by asserting an internal grant signal to it. Ideally, the FIFO should never be full during data-in operation so that the burst data transfers on IDE will not be suspended. When the IDE controller is transferring data from system memory to IDE, the DMA engine will initiate PCI burst cycles to read data from memory into FIFO until FIFO is full. The FIFO will decrease at the rate of the selected Ultra DMA mode as the IDE controller doing data-out operation. In the best situation, the FIFO should not be empty during data-out operation otherwise the burst data transfer on IDE will be suspended.

The Ultra-DMA mode can be enabled on a per-device basis and all three timing modes(0-2) are supported by programming the corresponding configuration registers. For Ultra-DMA operations, the following signal lines shall change to their new definition when IDACK# is asserted. These signals will revert back to their old definitions right after IDACK# is de-asserted.

The following table shows the signal line difference between old definition and new definition (Ultra DMA).

Old Definition

New Definition

IIOW#

STOP#

IIOR#

HDMARDY# --- data in operation

HSTROBE --- data out operation

ICHRDY#

DSTROBE --- data in operation

DDMARDY# --- data out operation

There are three phases for an Ultra-DMA operation as defined in the protocol: Burst Initiation phase, Data Transfer phase and Burst Termination phase. The Burst Initiation phase is always initiated by the device when it asserts IDREQ. The SiS Chip will responds IDACK# after the base address and byte-count in the PRD table entry is read from system memory. During Data Transfer phase, either the sender or the receiver can pause a burst to allow for internal data processing and then resume the burst some time later. There are three situations that SiS Chip will pause a burst:

  1. As a sender during data-out operation and the internal FIFO is empty. The burst will resume after the DMA engine re-fill the FIFO with data from system memory.
  2. As a receiver during data-in operation and the internal FIFO is full. The burst will resume after the DMA engine dump the data in FIFO to system memory.
  3. For a PRD table with multiple entries, the DMA engine will start the burst data transfer after base address and byte-count of one entry is read. When the data transfer for the current entry is completed and the next entry has not yet been read into the controller, the SiS Chip shall also initiate a pause. After the base address and byte-count for next entry is read, the burst resumes.

The Burst Termination phase can be initiated by either the SiS Chip or the device. In normal situations, when the data transfer has reached the byte-count as defined in the last entry of the PRD table, the SiS Chip will initiate a burst termination by asserting STOP#. After the termination is acknowledged by the device and HSTROBE signal return to the asserted state, the CRC will be sent on negation of IDACK#. There are two additional situations that the SiS Chip will also initiate a burst termination:

  1. During the burst data transfer, the host(CPU) is trying to access the command/control block registers. Since the command/control block access cycle is assigned to have higher priority than data transfer cycles, the SiS Chip must first terminate the burst, de-asserts the IDACK# signal, generate the corresponding DA[2:0] and CS[1:0] on IDE bus, and then complete the command/control block register access cycle. After that, the burst can be resumed by entering the Burst Initiation phase when the device re-asserts IDREQ.
  2. Since the usage of the IDE/ISA bus is arbitrated among PCI-to-ISA cycle, ISA masters and IDE controllers. Once the PCI-to-ISA cycle or the ISA masters gains higher priority on the bus and need to access the ISA bus, the IDE controller must yield. In such cases, when Ultra-DMA mode is operating, the controller will initiate a burst termination. After the preempting cycles are finished, the Ultra-DMA burst can be resumed.

 

    1. Delayed Transaction
    2. Delayed transaction is a mechanism used when the target, like PCI-to-ISA bridge in SiS Chip on behalf of the ISA devices, cannot complete the transaction within the initial latency of 16 PCI clocks. To support delayed transaction function, the PCI-to-ISA bridge would latch all the information required to complete the transaction and then terminate the master with a retry. The PCI-to-ISA bridge will then translate the request into ISA cycle to obtain the requested data for a read transaction or complete the actual request if a write request. During this period the original master would keep retrying the cycles while other PCI masters are also allowed to use the bus that would normally be wasted holding the original master in wait states. Eventually, the original master would get the latched data for read transaction, or complete the cycle for the write transaction when the PCI-to-ISA bridge completes the ISA cycles.

       

      Delayed Transaction and ISA Master Cycle Arbitration

      ISA devices or DMA controller embedded in the PCI-to-ISA bridge of SiS Chip may become ISA master and initiate cycles to access PCI bus. It is quite often that the ISA master may request for ISA bus while there is a delayed transaction undergoing. As a result, an arbitration rule is adopted in the PCI-to-ISA bridge to prevent conflict on the ISA bus. In this section, we will first describe the actions of an ISA master cycle, and next outline the arbitration rules. For convenience, the progress of a delayed transaction cycle will be divided into three phases: DT_PH_1, DT_PH_2 and DT_PH_3.

       

      DT_PH_1: This is the period when there is no pending delayed transaction in progress

      DT_PH_2: This is the period when the ISA cycle corresponding to the delayed transaction is undergoing on ISA bus.

      DT_PH_3: From the end of ISA cycle up to the original PCI master successfully retries and completes the whole delayed transaction.

      Note: the delayed transaction is said to be pending during DT_PH_2 and DT_PH_3.

      Traditionally, ISA(DMA) masters request ISA bus by asserting their corresponding DREQs to DMA controller embedded in the PCI-to-ISA bridge. The PCI-to-ISA bridge, in turn, will generate PHOLD# to system arbiter to request for PCI bus. The PHOLD# will be asserted as long as DREQ is asserted by the ISA master. In response to PHOLD#, the system arbiter grants PCI bus to PCI-to-ISA bridge by asserting PHLDA#. The PCI-to-ISA bridge, upon receiving PHLDA#, will first check if ISA bus is busy or idle. If busy, it will defer the assertion of DACK# until ISA bus returns to idle. If idle, it will assert the corresponding DACK# immediately to inform ISA master to start. ISA master when received DACK#, can then start its cycles transferring data to or from PCI(ISA) bus. When ISA master finishes its cycles, it de-asserts DREQ and then PHOLD# will also be de-asserted immediately. The system arbiter, in response to the desertion of PHOLD#, will immediately de-assert PHLDA#. This completes the whole sequence of ISA master cycles.

      Note: PHOLD# and PHLDA#, in SiS Chip, are internal signals interfaced between the system arbiter and the PCI-to-ISA bridge.

       

      Delayed Transaction and ISA Master Arbitration Rule

      1. When ISA master issues DREQ and there is no pending delayed transaction, this is the normal case that no arbitration is needed and the PCI-to-ISA bridge behaves exactly as that stated above.

      2. When ISA master issues DREQ and there is currently a delayed transaction pending, the PCI-to-ISA bridge will disregard the pending delayed transaction and immediately generate PHOLD# to request for PCI bus.

      3. When the system arbiter grants PCI bus to ISA master by asserting PHLDA#, and the delayed transaction is in DT_PH_2, i.e., the ISA bus is busy, the PCI-to-ISA bridge should defer the assertion of DACK# until DT_PH_3 is entered. Otherwise, ISA master will start its cycles as soon as DACK# is asserted and may result in ISA bus conflict.

      4. If PHLDA# is asserted when the pending delayed transaction is already in DT_PH_3, ie., the ISA bus has returned to idle, the PCI-to-ISA bridge can assert DACK# immediately and hence ISA master may start its cycles even when the delayed transaction is not yet completed on PCI bus.

      5. During the period that ISA master is active and delayed transaction is pending in DT_PH_3, the original PCI master that initiated the dalayed transaction will temporarily stop retrying on the PCI bus because PCI bus is now owned by ISA master.

      6. After the ISA master finishes its data transfers, the original PCI master should eventually re-gain PCI bus and retry successfully.

    3. The Architecture of ISA/IDE Multiplexed bus
    4. SiS Chip interfaces to IDE bus and ISA bus through multiplexed pins. The data bus IDA[15:0] of IDE channel_0 share pins with SD[15:0] of ISA bus, while the data bus IDEB[15:0] of IDE channel_1 share pins with LA[23:17] and SA[16:8] of ISA bus. The resulting bus architecture interfaced with SiS Chip will be called IDE/ISA bus. The pin-sharing imposes limitation on the IDE/ISA bus such that IDE and ISA can not be operating simultaneously. As a result, when either of the IDE channels is operating, the ISA bus activities must be idle. Conversely, when the ISA bus is used by the PCI-to-ISA bridge or ISA masters, both the IDE channels must not be operating. There are two exceptions that ISA and IDE can both be operating. One is ISA refresh cycle initiated by refresh controller embedded in SiS Chip. Since only SA[7:0] and MEMR# are used during refresh cycles, it is apparent there will be no conflict between ISA and IDE. The other exception is when the internal registers of legacy ISA bus controllers (8259, 8237, 8254) are being accessed. These registers located inside the SiS Chip and hence no external AT cycles will be generated when they are being accessed. Therefore, these registers can be accessed when IDE is operating.

      The IDE bus signals are driven directly by the chip, while the ISA bus signals are further buffered by 74LS245s. Two 74LS245 are used to interfaced with ISA address signals and two 74LS245 are used to interfaced with ISA data signals. The MR16# signal of ISA is used to control the direction of address signals to or from ISA slots. When a ISA master gains ISA bus ownership by asserting MR16#, the direction of address is from ISA to IDE. In all other cases, the direction of address is from IDE to ISA. During ISA refresh cycles, the ENABLE pins of the two 74LS245s interfaced with address signals are disabled by the RFH# signal such that ISA address signals will not appear on IDE and hence IDE operations will not be affected.

      The SDOEL and SDOEH signals connect to the DIR pins of 74LS245s and are used to control the direction of ISA data flow. SDOEL is used to control low-byte, and SDOEH is used to control high-byte. When the two signals are high, the direction of ISA data flow is from IDE to ISA. When the two signals are low, the direction of ISA data flow is from ISA to IDE. When either of the IDE channels is operating, the SDOEL and SDOEH will be both high such that the data direction is from IDE to ISA. When PCI-to-ISA bridge or ISA master is active, SDOEL and SDOEH will be depending on the read/write status of the current transaction.

      The above mechanism assumes that ISA devices located on ISA slots will not be affected by IDE signals propagate through the 74LS245s and appear on ISA address/data buses when IDE is operating, since the DIR signals will park the 74LS245s in the IDE-to-ISA direction.

      To arbitrate the IDE and ISA bus, SiS Chip has developed an arbitration scheme on the IDE/ISA bus. By taking advantage of the arbitration scheme, IDE controller and ISA devices can each get a fair share of bus usage. The arbitration scheme will be described in the following section.

       

       

       

       

      IDE/ISA Bus Limitation

      1. The two IDE channels are fully separated and hence can be operating simultaneously without intervening each other.

      2. Due to the limitation of multiplexed pins, when any one of the IDE channel is busy, ISA bus activities must remain idle. Conversely, when the ISA bus is busy, the two IDE channels must be idle.

      There are three candidates compete for the IDE/ISA bus

      1. PCI-to-ISA cycle

      2. ISA master

      3. IDE controllers (of the two channels)

       

      Basic Rules

      1. PCI-to-ISA cycle can preempt IDE cycles immediately

      2. ISA master cycles cannot be preempted

      3. A simple rotating-priority is adopted for IDE controllers and ISA masters

      4. The minimum bandwidth of IDE controller can be guaranteed by programming the minimum accessed time register(50h~51h) in PCI IDE configuration space.

      5. ISA master can preempt IDE controller only when its priority is larger than both IDE channels.

       

      Arbitration Scheme

      1. Since the PCI-to-ISA cycle and ISA master are already arbitrated by the system arbiter of SiS Chip, it is for sure that they will never be active simultaneously. Therefore, the IDE/ISA arbitration scheme can rule out this possibility.

      2. PCI-to-ISA cycle can interrupt IDE controller immediately. When IDE controller of either channels detects a PCI-to-ISA cycle is requesting at the PCI-to-ISA bridge, it should suspend its operation immediately by completing the current IDE cycle. If in DMA mode, it should also deassert DACK#. The IDE controller should remain in idle state until the PCI-to-ISA cycle is complete and then resume its operation. The PCI-to-ISA bridge, on the other hand, should temporarily retry the PCI-to-ISA cycle on PCI bus when any one of the IDE channel is busy. It keeps retrying the cycle until both IDE channels are in idle state. It is obvious that this rule favors PCI-to-ISA cycles because IDE multi-sector data transfers are quite often and may last for a long period of time. If the PCI-to-ISA cycle can not preempt IDE, it may be waiting too long and result in system failure.

      3. ISA master cycles cannot be suspended and then resumed later. Once the ISA master was granted to initiate its cycles, it must complete the whole process without being interrupted.

      4. To solve the arbitration between IDE and ISA master, a rotating priority scheme is adopted to ensure each of the candidates will get a fair share of bus usage.

      Since the ISA master can not be preempted, it can hold the bus as long as it desires. It is likely that IDE channels will not be able to get a fair share of bus usage when ISA master is heavily transferring data. As a supplement, the minimum accessed time for IDE channels can be guaranteed by programming the minimum accessed time register. This 16-bit register defines a minimum accessed time in terms of PCI clock for IDE. Every IDE data transfer is guaranteed not to be preempted by ISA master before IDE has used the bus for this amount of time. As such, the minimum bandwidth of IDE channels can be guaranteed. To count the amount of time that the bus is used by IDE, there is a granting timer associated with each IDE channel counting with PCI clock. Initially, the granting timer is loaded with the value of the minimum accessed time register. For every PCI clock, if the IDE/ISA bus is used by the associated IDE channel, the granting timer should count-down once. When the timer expires and ISA master is requesting for bus, the IDE channel should suspend its cycles and yield the bus to ISA master. The granting timer can be reloaded when ISA master finish using the bus.

      Define:

      PRIO_ISAM: the priority of ISA master

      PRIO_IDE0: the priority of IDE channel_0

      PRIO_IDE1: the priority of IDE channel_1

      Operation rules for the rotating priority scheme:

      · PRIO_ISAM will be the lowest when ISA master finishes its data transfer cycles.

      · PRIO_IDE0 will be the lowest when the granting timer of IDE channel_0 expired

      · PRIO_IDE1 will be the lowest when the granting timer of IDE channel_1 expired.

      · ISA master can only preempt both IDE cycles when

      PRIO_ISAM> PRIO_IDE0 and PRIO_ISAM> PRIO_IDE1

      Consider the following sequence of events as an example.

      Initially, after the system is reset:

      PRIO_ISAM > PRIO_IDE0 and PRIO_ISAM > PRIO_IDE1

      After the first ISA master cycle transfers:

      PRIO_ISAM < PRIO_IDE0 and PRIO_ISAM < PRIO_IDE1

      After IDE channel 0 data transfer and its granting timer expires

      PRIO_ISAM > PRIO_IDE0 and PRIO_ISAM < PRIO_IDE1

      After IDE channel 1 data transfer and its granting timer not yet expires

      PRIO_ISAM > PRIO_IDE0 and PRIO_ISAM < PRIO_IDE1

      After IDE channel 1 data transfer and its granting timer expires

      PRIO_ISAM > PRIO_IDE0 and PRIO_ISAM > PRIO_IDE1

      Note that the priority scheme is used to arbitrate bus usage when ISA master and IDE controller are competing for bus. If there is only one candidate requesting for bus at a time, it can get the bus immediately regardless of it priority.

       

    5. USB Host Controller

The SiS USB Host Controller is developed to support the USB bus as the Host Controller with built-in Root Hub and 2 USB ports. The SiS USB Host Controller is implemented based on the OpenHCI, the Open Host Controller Interface Specification for USB Release 1.0.

In order to support the applications and drivers under non-USB aware environments (such as DOS environment), the SiS USB Host Controller implemented hardware to support the emulation of a PS/2 keyboard and mouse by their USB equivalents (to the USB keyboard and USB mouse). This emulation support is done by a set of registers that are controlled by code running in SMM. The hardware implementation is based on OpenHCI Legacy Support Interface Specification Release Version 1.01.

The SiS USB Host Controller provides the following major features.

 

The following will be shown the USB System Block Diagram.

Figure -31 USB System Block Diagram

 

 

 

 

 

    1. Integrated Keyboard Controller
    2. The integrated KBC uses hardwired methodology instead of software implementation as the traditional 8042 keyboard BIOS. In this way, keyboard controller can have instant response to all the commands. It also supports Auto A20 gate and Auto Reset Features. Besides, the integrated KBC has a power control feature. After the [Ctrl]+[Alt]+[Backspace] hot keys are pressed, the system will enter the power saving mode. Moreover, the integrated KBC supports the industrial standard PS/2 mouse optionally.

       

      Status Register

      The status register is an 8 bits read only register located at I/O address hex 64. It has information about the state of the keyboard controller and interface. It may be read at any time.

       

      Bit 7 Parity Error

      0 : Odd Parity (No Parity Error)

      1 : Even Parity (Parity Error)

      Bit 6 Time-out Error

      0 : No Transmission Time-out Error

      1 : Transmission Time-out Error

      Bit 5 Auxiliary Output Buffer Full

      0 : Keyboard Data

      1 : Mouse Data

      Bit 4 Inhibit Switch

      0 : Keyboard is Inhibited

      1 : Keyboard is not Inhibited

      Bit 3 Command/Data

      0 : Data Byte. Writing to I/O 60h

      1 : Command Byte. Writing to I/O 64h

      Bit 2 System Flag

      This bit may be set to 0 or 1 by writing to system flag bit in the keyboard controller's command byte. It is set to 0 after a power on reset.

      Bit 1 Input Buffer Full

      0 : Input Buffer Empty

      1 : Input Buffer Full. Data has been written into the buffer but the controller has not read the data

      Bit 0 Output Buffer Full

      0 : Output Buffer Empty

      1 : Output Buffer Full. The controller has placed data into its output buffer but the system has not yet read data

       

       

      Input/Output Buffer

      Input Buffer

      The input buffer is an 8 bits write only register located at I/O address hex 60 or 64. Writing to address hex 60 sets a flag, that indicates a data write; writing to address hex 64 sets a flag, indicating a command write. Data written to I/O address hex 60 is sent to the keyboard, unless the keyboard controller is expecting a data byte following a controller command. Data should be written to the controller's input buffer only if the input buffer's full bit in the status register equal 0. The next command are valid keyboard controller commands.

       

      Output Buffer

      The output buffer is an 8 bits read only register at I/O address hex 60. The keyboard controller uses the output buffer to send scan codes received from the keyboard, and data bytes requested by command to the system. The output buffer should be read only when output buffer's full bit in the status register set to 1.

       

       

       

      Commands (I/O Address 64H)

      Write I/O Address 64h that is Keyboard BIOS Command:

      Command

      Keyboard Mode

      Keyboard PS/2 Mode

      00-1F

      Read Internal RAM -- The controller sends value of RAM to output buffer.

      20

      Read Keyboard Controller's Command Byte -- The controller sends its current Command byte to its output buffer.

      21-3F

      Read Internal RAM -- The controller sends value of RAM to output buffer.

      40-5F

      Write Internal RAM -- The next byte of data written to I/O 60h is placed into Internal RAM.

      60

      Write Keyboard Controller's Command Byte -- The next byte of data written to I/O 60h is placed in the controller's command byte.

       

      Bit

      Bit Definitions

       

      0

      1

       

       

      2

      3

      4

       

      5

       

      6

       

       

      7

      1 -- Enable Keyboard Output-Buffer-Full Interrupt.

      Generates an interrupt when it places keyboard data into its output buffer.

      In Keyboard Mode: Reserved to 0.

      In Keyboard PS/2 Mode:

      1 -- Enable Mouse-Buffer-Full Interrupt.

      Generates an interrupt when it places mouse data into its output buffer.

      1 -- The controller generates an System Flag.

      The value written to this bit is placed in the system flat bit of the controller's status register.

      1 - Disable Keyboard Lock Switch "KBLOCK".

      1 - Disable Keyboard.

      Disable the Keyboard interface by driving the 'clock' line low.

      Data is not sent or received.

      1 -- Disable Mouse.

      Disable the mouse interface by driving the 'clock' line low.

      Data is not sent or received.

      1 -- IBM Personal Computer Compatibility Mode.

      Convert the scan codes received from keyboard to IBM PC.

      This includes converting a two-byte sequence to the one-byte IBM Personal

      Computer format.

      0 -- Reserved.

      61-7F

      Write Internal RAM -- The next byte of data written to I/O 60h is placed into Internal RAM.

      A0

      Read Internal ROM -- The controller sends value to its output buffer that end with a "0".

      A1

      Read Keyboard Controller's Version - The version code result will be placed to its output buffer.

      A4

      Reset Internal Register B to 0.

      Not Valid

       

      A5

      Reset Internal Register B to 0.

      Not Valid

       

      A6

      Read Internal Register B -- The controller sends value to its output buffer.

      Not Valid

       

       

      A7

      Set Internal Register C to 0.

      Disable Mouse Device -- This disable the mouse interface by driving the mouse clock line low.

      A8

      Set Internal Register C to 1.

      Enable Mouse Device -- This enable the mouse interface by driving the mouse clock line float.

      A9

      Read Internal Register C -- The controller sends value to its output buffer.

      Mouse Device Interface Test -- Test the controller's mouse clock and data line and place the result to output buffer as follows :

      00 -- No error detected.

      01 -- The 'Mouse Clock' line is stuck low.

      02 -- The 'Mouse Clock' line is stuck high.

      03 -- The 'Mouse Data' line is stuck low.

      04 -- The 'Mouse Data' line is stuck high.

      AA

      Self-Test - This commands the controller to perform internal diagnostic tests. A hex 55 is placed in the output buffer if no errors are detected.

      AB

      Keyboard Interface Test -- This commands the controller to test the keyboard clock and data line. The test result is placed in the output buffer as follows :

      00 -- No error detected.

      01 -- The 'Keyboard Clock' line is stuck low.

      02 -- The 'Keyboard Clock' line is stuck high.

      03 -- The 'Keyboard Data' line is stuck low.

      04 -- The 'Keyboard Data' line is stuck high.

      AD

      Disable Keyboard Feature -- This command sets bit 4 of the controller's command byte. This disable the keyboard interface by driving the clock line low. Data will not be sent or received.

      AE

      Enable Keyboard Interface -- This command clears bit 4 of command byte which release the keyboard interface

      B0

      Set P10 to 0

      Not Valid

      B1

      Set P11 to 0

      Not Valid

      B8

      Set P10 to 1 (Default)

      Not Valid

      B9

      Set P11 to 1 (Default)

      Not Valid

      C0

      Read Input Port -- This command the controller to read its input port and place the data in its output buffer. This command should be used only if the output buffer is empty.

      C1

      Set Port P17 to 0 & KBLOCK disable

      Set Port P17 to 0 & KBLOCK disable

      C2

      Not Valid

      Place Bit 7-4 of Input Port to status register

      C3

      Not Valid

      Place Bit 3-0 of Input Port to status register

      C7

      Set Port P17 to 1

      Set Prot P17 to 1

      CA

      Read Internal Register D -- The Internal Register will be placed into its output buffer.

      CB

      Write Internal Register D -- The next byte of data written to I/O 60h is placed in the controller's Register D.

      D0

      Read Output Port -- This command causes the controller to read its output port and place data in its output buffer. This command should be issued only if the output buffer is empty.

      D1

      Write Output Port -- The next byte of data written to I/O 60h is placed in the controller's output port.

      D2

      Not Valid

      Write Keyboard Output Buffer - The next byte of data written to I/O 60h is placed in output buffer as it receive from keyboard.

      D3

      Not Valid

      Write Mouse Output Buffer - The next byte of data written to I/O 60h is placed in output buffer as it receive from mouse.

      D4

      Not Valid

      Write Mouse Device - The next byte of data written to I/O 60h is transmitted mouse device.

      D6

      Enable P17(KBLOCK) Keyboard Lock Switch (Default)

      D7

      Disable P17(KBLOCK) Keyboard Lock Switch, P17 define to I/O by C1 & C7 command

      F0-FF

      Pulse Output Port -- Bits 0 through 3 of controller's output port may be pulsed low for approximately 6us. Bits 0 through 3 of this command indicate which bits are to be pulsed. A 0 indicates that the bit should be pulsed, and a 1 indicate the bit should not be modified.

    3. Integrated VGA Controller
    4. Integrated VGA Controller is a high performance 3-in-1 PCI true-color graphics accelerator with video accelerate functions. Integrated VGA Controller video accelerator could work in 3 different modes: standard FC (Feature Connector) mode, direct video interface mode, and PCI multimedia mode.

      Furthermore Integrated VGA Controller could work with SW MPEG Player Programs through DCI driver or Direct Draw driver to provide high performance SW MPEG playback to meet future PC trends.

      In direct video mode, Integrated VGA Controller could work with the Philips SAA7110 / SAA7111, Sony CXA1790Q, Brooktree Bt815/817/819A (8-bit SPI mode 1, 2), to provide the PC-Video solution and provide the very flexible overlaying ability mentioned above.

      In PCI multimedia mode, Integrated VGA Controller supports PCI multimedia design guide Rev. 1.0 spec to meet future potential trend.

      The following block diagram will be shown the internal VGA controller.

      Figure -32

      1. Host Bus Interface
      2. In order to solve the bottleneck of PCI transaction, VGA controller support a dual bus interface, the PCI bus and HOST bus. With HOST bus, VGA controller can directly intercept the memory and I/O transactions sent from CPU. VGA controller can gain more benefit from the HOST bus transaction because the HOST bus support 64 bits and faster clock rate than the 32 bits and lower clock rate of PCI bus. Furthermore, VGA controller would not share the limited bandwidth of PCI bus with other PCI devices. In current structure , the HOST bus support the memory write , memory read , video playback decimation and engine I/O write transaction . The PCI bus transacts the other cycles and transactions from another PCI master.

        The HOST bus contains a post write buffer with 8 Qword which can release the HOST bus as soon as possible after it records the address and data into the post write buffer. The data would queue in the post write buffer until the display memory is available, and then write into the display memory.

        The VGA controller support the byte merge function which would merge the sequential bytes from different transactions into one stage of post write buffer. The combining of sequential bytes memory writes has a significant performance benefits for the memory bandwidth . We also support the smart write function which would intelligently queue more data in the post write buffer for a while, and then write into display memory one times. It would save a lot of display memory bandwidth of memory write. We can program a register bit to determine how many data would keep in the post write buffer.

        The HOST bus support a read ahead cache. When CPU sends the sequential address read commands, it would always hit in the read cache and response the data as soon as possible. It also can reduce the access time from display memory.

         

      3. Attribute Controller
      4. The Attribute Controller formats the display for the screen. Display color selection, text blinking, alternate font selection, and underlining are performed by the Attribute Controller.

      5. CRT Controller
      6. The CRT Controller generates the HSYNC and VSYNC signals required for the monitor, as well as BLANK# signals required by the Attribute Controller.

      7. CRT FIFO
      8. The 64x32 CRT FIFO allows the Display Memory Controller to access the display memory for screen refresh at maximum memory speed rather than at the screen refresh rate. It provides 3 programmable thresholds - CRT/CPU Threshold Low, CRT/CPU Threshold High, and CRT/Engine Threshold High. With adequate programming these three thresholds, the CPU wait-time would be reduced to improve the graphics performance.

      9. DDC Controller
      10. The DDC Controller provides two different channels to communicate with the monitor which supports DDC level 1 or DDC level 2B. One is DDC CLK channel which is bi-directional and provides the clock for DDC. The other is DDC DATA channel which is bi-directional and could query some information from monitor.

        With the advantage of DDC, VGA BIOS could realize the capability of the connected monitor and take adequate action (such as to program the parameters for higher frame rate, ..., etc.) to make end users feel more comfortable.

      11. Display Memory Controller
      12. The Display Memory Controller generates timing for display memory. This includes RAS#, CAS#, and multiplexed-address timing, as well as RAMWE#.

      13. DPMS
      14. It provides some registers to control the CRT timing to be compatible with the VESA DPMS specification.

      15. Dual-Clock Synthesizer
      16. The Dual-Clock Synthesizer generates MCLK and VCLK with single external reference clock. With this character, we could set the MCLK at the maximum speed which the display memory could work normally, thus it takes the advantage of the real peak memory bandwidth and improves the graphics performance.

      17. Graphics Controller
      18. It performs text manipulation, data rotation, color mapping, and miscellaneous operations.

      19. Graphics Engine
      20. It is an enhanced 64-bit BitBlt Graphics Engine.

        For enhanced 256-color graphics mode, the engine supports the following functions:

        * 256 Raster Operation Functions

        * Rectangle Fill

        * Color/Font Expansion

        * Enhanced Color expansion

        * Enhanced Font expansion

        * Line Drawing

        * Built-in 8x8 Pattern Registers

        * Built-in 8x8 Mask Registers

        * Direct Draw

        For 32K or 64K high-color graphics mode, the engine supports the following functions:

        * 256 Raster Operation Functions

        * Rectangle Fill

        * Color/Font Expansion

        * Enhanced Color expansion

        * Enhanced Font expansion

        * Line Drawing

        * Built-in 8x8 Mask Registers

        * Direct Draw

        For 16M-color graphics mode, due to different graphics process methods, the engine supports the following functions:

        * Source/Destination BitBlt

        * Pattern/Destination BitBlt

        * Color/Font Expansion

        * Enhanced Font expansion

        Descriptions of the graphics engine functions are summarized as follows:

        Bit Block Transfer (BitBlt)

        BitBlt moves a block of data from one location (source) to another location (destination). It is a ternary operation. The operands could be the source data, the destination data, and the brush pattern. There are three different kinds of BitBlt: from the host memory to the display memory, from the display memory to the host memory, and from one location of the display memory to another location of the display memory.

        In the first two cases, the operation simply uses the "move string instruction" (REP MOVS) to move the source data to the destination to accomplish the BitBlt operation. It is called "CPU-driven BitBlt".

        In the case of moving from the display memory to the display memory, integrated VGA Controller could gain the advantage of its advanced engine design to solve the problems of memory overlapping during the block transfers. The only effort is to program the adequate parameters.

        BitBlt with Mask

        When the BitBlt operation deals with the hatched brush pattern, the programmer just needs to set the monochrome mask into Mask Registers and program an adequate BG ROP and Background Color, then the engine would handle the complicated process.

        Color/Font Expansion

        The color/font expansion is used to expand a monochrome data (one bit per pixel) into a second color format which is n-bit per pixel during a moving operation.

        The foreground color and background color is addressed respectively from I/O address 8290h to 8292h and from I/O address 8294h to 8296h. The font patterns are stored in the pattern registers (I/O address 82ACh to 82EBh) or in the off-screen memory which is called Enhanced Color/Font Expansion. These pattern registers store the monochrome bitmap. The BitBlt engine can expand 512 pixels at a time. Thus the font-drawing and monochrome bitmap expansion can be easily accomplished.

        Enhanced Color Expansion

        If the size of a monochrome bitmap is larger than 512 pixels, there is not enough space in pattern registers to store this bitmap. In this case, the bitmap should be stored in the off-screen display memory instead of the pattern registers. The operation is called Enhanced Color Expansion or Enhanced Font Expansion depended on the data format.

        The format written into the off-screen memory of the Enhanced Color Expansion operation is m x n.

        When the Command 1 Register D[5] (Enhanced Color Expansion Enable Bit, I/O address 82ABh) is set to 1, the Enhanced Color Expansion mode is enable. The SRC Start Linear Address (I/O address 8280h to 8282h) is used to specify the starting address of the off-screen memory. Integrated Graphics Controller stores the monochrome bitmap into the assigned off-screen memory. Therefore the BitBlt engine could explore more pixels by using the Enhanced Color Expansion.

        Enhanced Font Expansion

        The Enhanced Font Expansion is very similar to the Enhanced Color Expansion. The major difference is the format stored in the off-screen memory. The format written into the off-screen memory of the Enhanced Font Expansion operation is 8 x n.

        When the Command 1 Register D[4] (Enhanced Font Expansion Enable Bit, I/O address 82ABh) is set to 1, the Enhanced Font Expansion mode is enable. The SRC Start Linear Address (I/O address 8280h to 8282h) is used to specify the start address of the off-screen memory. Integrated Graphics Controller stores the monochrome bitmap into off-screen memory byte by byte successively. Therefore the BitBlt engine would expand these pixels by using the Enhanced Font Expansion.

        Line Drawing

        The Bresenham's Line Algorithm is a well popular algorithm in graphics, which is used to draw a line. The drawing line could be either a solid line or a dashed line. To draw a solid line, we must use one solid foreground color. To draw a dashed line, we'll use two colors specified by the foreground and background color registers. There are several registers involved to control the starting location, pixel count, error term, and line style, etc.

        Rectangle Fill

        A rectangle area fill is a function to fill a specified rectangle area by using either a solid color (rectangle fill) or a pattern (pattern fill).

        Rectangle Fill is simply to fill the destination rectangle with a solid color. The solid color is specified into the foreground color register.

        Pattern Fill repeats a source pattern into a destination rectangle. Therefore the pattern registers (I/O address 82ACh to 82EBh) must be specified. The pattern often consists of a background and foreground color because the color expansion would be used in conjunction with the pattern fill.

        Raster Operations (Raster Ops or ROPs)

        Raster Ops would perform some logical or arithmetic operations on the graphics data. There are 256 raster ops defined by Microsoft. Each raster op code is a Boolean operation with three operands: the source, the selected pattern, and the destination.

        Direct Draw

        The Windows 95 Game SDK enables the creation of world class computer games. Direct Draw is a component of that SDK that allows direct manipulation of video display memory. In order to enhance the performance of games, Integrated VGA Controller provides some Direct Draw functions.

        Since the former engine functions can just support part of Direct Draw capabilities, three new functions are added into the graphics accelerator in order to meet the other Direct Draw functions. They are color key range comparison, alpha blending, and Direct Draw raster operation.

        The register format for Direct Draw is different from those of the engine's functions listed above.

        To enable Direct Draw, the Direct Draw enable bits must be set to "11". Once Direct Draw is enabled, all of the engine operations are under the "Read-Modify-Write" mode. That is, the destination data have to be read from memory for processing before being written back.

        After receiving the destination data, the source and destination data are sent to the color key range comparators to determine whether they are between the high and low color key values. If they are in the color key range, the Direct Draw raster operation (D_Rop) will determine whether the data after alpha blending or the original destination will be written back to memory.

        There are two control bits for alpha blending. They are the S_Alpha bit and D_alpha Bit. The table below shows the relationship between these two control bits and the data after alpha blending.

         

         

        S_Alpha

        D_Alpha

        Data after Alpha Blending

        0

        0

        Source

        0

        1

        Destination

        1

        0

        Source

        1

        1

        (Source+Destination)/2

         

      21. RAMDAC
      22. The RAMDAC contains the color palette and 24-bit true color DAC.

        The color palette contains 256 24-bit entries.

        In indirect color modes, it can convert a color code that specifies the color of a pixel into three 6-bit values, one each for red, green, and blue.

        In direct color modes, it can convert each three R, G, B values into three 8-bit values when SR6 bit 3 set to 1. Which can perform the Gamma correction function.

        In the 24-bit true color DAC is designed for direct color graphics mode. It converts each digital color value to three analog voltages for red, green, and blue.

         

      23. Read-ahead Cache
      24. It is a 128-bit cache. With this cache, the times of the operation of display memory read would be reduced, thus increase the performance.

      25. Write FIFO
      26. The Write FIFO contains a queue of CPU write accesses to display memory that have not been executed because of memory arbitration. With this queue, the Integrated VGA Controller will release CPU as soon as it records the address and data, and then write into display memory when the display memory is available. Thus CPU performance is increased.

      27. Bus Interface
      28. The Integrated VGA Controller dedicatedly supports 32-bit PCI Local Bus Standard Revision 2.1. Furthermore Integrated VGA Controller supports PCI burst write to take advantage of PCI bus advanced feature to further improve performance. But PCI burst read is not supported since it has very little impact on performance in graphics application.

      29. DRAM Support
      30. Integrated VGA Controller supports 0.5 MB, 1 MB, 1.5 MB, 2 MB, 2.5 MB, 3 MB, 3.5 MB, and 4 MB FPM/EDO DRAM and Synchronous DRAM configuration. SiS chp will assert the RAS0#/CS#, MA0A, MA1A, SCAS0# and SRAS0# (memory Bank0) when the integrated VGA controller access the main memory.

      31. Video Memory Data Bus Architecture
      32. The Integrated VGA Controller uses the 64-bit DRAM data bus with peak video memory bandwidth of 220 MByte/sec for FPM DRAM with 55Mhz MCLK.

        In 2MByte DRAM configuration, Integrated VGA Controller can support 1024x768x32K color, 1024x768x64K color, and 800x600x16M color resolutions with no degradation in the graphics performance.

        In 4MByte DRAM configuration, Integrated VGA Controller can support 1024x768x16M color, 1280x1024x32K color, and 1280x1024x64K color resolutions. These resolutions are not easily implemented by the regular Graphics Controller architecture.

      33. Internal Dual-Clock Synthesizer
      34. Integrated VGA Controller has built-in a dual-clock synthesizer to generate the MCLK and VCLK. This clock synthesizer could generate several variable frequencies, thus it could provide the flexibility for selecting the working frequency.

        The following block diagram is for clock synthesizer:

        where PD is phase detection,

        CP is charge pump,

        VCO is voltage controlled oscillator,

        fr is reference frequency, and

        fd is desired frequency.

         

        The operation of clock synthesizer is described as follow:

        When the synthesizer outputs the steady frequency, it means that

        fr/DeNumerator = fd*Post Scaler /(Divider*Numerator).

        i.e.

        fd=fr*(Numerator/DeNumerator)*(Divider/Post Scaler).

        With this formula, we could select adequate values for Numerator, DeNumerator, Divider, and Post Scaler to obtain the desired frequency.

        The planned Video Clocks (VCLK) are as follow: (units: MHz)

        25.175

        28.322

        40.000

        50.000

        77.000

        36.000

        44.889

        135.000

        120.000

        80.000

        31.500

        110.000

        65.000

        75.000

        94.500

        These frequencies are compatible with ICS2494-275 or -280.

        Other video clocks would be added to the scheme after verified OK.

        The planned Memory Clocks (MCLK) are from 50 MHz to 80 MHz with resolution 2 MHz.

        Higher memory clocks would be added after verified OK.

         

      35. Power Management
      36. To satisfy the power saving for Green PC, Integrated VGA Controller supports the control protocol of DPMS (Display Power Management Signaling) proposed by VESA Monitor Committee. This protocol can reduce the VGA Monitors' power consumption.

        Integrated VGA Controller has built-in two timers for stand-by and suspend modes that can be programmed from 2 minutes to 30 minutes (2 min./increase) with the extended registers.

        Integrated VGA Controller also supports forcing the video subsystem into stand-by, suspend, or off modes with the extended registers.

        Power saving is done by blocking HSYNC and/or VSYNC signals to the VGA monitor. The sources of wake-up are from the monitoring of keyboard, hardware cursor, and/or video memory read/write. The overview of the signal blocking requirements are as follows:

        POWER MANAGEMENT STATE

        HORIZONTAL SYNC

        VERTICAL SYNC

        VIDEO DISPLAY

        ON

        Pulses

        Pulses

        Yes

        Stand-By

        No Pulses

        Pulses

        No

        Suspend

        Pulses

        No Pulses

        No

        OFF

        No Pulses

        No Pulses

        No

      37. Advanced Configuration and Power Interface Specification (ACPI)
      38. In order to achieve power saving for Green PC , VGA controller support ACPI specification . When the OS determines that the graphics display is no longer needed , it will assert the GR_SUS# signal to place the graphics subsystem in the D3 power off state . In this low power state , the VGA controller will firstly check whether the PCI_bus state machine , the HOST_bus state machine , the DRAM state machine and the ENGINE state machine are on the idle state . If these conditions meet , the VGA controller will deassert HSYNC , VSYNC and let Line-buffer, SRAM and DAC sequencely enter the low power state and then gate off the internal clocks like memory clock and video clock . In addition to gate off above internal clocks , we also gate off the rapidly changed signals like PCI data and HOST data and deassert the PCI device select signal and the HOST device select signal , i.e , the VGA controller will completely isolated form the PCI_bus and HOST_bus . Finally , The OS will deassert the GR_CLKPWR# signal to remove power from the graphics clock generator .

        When a wake-up event occurred , VGA controller must enter to Power-On state in sequence. It will firstly assert the GR_CLKPWR# signal to supply power to the graphics clock generator and then turn on internal clocks . When the VGA controller delay some fixed time to stabilize the power supply , it will deassert the GR_SUS# signal to turn on Line-buffer , SRAM , DAC , HSYNC and VSYNC.

        Note that the GR_SUS# and GR_CLKPWR# are the internal signals.

      39. Resolutions Supported
      40. Resolution

        0.5 MB

        1 MB

        1.5 MB

        2 MB

        2.5 MB

        3MB

        3.5 MB

        4 MB

        640x480x8

        *

        *

        *

        *

        *

        *

        *

        *

        640x480x16

         

        *

        *

        *

        *

        *

        *

        *

        640x480x24

         

        *

        *

        *

        *

        *

        *

        *

        800x600x4

        *

        *

        *

        *

        *

        *

        *

        *

        800x600x8

        *

        *

        *

        *

        *

        *

        *

        *

        800x600x16

         

        *

        *

        *

        *

        *

        *

        *

        800x600x24

           

        *

        *

        *

        *

        *

        *

        1024x768x4

        *

        *

        *

        *

        *

        *

        *

        *

        1024x768x8

         

        *

        *

        *

        *

        *

        *

        *

        1024x768x16

           

        *

        *

        *

        *

        *

        *

        1024x768x24

               

        *

        *

        *

        *

        1280x1024x4

         

        *

        *

        *

        *

        *

        *

        *

        1280x1024x8

           

        *

        *

        *

        *

        *

        *

        1280x1024x16

                 

        *

        *

        *

        Except these real resolution modes, Integrated VGA Controller is also built-in virtual screen mode which could support up to 2048x2048 resolution.

      41. Turbo Queue
      42. In Integrated VGA Controller, the graphics engine performs the acceleration functions via the acceleration commands stored in the command queue. The command queue is a FIFO (First In First Out) and ring structure. i.e. If an acceleration command is filled in the last stage of the command queue, then the following acceleration command would be filled in the first stage of the command queue.

        Once this command queue is congested, the CPU's request will be pending until the command queue has free space to accept more acceleration commands. This would downgrade the graphics system performance severely. Thus the length of command queue will dominate the performance of the graphics engine.

        To lengthen the command queue as long as required, Integrated VGA Controller provides two different kinds of command queue. The first one is built in Integrated VGA Controller, which is called Hardware Command Queue. The other one is built in the off-screen display memory, which is called Turbo Queue.

        The Hardware Command Queue is a 32 doublewords queue built in front of the graphics engine. Since the average length of an engine command is 8 doublewords, it could be regarded as 5 stages command queue, the first one is in the active state and the last four are in the wait states.

        The Turbo Queue is an extraordinary structure developed and patent pending by SiS Corp.

        The system configuration of the two command queues and the graphics engine is shown in the following diagram.

        Figure -33 Turbo Queue Architecture

        The Turbo Queue is also a FIFO and ring structure as stated before. The size of the Turbo Queue in Integrated VGA Controller is 32K bytes. Thus the stages of graphics engine could be regarded as infinity. It could get rid of the disadvantages of the CPU waiting problems due to the limited length of command queue and It could get extra high graphics performance.

        To program the extended register SR2C (Turbo Queue Base Address Register) could allocate the Turbo Queue into the off-screen region of the display memory automatically. Once the commands in the Hardware Command Queue were moved into the Turbo Queue, the free space in the Hardware Command Queue could be vacated to store the next acceleration command and the condition of CPU waiting could be avoided. If both the command queues are not empty, the graphics engine would perform the commands in Turbo Queue first until Turbo Queue is empty.

      43. Video Accelerator
      44. Video Password/Identification Register

        A video registers protection is implemented in the index 80h of CRT index register 3D4. To disable the protection, the software must first match the protection key value of 86h. If not match, read/write to any of the video associated registers are denied.

        Video Capture and PlayBack

        Integrated VGA Controller video accelerator can work in three different modes: standard FC (feature connector) mode, direct video mode, and PCI multimedia mode.

        In standard FC mode, Integrated VGA Controller supports standard FC operation.

        In direct video mode, Integrated VGA Controller could work with the Philips SAA7110 / SAA7111, Sony CXA1790Q, and Brooktree Bt815/817/819A (8-bit SPI mode 1, 2) to provide the PC-Video solution and provide the very flexible overlaying ability mentioned above.

        In PCI multimedia mode, Integrated VGA Controller supports PCI multimedia design specification to meet future potential trend.

        Integrated VGA Controller also supports the industry standard FC spec to provide a standard video link to the third-parties' video adapters.

        Furthermore in PCI multimedia mode, Integrated VGA Controller supports PCI multimedia design guide Rev. 1.0 spec to meet future potential trend.

        Feature Connector Interface

        In standard feature connector mode, Integrated VGA Controller would transfer the graphics data to the connected video adapter for overlay and can accept the video data from the connected video adapter.

        The data input/output direction of Integrated VGA Controller is controlled by the ESYNC, EVDCLK, EVIDEO pins and is automatically controlled by BIOS.

        Video Capture Window

        Integrated VGA Controller provides video capture windowing to select a part of input video to be captured into video frame buffer. This capture window is defined by four parameter: video data horizontal start (VDHES), video data horizontal end (VDHEE), video data vertical start (VDVES), and video data vertical end (VDVEE).

        There are the video data horizontal counter and the video data vertical counter inside Integrated VGA Controller. The video data horizontal counter is reset at the positive edge of signal BLANK# and counted up by PCLK. The video data vertical counter is reset at the positive edge of ESYNC and counted up by positive of BLANK#. When the value of the video data horizontal counter is equal to or greater than VDHES and the video data vertical counter is equal to or greater than VDVES, the video data capture starts or continues. After the value of the video data horizontal counter is equal to or greater than VDHEE or the video data vertical counter is equal to or greater than VDVEE, the video capture ends.

        Video Captured Down Scaling

        Integrated VGA Controller provides independent X-Y down scaling of the captured video image in integer increments of 1/64. Images may be scaled down to n/64 (n = 1 ~ 64) of the original image size to support video icons for graphics user interfaces, or to reduce the memory bandwidth. The scaling factor is controlled by HDSF and VDSF, which ranging from 0 to 63, and the scaling factors are (64-HDSF)/64 in horizontal and (64-VHSF)/64 in vertical.

        Video Capture FIFO

        The scaled-down video data would be fed into the video capture FIFO before being stored to display memory. The 64x16 video capture FIFOs serve as buffers between the video capture mechanisms and the display memory, are provided to fit the bandwidth limitation of the display memory during video image capture operation.

        Multi-format Video Frame Buffer

        The video frame buffer of Integrated VGA Controller is shared with graphics frame buffer and is a multi-format frame buffer. It could accept 16-bpp YUV422, RGB555, and RGB565 and 12-bpp YUV420(plane mode) color format.

        The decompression CODEC, hardware or software, could fill the valid decompressed video frame data into the off-screen video frame buffer through the PCI local bus.

        The other PCI motion video card or CPU can transfer the video data through PCI local bus directly into video frame buffer.

        Thus Integrated VGA Controller can overlay the video on the screen.

        YUV420 plane mode

        Integrated controller supports YUV420 plane mode. The data rate of YUV420 is 12-bpp which is smaller than 16-bpp of YUV422. So that the data bandwidth can be reduced and improve the video playback performance. The YUV420 mode need three start address for Y, U and V plane, and two offset for Y and U,V plane.

        Video Playback Line Buffers

        When CRT refresh the screen, the video data must be overlaid with graphics data. Therefore the video data would first be read out from off-screen video frame buffer into the video playback line buffers for further handling.

        The video playback line buffers serve as buffers between display memory and the playback mechanisms, are provided to fit the limitation of the display memory during video playback operation.

        When video playback function is disabled, the line buffers can be used as CRT FIFO to increase the CRT FIFO size to 2k bytes.

        Color Space Conversion & Color Format Conversion

        If the data read from the video frame buffer is in YUV422, the real time YUV-to-RGB converter will be turn on. The video data would be converted to RGB888 format for successive processing. The YUV422 are converted following the CCIR601-2 standard.

        If the data read from the video frame buffer is in RGB format, the YUV-to-RGB converter would be bypassed. All the RGB565 and RGB555 format are supported and then would be converted to RGB888 format.

        Horizontal Interpolation DDA

        The DDA (Digital Differential Accumulator) using the following mathematical calculation with 2-tap, N-phase and scaling up factor UFACT (from J points scaling up to J * UFACT points):

        Destination[i] = (1 - Weight) * Source[j] + Weight * Source[j+1]

        j = TRUNC(i / UFACT)

        Weight" = TRUNC(i / UFACT) - j

        However since the Weight" is not an integer, the multiplication is hard to implement and therefore the following Weight is used for calculation.

        Weight = TRUNC(Weight" * N) / N

        The Integrated VGA Controller built-in an X-interpolation DDA mechanism to get better video stretching quality. The interpolation accuracy of DDA mechanism is 2-tap and 8-phase.

        Vertical Interpolation DDA

        The Integrated VGA Controller built-in a Y-interpolation DDA mechanism and two line buffers mechanism to get better video stretching quality. The interpolation accuracy of DDA mechanism is 2-tap and 8-phase.

        Video Playback Horizontal Zooming

        The playback video data can be horizontal zoom-in in 64/n factor (n = 1 ~ 64) and zoom-out in about m/16 factor (m = 1 ~ 16). The zooming factor (HPFACT) is controlled by 4-bit integer part and 6-bit fraction part. The horizontal video size will be zoomed to 1/HPFACT. If HPFACT<1, it will performing horizontal up scaling. If HPFACT>1, it will performing horizontal down scaling.

        Video Playback Vertical Zooming

        The playback video data can be vertical zoom-in in 64/n factor (n = 1 ~ 64) and zoom-out in arbitrary factor. The zooming factor (VPFACT) is controlled by 6-bit fraction part. The video size will be zoomed to 1/VPFACT. Since the VPFACT is always less than 1, therefore you can only perform vertical up scaling by this factor. The vertical down scaling can be done by multiplying the Video Frame Buffer Offset with an integer I. Then the vertical video size will be zoomed to 1/(I*VPFACT).

        Video Data Blending

        The pixels of graphics data can be blended by graphics data alpha value, then add with the blended video data to generate blended data. The accuracy of the blending is 4 bits, the 4 MSBs of Graphic data alpha value register.

        The pixels of video data can be blended by video data alpha value, then add with the blended graphics data to generate blended data. The accuracy of the blending is 4 bits, the 4 MSBs of Video data alpha value register.

         

        Color Keying

        A control signal is generated by comparing the 24 bits graphics data to the 24 bits color key low value and 24 bits color key high value. The bit number is dependent on color depth used. If the graphics data value is between the two color key values ( all of three RGB parts), the color key is detected. This comparison mechanism can be disable by setting the video window size to zero, i.e. X-start=0, X-end=0, Y-start=0, and Y-end=0.

        Chroma Keying

        A control signal is generated by comparing the 24 bits video data to the 24 bits chroma key low value and 24-bit chroma key high value. The chroma key can be YUV or RGB format. If the video data value is between two chroma key values ( all of three RGB or YUV parts), the chroma key is detected.

        Graphics & Video Overlay

        The overlay of the graphics data and the video data is performed by color keying and chroma keying method. The overlay operation is set by Key Overlay Operation Mode Register. The operation is defined below:

        Operation Mode

        Operation

        0000

        always select graphics data

        0001

        select blended data when color key and chroma key, otherwise select graphics data

        0010

        select blended data when color key and not chroma key, otherwise select graphics data

        0011

        select blended data when color key, otherwise select graphics data

        0100

        select blended data when not color key and chroma key, otherwise select graphics data

        0101

        select blended data when chroma key, otherwise select graphics data

        0110

        select blended data when color key xor chroma key, otherwise select graphics data

        0111

        select blended data when color key or chroma key, otherwise select graphics data

        1000

        select blended data when not color key and not chroma key, otherwise select graphics data

        1001

        select blended data when color key xnor chroma key, otherwise select graphics data

        1010

        select blended data when not chroma key, otherwise select graphics data

        1011

        select blended data when color key or not chroma key, otherwise select graphics data

        1100

        select blended data when not chroma key, otherwise select graphics data

        1101

        select blended data when not color key or chroma key, otherwise select graphics data

        1110

        select blended data when not color key or not chroma key, otherwise select graphics data

        1111

        always select blended data

        Video Window Control Registers

        The video window area is defined by six registers that specify a rectangular region by X-start, X-end, Y-start, and Y-end (X: Horizontal, Y: Vertical).

        The location of the video window is referenced to the VGA sync signals.

        The size of the video window is defined in VGA pixels and lines.

        Video Panning

        The displayed video image could be panned around the captured video image by setting the video display starting address. i.e. You may selectively display any part of the captured video image. The video display starting address is equal to the video frame buffer starting address adds the panning offset.

        Overlay Memory Data

        The display memory is configured to two areas: one is the graphics area (which is the actual screen display area) storing graphics pixel data, and the other is the video area (which is also called off-screen area) storing the video pixel data.

        In the graphics area, the corresponding video window area is reserved with the color key value. During the CRT scan period, a comparison of graphics data with color key data is performed. Once a match meet, the CRT output path would be switched from graphics path to video path to display the video data.

        When the shared-memory architecture is used, the video frame buffer could be anywhere of the system memory, independent with the location of the graphics frame buffer. This provides more flexibility for video control application program. The video frame buffer should be set to Non-Cacheable and non-swapable.

      45. Video Playback Contrast Enhancement and Brightness Control
      46. To achieve higher video quality, the Integrated VGA Controller built-in the Contrast Enhancement and Brightness Control mechanism.

        For Contrast Enhancement, first, the brightness mean value is calculated by some pixels and some frames. The number of sampled pixels and frames is programmable by registers. Contrast Enhancement mechanism then increases the difference between the video data and mean value. The increasing rate is programmed by gain. The value of gain is from 1.0 to 1.4375.

        The Brightness of video data can also be controlled. The Brightness is a 2's complement value from -128 to +127. This value is then added with the video data to increase or decrease the brightness of video.

         

      47. Video CPU Write Data Decimation
      48. The DRAM bandwidth is not enough under some high resolution and high color depth graphics modes, so the video overlay cannot perform under these modes. The Video CPU Write Data Decimation mechanism can decimate two continuous pixels of video to one pixel to reduce the video bandwidth. The video performance can be improved but video quality will be downgraded slightly.

         

      49. Signature Analysis
      50. The signature analysis is provided to automatically test the graphics data which is the input of the DAC. This technique is based on the concept of cyclic redundancy checking (CRC) and is realized in hardware using linear feedback shift registers (LFSRs). It is composed of a 24-bit signature generator register which is called multiple-input signature register (MISR, shown in the following figure) and is used to ensure a unique signature of different patterns.

        For a given test image, the signature analysis could get a right unique signature number. If an error occurs in the controller or the data manipulation, it would result in a different wrong signature number as compared to the pre-calculated signature value. Thus a test technician could sort the good or bad chips more quickly and accurately and requires no visual inspection of the screen for errors in the mass product environment. This could save significant testing time. If the display screen includes blinking attributes or a blinking cursor, then the signature will be different when blink-off and blink-on for those frames. Assume all error patterns are equally likely, then the probability of failing to detect an error by the MISR is approximately 0.0000000596.

        To match the inputs of MISR, the 24-bit graphics data (i.e. the input of the DAC of the RAMDAC) would be first converted into 16-bit data. The corresponding transfer function of the MISR of the following figure is

        p(x) = 1 + a1x + a2x2 + a3x3 + ... + an xn

        where can be either 0 or 1. Integrated VGA Controller sets the parameters of the signature register as

        p(x) = 1 + x20 + x21 + x23 + x24

        Once the software enables the signature analysis function, Integrated VGA Controller could test itself intelligently and automatically. This function could also be disabled by the extended control register for power saving purposes.

        Figure -34 Multi-Input Signature Register (MISR)

      51. Compatibility
      52. The Integrated VGA Controller is fully compatible with all standard IBM VGA modes and EGA, CGA, MDA, and Hercules modes.

      53. Software Support
      54. To fully utilize and support the Integrated VGA Controller hardware features, SiS has developed a high-performance VESA extension compliant BIOS.

        Extended graphics and text modes are supported by software application drivers developed by SiS. The following applications are currently supported:

        * 3D Studio Ver. 3.0 & 4.0

        * AutoCAD/386 Release 11, 12, 13

        * Auto Shade/386 Ver. 2.0

        * GEM 3.0/Ventura 2.0

        * Lotus 1-2-3/Symphony Ver. 3.x

        * MicroSoft Windows 3.1

        * MicroSoft Windows 95

        * MicroSoft Windows NT Ver. 3.1 & 3.5

        * OrCad (SDT/VST/PCB) Rel 4

        * OS/2 Presentation Manager 2.1 & 3.0

        * P-CAD Ver. 6.06

        * VersaCAD/386 Ver. 2.1

        * Word Perfect 5.x & 6.0

        Video operation are supported by software application drivers developed by SiS. The following applications are currently supported:

        * Microsoft Video For Windows

        * DCI driver

        * Direct Draw driver

      55. Mode Table

      Standard VGA Modes

      MODE

      TYPE

      DISPLAY SIZE

      COLORS SHADES

      ALPHA FORMAT

      BUFFER START

      BOX SIZE

      MAX. PAGES

      0

      A/N

      320x200

      16

      40x25

      B800

      8x8

      8

      0*

      A/N

      320x350

      16

      40x25

      B800

      8x14

      8

      0+

      A/N

      360x400

      16

      40x25

      B800

      9x16

      8

      1

      A/N

      320x200

      16

      40x25

      B800

      8x8

      8

      1*

      A/N

      320x350

      16

      40x25

      B800

      8x14

      8

      1+

      A/N

      360x400

      16

      40x25

      B800

      9x16

      8

      2

      A/N

      640x200

      16

      80x25

      B800

      8x8

      8

      2*

      A/N

      640x350

      16

      80x25

      B800

      8x14

      8

      2+

      A/N

      720x400

      16

      80x25

      B800

      9x16

      8

      3

      A/N

      640x200

      16

      80x25

      B800

      8x8

      8

      3*

      A/N

      640x350

      16

      80x25

      B800

      8x14

      8

      3+

      A/N

      720x400

      16

      80x25

      B800

      9x16

      8

      4

      APA

      320x200

      4

      40x25

      B800

      8x8

      1

      5

      APA

      320x200

      4

      40x25

      B800

      8x8

      1

      6

      APA

      640x200

      2

      80x25

      B800

      8x8

      1

      7

      A/N

      720x350

      4

      80x25

      B000

      9x14

      8

      7+

      A/N

      720x400

      4

      80x25

      B000

      9x16

      8

      0D

      APA

      320x200

      16

      40x25

      A000

      8x8

      8

      0E

      APA

      640x200

      16

      80x25

      A000

      8x8

      4

      0F

      APA

      640x350

      2

      80x25

      B000

      8x14

      2

      10

      APA

      640x350

      16

      80x25

      A000

      8x14

      2

      11

      APA

      640x480

      2

      80x30

      A000

      8x16

      1

      12

      APA

      640x480

      16

      80x30

      A000

      8x16

      1

      13

      APA

      320x200

      256

      40x25

      A000

      8x8

      1

      NOTE: 1. A/N: Alpha/Numeric

      2. APA: All Point Addressable (Graphics)

      MODE

      DISPLAY SIZE

      COLORS SHADES

      FRAME RATE.

      H-SYNC.

      VIDEO FREQ.

      0

      320x200

      16

      70

      31.5 K

      25.1 M

      0*

      320x350

      16

      70

      31.5 K

      25.1 M

      0+

      360x400

      16

      70

      31.5 K

      28.3 M

      1

      320x200

      16

      70

      31.5 K

      25.1 M

      1*

      320x350

      16

      70

      31.5 K

      25.1 M

      1+

      360x400

      16

      70

      31.5 K

      28.3 M

      2

      640x200

      16

      70

      31.5 K

      25.1 M

      2*

      640x350

      16

      70

      31.5 K

      25.1 M

      2+

      720x400

      16

      70

      31.5 K

      28.3 M

      3

      640x200

      16

      70

      31.5 K

      25.1 M

      3*

      640x350

      16

      70

      31.5 K

      25.1 M

      3+

      720x400

      16

      70

      31.5 K

      28.3 M

      4

      320x200

      4

      70

      31.5 K

      25.1 M

      5

      320x200

      4

      70

      31.5 K

      25.1 M

      6

      640x200

      2

      70

      31.5 K

      25.1 M

      7*

      720x350

      4

      70

      31.5 K

      28.3 M

      7+

      720x400

      4

      70

      31.5 K

      28.3 M

      0D

      320x200

      16

      70

      31.5 K

      25.1 M

      0E

      640x200

      16

      70

      31.5 K

      25.1 M

      0F

      640x350

      2

      70

      31.5 K

      25.1 M

      10

      640x350

      16

      70

      31.5 K

      25.1 M

      11

      640x480

      2

      60

      31.5 K

      25.1 M

      12

      640x480

      16

      60

      31.5 K

      25.1 M

      13

      320x200

      256

      70

      31.5 K

      25.1 M

      NOTE: i - interlaced mode

      n - noninterlaced mode

      Enhanced Video Modes

      MODE

      TYPE

      DISPLAY SIZE

      COLORS SHADES

      ALPHA FORMAT

      BUFFER START

      BOX SIZE

      MAX. PAGES

      22

      A/N

      1056x352

      16

      132x44

      B800

      8x8

      2

      23

      A/N

      1056x350

      16

      132x25

      B800

      8x14

      4

      24

      A/N

      1056x364

      16

      132x28

      B800

      8x13

      4

      25

      APA

      640x480

      16

      80x60

      A000

      8x8

      1

      26

      A/N

      720x480

      16

      80x60

      B800

      9x8

      3

      29

      APA

      800x600

      16

      100x37

      A000

      8x16

      1

      2A

      A/N

      800x600

      16

      100x40

      B800

      8x15

      4

      2D

      APA

      640x350

      256

      80x25

      A000

      8x14

      1

      2E

      APA

      640x480

      256

      80x30

      A000

      8x16

      1

      2F

      APA

      640x400

      256

      80x25

      A000

      8x16

      1

      30

      APA

      800x600

      256

      100x37

      A000

      8x16

      1

      37

      APA

      1024x768

      16

      128x48

      A000

      8x16

      1

      38

      APA

      1024x768

      256

      128x48

      A000

      8x16

      1

      39

      APA

      1280x1024

      16

      160x64

      A000

      8x16

      1

      3A

      APA

      1280x1024

      256

      160x64

      A000

      8x16

      1

      40

      APA

      320x200

      32K

      40x25

      A000

      8x8

      1

      41

      APA

      320x200

      64K

      40x25

      A000

      8x8

      1

      42

      APA

      320x200

      16.8M

      40x25

      A000

      8x8

      1

      43

      APA

      640x480

      32K

      80x30

      A000

      8x16

      1

      44

      APA

      640x480

      64K

      80x30

      A000

      8x16

      1

      45

      APA

      640x480

      16.8M

      80x30

      A000

      8x16

      1

      46

      APA

      800x600

      32K

      100x37

      A000

      8x16

      1

      47

      APA

      800x600

      64K

      100x37

      A000

      8x16

      1

      48

      APA

      800x600

      16.8M

      100x37

      A000

      8x16

      1

      49

      APA

      1024x768

      32K

      128x48

      A000

      8x16

      1

      4A

      APA

      1024x768

      64K

      128x48

      A000

      8x16

      1

      4B

      APA

      1024x768

      16.8M

      128x48

      A000

      8x16

      1

      4C

      APA

      1280x1024

      32K

      160x64

      A000

      8x16

      1

      4D

      APA

      1280x1024

      64K

      160x64

      A000

      8x16

      1

      NOTE: 1. A/N: Alpha/Numeric

      2. APA: All Point Addressable (Graphics)

      MODE

      DISPLAY SIZE

      COLORS SHADES

      FRAME RATE.

      H-SYNC.

      VIDEO FREQ.

      22

      1056x352

      16

      70

      30.5 K

      40.0 M

      23

      1056x350

      16

      70

      30.5 K

      40.0 M

      24

      1056x364

      16

      70

      30.5 K

      40.0 M

      25

      640x480

      16

      60

      31.5 K

      25.1 M

      26

      720x480

      16

      60

      31.5 K

      25.1 M

      29

      800x600

      16

      56

      35.1 K

      30.0 M

      29*

      800x600

      16

      60

      37.9 K

      40.0 M

      29+

      800x600

      16

      72

      48.0 K

      50.0 M

      29#

      800x600

      16

      75

      46.8 K

      50.0 M

      29##

      800x600

      16

      85

      53.7 K

      56.3 M

      2A

      800x600

      16

      56

      35.1 K

      36.0 M

      2D

      640x350

      256

      70

      31.5 K

      25.1 M

      2E

      640x480

      256

      60

      31.5 K

      25.1 M

      2E*

      640x480

      256

      72

      37.9 K

      31.5 M

      2E+

      640x480

      256

      75

      37.5 K

      31.5 M

      2E++

      640x480

      256

      85

      43.4 K

      36.0 M

      2F

      640x400

      256

      70

      31.5 K

      25.1 M

      30

      800x600

      256

      56

      35.1 K

      36.0 M

      30*

      800x600

      256

      60

      37.9 K

      40.0 M

      30+

      800x600

      256

      72

      48.0 K

      50.0 M

      30#

      800x600

      256

      75

      46.8 K

      50.0 M

      30##

      800x600

      256

      85

      53.7 K

      56.3 M

      37i

      1024x768

      16

      87

      35.5 K

      44.9 M

      37n

      1024x768

      16

      60

      48.4 K

      65.0 M

      37n+

      1024x768

      16

      70

      56.5 K

      75.0 M

      37n#

      1024x768

      16

      75

      60.2 K

      80.0 M

      37n##

      1024x768

      16

      85

      68.7 K

      94.5 M

      38i

      1024x768

      256

      87

      35.5 K

      44.9 M

      38n

      1024x768

      256

      60

      48.4 K

      65.0 M

      38n+

      1024x768

      256

      70

      56.5 K

      75.0 M

      38n#

      1024x768

      256

      75

      60.2 K

      80.0 M

      38n##

      1024x768

      256

      85

      68.7 K

      94.5 M

      39i

      1280x1024

      16

      87

      48.8 K

      80.0 M

      39n

      1280x1024

      16

      60

      65.0 K

      110.0 M

      39n+

      1280x1024

      16

      75

      80.0 K

      135.0 M

      3Ai

      1280x1024

      256

      87

      48.8 K

      80.0 M

      3An

      1280x1024

      256

      60

      65.0 K

      110.0 M

      3An+

      1280x1024

      256

      75

      80.0 K

      135.0 M

      40

      320x200

      32K

      70

      31.5 K

      25.1 M

      41

      320x200

      64K

      70

      31.5 K

      25.1 M

      42

      320x200

      16.8M

      70

      31.5 K

      25.1 M

      43

      640x480

      32K

      60

      31.5 K

      25.1 M

      43*

      640x480

      32K

      72

      37.9 K

      31.5 M

      43+

      640x480

      32K

      75

      37.5 K

      31.5 M

      43++

      640x480

      32K

      85

      43.4 K

      36.0 M

      44

      640x480

      64K

      60

      31.5 K

      25.1 M

      44*

      640x480

      64K

      72

      37.9 K

      31.5 M

      44+

      640x480

      64K

      75

      37.5 K

      31.5 M

      44++

      640x480

      64K

      85

      43.4 K

      36.0 M

      45

      640x480

      16.8M

      60

      31.5 K

      25.1 M

      45*

      640x480

      16.8M

      72

      37.9 K

      31.5 M

      45+

      640x480

      16.8M

      75

      37.5 K

      31.5 M

      45++

      640x480

      16.8M

      85

      43.4 K

      36.0 M

      46

      800x600

      32K

      56

      35.1 K

      36.0 M

      46*

      800x600

      32K

      60

      37.9 K

      40.0 M

      46+

      800x600

      32K

      72

      48.0 K

      50.0 M

      46#

      800x600

      32K

      75

      46.8 K

      50.0 M

      46##

      800x600

      32K

      85

      53.7 K

      56.3 M

      47

      800x600

      64K

      56

      35.1 K

      36.0 M

      47*

      800x600

      64K

      60

      37.9 K

      40.0 M

      47+

      800x600

      64K

      72

      48.0 K

      50.0 M

      47#

      800x600

      64K

      75

      46.8 K

      50.0 M

      47##

      800x600

      64K

      85

      53.7 K

      56.3 M

      48

      800x600

      16.8M

      56

      35.1 K

      36.0 M

      48*

      800x600

      16.8M

      60

      37.9 K

      40.0 M

      48+

      800x600

      16.8M

      72

      48.0 K

      50.0 M

      48#

      800x600

      16.8M

      75

      46.8 K

      50.0 M

      48##

      800x600

      16.8M

      85

      53.7 K

      56.3 M

      49i

      1024x768

      32K

      87

      35.5 K

      44.9 M

      49n

      1024x768

      32K

      60

      48.4 K

      65.0 M

      49n+

      1024x768

      32K

      70

      56.5 K

      75.0 M

      49n#

      1024x768

      32K

      75

      60.2 K

      80.0 M

      49n##

      1024x768

      32K

      85

      68.7 K

      94.5 M

      4Ai

      1024x768

      64K

      87

      35.5 K

      44.9 M

      4An

      1024x768

      64K

      60

      48.4 K

      65.0 M

      4An+

      1024x768

      64K

      70

      56.5 K

      75.0 M

      4An#

      1024x768

      64K

      75

      60.2 K

      80.0 M

      4An##

      1024x768

      64K

      85

      68.7 K

      94.5 M

      4Bi

      1024x768

      16.8M

      87

      35.5 K

      44.9 M

      4Bn

      1024x768

      16.8M

      60

      48.4 K

      65.0 M

      4Bn+

      1024x768

      16.8M

      70

      56.5 K

      75.0 M

      4Bn#

      1024x768

      16.8M

      75

      60.2 K

      80.0 M

      4Bn##

      1024x768

      16.8M

      85

      68.7 K

      94.5 M

      4Ci

      1280x1024

      32K

      89

      48.8 K

      80.0 M

      4Di

      1280x1024

      64K

      89

      48.8 K

      80.0 M

      NOTE: i - interlaced mode

      n - noninterlaced mode

      * For the limitation of memory bandwidth in 1MB DRAM configuration, the following video modes is not supported in 1MB configuration: modes 45*, 45+, 46+, 46#, 47+, and 47#.

       

    5. Multiplexed pins
    6. Several SiS Chip I/O pins have multiple functions, the following table will provide the condition to define the pin for each function.

      SiS5582

      Ball No.

      SiS5581

      Ball No.

      Pin Name

      Description

      N29

      U29

      MA0B

      Set Register 57 bit 1 to "0" in Host to PCI Bridge Configuration Register

         

      SRAS1#

      Set Register 57 bit 1 to "1" in Host to PCI Bridge Configuration Register

      N25

      U25

      MA1B

      Set Register 57 bit 1 to "0" in Host to PCI Bridge Configuration Register

         

      SCAS1#

      Set Register 57 bit 1 to "1" in Host to PCI Bridge Configuration Register

      J27

      AA27

      GPO3

      Set ACPI/SCI Offset Register 1Ch bit 4 to "1" and Register 40h bit7 to "1" in PCI to ISA Bridge Configuration Register

         

      MA12

      Set ACPI/SCI Offset Register 1Ch bit 4 to "0" in PCI to ISA Bridge Configuration Register

      J28

      AA28

      GPO4

      Set ACPI/SCI Offset Register 1Ch bit 5 to "1" and Register 40h bit7 to "1" in PCI to ISA Bridge Configuration Register

         

      MA13

      Set ACPI/SCI Offset Register 1Ch bit 5 to "0" in PCI to ISA Bridge Configuration Register

      J29

      AA29

      GPO6

      Set ACPI/SCI Offset Register 1Ch bit 6 to "0" and Register 40h bit7 to "1" in PCI to ISA Bridge Configuration Register

         

      MA14

      Set ACPI/SCI Offset Register 1C bit 6 to "1" in PCI to ISA Bridge Configuration Register

      D26

      AF26

      GPIO7

      Set Register 6Ah bit 4 to "0" and Register 40h bit7 to "1" in PCI to ISA Bridge Configuration Register

         

      OCO#

      Set Register 6A bit 4 to "1" and 6A bit 6 to "1" in PCI to ISA Bridge Configuration Register

         

      OCI2#

      Set Register 6A bit 4 to "1" and 6A bit 6 to "0" in PCI to ISA Bridge Configuration Register

      H26

      AB26

      GPIO8

      Set Register 6Ah bit 5 to "0" and Register 40h bit7 to "1" in PCI to ISA Bridge Configuration Register

         

      OCI1#

      Set Register 6A bit 5 to "1" in PCI to ISA Bridge Configuration Register

      D27

      AF27

      IOCHK#

      Set ACPI/SCI Offset Register 24 bit 6 to "0" in PCI to ISA Bridge Configuration Register

         

      GPIO9

      Set Register 40h bit7 to "1" and ACPI/SCI Offset Register 24h bit 6 to "1" in PCI to ISA Bridge Configuration Register and Set ACPI/SCI Offset Register 1C bit 9 to "1" in PCI to ISA Bridge Configuration Register.

         

      THRM#

      Set ACPI/SCI Offset Register 24 bit 6 to "1" in PCI to ISA Bridge Configuration Register and Set ACPI/SCI Offset Register 1C bit 9 to "0" in PCI to ISA Bridge Configuration Register

      B7

      AH7

      GPIO10

      Set Auto Power Control Register II bit 1 to "0" in APC Control Registers and set Register 40h bit7 to "1" in PCI to ISA Bridge Configuration Register

         

      ACPILED

      Set Auto Power Control Register II bit 1 to "1" in APC Control Registers

      D6

      AF6

      OSCO

      Connect PSRSTB# to Battery circuit

         

      RTCCS#

      Pull-low resistor on PSRSTB# signal

      E6

      AE6

      OSCI

      Connect PSRSTB# to Battery circuit

         

      IRQ8#

      Pull-low resistor on PSRSTB# signal

      C8

      AG8

      RTCALE#

      Connect PSRSTB# to Battery circuit

         

      ONCTL#

      Pull-low resistor on PSRSTB# signal

      B19

      AH19

      KBCLK

      Set Register 70 bit 3 to "1" in PCI to ISA Bridge Configuration Register.

         

      GPIO2

      Set Register 70 bit 3 to "1" and Register 40h bit7 to "1" in PCI to ISA Bridge Configuration Register, and set Register 1Dh bit 2 to ‘1’ in ACPI/SCI Offset Register.

      A19

      AJ19

      KBDAT

      Set Register 70h bit 3 to "1" in PCI to ISA Bridge Configuration Register.

         

      IRQ1

      Set Register 70h bit 3 to "0" in PCI to ISA Bridge Configuration Register.

      D19

      AF19

      PMCLK

      Set Register 70h bit 3 to "1" and 70h bit 4 to "1" in PCI to ISA Bridge Configuration Register.

         

      GPIO1

      Set Register 70 bit 3 to "0" and Register 40h bit7 to "1" in PCI to ISA Bridge Configuration Register, and set Register 1Dh bit 1 to ‘1’ in ACPI/SCI Offset Register.

      B20

      AH20

      PMDAT

      Set Register 70h bit 3 to "1" and 70h bit 4 to "1" in PCI to ISA Bridge Configuration Register.

         

      IRQ12

      Set Register 70h bit 3 to "1" in PCI to ISA Bridge Configuration Register.

      C20

      AG20

      KLOCK#

      Set Register 70 bit 4 to "1" in PCI to ISA and 57 bit 0 to "1" in Host to PCI Configuration Register

         

      GPIO0

      Set Register 70 bit 4 to "0" and 40h bit7 to "1" in PCI to ISA and 57 bit 0 to "1" in Host to PCI Bridge Configuration Register, and set Register 1Dh bit 0 to ‘1’ in ACPI/SCI Offset Register.

         

      RAMWC#

      Set Register 57h bit 0 to "0" in Host to PCI Bridge

      Configuration Register.

      B22

      AH22

      TURBO

      Set Register 93 bit 2 to "0" in Host to PCI Bridge Configuration Register

         

      EXTSMI#

      Set Register 93 bit 2 to "1" in Host to PCI Bridge Configuration Register.

      N5

      U5

      IIRQA

      If PCI IDE channel 0 operates in Native mode.

         

      IRQ14

      If PCI IDE channel 0 operates in compatibility mode.

      V5

      M5

      IIRQB

      If PCI IDE channel 1 operates in Native mode.

         

      IRQ15

      If PCI IDE channel 1 operates in compatibility mode.

      D20

      AF20

      GPCS1

      Set register 6D bit 6 to "0" in PCI to ISA Bridge Configuration Register.

         

      SIRQ

      Set register 6D bit 6 to "1" in PCI to ISA Bridge Configuration Register.

       

    7. Ball Connectivity Testing
    8. SiS Chip will provide a NAND chain Test Mode. In order to ensure the connections of balls to tracks of mainboard, SiS Chip provides a simple way to do connective measurements. Basically, an additional 2-input-NAND gate is added into the I/O buffer cells. And, one of inputs of NAND gate is connected to input pin of I/O buffer as test input port in test mode. To monitor the test result at test output port, the output of the NAND gate is connected to the other input of the next NAND gate. Such that, the test result could be propagated and it forms a NAND tree, as depicted in Figure 3-35 on page *. To adapt to the scheme, all output buffers of SiS Chip are changed to bidirection buffers to accept test signals.

      1. Test Scheme
      2. There are six NAND tree chains are provided by SiS Chip. Each NAND tree chain has several test-input pins and one output pin.

        The following description is an example on 4-test-input pins to explain a NAND tree chain test scheme.

        First of all, logic LOW is driven into TESTIN1 pin from track on mainboard. If logic HIGH could be observed at TESTOUT pin, it means that the connection of TESTIN1 pin to track is good, as shown in Figure 3-36 on page *. To test TESTIN2 pin, TESTIN2 pin should be driven LOW also. And, TESTIN1 pin should be kept at logic HIGH, such that the test result could be passed to TESTOUT pin and so on. Although SiS Chip operates at 3.3V, all input buffers of SiS Chip are 5V-input tolerance. Hence, all test signal could go up to 5V.

      3. Measurements

During test process, this scheme requires all test inputs to be driven simultaneously. To decrease the amount of test probes, SiS Chip divide pins into 6 branches. Meanwhile, some noise sensitive signals or analog signals, i.e. RTC, power and VGA signals, are excluded. The final number of test-input probes is limited to 78 and these six NAND trees are listed in Table 3-2 NAND Tree List on page *.

Figure -35

Figure -36

 

Table -2 NAND Tree List for SiS5597

TEST Vectors

Ball Number List

TEST Output Ball

TESTIN0[1:69]

(NAND Tree 1)

N29, P26, N25, P27, P28, P24, P29, R26, P25, R27, R28, R29, T24, T26, T27, T25, T28, T29, U26, U24, U27, U28, U29, U25, V27, V28, V29, V25, W27, W28, W29, V26, Y27, Y28, Y29, W25, AA27, AA28, AA29, W26, AB27, AB28, AB29, Y25, AC26, AC27, Y26, AC28, AC29, AD27, AA25, AD28, AD29, AA26, AE26, AE27, AB25, AE28, AE29, AF26, AB26, AF27, AF28, AF29, AC25, AG28, AD26, AH28, AD25

AE05

TESTIN1[1:78]

(NAND Tree 2)

B21, D19, A21, C22, B22, A22, C23, B23, A23, E24, D24, E21, C24, B24, A24, D21, E25, D25, E22, C25, B25, A25, D22, C26, B26, A26, E23, C27, D23, B27, G25, B28, C28, D26, G26, D27, D28, H25, D29, E26, E27, H26, E28, E29, F25, J25, F26, F27, F28, J26, F29, G27, K25, G28, G29, H27, H28, K26, H29, J27, J28, L25, J29, K27, K28, L26, K29, L27, M25, L28, L29, M27, M26, M28, M29, N26, N27, N28

AG05

TESTIN2[1:74]

(NAND Tree 3)

C05, E09, B05, A05, E06, D09, D06, C06, B06, E10, A06, C07, B07, A07, C08, E11, B08, A08, C09, D11, B09, A09, E12, C10, B10, A10, D12, C11, B11, F13, A11, C12, B12, E13, A12, D13, C13, F14, B13, A13, E14, D14, C14, B14, A14, F16, D15, C15, B15, A15, E16, D16, C16, B16, F17, A16, D17, C17, E17, B17, A17, C18, B18, E18, A18, C19, B19, D18, A19, C20, B20, E19, A20, C21

AH05

TESTIN3[1:77]

(NAND Tree 4)

T04, T03, T05, T02, T01, P06, R04, R03, R02, R01, P05, P04, P03, P02, N06, P01, N04, N03, N05, N02, N01, M03, M05, M02, M01, L03, M04, L02, L01, L05, K03, K02, L04, K01, J03, J02, K05, J01, H03, H02, K04, H01, G03, G02, J05, G01, F05, F04, J04, F03, F02, H05, F01, E04, E03, H04, E02, E01, D04, G05, D03, D02, D01, G04, C02, B02, E07, C03, D07, B03, E08, C04, B04, A04, D08, E05, D05

AG04

TESTIN4[1:63]

(NAND Tree 5)

AG06, AH06, AJ06, AE09, AF05, AF09, AJ05, AE08, AH04, AF08, AJ04, AG03, AH03, AH02, AG02, AC05, AF04, AF03, AF02, AC04, AF01, AE04, AB05, AE03, AE02, AB04, AE01, AD05, AD04, AA05, AD03, AD02, AD01, AA04, AC03, AC02, AC01, AB03, Y04, AB01, AA03, W05, AA02, AA01, W04, Y03, Y02, Y01, V05, W03, W02, V04, W01, V03, U06, V02, V01, U04, U05, U03, U02, U01, T06

AH13

TESTIN5[1:63]

(NAND Tree 6)

AF24, AG24, AH24, AF21, AE23, AF23, AG23, AE20, AH23, AJ23, AF20, AH22, AJ21, AG20, AF19, AH20, AJ20, AG19, AE18, AH19, AJ19, AG18, AH18, AJ18, AF17, AD17, AG17, AH17, AJ17, AE17, AF16, AG16, AD16, AH16, AJ16, AE16, AD14, AH15, AJ15, AF14, AG14, AE14, AH14, AJ14, AF13, AD13, AG13, AJ13, AE13, AG12, AH12, AJ12, AE12, AG11, AH11, AJ11, AF12, AG10, AH10, AJ10, AE11, AG09, AH09

AG15

 

Table -3 NAND Tree List for SiS5598

TEST Vectors

Ball Number List

TEST Output Ball

TESTIN0[1:69]

(NAND Tree 1)

U29, T26, U25, T27, T28, T24, T29, R26, T25, R27, R28, R29, P24, P26, P27, P25, P28, P29, N26, N24, N27, N28, N29, N25, M27, M28, M29, M25, L27, L28, L29, M26, K27, K28, K29, L25, J27, J28, J29, L26, H27, H28, H29, K25, G26, G27, K26, G28, G29, F27, J25, F28, F29, J26, E26, E27, H25, E28, E29, D6, H26, D27, D28, D29, G25, C28, F26, B28, F25

E05

TESTIN1[1:78]

(NAND Tree 2)

AH21, AF19, AJ21, AG22, AH22, AJ22, AG23, AH23, AJ23, AE24, AF24, AE21, AG24, AH24, AJ24, AF21, AE25, AF25, AE22, AG25, AH25, AJ25, AF22, AG26, AH26, AJ26, AE23, AG27, AF23, AH27, AC25, AH28, AG28, AF26, AC26, AF27, AF28, AB25, AF29, AE26, AE27, AB26, AE28, AE29, AD25, AA25, AD26, AD27, AD28, AA26, AD29, AC27, Y25, AC28, AC29, AB27, AB28, Y26, AB29, AA27, AA28, W25, AA29, Y27, Y28, W26, Y29, W27, V25, W28, W29, V27, V26, V28, V29, U26, U27, U28

C05

TESTIN2[1:74]

(NAND Tree 3)

AG05, AE09, AH05, AJ05, AE06, AF09, AF06, AG06, AH06, AE10, AJ06, AG07, AH07, AJ07, AG08, AE11, AH08, AJ08, AG09, AF11, AH09, AJ09, AE12, AG10, AH10, AJ10, AF12, AG11, AH11, AD13, AJ11, AG12, AH12, AE13, AJ12, AF13, AG13, AD14, AH13, AJ13, AE14, AF14, AG14, AH14, AJ14, AD16, AF15, AG15, AH15, AJ15, AE16, AF16, AG16, AH16, AD17, AJ16, AF17, AG17, AE17, AH17, AJ17, AG18, AH18, AE18, AJ18, AG19, AH19, AF18, AJ19, AG20, AH20, AE19, AJ20, AG21

B05

TESTIN3[1:77]

(NAND Tree 4)

P04, P03, P05, P02, P01, T06, R04, R03, R02, R01, T05, T04, T03, T02, U06, T01, U04, U03, U05, U02, U01, V03, V05, V02, V01, W03, V04, W02, W01, W05, Y03, Y02, W04, Y01, AA03, AA02, Y05, AA01, AB03, AB02, Y04, AB01, AC03, AC02, AA05, AC01, AD05, AD04, AA04, AD03, AD02, AB05, AD01, AE04, AE03, AB04, AE02, AE01, AF04, AC05, AF03, AF02, AF01, AC04, AG02, AH02, AE07, AG03, AF07, AH03, AE08, AG04, AH04, AJ04, AF08, AE05, AF05

C04

TESTIN4[1:63]

(NAND Tree 5)

C06, B06, A06, E09, D05, D09, A05, E08, B04, D08, A04, C03, B03, B02, C02, G05, D04, D03, D02, G04, D01, E04, H05, E03, E02, H04, E01, F05, F04, J05, F03, F02, F01, J04, G03, G02, G01, H03, K04, H01, J03, L05, J02, J01, L04, K03, K02, K01, M05, L03, L02, M04, L01, M03, N06, M02, M01, N04, N05, N03, N02, N01, P06

B13

TESTIN5[1:63]

(NAND Tree 6)

D24, C24, B24, D21, E23, D23, C23, E20, B23, A23, D20, B22, A21, C20, D19, B20, A20, C19, E18, B19, A19, C18, B18, A18, D17, F17, C17, B17, A17, E17, D16, C16, F16, B16, A16, E16, F14, B15, A15, D14, C14, E14, B14, A14, D13, F13, C13, A13, E13, C12, B12, A12, E12, C11, B11, A11, D12, C10, B10, A10, E11, C09, B09

C15

  1. Pin Assignment and Description
  2. To suit all kinds of PC main board form factor, SiS Chip provides two kinds of pin assignment for customized boards design.

    SiS5598 pin assignment is based on ATX/traditional Baby-AT form factor, and SiS5597 is based on LPX/NPX/NLX form factor.

    1. SiS5598 Pin Assignment(Top view)
    2.  

      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

       

      A

         

      NC

      AD30

      PREQ2#

      INTC#

      RTCVDD

      PSRSTB#

      PWRBT#

      DACK2

      DREQ5

      IRQ10

      OSC

      IRQ5

      IOW#

      ZWS#

      SA7

      SA2

      KBDAT

      SPK

      UCLK48

      UV1-

      BLANK#

      BOUT

      GOUT

      ROUT

      NC

         

      A

      B

       

      PCICLK

      AD28

      C/BE3#

      PGNT2#

      INTB#

      GPIO10

      RING

      BCLK

      DACK1

      MEMW#

      IO16#

      BALE

      IRQ6

      SMEMR#

      DREQ3

      SA6

      SA1

      KBCLK

      PMDAT

      UV0+

      TURBO

      PCLK

      VIDEO2

      COMP

      DDCCLK0

      AVDD2

      HSYNC

       

      B

      C

      NC

      AD27

      AD29

      PGNT3#

      PGNT1#

      INTA#

      PWRGD

      ONCTL#

      MR16#

      DACK0

      MEMR#

      M16#

      TC

      IRQ9

      AEN

      DREQ1

      SA5

      SA0

      ROMKBCS#

      KLOCK#

      UV1+

      TEST#

      VIDEO6

      VIDEO1

      EXTVREF

      AVSS2

      AVSS3

      ENDCLK

      NC

      C

      D

      AD21

      AD23

      AD24

      AD25

      PREQ0#

      OCSO

      DLLVDD1

      AD31

      PREQ1#

      RTCVSS

      SWITCH

      DREQ6

      IRQ4

      IOR#

      VCC5

      DREQ0

      SA3

      PVDD

      PMCLK

      SIRQ

      VIDEO3

      VREF

      VIDEO5

      VIDEO0

      DDCDAT0

      GPIO7

      IOCHK#

      SRAS2#

      SCAS2#

      D

      E

      C/BE2#

      AD17

      AD18

      AD20

      PGNT0#

      OCSI

      DLLVSS1

      PREQ3#

      INTD#

      GPIO5

      DREQ7

      IRQ11

      SHBE#

      IRQ7

      OVDD

      IORDY

      RFH#

      GPCS0

      UV0-

      VIDEO7

      AVSS1

      AVDD1

      VIDEO4

      RSET

      AVDD3

      CAS5#

      CAS6#

      DDCDAT1

      DDCCLK1

      E

      F

      PLOCK#

      STOP#

      DEVSEL#

      IRDY#

      FRAME#

                   

      IRQ3

      SMEMW#

      OVDD

      DREQ2

      SA4

                   

      VSYNC

      ENSYNC

      CAS0#

      CAS2#

      CAS3#

      F

      G

      AD15

      C/BE1#

      PAR

      AD22

      AD26

                                           

      ENVIDEO

      RAS4#

      RAS0#

      RAS2#

      RAS3#

      G

      H

      AD12

      VCC5

      AD14

      AD16

      AD19

                                           

      CAS7#

      GPIO8

      RAMWA#

      SCAS0#

      SRAS0#

      H

      J

      AD8

      AD9

      AD11

      SERR#

      TRDY#

                                           

      CAS1#

      CAS4#

      MA12

      MA13

      MA14

      J

      K

      AD5

      AD6

      AD7

      AD13

      PVDD

                 

      OVDD

      OVDD

           

      OVDD

      OVDD

                 

      RAS5#

      RAS1#

      MA8

      MA9

      MA10

      K

      L

      AD0

      AD2

      AD3

      C/BE0#

      AD10

                                           

      MA11

      RAMWB#

      MA4

      MA5

      MA6

      L

      M

      IDSAA1

      IDSAA0

      SDOEH

      AD1

      AD4

             

      OVDD

       

      GND

      GND

      GND

      GND

      GND

      GND

      GND

       

      OVDD

             

      MA3

      MA7

      MA0A

      MA1A

      MA2

      M

      N

      ICHRDYA

      IDREQA

      IDACKA#

      IDSAA2

      IIRQA

      SDOEL

           

      OVDD

       

      GND

      GND

      GND

      GND

      GND

      GND

      GND

       

      OVDD

           

      MD2

      MA1B

      MD3

      MD1

      MD0

      MA0B

      N

      P

      IDA1

      IDA0

      ICSA0#

      IIORA#

      ICSA1#

      IIOWA#

               

      GND

      GND

      GND

      GND

      GND

      GND

      GND

               

      MD9

      MD6

      MD8

      MD7

      MD5

      MD4

      P

      R

      IDA6

      IDA5

      IDA4

      IDA3

      OVDD

      OVDD

               

      GND

      GND

      GND

      GND

      GND

      GND

      GND

               

      OVDD

      OVDD

      MD14

      MD12

      MD11

      MD10

      R

      T

      IDA12

      IDA10

      IDA9

      IDA8

      IDA7

      IDA2

               

      GND

      GND

      GND

      GND

      GND

      GND

      GND

               

      MD16

      MD13

      MD20

      MD18

      MD17

      MD15

      T

      U

      IDSBA1

      IDSBA0

      IDA14

      IDA13

      IDA15

      IDA11

           

      OVDD

       

      GND

      GND

      GND

      GND

      GND

      GND

      GND

       

      OVDD

           

      PVDD

      MD19

      MD24

      MD23

      MD22

      MD21

      U

      V

      IDRQB

      IDACKB#

      IDSBA2

      IIOWB#

      IIRQB

             

      OVDD

       

      GND

      GND

      GND

      GND

      GND

      GND

      GND

       

      OVDD

             

      MD31

      MD27

      MD28

      MD26

      MD25

      V

      W

      ICSB0#

      IIORB#

      ICHRDYB

      IDB13

      ICSB1#

                                           

      MD38

      MD34

      MD32

      MD30

      MD29

      W

      Y

      IDB12

      IDB14

      IDB15

      IDB3

      IDB9

                 

      OVDD

      OVDD

           

      OVDD

      OVDD

                 

      MD47

      MD42

      MD36

      MD35

      MD33

      Y

      AA

      IDB0

      IDB10

      IDB11

      HA29

      IDB7

                                           

      MD54

      MD50

      MD40

      MD39

      MD37

      AA

      AB

      IDB4

      IDB2

      IDB1

      HA22

      HA26

                                           

      MD62

      MD58

      MD44

      MD43

      MD41

      AB

      AC

      IDB8

      IDB6

      IDB5

      HA14

      HA18

                                           

      TA3

      TA7

      MD48

      MD46

      MD45

      AC

      AD

      HA25

      HA27

      HA28

      HA30

      HA31

                   

      HD31

      HD39

      OVDD

      HD47

      HD56

                   

      MD55

      MD53

      MD52

      MD51

      MD49

      AD

      AE

      HA20

      HA21

      HA23

      HA24

      HD0

      HD6

      HA11

      HA7

      HD3

      HD11

      HD17

      HD24

      HD35

      HD42

      OVDD

      HD52

      HD60

      HBE0#

      CPURST

      DLLVSS0

      AHOLD

      D/C#

      KOE#

      FLUSH#

      BRDY#

      MD60

      MD59

      MD57

      MD56

      AE

      AF

      HA15

      HA16

      HA17

      HA19

      HD1

      HD8

      HA9

      HA3

      HD7

      PVDD

      HD21

      HD28

      HD37

      HD43

      HD48

      HD53

      HD58

      HBE4#

      STPCLK#

      DLLVDD0

      CACHE#

      ADSC#

      TA1

      HLOCK#

      W/R#

      TA6

      TAGW#

      MD63

      MD61

      AF

      AG

      NC

      HA13

      HA10

      HA6

      HD2

      HD9

      HD13

      HD16

      HD20

      HD25

      HD29

      HD33

      HD38

      HD44

      HD49

      HD54

      HD59

      HD63

      HBE2#

      HBE6#

      NMI

      SMIACT#

      CPUCLK

      BOFF#

      M/IO#

      BWE#

      TA0

      TA5

      NC

      AG

      AH

       

      HA12

      HA8

      HA5

      HD4

      HD10

      HD14

      HD18

      HD22

      HD26

      HD30

      HD34

      HD40

      HD45

      HD50

      HD55

      HD61

      FERR#

      HBE3#

      HBE7#

      INTR

      SMI#

      HITM#

      NA#

      ADS#

      GWE#

      TA2

      TA4

       

      AH

      AJ

         

      NC

      HA4

      HD5

      HD12

      HD15

      HD19

      HD23

      HD27

      HD32

      HD36

      HD41

      HD46

      HD51

      HD57

      HD62

      HBE1#

      HBE5#

      INIT

      A20M#

      IGNNE#

      EADS#

      KEN#

      ADSV#

      CCS1#

      NC

         

      AJ

       

      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

       

       

    3. SiS5597 Pin Assignment(Top view)
    4. 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

      A

      NC

      HA4

      HD5

      HD12

      HD15

      HD19

      HD23

      HD27

      HD32

      HD36

      HD41

      HD46

      HD51

      HD57

      HD62

      HBE1#

      HBE5#

      INIT

      A20M#

      IGNNE#

      EADS#

      KEN#

      ADSV#

      CCS1#

      NC

      A

      B

      HA12

      HA8

      HA5

      HD4

      HD10

      HD14

      HD18

      HD22

      HD26

      HD30

      HD34

      HD40

      HD45

      HD50

      HD55

      HD61

      FERR#

      HBE3#

      HBE7#

      INTR

      SMI#

      HITM#

      NA#

      ADS#

      GWE#

      TA2

      TA4

      B

      C

      NC

      HA13

      HA10

      HA6

      HD2

      HD9

      HD13

      HD16

      HD20

      HD25

      HD29

      HD33

      HD38

      HD44

      HD49

      HD54

      HD59

      HD63

      HBE2#

      HBE6#

      NMI

      SMIACT#

      CPUCLK

      BOFF#

      M/IO#

      BWE#

      TA0

      TA5

      NC

      C

      D

      HA15

      HA16

      HA17

      HA19

      HD1

      HD8

      HA9

      HA3

      HD7

      PVDD

      HD21

      HD28

      HD37

      HD43

      HD48

      HD53

      HD58

      HBE4#

      STPCLK#

      DLLVDD0

      CACHE#

      ADSC#

      TA1

      HLOCK#

      W/R#

      TA6

      TAGW#

      MD63

      MD61

      D

      E

      HA20

      HA21

      HA23

      HA24

      HD0

      HD6

      HA11

      HA7

      HD3

      HD11

      HD17

      HD24

      HD35

      HD42

      OVDD

      HD52

      HD60

      HBE0#

      CPURST

      DLLVSS0

      AHOLD

      D/C#

      KOE#

      FLUSH

      BRDY#

      MD60

      MD59

      MD57

      MD56

      E

      F

      HA25

      HA27

      HA28

      HA30

      HA31

      HD31

      HD39

      OVDD

      HD47

      HD56

      MD55

      MD53

      MD52

      MD51

      MD49

      F

      G

      IDB8

      IDB6

      IDB5

      HA14

      HA18

      TA3

      TA7

      MD48

      MD46

      MD45

      G

      H

      IDB4

      IDB2

      IDB1

      HA22

      HA26

      MD62

      MD58

      MD44

      MD43

      MD41

      H

      J

      IDB0

      IDB10

      IDB11

      HA29

      IDB7

      MD54

      MD50

      MD40

      MD39

      MD37

      J

      K

      IDB12

      IDB14

      IDB15

      IDB3

      IDB9

      OVDD

      OVDD

      OVDD

      OVDD

      MD47

      MD42

      MD36

      MD35

      MD33

      K

      L

      ICSB0#

      IIORB#

      ICHRDYB

      IDB13

      ICSB1#

      MD38

      MD34

      MD32

      MD30

      MD29

      L

      M

      IDREQB

      IDACKB#

      IDSBA2

      IIOWB#

      IIRQB

      OVDD

      GND

      GND

      GND

      GND

      GND

      GND

      GND

      OVDD

      MD31

      MD27

      MD28

      MD26

      MD25

      M

      N

      IDSBA1

      IDSBA0

      IDA14

      IDA13

      IDA15

      IDA11

      OVDD

      GND

      GND

      GND

      GND

      GND

      GND

      GND

      OVDD

      PVDD

      MD19

      MD24

      MD23

      MD22

      MD21

      N

      P

      IDA12

      IDA10

      IDA9

      IDA8

      IDA7

      IDA2

      GND

      GND

      GND

      GND

      GND

      GND

      GND

      MD16

      MD13

      MD20

      MD18

      MD17

      MD15

      P

      R

      IDA6

      IDA5

      IDA4

      IDA3

      OVDD

      OVDD

      GND

      GND

      GND

      GND

      GND

      GND

      GND

      OVDD

      OVDD

      MD14

      MD12

      MD11

      MD10

      R

      T

      IDA1

      IDA0

      ICSA0#

      IIORA#

      ICSA1#

      IIOWA#

      GND

      GND

      GND

      GND

      GND

      GND

      GND

      MD9

      MD6

      MD8

      MD7

      MD5

      MD4

      T

      U

      ICHRDYA

      IDREQA

      IDACKA#

      IDSAA2

      IIRQA

      SDOEL

      OVDD

      GND

      GND

      GND

      GND

      GND

      GND

      GND

      OVDD

      MD2

      MA1B

      MD3

      MD1

      MD0

      MA0B

      U

      V

      IDSAA1

      IDSAA0

      SDOEH

      AD1

      AD4

      OVDD

      GND

      GND

      GND

      GND

      GND

      GND

      GND

      OVDD

      MA3

      MA7

      MA0A

      MA1A

      MA2

      V

      W

      AD0

      AD2

      AD3

      C/BE0#

      AD10

      MA11

      RAMWB#

      MA4

      MA5

      MA6

      W

      Y

      AD5

      AD6

      AD7

      AD13

      PVDD

      OVDD

      OVDD

      OVDD

      OVDD

      RAS5#

      RAS1#

      MA8

      MA9

      MA10

      Y

      AA

      AD8

      AD9

      AD11

      SERR#

      TRDY#

      CAS1#

      CAS4#

      MA12

      MA13

      MA14

      AA

      AB

      AD12

      VCC5

      AD14

      AD16

      AD19

      CAS7#

      GPIO8

      RAMWA#

      SCAS0#

      SRAS0#

      AB

      AC

      AD15

      C/BE1#

      PAR

      AD22

      AD26

      ENVIDEO

      RAS4#

      RAS0#

      RAS2#

      RAS3#

      AC

      AD

      PLOCK#

      STOP#

      DEVSEL#

      IRDY#

      FRAME#

      IRQ3

      SMEMW#

      OVDD

      DREQ2

      SA4

      VSYNC

      ENSYNC

      CAS0#

      CAS2#

      CAS3#

      AD

      AE

      C/BE2#

      AD17

      AD18

      AD20

      PGNT0#

      OSCI

      DLLVSS1

      PREQ3#

      INTD#

      GPIO5

      DREQ7

      IRQ11

      SHBE#

      IRQ7

      OVDD

      IORDY

      RFH#

      GPCS0

      UV0-

      VIDEO7

      AVSS1

      AVDD1

      VIDEO4

      RSET

      AVDD3

      CAS5#

      CAS6#

      DDCDAT1

      DDCCLK1

      AE

      AF

      AD21

      AD23

      AD24

      AD25

      PREQ0#

      OCSO

      DLLVDD1

      AD31

      PREQ1#

      RTCVSS

      SWITCH

      DREQ6

      IRQ4

      IOR#

      VCC5

      DREQ0

      SA3

      PVDD

      PMCLK

      SIRQ

      VIDEO3

      VREF

      VIDEO5

      VIDEO0

      DDCDAT0

      GPIO7

      IOCHK#

      SRAS2#

      SCAS2#

      AF

      AG

      NC

      AD27

      AD29

      PGNT3#

      PGNT1#

      INTA#

      PWRGD

      ONCTL#

      MR16#

      DACK0

      MEMR#

      M16#

      TC

      IRQ9

      AEN

      DREQ1

      SA5

      SA0

      ROMKBCS#

      KLOCK#

      UV1+

      TEST#

      VIDEO6

      VIDEO1

      EXTVREF

      AVSS2

      AVSS3

      ENDCLK

      NC

      AG

      AH

      PCICLK

      AD28

      C/BE3#

      PGNT2#

      INTB#

      GPIO10

      RING

      BCLK

      DACK1

      MEMW#

      IO16

      BALE

      IRQ6

      SMEMR#

      DREQ3

      SA6

      SA1

      KBCLK

      PMDAT

      UV0+

      TURBO

      PCLK

      VIDEO2

      COMP

      DDCCLK0

      AVDD2

      HSYNC

      AH

      AJ

      NC

      AD30

      PREQ2#

      INTC#

      RTCVDD

      PSRSTB#

      PWRBT#

      DACK2

      DREQ5

      IRQ10

      OSC

      IRQ5

      IOW#

      ZWS#

      SA7

      SA2

      KBDAT

      SPK

      UCLK48

      UV1-

      BLANK#

      BOUT

      GOUT

      ROUT

      NC

      AJ

      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

    5. SiS Chip Alphabetical Pin List
    6. Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      A20M#

      AJ21

      A21

      AVDD3

      E25

      AE25

      AD0

      L01

      W01

      AVSS1

      E21

      AE21

      AD1

      M04

      V04

      AVSS2

      C26

      AG26

      AD2

      L02

      W02

      AVSS3

      C27

      AG27

      AD3

      L03

      W03

      BALE

      B13

      AH13

      AD4

      M05

      V05

      BCLK

      B09

      AH09

      AD5

      K01

      Y01

      BLANK#

      A23

      AJ23

      AD6

      K02

      Y02

      BOFF#

      AG24

      C24

      AD7

      K03

      Y03

      BOUT

      A24

      AJ24

      AD8

      J01

      AA01

      BRDY#

      AE25

      E25

      AD9

      J02

      AA02

      BWE#

      AG26

      C26

      AD10

      L05

      W05

      C/BE0#

      L04

      W04

      AD11

      J03

      AA03

      C/BE1#

      G02

      AC02

      AD12

      H01

      AB01

      C/BE2#

      E01

      AE01

      AD13

      K04

      Y04

      C/BE3#

      B04

      AH04

      AD14

      H03

      AB03

      CACHE#

      AF21

      D21

      AD15

      G01

      AC01

      CAS0#/DQM0

      F27

      AD27

      AD16

      H04

      AB04

      CAS1#/DQM1

      J25

      AA25

      AD17

      E02

      AE02

      CAS2#/DQM2

      F28

      AD28

      AD18

      E03

      AE03

      CAS3#/DQM3

      F29

      AD29

      AD19

      H05

      AB05

      CAS4#/DQM4

      J26

      AA26

      AD20

      E04

      AE04

      CAS5#/DQM5

      E26

      AE26

      AD21

      D01

      AF01

      CAS6#/DQM6

      E27

      AE27

      AD22

      G04

      AC04

      CAS7#/DQM7

      H25

      AB25

      AD23

      D02

      AF02

      CCS1#

      AJ26

      A26

      AD24

      D03

      AF03

      COMP

      B25

      AH25

      AD25

      D04

      AF04

      CPUCLK

      AG23

      C23

      AD26

      G05

      AC05

      CPURST

      AE19

      E19

      AD27

      C02

      AG02

      D/C#

      AE22

      E22

      AD28

      B03

      AH03

      DACK0#

      C10

      AG10

      AD29

      C03

      AG03

      DACK1#

      B10

      AH10

      AD30

      A04

      AJ04

      DACK2#

      A10

      AJ10

      AD31

      D08

      AF08

      DDCCLK0

      B26

      AH26

      ADS#

      AH25

      B25

      DDCCLK1

      E29

      AE29

      ADSC#

      AF22

      D22

      DDCDAT0

      D25

      AF25

      ADSV#

      AJ25

      A25

      DDCDAT1

      E28

      AE28

      AEN

      C15

      AG15

      DEVSEL#

      F03

      AD03

      AHOLD

      AE21

      E21

      DLLVDD0

      AF20

      D20

      AVDD1

      E22

      AE22

      DLLVDD1

      D07

      AF07

      AVDD2

      B27

      AH27

      DLLVSS0

      AE20

      E20

       

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      DLLVSS1

      E07

      AE07

      GND

      P14

      T14

      DREQ0

      D16

      AF16

      GND

      P15

      T15

      DREQ1

      C16

      AG16

      GND

      P16

      T16

      DREQ2

      F16

      AD16

      GND

      P17

      T17

      DREQ3

      B16

      AH16

      GND

      P18

      T18

      DREQ5

      A11

      AJ11

      GND

      R12

      R12

      DREQ6

      D12

      AF12

      GND

      R13

      R13

      DREQ7

      E11

      AE11

      GND

      R14

      R14

      DVDD

      AD15

      F15

      GND

      R15

      R15

      DVDD

      AE15

      E15

      GND

      R16

      R16

      DVDD

      E15

      AE15

      GND

      R17

      R17

      DVDD

      F15

      AD15

      GND

      R18

      R18

      DVDD

      R05

      R05

      GND

      T12

      P12

      DVDD

      R06

      R06

      GND

      T13

      P13

      DVDD

      R24

      R24

      GND

      T14

      P14

      DVDD

      R25

      R25

      GND

      T15

      P15

      EADS#

      AJ23

      A23

      GND

      T16

      P16

      ENDCLK

      C28

      AG28

      GND

      T17

      P17

      ENSYNC

      F26

      AD26

      GND

      T18

      P18

      ENVIDEO

      G25

      AC25

      GND

      U12

      N12

      EXTVREF

      C25

      AG25

      GND

      U13

      N13

      FERR#

      AH18

      B18

      GND

      U14

      N14

      FLUSH#

      AE24

      E24

      GND

      U15

      N15

      FRAME#

      F05

      AD05

      GND

      U16

      N16

      GND

      M12

      V12

      GND

      U17

      N17

      GND

      M13

      V13

      GND

      U18

      N18

      GND

      M14

      V14

      GND

      V12

      M12

      GND

      M15

      V15

      GND

      V13

      M13

      GND

      M16

      V16

      GND

      V14

      M14

      GND

      M17

      V17

      GND

      V15

      M15

      GND

      M18

      V18

      GND

      V16

      M16

      GND

      N12

      U12

      GND

      V17

      M17

      GND

      N13

      U13

      GND

      V18

      M18

      GND

      N14

      U14

      GOUT

      A25

      AJ25

      GND

      N15

      U15

      GPCS0

      E18

      AE18

      GND

      N16

      U16

      GPIO5

      E10

      AE10

      GND

      N17

      U17

      GPIO7/OCO#/OCI2#

      D26

      AF26

      GND

      N18

      U18

      GPIO8/OCI1#

      H26

      AB26

      GND

      P12

      T12

      GPIO9/THRM#/IOCHK#

      D27

      AF27

      GND

      P13

      T13

      GPIO10/ACPILED

      B07

      AH07

       

       

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      GWE#

      AH26

      B26

      HD02

      AG05

      C05

      HA03

      AF08

      D08

      HD03

      AE09

      E09

      HA04

      AJ04

      A04

      HD04

      AH05

      B05

      HA05

      AH04

      B04

      HD05

      AJ05

      A05

      HA06

      AG04

      C04

      HD06

      AE06

      E06

      HA07

      AE08

      E08

      HD07

      AF09

      D09

      HA08

      AH03

      B03

      HD08

      AF06

      D06

      HA09

      AF07

      D07

      HD09

      AG06

      C06

      HA10

      AG03

      C03

      HD10

      AH06

      B06

      HA11

      AE07

      E07

      HD11

      AE10

      E10

      HA12

      AH02

      B02

      HD12

      AJ06

      A06

      HA13

      AG02

      C02

      HD13

      AG07

      C07

      HA14

      AC04

      G04

      HD14

      AH07

      B07

      HA15

      AF01

      D01

      HD15

      AJ07

      A07

      HA16

      AF02

      D02

      HD16

      AG08

      C08

      HA17

      AF03

      D03

      HD17

      AE11

      E11

      HA18

      AC05

      G05

      HD18

      AH08

      B08

      HA19

      AF04

      D04

      HD19

      AJ08

      A08

      HA20

      AE01

      E01

      HD20

      AG09

      C09

      HA21

      AE02

      E02

      HD21

      AF11

      D11

      HA22

      AB04

      H04

      HD22

      AH09

      B09

      HA23

      AE03

      E03

      HD23

      AJ09

      A09

      HA24

      AE04

      E04

      HD24

      AE12

      E12

      HA25

      AD01

      F01

      HD25

      AG10

      C10

      HA26

      AB05

      H05

      HD26

      AH10

      B10

      HA27

      AD02

      F02

      HD27

      AJ10

      A10

      HA28

      AD03

      F03

      HD28

      AF12

      D12

      HA29

      AA04

      J04

      HD29

      AG11

      C11

      HA30

      AD04

      F04

      HD30

      AH11

      B11

      HA31

      AD05

      F05

      HD31

      AD13

      F13

      HBE0#

      AE18

      E18

      HD32

      AJ11

      A11

      HBE1#

      AJ18

      A18

      HD33

      AG12

      C12

      HBE2#

      AG19

      C19

      HD34

      AH12

      B12

      HBE3#

      AH19

      B19

      HD35

      AE13

      E13

      HBE4#

      AF18

      D18

      HD36

      AJ12

      A12

      HBE5#

      AJ19

      A19

      HD37

      AF13

      D13

      HBE6#

      AG20

      C20

      HD38

      AG13

      C13

      HBE7#

      AH20

      B20

      HD39

      AD14

      F14

      HD0

      AE05

      E05

      HD40

      AH13

      B13

      HD1

      AF05

      D05

      HD41

      AJ13

      A13

       

       

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      HD42

      AE14

      E14

      IDA9/SD9

      T03

      P03

      HD43

      AF14

      D14

      IDA10/SD10

      T02

      P02

      HD44

      AG14

      C14

      IDA11/SD11

      U06

      N06

      HD45

      AH14

      B14

      IDA12/SD12

      T01

      P01

      HD46

      AJ14

      A14

      IDA13/SD13

      U04

      N04

      HD47

      AD16

      F16

      IDA14/SD14

      U03

      N03

      HD48

      AF15

      D15

      IDA15/SD15

      U05

      N05

      HD49

      AG15

      C15

      IDACKA#

      N03

      U03

      HD50

      AH15

      B15

      IDACKB#

      V02

      M02

      HD51

      AJ15

      A15

      IDB0/SA8

      AA01

      J01

      HD52

      AE16

      E16

      IDB1/SA9

      AB03

      H03

      HD53

      AF16

      D16

      IDB2/SA10

      AB02

      H02

      HD54

      AG16

      C16

      IDB3/SA11

      Y04

      K04

      HD55

      AH16

      B16

      IDB4/SA12

      AB01

      H01

      HD56

      AD17

      F17

      IDB5/SA13

      AC03

      G03

      HD57

      AJ16

      A16

      IDB6/SA14

      AC02

      G02

      HD58

      AF17

      D17

      IDB7/SA15

      AA05

      J05

      HD59

      AG17

      C17

      IDB8/SA16

      AC01

      G01

      HD60

      AE17

      E17

      IDB9/LA17

      Y05

      K05

      HD61

      AH17

      B17

      IDB10/LA18

      AA02

      J02

      HD62

      AJ17

      A17

      IDB11/LA19

      AA03

      J03

      HD63

      AG18

      C18

      IDB12/LA20

      Y01

      K01

      HITM#

      AH23

      B23

      IDB13/LA21

      W04

      L04

      HLOCK#

      AF24

      D24

      IDB14/LA22

      Y02

      K02

      HSYNC

      B28

      AH28

      IDB15/LA23

      Y03

      K03

      ICHRDYA

      N01

      U01

      IDREQA

      N02

      U02

      ICHRDYB

      W03

      L03

      IDREQB

      V01

      M01

      ICSA0#

      P03

      T03

      IDSAA0

      M02

      V02

      ICSA1#

      P05

      T05

      IDSAA1

      M01

      V01

      ICSB0#

      W01

      L01

      IDSAA2

      N04

      U04

      ICSB1#

      W05

      L05

      IDSBA0

      U02

      N02

      IDA0/SD0

      P02

      T02

      IDSBA1

      U01

      N01

      IDA1/SD1

      P01

      T01

      IDSBA2

      V03

      M03

      IDA2/SD2

      T06

      P06

      IGNNE#

      AJ22

      A22

      IDA3/SD3

      R04

      R04

      IIORA#

      P04

      T04

      IDA4/SD4

      R03

      R03

      IIORB#

      W02

      L02

      IDA5/SD5

      R02

      R02

      IIOWA#

      P06

      T06

      IDA6/SD6

      R01

      R01

      IIOWB#

      V04

      M04

      IDA7/SD7

      T05

      P05

      IIRQA/IRQ14

      N05

      U05

      IDA8/SD8

      T04

      P04

      IIRQB/IRQ15

      V05

      M05

       

       

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      INIT

      AJ20

      A20

      MA14/GPO6

      J29

      AA29

      INTA#

      C06

      AG06

      MA1A

      M28

      V28

      INTB#

      B06

      AH06

      MA1B/SCAS1#

      N25

      U25

      INTC#

      A06

      AJ06

      MD0

      N28

      U28

      INTD#

      E09

      AE09

      MD1

      N27

      U27

      INTR

      AH21

      B21

      MD02

      N24

      U24

      IO16#

      B12

      AH12

      MD03

      N26

      U26

      IOR#

      D14

      AF14

      MD04

      P29

      T29

      IORDY

      E16

      AE16

      MD05

      P28

      T28

      IOW#

      A15

      AJ15

      MD06

      P25

      T25

      IRDY#

      F04

      AD04

      MD07

      P27

      T27

      IRQ03

      F13

      AD13

      MD08

      P26

      T26

      IRQ04

      D13

      AF13

      MD09

      P24

      T24

      IRQ05

      A14

      AJ14

      MD10

      R29

      R29

      IRQ06

      B14

      AH14

      MD11

      R28

      R28

      IRQ07

      E14

      AE14

      MD12

      R27

      R27

      IRQ09

      C14

      AG14

      MD13

      T25

      P25

      IRQ10

      A12

      AJ12

      MD14

      R26

      R26

      IRQ11

      E12

      AE12

      MD15

      T29

      P29

      KBCLK/GPIO2

      B19

      AH19

      MD16

      T24

      P24

      KBDAT/IRQ1

      A19

      AJ19

      MD17

      T28

      P28

      KEN#/INV

      AJ24

      A24

      MD18

      T27

      P27

      KLOCK#/GPIO0/RAMWC#

      C20

      AG20

      MD19

      U25

      N25

      KOE#

      AE23

      E23

      MD20

      T26

      P26

      M/IO#

      AG25

      C25

      MD21

      U29

      N29

      M16#

      C12

      AG12

      MD22

      U28

      N28

      MA02

      M29

      V29

      MD23

      U27

      N27

      MA03

      M25

      V25

      MD24

      U26

      N26

      MA04

      L27

      W27

      MD25

      V29

      M29

      MA05

      L28

      W28

      MD26

      V28

      M28

      MA06

      L29

      W29

      MD27

      V26

      M26

      MA07

      M26

      V26

      MD28

      V27

      M27

      MA08

      K27

      Y27

      MD29

      W29

      L29

      MA09

      K28

      Y28

      MD30

      W28

      L28

      MA0A

      M27

      V27

      MD31

      V25

      M25

      MA0B/SRAS1#

      N29

      U29

      MD32

      W27

      L27

      MA10

      K29

      Y29

      MD33

      Y29

      K29

      MA11

      L25

      W25

      MD34

      W26

      L26

      MA12/GPO3

      J27

      AA27

      MD35

      Y28

      K28

      MA13/GPO4

      J28

      AA28

      MD36

      Y27

      K27

       

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      MD37

      AA29

      J29

      OSCI/IRQ8#

      E06

      AE06

      MD38

      W25

      L25

      OSCO/RTCCS#

      D06

      AF06

      MD39

      AA28

      J28

      OVDD

      K12

      Y12

      MD40

      AA27

      J27

      OVDD

      K13

      Y13

      MD41

      AB29

      H29

      OVDD

      K17

      Y17

      MD42

      Y26

      K26

      OVDD

      K18

      Y18

      MD43

      AB28

      H28

      OVDD

      M10

      V10

      MD44

      AB27

      H27

      OVDD

      M20

      V20

      MD45

      AC29

      G29

      OVDD

      N10

      U10

      MD46

      AC28

      G28

      OVDD

      N20

      U20

      MD47

      Y25

      K25

      OVDD

      U10

      N10

      MD48

      AC27

      G27

      OVDD

      U20

      N20

      MD49

      AD29

      F29

      OVDD

      V10

      M10

      MD50

      AA26

      J26

      OVDD

      V20

      M20

      MD51

      AD28

      F28

      OVDD

      Y12

      K12

      MD52

      AD27

      F27

      OVDD

      Y13

      K13

      MD53

      AD26

      F26

      OVDD

      Y17

      K17

      MD54

      AA25

      J25

      OVDD

      Y18

      K18

      MD55

      AD25

      F25

      PAR

      G03

      AC03

      MD56

      AE29

      E29

      PCICLK

      B02

      AH02

      MD57

      AE28

      E28

      PCLK

      B23

      AH23

      MD58

      AB26

      H26

      PGNT0#

      E05

      AE05

      MD59

      AE27

      E27

      PGNT1#

      C05

      AG05

      MD60

      AE26

      E26

      PGNT2#

      B05

      AH05

      MD61

      AF29

      D29

      PGNT3#

      C04

      AG04

      MD62

      AB25

      H25

      PLOCK#

      F01

      AD01

      MD63

      AF28

      D28

      PMCLK/GPIO1

      D19

      AF19

      MEMR#

      C11

      AG11

      PMDAT/IRQ12

      B20

      AH20

      MEMW#

      B11

      AH11

      PREQ0#

      D05

      AF05

      MR16#

      C09

      AG09

      PREQ1#

      D09

      AF09

      NA#

      AH24

      B24

      PREQ2#

      A05

      AJ05

      NC

      A03

      AJ03

      PREQ3#

      E08

      AE08

      NC

      A27

      AJ27

      PSRSTB#

      A08

      AJ08

      NC

      AG01

      C01

      PVDD

      AF10

      D10

      NC

      AG29

      C29

      PVDD

      D18

      AF18

      NC

      AJ03

      A03

      PVDD

      K05

      Y05

      NC

      AJ27

      A27

      PVDD

      U24

      N24

      NC

      C01

      AG01

      PWRBT#

      A09

      AJ09

      NC

      C29

      AG29

      PWRGD

      C07

      AG07

      NMI

      AG21

      C21

      RAMWA#

      H27

      AB27

      ONCTL#/RTCALE

      C08

      AG08

      RAMWB#

      L26

      W26

      OSC

      A13

      AJ13

      RAS0#/CS0#

      G27

      AC27

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      Signal Name

      SiS5598

      Ball No.

      SiS5597

      Ball No.

      RAS1#/CS1#

      K26

      STPCLK#

      AF19

      D19

      RAS2#/CS2#

      G28

      Y26

      SWITCH

      D11

      AF11

      RAS3#/CS3#

      G29

      AC28

      TA0

      AG27

      C27

      RAS4#CS4#

      G26

      AC29

      TA1

      AF23

      D23

      RAS5#CS5#

      K25

      AC26

      TA2

      AH27

      B27

      RFH#

      E17

      Y25

      TA3

      AC25

      G25

      RING

      B08

      AE17

      TA4

      AH28

      B28

      ROMKBCS#

      C19

      AH08

      TA5

      AG28

      C28

      ROUT

      A26

      AG19

      TA6

      AF26

      D26

      RSET

      E24

      AJ26

      TA7

      AC26

      G26

      RTCVDD

      A07

      AE24

      TAGW#

      AF27

      D27

      RTCVSS

      D10

      AJ07

      TC

      C13

      AG13

      SA0

      C18

      AF10

      TEST#

      C22

      AG22

      SA1

      B18

      AG18

      TRDY#

      J05

      AA05

      SA2

      A18

      AH18

      TURBO/EXTSMI#

      B22

      AH22

      SA3

      D17

      AJ18

      UCLK48

      A21

      AJ21

      SA4

      F17

      AF17

      UV0+

      B21

      AH21

      SA5

      C17

      AD17

      UV0-

      E19

      AE19

      SA6

      B17

      AG17

      UV1+

      C21

      AG21

      SA7

      A17

      AH17

      UV1-

      A22

      AJ22

      SCAS0#

      H28

      AJ17

      VCC5

      D15

      AF15

      SCAS2#

      D29

      AF29

      VCC5

      H02

      AB02

      SDOEH

      M03

      V03

      VIDEO0

      D24

      AF24

      SDOEL

      N06

      U06

      VIDEO1

      C24

      AG24

      SERR#

      J04

      AA04

      VIDEO2

      B24

      AH24

      SHBE#

      E13

      AE13

      VIDEO3

      D21

      AF21

      SIRQ/GPCS1

      D20

      AF20

      VIDEO4

      E23

      AE23

      SMEMR#

      B15

      AH15

      VIDEO5

      D23

      AF23

      SMEMW#

      F14

      AD14

      VIDEO6

      C23

      AG23

      SMI#

      AH22

      B22

      VIDEO7

      E20

      AE20

      SMIACT#

      AG22

      C22

      VREF

      D22

      AF22

      SPK

      A20

      AJ20

      VSYNC

      F25

      AD25

      SRAS0#

      H29

      AB29

      W/R#

      AF25

      D25

      SRAS2#

      D28

      AF28

      ZWS#

      A16

      AJ16

      STOP#

      F02

      AD02

       

    7. Pin Description
      1. Host Bus Interface
      2. SiS5598

        BALL No.

        SiS5597

        BALL No.

        NAME

        TYPE

        ATTR

        DESCRIPTION

        AE19

        E19

        CPURST

        O

        Reset CPU is an active high output to reset the CPU.

        AJ20

        A20

        INIT

        O

        The Initialization output forces the CPU to begin execution in a known state. The CPU state after INIT is the same as the state after CPURST except that the internal caches, model specific registers, and floating point registers retain the values they had prior to INIT.

        AG23

        C23

        CPUCLK

        I

        Host clock. Primary clock input to drive the part.

        AH25

        B25

        ADS#

        I

        Address Status is driven by the CPU to indicate the start of a CPU bus cycle.

        AG25

        C25

        M/IO#

        I

        Memory I/O definition is an input to indicate an I/O cycle when low, or a memory cycle when high.

        AE22

        E22

        D/C#

        I

        Data/Code is used to indicate whether the current cycle is a data or code access.

        AF25

        D25

        W/R#

        I

        Write/Read from the CPU indicates whether the current cycle is a write or read access.

        AE25

        E25

        BRDY#

        O

        Burst Ready indicates that data presented are valid during a burst cycle.

        AF21

        D21

        CACHE#

        I

        The Cache pin indicates an L1 internally cacheable read cycle or a burst write-back cycle. If this pin is driven inactive during a read cycle, the CPU will not cache the returned data, regardless of the state of the KEN# pin.

        AJ24

        A24

        KEN#/

        INV

        O

        This function as both the KEN# signal during CPU read cycles, and the INV signal during L1 snoop cycles. During CPU cycles, KEN/INV is normally low. KEN#/INV will be driven high during the 1st BRDY# or NA# assertion of a non-L1-cacheable CPU read.

        KEN#/INV is driven high(low) during the EADS# assertion of a PCI master DRAM write(read) snoop cycle.

        AH24

        B24

        NA#

        O

        The SiS Chip always asserts NA# no matter the burst, or pipelined burst SRAMs are used. This signal is connected to CPU and indicate to CPU that it is ready to process a second cycle.

        AG24

        C24

        BOFF#

        O

        The SiS Chip asserts BOFF# to stop the current CPU cycle.

        AE21

        E21

        AHOLD

        O

        The SiS Chip asserts AHOLD when a PCI master is performing a cycle to DRAM. AHOLD is held for the duration of PCI burst transfer. The SiS Chip negates AHOLD when the completion of PCI to DRAM read or write cycles complete and during PCI peer transfers.

        AF24

        D24

        HLOCK#

        I

        When CPU asserts HLOCK# to indicate the current bus cycle is locked.

        AE24

        E24

        FLUSH#

        O

        It is used to slow down the system in deturbo mode.

        AJ23

        A23

        EADS#

        O

        The EADS# is driven to indicate that a valid external address has been driven to the CPU address pins to be used for an inquire cycle.

        AH23

        B23

        HITM#

        I

        Hit Modified indicates the snoop cycle hits a modified line in the L1 cache of the CPU.

        AH18

        B18

        FERR#

        I

        Floating point error from the CPU. It is driven active when a floating point error occurs.

        AJ22

        A22

        IGNNE#

        O

        IGNNE# is normally in high impedance state, and is asserted to inform CPU to ignore a numeric error. A resistor connected to 3.3V is required to maintain a correct voltage level to CPU.

        AH22

        B22

        SMI#

        O

        System Management Interrupt is used to indicate the occurrence of system management events. It is connected directly to the CPU SMI# input.

        AG22

        C22

        SMIACT#

        I

        The SMIACT# pin is used as the SMI acknowledgment input from the CPU to indicate that the SMI# is being acknowledged and the processor is operating in System Management Mode(SMM).

        AJ21

        A21

        A20M#

        O

        A20 Mask is the fast A20GATE output to the CPU. It remains high during power up and CPU reset period. It forces A20 to go low when active.

        AF19

        D19

        STPCLK#

        O

        Stop Clock indicates a stop clock request to the CPU. When the CPU samples STPCLK# signal asserted it response by stopping its internal clock to get into the power saving state.

        AH21

        B21

        INTR

        O

        Interrupt goes high whenever a valid interrupt request is asserted.

        AG21

        C21

        NMI

        O

        Non-maskable interrupt is rising edge trigger signal to the CPU and is generated to invoke a non-maskable interrupt.

        Normally, this signal is low. It goes high state when a non-maskable interrupt source comes up.

        AH20, AG20, AJ19, AF18, AH19, AG19, AJ18, AE18

        B20, C20, A19, D18, B19, C19, A18, E18

        HBE[7:0]#

        I

        CPU Byte Enables indicate which byte lanes on the CPU data bus carry valid data during the current bus cycle. HBE7# indicates that the most significant byte of the data bus is valid while HBE0# indicates that the least significant byte of the data bus is valid.

        AD5, AD4, AA4, AD3, AD2, AB5, AD1, AE4, AE3, AB4, AE2, AE1, AF4, AC5, AF3, AF2, AF1, AC4, AG2, AH2, AE7, AG3, AF7, AH3, AE8, AG4, AH4, AJ4, AF8

        F5, F4,

        J4, F3,

        F2, H5,

        F1, E4,

        E3, H4, E2, E1, D4, G5, D3, D2, D1. G4, C2, B2, E7, C3, D7, B3, E8, C4, B4, A4,

        D8

        HA[31:3]

        I/O

        The CPU Address is driven by the CPU during CPU bus cycles. The SiS Chip forwards it to either the DRAM or the PCI bus depending on the address range. The address bus is driven by the SiS Chip during bus master cycles.

        AG18, AJ17, AH17, AE17, AG17, AF17, AJ16, AD17, AH16,AG16, AF16, AE16, AJ15, AH15, AG15, AF15, AD16, AJ14, AH14,AG14, AF14, AE14, AJ13, AH13, AD14,AG13, AF13,AJ12, AE13, AH12, AG12, AJ11, AD13,AH11, AG11, AF12, AJ10, AH10, AG10, AE12, AJ9, AH9, AF11, AG9, AJ8, AH8, AE11, AG8, AJ7, AH7, AG7, AJ6, AE10, AH6, AG6, AF6, AF9, AE6, AJ5, AH5, AE9, AG5, AF5, AE5

        C18, A17, B17, E17, C17, D17, A16, F17, B16, C16, D16, E16, A15, B15, C15, D15, F16, A14, B14, C14, D14, E14, A13, B13, F14, C13, D13, A12, E13, B12, C12, A11, F13, B11, C11, D12, A10, B10, C10, E12, A9, B9, D11, C9, A8, B8, E11, C8, A7, B7, C7, A6, E10, B6, C6, D6, D9, E6, A5, B5, E9, C5, D5, E5

        HD[63:0]

        I/O

        CPU data bus.

         

      3. L2 Cache Controller
      4. SiS5598

        BALL No.

        SiS5597

        BALL No.

        NAME

        TYPE

        ATTR

        DESCRIPTION

        AE23

        E23

        KOE#

        O

        Cache Output Enable for pipelined burst SRAM to enable data read.

        AJ26

        A26

        CCS1#

        O

        A L2 cache consisting of burst SRAMs will power up, if necessary, and perform an access if this signal is asserted when ADSC# is asserted. A L2 cache consisting of burst SRAMs will power down if this signal is negated when ADSC# is asserted. When CCS1# is negated a L2 cache consisting of burst SRAMs ignores ADS#. If CCS1# is asserts when ADS# is asserted a L2 cache consisting burst SRAMs will power up, if necessary, and perform an access.

        AH26

        B26

        GWE#

        O

        Global-write Enable. GWE# asserted causes a QWORD to be written into the L2 cache. It is used for L2 cache line fills.

        AG26

        C26

        BWE#

        O

        Byte-write Enable. When GWE#=1, the assertion of BWE# causes the byte lanes that are enabled via the CPU‘s HBE[7:0]# signals to be written into the L2 cache, if they are powered up.

        AF22

        D22

        ADSC#

        O

        Cache address strobe is for pipelined burst SRAM to load L2 cache address register from the SRAM address pins..

        AJ25

        A25

        ADSV#

        O

        Cache address advance is for pipelined burst DRAM to advance to the next data into the cache line.

        AF27

        D27

        TAGWE#

        O

        TAG RAM write enable output.

        AC26, AF26, AG28,AH28, AC25,AH27, AF23, AG27

        G26, D26, C28, B28, G25, B27, D23, C27

        TA[7:0]

        I/O

        TAG RAM data bus lines. The voltage level must be the same as DRAM voltage level.

         

      5. DRAM Controller
      6. SiS5598

        BALL No.

        SiS5597

        BALL No.

        NAME

        TYPE

        ATTR

        DESCRIPTION

        AF28, AB25, AF29, AE26, AE27,AB26, AE28,AE29, AD25,AA25,AD26,AD27,AD28,AA26,AD29,AC27,Y25, AC28, AC29,AB27,AB28,Y26, AB29,AA27,AA28, W25, AA29, Y27, Y28, W26, Y29, W27, V25, W28, W29, V27, V26, V28, V29, U26, U27, U28, U29, T26, U25, T27, T28, T24, T29, R26, T25, R27, R28, R29, P24, P26, P27, P25, P28, P29, N26, N24, N27, N28

        D28, H25, D29, E26, E27, H26, E28, E29, F25, J25, F26, F27, F28, J26, F29, G27, K25, G28, G29, H27, H28, K26, H29, J27, J28, L25, J29, K27, K28, L26, K29, L27, M25, L28, L29, M27, M26, M28, M29, N26, N27, N28, N29, P26, N25, P27, P28, P24, P29, R26, P25, R27, R28, R29, T24, T26, T27, T25, T28, T29, U26, U24, U27, U28

        MD[63:0]

        I/O

        Memory data bus.

        M27

        V27

        MA0A

        O

        Memory address 0. Two copies are provided for loading purposes

        N29

        U29

        MA0B/

        SRAS1#

        O

        Memory address 0. Two copies are provided for loading purposes.

        If this function is not needed, then this signal can be used as SDRAM Row address strobe.

        SDRAM Row address strobe. It latch row address on the positive edge of the clock with SRAS[0:1]# low. These signals enable row access and precharge.

        M28

        V28

        MA1A

        O

        Memory address 1. Two copies are provided for loading purposes

        N25

        U25

        MA1B/

        SCAS1#

        O

        Memory address 1. Two copies are provided for loading purposes.

        If this function is not needed, then this signal can be used as SDRAM Column address strobe.

        SDRAM Column address strobe. It latch column address on the positive edge of the clock with SCAS[0:1]# low. These signals enable column access.

        L25, K29, K28, K27, M26, L29, L28, L27, M25, M29

        W25, Y29, Y28, Y27, V26, W29, W28, W27, V25, V29

        MA[11:2]

        O

        Memory address 11-2 are the row and column addresses for DRAM.

        J27

        AA27

        MA12/

        GPO3

        O

        Memory address 12 is the row and column addresses for DRAM.

        If this function is not needed, then this signal can be used as General Purpose Output.

        General Purpose Outputs can be used to control the external device and can be controlled via configuration register.

        J28

        AA28

        MA13/

        GPO4

        O

        Memory address 13 is the row and column addresses for DRAM.

        If this function is not needed, then this signal can be used as General Purpose Output.

        General Purpose Outputs can be used to control the external device and can be controlled via configuration register.

        J29

        AA29

        MA14/

        GPO6

        O

        Memory address 14 is the row and column addresses for DRAM.

        If this function is not needed, then this signal can be used as General Purpose Output.

        General Purpose Outputs can be used to control the external device and can be controlled via configuration register.

        H27, L26

        AB27, W26

        RAMWA#

        RAMWB#

        O

        RAM Write is an active low output signal to enable local DRAM writes. Two copies are provided for loading purposes.

        H25,

        E27,

        E26,

        J26,

        F29,

        F28,

        J25,

        F27

        AB25, AE27, AE26, AA26, AD29, AD28, AA25, AD27

        CAS[7:0]#/

        DQM[7:0]

        O

        (FPM/EDO)DRAM Column address strobe 7-0 for byte 7-0.

        SDRAM output enables during a read cycle and a byte mask during a write cycle.

        K25,

        G26,

        G29,

        G28, K26, G27

        Y25,

        AC26, AC29, AC28, Y26, AC27

        RAS[5:0]#/

        CS[5:0]#

        O

        (FPM/EDO)DRAM Row address strobe 5-0 for DRAM banks 2-0.

        SDRAM chip select. These pins activate the SDRAM and accept any command when it is low.

        H29

        D28

        AB29

        AF28

        SRAS0#

        SRAS2#

        O

        SDRAM Row address strobe. It latch row address on the positive edge of the clock with SRAS[0:2]# low. These signals enable row access and precharge.Third copies are provided for loading purposes.

        H28

        D29

        AB28

        AF29

        SCAS0#

        SCAS2#

        O

        SDRAM Column address strobe. Third copies are provided for loading purposes.

        E29

        AE29

        DDCCLK1

        I/O

        I2C Bus Clock

        E28

        AE28

        DDCDAT1

        I/O

        I2C Bus Data

         

      7. PCI Interface
      8. SiS5598

        BALL No.

        SiS5597

        BALL No.

        NAME

        TYPE

        ATTR

        DESCRIPTION

        B2

        AH2

        PCICLK

        I

        The PCICLK input provides the fundamental timing and the internal operating frequency for the SiS Chip. It runs at the same frequency and skew of the PCI local bus.

        B4, E1,

        G2, L4

        AH4, AE1, AC2, W4

        C/BE[3:0]#

        I/O

        PCI Bus Command and Byte Enables define the PCI command during the address phase of a PCI cycle, and the PCI byte enables during the data phases. C/BE[3:0]# are outputs when the SiS Chip is a PCI bus master and inputs when it is a PCI slave.

        D8, A4,

        C3, B3,

        C2, G5,

        D4, D3,

        D2, G4,

        D1, E4,

        H5, E3,

        E2, H4,

        G1, H3,

        K4, H1,

        J3, L5,

        J2, J1,

        K3, K2, K1, M5, L3,

        L2, M4,

        L1

        AF8, AJ4, AG3, AH3, AG2, AC5, AF4, AF3, AF2, AC4, AF1, AE4, AB5, AE3, AE2, AB4, AC1, AB3, Y4, AB1, AA3, W5, AA2, AA1, Y3, Y2, Y1, V5, W3, W2, V4, W1

        AD[31:0]

        I/O

        PCI Address /Data Bus

        In address phase:

        1. When the SiS Chip is a PCI bus master, AD[31:0] are output signals.

        2. When the SiS Chip is a PCI target, AD[31:0] are input signals.

        In data phase:

        1. When the SiS Chip is a target of a memory read/write cycle, AD[31:0] are floating.

        2. When the SiS Chip is a target of a configuration or an I/O cycle, AD[31:0] are output signals in a read cycle, and input signals in a write cycle.

        G3

        AC3

        PAR

        I/O

        Parity is an even parity generated across AD[31:0] and C/BE[3:0]#.

        F5

        AD5

        FRAME#

        I/O

        FRAME# is an output when the SiS Chip is a PCI bus master. The SiS Chip drives FRAME# to indicate the beginning and duration of an access. When the SiS Chip is a PCI slave, FRAME# is an input signal.

        F4

        AD4

        IRDY#

        I/O

        IRDY# is an output when the SiS Chip is a PCI bus master. The assertion of IRDY# indicates the current PCI bus master's ability to complete the current data phase of the transaction. For a read cycle, IRDY# indicates that the PCI bus master is prepared to accept the read data on the following rising edge of the PCI clock. For a write cycle, IRDY# indicates that the bus master has driven valid data on the PCI bus. When the SiS Chip is a PCI slave, IRDY# is an input.

        J5

        AA5

        TRDY#

        I/O

        TRDY# is an output when the SiS Chip is a PCI slave. The assertion of TRDY# indicates the target agent's ability to complete the current data phase of the transaction. For a read cycle, TRDY# indicates that the target has driven valid data onto the PCI bus. For a write cycle, TRDY# indicates that the target is prepared to accept data from the PCI bus. When the SiS Chip is a PCI master, it is an input.

        F2

        AD2

        STOP#

        I/O

        STOP# indicates that the bus master must start terminating its current PCI bus cycle at the next clock edge and release control of the PCI bus. STOP# is used for disconnect, retry, and target-abort sequences on the PCI bus.

        F3

        AD3

        DEVSEL#

        I/O

        As a PCI target, SiS Chip asserts DEVSEL# by doing positive or subtractive decoding. SiS Chip positively asserts DEVSEL# when the DRAM address is being access by a PCI master, PCI configuration registers or embedded controllers’ registers are being addressed, or the BIOS memory space is being accessed. The low 16K IO space and low 16M memory space are subtractively responded. The DEVESEL# is an input when SiS Chip is acting as a PCI master. It is asserted by the addressed agent to claim the current transaction.

        F1

        AD1

        PLOCK#

        I

        PCI Lock indicates an exclusive bus operation that may require multiple transactions to complete. When PLOCK# is sampled asserted at the beginning of a PCI cycle, the SiS Chip considers itself a locked resource and remains in the locked state until PLOCK# is sampled negated on a new PCI cycle.

        E8, A5,

        D9, D5

        AE8, AJ5, AF9, AF5

        PREQ[3:0]#

        I

        PCI Bus Request is used to indicate to the PCI bus arbiter that an agent requires use of the PCI bus.

        C4, B5,

        C5, E5

        AG4, AH5, AG5, AE5

        PGNT[3:0]#

        O

        PCI Bus Grant indicates to an agent that access to the PCI bus has been granted.

        C6, B6,

        A6, E9

        AG6, AH6, AJ6, AE9

        INT[A:D]#

        I

        PCI Interrupt A to Interrupt D

        J4

        AA4

        SERR#

        I

        SERR# can be pulsed active by any PCI device that detects a system error condition. Upon sampling SERR# active, the SiS Chip generates a non-maskable interrupt to the CPU.

         

      9. PCI IDE/ISA Bus Interface
      10. SiS5598

        BALL No.

        SiS5597

        BALL No.

        NAME

        TYPE

        ATTR

        DESCRIPTION

        U5, U3, U4, T1, U6, T2, T3, T4, T5, R1, R2, R3, R4, T6, P1, P2

        N5, N3, N4, P1, N6, P2, P3, P4, P5, R1, R2, R3, R4, P6, T1, T2

        IDA[15:0]/

        SD[15:0]

        I/O

        When IDE channel_0 is operating, these are IDE channel_0 data bus. Otherwise, these signals are ISA data bus and connect to ISA slots via two 74LS245s.

        Y3, Y2, W4, Y1, AA3, AA2, Y5

        K3, K2, L4, K1, J3,

        J2, K5

        IDB[15:9]/

        LA[23:17]

        I/O

        When IDE channel_1 is operating, these are IDE channel_1 data bus. Otherwise, these signals are ISA address bus and connect to ISA slots via 74LS245.

        AC1, AA5, AC2, AC3, AB1, Y4, AB2, AB3, AA1

        G1, J5,

        G2, G3,

        H1, K4,

        H2, H3,

        J1

        IDB[8:0]/

        SA[16:8]

        I/O

        When IDE channel_1 is operating, these are IDE channel_1 data bus. Otherwise, these signals are ISA address bus and connect to ISA slots via 74LS245.

        P5, P3

        T5, T3

        ICSA[1:0]#

        O

        IDE channel 0 chip select signals.

        W5, W1

        L5, L1

        ICSB[1:0]#

        O

        IDE channel 1 chip select signals.

        P4, W2

        T4, L2

        IIOR[A:B]#

        O

        IDE channel 0/1 I/O read cycle command.

        P6, V4

        T6, M4

        IIOW[A:B]#

        O

        IDE channel 0/1 I/O write cycle command

        N1

        U1

        ICHRDYA

        I

        IDE channel 0 I/O channel ready signal.

        W3

        L3

        ICHRDYB

        I

        IDE channel 1 I/O channel ready signal.

        N2, V1

        U2, M1

        IDREQA

        IDREQB

        I

        IDE channel 0/1 DMA request signals.

        N3, V2

        U3, M2

        IDACKA#

        IDACKB#

        O

        IDE channel 0/1 DMA acknowledge signals.

        N5, V5

        U5, M5

        IIRQ[A:B]/

        IRQ[14:15]

        I

        IDE channel 0/1 interrupt request signals.

        These are the synchronous interrupt request inputs to the 8259 controller.

        N4, M1, M2

        U4, V1, V2

        IDSAA[2:0]

        O

        IDE channel 0 address [2:0].

        V3, U1, U2

        M3, N1, N2

        IDSBA[2:0]

        O

        IDE channel 1 address [2:0].

        M3

        V3

        SDOEH

        O

        This signal connects to the DIR pin of 74LS245 and is used to control the data flow of ISA highbyte data bus. When a "0" is output, the direction of data is going into SiS Chip, when a "1" is output, the direction of data is going out of SiS Chip. When the IDE/ISA bus is used by IDE, this signal is "1".

        N6

        U6

        SDOEL

        O

        This signal connects to the DIR pin of 74LS245 and is used to control the data flow of ISA lowbyte data bus. When a "0" is output, the direction of data is going into SiS Chip, when a "1" is output, the direction of data is going out of SiS Chip. When the IDE/ISA bus is used by IDE, this signal is "1".

        A13

        AJ13

        OSC

        I

        It is the buffered input of the external 14.318MHz oscillator.

        B9

        AH9

        BCLK

        O

        ISA bus clock, for ISA bus controller, ISA bus interfaces and the DMA controller. It can be programmed to derive from the PCICLK or 7.159MHz from the 14MHz clock.

        B12

        AH12

        IO16#

        I

        16-bit I/O chip select indicates that the AT bus cycle is a 16-bit I/O transfer when asserted or an 8-bit I/O transfer when it is negated.

        C12

        AG12

        M16#

        I

        16-bit memory chip select indicates a 16-bit memory transfer when asserted or an 8-bit memory transfer when it is negated.

        C15

        AG15

        AEN

        O

        Address Enable is driven high on the ISA bus to indicate the address lines are valid in DMA or ISA master cycles. It is low otherwise.

        E16

        AE16

        IORDY

        I/O

        I/O channel ready is normally high. It can be pulled low by the slow devices on the AT bus to add wait states for the ISA memory or I/O cycles. When a DMA or an ISA master accesses a target, IORDY is an output to control the wait states.

        D27

        AF27

        IOCHK#/

        GPIO9/

        THRM#

        I/O

        I/O Channel Check, or

        General Purpose Input/Output, or

        Thermal Detect.

        Please refer to "Multiplexed pins" section to define the pin function.

        B13

        AH13

        BALE

        O

        Bus address latch enable is used on the ISA bus to latch valid address from the CPU. Its falling edge starts the ISA command cycles.

        C9

        AG9

        MR16#

        I

        Master is an active low signal from AT bus. When active, it indicates that the ISA bus master has the control of the system. The address and control signals are all driven by the ISA bus master.

        C11

        AG11

        MEMR#

        I/O

        AT bus memory read command signal is an output pin during AT/DMA/refresh cycles and is an input pin in ISA master cycles.

        B11

        AH11

        MEMW#

        I/O

        AT bus memory write command signal is an output pin during AT/DMA cycles and is an input pin in ISA master cycles.

        D14

        AF14

        IOR#

        I/O

        AT bus I/O read command signal is an output pin during AT or DMA cycles and is an input pin in ISA master cycles. When low, it strobes an I/O device to place data on the data bus.

        A15

        AJ15

        IOW#

        I/O

        AT bus I/O write command signal is an output pin during AT or DMA cycles and is an input pin in ISA master cycles. When low, it strobes data on the data bus into a selected I/O device.

        B15

        AH15

        SMEMR#

        O

        AT bus memory read. It instructs the memory devices to drive data onto the data bus. It is active only when the memory being accessed is within the lowest 1MB.

        F14

        AD14

        SMEMW#

        O

        AT bus memory write. It instructs the memory devices to store the data presented on the data bus. It is active only when the memory being accessed is within the lowest 1MB.

        A16

        AJ16

        ZWS#

        I

        Zero wait state is an active low signal. The system ignores the IORDY signal and terminates the AT bus cycle without additional wait state when it is asserted.

        E17

        AE17

        RFH#

        I/O

        Refresh signal is used to initiate a refresh cycle. This signal is an input in ISA bus master cycles and is an output in other cycles.

        E13

        AE13

        SBHE#

        I/O

        Byte high enable signal indicates that the high byte has valid data on the ISA 16-bit data bus. This signal is an output except during ISA master cycles.

        C13

        AG13

        TC

        O

        Terminal Count of DMA. A pulse is generated by the DMA controller when the terminal count (TC) of any channel reaches 1.When a TC pulse occurs, the DMA controller will terminate the service, and if auto-initialize is enabled, the base registers will be written to the current registers of that channel. The mask bit and the TC bit in the Status word will be set for the currently active channel unless the channel is programmed for auto-initialize. In that case, the mask bit remains clear.

        A17,

        B17,

        C17,

        F17,

        D17,

        A18,

        B18,

        C18

        AJ17, AH17, AG17, AD17, AF17, AJ18, AH18, AG18

        SA[7:0]

        I/O

        System address 7~0. They are inputs when an external bus master is in control and are outputs at all other times.

        F13,

        D13,

        A14,

        B14,

        E14,

        C14,

        A12, E12

        AD13, AF13, AJ14, AH14, AE14, AG14, AJ12, AE12

        IRQ[3:7],

        IRQ[9:11]

        I

        These are the synchronous interrupt request inputs to the SiS Chip internal 8259 controller.

        D16,

        C16,

        F16,

        B16,

        A11,

        D12,

        E11

        AF16, AG16, AD16, AH16, AJ11, AF12, AE11

        DREQ[0:3],

        DREQ[5:7]

        I

        DMA Request inputs are used by external devices to indicate when they need service from the internal DMA controllers.

        C10,

        B10,

        A10

        AG10. AH10, AJ10

        DACK[0:2]#

        O

        DMA acknowledge output are used by external devices to indicate when they need service from the internal DMA controllers.

        C19

        AG19

        ROMKBCS#

        O

        Keyboard or System ROM Chip Select.

        When asserted, it means the keyboard or ROM is to be accessed.

        A20

        AJ20

        SPK

        O

        Speaker is the output for the speaker.

         

      11. RTC/KBC
      12. SiS5598

        BALL No.

        SiS5597

        BALL No.

        NAME

        TYPE

        ATTR

        DESCRIPTION

        C20

        AG20

        KLOCK#/

        GPIO0/

        RAMWC#

        I/O

        This pin can used as the keyboard lock signal if internal KBC is enabled and Reg 70h bit 4 is set to "1" in PCI to ISA bridge configuration space. If this function is not needed, then it can be used as General Purpose Input/Output signal and can be control via configuration register.This pin can also use as the RAMWC# for the third DIMM RAM write enable.

        B19

        AH19

        KBCLK/

        GPIO2

        I/O

        When the internal KBC is enabled, this pin is used as the keyboard clock.

        If this function is not needed, then it can be used as General Purpose Input/Output signal and can be control via configuration register.

        A19

        AJ19

        KBDAT/

        IRQ1

        I/O

        When the internal KBC is enabled, this pin is used as the keyboard data. Otherwise, it is the IRQ1 signal use for external KBC.

        D19

        AF19

        PMCLK/

        GPIO1

        I/O

        When internal KBC is enabled, it can be served as PS2 mouse clock.

        B20

        AH20

        PMDAT/

        IRQ12

        I/O

        When in input mode, it functions as PMDAT if PS/2 mouse is enabled. If this function is not needed, then it can be used as ISA interrupt request 12.

        C8

        AG8

        ONCTL#/

        RTCALE

        O

        Power ON/OFF control. This open-drain output, powered by the RTCVDD, signals the main power supply that power should be turned on/off.

        When using external RTC: The signal is used to latch the address from the SD bus when CPU accesses RTC.

        A8

        AJ8

        PSRSTB#

        I

        When using internal RTC: This signal is used as PSRSTB# (power strobe). PSRSTB# establishes the condition of the control register in RTC when power is first applied to the device.

        D10

        AF10

        RTCVSS

        PWR

        RTC Ground.

        A7

        AJ7

        RTCVDD

        I

        Power for internal RTC and APC.

        E6

        AE6

        OSCI/

        IRQ8#

        I

        When using internal RTC: This pin is used as the time base of the integrated RTC. This signal should be connected to 32.768 KHz crystal or oscillator input.

        When using external RTC: This pin is used as IRQ8#, which is the asynchronous interrupt request input to SiS Chip internal 8259 controller.

        D6

        AF6

        OSCO/

        RTCCS#

        O

        When using internal RTC: this pin should be connected the other end of the 32.768 KHz crystal or left unconnected if an oscillator is used.

        When using external RTC: This pin is used as chip select of RTC. It combine with IOR# and IOW# to generate RTCRD# and RTCWR#, that are used to store the data presented on the SD bus when CPU accesses the RTC.

        C7

        AG7

        PWRGD

        I

        Power Good signal.

      13. PMU/ACPI Controller
      14. SiS5598

        BALL No.

        SiS5597

        BALL No.

        NAME

        TYPE

        ATTR

        DESCRIPTION

        E18

        AE18

        GPCS0

        I/O

        General Programmable Chip Select 0 can be controlled via registers.

        This signal also can be programmed as GPO Write Enable 0 to latch enable signal to an external 74F374 for general purpose outputs from SD[7:0] bus.

        E10

        AE10

        STARTREQ#/GPIO5

        I/O

        General Purpose Input/Output. If used as STARTREQ#, a high to low transition indicates a power up event which activates ONCTL#.

        D26

        AF26

        GPIO7/

        OCO#/

        OCI2#

        I/O

        General Purpose Input/Output. If this function is not needed, then it can be used as

        Global Power Enable Switch of USB port or Over Current Detect of USB port. Global Power Enable Switch is used to control the external Power-Distribution Switchs logic to power off the USB power supply lines.

        H26

        AB26

        GPIO8/

        OCI1#

        I/O

        General Purpose Input/Output. If this function is not needed, then it can be used as

        Over Current Detect of USB port and it must be programmed as input mode. Over Current Detect is used to detect the status of the USB power supply lines.

        B7

        AH7

        GPIO10/

        ACPILED

        I/O

        General Purpose Input/Output. If this function is not needed, then it can be used as ACPILED signal to control LED on/off in ACPI power saving state.

        B22

        AH22

        TURBO/

        EXTSMI#

        I

        When this signal be programmed as TURBO. This pin is used to slow down the system by connecting it to ground.

        When this signal be programmed as EXTSMI#. A signal from the break switch will cause the system enters the standby state. The pulse width of the EXTSMI# must greater than 4 CPUCLK.

        D20

        AF20

        GPCS1/

        SIRQ

        I/O

        General Programmable Chip Select 1 can be controlled via registers.

        This signal also can be programmed as GPO Write Enable 1 to latch enable signal to an external 74F374 for general purpose outputs from SD[7:0] bus.

        It is available as Serial Interrupt ReQuest function, it is a wired-OR signal and support ISA standard IRQs within PCI-based system.

        B8

        AH8

        RING

        I

        When enable, detection of RING pulse or pulse train activates the ONCTL# pin. The pulse must be 4ms at least, and only one pulse in a sec.

        Engineering note: Input is blocked to reduce leakage current when either the APC‘s ring event is disabled or the APC is powered by RTCVDD.

        A9

        AJ9

        PWRBT#

        I

        Power Button. This function provide the user interface control used to cycle the system between the sleeping and working states through Power Button switch. It also support the power-button-over function for system power off if it is pressed over 4 sec.

        D11

        AF11

        SWITCH

        I

        Power On/Off switch. Indicated a Switch On/Off request. When PWRGD is low, an active low on the SWITCH indicates a SWITCH-on request event. When PWRGD is high, the logic indicates a SWITCH-off request event.

        The pin has a schmitt-trigger input buffer and a debounce protection of at least 30ms.

         

         

         

      15. USB Controller
      16. SiS5598

        BALL No.

        SiS5597

        BALL No.

        NAME

        TYPE

        ATTR

        DESCRIPTION

        B21,

        E19

        AH21,

        AE19

        UV0+,

        UV0-

        I/O

        When USB function port 0. These two pins are used as the differential USB data bus pair of port 0.

        C21,

        A22

        AG21,

        AJ22

        UV1+,

        UV1-

        I/O

        When USB function port 1. These two pins are used as the differential USB data bus pair of port 1.

        A21

        AJ21

        UCLK48

        I

        48 Mhz USB clock .

         

      17. Graphic Controller
      18. SiS5598

        BALL No.

        SiS5597

        BALL No.

        NAME

        TYPE

        ATTR

        DESCRIPTION

        B28

        AH28

        HSYNC

        O

        Horizontal Sync

        F25

        AD25

        VSYNC

        O

        Vertical Sync

        A23

        AJ23

        BLANK#

        I/O

        Blank Video signal

        B23

        AH23

        PCLK

        I/O

        Pixel Clock

        E20,

        C23,

        D23,

        E23,

        D21,

        B24,

        C24,

        D24

        AE20, AG23, AF23, AE23, AF21, AH24, AG24, AF24

        VIDEO[7:0]

        I/O

        Video Data Bus

        D25

        AF25

        DDCDAT0

        I/O

        Display Data Channel Data Line

        B26

        AH26

        DDCCLK0

        I/O

        Display Data Channel Clock Line

        F26

        AD26

        ENSYNC

        I

        Enable Sync Output

        G25

        AC25

        ENVIDEO

        I

        Enable Video Data Output

        C28

        AG28

        ENDCLK

        I

        Enable Video Clock Output

        A26

        AJ26

        ROUT

        A. O

        Red Video Signal Output

        A25

        AJ25

        GOUT

        A. O

        Green Video Signal Output

        A24

        AJ24

        BOUT

        A. O

        Blue Video Signal Output

        B25

        AH25

        COMP

        A. I

        Compensation PinBypass this pin with an external 0.1 uF capacitor to AVDD.

        E24

        AE24

        RSET

        A. I

        Reference Resistor. An external resistor is connected between the RSET pin and AGND to control the magnitude of the full-scale current.

        C25

        AG25

        EXTVREF

        A.I

        External Voltage Reference. An external voltage is used, it must supply this input with a 1.235V reference.

        D22

        AF22

        VREF

        A. I

        Internal Voltage Reference

        NOTE: A. I: Analog Input; A. O: Analog Output

         

      19. Power Pins
      20. SiS5598 BALL No.

        SiS5597 BALL No.

        NAME

        TYPE ATTR

        DESCRIPTION

        AF20, D7

        D20, AF7

        DLLVDD0, DLLVDD1

        PWR

        +3.3V DC power for DLL circuit.

        AE20, E7

        E20, AE7

        DLLVSS0, DLLVSS1

        PWR

        Ground for DLL circuit.

        E22,

        B27,

        E25

        AE22, AH27, AE25

        AVDD1, AVDD2, AVDD3

        PWR

        +3.3V DC power for VGA Controller.

        E21,

        C26,

        C27

        AE21, AG26, AG27

        AVSS1, AVSS2, AVSS3

        PWR

        Ground for VGA Controller.

        D15, H2

        AF15, AB2

        VCC5

        PWR

        +5V DC power for 5V safe input buffers in a system requiring 5V I/O tolerance.

        E15, F15,

        R5, R6, R24, R25,

        AD15,AE15

        E15, F15,

        R5, R6, R24, R25,

        AD15,AE15

        DVDD

        PWR

        +3.3V I/O PAD DC power.

        K12, K13, K17, K18, M10, M20, N10, N20, U10, U20, V10, V20, Y12, Y13, Y17, Y18,

        K12, K13, K17, K18, M10, M20, N10, N20, U10, U20, V10, V20, Y12, Y13, Y17, Y18,

        OVDD

        PWR

        +3.3V DC power for main voltage supply of SiS Chip.

        D18, K5, U24, AF10

        AF18, Y5, N24, D10

        PVDD

        PWR

        +3.3V DC power

        M[12:18], N[12:18], P[12:18], R[12:18], T[12:18], U[12:18], V[12:18]

        M[12:18], N[12:18], P[12:18], R[12:18], T[12:18], U[12:18], V[12:18]

        GND

        PWR

        Ground.

      21. Misc. Pins

    SiS5598

    BALL No.

    SiS5597

    BALL No.

    NAME

    TYPE

    ATTR

    DESCRIPTION

    A3, A27,

    C1, C29, AG1, AG29, AJ3, AJ27

    AJ3, AJ27, AG1, AG29, C1, C29,

    A3, A27

    NC

    NC

    Not Connect

    C22

    AG22

    TEST#

    I

    Test mode Select for NAND Tree chain.

     

  3. Hardware Trap
  4. Several pins in the SiS Chip are used for trapping purpose to identify the hardware configurations at the power-up stage. These pins should be defined as "1" if pull-up resistors are used; and these pins should be "0" if pull-down resistors are used. The following table is a summary of all the Hardware Trap pins in SiS Chip.

    SiS5598

    Ball No

    SiS5597

    Ball No

    Symbol

    Description

    AD26

    F26

    MD53

    Internal DLL circuit for CPU clock to optimize timing Control

    Pull-up : Disable

    Pull-down : Enable

    AA25

    J25

    MD54

    Internal DLL circuit for PCI clock to optimize timing Control

    Pull-up : Disable

    Pull-down : Enable

    Y29

    K29

    MD33

    Integrated VGA Controller Control

    Pull-up : Disable

    Pull-down : Enable

    W26

    L26

    MD34

    IDSEL for Integrated VGA Controller Control

    Pull-up : AD30

    Pull-down : AD31

    V26

    M26

    MD27

    VGA PCI Interrupt (INTA#) Control

    Pull-up : Enable

    Pull-down : Disable

    U28

    N28

    MD22

    VGA internal clock generator (MCLK) Control

    Pull-up : Enable

    Pull-down : Disable

    C22

    AG22

    TEST#

    Ball connectivity test mode

    Pull-up : Disable

    Pull-down : Enable

    A08

    AJ08

    PSRSTB#

    Connect to battery‘s power strobe: Select internal RTC.

    Pull-down: Select external RTC.

     

  5. Register Description
    1. Host to PCI bridge configuration space
    2. Device

      IDSEL

      Function Number

      Host to PCI bridge

      AD11

      0000b

       

      Register 00h~01h Vendor ID

      Bits 15:0 1039h

       

      Register 02h~03h Device ID

      Bits 15:0 5597h

       

      Register 04h~05h Command

      Bits 15:10 Reserved

      Bit 9 Fast Back-to-Back Enable

      Bit 8 Reserved

      Bits 7:2 Reserved and read as 01h.

      Bit 1 Control a device’s response to memory space accesses

      0: Disable the device response

      1: Allow the device response, state after PCIRST# (via CPURST) is 0

      Bit 0 Reserved and should be set to 1

       

      Register 06h~07h Status

      Bit 15 Detected Parity Error

      This bit is always 0, SiS Chip does not support parity checking on the PCI bus.

      Bit 14 Reserved

      Bit 13 Received Master Abort.

      This bit is set by SiS Chip whenever it terminates a transaction with master abort. This bit is cleared by writing a 1 to it.

      Bit 12 Received Target Abort.

      This bit is set by SiS Chip whenever it terminates a transaction with target abort. This bit is cleared by writing a 1 to it.

      Bit 11 Signaled Target Abort.

      This bit is always 0 since SiS Chip will not terminate a transaction with target abort.

      Bits 10:9 DEVSEL# Timing DEVT.

      The two bits define the timing to assert DEVSEL#. The default value is DEVT=01. In fact, the SiS Chip always asserts DEVSEL# in medium timing.

      Bit 8 Reserved

      Bits 7:0 Reserved and read as "00h"

       

      Register 08h Revision Identification.

      Bits 7:0 02h

       

      Register 09h Class ID

      Bits 7:0 00h

       

      Register 0Ah Sub-Class Code

      Bits 7:0 00h

       

      Register 0Bh Base Class Code

      Bits 7:0 06h

       

      Register 0Ch Cache Line Size

      Bits 7:0 00h

       

      Register 0Dh Master latency timer

      Bits 7:0 Master latency timer

      The default value is FFh, it means 255 PCI clocks.

      Unit: PCI Clocks

       

      Register 0Eh Header Type

      Bits 7:0 00h (read only)

       

      Register 0Fh BIST

      Bits 7:0 00h (read only)

       

      Register 50h Host Interface and DRAM arbiter (default = 00h)

      Bit 7 NA# assert Control

      0: Disable

      1: Enable

      Bit 6 NA# asserted on All Single Write Cycle (for internal dirty SRAM)

      0: Enable (when using internal dirty SRAM)

      1: Disable (When using AMD K6 write allocation function)

      Bit 5 NA# Delay 1T on Burst read Hit L2 Cache Cycle

      0: Disable

      1: Enable (when using two banks P.B.SRAM)

      Bit 4 NA# Assert before the 1st BRDY# on Burst Read Miss Cycle (only available in cacheless system to improve the performance)

      0: Disable

      1: Enable

      Bit 3 Write Merge Control

      0: Disable

      1: Enable

      Bit 2 Read Write Reorder Control

      0: Disable

      1: Enable

      Bit 1 Reserved, must be 0.

      Bit 0 Reserved, must be 0.

       

      Register 51h L2 Cache Controller (default = 00h)

      Bit 7 L2 Cache exists Selection

      0: No L2 Cache

      1: L2 Cache Exists

      When no L2 exists, this bit should be programmed to 0.

      Bit 6 L2 Cache Enable

      0: Disable

      1: Enable

      Bits 5:4 L2 Cache Size

      00: Reserved

      01: 256K

      10: 512K

      11: Reserved

      Bit 3 L2 Cache WT/WB Policy

      0: Write Through Mode (only for cache sizing)

      1: Write Back Mode

      Bit 2 L2 Cache Burst Addressing mode

      0: Toggle Mode

      1: Linear Mode ( For Cyrix CPU )

      Bit 1 L2 Cache Tag Size Selection

      0: 7 bits : TA7 is dirty bit and disable internal dirty SRAM

      1: 8 bits : using internal dirty SRAM

      Bit 0 L2 Cache Sizing Enable

      0: Normal Operation

      1: Always Cache Hit

      Register 52h Control Register (default = 00h)

      Bit 7 CPU L1 Cache Write Back Mode Enable

      0: Disable

      1: Enable

      Bit 6 Single read Allocation (L2 update) Control

      0: Disable

      1: Enable

      Bit 5 Read FIFO Control

      0: Disable

      1: Enable

      Bit 4 Reserved

      Bit 3 Reserved

      This bit should be programmed to 0.

      Bit 2 Reserved

      This bit is programmed to 0.

      Bit 1 DRAM Refresh Mode (internal use only)

      0: Normal Mode

      1: Test Mode

      Bit 0 Internal SRAM test mode (internal use only)

      0: Normal Mode

      1: Test Mode

       

      Register 53h DRAM Control Register (default = 38h)

      Bits 7:6 Starting point of Paging function select

      00: 1T (Recommended)

      01: 2T

      10: 4T

      11: 8T

      Note: This setting is used to control the start timing of the page operations which defined in bit[5:3].

      Bit 5 Always Page Miss After Write DRAM Cycles

      0: Disable

      1: Enable

      Bit 4 Always Page Miss After Data Read DRAM Cycles

      0: Disable

      1: Enable

      Bit 3 Always Page Miss After Code Read DRAM Cycles

      0: Disable

      1: Enable

      Bits 2:1 Refresh cycle time

      00: 15.6 us

      01: 62.4 us

      10: 124.8 us

      11: 187.2 us

      Bit 0 Reserved

       

      Register 54h DRAM Control Register 0(default = 54h)

      Bits 7:6 RAS pulse width when refresh Cycle

      00: 5T for EDO/FP DRAM and 4T for SDRAM

      01: 6T for EDO/FP DRAM and 5T for SDRAM

      10: 7T for EDO/FP DRAM and 6T for SDRAM

      11: 8T for EDO/FP DRAM and 7T for SDRAM

      Bits 5:4 RAS precharge time

      00: 2T

      01: 3T

      10: 4T

      11: 5T

      Bits 3:2 RAS to CAS delay

      00: 2T

      01: 3T

      10: 4T

      11: 5T

      Bit 1 CAS pulse width only for FPM DRAM

      0: 2T

      1: 1T

      Bit 0 CAS pulse width only for EDO DRAM

      0: 2T

      1: 1T

       

      Register 55h FPM/EDO DRAM Control Register 1(default = 00h)

      Bit 7 RAMWA/B/C# assertion timing when read cycle followed by write cycle

      0: 3T

      1: 2T

      Bit 6 EDO test mode

      0: Normal mode

      1: Test mode (for DRAM sizing)

      Bit 5 SDRAM Read Cycle Delay 1T when Pipelined after Write Cycle

      0: Disable(Normal)

      1: Enabled(Recommended in 75 MHz or higher frequency)

      Bits 4:3 CAS Precharge Time for FPM DRAM

      00: 1T

      01: 1T during burst cycles, 2T for different cycles (1 wait state between cycles)

      10: 2T

      11: Reserved

      Bits 2:1 CAS Precharge Time for EDO DRAM

      00: 1T

      01: 1T during burst cycles, 2T for different cycles (1 wait state between cycles)

      10: 2T

      11: Reserved

      Bit 0 Reserved

       

      Register 56h Memory Data Latch Enable (MDLE) Delay Control Register

      Bit 7 SRAS#/SCAS#/RAMW# Pre-state Enable Bit (SDRAM)

      0: Disable

      1: Enable (Recommended)

      Bit 6 Delay EDO/FPM DRAM Read Lead-off Cycle 1T

      0: Disable (Lead-off time = 5T)

      1: Enable (Lead-off time = 6T)

      Bits 5:4 SDRAM Read Cycle Lead-off Time

      00: Normal (Lead-off time is 6T when CAS Latency is 2T or Lead-off time is 7T when CAS Latency is 3T)

      01: Faster (Lead-off time is 5T when CAS Latency is 2T or Lead-off time is 6T when CAS Latency is 3T)

      10: Slower (Lead-off time is 7T when CAS Latency is 2T or Lead-off time is 8T when CAS Latency is 3T)

      Bit 3 SDRAM Sizing Enable bit Control

      0: Disable

      1: Enable

      This bit must set to ‘1’ before initializing the SDRAM sizing. Once the SDRAM sizing completed, this bit must set to ‘0’.

      Bits 2:0 MDLE Delay

      000 : No delay 001 : delay 1 ns

      010 : delay 2 ns 011 : delay 3 ns

      100 : delay 4 ns 101 : delay 5 ns

      110 : delay 6 ns 111 : delay 7 ns

       

      Register 57h SDRAM Control Register

      Bit 7 Precharge Command

      0: Disable

      1: Enable

      (After the cycle completes, this bit will be cleared automatically.)

      Bit 6 Mode Register Set Command

      0: Disable Command Cycle

      1: Enable Command Cycle

      Bit 5 For SDRAM sizing Refresh Command

      0: Disable

      1: Enable

      (After the cycle completes, this bit will be cleared automatically.)

      Bit 4 CAS Latency

      0: 2T

      1: 3T

      Bit 3 SDRAM write retire rate

      0: X-2-2-2

      1: X-1-1-1

      Bit 2 SDRAM wait state control during Precharge Command

      0: One wait state (Recommended)

      1: Zero wait state

      Bit 1 Pin Definition Select for MA0B/SRAS1#, MA1B/SCAS1#

      0: MA0B, MA1B

      1: SRAS1#, SCAS1#

      Bit 0 Pin Definition Select for KLOCK#/GPIO0/RAMWC#

      0: RAMWC#

      1: KBLOCK#/GPIO0

       

      Register 58h

      Bit 7 SDRAM ROWHIT RAS# Precharge Time Control

      0: Always ROWHIT(Recommended)

      1: ROWHIT from Address Comparing Circuit

      Bits 6:5 When for DLL to Lock the Reference Clock Source

      00: 4T(T is the reference clock source for DLL)

      01: 8T

      10: 16T

      11: 32T

      Adjust the locking frequency by every x clocks.

      Bit 4 DLL Function Test Mode

      0: Normal Mode

      1: Test Mode

      Bit 3 RAS#/CS# Assertion Timing When Refresh Cycles

      0: Normal

      1: 1T Command Pulse

      This bit must set to 1 if use SDRAM.

      Bit 2 SDRAM Back-to-Back Read Timing

      0: 5-1-1-1-2-1-1-1

      1: 5-1-1-1-1-1-1-1

      Only for cacheless systems, and Fast Read enabled (Host to PCI:56h[5:4]=01), and NA# 1T ahead BRDY# enabled (Host to PCI:50h[4]=1)

      Bits 1:0 Reserved

       

      Register 59h DRAM signals driving current Control (default = 00h)

      Bit 7 Selection of RAS[5:0]# Current Rating

      0: 4mA

      1: 8mA

      Bit 6 Selection of CAS[7:0]# Current Rating

      0: 12mA

      1: 16mA

      Bit 5 Selection of MA[14:2] Current Rating

      0: 6mA

      1: 16mA

      Bit 4 Selection of MA[1:0]A Current Rating

      0: 6mA

      1: 16mA

      Bit 3 Selection of MA[1:0]B Current Rating

      0: 6mA

      1: 16mA

      Bit 2 Selection of RAMWA#/RAMWC# Current Rating

      0: 12mA

      1: 16mA

      Bit 1 Selection of RAMWB# Current Rating

      0: 12mA

      1: 16mA

      Bit 0 Selection of SRAS#/SCAS# Current Rating

      0: 12mA

      1: 16mA

      Register 5Ah PCI signals driving current Control

      Bits 7:2 Reserved

      Bit 1 Selection of AD[31:0] Current Rating

      0: 4mA

      1: 8mA

      Bit 0 Selection of FRAME#, IRDY#, TRDY#, DEVSEL#, STOP#, PAR, C/BE[3:0]# and PGNT[3:0]# Current Rating

      0: 4mA

      1: 8mA

      Register 5Bh~5Fh Reserved

       

      Register 60h/61h/62h DRAM Bank 0/1/2 Register

      Bits 7:6 DRAM Mode Selection

      00: FPM DRAM

      01: EDO DRAM

      10: Reserved

      11: SDRAM

      Bit 5 Double/Single Sided DRAM

      0: Single Sided

      1: Double Sided

      Bit 4 Half/Full DRAM Populated

      0: 64 bits DRAM is Populated

      1: 32 bits DRAM is Populated

      Bits 3:0 DRAM Type Selection

      For EDO/FPM DRAM :

      0000 : 256K Symmetric 9x9 0001 : 1M Symmetric 10x10

      0010 : 4M Symmetric11x11 0011 : 16M Symmetric12x12

      0100 : 1M Asymmetric 12x8 0101 : 2M Asymmetric 12x9

      0110 : 4M Asymmetric 12x10 0111 : 8M Asymmetric 12x11

      1000 : 512K Asymmetric 10x9 1001 : 1M Asymmetric 11x9

      1010: 2M Asymmetric 11x10 Others : Reserved

      For SDRAM :

      0000 : 1M 12x8 (2 banks) 0001 : 4M 14x8 (2 banks)

      0010 : 4M 14x8 (4 banks) 0011 : 8M 15x8 (4 banks)

      0100 : 2M 12x9 (2 banks) 0101 : 8M 14x9 (2 banks)

      0110 : 8M 14x9 (4 banks) 0111 : 16M 15x9 (4 banks)

      1000 : 4M 12x10 (2 banks) 1001 : 16M 14x10 (2 banks)

      1010: 16M 14x10 (4 banks) 1011 : 32M 15x10 (4 banks)

      1100: 2M 13x8 (4 banks) Others: Reserved

       

      Register 63h DRAM Status (Default=FFh)

      Bits 7:3 Reserved

      Bit 2 DRAM Status for Bank2

      0: Absent

      1: Installed

      Bit 1 DRAM Status for Bank1

      0: Absent

      1: Installed

      Bit 0 DRAM Status for Bank0

      0: Absent

      1: Installed

       

      Register 64h~6Bh Reserved

       

      Register 6Ch Integrated VGA Controller Control

      When CPU accesses off-board DRAM, it will be forwarded to PCI side then write to or read from shared memory area data through VGA chip. If we define a shared memory hole area (any logical area) we can access the shared memory area by remapping the logical area to physical area of the shared memory through system chip. System can save some time wasted on PCI bus.

      Bit 7 Enable/Disable Integrated VGA Controller

      0: Disable

      1: Enable

      Bits 6:3 Shared Memory Size select (Map to HA[22:19])

      0001: 0.5MB 0010: 1MB

      0011: 1.5MB 0100: 2MB

      0101: 2.5MB 0110: 3MB

      0111: 3.5MB 1000: 4MB

      Others: Reserved

      Bit 2 Shared Memory Hole Readable Control

      0: Disable

      1: Enable

      Bit 1 Shared Memory Hole Writable Control

      0: Disable

      1: Enable

      Bit 0 PCI Masters Access Shared Memory Hole Control

      0: Disable

      1: Enable

       

      Register 6Dh Starting Address of Shared Memory Hole HA[28:23]

      Bits 7:2 Starting Address of Shared Memory Hole HA[28:23]

      Bit 1 VGA Grant Pulse Width Control ( Must set this bit to 1)

      0: 1T

      1: 3T (Recommended)

      Bit 0 Reserved

       

      Register 6Eh

      Bit 7 VGA Request signal to VGA Grant signal Delay

      0: 5T for SDRAM (Include pure SDRAM, or SDRAM and FPM/EDO mix mode)

      1: 2T for FPM/EDO DRAM

      Bit 6 Test Mode ( Internal use only)

      0: Normal Mode

      1: Test Mode

      Bits 5:0 Reserved

       

      Register 6Fh Reserved

      Register 70h to register 76h define the attribute of the Shadow RAM from 640 KByte to 1 MByte. All of the registers 70h to 75h are defined as below, and each register defines the corresponding memory segment's attribute which are listed in the following table.

      Register

      Defined Range

      Register

      Defined Range

      register 70h bits 7:5

      0C0000h-0C3FFFh

      register 73h bits 7:5

      0D8000h-0DBFFFh

      register 70h bits 3:1

      0C4000h-0C7FFFh

      register 73h bits 3:1

      0DC000h-0DFFFFh

      register 71h bits 7:5

      0C8000h-0CBFFFh

      register 74h bits 7:5

      0E0000h-0E3FFFh

      register 71h bits 3:1

      0CC000h-0CFFFFh

      register 74h bits 3:1

      0E4000h-0E7FFFh

      register 72h bits 7:5

      0D0000h-0D3FFFh

      register 75h bits 7:5

      0E8000h-0EBFFFh

      register 72h bits 3:1

      0D4000h-0D7FFFh

      register 75h bits 3:1

      0EC000h-0EFFFFh

       

      Register 70h/71h/72h/73h/74h/75h shadow RAM Registers

      Bit 7 Read enable

      Bit 6 L1/L2 cacheable

      Bit 5 Write enable

      Bit 4 Reserved

      Bit 3 Read enable

      Bit 2 L1/L2 cacheable

      Bit 1 Write enable

      Bit 0 Reserved

       

      Register 76h Attribute of shadow RAM for BIOS area (default = 00h)

      Bit 7 Read enable for shadow RAM of BIOS area 0F0000-0FFFFFh

      Bit 6 L1/L2 cacheable for shadow RAM of BIOS area 0F0000-0FFFFFh

      Bit 5 Write enable for shadow RAM of BIOS area 0F0000-0FFFFFh

      Bit 4 Reserved

      Bit 3 Shadow RAM enable for PCI access

      Bits 2:0 Reserved

       

      Register 77h Characteristics of non-cacheable area (default = 00h)

      Bits 7:4 Reserved

      Bit 3 Allocation of Non-Cacheable Area I

      0: Local DRAM

      1: PCI Bus. The local DRAM is disabled.

      Bit 2 Non-Cacheable Area I Enable

      0: Disable

      1: Enable

      Bit 1 Allocation of Non-Cacheable Area II

      0: Local DRAM

      1: PCI Bus. The local DRAM is disabled.

      Bit 0 Non-Cacheable Area II Enable

      0: Disable

      1: Enable

       

      Register 78h~79h Allocation of Non-Cacheable area I ( default = 00h)

      Bits 15:13 Size of Non-Cacheable Area I (within 384 MBytes)

      000: 64KB 100: 1MB

      001: 128KB 101: 2MB

      010: 256KB 110: 4MB

      011: 512KB 111: 8MB

      Bits 12:0 A28~A16 Non-Cacheable Area I (within 384 MBytes)

       

      Register 7Ah~7Bh Allocation of Non-Cacheable area II (default = 00h)

      Bits 15:13 Size of Non-Cacheable Area II (within 384 MBytes)

      000: 64KB 100: 1MB

      001: 128KB 101: 2MB

      010: 256KB 110: 4MB

      011: 512KB 111: 8MB

      Bits 12:0 A28~A16 Non-Cacheable Area II (within 384 MBytes)

       

      Register 7Ch~7Fh Reserved

      Register 80h PCI master characteristics

      Bits 7:5 Burstable Length Selection

      000: 256B

      001: 512B

      010: 1KB

      011: 2KB

      100: 4KB

      Others: reserved

      Maximum burstable address range in PCI master accessing main memory when 32-bit DRAM organization is employed with 256K or 512K type DRAM maximum burstable range reduces to 2KB only because the physical page size is 2KB in this situation. Thus, never program these bits to 4KB in 32 bit DRAM organization.

      Bit 4 TRDY# assertion timing in PCI master read cycle

      0: Assert TRDY# after prefetching 2 QWs

      1: Assert TRDY# after prefetching 1 Qws

      Bit 3 Advanced snoop in PCI master write cycle

      0: Disable

      1: Enable

      Bit 2 Advanced snoop in PCI master read cycle

      0: Disable

      1: Enable

      Bit 1 PCI bus using synchronous mode

      0: Disable (default)

      1: Enable

      Bit 0 Reserved

       

      Register 81h

      Bit 7 The timing for SiS Chip to prefetch FPM DRAM data to CTPFF (CPU to PCI FIFO)

      0: 1 CPUCLK delay from the assertion of CAS# (recommended in 50Mhz)

      1: 2 CPUCLK delay from the assertion of CAS# (recommended in 60/66/75Mhz)

      Bit 6 The timing for SiS Chip to prefetch EDO DRAM data to CTPFF

      0: 1 CPUCLK delay from the assertion of CAS# (recommended in 50Mhz)

      1: 2 CPUCLK delay from the assertion of CAS# (recommended in 60/66/75Mhz)

      Bit 5 Reserved

      Bit 4 This bit must be programmed to "0".

      Bit 3 Synchronous DRAM burst read in PCI master read cycle

      0: Disable (default)

      1: Enable

      Bit 2 Enable CPU to L2/DRAM and PCI Peer-to-Peer concurrency mode

      0: Disable

      1: Enable

      Bit 1 Internal use only, must be 0.

      Bit 0 Reserved

       

      Register 82h

      Bit 7 PCI master write main memory cycles

      0: Faster (default)

      1: Slower (Recommended at 75 MHz)

      Bit 6 PEADS timing control in PCI master to main memory cycles

      0: Faster (default)

      1: Slower (Recommended at 75 MHz)

      When PCI master initiating memory cycle, SiS Chip will check ROW address on the CPU clock rising edge that PEADS is active. PEADS is expected as the first EADS# of every PCI bus transaction. Note that PEADS is internal signal.

       

      Bit 5 Enhanced performance for the Memory Write and Invalidate of PCI bus command

      0: Disable (default)

      1: Enable

      Note: This bit must set to 0 if using 512K cache size and TAG address is set to 8 bits.

      Bit 4 Read prefetch for the Memory Read of PCI bus command

      0: Enable (default)

      1: Disable

      If enabled, the Memory Read Multiple and Memory Read Line of PCI bus commands always do prefetch.

      Bits 3:2 PCI Target Bridge of SiS Chip Initial Latency Timer

      00: Disable (default)

      01: 16 PCI Clocks

      10: 24 PCI Clocks

      11: 32 PCI Clocks

      Bit 1 PCI Target Bridge of SiS Chip Subsequent Latency Timer

      0: Disable (default)

      1: Enable

      Bit 0 Propagation delay time of AD bus control

      0: Normal (Recommended)

      1: Slower

      When set, the SiS Chip timing is adjusted to serve those bus master agents that do not follow the PCI specification to have 12ns max. propagation delay time of AD in the address phase.

       

      Register 83h CPU to PCI characteristics (default 00)

      Bit 7 Fast gate A20 emulation

      0: Disable

      1: Enable (recommended)

      Bit 6 Fast reset emulation

      0: Disable

      1: Enable (recommended)

      Bit 5 Fast reset latency control

      0: 2us

      1: 6us

      Bit 4 Fast back-to-back function when the PCI cycle hit IDE or prefetchable area.

      0: Disable

      1: Enable (recommended)

      Bit 3 CPU to PCI post write rate control

      0: 4T

      1: 3T (recommended)

      Bit 2 IDE Data port post write function

      0: Disable

      1: Enable (recommended)

      Bit 1 CPU to PCI burst memory write

      0: Disable

      1: Enable (recommended)

      Bit 0 CPU to PCI post write function

      0: Disable

      1: Enable (recommended)

       

      Register 84h~85h PCI grant timer

      Bits 15:0 16 bits PCI Grant Timer

      The timer-expire interval is translated by the follow equation:

      Timer-Expire Interval = (Timer Counter - 1)

      Note: Unit : PCI clock

       

      Register 86h CPU idle timer

      Bits 7:0 8 bits CPU idle timer

      The timer-expire interval is translated by the follow equation:

      Timer-Expire Interval = (Timer Counter - 1)

      Note: Unit : PCI clock

       

      Register 87h Miscellaneous register (default 00)

      Bit 7 CPU to PCI Bridge Synchronous Mode

      0: Disable

      1: Enable (recommended)

      Bit 6 CPU involve arbitration

      0: Disable

      1: Enable (recommended)

      Bit 5 The latency of ADS# to FRAME#

      0: Normal

      1: Fast

      Bit 4 CPU latency timer Testing Mode

      0: Disable

      1: Enable

      Bit 3 2nd Half PCI Cycle of a 64-bit Access Retried Behavior

      0: Continue Retry (Recommended)

      1: Back-Off CPU

      Bit 2 PCI Lock Function Enable

      0: Disable

      1: Enable

      Bits 1:0 Reserved

       

      Register 88h~89h Base address of fast back-to-back area

      Bits 15:0 16 bits address A[31:16]

       

      Register 8Ah~8Bh Size of fast back-to-back area

      Bits 15:0 Mask bits

      0: Enable mask

      1: Disable mask

      The SiS Chip will compare the current address with the base address (Register 8A~8B) by using the mask bits to determine whether to execute the fast-back-to-back or not. If the corresponding mask bit is 1, SiS chip will compare the current address bit with the base address bit. If the corresponding mask bit is 0, SiS Chip will not make the comparison.

       

      Register 8Ch/8Dh/8Eh/8Fh General Purpose Register

      Bits 7:0 Reserved

      Following two registers mainly defines the enable bits for the events monitored by System Standby timer. If any monitored event occurs during the programmed time, the System standby timer will be reloaded and starts to count down again.

      Register 90h Legacy PMU control register

      Bit 7 Hard Disk Port 1 Enable

      When set, any I/O access to the Hard Disk port 1 ( 1F0-1F7h or 3F6h) will cause the System Standby timer be reloaded.

      Bit 6 Keyboard port Enable

      When set, any I/O access to the keyboard Ports (60h or 64h) will cause the System Standby timer be reloaded.

      Bit 5 Serial Port 1 Enable

      When set, any I/O access to the Serial Ports (3F8-3FFh or 3E8-3EFh) will cause the System Standby timer be reloaded.

      Bit 4 Serial Port 2 Enable

      When set, any I/O access to the Serial Ports ( 2F8-2FFh or 2E8-2EFh) will cause the System Standby timer be reloaded.

      Bit 3 Parallel Port Enable

      When set, any I/O access to the Parallel ports ( 278-27Fh, 378-37Fh or 3BC-3BEh) will cause the System Standby timer be reloaded.

      Bit 2 Hold Enable

      When set, any event from the ISA master or the PCI Local Master will cause the System Standby timer be reloaded.

      Bit 1 IRQ1~15, NMI

      When set, any event from the IRQ1-15 or NMI which is defined by PCI to ISA bridge configuration Register 74 and 75 will cause the System Standby timer be reloaded.

      Bit 0 Monitor Ring event enable

      If this bit is set, an event from the RING will cause the System Standby timer be reloaded.

      Register 91h Address trap for Legacy PMU function

      Bit 7 Programmable 10 bit I/O Port Enable

      When set, any I/O access to the address will cause the System Standby timer be reloaded. The address is defined in Registers 96h and 97h.

      Bit 6 Programmable 16 bit I/O Port Enable

      When set, any I/O access to the address will cause the System Standby timer be reloaded. The address is defined in Registers 98h and 99h.

      Bit 5 A0000h - AFFFFh or B0000 - BFFFFh Address trap

      When set, any memory access to the address range will cause the System Standby timer to be reloaded.

      Bit 4 C0000h - C7FFFh Address trap

      When set, any memory access to the address range will cause the System Standby timer to be reloaded.

      Bit 3 3B0-3BFh, 3C0-3CFh, 3D0-3DFh Address trap

      When set, any I/O access to the I/O addresses will cause the System Standby timer to be reloaded.

      Bit 2 Secondary Drive port

      When set, any I/O access to the secondary drive port (170-177h, 376h) will reload the system standby timer.

      Bits 1:0 System Standby Timer Slot

      11 : 8.85 milli seconds

      10 : 70 milli seconds

      01 : 1.1 seconds

      00 : 9 seconds

       

      Register 92h

      Bits 7:5 Define the Timer monitored events for the Monitor standby timer .

      Bits 4:2 Define the wake-up events from System standby state.

      Bits 1:0 Define the events to de-assert the STPCLK#.

       

      Bit 7 IRQ 1-15, NMI

      When set, any event from the IRQ1-15 or NMI which is defined by PCI to ISA bridge configuration Register 76 and 77 will cause the Monitor standby timer be reloaded.

      Bit 6 HOLD

      When set, any event from the ISA master or the PCI local master will cause the Monitor standby timer be reloaded.

      Bit 5 Reload Monitor Timer From RING signal

      When set, Monitor standby timer will be reloaded when RING is asserted.

      Bit 4 IRQ 1-15, NMI

      When enabled, any event from the IRQ1-15 or NMI which is defined by PCI to ISA bridge configuration Register 76 and 77 will bring the Monitor back to the Normal state from the Standby state.

      Bit 3 HOLD

      When enabled, any event from the ISA master or the PCI local master will bring the Monitor back to the Normal state from the Standby state.

      Bit 2 Ring Wakeup Enable

      If this bit is set, it will bring the Monitor back to the Normal state from the Standby state when RING is asserted.

      Bit 1 IRQ 1-15, NMI

      When enabled, any event from the IRQ1-15, GPIO or NMI which are defined by PCI to ISA bridge configuration Register 74h and 75h will de-assert the STPCLK#.

      Bit 0 HOLD

      When enabled, any event from the ISA master or the PCI local master will de-assert the STPCLK#.

       

      Register 93h STPCLK# and APM SMI control

      Bit 7 INIT

      When enabled, an event from the INIT will de-assert the STPCLK#.

      Bit 6 Ring Wakeup Enable

      When enabled, system will wake up from standby mode to de-assert the STPCLK# when RING is asserted.

      Bit 5 STPCLK# Enable

      When set, writing a '1' to bit 3 of Register 93h will cause the STPCLK# to become active. This bit can be cleared.

      Bit 4 Throttling Enable

      When set, writing a '1' to bit 3 of Register 93h will cause the STPCLK# throttling state to become active. The throttling function can be disabled by clearing this bit.

      Bit 3 STPCLK# Control

      When this bit is set, the STPCLK# will be asserted or the Throttling function will be enabled depending on bits 5 and 4. If both bits 5 and 4 are enabled, the system will do the throttling function.

      Bit 2 Pin Definition Select for EXTSMI#/TURBO

      0: TURBO

      1: EXTSMI#

      The EXTSMI# function can be disabled by programming register 9Bh bit 1 to "0".

      Bit 1 APM SMI

      When Register 9Bh bit 0 is enabled, and a '1' is written to this bit, an SMI is generated. It is used by the software controlled SMI function like APM. This bit should be cleared at the end of the SMI handler.

      Bit 0 Deturbo function

      0: Disable

      1: Enable

       

      Register 94h Cyrix 6x86 and PMU function control

      Bit 7 Cyrix 6x86 SMAC access

      It must be set whenever the 6x86 CCR1 bit 2 is set and cleared if CCR1 bit 3 is cleared.

      Bit 6 Cyrix 6x86 MMAC access

      If set, access to address within SMM space is conducted to main memory instead of SMM area. It must be set whenever the 6x86 CCR1 bit 3 is set and cleared if CCR1 bit 3 is cleared.

      In the 6x86's specification, the SMIACT# will be de-asserted when MMAC is set and re-asserted after it is cleared. This allows the SMI service routine to access normal memory area instead of SMM memory area.

      Bit 5 Cyrix 6x86 CPU

      It should be set if Cyrix 6x86 CPU is present.

      Bit 4 External SMI# Wakeup capability

      0: Disable

      1: Enable

      When enabled, an event from External SMI will de-assert the STPCLK#.

      Bit 3 Flush Function Block Mode

      0: Un-block

      1: Block

      It is suggested to block the FLUSH# ( Deturbo Mode) when the STPCLK# is asserted.

      Bit 2:0 Reserved

       

      Register 95h

      Bit 7 IRQ SMI enable.

      When set, any unmasked event defined at PCI to ISA Bridge configuration Register 72h-73h will cause the SMI to be generated.

      Bit 6 IRQ SMI status.

      This bit is set when the bit 7 of this Register is enabled and the corresponding event is active.

      Bit 5 Throttling exit control

      When Register 9B, bit 5 (Throttling wake up SMI enable) is set and STPCLK# is at throttling mode, set this bit will cause the STPCLK# de-asserted and SMI# generated.

      Bit 4 USB SMI enable

      When this bit is set, a SMI# can be generated by USB controller.

      Bit 3 USB SMI request.

      This is an USB SMI Request start bit. When the bit 4 of this register is set and the USB controller asserts a control signal to generated SMI#, this bit is set.

      Bit 2 Reserved

      Bits 1:0 Legacy PMU test mode

      00: Normal operation

      01: Counter test mode

      10: Fast test mode

      11: Reserved

       

      Register 96h Time slot and Programmable 10-bit I/O port definition

      Bits 7:6 Define the time slot of the Monitor Standby timer

      00 : 6.6 seconds

      01 : 0.84 seconds

      10 : 13.3 milli-seconds

      11 : 1.6 milli-seconds

      Bits 5:3 Programmable 10-bit I/O port address mask bits

      000 : No mask

      001 : A0 masked

      010 : A1-A0 masked

      011 : A2-A0 masked

      100 : A3-A0 masked

      101 : A4-A0 masked

      110 : A5-A0 masked

      111 : A6-A0 masked

      Bit 2 Reserved

      Bits 1:0 Programmable 10-bit I/O port address bits A1, A0.

      Bits 1:0 correspond to the address bits A1 and A0.

       

      Register 97h Programmable 10-bit I/O port address bits A9~A2

      Bits 7:0 Define the programmable 10-bit I/O port address bits A[9:2].

       

      Register 98h~99h Programmable 16-bit I/O port

      Bits 15:0 Define the Programmable 16-bit I/O port.

      Following two registers define the enable status of the devices in SMM. The bits are set when the devices are in standby state and cleared when the respective devices are in normal state.

      Register 9Ah System Standby Timer events control

      Bit 7 System Standby SMI Enable

      When no non-masked event occurs during the programmed duration of the system standby timer, the timer expires. If this bit is enabled, the SMI# is generated and the system enters the System Standby state.

      Bit 6 Programmable 10-bit I/O port wake up SMI Enable

      When set, any I/O access to this port will be monitored to generate the SMI# to wake up this I/O port from the standby state to the Normal state. This bit is enabled only when the I/O port is in the Standby state.

      Bit 5 Programmable 16-bit I/O port wake up SMI Enable

      When set, any I/O access to this port will be monitored to generate the SMI# to wake up this I/O port from the standby state to the Normal state. This bit is enabled only when the I/O port is in the Standby state.

      Bit 4 Parallel ports wake up SMI Enable

      When set, any I/O access to the parallel ports will be monitored to generate the SMI# to wake up the parallel ports from the standby state to the Normal state. This bit is enabled only when the parallel ports are in the Standby state.

      Bit 3 Serial port 1 wake up SMI Enable

      When set, any I/O access to the serial port 1 will be monitored to generate the SMI# to wake up the serial ports from the standby state to the Normal state. This bit is enabled only when the serial port 1 are in the Standby state.

      Bit 2 Serial port 2 wake up SMI Enable

      When set, any I/O access to the serial port 2 will be monitored to generate the SMI# to wake up the serial ports from the standby state to the Normal state. This bit is enabled only when the serial port 2 are in the Standby state.

      Bit 1 Hard Disk port 1 SMI Enable

      When set, any I/O access to the hard disk port 1 will be monitored to generate the SMI# to wake up the hard disk from the standby state to the Normal state. This bit is enabled only when the hard disk port 1 is in the Standby state.

      Bit 0 Hard Disk port 2 SMI Enable

      When set, any I/O access to the hard disk port 2 will be monitored to generate the SMI# to wake up the hard disk from the standby state to the Normal state. This bit is enabled only when the hard disk port 2 is in the Standby state.

       

      Register 9Bh Monitor Standdby Timer events control

      Bit 7 Monitor Standby SMI Enable

      0 : Disable

      1 : Enable

      When there is no access from the IRQ1-15, HOLD, RING and NMI during the programmed time of the Monitor Standby Timer, the timer expires. If this bit is set, an SMI is generated to bring the Monitor to the standby state.

      Bit 6 Monitor wake up SMI Enable

      When set, any event from the IRQ1-15, any bus master request, RING or NMI will be monitored to generate the SMI# to wake up the monitor from the standby state to the normal state.

      Bit 5 Throttling wake up SMI Enable

      When set, any unmasked event from the NMI, INIT, IRQ1-15, GPIO, EXTSMI#, RING or any bus master request will cause an SMI to be generated to bring the system back to the Normal state from the throttling state.

      Bit 4 System wake up SMI Enable

      When set, any unmasked event from the NMI, INIT, IRQ1-15, EXTSMI#, RING, GPIO or any bus master request will cause an SMI to be generated to bring the system back to the Normal state from the standby state.

      Bit 3 Keyboard wake up SMI Enable

      When set, any I/O access to the keyboard ports will be monitored to generate the SMI# to wake up the keyboard ports from the standby state to the Normal state. This bit is enabled only when the keyboard ports are in the Standby state.

      Bit 2 RING SMI Enable

      If this bit is set, it enables the SMI request from RING activity.

      Bit 1 External SMI Enable

      When set, the break switch (via EXTSMI#) can be pressed to generate the SMI# for the system to enter the Standby state.

      Bit 0 Software SMI Enable

      When set, an I/O write to bit 1 of register 93h will generate an SMI.

      Following two registers define the SMI request status. If the respective SMI enable bit is set, each specific event will cause the respective bit to be set. The asserted bit should be cleared at the end of the SMI handler.

      Register 9Ch SMI Request events status 0

      Bit 7 System Standby SMI Request

      This bit is set when the system standby timer expires.

      Bit 6 Programmable 10-bit I/O port wake up Request

      This bit is set when there is an I/O access to the port.

      Bit 5 Programmable 16-bit I/O port wake up Request

      This bit is set when there is an I/O access to the port.

      Bit 4 Parallel ports wake up Request

      This bit is set when the parallel ports are accessed.

      Bit 3 Serial port 1 wake up Request

      This bit is set when the serial port 1 are accessed.

      Bit 2 Serial port 2 wake up Request

      This bit is set when the serial port 2 are accessed.

      Bit 1 Hard Disk port 1 wake up Request

      This bit is set when the hard disk port 1 is accessed.

      Bit 0 Hard Disk port 2 wake up Request

      This bit is set when the hard disk port 2 is accessed.

       

      Register 9Dh SMI Request events status 1

      Bit 7 Monitor Standby SMI Request

      This bit is set when the Monitor Standby Timer expires. This bit should be cleared at the end of the SMI handler.

      Bit 6 Monitor wake up Request

      This bit is set when there is an event from the IRQ1-15, any bus master request or NMI which are defined by bits 2, 3, 4 of Register 92, and the Monitor is in the standby state.

      Bit 5 Throttling wake up SMI Request

      This bit is set when there is any unmasked event from the NMI, INIT, IRQ1-15, RING, External SMI or any bus master request at the throttling state of the system.

      Bit 4 System wake up SMI Request

      This bit is set when there is any unmasked event from the NMI, INIT, IRQ1-15, or RING, External SMI or any bus master request at the standby state of the system.

      Bit 3 Keyboard ports wake up Request

      This bit is set when the keyboard ports are accessed.

      Bit 2 SMI request from RING

      This bit is set when there is RING activity.

      Bit 1 External SMI Request

      This bit is set when the break switch (via EXTSMI#) is pressed.

      Bit 0 Software SMI Request

      This bit is set when an I/O write to the bit 1 of register 93h and bit 0 of register is 1.

       

      Register 9Eh STPCLK# Assertion Timer (default = FFh)

      Bits 7:0 This register defines the period of the STPCLK# assertion time.

      Bits[7:0] define the period of the STPCLK# assertion time when the STPCLK# enable bit is set. The timer will not start to count until the Stop Grant Special Cycle is received. The timer slot is 35 us.

      The timer-expire interval is translated by the follow equation:

      Timer-Expire Interval = (Timer Counter - 1) x 35us

       

      Register 9Fh STPCLK# De-assertion Timer (default = FFh)

      Bits 7:0 This register defines the period of the STPCLK# de-assertion time.

      Bits[7:0] define the period of the STPCLK# de-assertion time when the STPCLK# enable bit is set. The timer starts to count when the STPCLK# assertion timer expires. The timer slot is 35us.

      When these two registers are read, the current values are returned.

      The timer-expire interval is translated by the follow equation:

      Timer-Expire Interval = (Timer Counter - 1) x 35us

       

      Register A0h~A1h Monitor Standby Timer (default = 00FFh)

      Bits 15:0 Define the 16 bits Monitor standby timer.

      It is a count-down timer and the time slot is programmable for 6.6s, 0.84s, 13.3 ms or 1.6ms. The value programmed to this register is loaded when the timer is enabled and the timer starts counting down. The timer is reloaded when an event from the IRQ1-15, HOLD or NMI occurs before the timer expires. When this register is read, the current value is returned.

      The timer-expire interval is translated by the follow equation:

      Timer-Expire Interval = (Timer Counter - 1) x Time slot

      NOTE: The setting of Time slot please refer to register 96h bits 7:6.

       

      Register A2h System Standby Timer (default = FFh)

      Bits 7:0 The register defines the duration of the System Standby Timer.

      When the System Standby Timer expires, the system enters System Standby State. If any non-masked event occurs before the timer expires, the timer is reloaded with programmed number and the timer starts counting down again.

      The timer-expire interval is translated by the follow equation:

      Timer-Expire Interval = (Timer Counter - 1) x Time slot

      NOTE: The setting of Time slot please refer to register 91h bits 1:0.

       

      Register A3h SMRAM access control and Power supply control (default = 00h)

      Bits 7:6 SMRAM Area Remapping Control

      00: EL to EL(32K)

      01: EL to AL(32K)

      10: EL to BL(32K)

      11: A to A(64K)

      Bit 5 Reserved

      Bit 4 SMRAM Access Control

      0: The SMRAM area can only be accessed during the SMI handler.

      1: When set, the SMRAM area can be used. This bit can be set whenever it is necessary to access the SMRAM area. It is cleared after the access is finished.

      Bits 3:0 Reserved

       

    3. PCI to ISA Bridge Configuration Space
    4. Device

      IDSEL

      Function Number

      PCI to ISA bridge

      AD12

      0000b

       

      Registers 00h~01h Vendor ID

      Bits 15:0 = 1039h (Read Only)

       

      Registers 02h~03h Device ID

      Bits 15:0 = 0008h (Read Only)

       

      Registers 04h~ 05h Command Port

      Bits 15:4 Reserved. Read as 0's

      Bit 3 Monitor Special Cycle Enable

      Bit 2 Behave as Bus Master Enable

      Bit 1 Respond to Memory Space Accesses (Read/Writable)(Default=0)

      This bit is read/writable and should be set to 1.

      Bit 0 Respond to I/O Space Accesses (Read/Writable) (Default =0)

      This bit is read/writable and should be set to 1.

       

      Registers 06h~07h Status

      Bits 15:14 Reserved. Read as 0's

      Bit 13 Received Master-Abort

      When the SiS Chip generates a master-abort, this bit is set to a 1. This bit is cleared to 0 by writing a 1 to this bit.

      Bit 12 Received Target-Abort

      When the SiS Chip receives a target-abort, this bit is set to a 1. Software clears this bit to 0 by writing a 1 to this bit location.

      Bit 11 Reserved. Read as a 0

      Bits 10:9 DEVSEL# Timing

      The SiS Chip always generates DEVSEL# with medium timing, these two bits are always set to 01.

      Bits 8:0 Reserved. Read as 0's.

       

      Register 08h Revision ID

      Bits 7:0 01h (Read Only)

       

      Register 09h~0Bh Class Code

      Bits 23:0 060100h (Read Only)

       

      Register 0Ch Cache Line Size

      Bits 7:0 00h

       

      Register 0Dh Master Latency Timer

      Bits 7:0 Master latency timer

      The default value is FFh, it menas 255 PCI clocks.

      Unit: PCI Clocks

       

      Register 0Eh Header Type

      Bits 7:0 80h (Read Only)

       

      Register 0Fh BIST

      Bits 7:0 80h (Read Only)

       

      Register 10h, 11h, 12h, 13h Reserved, always read as 0.

      Register 40h BIOS Control Register

      Bit 7 Integrated ACPI Control

      0: Disable (Default)

      1: Enable

      When enabled, PCI to ISA bridge will response the access to ACPI registers according to the ACPI Base Address. The ACPI base address can be programmed in 90h, 91h.

      Bit 6 ISA Master action Control

      This bit must be set to "1" to prevent the deadlock which occuring in forwarding 64 bit memory read cycle to ISA side when delay transaction is enabled.

      Bit 5 Enable/Disable Delayed Transaction

      0: Disable (Default)

      1: Enable

      Bit 4 PCI Posted Write Buffer Enable

      0: Disable (Default)

      1: Enable

      Bits [3:0] determine how the SiS Chip responds to F segment, E segment, and extended segment (FFF80000-FFFDFFFF) accesses. SiS Chip will positively respond to extended segment access when bit 0 is set. Bit 1, combining with bits [3:2], enables SiS Chip to respond to E segment access.

      Bit 3 Positive Decode of Upper 64K BYTE BIOS Enable.

      Bit 2 BIOS Subtractive Decode Enable.

      Bits [3:2]

      F segment

      E segment

      Comment

       

      +

      -

      +

      -

       

      00

         

      v *

       

      Chip positively responds to E segment access.

      10

      v

       

      v *

       

      Chip positively responds to E and F segment access.

      Others

       

      v

         

      Chip subtractively responds to F segment access.

      Note: Enabled if bit 1 is set.

      Bit 1 Lower BIOS Enable.

      Bit 0 Extended BIOS Enable. (FFF80000~FFFDFFFF)

       

      Register 41h/42h/43h INTA#/INTB#INTC# Remapping Control Register

      Bit 7 Remapping Control

      0: Enable

      1: Disable (Default)

      When enabled, INTA#/INTB#/INTC#, is remapped to the PC compatible interrupt signal specified in IRQ remapping table. This bit is set to 1 after reset.

      Bits 6:4 Reserved. Read as 0's.

      Bits 3:0 IRQx Remapping table.

      Bits

      IRQx#

      Bits

      IRQx#

      Bits

      IRQx#

      Bits

      IRQx#

      0000

      reserved

      0101

      IRQ5

      1010

      IRQ10

      1111

      IRQ15

      0001

      reserved

      0110

      IRQ6

      1011

      IRQ11

         

      0010

      reserved

      0111

      IRQ7

      1100

      IRQ12

         

      0011

      IRQ3

      1000

      reserved

      1101

      reserved

         

      0100

      IRQ4

      1001

      IRQ9

      1110

      IRQ14

         

      Note: The difference INT[A:D]# can be remapped to the same IRQ signal, but this IRQ signal should be set to level sensitive.

       

      Register 44h INTD# Remapping Control Register

      Bit 7 Remapping Control

      0: Enable

      1: Disable (Default)

      When enabled, INTD# is remapped to the PC compatible interrupt signal specified in IRQ remapping table. This bit is set to 1 after reset.

      Bits 6:5 Reserved. Read as 0's.

      Bit 4 Access APC Control Register(APCREG_EN)

      0: Disable

      1: Enable (Default)

      Bits 3:0 IRQ Remapping table.

      Bits

      IRQx#

      Bits

      IRQx#

      Bits

      IRQx#

      Bits

      IRQx#

      0000

      reserved

      0101

      IRQ5

      1010

      IRQ10

      1111

      IRQ15

      0001

      reserved

      0110

      IRQ6

      1011

      IRQ11

         

      0010

      reserved

      0111

      IRQ7

      1100

      IRQ12

         

      0011

      IRQ3

      1000

      reserved

      1101

      reserved

         

      0100

      IRQ4

      1001

      IRQ9

      1110

      IRQ14

         

      Note: The difference INT[A:D]# can be remapped to the same IRQ signal, but this IRQ signal should be set to level sensitive.

       

      Register 45h (Default =00h)

      Bits 7:6 ISA Bus Clock Selection

      00: 7.159MHz

      01: PCICLK/4

      10: PCICLK/3

      Bit 5 Flash EPROM Control bit 0

      Bit 4 Test bit for internal use only

      0: Normal mode

      1: Test mode

      Bit 3 Access RTC Extended Bank Control(EXTEND_EN)

      0: Disable

      1: Enable

      Bit 2 Flash EPROM Control Bit 1

      Bit 5

      Bit 2

      Operation

      0

      0

      EPROM can be flashed

      1

      0

      EPROM can't be flashed again

      X

      1

      EPROM can be flashed whenever bit 5 is 0

      Note: "X" means "Don’t care".

      Bits 1:0 Reserved

       

      Register 46h (Default =00h)

      Bits 7:6 16-Bit I/O Cycle Command Recovery Time

      00: 5 BUSCLK

      01: 4 BUSCLK

      10: 3 BUSCLK

      11: 2 BUSCLK

      Bits 5:4 8-Bit I/O Cycle Command Recovery Time

      00: 8 BUSCLK

      01: 5 BUSCLK

      10: 4 BUSCLK

      11: 3 BUSCLK

      Bit 3 ROM Cycle Wait State Selection

      0: 4 wait states

      1: 1 wait state

      Bits 2:0 Test bit for internal use only

      0: Normal Mode

      1: Test Mode

       

      Register 47h DMA Clock and Wait State Control Register (Default =00h)

      Bit 7 Reserved

      Bit 6 Extended Terminal Count (TC)Hold Time

      0: The hold time of TC is compatible with Intel 8237

      1: Extend the TC hold time by 1/2 DMACLK

      Bits 5:4 16-Bit DMA Cycle Wait State

      00 : 1 DMACLK

      01 : 2 DMACLK

      10 : 3 DMACLK

      11 : 4 DMACLK

      Bits 3:2 8-Bit DMA Cycle Wait State

      00 : 1 DMACLK

      01 : 2 DMACLK

      10 : 3 DMACLK

      11 : 4 DMACLK

      Bit 1 Extended DMAMEMR# Function

      0: Assertion of DMAMEMR# is delayed by one DMA clock cycle later than XIOR#

      1: Assertion of DMAMEMR# is at the same time as XIOR#.

      This bit is recommended to set to "1" to ensure that the assertion of DMAMEMR is earlier one DMA clock than the assertion of DMAIOW when the bit5 and bit3 of DMA command register are set to "0".

      Bit 0 DMA Clock Selection

      0: 1/2 BUSCLK(Recommended)

      1: BUSCLK

       

      Register 48h ISA Master/DMA Memory Cycle Control Register 1 (Default =01h)

      Bits 7:4 Top of Memory size

      0000: 1 MByte

      0001: 2 MByte

      0010: 3 MByte

      0011: 4 Mbyte

      :

      :

      1101: 14 MByte

      1110: 15 MByte

      1111: 16 Mbyte

      The ISA master or DMA memory access cycles will be forwarded to PCI bus when the address fall within the programmable region defined by bits[7:4]. The base address of the programmable region is 1Mbyte, and the top addresses is programmed in 1MByte increments from 1MByte to 16MByte. All memory cycles will be forwarded to PCI bus besides the cycle fall within memory hole defined in register 4Ah and 4Bh.

      ISA master and DMA memory cycles to the following memory regions will be forwarded to PCI bus if they are enabled.

      Bit 3 E0000h-EFFFFh Memory Region

      0: Disable

      1: Enable, the cycle is forwarded to PCI bus.

      Bit 2 A0000h-BFFFFh memory Region

      0: Disable

      1: Enable (The cycle is forwarded to PCI bus.)

      Bit 1 80000h-9FFFFh Memory Region

      0: Disable

      1: Enable (The cycle is forwarded to PCI bus.)

      Bit 0 00000h-7FFFFh Memory Region

      0: Disable

      1: Enable(The cycle is forwarded to PCI bus.)

       

      Register 49h ISA Master/DMA Memory Cycle Control Register 2 (Default =00h)

      Bit 7

      DC000h-DFFFFh Memory Region

      Bit 6

      D8000h-DBFFFh Memory Region

      Bit 5

      D4000h-D7FFFh Memory Region

      Bit 4

      D0000h-D3FFFh Memory Region

      Bit 3

      CC000h-CFFFFh Memory Region

      Bit 2

      C8000h-CBFFFh Memory Region

      Bit 1

      C4000h-C7FFFh Memory Region

      Bit 0

      C0000h-C3FFFh Memory Region

      0: Disable

      1: Enable

      ISA master and DMA memory cycles to the following memory regions will be forwarded to PCI bus if they are enabled.

      Register 4Ah and register 4Bh are used to define the ISA address hole. The ISA address hole is located between 1Mbyte and 16MByte, and sized in 64KByte increments. ISA master and DMA memory cycles fall within this hole will not be forwarded to PCI bus. Register 4Ah and 4Bh are used to define the bottom and top address of the hole respectively. The hole is located between top and bottom address, and the bottom and top address must be at or above 1MByte. If bottom address is greater than top address, the ISA address hole is disabled.

      Register 4Ah ISA Master/DMA Memory Cycle Control Register 3 (Default =10h)

      Bits 7:0 Bottom address of the ISA Address Hole [A23:A16]

       

      Register 4Bh ISA Master/DMA Memory Cycle Control Register 4 (Default =0Fh)

      Bits 7:0 Top address of the ISA Address hole [A23:A16]

      This register is used to define the top address of the ISA Address hole

       

      Registers 4Ch/4Dh/4Eh/4Fh Initialization Command Word 1/2/3/4 Mirror Register I

      Bits 7:0 ICW1 to ICW4 of the built-in interrupt controller (master) can be read from 4Ch to 4Fh.

      Registers 50h/51h/52h/53h Initialization Command Word 1/2/3/4 mirror Register II

      Bits 7:0 ICW1 to ICW4 of the built-in interrupt controller (slave) can be read from 50h to 53h.

      Registers 54h/55h Operational Control Word 2/3 Mirror Register I

      Bits 7:0 OCW2 to OCW3 of the built-in interrupt controller (master) can be read from 54h to 55h.

      Registers 56h/57h Operational Control Word 2/3 Mirror Register II

      Bits 7:0 OCW2 to OCW3 of the built-in interrupt controller (slave) can be read from 56h to 57h.

      Register 58h Counter Access Ports Mirror Register 0

      Bits 7:0 Low byte of the initial count number of Counter 0 in the built-in CTC can be read from 58h.

      Register 59h

      Bits 7:0 High byte of the initial count number of Counter 0 in the built-in CTC can be read from 59h.

      Register 5Ah

      Bits 7:0 Low byte of the initial count number of Counter 1 in the built-in CTC can be read from 5Ah.

       

      Register 5Bh

      Bits 7:0 High byte of the initial count number of Counter 1 in the built-in CTC can be read from 5Bh.

       

      Register 5Ch

      Bits 7:0 Low byte of the initial count number of Counter 2 in the built-in CTC can be read from 5Ch.

       

      Register 5Dh

      Bits 7:0 High byte of the initial count number of Counter 2 in the built-in CTC can be read from 5Dh.

       

      Register 5Eh

      Bits 7:0 Control word (43h) of the built-in CTC can be read from 5Eh.

       

      Register 5Fh

      Bits 7:6 Reserved

      Bit 5 CTC write count pointer status for counter 2

      Bit 4 CTC write count pointer status for counter 1

      Bit 3 CTC write count pointer status for counter 0

      Bit 2 CTC read count pointer status for counter 2

      Bit 1 CTC read count pointer status for counter 1

      Bit 0 CTC read count pointer status for counter 0

      0: LSB

      1: MSB

       

      Register 60h Mirror port

      Bits 7:0 The same value as ISA port 70h.

       

      Register 61h IDEIRQ Remapping Control Register

      Bit 7 IDEIRQ Remapping Control

      0: Enable

      1: Disable (Default)

      Bit 6 Attribute of bits Control for Reg. 09h bit 1 and 3 in PCI IDE Configuration Space

      0: Read Only, read these two bits as ‘1’ and ‘1’. (Default)

      1: Read/Writeable

      Bits 5:4 Reserved. Read as zero.

      Bits 3:0 Interrupt Remapping Table

      Bits [3:0]

      Remapped IRQ

      Bits [3:0]

      Remapped IRQ

      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

       

      Register 62h USBIRQ Remapping Control Register

      Bit 7 USBIRQ Remapping Control

      0: Enable

      1: Disable (Default)

      Bit 6 Integrated USB Control

      0: Disable

      1: Enable

      Bit 5 USB Over_Current (OCI#) input polarity

      0: Low Active

      1: High Active

      Bit 4 USB Power pin (OCO# or OCI2#, corresponding to Reg. 6A bit6) output/input polarity

      0: Low Active

      1: High Active

      Bits 3:0 Interrupt Remapping Table

      Bits [3:0]

      Remapped IRQ

      Bits [3:0]

      Remapped IRQ

      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

       

      Register 63h GPCS0 Control Register

      Bit 7 GPCS0 Mode Control

      0: Output mode

      1: Input mode (default)

      Bit 6 GPCS0 Input Active Level Control

      0: Active low (default)

      1: Active high

      Bit 5 GPCS0 Input De-Bounce Filter Control

      0: Disable (default)

      1: Enable

      When this bit set to 1, the GPCS0 input goes through a de-bounce circuit.

      Bit 4 GPCS0 Output Status Control

      0: Output low (default)

      1: Output high

      When GPCS0 is programmed to a GPO pin function by Register 65h~66h bit 1:0 and set Register 63 bit 7 to "0" (output mode), this bit can be active.

      Bit 3 GPCS0 Status (When it is set to Input Mode)

      This bit is set when GPCS0 event is generated and it can be cleared by writting a "0" to this bit.

      Bit 2 Generated SMI# by GPCS0 Control

      0: Disable

      1: Enable

      Note: The Host to PCI configuration register 95h bit7 should be enabled.

      Bit 1 Control GPCS0 to reload system standby timer and exit system standby state

      0: Disable

      1: Enable

      Bit 0 GPO Write Enable 0 Control

      0: Disable (GPCS0 signal)

      1: Enable

      If this bit is enabled, it controls the external 74LS374 TTL to buffer the external 8 GPOs signals for more peripheral devices control from the system data bus SD[7:0] by GPCS0 pin.

       

      Register 64h GPCS1 Control Register

      Bit 7 GPCS1 Mode Control

      0: Output mode

      1: Input mode (default)

      Bit 6 GPCS1 Input Active Level Control

      0: Active low (default)

      1: Active high

      Bit 5 GPCS1 Input De-Bounce Filter Control

      0: Disable (default)

      1: Enable

      When this bit set to 1, the GPCS1 input goes through a de-bounce circuit.

      Bit 4 GPCS1 Output Status Control

      0: Output low (default)

      1: Output high

      When GPCS1 is programmed to a GPO pin function by Register 67h~68h bit 1:0 and set Register 64 bit 7 to "0" (output mode), this bit can be active.

      Bit 3 GPCS1 Status (When it is set to Input Mode)

      This bit is set when GPCS1 event is generated and it can be cleared by writting a "1" to this bit.

      Bit 2 Generated SMI# by GPCS1 Control

      0: Disable

      1: Enable

      Note: The Host to PCI configuration register 95h bit7 should be enabled.

      Bit 1 Control GPCS1 to reload system standby timer and exit system standby state

      0: Disable

      1: Enable

      Bit 0 GPO Write Enable 1 Control

      0: Disable (GPCS1 signal)

      1: Enable

      If this bit is enabled, it controls the external 74LS374 TTL to buffer the external 8 GPOs signals for more peripheral devices control from the system data bus SD[7:0] by GPCS1 pin.

       

      Register 65h~66h GPCS0 Output Mode Control Register

      A 16-bit I/O space base address defined in bit[15:2] is used to cause GPCS0 to assert "active low" signal for subtractively decoded I/O cycles generated by PCI masters that fall in the range specified by this register. This register is available only when GPCS0 is set to output mode.

      Bits 15:2 A[15:2] of GPCS0 I/O Space Base Address

      Bits 1:0 GPCS0 I/O Space Address Mask

      00: Mask A1, A0

      01: Mask A2, A1, A0

      10: Set GPCS0 to GPO function only (default)

      11: Mask A3, A2, A1, A0

       

      Registers 67h~68h GPCS1 Output Mode Control Register

      A 16-bit I/O space base address defined in bit[15:2] is used to cause GPCS1 to assert "active low" signal for subtractively decoded I/O cycles generated by PCI masters that fall in the range specified by this register. This register is available only when GPCS1 is set to output mode.

      Bits 15:2 A[15:2] of GPCS1 I/O Space Base Address

      Bits 1:0 GPCS1 I/O Space Address Mask

      00: Mask A1, A0

      01: Mask A2, A1, A0

      10: Set GPCS1 to GPO function only (default)

      11: Mask A3, A2, A1, A0

       

      Register 69h GPCS0/1 De-Bounce Control Register

      Bits 7:6 GPCS0 I/O Space Address Mask Control

      00: According to the setting of Reg. 66h bit[1:0]

      01: Mask A0~A9

      10: Mask A0~A10

      11: Reserved

      Note: This bit does not affect GPCS1.

      Bit 5 Reserved

      Bit 4 Power Off System Control

      Before enabling this function, Auto Power Control Register I bit 6 should be enabled. Once writing a '1' to this bit, system will be power off.

      Bit 3:0 De-bounce Count for GPCS0/1 De-Bounce Circuit

      The minimum value is 2. The timer-expire interval is calculated by the following equation : The timer-expire interval = (Counts-1)x0.6s

       

      Register 6Ah ACPI/SCI IRQ Remapping Control Register

      Bit 7 ACPI/SCI IRQ Remapping Control

      1: Disable (default)

      0: Enable

      Bit 6 Pin Definition Select for OCO#/OCI2#

      0: OCI2#

      1: OCO#

      Note: Register 62h bit4 can be used to select the polarity of OCI2# or OCO#.

      Bit 5 Pin Definition Select for GPIO8/USB Over_Current (OCI#)

      0: GPIO8

      1: OCI#

      Bit 4 Pin Definition Select for GPIO7/OCO#/OCI2#

      0: GPIO7

      1: OCO#/OCI2#

      Note: Bit6 (Pin Definition Select for OCO#/OCI2#) have function only when Bit4 (Pin Definition Select for GPIO7/OCO#/OCI2#) is set to "1".

      Bits 3:0 Interrupt Remapping Table

      Bits [3:0]

      Remapped IRQ

      Bits [3:0]

      Remapped IRQ

      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

       

      Register 6Bh

      Bits 7:0 Test bits. These bits should be programmed to all 0s.

       

       

      Register 6Ch

      Bits 7:6 Test bits. These bits should be programmed to all 0s.

      Bit 5 IRQ13 Control

      When this bit is set to "1", IRQ13 will be routed to FERRN.(Default is 1)

      Bit 4:2 Test bits. These bits should be programmed to all 0s.

      Bit 1 Enable/Disable The Reading Of All Base Registers In DMA Controller.

      0: Disable. (default)

      1: Enable.

      Bit 0 Reserved.

      This bit should be programmed to 0.

       

      Register 6Dh (Default= 19h)

      Bit 7 Internal Test Bit for Keyboard and PS/2 Mouse Pin Swapping

      0: Normal Mode (Default)

      1: Test Mode

      Bit 6 Pin Definition Select for GPCS1/SIRQ

      0: GPCS1 (default)

      1: SIRQ

      Bit 5 Test bit, must be 0.

      Bit 4 I2C Bus Data Active Level Control

      0: Active Low

      1: Active High (default)

      Bit 3 I2C Bus Clock Active Level Control

      0: Active Low

      1: Active High (default)

      Bit 2 I2C Bus Control

      0: Disable (default)

      1: Enable

      Bit 1 Hot Key Status

      This bit is set when hot key (Ctrl+Alt+Backspace) is pressed and should be cleared at the end of SMI handler. This bit is meaningful only when internal KBC is used.

      Bit 0 Hot Key Control

      0: Disable

      1: Enable (default)

      This bit is meaningful only when internal KBC is used.

       

      Register 6Eh Software-Controlled Interrupt Request, Channels 7-0

      Bit 7 Interrupt Channel 7

      Bit 6 Interrupt Channel 6

      Bit 5 Interrupt Channel 5

      Bit 4 Interrupt Channel 4

      Bit 3 Interrupt Channel 3

      Bit 2 Interrupt Channel 2

      Bit 1 Interrupt Channel 1

      Bit 0 Interrupt Channel 0

      Writing a 1 to these bits will cause the corresponding interrupt requests to be outstanding. This register defaults to all 0s.

       

      Register 6Fh Software-Controlled Interrupt Request, channels 15-8

      Bit 7 Interrupt Channel 15

      Bit 6 Interrupt Channel 14

      Bit 5 Interrupt Channel 13

      Bit 4 Interrupt Channel 12

      Bit 3 Interrupt Channel 11

      Bit 2 Interrupt Channel 10

      Bit 1 Interrupt Channel 9

      Bit 0 Interrupt Channel 8

      Writing a 1 to these bits will cause the corresponding interrupt requests to be outstanding.

       

      Register 70h (Default=12h)

      Bit 7 Enable/Disable the prefetch/postwrite of the ISA master and DMA controller

      0: Disable.

      1: Enable.

      Bit 6 Enable/Disable IOR# and MEMR# cycles extended by 1/2 BCLK

      0: Disable

      1: Enable.

      Bit 5 Test bit. This bit should be programmed to 0

      Bit 4 Pin Definition Select for KLOCK#/GPIO0

      0: GPIO0

      1: KLOCK#

      Bit 3 Integrated Keyboard Controller Status Control

      0: Disable Integrated Keyboard Controller

      1: Enable Integrated Keyboard Controller

      Bit 2 Integrated PS/2 Mouse Interface Status Control

      0: Disable Integrated PS/2 Mouse Interface

      1: Enable Integrated PS/2 Mouse Interface

      Note: This bit has function only when Bit3 (Integrated Keyboard Controller) is enabled.

      Bit 1 Built-in RTC Status (Read Only)

      0: Not used

      1: Used

      When built-in RTC is used, this bit is set to 1.

      Bit 0 Test bit. This bit should be programmed to 0.

       

      Register 71h Type-F DMA Control Register (Default= 00h)

      This register is used to set which DMA channel can perform type-F DMA transfers. A "1" on any bit sets the corresponding DMA channel to perform type-F DMA transfers. This register is available only when the Register 70h bit 7 is enabled in PCI to ISA bridge configuration register.

      Bit 7 DMA Channel 7

      Bit 6 DMA Channel 6

      Bit 5 DMA Channel 5

      Bit 4 Reserved

      Bit 3 DMA Channel 3

      Bit 2 DMA Channel 2

      Bit 1 DMA Channel 1

      Bit 0 DMA Channel 0

       

      Register 72h~73h SMI Triggered By IRQ Control

      When disabled, any event from the corresponding IRQ will cause the system to generate SMI. This register is only meaningful when the Host to PCI bridge configuration register 95h, bit 7 is enabled.

      Bits 15:3 Corresponds To The Mask Bits Of IRQ 15-3

      Bit 2 Reserved

      Bit 1 Corresponds To The Mask Bit Of IRQ1

      Bit 0 Reserved

      0: Disable (default)

      1: Enable

       

      Register 74h~75h System Standby Timer Reload, System Standby State Exit And Throttling State Exit Control

      When disabled, any event from the corresponding IRQ and NMI will cause the system to exit the system standby state, exit the throttling state or reload the system standby timer, which are depended on Legacy PMU register setting.

      Bits 15:3,1 Corresponds To The Mask Bits Of IRQ 15-3,1

      Bit 2 Reserved

      Bit 0 Corresponds To The Mask Bit Of NMI

      0: Disable (default)

      1: Enable

       

      Register 76h~77h Monitor Standby Timer Reload And Monitor Standby State Exit Control

      When disabled, any event from the corresponding IRQ/NMI will cause the system to exit the monitor standby state or reload the monitor standby timer, which are depended on Legacy PMU register setting.

      Bits 15:2 Corresponds To The Mask Bits of IRQ 15-2

      Bit 2 Reserved

      Bit 0 Corresponds To The Mask Bit of NMI

      0: Disable (default)

      1: Enable

       

      Register 80h~81h DDMA Control Register

      Attribute : Write/Read

      Default: 0000h

      Bits 15:4 DMA remap base address

      There is only one DMA Slave Base Address Register, and all of the legacy DMA channels will be grouped into 128 bytes block. (16 bytes times 8 channels).

      Bits 3:1 Reserved

      Bit 0 DMA Master Enable

      0: DMA remapping disable. All accessed DMA legacy addresses are forwarded to the internal DMA controllers.

      1: DMA remapping enable. Individual legacy DMA channels can be remapped.

       

      Register 82h~83h Reserved

       

      Register 84h Legacy DMA Slave Channel Enable

      Attribute: Write/Read

      Default: 00h

      Bit 7 Legacy DMA Slave Channel 7 Enable

      0: Disable

      1: Enable

      Bit 6 Legacy DMA Slave Channel 6 Enable

      0: Disable

      1: Enable

      Bit 5 Legacy DMA Slave Channel 5 Enable

      0: Disable

      1: Enable

      Bit 4 Reserved

      Bit 3 Legacy DMA Slave Channel 3 Enable

      0: Disable

      1: Enable

      Bit 2 Legacy DMA Slave Channel 2 Enable

      0: Disable

      1: Enable

      Bit 1 Legacy DMA Slave Channel 1 Enable

      0: Disable

      1: Enable

      Bit 0 Legacy DMA Slave Channel 0 Enable

      0: Disable

      1: Enable

       

      Register 85h~87h Reserved

       

      Register 88h Serial Interrupt Control Register

      Attribute : Write/Read

      Default Value : 00h

      Bit 7 Serial Interrupt (SIRQ) Control

      0: Disable

      1: Enable

      Bit 6 Quiet/Continuous Mode

      0: Quiet

      1: Continuous

      Bits 5:2 SIRQ Sample Period

      0000: 17 slots

      0001: 18 slots

      0010: 19 slots

      :::::::::::::

      1111: 32 slots

      Bits 1:0 Start Cycle length

      00: 4 PCI clocks

      01: 6 PCI clocks

      10: 8 PCI clocks

      11: Reserved

       

      Register 89h Serial Interrupt Enable Register 1

      Attribute : Write/Read

      Default Value : 00h

      Bit 7 Reserved

      Bit 6 Serial IRQ7 Enable

      0: Disable

      1: Enable

      Bit 5 Serial IRQ6 Enable

      0: Disable

      1: Enable

      Bit 4 Serial IRQ5 Enable

      0: Disable

      1: Enable

      Bit 3 Serial IRQ4 Enable

      0: Disable

      1: Enable

      Bit 2 Serial IRQ3 Enable

      0: Disable

      1: Enable

      Bit 1 Serial SMI# Enable

      0: Disable

      1: Enable

      Bit 0 Reserved

       

      Register 8Ah Serial Interrupt Enable Register 2

      Attribute : Write/Read

      Default Value : 00h

      Bit 7 Serial IOCHCK# Enable

      0: Disable

      1: Enable

      Bit 6 Serial IRQ15 Enable

      0: Disable

      1: Enable

      Bit 5 Serial IRQ14 Enable

      0: Disable

      1: Enable

      Bit 4 Reserved

      Bit 3 Serial IRQ12 Enable

      0: Disable

      1: Enable

      Bit 2 Serial IRQ11 Enable

      0: Disable

      1: Enable

      Bit 1 Serial IRQ10 Enable

      0: Disable

      1: Enable

      Bit 0 Serial IRQ9 Enable

      0: Disable

      1: Enable

       

      Register 90h~91h ACPI Base Address Register

       

      1. Offset Register for ACPI/SCI Base Address Register

      The following Registers are shown the offset register of ACPI , i.e., Register 00h means the I/O address <Base> + 00h and the Base address is programmed in the Register 90h~91h of PCI to ISA bridge Configuration Register.

      Register 00h Power Management Status Register

      Bit 15 Wake up status (WAK_STS)

      This bit is set when the system in the suspend state and an enable resume event occurs. Upon setting this bit, the state machine will transition the system to the on state. This bit can only be set by hardware and only can be cleared by software writing a one to this bit position.

      Bits 14:11 Reserved

      Bit 10 RTC status (RTC_STS)

      This bit is set when the RTC generates an alarm. While both RTC_EN bit and RTC_STS bit are set, a power management event is raised( SCI, SMI or resume event ). This bit is only set by hardware and only be reset by software writing a one to this bit position.

      Bit 9 Reserved

      Bit 8 Power button status (PWRBTN_STS)

      This bit is set when the power button is pushed (The PWRBT# signal is asserted Low). In the working state, while PWRBTN_STS bit and PWRBTN_EN bit are both set then a SCI is raised. In the sleeping state, while PWRBTN_STS bit and PWRBTN_EN bit are both set then a wake-up event is generated. This bit is only set by hardware and can only be reset by software writing a one to this bit position.

      Bits 7:6 Reserved

      Bit 5 Global status (GBL_STS)

      This bit is set when an SCI is generated due to BIOS wanting the attention of the SCI handler. BIOS will have a control bit which raise an SCI. ( Register 1C bit 10 )

      Bit 4 Bus master status

      This is the bus master status bit. This bit is set anytime a system bus master requests the system bus, and can only be cleared by writing a one to this bit position.

      Bits 3:1 Reserved

      Bit 0 Power management timer status (TMR_STS)

      Power management timer status or DOZE timer status. Only the Offset Register 1C bit 13 is set to 1 and SCI_EN bit is set to 0, the free running timer (24 bit timer) is to be DOZE timer. If the most significant bit of 24 bits timer is changed from "1" to "0" or "0" to "1", then the TMR_STS bit will be set. While TMR_STS bit and TMR_EN bit are set, a power management is raised. It can only be cleared by writing a one to this bit position.

       

      Register 02h Power Management Resume Enable Register

      Bits 15:11 Reserved

      Bit 10 RTC Enable (RTC_EN)

      This bit is used to enable the setting of the RTC_STS bit to generate a power management event. ( SCI, SMI or WAKE )

      Bit 9 Reserved

      Bit 8 Power Button Enable (PWRBTN_EN)

      This bit is used to enable the setting of the PWRBTN_STS bit to generate a power management event ( SCI, SMI or WAKE )

      Bits 7:6 Reserved

      Bit 5 Global Enable (GBL_EN)

      The global enable bit. When both the GBL_EN bit and GBL_STS bit are set then an SCI is raised.

      Bits 4:1 Reserved

      Bit 0 Power management timer Enable (TMR_EN)

      This is the 24 bits free running timer enable bit. If this bit and TMR_STS bit are set then a power management event is raised. ( SMI or SCI )

       

      Register 04h Power Management Control Register

      Bits 15:14 Reserved

      Bit 13 Sleeping Enable (SLP_EN)

      This is a write-only bit and reads it always return a zero. Setting this bit causes the system to sequence into the suspend state defined by the SLP_TYP field.

      Bits 12:10 Sleeping Type (SLP_TYP)

      Defines the type of suspend type that the system should enter power down mode when the SLP_EN bit is set to one.

      000: S1 state

      100: S5 state

      Bit 9 SiS Proprietary Bit, must be 1

      Bits 8:3 Reserved

      Bit 2 Global Release GBL_RLS

      This bit is used by the ACPI software to raise an SMI to the BIOS software. BIOS software has a corresponding enable and status to control its ability to receive ACPI events. ( Register 25 bit 0 and Register 26 bit 0 )

      Bit 1 Bus Master Reload Enable (BM_RLD)

      If enabled, this bit allows a bus master request to cause any processor in the C3 state to transition to the C0 state.

      0: Disable

      1: Enable

      Bit 0 SCI Enable (SCI_EN)

      Selects the power management event to be either an SCI or SMI interrupt. When this bit is set , then the power management events will generate an SCI interrupt. When this bit is reset power management events will generate an SMI interrupt.

       

      Register 08h ACPI Power Timer Register

      Bits 31:24 Reserved

      Bits 23:0 Power management timer value

      This read-only field returns the running count of the power management timer. The timer-expire interval is translated by the follow equation :

      Timer-Expire Interval=(Timer Counter-1) x 0.28us

      Register 0Ch

      Bits 31:7 Reserved

      Bit 6 IRQ0 Enable

      This bit enables the de-assert STPCLK# a short time when IRQ0 happens during C2 and C3 state.

      Bit 5 CPU Clock Control

      This bit controls the clock generator control function via pin GPO6 during S1 state.

      Bit 4 Throttling Function Enable

      This bit enables clock throttling function.

      Bits 3:1 Throttling Duty cycle Control

      This 3-bit field determines the duty cycle of the STPCLK# signal when the system in the throttling mode.

      000 RESERVED

      001 7 : 1 ( High : Low )

      010 6 : 2

      011 5 : 3

      100 4 : 4

      101 3 : 5

      110 2 : 6

      111 1 : 7

      Bit 0 Reserved

      Register 10h

      Bits 7:0 Enter C2 Power state register

      Reads to this register return all zeros, writes to this register have no effect. Reads to this register also generate a " Enter a C2 power state ".

       

      Register 11h

      Bits 7:0 Enter C3 Power state register

      Reads to this register return all zeros, writes to this register have no effect. Reads to this register also generate a " Enter a C3 power state ".

       

      Register 12h

      Bits 7:1 Reserved

      Bit 0 Arbiter disable

      In order to maintain the Cache coherence when CPU is in the C3 state, the other master should not get the grant. This bit is used to enable and disable the system arbiter. When this bit is "0" the system arbiter is enable and can grant the bus to other bus masters bus. When this bit is "1" the system arbiter is disable, and the default CPU has ownership of the system bus.

       

      Register 13h

      Bits 7:0 General Purpose Timer

      It is a down counter. It has the time resolution 1 µ sec or 1 min. While a value is written to this timer, it begin to count. It raises a power management event when the counter is time out. In addition, it can be a suspend timer when Register 1C bit 11 is set to 1 and SCI_EN is 0.

       

      Register 14h

      Bit 15 Wakeup IRQ status(WAKEIRQ_STS)

      This bit is set when IRQ[1-15] or NMI is generated. WAK_STS is set when both WAKEIRQ_STS and WAKEIRQ_EN are set at SUSPEND mode.

      Bit 14 USB status(USB_STS)

      This bit is set when USB event is generated. While both USB_STS and USB_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bit 13 General purpose timer status(GPTIMER_STS)

      This bit is set when General purpose timer is time out. While both GPTIMER_STS and GPTIMER_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bit 12 GPIO10 status(GPIO10_STS)

      This bit is set when GPIO10 event is generated and GPIO10 is to be input function. While both GPIO10_STS and GPIO10_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bit 11 GPIO9/Thermal status(GPIO9_STS)

      This bit is set when GPIO9 event is generated and GPIO9 is to be input function. While both GPIO9_STS and GPIO9_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bit 10 GPIO8 status(GPIO8_STS)

      This bit is set when GPIO8 event is generated and GPIO8 is to be input function. While both GPIO8_STS and GPIO8_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bit 9 GPIO7 status(GPIO7_STS)

      This bit is set when GPIO7 event is generated and GPIO7 is to be input function. While both GPIO7_STS and GPIO7_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bit 8 SERIAL IRQ status(SIRQ_STS)

      This bit is set when serial IRQ event is generated. While both SIRQ_STS and SIRQ_EN are set to 1, a power management event is raised.( SMI ) It can only be cleared by writting a one to this bit position.

      Bit 7 GPIO5 status(GPIO5_STS)

      This bit is set when GPIO5 event is generated and GPIO5 is to be input function. While both GPIO5_STS and GPIO5_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bits 6:5 Reserved

      Bit 4 GPIO2 status(GPIO2_STS)

      This bit is set when GPIO2 event is generated and GPIO2 is to be input function. While both GPIO2_STS and GPIO2_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bit 3 GPIO1 status(GPIO1_STS)

      This bit is set when GPIO1 event is generated and GPIO1 is to be input function. While both GPIO1_STS and GPIO1_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bit 2 GPIO0 status(GPIO0_STS)

      This bit is set when GPIO0 event is generated and GPIO0 is to be input function. While both GPIO0_STS and GPIO0_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bit 1 External SMI Status (HOTKEY_STS)

      This bit is set when HOTKEY (via EXTSMI#) event is generated. While both HOTKEY_STS and HOTKEY_EN are set to 1, a power management event is raised.( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

      Bit 0 Ring Status(RI_STS)

      This bit is set when MODEM ring event is generated. While both RI_STS and RI_EN are set to 1, a power management event is raised. ( SMI, SCI or WAKE ) It can only be cleared by writting a one to this bit position.

       

      Register 16h

      Bit 15 Wake up IRQ Enable(WAKEIRQ_EN)

      The WAKEIRQ enable bit. When WAKEIRQ_EN and WAKEIRQ_STS are set during SUSPEND, WAK_STS will be set.

      Bit 14 USB Enable(USB_EN)

      The USB enable bit. When USB_EN and USB_STS are set, a power management is raised.

      Bit 13 General purpose timer Enable(GPTIMER_EN)

      The General Purpose timer enable bit. When GPTIMER_STS and GPTIMER_EN are set, a power management is raised.

      Bit 12 Reserved

       

       

      Bit 11 GPIO9 Enable(GPIO9_EN)

      The GPIO9 enable bit. When GPIO9_STS and GPIO9_EN are set, a power management event is raised.

      Bit 10 GPIO8 Enable(GPIO8_EN)

      The GPIO8 enable bit. When GPIO8_STS and GPIO8_EN are set, a power management event is raised.

      Bit 9 GPIO7 Enable(GPIO7_EN)

      The GPIO7 enable bit. When GPIO7_STS and GPIO7_EN are set, a power management event is raised.

      Bit 8 Serial IRQ Enable(SIRQ_EN)

      The serial IRQ enable bit. When SIRQ_STS and SIRQ_EN are set, a power management event is raised.

      Bit 7 Reserved

       

      Bits 6:5 Reserved

      Bit 4 GPIO2 Enable(GPIO2_EN)

      The GPIO2 enable bit. When GPIO2_STS and GPIO2_EN are set, a power management event is raised.

      Bit 3 GPIO1 Enable(GPIO1_EN)

      The GPIO1 enable bit. When GPIO1_STS and GPIO1_EN are set, a power management event is raised.

      Bit 2 GPIO0 Enable(GPIO0_EN)

      The GPIO0 enable bit. When GPIO0_STS and GPIO0_EN are set, a power management event is raised.

      Bit 1 Hotkey (via EXTSMI#) Enable (HOTKEY_EN)

      The HOTKEY enable bit. When HOTKEY_STS and HOTKEY_EN are set, a power management event is raised.

      Bit 0 Ring Enable(RI_EN)

      The MODEM ring enable bit. When RI_EN and RI_STS are set, a power management event is raised.

       

      Register 18h

      Bits 15:11 Reserved

      Bit 10 GPIO10 pin status register

      When GPIO10 is to be input function, it can read the input status via this register. When GPIO10 is to be output function, it can write any value to system via this register to control the external peripheral device.

      Bit 9 GPIO9 pin status register

      When GPIO9 is to be input function, it can read the input status via this register. When GPIO9 is to be output function, it can write any value to system via this register to control the external peripheral device.

      Bit 8 GPIO8 pin status register

      When GPIO8 is to be input function, it can read the input status via this register. When GPIO8 is to be output function, it can write any value to system via this register to control the external peripheral device.

      Bit 7 GPIO7 pin status register

      When GPIO7 is to be input function, it can read the input status via this register. When GPIO7 is to be output function, it can write any value to system via this register to control the external peripheral device.

      Bit 6 GPO6 pin status register

      It can write any value to system via this register to control the external peripheral device.

      Bit 5 GPIO5 pin status register

      When GPIO5 is to be input function, it can read the input status via this register. When GPIO5 is to be output function, it can write any value to system via this register to control the external peripheral device.

      Bit 4 GPO4 pin status register

      It can write any value to system via this register to control the external peripheral device.

      Bit 3 GPO3 pin status register

      It can write any value to system via this register to control the external peripheral device.

      Bit 2 GPIO2 pin status register

      When GPIO2 is to be input function, it can read the input status via this register. When GPIO2 is to be output function, it can write any value to system via this register to control the external peripheral device.

      Bit 1 GPIO1 pin status register

      When GPIO1 is to be input function, it can read the input status via this register. When GPIO1 is to be output function, it can write any value to system via this register to control the external peripheral device.

      Bit 0 GPIO0 pin status register

      When GPIO0 is to be input function, it can read the input status via this register. When GPIO0 is to be output function, it can write any value to system via this register to control the external peripheral device.

       

      Register 1Ah

      Bits 15:10 Reserved

      Bit 9 GPIO9 INPUT/OUTPUT Control

      0 : Input Mode

      1 : Output Mode

      Bit 8 GPIO8 INPUT/OUTPUT Control

      0 : Input Mode

      1 : Output Mode

      Bit 7 GPIO7 INPUT/OUTPUT Control

      0 : Input Mode

      1 : Output Mode

      Bits 6:3 Reserved

      Bit 2 GPIO2 INPUT/OUTPUT Control

      0 : Input Mode

      1 : Output Mode

      Bit 1 GPIO1 INPUT/OUTPUT Control

      0 : Input Mode

      1 : Output Mode

      Bit 0 GPIO0 INPUT/OUTPUT Control

      0 : Input Mode

      1 : Output Mode

       

      Register 1Ch

      Bits15:14 Reserved

      Bit 13 Power Management timer functional selection

      0 : ACPI PM timer

      1 : DOZE timer

      Bit 12 General Purpose timer of time slot

      0 : 1 us

      1 : 1 min

      Bit 11 General Purpose timer functional Selection

      0 : BIOS timer

      1 : Suspend timer

      Bit 10 BIOS relationship (BIOS_RLS)

      This bit is set by BIOS then the Global status bit (Register 00 bit 5) will be set.

      Bit 9 Pin Definition Select for THRM#/GPIO9

      0 : THRM#(Thermal detect)

      1 : GPIO9

      Bit 8 Ring In detection method

      0 : Lasting low 150ms

      1 : Between 14Hz and 70 Hz

      Bit 7 Reserved

      Bit 6 Pin Definition Select for GPO6/MA14

      0: GPO6

      1: MA14

      Bit 5 Pin Definition Select for GPO4/MA13

      0: MA13

      1: GPO4

      Bit 4 Pin Definition Select for GPO3/MA12

      0: MA12

      1: GPO3

      Bit 3 Throttling function for thermal

      0 : Disable

      1 : Enable

      If thermal is too high and asserted, throttling function will work. In this situation, it don't care the throttling enable bit.

      Bit 2 GPIO2 Pin Control

      0 : Not used (means NC pin)

      1 : Used

      Bit 1 GPIO1 Pin Control

      0 : Not used (means NC pin)

      1 : Used

      Bit 0 GPIO0 Pin Control

      0 : Not used (means NC pin)

      1 : Used

       

      Register 1Eh

      Bits 15:12 Reserved

      Bit 11 Hot key polarity ( via EXTSMI# )

      0 : Low activity

      1 : High activity

      Bit 10 GPIO10 polarity in Input Mode

      0 : Low activity

      1 : High activity

      Bit 9 GPIO9/Thermal polarity in Input Mode

      0 : Low activity

      1 : High activity

      Bit 8 GPIO8 polarity in Input Mode

      0 : Low activity

      1 : High activity

      Bit 7 GPIO7 polarity in Input Mode

      0 : Low activity

      1 : High activity

      Bit 6 Reserved

      Bit 5 GPIO5 polarity in Input Mode

      0 : Low activity

      1 : High activity

      Bits 4:3 Reserved

      Bit 2 GPIO2 polarity in Input Mode

      0 : Low activity

      1 : High activity

      Bit 1 GPIO1 polarity in Input Mode

      0 : Low activate

      1 : High activate

      Bit 0 GPIO0 polarity in Input Mode

      0 : Low activate

      1 : High activate

       

      Register 20h

      Bit 7:0 SMI Command Port

       

      Register 24h

      Bit 7 Reserved

      Bit 6 Pin Definition Select for GPIO9/THRM#/IOCHK#

      0 : IOCHK#

      1 : GPIO9/THRM#

      Bits 5:2 Reserved

      Bit 1 Power control for Integrated VGA Memory Clock

      0 : Enable

      1 : Disable

      Bit 0 Power control for Integrated VGA suspend mode

      0 : Enable

      1 : Disable

       

      Register 25h

      Bits 7:5 Reserved

      Bit 4 SMI command disable Status (SMICMDDIS_STS)

      This bit is set when OS write ACPI disable value to SMI command port. While SMICMDDIS_STS and SMICMD_DIS are set to 1, a SMI is raised.

      Bit 3 SMI command enable Status (SMICMDEN_STS)

      This bit is set when OS write ACPI enable value to SMI command port. While SMICMDEN_STS and SMICMD_EN are set to 1, a SMI is raised.

      Bit 2 Period SMI Status (PERSMI_STS)

      When period SMI is enable in legacy PMU, every 16 sec this bit will be set.

      Bit 1 LEGA_STS ( only can be used for SMI generation )

      This bit is set when system wake up from suspend in legacy PMU. When both LEGA_STS and LEGA_EN are set, a SMI is raised. It can only be cleared by writting a one to this bit position.

      Bit 0 BIOS_STS( only can be used for SMI generation )

      This bit is set when a SMI is generated due to the ACPI wanting the attention of SMI handler. When both BIOS_STS and BIOS_EN are set, a SMI is raised. It can only be cleared by writting a one to this bit position.

       

      Register 26h

      Bits 7:6 Reserved

      Bit 5 Reload DOZE or SUSPEND timer bit

      When this bit is enable, monitor events of Register 90h and 91h of Host to PCI bridge configuration space will reload DOZE or SUSPEND timer.

      Bit 4 SMI Command Disable (SMICMD_DIS)

      SMI command disable bit. While SMICMDDIS_STS and SMICMD_DIS are set to 1, a SMI is raised.

      Bit 3 SMI Command Enable (SMICMD_EN)

      SMI command enable bit. While SMICMDEN_STS and SMICMD_EN are set to 1, a SMI is raised.

      Bit 2 PER_SMI ( only can be used for SMI generation)

      If this bit is set to 1, every 16 sec sends a SMI.

      Bit 1 LEGA_EN ( only can be used for SMI generation)

      Legacy PMU enable bit.

      Bit 0 BIOS_EN

      BIOS enable bit. This bit corresponds to BIOS_STS bit (Register 25, bit 0) in order to raise the SMI.

       

      Register 28h

      Bits 7:0 Programming SMI command port enable value

       

      Register 29h

      Bits 7:0 Programming SMI command port disable value

       

      Register 2Ah Mail Box

      Bits 7:0 Free storage

      R/W register for BIOS or ACPI to use.

       

      Register 2Bh

      Bits 7:1 Reserved

      Bit 0 ACPI test mode ( for internal use only)

      0 : Normal Mode

      1: Test Mode

       

    5. Non-Configuration Registers
    6. DMA Registers

      These registers can be accessed from PCI bus.

      Address

      Attribute

      Register Name

      0000h

      R/W

      DMA1 CH0 Base and Current Address Register

      0001h

      R/W

      DMA1 CH0 Base and Current Count Register

      0002h

      R/W

      DMA1 CH1 Base and Current Address Register

      0003h

      R/W

      DMA1 CH1 Base and Current Count Register

      0004h

      R/W

      DMA1 CH2 Base and Current Address Register

      0005h

      R/W

      DMA1 CH2 Base and Current Count Register

      0006h

      R/W

      DMA1 CH3 Base and Current Address Register

      0007h

      R/W

      DMA1 CH3 Base and Current Count Register

      0008h

      R/W

      DMA1 Status(r) Command(w) Register

      0009h

      WO

      DMA1 Request Register

      000Ah

      WO

      DMA1 Write Single Mask Bit

      000Bh

      WO

      DMA1 Mode Register

      000Ch

      WO

      DMA1 Clear Byte Pointer

      000Dh

      WO

      DMA1 Master Clear

      000Eh

      WO

      DMA1 Clear Mask Register

      000Fh

      R/W

      DMA1 Write All Mask Bits(w) Mask Status Register(r)

      00C0h

      R/W

      DMA2 CH0 Base and Current Address Register

      00C2h

      R/W

      DMA2 CH0 Base and Current Count Register

      00C4h

      R/W

      DMA2 CH1 Base and Current Address Register

      00C6h

      R/W

      DMA2 CH1 Base and Current Count Register

      00C8h

      R/W

      DMA2 CH2 Base and Current Address Register

      00CAh

      R/W

      DMA2 CH2 Base and Current Count Register

      00CCh

      R/W

      DMA2 CH3 Base and Current Address Register

      00CEh

      R/W

      DMA2 CH3 Base and Current Count Register

      00D0h

      R/W

      DMA2 Status(r) Command(w) Register

      00D2h

      WO

      DMA2 Request Register

      00D4h

      WO

      DMA2 Write Single Mask Bit Register

      00D6h

      WO

      DMA2 Mode Register

      00D8h

      WO

      DMA2 Clear Byte Pointer

      00DAh

      WO

      DMA2 Master Clear

      00DCh

      WO

      DMA2 Clear Mask Register

      00DEh

      R/W

      DMA2 Write All Mask Bits(w) Mask Status Register(r)

      These registers can be accessed from PCI bus or ISA bus.

      Address

      Attribute

      Register Name

      0080h

      R/W

      Reserved

      0081h

      R/W

      DMA Channel 2 Low Page Register

      0082h

      R/W

      DMA Channel 3 Low Page Register

      0083h

      R/W

      DMA Channel 1 Low Page Register

      0084h

      R/W

      Reserved

      0085h

      R/W

      Reserved

      0086h

      R/W

      Reserved

      0087h

      R/W

      DMA Channel 0 Low Page Register

      0088h

      R/W

      Reserved

      0089h

      R/W

      DMA Channel 6 Low Page Register

      008Ah

      R/W

      DMA Channel 7 Low Page Register

      008Bh

      R/W

      DMA Channel 5 Low Page Register

      008Ch

      R/W

      Reserved

      008Dh

      R/W

      Reserved

      008Eh

      R/W

      Reserved

      008Fh

      R/W

      Refresh Low Page Register

       

      Interrupt Controller Registers (These registers can be accessed from PCI bus or ISA bus.)

      Address

      Attribute

      Register Name

      0020h

      R/W

      INT 1 Base Address Register

      0021h

      R/W

      INT 1 Mask Register

      00A0h

      R/W

      INT 2 Base Address Register

      00A1h

      R/W

      INT 2 Mask Register

      Timer Registers (These registers can be accessed from PCI bus or ISA bus.)

      Address

      Attribute

      Register Name

      0040h

      R/W

      Interval Timer 1 - Counter 0

      0041h

      R/W

      Interval Timer 1 - Counter 1

      0042h

      R/W

      Interval Timer 1 - Counter 2

      0043h

      WO

      Interval Timer 1 - Control Word Register

      RTC Registers

      Address

      Attribute

      Register Name

      00h

      R/W

      Seconds

      01h

      R/W

      Seconds Alarm

      02h

      R/W

      Minutes

      03h

      R/W

      Minutes Alarm

      04h

      R/W

      Hours

      05h

      R/W

      Hours Alarm

      06h

      R/W

      Day of Week

      07h

      R/W

      Day of Month

      08h

      R/W

      Month

      09h

      R/W

      Year

      0Ah

      R/W

      Register A

      0Bh

      R/W

      Register B ( bit 3 must be set to 0)

      0Ch

      R/W

      Register C

      0Dh

      R/W

      Register D

      7Eh

      R/W

      Day of Month Alarm

      7Fh

      R/W

      Month Alarm

      Note: Day of Month Alarm and Month Alarm on 7Eh/7Fh have function only when APC_EN is enabled (APC I:[6]=1)

      APC Control Registers ( Must set Register 44h bit 4 to 1 to access these registers)

      Address

      Attribute

      Register Name

      00h

      R/W

      Reserved

      01h

      R/W

      Reserved

      02h

      R/W

      Day of Week Alarm

      03h

      R/W

      Auto Power Control Register I

      04h

      R/W

      Auto Power Control Register II

      Day of Week Alarm Register

      Bit 7 Automatic Power Up System On Sat

      0: Disable

      1: Enable

      Before enabling this function, Auto Power Control Register I bit 6 and Day of Week Alarm Register bit 0 should be enabled and RTC Alarm should be programmed.

      Bit 6 Automatic Power Up System On Fri

      0: Disable

      1: Enable

      Before enabling this function, Auto Power Control Register I bit 6 and Day of Week Alarm Register bit 0 should be enabled and RTC Alarm should be programmed.

      Bit 5 Automatic Power Up System On Thu

      0: Disable

      1: Enable

      Before enabling this function, Auto Power Control Register I bit 6 and Day of Week Alarm Register bit 0 should be enabled and RTC Alarm should be programmed.

      Bit 4 Automatic Power Up System On Wed

      0: Disable

      1: Enable

      Before enabling this function, Auto Power Control Register I bit 6 and Day of Week Alarm Register bit 0 should be enabled and RTC Alarm should be programmed.

      Bit 3 Automatic Power Up System On Tue

      0: Disable

      1: Enable

      Before enabling this function, Auto Power Control Register I bit 6 and Day of Week Alarm Register bit 0 should be enabled and RTC Alarm should be programmed.

      Bit 2 Automatic Power Up System On Mon

      0: Disable

      1: Enable

      Before enabling this function, Auto Power Control Register I bit 6 and Day of Week Alarm Register bit 0 should be enabled and RTC Alarm should be programmed.

      Bit 1 Automatic Power Up System On Sun

      0: Disable

      1: Enable

      Before enabling this function, Auto Power Control Register I bit 6 and Day of Week Alarm Register bit 0 should be enabled and RTC Alarm should be programmed.

      Bit 0 Day of Week Alarm Control (DayWeekAlarm_EN)

      0: Disable

      1: Enable

      Before enabling this function, Auto Power Control Register I bit 6 should be enabled.

      Auto Power Control Register I

      Bit 7 Reserved

      Bit 6 Auto Power Control (APC) Function Control (APC_EN)

      0: Disable

      1: Enable

      When enabling this bit, functions of automatic power up system, power off system and a ring leads to power up system may work.

      Bit 5 RING Function Control (RNUP_EN)

      0 : Disable

      1 : Enable

      Before enabling this function, Auto Power Control Register I bit 6 should be enabled.

      Bit 4 RING Input Active Level Control

      0: Active high

      1: Active low

      Bit 3 GPIO5 Leads To Power Up System Control (STARTREQ_EN)

      0 : Disable (default)

      1 : Enable

      A high to low transition on GPIO5 leads to activate the power up control, this bit is effective only when bit 6 of Auto Power Control Register I is set.

      Bit 2 ACPI Alarm Function Status Control

      0 : Disable

      1 : Enable

      This bit is used to enable the five alarm functions in RTC registers 01h, 03h, 05h, 7Eh, 7Fh.

      Note: Before enabling this function, APC I[6] should be enabled.

      Bit 1 Test Mode for internal use only

      0 : Normal Mode

      1 : Test Mode

      Bit 0 Test Mode for internal use only

      0 : Normal Mode

      1 : Test Mode

      Auto Power Control Register II

      Bits 7:4 Reserved

      Bit 3 GPIO10 as Input/Output Mode Control

      0: Output Mode

      1: Input Mode

      Bit 2 GPIO5 as Input/Output Mode Control

      0: Output Mode

      1: Input Mode

      Bit 1 Pin Definition Select for GPIO10/ACPILED Selection

      0: GPIO10

      1: ACPILED

      Bit 0 1 Hz function Support

      0: Disable

      1: Enable

       

      Other Registers (These registers can be accessed from PCI bus or ISA bus.)

      Address

      Attribute

      Register Name

      0061h

      R/W

      NMI Status Register

      0070h

      WO

      CMOS RAM Address and NMI Mask Register

      00F0h

      WO

      Coprocessor Error Register

       

       

      Register 4D0h IRQ Edge/Level Control Register 1

      Bit 7 IRQ7

      0: Edge sensitive

      1: Level sensitive

      Bit 6 IRQ6

      0: Edge sensitive

      1: Level sensitive

      Bit 5 IRQ5

      0: Edge sensitive

      1: Level sensitive

      Bit 4 IRQ4

      0: Edge sensitive

      1: Level sensitive

      Bit 3 IRQ3

      0: Edge sensitive

      1: Level sensitive

      Bit 2 IRQ2

      This bit must be set to 0. Read as 0.

      Bit 1 IRQ1

      This bit must be set to 0. Read as 0.

      Bit 0 IRQ0

      This bit must be set to 0. Read as 0.

      After reset this register is set to 00h.

      Register 4D1h IRQ Edge/Level Control Register 2

      Bit 7 IRQ15

      0: Edge sensitive

      1: Level sensitive

      Bit 6 IRQ14

      0: Edge sensitive

      1: Level sensitive

      Bit 5 IRQ13

      This bit must be set to 0. Read as 0.

      Bit 4 IRQ12

      0: Edge sensitive

      1: Level sensitive

      Bit 3 IRQ11

      0: Edge sensitive

      1: Level sensitive

      Bit 2 IRQ10

      0: Edge sensitive

      1: Level sensitive

      Bit 1 IRQ9

      0: Edge sensitive

      1: Level sensitive

      Bit 0 IRQ8#

      This bit must be set to 0. Read as zero.

      After reset this register is set to 00h.

       

      Register CF9h Reset control register

      Bits 7:5 Reserved

      Bit 4 INIT Control

      0: Drive INIT during keyboard reset

      1: Drive CPURST# during keyboard reset and INIT is inactive.

      Bits 3:2 Software Reset Control

      Writing "11" to these two bits at the same time will generate CPURST.

      Bits 1:0 Reserved

       

    7. PCI IDE Configuration Space
    8. Device

      IDSEL

      Function Number

      IDE

      AD12

      0001b

       

      Register 00~01h - Vendor ID

      Bits 15:0 1039h(Read Only)

       

      Register 02~03h - Device ID

      Bits 15:0 5513h(Read only)

       

      Register 04h~05h Command port

      Bits 15:8 00h(Read Only)

      Bits 7:3 These bits are hardwired to 0.

      Bit 2 Bus Master Enable

      When set, the Bus master function is enabled. It is disabled by default.

      Bit 1 Memory Space Enable

      This bit should be programmed as "0".

      Bit 0 I/O Space Enable

      When enabled, the built-in IDE will respond to any access of the IDE legacy ports in the compatibility mode, or to any access of the IDE relocatable ports in the native mode. Also, any access to the PCI bus master IDE registers are allowed. This bit is zero(disabled) on reset.

       

      Register 06h~07h Status

      Bits 15:14 These bits are hardwired to zero.

      Bit 13 Master Abort Asserted

      This bit is set when a PCI bus master IDE transaction is terminated by master abort. While this bit is set, IDE will issue an interrupt request. This bit can be cleared by writing a 1 to it.

      Bit 12 Received Target Abort

      The bit is set whenever PCI bus master IDE transaction is terminated with target abort.

      Bit 11 Signaled Target Abort.

      The bit will be asserted when IDE terminates a transaction with target abort.

      Bits 10:9 DEVSEL# Timing

      These two bits define the timing of asserting DEVSEL#. The built-in IDE always asserts DEVSEL# in fast timing, and thus the two bits are hardwired to 0 per PCI Spec.

      Bit 8 Reserved, Read as "0".

      Bits 7:6 These bits are hardwired to zero.

      Bit 5 This is a reserved bit, and is recommend to program 0.

      Bits 4:0 These bits are hardwired to zero.

       

      Register 08h - Revision Identification

      Bits 7:0 D0h(Read Only)

       

      Register 09h - Programming Interface Byte

      Bit 7 Master IDE Device

      This bit is hardwired to one to indicate that the built-in IDE is capable of supporting bus master function.

      Bits 6:4 Reserved

      Bit 3 Secondary IDE Programmable Indicator

      When the bit is programmed as '1', it means that the primary channel can be programmed to operate in compatible or native mode. When the bit is programmed as ‘0’, the mode is fixed and is determined by the value of bit 2. This bit should be programmed as ‘1’ during the BIOS boot up procedures.

      Bit 2 Secondary IDE Operating Mode

      This bit defines the mode that the secondary IDE channel is operating in. Zero corresponds to 'compatibility' while one means native mode. By default, this bit is 0 and is programmable.

      Bit 1 Primary IDE Programmable Indicator

      When the bit is programmed as '1', it means that the primary channel can be programmed to operate in compatible or native mode. When the bit is programmed as ‘0’, the mode is fixed and is determined by the value of bit 0. This bit should be programmed as ‘1’ during the BIOS boot up procedures.

      Bit 0 Primary IDE Operating Mode

      This bit defines the mode that the primary IDE channel is operating in. Zero corresponds to 'compatibility' while one means native mode. By default, this bit is 0 and is programmable.

       

      Register 0Ah - Subclass ID

      Bits 7:0 01h

       

      Register 0Bh - Class ID

      Bits 7:0 01h

       

      Register 0Ch - Cache Line Size

      Bits 7:0 00h

       

      Register 0Dh- Latency Timer

      Bits 7:0 Programmable (from 0 to 255). The default value is 0.

       

      Register 0Eh - Header Type

      Bits 7:0 80h

       

      Register 0Fh - BIST

      Bits 7:0 00h

       

      Register 10h~13h Primary Channel Command Block Base Address Register

      Register 14h~17h Primary Channel Control Block Base Address Register

       

      Register 18h~1Bh Secondary Channel Command Block Base Address Register

       

      Register 1Ch~1Fh Secondary Channel Control Block Base Address Register

      In the native mode, above four registers define the IDE base address for each of the two IDE devices in both the primary and secondary channels respectively. In the compatible mode, the four registers can still be programmed and read out, but it does not affect the IDE address decoding.

       

      Register 20h~23h Bus Master IDE Control Register Base Address

      Offset Register

      Register Access

      00h

      Bus Master IDE Command Register (Primary)

      01h

      Reserved

      02h

      Bus Master IDE Status Register(Primary)

      03h

      Reserved

      04-07h

      Bus Master IDE PRD (*) Table Pointer (Primary)

      08h

      Bus Master IDE Command Register (Secondary)

      09h

      Reserved

      0Ah

      Bus Master IDE Status Register (Secondary)

      0Bh

      Reserved

      0C-0Fh

      Bus Master IDE PRD (*) Table Pointer (Secondary)

      *PRD: Physical Region Descriptor

       

      Register 24h~2Bh Reserved

       

      Register 2Ch Subsystem ID

      This register can be written once and is used to identify vendor of the subsystem.

       

      Register 2Dh~2Fh Reserved. Read as"0".

       

      Register 30h~33h Expansion ROM Base Address

       

      Register 40h IDE Primary Channel/Master Drive Data Recovery Time Control.

      Bit 7 Test mode for internal use only

      0: Normal mode

      1: Test mode

      Bit 6 Test mode for internal use only

      0: Normal mode

      1: Test mode

      Bits 5:4 Reserved

      Bits 3:0 Recovery Time

      0000: 12 PCICLK 0001: 1 PCICLK

      0010: 2 PCICLK 0011: 3 PCICLK

      0100: 4 PCICLK 0101: 5 PCICLK

      0110: 6 PCICLK 0111: 7 PCICLK

      1000: 8 PCICLK 1001: 9 PCICLK

      1010: 10 PCICLK 1011: 11 PCICLK

      1100: 13 PCICLK 1101: 14 PCICLK

      1110: 15 PCICLK 1111: 15 PCICLK

       

      Register 41h IDE Primary Channel/Master Drive Control

      Bit 7 Ultra DMA Mode Control

      0: Disable

      1: Enable

      Bits 6:5 Ultra DMA/33 cycle time Select

      00: Reserved

      01: Cycle time of 2 PCI clocks for data out

      10: Cycle time of 3 PCI clocks for data out

      11: Cycle time of 4 PCI clocks for data out

      Bits 4:3 Reserved

      Bits 2:0 Data Active Time Control

      000: 8 PCICLK 001: 1 PCICLK

      010: 2 PCICLK 011: 3 PCICLK

      100: 4 PCICLK 101: 5 PCICLK

      110: 6 PCICLK 111: 12 PCICLK

       

      Register 42h IDE Primary Channel/Slave Drive Data Recovery Time Control.

      Bits 7:4 Reserved

      Bits 3:0 Recovery Time

      0000: 12 PCICLK 0001: 1 PCICLK

      0010: 2 PCICLK 0011: 3 PCICLK

      0100: 4 PCICLK 0101: 5 PCICLK

      0110: 6 PCICLK 0111: 7 PCICLK

      1000: 8 PCICLK 1001: 9 PCICLK

      1010: 10 PCICLK 1011: 11 PCICLK

      1100: 13 PCICLK 1101: 14 PCICLK

      1110: 15 PCICLK 1111: 15 PCICLK

      Register 43h IDE Primary Channel/Slave Drive Data Active Time Control

      Bit 7 Ultra DMA/33 Mode Control

      0: Disable

      1: Enable

      Bits 6:5 Ultra DMA/33 Cycle time Select

      00: Reserved

      01: Cycle time of 2 PCI clocks for data out

      10: Cycle time of 3 PCI clocks for data out

      11: Cycle time of 4 PCI clocks for data out

      Bits 4:3 Reserved

      Bits 2:0 Data Active Time Control

      000: 8 PCICLK 001: 1 PCICLK

      010: 2 PCICLK 011: 3 PCICLK

      100: 4 PCICLK 101: 5 PCICLK

      110: 6 PCICLK 111: 12 PCICLK

       

      Register 44h IDE Secondary Channel/Master Drive Data Recovery Time Control.

      Bits 7:4 Reserved

      Bits 3:0 Recovery Time

      0000: 12 PCICLK 0001: 1 PCICLK

      0010: 2 PCICLK 0011: 3 PCICLK

      0100: 4 PCICLK 0101: 5 PCICLK

      0110: 6 PCICLK 0111: 7 PCICLK

      1000: 8 PCICLK 1001: 9 PCICLK

      1010: 10 PCICLK 1011: 11 PCICLK

      1100: 13 PCICLK 1101: 14 PCICLK

      1110: 15 PCICLK 1111: 15 PCICLK

       

      Register 45h IDE Secondary Channel/Master Drive Data Active Time Control

      Bit 7 Ultra DMA/33 Mode Control

      0: Disable

      1: Enable

       

      Bits 6:5 Ultra DMA/33 Cycle time Select

      00: Reserved

      01: Cycle time of 2 PCI clocks for data out

      10: Cycle time of 3 PCI clocks for data out

      11: Cycle time of 4 PCI clocks for data out

      Bits 4:3 Reserved

      Bits 2:0 Data Active Time Control

      000: 8 PCICLK 001: 1 PCICLK

      010: 2 PCICLK 011: 3 PCICLK

      100: 4 PCICLK 101: 5 PCICLK

      110: 6 PCICLK 111: 12 PCICLK

       

      Register 46h IDE Secondary Channel/Slave Drive Data Recovery Time Control.

      Bits 7:4 Reserved

      Bits 3:0 Recovery Time

      0000: 12 PCICLK 0001: 1 PCICLK

      0010: 2 PCICLK 0011: 3 PCICLK

      0100: 4 PCICLK 0101: 5 PCICLK

      0110: 6 PCICLK 0111: 7 PCICLK

      1000: 8 PCICLK 1001: 9 PCICLK

      1010: 10 PCICLK 1011: 11 PCICLK

      1100: 13 PCICLK 1101: 14 PCICLK

      1110: 15 PCICLK 1111: 15 PCICLK

       

      Register 47h IDE Secondary Channel/Slave Drive Data Active Time Control

      Bit 7 Ultra DMA/33 Mode Control

      0: Disable

      1: Enable

      Bits 6:5 Ultra DMA/33 Mode Select

      00: Reserved

      01: Cycle time of 2 PCI clocks for data out

      10: Cycle time of 3 PCI clocks for data out

      11: Cycle time of 4 PCI clocks for data out

      Bits 4:3 Reserved

      Bits 2:0 Data Active Time Control

      000: 8 PCICLK 001: 1 PCICLK

      010: 2 PCICLK 011: 3 PCICLK

      100: 4 PCICLK 101: 5 PCICLK

      110: 6 PCICLK 111: 12 PCICLK

       

      Register 48h IDE Command Recovery Time Control

      Bits 7:4 Reserved

      Bits 3:0 Recovery Time

      0000: 12 PCICLK 0001: 1 PCICLK

      0010: 2 PCICLK 0011: 3 PCICLK

      0100: 4 PCICLK 0101: 5 PCICLK

      0110: 6 PCICLK 0111: 7 PCICLK

      1000: 8 PCICLK 1001: 9 PCICLK

      1010: 10 PCICLK 1011: 11 PCICLK

      1100: 13 PCICLK 1101: 14 PCICLK

      1110: 15 PCICLK 1111: 15 PCICLK

      Note: This bit is only meanful when bit3 of register 52h is "0".

       

      Register 49h IDE Command Active Time Control

      Bits 7:3 Reserved

      Bits 2:0 Data Active Time Control

      000: 8 PCICLK 001: 1 PCICLK

      010: 2 PCICLK 011: 3 PCICLK

      100: 4 PCICLK 101: 5 PCICLK

      110: 6 PCICLK 111: 12 PCICLK

      Note: This bit is only meanful when bit3 of register 52h is "0".

       

      Register 4Ah IDE General Control Register 0

      Bit 7 Bus Master generates PCI burst cycles Control

      0: Disable

      1: Enable (default)

      Bit 6 Test Mode for internal use only

      0: Test Mode

      1: Normal Mode

      Bit 5 Fast post-write control

      0: Disabled

      1: Enabled (Recommended)

      Bit 4 Test Mode for internal use only

      0: Normal Mode

      1: Test Mode

      Bit 3 Bus Master requests PCI bus ownership timing control

      0: PCI Request asserted when FIFO is 75% full during prefetch cycles.

      1: PCI Request asserted when FIFO is 50% full during prefetch cycles.

      The default value is '0'.

      Bit 2 IDE Channel 0 Enable Bit

      0: Disabled (default)

      1: Enabled

      Bit 1 IDE Channel 1 Enable Bit

      0: Disabled (default)

      1: Enabled

      Bit 0 Test Mode for Internal Use

      0: Normal Mode (default)

      1: Test mode

       

      Register 4Bh IDE General Control register 1

      Bit 7 Enable Postwrite of the Slave Drive in Channel 1.

      0: Disabled. (default)

      1: Enabled.

      Bit 6 Enable Postwrite of the Master Drive in Channel 1.

      0: Disabled. (default)

      1: Enabled.

      Bit 5 Enable Postwrite of the Slave Drive in Channel 0.

      0: Disabled. (default)

      1: Enabled.

      Bit 4 Enable Postwrite of the Master Drive in Channel 0.

      0: Disabled. (default)

      1: Enabled.

      Bit 3 Enable Prefetch of the Slave Drive in Channel 1.

      0: Disabled. (default)

      1: Enabled.

      Bit 2 Enable Prefetch of the Master Drive in Channel 1.

      0: Disabled. (default)

      1: Enabled.

      Bit 1 Enable Prefetch of the Slave Drive in Channel 0.

      0: Disabled. (default)

      1: Enabled.

      Bit 0 Enable Prefetch of the Master Drive in Channel 0.

      0: Disabled. (default)

      1: Enabled.

       

      (Following two 16-bit wide registers define the prefetching length of each IDE channel respectively.)

      Register 4Ch~4Dh Prefetch Count of Primary Channel

      Bits 15:0 The Count (in bytes) of IDE prefetch. The maximum value can be programmed is 512. (Default value is 512)

      Register 4Eh~4Fh Prefetch Count of Secondary Channel

      Bits 15:0 The Count (in bytes) of IDE prefetch. The maximum value can be programmed is 512. (Default value is 512)

      Register 50h~51h IDE minimum accessed time register

      Bits 15:0 16 bits accessed time control

      This 16-bit value (in unit of PCLK) defines a minimum accessed time for IDE controller. When IDE controller and ISA master are competing for the ISA/IDE bus, and Register 52h bit 2 is programmed as "1" to enable the IDE Granting Timer, the ISA master can preempt IDE only when IDE controller has used the bus for a minimum accessed time as define in this register. A granting timer associated with each IDE channel is used to count IDE controller’s term on the bus. This register is default to 0000h and it means 0 PCI clock.

       

      Register 52h IDE Miscellaneous Control Register

      Bits 7:4 Reserved

      Bit 3 IDE Command Timing Select

      0: The recovery and active time programmed in register 48h-49h will be applied to command cycles for all IDE devices

      1: The recovery and active time programmed in register 40h-47h will be applied to command cycles for their associated IDE devices. (Default)

      Bit 2 IDE Granting Timer Control

      0: Disable

      1: Enable

      This bit is used together with IDE minimum access time (Register 50h~51h). When enabled, the minimum accessed time of IDE can be guaranteed by the programmed value in register 50h~51h. When disabled, the ISA master always has higher priority than IDE, and hence can preempt IDE any time.

      Bit 1 Test Mode for internal use only

      0 : Normal Mode

      1 : Test Mode

      Bit 0 IDE FIFO Size Select

      0: 32 Bytes FIFO

      1: 64 Bytes FIFO(Recommended)

      1. Offset Registers for PCI Bus Master IDE Control Registers

      The PCI Bus master IDE Registers use 16 bytes of I/O Space. These registers can be accessed through I/O R/W to the address defined in the Bus Master IDE control register Base Address in the PCI IDE Configuration space. The base address is also defined in Register 20h~23h of PCI IDE configuration space.

      Register 00h Bus Master PrimaryIDE Command Register

      Bits 7:4 Reserved. Return 0 on reads.

      Bit 3 Read or Write Control.

      This bit defines the R/W control of the bus master transfer. When set to zero, PCI bus master reads are conducted. When set to one, PCI bus master writes are conducted.

      Bits 2:1 Reserved.

      Bit 0 Start/Stop Bus Master

      The SiS Chip built-in IDE Controller enables its bus master operation whenever it detects this bit changing from a zero to a one. The operation can be halted by writing a zero to this bit.

       

      Register 01h Reserved

       

      Register 02h Bus Master Primary IDE Status Register

      Bit 7 Simplex Only

      This bit is hardwired to zero to indicate that both bus master channels can be operated at a time.

      Bit 6 Drive 1 DMA Capable

      This R/W bit can be set by BIOS or driver to indicate that drive 1 for this channel is capable of DMA transfers.

      Bit 5 Drive 0 DMA Capable

      This R/W bit can be set by BIOS or driver to indicate that drive 0 for this channel is capable of DMA transfers.

      Bits 4:3 Reserved. Return 0 on reads

      Bit 2 Interrupt

      The bit is set by the rising edge of the IDE interrupt line to indicate that all data transferred from the drive is visible in the system memory. Writing a '1' to this bit can reset it.

      Bit 1 Error

      This bit is set when the IDE controller encounters an error during data transferring to/from memory.

      Bit 0 Bus Master IDE Device Active

      This bit is set when the start bit in the command register is set. It can be cleared when the last transfer of a region is performed, or the start bit is reset.

       

      Register 03h Reserved

       

      Register 04h~07h Bus Master Primary IDE PRD Table Pointer Register

      This 32-bit register contains address pointing to the starting address of the PRD table.

      Bits 31:2 Base Address of the PRD Table

      Bits 1:0 Reserved

       

      Register 08h Bus Master Secondary IDE Command Register

      Bits 7:4 Reserved. Return 0 on reads.

      Bit 3 Read or Write Control.

      This bit defines the R/W control of the bus master transfer. When set to zero, PCI bus master reads are conducted. When set to one, PCI bus master writes are conducted.

      Bits 2:1 Reserved.

      Bit 0 Start/Stop Bus Master

      The SiS Chip built-in IDE Controller enables its bus master operation whenever it detects this bit changing from a zero to a one. The operation can be halted by writing a zero to this bit.

       

      Register 09h Reserved

       

      Register 0Ah Bus Master Secondary IDE Status Register

      Bit 7 Simplex Only

      This bit is hardwired to zero to indicate that both bus master channels can be operated at a time.

      Bit 6 Drive 1 DMA Capable

      This R/W bit can be set by BIOS or driver to indicate that drive 1 for this channel is capable of DMA transfers.

      Bit 5 Drive 0 DMA Capable

      This R/W bit can be set by BIOS or driver to indicate that drive 0 for this channel is capable of DMA transfers.

      Bits 4:3 Reserved. Return 0 on reads

      Bit 2 Interrupt

      The bit is set by the rising edge of the IDE interrupt line to indicate that all data transferred from the drive is visible in the system memory. Writing a '1' to this bit can reset it.

      Bit 1 Error

      This bit is set when the IDE controller encounters an error during data transferring to/from memory.

      Bit 0 Bus Master IDE Device Active

      This bit is set when the start bit in the command register is set. It can be cleared when the last transfer of a region is performed, or the start bit is reset.

       

      Register 0Bh Reserved

       

      Register 0Ch~0Fh Bus Master Secondary IDE PRD Table Pointer Register

      This 32-bit register contains address pointing to the starting address of the PRD table.

      Bits 31:2 Base Address of the PRD Table

      Bits 1:0 Reserved

       

       

    9. USB Configuration Registers
    10. The USB Configuration Registers are located in two spaces: the USB PCI Configuration Register Space as defined by PCI specification 2.1 and the USB OpenHCI Host Controller Operational Register Space as defined by OHCI specification 1.0.

       

      1. USB PCI Configuration Register
      2. Device

        IDSEL

        Function Number

        USB

        AD12

        0002b

        Configuration Offset

        Register

        Register Access

        00-01h

        Vendor ID

        RO

        02-03h

        Device ID

        RO

        04-05h

        Command

        R/W

        06-07h

        Status

        R/WC

        08h

        Revision ID

        RO

        09-0Bh

        Class Code

        RO

        0Ch

        Reserved

        -

        0Dh

        Latency Timer

        R/W

        0Eh

        Header Type

        RO

        0Fh

        Reserved

        -

        10-13h

        USB Memory Space Base Address

        R/W

        14-3Bh

        Reserved

        -

        3Ch

        Interrupt Line

        R/W

        3Dh

        Interrupt Pin

        RO

        3Eh

        Min. Grant

        R/W

        3Fh

        Max. Latency

        R/W

        40-FFh

        Reserved

        -

         

        Register 00h~01h Vendor ID

        Bits 15:0 Vendor ID

        This is a 16-bit value assigned to SiS. The default Value is 1039h.

         

        Register 02~03h Device ID

        Bits 15:0 Device ID.

        This is a 16-bit value assigned to SiS USB Host Controller. The Default Value is 7001h.

         

        Register 04h~05h Command (The default value is 00h)

        Bits 15:10 Reserved

        Bit 9 Fast Back To Back.

        0 : Always disabled; not supported.

        Bit 8 SERR# Enable.

        1 : Enable.

        0 : Disable.

        Bit 7 Wait Cycle Control.

        0 : Always disabled; not supported.

        Bit 6 Parity Error Response.

        1 : Enable.

        0 : Disable.

        Bit 5 VGA Palette Snoop.

        0: Always disabled; not supported.

        Bit 4 Memory write and invalidate enable.

        1 : Enable.

        0 : Disable.

        Bit 3 Special cycle.

        0 : Always disabled; not supported.

        Bit 2 Bus master.

        1: Enable.

        0 : Disable.

        Bit 1 Memory space.

        1 : Enable.

        0 : Disable.

        Bit 0 IO space.

        1 : Enable.

        0 : Disable.

         

        Register 06h~07h Status(The default value is 0280h)

        Bit 15 Detected Parity Error.

        This bit is set when parity error is detected. This bit is cleared by writing a 1 to it.

        Bit 14 Signaled System Error(SERR#).

        This bit is set when SERR# is asserted. This bit is cleared by writing a 1 to it.

        Bit 13 Received Master Abort.

        This bit is set when a master cycle is terminated by master abort. This bit is cleared by writing a 1 to it.

        Bit 12 Received Target Abort.

        This bit is set when a master cycle is terminated by target abort. This bit is cleared by writing a 1 to it.

        Bit 11 Signaled Target Abort.

        This bit is set when a target cycle is terminated by target abort. This bit is cleared by writing a 1 to it. 0 : always disabled; not supported.

        Bits 10:9 DEVSEL Timing.

        01 : medium.

        Bit 8 Data Parity Error Detected.

        This bit is set when
        (1) PERR# is asserted.

        (2) acting as bus master.

        (3) Parity Error Response bit is set. This bit is cleared by writing a 1 to it.

        Bit 7 Fast back to back capable.

        1 : Always enabled.

        Bit 6 UDF support.

        0 : Always disabled; not supported.

        Bit 5 66 MHz capable.

        0 : Always disabled; not supported.

        Bits 4:0 Reserved.

         

        Register 08h Revision ID

        Bits 7:0 Revision ID.

        This register is hardwired to the default value of 0E0h. The default value is 0E0h.

         

        Register 09~0Bh Class Code (The default value is 0C0310H.)

        Bits 23:16 Base Class.

        A constant value of ‘0Ch’ identifies the device being a Serial Bus Controller.

        Bits 15:8 SUB Class.

        A constant value of ‘03h’ identifies the device being of Universal Serial Bus.

        Bits 7:0 Programming Interface.

        A constant value of ‘10h’ identifies the device being an OpenHCI Host Controller.

         

        Register 0Ch Reserved

         

        Register 0Dh Latency Timer

        Bits 7:0 Latency Timer.

        The default Value is 00h.

         

        Register 0Eh Header Type

        Bits 7:0 Multiple Function Device

        The default value is 10h.

         

        Register 0Fh Reserved

         

        Register 10h~13h USB Memory Space Base Address Register ( Default=00h)

        Bits 31:12 Base Address

        Bits 11:0 Reserved and hardwired to "0".

         

        Register 14h~3Bh Reserved

         

        Register 3Ch Interrupt Line

        Bit 7:0 Interrupt Line

        The default value is 00h.

         

        Register 3Dh Interrupt Pin

        Bit 7:0 Interrupt Pin.

        The default value is 01h.

         

        Register 3Eh Minimum Grant Time

        Bit 7:0 Minimum Grant Time

        The default value is 00h.

         

        Register 3Fh Maximum Latency Time

        Bit 7:0 Maximum Latency Time

        The default value is 00h.

         

      3. USB OpenHCI Host Controller Operational Register
      4. The base address of these registers are programmable by the memory base address register (USB PCI configuration register offset 10-13h). These registers should be written as Dword, byte write to these registers have unpredictable effects.

        The OpenHCI Host Controller (HC) contains a set of on-chip operational registers which are mapped into a noncacheable portion of the system addressable space. These registers are used by the Host Controller Driver (HCD). According to the function of these registers, they are divided into four partitions, specifically for Control and Status, Memory Pointer, Frame Counter and Root Hub. All of the registers should be read and written as Dwords.

        Reserved bits may be allocated in future releases of this specification. To ensure interoperability, the Host Controller Driver that does not use a reserved field should not assume that the reserved field contains 0. Furthermore, the Host Controller Driver should always preserve the value(s) of the reserved field. When a R/W register is modified, the Host Controller Driver should first read the register, modify the bits desired, then write the register with the reserved bits still containing the read value. Alternatively, the Host Controller Driver can maintain an in-memory copy of previously written values that can be modified and then written to the Host Controller register. When a write to set/clear register is written, bits written to reserved fields should be 0.

         

        Host Controller Operational Registers

        Offset

        31 00

        0

        HcRevision

        4

        HcControl

        8

        HcCommandStatus

        C

        HcInterruptStatus

        10

        HcInterruptEnable

        14

        HcInterruptDisable

        18

        HcHCCA

        1C

        HcPeriodCurrentED

        20

        HcControlHeadED

        24

        HcControlCurrentED

        28

        HcBulkHeadED

        2C

        HcBulkCurrentED

        30

        HcDoneHead

        34

        HcFmInterval

        38

        HcFmRemaining

        3C

        HcFmNumber

        40

        HcPeriodicStart

        44

        HcLSThreshold

        48

        HcRhDescriptorA

        4C

        HcRhDescriptorB

        50

        HcRhStatus

        54

        HcRhPortStatus[1]

        58

        HcRhPortStatus[2]

        100

        HceControl

        104

        HceInput

        108

        HceOutput

        10C

        HceStatus

         

        1. Control and Status Partition
        2.  

          Register 00h HcRevision Register

          Bits 31:9 Reserved

          Bit 8 Legacy

          This read-only field is 1 to indicate that the legacy support registers are present in this HC.

          Bits 7:0 Revision

          This read-only field contains the BCD representation of the version of the HCI specification that is implemented by this HC. For example, a value of 11h corresponds to version 1.1. All of the HC implementations that are compliant with current OpenHCI 1.0 specification will have a value of 10h.

           

          Register 04h HcControl Register

          The HcControl register defines the operating modes for the Host Controller. Most of the fields in this register are modified only by the Host Controller Driver, except HostControllerFunctionalState and RemoteWakeupConnected.

          Bits 31:11 Reserved

          Bit 10 RemoteWakeupEnable

          This bit is used by HCD to enable or disable the remote wakeup feature upon the detection of upstream resume signaling. When this bit is set and the ResumeDetected bit in HcInterruptStatus is set, a remote wakeup is signaled to the host system. Setting this bit has no impact on the generation of hardware interrupt.

          Since there is no remote wakeup supported, this bit is ignored.

          Bit 9 RemoteWakeupConnected

          This bit indicates whether HC supports remote wakeup signaling. If remote wakeup is supported and used by the system it is the responsibility of system firmware to set this bit during POST. HC clears the bit upon a hardware reset but does not alter it upon a software reset. Remote wakeup signaling of the host system is host-bus-specific and is not described in this specification.

          This bit is hard-coded to ‘0’.

          Bit 8 InterruptRouting

          This bit determines the routing of interrupts generated by events registered in HcInterruptStatus. If clear, all interrupts are routed to the normal host bus interrupt mechanism. If set, interrupts are routed to the System Management Interrupt. HCD clears this bit upon a hardware reset, but it does not alter this bit upon a software reset. HCD uses this bit as a tag to indicate the ownership of HC.

          Bits 7:6 HostControllerFunctionalState for USB

          00b: UsbReset
          01b: UsbResume
          10b: UsbOperational
          11b: UsbSuspend

          A transition to UsbOperational from another state causes SOF generation to begin 1 ms later. HCD may determine whether HC has begun sending SOFs by reading the StartofFrame field of HcInterruptStatus.

          This field may be changed by HC only when in the UsbSuspend state. HC may move from the UsbSuspend state to the UsbResume state after detecting the resume signaling from a downstream port.

          HC enters UsbSuspend after a software reset, whereas it enters UsbReset after a hardware reset. The latter also resets the Root Hub and asserts subsequent reset signaling to downstream ports.

          Bit 5 BulkListEnable

          This bit is set to enable the processing of the Bulk list in the next Frame. If cleared by HCD, processing of the Bulk list does not occur after the next SOF. HC checks this bit whenever it determines to process the list. When disabled, HCD may modify the list. If HcBulkCurrentED is pointing to an ED to be removed, HCD must advance the pointer by updating HcBulkCurrentED before re-enabling processing of the list.

          Bit 4 ControlListEnable

          This bit is set to enable the processing of the Control list in the next Frame. If cleared by HCD, processing of the Control list does not occur after the next SOF. HC must check this bit whenever it determines to process the list. When disabled, HCD may modify the list. If HcControlCurrentED is pointing to an ED to be removed, HCD must advance the pointer by updating HcControlCurrentED before re-enabling processing of the list.

          Bit 3 IsochronousEnable

          This bit is used by HCD to enable/disable processing of isochronous EDs. While processing the periodic list in a Frame, HC checks the status of this bit when it finds an Isochronous ED (F=1). If set (enabled), HC continues processing the EDs. If cleared (disabled), HC halts processing of the periodic list (which now contains only isochronous EDs) and begins processing the Bulk/Control lists. Setting this bit is guaranteed to take effect in the next Frame (not the current Frame).

          Bit 2 PeriodicListEnable

          This bit is set to enable the processing of the periodic list in the next Frame. If cleared by HCD, processing of the periodic list does not occur after the next SOF. HC must check this bit before it starts processing the list.

          Bits 1:0 ControlBulkServiceRatio

          This specifies the service ratio between Control and Bulk EDs. Before processing any of the nonperiodic lists, HC must compare the ratio specified with its internal count on how many nonempty Control EDs have been processed, in determining whether to continue serving another Control ED or switching to Bulk EDs. The internal count will be retained when crossing the frame boundary. In case of reset, HCD is responsible for restoring this value.

           

          Register 08h HcCommandStatus Register

          The HcCommandStatus register is used by the Host Controller to receive commands issued by the Host Controller Driver, as well as reflecting the current status of the Host Controller. To the Host Controller Driver, it appears to be a "write to set" register. The Host Controller must ensure that bits written as ‘1’ become set in the register while bits written as ‘0’ remain unchanged in the register. The Host Controller Driver may issue multiple distinct commands to the Host Controller without concern for corrupting previously issued commands. The Host Controller Driver has normal read access to all bits.

           

          The SchedulingOverrunCount field indicates the number of frames with which the Host Controller has detected the scheduling overrun error. This occurs when the Periodic list does not complete before EOF. When a scheduling overrun error is detected, the Host Controller increments the counter and sets the SchedulingOverrun field in the HcInterruptStatus register.

          Bits 31:18 Reserved

          Bits 17:16 SchedulingOverrunCount

          These bits are incremented on each scheduling overrun error. It is initialized to 00b and wraps around at 11b. This will be incremented when a scheduling overrun is detected even if SchedulingOverrun in HcInterruptStatus has already been set. This is used by HCD to monitor any persistent scheduling problems.

          Bits 15:4 Reserved

          Bit 3 OwnershipChangeRequest

          This bit is set by an OS HCD to request a change of control of the HC. When set HC will set the OwnershipChange field in HcInterruptStatus. After the changeover, this bit is cleared and remains so until the next request from OS HCD.

          Bit 2 BulkListFilled

          This bit is used to indicate whether there are any TDs on the Bulk list. It is set by HCD whenever it adds a TD to an ED in the Bulk list.

          When HC begins to process the head of the Bulk list, it checks BF. As long as BulkListFilled is 0, HC will not start processing the Bulk list. If BulkListFilled is 1, HC will start processing the Bulk list and will set BF to 0. If HC finds a TD on the list, then HC will set BulkListFilled to 1 causing the Bulk list processing to continue. If no TD is found on the Bulk list, and if HCD does not set BulkListFilled, then BulkListFilled will still be 0 when HC completes processing the Bulk list and Bulk list processing will stop.

          Bit 1 ControlListFilled

          This bit is used to indicate whether there are any TDs on the Control list. It is set by HCD whenever it adds a TD to an ED in the Control list.

          When HC begins to process the head of the Control list, it checks CLF. As long as ControlListFilled is 0, HC will not start processing the Control list. If CF is 1, HC will start processing the Control list and will set ControlListFilled to 0. If HC finds a TD on the list, then HC will set ControlListFilled to 1 causing the Control list processing to continue. If no TD is found on the Control list, and if the HCD does not set ControlListFilled, then ControlListFilled will still be 0 when HC completes processing the Control list and Control list processing will stop.

          Bit 0 HostControllerReset

          This bit is set by HCD to initiate a software reset of HC. Regardless of the functional state of HC, it moves to the UsbSuspend state in which most of the operational registers are reset except those stated otherwise; e.g., the InterruptRouting field of HcControl, and no Host bus accesses are allowed. This bit is cleared by HC upon the completion of the reset operation. The reset operation must be completed within 10 m s. This bit, when set, should not cause a reset to the Root Hub and no subsequent reset signaling should be asserted to its downstream ports.

           

          Register 0Ch HcInterruptStatus Register

          This register provides status on various events that cause hardware interrupts. When an event occurs, Host Controller sets the corresponding bit in this register. When a bit becomes set, a hardware interrupt is generated if the interrupt is enabled in the HcInterruptEnable register and the MasterInterruptEnable bit is set. The Host Controller Driver may clear specific bits in this register by writing ‘1’ to bit positions to be cleared. The Host Controller Driver may not set any of these bits. The Host Controller will never clear the bit.

          Bit 31 Reserved and read as 0.

          Bit 30 OwnershipChange Status

          This bit is set by HC when HCD sets the OwnershipChangeRequest field in HcCommandStatus. This event, when unmasked, will always generate an System Management Interrupt (SMI) immediately.

          This bit is tied to 0b when the SMI pin is not implemented.

          Bits 29:7 Reserved

          Bit 6 RootHubStatusChange Status

          This bit is set when the content of HcRhStatus or the content of any of HcRhPortStatus[NumberofDownstreamPort] has changed.

          Bit 5 FrameNumberOverflow Status

          This bit is set when the MSb of HcFmNumber (bit 15) changes value, from 0 to 1 or from 1 to 0, and after HccaFrameNumber has been updated.

          Bit 4 UnrecoverableError Status

          This bit is set when HC detects a system error not related to USB. HC should not proceed with any processing nor signaling before the system error has been corrected. HCD clears this bit after HC has been reset.

          This event is not implemented and is hard-coded to ‘0’.

          Bit 3 ResumeDetected Status

          This bit is set when HC detects that a device on the USB is asserting resume signaling. It is the transition from no resume signaling to resume signaling causing this bit to be set. This bit is not set when HCD sets the UsbResume state.

          Bit 2 StartofFrame Status

          This bit is set by HC at each start of a frame and after the update of HccaFrameNumber. HC also generates a SOF token at the same time.

          Bit 1 WritebackDoneHead Status

          This bit is set immediately after HC has written HcDoneHead to HccaDoneHead. Further updates of the HccaDoneHead will not occur until this bit has been cleared. HCD should only clear this bit after it has saved the content of HccaDoneHead.

          Bit 0 SchedulingOverrun Status

          This bit is set when the USB schedule for the current Frame overruns and after the update of HccaFrameNumber. A scheduling overrun will also cause the SchedulingOverrunCount of HcCommandStatus to be incremented.

           

          Register 10h HcInterruptEnable Register

          Each enable bit in the HcInterruptEnable register corresponds to an associated interrupt bit in the HcInterruptStatus register. The HcInterruptEnable register is used to control which events generate a hardware interrupt. When a bit is set in the HcInterruptStatus register and the corresponding bit in the HcInterruptEnable register is set and the MasterInterruptEnable bit is set, then a hardware interrupt is requested on the host bus.

          Writing a '1' to a bit in this register sets the corresponding bit, whereas writing a '0' to a bit in this register leaves the corresponding bit unchanged. On read, the current value of this register is returned.

          Bit 31 A ‘0’ written to this field is ignored by HC. A '1' written to this field enables interrupt generation due to events specified in the other bits of this register. This is used by HCD as a Master Interrupt Enable.

          Bit 30 OwnershipChange Enable

          0: Ignore

          1: Enable interrupt generation due to Ownership Change.

          Bits 29:7 Reserved

          Bit 6 RootHubStatusChange Enable

          0: Ignore

          1: Enable interrupt generation due to Root Hub Status Change.

          Bit 5 FrameNumberOverflow Enable

          0: Ignore

          1: Enable interrupt generation due to Frame Number Overflow.

          Bit 4 UnrecoverableError Enable

          0: Ignore

          1: Enable interrupt generation due to Unrecoverable Error.

          Bit 3 ResumeDetected Enable

          0: Ignore

          1: Enable interrupt generation due to Resume Detect.

          Bit 2 StartFrame Enable

          0: Ignore

          1: Enable interrupt generation due to Start of Frame.

          Bit 1 WritebackDoneHead Enable

          0: Ignore

          1: Enable interrupt generation due to HcDoneHead Writeback.

          Bit 0 SchedulingOverrun Enable

          0: Ignore

          1: Enable interrupt generation due to Scheduling Overrun.

           

          Register 14h HcInterruptDisable Register

          Each disable bit in the HcInterruptDisable register corresponds to an associated interrupt bit in the HcInterruptStatus register. The HcInterruptDisable register is coupled with the HcInterruptEnable register. Thus, writing a '1' to a bit in this register clears the corresponding bit in the HcInterruptEnable register, whereas writing a '0' to a bit in this register leaves the corresponding bit in the HcInterruptEnable register unchanged. On read, the current value of the HcInterruptEnable register is returned.

          Bit 31 A '0' written to this field is ignored by HC. A '1' written to this field disables interrupt generation due to events specified in the other bits of this register. This field is set after a hardware or software reset.

          Bit 30 OwnershipChange Disable

          0: Ignore

          1: Disable interrupt generation due to Ownership Change.

          Bits 29:7 Reserved

          Bit 6 RootHubStatusChange Disable

          0: Ignore

          1: Disable interrupt generation due to Root Hub Status Change.

          Bit 5 FrameNumberOverflow Disable

          0: Ignore

          1: Disable interrupt generation due to Frame Number Overflow.

          Bit 4 UnrecoverableError Disable

          0: Ignore

          1: Disable interrupt generation due to Unrecoverable Error.

          Bit 3 ResumeDetected Disable

          0: Ignore

          1: Disable interrupt generation due to Resume Detect.

          Bit 2 StartFrame Disable

          0: Ignore

          1: Disable interrupt generation due to Start of Frame.

          Bit 1 WritebackDoneHead Disable

          0: Ignore

          1: Disable interrupt generation due to HcDoneHead Writeback.

          Bit 0 Scheduling Overrun Disable

          0: Ignore

          1: Disable interrupt generation due to Scheduling Overrun.

           

        3. Memory Pointer Partition
        4. Register 18h HcHCCA Register

          The HcHCCA register contains the physical address of the Host Controller Communication Area. The Host Controller Driver determines the alignment restrictions by writing all 1s to HcHCCA and reading the content of HcHCCA. The alignment is evaluated by examining the number of zeroes in the lower order bits. The minimum alignment is 256 bytes; therefore, bits 0 through 7 must always return '0' when read. This area is used to hold the control structures and the Interrupt table that are accessed by both the Host Controller and the Host Controller Driver.

          Bits 31:8 This is the base address of the Host Controller Communication Area.

          Bits 7:0 Reserved and read as ‘0’.

           

          Register 1Ch HcPeriodCurrentED Register

          The HcPeriodCurrentED register contains the physical address of the current Isochronous or Interrupt Endpoint Descriptor.

           

          Bits 31:4 PeriodCurrentED

          This is used by HC to point to the head of one of the Periodic lists which will be processed in the current Frame. The content of this register is updated by HC after a periodic ED has been processed. HCD may read the content in determining which ED is currently being processed at the time of reading.

          Bits 3:0 Reserved and read as "0".

          Register 20h HcControlHeadED Register

          The HcControlHeadED register contains the physical address of the first Endpoint Descriptor of the Control list.

          Bits 31:4 ControlHeadED

          HC traverses the Control list starting with the HcControlHeadED pointer. The content is loaded from HCCA during the initialization of HC.

          Bits 3:0 Reserved and read as "0".

           

          Register 24h HcControlCurrentED Register

          The HcControlCurrentED register contains the physical address of the current Endpoint Descriptor of the Control list.

          Bits 31:4 ControlCurrentED

          This pointer is advanced to the next ED after serving the present one. HC will continue processing the list from where it left off in the last Frame. When it reaches the end of the Control list, HC checks the ControlListFilled of in HcCommandStatus. If set, it copies the content of HcControlHeadED to HcControlCurrentED and clears the bit. If not set, it does nothing. HCD is allowed to modify this register only when the ControlListEnable of HcControl is cleared. When set, HCD only reads the instantaneous value of this register. Initially, this is set to zero to indicate the end of the Control list.

          Bits 3:0 Reserved and read as "0".

           

          Register 28h HcBulkHeadED Register

          The HcBulkHeadED register contains the physical address of the first Endpoint Descriptor of the Bulk list.

          Bits 31:4 BulkHeadED

          HC traverses the Bulk list starting with the HcBulkHeadED pointer. The content is loaded from HCCA during the initialization of HC.

          Bits 3:0 Reserved and read as "0".

           

          Register 2Ch HcBulkCurrentED Register

          The HcBulkCurrentED register contains the physical address of the current endpoint of the Bulk list. As the Bulk list will be served in a round-robin fashion, the endpoints will be ordered according to their insertion to the list.

          Bits 31:4 BulkCurrentED

          This is advanced to the next ED after the HC has served the present one. HC continues processing the list from where it left off in the last Frame. When it reaches the end of the Bulk list, HC checks the ControlListFilled of HcControl. If set, it copies the content of HcBulkHeadED to HcBulkCurrentED and clears the bit. If it is not set, it does nothing. HCD is only allowed to modify this register when the BulkListEnable of HcControl is cleared. When set, the HCD only reads the instantaneous value of this register. This is initially set to zero to indicate the end of the Bulk list.

          Bits 3:0 Reserved and read as "0".

           

          Register 30h HcDoneHead Register

          The HcDoneHead register contains the physical address of the last completed Transfer Descriptor that was added to the Done queue. In normal operation, the Host Controller Driver should not need to read this register as its content is periodically written to the HCCA.

          Bits 31:4 DoneHead

          When a TD is completed, HC writes the content of HcDoneHead to the NextTD field of the TD. HC then overwrites the content of HcDoneHead with the address of this TD.

          This is set to zero whenever HC writes the content of this register to HCCA. It also sets the WritebackDoneHead of HcInterruptStatus.

          Bits 3:0 Reserved and read as "0".

           

           

        5. Frame Counter Partition
        6. Register 34h HcFmInterval Register

          The HcFmInterval register contains a 14-bit value which indicates the bit time interval in a Frame, (i.e., between two consecutive SOFs), and a 15-bit value indicating the Full Speed maximum packet size that the Host Controller may transmit or receive without causing scheduling overrun. The Host Controller Driver may carry out minor adjustment on the FrameInterval by writing a new value over the present one at each SOF. This provides the programmability necessary for the Host Controller to synchronize with an external clocking resource and to adjust any unknown local clock offset.

          Bit 31 FrameIntervalToggle

          HCD toggles this bit whenever it loads a new value to FrameInterval.

          Bits 30:16 FSLargestDataPacket

          This field specifies a value which is loaded into the Largest Data Packet Counter at the beginning of each frame. The counter value represents the largest amount of data in bits which can be sent or received by the HC in a single transaction at any given time without causing scheduling overrun. The field value is calculated by the HCD.

          Bits 15:14 Reserved

          Bits 13:0 FrameInterval

          This specifies the interval between two consecutive SOFs in bit times. The nominal value is set to be 11,999.

          HCD should store the current value of this field before resetting HC. By setting the HostControllerReset field of HcCommandStatus as this will cause the HC to reset this field to its nominal value. HCD may choose to restore the stored value upon the completion of the Reset sequence.

           

          Register 38h HcFmRemaining Register

          The HcFmRemaining register is a 14-bit down counter showing the bit time remaining in the current Frame.

           

          Bit 31 FrameRemainingToggle

          This bit is loaded from the FrameIntervalToggle field of HcFmInterval whenever FrameRemaining reaches 0. This bit is used by HCD for the synchronization between FrameInterval and FrameRemaining.

          Bits 30:14 Reserved

          Bits 13:0 FrameRemaining

          This counter is decremented at each bit time. When it reaches zero, it is reset by loading the FrameInterval value specified in HcFmInterval at the next bit time boundary. When entering the UsbOperational state, HC re-loads the content with the FrameInterval of HcFmInterval and uses the updated value from the next SOF.

          Register 3Ch HcFmNumber Register

          The HcFmNumber register is a 16-bit counter. It provides a timing reference among events happening in the Host Controller and the Host Controller Driver. The Host Controller Driver may use the 16-bit value specified in this register and generate a 32-bit frame number without requiring frequent access to the register.

          Bits 31:16 Reserved

          Bits 15:0 FrameNumber

          This is incremented when HcFmRemaining is re-loaded. It will be rolled over to 0h after ffffh. When entering the UsbOperational state, this will be incremented automatically. The content will be written to HCCA after HC has incremented the FrameNumber at each frame boundary and sent a SOF but before HC reads the first ED in that Frame. After writing to HCCA, HC will set the StartofFrame in HcInterruptStatus.

           

          Register 40h HcPeriodicStart Register

          The HcPeriodicStart register has a 14-bit programmable value which determines when is the earliest time HC should start processing the periodic list.

          Bits 31:14 Reserved

          Bits 13:0 PeriodicStart

          After a hardware reset, this field is cleared. This is then set by HCD during the HC initialization. The value is calculated roughly as 10% off from HcFmInterval. A typical value will be 3E67h. When HcFmRemaining reaches the value specified, processing of the periodic lists will have priority over Control/Bulk processing. HC will therefore start processing the Interrupt list after completing the current Control or Bulk transaction that is in progress.

           

          Register 44h HcLSThreshold Register

          The HcLSThreshold register contains an 11-bit value used by the Host Controller to determine whether to commit to the transfer of a maximum of 8-byte LS packet before EOF. Neither the Host Controller nor the Host Controller Driver are allowed to change this value.

          Bits 31:12 Reserved

          Bits 11:0 LSThreshold

          This field contains a value which is compared to the FrameRemaining field prior to initiating a Low Speed transaction. The transaction is started only if FrameRemaining ³ this field. The value is calculated by HCD with the consideration of transmission and setup overhead.

           

        7. Root Hub Partition
        8. All registers included in this partition are dedicated to the USB Root Hub which is an integral part of the Host Controller though still a functionally separate entity. The HCD emulates USBD accesses to the Root Hub via a register interface. The HCD maintains many USB-defined hub features which are not required to be supported in hardware. For example, the Hub's Device, Configuration, Interface, and Endpoint Descriptors are maintained only in the HCD as well as some static fields of the Class Descriptor. The HCD also maintains and decodes the Root Hub's device address as well as other trivial operations which are better suited to software than hardware.

          The Root Hub register interface is otherwise developed to maintain similarity of bit organization and operation to typical hubs which are found in the system. Below are four register definitions: HcRhDescriptorA, HcRhDescriptorB, HcRhStatus, and HcRhPortStatus[1:2]. Each register is read and written as a Dword. These registers are only written during initialization to correspond with the system implementation. The HcRhDescriptorA and HcRhDescriptorB registers should be implemented such that they are writeable regardless of the HC USB state. HcRhStatus and HcRhPortStatus must be writeable during the UsbOperational state.

           

          Register 48h HcRhDescriptorA Register

          The HcRhDescriptorA register is the first register of two describing the characteristics of the Root Hub. Reset values are implementation-specific. The descriptor length (11), descriptor type (TBD), and hub controller current (0) fields of the hub Class Descriptor are emulated by the HCD. All other fields are located in the HcRhDescriptorA and HcRhDescriptorB registers.

          Bits 31:24 PowerOnToPowerGoodTime

          This byte specifies the duration HCD has to wait before accessing a powered-on port of the Root Hub. It is implementation-specific. The unit of time is 2 ms. The duration is calculated as POTPGT * 2 ms.

          Bits 23:13 Reserved

          Bit 12 NoOverCurrentProtection

          This bit describes how the overcurrent status for the Root Hub ports are reported. When this bit is cleared, the OverCurrentProtectionMode field specifies global or per-port reporting.

          0: Over-current status is reported collectively for all downstream ports

          1: No overcurrent protection supported

          Bit 11 OverCurrentProtectionMode

          This bit describes how the overcurrent status for the Root Hub ports are reported. At reset, this fields should reflect the same mode as PowerSwitchingMode. This field is valid only if the NoOverCurrentProtection field is cleared.

          0: over-current status is reported collectively for all downstream ports

          1: over-current status is reported on a per-port basis

          Bit 10 DeviceType

          This bit specifies that the Root Hub is not a compound device. The Root Hub is not permitted to be a compound device. This field should always read/write 0.

          Bit 9 NoPowerSwitching

          These bits are used to specify whether power switching is supported or port are always powered. SiS Chip USB HC supports global power switching mode. When this bit is cleared, the PowerSwitchingMode specifies global or per-port switching.

          0: Ports are power switched

          1: Ports are always powered on when the HC is powered on

          Bit 8 PowerSwitchingMode

          This bit is used to specify how the power switching of the Root Hub ports is controlled. SiS Chip USB HC supports global power switching mode. This field is only valid if the NoPowerSwitching field is cleared.

          0: all ports are powered at the same time.

          1: Each port is powered individually. This mode allows port power to be controlled by either the global switch or per-port switching. If the PortPowerControlMask bit is set, the port responds only to port power commands (Set/ClearPortPower). If the port mask is cleared, then the port is controlled only by the global power switch (Set/ClearGlobalPower).

          Bits 7:0 NumberDownstreamPorts

          These bits specify the number of downstream ports supported by the Root Hub.

          SiS Chip USB HC supports two downstream ports.

           

          Register 4Ch HcRhDescriptorB Register

          The HcRhDescriptorB register is the second register of two describing the characteristics of the Root Hub. These fields are written during initialization to configure the Root Hub.

           

          Bits 31:16 PortPowerControlMask

          Each bit indicates if a port is affected by a global power control command when PowerSwitchingMode is set. When set, the port's power state is only affected by per-port power control (Set/ClearPortPower). When cleared, the port is controlled by the global power switch (Set/ClearGlobalPower). If the device is configured to global switching mode (PowerSwitchingMode=0), this field is not valid.

          SiS Chip USB HC implements global power switching.

          bit 0: Reserved

          bit 1: Ganged-power mask on Port #1

          bit 2: Ganged-power mask on Port #2

          ...

          bit15: Ganged-power mask on Port #15

          Bits 15:0 DeviceRemovable

          Each bit is dedicated to a port of the Root Hub. When cleared, the attached device is removable. When set, the attached device is not removable.

          bit 0: Reserved

          bit 1: Device attached to Port #1

          bit 2: Device attached to Port #2

          ...

          bit15: Device attached to Port #15

           

          Register 50h HcRhStatus Register

          The HcRhStatus register is divided into two parts. The lower word of a Dword represents the Hub Status field and the upper word represents the Hub Status Change field. Reserved bits should always be written '0'.

           

          Bit 31 ClearRemoteWakeupEnable(write)

          Writing a '1' clears DeviceRemoveWakeupEnable. Writing a '0' has no effect.

          Bits 30:18 Reserved

          Bit 17 OverCurrentIndicatorChange

          This bit is set by hardware when a change has occurred to the OCI field of this register. The HCD clears this bit by writing a ‘1’. Writing a ‘0’ has no effect.

          Bit 16 LocalPowerStatusChange(read)

          The Root Hub does not support the local power status feature; thus, this bit is always read as ‘0’.

           

          SetGlobalPower(write)

          In global power mode (PowerSwitchingMode=0), This bit is written to ‘1’ to turn on power to all ports (clear PortPowerStatus). In per-port power mode, it sets PortPowerStatus only on ports whose PortPowerControlMask bit is not set. Writing a ‘0’ has no effect.

          Bit 15 DeviceRemoteWakeupEnable(read)

          This bit enables a ConnectStatusChange bit as a resume event, causing a UsbSuspend to UsbResume state transition and setting the ResumeDetected interrupt.

          0: ConnectStatusChange is not a remote wakeup event.

          1: ConnectStatusChange is a remote wakeup event.

           

          SetRemoteWakeupEnable(write)

          Writing a '1' sets DeviceRemoveWakeupEnable. Writing a '0' has no effect.

          Bits 14:2 Reserved

          Bit 1 OverCurrentIndicator

          This bit reports overcurrent conditions when the global reporting is implemented. When set, an overcurrent condition exists. When cleared, all power operations are normal. If per-port overcurrent protection is implemented this bit is always ‘0’

          Bit 0 LocalPowerStatus(read)

          The Root Hub does not support the local power status feature; thus, this bit is always read as ‘0’.

           

          ClearGlobalPower(write)

          In global power mode (PowerSwitchingMode=0), This bit is written to ‘1’ to turn off power to all ports (clear PortPowerStatus). In per-port power mode, it clears PortPowerStatus only on ports whose PortPowerControlMask bit is not set. Writing a ‘0’ has no effect.

           

          Register 54h/58h HcRhPortStatus[1:2] Register

          The HcRhPortStatus[1:2] register is used to control and report port events on a per-port basis. Two HcRhPortStatus registers that are implemented in hardware. The lower word is used to reflect the port status, whereas the upper word reflects the status change bits. Some status bits are implemented with special write behavior (see below). If a transaction (token through handshake) is in progress when a write to change port status occurs, the resulting port status change must be postponed until the transaction completes. Reserved bits should always be written '0'.

          Bits 31:21 Reserved

          Bit 20 PortResetStatusChange

          This bit is set at the end of the 10-ms port reset signal.

          The HCD writes a ‘1’ to clear this bit. Writing a ‘0’ has no effect.

          0: port reset is not complete

          1: port reset is complete

          Bit 19 PortOverCurrentIndicatorChange

          This bit is valid only if overcurrent conditions are reported on a per-port basis. This bit is set when Root Hub changes the PortOverCurrentIndicator bit. The HCD writes a ‘1’ to clear this bit. Writing a ‘0’ has no effect.

          0: no change in PortOverCurrentIndicator

          1: PortOverCurrentIndicator has changed

          Bit 18 PortSuspendStatusChange

          This bit is set when the full resume sequence has been completed. This sequence includes the 20-s resume pulse, LS EOP, and 3-ms resychronization delay. The HCD writes a ‘1’ to clear this bit. Writing a ‘0’ has no effect. This bit is also cleared when ResetStatusChange is set.

          0: resume is not completed

          1: resume completed

          Bit 17 PortEnableStatusChange

          This bit is set when hardware events cause the PortEnableStatus bit to be cleared. Changes from HCD writes do not set this bit. The HCD writes a ‘1’ to clear this bit. Writing a ‘0’ has no effect.

          0: no change in PortEnableStatus

          1: change in PortEnableStatus

          Bit 16 ConnectStatusChange

          This bit is set whenever a connect or disconnect event occurs. The HCD writes a ‘1’ to clear this bit. Writing a ‘0’ has no effect. If CurrentConnectStatus is cleared when a SetPortReset, SetPortEnable, or SetPortSuspend write occurs, this bit is set to force the driver to re-evaluate the connection status since these writes should not occur if the port is disconnected.

          0: no change in CurrentConnectStatus

          1: change in CurrentConnectStatus

          Note: If the DeviceRemovable[NDP] bit is set, this bit is set only after a Root Hub reset to inform the system that the device is attached.

          Bits 15:10 Reserved

          Bit 9 LowSpeedDeviceAttached(read)

          This bit indicates the speed of the device attached to this port. When set, a Low Speed device is attached to this port. When clear, a Full Speed device is attached to this port. This field is valid only when the CurrentConnectStatus is set.

          0: full speed device attached

          1: low speed device attached

           

          ClearPortPower(write)

          The HCD clears the PortPowerStatus bit by writing a ‘1’ to this bit. Writing a ‘0’ has no effect.

          Bit 8 PortPowerStatus(read)

          This bit reflects the port’s power status, regardless of the type of power switching implemented. This bit is cleared if an overcurrent condition is detected. HCD sets this bit by writing SetPortPower or SetGlobalPower. HCD clears this bit by writing ClearPortPower or ClearGlobalPower. Which power control switches are enabled is determined by PowerSwitchingMode and PortPortControlMask[NDP]. In global switching mode (PowerSwitchingMode=0), only Set/ClearGlobalPower controls this bit. In per-port power switching (PowerSwitchingMode=1), if the PortPowerControlMask[NDP] bit for the port is set, only Set/ClearPortPower commands are enabled. If the mask is not set, only Set/ClearGlobalPower commands are enabled. When port power is disabled, CurrentConnectStatus, PortEnableStatus, PortSuspendStatus, and PortResetStatus should be reset.

          0: port power is off

          1: port power is on

           

          SetPortPower(write)

          The HCD writes a ‘1’ to set the PortPowerStatus bit. Writing a ‘0’ has no effect.

          Note: This bit is always reads ‘1b’ if power switching is not supported.

          Bits 7:5 Reserved

          Bit 4 PortResetStatus(read)

          When this bit is set by a write to SetPortReset, port reset signaling is asserted. When reset is completed, this bit is cleared when PortResetStatusChange is set. This bit cannot be set if CurrentConnectStatus is cleared.

          0: port reset signal is not active

          1: port reset signal is active

           

          SetPortReset(write)

          The HCD sets the port reset signaling by writing a ‘1’ to this bit. Writing a ‘0’ has no effect. If CurrentConnectStatus is cleared, this write does not set PortResetStatus, but instead sets ConnectStatusChange. This informs the driver that it attempted to reset a disconnected port.

          Bit 3 PortOverCurrentIndicator(read)

          This bit is only valid when the Root Hub is configured in such a way that overcurrent conditions are reported on a per-port basis. If per-port overcurrent reporting is not supported, this bit is set to 0. If cleared, all power operations are normal for this port. If set, an overcurrent condition exists on this port. This bit always reflects the overcurrent input signal

          0: no overcurrent condition.

          1: overcurrent condition detected.

           

          ClearSuspendStatus(write)

          The HCD writes a ‘1’ to initiate a resume. Writing a ‘0’ has no effect. A resume is initiated only if PortSuspendStatus is set.

          Bit 2 PortSuspendStatus(read)

          This bit indicates the port is suspended or in the resume sequence. It is set by a SetSuspendState write and cleared when PortSuspendStatusChange is set at the end of the resume interval. This bit cannot be set if CurrentConnectStatus is cleared. This bit is also cleared when PortResetStatusChange is set at the end of the port reset or when the HC is placed in the UsbResume state. If an upstream resume is in progress, it should propagate to the HC.

          0: port is not suspended

          1: port is suspended

           

          SetPortSuspend(write)

          The HCD sets the PortSuspendStatus bit by writing a ‘1’ to this bit. Writing a ‘0’ has no effect. If CurrentConnectStatus is cleared, this write does not set PortSuspendStatus; instead it sets ConnectStatusChange. This informs the driver that it attempted to suspend a disconnected port.

          Bit 1 PortEnableStatus(read)

          This bit indicates whether the port is enabled or disabled. The Root Hub may clear this bit when an overcurrent condition, disconnect event, switched-off power, or operational bus error such as babble is detected. This change also causes PortEnabledStatusChange to be set. HCD sets this bit by writing SetPortEnable and clears it by writing ClearPortEnable. This bit cannot be set when CurrentConnectStatus is cleared. This bit is also set, if not already, at the completion of a port reset when ResetStatusChange is set or port suspend when SuspendStatusChange is set.

          0: port is disabled

          1: port is enabled

           

          SetPortEnable(write)

          The HCD sets PortEnableStatus by writing a ‘1’. Writing a ‘0’ has no effect. If CurrentConnectStatus is cleared, this write does not set PortEnableStatus, but instead sets ConnectStatusChange. This informs the driver that it attempted to enable a disconnected port.

          Bit 0 CurrentConnectStatus(read)

          This bit reflects the current state of the downstream port.

          0: no device connected

          1: device connected

           

          ClearPortEnable(write)

          The HCD writes a ‘1’ to this bit to clear the PortEnableStatus bit. Writing a ‘0’ has no effect. The CurrentConnectStatus is not affected by any write.

          Note: This bit is always read ‘1b’ when the attached device is nonremovable (DeviceRemoveable[NDP]).

           

        9. Legacy Support Registers

      Four operational registers are used to provide the legacy support . Each of these registers is located on a 32-bit boundary. The offset of these registers is relative to the base address of the Host Controller operational registers with HceControl located at offset 100h.

       

      Table -1

      Offset

      Register

      Description

      100h

      HceControl

      Used to enable and control the emulation hardware and report various status information.

      104h

      HceInput

      Emulation side of the legacy Input Buffer register.

      108h

      HceOutput

      Emulation side of the legacy Output Buffer register where keyboard and mouse data is to be written by software.

      10Ch

      HceStatus

      Emulation side of the legacy Status register.

      Three of the operational registers (HceStatus, HceInput, HceOutput) are accessible at I/O address 60h and 64h when emulation is enabled. Reads and writes to the registers using I/O addresses have side effects as outlined in the Table 6-2.

       

      Table -2

      I/O Address

      Cycle Type

      Register Contents Accessed/Modified

      Side Effects

      60h

      IN

      HceOutput

      IN from port 60h will set OutputFull in HceStatus to 0

      60h

      OUT

      HceInput

      OUT to port 60h will set InputFull to 1 and CmdData to 0 in HceStatus.

      64h

      IN

      HceStatus

      IN from port 64h returns current value of HceStatus with no other side effect.

      64h

      OUT

      HceInput

      OUT to port 64h will set InputFull to 0 and CmdData in HceStatus to 1.

       

      Register 100h HceControl Register

      Bits 31:9 Reserved.

      and read as 0s.

      Bit 8 A20State

      Indicates current state of Gate A20 on keyboard controller. Used to compare against value to 60h when GateA20Sequence is active.

      Bit 7 IRQ12Active

      Indicates that a positive transition on IRQ12 from keyboard controller has occurred. SW may write a 1 to this bit to clear it (set it to 0). SW write of a 0 to this bit has no effect.

      Bit 6 IRQ1Active

      Indicates that a positive transition on IRQ1 from keyboard controller has occurred. SW may write a 1 to this bit to clear it (set it to 0). SW write of a 0 to this bit has no effect.

      Bit 5 GateA20Sequence

      Set by HC when a data value of D1h is written to I/O port 64h. Cleared by HC on write to I/O port 64h of any value other than D1h.

      Bit 4 ExternalIRQEn

      When set to 1, IRQ1 and IRQ12 from the keyboard controller causes an emulation interrupt. The function controlled by this bit is independent of the setting of the EmulationEnable bit in this register.

      Bit 3 IRQEn

      When set, the HC generates 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; if it is 1, then an IRQ12 is generated.

      Bit 2 CharacterPending

      When set, an emulation interrupt is generated when the OutputFull bit of the HceStatus register is set to 0.

      Bit 1 EmulationInterrupt

      This bit is a static decode of the emulation interrupt condition.

      Bit 0 EmulationEnable

      When set to 1, the HC is enabled for legacy emulation. The HC decodes accesses to I/O registers 60h and 64h and generates IRQ1 and/or IRQ12 when appropriate. Additionally, the HC generate s an emulation interrupt at appropriate times to invoke the emulation software.

       

      Register 104h HceInput Register

      Bits 31:8 Reserved

      Bits 7:0 InputData

      This register holds data that is written to I/O ports 60h and 64h.

      I/O data that is written to ports 60h and 64h is captured in this register when emulation is enabled. This register may be read or written directly by accessing it with its memory address in the Host Controller’s operational register space. When accessed directly with a memory cycle, reads and writes of this register have no side effects.

       

      Register 108h HceOutput Register

      Bits 31:8 Reserved

      Bits 7:0 OutputData

      This register hosts data that is returned when an I/O read of port 60h is performed by application software.

      The data placed in this register by the emulation software is returned when I/O port 60h is read and emulation is enabled. On a read of this location, the OutputFull bit in HceStatus is set to 0.

       

      Register 10Ch HceStatus Register

      Bits 31:8 Reserved

      Bit 7 Parity

      Indicates parity error on keyboard/mouse data.

      Bit 6 Time-out

      Used to indicate a time-out

      Bit 5 AuxOutputFull

      IRQ12 is asserted whenever this bit is set to 1 and OutputFull is set to 1 and the IRQEn bit is set.

      Bit 4 Inhibit Switch

      This bit reflects the state of the keyboard inhibit switch and is set if the keyboard is NOT inhibited.

      Bit 3 CmdData

      The HC sets this bit to 0 on an I/O write to port 60h and to 1 on an I/O write to port 64h.

      Bit 2 Flag

      Nominally used as a system flag by software to indicate a warm or cold boot.

      Bit 1 InputFull

      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.

      Bit 0 OutputFull

      The HC sets 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 is 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.

      The contents of the HceStatus Register are returned on an I/O Read of port 64h when emulation is enabled. Reads and writes of port 60h and writes to port 64h can cause changes in this register. Emulation software can directly access this register through its memory address in the Host Controller’s operational register space. Accessing this register through its memory address produces no side effects.

       

    11. VGA Register Description
    12. Device

      IDSEL

      Function Number

      VGA

      AD30 or AD31

      0000b

      Note: MD34 pull high if IDSEL is AD30, MD34 pull low if IDSEL is AD31.

      1. General Registers
      2. Miscellaneous Output Register

        Register Type: Read/Write

        Read Port: 3CC

        Write Port: 3C2

        Default: 00h

        D7 Vertical Sync Polarity

        0: Select 'positive vertical sync'

        1: Select 'negative vertical sync'

        D6 Horizontal Sync Polarity

        0: Select 'positive horizontal sync'

        1: Select 'negative horizontal sync'

        Sync Polarity vs. Vertical Screen Resolution

        D7

        D6

        EGA

        VGA

        0

        0

        200 Lines

        Invalid

        0

        1

        350 Lines

        400 Lines

        1

        0

        Invalid

        350 Lines

        1

        1

        Invalid

        480 Lines

        D5 Odd/Even Page

        0: Select low page of memory

        1: Select high page of memory

        D4 Reserved

        D[3:2] Clock Select

        Table for Video Clock Selection

        D3

        D2

        DCLK

        0

        0

        25.175 MHz

        0

        1

        28.322 MHz

        1

        0

        Don't Care

        1

        1

        Select internal clock generator

        D1 Display RAM Enable

        0: Disable processor access to video RAM

        1: Enable processor access to video RAM

        D0 I/O Address Select

        0: Sets addresses for monochrome emulation

        1: Sets addresses for color graphics emulation

        Feature Control Register

        Register Type: Read/Write

        Read Port: 3CA

        Write Port: 3BA/3DA

        Default: 00h

        D[7:4] Reserved (0)

        D3 Vertical Sync Select

        0: Normal Vertical Sync output to monitor

        1: [Vertical Sync OR Vertical Display Enable] output to monitor

        D[2:0] Reserved (0)

        Input Status Register 0

        Register Type: Read only

        Read Port: 3C2

        Default: 00h

        D7 Vertical Retrace Interrupt Pending

        0: Cleared

        1: Pending

        D[6:5] Reserved

        D4 Switch Sense

        D[3:0] Reserved

        Input Status Register 1

        Register Type: Read only

        Read Port: 3BA/3DA

        Default: 00h

        D[7:6] Reserved

        D[5:4] Diagnostic

        Table for Video Read-back Through Diagnostic Bit (I)

        Color Plane Enable Register

        Input Status Register 1

        D5

        D4

        D5

        D4

        0

        0

        Red

        Blue

        0

        1

        Secondary Red

        Secondary Green

        1

        0

        Secondary Blue

        Green

        1

        1

        Unused

        Unused

        Table for Video Read-back Through Diagnostic Bit (II)

        Color Plane Enable Register

        Input Status Register 1

        D5

        D4

        D5

        D4

        0

        0

        P2

        P0

        0

        1

        P5

        P4

        1

        0

        P3

        P1

        1

        1

        P7

        P6

        D3 Vertical Retrace

        0: Inactive

        1: Active

        D[2:1] Reserved

        D0 Display Enable Not

        0: Display period

        1: Retrace period

         

        VGA Enable Register

        Register Type: Read/Write

        Read/Write Port: 3C3 or 46E8

        Default: 00h

        D0 VGA Enable (for 3C3 only)

        0: Disable

        1: Enable

        D3 VGA Enable (for 46E8 only)

        0: Disable

        1: Enable

         

        Segment Selection Register 0

        Register Type: Read/Write

        Read/Write Port: 3CD

        Default: 00h

        If D3 of SRB (Dual Segment Mode Enable bit) sets to 1, then

        D[7:6] Reserved

        D[5:0] Segment Selection Write Bit[5:0]

        If D3 of SRB (Dual Segment Mode Enable bit) sets to 0, then

        D[7:4] Segment Selection Write Bits[3:0]

        D[3:0] Segment Selection Read Bits[3:0]

         

        Segment Selection Register 1

        Register Type: Read/Write

        Read/Write Port: 3CB

        Default: 00h

        If D3 of SRB (Dual Segment Mode Enable bit) sets to 1, then

        D[7:6] Reserved

        D[5:0] Segment Selection Read Bit[5:0]

        If D3 of SRB (Dual Segment Mode Enable bit) sets to 0, then

        D[7:0] Reserved

         

      3. CRT Controller Registers
      4. CRT Controller Index Register

        Register Type: Read/Write

        Read/Write Port: 3B4/3D4

        Default: 00h

        D[7:5] Reserved

        D[4:0] CRT Controller Index

        - 00h ~ 18h for standard VGA

        - 19h ~ 26h for SiS extended registers

        Index (3B4/3D4)

        CRT Controller Registers (3B5/3D5)

        0h

        Horizontal Total

        1h

        Horizontal Display Enable End

        2h

        Horizontal Blank Start

        3h

        Horizontal Blank End

        4h

        Horizontal Retrace Start

        5h

        Horizontal Retrace End

        6h

        Vertical Total

        7h

        Overflow Register

        8h

        Preset Row Scan

        9h

        Max Scan Line/Text Character Height

        Ah

        Text Cursor Start

        Bh

        Text Cursor End

        Ch

        Screen Start Address High

        Dh

        Screen Start Address Low

        Eh

        Text Cursor Location High

        Fh

        Text Cursor Location Low

        10h

        Vertical Retrace Start

        11h

        Vertical Retrace End

        12h

        Vertical Display Enable End

        13h

        Screen Offset

        14h

        Underline Location

        15h

        Vertical Blank Start

        16h

        Vertical Blank End

        17h

        Mode Control

        18h

        Line Compare

        19h

        Extended Signature Read-Back Register 0

        1Ah

        Extended Signature Read-Back Register 1

        1Bh

        CRT horizontal counter read back

        1Ch

        CRT vertical counter read back

        1Dh

        CRT overflow counter read back

        1Eh

        Extended Signature Read-Back Register 2

        22h

        Graphics Data Latch Readback Register

        24h

        Attribute Controller Toggle Readback Register

        26h

        Attribute Controller Index Readback Register

         

        CR0: Horizontal Total

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 00h

        Default: 00h

        D[7:0] Horizontal Total Bit[7:0]

         

        CR1: Horizontal Display Enable End

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 01h

        Default: 00h

        D[7:0] Horizontal Display Enable End Bit[7:0]

         

        CR2: Horizontal Blank Start

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 02h

        Default: 00h

        D[7:0] Horizontal Blank Start Bit[7:0]

         

        CR3: Horizontal Blank End

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 03h

        Default: 00h

        D7 Reserved

        D[6:5] Display Skew Control Bit[1:0]

        00: No skew

        01: Skew 1 character

        10: Skew 2 characters

        11: Skew 3 characters

        D[4:0] Horizontal Blank End Bit[4:0]

         

        CR4: Horizontal Retrace Start

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 04h

        Default: 00h

        D[7:0] Horizontal Retrace Start Bit[7:0]

         

        CR5: Horizontal Retrace End

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 05h

        Default: 00h

        D7 Horizontal Blank End Bit[5]

        D[6:5] Horizontal Retrace Delay Bit[1:0]

        00: Skew 0 character clock

        01: Skew 1 character clock

        10: Skew 2 character clocks

        11: Skew 3 character clocks

        D[4:0] Horizontal Retrace End Bit[4:0]

         

        CR6: Vertical Total

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 06h

        Default: 00h

        D[7:0] Vertical Total Bit[7:0]

         

        CR7: Overflow Register

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 07h

        Default: 00h

        D7 Vertical Retrace Start Bit[9]

        D6 Vertical Display Enable End Bit[9]

        D5 Vertical Total Bit[9]

        D4 Line Compare Bit[8]

        D3 Vertical Blank Start Bit[8]

        D2 Vertical Retrace Start Bit[8]

        D1 Vertical Display Enable End Bit[8]

        D0 Vertical Total Bit[8]

         

        CR8: Preset Row Scan

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 08h

        Default: 00h

        D7 Reserved

        D[6:5] Byte Panning Control Bit[1:0]

        D[4:0] Preset Row Scan Bit[4:0]

         

        CR9: Maximum Scan Line/Text Character Height

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 09h

        Default: 00h

        D7 Double Scan

        0: Disable

        1: Enable 400 lines display

        D6 Line Compare Bit[9]

        D5 Vertical Blank Start Bit[9]

        D[4:0] Character Cell Height Bit[4:0]

         

        CRA: Text Cursor Start

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 0Ah

        Default: 00h

        D[7:6] Reserved

        D5 Text Cursor Off

        0: Text Cursor On

        1: Text Cursor Off

        D[4:0] Text Cursor Start Bit[4:0]

         

        CRB: Text Cursor End

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 0Bh

        Default: 00h

        D7 Reserved

        D[6:5] Text Cursor Skew

        00: No skew

        01: Skew one character clock

        10: Skew two character clocks

        11: Skew three character clocks

        D[4:0] Text Cursor End Bit[4:0]

         

        CRC: Screen Start Address High

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 0Ch

        Default: 00h

        D[7:0] Screen Start Address Bit[15:8]

         

        CRD: Screen Start Address Low

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 0Dh

        Default: 00h

        D[7:0] Screen Start Address Bit[7:0]

         

        CRE: Text Cursor Location High

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 0Eh

        Default: 00h

        D[7:0] Text Cursor Location Bit[15:8]

         

        CRF: Text Cursor Location Low

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 0Fh

        Default: 00h

        D[7:0] Text Cursor Location Bit[7:0]

         

        CR10: Vertical Retrace Start

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 10h

        Default: 00h

        D[7:0] Vertical Retrace Start Bit[7:0]

         

        CR11: Vertical Retrace End

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 11h

        Default: 00h

        D7 Write Protect for CR0 to CR7

        0: Disable Write Protect

        1: Enable Write Protect

        D6 Alternate Refresh Rate

        0: Selects three refresh cycles per scanline

        1: Selects five refresh cycles per scanline

        D5 Vertical Interrupt Enable

        0: Enable

        1: Disable

        D4 Vertical Interrupt Clear

        0: Clear

        1: Not Clear

        D[3:0] Vertical Retrace End Bit[3:0]

         

        CR12: Vertical Display Enable End

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 12h

        Default: 00h

        D[7:0] Vertical Display Enable End Bit[7:0]

         

        CR13: Screen Offset

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 13h

        Default: 00h

        D[7:0] Screen Offset Bit[7:0]

         

        CR14: Underline Location Register

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 14h

        Default: 00h

        D7 Reserved

        D6 Doubleword Mode Enable

        0: Disable

        1: Enable

        D5 Count by 4

        0: Disable

        1: Enable

        D[4:0] Underline Location Bit[4:0]

         

        CR15: Vertical Blank Start

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 15h

        Default: 00h

        D[7:0] Vertical Blank Start Bit[7:0]

         

        CR16: Vertical Blank End

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 16h

        Default: 00h

        D[7:0] Vertical Blank End Bit[7:0]

         

        CR17: Mode Control Register

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 17h

        Default: 00h

        D7 Hardware Reset

        0: Disable horizontal and vertical retrace outputs

        1: Enable horizontal and vertical retrace outputs

        D6 Word/Byte Address Mode

        0: Set the memory address mode to word

        1: Set the memory address mode to byte

        D5 Address Wrap

        0: Disable the full 256K of memory

        1: Enable the full 256K of memory

        D4 Reserved

        D3 Count by Two

        0: Byte refresh

        1: Word refresh

        D2 Horizontal Retrace Select

        0: Normal

        1: Double Scan

        D1 RA1 replace MA14

        0: Enable

        1: Disable

        D0 RA0 replace MA13

        0: Enable

        1: Disable

         

        CR18: Line Compare Register

        Register Type: Read/Write

        Read/Write Port: 3B5/3D5, Index 18h

        Default: 00h

        D[7:0] Line Compare Bit[7:0]

         

        CR19: Extended Signature Read-Back Register 0

        Register Type: Read Only

        Read/Write Port: 3B5/3D5, Index 19h

        Default: 00h

        D[7:0] Signature read-back bit[7:0]

         

        CR1A: Extended Signature Read-Back Register 1

        Register Type: Read Only

        Read/Write Port: 3B5/3D5, Index 1Ah

        Default: 00h

        D[7:0] Signature read-back bit[15:8]

         

        CR1B: CRT horizontal counter read back

        Register Type: Read Only

        Read/Write Port: 3B5/3D5, Index 1Bh

        Default: 00h

        D[7:0] CRT horizontal counter bit[7:0]

        The horizontal counter value will be latched when read register CR1B. So the overflow bit of horizontal counter bit 8 in register CR1D - D4 should be read after read CR1B.

         

        CR1C: CRT vertical counter read back

        Register Type: Read Only

        Read/Write Port: 3B5/3D5, Index 1Ch

        Default: 00h

        D[7:0] CRT vertical counter bit[7:0]

        The vertical counter value will be latched when read register CR1C. So the overflow bit of horizontal counter bit [10:8] in register CR1D - D[2:0] should be read after read CR1C.

         

        CR1D: CRT overflow counter read back

        Register Type: Read Only

        Read/Write Port: 3B5/3D5, Index 1Dh

        Default: 00h

        D[7:5] Reserved

        D4 CRT horizontal counter bit8

        D3 Reserved

        D[2:0] CRT vertical counter bit[10:8]

         

        CR1E: Extended Signature Read-Back Register 2

        Register Type: Read Only

        Read/Write Port: 3B5/3D5, Index 1Eh

        Default: 00h

        D[7:0] Signature read-back bit[23:16]

         

        CR22: Graphics Data Latch Readback Register

        Register Type: Read Only

        Read/Write Port: 3B5/3D5, Index 22h

        D[7:0] Graphics Data Latch bit[7:0]

         

        CR24: Attribute Controller Toggle Readback Register

        Register Type: Read Only

        Read/Write Port: 3B5/3D5, Index 24h

        D7 Attribute Controller Toggle

        D[6:0] Reserved

         

        CR26: Attribute Controller Index Readback Register

        Register Type: Read Only

        Read/Write Port: 3B5/3D5, Index 26h

        D[7:6] Reserved

        D5 Video Enable

        D[4:0] Attribute Controller Index bit[8:4]

         

      5. Sequencer Registers
      6. Sequencer Index Register

        Register Type: Read/Write

        Read/Write Port: 3C4

        Default: 00h

        D[7:6] Reserved

        D[5:0] Sequencer Index Bit[5:0]

        Table of Sequencer Registers

        Index (3C4)

        Sequencer Register (3C5)

        00

        Reset Register

        01

        Clock Mode

        02

        Color Plane Write Enable

        03

        Character Generator Select

        04

        Memory Mode

         

        SR0: Reset Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 00h

        Default: 00h

        D[7:2] Reserved

        D1 Synchronous reset

        0: Reset

        1: Normal

        D0 Asynchronous reset

        0: Reset

        1: Normal

         

        SR1: Clock Mode Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 01h

        Default: 00h

        D[7:6] Reserved

        D5 Screen Off

        0: Display On

        1: Display Off

        D4 Shifter Load 32 enable

        0: Disable

        1: Data shifter loaded every 4th Character Clock

        D3 Dot Clock Divide by 2 enable

        0: Disable

        1: Video Clock is divided by 2 to generate Dot Clock

        D2 Shifter Load 16 (while D4=0)

        0: Disable

        1: Data shifter loaded every 2nd Character Clock

        D1 Reserved

        D0 8/9 Dot Clock

        0: Dot Clock is divided by 9 to generate Character Clock

        1: Dot Clock is divided by 8 to generate Character Clock

        SR2: Color Plane Write Enable Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 02h

        Default: 00h

        D[7:4] Reserved

        D3 Plane 3 write enable

        0: Disable

        1: Enable

        D2 Plane 2 write enable

        0: Disable

        1: Enable

        D1 Plane 1 write enable

        0: Disable

        1: Enable

        D0 Plane 0 write enable

        0: Disable

        1: Enable

         

        SR3: Character Generator Select Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 03h

        Default: 00h

        D[7:6] Reserved

        D5 Character generator table B select Bit[2]

        D4 Character generator table A select Bit[2]

        D[3:2] Character generator table B select Bit[1:0]

        D[1:0] Character generator table A select Bit[1:0]

         

        Table -3 Table of Selecting Active Character Generator

        D5

        D3

        D2

        Used when text attribute bit 3 is 1

        D4

        D1

        D0

        Used when text attribute bit 3 is 0

        0

        0

        0

        Character Table 1

        0

        0

        1

        Character Table 2

        0

        1

        0

        Character Table 3

        0

        1

        1

        Character Table 4

        1

        0

        0

        Character Table 5 (VGA only)

        1

        0

        1

        Character Table 6 (VGA only)

        1

        1

        0

        Character Table 7 (VGA only)

        1

        1

        1

        Character Table 8 (VGA only)

         

        SR4: Memory Mode Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 04h

        Default: 00h

        D[7:4] Reserved

        D3 Chain-4 Mode enable

        0: Disable

        1: Enable

        D2 Odd/Even Mode enable

        0: Enable

        1: Disable

        D1 Extended Memory

        0: Select 64K

        1: Select 256K

        D0 Reserved

         

      7. Graphics Controller Registers
      8. Graphics Controller Index Register

        Register Type: Read/Write

        Read/Write Port: 3CE

        Default: 00h

        D[7:4] Reserved

        D[3:0] Graphics Controller Index Bit[3:0]

        Index (3CE)

        Graphics Controller Register (3CF)

        00

        Set/Reset Register

        01

        Set/Reset Enable Register

        02

        Color Compare Register

        03

        Data Rotate & Function Select

        04

        Read Plane Select Register

        05

        Mode Register

        06

        Miscellaneous Register

        07

        Color Don't Care Register

        08

        Bit Mask Register

         

        GR0: Set/Reset Register

        Register Type: Read/Write

        Read/Write Port: 3CF, Index 00h

        Default: 00h

        D[7:4] Reserved

        D3 Set/Reset Map for plane 3

        D2 Set/Reset Map for plane 2

        D1 Set/Reset Map for plane 1

        D0 Set/Reset Map for plane 0

         

        GR1: Set/Reset Enable Register

        Register Type: Read/Write

        Read/Write Port: 3CF, Index 01h

        Default: 00h

        D[7:4] Reserved

        D3 Enable Set/Reset for plane 3

        0: Disable

        1: Enable

        D2 Enable Set/Reset for plane 2

        0: Disable

        1: Enable

        D1 Enable Set/Reset for plane 1

        0: Disable

        1: Enable

        D0 Enable Set/Reset for plane 0

        0: Disable

        1: Enable

         

        GR2: Color Compare Register

        Register Type: Read/Write

        Read/Write Port: 3CF, Index 02h

        Default: 00h

        D[7:4] Reserved

        D3 Color Compare Map for plane 3

        D2 Color Compare Map for plane 2

        D1 Color Compare Map for plane 1

        D0 Color Compare Map for plane 0

        GR3: Data Rotate/Function Select Register

        Register Type: Read/Write

        Read/Write Port: 3CF, Index 03h

        Default: 00h

        D[7:5] Reserved

        D[4:3] Function Select

        Table of Function Select

        D4

        D3

        Function

        0

        0

        write data unmodified

        0

        1

        write data AND processor latches

        1

        0

        write data OR processor latches

        1

        1

        write data XOR processor latches

        D[2:0] Rotate Count

        Table of Rotate Count

        D2

        D1

        D0

        Right Rotation

        0

        0

        0

        none

        0

        0

        1

        1 bits

        0

        1

        0

        2 bits

        0

        1

        1

        3 bits

        1

        0

        0

        4 bits

        1

        0

        1

        5 bits

        1

        1

        0

        6 bits

        1

        1

        1

        7 bits

         

        GR4: Read Plane Select Register

        Register Type: Read/Write

        Read/Write Port: 3CF, Index 04h

        Default: 00h

        D[7:2] Reserved

        D[1:0] Read Plane Select bit 1, 0

        00: Plane 0

        01: Plane 1

        10: Plane 2

        11: Plane 3

         

        GR5: Mode Register

        Register Type: Read/Write

        Read/Write Port: 3CF, Index 05h

        Default: 00h

        D7 Reserved

        D6 256-color Mode

        0: Disable

        1: Enable

        D5 Shift Register Mode

        0: Configure shift register to be EGA compatible

        1: Configure shift register to be CGA compatible

        D4 Odd/Even Addressing Mode enable

        0: Disable

        1: Enable

        D3 Read Mode

        0: Map Select Read

        1: Color Compare Read

        D2 Reserved

        D[1:0] Write mode

        Table for Write Mode

        D1

        D0

        Mode Selected

        0

        0

        Write Mode 0: Direct processor write (Data Rotate, Set/Reset may apply).

        0

        1

        Write Mode 1: Use content of latches as write data.

        1

        0

        Write Mode 2: Color Plane n(0-3) is filled with the value of bit m in the processor write data.

        1

        1

        Write Mode 3: Color Plane n(0-3) is filled with 8 bits of the color value contained in the Set/Reset Register for that plane. The Enable Set/Reset Register is not effective. Processor data will be AND with Bit Mask Register content to form new bit mask pattern. (data rotate may apply)

         

        GR6: Miscellaneous Register

        Register Type: Read/Write

        Read/Write Port: 3CF, Index 06h

        Default: 00h

        D[7:4] Reserved

        D[3:2] Memory Address Select

        Table of Memory Address Select

        D3

        D2

        Address range

        0

        0

        A0000 to BFFFF

        0

        1

        A0000 to AFFFF

        1

        0

        B0000 to B7FFF

        1

        1

        B8000 to BFFFF

        D1 Chain Odd And Even Maps

        0: Disable

        1: Enable

        D0 Graphics Mode Enable

        0: Select alphanumeric mode

        1: Select graphics mode

         

        GR7: Color Don't Care Register

        Register Type: Read/Write

        Read/Write Port: 3CF, Index 07h

        Default: 00h

        D[7:4] Reserved

        D3 Plane 3 Don't Care

        0: Disable color comparison

        1: Enable color comparison

        D2 Plane 2 Don't Care

        0: Disable color comparison

        1: Enable color comparison

        D1 Plane 1 Don't Care

        0: Disable color comparison

        1: Enable color comparison

        D0 Plane 0 Don't Care

        0: Disable color comparison

        1: Enable color comparison

        GR8: Bit Mask Register

        Register Type: Read/Write

        Read/Write Port: 3CF, Index 08h

        Default: 00h

        D[7:0] Bit Mask Enable Bit[7:0]

         

      9. Attribute Controller and Video DAC Registers
      10. Attribute Controller Index Register

        Register Type: Read/Write

        Read Port: 3C0

        Write Port: 3C0

        Default: 00h

        D[7:6] Reserved

        D5 Palette Address Source

        0: From CPU

        1: From CRT

        D[4:0] Attribute Controller Index Bit[4:0] (00h-14h)

        Index (3C0)

        Attribute Controller Register (3C0)

        00h

        Color Palette Register 0

        01h

        Color Palette Register 1

        02h

        Color Palette Register 2

        03h

        Color Palette Register 3

        04h

        Color Palette Register 4

        05h

        Color Palette Register 5

        06h

        Color Palette Register 6

        07h

        Color Palette Register 7

        08h

        Color Palette Register 8

        09h

        Color Palette Register 9

        0Ah

        Color Palette Register 10

        0Bh

        Color Palette Register 11

        0Ch

        Color Palette Register 12

        0Dh

        Color Palette Register 13

        0Eh

        Color Palette Register 14

        0Fh

        Color Palette Register 15

        10h

        Mode Control Register

        11h

        Screen Border Color

        12h

        Color Plane Enable Register

        13h

        Pixel Panning Register

        14h

        Color Select Register (VGA)

         

        AR0~ARF: Palette Registers

        Register Type: Read/Write

        Read Port: 3C1, Index 00h ~ 0Fh

        Write Port: 3C0, Index 00h ~ 0Fh

        Default: 00h

        D[7:6] Reserved

        D[5:0] Palette Entries

         

        AR10: Mode Control Register

        Register Type: Read/Write

        Read Port: 3C1, Index 10h

        Write Port: 3C0, Index 10h

        Default: 00h

        D7 P4, P5 Source Select

        0: AR0-F Bit[5:4] are used as the source for the Lookup Table

        Address Bit[5:4]

        1: AR14 Bit[1:0] are used as the source for the Lookup Table

        Address Bit[5:4]

        D6 Pixel Double Clock Select

        0: The pixels are clocked at every clock cycle

        1: The pixels are clocked at every other clock cycle

        D5 PEL Panning Compatibility with Line Compare

        0: Disable

        1: Enable

        D4 Reserved

        D3 Background Intensity or Blink enable (while the Character Attribute D7=1)

        0: Background Intensity attribute enable

        1: Background Blink attribute enable

        D2 Line Graphics enable

        0: The ninth bit of nine-bit-wide character cell will be the same

        as the background.

        1: The ninth bit of nine-bit-wide character cell will be made be the

        same as the eighth bit for character codes in the range C0h

        through DFh.

        D1 Display Type

        0: The contents of the Attribute byte are treated as color attribute.

        1: The contents of the Attribute byte are treated as MDA-compatible

        attribute.

        D0 Graphics/Text Mode

        0: The Attribute Controller will function in text mode.

        1: The Attribute Controller will function in graphics mode.

         

        AR11: Screen Border Color

        Register Type: Read/Write

        Read Port: 3C1, Index 11h

        Write Port: 3C0, Index 11h

        Default: 00h

        D[7:6] Reserved

        D[5:0] Palette Entry

         

        AR12: Color Plane Enable Register

        Register Type: Read/Write

        Read Port: 3C1, Index 12h

        Write Port: 3C0, Index 12h

        Default: 00h

        D[7:6] Reserved

        D[5:4] Display Status MUX Bit[1:0]

        These bits select two of the eight bits color outputs to be available

        in the status register. The output color combinations available on

        the status bits are as follows:

        Table for Video Read-back Through Diagnostic Bit (I)

        Color Plane Enable Register

        Input Status Register 1 (Refer to 0 on page *)

        D5

        D4

        D5

        D4

        0

        0

        Red

        Blue

        0

        1

        Secondary Red

        Secondary Green

        1

        0

        Secondary Blue

        Green

        1

        1

        Unused

        Unused

        Table for Video Read-back Through Diagnostic Bit (II)

        Color Plane Enable Register

        D5

        D4

        D5

        D4

        0

        0

        P2

        P0

        0

        1

        P5

        P4

        1

        0

        P3

        P1

        1

        1

        P7

        P6

        D[3:0] Enable Color Plane Bit[3:0]

         

        AR13: Pixel Panning Register

        Register Type: Read/Write

        Read Port: 3C1, Index 13h

        Write Port: 3C0, Index 13h

        Default: 00h

        D[7:4] Reserved

        D[3:0] Pixel Pan Bit[3:0]

        This field specifies the number of pixels the display data will be shifted

        to the left. This field is interpreted as indicated in the following table:

        D3

        D2

        D1

        D0

        Monochrome Text

        VGA Mode 13

        All others

        0

        0

        0

        0

        8

        0

        0

        0

        0

        0

        1

        0

        Invalid

        1

        0

        0

        1

        0

        1

        1

        2

        0

        0

        1

        1

        2

        Invalid

        3

        0

        1

        0

        0

        3

        2

        4

        0

        1

        0

        1

        4

        Invalid

        5

        0

        1

        1

        0

        5

        3

        6

        0

        1

        1

        1

        6

        Invalid

        7

        1

        0

        0

        0

        7

        Invalid

        Invalid

        1

        0

        0

        1

        Invalid

        Invalid

        Invalid

        1

        0

        1

        0

        Invalid

        Invalid

        Invalid

        1

        0

        1

        1

        Invalid

        Invalid

        Invalid

        1

        1

        0

        0

        Invalid

        Invalid

        Invalid

        1

        1

        0

        1

        Invalid

        Invalid

        Invalid

        1

        1

        1

        0

        Invalid

        Invalid

        Invalid

        1

        1

        1

        1

        Invalid

        Invalid

        Invalid

         

        AR14: Color Select Register

        Register Type: Read/Write

        Read Port: 3C1, Index 14h

        Write Port: 3C0, Index 14h

        Default: 00h

        D[7:4] Reserved

        D[3:2] Color Bit[7:6]

        These two bits are concatenated with the six bits from the Palette Register

        to form the address into the LUT and to drive P[7:6]

        D[1:0] Color Bit[5:4]

        If AR10 D7 is programmed to a '1', these two bits replace the corresponding

        two bits from the Palette Register to form the address into the LUT and to

        drive P[5:4]. If AR10 D7 is programmed to a '0', these two bits are ignored.

         

      11. Color Registers
      12. DAC Status Register

        Register Type: Read Only

        Read Port: 3C7

        Default: 00h

        D[7:2] Reserved

        D[1:0] DAC State Bit[1:0]

        00: Write Operation in progress

        11: Read Operation in progress

         

        DAC Index Register (Read Mode)

        Register Type: Write Only

        Write Port: 3C7

        Default: 00h

        D[7:0] DAC Index Bit[7:0]

         

        DAC Index Register (Write Mode)

        Register Type: Read/Write

        Read/Write Port: 3C8

        Default: 00h

        D[7:0] DAC Index Bit[7:0]

         

        DAC Data Register

        Register Type: Read/Write

        Read/Write Port: 3C9

        Default: 00h

        When SR7 D3=0

        D[7:6] Reserved

        D[5:0] DAC Data [5:0]

        Before writing to this register, 3C8h is written with the DAC index. Then three values, corresponding to the Red, Green, and Blue values for the DAC entry are written. After the third value is written, the values are transferred to the LUT and the DAC index is incremented in case new values for the next DAC index are to be written.

        Before reading from this register, 3C7h is written with the DAC index. Then three values, corresponding to the Red, Green, and Blue value for the DAC entry may be read from this DAC index. After the third value is read, the DAC index is incremented in case the value for the next DAC index to be read.

        When SR7 D3=1

        D[7:0] DAC Data[7:0]

        When SR7 D3=1, the 24-bit LUT is enabled. This LUT can translate the R, G, B values into new R, G , B values independently. This LUT can be used for performing GAMMA correction function. The programming procedure is same as old LUT when SR7 D3=0.

         

        PEL Mask Register

        Register Type: Read/Write

        Read/Write Port: 3C6

        Default: 00h

        D[7:0] Pixel Mask Bit[7:0]

        This field is the Pixel Mask for the palette DAC. If a bit in this field is programmed to a '0', the corresponding bit in the pixel data will be ignored in looking up an entry in the LUT.

      13. Integrated VGA Extended Registers
      14. Extended Index Register

        Register Type: Read/Write

        Read/Write Port: 3C4

        Default: 00h

        D[7:6] Reserved

        D[5:0] Extended Register Index Bit[5:0] (05h ~ 37h)

        Index (3C4)

        Extended Enhanced Register (3C5)

        05h

        Extended Password/Identification Register

        06h

        Extended Graphics Mode Control Register

        07h

        Extended Misc. Control Register 0

        08h

        Extended CRT/CPU Threshold Control Register 0

        09h

        Extended CRT/CPU Threshold Control Register 1

        0Ah

        Extended CRT Overflow Register

        0Bh

        Extended Misc. Control Register 1

        0Ch

        Extended Misc. Control Register 2

        0Dh

        Extended Configuration Status 0

        0Eh

        Extended Configuration Status 1

        0Fh

        Extended Scratch Register 0

        10h

        Extended Scratch Register 1

        11h

        Extended DDC and Power Control Register

        12h

        Extended Horizontal Overflow Register

        13h

        Extended Clock Gen Register

        13h

        Extended 25Mhz Video Clock Register 2

        13h

        Extended 28Mhz Video Clock Register 2

        14h

        Extended Hardware Cursor Color 0 Red Register

        15h

        Extended Hardware Cursor Color 0 Green Register

        16h

        Extended Hardware Cursor Color 0 Blue Register

        17h

        Extended Hardware Cursor Color 1 Red Register

        18h

        Extended Hardware Cursor Color 1 Green Register

        19h

        Extended Hardware Cursor Color 1 Blue Register

        1Ah

        Extended Hardware Cursor Horizontal Start Register 0

        1Bh

        Extended Hardware Cursor Horizontal Start Register 1

        1Ch

        Extended Hardware Cursor Horizontal Preset Register

        1Dh

        Extended Hardware Cursor Vertical Start Register 0

        1Eh

        Extended Hardware Cursor Vertical Start Register 1

        1Fh

        Extended Hardware Cursor Vertical Preset Register

        20h

        Extended Linear Addressing Base Address Register 0

        21h

        Extended Linear Addressing Base Address Register 1

        22h

        Extended Standby/Suspend Timer Register

        23h

        Extended Misc. Control Register 3

        24h

        Extended Graphics Frame Buffer Location Address Register

        25h

        Extended Scratch Register 2

        26h

        Extended Graphics Engine Register 0

        27h

        Extended Graphics Engine Register 1

        28h

        Extended Internal Memory Clock Register 0

        29h

        Extended Internal Memory Clock Register 1

        2Ah

        Extended Internal Video Clock Register 0

        2Ah

        Extended 25Mhz Video Clock Register 0

        2Ah

        Extended 28Mhz Video Clock Register 0

        2Bh

        Extended Internal Video Clock Register 1

        2Bh

        Extended 25Mhz Video Clock Register 1

        2Bh

        Extended 28Mhz Video Clock Register 1

        2Ch

        Extended Turbo Queue Base Address

        2Dh

        Extended Memory Start Control Register

        2Eh

        Extended Shared Memory Control Register

        2Fh

        Extended DRAM Frame Buffer Size Register

        30h

        Extended Fast Page Flip Starting Address Low Register

        31h

        Extended Fast Page Flip Starting Address Middle Register

        32h

        Extended Fast Page Flip Starting Address High Register

        33h

        Extended Misc. Control Register 4

        34h

        Extended Misc. Control Register 5

        35h

        Extended Misc. Control Register 6

        36h

        Extended Scratch Register 3

        37h

        Extended Scratch Register 4

        38h

        Extended Misc. Control Register 7

         

        SR5: Extended Password/Identification Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 05h

        Default: 00h

        D[7:0] Password/Identification Bit[7:0]

        If 86h is written into this register, then A1h will be read from this register , and unlock all the extension registers.

        If the value other than 86h is written into this register, then 21h will be read from this register, and lock all the extension registers.

         

        SR6: Extended Graphics Mode Control Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 06h

        Default: 00h

        D7 Graphics mode linear addressing enable

        0: Disable

        1: Enable

        D6 Graphics mode hardware cursor display enable

        0: Disable

        1: Enable

        D5 Graphics mode interlaced enable

        0: Disable

        1: Enable

        D4 True-Color graphics mode enable

        0: Disable

        1: Enable

        D3 64K-Color graphics mode enable

        0: Disable

        1: Enable

        D2 32K-Color graphics mode enable

        0: Disable

        1: Enable

        D1 Enhanced graphics mode enable

        0: Disable

        1: Enable

        D0 Enhanced text mode enable

        0: Disable

        1: Enable

         

        SR7: Extended Misc. Control Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 7h

        Default: 00h

        D7 Merge Video line buffer into CRT FIFO

        0 : disable

        1 : enable

        The size of CRT FIFO can be set to 256x64 bit when merged with video line buffer only when video playback is not enabled.

        D6 Disable feature connector (VIDEO 0-7, PCLK) output

        0 : enable

        1 : disable

        D5 Internal RAMDAC power saving mode

        0 : low power mode

        1 : high power mode

        D4 Extended video clock frequency divided by 2

        0 : disable

        1 : enable

        D3 Enable Multi-line Prefetch

        0 : disable

        1 : enable

        D2 24-bit color palette enable for direct color mode

        0 : disable

        1 : enable

        D1 High speed DAC operation

        0 : low speed mode

        1 : high speed mode

        This bit should be set when DCLK frequency greater than 135Mhz

        D0 External DAC Reference Voltage Input

        0 : Internal DAC Reference Voltage

        1 : External DAC Reference Voltage

        To achieve more accurate reference voltage. The reference voltage of DAC can be input from external.

        SR8: Extended CRT/CPU Threshold Control Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 08h

        Default: 00h

        D[7:4] CRT/CPU Arbitration Threshold Low Bit[3:0]

        D[3:0] CRT/Engine Threshold High Bit[3:0]

         

        SR9: Extended CRT/CPU Threshold Control Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 09h

        Default: 00h

        D[7:4] ASCII/Attribute Threshold Bit[3:0]

        D[3:0] CRT/CPU Threshold High Bit[3:0]

         

        SRA: Extended CRT Overflow Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 0Ah

        Default: 00h

        D[7:4] Extended Screen Offset Bit[11:8]

        D3 Extended Vertical Retrace Start Bit[10]

        D2 Extended Vertical Blank Start Bit[10]

        D1 Extended Vertical Display Enable End Bit[10]

        D0 Extended Vertical Total Bit[10]

         

        SRB: Extended Misc. Control Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 0Bh

        Default: 00h

        D7 True-Color Graphics mode RGB Sequence Selection

        0: Red, Green, and Blue in byte order

        1: Blue, Green, and Red in byte order

        D[6:5] Memory-mapped I/O Space Selection Bit[1:0]

        00: Disable

        01: Select Axxxxh as Memory-mapped I/O Space

        10: Select Bxxxxh as Memory-mapped I/O Space

        11: Select PCI config register 14H as Memory-mapped I/O space

        D4 True-Color frame rate modulation enable

        0: Disable

        1: Enable

        D3 Dual segment register mode enable

        0: Disable

        1: Enable

        D2 I/O gating enable while write-buffer is not empty

        0: Disable

        1: Enable

        D1 16-color packed pixel enable

        0: Disable

        1: Enable

        D0 CPU-driven BITBLT operation enable

        0: Disable

        1: Enable

         

        SRC: Extended Misc. Control Register 2

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 0Ch

        Default: 00h

        D7 Graphics mode 32-bit memory access enable

        0: Disable

        1: Enable

        D6 Text mode 16-bit memory access enable

        0: Disable

        1: Enable

        D5 Read-ahead cache operation enable

        0: Disable

        1: Enable

        D4 Reserved

        D3 Test mode enable

        0: Disable

        1: Enable

        D[2:1] Memory Configuration Bit[1:0]

        00: 1Mbyte/32 bits transaction

        01: 2Mbyte/64 bits transaction

        10: 4Mbyte/32 or 64 bits transaction

        11: Reserved

        D0 Synchronous reset timing generator enable

        0: Disable

        1: Enable

         

        SRD: Extended Configuration Status 0

        Register Type: Read Only

        Read Port: 3C5, Index 0Dh

        Default: 00h

        D7 Reserved

        D6 Clock Generator Selection

        0: Select external clock generator (used for SiS internal test only)

        1: Select internal clock generator when MD22 is pulled up with resistor

        D[5:2] Reserved

        D1 Video subsystem enable/disable at power-on is

        0: Controlled by System BIOS

        1: Forced to disable when MD17 is pulled up with resistor.

        D0 Select I/O address 3C3h or 46E8h as video subsystem port

        0: Select 3C3h

        1: Select 46E8h when MD16 is pulled up with resistor.

         

        SRE: Extended Configuration Status 1

        Register Type: Read Only

        Read Port: 3C5, Index 0Eh

        Default: 00h

        D[7:4] Reserved

        D3 INTA# Selection

        0: Disable

        1: Enable when MD27 is pulled up with resistor

        D[2:0] Reserved

         

        SRF: Extended Scratch Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 0Fh

        Default: 00h

        D[7:0] Reserved for video BIOS

         

        SR10: Extended Scratch Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 10h

        Default: 00h

        D[7:0] Reserved for video BIOS

         

        SR11: Extended DDC and Power Control Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 11h

        Default: 00h

        D7 Force VGA into suspend mode

        0: Disable

        1: Enable

        D6 Force VGA into standby mode

        0: Disable

        1: Enable

        D5 Enable video memory access as activation source

        0: Disable

        1: Enable

        D4 Enable keyboard and hardware cursor as system activation source

        0: Disable

        1: Enable

        D[3:2] Reserved

        D1 DDC DATA Programming

        While writing this bit,

        0: Output '0' logic into DDC Data Signal.

        1: Output '1' logic into DDC Data Signal.

        While reading this bit,

        0: Get '0' logic from DDC Data Signal .

        1: Get '1' logic from DDC Data Signal .

        D0 DDC CLK Programming

        While writing this bit,

        0: Output '0' logic into DDC Clock Signal.

        1: Output '1' logic into DDC Clock Signal.

        While reading this bit,

        0: Get '0' logic from DDC Clock Signal .

        1: Get '1' logic from DDC Clock Signal .

         

        SR12: Extended Horizontal Overflow Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 12h

        Default: 00h

        D[7:5] Horizontal Retrace Skew

        000 : no delay

        001 : delay 1 DCLK

        010 : delay 2 DCLK

        011 : delay 3 DCLK

        100 : delay 4 DCLK

        101 : delay 5 DCLK

        110 : delay 6 DCLK

        111 : delay 7 DCLK

        D4 Extended Horizontal Blank End Bit[6]

        D3 Extended Horizontal Retrace Start Bit[8]

        D2 Extended Horizontal Blank Start Bit[8]

        D1 Extended Horizontal Display Enable End Bit[8]

        D0 Extended Horizontal Total Bit[8]

         

        SR13: Extended Clock Gen. Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 13h

        Default: 00h

        D7 MCLK Post-scale Bit[2]

        D6 Internal VCLK Post-Scale Bit[2]

        D[5:0] Reserved

        SR13A: Extended 25Mhz Video Clock Register 2

        Register Type: Read/Write

        Read/Write Port: 3C5h,Index 13h

        Default: 00h

        D7 Reserved

        D6 25Mhz VCLK Post-Scale Bit[2]

        D[5:0] Reserved

         

        SR13B: Extended 28Mhz Video Clock Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5h,Index 2Ah

        Default: 00h

        D7 Reserved

        D6 28Mhz VCLK Post-Scale Bit[2]

        D[5:0] Reserved

         

        SR14: Extended Hardware Cursor Color 0 Red Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 14h

        Default: 00h

        D[7:6] Reserved

        D[5:0] Hardware Cursor Color 0 Red Bit[5:0]

         

        SR15: Extended Hardware Cursor Color 0 Green Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 15h

        Default: 00h

        D[7:6] Reserved

        D[5:0] Hardware Cursor Color 0 Green Bit[5:0]

         

        SR16: Extended Hardware Cursor Color 0 Blue Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 16h

        Default: 00h

        D[7:6] Reserved

        D[5:0] Hardware Cursor Color 0 Blue Bit[5:0]

         

        SR17: Extended Hardware Cursor Color 1 Red Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 17h

        Default: 00h

        D[7:6] Reserved

        D[5:0] Hardware Cursor Color 1 Red Bit[5:0]

         

        SR18: Extended Hardware Cursor Color 1 Green Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 18h

        Default: 00h

        D[7:6] Reserved

        D[5:0] Hardware Cursor Color 1 Green Bit[5:0]

         

        SR19: Extended Hardware Cursor Color 1 Blue Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 19h

        Default: 00h

        D[7:6] Reserved

        D[5:0] Hardware Cursor Color 1 Blue Bit[5:0]

         

        SR1A: Extended Hardware Cursor Horizontal Start Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 1Ah

        Default: 00h

        D[7:0] Hardware Cursor Horizontal Start Bit[7:0]

         

        SR1B: Extended Hardware Cursor Horizontal Start Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 1Bh

        Default: 00h

        D[7:3] Reserved

        D[2:0] Hardware Cursor Horizontal Start Bit[10:8]

         

        SR1C: Extended Hardware Cursor Horizontal Preset Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 1Ch

        Default: 00h

        D[7:6] Reserved

        D[5:0] Hardware Cursor Horizontal Preset Bit[5:0]

         

        SR1D: Extended Hardware Cursor Vertical Start Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 1Dh

        Default: 00h

        D[7:0] Hardware Cursor Vertical Start Bit[7:0]

         

        SR1E: Extended Hardware Cursor Vertical Start Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 1Eh

        Default: 00h

        D[7:4] Hardware Cursor Pattern Select Bit[3:0]

        D3 Hardware Cursor Side Pattern Enable

        0: Disable

        1: Enable

        D[2:0] Hardware Cursor Vertical Start Bit[10:8]

         

        SR1F: Extended Hardware Cursor Vertical Preset Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 1Fh

        Default: 00h

        D[7:6] Reserved

        D[5:0] Hardware Cursor Vertical Preset Bit[5:0]

         

        SR20: Extended Linear Addressing Base Address Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 20h

        Default: 00h

        D[7:0] Linear Addressing Base Address Bit[26:19]

         

        SR21: Extended Linear Addressing Base Address Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 21h

        Default: 00h

        D7 Reserved

        D[6:5] Linear Addressing Space Aperture Bit[1:0]

        00: 512 KByte

        01: 1 MByte

        10: 2 Mbyte

        11: 4MByte

        D[4:0] Linear Addressing Base Address Bit[31:27]

         

        SR22: Extended Standby/Suspend Timer Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 22h

        Default: 00h

        D[7:4] Suspend Timer Bit[3:0]

        The resolution for Suspend Timer is 2 minutes.

        D[3:0] Standby Timer Bit[3:0]

        The resolution for Standby Timer is 2 minutes.

         

        SR23: Extended Misc. Control Register 3

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 23h

        Default: 00h

        D7 Reserved

        D6 CRC Generator Enable

        0: Disable

        1: Enable

        D5 EDO DRAM Enable Bit

        0: Disable

        1: Enable

        D4 Bypass SRAM

        0: Disable

        1: Enable

        D3 Video compatible Hardware Cursor visibility enable

        0: Disable

        1: Enable

        D[2:0] DRAM Control Signal Delay Compensation Bits[2:0]

        000: Delay 4 ns

        001: Delay 5 ns

        010: Delay 6 ns

        011: Delay 7 ns

        100: Delay 8 ns

        101: Delay 9 ns

        110: Delay 10 ns

        111: Delay 11 ns

         

        SR24: Extended Graphics Frame Buffer Location Address Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 24h

        Default: 00h

        D[7:0] Graphics Frame Buffer Location address Bits[7:0]

        When 32-bit mode, this register is in unit of 256 KB

        When 64-bit mode, this register is in unit of 512 KB

         

        SR25: Extended Scratch Register 2

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 25h

        Default: 00h

        D[7:0] Reserved for VGA BIOS

         

        SR26: Extended Graphics Engine Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 26h

        Default: 00h

        D7 Reserved

        D6 Power-down Internal RAMDAC

        0: Disable

        1: Enable

        D5 PCI Burst-Write Mode enable

        0: Disable

        1: Enable

        D4 Continuous Memory Data Access Enable Bit

        0: Disable

        1: Enable

        D3 Internal VGAREQ* and VGAGNT* synchronize to HCLK

        0: Asynchronous

        1: Synchronous

        D2 Slow DRAM RAS pre-charge time

        0: Disable (3 MCLK/DRAM cycle)

        1: Enable (4 MCLK/DRAM cycle)

        D1 Slow DRAM Timing enable

        0: Disable (7 MCLK/DRAM cycle)

        1: Enable (8 MCLK/DRAM cycle)

        D0 Reserved

         

        SR27: Extended Graphics Engine Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 27h

        Default: 00h

        D7 Turbo Queue Engine enable

        0: Disable

        1: Enable

        D6 Graphics Engine Register Programming enable

        0: Disable

        1: Enable

        D[5:4] Logical Screen Width and Byte-Per-Pixel Select Bit[1:0]

        00 1024, 256 colors or 512, 32k/64k colors

        01 2048, 256 colors or 1024, 32k/64k colors

        10 4096, 256 colors or 2048, 32k/64k colors

        11 invalid

        D[3:0] Extended Screen Start Address Bit[19:16]

         

        SR28: Extended Internal Memory Clock Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 28h

        Default: 00h

        D[7] MCLK Divider

        0: Do not divide

        1: Divide by 2

        D[6:0] MCLK Numerator Bit[6:0]

        [0000000:1111111] = [1:128]

         

        SR29: Extended Internal Memory Clock Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 29h

        Default: 00h

        D7 MCLK VCO Gain

        0: Gain for low frequency operation

        1: Gain for high frequency operation

        D[6:5] MCLK Post-Scale Bit[1:0]

        When SR13 D6=0

        00 : Do not scale

        01 : Scaled by 2

        10 : Scaled by 3

        11 : Scaled by 4

        When SR13 D6=1

        00 : Reserved

        01 : Reserved

        10 : Scaled by 6

        11 : Scaled by 8

        D[4:0] MCLK DeNumerator Bit[4:0]

        [00000:11111] = [1:32]

         

        SR2A: Extended Internal Video Clock Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5h,Index 2Ah

        Default: 00h

        D[7] Internal VCLK Divider

        0: Do not divide

        1: Divide by 2

        D[6:0] Internal VCLK Numerator Bit[6:0]

        [0000000:1111111] = [1:128]

         

        SR2AA: Extended 25Mhz Video Clock Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5h,Index 2Ah

        Default: 00h

        D[7] 25Mhz VCLK Divider

        0: Do not divide

        1: Divide by 2

        D[6:0] 25Mhz VCLK Numerator Bit[6:0]

        [0000000:1111111] = [1:128]

         

        SR2AB: Extended 28Mhz Video Clock Register 0

        Register Type: Read/Write

        Read/Write Port: 3C5h,Index 2Ah

        Default: 00h

        D[7] 28Mhz VCLK Divider

        0: Do not divide

        1: Divide by 2

        D[6:0] 28Mhz VCLK Numerator Bit[6:0]

        [0000000:1111111] = [1:128]

         

        SR2B: Extended Internal Video Clock Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5h, Index 2Bh

        Default: 00h

        D7 Internal VCLK VCO Gain

        0: Gain for low frequency operation

        1: Gain for high frequency operation

        D[6:5] Internal VCLK Post-Scale Bit[1:0]

        When SR13 D6=0

        00 : Do not scale

        01 : Scaled by 2

        10 : Scaled by 3

        11 : Scaled by 4

        When SR13 D6=1

        00 : Reserved

        01 : Reserved

        10 : Scaled by 6

        11 : Scaled by 8

        D[4:0] Internal VCLK DeNumerator Bit[4:0]

        [00000:11111] = [1:32]

         

        SR2BA: Extended 25Mhz Video Clock Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5h, Index 2Bh

        Default: 00h

        D7 25Mhz VCLK VCO Gain

        0: Gain for low frequency operation

        1: Gain for high frequency operation

        D[6:5] 25Mhz VCLK Post-Scale Bit[1:0]

        When SR13A D6=0

        00 : Do not scale

        01 : Scaled by 2

        10 : Scaled by 3

        11 : Scaled by 4

        When SR13A D6=1

        00 : Reserved

        01 : Reserved

        10 : Scaled by 6

        11 : Scaled by 8

        D[4:0] 25Mhz VCLK DeNumerator Bit[4:0]

        [00000:11111] = [1:32]

         

        SR2BB: Extended 28Mhz Video Clock Register 1

        Register Type: Read/Write

        Read/Write Port: 3C5h, Index 2Bh

        Default: 00h

        D7 28Mhz VCLK VCO Gain

        0: Gain for low frequency operation

        1: Gain for high frequency operation

        D[6:5] 28Mhz VCLK Post-Scale Bit[1:0]

        When SR13B D6=0

        00 : Do not scale

        01 : Scaled by 2

        10 : Scaled by 3

        11 : Scaled by 4

        When SR13B D6=1

        00 : Reserved

        01 : Reserved

        10 : Scaled by 6

        11 : Scaled by 8

        D[4:0] 28Mhz VCLK DeNumerator Bit[4:0]

        [00000:11111] = [1:32]

        SR2C: Extended Turbo Queue Base Address

        Register Type: Read/Write

        Read/Write Port: 3C5h, Index 2Ch

        Default: 00h

        D7 Reserved

        D[6:0] Turbo Queue Base Address Bit[6:0]

         

        SR2D: Extended Memory Start Control Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 2Dh

        Default: 00h

        D7 Memory Address Scramble Table Selection Bit 4

        Refer to " Scrambling Table"

        D6 Reserved

        D5 Reserved

        D4 Shared-memory 2-wire, 2-request Mode

        0: Disable

        1: Enable

        D[3:0] Page Size Select

        0000: 2 KB at 32-bit mode, 4 KB at 64-bit mode

        0001: 4 KB at 32-bit mode, 8 KB at 64-bit mode

        0010: 8 KB at 32-bit mode, 16 KB at 64-bit mode

        0011: 16 KB at 32-bit mode, 32 KB at 64-bit mode

        0100: 1 KB at 32-bit mode, 2 KB at 64-bit mode

        Others: Reserved

         

        SR2E: Extended Shared Memory Control Register

        Register Type: Read/Write

        Read/Write Port: 3C5h, Index 2Eh

        Default: 00h

        D[7:4] Memory Address Scrambling Table Selection Bit[3:0]

        Refer to " Scrambling Table".

        D[3:0] Reserved

         

        SR2F: Extended DRAM Frame Buffer Size Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 2Fh

        Default: 00h

        D7 Reserved

        D6 Read-Modified-Write Timing Selection

        0: 5 MCLK

        1: 6 MCLK

        D5 Enable Fast Change Mode Timing

        0: Disable

        1: Enable

        D4 Enable Fast Page Flip

        0: Disable

        1: Enable

        D3 Enable Extend DRAM Frame Buffer Sizing

        0: Disable

        1: Enable

        D[2:0] Extended DRAM Frame Buffer Size Bit[2:0]

        000: 256 KB for 32-bit DRAM data bus,

        512 KB for 64-bit DRAM data bus

        001: 512 KB for 32-bit DRAM data bus,

        1 MB for 64-bit DRAM data bus

        010: 768 KB for 32-bit DRAM data bus,

        1.5 MB for 64-bit DRAM data bus

        011: 1 MB for 32-bit DRAM data bus,

        2 MB for 64-bit DRAM data bus

        100: 1.25 MB for 32-bit DRAM data bus,

        2.5 MB for 64-bit DRAM data bus

        101: 1.5 MB for 32-bit DRAM data bus,

        3 MB for 64-bit DRAM data bus

        110: 1.75 MB for 32-bit DRAM data bus,

        3.5 MB for 64-bit DRAM data bus

        111: 2 MB for 32-bit DRAM data bus,

        4 MB for 64-bit DRAM data bus

         

        SR30: Extended Fast Page Flip Starting Address Low Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 30h

        Default: 00h

        D[7:0] Fast page flip starting address bit[7:0]

         

        SR31: Extended Fast Page Flip Starting Address Middle Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 31h

        Default: 00h

        D[7:0] Fast page flip starting address bit[15:8]

         

        SR32: Extended Fast Page Flip Starting Address High Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 32h

        Default: 00h

        D[7:4] Reserved

        D[3:0] Fast page flip starting address bits[19:16]

        The fast page flip starting address is latched when SR32 is written. So the registers SR30 and SR31 should be programmed before SR32. These register are enabled by setting SR2F D5.

         

        SR33: Extended Misc. Control Register 4

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 33h

        Default: 00h

        D7 Reserved

        D6 Select external HCLK as MCLK enable

        0 : disable

        1 : enable

        D5 Relocated VGA I/O port addresses decoding disable

        0 : enable

        1 : disable

        The standard VGA register I/O port address can be relocated to address defined by PCI Config Register 18H. This bit disable the relocated address decoding.

        D4 Standard VGA I/O port addresses decoding disable

        0 : enable

        1 : disable

        The standard VGA register I/O port address decoding can be disabled by this bit.

        D3 Enable one cycle EDO DRAM timing

        0 : disable

        1 : enable

        D2 Select Synchronous DRAM Latency

        0 : Latency=3

        1 : Latency=2

        D1 Reserved

        D0 Enable Synchronous DRAM timing

        0 : Disable

        1 : Enable

         

        SR34 Extended Misc. Control Register 5

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 34h

        Default: 00h

        D7 DRAM controller one cycle write enable

        0 : Disable

        1 : Enable

        D6 DRAM controller one cycle read enable

        0 : Enable

        1 : Disable

        D5 Input HCLK delay lock loop enable

        0 : Enable

        1 : Disable

        D4 Enable Host Bus Smart write

        0 : Disable

        1 : Enable

        D3 Enable Host Bus

        0 : Disable

        1 : Enable

        D2 Reserved

        D1 Check period for host bus smart write

        0 : check period = 16 memory clock

        1 : check period = 32 memory clock

        D0 Enable Hardware Command Queue Threshold low

        0 : disable

        1 : enable

         

        SR35 Extended Misc. Control Register 6

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 35h

        Default: 00h

        D7 Reserved

        D6 MA delay compensation

        0 : Add 0ns

        1 : Add 2ns

        D5 SDRAM burst timing enable

        0 : Enable

        1 : Disable

        D4 Enable fast PCI burst write mode

        0 : Disable

        1 : Enable

        D[3:2] DRAM CAS low period width compensation bit[1:0]

        00 : Add 0ns

        01 : Add 2ns

        10 : Add 4ns

        11 : Add 6ns

        D2 Enable PCI Bus write cycle retry

        0 : disable

        1 : enable

        D0 Enable PCI bus read cycle retry

        0 : disable

        1 : enable

         

        SR36: Extended Scratch Register 3

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 36h

        Default: 00h

        D[7:0] Reserved for VGA BIOS

         

        SR37: Extended Scratch Register 4

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 37h

        Default: 00h

        D[7:0] Reserved for VGA BIOS

         

        SR38 Extended Misc. Control Register 7

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 38h

        Default: 00h

        D[7:4] Hardware Cursor Location

        Hardware Cursor Starting Address Bit[21:18]

        D3 Reserved

        D2 Disable Line compare

        0 : enable

        1 : disable

        D[1:0] Video Clock Register Selection Bit[1:0]

        00 : Select Internal Video Clock Registers

        SR13, SR2A, SR2B

        01 : Select 25Mhz Video Clock Registers

        SR13A, SR2AA, SR2BA

        10 : Select 28Mhz Video Clock Registers

        SR13B, SR2AB, SR2BB

        11 : Reserved

        There are three video clock registers Internal Video Clock Registers, 25Mhz Video Clock Registers, 28Mhz Video Clock Registers. All three registers use the same index of 3C5, index 13, 2A, 2B. The selection is programmed by Video Clock Register Selection Bit[1:0]. The VCLK frequency is generated from Internal Video Clock Registers when Miscellaneous Output Register (port 3C2) Bit[3:0]=11. The VCLK frequency is generated from 25Mhz Video Clock Registers when Miscellaneous Output Register (port 3C2) Bit[3:0]=00. The VCLK frequency is generated from 28Mhz Video Clock Registers when Miscellaneous Output Register (port 3C2) Bit[3:0]=01.

         

        SR3B Extended Clock Generator Control Register

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 3Bh

        Default: 00h

         

        D[7:4] Video clock generator control bit[3:0]

        D[3:0] Memory clock generator control bit[3:0]

         

        SR3C Extended Misc. Control Register 9

        Register type : Read/Write

        Read/Write Port: 3C5, index 3Ch

        Default: 00h

        D[7:6] Reserved

        D[5:4] Memory clock DLL control bit[1:0]

        D[3:0] Reserved, must set to 0

        SR3D Extended Clock Generator Control

        Register Type: Read/Write

        Read/Write Port: 3C5, Index 3Dh

        Default: 00h

        D0 Host Bus Write Byte Merge

        0 : Enable

        1 : Disable

        D1 Host Bus Write Cycle

        0 : Enable

        1 : Disable

        D2 Host Bus read Cycle

        0 : Enable

        1 : Disable

        D3 Host Bus Memory Mapped I/O Cycle

        0 : Enable

        1 : Disable

        D[5:4] DLL Phase Lock Loop Control

        00 : step 2

        01 : step 4

        10 : step 8

        11 : step 16

         

      15. Graphics Engine Related Registers
      16. SiS chipset integrated graphics controller supports a powerful graphics engine to enhance the performance. The functions of the graphics engine in SiS chipset include BitBlt, BitBlt with mask, Color/Font Expansion, Enhanced Color/Font Expansion, Line Drawing, and Direct Draw.

        Since the register formats for the line drawing and Direct Draw are different from those of the other general engine functions, we would like to describe these three register formats separately in the following paragraphs:

        6.6.9 Register Format for General Engine Functions

        6.6.10 Register Format for Line Drawing

        6.6.11 Register Format for Direct Draw

         

      17. Register Format for General Engine Functions
      18. The following table shows the register format for the general Graphics Engine functions.

        D[31:24]

        D[23:16]

        D[15:08]

        D[07:00]

        I/O Address

        Reserved

        SRC Start Linear Address [21:0]

        8280h

        Selection bits

        DST Start Linear Address [21:0]

        8284h

        DST Pitch

        SRC Pitch

        8288h

        Rectangular Height

        Rectangular Width

        828Ch

        FG Rop

        FG (Foreground) Color

        8290h

        BG Rop

        BG (Background) Color

        8294h

        Mask3

        Mask2

        Mask1

        Mask0

        8298h

        Mask7

        Mask6

        Mask5

        Mask4

        829Ch

        Top Clipping

        Left Clipping

        82A0h

        Bottom Clipping

        Right Clipping

        82A4h

        Command 1

        Command 0

        Command Queue Status

        82A8h

        Pattern 3

        Pattern 2

        Pattern 1

        Pattern 0

        82ACh

        Pattern 7

        Pattern 6

        Pattern 5

        Pattern 4

        82B0h

        Pattern 11

        Pattern 10

        Pattern 9

        Pattern 8

        82B4h

        Pattern 15

        Pattern 14

        Pattern 13

        Pattern 12

        82B8h

        Pattern 19

        Pattern 18

        Pattern 17

        Pattern 16

        82BCh

        Pattern 23

        Pattern 22

        Pattern 21

        Pattern 20

        82C0h

        Pattern 27

        Pattern 26

        Pattern 25

        Pattern 24

        82C4h

        Pattern 31

        Pattern 30

        Pattern 29

        Pattern 28

        82C8h

        Pattern 35

        Pattern 34

        Pattern 33

        Pattern 32

        82CCh

        Pattern 39

        Pattern 38

        Pattern 37

        Pattern 36

        82D0h

        Pattern 43

        Pattern 42

        Pattern 41

        Pattern 40

        82D4h

        Pattern 47

        Pattern 46

        Pattern 45

        Pattern 44

        82D8h

        Pattern 51

        Pattern 50

        Pattern 49

        Pattern 48

        82DCh

        Pattern 55

        Pattern 54

        Pattern 53

        Pattern 52

        82E0h

        Pattern 59

        Pattern 58

        Pattern 57

        Pattern 56

        82E4h

        Pattern 63

        Pattern 62

        Pattern 61

        Pattern 60

        82E8h

        Pattern 67

        Pattern 66

        Pattern 65

        Pattern 64

        82ECh

        Pattern 71

        Pattern 70

        Pattern 69

        Pattern 68

        82F0h

        Pattern 75

        Pattern 74

        Pattern 73

        Pattern 72

        82F4h

        Pattern 79

        Pattern 78

        Pattern 77

        Pattern 76

        82F8h

        Pattern 83

        Pattern 82

        Pattern 81

        Pattern 80

        82FCh

        Pattern 87

        Pattern 86

        Pattern 85

        Pattern 84

        8300h

        Pattern 91

        Pattern 90

        Pattern 89

        Pattern 88

        8304h

        Pattern 95

        Pattern 94

        Pattern 93

        Pattern 92

        8308h

        Pattern 99

        Pattern 98

        Pattern 97

        Pattern 96

        830Ch

        Pattern 103

        Pattern 102

        Pattern 101

        Pattern 100

        8310h

        Pattern 107

        Pattern 106

        Pattern 105

        Pattern 104

        8314h

        Pattern 111

        Pattern 110

        Pattern 109

        Pattern 108

        8318h

        Pattern 115

        Pattern 114

        Pattern 113

        Pattern 112

        831Ch

        Pattern 119

        Pattern 118

        Pattern 117

        Pattern 116

        8320h

        Pattern 123

        Pattern 122

        Pattern 121

        Pattern 120

        8324h

        Pattern 127

        Pattern 126

        Pattern 125

        Pattern 124

        8328h

         

        Source Start Linear Address

        Register Type: Read/Write

        Read/Write Port: 8280h~8283h

        Default: 00h

        D[31:22] Reserved

        D[21:0] Source Start Linear Address Bit[21:0]

         

        Destination Start Linear Address

        Register Type: Read/Write

        Read/Write Port: 8284h~8287h

        Default: 00h

        D31 Enhanced Color Expansion Busy Bit

        0 : Idle

        1 : Busy

        This bit is read only.

        D[30:27] Reserved

        D26 Enable No.64~127 pattern registers when run color-expansion function.

        0 : Disable

        1 : Enable

        D25 Enable No.64~127 pattern registers when run pattern-copy function in high color mode.

        0 : Disable

        1 : Enable

        D24 Select pattern registers when run pattern-copy function in 256 color mode.

        0 : Select No.0~63 pattern registers

        1 : Select No. 64~127 pattern registers

        D[23:22] Reserved

        D[21:0] Destination Start Linear Address Bit[21:0]

         

        Source Pitch

        Register Type: Read/Write

        Read/Write Port: 8288h~8289h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Source Pitch Bit[11:0]

         

        Destination Pitch

        Register Type: Read/Write

        Read/Write Port: 828Ah~828Bh

        Default: 00h

        D[15:12] Reserved

        D[11:0] Destination Pitch Bit[11:0]

         

        Rectangular Width

        Register Type: Read/Write

        Read/Write Port: 828Ch~828Dh

        Default: 00h

        D[15:12] Reserved

        D[11:0] Destination Rectangular Width Bit[11:0]

         

        Rectangular Height

        Register Type: Read/Write

        Read/Write Port: 828Eh~828Fh

        Default: 00h

        D[15:12] Reserved

        D[11:0] Destination Rectangular Height Bit[11:0]

         

        Foreground Color

        Register Type: Read/Write

        Read/Write Port: 8290h~8292h

        Default: 00h

        D[23:0] Foreground Color Bit[23:0]

         

        FG Rop

        Register Type: Read/Write

        Read/Write Port: 8293h

        Default: 00h

        D[7:0] Foreground Raster Operation Bit[7:0]

         

        Background Color

        Register Type: Read/Write

        Read/Write Port: 8294h~8296h

        Default: 00h

        D[23:0] Background Color Bit[23:0]

         

        BG Rop

        Register Type: Read/Write

        Read/Write Port: 8297h

        Default: 00h

        D[7:0] Background Raster Operation Bit[7:0]

         

        Mono Mask Register

        Register Type: Read/Write

        Read/Write Port: 8298h~829Fh

        Default: 00h

        D[63:0] Mono Mask Bit[63:0]

         

        Left Clipping

        Register Type: Read/Write

        Read/Write Port: 82A0h~82A1h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Left Bit[11:0]

         

        Top Clipping

        Register Type: Read/Write

        Read/Write Port: 82A2h~82A3h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Top Bit[11:0]

         

        Right Clipping

        Register Type: Read/Write

        Read/Write Port: 82A4h~82A5h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Right Bit[11:0]

         

        Bottom Clipping

        Register Type: Read/Write

        Read/Write Port: 82A6h~82A7h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Bottom Bit[11:0]

         

        Command Queue Status

        Register Type: Read

        Read/Write Port: 82A8h~82A9h

        Default: 00h

        If Hardware Command Queue is enable, then

        D[15:5] reserved

        D[4:0] Available Command Queue Length Bit[4:0]

        If Turbo Queue is enable, then

        D[15:0] Head/Tail Index Bit[15:0]

        The Head Index is written into this register, and the Tail Index is read from this registers.

         

        Command Register 0

        Register Type: Read/Write

        Read/Write Port: 82AAh

        Default: 00h

        D7 Rectangular clipping mode

        0: Clipping internal region

        1: Clipping external region

        D6 Rectangular Clipping Control

        0: Disable rectangular clipping logic

        1: Enable rectangular clipping logic

        D5 Y direction control

        0: Y counter decrease

        1: Y counter increase

        D4 X direction control

        0: X counter decrease

        1: X counter increase

        D[3:2] Pattern select bit 1-0

        00: From background color registers

        01: From foreground color registers

        10: From pattern registers

        11: Reserved

        D[1:0] Source select bit 1-0

        00: From background color registers

        01: From foreground color registers

        10: From video memory

        11: From CPU-driven BitBlt source data

         

        Command Register 1

        Register Type: Read/Write

        Read/Write Port: 82ABh

        Default: 00h

        D7 Hardware Command Queue status

        0: Hardware Command queue is not empty

        1: Hardware Command queue is empty

        D6 Graphics engine status

        0: Graphics engine is idle and Hardware command queue is empty

        1: Graphics engine is busy or Hardware command queue is not empty

        D5 Enhanced Color Expansion

        0: Disable enhanced color expansion

        1: Enable enhanced color expansion

        D4 Enhanced Font Expansion

        0: Disable

        1: Enable

        D3 Line drawing last pixel control

        0: Last pixel will be drawn

        1: Last pixel will not be drawn

        D2 Line drawing major axial selection

        0: Y-axial is major

        1: X-axial is major

        D[1:0] Command type select Bit[1:0]

        00: BitBlt

        01: BitBlt with mask

        10: Color/Font expansion

        11: Line drawing

        NOTE: Word_Writing to Command 1 and Command 0, it will automatically initiate graphics engine to execute the specified command.

         

        Pattern Register n

        Register Type: Read/Write

        Read/Write Port: 82ACh-832Bh

        Default: 00h

        D[7:0] For 256 color mode with BitBlt engine, these registers store the 8x8 color bitmap.

        For hi-color mode with BitBlt engine, these registers store the 8x8 color bitmap.

        For Color-Expansion, these registers store the monochrome bitmap, thus it can expand 512 pixels at a time.

         

      19. Register Format for Line Drawing
      20. The register format for Line-Drawing is shown in following table.

        D[31:24]

        D[23:16]

        D[15:08]

        D[07:00]

        IO Address

        Reserved

        X Start

        8280h

        Reserved

        Y Start

        8284h

        Reserved

        Reserved

        8288h

        Reserved

        Major Axial Pixel Count

        828Ch

        FG Rop

        FG (Foreground) Color

        8290h

        BG Rop

        BG (Background) Color

        8294h

        K2 Term

        K1 Term

        8298h

        Line Style

        Error Term

        829Ch

        Top Clipping

        Left Clipping

        82A0h

        Bottom Clipping

        Right Clipping

        82A4h

        Command/Status

        Reserved

        Status 0

        82A8h

         

        X Start

        Register Type: Read/Write

        Read/Write Port: 8280h~8281h

        Default: 00h

        D[15:12] Reserved

        D[11:0] X Start Bit[11:0]

         

        Y Start

        Register Type: Read/Write

        Read/Write Port: 8284h~8285h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Y Start Bit[11:0]

        Major Axial Pixel Count

        Register Type: Read/Write

        Read/Write Port: 828Ch~828Dh

        Default: 00h

        D[15:12] Reserved

        D[11:0] Major Axial Pixel Count Bit[11:0]

         

        Foreground Color

        Register Type: Read/Write

        Read/Write Port: 8290h~8292h

        Default: 00h

        D[23:0] Foreground Color Bit[23:0]

         

        FG Rop

        Register Type: Read/Write

        Read/Write Port: 8293h

        Default: 00h

        D[7:0] Foreground Raster Operation Bit[7:0]

         

        Background Color

        Register Type: Read/Write

        Read/Write Port: 8294h~8296h

        Default: 00h

        D[23:0] Background Color Bit[23:0]

         

        BG Rop

        Register Type: Read/Write

        Read/Write Port: 8297h

        Default: 00h

        D[7:0] Background Raster Operation Bit[7:0]

         

        K1 Term

        Register Type: Read/Write

        Read/Write Port: 8298h~8299h

        Default: 00h

        D[15:14] Reserved

        D[13:0] K1 Term Bit[13:0]

         

        K2 Term

        Register Type: Read/Write

        Read/Write Port: 829Ah~829Bh

        Default: 00h

        D15:14] Reserved

        D[13:0] K2 Term Bit[13:0]

         

        Error Term

        Register Type: Read/Write

        Read/Write Port: 829Ch~829Dh

        Default: 00h

        D[15:14] Reserved

        D[13:0] Error Term Bit[13:0]

         

        Line Style

        Register Type: Read/Write

        Read/Write Port: 829Eh~829Fh

        Default: 00h

        D[15:0] Style Pattern Bit[15:0]

         

        Left Clipping

        Register Type: Read/Write

        Read/Write Port: 82A0h~82A1h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Left Bit[11:0]

         

        Top Clipping

        Register Type: Read/Write

        Read/Write Port: 82A2h~82A3h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Top Bit[11:0]

         

        Right Clipping

        Register Type: Read/Write

        Read/Write Port: 82A4h~82A5h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Right Bit[11:0]

         

        Bottom Clipping

        Register Type: Read/Write

        Read/Write Port: 82A6h~82A7h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Bottom Bit[11:0]

         

        Command Queue Status

        Register Type: Read/Write

        Read/Write Port: 82A8h~82A9h

        Default: 00h

        If Hardware Command Queue is enable, then

        D[15:5] reserved

        D[4:0] Available Command Queue Length Bit[4:0]

        If Turbo Queue is enable, then

        D[15:0] Head/Tail Index Bit[15:0]

        The Head Index is written into this register, and the Tail Index is read from this registers.

         

        Command Register 0

        Register Type: Read/Write

        Read/Write Port: 82AAh

        Default: 00h

        D7 Rectangular Clipping Mode

        0: Clipping internal region

        1: Clipping external region

        D6 Rectangular Clipping Control

        0: Disable rectangular clipping logic

        1: Enable rectangular clipping logic

        D5 Y direction control

        0: Y counter decrease

        1: Y counter increase

        D4 X direction control

        0: X counter decrease

        1: X counter increase

        D[3:2] Pattern select bit 1-0

        00: From background color registers

        01: From foreground color registers

        10: From pattern registers

        11: Reserved

        D[1:0] Source select bit 1-0

        00: From background color registers

        01: From foreground color registers

        10: From video memory

        11: From CPU-driven BitBlt source data

         

        Command Register 1

        Register Type: Read/Write

        Read/Write Port: 82ABh

        Default: 00h

        D7 Hardware Command Queue status

        0: Hardware Command queue is not empty

        1: Hardware Command queue is empty

        D6 Graphics engine status

        0: Graphics engine is idle and Hardware command queue is empty

        1: Graphics engine is busy or Hardware command queue is not empty

        D5 Enhanced Color Expansion

        0: Disable enhanced color expansion

        1: Enable enhanced color expansion

        D4 Enhanced Font Expansion

        0: Disable

        1: Enable

        D3 Line drawing last pixel control

        0: Last pixel will be drawn

        1: Last pixel will not be drawn

        D2 Line drawing major axial selection

        0: Y-axial is major

        1: X-axial is major

        D[1:0] Command type select bit 1-0

        00: BitBlt

        01: BitBlt with mask

        10: Color/Font expansion

        11: Line drawing

        NOTE: Word_writing to Command 1 and Command 0, it will automatically initiate graphics engine to execute the specified command.

         

      21. The Register Format for Direct Draw
      22. The register format for Direct Draw is shown in following table.

        D[31:24]

        D[23:16]

        D[15:08]

        D[07:00]

        IO Address

        Reserved

        Source Start Linear Address

        8280h

        Reserved

        Destination Start Linear Address

        8284h

        Destination Pitch

        Source Pitch

        8288h

        Rectangular Height

        Rectangular Width

        828Ch

        S_Alpha Bit

        High Value of Source Color Key

        8290h

        D_Alpha Bit

        High value of Destination Color Key

        8294h

        D_Rop

        Low Value of Source Color Key

        8298h

        Reserved

        Low Value of Destination Color Key

        829Ch

        Top Clipping

        Left Clipping

        82A0h

        Bottom Clipping

        Right Clipping

        82A4h

        Command/Status

        Command Queue Status

        82A8h

        Source Start Linear Address

        Register Type: Read/Write

        Read/Write Port: 8280h~8283h

        Default: 00h

        D[31:22] Reserved

        D[21:0] Source Start Linear Address Bit[21:0]

         

        Destination Start Linear Address

        Register Type: Read/Write

        Read/Write Port: 8284h~8287h

        Default: 00h

        D[31:22] Reserved

        D[21:0] Destination Start Linear Address Bit[21:0]

         

        Source Pitch

        Register Type: Read/Write

        Read/Write Port: 8288h~8289h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Source Pitch Bit[11:0]

         

        Destination Pitch

        Register Type: Read/Write

        Read/Write Port: 828Ah~828Bh

        Default: 00h

        D[15:12] Reserved

        D[11:0] Destination Pitch Bit[11:0]

         

        Rectangular Width

        Register Type: Read/Write

        Read/Write Port: 828Ch~828Dh

        Default: 00h

        D[15:12] Reserved

        D[11:0] Destination Rectangular Width Bit[11:0]

         

        Rectangular Height

        Register Type: Read/Write

        Read/Write Port: 828Eh~828Fh

        Default: 00h

        D[15:12] Reserved

        D[11:0] Destination Rectangular Height Bit[11:0]

         

        High value of Source Color Key

        Register Type: Read/Write

        Read/Write Port: 8290h~8292h

        Default: 00h

        D[23:0] High Value of Source Color Key Bit[23:0]

         

        Alpha Blending Control Bit for Source Color (S_Alpha Bit)

        Register Type: Read/Write

        Read/Write Port: 8293h

        Default: 00h

        D[7:1] Reserved

        D0 Control Bit for Source Color Alpha Blending

         

        High Value of Destination Color Key (D_Alpha Bit)

        Register Type: Read/Write

        Read/Write Port: 8294h~8296h

        Default: 00h

        D[23:0] High Value of Destination Color Key Bit[23:0]

         

        Alpha Blending Control Bit for Destination Color (D_Alpha Bit)

        Register Type: Read/Write

        Read/Write Port: 8297h

        Default: 00h

        D[7:1] Reserved

        D0 Control Bit for Destination Color Alpha Blending

         

        Low Value of Source Color Key

        Register Type: Read/Write

        Read/Write Port: 8298h~829Ah

        Default: 00h

        D[23:0] Low Value of Source Color Key Bit[23:0]

         

        Direct Draw Rop (D_Rop)

        Register Type: Read/Write

        Read/Write Port: 829Bh

        Default: 00h

        D[7:4] Reserved

        D[3:0] Direct Draw Raster Operation Bit[3:0]

         

        Low Value of Destination Color Key

        Register Type: Read/Write

        Read/Write Port: 829Ch~829Fh

        Default: 00h

        D[23:0] Low Value of Destination Color Key Bit[23:0]

         

        Left Clipping

        Register Type: Read/Write

        Read/Write Port: 82A0h~82A1h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Left Bit[11:0]

         

        Top Clipping

        Register Type: Read/Write

        Read/Write Port: 82A2h~82A3h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Top Bit[11:0]

         

        Right Clipping

        Register Type: Read/Write

        Read/Write Port: 82A4h~82A5h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Right Bit[11:0]

         

        Bottom Clipping

        Register Type: Read/Write

        Read/Write Port: 82A6h~82A7h

        Default: 00h

        D[15:12] Reserved

        D[11:0] Rectangular Clipping Bottom Bit[11:0]

         

        Command Queue Status

        Register Type: Read/Write

        Read/Write Port: 82A8h~82A9h

        Default: 00h

        If Hardware Command Queue is enable, then

        D[15:5] reserved

        D[4:0] Available Command Queue Length Bit[4:0]

        If Turbo Queue is enable, then

        D[15:0] Head/Tail Index Bit[15:0]

        The Head Index is written into this register, and the Tail Index is read from this registers.

         

        Command Register 0

        Register Type: Read/Write

        Read/Write Port: 82AAh

        Default: 00h

        D7 Rectangular Clipping Mode

        0: Clipping internal region

        1: Clipping external region

        D6 Rectangular Clipping Control

        0: Disable rectangular clipping logic

        1: Enable rectangular clipping logic

        D5 Y direction control

        0: Y counter decrease

        1: Y counter increase

        D4 X direction control

        0: X counter decrease

        1: X counter increase

        D[3:2] Direct Draw Enable

        00: Reserved

        01: Reserved

        10: Reserved

        11: Enable Direct Draw

        The two bits (D[3:2]) must be set to "11" then the Direct Draw function

        can be enabled.

        D[1:0] Source select bit 1-0

        00: From background color registers

        01: From foreground color registers

        10: From video memory

        11: From CPU-driven BitBlt Source Data

         

        Command Register 1

        Register Type: Read/Write

        Read/Write Port: 82ABh

        Default: 00h

        D7 Hardware Command Queue status

        0: Hardware Command queue is not empty

        1: Hardware Command queue is empty

        D6 Graphics engine status

        0: Graphics engine is idle and Hardware command queue is empty

        1: Graphics engine is busy or Hardware command queue is not empty

        D5 Enhanced Color/Font Expansion

        0: Disable enhanced color expansion

        1: Enable enhanced color expansion

        D4 Software Command Queue Status

        0: Software Command queue empty

        1: Software Command queue not empty

        D3 Line drawing last pixel control

        0: Last pixel will be drawn

        1: Last pixel will not be drawn

        D2 Line drawing major axial selection

        0: Y-axial is major

        1: X-axial is major

        D[1:0] Command type select bit 1-0

        00: BitBlt

        01: BitBlt with mask

        10: Color/Font expansion

        11: Line drawing

        NOTE: Word_writing to Command 1 and Command 0, it will automatically initiate graphics engine to execute the specified command.

         

      23. Video Accelerator Registers
      24. Index(3D4)

        Video Accelerator Register (3D5)

        80h

        Password/Identification Register

        81h

        Video Window Horizontal Display Start Low Register

        82h

        Video Window Horizontal Display End Low Register

        83h

        Video Window Horizontal Display Overflow Register

        84h

        Video Window Vertical Display Start Low Register

        85h

        Video Window Vertical Display End Low Register

        86h

        Video Window Vertical Display Overflow Register

        87h

        Video Capture Frame Buffer Starting Address Low Register

        88h

        Video Capture Frame Buffer Starting Address Middle Register

        89h

        Video Frame Buffer Overflow Register

        8Ah

        Video Display Frame Buffer Starting Address Low Register

        8Bh

        Video Display Frame Buffer Starting Address Middle Register

        8Ch

        Video Frame Buffer Offset Low Register

        8Dh

        Video Display Frame Buffer End Address Low Register

        8Eh

        Video Frame Buffer Offset Address High Register

        8Fh

        Video Capture Threshold Value Register

        90h

        Video Capture Horizontal Down Scaling Factor Register

        91h

        Video Capture Vertical Down Scaling Register

        92h

        Horizontal Up Scaling Factor and Horizontal Interpolation Accuracy Factor Register

        93h

        Vertical Up Scaling Factor Register

        94h

        Horizontal Scaling Factor Integer Register

        95h

        Video Overlay Color Key Blue Low Value Register

        96h

        Video Overlay Color Key Green Low Value Register

        97h

        Video Overlay Color Key Red Low Value Register

        98h

        Video Control Misc. Register 0

        99h

        Video Control Misc. Register 1

        9Ah

        Video Chroma Key B/Y Low Value Register

        9Bh

        Video Chroma Key G/U Low Value Register

        9Ch

        Video Chroma Key R/V Low Value Register

        9Dh

        Video Control Misc. Register 3

        9Eh

        Video Playback Threshold Low Value Register

        9Fh

        Video Playback Threshold High Value Register

        A0h

        Line Buffer Size Register

        A1h

        Video Overlay Color Key Blue High Value Register

        A2h

        Video Overlay Color Key Green High Value Register

        A3h

        Video Overlay Color Key Red High Value Register

        A4h

        Video Chroma Key B/Y High Value Register

        A5h

        Video Chroma Key G/U High Value Register

        A6h

        Video Chroma Key R/V High Value Register

        A7h

        Graphics Data Alpha Value Register

        A8h

        Video Data Alpha Value Register

        A9h

        Key Overlay Operation Mode Register

        AAh

        Video Capture Horizontal Start Register

        ABh

        Video Capture Horizontal End Register

        ACh

        Video Capture Vertical Start Register

        ADh

        Video Capture Vertical End Register

        AEh

        Video Capture Horizontal Overflow Register

        AFh

        Video Capture Vertical Overflow Register

        B0h

        System Memory Video Frame Buffer Setting Register 1

        B1h

        System Memory Video Frame Buffer Setting Register 2

        B2h

        System Memory Video Frame Buffer Setting Register 3 and Video Control Register

        B3h

        Contrast Enhancement Mean Value Sampling Rate Factor Register

        B4h

        Brightness Register

        B5h

        Contrast Enhancement Control Register

        B6h

        Video Misc. Control Register

        B7h

        Video U Plane Starting Address Low Register

        B8h

        Video U Plane Starting Address Middle Register

        B9h

        Video UV Plane Starting Address High Register

        BAh

        Video V Plane Starting Address Low Register

        BBh

        Video V Plane Starting Address Middle Register

        BCh

        Video UV Plane Offset Register

         

        Password/Identification Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 80h

        Default: 00h

        D[7:0] Password/identification Bit[7:0]

        Description:

        If 86h is written to this register, A1h will be read from this register and all the video extension registers would be unlocked to allow desired change.

        If any value other than 86h is written to this register, 21h will be read from this register and all the video extension registers would be locked to prevent unauthorized change.

        Video Window Horizontal Display Start Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 81h

        Default: 00h

        D[7:0] Video window horizontal display start Bit[7:0]

        Description:

        The Video Window Horizontal Display Start Bit[10:0] form the left boundary of the video window. The Bit[10:8] is located in the Video Window Horizontal Display Overflow Register (Index 83h, Sec. 0 on page *). The boundary is in unit of pixel.

         

        Video Window Horizontal Display End Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 82h

        Default: 00h

        D[7:0] Video window horizontal display end Bit[7:0]

        Description:

        The Video Window Horizontal Display End Bit[10:0] form the right boundary of the video window. The Bits[10:8] is located in the Video Window Horizontal Display Overflow Register (Index 83h, Sec. 0 on page *). The boundary is in unit of pixel.

         

        Video Window Horizontal Display Overflow Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 83h

        Default: 00h

        D[2:0] Video window horizontal display start Bit[10:8]

        D3 Reserved

        D[6:4] Video window horizontal display end Bit[10:8]

        D7 Reserved

         

        Video Window Vertical Display Start Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 84h

        Default: 00h

        D[7:0] Video window vertical display start Bit[7:0]

        Description:

        The Video Window Vertical Display Start Bit[10:0] form the top boundary of the video window. The Bit[10:8] is located in the Video Window Vertical Display Overflow Register (Index 86h, 0 on page *). The boundary is in unit of line.

         

        Video Window Vertical Display End Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 85h

        Default: 00h

        D[7:0] Video window vertical display end Bit[7:0]

        Description:

        The Video Window Vertical Display End Bit[10:0] form the bottom boundary of the video window. The Bit[10:8] is located in the Video Window Vertical Display Overflow Register (Index 86h, 0 on page *). The boundary is in unit of line.

         

        Video Window Vertical Display Overflow Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 86h

        Default: 00h

        D[2:0] Video window horizontal display start Bit[10:8]

        D3 Reserved

        D[6:4] Video window horizontal display end Bit[10:8]

        D7 Reserved

         

        Video Capture Frame Buffer Starting Address Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 87h

        Default: 00h

        D[7:0] Video capture frame buffer starting address Bit[7:0]

        Description:

        The Video Capture Frame Buffer Starting Address Bit[19:0] form the video frame buffer starting address in unit of doubleword. The Bit[15:8] are located in the Video Capture Frame Buffer Starting Address Middle Register (Index 88h, Sec. 0 on page *). The Bit[19:16] are located in the Video Frame Buffer Overflow Register (Index 89h, Sec. 0 on page *).

         

        Video Capture Frame Buffer Starting Address Middle Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 88h

        Default: 00h

        D[7:0] Video capture frame buffer starting address Bit[15:8]

         

        Video Frame Buffer Overflow Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 89h

        Default: 00h

        D[3:0] Video capture frame buffer starting address Bit[19:16]

        D[7:4] Video display frame buffer starting address Bit[19:16]

         

        Video Display Frame Buffer Starting Address Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 8Ah

        Default: 00h

        D[7:0] Video display frame buffer starting address Bit[7:0]

        Description:

        The Video Display Frame Buffer Starting Address Bit[19:0] form the video display starting address in unit of doubleword. The Bit[15:8] are located in the Video Display Frame Buffer Starting Address Middle Register (Index 8Bh, Sec.0 on page *). The Bits[19:16] are located in the Video Frame Buffer Overflow Register (Index 89h, Sec. 0 on page 299).

        This address could be different from the video capture frame buffer starting address to perform the video display panning function.

         

        Video Display Frame Buffer Starting Address Middle Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 8Bh

        Default: 00h

        D[7:0] Video display frame buffer starting address Bit[15:8]

         

        Video Frame Buffer Offset Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 8Ch

        Default: 00h

        D[7:0] Video frame buffer offset Bit[7:0]

        Description:

        The Video Frame Buffer Offset Bit[11:0] form the offset of the video frame buffer. The Bit[11:8] are located in the Video Frame Buffer Offset High Register (Index 8Eh, Sec. 0 on page *).

        The offset defines the size of the scan line of the video data captured in the video frame buffer in unit of double word. It should slightly larger than the actual size of captured video image to avoid the data over stored to next scan line buffer.

         

        Video Display Frame Buffer End Address Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 8Dh

        Default: 00h

        D[7:0] Video display frame buffer end address Bit[7:0]

        Description:

        The Video Capture Frame Buffer End Address Bit[7:0] form the end address of the video frame buffer. The address is in unit of 16k bytes. This address defines the end address of the capture frame buffer. It can prevent the captured data to destroy the other data outside the capture frame buffer when the video data input is unstable.

         

        Video Frame Buffer Offset Address High Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 8Eh

        Default: 00h

        D[3:0] Video frame buffer offset Bit[11:8]

        D[7:4] Reserved

         

        Video Capture Threshold Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 8Fh

        Default: 00h

        D[2:0] Video capture threshold low Bit[2:0]

        D3 Reserved

        D[6:4] Video capture threshold high Bit[2:0]

        D7 Reserved

        Description:

        This register contains the video capture FIFO threshold low and the video capture FIFO threshold high.

        The threshold low defines the FIFO lower boundary which indicates the FIFO is full enough and the data in the FIFO can be written into the DRAM. But if the priority of the threshold low is lower than others, it can wait until it is able to write the data of FIFO into the DRAM.

        The threshold high defines the FIFO upper boundary which indicates the FIFO is about to be overflow and the data of the FIFO must be written into the DRAM as soon as possible.

        These two thresholds should be modified to catch the maximum performance by compromising with the CRT threshold, video display threshold, and DRAM refresh rate, etc.

         

        Video Capture Horizontal Down Scaling Factor Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 90h

        Default: 00h

        D[5:0] Video capture horizontal down scaling factor Bit[5:0]

        D[7:6] Reserved

        Description:

        This register contains the video capture horizontal down scaling factor (HDSF). The horizontal size of the captured video frame will be scaled to (64-HDSF)/64. Since the scaled-down video frame maybe will not fit into the video display window, the margins outside the video display window will be cut off. This factor is not only used to fit the window size but also is used to reduce the bandwidth required for the video capture and video display.

        Video Capture Vertical Down Scaling Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 91h

        Default: 00h

        D[5:0] Vertical down scaling factor Bit[5:0]

        D[7:6] Reserved

        Description:

        This register contains the video capture vertical down scaling factor (VDSF). The vertical size of the captured video frame will be scaled to (64-VDSF)/64. Since the scaled-down video frame maybe will not fit into the video display window, the margins outside the video display window will be cut off. This factor is not only used to fit the window size but also is used to reduce the bandwidth required for the video capture and video display.

         

        Horizontal Up Scaling Factor and Horizontal Interpolation Accuracy Factor Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 92h

        Default: 00h

        D[5:0] Horizontal up scaling factor Bit[5:0]

        D[7:6] Horizontal up-scaling interpolation accuracy factor

        00: replication

        01: 2-phase

        10: 4-phase

        11: 8-phase

        Description:

        This field contains the video playback horizontal up scaling factor fraction (HSFF). It is combined with the horizontal scaling factor integer (HSFI) register (Index 94h, Sec 0 on page *) to form horizontal scaling. The horizontal size will be scaled to 1/(HSFI+(HSFF/64)). The HSFI should be zero for up-scaling. The HSFI should not be zero for down-scaling.

        The Up-scaling interpolation accuracy factor can modify the up-scaling interpolation DDA accuracy phases.

         

        Vertical Up Scaling Factor Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 93h

        Default: 00h

        D[5:0] Vertical up scaling factor Bit[5:0]

        D[7:6] Video frame buffer data format selection Bit[1:0]

        for YUV format,

        00: UYVY 4:2:2

        01: VYUY 4:2:2

        10: YUYV 4:2:2

        11: YVYU 4:2:2

        for RGB format,

        00: RGB 5:5:5

        01: RGB 5:6:5

        Description:

        This field contains the video playback vertical up scaling factor (VUSF). The vertical size will be scaled to 64/VUSF. If VUSF=0, the vertical size will not be scaled.

         

        Horizontal Scaling Factor Integer Register

        Register Type : Read/Write

        Read/Write Port : 3D5, Index 94h

        D[3:0] Horizontal Scaling Factor Integer Bit[3:0]

        D[7:4] Reserved

         

        Video Overlay Color Key Blue Low Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 95h

        Default: 00h

        D[7:0] Blue Key Bit[7:0]

        Description:

        This register contains the blue video overlay color key low value.

        In 8-bit color mode, it is used as the color key low value.

        In 16-bit color mode, it is used as the low byte of color key low value.

        In 24-bit color mode, it is used as the blue byte of the color key low value.

        If the value of the graphics data is greater than or equal to the color key low value, and lower than or equal to the color key high value, the graphics data may be replaced by video data in the way defined by key operation mode.

         

        Video Overlay Color Green Low Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 96h

        Default: 00h

        D[7:0] Green Key Bit[7:0]

        Description:

        This register contains the green video overlay color key low value.

        In 8-bit color mode, it is invalid.

        In 16-bit color mode, it is used as the high byte of color key low value.

        In 24-bit color mode, it is used as the green byte of the color key low value.

        If the value of the graphics data is greater than or equal to the color key low value, and lower than or equal to the color key high value, the graphics data may be replaced by video data in the way defined by key operation mode.

         

        Video Overlay Color Red Low Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 97h

        Default: 00h

        D[7:0] Red Key Bit[7:0]

        Description:

        This register contains the red video overlay color key low value.

        In 8-bit color mode, it is invalid.

        In 16-bit color mode, it is invalid.

        In 24-bit color mode, it is used as the red byte of the color key low value.

        If the value of the graphics data is greater than or equal to the color key low value, and lower than or equal to the color key high value, the graphics data may be replaced by video data in the way defined by key operation mode.

         

        Video Control Misc. Register 0

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 98h

        Default: 00h

        D0 Enable video capture

        0: Disable video capture

        1: Enable video capture

        This bit could enable the video capture. If the video data is input through feature connector (FC), this bit should be set. The video pause function can be performed by disable this bit but enable the video playback bit.

        D1 Enable video playback

        0: Disable video playback

        1: Enable video playback

        This bit could enable the video playback. When the data of the video frame buffer are fetched by the system, the bandwidth of DRAM maybe not enough. The video playback can be disabled to gain the bandwidth but the video will not be played back.

        D2 Reserved

        D3 Reserved

        D4 Video only display mode

        0: Disable video only display mode

        1: Enable video only display mode

        The graphics display can be disable by setting this bit. This can reduce the DRAM bandwidth especially on the full screen video playback mode.

        D5 Video capture interlace control

        0: Disable video capture interlace control

        1: Enable video capture interlace control

        The video data input through feature connector could be interlaced. If the input video data are interlaced this bit should be set.

        D6 Video format selection

        0: Select RGB format

        1: Select YUV format

        This bit is used with the video frame buffer data format selection field of register CR92 to select the correct video data format.

        D7 Field Polarity Selection

        0: Select Odd/*Even

        1: Select *Odd/Even

        This bit can select the polarity of Field signal.

         

        Video Control Misc. Register 1

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 99h

        Default: 00h

        D0 Enable YUV data capture

        0: Capture RGB format video data

        1: Capture YUV format video data

        The video capture can be RGB and YUV format.

        D1 Enable dithering

        0: Disable dithering

        1: Enable dithering

        The captured video data can be dithered for better video quality.

        D2 Capture format select

        0: Format RGB 565

        1: Format RGB 555

        The capture video data may be RGB 555 or RGB565 format.

        D[5:3] Horizontal filter select

        000: 1

        001: (1/8(1+3z-1+3z-2+z-3))

        010: (1/4(1+2z-1+z-2))

        011: (1/2(1+z-1))

        101: (1/8(1+2 z-1+2 z-2+2 z-3+ z-4+))

        others: Reserved

        D6 Enable vertical sync. interrupt

        0: Disable

        1: Enable

        The video input vertical sync. signal could cause interrupt when this bit is enabled.

        D7 Clear vertical sync. interrupt

        0: Disable

        1: Enable

        After the vertical sync. caused an interrupt, this bit should be set for clear the interrupt request.

         

        Video Chroma Key B/Y Low Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 9Ah

        Default: 00h

        D[7:0] Video Chroma B/Y Key Low Bit[7:0]

        Description:

        This register contains the blue or Y video overlay chroma key low value.

        In RGB chroma key mode, it is used as the blue byte of the chroma key low value.

        In YUV chroma key mode, it is used as the Y of the chroma key low value.

        If the value of the video data is greater than or equal to the chroma key low value, and lower than or equal to the chroma key high value, the video data may be replaced graphics data in the way defined by key operation mode.

         

        Video Chroma Key G/U Low Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 9Bh

        Default: 00h

        D[7:0] Video Chroma G/U Key Low Bit[7:0]

        Description:

        This register contains the green or U video overlay chroma key low value.

        In RGB chroma key mode, it is used as the green byte of the chroma key low value.

        In YUV chroma key mode, it is used as the U of the chroma key low value.

        If the value of the video data is greater than or equal to the chroma key low value, and lower than or equal to the chroma key high value, the video data may be replaced graphics data in the way defined by key operation mode.

         

        Video Chroma Key R/V Low Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 9Ch

        Default: 00h

        D[7:0] Video Chroma R/V Key Low Value Bit[7:0]

        Description:

        This register contains the red or V video overlay chroma key low value.

        In RGB chroma key mode, it is used as the red byte of the chroma key low value.

        In YUV chroma key mode, it is used as the V of the chroma key low value.

        If the value of the video data is greater than or equal to the chroma key low value, and lower than or equal to the chroma key high value, the video data may be replaced graphics data in the way defined by key operation mode.

         

        Video Control Misc. Register 3

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 9Dh

        Default: 00h

        D7 Enable system memory video frame buffer

        0: Disable

        1: Enable

        The captured frame buffer can be placed on system memory.

        But this mode can only be enabled under shared-memory architecture.

        D6 Support for Brooktree Bt819A video decoder SPI mode 1

        0: Disable

        1: Enable

        D[5:3] Reserved

        D2 Chroma Key Format selection

        0: RGB format

        1: YUV format

        D1 UV format select for video playback

        0: CCIR 601 format

        1: 2's complement format

        D0 UV format select for video capture

        0: CCIR 601 format

        1: 2's complement format

         

        Video Playback Threshold Low Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 9Eh

        Default: 00h

        D7 Reserved

        D[6:0] Video playback threshold low Bit[6:0]

        Description:

        This register contains the video line buffer threshold low.

        The threshold low defines the video line buffer lower boundary which indicates the line buffer is not enough and the video data should be read from the DRAM.

         

        Video Playback Threshold High Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index 9Fh

        Default: 00h

        D7 Reserved

        D[6:0] Video playback threshold high Bit[6:0]

        Description:

        This register contains the video line buffer threshold high.

        The threshold high defines the video line buffer upper boundary which indicates the data in the video line buffer is enough.

        These two thresholds (video playback threshold low and threshold high) should be modified to get the maximum performance by compromising with the CRT threshold, video capture threshold, and DRAM refresh rate, etc.

         

        Line Buffer Size Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index A0h

        Default: 00h

        D[7:0] Line Buffer Size Bit[7:0]

        Description:

        This register should be set to the line buffer size used by playback. The size is in unit of quad-word.

         

        Video Overlay Color Key Blue High Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index A1h

        Default: 00h

        D[7:0] Blue Key High Value Bit[7:0]

        Description:

        This register contains the blue video overlay color key high value.

        In 8-bit color mode, it is used as the color key high value.

        In 16-bit color mode, it is used as the low byte of color key high value.

        In 24-bit color mode, it is used as the blue byte of the color key high value.

        If the value of the graphics data is greater than or equal to the color key low value, and lower than or equal to the color key high value, the graphics data may be replaced by video data in the way defined by key operation mode.

         

        Video Overlay Color Key Green High Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index A2h

        Default: 00h

        D[7:0] Green Key High Value Bit[7:0]

        Description:

        This register contains the green video overlay color key high value.

        In 8-bit color mode, it is invalid.

        In 16-bit color mode, it is used as the high byte of color key high value.

        In 24-bit color mode, it is used as the green byte of the color key high value.

        If the value of the graphics data is greater than or equal to the color key low value, and lower than or equal to the color key high value, the graphics data may be replaced by video data in the way defined by key operation mode.

         

        Video Overlay Color Key Red High Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index A3h

        Default: 00h

        D[7:0] Red Key High Value Bit[7:0]

        Description:

        This register contains the red video overlay color key high value.

        In 8-bit color mode, it is invalid.

        In 16-bit color mode, it is invalid.

        In 24-bit color mode, it is used as the red byte of the color key high value.

        If the value of the graphics data is greater than or equal to the color key low value, and lower than or equal to the color key high value, the graphics data may be replaced by video data in the way defined by key operation mode.

         

        Video Chroma Key B/Y High Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index A4h

        Default: 00h

        D[7:0] Video Chroma B/Y Key High Value Bit[7:0]

        Description:

        This register contains the blue or Y video overlay chroma key high value.

        In RGB chroma key mode, it is used as the blue byte of the chroma key high value.

        In YUV chroma key mode, it is used as the Y of the chroma key high value.

        If the value of the video data is the greater than or equal to the chroma key low value, and lower than or equal to the chroma key high value, the video data may be replaced by graphics data in the way defined by key operation mode.

         

        Video Chroma Key G/U High Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index A5h

        Default: 00h

        D[7:0] Video Chroma G/U Key High Value Bit[7:0]

        Description:

        This register contains the green or U video overlay chroma key high value.

        In RGB chroma key mode, it is used as the green byte of the chroma key high value.

        In YUV chroma key mode, it is used as the U of the chroma key high value.

        If the value of the video data is the greater than or equal to the chroma key low value, and lower than or equal to the chroma key high value, the video data may be replaced by graphics data in the way defined by key operation mode.

         

        Video Chroma Key R/V High Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index A6h

        Default: 00h

        D[7:0] Video Chroma R/V Key High Value Bit[7:0]

        Description:

        This register contains the red or V video overlay chroma key high value.

        In RGB chroma key mode, it is used as the red byte of the chroma key high value.

        In YUV chroma key mode, it is used as the V of the chroma key high value.

        If the value of the video data is the greater than or equal to the chroma key low value, and lower than or equal to the chroma key high value, the video data may be replaced graphics data in the way defined by key operation mode.

         

        Graphics Data Alpha Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index A7h

        Default: 00h

        D[7:0] Graphics Data Alpha Value Bit[7:0]

        Description:

        The pixels of graphics data can be blended by graphics data alpha value, then added with the blended video data to generates blended data. The accuracy of the blending is 3 bits, the 3 MSBs of this register.

         

        Video Data Alpha Value Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index A8h

        Default: 00h

        D[7:0] Video Data Alpha Value Bit[7:0]

        Description:

        The pixels of video data can be blended by video data alpha value, then added with the blended graphics data to generates blended data. The accuracy of the blending is 3 bits, the 3 MSBs of this register.

         

        Key Overlay Operation Mode Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index A9h

        Default: 00h

        D[7:4] Reserved

        D[3:0] Key Overlay Operation Mode Bit[3:0]

        Description:

        There are two keys for graphics data and video data overlay, which are color key and chroma key. The key overlay operation mode indicates the way the overlay would be performed.

        Operation Mode

        Operation

        0000

        always select graphics data

        0001

        select blended data when color key and chroma key,

        otherwise select graphics data

        0010

        select blended data when color key and not chroma key,

        otherwise select graphics data

        0011

        select blended data when color key,

        otherwise select graphics data

        0100

        select blended data when not color key and chroma key,

        otherwise select graphics data

        0101

        select blended data when chroma key,

        otherwise select graphics data

        0110

        select blended data when color key xor chroma key,

        otherwise select graphics data

        0111

        select blended data when color key or chroma key,

        otherwise select graphics data

        1000

        select blended data when not color key and not chroma key,

        otherwise select graphics data

        1001

        select blended data when color key xnor chroma key,

        otherwise select graphics data

        1010

        select blended data when not chroma key,

        otherwise select graphics data

        1011

        select blended data when color key or not chroma key,

        otherwise select graphics data

        1100

        select blended data when not chroma key,

        otherwise select graphics data

        1101

        select blended data when not color key or chroma key,

        otherwise select graphics data

        1110

        select blended data when not color key or not chroma key,

        otherwise select graphics data

        1111

        always select blended data

         

        Video Capture Horizontal Start Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index AAh

        Default: 00h

        D[7:0] Video Capture Horizontal Start Bit[7:0]

        Description:

        The Video Capture Horizontal Start Bit[10:0] indicate the left boundary of the captured video data. The Bit[10:8] is located in the Video Capture Horizontal Overflow Register (Sec. 0 on page *, Index AEh). The boundary is counted by the input video data clock. When the signal BLANK# is valid, the video data horizontal counter starts to count.

        The video data capture would be started or continued when the video data horizontal counter is equal to or greater than the Video Capture Horizontal Start and the video data vertical counter is equal to or greater than the Video Capture Vertical Start.

        The video data capture would be ended when the video data horizontal counter is equal to or greater than the Video Capture Horizontal End or the video data vertical counter is equal to or greater than the Video Capture Vertical End.

        Note: This register should be set to zero at Brooktree BT819A video decoder SPI mode 2.

         

        Video Capture Horizontal End Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index ABh

        Default: 00h

        D[7:0] Video Capture Horizontal End Bit[7:0]

        Description:

        The Video Capture Horizontal End Bit[10:0] indicate the right boundary of the captured video data. The Bit[10:8] is located in the Video Capture Horizontal Overflow Register (Sec. 0 on page *, Index AEh). The boundary is counted by the input video data clock. When the signal BLANK# is valid, the video data horizontal counter starts to count.

        The video data capture would be started or continued when the video data horizontal counter is equal to or greater than the Video Capture Horizontal Start and the video data vertical counter is equal to or greater than the Video Capture Vertical Start.

        The video data capture would be ended when the video data horizontal counter is equal to or greater than the Video Capture Horizontal End or the video data vertical counter is equal to or greater than the Video Capture Vertical End.

         

        Video Capture Vertical Start Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index ACh

        Default: 00h

        D[7:0] Video Capture Vertical Start Bit[7:0]

        Description:

        The Video Capture Vertical Start Bit[9:0] indicate the upper boundary of the captured video data. The Bit[9:8] is located in the Video Capture Vertical Overflow Register (Sec. 0 on page *, Index AFh). The boundary is counted by the input video data clock. In the positive edge of the signal VDVSYNC, the video data vertical counter would be reset and then starts to count.

        The video data capture would be started or continued when the video data horizontal counter is equal to or greater than the Video Capture Horizontal Start and the video data vertical counter is equal to or greater than the Video Capture Vertical Start.

        The video data capture would be ended when the video data horizontal counter is equal to or greater than the Video Capture Horizontal End or the video data vertical counter is equal to or greater than the Video Capture Vertical End.

         

        Video Capture Vertical End Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index ADh

        Default: 00h

        D[7:0] Video Capture Vertical End Bit[7:0]

        Description:

        The Video Capture Vertical End Bit[9:0] indicate the upper boundary of the captured video data. The Bit[9:8] is located in the Video Capture Vertical Overflow Register (Sec. 5.9.48 on page *, Index AFh). The boundary is counted by the input video data clock. In the positive edge of the signal VDVSYNC, the video data vertical counter would be reset and then starts to count.

        The video data capture would be started or continued when the video data horizontal counter is equal to or greater than the Video Capture Horizontal Start and the video data vertical counter is equal to or greater than the Video Capture Vertical Start.

        The video data capture would be ended when the video data horizontal counter is equal to or greater than the Video Capture Horizontal End or the video data vertical counter is equal to or greater than the Video Capture Vertical End.

         

        Video Capture Horizontal Overflow Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index AEh

        Default: 00h

        D7 Reserved

        D[6:4] Video Capture Horizontal End Bit[10:8]

        D3 Reserved

        D[2:0] Video Capture Horizontal Start Bit[10:8]

         

        Video Capture Vertical Overflow Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index AFh

        Default: 00h

        D7 Reserved

        D[6:4] Video Data Input Delay Compensation Bit[2:0]

        000: no delay

        001: 2ns

        010: 4ns

        011: 6ns

        100: inversed

        101: 2ns, inversed

        110: 4ns, inversed

        111: 6ns, inversed

        This field is programmed for input video data clock and input video data delay compensation.

        D[3:2] Video Capture Vertical End Bit[9:8]

        D[1:0] Video Capture Vertical Start Bit[9:8]

         

        System Memory Video Frame Buffer Setting Register 1

        Register Type: Read/Write

        Read/Write Port: 3D5, Index B0h

        Default: 00h

        D[7:4] System Memory Video Frame Buffer Scrambling Table Register Bit[3:0]

        This field indicates the type of DRAM which the video frame buffer is

        located. For detail Scrambling Table, refer to page *.

        D[3:2] System Memory Video Frame Buffer Row Selection Register Bit[7:0]

        00: Row Address [11:0]=memory address[20:9]

        01: Row Address [11:0]=memory address[21:10]

        10: Row Address [11:0]=memory address[22:11]

        11: Row Address [11:0]=memory address[23:12]

        D1 Reserved

        D0 Reserved

         

        System Memory Video Frame Buffer Setting Register 2

        Register Type: Read/Write

        Read/Write Port: 3D5, Index B1h

        Default: 00h

        D[7:0] System Memory Video Frame Buffer Segment Register Bit[7:0]

        The System Memory Video Frame Buffer Segment Register indicates the location of video frame buffer in one specified bank of DRAM. The unit is 256k in 32-bit DRAM bus. The unit is 512k in 64-bit DRAM bus.

         

        System Memory Video Frame Buffer Setting Reg. 3 and Video Control Reg.

        Register Type: Read/Write

        Read/Write Port: 3D5, Index B2h

        Default: 00h

        D7 Enable Video Decimation

        0: Disable

        1: Enable

        D6 Reserved

        D5 Reserved

        D4 Support for Brooktree BT819A video decoder SPI mode 2

        0: Disable

        1: Enable

        D3 Reserved

        D2 System Memory Video Frame Buffer DRAM Type Selection

        0: Fast Page DRAM

        1: EDO DRAM

        D[1:0] Reserved

        Description:

        The value of the System Memory Video Frame Buffer Setting Registers depends on the DRAM type, DRAM bank, and video frame buffer location.

         

        Contrast Enhancement Mean Value Sampling Rate Factor Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index B3h

        Default: 00h

        D[7:0] Contrast Enhancement Mean Value Sampling Rate Factor Bits[7:0]

        Description:

        The contrast enhancement needs mean value for each frame. This mean is calculated by sampling some pixels from one video frame. The sampling rate = Contrast Enhancement Mean Value Sampling Rate Factor / 1024

        Brightness Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index B4h

        Default: 00h

        D[7:0] Brightness Bit[7:0]

        Description:

        The Brightness is an 8-bit 2's complement number from -128 to +127. This value is added with the video data to control the brightness.

         

        Contrast Enhancement Control Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index B5h

        Default: 00h

        D[2:0] Contrast Gain Bit[2:0]

        000: 1.0

        001: 1.0625

        010: 1.125

        011: 1.1875

        100: 1.25

        101: 1.3125

        110: 1.375

        111: 1.4375

        D[5:3] Contrast Mean Frame Samples Bit[2:0]

        000: 2 frames

        001: 4 frames

        010: Reserved

        011: 8 frames

        100: Reserved

        101: Reserved

        110: Reserved

        111: 16 frames

        D[7:6] Contrast Mean Pixel Samples Bit[1:0]

        00: 2048 pixels

        01: 4096 pixels

        10: 8192 pixels

        11: 16384 pixels

         

        Video Control Misc. Register 4

        Register Type: Read/Write

        Read/Write Port: 3D5, Index B6h

        Default: 00h

        D[1:0] CPU Writing Video Data Type

        00: RGB 555

        01: YUV 422

        10: RGB 565

        11: Reserved

        D2 Enable YUV 420 mode

        0: Disable

        1: Enable

        D[7:3] Reserved

         

        Video U Plane Starting Address Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index B7h

        Default: 00h

        D[7:0] Video U Plane Starting Address Low Bits[7:0]

         

        Video U Plane Starting Address Middle Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index B8h

        Default: 00h

        D[7:0] Video U Plane Starting Address Low Bits[15:8]

         

        Video UV Plane Starting Address High Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index B9h

        Default: 00h

        D[7:4] Video V Plane Starting Address Low Bits[19:16]

        D[3:0] Video U Plane Starting Address Low Bits[19:16]

         

        Video V Plane Starting Address Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index BAh

        Default: 00h

        D[7:0] Video V Plane Starting Address Low Bits[7:0]

         

        Video V Plane Starting Address Low Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index BBh

        Default: 00h

        D[7:0] Video V Plane Starting Address Middle Bit[15:8]

        Video UV Plane Offset Register

        Register Type: Read/Write

        Read/Write Port: 3D5, Index BCh

        Default: 00h

        D[7:4] Reserved

        D[3:0] Video UV Plane Offset Bit[7:0]

         

      25. PCI Configuration Registers

    Configuration Register 00h

    Register Type: Read

    Read Port: 0000h

    Default: 02001039h

    D[31:16] Device ID

    SiS integrated VGA controller Device ID is 0200h

    D[15:0] Vendor ID

    Integrated Vendor ID is 1039h

     

    Configuration Register 04h

    Register Type: Read/Write

    Read Port: 0004h

    Default: 02000000h

    D[26:25] DEVSEL# timing (= 01, Read Only)

    00: fast

    01: medium (fixed at this value)

    10: slow

    D5 VGA Palette Snoop

    0:Disable

    1:Enable

    D1 Memory Space

    0: Disable

    1: Enable

    D0 I/O Space

    0:Disable

    1:Enable

     

    Configuration Register 08h

    Register Type: Read

    Read Port: 0008h

    Default: 03000065h

    D[31:8] Class Code (= 030000h)

    D[7:0] Revision ID (= 65h)

     

    Configuration Register 10h

    Register Type: Read

    Read Port: 0010h

    Default: 00000000h

    D[31:0] 32-bit memory base register for 4MB linear frame buffer

     

    Configuration Register 14h

    Register Type: Read

    Read Port: 0014h

    Default: 00000000h

    D[31:0] 32-bit memory base register for 64KB memory mapped I/O

     

    Configuration Register 18h

    Register Type: Read

    Read Port: 0018h

    Default: 00000001h

    D[31:0] 32-bit I/O base register for 64 I/O space which is for relocated standard VGA I/O port.

     

    Configuration Register 2Ch

    Register Type: Read/Write Once Only

    Read Port: 002Ch

    Default: 00000000h

    D[31:16] Subsystem ID

    D[15:0] Subsystem Vendor

     

    Configuration Register 30h

    Register Type: Read/Write

    Read Port: 0030h

    Default: 000C0000h

    D[31:11] Expansion ROM Base Address

    D0 ROM Enable Bit

    0: Disable

    1: Enable

     

    Configuration Register 3Ch

    Register Type: Read

    Read Port: 003Ch

    Default: 00000100h

    If D3 of SRE is 1, then

    D[15:8] Interrupt Pin (= 01h, Read Only)

    D[7:0] Interrupt Line (= 00h)

    If D3 of SRE is 0, then

    D[15:8] Interrupt Pin (= 00h, Read Only)

    D[7:0] Interrupt Line (= 00h)

     

  6. Electrical Characteristics
    1. Absolute Maximum Ratings
    2. Parameter

      Min.

      Max.

      Unit

      Ambient operation temperature

      0

      70

      0C

      Storage temperature

      -40

      125

      0C

      Input voltage

      -0.3

      Vcc+0.3

      V

      Output voltage

      -0.5

      3.3

      V

      NOTE:

      Stress above these listed may cause permanent damage to device. Functional operation of this device should be restricted to the conditions described under operating conditions.

    3. DC Characteristics
    4. Table -1 DC Characteristics

      Ta= 0 - 700 C, Gnd= 0V, Vcc5= 5V+5%, Vcc=3.3V+5%

      Symbol

      Parameter

      Min

      Max

      Unit

      Notes

      VIL1

      Input Low Voltage

      -0.3

      0.8

      V

      Note 1

      VIH1

      Input High Voltage

      2.2

      VCC+0.3

      V

       

      VT1-

      Schmitt Trigger Threshold

         

      V

      Note 2

       

      Voltage Falling Edge

      1.18

      1.88

         

      VT1+

      Schmitt Trigger Threshold

           

      Note 2

       

      Voltage Rising Edge

      1.63

      1.88

         

      VH1

      Hysteresis Voltage

      0.45

       

      V

      Note 2

      VOL2

      Output Low Voltage

       

      0.4

      V

       

      VOH2

      Output High Voltage

      2.0

      2.4

      V

       

      IOL1

      Output Low Current

      8

       

      mA

      Note 3, 8

      IOH1

      Output High Current

      -8

       

      mA

      Note 3, 8

      IOL2

      Output Low Current

      8, 16

       

      mA

      Note 4, 8

      IOH2

      Output High Current

      -8, 16

       

      mA

      Note 4, 8

      IOL3

      Output Low Current

      12, 16

       

      mA

      Note 5, 8

      IOH3

      Output High Current

      -12, -16

       

      mA

      Note 5, 8

      IOL4

      Output Low Current

      4, 8

       

      mA

      Note 6, 8

      IOH4

      Output High Current

      -4, -8

       

      mA

      Note 6, 8

      IOL5

      Output Low Current

      4

       

      mA

      Note 7

      IOH5

      Output high Current

      -4

       

      mA

      Note 7

      IIH

      Input Leakage Current

       

      -10

      µ A

       

      IIL

      Input Leakage Current

       

      +10

      µ A

       

      CIN

      Input Capacitance

       

      12

      pF

      Fc=1 Mhz

      COUT

      Output Capacitance

       

      12

      pF

      Fc=1 Mhz

      CI/O

      I/O Capacitance

       

      12

      pF

      Fc=1 Mhz

       

      NOTE:

      1. The RTC-related ten pins only have 3.3V input tolerance. They are ONCTL#, RING, PWRGD, PSRSTB#, OSCI, OSCO, SWITCH#, PWRBT#, GPIO5, GPIO10.

      2. VT1-, VT1+ and VH1 are applicable to PWRGD

      3. IOL1 and IOH1 are applicable to the following signals: AD[31:0], C/BE[3:0]#, GNT[3:0]#, STOP#, DEVSEL#, TRDY#, IRDY#, FRAME#, PHLDA#, GPO, PAR, PCIRST

      4. IOL2 and IOH2 are applicable to the following signals: CAS[7:0]#

      5. IOL3 and IOH3 are applicable to the following signals: MA[14:0], RAMW#A/B, SRAS#, SCAS#

      6. IOL4 and IOH4 are applicable to the following signals: RAS[3:0]#, ADSC#, ADSV#

      7. IOL5 and IOH5 are applicable to the following signals: KRE#, STPCLK#, INIT, SMI#, HA[31:3], W/R#, EADS#, NA#, BRDY#, KEN#, A20M#,BOFF#, CPURST, MD, HD, HBE[7:0]#

      8. The driving current is programmed. Please refer to register description.

       

    5. AC Characteristics
    6. Reserved

       

    7. DC Characteristics for Integrated VGA Controller
    8. TA = 0 - 70 0C, VDD = 3 V ± 5 %, GND = 0 V

      Symbol

      Parameter

      Min.

      Max.

      Unit

      Condition

      VIL

      Input low voltage

      -0.5

      0.8

      V

       

      VIH

      Input high voltage

      2.0

      VDD + 0.5

      V

       

      VOL

      Output low voltage

      -

      0.45

      V

      IOL = 4.0 mA

      VOH

      Output high voltage

      2.4

      -

      V

      IOH = -1.0 mA

      IIL

      Input leakage current

      -

      ± 10

      uA

       

      IOZ

      Tristate leakage current

      -

      ± 20

      uA

      0.45 < VOUT < VDD

      Table -2 DC Characteristics for DAC (Analog Output Characteristics)

      Description

      Min.

      Typ.

      Max.

      Unit

      Black Level

      -

      0

      -

      V

      White Level

      -

      660

      -

      mV

      ILE

      -1.0

      -

      +1.0

      LSB

      DLE

      -0.5

      -

      +0.5

      LSB

      1 LSB

      -

      2.625

      -

      mV

      Iref

      -

      8.40

      -

      mA

    9. AC Characteristics for Integrated VGA Controller

    Figure -1 Video Timing 4, 8, 24 Bits/Pixel Modes

    4,8,16 and 24 BPP Video AC Timing Table

    Symbol

    Parameter

    Min.

    Max.

    Notes

    T1

    VIDEO[7:0], BLANK#, SYNC Setup Time

    10

    -

     

    T2

    VIDEO[7:0], BLANK#, SYNC Hold Time

    2

    -

     

    T3

    PCLK Period

    28

    -

     

    T4

    PCLK High Time

    11

    -

     

    T5

    PCLK Low Time

    11

    -

     

    (Units: ns)

    AC Characteristics for DAC (Analog Output Characteristics)

    Description

    Parameter

    Condition

    Typ.

    Max.

    Unit

    Settling Time

    Tsett

    R=37.5 ohmC1=30 pF

    -

    6

    ns

     

  7. Thermal Analysis and RTC Power Consumption
    1. Chip Thermal Analysis Without Heat Sink
    2. Room Temperature : 25¡ C

      Location of thermal probe : center of the chip

      Result :

      Temp. (¡ C )

      32.8

      38.6

      47.4

      59

      71.6

      82.8

      Consumed Power (Walt)

      0.37

      0.84

      1.39

      2

      2.68

      3.43

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      The formula of the characteristics line is

      Temp. = 25.27 + 16.9 * Power (¡ C)

       

    3. Chip Thermal Analysis with heat sink
    4. Room Temperature : 22¡ C

      Location of thermal probe : center of the chip

      Result :

      Temp. (¡ C )

      32.8

      38.6

      47.4

      59

      71.6

      82.8

      Consumed Power (Walt)

      0.37

      0.84

      1.39

      2

      2.68

      3.43

       










       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      The formula of the characteristics line is

      Temp. = 22.13 + 8.06 * Power (¡ C)

       

    5. Internal RTC Power Consumption

    RTCVDD (V)

    Operation Current (uA)

    Power Consumption (uW)

    3.22

    5.0

    16.1

    2.93

    4.2

    12.31

    2.64

    3.5

    9.24

    2.36

    2.9

    6.84

    2.07

    2.3

    4.76

    1.78

    1.8

    3.2

    The minmum operation voltage of internal RTC (RTCVDD) is 2.0V, the recommended operation voltage is 2.2V to 2.7V.

     

  8. Mechanical Dimension (Top view)
  9. (Unit: mm)

  10. COPYRIGHT NOTICE

COPYRIGHT 1997, Silicon Integrated Systems Corp. ALL RIGHTS RESERVED.

This manual is copyrighted By Silicon Integrated Systems Corp. You may not reproduce, transmit, transcribe, store in a retrieval system, or translate into any language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual, or otherwise, any part of this publication without the express written permission of Silicon Integrated Systems Corp.

TRADEMARKS

SiS is a registered trademark of Silicon Integrated Systems Corp.

All brand or product names mentioned are trademarks or registered trademarks of their respective holders.

DISCLAIMER

Silicon Integrated Systems Corp. makes no representations or warranties regarding the contents of this manual. We reserve the right to revise the manual or make changes in the specifications of the product described within it at any time without notice and without obligation to notify any person of such revision or change.

The information contained in this manual is provided for general use by our customers. Our customers should be aware that the personal computer field ins the subject of many patents. Our customers should ensure that they take appropriate action so that their use of our products does not infringe upon any patents. It is the policy of Silicon Integrated Systems Corp. To respect the valid patent rights of third parties and not to infringe upon or assist others to infringe upon such rights.

RESTRICTED RIGHTS LEGEND

Use, duplication, or disclosure by the Government is subject to restrictions set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at 252.277-7013.

 

 

Table of Contents

 

1. Introduction

2. Features

2.1 Detail Features for Integrated Video/Graphics Accelerator

2.2 Functional Block Diagram

3. Functional Description

3.1 Host Interface

3.2 Cache Controller

3.3 DRAM Controller

3.3.1 DRAM Type

3.3.2 DRAM Configuration

3.3.3 DRAM Scramble Table

3.3.4 DRAM Detection Sequence

3.3.5 DRAM Performance

3.3.6 CPU to DRAM Posted Write FIFOs

3.3.7 32-bit (Half-Populated) DRAM Access

3.3.8 Arbiter

3.3.9 Refresh cycle

3.4 PCI bridge

3.4.1 Snooping Control

3.4.2 AHOLD/BOFF# Process and Arbiter Interface

3.4.3 Target Initiated Termination

3.4.4 Target Retry

3.4.5 Disconnect With Data

3.4.6 Disconnect Without Data

3.4.7 DATA Flow

3.4.8 PCI Master Read/Write DRAM Cycle

3.4.9 PCI Master Write L2 CACHE and DRAM Cycles

3.4.10 PCI Arbiter

3.5 Power Management Unit (PMU)

3.5.1 Legacy PMU Block Diagram

3.5.2 Time Base Generation Logic

3.5.3 Timers

3.5.4 Event Catching Logic

3.5.5 Output generation Logic

3.5.6 Operation of Power Management

3.5.7 Hardware Limitation

3.6 PCI/ISA System I/O (PSIO)

3.6.1 Functional Description

3.6.2 ISA Bus Controller

3.6.3 DMA Controller

3.6.4 Interrupt Controller

3.6.5 Timer/Counter

3.6.6 Integrated Real Time Clock (RTC)

3.6.7 Auto Power Controller

3.6.8 Advanced Configuration and Power Interface (ACPI)

3.7 Integrated PCI Master/Slave IDE Controller

3.8 Delayed Transaction

3.9 The Architecture of ISA/IDE Multiplexed bus

3.10 USB Host Controller

3.11 Integrated Keyboard Controller

3.12 Integrated VGA Controller

3.12.1 Host Bus Interface

3.12.2 Attribute Controller

3.12.3 CRT Controller

3.12.4 CRT FIFO

3.12.5 DDC Controller

3.12.6 Display Memory Controller

3.12.7 DPMS

3.12.8 Dual-Clock Synthesizer

3.12.9 Graphics Controller

3.12.10 Graphics Engine

3.12.11 RAMDAC

3.12.12 Read-ahead Cache

3.12.13 Write FIFO

3.12.14 Bus Interface

3.12.15 DRAM Support

3.12.16 Video Memory Data Bus Architecture

3.12.17 Internal Dual-Clock Synthesizer

3.12.18 Power Management

3.12.19 Advanced Configuration and Power Interface Specification (ACPI)

3.12.20 Resolutions Supported

3.12.21 Turbo Queue

3.12.22 Video Accelerator

3.12.23 Video Playback Contrast Enhancement and Brightness Control

3.12.24 Video CPU Write Data Decimation

3.12.25 Signature Analysis

3.12.26 Compatibility

3.12.27 Software Support

3.12.28 Mode Table

3.13 Multiplexed pins

3.14 Ball Connectivity Testing

3.14.1 Test Scheme

3.14.2 Measurements

4. Pin Assignment and Description

4.1 SiS5598 Pin Assignment(Top view)

4.2 SiS5597 Pin Assignment(Top view)

4.3 SiS Chip Alphabetical Pin List

4.4 Pin Description

4.4.1 Host Bus Interface

4.4.2 L2 Cache Controller

4.4.3 DRAM Controller

4.4.4 PCI Interface

4.4.5 PCI IDE/ISA Bus Interface

4.4.6 RTC/KBC

4.4.7 PMU/ACPI Controller

4.4.8 USB Controller

4.4.9 Graphic Controller

4.4.10 Power Pins

4.4.11 Misc. Pins

5. Hardware Trap

6. Register Description

6.1 Host to PCI bridge configuration space

6.2 PCI to ISA Bridge Configuration Space

6.2.1 Offset Register for ACPI/SCI Base Address Register

6.3 Non-Configuration Registers

6.4 PCI IDE Configuration Space

6.4.1 Offset Registers for PCI Bus Master IDE Control Registers

6.5 USB Configuration Registers

6.5.1 USB PCI Configuration Register

6.5.2 USB OpenHCI Host Controller Operational Register

6.6 VGA Register Description

6.6.1 General Registers

6.6.2 CRT Controller Registers

6.6.3 Sequencer Registers

6.6.4 Graphics Controller Registers

6.6.5 Attribute Controller and Video DAC Registers

6.6.6 Color Registers

6.6.7 Integrated VGA Extended Registers

6.6.8 Graphics Engine Related Registers

6.6.9 Register Format for General Engine Functions

6.6.10 Register Format for Line Drawing

6.6.11 The Register Format for Direct Draw

6.6.12 Video Accelerator Registers

6.6.13 PCI Configuration Registers

7. Electrical Characteristics

7.1 Absolute Maximum Ratings

7.2 DC Characteristics

7.3 AC Characteristics

7.4 DC Characteristics for Integrated VGA Controller

7.5 AC Characteristics for Integrated VGA Controller

8. Thermal Analysis and RTC Power Consumption

8.1 Chip Thermal Analysis Without Heat Sink

8.2 Chip Thermal Analysis with heat sink

8.3 Internal RTC Power Consumption

9. Mechanical Dimension (Top view)

10. COPYRIGHT NOTICE