
Philips Semiconductors
PCI Interface
PRODUCT SPECIFICATION
11-7
bit words. Initiating devices, such as the TM1300, that
can generate memory-write-and-invalidate commands
must implement this register. When implemented, the
cache line size allows initiators participating in the PCI
caching protocol to retry burst accesses at cache-line
boundaries.
This register is implemented in TM1300. In the TM1300,
PCI DMA performs write-and-invalidate cycles as per the
table below. ICP DMA and CPU PCI writes are per-
formed using normal memory-write cycles.
11.6.8
Latency Timer Register
The value of the Latency Timer register specifies the
minimum number of PCI clock cycles the TM1300 BIU
(as initiator) is allowed to own the PCI bus. This register
is readable and writable in PCI configuration space.
This register must be writable in any PCI-initiating device
that can burst more than two data phases. In the TM1300
PCI interface, the least-significant three bits are hard-
wired to ’0’ and software can program any value into the
most-significant five bits. This permits software to specify
the time slice with a minimum granularity of eight PCI
clocks. A value of ’0’ signifies maximum latency, i.e. 256
PCI clocks.
11.6.9
Header Type Register
The value of the Header Type register defines the format
of words 16 through 63 in configuration space and
whether or not the device contains multiple functions.
Figure 11-6 shows the format of Header Type.
Bit 7 of Header Type is ’0’ for single-function devices, ’1’
for multi-function devices. TM1300 is a single-function
device, so bit 7 is ’0’. Table 11-9 shows the encodings of
the Layout field.
11.6.10 Built-In Self Test Register
When implemented, the BIST register is used to control
the operation of a device’s built-in self testing capability.
TM1300 does not implement BIST, so this register is
hardwired to return ’0’s when read.
11.6.11 Base Address Registers
The TM1300 PCI interface implements two configuration
space memory Base Address registers: DRAM_BASE
and MMIO_BASE. DRAM_BASE relocates TM1300’s
SDRAM within the system address space; MMIO_BASE
relocates the 2-MB memory-mapped I/O address aper-
ture.
The values in the Base Address registers determine the
address map as seen by both the DSPCPU and external
PCI masters. These values are normally set once, and
not changed dynamically once the DSPCPU operates.
Hardware RESET initializes DRAM_BASE to 0x0 and
MMIO_BASE to 0xefe0,0000, after which the TM1300
boot protocol sets the final value.
In standalone systems, the autonomous boot sequence
is executed. In this case, the values of DRAM_BASE and
MMIO_BASE are copied from the content of the serial
boot EEPROM, as described in Section 13.3.2, “Initial
DSPCPU Program Load for Autonomous Bootstrap.”
Table 11-6. Base Class Encodings
Base Class
(in hex)
Meaning
00
Device was built before class code denitions
were nalized
01
Mass-storage controller
02
Network controller
03
Display controller
04
Multimedia device
05
Memory controller
06
Bridge device
07
Simple communications controller
08
Base system peripheral
0A
Docking station
0B
Processor
0C
Serial bus controller
0D–FE
Reserved
FF
Device does not t any of the above classes
Table 11-7. Subclass & programming interface elds
Subclass
(in hex)
Programming
Interface (in hex)
Meaning
00
Video device
01
00
Audio device
80
00
Other multimedia device
Table 11-8. Cache line size values
Cache Line Size
(binary)
Effect
0000,0100
write-and-invalidates are done in 4-
DWORD, i.e. 16-byte chunks
0000,1000
write-and-invalidate in 8-DWORD chunks
0001,0000
write-and-invalidate in 16-DWORD chunks
all other values
only normal ‘memory-write’ is performed
Table 11-9. Layout encodings
Layout (in hex)
Meaning
00
Non-bridge PCI device
01
PCI-to-PCI bridge device
7
Header Type
0
Layout
6
MF
Figure 11-6. Header type register format.