1 initialization by the intel xscale® core, 2 initialization by a pci host, Initialization by the intel xscale® core – Intel NETWORK PROCESSOR IXP2800 User Manual

Page 324: Initialization by a pci host, 1 initialization by the intel xscale, Core

Advertising
background image

324

Hardware Reference Manual

Intel

®

IXP2800 Network Processor

PCI Unit

9.2.2.1

Initialization by the Intel XScale

®

Core

The PCI unit is initialized to an inactive, disabled state until the Intel XScale

®

core has set the

Initialize Complete bit in the Control register. This bit is set after the Intel XScale

®

core has

initialized the various PCI base address and mask registers (which should occur within 1 ms of the
end of PCI_RESET). The mask registers are used to initialize the PCI base address registers to

values other than the default power-up values, which includes the base address visible to the PCI

host and the prefetchable bit in the base registers (see

Table 120

).

When the PCI unit is in the inactive state, it returns retry responses as the target of PCI

configuration cycles if the PCI Unit is not configured as the PCI host. In the case of PCI Unit being
configured as the PCI host, the PCI bus will be held in reset until the Intel XScale

®

core completes

the PCI Bus configurations and clears the PCI Reset (as described in

Section 9.2.11

).

Note: During PCI bus enumeration initiated by the Intel XScale

®

core, reading a non-existent address

(an address for which no target asserts DEVSEL) results in a Master Abort. The Master Abort then
results in an Intel XScale

®

Core Data Abort Exception that must be handled by the enumeration

software. When this occurs, the RMA bit in the PCI_CONTROL register and the RX_MA bit in

the PCI_CMD_STAT register is set. The enumeration software must then clear these bits before
continuing with the enumeration process.

9.2.2.2

Initialization by a PCI Host

In this mode, the PCI Unit is not hosting the PCI Bus regardless of the PCI_CFG[0] signal. The
host processor is allowed to configure the internal CSRs while the Intel XScale

®

core is held in

reset. The host processor configures the PCI address space, the memory controllers, and other
interfaces. Also, the program code for the Intel XScale

®

core may be downloaded into local

memory.

The host processor then clears the Intel XScale

®

core reset bit in the PCI Reset register. This de-

asserts the internal reset signal to the Intel XScale

®

core and the core begins its initialization

process. The PCI_SWIN and PCI_DWIN strap signals are used to select the window sizes to

SRAM BAR and DRAM BAR (see

Table 121

).

Table 120. PCI BAR Programmable Sizes

Base Address

Register

Address

Space

Sizes

PCI_CSR_BAR

CSR

1 Mbyte

PCI_SRAM_BAR

SRAM

0 Bytes; 128, 256, or 512 Kbytes; 1, 2, 4, 8, 16, 32, 64, 128, or 256 Mbytes

PCI_DRAM_BAR

DRAM

0 Bytes; 1, 2, 4, 8, 16, 32, 64, 128, 256, or 512 Mbytes; 1 Gbyte

Table 121. PCI BAR Sizes with PCI Host Initialization

Base Address

Register

Address

Space

Sizes

PCI_CSR_BAR

CSR

1 Mbyte

PCI_SRAM_BAR

SRAM

32, 64, 128, or 256 Mbytes

PCI_DRAM_BAR

DRAM

128, 256, or 512 Mbytes; 1 Gbyte

Advertising