124 generation of the doorbell interrupts to pci, 124 doorbell interrupt registers – Intel NETWORK PROCESSOR IXP2800 User Manual

Page 337

Advertising
background image

Hardware Reference Manual

337

Intel

®

IXP2800 Network Processor

PCI Unit

The doorbell interrupts are controlled through the registers shown in

Table 124

.

The Intel XScale

®

core and PCI devices write to the corresponding DOORBELL register to

generate up to 32 doorbell interrupts. Each bit in the DOORBELL register is implemented as an SR
flip-flop. The Intel XScale

®

core writes a 1 to set the flip-flop and the PCI device writes a 1 to clear

the flip-flop. Writing a 0 has no effect on the registers. The PCI interrupt signal is the output of an

NOR functions of all the PCI DOORBELL register bits (outputs of the SR flip-flops). The Intel
XScale

®

core interrupt signal is the output of an NAND function of all the Intel XScale

®

core

DOORBELL register bits (outputs of the SR flip-flops).

To assert an interrupt (i.e., to “push a doorbell”):

A write of 1 to the corresponding bit of the DOORBELL register generates an interrupt. This
is the case for either PCI device or the Intel XScale

®

core, since writing 1 changes the doorbell

bit to the proper asserted state (i.e., 0 for an Intel XScale

®

core interrupt and 1 for a PCI

interrupt).

To dismiss an interrupt:

A write of 1 to the corresponding bit of the DOORBELL register clears an interrupt. This is

the case for either PCI device or the Intel XScale

®

core, since writing 1 changes the doorbell

bit to the proper de-asserted state (i.e., 1 for an Intel XScale

®

core interrupt and 0 for a PCI

interrupt).

Figure 124

and

Figure 125

illustrate how a Doorbell interrupt is asserted and cleared by both the

Intel XScale

®

core and a PCI device.

Table 124. Doorbell Interrupt Registers

Register Name

Description

Intel XScale

®

core

Doorbell

Used to generate the Intel XScale

®

core Doorbell interrupts.

Intel XScale

®

core

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.

Figure 124. Generation of the Doorbell Interrupts to PCI

A9771-01

1. Write 1 to set bit and

Generate a PCI interrupt.

2. PCI Reads PCI_DOORBELL to

determine the Mailbox interrupt

(e.g., reads 0x8000 0300).

3. PCI Writes back read value to

clear interrupt.

(e.g., write 0x8000 03000).

PCI_INT#

DOORBELL

Register

R

S

Q

D

Advertising