IDT PCI Bus Interface
PCI Master
79RC32438 User Reference Manual
10 - 20
November 4, 2002
Notes
received from the configuration read transaction. During the configuration read transaction, the PCI byte
enables will correspond to the size of the data read from the PCICFGD register (i.e., byte, halfword, triple-
byte, or word).
If the BUS field in the PCI Configuration Address (PCICFGA) register is zero, a Type 0 configuration
read transaction is performed. If the BUS field is non-zero, a Type 1 configuration read transaction is
performed. See section 3.2.2.3 of the PCI 2.2 specification for more information.
For Type 1 configuration transactions, the PCIAD[30:2] takes on the value of the corresponding bit posi-
tions in the PCICFGA register. PCIAD[1:0] takes on the value 0x01 and PCIAD[31] takes on the value 0x0.
For Type 0 configuration transactions, the DEVICE field in the PCI Configuration Address (PCICFGA)
register is used to select the IDSEL line of the PCI satellite to be configured. The DEVICE field to IDSEL
mapping is shown in Table 10.7.
Type 0 configuration transactions with DEVICE field equal to zero correspond to the RC32438 device
and are handled internally without generating a PCI transaction.
Type 0 configuration transactions have PCI address bits 31 through 11 (i.e., PCIAD[31:11]) set to all
ones for DEVICE fields 0x1 through 0x15. In addition, PCIAD[1:0] are both zero.
All PCI configuration transactions use address stepping to allow for IDSEL predriving. Refer to the PCI
2.2 specification section 3.2.2.5 for more information.
Performing a PCI configuration read from a nonexisting device results in the DEVSELN signal not being
asserted by a PCI target. This results in a master abort of the transaction and the setting of the Receive
Master Abort Status (RMA) bit in the STATUS register in PCI configuration space, value 0xFFFF_FFFF
being returned to the IPBus master, and an IPBus slave acknowledge error if the IPBus Error Enable (IEN)
bit is set in the PCICFG register. The setting of the RMA bit may be used to signal a CPU interrupt.
The RC32438 does not support the generation of burst configuration read transactions. All configuration
read transactions have a single data phase.
When the PCI interface is set to operate in decoupled mode (i.e., the Decoupled Access Enable (DEN)
bit is set in the PCI Decoupled Access Control (PCIDAC) register), then the value read from the PCICFGD
is not valid until the Done (D) bit is set in the PCI Decoupled Access Status (PCIDAS) register. The Error (E)
and Busy (B) bits in the PCIDAS register reflect the status of the operation.
Configuration Write
To generate a PCI configuration write transaction, an IPBus master (e.g., CPU core) writes the desired
configuration register address to the PCI Configuration Address (PCICFGA) register and performs a write to
the PCI Configuration Data (PCICFGD) register. The value written by the IPBus master will be used for the
PCI configuration write, and the PCI byte enables will correspond to the size of the data written (i.e., byte,
halfword, triple-byte, or word).
Device
Number
Address
Line
Device
Number
Address
Line
Device
Number
Address
Line
0x00
Internal Access
0x08
PCIAD[18]
0x10
PCIAD[26]
0x01
PCIAD[11]
0x09
PCIAD[19]
0x11
PCIAD[27]
0x02
PCIAD[12]
0x0A
PCIAD[20]
0x12
PCIAD[28]
0x03
PCIAD[13]
0x0B
PCIAD[21]
0x13
PCIAD[29]
0x04
PCIAD[14]
0x0C
PCIAD[22]
0x14
PCIAD[30]
0x05
PCIAD[15]
0x0D
PCIAD[23]
0x15
PCIAD[31]
0x06
PCIAD[16]
0x0E
PCIAD[24]
0x07
PCIAD[17]
0x0F
PCIAD[25]
Table 10.7 PCI Device Fields to IDSEL Mapping