20.12.2012 Views

2.2 BSP Rel. 1.0 for PPMC-275 Programmer's Guide

2.2 BSP Rel. 1.0 for PPMC-275 Programmer's Guide

2.2 BSP Rel. 1.0 for PPMC-275 Programmer's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

List of APIs API Call Reference<br />

Driver Initialization<br />

PCI0/1 Scanning<br />

PCI number (0 or 1)<br />

The driver flow of execution is divided into four phases:<br />

Driver initialization<br />

PCI0/1 scanning<br />

PCI0/1 MEM1 address spacing remap<br />

PCI devices configuration<br />

In this phase, the driver:<br />

initializes the pciConfigLib with PCI read/write routines.<br />

scans <strong>for</strong> Monarch or Non-Monarch Mode and per<strong>for</strong>ms<br />

initialization accordingly.<br />

cleans both GalNetMappingArray and pciDeviceArray<br />

data structures.<br />

If the Monarch pin is asserted then the driver waits till EREADY<br />

Signal goes to HIGH and then does PCI Scan by the pciGoScan()<br />

routine. The EREADY signal assures all other PCI devices are ready<br />

<strong>for</strong> initialization. In case of Monarch the pciGoScan routine fills<br />

up the GalNet device table's GalNetMappingArray, with in<strong>for</strong>mation<br />

on the GalNet devices in PCI0/1 and the pciDeviceArray<br />

table with in<strong>for</strong>mation on any other PCI devices located in PCI0/1<br />

(NIC).<br />

In Non-Monarch mode it pulls down the EREADYOUT signal of the<br />

MV-64360, which in turn causes the EREADY signal to be pulled<br />

high so that an external monarch can initiate PCI Bus enumeration.<br />

PCI0/1 MEM1 Address Spacing Remap<br />

This stage is required only if there are GalNet devices in the system.<br />

The GalNet devices use the GalNet region 0x08000000, which is<br />

not a PCI address space by default. This routine changes the<br />

PCI0/1 MEM1 address decoders according to the GalNet devices<br />

found on PCI0/1:<br />

If there is no GalNet device on both PCI0 and PCI1, the address<br />

space 0x08000000 to 0x10000000 stays as the default.<br />

– The PCI0_MEM1 default address space is 0xF2000000 to<br />

0xF3FFFFFF (32 Mbyte).<br />

5 - 18 VxWorks 5.5/Tornado <strong>2.2</strong> <strong>BSP</strong> <strong>Rel</strong>. <strong>1.0</strong> <strong>for</strong> <strong>PPMC</strong>-<strong>275</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!