EasyManua.ls Logo

AMD Elan SC520 - Figure 9-7 PCI Configuration Address (PCICFGADR) Register; Generating PCI Bus Configuration Cycles

AMD Elan SC520
444 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
PCI Bus Host Bridge
9-10 Élan™SC520 Microcontroller User’s Manual
The host bridge PCI bus configuration space contains only PCI bus device configuration
header registers, as defined in the PCI bus specification. ÉlanSC520 microcontroller-
specific host bridge configuration registers are memory-mapped in ÉlanSC520
microcontroller configuration space. See Chapter 4, “System Address Mapping”, for further
details on memory-mapped configuration space.
9.5.2.1 Generating PCI Bus Configuration Cycles
A two-step process is required to generate a PCI bus configuration cycle.
1. First, the Am5
x
86 CPU must perform a 32-bit I/O write to the PCI Configuration Address
(PCICFGADR) register (Port 0CF8h) with the following information: bus number, device
number, function, and register number (doubleword) to be accessed (see Figure 9-7).
2. Then, the Am5
x
86 CPU can perform an I/O cycle (read or write) to the PCI Configuration
Data (PCICFGDATA) register (Port 0CFCh) to access the desired configuration register.
Figure 9-7 PCI Configuration Address (PCICFGADR) Register
For example, to access the Status/Command (PCISTACMD) register (PCI index 04h)
(doubleword 1) of the PCI host bridge, the following cycles are generated by the Am5
x
86
CPU:
1. 32-bit I/O write to Port 0CF8h: 80000004h
ENABLE = 1 to enable configuration space mapping
BUS_NUM = 0 (PCI host bridge is on bus number 0)
DEVICE_NUM = 0 (PCI host bridge is hardwired to device number 0)
FUNCTION_NUM = 0 (PCI host bridge has only one function)
REGISTER_NUM = 1
Bits 1–0 must be written 00
2. 8/16/24/32-bit I/O read/write to/from Port 0CFCh to access configuration register bytes
BUS_NUM[7–0]
REGISTER_
31 15
16
0
Bit Name Function
31 ENABLE This bit must be set to 1 to enable configuration
space mapping.
30–24 Reserved
23–16 BUS_NUM[7–0] Bus number
15–11 DEVICE_NUM[4–0] Device number
10–8 FUNCTION_NUM[2–0] Function number
7–2 REGISTER_NUM[4–0] Register number
1–0 Reserved These bits must always be written to 00.
Reserved
30
23
DEVICE_
NUM[4–0]
NUM[4–0]
12
0 0
EN-
24
11 10
87
FUNCTION_
NUM[2–0]
0CFBh
0CFAh
0CF9h
0CF8h
ABLE

Table of Contents