5 pci arbiter, Pci arbiter, 18 doorbell interrupt registers – Intel NETWORK PROCESSOR IXP2800 User Manual

Page 75

Advertising
background image

Hardware Reference Manual

75

Intel

®

IXP2800 Network Processor

Technical Description

(either a PCI interrupt or an Intel XScale

®

core interrupt). When an interrupt is received, the

DOORBELL registers can be read and the bit mask can be interpreted. If a larger bit mask is

required than that is provided by the DOORBELL register, the MAILBOX registers can be used to

pass up to 16 bytes of data.

The doorbell interrupts are controlled through the registers shown in

Table 18

.

2.9.5

PCI Arbiter

The PCI unit contains a PCI bus arbiter that supports two external masters in addition to the PCI

Unit’s initiator interface. If more than two external masters are used in the system, the aribter can

be disabled and an external (to the IXP2800 Network Processor used. In that case, the IXP2800
Network Processor will provide its PCI request signal to the external aribter, and use that arbiters

grant signal.

The arbiter uses a simple round-robin priority algorithm; it asserts the grant signal corresponding to

the next request in the round-robin during the current executing transaction on the PCI bus (this is
also called hidden arbitration). If the arbiter detects that an initiator has failed to assert frame_l

after 16 cycles of both grant assertion and PCI bus idle condition, the arbiter deasserts the grant.

That master does not receive any more grants until it deasserts its request for at least one PCI clock
cycle. Bus parking is implemented in that the last bus grant will stay asserted if no request is

pending.

To prevent bus contention, if the PCI bus is idle, the arbiter never asserts one grant signal in the

same PCI cycle in which it deasserts another, It deasserts one grant, and then asserts the next grant
after one full PCI clock cycle has elapsed to provide for bus driver turnaround.

Table 18. Doorbell Interrupt Registers

Register Name

Description

XSCALE DOORBELL

Used to generate the Intel XScale

®

core Doorbell interrupts.

XSCALE DOORBELL
SETUP

Used to initialize the Intel XScale

®

core Doorbell register and for diagnostics.

PCI DOORBELL

Used to generate the PCI Doorbell interrupts.

PCI DOORBELL SETUP

Used to initialize the PCI Doorbell register and for diagnostics.

Advertising