PCI_22
.pdfRevision 2.2
I.1. VPD Format
,QIRUPDWLRQ ILHOGV ZLWKLQ D 93' UHVRXUFH W\SH FRQVLVW RI D WKUHH E\WH KHDGHU IROORZHG E\ VRPH DPRXQW RI GDWD VHH )LJXUH , 7KH WKUHH E\WH KHDGHU FRQWDLQV D WZR E\WH NH\ZRUG DQG D RQH E\WH OHQJWK
$ NH\ZRUG LV D WZR FKDUDFWHU $6&,, PQHPRQLF WKDW XQLTXHO\ LGHQWLILHV WKH LQIRUPDWLRQ LQ WKH ILHOG 7KH ODVW E\WH RI WKH KHDGHU LV ELQDU\ DQG UHSUHVHQWV WKH OHQJWK YDOXH LQ E\WHV RI WKH GDWD WKDW IROORZV
Keyword |
|
Length |
Data |
|
|
|
|
|
|
Byte 0 |
|
Byte 1 |
Byte 2 |
Bytes 3 through n |
|
|
|
|
|
)LJXUH , 93' )RUPDW
93' NH\ZRUGV DUH OLVWHG LQ WZR FDWHJRULHV UHDG RQO\ ILHOGV DQG UHDG ZULWH ILHOGV 8QOHVV RWKHUZLVH QRWHG NH\ZRUG GDWD ILHOGV DUH SURYLGHG DV $6&,, FKDUDFWHUV 8VH RI $6&,, DOORZV NH\ZRUG GDWD WR EH PRYHG DFURVV GLIIHUHQW HQWHUSULVH FRPSXWHU V\VWHPV ZLWKRXW WUDQVODWLRQ GLIILFXOW\ $Q H[DPSOH RI WKH ³H[SDQVLRQ ERDUG VHULDO QXPEHU´ 93' LWHP LV DV IROORZV
.H\ZRUG 61 /HQJWK K
'DWD ³ ´
I.2. VPD Compatibility
2SWLRQDO 93' ZDV VXSSRUWHG LQ SULRU YHUVLRQV RI WKLV VSHFLILFDWLRQ )RU LQIRUPDWLRQ RQ WKH SUHYLRXV GHILQLWLRQ RI 93' VHH 3&, /RFDO %XV 6SHFLILFDWLRQ 5HYLVLRQ
I.3. VPD Definitions
7KLV VHFWLRQ GHVFULEHV WKH FXUUHQW 93' ODUJH DQG VPDOO UHVRXUFH GDWD WDJV SOXV WKH 93' NH\ZRUGV 7KLV OLVW PD\ EH HQKDQFHG DW DQ\ WLPH &RPSDQLHV ZLVKLQJ WR GHILQH D QHZ NH\ZRUG VKRXOG FRQWDFW WKH 3&, 6,* $OO XQVSHFLILHG YDOXHV DUH UHVHUYHG IRU 6,* DVVLJQPHQW
292
Revision 2.2
I.3.1. VPD Large and Small Resource Data Tags
93' LV FRQWDLQHG LQ IRXU W\SHV RI /DUJH DQG 6PDOO 5HVRXUFH 'DWD 7DJV 7KH IROORZLQJ WDJV DQG 93' NH\ZRUG ILHOGV PD\ EH SURYLGHG LQ 3&, GHYLFHV
Large resource type Identifier |
This tag is the first item in the VPD storage |
String Tag |
component. It contains the name of the board in |
(0x2) |
alphanumeric characters. |
Large resource type VPD-R |
This tag contains the read only VPD keywords for a |
Tag |
board. |
(0x10) |
|
Large resource type VPD-W |
This tag contains the read/write VPD keywords for |
Tag |
the board. |
(0x11) |
|
Small resource type End Tag |
This tag identifies the end of VPD in the storage |
(0xF) |
component. |
I.3.1.1. Read-Only Fields
PN |
Board Part Number |
This keyword is provided as an extension to the |
|
|
Device ID (or Subsystem ID) in the Configuration |
|
|
Space header in Figure 6-1. |
EC |
EC Level of the Board |
The characters are alphanumeric and represent the |
|
|
engineering change level for this board. |
MN |
Manufacture ID |
This keyword is provided as an extension to the |
|
|
Vendor ID (or Subsystem Vendor ID) in the |
|
|
Configuration Space header in Figure 6-1. This |
|
|
allows vendors the flexibility to identify an |
|
|
additional level of detail pertaining to the sourcing of |
|
|
this device. |
SN |
Serial Number |
The characters are alphanumeric and represent the |
|
|
unique board Serial Number. |
Vx |
Vendor Specific |
This is a vendor specific item and the characters are |
|
|
alphanumeric. The second character (x) of the |
|
|
keyword can be 0 through Z. |
293
|
|
Revision 2.2 |
CP |
Extended Capability |
This field allows a new capability to be identified in |
|
|
the VPD area. Since dynamic control/status cannot |
|
|
be placed in VPD, the data for this field identifies |
|
|
where, in the device’s memory or I/O address space, |
|
|
the control/status registers for the capability can be |
|
|
found. Location of the control/status registers is |
|
|
identified by providing the index (a value between 0 |
|
|
and 5) of the Base Address register that defines the |
|
|
address range that contains the registers, and the |
|
|
offset within that Base Address register range where |
|
|
the control/status registers reside. The data area for |
|
|
this field is four bytes long. The first byte contains |
|
|
the ID of the extended capability. The second byte |
|
|
contains the index (zero based) of the Base Address |
|
|
register used. The next two bytes contain the offset |
|
|
(in little endian order) within that address range |
|
|
where the control/status registers defined for that |
|
|
capability reside. |
RV |
Checksum and |
The first byte of this item is a checksum byte. The |
|
Reserved |
checksum is correct if the sum of all bytes in VPD |
|
|
(from VPD address 0 up to and including this byte) |
|
|
is zero. The remainder of this item is reserved space |
|
|
(as needed) to identify the last byte of read-only |
|
|
space. The read-write area does not have a |
|
|
checksum. This field is required. |
I.3.1.2 Read/Write Fields
Vx |
Vendor Specific |
This is a vendor specific item and the characters |
|
|
are alphanumeric. The second character (x) of |
|
|
the keyword can be 0 through Z. |
Yx |
System Specific |
This is a system specific item and the characters |
|
|
are alphanumeric. The second character (x) of |
|
|
the keyword can be 0 through 9 and B through |
|
|
Z. |
YA |
Asset Tag Identifier |
This is a system specific item and the characters |
|
|
are alphanumeric. This keyword contains the |
|
|
system asset identifier provided by the system |
|
|
owner. |
RW |
Remaining Read/Write |
This descriptor is used to identify the unused |
|
Area |
portion of the read/write space. The product |
|
|
vendor initializes this parameter based on the |
|
|
size of the read/write space or the space |
|
|
remaining following the Vx VPD items. One or |
|
|
more of the Vx, Yx, and RW items are required. |
294
Revision 2.2
I.3.2. VPD Example
The following is an example of a typical VPD.
Offset |
Item |
Value |
|
|
|
0 |
Large Resource Type ID String Tag |
0x82 “Product Name” |
|
(0x02) |
|
|
|
|
1 |
Length |
0x0021 |
|
|
|
3 |
Data |
“ABCD Super-Fast |
|
|
Widget Controller” |
|
|
|
36 |
Large Resource Type VPD-R Tag (0x10) |
0x90 |
|
|
|
37 |
Length |
0x0059 |
|
|
|
39 |
VPD Keyword |
“PN” |
|
|
|
41 |
Length |
0x08 |
|
|
|
42 |
Data |
“6181682A” |
|
|
|
50 |
VPD Keyword |
“EC” |
|
|
|
52 |
Length |
0x0A |
|
|
|
53 |
Data |
“4950262536” |
|
|
|
63 |
VPD Keyword |
“SN” |
|
|
|
65 |
Length |
0x08 |
|
|
|
66 |
Data |
“00000194” |
|
|
|
74 |
VPD Keyword |
“MN” |
|
|
|
76 |
Length |
0x04 |
|
|
|
77 |
Data |
“1037” |
|
|
|
81 |
VPD Keyword |
“RV” |
|
|
|
83 |
Length |
0x2C |
|
|
|
84 |
Data |
Checksum |
|
|
|
85 |
Data |
Reserved (0x00) |
|
|
|
295
Revision 2.2
Offset |
Item |
Value |
|
|
|
128 |
Large Resource Type VPD-W Tag (0x11) |
0x91 |
|
|
|
129 |
Length |
0x007E |
|
|
|
131 |
VPD Keyword |
“V1” |
|
|
|
133 |
Length |
0x05 |
|
|
|
134 |
Data |
“65A01” |
|
|
|
139 |
VPD Keyword |
“Y1” |
|
|
|
141 |
Length |
0x0D |
|
|
|
142 |
Data |
“Error Code 26” |
|
|
|
155 |
VPD Keyword |
“RW” |
|
|
|
157 |
Length |
0x61 |
|
|
|
158 |
Data |
Reserved (0x00) |
|
|
|
255 |
Small Resource Type End Tag (0xF) |
0x78 |
|
|
|
296
|
Revision 2.2 |
central resources |
Bus support functions supplied by the host system, |
|
typically in a PCI compliant bridge or standard |
|
chipset. |
command |
See bus command. |
Configuration Address Space |
A set of 64 registers (DWORDs) used for |
|
configuration, initialization, and catastrophic error |
|
handling. This address space consists of two regions: |
|
a header region and a device-dependent region. |
configuration transaction |
Bus transaction used for system initialization and |
|
configuration via the configuration address space. |
DAC |
Dual address cycle. A PCI transaction where a 64-bit |
|
address is transferred across a 32-bit data path in two |
|
clock cycles. See also SAC. |
deadlock |
When two devices (one a master, the other a target) |
|
require the other device to respond first during a |
|
single bus transaction. For example, a master |
|
requires the addressed target to assert TRDY# on a |
|
write transaction before the master will assert IRDY#. |
|
(This behavior is a violation of this specification.) |
Delayed Transaction |
The process of a target latching a request and |
|
completing it after the master was terminated with |
|
Retry. |
device |
See PCI device. |
device dependent region |
The last 48 DWORDS of the PCI configuration space. |
|
The contents of this region are not described in this |
|
document. |
Discard Timer |
When this timer expires, a device is permitted to |
|
discard unclaimed Delayed Completions (refer to |
|
Section 3.3.3.3.3. and Appendix E). |
DWORD |
A 32-bit block of data. |
EISA |
Extended Industry Standard Architecture expansion |
|
bus, based on the IBM PC AT bus, but extended to 32 |
|
bits of address and data. |
expansion board |
A circuit board that plugs into a motherboard and |
|
provides added functionality. |
expansion bus bridge |
A bridge that has PCI as its primary interface and |
|
ISA, EISA, or Micro Channel as its secondary |
|
interface. This specification does not preclude the use |
|
of bridges to other buses, although deadlock and other |
|
system issues for those buses have not been |
|
considered. |
Function |
A set of logic that is represented by a single |
|
Configuration Space. |
298
|
Revision 2.2 |
header region |
The first 16 DWORDS of a device’s Configuration |
|
Space. The header region consists of fields that |
|
uniquely identify a PCI device and allow the device to |
|
be generically controlled. |
|
See also device dependent region. |
hidden arbitration |
Arbitration that occurs during a previous access so |
|
that no PCI bus cycles are consumed by arbitration, |
|
except when the bus is idle. |
host bus bridge |
A low latency path through which the processor may |
|
directly access PCI devices mapped anywhere in the |
|
memory, I/O, or configuration address spaces. |
Idle state |
Any clock period that the bus is idle (FRAME# and |
|
IRDY# deasserted). |
Initialization Time |
The period of time that begins when RST# is |
|
deasserted and completes 225 PCI clocks later. |
ISA |
Industry Standard Architecture expansion bus built |
|
into the IBM PC AT computer. |
keepers |
Pullup resistors or active components that are only |
|
used to sustain a signal state. |
latency |
See arbitration latency, master data latency, target |
|
initial latency, and target subsequent latency. |
Latency Timer |
A mechanism for ensuring that a bus master does not |
|
extend the access latency of other masters beyond a |
|
specified value. |
master |
An agent that initiates a bus transaction. |
Master-Abort |
A termination mechanism that allows a master to |
|
terminate a transaction when no target responds. |
master data latency |
The number of PCI clocks until IRDY# is asserted |
|
from FRAME# being asserted for the first data phase |
|
or from the end of the previous data phase. |
MC |
The Micro Channel architecture expansion bus as |
|
defined by IBM for its PS/2 line of personal |
|
computers. |
motherboard |
A circuit board containing the basic functions (e.g., |
|
CPU, memory, I/O, and expansion connectors) of a |
|
computer. |
multi-function device |
A device that implements from two to eight functions. |
|
Each function has its own Configuration Space that is |
|
addressed by a different encoding of AD[10::08] |
|
during the address phase of a configuration |
|
transaction. |
299
|
Revision 2.2 |
multi-master device |
A single-function device that contains more than one |
|
source of bus master activity. For example, a device |
|
that has a receiver and transmitter that operate |
|
independently. |
NMI |
Non-maskable interrupt. |
operation |
A logical sequence of transactions, e.g., Lock. |
output driver |
An electrical drive element (transistor) for a single |
|
signal on a PCI device. |
PCI connector |
An expansion connector that conforms to the |
|
electrical and mechanical requirements of the PCI |
|
local bus standard. |
PCI device |
A device that (electrical component) conforms to the |
|
PCI specification for operation in a PCI local bus |
|
environment. |
PGA |
Pin grid array component package. |
phase |
One or more clocks in which a single unit of |
|
information is transferred, consisting of: |
|
∙ an address phase (a single address transfer in one |
|
clock for a single address cycle and two clocks |
|
for a dual address cycle) |
|
∙ a data phase (one transfer state plus zero or more |
|
wait states) |
positive decoding |
A method of address decoding in which a device |
|
responds to accesses only within an assigned address |
|
range. See also subtractive decoding. |
POST |
Power-on self test. A series of diagnostic routines |
|
performed when a system is powered up. |
pullups |
Resistors used to insure that signals maintain stable |
|
values when no agent is actively driving the bus. |
run time |
The time that follows Initialization Time. |
SAC |
Single address cycle. A PCI transaction where a |
|
32-bit address is transferred across a 32-bit data path |
|
in a single clock cycle. See also DAC. |
shared slot |
An arrangement on a PCI motherboard that allows a |
|
PCI connector to share the system bus slot nearest the |
|
PCI bus layout with an ISA, EISA, or MC bus |
|
connector. In an MC system, for example, the shared |
|
slot can accommodate either an MC expansion board |
|
or a PCI expansion board. |
single-function device |
A device that contains only one function. |
sideband signals |
Any signal not part of the PCI specification that |
|
connects two or more PCI-compliant agents and has |
|
meaning only to those agents. |
300