![Intel IXP45X Скачать руководство пользователя страница 524](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092524.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—PCI Controller
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Develepor’s Manual
August 2006
524
Order Number: 306262-004US
10.3.2.1.2
PCI Bus Access to PCI Controller CSRs
PCI Controller CSRs are accessed from PCI through read or write transactions whose
address matches the PCI base address register pci_bar4. Pci_bar4 is written by the PCI
Host during the bus configuration process to map the PCI Controller CSRs into the
external PCI bus memory map. Currently, only two of the PCI Controller CSRs are write
accessible from the PCI bus when not in PCI test mode (exp_pcitest = 1):
pci_pcidoorbell and pci_ahbdoorbell. When exp_pcitest = 0, all CSRs are write
accessible from the PCI bus. All registers can be read from PCI.
10.3.2.1.3
PCI Bus Access to AHB Address Space
Internal AHB address space is accessed from the PCI bus through read or write
transactions whose address matches one of the implemented PCI base address
registers pci_bar0,1,2,3, or 5. These registers are written by the PCI Host during the
bus configuration process to map five AHB address regions into the external PCI bus
address map.
10.3.2.1.4
PCI Target Write Accesses
A PCI target memory write occurs if the PCI address matches one of the PCI base
address registers pci_bar0,1,2,3 and the PCI command is Memory Write or Memory
Write and Invalidate. The address, data, byte enables, and BAR identifier (indicating
which PCI base address register was hit) are written to the Target Receive FIFO. If the
FIFO fills up during the transfer, the PCI Controller signals a target disconnect to the
external master. If the FIFO is full at the start of a write access, a retry is signaled on
the bus. All combinations of data phase byte enables are supported.
A PCI target I/O write occurs if the PCI address matches the PCI base address register
pci_bar4 and the PCI command is a I/O Write. In this case, the PCI Target Interface
disconnects the transfer after the 1
st
data phase.
10.3.2.1.5
PCI Target Read Accesses
A PCI target memory read occurs if the PCI address matches one of the PCI base
address registers and the PCI command is Memory Read, Memory Read Line, or
Memory Read Multiple. The address and BAR identifier (indicating which PCI base
address register was hit) are written to the Target Receive FIFO and the transaction is
retried on the PCI bus. After AHB read data is written into the Target Transmit FIFO by
the AHB Master Interface, the PCI Target Interface delivers the data to the initiator
when the initiator retries the transfer. If the Target Transmit FIFO becomes empty, the
PCI Target Interface issues a target disconnect to the initiator until it becomes non-
empty again. The interface ignores byte enables for PCI memory reads and delivers all
addressed words to the initiator.
A PCI target I/O read occurs if the PCI address matches the PCI base address register
pci_bar4 and the PCI command is an I/O Read. In this case, the PCI Target Interface
disconnects the transfer after the 1
st
data phase.
When the read data is returned into the Target Transmit FIFO, the PCI Controller begins
to decrement a discard timer. If the external PCI bus initiator has not repeated the read
by the time the timer reaches zero, the PCI Controller discards the read data and
invalidates the delayed read address. The discard timer counts 2
15
(32768) PCI clocks.
Once the timer expires, the next PCI target read is treated as a new operation.
10.3.2.2
PCI Initiator Interface
The Master Interface provides bus mastering capability in response to PCI requests
received from an AHB master or from the PCI Controller DMA channels. Requests are
buffered in the Initiator Request FIFO and handled by the PCI Core Initiator Interface.