PHILIPS SAA7785

INTEGRATED CIRCUITS
SAA7785
ThunderBird Avenger PCI Audio
Accelerator
Preliminary specification
1999 Nov 12
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
IEEE 1394 devices via 14 Channel Virtual Write
Master
• Superior hardware acceleration for minimum CPU
consumption
• Broadest API compatibility including
DirectSound3DTM , EAXTM , and A3DTM
• 64 hardware wavetable polyphony
• Professional soft-synth with 256 voice polyphony
and XG support
GENERAL DESCRIPTION
The SAA7785 ThunderBird AvengerTM is a high-performance PCI audio accelerator offering the ultimate
home theater, gaming and music solution. Armed with
QSound’s advanced QMSSTM , ThunderBird AvengerTM
transforms ordinary stereo games, movies and music
to 5.1 speaker output. An integrated S/PDIF OUT connects to consumer audio equipment and S/PDIF IN
support provides digital connection from a CD player or
other digital audio equipment. The ThunderBird AvengerTM supports redirection of up to 5.1 streams from PCI
to USB or IEEE 1394 devices. Full hardware acceleration of DirectSoundTM , 3D audio, music synthesis and
gameport functions provides increased graphic framerates and industry leading low CPU consumption. Utilizing a specialized DSP controller and combining with a
AC97 codec creates a high quality, high performance,
low cost audio subsystem.
• Second generation ActiMedia programmable DSP
architecture
• Global reverb for external digital and analog input
sources
• Enhanced MIDI reverb and chorus (per track and
global)
• Independent I2S input and output ports
• Comprehensive Real Mode DOS and DOS windows support
• Dual gameport accelerator with leagacy and digital
joystick modes
• PC/PCI, DDMA, and LAMTM PCI DMA support
• Supports quad and dual AC97 CODECS
FEATURES
• 3.3 v operation with 5 v tolerant I/O
• 2, 4, or 5.1 speaker and headphone 3D algorithms
• Windows(R) 95 , Windows(R) 98, and Windows(R)
2000 (WDM) drivers
• QSound3DInteractive TM interactive positional 3D
• QSound Multi-Speaker System TM stereo to quad or
stereo to 5.1 processing
• QSound Environmental ModelingTM (I3D Level 2.0,
EAXTM 1.0/2.0 compatible)
APPLICATIONS
• QXpanderTM and stereo-to-3D remapping
• Complete audio subsystem when combined with
AC97 CODEC
• Integrated S/PDIF OUT and optional S/PDIF IN
• PC sound cards and motherboards
• AC3 5.1 or stereo playback through S/PDIF output
• Video games and other PCI bus-based multimedia
applications
• Processing up to 512 simultaneous inputs including
256 DirectSound streams and up to 96 concurrent
CD quality 3D streams
• Redirection up to 5.1 streams from PCI to USB or
1999 Nov 12
2
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
ORDERING INFORMATION
TYPE
NUMBER
PACKAGE
NAME
DESCRIPTION
VERSION
SAA7785
TQFP128
Thin quad flat pack; 128 leads (lead length 1.00 mm); body
14 x 14 x 1.00 mm
25-90040
SAA7785
TQFP100
Thin quad flat pack; 100 leads (lead length 1.00 mm); body
14 x 14 x 1.00 mm
25-90042
QUICK REFERENCE DATA
Condition
Symbol
Maximum Ratings
Ambient Operating Temperature
TA
0°C to +70°C
Ambient Storage Temperature
TS
-65°C to +150°C
Non-Operating Core and Ring Supply Voltage
VDD, VDDIC
-0.5V to 4.6V *
Operating Core Supply Voltage
VDDIC
-0.5V to 3.63V *
Operating Ring Supply Voltage
VDD
3.0V to 3.63V *
5V Tolerant Supply (5.0V nominal supply)
NWELL
-0.5V to 5.5V *
NWELL to VDD Differential
NWELL-VDD
0 ≤ (NWELL-VDD) < 4.0V
3V Tolerant I/O DC Input Voltage
VI3
-0.5V to VDD+0.5V (≤ 4.6V max)+
3V Tolerant I/O DC Output Voltage
VO3
-0.5V to VDD+0.5V (≤ 4.6V max)+
5V Tolerant I/O DC Input Voltage
VI5
-0.5V to 5.5V (≤ 6.0V max)+
5V Tolerant I/O DC Output Voltage
VO5
-0.5V to VDD+0.5V (≤ 4.6V max)+
DC Input Current (at VI < 0V or VI > VDD)
II
± 20mA
DC Output Current (at VO < 0V or VO > VDD)
IO
± 20mA
Power Dissipation
PD
500mW
*Refer to Section 3.1 to ensure proper power supply sequencing as well as voltage ranges.
+Items in parenthesis are non-operating conditions.
1999 Nov 12
3
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
BLOCK DIAGRAM
AC Link Interface
I 2S
Interface
AC LINK
PCI
Bus
Test
Port
INTA#
PCI
Master/Slave
Interface
Serial
Interrupt
Controller
GPIO
General
Purpose I/O
GamePort
Game Port
Interface
PLL
Test Logic
AC97
Xtal_out
S/P DIF
Output
PCI
Configuration
Headers
Legacy
DMA
Interface
SoundBlaster
Registers
OPL3
Registers
INTRs
DSP Core
DSP Code
ROM
DSP Code
RAM
DSP
Memory
Controller
Virtual
Registers
DSP Data
RAM
Address
Generation
Host/DSP
Interface
FM
Accelerator
Prog
IIR Filter
MIDI Regs
and UART
MIDI Interface
1999 Nov 12
4
S/P DIF
DSP Interrupt
Controller
Sample Fetch
Accelerator
PLL Cell
Multimedia
Timer
DSP DATA BUS
Serial
CFG
Port
I2S
Port
Phase/Env
Accelerator
DSP CODE BUS
FIGURE 1
SAA7785
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
PINNING
Signal and Pin Names for 128 pin SAA7785 ThunderBird AvengerTM
TABLE 1
PIN
#
PIN NAME
1
BIT_CLK
33
GNT#
65
AD22
97
AD12
2
SDATA_OUT
34
PME#
66
VDD
98
AD11
3
SDATA_IN0
35
RST#
67
AD21
99
AD10
4
SDATA_IN1
36
VSS
68
AD20
100
NWELL1
5
AC_RST#
37
PCLK
69
AD19
101
PGPIO4
6
VSS
38
PCGNT#
70
VSS
102
AD9
7
JAB1
39
PCREQ#
71
AD18
103
VDD
8
JBB1
40
VDD
72
AD17
104
AD8
9
VDD
41
GNT#
73
AD16
105
VSS
10
JACX
42
VDDIC
74
PGPIO7
106
C/BE0
11
JBCX
43
REQ#
75
NWELL3
107
VDDIC
12
MIDIOUT
44
PGPIO0
76
VSS
108
AD7
13
JBCY
45
AD13
77
C/BE2#
109
VDD
14
NWELL2
46
AD30
78
FRAME#
110
AD6
15
JACY
47
VDD
79
VDD
111
AD5
16
VSSIC
48
PGPIO1
80
IRDY#
112
VSS
17
JBB2
49
AD29
81
PGPIO6
113
AD4
18
TRI#/CFGCLK
50
VSS
82
VDDIC
114
AD3
19
MIDIIN
51
NWELL0
83
TRDY#
115
AD2
20
VDD
52
PGPIO2
84
VSS
116
VSSIC
21
VSS
53
AD28
85
DEVSEL#
117
AD1
22
TRI#/CFGCLK
54
VSSIC
86
STOP#
118
AD0
23
NAND#/CFGDAT
55
AD27
87
PGPIO5
119
VDD
24
SPDO
56
VDD
88
VDD
120
TWS
25
CCLK
57
AD26
89
PERR#
121
TSD
26
DSPCLK
58
VSS
90
SERR#
122
TSCK
27
SPDI
59
AD25
91
PAR
123
CLKRUN
28
VDD
60
AD24
92
C/BE1
124
RESVDS
29
VSS
61
C/BE3#
93
AD15
125
RSD/GPIO2
30
PSUB
62
IDSEL
94
AD14
126
RSCK/GPIO1
31
PLLAPWR
63
AD23
95
VSS
127
RWS/GPIO0
32
PLLAGND
64
PGPIO3
96
AD13
128
SYNC
1999 Nov 12
5
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
FIGURE 2
SAA7785
PIN CONFIGURATION
Notes:
1. Package body size is 14 mm.
2. Scale is approx 1” = 5.08 mm (5X actual size).
3. Use package bond form nuber 23-xxxxx.
1999 Nov 12
SAA7785
128 PIN TQFP
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
INTA#
PME#
RST#
VSS
PCLK
PCGNT#
PCREQ#
VDD
GNT#
VDDIC
REQ#
PGPIO0
AD31
AD30
VDD
PGPIO1
AD29
VSS
NWELL
PGPIO2
AD28
VSSIC
AD27
VDD
AD26
VSS
AD25
AD24
C/BE3#
IDSEL
AD23
PGPIO3
BIT_CLK
SDATA_OUT
SDATA_IN0
SDATA_IN1
AC_RST#
VSS
JAB1
JBB1
VDD
JACX
JBCX
MIDIOUT
JBCY
NWELL
JACY
VSSIC
JBB2
JAB2
MIDIIN
VDD
VSS
TRI#/CFGCLK
NAND#/CFGDAT
SPDO
CCLK
DSPCLK
SPDI
VDD
VSS
PSUB
PLLAPWR
PLLAGND
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
SYNC
RWS/DGPIO0
RSCK/DGPIO1
RSD/DGPIO2
RESVD
CLKRUN#
TSCK
TSD
TWS
VDD
AD0
AD1
VSSIC
AD2
AD3
AD4
VSS
AD5
AD6
VDD
AD7
VDDIC
C/BE0#
VSS
AD8
VDD
AD9
PGPIO4
NWELL
AD10
AD11
AD12
SAA7785 ThunderBird AvengerTM PINS ON 128 PIN TQFP PACKAGE DIAGRAM (TOP VIEW).
6
AD13
VSS
AD14
AD15
C/BE1#
PAR
SERR#
PERR#
VDD
PGPIO5
STOP#
DEVSEL#
VSS
TRDY#
VDDIC
PGPIO6
IRDY#
VDD
FRAME#
C/BE2#
VSS
NWELL
PGPIO7
AD16
AD17
AD18
VSS
AD19
AD20
AD21
VDD
AD22
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
PINNING
PIN DEFINITIONS FOR THE 100 Pin SAA7785 ThunderBird AvengerTM
TABLE 2
PIN
#
PIN NAME
1
BIT_CLK
30
PCLK
59
VSS
87
AD5
2
SDATA_OUT
31
PCGNT#
60
C/BE2#
88
VSS
3
SDATA_IN
32
PCREQ#
61
FRAME#
89
AD4
4
AC_RST#
33
GNT#
62
IRDY#
90
AD3
5
VSS
34
VDDIC
63
VDDIC
91
AD2
6
JAB1
35
REQ#
64
TRDY#
92
VSSIC
7
JBB1
36
AD31
65
DEVSEL#
93
AD1
8
JACX
37
AD30
66
STOP#
94
AD0
9
JBCX
38
VDD
67
VDD
95
VDD
10
MIDIOUT
39
AD29
68
PERR#
96
CLKRUN#
11
JBCY
40
NWELL_40
69
SERR#
97
RSD/GPIO2
12
JACY
41
AD28
70
PAR
98
RSCK/GPIO1
13
VSSIC
42
VSSIC
71
C/BE1#
99
RWS/GPIO0
14
JBB2
43
AD27
72
AD15
15
JAB2
44
AD26
73
AD14
16
MIDIIN
45
VSS
74
VSS
17
VDD
46
AD25
75
AD13
18
TRI#/CFGCLK
47
AD24
76
AD12
19
NAND#/CFGDAT
48
C/BE3#
77
AD11
20
SPDO
49
IDSEL
78
AD10
21
CCLK
50
AD23
79
NWELL1
22
DSPCLK
51
AD22
80
AD9
23
PSUB
52
VDD
81
VDD
24
PLLAPWR
53
AD21
82
AD8
25
PLLAGND
54
AD20
83
C/BE0#
26
INTA#
55
AD19
84
VDDIC
27
PME#
56
AD18
85
AD7
28
RST#
57
AD17
86
AD6
29
VSS
58
AD16
1999 Nov 12
7
100
SYNC
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
Notes:
1. Package body size is 14 mm.
2. Scale is approx 1” = 5.08 mm (5X actual size).
3. Use package bond form nuber 23-61269.
1999 Nov 12
SAA7785
100 PIN TQFP
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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
INTA#
PME#
RST#
VSS
PCLK
PCGNT#
PCREQ#
GNT#
VDDIC
REQ#
AD31
AD30
VDD
AD29
NWELL
AD28
VSSIC
AD27
AD26
VSS
AD25
AD24
C/BE3#
IDSEL
AD23
BIT_CLK
SDATA_OUT
SDATA_IN0
AC_RST#
VSS
JAB1
JBB1
JACX
JBCX
MIDIOUT
JBCY
JACY
VSSIC
JBB2
JAB2
MIDIIN
VDD
TRI#/CFGCLK
NAND#/CFGDAT
SPDO
CCLK
DSPCLK
PSUB
PLLAPWR
PLLAGND
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
SYNC
RWS/DGPIO0
RSCK/DGPIO1
RSD/DGPIO2
CLKRUN#
VDD
AD0
AD1
VSSIC
AD2
AD3
AD4
VSS
AD5
AD6
AD7
VDDIC
C/BE0#
AD8
VDD
AD9
NWELL
AD10
AD11
AD12
SAA7785 ThunderBird AvengerTM pinout for 100 pin package
8
AD13
VSS
AD14
AD15
C/BE1#
PAR
SERR#
PERR#
VDD
STOP#
DEVSEL#
TRDY#
VDDIC
IRDY#
FRAME#
C/BE2#
VSS
AD16
AD17
AD18
AD19
AD20
AD21
VDD
AD22
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
FUNCTIONAL OVERVIEW
AC3 data from a DVD directly to an AC3 decoder.
The S/PDIF stereo output capability allows users to
connect to a variety of consumer audio equipment,
such as a stereo receiver, minidisk, or digital
speakers. S/PDIF IN support through the I 2S port
enables digital connection from a CD player or other
audio equipment that utilizes the S/PDIF format.
QSound 3D Audio Algorithms
QSound Labs most advanced algorithms for 3D
virtualization, multichannel processing, audio mixing
and wavetable synthesis result in unsurpassed 3D
audio. QSound’s Q3DTM is the only solution developed
natively for speakers and therefore requires no
crosstalk cancellation. The result is a wide “sweetspot”,
strong positional perception and insensitivity to head
movement and position. Listeners can enjoy a true 3D
experience with only two speakers connected to their
PC.
Superior Concurrency
The SAA7785 ThunderBird AvengerTM combines its
64 hardware input buffers with software (256 MIDI
channels and 192 DirectSoundTM inputs) for a total of
512 simultaneous streams. The ThunderBird
AvengerTM can process 64 combined audio and
wavetable voices in hardware plus an additional 192
audio streams using QSound’s efficient MMX host
engine. In addition, Avenger offers game developers
up to 96 simultaneous 3D streams. For greater
concurrency and higher music polyphony a
professional quality 256 voice soft-synth is available.
This can be used for all music synthesis reserving all
256 streams for other audio sources, making the
ThunderBird Avenger TM an excellent solution for
gaming applications.
QSound Multi-Speaker SystemTM (QMSSTM ) uses a
proprietary stereo-to-quad or 5.1 remapping algorithm
to transform ordinary stereo into more immersive quad
and 5.1 outputs. Not simply mirroring the front speaker
output to the rear speakers, QMSSTM creates 4 and 5.1
individual channels. The result is DirectSound games
become more realistic with action all around the
listener; music CD, MP3 and MIDI playback become
more immersive; and stereo and Dolby ProLogic film
clips become theatre-like in presentation without
needing a specific decoder.
QSound3DInteractiveTM utilizes the ActiMediaTM DSP
to interactively position DirectSound streams in 3D
space around the listener. Four different 3D engines,
based on HRTF and patented QSound technology,
render sound over headphones, 2, 4 or 5.1 speakers.
Q3DITM uses the industry standard DirectSound3DTM
API and is compatible with DirectSound, EAXTM, and
A3D1.0TM applications.
Hardware Acceleration
The SSA7785 ThunderBird AvengerTM is a true
hardware audio accelerator. CPU consumption is
minimized by processing sample rate conversion,
panning, mixing, 3D virtualization, filtering, music
synthesis, multichannel conversion, and gameport
functions in the hardware DSP. This frees up the host
CPU to perform other tasks, boosting graphic frame
rates and raising system benchmarks.
QSound Environmental ModelingTM (QEMTM ) adds
further realism by adding reverb, occulsion and
obstruction as additional positional ques. With QEM
enabled, each DirectSound3D sound source receives
reverb simulating acoustic reflections based on the
regions reverb present and the sources’ current
position relative to the listener. In addition obstruction
and occlusion filters are used to simulate the acoustical
effects of barriers and openings in a games virtual 3D
environment such as walls, doorways and pillars, and
is compliant with I3D Level 2.0.
320 Voice CD Quality Wavetable Synthesis
ThunderBird Avenger TM includes two wavetable
synthesis engines. When hardware mode is enabled,
the ActiMediaTM DSP can produce up to 64
wavetable 44Khz, 16 bit voices. This mode
minimizes CPU consumption and is ideal for games
with MIDI music tracks. In addition, a professional
quality soft-synth can produce up to 256 voices
including special effects. The soft-synth is
configurable and can be optimized for highest quality
with pure music applications or for minimum CPU
consumption in gaming applications. Combining both
hardware and software synthesizers allows for 320
S/PDIF OUT/IN
The SAA7785 ThunderBird AvengerTM provides an
integrated S/PDIF OUT port enabling users to output
1999 Nov 12
9
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
total simultaneous voices.
ActiMediaTM DSP Architecture
ActiMediaTM DSP architecture combines the strengths
of programmable and fixed function DSP architectures.
Programmability enables custom features, field
upgrades, and simple application development, while
an array of gate-efficient fixed function DSP processors
(accelerators) operate in parallel to provide an
excellent price/performance ratio. Unlike fixed-point
DSPs that must use a single resolution for all audio
processing, each accelerator is designed with the
optimum resolution for its function. This provides audio
integrity without the cost of high resolution or floating
point programmable DSP implementation.
Digital Model Dual Game Port
The software polling used by analog game ports can
consume up to 10% of the host CPU. ThunderBird PCI
products utilize a digital operation mode that can
eliminate software polling and accelerate the game
port function resulting in significantly improved system
performance. Joystick buttons can be polled or
interrupt driven to further enhance performance. A
default analog mode assures compatibility with DOS
and other non-DirectInputTM applications.
Comprehensive Legacy Audio Support
SoundBlaster Pro compatibility in both Real Mode DOS
and DOS windows is achieved through hardware
SoundBlaster and OPL3 (FM) emulation registers.
Legacy DMA over the PCI bus is supported on all
major platforms utilizing PC/PCI, DDMA, or Philips’
proprietary Legacy Accommodation ModeTM (LAMTM).
DOS music synthesis includes stereo MIDI playback
and quad/5.1 MIDI playback as well as FM emulation.
1999 Nov 12
10
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
Architectural Overview
The SAA7785 ThunderBird AvengerTM is a multi-functional device that provides sound processing producing SoundBlaster-compatible emulation, DirectSound acceleration, 3D sound, spatialization, special effects, and 64-voice wavetable synthesis through the use of a Pine Digital Signal Processor (DSP) as the primary engine. Included within the
ThunderBird Q3DIII are interfaces for an AC97 codec, I 2S I/O, MIDI port, standard analog joysticks, and an S/P DIF
Consumer Output port.
FIGURE 3
Block Diagram of a PC/AT System with the SAA7785 ThunderBird AvengerTM
Cache
PentiumTM
CPU
HOST BUS
AGP
Memory
ISA BUS
System
Controller
Multi I/O
Graphics
PCI BUS
PCI to ISA
Bridge
ThunderBirdTM Audio
Controller
AC97 CODEC
2/4 Channels
(Primary)
1999 Nov 12
AC97 CODEC
Additional
2 channels
MIDI Port
Joystick
11
I2S
S/P DIF
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
The SAA7785 ThunderBird AvengerTM chip is designed to operate on any PCI system with the proper software support. Software support is required for non-DOS applications, such as Windows(tm) drivers. Non Pentium(tm) based system can also be supported with the additional software.
Systems that provide DDMA or have the ISA bridge on the primary PCI bus are able to perform SoundBlaster emulation
enabling the operation of legacy DOS based games. The SAA7785 ThunderBird AvengerTM chip provides two 8237
style DMA channels to perform legacy DMA cycles on selected systems. The same two 8237 channels provide Distributed DMA support as well. PC/PCI is also supported to provide legacy DMA support on chipsets that support said protocol. For systems that support neither DDMA nor PC/PCI, there is a software solution implemented as a TSR.
DirectSound acceleration, both for 2D and 3D audio along with wavetable sample fetching, is accomplished using the
SAA7785 ThunderBird Avenger TM chip PCI 2.1 bus master. This bus master provides the means for the SAA7785
ThunderBird AvengerTM chip to accelerate DirectSound audio streams as well as fetch wavetable sample for the 64
voice wavetable synthesis and effects algorithms. Wavetable sample fetching is always retrieved from system memory
saving the cost of an external wavetable ROM. Downloadable sample sets, with software, are also supported using the
bus master hardware.
Additionally, the SAA7785 ThunderBird AvengerTM chip follows the AC97 Architecture to provide high quality audio by
the use of one or more separate codecs. Serial DACs, as well as AC97 CODECs can be selected to providing audio
into the analog world for low cost playback. Multi-channel AC97 CODECs can be used to provide up to 8 channels of
audio output.
A programmable DSP core is also provided to run the audio algorithms for wavetable synthesis, FM synthesis, special
effects such as reverb and chorus, along with sample rate conversion and data management. The imbedded DSP core
and its peripherals are managed solely by the DSP and requires no intervention from the host. The host can DSP can
pass messages to and from each domain to provide a host software interface into the DSP domain.
PCI Interface, Configuration, and Interrupt Serializer
The SAA7785 ThunderBird AvengerTM chip PCI interface is composed of master and slave state machines, an
address/data/byte enable datapath, a bus arbiter for the two on chip masters, control logic for the master and slave
internal busses, an interrupt serializer, and the standard PCI configuration register header.
The standard PCI configuration header is also supported. Since the SAA7785 ThunderBird AvengerTM is a multi-function device, there are three PCI configuration spaces allocated for each function. The three functions are the audio
device, the joystick and the 16650 UART. The purpose of the multiple configuration headers is to ensure PCI compliance and enable the operating system to select the correct software driver for each individual device. The Serial CFG
Port is used to shift in subvendor specific data for each of the PCI configuration headers. The Serial CFG port is an
industry standard I2CTM format. The configuration headers are included in the PCI interface to reduce inter-block routing. All other PCI configuration space registers are included in the blocks that utilize these registers.
Clocks and the PLL Subsystem
Clocks for operation of the SAA7785 ThunderBird AvengerTM are derived from two sources; an external crystal and bit
clock from the AC97 CODEC. The SAA7785 ThunderBird Avenger TM PLL Subsystem derives its reference from the
external crystal.
The SAA7785 ThunderBird AvengerTM substem consists of a fixed layout PLL cell and a digital interface to the 8 bit PS
bus. The PLL is designed to drive the clocks for the DSP subsystem. The implementation calls for the PLL to be utilized
with complete programmable register interface to enable the tuning of the frequencies as necessary.
Multimedia Timer
The SAA7785 ThunderBird AvengerTM chip supplies a 20-bit, .84 uS resolution timer for game synchronization. The
1999 Nov 12
12
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
timer data can be accessed as an I/O device. This timer can be used by game developers to keep track of time elapsed
to synchronize the video to the audio stream. The timer can be polled or interrupt driven and is selectable by the user
application.
DMA
DMA is for the Sound Blaster registers, the DSP Mastering Device (DMD), and the S/P DIF output. To cover as many
systems as possible, the DMA interface supports three modes for legacy support: Mobile PC/PCI DMA Arbitration
(PC/PCI), Distributed DMA (DDMA) and Legacy Accommodation Mode (LAM).
Legacy Accommodation Mode allows the SAA7785 ThunderBird AvengerTM, in an architecturally compatible system, to
snoop and snarf selected DMA cycles on the PCI bus that were intended to the ISA Bridge. If a chip set supports Distributed DMA, the SAA7785 ThunderBird AvengerTM will use this method since it is more efficient than LAM. Additionally, PC/PCI can be utilized as well if neither DDMA nor LAM are supported on the selected chip set.
AC Link
The SAA7785 ThunderBird AvengerTM chip provides support for the AC97 (V2.1) specification by supplying an AC Link
interface to communicate with industry standard AC97 CODECs. Up to two CODECs can be used for a total of 8 possible outputs (4 stereo channels).
Sound Blaster Registers
The other device that requires DMA is the SoundBlaster registers. DMA is used to transfer SoundBlaster digital audio
files from the host to a codec for playback in addition to providing a mailbox for other commands. In order for the DSP
to emulate the Sound Blaster sound effects, a legacy register set must be implemented to capture these commands.
These sixteen, 16-bit registers are used primarily to emulate SoundBlaster Pro register set as well as the SoundBlaster
Pro mixer registers. These registers are used as a mailbox to the DSP data bus to deliver data to the SoundBlaster
Emulation code. The SAA7785 ThunderBird AvengerTM chip supports DMA to the Sound Blaster that legacy code
requires. All data transmitted over the SoundBlaster Registers is processed by the DSP to emulate the Sound Blaster
Pro hardware.
OPL3 Registers and the FM Accelerators
The OPL3 register interface is a subset of the complete SoundBlaster register set. The OPL3 registers are separate to
point out that the FM legacy is supported at the register level. The OPL3 registers simply pass FM synthesis commands
to the SoundBlaster Emulation code and receive status from the same code.
Virtual Registers
The Virtual Registers interfaces the PCI bus and two substantial wavetable synthesis accelerators: the Sample Fetch
and Address Generation accelerators. The Virtual Registers is responsible for setting up the PCI interface for master
cycles data fetches and retrieving those fetches into a sample buffer. The Virtual Registers get commands from the
Address Generation accelerator and turns them into PCI master requests. Once the data has been retrieved, the Virtual
Register then instructs the Sample Fetch accelerator to process a block of data. Once the processing is complete, the
Sample Fetch Accelerator notifies the Virtual Registers that all is clear and that new data can be processed.
Address Generation Accelerator
The Address Generation accelerator is a preprocessing unit for the sample fetching mechanism inside the Virtual Registers. The Address Generator will get a set of parameters from the DSP code on a per voice basis for either DirectSound processing or wavetable synthesis. Once these voice parameters are set, the hardware is instructed to translate
1999 Nov 12
13
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
the addresses and fetch the audio samples from system memory. The Address Generator is also capable of looping
without intervention from the DSP code. The DSP kills voices by instructing the Address Generator to stop fetching
data. Once the samples are fetched, they are stored in the Virtual Register’s input sample buffer for processing by the
Sample Fetch Accelerator.
Sample Fetch Accelerator
The Sample Fetch accelerator is used to process audio samples fetched by the Virtual Registers and deliver them to
the DSP code for further processing. This processing can include pitch shifting or sample rate conversion. The degree
of pitch shifting is under direction of DSP code indicating the Sample Fetch accelerator is programmable. The input
samples are taken from the Virtual Register’s input sample buffer and stored in DSP memory space.
MIDI Registers and UART
An MPU401 compatible UART is supplied to enable external MIDI devices to use the SAA7785 ThunderBird AvengerTM
chip synthesizers as well as its external device’s own synthesizer. The MIDI register interface is used to pass the MIDI
command stream from the host to the DSP firmware for parsing into synthesizer commands. The MPU401 UART
always operates in “dumb” mode. Both the PCI and DSP can access the MIDI UART directly. Data is presented from/to
the MPU401 Registers in a mailbox fashion to the MPU401 UART.
General Purpose Input/Output
There are seven general purpose I/O pins that are controlled by the PCI bus (128 pin version). No GPIOs are available
in the 100 pin package.
PINE DSP Core
The Pine DSP core is a programmable 16-bit integer DSP with separate code and data busses (Harvard architecture).
Main features of the DSP core include 2K x 16 data RAM, 64K word code and data space, 16 x 16 bit two’s complement
parallel multiplier with 32-bit product, single cycle multiply/accumulate instructions, 36-bit ALU, two 36-bit accumulators,
six-general purpose 16-bit pointer registers, option for up to eight user-defined 16-bit registers, zero overhead looping,
repeat and block-repeat instructions with one nesting level, shifting capability, automatic saturation mode on overflow
while reading content of accumulators, divide and normalize step support.
As noted on Figure 2, the DSP subsystem is supported by two dedicated Pine internal busses called the DSP code bus
and the DSP data bus. All DSP peripherals are connected to the DSP data bus while the code bus is used for just that,
DSP code ROM and RAM. Both the DSP code and data busses are 16-bit for the address and data lines on each bus.
DSP code also enables the DSP core to act as a PCI bus master making it a powerful and flexible audio processing
unit.
DSP Interrupt Controller
The DSP Interrupt Controller is a programmable, priority encoded device that encodes two interrupt signals to the Pine
core. The DSP Interrupt Controller resides on the DSP data bus and is programmed by DSP code. Both sets of interrupt vectors feature an enable and status bit for each interrupt based device.
DSP Memory Controller
The DSP memory controller provides controls and decodes for the regular DSP data and code RAMs as well as the
code ROMs. The Memory Controller also includes a patch mechanism to allow ROM code to be updated or fixed using
a trapping device.
1999 Nov 12
14
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
SERIAL PORT INTERFACES
OVERVIEW
The SAA7785 chip will contain an S/PDIF Consumer Grade transmit port and an I2S transmit/receive pair. These serial
ports are designed to exchange digital audio data but can be used for any type of data transfer assuming the bandwidth
is adequate. Currently, these ports are connected to the DSP data bus.
The Inter-IC Sound Bus, or I2S Port, is a simple interface used to transfer digital data from one source to another. The
interface is based on a continuous serial clock that determines the data rate along with the word select line and the data
lines. An I2S port can be a master or a slave device. A master device drives the serial clock and word select lines while
a slave device receives the clocking signals. The SAA7785 I2S ports are independently programmable to be either a
master or a slave and for 32.0, 44.1 and 48.0KHz stereo data transfer.
Also included is a Sony/Philips Digital Interface Format, or S/PDIF, serial port. This interface is generally used to transmit raw audio data but is also used to transfer AC-3 encoded data as well using DMA. The S/PDIF format is a synchronous interface with the clock encoded on the data stream. The S/PDIF ports support 32.0, 44.1 and 48.0KHz stereo
data transfer up to 24 bits. The S/PDIF interface is IEC958 Consumer Grade compliant.
1999 Nov 12
15
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
FIGURE 4
SAA7785
I2S SERIAL PORTS BLOCK DIAGRAM
Right Data
Transmit
Shift
Register
Left Data
Transmit
Control
Logic
CCLK
XSCLK
XWS
I2S Ports
Clock
Divider
RWS
RSCLK
Receive
Control
Logic
Left Data
Receive
Shift
Register
Right Data
DSP DATA BUS
1999 Nov 12
XDATA
16
RDATA
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
FIGURE 5
SAA7785
S/PDIF TRANSMIT PORT BLOCK DIAGRAM
DSP DATA BUS
Audio Data
Holding
Registers
Audio Data
Shift
Registers
Validity Bit
Generation
Aux Data
Holding
Registers
Aux Data
Shift
Registers
Ctl/Channel
Stat Holding
Registers
Ctl/Channel
Stat Shift
Registers
User Data
Holding
Register
User Data
Shift
Register
MUX
Bi-Phase
Mark
Encoder
Line
Driver
SPDO
S/PDIF XMT
Port Status
Register
CCLK
DCLK
S/PDIF XMT
Control
Logic
Preamble
Generation
S/PDIF XMT
Clock
Divider
Parity
Generation
VIRTUAL WRITE MASTER
Audio streams may be directed back to host memory from the DSP domain. The VWM has a data buffer capable of
storing enough audio data to burst into the host memory. The VWM is a simplified version of DMA and has more stringent requirements on which and how many pages need to be allocated.
Using the VWM, the system programmer can redirect audio streams processed by the SAA7785 ThunderBird AvengerTM device and use them in any other audio device that resides in the system. The VWM is more efficient than the
DMA and should be the device of choice when redirecting audio streams back to the host. The device supports audio
sample rates from 8 to 48 KHz.
1999 Nov 12
17
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
Game Port
The SAA7785 ThunderBird AvengerTM Game Port interface is designed to emulate the PC-AT based legacy joystick
operation as well as support of a digital joystick mode. The legacy or analog, type of operation is designed to support all
legacy software that uses the original joystick address and the method for resolving the joystick axes positions. The
Digital Mode is designed to reduce the joystick overhead by resolving the joystick position directly and to support applications that use DirectInput.
The legacy joystick used a one shot multi-vibrator on each of the four joystick potentiometers. These one shots were
set up to deliver a pulse that was proportional to the resistor value of the joystick potentiometers. Software would them
poll the one shots to see if they had been set to the original value. The time it took for each axes to return to the original
value was resolved into a position by the legacy software. The SAA7785 ThunderBird AvengerTM emulates the 558
based one shot circuit to support legacy games that use the PC-AT joystick. The joystick button values were routed
directly to the system bus where only a decode was required to read the value of the button. Software would poll the
buttons as well. All button and joystick axes data is returned in a single byte wide register.
Game Port Legacy I/O Register
This register is the legacy mode register for the 558 based joystick. When in “analog” mode, this register is aliased to
respond to addresses at base + (0-7) . Reads from this register will poll the status of the joystick buttons and are used
to resolve the position. Writes to this register will discharge the external capacitors to emulate the 558 one shots. Software can then poll the joystick register bit to resolve each of the joystick axes positions by timing. The joystick button
register bits have meaning in both the digital and analog modes. The axes bits are only valid for analog mode.
TABLE 3
Game Port 558-Based Register - GAMEPORT (RO)
I/O GMBASE
Offset 1h
D7
D6
D5
D4
D3
D2
D1
D0
JOYB_2
JOYB_1
JOYA_2
JOYA_1
JOYB_Y
JOYB_X
JOYA_Y
JOYA_X
1
1
1
1
0
0
0
0
POR Value
Bit
Name
R/W
Function
7
JOYB_2
RO
Joystick B button 2 status. The joystick button status bits are cleared when
the respective joystick button is pressed.
6
JOYB_1
RO
Joystick B button 1 status.
5
JOYA_2
RO
Joystick A button 2 status.
4
JOYA_1
RO
Joystick A button 1 status.
3
JOYB_Y
RO
Joystick B y-coordinate. Can also be referred to as position 3.
2
JOYB_X
RO
Joystick B x-coordinate. Can also be referred to as position 2.
1
JOYA_Y
RO
Joystick A y-coordinate. Can also be referred to as position 1.
0
JOYA_X
RO
Joystick A x-coordinate. Can also be referred to as position 0.
1999 Nov 12
18
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
SAA7785 SIGNAL DEFINITIONS
PCI LOCAL BUS INTERFACE SIGNALS
AD[31:0]
PCI Address/Data
AD[31:0] contains a physical byte address during the first clock of a PCI transaction, and data
during subsequent clocks.
When the SAA7785 is a PCI master, AD[31:0] are outputs during the address phase of a transaction. They are either inputs or outputs during the data phase, depending on the type of PCI
cycle in process.
When the SAA7785 is a PCI slave, AD[31:0] are inputs during the address phase. They are
either inputs or outputs during the data phase, depending on the type of PCI cycle in process.
C/BE#[3:0]
PCI Bus Command and Byte Enables
C/BE#[3:0] defines the bus command during the first clock of a PCI transaction, and the byte
enables during subsequent clocks.
C/BE#[3:0] are outputs when the SAA7785 is a PCI bus master and inputs when it is a PCI bus
slave.
DEVSEL#
PCI Bus Device Select
When the SAA7785 is a PCI bus master the SAA7785 uses DEVSEL# to determine whether a
master abort should occur if DEVSEL# is not sampled active by clock 5 of the transaction, or to
determine whether a cycle is to be aborted or retried when a target-initiated termination occurs.
When the SAA7785 is a PCI bus slave, DEVSEL# is an output which the SAA7785 drives LOW
during the second PCLK after FRAME# assertion to the end of a transaction if the SAA7785 is
selected.
FRAME#
PCI Bus Cycle Frame
When the SAA7785 is a PCI master, FRAME# is an output which indicates the beginning of a
SAA7785-initiated bus transaction. While FRAME# is asserted data transfers continue. When
FRAME# is deasserted the transaction is in the final data phase.
When the SAA7785 is a PCI slave, FRAME# is an input that initiates an I/O, memory or configuration register access if the SAA7785 is selected for the transaction. The SAA7785 latches the
C/BE#[3:0] and AD[31:0] signals on the PCLK edge on which it first samples FRAME# active.
IRDY#
PCI Bus Initiator Ready
When the SAA7785 is a PCI master, IRDY# is an output which indicates the SAA7785’s ability
to complete the data phase of the current transaction. It is always asserted from the PCLK
cycle after FRAME# is asserted to the last clock of the transaction.
When the SAA7785 is a PCI slave, IRDY# is an input which causes the SAA7785 to hold-off
completion of a read or write cycle until sampled active.
1999 Nov 12
19
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
STOP#
SAA7785
PCI Bus Stop (Target Initiated Termination)
When the SAA7785 is a PCI master, STOP# is an input which causes the SAA7785 to complete, abort or retry the transfer, depending on the state of TRDY# and DEVSEL#.
When the SAA7785 is a PCI slave, it drives STOP# as active (LOW) to terminate or retry a
transaction.
TRDY#
PCI Bus Target Ready
When the SAA7785 is a PCI master, TRDY# is an input which indicates the target agent’s ability to complete the data phase of the transaction. After initiation of a PCI bus transaction, the
SAA7785 inserts wait cycles until TRDY# is sampled active.
When the SAA7785 is a PCI slave, it drives TRDY# active to indicate that the SAA7785 has
sampled the data from AD[31:0] during a write phase, or presented valid data on AD[31:0] during a read phase.
PAR
PCI Bus Parity
When the SAA7785 is a PCI master, it drives PAR to reflect the correct value for even parity on
the AD[31:0] and C/BE#[3:0] buses one clock after the address phase and after each write data
phases.
When the SAA7785 is a PCI slave, it drives PAR to reflect the correct value for even parity on
the AD[31:0] and C/BE#[3:0] buses one clock after completion of each read data phase.
PCREQ#
PC/PCI DMA Request
This signal requests DMA series from an external chipset that supports PC/PCI protocols. The
SAA7785 chip asserts PCGNT# according to the desired DMA channel required by either the
SoundBlaster or AC97 interfaces. The requested channel is encoded serially on the PCGNT#
pin.
The SAA7785 will become the bus owner when it receives an asserted PCGNT# signal. This
handshaking is synchronous to PCLK.
PCGNT#
PC/PCI DMA Grant
An asserted PCGNT# pin indicates that the external PC/PCI master arbiter has granted DMA
services to the encoded DMA channel to the requesting DMA agent on the SAA7785 chip.
REQ#
PCI Bus Request
This signal controls the PCI bus arbitration between the SAA7785 chip and the PCI master
arbiter. When REQ# is asserted, the SAA7785 indicates a desire to become the PCI bus owner.
The SAA7785 will become the bus owner when it receives an asserted grant signals (GNT# is
LOW). This handshaking is synchronous to PCLK.
REQ# is three-stated while RST# is active.
1999 Nov 12
20
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
GNT#
SAA7785
PCI Bus Grant
An asserted GNT# pin indicates that the PCI master arbiter has granted bus ownership to the
SAA7785 chip.
INTA#
PCI Bus Interrupt A
The interrupt output is a PCI compatible active low level sensitive interrupt. It is only used if the
SAA7785 is used in a non Common Architecture system. Otherwise it is tri-stated. It is driven
low when any of the internal interrupts are asserted.
PERR#
PCI Bus Parity Error
This signal indicates a data parity error for any cycle type other than a Special Cycle command.
PERR# is made active two clocks after the completion of the data phase which caused the parity error. This error signal may result in the generation of a non-maskable interrupt (NMI) or
other high priority interrupt sent to the CPU.
SERR#
PCI Bus System Error
This signal indicates an address parity error, data parity errors on Special Cycle commands or
any other catastrophic system error. SERR# is an open-drain bidirectional pin which is driven
low for a single PCLK cycle by the agent reporting the error. This error may result in the generation of a non-maskable interrupt (NMI) or other high priority interrupt sent to the CPU.
IDSEL
Initialization Device Select
IDSEL is used as a chip select during configuration register read and write operations. One
system board address line from AD[31:11] is used as IDSEL to select the SAA7785 configuration space in the SAA7785 chip when used on the PCI bus.
CLKRUN#
PCI Bus Clock Run Request
The SAA7785 uses CLKRUN# according to the Mobile PCI protocol to start the PCI clock or
keep the clock running whenever an internal PCI device requires it.
PCLK
PCI Bus Clock Input
PCLK is the PCI bus clock input. It is used to synchronize all PCI bus operations and typically
runs at 33MHz.
RST#
PCI Bus Reset
An active low version of the system reset, this signal causes the PCI interface to return to the
idle states in all state machines and asynchronously three-states all PCI bus signals. All registers will be reset to their default values as well. The CODEC interface line should be all driven
inactive along with the external memory interface. This reset will assert the DSP reset.
PME#
PCI Bus Power Management Event
Reserved.
1999 Nov 12
21
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
PCI GENERAL PURPOSE I/O
PGPIO[7:0]
PCI General Purpose Input/Outputs
These eight pins are used as controls or data to devices external to the SAA7785 chip. Each
are independently controlled.
TEST INTERFACE/SERIAL CONFIGURATION PORT
NAND#/CFGDAT
NAND Tree Test Enable/Serial Configuration Data
When this pin is pulled low and RST# is pulsed asserted, all output and I/O pins of the
SAA7785 will be forced into a three-state condition. Pulsed assertion of the RST# signal will
release the SAA7785 from this test mode.
If this pin is pulled high during PCI reset, then it is used to shift in PCI configuration data for the
Subsystem ID and the Subsystem Vendor ID in each of the PCI configuration headers present
in the SAA7785 chip. The Serial Configuration Port is a standard I2C interface. This line should
never be pulled low.
TRI#/CFGCLK
Tri-State Test Enable/Serial Configuration Clock
When this pin is pulled low and RST# is pulsed asserted, the SAA7785 will enter the parametric
NAND tree test mode. The details of the NAND tree test mode are described later in this document.
If this pin is pulled high during PCI reset, then this pin will supply the serial 400 KHz clock,
derived from OSC, to an external serial EEPROM. CFGCLK is used to synchronize the serial
configuration data.
GAME PORT INTERFACE
JACX
Joystick A X Axis
This pin functions as an input for the joystick A X-position axis.
JACY
Joystick A Y Axis
This pin functions as an input for the joystick A Y-position axis.
JBCX
Joystick B X Axis
This pin functions as an input for the joystick B X-position axis.
JBCY
Joystick B Y Axis
This pin functions as an input for the joystick B Y-position axis.
JAB2
Joystick A Button 2 Interface
This pin functions as an input for the joystick A button 2.
1999 Nov 12
22
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
JAB1
SAA7785
Joystick A Button 1 Interface
This pin functions as an input for the joystick A button 1.
JBB2
Joystick B Button 2 Interface
This pin functions as an input for the joystick B button 2.
JBB1
Joystick B Button 1 Interface
This pin functions as an input for the joystick B button 1.
MIDI INTERFACE
MIDIIN
MIDI Serial Data Input
This signal is part of the standard 2 wire MIDI interface. This input receives MIDI data at a rate
of 31.25Kbaud. Optical isolation is required.
MIDIOUT
MIDI Serial Data Output
This signal is part of the standard 2 wire MIDI interface. This output transmits MIDI data at a
rate of 31.25Kbaud. Optical isolation is required.
AC’97 CODEC INTERFACE
SYNC
AC’97 Codec Synchronization/Frame Output
This signal is used to frame the tag packet from the AC link designer from the SAA7785 chip.
BIT_CLK
AC’97 Data Bit Clock
This signal is used to clock synchronous data on the AC link interface.
SDATA_OUT
AC’97 Serial Data Out
This is the time division multiplexed serial output data stream from the SAA7785 controller.
SDATA_IN0
AC’97 Serial Data In Port 0
This is the time division multiplexed serial input data stream from the primary external AC’97
codec.
SDATA_IN1
AC’97 Serial Data In Port 1
This is the time division multiplexed serial input data stream from the secondary external AC’97
codec.
1999 Nov 12
23
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
AC_RST_N#
SAA7785
AC’97 Master Reset
The external AC’97 codec has a master reset line which is has a separate control. The codec
status must report a ready before any audio or modem data is transmitted to the codec.
DSP SERIAL PORTS/GENERAL PURPOSE I/O
SPDO
Sony/Philips Digital Interface Format Output Port
Consumer format S/PDIF Output Port. The output characteristic of this pad approximates the
RS422 interface.
SPDI
Sony/Philips Digital Interface Format Input Port
Reserved.
RWS
Inter-IC Sound Bus Receive Port Word Select Clock/DSP General Purpose I/O 0
When the I2S is configured as a master, this pin will output a word clock at the frequency
selected by the user. When configured as a slave, the receive port will synchronize the left or
right channel data to this signal.
RSCK
Inter-IC Sound Bus Receive Port Bit Clock/DSP General Purpose I/O 1
When the I2S is configured as a master, this pin will output a bit clock. When configured as a
slave, the receive port will shift in data from the RSD data stream using RSCK as an input.
RSD
Inter-IC Sound Bus Receive Port Data/DSP General Purpose I/O 2
This pin is the input data stream for the I2S receive port.
TWS
Inter-IC Sound Bus Transmit Port Word Select Clock
When the I2S is configured as a master, this pin will output a word clock at the frequency
selected by the user. When configured as a slave, the receive port will synchronize the left or
right channel data to this signal.
TSCK
Inter-IC Sound Bus Transmit Port Bit Clock
When the I2S is configured as a master, this pin will output a bit clock. When configured as a
slave, the transmit port will shift out data from the TSD data stream using TSCK as an input.
TSD
Inter-IC Sound Bus Transmit Port Data
This pin is the output data stream for the I2S transmit port.
1999 Nov 12
24
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
PLL/DSPCLK SUBSYSTEM INTERFACE
CCLK
CODEC Clock Input
This pin is the raw 24.576MHz clock from the AC’97 crystal. The CCLK clock is used to provide
a fixed time base for many functions within the SAA7785 device.
DSPCLK
DSP Clock Input
This pin can be used as the clock input for the SAA7785 for the DSP subsystem in place of the
PLL driving the clock. DSPCLK is also used to drive the DSP subsystem for controllability during testing.
PSUB
PLL Substrate
This pin supplies the bias for the guard ring on the PLL core. Connect this to a clean analog
supply ground.
PLLAPWR
PLL Analog Power
Analog power supply for the PLL. Be sure the analog supply is isolated from the 3 volt digital
supply.
PLLAGND
PLL Analog Ground
Analog ground for the PLL. This power supply is sensitive to noise and should be handled carefully.
POWER AND GROUND PINS
VDDIC
Core Power
3 volt power supply for the core of the chip.
VSSIC
Core Ground
Ground reference for the core of the chip.
VSS
Ring Ground
Ground reference for the pad interfaces of the chip.
VDD
Ring Power
3 volt supply for the pad interfaces of the chip.
NWELL
External N-Well Bias
Tie these pins to 5v for proper 5 volt tolerant operation. The 5v supply must be powered up
before the 3v supply. Likewise, the 3v supply must be powered down before the 5v supply.
PLEASE READ THE CAUTIONS IN Section 4.1, POWER SUPPLY OPERATING REQUIREMENTS ***** MUST READ *****
1999 Nov 12
25
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
DSP EXTERNAL MEMORY INTERFACE
MA[14:0]
External Memory Address
Address lines for the external SRAM devices. The external memory interface can be used for
DSP code space if the EXT_SRAM_EN (in HDCFG, bit 5) is set. Otherwise, the DSP will use
internal ROM as the code source.
MD[15:0]
External Memory Data Bus
Word wide data bus for the external SRAM. Use 6ns memory for maximum DSP performance.
MCS#
External Memory Chip Select
Chip select line for the external SRAM devices.
MWE#
External Memory Read/Write Control
Selects the external SRAM for reading or writing.
1999 Nov 12
26
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
SAA7785 ThunderBird Avenger™ Functional Block Descriptions
Register Table Document Description and Example
The next table gives an example of how registers are documented in this specification.
TABLE 4
Example Register - REGEX (RW/RO)
SPACE
D15
D14
D13
D12
D11
D10
D9
D8
Offset nnh
R
R
R
R
R
R
R
R
POR Value
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
EXDATA[7:0]
POR Value
Bit
0
Name
0
0
0
R/W
0
Function
15:8
R
RO
Reserved. These bits always return zeros.
7:0
EXDATA
RW
Example data. The example data for all to see.
In the above table example, the EXAMPLE REGISTER text would be a descriptive title for the register that we wish to
detail. Following the register description would be a register mnemonic used in register summary tables and the like. In
this example the mnemonic is REGEX. Following the mnemonic is the read/write access allowed into this register. If the
entire register is readable and writable, then the RW key is assigned. If some bits are read/write while others are read
only, then the key will indicate this fact. In the example, this register has both read/write and read only bits. The register
memory map location is marked in the table cell marked SPACE. SPACE could be substituted with PCI CFG n (for PCI
configuration register space for function n), IOBASE (for an I/O space register with an IOBASE specified in a configuration register), DSP DATA (for DSP data memory mapped registers), MEM MSTR (indicating a PCI master in memory
space), and DSP CODE (indicating a DSP code memory mapped register. Just below the SPACE marker is the offset
from the base address specified in the SPACE field. The rest of the table should be obvious.
SAA7785 ThunderBird Avenger™ PCI Interface
Overview
The SSA7785 ThunderBird Avenger™ chip PCI interface is designed to interface the external PCI bus interface to all of
the selected devices in the SSA7785 ThunderBird Avenger™ chip. The PCI interface composed of master and slave
state machines, an address/data/byte enable datapath, a bus arbiter for the two on chip masters, control logic for the
master and slave internal busses, and standard PCI configuration register headers. The Interrupt Serializer will be discussed in a later chapter. This section of the specification will describe the PCI interface in more detail along with
design considerations for both the slave, master, and datapath. The configuration header will be discussed in the
SSA7785 ThunderBird Avenger™ PCI Configuration Registers section of this specification.
The discussion will begin with the PCI master and target systems. The PCI bus master has the capability to burst double words to/from the two internal bus masters, the Distributed DMA and the Virtual Registers. The full address range is
supported for these master devices. Since there are two masters, an arbiter is required to determine priority between
the two devices. Details on the arbiter can be found in the PCI master section.
1999 Nov 12
27
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
The PCI datapath block contains the multiplexors and registers to steer the data to and from the PCI interfaces. The
data is de-multiplexed from the external PCI interface to the internal master and slave busses. Control logic from the
master and slave devices control the datapath.
The SSA7785 ThunderBird Avenger™ is considered a multi-function device since the operating system may wish to
load different drivers for certain functions. These functions are the audio subsystem, the joystick and the 16650 UART.
Each of these major functions must have a separate PCI configuration space. The standard PCI configuration header
for these three functions are supported in the PCI interface.
The SSA7785 ThunderBird Avenger™ PCI interface responds to and initiates PCI cycles with positive decoding
according to the PCI 2.1 specification. The interface asserts DEVSEL# after the first clock following FRAME# making it
a medium responder. For specific LAM cycles, the SSA7785 ThunderBird Avenger™ will be a fast responder. SSA7785
ThunderBird Avenger™ indicates which cycles the PCI interface responds to or initiates.
TABLE 5
c/be#[3:0]
PCI Bus Command Definitions and SSA7785 ThunderBird Avenger™ Responses
Command Type
SSA7785 ThunderBird Avenger™ Response to Cycle
0000
Interrupt Acknowledge
This cycle is not claimed.
0001
Special Cycle
This cycle is not claimed.
0010
I/O Read
All I/O Read cycles directed to the SSA7785 ThunderBird
Avenger™ are claimed by the target interface.
0011
I/O Write
All I/O Write cycles directed to the SSA7785 ThunderBird
Avenger™ are claimed by the target interface.
0100
Reserved
This cycle is not claimed.
0101
Reserved
This cycle is not claimed.
0110
Memory Read
This cycle is not claimed.
0111
Memory Write
This cycle is not claimed.
1000
Reserved
This cycle is not claimed.
1001
Reserved
This cycle is not claimed.
1010
Configuration Read
All Configuration Read cycles are claimed by the target interface
provided IDSEL is sampled asserted during the address/cmd
phase.
1011
Configuration Write
All Configuration Write cycles are claimed by the target interface
provided IDSEL is sampled asserted during the address/cmd
phase.
1100
Memory Read Multiple
This cycle is not claimed.
1101
Dual Address Cycle
The SSA7785 ThunderBird Avenger™ supports 32-bit
addresses only.
1110
Memory Read Line
This cycle is not claimed.
1111
Memory Write and Invalidate
This cycle is not claimed.
The SSA7785 ThunderBird Avenger™ will respond to byte, word, tri-byte or double word access for configuration read
and configuration write cycles provided PCI addressing rules are followed. Byte and word width accesses allowed for
I/O cycles depend largely on the target I/O device. In general, 24-bit and 32-bit accesses are not allowed to I/O devices
and will result in a target abort. The SSA7785 ThunderBird Avenger™ performs double word accesses when initiating
1999 Nov 12
28
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
master cycles. Note that the SSA7785 ThunderBird Avenger™ cannot initiate a master cycle to itself. SSA7785 ThunderBird Avenger™ summarizes the access rules for configuration and I/O cycles.
TABLE 6
BIT Width Device Access Rules
Cycle Types
Data
Width
PCI Configuration
Registers
Config Read
Any
Follow PCI addressing rules, otherwise assert a target abort.
Note that configuration registers, no matter where they are,
are accessed by configuration cycles only. Note that the PLL
will only allow 8 bit configuration accesses, the Virtual Registers TBLBASE registers are 32 bit access only, and the
VRCFG is 16 bit access only.
Game Port
I/O Read
8
Any other access will result in a target abort.
16
For PIO type accesses, only 16 bit I/O cycles are allowed,
other wise a target abort will result.
Device
Config Write
Comments
I/O Write
AC’97 Codec
I/O Read
I/O Write
DMA Interface
I/O R/W
Any
Sound Blaster Registers
I/O Read
8
Any other access will result in a target abort.
Virtual Registers
Mem Read
Any
Follow PCI addressing rules.
Host/DSP Interface
I/O Read
8,16
Usually, only 16 bit accesses will be used to download and
access the DSP. Byte wide are also allowed for DSP configuration accesses. Word accesses must be on word boundaries.
8
Any other access will result in a target abort.
8
Any other access will result in a target abort.
I/O Write
I/O Write
MPU401 Registers
I/O Read
I/O Write
16650 UART
I/O Read
I/O Write
The PCI interface consists of three major blocks, the PCI master interface, the PCI slave interface and the PCI datapath. The PCI master interface contains the master state machine, the master control logic, and the PM bus arbiter. The
PCI slave interface contains the target state machine, the target control logic and configuration register headers. The
PCI datapath is the de-multiplexing logic for the address, data and byte enable data paths for the PS and PM busses.
The PM and PS busses are described in detail in the SSA7785 ThunderBird Avenger™ Internal Busses section. Partitioning of these PCI blocks are done in this manner to reduce block inter-connectivity and to provide an interface
between the three major sections of the PCI interface.
PCI Master Interface
The SSA7785 ThunderBird Avenger™ PCI master interface performs the memory read and write cycles initiated by the
DMA or Virtual Registers blocks. The major components of the PCI master interface are the master state machine, the
PM bus arbiter and the master control logic. Each of the functional blocks will be discussed in detail.
1999 Nov 12
29
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
PCI Master State Machine
This block will performs the handshaking between the PCI interface and the PM internal bus. The PCI master will perform bursting in a linear incrementing type fashion. The PCI master state machine may also wish to provide a target
lockout signal. This signal prevents the PCI target interface from responding to any master signals.
PC/PCI Legacy Support
The PCI block supports the PC/PCI sideband signals for legacy support of the soundblaster. The PC/PCI can be
enabled by a configuration register bit and one channel selected. The PCI slave block will provide the serial encoded
request signal (PCREQ#) in response to a request from the soundblaster and decode the serial encoded PCGNT# line.
The PCI slave will then claim I/O writes to address 0000h or 0004h with the PCGNT# line asserted as writes to the
SoundBlaster and pass the data to the SoundBlaster.
PCI Target State Machine
The PCI target state machine controls all SSA7785 ThunderBird Avenger™ target responses on the PCI bus in addition
to handling the PS internal bus.
PCI Target Control Logic
The target control logic handles the address decoding for the ps_NNNcs# signals, bus command decoding for the
ps_XXXrd# and ps_XXXwr# signals, determination of target abort conditions, and data path/pad control logic from the
target interface. Also included in this logic are the controls for the PCI datapath and I/O pads. These controls are sent to
the datapath logic where they are combined with the master controls and then sent to the datapath and pad devices.
The control logic also includes an interface to the PCI configuration headers.
Serial Configuration Port
The Subsystem Vendor ID and Subsystem ID for each of the configuration headers presents a special case. These
three 32 bit registers must be programmed by the Subsystem Vendor. It is impractical to hard wire the Subsystem ID
registers since each Subsystem Vendor will have a unique ID. Therefore an external serial EEROM device is used to
download the proper values into the ID registers after reset and before begin read by the BIOS or other configuration
software. The PCI interface should force a retry if any of the subsystem registers have not completed a loading. The
Serial Configuration Port is a standard two pin I 2C interface. The ThunderBird Q3DIII will supply the 400 KHz clock to
the external serial EEPROM on the CFGCLK pin. The serial data stream will arrive on the CFGDAT input pin. Please
refer to a 24LC00 128 bit I2C Bus Serial EEPROM data sheet for interface protocols and timings.
Serial Configuration Port Programming
The SSA7785 ThunderBird Avenger™ uses an inexpensive external EEPROM, programmed before installation, to
download the Subsystem Vendor ID and Subsystem ID registers for each function for a total of 96 bits (six 16 bit registers). The recommended device, a Microchip 24LC01B 1K Bit (128 Byte) Serial EEPROM, can be programmed using a
conventional DATA I/O programmer.
+5V
CFGDAT
SDA
ThunderBird
EEPROM
CFGCLK
1999 Nov 12
WP
SCL
30
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
FIGURE 6
In each of the three SSA7785 ThunderBird Avenger™ functions PCI configuration space there is a Subsystem Vendor
ID register at an offset of 2Ch and a Subsystem ID register at an offset of 2Eh. Each register is 16 bits in length and is
write-only by the serial EEPROM and read-only from the PCI interface. The data from the EEPROM is loaded into the
registers immediately after PCI reset. If no EEPROM is detected, the default values are loaded and shown in SSA7785
ThunderBird Avenger™ and reflect the default values for the System ID and Vendor ID for that function.
TABLE 7
Subsystem Register Default Values
Function
Device Type
Offset
Register Name
Default Value
0
Audio Subsystem
2Ch
Subsystem Vendor ID
1004h
0
Audio Subsystem
2Eh
Subsystem ID
0304h
1
Joystick
2Ch
Subsystem Vendor ID
1004h
1
Joystick
2Eh
Subsystem ID
0305h
2
16650 UART
2Ch
Subsystem Vendor ID
1004h
2
16650 UART
2Eh
Subsystem ID
0306h
The EEPROM contains bits 000h through 3FFh. Only bits 000h through 05Fh are utilized to program the Subsystem ID
and Subsystem Vendor ID registers. The bit assignments between the EEPROM and the configuration registers are
shown in SSA7785 ThunderBird Avenger™.
TABLE 8
EEPROM BIT Assignments to Subsystem Registers
Function 0 - Audio Subsystem
Subsystem Vendor
ID - Offset 2Ch
Function 1 - Joystick
Subsystem ID Offset 2Eh
Subsystem Vendor
ID - Offset 2Ch
Function 2 - 16650 Modem UART
Subsystem ID Offset 2Eh
Subsystem Vendor
ID - Offset 2Ch
Subsystem ID Offset 2Eh
EEPROM
Bit #
Reg
Bit #
EEPROM
Bit #
Reg
Bit #
EEPROM
Bit #
Reg
Bit #
EEPROM
Bit #
Reg
Bit #
EEPROM
Bit #
Reg
Bit #
EEPROM
Bit #
Reg
Bit #
000h
15
010h
15
020h
15
030h
15
040h
15
050h
15
001h
14
011h
14
021h
14
031h
14
041h
14
051h
14
002h
13
012h
13
022h
13
032h
13
042h
13
052h
13
003h
12
013h
12
023h
12
033h
12
043h
12
053h
12
004h
11
014h
11
024h
11
034h
11
044h
11
054h
11
005h
10
015h
10
025h
10
035h
10
045h
10
055h
10
006h
9
016h
9
026h
9
036h
9
046h
9
056h
9
007h
8
017h
8
027h
8
037h
8
047h
8
057h
8
008h
7
018h
7
028h
7
038h
7
048h
7
058h
7
009h
6
019h
6
029h
6
039h
6
049h
6
059h
6
00Ah
5
01Ah
5
02Ah
5
03Ah
5
04Ah
5
05Ah
5
00Bh
4
01Bh
4
02Bh
4
03Bh
4
04Bh
4
05Bh
4
00Ch
3
01Ch
3
02Ch
3
03Ch
3
04Ch
3
05Ch
3
00Dh
2
01Dh
2
02Dh
2
03Dh
2
04Dh
2
05Dh
2
00Eh
1
01Eh
1
02Eh
1
03Eh
1
04Eh
1
05Eh
1
1999 Nov 12
31
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Function 0 - Audio Subsystem
Subsystem Vendor
ID - Offset 2Ch
SAA7785
Function 1 - Joystick
Subsystem ID Offset 2Eh
Subsystem Vendor
ID - Offset 2Ch
Function 2 - 16650 Modem UART
Subsystem ID Offset 2Eh
Subsystem Vendor
ID - Offset 2Ch
Subsystem ID Offset 2Eh
EEPROM
Bit #
Reg
Bit #
EEPROM
Bit #
Reg
Bit #
EEPROM
Bit #
Reg
Bit #
EEPROM
Bit #
Reg
Bit #
EEPROM
Bit #
Reg
Bit #
EEPROM
Bit #
Reg
Bit #
00Fh
0
01Fh
0
02Fh
0
03Fh
0
04Fh
0
05Fh
0
These bits correspond to Function 0, Subsystem ID (offset 2Eh) bits 2, 1, and 0, respectively. The Vendor should
choose and ID that corresponds to the peripherals present and program the EEPROM accordingly.
PCI Datapath
The PCI datapath provides the flip flops to convert the external PCI interface address, data, command and byte enables
busses to the internal PM and PS busses.
PCI Configuration Register
Since the SSA7785 ThunderBird Avenger™ is a multi-function device, there are three configuration headers. They are
defined as the audio configuration header as function 0, the joystick configuration header as function 1, and the UART
configuration header defined as function 2. Each configuration space is divided up into two groups, the registers that
stay with the PCI interface and the registers that do not. This section will describe the PCI configuration registers that
bunk with the PCI interface. These registers include the PCI standard configuration header registers and the base
address registers for various blocks in the SSA7785 ThunderBird Avenger™ chip.
To be more specific, the registers in the offset config space from 00h - 3Fh are the predefined PCI configuration header.
All three PCI configuration header registers will reside with the PCI interface. The remainder of the registers are function specific and can be found in the block section itself.
The following sections will detail each of the configuration header spaces for each of the SSA7785 ThunderBird
Avenger™ functions: audio, joystick and UART.
PCI Configuration Space 0
The following table is a summary of all the PCI configuration space registers. The registers that are block-mates with
the PCI interface (offset 00h - 44h) will be detailed following SSA7785 ThunderBird Avenger™. The remainder of the
registers will be detailed with the blocks they control.
TABLE 9
PCI Configuration Space 0 Register Map
Byte 3
Byte 2
Byte 1
Device ID
Byte 0
Status
1999 Nov 12
00h
Command
Class Code
BIST
Offset
Vendor ID
Header Type
04h
Revision ID
Master Latency Timer
Cache Line Size
08h
0Ch
SONGBASE
10h
SBBASE
14h
MDBASE
18h
ALBASE
1Ch
Reserved
20-2Bh
32
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
SUBSYSTEM ID
SUBSYSTEM VENDOR ID
2Ch
Reserved
Max_Lat
30-3Bh
Min_Gnt
Interrupt Pin
DMABBASE
Interrupt Line
DMAABASE
3Ch
40h
Reserved
44-57h
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
MSCCFG
ACLCFG0
VRCFG
58h
5Ch
60h
Reserved
TIMRCFG0
HDCFG
64h
68h
Reserved
6Ch
DMACFG
70h
Reserved
74-77h
Reserved
DPLLCTL0
78h
Reserved
Reserved
Reserved
DPLLCTL1
7Ch
Reserved
Reserved
Reserved
DPLLCTL2
80h
Reserved
Reserved
Reserved
TESTCTL0
Reserved
84-87h
Reserved
88h
8C-8Fhh
TBLBASE0
90h
TBLBASE1
94h
TBLBASE2
98h
TBLBASE3
9Ch
Reserved
Reserved
Reserved
IRQCTL0
A0h
Reserved
Reserved
Reserved
IRQCTL1
A4h
Reserved
Reserved
Reserved
IRQCTL2
A8h
Reserved
Reserved
Reserved
IRQCTL3
ACh
Reserved
Reserved
Reserved
IRQCTL4
B0h
Reserved
Reserved
Reserved
IRQCTL5
B4h
Reserved
Reserved
Reserved
IRQCTL6
B8h
Reserved
Reserved
Reserved
IRQCTL7
BCh
Reserved
Reserved
Reserved
COMARCH0
C0h
Reserved
C4-EFh
DMAACCNT
DMAACADR
DMABCCNT
F0h
DMABCADR
F4h
DMAMASK
DMACMD
DMAAMODE
Reserved
F8h
Reserved
Reserved
DMABMODE
Reserved
FCh
TABLE 10
PCI CFG 0
Vendor ID Register - VENDOR_ID (RO)
D15
D14
D13
1999 Nov 12
D11
D10
D9
D8
0
0
0
VENDOR_ID[15:8]
Offset 00h
POR Value
D12
0
0
0
1
33
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
D7
D6
D5
SAA7785
D4
D3
D2
D1
D0
1
0
0
VENDOR_ID[7:0]
0
POR Value
Bit
15:0
Name
PCI CFG 0
0
0
R/W
VENDOR_ID
TABLE 11
0
0
Function
RO
The PCI Vendor ID for Philips Semiconductors (VLSI) is 1004h.
Device ID Register - DEVICE_ID (RO)
D15
D14
D13
D12
D11
D10
D9
D8
DEVICE_ID[15:8]
Offset 02h
POR Value
0
0
0
0
0
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
DEVICE_ID[7:0]
0
POR Value
Bit
15:0
Name
PCI CFG 0
0
0
R/W
DEVICE_ID
TABLE 12
0
0
Function
RO
The Device ID for the SSA7785 ThunderBird Avenger™, function 0 is 0304h.
Command Register - COMMAND (RO/RW)
D15
D14
D13
D12
D11
D10
D9
D8
R
R
R
R
R
R
FBACK_
ENB
SERR_R
ESP
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
STEPPING
PERR_
MEM_
SPEC_
MAST_
MEM_
IO_
RESP
SNOOP_
ENB
INV_EN
CNTL
CNTL
CNTL
CNTL
0
0
0
0
0
0
0
0
Offset 04h
POR Value
POR Value
Bit
15:10
Name
R
1999 Nov 12
R/W
RO
Function
Reserved. These bits always return zero.
34
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
Name
SAA7785
R/W
Function
9
FBACK_ENB
RO
Fast Back-to-Back Enable: the SSA7785 ThunderBird Avenger™, function 0
does not support fast back to back master cycles therefore this bit always
returns a zero.
8
SERR_RESP
RW
System Error Response: When set to 1, the SSA7785 ThunderBird
Avenger™, function 0 responds to detected PCI bus address parity errors by
asserting SERR#. When 0, the SSA7785 ThunderBird Avenger™ ignores
these errors.
7
STEPPING
RO
Address / Data Stepping: Always returns 0.
6
PERR_RESP
RW
Parity Error Response: When set to 1, the SSA7785 ThunderBird Avenger™,
function 0 responds to detected PCI bus data parity errors by asserting
PERR#. When 0, the SSA7785 ThunderBird Avenger™ ignores PCI bus data
parity errors.
5
SNOOP_ENB
RO
VGA Snoop Enable. The SSA7785 ThunderBird Avenger™, function 0 does
not support VGA snoop enable, therefore this bit always returns a zero.
4
MEM_INV_EN
RO
Memory Write and Invalidate Enable: Always returns 0.
3
SPEC_CNTL
RO
Special Cycle Control: Controls the devices ability to respond to Special
Cycle Operations. A value of 0 causes the SSA7785 ThunderBird Avenger™,
function 0 to ignore all Special Cycles.
2
MAST_CNTL
RW
Master Control: Controls the devices ability to act as a master on the PCI bus.
A value of 0 disables the ability of the SSA7785 ThunderBird Avenger™,
function 0, to act as a primary PCI master. A value of 1 enables the ThunderBird Q3DIII, function 0 to become a PCI bus master.
1
MEM_CNTL
RO
Memory Response Control: The SSA7785 ThunderBird Avenger™, function 0
does not support target memory cycles therefore this bit always returns a
zero.
0
IO_CNTL
RW
I/O Response Control: Controls the SSA7785 ThunderBird Avenger™, function 0’s response to I/O space. A value of 0 disables the device response. A
value of 1 allows the device to respond to I/O space accesses.
TABLE 13
PCI CFG 0
Status Register - Status (RO/RW)
D15
D14
D13
D12
D11
D10
R_PERR
S_SERR
SM_
RT_
ST_
DEVSEL_TMG
ABORT
ABORT
ABORT
Offset 06h
POR Value
D9
D8
S_PERR
0
0
0
0
0
0
1
0
D7
D6
D5
D4
D3
D2
D1
D0
F_
UDF
MHz66
R
R
R
R
R
0
0
0
0
0
0
0
BK2BK
POR Value
1999 Nov 12
1
35
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
Name
SAA7785
R/W
Function
15
R_PERR
RC
Received Parity Error: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 0 has detected a PCI bus parity error at
least once since this bit was last reset.
14
S_SERR
RC
Signalled System Error: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 0 has reported a system error on the
SERR# signal at least once since this bit was last reset.
13
SM_ABORT
RC
Signalled Master Abort: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 0 (acting as a master) had to initiate a master abort at least once since this bit was last reset.
12
RT_ABORT
RC
Received Target Abort: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 0 (acting as a master) has received a target
abort at least once since this bit was last reset.
11
ST_ABORT
RC
Signalled Target Abort: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 0 has signalled a target abort at least once
since this bit was last reset.
10:9
DEVSEL_TM
G
RO
DEVSEL Timing: This field indicates the timing of the DEVSEL output (when
a PCI master is accessing a SSA7785 ThunderBird Avenger™, function 0
resource). It always returns 01 (Bin).
00 = Fast
01 = Medium (Default Timing)
10 = Slow
8
S_PERR
RC
Signalled Parity Error: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 0 was a bus master for a cycle in which
PERR# was activated. This bit cannot be set if the PERR_RESP bit in the
command register is not enabled.
7
F_BK2BK
RO
Always returns 1 to indicate support of fast back to back cycles when the
SSA7785 ThunderBird Avenger™, function 0 is the target.
6
UDF
RO
User Definable Features. Always returns 0.
5
MHz66
RO
66 MHzMHz Capable. Always returns 0.
4:0
R
RO
Reserved. These bits always return zero.
Note: An RC indicates that this bit can be reset to 0 by writing a 1. Writing a zero leaves this bit unchanged.
TABLE 14
PCI CFG 0
Revision ID Register - REVISION (RO)
D7
D6
D5
1999 Nov 12
D3
D2
D1
D0
0
0
1
REVISION_ID[7:0]
Offset 08h
POR Value
D4
0
0
0
1
36
1
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
7:0
Name
R/W
REVISION_ID
TABLE 15
PCI CFG 0
SAA7785
Function
RO
The current revision ID for the SSA7785 ThunderBird Avenger™, function 0,
the audio subsystem.
Class Code Register - CLASS (RO)
D23
D22
D21
D20
D19
D18
D17
D16
BASE_CLASS[7:0]
Offset 09h
0
0
0
0
0
1
0
0
D15
D14
D13
D12
D11
D10
D9
D8
POR Value
SUB_CLASS[7:0]
POR Value
0
0
0
0
0
0
0
1
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
PGM_IFACE[7:0]
0
POR Value
0
0
0
Bit
Name
23:16
BASE_CLASS
RO
The base class of 04h describes a PCI multimedia device.
15:8
SUB_CLASS
RO
The sub class of 01h describes a PCI audio multimedia device.
7:0
PGM_IFACE
RO
Device generic function identification.
TABLE 16
R/W
0
Function
CACHELINE Size Register - CACHELINE (RO)
PCI CFG 0
D7
D6
D5
0
POR Value
7:0
Name
CACHELINE
1999 Nov 12
D3
D2
D1
D0
0
0
0
CACHELINE[7:0]
Offset 0Ch
Bit
D4
0
0
0
R/W
RO
0
Function
Reserved for cache line size indicator.
37
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
TABLE 17
Master Latency Timer Register - LATIME (RW)
PCI CFG 0
D7
D6
D5
0
POR Value
7:0
Name
0
0
0
R/W
LATIME
TABLE 18
D4
D1
D0
0
0
0
0
The primary bus latency timer specifies the number of primary clocks that the
primary master may consume. The timer is reloaded at each assertion of
FRAME# by the primary master. If the primary master loses its bus grant,
then it must relinquish the bus after the timer expires.
Header Type Register - HEADER (RO)
D7
D6
D5
D4
MULTI_
Offset 0Eh
FN
POR Value
1
7
D2
Function
RW
PCI CFG 0
Bit
D3
LATIME[7:0]
Offset 0Dh
Bit
SAA7785
Name
D2
D1
D0
0
0
0
HEADER[6:0]
0
0
0
R/W
MULTI_FN
D3
0
Function
RO
A 1 indicates that the SSA7785 ThunderBird Avenger™ is a multi-function
device. The three PCI configuration headers are accessed by the configuration cycle address bits 10-8. The function definitions are as follows:
0 = Audio Subsystem
1 = Joystick
2 = 16650 UART
6:0
HEADER
TABLE 19
RO
Header Type. A 00h indicates this device is a not a PCI-to-PCI bridge.
BIST Register - BIST (RO)
PCI CFG 0
D7
D6
D5
D4
Offset 0Fh
BIST
START
R
R
POR Value
0
0
0
0
Bit
7
Name
BIST
1999 Nov 12
R/W
RO
D3
D2
D1
D0
CODE[3:0]
0
0
0
0
Function
BIST capable. BIST is not supported in the SSA7785 ThunderBird
Avenger™, function 0 at this revision. It may be desired to include a BIST test
for the DSP at a later time.
38
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
Name
SAA7785
R/W
Function
6
START
RO
If BIST capable, this bit will start the BIST. Writing a 1 will start the test and
the BIST should write this bit to a zero when complete. Software should fail
the device if the BIST is not complete after 2 seconds.
5:4
R
RO
Reserved. These bits always return zero.
3:0
CODE
RO
Completion Code. A value of zero means the device has passed its test.
Non-zero values means the device has failed using device specific failure
codes.
SSA7785 ThunderBird Avenger™ CFG Space 0 Non-Legacy Base Address Registers
The Thunderbird Base Address Register (SONGBASE) is used to I/O map all of the non-legacy I/O devices in the
SSA7785 ThunderBird Avenger™ chip. The SONGBASE register maps the two DMA channels, the AC Link registers,
the Host/DSP interface, the Serial Port interfaces, and the Multimedia Timer. The offset index for each of the devices
are shown below: SSA7785 ThunderBird Avenger™ Non-Legacy I/O Device Map
Device Name
Multimedia Timer
Byte 2
Byte 1
Byte 0
TMCOUNT2
TMCOUNT1
TMCOUNT0
TMSTAT
00h
Reserved
Reserved
Reserved
Reserved
04h
Reserved
Reserved
Reserved
Reserved
08h
Reserved
Reserved
Reserved
Reserved
0Ch
Serial Ports
Host/DSP Interface
AC Link Interface
Serial IRQ
Reserved
Reserved
10h
Reserved
Reserved
14h
Reserved
Reserved
18h
Reserved
Reserved
1Ch
HDPCTL
HDDATA
20h
HDDLA
HDPSTT
24h
Reserved
HDDLD
28h
Reserved
Reserved
2Ch
ACDATA
ACADDR
30h
ACSTAT
ACCTRL
34h
Reserved
PCI CFG 0
1999 Nov 12
38h
ACPCMR
3Ch
Reserved
IRQCTL
40h
44-7Fh
Reserved
ThunderBird Base Address Register - Songbase (RW/RO)
D31
D30
D29
D28
D27
D26
D25
D24
0
0
0
SONGBASE[31:24]
Offset 10h
POR Value
ACPCML
Reserved
Thunderbird Reserved
TABLE 20
Offset
Byte 3
0
0
0
0
39
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
D23
D22
D21
SAA7785
D20
D19
D18
D17
D16
SONGBASE[23:16]
0
0
0
0
0
0
0
0
D15
D14
D13
D12
D11
D10
D9
D8
POR Value
SONGBASE[15:8]
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
SONG
R
R
R
R
R
R
IO
0
0
0
0
0
0
1
POR Value
BASE[7]
0
POR Value
Bit
Name
R/W
Function
31:7
SONGBASE
RW
Thunderbird non-legacy device base address register. This register supplies
the I/O base address for the non-legacy I/O devices within the SSA7785
ThunderBird Avenger™ chip.
6:1
R
RO
Reserved. These bits are reserved a must always return a zero for plug and
play.
0
IO
RO
I/O flag. This read only bit indicates that this is an I/O range.
SSA7785 ThunderBird Avenger™ CFG Space 0 Legacy Base Address Registers
The SSA7785 ThunderBird Avenger™ contains three legacy I/O base registers in configuration space 0. These legacy
devices are the Sound Blaster register, the AdLib registers and the MIDI interface registers. They are described in detail
in the next three tables.
TABLE 21
PCI CFG 0
Sound Blaster Base Address- SBBASE (RW/RO)
D31
D30
D29
D27
D26
D25
D24
SBBASE[31:24]
Offset 14h
POR Value
D28
0
0
0
0
0
0
0
0
D23
D22
D21
D20
D19
D18
D17
D16
0
0
0
SBBASE[23:16]
POR Value
1999 Nov 12
0
0
0
0
40
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
D15
D14
D13
SAA7785
D12
D11
D10
D9
D8
SBBASE[15:8]
POR Value
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
R
R
R
IO
0
0
0
1
SBBASE[7:4]
0
POR Value
Bit
Name
31:4
0
0
0
R/W
Function
SBBASE
RW
Sound Blaster programmable base address. The address should be on a 16 byte
boundary. For reference, the Sound Blaster legacy base addresses are 220h and
240h. Note that accesses from the AdLib base address are mapped into a subset
of the SoundBlaster registers.
3:1
R
RO
Reserved. These bits are reserved and always return zeros for plug and play.
0
IO
RO
I/O flag. This read only bit indicates that this is an I/O range.
TABLE 22
PCI CFG 0
MIDI Base Address- MDBASE (RW/RO)
D31
D30
D29
D27
D26
D25
D24
MDBASE[31:24]
Offset 18h
POR Value
D28
0
0
0
0
0
0
0
0
D23
D22
D21
D20
D19
D18
D17
D16
MDBASE[23:16]
POR Value
0
0
0
0
0
0
0
0
D15
D14
D13
D12
D11
D10
D9
D8
MDBASE[15:8]
POR Value
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
R
IO
0
1
MDBASE[7:2]
POR Value
1999 Nov 12
0
0
0
0
41
0
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
Name
SAA7785
R/W
Function
31:2
MDBASE
RW
MIDI port programmable base address. The address should be on a double word
boundary. For reference the MIDI port legacy base addresses are 220h, 230h,
240h, 250h, 300h, 320h, 330h, 332h, 334h, 336h, 340h, and 360h.
1
R
RO
Reserved. This bit is reserved a must always return a zero for plug and play.
0
IO
RO
I/O flag. This read only bit indicates that this is an I/O range.
TABLE 23
ADLIB Base Address Register - ALBASE (RW/RO)
PCI CFG 0
D31
D30
D29
D28
D27
D26
D25
D24
ALBASE[31:24]
Offset 1Ch
POR Value
0
0
0
0
0
0
0
0
D23
D22
D21
D20
D19
D18
D17
D16
ALBASE[23:16]
POR Value
0
0
0
0
0
0
0
0
D15
D14
D13
D12
D11
D10
D9
D8
ALBASE[15:8]
POR Value
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
R
R
IO
0
0
1
ALBASE[7:3]
0
POR Value
0
0
0
Bit
Name
31:3
ALBASE
RW
AdLib registers programmable base address. The address should be on a quad
word (64 bit) boundary. For reference, the AdLib legacy base address is at 388h
and maps into a subset of the Sound Blaster registers.
2:1
R
RO
Reserved. These bits are reserved and always return zeros for plug and play.
0
IO
RO
I/O flag. This read only bit indicates that this is an I/O range.
TABLE 24
PCI CFG 0
Offset 2Ch
1999 Nov 12
R/W
0
Function
Subsystem Vendor ID - SUBVENID (RO)
D15
D14
D13
D12
D11
SUBVEN_ID[15:8]
42
D10
D9
D8
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
POR Value
SAA7785
0
0
0
1
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
SUBVEN_ID[7:0]
0
POR Value
Bit
15:0
Name
PCI CFG 0
0
0
R/W
SUBVEN_ID
TABLE 25
0
0
Function
RO
Subsystem Vendor ID. The Subsystem Vendor ID register allows the manufacturer to uniquely identify their board since more than one board OEM may
use the SSA7785 ThunderBird Avenger™ chip. The Subsystem Vendor ID
register is loaded by an external EEPROM via the Serial Configuration Port
after reset and before any access to the PCI configuration header. The PCI
target logic should force a retry if the Subsystem Vendor ID register has not
completed loading. The Subsystem Vendor ID is read only to the PCI interface. If no external EEPROM is present, then the default Subsystem Vendor
ID is 1004h, that of Philips Semiconductors (VLSI).
Subsystem ID - SUBSYSID (RO)
D15
D14
D13
D12
D11
D10
D9
D8
SUBSYS_ID[15:8]
Offset 2Eh
POR Value
0
0
0
0
0
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
SUBSYS_ID[7:0]
0
POR Value
Bit
15:0
Name
SUBSYS_ID
1999 Nov 12
0
0
0
R/W
RO
0
Function
Subsystem ID. The Subsystem ID register allows the manufacturer to
uniquely identify their board since more than one board OEM may use the
SSA7785 ThunderBird Avenger™ chip. The Subsystem ID register is loaded
by an external EEPROM via the Serial Configuration Port after reset and
before any access to the PCI configuration header. The PCI target logic
should force a retry if the Subsystem ID register has not completed loading.
The Subsystem ID is read only to the PCI interface. If no external EEPROM is
present, then the default Subsystem ID is 0304h, identical to the SSA7785
ThunderBird Avenger™ function 0 Device ID.
43
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
TABLE 26
Interrupt Line Register - INTLINE (RW)
PCI CFG 0
D7
D6
D5
0
POR Value
7:0
Name
0
0
RW
D7
D5
0
0
0
0
0
0
D3
D2
D1
D0
0
0
0
0
1
Function
RO
Interrupt Pin. The interrupt pin register tells which interrupt the SSA7785
ThunderBird Avenger™ device uses. If serial interrupts are enabled
(COMARCH0 Register IRQSER=1) then the INT_PIN register will have the
read only value of all 0's implying that the SSA7785 ThunderBird Avenger™
device does not use any of the PCI Interrupt pins. If Serial Interrupts are disabled (IRQSER=0) then the INT_PIN register will have the read only value of
01h implying that the SSA7785 ThunderBird Avenger™ device uses INT A
interrupt pin.
MIN_GNT Register - MINGNT (RO)
D7
D6
D5
D4
D3
D2
D1
D0
0
0
1
MINGNT[7:0]
Offset 3Eh
1999 Nov 12
D4
R/W
INTPIN
POR Value
D0
Interrupt Line. The Interrupt Line register is an eight bit register used to communicate interrupt line routing information. The value in this register tells
which input of the system interrupt controller(s) the SSA7785 ThunderBird
Avenger™ Device's interrupt pin is connected to. If serial interrupts are
enabled (COMARCH0 Register IRQSER=1) then the INT_LINE register will
be read only and will have the value of all 1's. If Serial Interrupts are disabled
(IRQSER=0) then the INT_LINE register will be readable/writable.
D6
0
Name
PCI CFG 0
D1
INTPIN[7:0]
POR Value
TABLE 28
D2
Function
Offset 3Dh
7:0
D3
Interrupt Pin Register - INTPIN (RO)
PCI CFG 0
Bit
0
R/W
INTLINE
TABLE 27
D4
INTLINE[7:0]
Offset 3Ch
Bit
SAA7785
0
0
0
0
44
1
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
7:0
Name
R/W
MINGNT
TABLE 29
Function
RO
Minimum grant specifies how long of a burst period the device needs assuming a clock speed of 33MHz. Since the SSA7785 ThunderBird Avenger™,
function 0, will burst a maximum of 64 double words, therefore requiring
about 75 33MHz clocks or 2.25 microseconds. The time units specified are in
0.25 microsecond increments.
MAX_LAT Register - MAXLAT (RO)
PCI CFG 0
D7
D6
D5
0
POR Value
7:0
D4
D3
D2
D1
D0
0
0
0
MAXLAT[7:0]
Offset 3Fh
Bit
SAA7785
Name
0
1
0
R/W
MAXLAT
1
Function
RO
Maximum latency specifies how often a device needs to gain access to the
PCI bus. The SSA7785 ThunderBird Avenger™, function 0, should only
request the bus a a maximum of every 10 microseconds. The MAXLAT value
is computed using the same parameters as the MINGNT.
SSA7785 ThunderBird Avenger™ CFG Space 0 DMA Base Registers
This section will describe the PCI configuration registers that provide functions such as base address remapping and
the like. These registers reside within the PCI interface.
TABLE 30
PCI CFG 0
DMA Channel A Base Address Register - DMAABASE (RW)
D15
D14
D13
D12
D11
D10
D9
D8
DMAABASE[15:8]
Offset 40h
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
DMAA
R
POR Value
DMAABASE[5:4]
R
XFRSIZ[1:0]
BASE[7]
Bit
EN
0
POR Value
Name
0
0
0
R/W
0
1
Function
15:7
DMAABASE
RW
DMA channel A programmable base address, bits 15:7.
6
R
RO
Reserved. This bit must always be zero.
1999 Nov 12
DDMAA
45
0
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
Name
SAA7785
R/W
Function
5:4
DMAABASE
RW
DMA channel A programmable base address, bits 5:4. These bits select a
channel number for this channel. In LAM DMAABASE[5:4] select the channel
number that this DMA represents, it should be different than DMABBASE[5:4].
3
R
RO
Reserved. This bit must always be zero.
2:1
XFRSIZ
RW
DMA transfer size.
00 = reserved
10 = double word
11 = reserved
01 = reserved
0
DDMAAEN
TABLE 31
PCI CFG 0
RW
DDMA channel A enable. This DDMA channel is enabled when this bit is set
to a one.
DMA Channel B Base Address Register - DMABBASE (RW)
D31
D30
D29
D28
D27
D26
D25
D24
DMABBASE[15:8]
Offset 42h
0
0
0
0
0
0
0
0
D23
D22
D21
D20
D19
D18
D17
D16
DMAB
R
R
R
R
DDMAB
POR Value
DMABBASE[5:4]
BASE[7]
0
POR Value
Bit
EN
Name
0
0
0
0
R/W
Function
0
0
0
15:7
DMABBASE
RW
DMA channel B programmable base address. Normally this base is set the
same as DMA channel A except for DMABBASE[5:4] which select the channel number. This is a requirement of some PC chipsets, future chipsets may
eliminate this requirement. In LAM DMABBASE[5:4] select the channel number that this DMA represents, it should be different than DMAABASE[5:4].
6
R
RO
Reserved. This bit must always be zero.
5:4
DMABBASE
RW
DMA channel B programmable base address, bits 5:4. These bits select a
channel number for this channel. In LAM DMABBASE[5:4] select the channel
number that this DMA represents, it should be different than DMAABASE[5:4].
3:1
R
RO
Reserved. These bits must always be zeros.
0
DDMABEN
RW
DMA channel B enable. This DDMA channel is enabled when this bit is set to
a one.
1999 Nov 12
46
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
TABLE 32
SAA7785
Miscellaneous Configuration Register - MSCCFG (RO/RW)
PCI CFG 0
D7
D6
ASYMCLK[1:0]
D5
D4
D3
D2
RDY_EN
CFGCLK
BHEN
D1
PCCH[1:0]
PCPCI
Offset 58h
_EN
0
POR Value
Bit
D0
0
Name
0
0
0
R/W
0
0
0
Function
7:6
ASYMCLK
RW
Asymmetrical Clock Select. These bits program the duty cycle for the input
for the two phase DSP clock generator.
5
RDY_EN
RW
Music registers ready enable. When set, the music registers will cause the
PCI interface to retry when either of the music registers (music0 or music1)
are full.
4
CFGCLK
RW
Serial Configuration Port Clock Select. This bit selects the clock output to the
Configuration Serial Port.
0 = Ouput a 400 KHz clock. Incoming data will be synchronized to this clock.
1 = Output the PCI clock.
3
BHEN
RW
Bus Hog Fix Enable.
2:1
PCCH
RW
These two bits are the encoded channel number that the soundblaster will be
on in the PC/PCI mode and are valid only when the PC/PCI mode is enabled.
0
PCPCI_EN
RW
PC/PCI mode enable bit. This bit, when set = 1, will enable the PC/PCI sideband signals for the Soundblaster legacy mode.
PCI Configuration Space 1
The following table is a summary of all the PCI configuration space registers. The registers that are block-mates with
the PCI interface (offset 00h - 3Ch) will be detailed following SSA7785 ThunderBird Avenger™. The remainder of the
registers will be detailed with the blocks they control. This register space is for the joystick.
TABLE 33
PCI Configuration Space 1 Register Map
Byte 3
Byte 2
Byte 1
Byte 0
Device ID
Status
00h
Command
Class Code
BIST
Offset
Vendor ID
Header Type
04h
Revision ID
Master Latency Timer
Cache Line Size
GMBASE
Reserved
14-2B
Subsystem Vendor ID
Reserved
Min_Gnt
2Ch
30-3Bh
Interrupt Pin
Reserved
1999 Nov 12
0Ch
10h
Subsystem ID
Max_Lat
08h
Interrupt Line
3Ch
40-6Bh
47
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Reserved
SAA7785
Reserved
Reserved
GAMECFG0
Reserved
TABLE 34
PCI CFG 1
6Ch
70-FFh
Vendor ID Register - VENDOR_ID (RO)
D15
D14
D13
D12
D11
D10
D9
D8
VENDOR_ID[15:8]
Offset 00h
POR Value
0
0
0
1
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
VENDOR_ID[7:0]
0
POR Value
Bit
15:0
Name
PCI CFG 1
0
0
R/W
VENDOR_ID
TABLE 35
0
0
Function
RO
The PCI Vendor ID for Philips Semiconductors (VLSI) is 1004h.
Device ID Register - DEVICE_ID (RO)
D15
D14
D13
D12
D11
D10
D9
D8
DEVICE_ID[15:8]
Offset 02h
POR Value
0
0
0
0
0
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
1
0
1
DEVICE_ID[7:0]
0
POR Value
Bit
15:0
Name
PCI CFG 1
0
0
R/W
DEVICE_ID
TABLE 36
0
0
Function
RO
The Device ID for the SSA7785 ThunderBird Avenger™, function 1 is 0305h.
Command Register - COMMAND (RO/RW)
D15
D14
D13
D12
D11
D10
D9
D8
R
R
R
R
R
R
FBACK_
ENB
SERR_R
ESP
0
0
0
0
0
0
0
0
Offset 04h
POR Value
1999 Nov 12
48
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
D7
D6
D5
D4
D3
D2
D1
D0
STEPPING
PERR_
MEM_
SPEC_
MAST_
MEM_
IO_
RESP
SNOOP_
ENB
INV_EN
CNTL
CNTL
CNTL
CNTL
0
0
0
0
0
0
0
0
POR Value
Bit
SAA7785
Name
R/W
Function
15:10
R
RO
Reserved. These bits always return zero.
9
FBACK_ENB
RO
Fast Back-to-Back Enable: the SSA7785 ThunderBird Avenger™, function 1
does not support fast back to back master cycles therefore this bit always
returns a zero.
8
SERR_RESP
RW
System Error Response: When set to 1, the SSA7785 ThunderBird
Avenger™, function 1 responds to detected PCI bus address parity errors by
asserting SERR#. When 0, the SSA7785 ThunderBird Avenger™ ignores
these errors.
7
STEPPING
RO
Address / Data Stepping: Always returns 0.
6
PERR_RESP
RW
Parity Error Response: When set to 1, the SSA7785 ThunderBird Avenger™,
function 1 responds to detected PCI bus data parity errors by asserting
PERR#. When 0, the SSA7785 ThunderBird Avenger™ ignores PCI bus data
parity errors.
5
SNOOP_ENB
RO
VGA Snoop Enable. The SSA7785 ThunderBird Avenger™, function 1 does
not support VGA snoop enable, therefor this bit always returns a zero.
4
MEM_INV_EN
RO
Memory Write and Invalidate Enable: Always returns 0.
3
SPEC_CNTL
RO
Special Cycle Control: Controls the devices ability to respond to Special
Cycle Operations. A value of 0 causes the SSA7785 ThunderBird Avenger™,
function 1 to ignore all Special Cycles.
2
MAST_CNTL
RO
Master Control: The SSA7785 ThunderBird Avenger™, function 1 does not
have any master functions.
1
MEM_CNTL
RO
Memory Response Control: The SSA7785 ThunderBird Avenger™, function 1
does not support target memory cycles therefore this bit always returns a
zero.
0
IO_CNTL
RW
I/O Response Control: Controls the SSA7785 ThunderBird Avenger™, function 1’s response to I/O space. A value of 0 disables the device response. A
value of 1 allows the device to respond to I/O space accesses.
TABLE 37
PCI CFG 1
Status Register - STATUS (RO/RW)
D15
D14
D13
D12
D11
D10
R_PERR
S_SERR
SM_
RT_
ST_
DEVSEL_TMG
ABORT
ABORT
ABORT
0
0
0
Offset 06h
POR Value
1999 Nov 12
0
0
49
0
D9
1
D8
S_PERR
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
D7
D6
D5
D4
D3
D2
D1
D0
F_
UDF
MHz66
R
R
R
R
R
0
0
0
0
0
0
0
BK2BK
1
POR Value
Bit
Name
R/W
Function
15
R_PERR
RC
Received Parity Error: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 1 has detected a PCI bus parity error at
least once since this bit was last reset.
14
S_SERR
RC
Signalled System Error: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 1 has reported a system error on the
SERR# signal at least once since this bit was last reset.
13
SM_ABORT
RO
Signalled Master Abort: The SSA7785 ThunderBird Avenger™, function 1,
does not act as a master.
12
RT_ABORT
RO
Received Target Abort: The SSA7785 ThunderBird Avenger™, function 1
does not act as a master.
11
ST_ABORT
RC
Signalled Target Abort: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 1 has signalled a target abort at least once
since this bit was last reset.
10:9
DEVSEL_TM
G
RO
DEVSEL Timing: This field indicates the timing of the DEVSEL output (when
a PCI master is accessing a SSA7785 ThunderBird Avenger™, function 1
resource). It always returns 01 (Bin).
00 = Fast
01 = Medium (Default Timing)
10 = Slow
8
S_PERR
RO
Signalled Parity Error: The SSA7785 ThunderBird Avenger™, function 1,
does not act as a bus master.
7
F_BK2BK
RO
Always returns 1 to indicate support of fast back to back cycles when the
SSA7785 ThunderBird Avenger™, function 1 is the target.
6
UDF
RO
User Definable Features. Always returns 0.
5
MHz66
RO
66 MHz Capable. Always returns 0.
4:0
R
RO
Reserved. These bits always return zero.
Note: An RC indicates that this bit can be reset to 0 by writing a 1. Writing a zero leaves this bit unchanged.
TABLE 38
PCI CFG 1
Revision ID Register - REVISION (RO)
D7
D6
D5
1999 Nov 12
D3
D2
D1
D0
0
0
0
REVISION_ID[7:0]
Offset 08h
POR Value
D4
0
0
0
0
50
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
7:0
Name
R/W
REVISION_ID
TABLE 39
PCI CFG 1
SAA7785
Function
RO
The current revision ID for the SSA7785 ThunderBird Avenger™ joystick.
Class Code Register - CLASS (RO)
D23
D22
D21
D20
D19
D18
D17
D16
BASE_CLASS[7:0]
Offset 09h
0
0
0
0
1
0
0
1
D15
D14
D13
D12
D11
D10
D9
D8
POR Value
SUB_CLASS[7:0]
POR Value
1
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
D2
D1
D0
0
0
0
D2
D1
D0
PGM_IFACE[7:0]
0
POR Value
0
0
0
Bit
Name
23:16
BASE_CLASS
RO
The base class of 09h describes an input device.
15:8
SUB_CLASS
RO
The sub class of 80h describes a “other” input controller.
7:0
PGM_IFACE
RO
Device generic function identification.
TABLE 40
R/W
0
Function
CACHELINE Size Register - CACHELINE (RO)
PCI CFG 1
D7
D6
D5
0
POR Value
7:0
Name
PCI CFG 1
Offset 0Dh
1999 Nov 12
0
0
0
R/W
CACHELINE
TABLE 41
D3
CACHELINE[7:0]
Offset 0Ch
Bit
D4
RO
0
Function
Reserved for cache line size indicator.
Master Latency Timer Register - LATIME (RW)
D7
D6
D5
D4
D3
LATIME[7:0]
51
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
PCI CFG 1
D7
D6
D5
D4
D3
D2
D1
D0
POR Value
0
0
0
0
0
0
0
0
Bit
7:0
Name
R/W
LATIME
TABLE 42
Function
RO
The primary bus latency timer specifies the number of primary clocks that the
primary master may consume. It is set to zero since the joystick is a target
only.
Header Type Register - HEADER (RO)
PCI CFG 1
D7
D6
D5
D4
FN
POR Value
1
Bit
Name
D2
D1
D0
0
0
0
HEADER[6:0]
MULTI_
Offset 0Eh
D3
0
0
0
R/W
0
Function
7
MULTI_FN
RO
For the SSA7785 ThunderBird Avenger™, function 1, this bit has no meaning.
6:0
HEADER
RO
Header Type. A 00h indicates this device is not a PCI-to-PCI bridge.
TABLE 43
BIST Register - BIST (RO)
PCI CFG 1
D7
D6
D5
D4
Offset 0Fh
BIST
START
R
R
POR Value
0
0
0
0
Bit
Name
R/W
D3
D2
D1
D0
CODE[3:0]
0
0
0
0
Function
7
BIST
RO
BIST capable. BIST is not supported in the SSA7785 ThunderBird
Avenger™, function 1 at this revision.
6
START
RO
If BIST capable, this bit will start the BIST. Writing a 1 will start the test and
the BIST should write this bit to a zero when complete. Software should fail
the device if the BIST is not complete after 2 seconds.
5:4
R
RO
Reserved. These bits always return zero.
3:0
CODE
RO
Completion Code. A value of zero means the device has passed its test.
Non-zero values means the device has failed using device specific failure
codes.
SSA7785 ThunderBird Avenger™ CFG Space 1 Legacy Base Address Registers
1999 Nov 12
52
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
The SSA7785 ThunderBird Avenger™, contains one legacy I/O base registers in configuration space 1. The joystick is
the sole legacy I/O base address register and is documented here.
TABLE 44
Game Port(JOYSTICK) Base Address - GMBASE (RW/RO)
PCI CFG 1
D31
D30
D29
D28
D27
D26
D25
D24
GMBASE[31:24]
Offset 10h
POR Value
0
0
0
0
0
0
0
0
D23
D22
D21
D20
D19
D18
D17
D16
GMBASE[23:16]
POR Value
0
0
0
0
0
0
0
0
D15
D14
D13
D12
D11
D10
D9
D8
GMBASE[15:8]
POR Value
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
R
R
IO
0
0
1
GMBASE[7:3]
0
POR Value
Bit
0
Name
0
0
R/W
0
Function
31:3
GMBASE
RW
Game port programmable base address. The address should be on a 8 byte
boundary. For reference, the game port legacy base address is 201h.
2:1
R
RO
Reserved. These bits are reserved and always return zeros for plug and play.
0
IO
RO
I/O flag. This read only bit indicates that this is an I/O range.
TABLE 45
PCI CFG 1
Subsystem Vendor ID - SUBVENID (RO)
D15
D14
D13
D11
D10
D9
D8
SUBVEN_ID[15:8]
Offset 2Ch
POR Value
D12
0
0
0
1
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
SUBVEN_ID[7:0]
POR Value
1999 Nov 12
0
0
0
0
53
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
15:0
Name
R/W
SUBVEN_ID
TABLE 46
PCI CFG 1
SAA7785
Function
RO
Subsystem Vendor ID. The Subsystem Vendor ID register allows the manufacturer to uniquely identify their board since more than one board OEM may
use the SSA7785 ThunderBird Avenger™ chip. The Subsystem Vendor ID
register is loaded by an external EEPROM via the Serial Configuration Port
after reset and before any access to the PCI configuration header. The PCI
target logic should force a retry if the Subsystem Vendor ID register has not
completed loading. The Subsystem Vendor ID is read only to the PCI interface. If no external EEPROM is present, then the default Subsystem Vendor
ID is 1004h, that of Philips Semiconductors (VLSI).
Subsystem ID - SUBSYSID (RO)
D15
D14
D13
D12
D11
D10
D9
D8
SUBSYS_ID[15:8]
Offset 2Eh
POR Value
0
0
0
0
0
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
1
0
1
SUBSYS_ID[7:0]
0
POR Value
Bit
15:0
Name
PCI CFG 1
0
1999 Nov 12
0
Function
RO
Subsystem ID. The Subsystem ID register allows the manufacturer to
uniquely identify their board since more than one board OEM may use the
SSA7785 ThunderBird Avenger™ chip. The Subsystem ID register is loaded
by an external EEPROM via the Serial Configuration Port after reset and
before any access to the PCI configuration header. The PCI target logic
should force a retry if the Subsystem ID register has not completed loading.
The Subsystem ID is read only to the PCI interface. If no external EEPROM is
present, then the default Subsystem ID is 0305h, identical to the SSA7785
ThunderBird Avenger™ function 1 Device ID.
Interrupt Line Register - INTLINE (RO)
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
INTLINE[7:0]
Offset 3Ch
POR Value
0
R/W
SUBSYS_ID
TABLE 47
0
0
0
0
0
54
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
7:0
Name
R/W
INTLINE
TABLE 48
Function
RO
Interrupt Line. The Interrupt Line register is an eight bit register used to communicate interrupt line routing information. The value in this register tells
which input of the system interrupt controller(s) the SSA7785 ThunderBird
Avenger™ Device's interrupt pin is connected to. It is set to 00h to use function 0’s interrupt line. There is no legacy interrupt support for function 1.
Interrupt Pin Register - INTPIN (RO)
PCI CFG 1
D7
D6
D5
0
POR Value
7:0
Name
0
0
RO
D7
D5
0
0
0
0
0
0
D3
D2
D1
D0
0
0
0
0
0
Function
RO
Minimum grant specifies how long of a burst period the device needs assuming a clock speed of 33MHz. Since the SSA7785 ThunderBird Avenger™,
function 1, is a target only, this register is read only and set to zero.
MAX_LAT Register - MAXLAT (RO)
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
MAXLAT[7:0]
Offset 3Fh
1999 Nov 12
D4
R/W
MINGNT
POR Value
D0
Interrupt Pin. The interrupt pin register tells which interrupt the SSA7785
ThunderBird Avenger™ device uses. The read only value of 00h implies that
the SSA7785 ThunderBird Avenger™ device shares the INT A interrupt pin
with function 0. There is no legacy interrupt support for function 1.
D6
0
Name
PCI CFG 1
D1
MINGNT[7:0]
POR Value
TABLE 50
D2
Function
Offset 3Eh
7:0
D3
MIN_GNT Register - MINGNT (RO)
PCI CFG 1
Bit
0
R/W
INTPIN
TABLE 49
D4
INTPIN[7:0]
Offset 3Dh
Bit
SAA7785
0
0
0
0
55
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
7:0
Name
SAA7785
R/W
MAXLAT
Function
RO
Maximum latency specifies how often a device needs to gain access to the
PCI bus. The SSA7785 ThunderBird Avenger™, function 1, is a target only,
this register is read only and set to zero.
PCI Configuration Space 2
The following table is a summary of all the PCI configuration space registers. The registers that are block-mates with
the PCI interface (offset 00h - 3Ch) will be detailed following SSA7785 ThunderBird Avenger™. The remainder of the
registers will be detailed with the blocks they control. This register space is for the 16650 UART.
TABLE 51
PCI Configuration Space 2 Register Map
Byte 3
Byte 2
Byte 1
Byte 0
Device ID
Offset
Vendor ID
Status
00h
Command
04h
Class Code
BIST
Revision ID
Header Type
Master Latency Timer
Cache Line Size
UARTBASE
08h
0Ch
10-13h
Reserved
14-2B
Subsystem ID
Subsystem Vendor ID
2Ch
Reserved
30-3Bh
Max_Lat
Min_Gnt
Interrupt Pin
Interrupt Line
Reserved
Reserved
Reserved
UARTCFG0
40h
Reserved
Reserved
Reserved
SFCR
44h
Reserved
TABLE 52
PCI CFG 2
3Ch
48-FFh
Vendor ID Register - VENDOR_ID (RO)
D15
D14
D13
D12
D11
D10
D9
D8
VENDOR_ID[15:8]
Offset 00h
POR Value
0
0
0
1
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
VENDOR_ID[7:0]
0
POR Value
Bit
15:0
Name
VENDOR_ID
1999 Nov 12
0
0
0
R/W
RO
0
Function
The PCI Vendor ID for Philips Semiconductors (VLSI) is 1004h.
56
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
TABLE 53
PCI CFG 2
SAA7785
Device ID Register - DEVICE_ID (RO)
D15
D14
D13
D12
D11
D10
D9
D8
DEVICE_ID[15:8]
Offset 02h
0
0
0
0
0
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
1
1
0
POR Value
DEVICE_ID[7:0]
0
POR Value
Bit
15:0
Name
PCI CFG 2
0
0
R/W
DEVICE_ID
TABLE 54
0
0
Function
RO
The Device ID for the SSA7785 ThunderBird Avenger™, function 2 is 0306h.
Command Register - COMMAND (RO/RW)
D15
D14
D13
D12
D11
D10
D9
D8
R
R
R
R
R
R
FBACK_
ENB
SERR_R
ESP
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
STEPPING
PERR_
MEM_
SPEC_
MAST_
MEM_
IO_
RESP
SNOOP_
ENB
INV_EN
CNTL
CNTL
CNTL
CNTL
0
0
0
0
0
0
0
0
Offset 04h
POR Value
POR Value
Bit
Name
R/W
Function
15:10
R
RO
Reserved. These bits always return zero.
9
FBACK_ENB
RO
Fast Back-to-Back Enable: the SSA7785 ThunderBird Avenger™, function 2
does not support fast back to back master cycles therefore this bit always
returns a zero.
8
SERR_RESP
RW
System Error Response: When set to 1, the SSA7785 ThunderBird
Avenger™, function 2 responds to detected PCI bus address parity errors by
asserting SERR#. When 0, the SSA7785 ThunderBird Avenger™ ignores
these errors.
7
STEPPING
RO
Address / Data Stepping: Always returns 0.
6
PERR_RESP
RW
Parity Error Response: When set to 1, the SSA7785 ThunderBird Avenger™,
function 2 responds to detected PCI bus data parity errors by asserting
PERR#. When 0, the SSA7785 ThunderBird Avenger™ ignores PCI bus data
parity errors.
1999 Nov 12
57
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
Name
SAA7785
R/W
Function
5
SNOOP_ENB
RO
VGA Snoop Enable. The SSA7785 ThunderBird Avenger™, function 2 does
not support VGA snoop enable, therefor this bit always returns a zero.
4
MEM_INV_EN
RO
Memory Write and Invalidate Enable: Always returns 0.
3
SPEC_CNTL
RO
Special Cycle Control: Controls the devices ability to respond to Special
Cycle Operations. A value of 0 causes the SSA7785 ThunderBird Avenger™,
function 2 to ignore all Special Cycles.
2
MAST_CNTL
RO
Master Control: The SSA7785 ThunderBird Avenger™, function 2 does not
have any master functions.
1
MEM_CNTL
RO
Memory Response Control: The SSA7785 ThunderBird Avenger™, function 2
does not support target memory cycles therefore this bit always returns a
zero.
0
IO_CNTL
RW
I/O Response Control: Controls the SSA7785 ThunderBird Avenger™, function 2’s response to I/O space. A value of 0 disables the device response. A
value of 1 allows the device to respond to I/O space accesses.
TABLE 55
Status Register - STATUS (RO/RW)
PCI CFG 2
D15
D14
D13
D12
D11
D10
R_PERR
S_SERR
SM_
RT_
ST_
DEVSEL_TMG
ABORT
ABORT
ABORT
Offset 06h
POR Value
D9
D8
S_PERR
0
0
0
0
0
0
1
0
D7
D6
D5
D4
D3
D2
D1
D0
F_
UDF
MHz66
R
R
R
R
R
0
0
0
0
0
0
0
BK2BK
1
POR Value
Bit
Name
R/W
Function
15
R_PERR
RC
Received Parity Error: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 2 has detected a PCI bus parity error at
least once since this bit was last reset.
14
S_SERR
RC
Signalled System Error: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 2 has reported a system error on the
SERR# signal at least once since this bit was last reset.
13
SM_ABORT
RO
Signalled Master Abort: The SSA7785 ThunderBird Avenger™, function 2,
does not act as a master.
12
RT_ABORT
RO
Received Target Abort: The SSA7785 ThunderBird Avenger™, function 2
does not act as a master.
1999 Nov 12
58
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
Name
SAA7785
R/W
Function
11
ST_ABORT
RC
Signalled Target Abort: When set to 1, this bit indicates that the SSA7785
ThunderBird Avenger™, function 2 has signalled a target abort at least once
since this bit was last reset.
10:9
DEVSEL_TM
G
RO
DEVSEL Timing: This field indicates the timing of the DEVSEL output (when
a PCI master is accessing a SSA7785 ThunderBird Avenger™ resource). It
always returns 01 (Bin).
00 = Fast
01 = Medium (Default Timing)
10 = Slow
8
S_PERR
RO
Signalled Parity Error: The SSA7785 ThunderBird Avenger™, function 2,
does not act as a bus master.
7
F_BK2BK
RO
Always returns 1 to indicate support of fast back to back cycles when the
SSA7785 ThunderBird Avenger™, function 2 is the target.
6
UDF
RO
User Definable Features. Always returns 0.
5
MHz66
RO
66 MHz Capable. Always returns 0.
4:0
R
RO
Reserved. These bits always return zero.
Note: An RC indicates that this bit can be reset to 0 by writing a 1. Writing a zero leaves this bit unchanged.
TABLE 56
Revision ID Register - REVISION (RO)
PCI CFG 2
D7
D6
D5
0
POR Value
7:0
Name
PCI CFG 2
0
0
D2
D1
D0
0
0
0
0
Function
RO
The current revision ID for the SSA7785 ThunderBird Avenger™, function 2
joystick..
Class Code Register - CLASS (RO)
D23
D22
D21
D20
D19
D18
D17
D16
BASE_CLASS[7:0]
Offset 09h
POR Value
0
R/W
REVISION_ID
TABLE 57
D3
REVISION_ID[7:0]
Offset 08h
Bit
D4
0
0
0
0
0
1
1
1
D15
D14
D13
D12
D11
D10
D9
D8
0
0
0
SUB_CLASS[7:0]
POR Value
1999 Nov 12
0
0
0
0
59
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
PCI CFG 2
SAA7785
D23
D22
D21
D20
D19
D18
D17
D16
D7
D6
D5
D4
D3
D2
D1
D0
0
1
0
PGM_IFACE[7:0]
0
POR Value
0
0
0
Bit
Name
23:16
BASE_CLASS
RO
The base class of 07h describes simple communication devices.
15:8
SUB_CLASS
RO
The sub class of 00h describes serial controllers.
7:0
PGM_IFACE
RO
The interface of 02h details a 16550 compatible serial controller.
TABLE 58
R/W
0
Function
CACHELINE Size Register - CACHELINE (RO)
PCI CFG 2
D7
D6
D5
0
POR Value
7:0
Name
0
0
RO
D7
D5
D4
0
0
0
R/W
LATIME
0
0
0
D3
D2
D1
D0
0
0
0
0
Function
RO
The primary bus latency timer specifies the number of primary clocks that the
primary master may consume. It is set to zero since the 16650 UART is a target only.
Header Type Register - HEADER (RO)
D7
D6
D5
D4
Offset 0Eh
FN
POR Value
1
D3
D2
D1
D0
0
0
0
HEADER[6:0]
MULTI_
1999 Nov 12
0
Reserved for cache line size indicator.
D6
0
Name
PCI CFG 2
D0
LATIME[7:0]
POR Value
TABLE 60
D1
Function
Offset 0Dh
7:0
D2
Master Latency Timer Register - LATIME (RW)
PCI CFG 2
Bit
0
R/W
CACHELINE
TABLE 59
D3
CACHELINE[7:0]
Offset 0Ch
Bit
D4
0
0
0
60
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
Name
SAA7785
R/W
Function
7
MULTI_FN
RO
For the SSA7785 ThunderBird Avenger™, function 2, this bit has no meaning.
6:0
HEADER
RO
Header Type. A 00h indicates this device is not a PCI-to-PCI bridge.
TABLE 61
BIST Register - BIST (RO)
PCI CFG 2
D7
D6
D5
D4
Offset 0Fh
BIST
START
R
R
POR Value
0
0
0
0
Bit
Name
R/W
D3
D2
D1
D0
CODE[3:0]
0
0
0
0
Function
7
BIST
RO
BIST capable. BIST is not supported in the SSA7785 ThunderBird
Avenger™, function 2 at this revision.
6
START
RO
If BIST capable, this bit will start the BIST. Writing a 1 will start the test and
the BIST should write this bit to a zero when complete. Software should fail
the device if the BIST is not complete after 2 seconds.
5:4
R
RO
Reserved. These bits always return zero.
3:0
CODE
RO
Completion Code. A value of zero means the device has passed its test.
Non-zero values means the device has failed using device specific failure
codes.
SSA7785 ThunderBird Avenger™ CFG Space 1 Legacy Base Address Registers
The SSA7785 ThunderBird Avenger™, contains one legacy I/O base registers in configuration space 1. The joystick is
the sole legacy I/O base address register and is documented here.
TABLE 62
PCI CFG 2
16650 UART Base Address - UARTBASE (RW/RO)
D31
D30
D29
D27
D26
D25
D24
UARTBASE[31:24]
Offset 10h
POR Value
D28
0
0
0
0
0
0
0
0
D23
D22
D21
D20
D19
D18
D17
D16
UARTBASE[23:16]
POR Value
1999 Nov 12
0
0
0
0
0
0
0
0
D15
D14
D13
D12
D11
D10
D9
D8
61
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
UARTBASE[15:8]
POR Value
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
R
R
IO
0
0
1
UARTBASE[7:3]
0
POR Value
Bit
0
Name
0
0
0
R/W
Function
31:3
UARTBASE
RW
16650 UART base address. The address should be on a 8 byte boundary. For reference, 550 compatible UART legacy base addresses are 3E8h, 338h, 2E8h,
220h, 238h, 2E0h, 228h, 3F8h, and 2F8h.
2:1
R
RO
Reserved. These bits are reserved and always return zeros for plug and play.
0
IO
RO
I/O flag. This read only bit indicates that this is an I/O range.
TABLE 63
PCI CFG 2
Subsystem Vendor ID - SUBVENID (RO)
D15
D14
D13
D12
D11
D10
D9
D8
SUBVEN_ID[15:8]
Offset 2Ch
POR Value
0
0
0
1
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
SUBVEN_ID[7:0]
0
POR Value
Bit
15:0
Name
SUBVEN_ID
TABLE 64
PCI CFG 2
1999 Nov 12
0
0
0
R/W
RO
0
Function
Subsystem Vendor ID. The Subsystem Vendor ID register allows the manufacturer to uniquely identify their board since more than one board OEM may
use the SSA7785 ThunderBird Avenger™ chip. The Subsystem Vendor ID
register is loaded by an external EEPROM via the Serial Configuration Port
after reset and before any access to the PCI configuration header. The PCI
target logic should force a retry if the Subsystem Vendor ID register has not
completed loading. The Subsystem Vendor ID is read only to the PCI interface. If no external EEPROM is present, then the default Subsystem Vendor
ID is 1004h, that of Philips Semiconductors (VLSI).
Subsystem ID - SUBSYSID (RO)
D15
D14
D13
D12
62
D11
D10
D9
D8
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
SAA7785
SUBSYS_ID[15:8]
Offset 2Eh
POR Value
0
0
0
0
0
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
1
1
0
SUBSYS_ID[7:0]
0
POR Value
Bit
15:0
Name
0
Function
RO
Subsystem ID. The Subsystem ID register allows the manufacturer to
uniquely identify their board since more than one board OEM may use the
SSA7785 ThunderBird Avenger™ chip. The Subsystem ID register is loaded
by an external EEPROM via the Serial Configuration Port after reset and
before any access to the PCI configuration header. The PCI target logic
should force a retry if the Subsystem ID register has not completed loading.
The Subsystem ID is read only to the PCI interface. If no external EEPROM is
present, then the default Subsystem ID is 0306h, identical to the SSA7785
ThunderBird Avenger™ function 2 Device ID.
D7
D6
D5
0
POR Value
Name
PCI CFG 2
0
0
1999 Nov 12
D3
D2
D1
D0
0
0
0
0
Function
RO
Interrupt Line. The Interrupt Line register is an eight bit register used to communicate interrupt line routing information. The value in this register tells
which input of the system interrupt controller(s) the SSA7785 ThunderBird
Avenger™ Device's interrupt pin is connected to. It is set to 00h to use function 0’s interrupt line. There is no legacy interrupt support for function 2.
Interrupt Pin Register - INTPIN (RO)
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
INTPIN[7:0]
Offset 3Dh
POR Value
0
R/W
INTLINE
TABLE 66
D4
INTLINE[7:0]
Offset 3Ch
7:0
0
Interrupt Line Register - INTLINE (RO)
PCI CFG 2
Bit
0
R/W
SUBSYS_ID
TABLE 65
0
0
0
0
0
63
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
7:0
Name
R/W
INTPIN
TABLE 67
Function
RO
Interrupt Pin. The interrupt pin register tells which interrupt the SSA7785
ThunderBird Avenger™ device uses. The read only value of 00h implies that
the SSA7785 ThunderBird Avenger™ device shares the INT A interrupt pin
with function 0. There is no legacy interrupt support for function 2.
MIN_GNT Register - MINGNT (RO)
PCI CFG 2
D7
D6
D5
0
POR Value
7:0
Name
0
0
D2
D1
D0
0
0
0
0
Function
RO
Minimum grant specifies how long of a burst period the device needs assuming a clock speed of 33MHz. Since the SSA7785 ThunderBird Avenger™,
function 2, is a target only, this register is read only and set to zero.
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
MAXLAT[7:0]
Offset 3Fh
0
POR Value
7:0
D3
MAX_LAT Register - MAXLAT (RO)
PCI CFG 2
Bit
0
R/W
MINGNT
TABLE 68
D4
MINGNT[7:0]
Offset 3Eh
Bit
SAA7785
Name
MAXLAT
0
0
0
R/W
RO
0
Function
Maximum latency specifies how often a device needs to gain access to the
PCI bus. The SSA7785 ThunderBird Avenger™, function 2, is a target only,
this register is read only and set to zero.
MULTIMEDIA TIMER
OVERVIEW
The Multimedia Timer is a 20 bit counter with 840ns resolution for general purpose use under host software control. The
timer subsystem consists of the 20-bit counter and I/O space registers. It takes three I/O cycles to read the complete
value of the Timer since the device allows only byte accesses.
The Multimedia Timer will get its time base by dividing down the CCLK clock. An interrupt and flag is provided to determine if the timer count has rolled over. The timer can either start from zero or be preloaded with a start value.
1999 Nov 12
64
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
FIGURE 7
SAA7785
MULTIMEDIA TIMER BLOCK DIAGRAM
CLOCK
DIVIDE
LOGIC
CCLK
COUNTER CLOCK
CTL
CTL
INTERNAL
PS BUS
INTERFACE
PS BUS
COUNT
20 BIT - 1uS
RESOLUTION
UP COUNTER
INTR
INTERRUPT
GENERATION
LOGIC
MULTIMEDIA TIMER REGISTER DEFINITION
There are five registers that control the multimedia timer. These registers are the timer control register, timer status, and
timer count registers. The timer control register resides in PCI configuration space. The remainder of the timer registers
are in I/O space.
MULTIMEDIA TIMER PCI CONFIGURATION REGISTERS
TABLE 69
TIMRCFG0 (RW/RO) - MULTIMEDIA TIMER CONFIG REGISTER 0
PCI CFG 0
D7
D6
D5
D4
D3
D2
D1
D0
Offset 64h
R
R
R
R
R
FSTCLK
TMRRST
R
POR Value
0
0
0
0
0
0
0
0
Bit
7:3
Name
R
1999 Nov 12
R/W
RO
Function
Reserved. These bits return zeros.
65
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
Name
SAA7785
R/W
Function
2
FSTCLK
RW
Fast Clock Enable. When set, the timer counter will use the CCLK clock
instead of the 570 ns clock. This function will reduce the simulation and test
time of the device.
1
TMRRST
RW
Timer Reset. When set, this bit holds the multimedia timer in reset. The multimedia timer is also reset by the system reset.
0
R
RO
Reserved. This bit returns a zero.
MULTIMEDIA TIMER I/O SPACE REGISTERS
TABLE 70
TMSTAT (RW/RO) - MULTIMEDIA TIMER STATUS REGISTER
SONGBASE
D7
D6
D5
D4
D3
D2
D1
D0
R
R
R
R
TPLD
TRESUME
TMINT
TINTEN
0
0
0
0
0
0
0
0
Offset 00h
POR Value
Bit
Name
R/W
Function
7:4
R
RO
Reserved. These bits return zeros.
3
TPLD
RW
Timer Preload Indicator. When set, this indicates the timer will start counting
from the values set in the timer count registers. When cleared, the timer will
start counting from zero or its last value when stopped
2
TRESUME
RW
Timer Resume. When set, the timer will resume counting at the next 570 ns
clock edge. When cleared, the timer will stop counting.
1
TMINT
WC
Timer Interrupt. When asserted, the multimedia timer has flagged an interrupt when the timer has counted to zero. The timer will continue to count.
Writing a one to this bit will clear the interrupt.
0
TINTEN
RW
Timer Interrupt Enable. When set, the multimedia timer will generate an interrupt.
MULTIMEDIA TIMER COUNT REGISTERS
There are three registers required to hold the timer value. These three registers can be read at different cycles, It is recommended that the least significant byte be read first for the most accuracy.
TABLE 71
TMCOUNT2 (RW/RO) - MULTIMEDIA TIMER COUNT REGISTER 2
SONGBASE
D7
D6
D5
D4
Offset 03h
R
R
R
R
POR Value
0
0
0
0
Bit
7:4
Name
R
1999 Nov 12
R/W
RO
D3
D1
D0
TMCOUNT2[7:0]
0
Function
Reserved. These bits return zeros.
66
D2
0
0
0
Philips Semiconductors
Preliminary Specification
ThunderBird AvengerTM PCI Audio
Accelerator
Bit
3:0
Name
R/W
TMCOUNT2
TABLE 72
Function
RW
High Nibble Timer Count. This nibble is the most significant digits of the timer
value.
TMCOUNT1 (RW) - MULTIMEDIA TIMER COUNT REGISTER 1
SONGBASE
D7
D6
D5
Offset 02h
7:0
0
Name
0
0
D1
D0
0
0
0
0
Function
RW
Middle Byte Timer Count. This byte is the middle significant digits of the timer
value.
D7
D6
D5
Offset 01h
D4
D3
D2
D1
D0
0
0
0
TMCOUNT0[7:0]
POR Value
7:0
D2
TMCOUNT0 (RW) - MULTIMEDIA TIMER COUNT REGISTER 0
SONGBASE
Bit
D3
0
R/W
TMCOUNT1
TABLE 73
D4
TMCOUNT1[7:0]
POR Value
Bit
SAA7785
0
Name
0
0
0
R/W
TMCOUNT0
0
Function
RW
Low Byte Timer Count. This byte is the least significant digits of the timer
value.
PCI I/O SPACE GPIO SUPPORT
The Multimedia Timer house eight General Purpose I/O ports. These ports are independently controlled under host
software.
TABLE 74
PGPIODIR (RW) - PCI GENERAL PURPOSE INPUT/OUPUT DIRECTION
SONGBASE
D7
D6
D5
Offset 04h
7:0
D3
0
Name
PGPIO_DIR
0
0
0
R/W
RW
0
D1
D0
0
0
0
Function
PCI General Purpose I/O Data Direction Bit. These bits control whether the
GPIO pins 0 through 7 act as an input or an output.
0 = Selected GPIO pin is an output.
1 = Selected GPIO pin is an input.
1999 Nov 12
D2
PGPIO_DIR[7:0]
POR Value
Bit
D4
67
Philips Semiconductors
Preliminary specification
ThunderBird Avenger PCI Audio
Accelerator
SAA7785
Data sheet status
Data sheet
status
Product
status
Definition [1]
Objective
specification
Development
This data sheet contains the design target or goal specifications for product development.
Specification may change in any manner without notice.
Preliminary
specification
Qualification
This data sheet contains preliminary data, and supplementary data will be published at a later date.
Philips Semiconductors reserves the right to make changes at any time without notice in order to
improve design and supply the best possible product.
Product
specification
Production
This data sheet contains final specifications. Philips Semiconductors reserves the right to make
changes at any time without notice in order to improve design and supply the best possible product.
[1] Please consult the most recently issued datasheet before initiating or completing a design.
Definitions
Short-form specification — The data in a short-form specification is extracted from a full data sheet with the same type number and title. For
detailed information see the relevant data sheet or data handbook.
Limiting values definition — Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). Stress above one
or more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation of the device at these or
at any other conditions above those given in the Characteristics sections of the specification is not implied. Exposure to limiting values for extended
periods may affect device reliability.
Application information — Applications that are described herein for any of these products are for illustrative purposes only. Philips
Semiconductors make no representation or warranty that such applications will be suitable for the specified use without further testing or
modification.
Disclaimers
Life support — These products are not designed for use in life support appliances, devices or systems where malfunction of these products can
reasonably be expected to result in personal injury. Philips Semiconductors customers using or selling these products for use in such applications
do so at their own risk and agree to fully indemnify Philips Semiconductors for any damages resulting from such application.
Right to make changes — Philips Semiconductors reserves the right to make changes, without notice, in the products, including circuits, standard
cells, and/or software, described or contained herein in order to improve design and/or performance. Philips Semiconductors assumes no
responsibility or liability for the use of any of these products, conveys no license or title under any patent, copyright, or mask work right to these
products, and makes no representations or warranties that these products are free from patent, copyright, or mask work right infringement, unless
otherwise specified.
 Copyright Philips Electronics North America Corporation 1999
All rights reserved. Printed in U.S.A.
Philips Semiconductors
811 East Arques Avenue
P.O. Box 3409
Sunnyvale, California 94088–3409
Telephone 800-234-7381
Date of release: 11-99
Document order number:
yyyy mmm dd
1
9397-750-06592