
PCI Configuration
Configuration as a System Host Bridge
90
EPC User
’
s Manual Revision 1.05
Copyright 1997-2000, V3 Semiconductor Inc.
9.1.3
Generating Configuration Reads and Writes
The address placed on the bus during configuration cycles is actually encoded information
as shown in Figure 47. The EPC does not automatically generate this encoding, it is
completely under software control. The configuration address encoding is programmed as
follows:
Setup one of the Local-to-PCI apertures as 16 megabytes in length. This forces the
address translation logic to pass the lower 24 bits of the address through to the PCI
bus without translation. The lower 24 bits of the address are the encoded
configuration information. The base address in Local memory for this aperture may
be placed on any 16Mbyte boundary.
Setup the address translation for the above aperture to translate accesses to
0000.0000H. Since the aperture is setup for 16Mbytes, this has the effect of setting
A[31:24] to zeros. Set the TYPE field for the Local-to-PCI aperture to
“
Configuration
Reads/Writes
”
.
Create a 24-bit value that encodes the configuration address information. Add the
base address of the Local-to-PCI aperture to this encoded information.
Perform a read (or write) to the above address in local space. This will be translated
to a configuration read (or write) in PCI space.
In the above example, it is assumed that the IDSEL lines are set appropriately by the user
’
s
system hardware and software.
Figure 47: Encoded Configuration Address Information
9.1.4
Using Configuration Information
The following information is usually determined during configuration:
What PCI devices are present in the system and what type of devices they are
What resources are necessary for each device in terms of memory, I/O, and
interrupts
What capabilities each of the devices has (i.e. Fast Back-to-Back capable)
0
4
8
12
16
20
24
28
0 0
REGISTER
NUMBER
DEVICE
NUMBER
BUS
NUMBER
FUNCTION
NUMBER
RESERVED