![Intel IXP45X Скачать руководство пользователя страница 504](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092504.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—PCI Controller
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Develepor’s Manual
August 2006
504
Order Number: 306262-004US
This value will allow a read from a Type 0 PCI configuration space address location
0x10. Notice also that address bit 16 is set to logic 1.
This bit is set assuming that ID_SEL for a given device on the local segment is
selected, using address bit 16. This device is the one that is attempting to be
accessed.
7. Write a hexadecimal value of 0x0000000A to the PCI Non-Pre-fetch Access
Command/Byte Enables (PCI_NP_CBE) Register.
Bits 7:4 of this register specify the byte-enables for the data transfer. The selection
of all bits to logic 0 signifies that all bytes are to be read.
Bits 3:0 of this register specify the PCI Command Type to be used for the data
transfer. A logic value of 1010b signifies that a Configuration Read Cycle is being
requested. This action causes the PCI Controller to initiate the read transaction.
8. The data returned will be placed in the PCI Non-Pre-fetch Access Read Data
(PCI_NP_RDATA) Register.
The returned value looks like hexadecimal 0xFC000008. This value signifies that an
address space of 64 Mbyte is being requested by Base Address Register 0 of the
PCI device to be mapped anywhere into the PCI address map, the address space is
a Memory Space, and there are no special read conditions that apply to this
address space. (See the PCI Local Bus Specification, Rev. 2.2 for more details.)
9. Now the IXP45X/IXP46X network processors must specify the PCI address space
that this Base Address Register is going to occupy. This is done by executing a
Configuration Write to bits 31:26 of Base Address Register 0 — with the logical
value where the address is going to reside.
Assume we want the address to reside at PCI location 0xA0000000. A Configuration
Write of 0xA0000000 will be written to Base Address Register 0 of the external PCI
device. No other PCI assignment can be placed between PCI addresses
0xA0000000 and 0xA3FFFFFF.
When the IXP45X/IXP46X network processors are functioning in Host mode of
operation, all other PCI Configuration Registers contained on external PCI devices will
be configured or used to configure the PCI Bus using PCI Configuration Read/Write
Cycles produced from the IXP45X/IXP46X network processors for each device on the
PCI bus. Some examples of these parameters are Base Address Register, and Grant
Latencies. (For more details on exact settings/usage of these parameters for a given
application, see the PCI Local Bus Specification, Rev. 2.2.)
The IXP45X/IXP46X network processors have now been successfully configured as a
PCI host and successfully configured the PCI bus. PCI memory and PCI I/O transaction
can now take place.
For more detail on generating PCI Memory and PCI I/O transactions using the IXP45X/
IXP46X network processors, see
“PCI Controller Functioning as Bus Initiator” on
. For more detail on accepting PCI Memory and PCI I/O transactions using the
IXP45X/IXP46X network processors, see
“PCI Controller Functioning as Bus Target” on
.
10.2.3
PCI Controller Configured as Option
The IXP45X/IXP46X network processors can be configured as an option function on the
PCI bus without requiring the Internal Arbiter function in the PCI Controller to be
enabled. Therefore, the Internal Arbiter can be enabled independently and the host/
option configuration can be selected independently. The option function is selected
similarly to the manner in which the host function is selected. (For more details, see
“PCI Controller Configured as Host” on page 501
.)