![](http://datasheet.mmic.net.cn/110000/GT-64010A_datasheet_3491737/GT-64010A_44.png)
GT-64010A System Controller with PCI Interface for R4XXX/R5000 Family CPUs
44
R e v i s ion 1 . 1
Galileo
TechnologyTM
C P U M ask , O f f set : 0xc1c
P C I M ask, O f f set : 0xc 24
5.15 PCI Configuration
The GT-64010A contains the required PCI configuration registers. These registers are accessed from both the CPU
and the PCI. The GT-64010A translates CPU read and write cycles into configuration cycles using the PCI configura-
tion mechanism #1. Mechanism #1 defines a way to translate the CPU cycles into both, PCI configuration cycles on the
PCI and accesses to the GT-64010A’s internal configuration registers. The GT-64010A includes two registers: Config-
uration Address (in offset 0xcf8) and Configuration Data (in offset 0xcfc). The general mechanism for accessing the
configuration registers is to write a value into Configuration Address that specifies the PCI bus, the device on that bus
and the configuration register in that device being accessed. A read or write to Configuration Data will then causes the
GT-64010A to translate that Configuration Address value to the requested cycle on the PCI bus. If the BusNum field in
the Configuration Address register equals ‘0’ but the DevNum field is other than ‘0’, a Type0 access is done which
addresses a device attached to the local PCI bus (for DevNum to IdSel mapping, refer to the table following this para-
graph). If the BusNum field in the Configuration Address register is other than ‘0’, a Type1 access is done which
addresses a device attached to a remote PCI bus. The CPU accesses the GT-64010A’s internal configuration registers
when the fields DevNum and BusNum in the Configuration Address register are equal to ‘0’. The GT-64010A configu-
ration registers are also accessed from the PCI using the normal PCI read and write configuration cycles.
Note: The CPU Interface unit cannot distinguish between an access to the GT-64010A PCI configuration space and an
access to some other PCI device configuration space. This is because both are accessed using an access to the GT-
64010A internal space (i.e. Configuration Data register). When the CPU is operating in big endian mode, any access to
the GT-64010A internal space undergoes byte swapping as all internal registers are little endian. With the CPU operat-
ing in big endian mode and the PCI ByteSwap bit (bit [0] @ 0xc00) set to ‘0’ (i.e., swap bytes), bytes will be swapped
once for PCI configuration accesses intended for the GT-64010A configuration space but will be swapped twice for PCI
configuration accesses intended for devices external to the GT-64010A. This requires the software to format write data
and interpret read data differently for PCI configuration accesses to the GT-64010A and configuration accesses
through the GT-64010A. See also appendix 11.1.
Bits
Field Name
Function
Initial Value
31:0
CPUMask
Mask to the CPU interrupt line for the appropriate bits
in the Interrupt Cause register. Bits 0, 25:21, 31:30
are read-only “0”.
0x00000000
Bits
Field Name
Function
Initial Value
31:0
PCIMask
Mask to the PCI interrupt line for the appropriate bits
in the Interrupt Cause register. Bits 0, 31:26 are read-
only “0”.
0x00000000