BCM1250/BCM1125/BCM1125H
User Manual
10/21/02
B r o a d c o m C o r p o r a t i o n
Page
234
Section 8: PCI Bus and HyperTransport Fabric
Document
1250_1125-UM100CB-R
C
ONFIGURATION
OF
PCI
AND
H
YPER
T
RANSPORT
The PCI bus and HyperTransport fabric both require configuration before use. This is normally done by the
startup firmware, but may also be done by the operating system as it starts. There is usually a "PCI-BIOS"
abstraction layer above the configuration hardware (this is only well specified for the x86 architecture, but most
systems have a version of it). Since HyperTransport devices use the same configuration headers as PCI, only
minor changes to the configuration software will be needed to support it. In particular accesses to the PCI/
HyperTransport memory or I/O ranges are UNPREDICTABLE until the HyperTransport mem_base,
mem_limit, io_base and io_limit registers have been programmed, and configuration accesses to anything
other than bus 0 are UNPREDICTABLE until the HyperTransport secondary and subordinate bus numbers
have been programmed. (See
Section: “Systems That Do Not Use HyperTransport” on page 236
HyperTransport is not used.)
During configuration the tree of bridged buses (an entire HyperTransport chain is regarded as a single bus) is
built along with a list of devices on each bus and their memory size requirements. The buses are allocated
numbers, with bus 0 being at the root of the tree. A bridge gets configured with a bus number for its primary
interface (the one that is closest to the root of the tree), a bus number for its secondary interface (the other bus
it directly connects to) and a subordinate bus number which is the highest numbered bus that is behind the
bridge (all buses in the range secondary - subordinate are accessible through the bridge).
Once all the buses are enumerated the configuration code will assign base addresses to all the devices. There
are three separate address ranges: for memory mapped I/O, prefetchable memory, and I/O space. In each
range, all addresses allocated behind a bridge must be contiguous.
Configuration uses the logical organization of the interfaces shown in
. The PCI bus on
the part is bus 0 at the top of the configuration tree and therefore has its configuration space at bus 0, device
0. The HyperTransport bridge configuration is at bus 0, device 1. (The bus number that will be given to the
HyperTransport fabric depends on the enumeration software).
The configuration space for PCI and HyperTransport is based at
00_FE00_0000
for match bit lanes (the most
useful endian policy for configuration) with a repeat at
00_DE00_0000
using the match byte lane policy. To
access a configuration register the address is formed from the register, function, device and bus number as
shown in
. Reads and writes of up to 32 bits can be done. The results of doing a 64 bit access to
configuration space are UNDEFINED. Note that in Device Mode the PCI interface will mostly be configured by
the host in the system, but the device mode part must still configure the BAR0 address mapping table and the
HyperTransport fabric.
Figure 49: Configuration Space Address
0 0
FE
Bus Number
Device
Number
Function
Number
Register
Number
39
32 31
24 23
16
11 10
8 7
15
2
0
1
Содержание BCM1125
Страница 18: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xviii Document 1250_1125 UM100CB R ...
Страница 28: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xxviii Document 1250_1125 UM100CB R ...
Страница 515: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page vii Index Document 1250_1125 UM100CB R ...