beautypg.com

Figure 125 – Intel NETWORK PROCESSOR IXP2800 User Manual

Page 338

background image

338

Hardware Reference Manual

Intel

®

IXP2800 Network Processor

PCI Unit

The Doorbell Setup register allows the Intel XScale

®

core and a PCI device to perform two

functions that are not possible using the Doorbell register. This register is used during setup and
diagnostics and is not used during normal operations. First, it allows the Intel XScale

®

core and

PCI device to clear an interrupt that it has generated to the other device. If the Intel XScale

®

core

sets an interrupt to PCI device using the Doorbell register, the PCI device is the only one that can
use the Doorbell register to clear the interrupt by writing one. With the Doorbell setup register, the

Intel XScale

®

core can clear the interrupt by write 0 to it.

Second, it allows the Intel XScale

®

core and PCI device to generate a doorbell interrupt to itself.

This can be used for diagnostic testing. Each bit in the Doorbell Setup register is mapped directly to
the data input of the Doorbell register such that the data is directly written into the Doorbell

register.

During system initialization, the doorbell registers must be initialized by clearing the interrupt bits
in the Doorbell register using the Doorbell Setup register. This is done by writing zeros to the PCI

Doorbell setup register and ones to the Intel XScale

®

core Doorbell setup register.

Figure 125. Generation of the Doorbell Interrupts to the Intel XScale

®

Core

A9772-02

1. PCI device write 1 to

clear bit and generate
a FIZ/IRQ.

FIQ or IRQ

Intel XScale

®

Core

DOORBELL Register

R

S

Q

D

2. Intel XScale

®

Core Reads

XSCALE_DOORBELL to
determine the Doorbell
interrupt

(e.g.; reads 0x0030 F2F1).

3. Intel XScale

®

Core inverts

the read value and write
back the results to clear interrupt
(e.g., write 0x0030 F2F1 ^ 0xFFFF FFFF = 0xFFCF 0C0E).