![Intel IXP45X Developer'S Manual Download Page 522](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092522.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
522
Order Number: 306262-004US
1. An external PCI device writes logic 1 to a bit or pattern of bits to generate an
interrupt to the Intel XScale processor.
2. The AHB agent reads the AHB Door Bell (PCI_AHBDOORBELL) register and writes
logic 1(s) to all set bits clear the set bit(s). This in turn de-assert the interrupt
generated to the Intel XScale processor.
Using the South AHB, the Intel XScale processor writes the PCI Door Bell Register
(PCI_PCIDOORBELL) to generate an interrupt to an external PCI device over the
PCI_INTA_N signal. Any bit set to logic 1 in the PCI Door Bell Register
(PCI_PCIDOORBELL) will generate the PCI interrupt if the PCI doorbell interrupt is
enabled the PCI Interrupt Enable Register (PCI_INTEN).
The PCI Door Bell Register (PCI_PCIDOORBELL) register can only be written by the
AHB. The external PCI device must write logic 1 to all set bits in the PCI Door Bell
Register (PCI_PCIDOORBELL) in order to clear the bits set by the Intel XScale
processor.
An example of using the PCI Door Bell (PCI_PCIDOORBELL) is as follows:
1. The Intel XScale processor writes logic 1 to a bit or pattern of bits in the PCI Door
Bell Register (PCI_PCIDOORBELL) to generate an interrupt on the PCI bus using
PCI_INTA_N.
2. An external PCI device reads the PCI Door Bell Register (PCI_PCIDOORBELL) and
writes logic 1(s) to all set bits to clear the set bit(s). This causes the interrupt that
is asserted to de-assert.
10.3
Functional Description
10.3.1
PCI Byte-Enable Generation
The byte enables for single PCI transactions are generated based on the type of AHB
access (direct read/write or non-prefetch read/write), address, transfer size (8-bit, 16-
bit, 32-bit), and the settings in effect for AHB endianness and data swapping modes. All
32-bit accesses obviously assert all byte enables when the transaction is sent to the
PCI Initiator. Since the AHB Slave Interface only supports bursts with a size of 32-bits,
PCI burst transactions will always have all byte enables asserted.
shows the
byte enables for 8-bit and 16-bit single PCI read and write cycles generated by direct
access of the AHB Slave Interface. PCI cycles generated by the non-prefetch CSRs use
the value of the NP_BE field of the pci_np_cbe CSR for the byte enables.
10.3.2
PCI Core
This block generates the PCI compliant protocol logic. It operates either as an initiator
or a target device on the PCI Bus. As an initiator, all bus cycles are generated by the
core. As a PCI target, the core responds to bus cycles that have been directed towards
it.
On the PCI Bus, the core supports interrupts, 32 bit data path, 32 bit addressing, and a
single configuration space. The local configuration registers (CSRs) are accessible from
the PCI Bus or from the Intel XScale
®
Processor through the AHB bus.
There are four 8 word deep data FIFOs and a 4 word deep address FIFO in the core.
The separate slave and master data FIFOs allow simultaneous operations and multiple
outstanding PCI bus transfers. The initiator address FIFO can accumulate up to four
addresses which can be PCI reads or writes.