Integrated Device Technology, Inc. reserves t he right to make changes to its produc ts or specifications at any time, without notice, in order to improve design or perf or mance
and to supply th e best possible product. IDT does not assume any responsibility for use of any circui try described other than the circuitry embodied in an IDT product. The
Company makes no representations that circuitry described herein is free from patent infringement or other rights of third parties which may result from its use . N o license is
granted by implication or otherwise under any patent, patent rights or other rights, of Integrated Device Technology, Inc.
GENERAL DISCLAIMER
Code examples provided by IDT are for illustrative purposes only and should not be relied upon for developing applications. Any use of the code examples below is completely
at your own risk. IDT MAKES NO REPRESENTA TIONS OR W AR RANTIE S OF ANY KIND CONCERNI NG THE NONINFR INGEMENT, QUALIT Y, SAFET Y OR SUITABILITY
OF THE CODE, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITA T ION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. FURTHER, IDT MAKES NO REP RESENTA TI ONS OR W ARRANTI ES AS T O THE TRUT H, ACCURACY OR COMPLETENES S
OF ANY STATEMENTS, INFORMATION OR MATERIALS CONCERNING CODE EXAMPLES CONTAINED IN ANY IDT PUBLICATION OR PUBLIC DISCLOSURE OR
THAT IS CONTAINED ON ANY IDT INTERNET SITE. IN NO EVENT WILL IDT BE LIABLE FOR ANY DIRECT, CONSEQUENTIAL, INCIDENTAL, INDIRECT, PUNITIVE OR
SPECIAL DAMAGES, HOWEVER THEY MAY ARISE, AND EVEN IF IDT HAS BEEN PREVIOUSLY ADVISED ABOUT THE POSSIBILITY OF SUCH DAMAGES. The code
examples also ma y b e s ubj ec t t o Uni te d S ta tes ex po rt c on trol l aw s an d m ay b e s ubj ect t o the e xpo r t or im por t la ws of ot her co un tries and it i s your re sponsi bilit y to comply with
any applicable l aws or regulations .
Integrated Device Technology's products are not authorized for use as cr itical components in life support devi ces or systems unless a specific written agreement pertaining to
such intended use is executed between the manufacturer and an officer of IDT.
1. Life support devices or systems are devices or systems which (a) are intend ed for su rgical implant into the body or (b) support or sustain life and whose failure to perform,
when properly us ed in accordance with instructions for use provid ed in the labeling, can be reasonably expected to res ult in a significant injury to the user.
2. A critical co mpo nent is an y com pon en ts of a lif e sup por t dev ice or system whose fai lu re t o perform can be re aso na bl y exp ect ed to cause the failure of the life support device
or system, or to affect its safety or effectiveness.
The IDT logo is a re gi st ere d tr ad emar k of Int eg rat ed Dev ice Tec hn olog y , Inc . I DT, I nter pr ise , R ISCo nt rol le r, R ISCo r e, RC 30 41 , R C3 05 2, RC 3081, R C32 134, RC 32 332, RC 32 333, RC 323 34 , RC3 23 36 , RC3 23 55,
RC32351, RC32 365, RC 3243 4, RC 32438, RC3 2364, R C361 00, R C4700, RC46 40, RC64145 , RC 4650, RC500 0, RC 6447 4, RC6 4475, 89TT M55x, 89TS F5xx a re tra demark s of Integ rated Devic e Tech nolo gy, I nc.
.
Powering What's N ext a nd Ena bli ng A Dig it all y C onnec te d W or ld ar e serv ice mark s of I nteg rat e d D evi ce Tec hn olo gy, Inc. Q, QS I, Sy nch r oSwit ch an d Tu rbo cloc k ar e reg iste r ed tr ade ma rk s of Q u alit y Sem ic ondu ctor, a wholly-owned subsidiary of Integrated Device Technology, Inc.
CODE DISCLAIMER
LIFE SUPPORT POLICY
Page 3
About This Manual
Notes
Introduction
This user manual includes hardware and software information on the 89HPES12N3, a member of IDT’s
PRECISE™ family of PCI Express® switching solutions offering the next-generation I/O interconnect standard.
Finding Additional Information
Information not included in this manual such as mechanicals, package pin-outs, and electrical characteristics can be found in the data sheet for this device, which is available from the IDT website (www.idt.com)
as well as through your local IDT sales representative.
Content Summary
Chapter 1, “PES12N3 Device Overview,” provides a complete introduction to the performance capabilities of the 89HPES12N3. Included in this chapter is a summary of features for the device as well as a
system block diagram and pin description.
Chapter 2, “Clocking, Reset, and Initialization,” provides a description of the two differential reference clock inputs that are used internally to generate all of the clocks required by the internal switch logic
and the SerDes.
Chapter 3, “Link Operation,” describes the operation of the link feature including polarity inversion,
link width negotiation, and lane reversal.
Chapter 4, “Switch Operation,” discusses the procedure for forwarding PCIe® TLPs between switch
ports.
Chapter 5, “Power Management,” describes the power management capability structure located in the
configuration space of each PCI-PCI bridge in the PES12N3.
Chapter 6, “Hot-Plug and Hot-Swap,” describes the behavior of the hot-plug and hot-swap features in
the PES12N3.
Chapter 7, “SMBus Interfaces,” describes the operation of the 2 SMBus interfaces on the PES12N3.
Chapter 8, “General Purpose I/O,” describes how the eight General Purpose I/O (GPIO) pins may be
individually configured as general purpose inputs, general purpose outputs, or alternate functions
Chapter 9, “Transparent Mode Operation,” describes how the PES12N3 can be configured during a
fundamental reset to operate in transparent mode or transparent mode with serial EEPROM initialization.
Chapter 10, “T est and Debug,” discusses the six test modes, in addition to the normal operating mode,
associated with the PES12N3.
Chapter 11, “JTAG Boundary Scan,” discusses an enhanced JTAG interface, including a system logic
TAP controller, signal definitions, a test data register, an instruction register, and usage considerations.
Signal Nomenclature
To avoid confusion when dealing with a mixture of “active-low” and “active-high” signals, the terms
assertion and negation are used. The term assert or assertion is used to indicate that a signal is active or
true, independent of whether that level is represented by a high or low voltage. T he term negate or negation
is used to indicate that a signal is inactive or false.
PES12N3 User Manual 1June 7, 2006
Page 4
IDT About This ManualNumeric Representations
Notes
To define the active polarity of a signal, a suffix will be used. Signals ending with an ‘N’ s hould be i nterpreted as being active, or asserted, when at a logic zero (low) level. All other signals (including clocks,
buses and select lines) will be interpreted as being active, or asserted when at a logic one (high) level. To
define buses, the most significant bit (MSB) will be on the left and least significant bit (LSB) will be on the
right. No leading zeros will be included.
Throughout this manual, when describing signal transitions, the following terminology is used. Rising
edge indicates a low-to-high (0 to 1) transition. Falling edge indicates a high-to-low (1 to 0) transition. These
terms are illustrated in Figure 1.
single clock cycle
1234
high-to-low
transition
low-to-high
transition
Figure 1 Signal Transitions
Numeric Representations
To represent numerical values, either decimal, binary, or hexadecimal formats will be used. The binary
format is as follows: 0bDDD, where “D” represents either 0 or 1; the hexadecimal format is as follows:
0xDD, where “D” represents the hexadecimal digit(s); otherwise, it is decimal.
The compressed notation ABC[x|y|z]D refers to ABCxD, ABCyD, and ABCzD.
The compressed notation ABC[x..y]D refers to ABCxD, ABC(x+1)D, ABC(x+2)D,... ABCyD.
Data Units
The following data unit terminology is used in this document.
TermWordsBytesBits
Byte1/218
Word1216
Doubleword (Dword)2432
Quadword (Qword)4864
Table 1 Data Unit Terminology
In quadwords, bit 63 is always the most significant bit and bit 0 is the least significant bit. In doublewords, bit 31 is always the most significant bit and bit 0 is the least significant bit. In words, bit 15 is always
the most significant bit and bit 0 is the leas t significant bit. In bytes, bit 7 is always the most significant bit
and bit 0 is the least significant bit.
The ordering of bytes within words is referred to as either “big endian” or “little endian.” Big endian
systems label byte zero as the most significant (leftmost) byte of a word. Little endian systems label byte
zero as the least significant (rightmost) byte of a word. See Figure 2.
PES12N3 User Manual 2June 7, 2006
Page 5
IDT About This ManualRegister Terminology
Notes
bit 0bit 31
0123
Address of Bytes within Words: Big Endian
bit 0bit 31
3210
Address of Bytes within Words: Little Endian
Figure 2 Example of Byte Ordering for “Big Endian” or “Little Endian” System Definition
Register Terminology
Software in the context of this register terminology refers to modifications made by PCIe root configuration writes, writes to registers made through the slave SMBus interface, or serial EEPROM register initialization. See Table 2.
TypeAbbreviationDescription
Hardware InitializedHWINITRegister bits are initialized by firmware or hardware mechanisms
such as pin strapping or serial EEPROM. (System firmware hardware initialization is only allowed for system integrated devices.) Bits
are read-only after initialization and can only be reset (for write-once
by firmware) with reset.
Read Only and ClearRCSoftware can read the register/bits with this attribute. Reading the
value will automatically cause the register/bit to be reset to zero.
Writing to a RC location has no effect.
Read Clear and WriteRCWSoftware can read the register/bits with this attribute. Reading the
value will automatically cause the register/bits to be reset to zero.
Writes cause the register/bits to be modified.
ReservedReservedThe value read from a reserved register/bit is undefined. Thus, soft-
ware must deal correctly with fields that are reserved. On reads, software must use appropriate masks to extract the defined bits and not
rely on reserved bits being any particular value. On writes, software
must ensure that the values of reserved bit positions are preserved.
That is, the values of reserved bit positions must first be read,
merged with the new values for other bit positions and then written
back.
Read OnlyROSoftware can only read registers/bits with this attribute. Contents are
hardwired. Writing to a RO location has no effect.
Read Only and set by
Hardware
ROSSoftware can only read registers/bits with this attribute. Contents are
set by hardware and may change. Writing to a ROS location has no
effect.
Read and WriteRWSoftware can both read and write bits with this attribute.
Table 2 Register Terminology (Sheet 1 of 2)
PES12N3 User Manual3June 7, 2006
Page 6
IDT About This ManualUse of Hypertext
Notes
TypeAbbreviationDescription
Read and Write ClearRW1CSoftware can read and write to registers/bits with this attribute. How-
ever, writing a value of zero to a bit with this attribute has no effect. A
RW1C bit can only be set to a value of 1 by a hardware event. To
clear a RW1C bit (i.e., change its value to zero) a value of one must
be written to the location. An RW1C bit is never cleared by hardware.
Read and Write when
Unlocked
ZeroZeroA zero register or bit must be written with a value of zero and returns
RWLSoftware can read the register/bits with this attribute. Writing to regis-
ter/bits with this attribute will only cause the value to be modified if
the REGUNLOCK bit in the SWCNTL register is set. When the
REGUNLOCK bit is cleared, writes are ignored and the register/bits
are effectively read-only
a value of zero when read.
Table 2 Register Terminology (Sheet 2 of 2)
Use of Hypertext
In Chapter 9 there are tables which contain register names and page numbers highlighted in blue under
the Register Definition column. In pdf files, users can jump from the source table directly to the registers by
clicking on the register name in the source table. Each register name in the table is linked directly to the
appropriate register in the register section of the chapter. To return to the source table after having jumped
to the register section, click on the same register name (in blue) in the register section.
Revision History
February 8, 2006: Initial Publication.
June 7, 2006: Added revision YC information in Chapters 1 and 9.
VID - Vendor Identification (0x000)..........................................................................................................9-17
PES12N3 User ManualxJune 7, 2006
Page 17
Chapter 1
PES12N3 Device Overview
Notes
Introduction
The 89HPES12N3 is a member of IDT’s PRECISE™ family of PCI Express® switching solutions
offering the next-generation I/O interconnect standard. The PES12N3 is a 12 lane, 3-port peripheral chip
that performs PCI Express Base switching with a feature set optimized for high performance applications
such as servers, storage, and communications/networking. It provides high-performance I/O connectivity
and switching functions between a PCI Express upstream port and two downstream ports or peer-to-peer
switching between downstream ports.
Utilizing standard PCI Express interconnect, the PES12N3 provides the most efficient high-performance
I/O connectivity solution for applications requiring high throughput, low latency, and simple board layout
with a minimum number of board layers. It provides 6 GBps (48 Gbps) of aggregate sw itching capacity
through 12 integrated serial lanes, using proven and robust IDT technology. Each lane provides 2.5 Gbps of
bandwidth in both directions. The PES12N3 is fully compliant with PCI Express Base specification 1.0a.
The PES12N3 is based on a flexible and efficient layered architecture. The PCI Express layer consists
of SerDes, Physical, Data Link and Transaction layers in compliance wi th PCI Express Base speci fication
Revision 1.0a. The PES12N3 can operate either as a store and forward or cut-through switch and is
designed to switch memory and I/O transactions. It supports eight Traffic Classes (TCs) and one Virtual
Channel (VC) with sophisticated resource management. This includes system selectable algorithms such
as round robin and weighted round-robin schemes guaranteeing bandwidth allocation and/or latency for
critical traffic classes in applications such as high throughput 10 Gigabit I/Os, streaming media for graphics,
TV tuners, and cameras.
Figure 1.1 provides a functional block diagram while Figure 1.2 illustrates the architecture of the device.
PES12N3 User Manual 1 - 1June 7, 2006
Page 18
IDT PES12N3 Device OverviewIntroduction
Notes
Port A
(Upstream Port)
Type 1
Configuration Header
PCI-PCI
Transparent
Bridge
Virtual PCI Bus
Type 1
Configuration Header
PCI-PCI
Transparent Bridge
(Device 0)
Port B
(Downstream Port)
Type 1
Configuration Header
PCI-PCI
Transparent Bridge
(Device 1)
Port C
(Downstream Port)
Figure 1.1 PES12N3 Functional Block Diagram
As shown in Figure 1.1, port A is configured as the upstream port and ports B and C as the downstream
ports. Port B resides on the internal PCI Bus at Device 0, Function 0. Port C resides on the internal PCI Bus
at Device 1, Function 0.
PES12N3 User Manual1 - 2June 7, 2006
Page 19
IDT PES12N3 Device OverviewFeatures
Notes
3-Port Switch Core
Egress
Scheduler
Input Fra m e B uf fe r
PT NP CP
Transaction
Layer
Data Link
Layer
Physical
Layer MAC/PCS
SerDes
Port Arbiter
Route
Map
Table
Retry
Buffer
Egress
Scheduler
Input Fra m e B uf fe r
PT NP CP
Transaction
Layer
Data Link
Layer
Physical
Layer MAC/PCS
SerDes
Port Arbiter
Route
Map
Table
Retry
Buffer
Egress
Scheduler
Input Fra m e Bu f fe r
PT NP CP
Transaction
Layer
Data Link
Layer
Physical
Layer MAC/PCS
SerDes
Port Arbiter
Route
Map
Table
Retry
Buffer
GPIO
Controller
Hot-Plug
Controller
Master
SMBus
Interface
Slave
SMBus
Interface
Port A
Upstream Port
Port B
Downstream Port
Port C
Downstream Porrt
Figure 1.2 PES12N3 Architectural Block Diagram
Features
High Performance PCI Express Switch
– Three x4 ports with 12 PCI Express lanes total
– Delivers 6 GBps (48 Gbps) aggregate switching capacity
– Low latency cut-through switch architecture
– Supports 128 to 2048 byte maximum payload size
– Supports one virtual channel
– PCI Express Base specification Revision 1.0a compliant
Flexible Architecture with Numerous Configuration Options
– Port arbitration schemes utilizing round robin or weighted round robin algorithms
– Supports automatic per port link with negotiation (x4, x2, or x1)
– Supports static lane reversal on all ports
– Supports polarity inversion
– Supports locked transactions, allowing use with legacy software
– Ability to load device configuration from serial EEPROM
Highly Integrated Solution
– Requires no external components
– Incorporates on-chip internal memory for packet buffering and queueing
– Integrates 12 2.5 Gbps embedded SerDes, 8B/10B encoder/decoder (no separate transceivers
needed)
Reliability, Availability, and Serviceability (RAS) Features
– Internal end-to-end parity protection on all TLPs ensures data integrity even in systems that do not
• Compatible with Hot-Plug I/O expanders used on PC motherboards
– Supports Hot-Swap
Power Management
– Supports PCI Express Power Management Interface specification, Revision 1.1 (PCI-PM)
– Unused SerDes are disabled
– Supports Advanced Configuration and Power Interface Specification, Revision 2.0 (ACPI)
supporting active link state
Testability and Debug Features
– Supports IEEE 1149.6 JTAG
– Built in SerDes Pseudo-Random Bit Stream (PRBS) generator
– Ability to read and write any internal register via the SMBus
– Ability to bypass link training and force any link into any mode
– Provides statistics and performance counters
Two SMBus Interfaces
– Slave interface provides full access to all software-visible registers by an external SMBus master
– Master interface provides connection for an optional serial EEPROM used for initialization
– Master interface is also used by an external Hot-Plug
I/O expander
– Master and slave interfaces may be tied together so the PES12N3 can act as both master and
slave
8 General Purpose Input/Output pins
Packaged in 19x19mm 324 ball BCG with 1mm ball spacing
System Identification
Vendor ID
All vendor IDs in the device are hardwired to 0x111D which corresponds to Integrated Device Technology, Inc.
Device ID
The device IDs for the PES12N3 are shown in Table 1.1.
PCI Device
Transparent bridge associated with Ports A, B, and C
Table 1.1 PES12N3 Offset Device IDs
Offset
Device ID
0x8018
PES12N3 User Manual1 - 4June 7, 2006
Page 21
IDT PES12N3 Device OverviewSystem Identification
Notes
Revisio n ID
All revision IDs in the PES12N3 are set to the same value. The value of the revision ID is determined in
one place and is easily modified during a metal mask change. The revision ID shall be incremented with
each all layer or metal mask change.
Revision IDDescription
0x1Corresponds to YA silicon
0x2Corresponds to YB silicon
0x4Corresponds to YC silicon
Table 1.2 PES12N3 Revision IDs
JTAG ID
The JTAG ID is:
– Version: Same value as Revision ID. See the Revision ID section above.
– Part number: Same value as base Device ID. See the Device ID section above.
– Manufacture ID: 0x33
– LSB: 0x1
PES12N3 User Manual1 - 5June 7, 2006
Page 22
IDT PES12N3 Device OverviewLogic Diagram
Notes
Logic Diagram
Reference
Clock
PCI Express
Switch
SerDes Input
Port A
PCI Express
Switch
SerDes Input
Port B
PEREFCLKP
PEREFCLKN
REFCLKM
PEALREV
PEARP[0]
PEARN[0]
PEARP[1]
PEARN[1]
PEARP[3]
PEARN[3]
PEBLREV
PEBRP[0]
PEBRN[0]
PEBRP[1]
PEBRN[1]
PEBRP[3]
PEBRN[3]
...
...
2
2
PEATP[0]
PEATN[0]
PEATP[1]
PEATN[1]
PCI Express
Switch
SerDes Output
Port A
PEATP[3]
PEATN[3]
PEBTP[0]
PEBTN[0]
PCI Express
Switch
SerDes Output
Port B
...
PEBTP[1]
PEBTN[1]
PEBTP[3]
PEBTN[3]
PCI Express
Switch
SerDes Input
Port C
Master
SMBus Interface
Slave
SMBus Interface
System
Pins
PECLREV
PECRP[0]
PECRN[0]
PECRP[1]
PECRN[1]
PECRP[3]
PECRN[3]
MSMBADDR[4:1]
MSMBCLK
MSMBDAT
SSMBADDR[5,3:1]
SSMBCLK
SSMBDAT
TSTRSVD
MSMBSMODE
CCLKDS
CCLKUS
RSTHALT
PERSTN
SWMODE[3:0]
PES12N3
...
4
4
4
Figure 1.3 PES12N3 Logic Diagram
8
......
PECTP[0]
PECTN[0]
PECTP[1]
PECTN[1]
PECTP[3]
PECTN[3]
GPIO[7:0]
JTAG _ T CK
JTAG _ T DI
JTAG _ T DO
JTAG _ T MS
JTAG _ T RST_N
VDDCORE
V
IO
DD
V
PE
DD
V
APE
DD
V
SS
VTTPE
PCI Express
Switch
SerDes Output
Port C
General Purpose
I/O
JTAG Pins
Power/Ground
PES12N3 User Manual1 - 6June 7, 2006
Page 23
IDT PES12N3 Device OverviewPin Description
Notes
Pin Description
The following tables lists the functions of the pins provided on the PES12N3. Some of the functions
listed may be multiplexed onto the same pin.
The active polarity of a signal is defined using a suffix. Signals ending with an “N” are defined as being
active, or asserted, when at a logic zero (low) level. All other signals (including clocks, buses, and select
lines) will be interpreted as being active, or asserted, when at a logic one (high) level.
SignalTypeName/Description
PEALREVIPCI Express Port A Lane Reverse. When this bit is asserted, the lanes of
PCI Express Port A are reversed. This value may be overridden by modifying the value of the PALREV bit in the PA_SWCTL register.
PEARP[3:0]
PEARN[3:0]
PEATP[3:0]
PEATN[3:0
PEBLREVIPCI Express Port B Lane Reverse. When this bit is asserted, the lanes of
PEBRP[3:0]
PEBRN[3:0]
PEBTP[3:0]
PEBTN[3:0]
IPCI Express Port A Serial Data Receive. Differential PCI Express receive
pairs for port A.
OPCI Express Port A Serial Data Transmit. Differential PCI Express trans-
mit pairs for port A
PCI Express Port B are reversed. This value may be overridden by modifying the value of the PBLREV bit in the PA_SWCTL register.
IPCI Express Port B Serial Data Receive. Differential PCI Express receive
pairs for port B.
OPCI Express Port B Serial Data Transmit. Differential PCI Express trans-
mit pairs for port B
PECLREVIPCI Express Port C Lane Reverse. When this bit is asserted, the lanes of
PCI Express Port C are reversed. This value may be overridden by modifying the value of the PCLREV bit in the PA_SWCTL register.
PECRP[3:0]
PECRN[3:0]
PECTP[3:0]
PECTN[3:0]
REFCLKP[1:0]
REFCLKN[1:0]
REFCLKMIPCI Express Reference Clock Mode Select. These signals select the fre-
IPCI Express Port C Serial Data Receive. Differential PCI Express receive
pairs for port C.
OPCI Express Port C Serial Data Transmit. Differential PCI Express trans-
mit pairs for port C
IPCI Express Reference Clock. Differential reference clock pair input. This
clock is used as the reference clock by on-chip PLLs to generate the clocks
required for the system logic and on-chip SerDes. The frequency of the differential reference clock is determined by the REFCLKM signal.
quency of the reference clock input.
0x0 - 100 MHz
0x1 - 125 MHz
Table 1.3 PCI Express Interface Pins
PES12N3 User Manual1 - 7June 7, 2006
Page 24
IDT PES12N3 Device OverviewPin Description
Notes
SignalTypeName/Description
MSMBADDR[4:1]IMaster SMBus Address. These pins determine the SMBus address of the
serial EEPROM from which configuration information is loaded.
MSMBCLKI/OMaster SMBus Clock. This bidirectional signal is used to synchronize
transfers on the master SMBus.
MSMBDATI/OMaster SMBus Data. This bidirectional signal is used for data on the mas-
ter SMBus.
SSMBADDR[5,3:1]ISlave SMBus Address. These pins determine the SMBus address to
which the slave SMBus interface responds.
SSMBCLKI/OSlave SMBus Clock. This bidirectional signal is used to synchronize trans-
fers on the slave SMBus.
SSMBDATI/OSlave SMBus Data. This bidirectional signal is used for data on the slave
SMBus.
Table 1.4 SMBus Interface Pins
SignalTypeName/Description
GPIO[0]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
GPIO[1]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
GPIO[2]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: IOEXPINTN
Alternate function pin type: Input
Alternate function: Hot-Plug I/O expander interrupt input
GPIO[3]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: PAABN
Alternate function pin type: Input
Alternate function: Port A attention button Input
GPIO[4]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: PAAIN
Alternate function pin type: Output
Alternate function: Port A attention indicator output
GPIO[5]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: PAPIN
Alternate function pin type: Output
Alternate function: Port A power indicator output
GPIO[6]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
GPIO[7]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Table 1.5 General Purpose I/O Pins
PES12N3 User Manual1 - 8June 7, 2006
Page 25
IDT PES12N3 Device OverviewPin Description
Notes
SignalTypeName/Description
CCLKDSICommon Cloc k Downstream. The assertion of this pin indicates that all
downstream ports are using the same clock source as that provided to
downstream devices.This bit is used as the initial value of the Slot Clock
Configuration bit in all of the Link Status Registers for downstream ports.
The value may be override by modifying the SCLK bit in the PB_PCIELSTS
or PC_PCIELSTS register.
CCLKUSICommo n Cloc k Upstrea m. The assertion of this pin indicates that the
upstream port is using the same clock source as the upstream device. This
bit is used as the initial value of the Slot Clock Configuration bit in the Link
Status Register for the upstream port. The value may be overridden by
modifying the SCLK bit in the PA_PCIELSTS register.
MSMBSMODEIMaster SMBus Slow Mode. The assertion of this pin indicates that the
master SMBus should operate at 100 KHz instead of 400 kHz. This value
may not be overridden.
PERSTNIFundamental Reset. Assertion of this signal resets all logic inside the
PES12N3 and initiates a PCI Express fundamental reset.
RSTHALTIReset Halt. When this signal is asserted during a PCI Express fundamental
reset, the PES12N3 executes the reset procedure and remains in a reset
state with the Master and Slave SMBuses active. This allows software to
read and write registers internal to the device before normal device operation begins. The device exits the reset state when the RSTHALT bit is
cleared in the PA_SWCTL register by an SMBus master.
TSTRSVDIReserved. Reserved for future test mode. Must be tied to ground.
SWMODE[3:0]ISwitch Mode. These configuration pins determine the PES12N3 switch
operating mode.
0x0 - Transparent mode
0x1 -Transparent mode with serial EEPROM initialization
0x2 through 0x7 - Reserved
0x8 - 10-bit loopback test mode
0x9 - Reserved
0xA - Internal pseudo random bit stream self-test test mode
0xB - External pseudo random bit stream self-test test mode
0xC - Reserved
0xD - SerDes broadcast test mode
0xE - 0xF Reserved
Table 1.6 System Pins
PES12N3 User Manual1 - 9June 7, 2006
Page 26
IDT PES12N3 Device OverviewPin Description
Notes
SignalTypeName/Description
JTAG_TCKIJTAG Clock. This is an input test clock used to clock the shifting of data
into or out of the boundary scan logic or JTAG Controller. JTAG_TCK is
independent of the system clock with a nominal 50% duty cycle.
JTAG_TDIIJTAG Data Input. This is the serial data input to the boundary scan logic or
JTAG Controller.
JTAG_TDOOJTAG Data Output. This is the serial data shifted out from the boundary
scan logic or JTAG Controller. When no data is being shifted out, this signal
is tri-stated.
JTAG_TMSIJTAG Mode. The value on this signal controls the test mode select of the
boundary scan logic or JTAG Controller.
JTAG_TRST_NIJTAG Reset. This active low signal asynchronously resets the boundary
scan logic and JTAG TAP Controller. An external pull-up on the board is
recommended to meet the JTAG specification in cases where the tester
can access this signal. However, for systems running in functional mode,
one of the following should occur:
1) actively drive this signal low with control logic
2) statically drive this signal low with an external pull-down on the board
Table 1.7 Test Pins
SignalTypeName/Description
V
COREICore VDD. Power supply for core logic.
DD
V
IOII/O VDD. LVTTL I/O buffer power supply.
DD
VDDPEIPCI Express Digital Power. PCI Express digital power used by the digital
power of the SerDes.
VDDAPEIPCI Express Analog Power. PCI Express analog power used by the PLL
and bias generator.
V
PEIPCI Express Termination Power.
TT
V
SS
IGround.
Table 1.8 Power and Ground Pins
PES12N3 User Manual1 - 10June 7, 2006
Page 27
IDT PES12N3 Device OverviewPin Characteristics
Notes
Pin Characteristics
Some input pads of the PES12N3 do not contain internal pull-ups or pull-downs. Unused inputs should
be tied off to appropriate levels. This is especially critical for unused control signal inputs which, if left
floating, could adversely affect operation. Also, any input pin left floating can cause a slight increase in
power consumption.
FunctionPin NameTypeBuffer
PCI Express Interface
PEALREVILVTTLInputpull-down
PEARN[3:0]ILVDSSerial link
PEARP[3:0]ILVDSSerial link
PEATN[3:0]OLVDSSerial link
PEATP[3:0]OLVDSSerial link
PEBLREVILVTTLInputpull-down
PEBRN[3:0]ILVDSSerial link
PEBRP[3:0]ILVDSSerial link
PEBTN[3:0]OLVDSSerial link
PEBTP[3:0]OLVDSSerial link
I/O
Type
Internal
Resistor
Notes
PECLREVILVTTLInputpull-down
PECRN[3:0]ILVDSSerial link
PECRP[3:0]ILVDSSerial link
PECTN[3:0]OLVDSSerial link
PECTP[3:0]OLVDSSerial link
PEREFCLKN[1:0]ILVDSSerial link
PEREFCLKP[1:0]ILVDSSerial link
REFCLKMILVTTLInputpull-down
The PES12N3 has two differential reference clock inputs that are used internally to generate all of the
clocks required by the internal switch logic and the SerDes. While not required, it is recommended that both
reference clock input pairs be driven from a common clock source. There are no skew requirements
between the reference clock inputs.The frequency of the reference clock inputs may be selected by the
Reference Clock Mode Select (REFCLKM) input.
Each of the reference clock differential inputs feeds six on-chip PLLs. Each PLL generates a 2.5 GHz
clock which is used by four SerDes lanes and produces a 250 MHz core clock.The 250 MHz core clock
output from one of the six internal PLLs is used as the system clock for internal switch logic.
Initialization
A boot configuration vector consisting of the signals listed in Table 2.2 is sampled by the PES12N3
during a fundamental reset when PERSTN is negated. The boot configuration vector defines essential
parameters for switch operation.
While basic switch operation may be configured using signals in the boot configuration vector, advanced
switch features require configuration via an external serial EEPROM. The external serial EEPR OM allows
modification of any bit in any software visible register. See Chapter 7, SMBus Interfaces, for more information on the serial EEPROM.
The external serial EEPROM and slave SMBus interface may be used to override the function of some
of the signals in the boot configuration vector during a fundamental reset. The signals that may be overridden are noted in Table 2.2.
The state of all of the boot configuration signals in Table 2.2 sampled during the most recent cold reset
may be determined by reading the PA_SWSTS register.
PES12N3 User Manual 2 - 1June 7, 2006
Page 30
IDT Clocking, Reset, and InitializationInitialization
Notes
Signal
CCLKDSYCommon Clock Downstream. The assertion of this pin indi-
CCLKUSYCommon Clock Upstream. The assertion of this pin indicates
MSMBSMODE NMaster SMBus Slow Mode. The assertion of this pin indicates
PEALREVYPCI Express Port A Lane Reverse. When this pin is asserted,
PEBLREVYPCI Express Port B Lane Reverse. When this pin is asserted,
May Be
Overridden
Description
cates that all downstream ports are using the same clock source
as that provided to downstream devices.This pin is used as the
initial value of the Slot Clock Configuration bit in all of the Link
Status Registers for downstream ports. The value may be overridden by modifying the SCLK bit in the PB_PCIELSTS or
PC_PCIELSTS register.
that the upstream port is using the same clock source as the
upstream device. This pin is used as the initial value of the Slot
Clock Configuration bit in the Link Status Register for the
upstream port. The value may be overridden by modifying the
SCLK bit in the PA_PCIELSTS register.
that the master SMBus should operate at 100 KHz instead of
400 KHz.
the lanes of PCI Express Port A are reversed. This value may
be overridden by modifying the value of the PALREV bit in the
PA_SWCTL register.
the lanes of PCI Express Port B are reversed. This value may
be overridden by modifying the value of the PBLREV bit in the
PA_SWCTL register.
PECLREVYPCI Express Port C Lane Reverse. When this pin is asserted,
the lanes of PCI Express Port C are reversed. This value may
be overridden by modifying the value of the PCLREV bit in the
PA_SWCTL register.
REFCLKMNPCI Express Reference Clock Mode Select. These signals
select the frequency of the reference clock input.
0x0 - 100 MHz
0x1 - 125 MHz
Table 2.2 Boot Configuration Vector Signals (Part 1 of 2)
PES12N3 User Manual2 - 2June 7, 2006
Page 31
IDT Clocking, Reset, and InitializationReset
Notes
Signal
May Be
Overridden
Description
RSTHALTYReset Halt. When this signal is asserted during a PCI Express
fundamental reset, the PES12N3 executes the reset procedure
and remains in a reset state with the Master and Slave
SMBuses active. This allows software to read and write registers internal to the device before normal device operation
begins. The device exits the reset state when the RSTHALT bit
is cleared in the PA_SWCTL register through the SMBus.
The value may be overridden by modifying the RSTHALT bit in
the PA_SWCTL register.
TSTRSVDNReserved. Reserved for future test mode. Must be tied to
ground.
SWMODE[3:0]NSwitch Mode. These configuration pins determine the
PES12N3 switch operating mode.
0x0 - Transparent mode
0x1 -Transparent mode with serial EEPROM initialization
0x2 through 0x7 - Reserved
0x8 - 10-bit loopback test mode
0x9 - Reserved
0xA - Internal pseudo random bit stream self-test test mode
0xB - External pseudo random bit stream self-test test mode
0xC - Reserved
0xD - SerDes broadcast test mode
0xE - Reserved
0xF - Reserved
Table 2.2 Boot Configuration Vector Signals (Part 2 of 2)
Reset
PCI Express® defines two reset categories: fundamental reset and hot reset. A fundamental reset
causes all associated logic to be returned to an initial state. A hot reset causes all associated logic to be
returned to an initial state, but does not cause the state of register fields denoted as “sticky” to be modified.
There are two sub-categories of fundamental reset: cold reset and warm reset. A cold reset occurs
following a device being powered on and assertion of PERSTN. A warm reset i s a fundamental reset that
occurs without removal of power.
A summary of reset conditions and their effect is exhibited in Table 2.3.
Global
Fund.
Reset
Hot
Reset to
Entire
Device
Master SMBusYNNN
Slave SMBusYNNN
Serial EEPROM Initial-
ization
Y
if mode
NNN
requires it
Global
Hot
Reset to
Downstr
eam
Ports
Local
Hot
Reset
Table 2.3 Reset Conditions and Their Effect (Part 1 of 2)
PES12N3 User Manual2 - 3June 7, 2006
Page 32
IDT Clocking, Reset, and InitializationReset
Notes
Global
Fund.
Reset
Hot
Reset to
Entire
Device
Switch CoreYYN (flush
Global
Hot
Reset to
Downstr
eam
Ports
Local
Hot
Reset
N
buffer
only)
Port A All Registers YNNN
Port A All Registers
YYNN
Except Those of Type
Sticky or RWL
Port A Transaction LayerYYNN
Port A Data Link LayerYYNN
Port A Phy LayerYYNN
Port B All Registers YNNN
Port B All Registers
YYYN
Except Those of Type
Sticky or RWL
Port B Transaction LayerYYYN
Port B Data Link LayerYYYY if
selected
Port B Phy LayerYYYY if
selected
Port B Downstream Hot
Reset Req.
NYYY if
selected
Port C All Registers YNNN
Port C All Registers
YYYN
Except Those of Type
Sticky or RWL
Port C Transaction LayerYYYN
Port C Data Link LayerYYYY if
selected
Port C Phy LayerYYYY if
selected
Port C Downstream Hot
Reset Req.
NYYY if
selected
Table 2.3 Reset Conditions and Their Effect (Part 2 of 2)
PES12N3 User Manual2 - 4June 7, 2006
Page 33
IDT Clocking, Reset, and InitializationReset
Notes
Fundamental R eset
A fundamental reset of the entire device may be initiated by one of three conditions:
– A cold reset initiated by a power-on and the assertion of the PCI Express Reset (PERSTN) input
pin.
– A warm reset initiated by the assertion of the PCI Express Reset (PERSTN) input pin while power
is on.
– A warm reset initiated by the writing of a one to the Reset (RST) bit in the Port A Switch Control
(PA_SWCTL) register.
When the device is configured to operate in a test mode, then the reset sequence described in section
Device Test Modes on page 10-1 is executed. Otherwise, when configured to operate in normal mode, the
following reset sequence is executed.
1. Wait for the fundamental reset condition to clear (e.g., negation of PERSTN).
2. On negation of PERSTN, sample the boot configuration signals listed in Table 2.2.
3. On negation of PERSTN, the SWMODE[3:0] signals are examined to determine the switch operating
mode.
4. The PLL is initialized.
5. SerDes CDR Locking and Link training begins. While this is in progress, proceed to step 6.
6. If the Reset Halt (RSTHALT) pin is asserted, the RSTHALT bit in the PA_SWSTS register is set.
7. If the switch operating mode is not a test mode, then the reset to the PCI Express stacks and associated logic is negated but they are held in a quasi-reset state in which the following actions occur.
All links enter an active Link Training state within 80ms of the clearing of the fundamental reset
condition.
Within 100ms of the clearing of the fundamental reset condition, all of the stacks are able to process configuration transactions and respond to these transactions with a configuration request retry
status completion. All other transactions are ignored.
8. The master SMBus operating frequency is initialized.
The state of the MSMBSMODE signal is examined. If it is asserted, then the master SMBus is initialized to operate at 100 KHz rather than 400 KHz.
9. The slave SMBus is taken out of reset and initialized.
10. The master SMBus is taken out of reset and initialized.
11. If the selected switch operating mode is one that requires initialization from the serial EEPROM, then
the contents of the serial EEPROM are read and the appropriate PES12N3 registers are updated.
If a one is written by the serial EEPROM to the Link Retrain (LRET) bit in any PCI Express Link
Control (PCIELCTL) register, then link retraining is initiated on that port using the current link
parameters. Note that link retraining may be forced on the upstream port when the REGUNLOCK
bit is set in the PA_SWCTL register.
If an error is detected during loading of the serial EEPROM, then loading of the serial EEPROM is
aborted and the RSTHALT bit is set in the PA_SWCTL register. Error information is recorded in the
PA_SMBUSSTS register.
When serial EEPROM initialization completes or when an error is detected, the DONE bit in the
PES12N3 User Manual2 - 5June 7, 2006
Page 34
IDT Clocking, Reset, and InitializationReset
Notes
PA_SMBUSSTS register is set.
12. Wait for link training on all ports to complete or fail.
1
13. If the Reset Halt (RSTHALT) bit is set in the PA_SWCTL register, all of the logic is held in a reset
state except the master and slave SMBuses, the control/status registers, and the stacks which
continue to be held in a quasi-reset state and respond to configur ation transactions with a retry. The
device remains in this state until the RSTHALT bit is cleared via the slave SMBus. In this mode, an
external agent may read and write any internal control and status registers and may access the
external serial EEPROM via the PA_EEPROMINTF register.
14. Normal device operation begins.
The PCIe® standard specifies that normal operation should begin within 1.0 second after a fundamental
reset of a device. The reset sequence above guarantees that normal operation will begin within thi s period
as long as the serial EEPROM initialization process completes within 200 ms. Under normal circumstances,
200 ms is more than adequate to initialize every register in the device even with a Master SMBus operating
frequency of 100 KHz.
Serial EEPROM initialization may cause writes to register fiel ds that initiate side effects such as link
retraining. These side effects are initiated at the point at which the write occurs. Therefore, serial EEPROM
initialization should be structured in a manner so as to ensure proper configuration prior to initiation of these
side effects.
The operation of a fundamental reset in Transparent mode with serial EEPROM initialization (i.e.,
SWMODE[3:0] = 0x1) is illustrated in Figure 2.1.
Device ready for
normal operation
Ready for Normal Operation
ReadySerial EEPROM Init ialization
REFCLK*
Vdd
PERSTN
RSTHALT
SerDes
Stacks
Master SMBus
Slave SMBus
Tpvperl
* Clock not shown to scale
Boot vector sampled
1.01 ms
PLL Reset an d Lock
< 100 ms
up to 12 µs
CDR Reset & LockReady for Normal Operation
Quasi Reset Mode
< 1 sec
Link Training
Ready
Figure 2.1 Fundamental Reset in Transparent Mode with Serial EEPROM initialization
Hot Reset
A hot reset may be initiated globally to the entire device, globally to downstream ports or locally to downstream port(s).
Globally Initiated Hot Reset To Entire Device
A hot reset is initiated globally to the entire device when any of the following conditions occur.
– Reception of TS1 ordered-sets on the upstream port indicating a hot reset.
– Data link layer of the upstream port transitions to the DL_Down state.
1.
While link training is in progress, a stack responds to configuration retry requests with a configuration request
retry status completion and ignores all other transactions. This process stops when link training successfully
completes, a device is not detected on the link, or when link training fails 16 times.
PES12N3 User Manual2 - 6June 7, 2006
Page 35
IDT Clocking, Reset, and InitializationReset
Notes
Hot reset is only propagated downstream. TS1 ordered-sets indicating a hot reset received on a down-
stream port do not result in a hot reset of the downstream port or any function inside the switch.
When a globally initiated hot reset occurs, all of the logic associated with the transparent bridges, stacks
and the switch core are reset except for the PLLs, SerDes, master SMBus interface, slave SMBus interface,
and some registers. Regardless of the switch operating mode, a hot-reset does not result in reloading of the
serial EEPROM.
The value of register fields denoted as “sticky” or as Read and Write when Unlocked (i.e., RWL) are
preserved in all ports across a hot-reset. All other register fields in all ports are reset to their initial values.
When a hot reset is initiated globally, each downstream port shall send a hot-reset message to its link
partner prior to being reset.
Globally Initiated Hot Reset To Downstream Ports
A hot reset is initiated globally to downstream ports when the following condition occurs
– A one is written to the Secondary Bus Reset (SRESET) bit in the upstream port’s (port A) Bridge
Control Register (BCTRL). See BCTRL - Bridge Control (0x03E) on page 9-25.
When a globally initiated hot reset is initiated to downstream ports, all of the logic associated with the
transparent bridges, stacks and FIFOs in the switch core associated with the downstream ports are reset
except for the PLLs, SerDes, master SMBus interface, slave SMBus interface, and some registers. Regardless of the switch operating mode, it does not result in reloading of the serial EEPROM.
The value of register fields denoted as “sticky” or as Read and Write when Unlocked (i.e., RWL) in
downstream ports are preserved. All other register fields are reset to their initial values.
When a hot reset is initiated globally to downstream ports, each downstream port shall send a hot-reset
message to its link partner prior to being reset.
Unlike a globally initiated hot reset to the entire device, a globally initiated hot reset to downstream ports
does not affect the state of the upstream port’s configuration register except those required to update port
status.
Locally Initiated Hot Reset to a Downstream Port
A hot reset is initiated locally to a downstream port by writing to the SRESET bit of a downstream port’s
BCTRL registers. When this occurs, a hot-reset message is sent on that port to its link partner. After the
message is sent, the phy layer is effectively reset.
A locally initiated hot reset does not affect the state of any port (i.e., transparent bridge) configuration
register except those required to update port status.
PES12N3 User Manual2 - 7June 7, 2006
Page 36
IDT Clocking, Reset, and InitializationReset
Notes
PES12N3 User Manual2 - 8June 7, 2006
Page 37
Chapter 3
Link Operation
Notes
Introduction
The PES12N3 contains three ports. The default link width of each port is x4 and the SerDes lanes are
statically assigned to a port.
Polarity Inversion
Each port of the PES12N3 supports automatic polarity inversion as required by the PCIe® specification.
Polarity inversion is a function of the receiver and not the transmitter. The transmitter never inverts its data.
During link training, the receiver examines symbols six through 16 of the TS1 and TS2 ordered sets for
inversion of the PExAP[n] and PExAN[n] signals. If an inversion is detected, then logic for the receiving lane
automatically inverts received data.
Polarity inversion is a lane and not a link function. Therefore, it is possible for some lanes of link to be
inverted and for others to not be inverted.
Link Width Negotiation
The PES12N3 supports the option link variable width negotiation feature outlined in the PCIe specification. During link training, Each of the x4 ports is capable of negotiating to a x4, x2 or x1 link width. The
negotiated width of each link may be determined from the Link Width (LW) field in the corresponding port’s
PCI Express® Link Status (PCIELSTS) register.
The Maximum Link Width (MAXLNKWDTH) field in a port’s PCI Express Link Capabilities (PCIELCA P)
register contains the maximum link width of the port. This field is of RWL type and may be modified when
the REGUNLOCK bit is set in the PA_SWCTL register. Modification of this field allows the maximum link
width of the port to be configured. The new link width takes effect the next time link training occurs.
To force a link width to x2 despite a link partner’s ability to negotiate to x4, the MAXLNKWDTH field
could be configured through Serial EEPROM initialization and link retraining forced. Assuming the link
partner has a link width greater than or equal to x2 and the capability to negotiate to a width of x2, the link
width will negotiate to x2.
When a link negotiates to a width less than x4, the unused lanes are put in a low power state (i.e. L1
state).
Lane Reversal
The PCIe specification describes an optional lane reversal feature. The PES12N3 does not support the
automatic lane reversal feature outlined in the PCIe specification. How ever, it does support static lane
reversal on a per port basis.
Associated with each PES12N3 switch port is a lane reversal signal. The lane reversal s ignal for port A
is PEALREV, for port B is PEBLREV, and port C is PECLREV. The status of the lane reversal s ignals
sampled during a fundamental reset may be determined from the PALREV, PBLREV and PCLREV fields in
the PA_SWSTS register.
The port lane reversal signals are sampled during a fundamental reset and used as the initial value of
the PALREV, PBLREV and PCLREV fields in the PA_SWCTL register. When these bits are set, then the
lanes of the corresponding port(s) are reversed during link training.
Lane reversal mapping for the various non-trivial maximum link width configurations is illustrated in
Figures 3.1 and 3.2.
PES12N3 User Manual 3 - 1June 7, 2006
Page 38
IDT Link OperationLane Reversal
Notes
PES12N3
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
lane 0
lane 1
lane 2
lane 3
(a) x4 Port with PExLREV negated
PES12N3
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
lane 0
lane 1
(c) x2 Port with PExLREV negated
lane 0
PES12N3
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES12N3
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
lane 3
lane 2
lane 1
lane 0
(b) x4 Port with PExLREV asserted
PExRP[0]
PES12N3
PExRP[1]
PExRP[2]
PExRP[3]
lane 1
lane 0
(d) x2 Port with PExLREV asserted
PExRP[0]
PES12N3
PExRP[1]
PExRP[2]
PExRP[3]
lane 0
(e) x1 Port with PExLREV negated
(f) x1 Port with PExLREV asserted
Figure 3.1 Lane Reversal for Maximum Link Width of x4 (MAXLNKWDTH[1:0]=0x2)
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES12N3
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
lane 0
lane 1
(a) x2 Port with PExLREV negated
lane 0
PES12N3
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
(c) x1 Port with PExLREV negated
PES12N3
(b) x2 Port with PExLREV asserted
PES12N3
(d) x1 Port with PExLREV asserted
lane 1
lane 0
lane 0
Figure 3.2 Lane Reversal for Maximum Link Width of x2 (MAXLNKWDTH[1:0]=0x1)
PES12N3 User Manual3 - 2June 7, 2006
Page 39
IDT Link OperationLink Retraining
Notes
When link training occurs, the corresponding lane reversal bits in the PA_SWCTL register are examined.
If a bit is set, then the lanes associated with that link are revered. This mechanism may be used to configure
lane reversal via the serial EEPROM, slave SMBus, or root.
Link Retraining
Link retraining should not cause either a downstream component or an upstream component to reset or
revert to default values.
Link Down
When a link goes down, all TLPs received by the port and queued in the switch are discarded and all
TLPs received by other ports and destined to the port whose link is down are treated as Unsupported
Requests (UR). While a link is down, it is possible to perform configuration read and write operations to the
PCI-PCI bridge associated with the link. However, it is possible to lose configuration read or write comple-
tions when TLPs queued in the switch are discarded.
with the transaction(s) will time-out and the transaction will be retired.
When a link comes up, flow control credits for the configured size of the IFB FIFOs are advertised.
1
If this occurs, the root’s completion timer associated
Slot Power Limit Support
The Set_Slot_Power_Limit message is used to convey a slot power limit value from a downstream
switch port (i.e., ports B or C) to the upstream port of a connected device or switch. A
Set_Slot_Power_Limit message is set by downstream switch ports when either of the following events
occurs:
– A configuration write is performed to the corresponding PCIESCAP register when the link associ-
ated with the downstream port is up.
– A link associated with the downstream port transitions from a non-operational state to an opera-
tional (i.e., up) state.
1.
In the case of a configuration write that causes link retraining or a secondary bus reset, a completion corre-
sponding to the configuration write is always returned and never lost.
PES12N3 User Manual3 - 3June 7, 2006
Page 40
IDT Link OperationSlot Power Limit Support
Notes
PES12N3 User Manual3 - 4June 7, 2006
Page 41
Chapter 4
Switch Operation
Notes
Introduction
The PES12N3 utilizes an input buffered cut-through switch to forward PCIe® TLPs between sw itch
ports. At a high level the switch may be viewed as consisting of three PCIe s tacks and a switch core. The
PCIe stacks are each responsible for performing the per port Phy, data link and transaction layer functions
defined in the PCIe specification. The switch core is responsible for maintaining routing information in route
map tables, maintaining per port ingress and egress flow control information, buffering TLPs, and
forwarding TLPs between stacks.
An architectural block diagram of the PES12N3 and switch core is provided in Figure 1.2 of Chapter 1.
The buffering and data flow of the switch is graphically depicted in Figure 4.1 below.
Note that an ingress stack can transfer a TLP to its own egress stack through the switch core. This path
is necessary since all transactions in the PES12N3 are routed through the switch core, even those that
could be satisfied locally, due to the fact that the switch core is responsible for maintaining flow control information.
Port A
Link
Input
Port A Stack
Ingress Functions
Posted FIFO
Non-Posted FIFO
Completion FIFO
Port A Stack
Egress Functions
Replay Buffer
Port A
Link
Output
Port B
Link
Input
Port C
Link
Input
Port B Stack
Ingress Functions
Port C Stack
Ingress Functions
Posted FIFO
Non-Posted FIFO
Completion FIFO
Posted FIFO
Non-Posted FIFO
Completion FIFO
Port B Stack
Egress Functions
Replay Buffer
Port C Stack
Egress Functions
Replay Buffer
Port B
Link
Output
Port C
Link
Output
Figure 4.1 PES12N3 Switch Data Flow and Buffering
TLPs are received by a port stack and passed to the switch core. Associated with each port in the switch
core are three input buffers. One for posted transactions, one for non-posted transactions and one for
completions. The size of each of these buffers is shown in T able 4.1. Associated with each TLP in a buffer is
a descriptor. Thus, a buffer has a limitation on the total number of TLPs that can be stored as well as on the
number of bytes.
PES12N3 User Manual 4 - 1June 7, 2006
Page 42
IDT Switch OperationIntroduction
Notes
BufferSize and Limitations
Posted FIFO4 KB and up to 32 TLPs
Non-posted FIFO1 KB and up to 32 TLPs
Completions FIFO4 KB and up to 32 TLPs
Egress Stack Replay Buffer
1
5120 bytes and up to 15 TLPs
1.
Stored with each TLP is a 32-bit LCRC as well as other information.
Table 4.1 PES12N3 Buffer Sizes
A flow control mechanism exists between the switch buffers and the transaction layer in the ingress
stack to prevent overflows. This flow c ontrol mechanism forms the basis of the PCIe flow control credits
advertised by the stack to the ingress port’s link partner. When a TLP is sent to the switch core from an
ingress stack, its header is looked-up in a routing map table and the TLP is queued in a buffer that corresponds to the TLP type (i.e., posted, non-posted or completion).
Scheduling of a TLP to be forwarded from an input buffer to an egress stack is performed by an egress
scheduler and port arbiter associated with each egress stack. Thus, the PES12N3 has three egress scheduler and three port arbiters. A flow control mechanism exists between the egress scheduler and the transaction layer in the egress stack. This flow control mechanism ensures that only TLPs which may be
accepted by the egress stack’s link partner are forwarded through the switch.
TLPs are routed in a cut-through manner through the PES12N3 if the ingress link width is greater than
or equal to the egress link width. If the ingress link width is less than the egress link width, then the entire
TLP must be received before it is forwarded. The egress scheduler selects the TLP from each ingress port
that may be forwarded to the associated egress port. If multiple ingress ports have TLPs which may be
forwarded to the same egress port, the port scheduler selects the ingress port from which a TLP is
forwarded.
Associated with each TLP in an input buffer is a timestamp. An egress scheduler always selects the TLP
in the input buffer that contains the oldest timestamp. If that TLP is destined for a different egress port, then
the egress scheduler makes no selection for that input port (i.e., TLPs are always forwarded from an
ingress port in chronological order). TLP timestamps are also used to discard any TLP from the head of an
input buffer that is more than 50 ms old. See section Switch Time-Outs on page 4-5 for additional details.
In making its selection, the egress scheduler considers the PCIe ordering rules. The PES12N3 supports
relaxed ordering for requests as well as completions. When the Disable Relaxed Ordering (DRO) bit is set
in the port A Switch Control (SWCTL) register, the switch strongly orders all transactions regardless of the
state of the relaxed ordering bit in TLPs.
The port scheduler associated with each egress port in the PES12N3 supports hardwired round robin
and weighted round robin with 32 phases. Both of these algorithms only arbitrate TLP requests and do not
consider bandwidth consumption.
In addition to the input buffers in the switch core, each egress stack contains a replay FIFO. When the
replay buffer fills, backpressure is provided to the switch core and no TLPs are forwarded to that egress
port. Table 4.2 enumerates the default flow control credits advertised by each port of the switch core.
PES12N3 User Manual4 - 2June 7, 2006
Page 43
IDT Switch OperationRouting
Notes
Flow Control
Category
Posted Header30 creditsEach credit represents 20 bytes (i.e., 5 doublewords) for a max-
Posted Data204 creditsEach credit represents 16 bytes (i.e., 4 doublewords) for a max-
Non-Posted Header30 credits Each credit represents 20 bytes (i.e., 5 doublewords) for a max-
Non-Posted Data30 creditsEach credit represents 16 bytes (i.e., 4 doublewords) for a max-
Completion Header30 credits Each credit represents 16 bytes (i.e., 4 doublewords) for a max-
Completion Data204 creditsEach credit represents 16 bytes (i.e., 4 doublewords) for a max-
Default
Advertised
Credits
imum of 600 bytes
imum of 3264 bytes
imum of 600 bytes
imum of 480 bytes (note that non-posted data is assumed to
consists of only one doubleword per header)
imum of 480 bytes
imum of 3264 bytes
Table 4.2 PES12N3 Advertised Flow Control Credits
Notes
Each header credit is allocated 20 bytes (3 double doublewords) in a FIFO regardless of whether or not
a credit represents 16 or 20 bytes. Each posted and completion data credit is allocated 16 bytes (2 double
doublewords) in a FIFO. Non-posted data credits are allocated 8 bytes (one double doubleword). Two
header and data credits are reserved in each FIFO for TLPs generated by the switch (e.g., configuration
read completions).
The header and data flow control credits advertised may be configured on a per port basis via the Flow
Control Credit Posted Configuration (FCPTCFG), Flow Control Credit Non-Posted Configuration
(FCNPCFG) and Flow Control Credit Completion Configuration (FCCPCFG) registers. These registers may
only be modified using the serial EEPROM or during initialization via the SMBus when the RSTHALT bit is
set in the PA_SWCTL register. Modifying these registers in a running system produces undefined results.
Routing
The PES12N3 supports routing of all transaction types defined in the PCIe specification. This includes
routing using in specification defined transactions as well as those that may be used in vendor defined
messages and in future revisions of the PCIe specifications.
Specifically, the PES12N3 supports the following type of routing:
– Address routing with 32-bit or 64-bit format
– ID based routing using bus, device and function numbers.
– Implicit routing utilizing
Route to root
Broadcast from root
Local - terminate at receiver
Gathered and routed to root
– A summary of TLP types that use the above routing methods is provided in Table 4.3.
PES12N3 User Manual4 - 3June 7, 2006
Page 44
IDT Switch OperationData Integrity
Notes
Routing Method
Route by AddressMRd, MrdLk, MWr, IORd, IOWr, Msg, MsgD
ID Based RoutingCfgRd0, CfgWr0, CfgRd1, CfgWr1, Cpl, CpdD, CplLk, CplDLk,
Msg, MsgD
Imlicit Routing - Route to RootMsg, MsgD
Implicit Routing - Broadcast from Root
Implicit Routing - LocalMsg, MsgD
1
Msg, MsgD
TLP Type Using Routing Method
Implicit Routing - Gathered and Routed to
Root
1.
Broadcast from root messages are only accepted from the root port (i.e., port A). An unsupported request is generated
if a TLP with this routing method is received from any other port.
Only supported for PME_TO_Ack messages in response to a
root initiated PME_Turn_Off message.
Table 4.3 Switch Routing Methods
Data Integrity
PCI Express® provides reliable hop-by-hop communication between interconnected devices, such as
roots, switches, and endpoints, by utilizing a 32-bit Link CRC (LCRC), sequence numbers, and a link level
retransmission protocol. While this mechanism provides reliable communication between interconnected
devices, it does not protect against corruption that may occur inside of a device. PCI Express defines an
optional end-to-end data integrity mechanism that consists of appending a 32-bit end-to-end CRC (ECRC)
computed at the source over the invariant fields of a Transaction Layer Packet (TLP) that is checked at the
ultimate destination of the TLP. While this mechanism provides end-to-end error detection, unfortunately it
is an optional PCI Express feature and has not been implemented in some North bridges and endpoints. In
addition, the ECRC mechanism does not cover variant fields within a TLP.
Since deep sub-micron devices are known to be susceptible to single-event-upsets, a mechanism is
desired that detects errors that occur within a PCI express switch. The PES12N3 parity protects all TLPs in
the switch, thus enabling corruption that may occur inside of the device to be detected and reported even in
systems that do not implement ECRC.
Associated with each port of the PES12N3 is a PCI-PCI bridge. Located in the switch integrity region in
extended configuration space of each PCI-PCI bridge are the Switch System Integrity Control (SWSICTL)
and Switch System Integrity Parity Error Count (SWSIPECNT) registers. These registers provide control
and status over switch errors associated with that switch port and may be read by a root or via the slave
SMBus interface.
1
Data flowing into the PES12N3 is protected by the LCRC. Within the Data Link (DL) layer of the switch
ingress port, the LCRC is checked and 32-bit Doubleword (DWord) even parity is computed on the received
TLP data. If an LCRC error is detected at this point, the link level retransmission protocol is used to recover
from the error by forcing a retransmission by the link partner. As the TLP flows through the switch, its alignment or contents may be modified. In all such cases, parity is updated and not recomputed. Hence, any
error that occurs is propagated and not masked by a parity regeneration. When the TLP reaches the DL
layer of the switch egress port, parity is checked and in parallel a LCRC is computed. If the TLP is parity
error free, then the LCRC and TLP contents are known to be correct and the LCRC is used to protect the
packet through the lower portion of the DL layer, PHY layer, and link transmission.
If a parity error is detected by the DL layer of an egress port, then the TLP is null ified by inverting the
computed LCRC and ending the packet with an EDB symbol. Nullified TLPs received by the link-partner are
discarded. In addition to nullifying the TLP, the PES12N3 performs the following when a parity error is
detected: sends an error non-fatal (ERR_NONFATAL) message (if this message reporting is enabled) to the
1.
Nullified TLPs are not parity protected and no parity errors are reported for nullified TLPs since these TLPs are
discarded.
PES12N3 User Manual4 - 4June 7, 2006
Page 45
IDT Switch OperationSwitch Time-Outs
Notes
root; increments the End-to-End Parity Error Count (EEPERRC) field in the SWS IPECNT register associated with the port on which the error was detected; and sets the Detected Parity Error (DPE) bit in the
PCISTS register if the error was detected by a downstream port or sets DPE bit in the PCI Secondary
Status (SECSTS) register if the error was detected by an upstream port.
To prevent error flooding, error messages are not sent to the root once the EEPERRC field saturates.
Since PCI Express switches do not normally generate ERR_NONFATAL messages, the Silent End-to-End
Parity Checking bit (SEEPC) bit in the SWSICTL register is provided to disable generation of error
messages and setting of the Detected Parity Error bit when internal corruption is detected.
The default state of the switch following a fundamental reset is to enabl e this error reporting. (Note that
the Device Control register in the PCI Express capability structure also has a bit that enables generation of
ERR_NONFATAL messages and that the default value of this bit is to disable these messages.)
In addition to TLPs that flow through the switch, cases exist in which TLPs are produced and consumed
by the switch (e.g., a configuration requests and responses). Whenever a TLP is produced by the switch,
parity is computed as the TLP is generated. Thus, error protection is provided on produced TLPs as they
flow through the switch. In addition, parity is checked on all consumed TLPs. If an error is detected, the TLP
is discarded and an error is reported using the mechanism described above.
This means that a parity error reported at a switch port cannot be definitively used to identify the location
at which the error occurred as the error may have occurred when parity as generated at another port, in the
switch core, or may have been generated locally (i.e., for ingress TLPs to the switch core which are
consumed by the port such as Type 0 configuration read requests on the root port).
Switch Time-Outs
The switch discards any TLP that reaches the head of an input buffer and is more than 50ms old.
For non-posted and completion TLPs, the requester’s completion time-out mechanism will detect
discarded TLPs. No similar mechanism exists in PCIe for posted TLPs. Therefore, whenever a posted TLP
is discarded by the switch due to a time-out, an error non-fatal (ERR_NONFATAL) message (if this
message reporting is enabled) is sent to the root.
Whenever a TLP is discarded from a posted input buffer, the Posted TLP Time-out Count (PTLPTOC)
field is incremented in the Switch System Integrity Time-Out Drop Count (SWSITDCNT) register in the port
on which the TLP was received. This is a saturating counter that is automatically cleared when read. Whenever a TLP is discarded from a non-posted input buffer, the Non-Posted TLP Time-out Count (NPTLPTOC)
field is incremented in this register and whenever a TLP is discarded from a completion input buffer, the
Completion TLP Time-out Count (NPTLPTOC) field is incremented.
To prevent error flooding, error messages are not sent to the root once the PTLPTOC counter saturates.
Since PCI Express switches do not normally generate ERR_NONFATAL mess ages, the Silent Posted TLP
Time-out (SPTLPTO) bit in the SWSICTL register is provided to disable generation of error non-fatal
messages. When this bit is set, ERR_NONFATAL messages are not generated when posted transactions
received on the corresponding port are discarded. The PTLPTOC field however is always updated.
Locking
The PES12N3 supports locked transactions, allowing legacy software to run without modification on
PCIe. Only one locked transaction sequence may be in progress at a time. A locked transaction sequence
is requested by the root by issuing a Memory Read Request - Locked (MRdLk) transaction. A lock is established when a lock request is successfully completed with a Completion with Data - Locked (CplDLk). A lock
is released with an Unlock message (Msg).
PES12N3 User Manual4 - 5June 7, 2006
Page 46
IDT Switch OperationLocking
Notes
When the PES12N3 receives a MRdLk transaction on its root port destined for a down-stream port, it
forwards the MRdLK transaction to the downstream port and locks the downstream port so that all subsequent TLPs destined to the downstream port from ports other than the root are blocked until the lock is
released.
– The MRdLK transaction obeys PCI ordering rules meaning that all queued posted requests for the
downstream port are completed prior to the MRdLK being transmitted. The MRdLK is allowed by
bypass queued non-posted requests and completions.
– When only the downstream port is locked, no transactions destined to any other port are blocked
(e.g., transactions from the other downstream ports to the upstream port are not blocked)•
When a CplDLk is returned by the locked downstream port, the upstream port becomes locked causing
all transactions destined to the upstream port from sources other than the locked downstream port (e.g., the
other downstream port) to be blocked. If the lock is unsuc cessful, then a CPlLk is returned by the downstream port and the upstream port does not become locked.
– The CplDLk transaction obeys PCI ordering rules
1
meaning that all queued posted requests at the
locked downstream port destined to the upstream port are completed prior to the CplDLk being
transmitted. The CplDLk is allowed by bypass queued non-posted requests and completions.
– When a CplDLk is returned by the locked downstream port and the upstream port becomes
locked, the entire switch becomes locked. This means that only transactions between the
upstream and the locked downstream port are allowed to progress. All other transactions, such
as transactions from the other downstream port, hot plug messages, MSI/INT messages, etc. are
blocked until the switch is unlocked.
– While the switch is locked, any register in the switch may be read or written via the SMBus
– While the switch is locked, it is illegal to read or write any of the PCIe configuration space headers
in the switch since the switch can not generate a completion until the switch is unlocked. This
means that the LOCKMODE field in the PA_SWSTS register can only be read via the SMBus
when the switch is locked.
– The behavior of the switch is undefined when any transaction other than a MWr, MRdLk, and
Unlock message is received on the upstream port when the switch is locked.
– The behavior of the switch is undefined when any transaction other than a CplLk and a CplDLk is
received on the locked downstream port when the switch is locked.
Once the switch is locked, it is possible for the root to perform subsequent reads from the locked device
by issuing a MRdLk requests to the locked device and receiving a CplDLk or CplLk response from the
locked device. These transactions do not change the state of the switch when the switch is locked. Therefore, a CplLk completion once the switch is locked in no way “unlocks” the switch.
Once the switch is locked, it is possible for the root to perform subsequent writes to the locked device by
issuing MWr requests to the locked device. These transactions in no way change the state of the switch
when the switch is locked.
When an Unlock message is received on the upstream port, the switch is unlocked. This causes the
Unlock message to be forwarded to the locked downstream port and the unblocking of transactions
destined to the upstream and previously locked downstream port.
When a TLP from a downstream port is blocked from being forwarded due to a locked switch, then the
TLP is delayed until the switch is unlocked. If the switch is locked for an extended period, this may cause
TLPs to be discarded due to switch time-outs (see section Switch Time-Outs on page 4-5).
When a MRdLk TLP is received on the upstream port, then the TLP is dropped due to a lock violation
and the lock drop (LOCKDROP) bit is set i n the PA_SWSTS register. If error reporting is enabled, an
ERR_NON_FATAL message is sent to the root when the switch is unlocked.
When the upstream port is locked with a downstream port and a TLP is received by slipstream port that
is destined to the unlocked downstream port, then the TLP is dropped, the Lock Discarded (LOCKDIS) bit is
set in the PA_SWSTS register. If error reporting is enabled, an ERR_NON_FATAL message is sent to the
root when the switch is unlocked.
1.
The relaxed ordering is ignored.
PES12N3 User Manual4 - 6June 7, 2006
Page 47
IDT Switch OperationInterrupts
Notes
The PME Lock Error (PMELOCK) bit in the PA_SWSTS register is set and the transaction is dropped
when a PME_Turn_Off message is received by a locked downstream PCI-PC I bridge (i.e., that associated
with port B or C). If error reporting is enabled, an ERR_NON_FATAL message is sent to the root when the
switch is unlocked.
The locked status of the switch may be determined by examining the Lock Mode (LOCK-MODE) bit in
the PA_SWSTS register
Interrupts
The PES12N3 supports legacy PCI INTx emulation where x is A, B, C or D. Rather than use sideband
INTx signals, PCIe defines two messages that indicate the assertion and negation of an interrupt signal. An
Assert_INTx message is used to signal the assertion of an interrupt signal and an Deassert_INTx message
is used to signal its negation.
The PES12N3 maintains an aggregated INTx state for each of the four interrupt signals (i.e., A through
D). The value of the INTA, INTB, INTC and INTD aggregated state may be determined by examining the
corresponding fields in the PA_SWSTS register . The aggregated INTx state of each port for each of the four
interrupt signals (i.e., A through D) on the primary side of its PCI to PCI bridge may be determined by examining the state of the INTA, INTB, INTC and INTD fields in the corresponding port’s Interrupt Status
(PA_INTSTS, PB_INTSTS, and PC_INTSTS) register.
An Assert_INTx message is sent to the root by the upstream port (i.e., port A), when the aggregated
state of the corresponding interrupt in the switch transitions from a negated to an asserted state. A
Deassert_INTx message is sent to the root by the upstream port when the aggregated state of the corresponding interrupt transitions from an asserted to a negated state.
Table 4.4 exhibits the interrupt sources that are aggregated by the switch.
PCI Compatible
INTx
INTA- External downstream port B
- External downstream port C
- Port B PCI-PCI bridge (hot-plug)
INTB- External downstream port B
- External downstream port C
- Port C PCI-PCI bridge (hot-plug)
INTC- External downstream port B
- External downstream port C
INTD- External downstream port B
-External downstream port C
Table 4.4 PCI Compatible INTx Aggregation
Interrupt Sources
PCI to PCI bridges must map interrupts on the secondary side of the bridge according to the device
number of the device on the secondary side of the bridge. No mapping is performed for the PCI to PCI
bridges corresponding to downstream ports as these ports only connect to device zero. A mapping is
performed for the upstream port (i.e., port A).This mapping is summarized in Table 4.6 for the PES12N3.
PES12N3 User Manual4 - 7June 7, 2006
Page 48
IDT Switch OperationSwitch Core Errors
Notes
Port A InterruptInterrupt Sources
INTAPort B INTA
Port C INTD
INTBPort B INTB
Port C INTA
INTCPort B INTC
Port C INTB
INTDPort B INTD
Port C INTC
Table 4.5 PES12N3 Upstream Port Bridge Interrupt Mapping
1.
Port X INTy corresponds to external downstream generated INTy interrupts and hot-
plug INTy interrupts generated by the port.
If a Downstream Port goes to DL_Down status, the INTx virtual wires associated with that port are deasserted, and the port A aggregates are updated accordingly. This may result in the upstream port generating
a Deassert_Intx message.
1
Switch Core Errors
This section lists error conditions that are checked by the switch core. Due to limited buffering of Unsupported Request (UR) completions, it is possible for the PES12N3 to discard UR completions if errors are
generated faster than UR completions can be transmitted. Even when UR completions are discarded, error
status bits are always correctly updated and an error message is generated.
Due to limited buffering, error messages may be collapsed if errors are generated faster than error
messages can be transmitted. This means that multiple error conditions may result in only a single error
message being generated. However, under no circumstances are error messages discarded.
Port arbitration should never be configured to starve a port. If a port arbitration table configuration
results in port starvation, then TLPs generated by the port may be dropped (e.g., error messages, interrupts, configuration completions, etc.).
The following events received by the switch core from the upstream port are treated as Unsupported
Requests (UR), and for non-posted transactions, result in a Unsupported Request (UR) completion being
returned to the upstream port.
– Reception of a CfgRd0 or CfgWr0 TLP. All CfgRd0 and CfgWr0 TLPs should have been received
and processed by the upstream stack. Therefore, the upstream stack should never pass a CfgRd0
or CfgWr0 to the switch core.
– Reception of a CfgRd1 or CfgWr1 TLP that is transformed into a CfgRd0 or CfgWr0 TLP destined
to the link partner of a downstream port and in which the device number is non-zero (covers condition outlined in PCIe base 1.0a Section 7.3.1). The device number must be zero in CfgRd0 and
CfgWr0 transactions to a downstream link partner.
– Reception of Msg or MsgD TLPs with route by address routing prior to initialization of the PCI-PCI
bridge. Prior to initialization of the PCI-PCI bridge, no transactions should be routed to the switch
core.
– Reception of route by address TLPs whose address matches an upstream port’s memory or I/O
base/limit pair and does not match a downstream ports’ memory or I/O base/limit pair. TLPs that
have no route (i.e., not destined for any upstream or downstream port) should be treated as
unsupported requests.
– Reception of route by address TLPs destined to the upstream port. There are no route by address
TLPs that should have been destined to the upstream port since the upstream port does not
process these types of TLPs.
PES12N3 User Manual4 - 8June 7, 2006
Page 49
IDT Switch OperationSwitch Core Errors
Notes
– Reception of TLPs that have no route (i.e., do not match an address or ID route through the
switch). TLPs that have no route should be treated as unsupported requests.
– Reception of a TLP destined to a disabled downstream port (link down or MAE/IOAE bit cleared
in PA_PCICMD register). TLPs destined to a disabled downstream port should be treated as
unsupported requests.
– Reception of a TLP that matches a VGA region and the VGA Enable (VGAEN) bit is set in the
upstream port but the TLP does not map to either downstream port (i.e., VGAEN is cleared in both
downstream ports and the transaction does not map to any of the base/limit pairs associated with
the downstream ports).
The following events received by the switch core from the downstream ports are treated as Unsupported
Requests (UR) and for non-posted transactions, result in a Unsupported Request (UR) completion to be
returned to the port on which the TLP was received.
– Reception of Msg or MsgD TLPs with route by address routing prior to initialization of the PCI-PCI
bridge. Prior to initialization of the PCI-PCI bridge, no transactions should be routed to the switch
core.
– Reception of Msg or MsgD TLPs with route by ID to the PCI-PCI bridge primary bus number after
bus enumeration has completed. There are no entities that generate accept messages on the
virtual PCI bus within the switch (i.e., the primary bus number).
– Reception of route by address TLPs whose address matches an upstream port’s memory or I/O
base/limit pair and does not match a downstream ports’ memory or I/O base/limit pair. TLPs that
have no route (i.e., not destined for any upstream or downstream port) should be treated as
unsupported requests.
– Reception of TLPs that have no route (i.e., do not match an address or ID route through the
switch). TLPs that have no route should be treated as unsupported requests.
– Reception of any configuration TLP . Configuration requests can only be generated by the root and
received on the upstream port.
– Reception of a route by ID TLP to a port that has its primary bus number set to its secondary bus
number. Such a port is uninitialized.
– Reception of a TLP that utilizes implicit routing - broadcast from root. Such a TLP can only be
received by the upstream port.
– Reception of a TLP that matches a VGA region in a downstream port when the downstream port’s
VGA Enable (VGAEN) bit is set in its Bridge Control (BCTRL) register.
– Reception of a TLP destined to a disabled downstream port (link down or MAE/IOAE bit cleared
in PCICMD register) or the upstream port when the Bus Master Enable (BME) bit is not set in the
PCICMD register. TLPs destined to a disabled downstream port should be treated as unsupported
requests.
PES12N3 User Manual4 - 9June 7, 2006
Page 50
IDT Switch OperationSwitch Core Errors
Notes
PES12N3 User Manual4 - 10June 7, 2006
Page 51
Chapter 5
Power Management
Notes
Introduction
A power management capability structure is located in the configuration space of each PCI-PCI bridge
in the PES12N3. The structure associated with a PCI-PCI bridge of a downstream port only affects that
port. Entering the D3
The power management capability structure associated with the root port (i.e., port A) affects the entire
device. When the root port enters a low power state and the PME_TO_Ack messages are received, then
the entire device is placed into a low power state. The PES12N3 supports the following device power
management states: D0 Uninitialized, D0 Active, D3
ment state from D3
values.
A power management state transition diagram for the states supported by the PES12N3 is provided in
Figure 5.1 and described in Table 5.6.
state allows the link associated with the bridge to enter the L1 state.
hot
hot
to D0
uninitialized
Power-On Reset
, and D3
hot
does not result in any logic being reset or re-initialization of register
D0
Uninitialized
D0
Active
. Transitioning a port’s power manage-
cold
D3
hot
D3
cold
Figure 5.1 PES12N3 Power Management State Transition Diagram
PES12N3 User Manual 5 - 1June 7, 2006
Page 52
IDT Power ManagementLink States
Notes
From StateTo StateDescription
AnyD0 UninitializedPower-on fundamental reset.
D0 UninitializedD0 ActivePCI-PCI bridge configured by software
D0 ActiveD3
D3
D3
hot
hot
D0 UninitializedThe Power Management State (PMSTATE) field in the PCI Power
D3
Table 5.6 PES12N3 Power Management State Transition Diagram
hot
cold
The Power Management State (PMSTATE) field in the PCI Power
Management Control and Status (PMCSR) register is written with
the value that corresponds to the D3
Management Control and Status (PMCSR) register is written with
the value that corresponds to D0 state.
Power is removed from the device.
hot
state.
PME Messages
The PES12N3 does not support generation of PME messages from the D3
state. Downstream ports
cold
(i.e., PCI-PCI bridges associated with ports B and C) support the generation of hot-plug PME events (i.e., a
PM_PME power management message) from the D3
stream port is in the D3
state or the entire switch is in the D3
hot
state. This includes both the case when the down-
hot
state. The generation of a PME message
hot
by downstream ports necessitates the implementation of a PME service time-out mechanism to ensure that
PME messages are not lost.
Link States
The PES12N3 supports the following link states:
– L0 — Fully operational link state
– L0s — Automatically entered low power state with shortest exit latency
– L1 — Lower power state than L0s. May be automatically entered or directed by software by
placing the device in the D3
– L2/L3 Ready — The L2/L3 state is entered after the acknowledgement of a PM_Turn_Off
Message. There is no TLP or DLLP communications over a link in this state.
– L3 — Link is completely unpowered and off.
Link states are shown in Figure 5.2.
hot
state.
PES12N3 User Manual5 - 2June 7, 2006
Page 53
IDT Power ManagementActive State Power Management
Notes
L0sL1
L0
L2/L3 Ready
L3
Figure 5.2 PES12N3 ASPM Link Sate Transitions
Active State Power Management
The operation of Active State Power Management (ASPM) is orthogonal to power management. Once
enabled by the ASPM field in the PCI Express® Link Control (PCIE LCTL) register, ASPM link state transitions are initiated by hardware without software involvement. The PES12N3 ASPM supports the required
L0s state as well as the optional L1 state.
The L0s Entry Timer (L0SET) field in the PCI Power Management Proprietary Control (PMPC) register
controls the amount of time L0s entry conditions must be met before the hardware transitions the link to the
L0s state. The L1 Entry Timer (L1SET) field in the PCI Power Management Proprietary Control (PMPC)
register controls the amount of time L1 entry conditions must be met before the hardware transitions the link
to the L1 state. If these conditions are met and the link is in the L0 or L0s states, then the hardware will
request a transition to the L1 state from its link partner. Note that L1 entry requests are only made by the
PES12N3 upstream port. If the link partner acknowledges the transition, then the L1 state is entered. Otherwise the L0s state is entered.
PES12N3 User Manual5 - 3June 7, 2006
Page 54
IDT Power ManagementActive State Power Management
Notes
PES12N3 User Manual5 - 4June 7, 2006
Page 55
Chapter 6
Hot-Plug and Hot-Swap
Notes
Introduction
As illustrated in Figures 6.1 through 6.3, a PCIe® switch may be used in one of three hot- plug configurations.
Figure 6.1 illustrates the use of the PES12N3 in an application in which the two downstream ports are
connected to slots into which add-in cards may be hot-plugged.
Figure 6.2 illustrates the use of the PES12N3 in an add-in card application. Here the two downstream
ports are hardwired to devices on the add-in card and the upstream port serves as the add-in card’s PCIe
interface. In this application the upstream port may be hot-plugged into a slot on the main system.
Finally, Figure 6.3 illustrates the use of the PES12N3 in a carrier card application. In this application, the
two downstream ports are connected to slots which may be hot-plugged and the entire assembly may be
hot-plugged into a slot on the main system. Since this application requires nothing more than the functionality illustrated in both Figure 6.1 and Figure 6.2, it will not be discussed further.
Upstream
Link
Port A
PES12N3
Master
SMBus
Port B
Port B
Slot
Figure 6.1 Hot-Plug on Switch Downstream Slots Application
Port C
Port C
Slot
SMBus I/O
Expander
Hot-Plug Signals
PES12N3 User Manual 6 - 1June 7, 2006
Page 56
IDT Hot-Plug and Hot-SwapIntroduction
Notes
Upstream
Link
Add-In Card
Port A
GPIO
Hot-Plug Signals
PES12N3
Port BPort C
PCI Express
Device
PCI Express
Device
Figure 6.2 Hot-Plug with Switch on Add-In Card Application
Upstream
Link
Carrier
Card
Port A
GPIO
Hot-Plug Signals
PES12N3
Master
SMBus
Port B
Port B
Slot
Port C
Port C
Slot
SMBus I/O
Expander
Hot-Plug Signals
Figure 6.3 Hot-Plug with Carrier Card Application
PES12N3 User Manual6 - 2June 7, 2006
Page 57
IDT Hot-Plug and Hot-SwapIntroduction
Notes
The PCI Express® Base Specification revision 1.0a allowed a hot-plug attention indicator, power indicator, and attention button to be located on the board on which the slot is implemented or on the add-in
board. When located on the add-in board, state changes are communicated between the hot-plug controller
associated with the slot and the add-in card via hot-plug messages. This capability was removed in revision
1.1 of the PCI Express Base Specification.
Therefore, there are differences in the behavior of a PCIe 1.0a hot-plug capable switch and a PCIe1.1
hot-plug capable switch. The Hot Plug Mode (HPMODE) bit in the upstream port’s Switch Control
(PA_SWCTL) register selects the operating mode of the hot-plug functionality in the PES12N3. Differences
in operation are noted in the following sections.
Hot-Plug with Downstream Port(s) Connected to a Slot
This section discusses the use of the PES12N3 in which one or both the of the downstream ports are
used in an application in which an add-in card may be hot-plugged into a downstream slot. Associated with
each downstream port in the PES12N3 is a hot-plug controller. The hot-plug controller may be enabled by
setting the HPC bit in the PCI Express Slot Capabilities (PCIESCAP) register during configuration (e.g., via
serial EEPROM).
The PES12N3 allows sensor inputs and indicator outputs to be located next to the slot or on the plug in
module. When implemented on the slot, the appropriate bits should be set during configuration in the P CI
Express Slot Capabilities (PCIESCAP) register. Table 6.7 lists the hot-plug inputs and outputs that may be
associated with a slot. When enabled during configuration in the PCIESCAP register, these inputs and
outputs are made available to external logic using an external I/O expander located on the master SMBus
interface.
The PES12N3 only supports presence detect signalling via a pin assertion. It does not support in-band
presence detect.
SignalTypeName/Description
1
PxAPNIPort x
PxPDNIPort x Presence Detect Input.
PxPFNIPort x Power Fault Input.
PxMRLNIPort x Manually-operated Retention Latch (MRL) Input.
PxAINOPort x Attention Indicator Output.
PxPINOPort x Power Indicator Output.
PxPEPOPort x Power Enable Output.
PxINTERLOCKPOPort x Electromechanical Interlock.
1.
x corresponds to downstream port B or C.
Table 6.7 Downstream Ports B and C Hot Plug Signals
Attention Push button Input.
Hot-Plug I/O Expander
The PES12N3 utilizes an external SMBus/I2C-bus I/O expander connected to the master SMBus interface for hot-plug related signals associated with downstream ports. It is not possible to utilize EEPROM
commands to toggle the I/O expander outputs due to conflicting usage of the master SMBus. SMBus writes
or configuration writes can be used to control the I/O expander outputs.
The PES12N3 is designed to work with P hillips PCA9555 compatible I/O expanders. See the Phillips
PCA9555 data sheet for details on the operation of this device.
The external SMBus I/O expander provides 16 bit I/O pins that may be configured as inputs or outputs.
The mapping of downstream port B and C hot-plug signals listed in Table 6.7 to these I/O pins is exhibited
in Table 6.8.
PES12N3 User Manual6 - 3June 7, 2006
Page 58
IDT Hot-Plug and Hot-SwapIntroduction
Notes
The port B and C electromechanical interlock outputs are only used in PCIe 1.1 mode (i.e., HPMODE bit
set). These signals are driven to their negated state in PCIe 1.0a mode.
I/O-x.y corresponds to the notation used for PCA9555 port x I/O pin y.
Not used in PCIe 1.0a mode (i.e., HPMODE bit cleared).
2
During configuration of the PES12N3, the SMBus/I2C-bus address of the hot-plug I/O expander should
be written to the Hot-plug I/O Expander Master SMBus Address (IOEADDR) field in the SMBUS status
(PA_SMBUSSTS) register.
SMBus write transactions are issued to the I/O expander by the PES12N3 to configure the device whenever the value of the IOEADDR field is modified. Outputs for downstream ports that are disabled are set to
their negated value (e.g., the power indicator is turned off).
The I/O expander configuration sequence issued by the PES12N3 is as follows:
– write value 0x50 to I/O expander register 2
– write value 0x50 to I/O expander register 3
– write value 0x0 to I/O expander register 4 (no inversion in IO-0)
– write value 0x0 to I/O expander register 5 (no inversion in IO-1)
– write value 0x0F to I/O expander register 6 (bits 4, 5, 6 and 7 are outputs of IO-0)
– write value 0x0F to I/O expander register 7 (bits 4, 5, 6 and 7 are outputs of IO-1)
– read value of I/O expander register 0 to obtain the current state of the I/O IO-0 inputs.
– read value of I/O expander register 1 to obtain the current state of the I/O IO-I inputs.
Whenever a hot-plug output from port B or C needs to change state, a master SMBus transaction is initiated to update the state of the I/O expander. This write operation causes the I/O expander to change the
state of its output(s). Port B output values are written to I/O expander register 2 and Port C values are
written to I/O expander register 3.
PES12N3 User Manual6 - 4June 7, 2006
Page 59
IDT Hot-Plug and Hot-SwapIntroduction
Notes
The I/O expander has an open drain interrupt output that is asserted when a pin configured as an input
changes state from the value previously read. The interrupt output from the SMBus I/O expander should be
connected to GPIO[2], and GPIO[2] should be initialized during configuration to operate in alternate function
mode as the Hot-plug I/O expander interrupt input. See Chapter 8, General Purpose I/O.
Whenever a input to the I/O expander changes state from the value previously read, the interrupt output
of the I/O expander connected to GPIO[2] is asserted. This causes the PES12N3 to issue a master SMBus
transaction to read the updated state of the I/O expander inputs.
Regardless of the state of the interrupt output of the I/O expander, the PES12N3 will not issue a master
SMBus transaction to read the updated state of the I/O expander inputs more frequently than once every 40
milliseconds. This delay in sampling may be used to eliminate external debouncing circuitry. The 40 millisecond sampling frequency also applies to the Hot Plug Port A Attention Button (PAABN) GPIO alternate
function.
Port B input values are read from I/O expander register 0 and Port C values are read from I/O expander
register 1. The I/O expander interrupt request output is negated whenever the input values are read or
when the input pin changes state back to the value previously read. Any errors detected during I/O
expander SMBus read or write transactions is reflected in the status bits of the SMBus Status
(PA_SMBUSSTS) register. The I/O Expander Interface (PA_IOEXPINTF) register allows direct testing and
debugging of the I/O expander functionality.
The Port B Hot-Plug Signals (PBHPS) and the Port C Hot-Plug Signals (PCHPS) fields in the
PA_IOEXPINTF register reflect the current state, as viewed by the PES12N3, of all of the I/O expander
inputs and outputs.
Writing a one to the Reload I/O Expander Signals (RELOADIOEX) bit in the PA_IOEXPINTF register
causes the PES12N3 to generate SMBus write and read transactions to the I/O expander, causing the
value in the PBHPS and PCHPS fields to reflect the state of the I/O expander signals. This feature may be
used to aid in debugging hot-plug operation. For example, a user who neglects to configure GPIO[2] as an
alternate function may use this feature to determine that master SMBus transactions to the I/O expander
function properly and that the issue is with the interrupt logic.
The I/O Expander Test Mode (IOEXTM) bit in the PA_IOEXPTINF register allows an I/O expander test
mode to be entered. Normally, hot-plug outputs which are generated by ports B and C first update the
PBHPS and PCHPS fields before being written to the I/O expander. When this bit is set, these hot-plug
outputs are blocked from updating the fields. Instead, values written directly to the PBHPS and PCHPS
fields will be sent to the I/O expander. In this mode, the PES12N3 issues a transaction to update the state of
the I/O expander whenever a bit corresponding to a hot-plug controller output in these fields changes state
due to a configuration write.
Hot-Plug Messages
The PCI Express Base Specification revision 1.0a allows the attention i ndicator, power indicator and
attention button to be implemented on an add-in card instead of the board on which the slot is located. To
support this, the specification defines messages that implement virtual wires between the add-in card and
the hot-plug controller associated with the slot. The PCI Express Base Specification revision 1.1 removed
this capability.
When the Hot Plug Mode (HPMODE) bit is set in the Switch Control (PS_SWCTL) register, the hot-plug
controllers operate in PCIe revision 1.1 mode and no downstream messages are generated by the por t B or
C hot-plug controllers. In addition, if a hot-plug message is received on these ports in this mode, it is silently
discarded.
If the HPMODE bit is cleared (default value), then hot-plug messages are generated and processed
when received by the port B and C hot-plug controllers.
A downstream ATTENTION_INDICATOR_ON, ATTENTION_INDICATOR_BLINK, or
ATTENTION_INDICATOR_OFF message is sent down on port B or C when the hot-plug controller associated with the port is enabled and the state of the Attention Indicator Control (AIC) field is modified in the
PB_PCIESCTL or PC_PCIESCTL register.
PES12N3 User Manual6 - 5June 7, 2006
Page 60
IDT Hot-Plug and Hot-SwapIntroduction
Notes
A downstream POWER_INDICATOR_ON, POWER_INDICATOR_BLINK, or
POWER_INDICATOR_OFF message is sent down on port B or C when the hot-plug controller associated
with the port is enabled and the state of the Power Indicator Control (PIC) field is modified in the
PB_PCIESCTL or PC_PCIESCTL register.
An attention button pressed event and the Attention Button Pressed (ABP) bit in the PCI Express Slot
Status (PCIESST) register is set when the hot plug controller associated with the port is enabled and an
ATTENTION_BUTT ON_PRESSED message is received on port B or C. ATTENTION_BUTTON PRESSED
messages are always consumed by the PES12N3 and not passed to the upstream port.
Hot-Plug Interrupts and Wake-up
The hot-plug controller associated with a downstream slot may generate an interrupt or wake up event.
Hot-plug interrupts are only generated when the Hot Plug Interrupt Enable (HPIE) bit is set in the corresponding port’s PCI Express Slot Control (PCIESCTL) register.
The following bits, when set in the PCI Express Slot Status (PCIESSTS) register, generate an interrupt if
not masked by the corresponding bit in the PCI Express Slot Control (PCIESCTL) register or by the HPIE
bit: the Attention Button Pressed (ABP), Power Fault Detected (PFD), MRL Sensor Changed (MRLSC),
Presence Detected Changed (PDC), and Command Completed (CC).
When an unmasked hot-plug interrupt is generated, the action taken is determined by the MSI Enable
(EN) bit in the MSI Capability (MSICAP) register and the Interrupt Disable (INTXD) bit in the PCI Command
(PCICMD) register.
When the downstream port or the entire switch is in a D3
state, then the hot-plug controller generates
hot
a wake-up event using a PM_PME message instead of an interrupt if the event interrupt is not masked in
the slot control (PCIESCTL) register and hot-plug interrupts are disabled by the HPIE bit. If the event interrupt is not masked and hot-plug interrupts are enabled, then both a PM_PME and an interrupt are generated. If the event interrupt is masked, then neither a PM_PME or interrupt are generated. Note that a
command completed (CC bit) interrupt will not generate a wake-up event.
Hot-Plug with Swi t ch on an Add-In Card
This section discusses the use of the PES12N3 in add-in card applications in which the upstream port
may be hot-plugged into a slot.
The PCI Express Base Specification revision 1.0a allows the attention i ndicator, power indicator and
attention button to be implemented on an add-in card instead of board containing the slot. To support this,
the specification defines messages that implement virtual wires between the add-in card and the downstream port hot-plug controller. The PCI Express Base Specification revision 1.1 removed this capability.
When the Hot Plug Mode (HPMODE) bit is set in the Switch Control (PS_SWCTL) register, the hot-plug
controllers operate in PCIe revision 1.1 mode. In this mode, all hot plug messages received on the
upstream port are silently discarded and no hot-plug messages are sent on the upstream port.
If the HPMODE bit is cleared (default value), then hot-plug messages are generated and processed on
the upstream port.
Hot plug signals associated with the upstream port of the switch are listed in Table 6.9 and are alternate
functions of GPIO pins. See Chapter 8, General Purpose I/O.
SignalTypeName/Description
PAABNIPort A Attention Button Input.
PAAINOPort A Attenti on Indicator Output.
PAPINOPort A Power Indicator Output.
Table 6.9 Upstream Port A Hot Plug Signals
PES12N3 User Manual6 - 6June 7, 2006
Page 61
IDT Hot-Plug and Hot-SwapHot-Swap
Notes
Association of a power indicator output with the upstream port of the PES12N3 is enabled by setting the
Power Indicator Present (PIP) bit in the PCI Express Device Capabilities (PCIEDCAP) register of the
upstream port. When this bit is set and GPIO[5] is configured as an alternate function, then the state of the
PAPIN output is modified by POWER_INDICATOR_ON, POWER_INDICATOR_BLINK, and
POWER_INDICATOR_OFF messages received on the upstream port. These messages are consumed by
the upstream port.
Association of an attention indicator output with the upstream port of the PES12N3 is enabled by setting
the Attention Indicator Present (AIP) bit in the PCI Express Device Capabilities (PCIEDCAP) register of the
upstream port. When this bit is set and GPIO[4] is configured as an alternate function, then the state of the
PAAIN output is modified by ATTENTION_INDICATOR_ON, ATTENTION_INDICATOR_BLINK, and
ATTENTION_INDICATOR_OFF messages received on the upstream port. These messages are consumed
by the upstream port.
Association of a attention push button input with the upstream port of the PES12N3 is enabled by setting
the Attention Button Present (ABP) bit in the PCI Express Device Capabilities (PCIEDCAP) register of the
upstream port. When this bit is set and GPIO[3] is configured as an alternate function, the assertion of the
PAABN signal results in an ATTENTION_BUTTON_PRESSED message being sent on the upstream port
of the switch.
The PES12N3 will not sample the state of the PAABN input more frequently than once every 40 milliseconds. This delay in sampling may be used to eliminate external debouncing circuitry.
Hot-Swap
The PES12N3 is hot-swap capable and meets the following requirements:
– All of the I/Os are tri-stated on reset (i.e., SerDes, GPIO, SMBuses, etc.)
– All I/O cells function predictably from early power. Th is means that the device is able to tolerate a
non-monotonic ramp-up as well as a rapid ramp-up of the DC power.
– All I/O cells are able to tolerate a precharge voltage
– Since no clock is present during physical connection, the device will maintain all outputs in a high-
impedance state even when no clock is present.
– The I/O cells meet VI requirements for hot-swap.
– The I/O cells respect the required leakage current limits over the entire input voltage range.
In summary, the PES12N3 meets all of the I/O requirements necessary to build a PICMG compliant hotswap board or system. The hot-swap I/O buffers of the PES12N3 may also be used to construct proprietary
hot-swap systems. For a detailed specification of I/O buffer characteristic, see the 89HP
Sheet on the IDT web site.
ES12N3 Data
PES12N3 User Manual6 - 7June 7, 2006
Page 62
IDT Hot-Plug and Hot-SwapHot-Swap
Notes
PES12N3 User Manual6 - 8June 7, 2006
Page 63
Chapter 7
SMBus Interfaces
Notes
Introduction
The PES12N3 contains two SMBus interfaces. The slave SMBus interface provides full access to all
software visible registers in the PES12N3, allowing every register in the device to be read or written by an
external SMBus master. The slave SMBus may also be used to initialize the serial EEPROM used for initialization. The Master SMBus interface provides connection for an optional external serial EEPROM used for
initialization and an optional I/O expander used for hot-plug signals.
Six pins make up each of the two SMBus interfaces. These pins consist of an SMBus clock pin, an
SMBus data pin, and 4 SMBus address pins. As shown in Figure 7.1, the master and slave S MBuses may
be used in a unified or split configuration.
PES12N3
SSMBCLK
SSMBDAT
MSMBCLK
MSMBDAT
Processor
SMBus
Master
Serial
EEPROM
(a) Unified Configuration
Hot-Plug
I/O
Expander
...
Other
SMBus
Devices
PES12N3
MSMBCLK
MSMBDAT
SSMBCLK
SSMBDAT
Processor
SMBus
Master
Serial
EEPROM
...
Hot-Plug
Expander
Other
SMBus
Devices
I/O
(b) Split Configuration
Figure 7.1 SMBus Interface Configuration Examples
In the unified configuration, shown in Figure 7.1(a), the master and slave SMBuses are tied together and
the PES12N3 acts both as an SMBus master as well as an SMBus slave on this bus. This requires that the
external SMBus master or processor that has access to PES12N3 registers support SMBus arbitration. In
PES12N3 User Manual 7 - 1June 7, 2006
Page 64
IDT SMBus InterfacesSMBus Registers
Notes
some systems, this external SMBus master interface may be implemented using general purpose I/O pins
on a processor or microcontroller, and thus may not support SMBus arbitration. To support these systems,
the PES12N3 may be configured to operate in a split configuration as shown in Figure 7.1(b).
In the split configuration, the master and slave SMBuses operate as two independent buses and thus
multi-master arbitration is not required.
SMBus Registers
Bit
Field
0ReservedRO0x0Reserved field.
7:1SSMBADDRROHWINITSlave SMBus Address. This field contains the SMBus
8ReservedRO0x0Reserved field.
15:9MSMBADDRROHWINITMaster SMBus Address. This field contains the SMBus
16ReservedRO0x0Reserved field.
23:17IOEADDRRWL0x0Hot-plug I/O Expander Master SMBus Address. This
Field
Name
Type
Default
Value
Description
address assigned to the slave SMBus interface.
address assigned to the master SMBus interface.
field contains SMBus address assigned to the hot-plug I/O
expander on the master SMBus interface.
24EEPROM-
DONE
25NAERRRW1C0x0No Acknowledge Error. This bit is set if an unexpected
26LAERRRW1C0x0Lost Arbitration Error. When the master SMBus inter-
27OTHERERRRW1C0x0Other Error. This bit is set if a misplaced START or STOP
28ICSERRRW1C0x0Initialization Checksum Error. This bit is set if an invalid
29URIARW1C0x0Unmapped Register Initialization Attempt. This bit is se t
RO0x0Serial EEPROM Initialization Done. When the switch is
configured to operate in a mode in which serial EEPROM
initialization occurs during a fundamental reset, this bit is
set when serial EEPROM initialization completes or when
an error is detected.
NACK is observed during a master SMBus transaction.
The setting of this bit may indicate the following: that the
addressed device does not exist on the SMBus (i.e.,
addressing error); data is unavailable or the device is
busy; an invalid command was detected by the slave; or
invalid data was detected by the slave.
face loses arbitration for the SMBus, it automatically rearbitrates for the SMBus. If the master SMBus interface
loses 16 consecutive arbitration attempts, then the transaction is aborted and this bit is set.
condition is detected by the master SMBus interface.
checksum is computed during Serial EEPROM initialization or when a configuration done command is not found in
the serial EEPROM.
if an attempt is made to initialize via serial EEPROM a register that is not defined in the corresponding PCI configuration space.
31:30ReservedRO0x0Reserved field.
Table 7.1 SMBUSSTS - SMBus Status
PES12N3 User Manual7 - 2June 7, 2006
Page 65
IDT SMBus InterfacesSMBus Registers
Notes
Bit
Field
Field
Name
Type
Default
Value
Description
15:0MSMBCPRWHWINITMaster SMBus Clock Prescalar. This field contains a
clock prescalar value used during master SMBus transactions. The prescalar clock period is equal to 32 ns multiplied by the value in this field. When the field is cleared to
zero or one, the clock is stopped.
The initial value of this field is 0x0139 when the master
SMBus is configured to operate in slow mode (i.e., 100
KHz) in the boot configuration and to 0x0053
1
when it is
configured to operate in fast mode (i.e., 400 KHz).
16MSMBIOMRW0x0Master SMBus Ignore Other Masters. When this bit is
set, the master SMBus proceeds with transactions regardless of whether it won or lost arbitration.
17ICHECKSUMRW0x0Ignore Checksum Errors. When this bit is set, serial
EEPROM initialization checksum errors are ignored (i.e.,
the checksum always passes).
19:18SSMBMODERW0x0Slave SMBus Mode. The slave SMBus contains internal
glitch counters on the SSMBCLK and SSMBDAT signals
that wait approximately 1uS before sampling or driving
these signals. This field allows the glitch counter time to be
reduced or entirely removed. In some systems, this may
permit high speed slave SMBus operation.
0x0 - (normal) Slave SMBus normal mode. Glitch
counters operate with 1uS delay.
0x1 - (fast) Slave SMBus interface fast mode. Glitch
counters operate with 100nS delay.
0x2 - (disabled) Slave SMBus interface with glitch
counters disabled. Glitch counters operate with
zero delay which effectively removes them.
0x3 - reserved.
21:20MSMBMODERW0x0Master SMBus Mode. The master SMBus contains inter-
nal glitch counters on the MSMBCLK and MSMBDAT signals that wait approximately 1uS before sampling or
driving these signals. This field allows the glitch counter
time to be reduced or entirely removed. In some systems,
this may permit high speed master SMBus operation.
0x0 - (normal) Master SMBus normal mode. Glitch
counters operate with 1uS delay.
0x1 - (fast) Master SMBus interface fast mode. Glitch
counters operate with 100nS delay.
0x2 - (disabled) Master SMBus interface with glitch
counters disabled. Glitch counters operate with
zero delay which effectively removes them.
0x3 - reserved.
31:22ReservedRO0x0Reserved field.
Table 7.2 SMBUSCTL - SMBus Control
1.
The MSMBCLK lo w m ini mum p ulse w idth is equ al t o h alf the pe riod pr ogra mmed in this field. The va lue of 0x5 3, whic h c orr esponds to ~373 KHz, allow s the min low pulse width to be satisfie d. In systems wh ere this timing par ameter is not critic al, the
operating frequency may be increased.
PES12N3 User Manual7 - 3June 7, 2006
Page 66
IDT SMBus InterfacesMaster SMBus Interface
Notes
Master SMBus Interface
The master SMBus interface is used during a fundamental reset to load configuration values from an
optional serial EEPROM. It is also used to support an optional I/O expander for hot-plug signals.
Initialization
Master SMBus initialization occurs during a fundamental reset (see Fundamental Reset on page 2-5).
During a fundamental reset initialization sequence, the state of the Master SMBus Slow Mode (MSMBSMODE) signal is examined. If this signal is asserted, then the Master SMBus Clock Prescalar (MSMBCP)
field in the port A SMBus Control (PA_SMBUSCTL) register is initialized to support 100 KHz SMBus operation. If the signal is negated, then the MSMBCP field is initialized for 400 KHz SMBus operation.
Serial EEPROM
During a fundamental reset, an optional serial EEPROM may be used to initialize any software visible
register in the device.
Serial EEPROM loading occurs if the Switch Mode (SWMODE[3:0]) field selects an operating mode that
performs serial EEPROM initialization (e.g., transparent mode with serial EEPROM initialization).
The address used by the SMBus interface to access the serial EEPROM is specified by the
MSMBADDR[4:1] signals as shown in Table 7.3.
During initialization from the optional serial EEPROM, the master SMBus interface reads configuration
blocks from the serial EEPROM and updates corresponding registers in the PES12N3.
Any PES12N3 software visible register in the upstream port or downstream port(s) may be initialized
with values stored in the serial EEPROM.
Each software visible register in the PES12N3 has a CSR system address which is formed by adding
the PCI configuration space offset value of the register to the base address of the configuration space in
which the register is located. Configuration blocks stored in the serial EEPROM use this CSR system
address shifted right two bits (i.e., configuration blocks in the serial EEPROM use doubleword CSR system
addresses and not byte CSR system addresses). Base addresses for the PCI configuration spaces in the
PES12N3 are listed in Table 7.4.
PES12N3 User Manual7 - 4June 7, 2006
Page 67
IDT SMBus InterfacesMaster SMBus Interface
Notes
Base Address Value
PCI Configuration Space
Upstream Port A0x0000
Downstream Port B0x1000
Downstream Port C0x2000
Table 7.4 Base Addresses for PCI Configuration Spaces in the PES12N3
Since configuration blocks are used to store only the value of those registers that are initialized, a serial
EEPROM much smaller than the total size of all of the configuration spaces may be used to initialize the
device.
Any serial EEPROM compatible with those listed in Table 7.5 may be used to store PES12N3 initialization values. Some of these devices are larger than the total size of all of the PCI configuration spaces in the
PES12N3 that may be initialized and thus may not be fully utilized.
Serial EEPROMSize
used to form CSR
System Address
24C324 KB
24C648 KB
24C12816 KB
24C25632 KB
24C51264 KB
Table 7.5 PES12N3 Compatible Serial EEPROMs
During serial EEPROM initialization, the master SMBus interface begins reading bytes starting at serial
EEPROM address zero. These bytes are interpreted as configuration blocks and sequential reading of the
serial EEPROM continues until the end of a configuration done block is reached or the serial EEPROM
address rolls over from 0xFFFF to 0x0.
All register initialization performed by the serial EEPROM is performed in double word quantities. There
are three configuration block types that may be stored in the serial EEPROM. The first type is a single
double word initialization sequence. A double word initialization sequence occupies six byes in the serial
EEPROM and is used to initialize a single double word quantity in the PES12N3.
A single double word initialization sequence consists of three fields and its format is shown in Figure 7.2.
The CSR_SYSADDR field contains the double word C SR system address of the double word to be initialized. The actual CSR system address, which is a by te address, equals this value w ith two lower zero bits
appended. The next field is the TYPE field that indicates the type of the configuration block. For single
double word initialization sequence, this value is always 0x0. The final DATA field contains the double word
initialization value.
PES12N3 User Manual7 - 5June 7, 2006
Page 68
IDT SMBus InterfacesMaster SMBus Interface
Notes
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
6
7
Byte 0CSR_SYSADDR[7:0]
Byte 1
Byte 2DATA[ 7:0]
Byte 3DATA[15:8]
Byte 4DATA[23:16]
Byte 5DATA[31:24]
TYPE
0x0
4
5
CSR_SYSADDR[13:8]
2
3
Figure 7.2 Single Double Word Initialization Sequence Format
The second type of configuration block is the sequential double word initialization sequence. It is similar
to a single double word initialization sequence except that it contains a double word count that allows
multiple sequential double words to be initialized in one configuration block.
A sequential double word initialization sequence consists of four required fields and one to 65535
double word initialization data fields. The format of a sequential double word initialization sequence is
shown in Figure 7.3. The CSR_SYSADDR field contains the starting double word CSR system address to
be initialized. The next field is the TYPE field that indicates the type of the configuration block. For sequential double word initialization sequences, this value is always 0x1. The NUMDW field specifies the number
of double words initialized by the configuration block. This is followed by the number of DATA fields specified in the NUMDW field.
0
1
Bit
7
Byte 0CSR_SYSADDR[7:0]
Byte 1
Byte 2NUMDW[7:0]
Byte 3NUMDW[15:8]
Byte 4DATA0[7:0]
Byte 5DATA0[1 5:8]
Byte 6DATA0[23:16]
Byte 7DATA0[31:24]
TYPE
0x1
5
6
...
Byte 4n+4DATAn[7:0]
Byte 4n+ 5DATAn[15:8]
Byte 4n+6DATAn[23:16]
Byte 4n+7DATAn[31:24]
3
4
CSR_SYSADDR[13:8]
...
2
0
1
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Figure 7.3 Sequential Double Word Initialization Sequence Format
The final type of configuration block is the configuration done sequence w hich is used to signify the end
of a serial EEPROM initialization sequence.
PES12N3 User Manual7 - 6June 7, 2006
Page 69
IDT SMBus InterfacesMaster SMBus Interface
Notes
If during serial EEPROM initialization, an attempt is made to initialize a register that is not defined in a
configuration space (i.e., does not appear in Tables 9.6, 9.7, or 9.8), then the Unmapped Register Initialization Attempt (URIA) bit is set in the SMBUSSTS register and the write is ignored.
The configuration done sequence consists of two fields and its format is shown in Figure 7.3. The
CHECKSUM field contains the checksum of all of the bytes in all of the fields read from the serial EEPROM
from the first configuration block to the end of this done sequence. The second field is the TYPE field which
is always 0x3 for configuration done sequences.
Bit
7
Byte 0CHECKSUM[7:0]
Byte 1
0x3
5
6
4
ReservedTYPE
(must be zero)
3
2
0
1
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Figure 7.4 Configuration Done Sequence Format
The checksum in the configuration done sequence enables the integrity of the serial EEPROM initialization to be verified. Since uninitialized EEPROMs typically have a value of all ones, initialization from an
uninitialized serial EEPROM will result in a checksum mismatch.
The checksum is computed in the following manner.An 8-bit counter is initialized to zero and the 8-bit
sum is computed over the configuration bytes stored in the serial EEPROM, including the entire contents of
the configuration done sequence, with the checksum field initialized to zero.
1
The 1’s complement of this
sum is placed in the checksum field.
The checksum is verified in the following manner. An 8-bit counter is cleared and the 8-bit sum is
computed over the bytes read from the serial EEPROM, including the entire contents of the configuration
done sequence.
2
The correct result should always be 0xFF (i.e., all ones). Checksum checking may be
disabled by setting the Ignore Checksum Errors (ICHECKSUM) bit in the port A SMBus Control
(PA_SMBUSCTL) register.
If an error is detected during loading of the serial EEPROM, then loading of the serial EEPROM is
aborted and the RSTHALT bit is set in the PA_SWCTL register. This allows debugging of the error condition
via the slave SMBus interface but prevents normal system operation with a potentially incorrectly initialized
device. Error information is recorded in the PA_SMBUSSTS register. Once serial EEPROM initialization
completes, or when an error is detected, the EEPROM Done (EEPROMD ONE) bit is set in the port A
SMBus Status (PA_SMBSTS) register.
A summary of possible errors during serial EEPROM initialization and specific action taken when
detected is summarized in Table 7.6.
1.
This includes the byte containing the TYPE field.
2.
This includes the checksum byte as well as the byte that contains the type and reserved field.
PES12N3 User Manual7 - 7June 7, 2006
Page 70
IDT SMBus InterfacesMaster SMBus Interface
Notes
ErrorAction Taken
Configuration Done Sequence checksum
mismatch with that computed by the
PES12N3
Serial EERPOM address roll-over from
0xFFFF to 0x0000
Invalid configuration block type
(only invalid type is 0x2)
An unexpected NACK is observed during a
master SMBus transaction
A misplaced START or STOP condition is
detected by the master SMBus interface
Table 7.6 Serial EEPROM Initialization Errors
- Set RSTHALT bit in PA_SWCTL register
- ICSERR bit is set in the PA_SMBUSSTS register
- Abort initialization, set DONE bit in the PA_SMBUSSTS register
- Set RSTHALT bit in PA_SWCTL register
- ICSERR bit is set in the PA_SMBUSSTS register
- Abort initialization, set DONE bit in the PA_SMBUSSTS register
- Set RSTHALT bit in PA_SWCTL register
- ICSERR bit is set in the PA_SMBUSSTS register
- Abort initialization, set DONE bit in the PA_SMBUSSTS register
- Set RSTHALT bit in PA_SWCTL register
- NAERR bit is set in the PA_SMBUSSTS register
- Abort initialization, set DONE bit in the PA_SMBUSSTS register
- Set RSTHALT bit in PA_SWCTL register
- LAERR bit is set in the PA_SMBUSSTS register
- Abort initialization, set DONE bit in the PA_SMBUSSTS register
- Set RSTHALT bit in PA_SWCTL register
- OTHERERR bit is set in the PA_SMBUSSTS register
- Abort initialization, set DONE bit in the PA_SMBUSSTS register
Programming the Serial EEPROM
The serial EEPROM may be programmed prior to board assembly or in-system via the slave SMBus
interface or a PCIe® root. Programming the serial EEPROM via the slave SMBus is described in section
Serial EEPROM Read or Write Operation on page 7-12. A PCIe root may read and write the serial
EEPROM by performing configuration read and write transactions to the port A Serial EEPROM Interface
(PA_EEPROMINTF) register.
To read a byte from the serial EEPROM, the root should configure the Address (ADDR) field in the
PA_EEPROMINTF register with the byte address of the serial EEPROM location to be read and the Operation (OP) field to “read.” The Busy (BUSY) bit should then be checked. If the EEPROM is not busy, then the
read operation may be initiated by performing a write to the Data (DATA) field. When the serial EEPROM
read operation completes, the Done (DONE) bit in the PA_EEPROMINTF register is set and the busy bit is
cleared. When this occurs, the DAT A field contains the byte data of the value read from the serial EEPROM.
To write a byte to the serial EEPROM, the root should configure the ADDR field with the byte address of
the serial EEPROM location to be written and set the OP field to “write.” If the serial EEPROM is not busy
(i.e., the BUSY bit is cleared), then the write operation may be initiated by writing the val ue to be w ritten to
the DATA field. When the write operation completes, the DONE bit is set and the busy bit is cleared.
Initiating a serial EEPROM read or write operation when the BUSY bit is set produces undefined results.
SMBus errors may occur when accessing the serial EEPROM. If an error occurs, then it is reported in the
port A SMBus Status (PA_SMBUSSTS) register. Software should check for errors before and after each
serial EEPROM access.
Hot-Plug I/O Expander
The PES12N3 utilizes an external SMBus/I2C-bus I/O expander connected to the master SMBus interface for hot-plug related signals associated with downstream ports. See section Hot-Plug I/O Expander on
page 6-3 for information on the operation of the hot-plug I/O expander.
PES12N3 User Manual7 - 8June 7, 2006
Page 71
IDT SMBus InterfacesSlave SMBus Interface
Notes
Slave SMBus Interface
The slave SMBus interface provides the PES12N3 with a configuration, management and debug interface. Using the slave SMBus interface, an external master can read or write any software visible register in
the device.
Initialization
Slave SMBus initialization occurs during a fundamental reset (see Fundamental Reset on page 2-5).
During the fundamental reset initialization sequence, the address is specified by the SSMBADDR[5,3:1]
signals as shown in Table 7.7.
Table 7.7 Slave SMBus Address When a Static Address is Selected.
SMBus Transactions
The slave SMBus interface responds to the following SMBus transactions initiated by an SMBus master.
See the SMBus 2.0 specification for a detailed description of these transactions.
– Byte and Word Write/Read
– Block Write/Read
Initiation of any SMBus transaction other than those listed above to the slave SMBus interface produces
undefined results.
Associated with each of the above transactions is a command code. The command code format for
operations supported by the slave SMBus interface is shown in Figure 7.5 and described in Table 7.8.
Bit
7
Bit
6
Bit
5
Bit
4
Bit
3
Bit
2
Figure 7.5 Slave SMBus Command Code Format
Bit
1
Bit
0
ENDSTARTFUNCTIONSIZEPEC
PES12N3 User Manual7 - 9June 7, 2006
Page 72
IDT SMBus InterfacesSlave SMBus Interface
Notes
Bit
Field
0ENDEnd of transaction indicator. Setting both START and END signifies a
1STARTStart of transaction indicator. Setting both START and END signifies
4:2FUNCTIONThis field encodes the type of SMBus operation.
6:5SIZEThis field encodes the data size of the SMBus transaction.
7PECThis bit controls whether packet error checking is enabled for the cur-
NameDescription
single transaction sequence
0 - Current transaction is not the last read or write sequence.
1 - Current transaction is the last read or write sequence.
a single transaction sequence
0 - Current transaction is not the first of a read or write sequence.
1 - Current transaction is the first of a read or write sequence.
0 - CSR register read or write operation
1 - Serial EEPROM read or write operation
2 through 7 - Reserved
0 - Byte
1 - Word
2 - Block
3 - Reserve d
rent SMBus transaction.
0 - Packet error checking disabled for the current SMBus transaction.
1 - Packet error checking enabled for the current SMBus transaction.
Table 7.8 Slave SMBus Command Code Fields
The FUNCTION field in the command code indicates if the SMBus operation is a CSR register read/
write or a serial EEPROM read/write operation. Since the format of these transactions is different. They will
be described individually in the following sections.
If a command is issued while one is already in progress or if the slave is unable to supply data associated with a command, then the command is NACKed. This indicates to the master that the transaction
should be retried.
CSR Register Read or Write Operation
Tabl e 7.9 indicates the sequence of data as it is presented on the slave SMBus following the byte
address of the Slave SMBus interface.
PES12N3 User Manual7 - 10June 7, 2006
Page 73
IDT SMBus InterfacesSlave SMBus Interface
Notes
Byte
Position
0CCODECommand Cod e. Slave Command Code field described in Table 7.8.
1BYTCNTByte Count. The byte count field is only transmitted for block type
2CMDCommand. This field encodes fields related to the CSR register read
3ADDRLAddress Low. Lower 8-bits of the doubleword CSR system address
4ADDRUAddress Upper. Upper 6-bits of the doubleword CSR system
5DATALLData Low Low. Bits [7:0] of data doubleword.
6DATALMData Low Middle. Bits [15:8] of data doubleword.
Field
NameDescription
SMBus transactions. SMBus word and byte accesses do not contain
this field. The byte count field indicates the number of bytes following
the byte count field when performing a write or setting up for a read.
The byte count field is also used when returning data to indicate the
number of following bytes (including status). Note that the byte count
field does not include the PEC byte if PEC is enabled.
or write operation.
of register to access.
address of register to access. Bits 6 and 7 in the byte must be zero
and are ignored by the hardware.
7DATAUMData Upper Middle. Bits [23:16] of data doubleword.
8DATAUUData Upper Upper. Bits [31:24] of data doubleword.
Table 7.9 CSR Register Read or Write Operation Byte Sequence
The format of the CMD field is shown in Figure 7.6 and described in Table 7.10.
Bit
7
Bit
FieldNameTypeDescription
0BELLRead/WriteByte Enable Lower Lower. When set, the byte enable for bits [7:0] of
1BELMRead/WriteByte Enable Lower Middle. When set, the byte enable for bits [15:8]
Bit
6
Bit
5
Bit
4
Bit
3
Bit
2
Bit
1
Figure 7.6 CSR Register Read or Write CMD Field Format
the data word is enabled.
of the data word is enabled.
Bit
0
BELLBELMWERRBEUMBEUUOPRERR0
2BEUMRead/WriteByte Enable Upper Middle. When set, the byte enable for bits
[23:16] of the data word is enabled.
3BEUURead/WriteByte Enabl e Upper Up per. When set, the byte enable for bits [31:24]
of the data word is enabled.
Table 7.10 CSR Register Read or Write CMD Field Description (Part 1 of 2)
PES12N3 User Manual7 - 11June 7, 2006
Page 74
IDT SMBus InterfacesSlave SMBus Interface
Notes
Bit
FieldNameTypeDescription
4OPRead/WriteCSR Operation. This field encodes the CSR operation to be per-
formed.
0 - CSR write
1 - CSR read
500Reserved. Must be zero
6RERRRead-Only
and Clear
Read Error. This bit is set if the last CSR read SMBus transaction was
not claimed by a device. Success indicates that the transaction was
claimed and not that the operation completed without error.
7WERRRead-Only
and Clear
Write Error. This bit is set if the last CSR write SMBus transaction was
not claimed by a device. Success indicates that the transaction was
claimed and not that the operation completed without error.
Table 7.10 CSR Register Read or Write CMD Field Description (Part 2 of 2)
Serial EEPROM Read or Write Operation
Tabl e 7.11 indi cates the sequence of data as it is presented on the slave SMBus following the byte
address of the Slave SMBus interface.
Byte
Position
Field
NameDescription
0CCODECommand Cod e. Slave Command Code field described in Table 7.8.
1BYTCNTByte Count. The byte count field is only transmitted for block type
SMBus transactions. SMBus word and byte accesses do not contain
this field. The byte count field indicates the number of bytes following
the byte count field when performing a write or setting up for a read.
The byte count field is also used when returning data to indicate the
number of following bytes (including status).
2CMDCommand. This field contains information related to the serial
EEPROM transaction
3EEADDRSerial EEPROM Address. This field specifies the address of the
Serial EEPROM on the Master SMBus when the USA bit is set in the
CMD field. Bit zero must be zero and thus the 7-bit address must be
left-justified.
4ADDRLAddress Low. Lower 8-bits of the Serial EEPROM byte to access.
5ADDRUAddress Upper. Upper 8-bits of the Serial EEPROM byte to access.
6DATAData. Serial EEPROM value read or to be written.
Table 7.11 Serial EEPROM Read or Write Operation Byte Sequence
The format of the CMD field is shown in Figure 7.7 and described in Table 7.12
Bit
7
Bit
6
Bit
5
Bit
4
Bit
3
Bit
2
Bit
1
Bit
0
OPUSA0NAERRLAERROTHERERR0
Figure 7.7 Serial EEPROM Read or Write CMD Field Format
PES12N3 User Manual7 - 12June 7, 2006
Page 75
IDT SMBus InterfacesSlave SMBus Interface
Notes
Bit
FieldNameType
1
Description
0OPRWSerial EEPROM Operation. This field encodes the serial EEPROM
operation to be performed.
0 - Serial EEPROM write
1 - Serial EEPROM read
1USA RWUse Specified Address. When this bit is set the serial EEPROM
SMBus address specified in the EEADDR is used instead of that
specified in the MSMBADDR field in the SMBUSSTS register.
2Reserved
3NAERRRCNo Acknowledge Error. This bit is set if an unexpected NACK is
observed during a master SMBus transaction when accessing the
serial EEPROM. This bit has the same function as the NAERR bit in
the PA_SMBUSSTS register.
The setting of this bit may indicate the following: that the addressed
device does not exist on the SMBus (i.e., addressing error), data is
unavailable or the device is busy, an invalid command was detected
by the slave, invalid data was detected by the slave.
4LAERRRCLost Arbitration Error. This bit is set if the master SMBus interface
loses 16 consecutive arbitration attempts when accessing the serial
EEPROM. This bit has the same function as the LAERR bit in the
PA_SMBUSSTS register.
5OTHERERRRCOther Error. This bit is set if a misplaced START or STOP condition is
detected by the master SMBus interface when accessing the serial
EEPROM. This bit has the same function as the OTHERERR bit in
the PA_SMBUSSTS register.
7:6Reserved0Reserved. Must be zero
Table 7.12 Serial EEPROM Read or Write CMD Field Description
1.
See Table Table 1.2 in Chapter 1 for a definition of these abbreviations.
Sample Slave SMBus Operation
This section illustrates sample Slave SMBus operations. Shaded items are driven by the PES12N3’s
slave SMBus interface and non-shaded items are driven by an SMBus host.
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
Wr AA
Wr AN
Wr AA
ADDRU
Figure 7.8 CSR Register Read Using SMBus Block Write/Read Transactions with PEC Disabled
A
CCODE
START,END
CCODE
START,END
CCODE
START,END
BYTCNT=3
(PES12N3 not ready with data)
P
PES12N3 Slave
S
SMBus Address
DATALMDATALL
ANP
CMD=read
A
BYTCNT=7
A
Rd
DATAUM
ADDRL
A
AAA
DATAUU
A
A
N
ADDRU
A P
ADDRLCMD (status)
PES12N3 User Manual7 - 13June 7, 2006
Page 76
IDT SMBus InterfacesSlave SMBus Interface
Notes
PES12N3 Slave
S
SMBus Address
Wr A
CCODE
START,END
A
BYTCNT=4
CMD=read
A
EEADDR
A
ADDRL
A
A
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
ADDRU
ADDRL
P
A
Wr AN
Wr AA
CCODE
START,END
CCODE
START,END
A
(PES12N3 not ready with data)
P
PES12N3 Slave
S
SMBus Address
DATAADDRU
AP
N
BYTCNT=5
Rd
A
AAA
EEADDRCMD (status)
Figure 7.9 Serial EEPROM Read Using SMBus Block Write/Read Transactions with PEC Disabled
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
Wr A
Wr A
Wr AA
CCODE
START,END
CCODE
START,END
CCODE
START,END
(PES12N3 busy with previous command, not ready for a new command)
N
P
(PES12N3 busy with previous command, not ready for a new command)
N
P
BYTCNT=7
A
CMD=write
ADDRL
A
A
ADDRU
A
DATALL
DATALM
A
DATAUM
A
DATAUU
A
A P
Figure 7.10 CSR Register Write Using SMBus Block Write Transactions with PEC Disabled
PES12N3 Slave
S
SMBus Address
Wr A
ADDRU
A
CCODE
START,END
DATA
A
A P
BYTCNT=5
CMD=write
A
EEADDR
A
ADDRL
A
Figure 7.11 Serial EEPROM Write Using SMBus Block Write Transactions with PEC Disabled
PES12N3 Slave
S
SMBus Address
Wr AA
ADDRU
A
CCODE
START,END
DATA
BYTCNT=5
AP
PEC
A
A
CMD=write
EEADDR
A
ADDRL
A
Figure 7.12 Serial EEPROM Write Using SMBus Block Write Transactions with PEC Enabled
A
A
PES12N3 User Manual7 - 14June 7, 2006
Page 77
IDT SMBus InterfacesSlave SMBus Interface
Notes
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
SMBus Address
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
A
A
A
AS
A
CCODE
STAR T, Word
CCODE
END, Byte
CCODE
START,Word
CCODE
START,Word
CCODE
Byte
ADDRU
CCODE
Word
Wr A
Wr AA
Wr
Wr A
Rd
Wr
RdA P
Wr
A
N P
A
AN
A
A
Rd AA
CMD=read
ADDRU
ADDRL
A
A
P
(PES12N3 not ready with data)
ADDRLC M D (s tatus)
DATALMDATALL
P
N
P
A
P
PES12N3 Slave
S
SMBus Address
PES12N3 Slave
S
SMBus Address
Wr
Rd AA
A
CCODE
END, Word
A
DATAUUDATAUM
N
P
Figure 7.13 CSR Register Read Using SMBus Read and Write Transactions with PEC Disabled
PES12N3 User Manual7 - 15June 7, 2006
Page 78
IDT SMBus InterfacesSlave SMBus Interface
Notes
PES12N3 User Manual7 - 16June 7, 2006
Page 79
Chapter 8
General Purpose I/O
Notes
Introduction
The PES12N3 has eight General Purpose I/O (GPIO) pins that may be individually configured as:
general purpose inputs, general purpose outputs, or alternate functions. GPIO pins are controlled by the
General Purpose I/O Control and Status (GPIOCS) register located in upstream port A’s PCI configuration
space (see Table 8.1).
GPIO Registers
Bit
Field
7:0GPIOFUNCRW0x0GPIO Function. Each bit in this field controls the corre-
15:8GPIOCFGRW0x0GPIO Configuration. Each bit in this field controls the cor-
Field
Name
Type
Default
Value
Description
sponding GPIO pin. When set to a one, the corresponding
GPIO pin operates as the alternate function as defined in
Table 8.2. When a bit is cleared to a zero, the corresponding GPIO pin operates as a general purpose I/O pin.
responding GPIO pin. When a bit is configured as a general purpose I/O pin and the corresponding bit in this field
is set, then the pin is configured as a GPIO output. When a
bit is configured as a general purpose I/O pin and the corresponding bit in this field is zero, then the pin is configured as an input. When the pin is configured as an
alternate function, the behavior of the pin is defined by the
alternate function.
23:16GPIODRWHWINITGPIO Data. Each bit in this field controls the correspond-
ing GPIO pin. Reading this field returns the current value
of each GPIO pin regardless of GPIO pin mode (i.e., alternate function or GPIO pin). Writing a value to this field
causes the corresponding pins which are configured as
GPIO outputs to change state to the value written.
31:24ReservedRO0x0Reserved field.
Table 8.1 General Purpose IO Registers
As shown in Table 8.2, GPIO pins [5:0] are shared with other on-chip functions. The GPIO Function
(GPIOFUNC) field in the GPIOCS register controls whether a GPIO bit operates as a general purpose I/O
or as the specified alternate function.
PES12N3 User Manual 8 - 1June 7, 2006
Page 80
IDT General Purpose I/OGPIO Configuration
Notes
GPIO
Pin
Alternate
Function
Pin Name
2IOEXPINTNHot-plug I/O expander interruptInput
3PAABNHot-plug port A attention buttonInput
4PAAINHot-plug port A attention indicator outputOutput
5PAPINHot-plug port A power indicator outputOutput
Table 8.2 General Purpose I/O Pin Alternate Function
Alternate Function Description
Alternate
Function
Pin Type
After reset, all GPIO pins default to the GPIO input function. GPIO pins configured as GPIO inputs are
sampled no more frequently than once every 128 ns and may be treated as asynchronous inputs.
When a GPIO pin is configured to use the GPIO function, the unneeded alternate function associated
with the pin is held in an inactive state by internal logic. Care should be exercised when configuring the
GPIO pins as outputs since an incorrect configuration could cause damage to external components as well
as the PES12N3.
GPIO Configuration
Each bit in the GPIOFUNC, GPIOCFG and GPIOD fields in the G PIOCS register is ass ociated wi th the
corresponding GPIO pin. Table 8.3 summarizes the configuration of GPIO pins.
GPIOFUNCGPIOCFGPin Function
00GPIO input
01GPIO output
1don’t careAlternate function
Table 8.3 GPIO Pin Configuration
GPIO Pin Config ured as an Inpu t
When configured as an input in the GPIOCFG field and as a GPIO function in the GPIOFUNC field, the
GPIO pin is sampled and registered in the GPIOD field. The value of the input pin can be determined at any
time by reading the GPIOD field. Note that the value in this field corresponds to the value of the pin irrespective of whether the pin is configured as a GPIO input, GPIO output or alternate function.
GPIO Pin Configured as an Output
When configured as an output in the GPIOCFG field and as a GPIO function in the GPIOFUNC field, the
value in the corresponding bit position of the GPIOD field is driven on the pin. System designers should
treat the GPIO outputs as asynchronous outputs. The actual value of the output pin can be determined by
reading the GPIOD field.
GPIO Pin Configured as an Alternat e Function
When configured as an alternate function in the GPIOFUNC field, the pin behaves as an described by
the section associated with that function. The value of the alternate function pin can be determined at any
time by reading the GPIOD field.
PES12N3 User Manual8 - 2June 7, 2006
Page 81
Chapter 9
Transparent Mode Operation
Notes
Introduction
When the PES12N3 is configured during a fundamental reset to operate in transparent mode or transparent mode with serial EEPROM initialization, the device functionally operates as illustrated in Figure 9.1.
In this mode, the PES12N3 may logically viewed as consisting of three PCI-PCI transparent bridges, one
per port, and an internal virtual PCI bus.
Associated with each port is a 4 KB configuration space and a Type 1 configuration header. The organization of these configuration spaces is described in section Port Configuration Space Organization on page
9-6. The functional operation of the PES12N3 in transparent mode is fully consistent with that described in
the PCI Express® Base Specification, revision 1.0a for a three port switch.
Port A
(Upstream Port)
Type 1
Configuration Header
PCI-PCI
Transparent
Bridge
Virtual PCI Bus
Type 1
Configuration Header
PCI-PCI
Transparent Bridge
(Device 0)
Port B
(Downstream Port)
Figure 9.1 PES12N3 Functional Block Diagram in Transparent Mode
Type 1
Configuration Header
PCI-PCI
Transparent Bridge
(Device 1)
Port C
(Downstream Port)
As shown in Figure 9.1, port A is configured as the upstream port and ports B and C as the downstream
ports. Port B resides on the internal PCI Bus at Device 0, Function 0. Port C resides on the internal PCI Bus
at Device 1, Function 0.
PES12N3 User Manual 9 - 1June 7, 2006
Page 82
IDT Transparent Mode OperationEnd-to-End CRC
Notes
End-to-End CRC
PCIe® defines an optional end-to-end CRC associated with TLPs.
The PES12N3 fully supports ECRC for all TLPs that pass through the switch except for transactions
utilizing gathered and routed to root complex implicit routing. For transactions received with this routing
type, the ECRC is discarded and not checked and the resulting gathered message is generated without an
ECRC. The only standard defined message that utilizes this method of routing is the PME_TO_Ack
message.
The PES12N3 does not support ECRC for TLPs that it generates (e.g., configuration responses, INTx
messages, etc.). Also, it does not support ECRC for TLPs it consumes (e.g., configuration requests).
However; if a TLP is received with an ECRC, the CRC is discarded and not checked and the transaction is
performed.
Interrupts
The upstream port, port A, does not support generation of legacy interrupts or MSIs. The downstream
ports, ports B and C, do support generation of legacy interrupts and MSIs by their corresponding hot-plug
controllers. When configured to generate INTx messages, only INTA is used.
When an unmasked hot-plug interrupt condition occurs (see section Hot-Plug Interrupts and Wake-up
on page 6-6), then an MSI or interrupt message is generated by the corresponding port as described in
Table 9.1. The removal of the interrupt condition occurs when unmasked hot-plug status bits are masked or
cleared.
Unmasked
Hot-Plug
Interrupt
Asserted1XMSI message generated
Negated1XNone
EN bit in
MSICAP
Register
00Assert_INTA message request generated to switch
01None
00Deassert_INTA message request generated to
01None
Table 9.1 Transparent Mode Port B and C Interrupts
INTXD bit
in PCICMD
Register
Action
core
switch core
Error Detection and Handling
This section describes error detection performed by an ingress or egress stack when the switch is
configured to operate in transparent mode. Table 9.2 lists error checks performed by the physical layer and
action taken when an error is detected.
PES12N3 User Manual9 - 2June 7, 2006
Page 83
IDT Transparent Mode OperationError Detection and Handling
Notes
PCIe Base
Error Condition
1.0a
Specification
Section
Action Taken
Invalid symbol or running disparity error
detected.
Any TLP or DLLP framing rule violation. 4.2.2.1Correctable error processing
8b/10b decode error 4.2.4.4Correctable error processing
Any violation of the link initialization or
training protocol
Table 9.2 Physical Layer Errors
4.2.1.3Correctable error processing
4.2.4Uncorrectable error processing
Table 9.3 lists error checks performed by the data link layer and action taken when an error is detected.
PCIe Base
Error Condition
TLP ending in ENDB with LCRC that
does not match inverted calculated LCRC
TLP received with incorrect LCRC3.5.3.1Correctable error processing
TLP received with sequence number not
equal to NEXT_RCV_SEQ and this is not
a duplicate TLP
Bad DLLP
1
1.0a
Specification
Section
3.5.3.1TLP discarded
3.5.3.1Correctable error processing
3.5.2.1Correctable error processing
Action Taken
Replay time-out3.5.2.1Correctable error processing
REPLAY NUM rollover3.5.2.1Correctable error processing
Violation of flow control initialization pro-
tocol
Sequence number specified by
AckNak_Seq does not correspond to an
unacknowledged TLP or to the value in
ACKD_SEQ
1.
A bad DLLP is a DLP with a bad LCRC.
Table 9.3 Data Link Layer Errors
3.3.1Uncorrectable error processing
3.5.2.1Uncorrectable error processing
Tabl e 9.4 lists error checks performed by the transaction link layer and action tak en when an error is
detected.
PES12N3 User Manual9 - 3June 7, 2006
Page 84
IDT Transparent Mode OperationError Detection and Handling
Notes
PCIe Base
Error Condition
ECRC check failure2.7.1None. The PES12N3 does not check ECRC
Malformed TLP-Fatal error processing.
Flow control protocol error2.6.1Not applicable. The PES12N3 does not
Not applicable. The PES12N3 never generates non-posted transactions.
8.
Table 9.5 lists the error checks performed by the transaction layer for malformed TLPs. TLP error
checks are only performed when a TLP is received by the switch (i.e., by the stack associated with the port
on which the switch receives the TLP). No checks are made for malformed TLPs inside the switch.
TLP TypeError Check
AllLENGTH < Max_Payload_Size (i.e., MPS field in
PCIEDCTL register)
I/O read requestLENGTH = 1 (doubleword)
TC = 0,
ATTR = 0
The actual packet length is correct (4 doublewords
when CRC is present, 3doublewords otherwise)
I/O write requestLENGTH = 1 (doubleword)
TC = 0
ATTR = 0
The actual packet length is correct (5 doublewords
when CRC is present, 4 doublewords otherwise)
Configuration read requestLENGTH = 1 (doubleword)
TC = 0,
ATTR = 0
The actual packet length is correct (4 doublewords
when CRC is present, 3doublewords otherwise)
TC = 0
ATTR = 0
The actual packet length is correct (5 doublewords
when CRC is present, 4 doublewords otherwise)
Table 9.5 Malformed TLP Error Checks (Part 1 of 2)
PES12N3 User Manual9 - 4June 7, 2006
Page 85
IDT Transparent Mode OperationError Detection and Handling
Notes
TLP TypeError Check
Memory read request (32- and 64-bit address
mode)
Memory write request (32- and 64-bit address
mode)
Completion with dataThe packet length is correct.
The packet length is correct.
32-bit address mode: 3 doublewords when ECRC
is present, 4 doublewords otherwise
64-bit address mode: 4 doublewords when ECRC
is present, 5 doublewords otherwise
The packet length is correct.
32-bit address mode:
- Number of doublewords received equals
LENGTH + 4 when ECRC is present
- Number of doublewords received equals
LENGTH + 3 when a packet does not contain
ECRC
64-bit address mode
-Number of doublewords received equals LENGTH
+ 5 when ECRC is present
- Number of doublewords received equals
LENGTH + 4 when a packet does not contain
ECRC
- Number of doublewords received equals
LENGTH + 3 when a packet does not contain
ECRC
- Number of doublewords received equals
LENGTH + 4 when ECRC is present
- Number of doublewords received is not greater
then MaxPayloadSize + 3/4
Message or message with dataThe actual packet length is correct:
- Number of received double words equals
LENGTH + 4 when a packet does not contain
ECRC
- Number of received double words equals
LENGTH + 5 when ECRC is present
- Number of received doublewords is not greater
then MaxPayloadSize + 4/5
Interrupt messages
Power management messages
Error signalling messages
Unlock message
Set slot power limit message
Table 9.5 Malformed TLP Error Checks (Part 2 of 2)
TC = 0 (a message of this type is considered a
malformed TLP if it uses a traffic class designator
other than TC0)
PES12N3 User Manual9 - 5June 7, 2006
Page 86
IDT Transparent Mode OperationPort Configuration Space Organization
Notes
Configuration Requests
The PCI-PCI bridges associated with ports A, B and C all have configuration registers that may be
accessed with Type 0 configuration read and write requests. PCIe allows multiple outstanding configuration
read and write requests. The PCI-PCI bridges in the PES12N3 each support a maximum of four
outstanding configuration requests. Issuing more than four outstanding configuration requests to any of
these entities may result in configuration requests being dropped.
Configuration accesses to different entities within the PES12N3 may complete out-of-order and may
limit the utility of multiple outstanding PCIe configuration accesses. For example, a configuration access
that modifies a secondary or subordinate bus number which is immediately followed by a Type 1 configuration access that relies on the modified value for routing may result in an error when issued concurrently , but
execute properly when issued in sequence. Configuration accesses to any particular entity always
complete in order.
Port Configuration Space Organization
The organization of port A, B and C configuration space is shown in Figure 9.2. While all three ports
share the same basic layout, only port A (the upstream port) has switch control and status registers and
only ports B and C (downstream ports) have an MSI capability structure. Port A does not contain an MSI
capability structure since it does not have an associated hot-plug controller that generates interrupts.
PES12N3 User Manual9 - 6June 7, 2006
Page 87
IDT Transparent Mode OperationPort Configuration Space Organization
Notes
0x000
Type 1
Configuration Header
0x040
PCI Express
Capability Structure
0x070
0x07C
0x0A0
0x0F4
0x100
0x200
PCI Power Management
MSI Capability Structure
*** Ports B & C Only ***
Extended Cfg. Access &
Capability Structure
PCI
Configuration Space
(64 DWords)
Switch Control
& Status Registers
*** Port A Only ***
INTx Status
Virtual Channel
Capability Structure
Reserved
PCI Express Extended
Configuration Space
(960 DWords)
0x500
0x600
0xFFF
Switch Integrity Control
& Status Registers
Reserved
Figure 9.2 Port Configuration Space Organization
PES12N3 User Manual9 - 7June 7, 2006
Page 88
IDT Transparent Mode OperationUpstream Port A Configuration Space Registers
Notes
Upstream Port A Configuration Space Registers
All configuration space locations not listed in Table 9.6 return a value of zero when read. Writes to these
locations are ignored and have no side-effects.
Port A configuration space registers may be read and written via the slave SMBus interface and initialized from the serial EEPROM using the CSR system address formed by adding the base address 0x0000
to the PCI configuration space offset address.
Note: In pdf format, clicking on a register name in the Register Definition column creates a jump
to the appropriate register. To return to the starting place in this table, click on the same register
name (in blue) in the register section.
Cfg.
Offset
0x000WordPA_VIDVID - Vendor Identification (0x000) on page 9-17
0x002WordPA_DIDDID - Device Identification (0x002) on page 9-17
0x004WordPA_PCICMDPCICMD - PCI Command (0x004) on page 9-17
0x006WordPA_PCISTSPCISTS - PCI Status (0x006) on page 9-18
0x008BytePA_RIDRID - Revision Identification (0x008) on page 9-19
0x0093 BytesPA_CCODECCODE - Class Code (0x009) on page 9-19
0x00CBytePA_CLSCLS - Cache Line Size (0x00C) on page 9-20
0x00DBytePA_PLTIMERPLTIMER - Primary Latency Timer (0x00D) on page 9-20
Size
Register
Mnemonic
Register Definition
0x00EBytePA_HDRHDR - Header Type Register (0x00E) on page 9-20
0x00FBytePA_BISTBIST - Built-in Self Test (0x00F) on page 9-20
0x010DWordPA_BAR0BAR0 - Base Address Register 0 (0x010) on page 9-20
0x014DWordPA_BAR1BAR1 - Base Address Register 1 (0x014) on page 9-20
0x018BytePA_PBUSNPBUSN - Primary Bus Number (0x018) on page 9-21
0x019BytePA_SBUSNSBUSN - Secondary Bus Number (0x019) on page 9-21
0x01ABytePA_SUBUSNSUBUSN - Subordinate Bus Number (0x01A) on page 9-21
0x01BBytePA_SLTIMERSLTIMER - Secondary Latency Timer (0x01B) on page 9-21
0x01CBytePA_IOBASEIOBASE - I/O Base (0x01C) on page 9-21
0x01DBytePA_IOLIMITIOLIMIT - I/O Limit (0x01D) on page 9-22
0x01EWordPA_SECSTSSECSTS - Secondary Status (0x01E) on page 9-22
0x020WordPA_MBASEMBASE - Memory Base (0x020) on page 9-23
0x022WordPA_MLIMITMLIMIT - Memory Limit (0x022) on page 9-23
0x024WordPA_PMBASEPMBASE - Prefetchable Memory Base (0x024) on page 9-23
0x026WordPA_PMLIMITPMLIMIT - Prefetchable Memory Limit (0x026) on page 9-24
0x028DWordPA_PMBASEUPMBASEU - Prefetchable Memory Base Upper (0x028) on page
9-24
0x02CDWordPA_PMLIMITUPMLIMITU - Prefetchable Memory Limit Upper (0x02C) on page
9-24
0x030WordPA_IOBASEUIOBASEU - I/O Base Upper (0x030) on page 9-24
Table 9.6 Upstream Port A Configuration Space Registers (Part 1 of 3)
PES12N3 User Manual9 - 8June 7, 2006
Page 89
IDT Transparent Mode OperationUpstream Port A Configuration Space Registers
Notes
Cfg.
Offset
0x032WordPA_IOLIMITUIOLIMITU - I/O Limit Upper (0x032) on page 9-25
0x034BytePA_CAPPTRCAPPTR - Capabilities Pointer (0x034) on page 9-25
0x038DWordPA_EROMBASEEROMBASE - Expansion ROM Base Address (0x038) on page
0x03CBytePA_INTRLINEINTRLINE - Interrupt Line (0x03C) on page 9-25
0x03DBytePA_INTRPININTRPIN - Interrupt PIN (0x03D) on page 9-25
0x03EWordPA_BCTRLBCTRL - Bridge Control (0x03E) on page 9-26
0x040DWordPA_PCIECAPPA_PCIECAP - PCI Express Capability (0x040) on page 9-10
0x044DWordPA_PCIEDCAPPCIEDCAP - PCI Express Device Capabilities (0x044) on page
0x048WordPA_PCIEDCTLPCIEDCTL - PCI Express Device Control (0x048) on page 9-28
0x04AWordPA_PCIEDSTSPCIEDSTS - PCI Express Device Status (0x04A) on page 9-29
0x04CDWordPA_PCIELCAPPCIELCAP - PCI Express Link Capabilities (0x04C) on page 9-
0x050WordPA_PCIELCTLPCIELCTL - PCI Express Link Control (0x050) on page 9-30
0x052WordPA_PCIELSTSPCIELSTS - PCI Express Link Status (0x052) on page 9-31
0x070DWordPA_PMCAPPMCAP - PCI Power Management Capabilities (0x070) on page
Size
Register
Mnemonic
Register Definition
9-25
9-27
30
9-36
0x074DWordPA_PMCSRPMCSR - PCI Power Management Control and Status (0x074)
on page 9-36
0x078DWordPA_PMPCPMPC - PCI Power Management Proprietary Control (0x078) on
page 9-37
0x0A0DWordPA_SWSTSSWSTS Switch Status (0x0A0) on page 9-40
0x0A4DWordPA_SWCTLSWCTL - Switch Control (0x0A4) on page 9-42
0x0A8DWordPA_GPIOCSGPIOCS - General Purpose I/O Control and Status (0x0A8) on
page 9-45
0x0ACDWordPA_SMBUSSTSSMBUSSTS - SMBus Status (0x0AC) on page 9-45
0x0B0DWordPA_SMBUSCTLSMBUSCTL - SMBus Control (0x0B0) on page 9-46
0x0B4DWordPA_EEPROMINTFEEPROMINTF - Serial EEPROM Interface (0x0B4) on page 9-
47
0x0B8DWordPA_IOEXPINTFIOEXPINTF - I/O Expander Interface (0x0B8) on page 9-48
0x0BCDWordPA_TMCTLTMCTL - Test Mode Control (0x0BC) on page 9-55
0x0C0DWordPA_TMFSTSTMFSTS - Test Mode Fail Status (0x0C0) on page 9-56
0x0C4DWordPA_TMSSTSTMSSTS - Test Mode Synchronization Status (0x0C4) on page
9-56
0x0C8DWordPA_TMCNTCFGTMCNTCFG - Test Mode Count Configuration (0x0C8) on page
9-57
0x0CCDWordPA_TMCNT0TMCNT0 - Test Mode Count 0 (0x0CC) on page 9-59
0x0D0DWordPA_TMCNT1TMCNT1 - Test Mode Count 1 (0x0D0) on page 9-59
Table 9.6 Upstream Port A Configuration Space Registers (Part 2 of 3)
PES12N3 User Manual9 - 9June 7, 2006
Page 90
IDT Transparent Mode OperationUpstream Port A Configuration Space Registers
Notes
Cfg.
Offset
0x0D4DWordPA_TMCNT2TMCNT2 - Test Mode Count 2 (0x0D4) on page 9-60
0x0F4WordPA_INTSTSINTSTS - Interrupt Status (0x0F4) on page 9-49
0x0F8DWordPA_ECFGADDRECFGADDR - Extended Configuration Space Access Address
0x0FCDWordPA_ECFGDATAECFGDATA - Extended Configuration Space Access Data
link associated with this Port is connected to a slot. Does
not apply to the upstream port and should be set to zero.
Downstream Port B Configuration Space Registers
All configuration space locations not listed in Table 9.7 return a value of zero when read. Writes to these
locations are ignored and have no side-effects. Port B configuration space registers may be read and
written via the slave SMBus interface and initialized from the serial EEPROM using the CSR system
address formed by adding the base address 0x1000 to the PCI configuration space offset address.
Cfg.
Offset
0x000WordPB_VIDVID - Vendor Identification (0x000) on page 9-17
0x002WordPB_DIDDID - Device Identification (0x002) on page 9-17
0x004WordPB_PCICMDPCICMD - PCI Command (0x004) on page 9-17
Size
Register
Mnemonic
Register Definition
0x006WordPB_PCISTSPCISTS - PCI Status (0x006) on page 9-18
0x008BytePB_RIDRID - Revision Identification (0x008) on page 9-19
0x0093 Bytes PB_CCODECCODE - Class Code (0x009) on page 9-19
0x00CBytePB_CLSCLS - Cache Line Size (0x00C) on page 9-20
0x00DBytePB_PLTIMERPLTIMER - Primary Latency Timer (0x00D) on page 9-20
0x00EBytePB_HDRHDR - Header Type Register (0x00E) on page 9-20
0x00FBytePB_BISTBIST - Built-in Self Test (0x00F) on page 9-20
0x010DWord PB_BAR0BAR0 - Base Address Register 0 (0x010) on page 9-20
0x014DWord PB_BAR1BAR1 - Base Address Register 1 (0x014) on page 9-20
0x018BytePB_PBUSNPBUSN - Primary Bus Number (0x018) on page 9-21
0x019BytePB_SBUSNSBUSN - Secondary Bus Number (0x019) on page 9-21
0x01ABytePB_SUBUSNSUBUSN - Subordinate Bus Number (0x01A) on page 9-21
0x01BBytePB_SLTIMERSLTIMER - Secondary Latency Timer (0x01B) on page 9-21
0x01CBytePB_IOBASEIOBASE - I/O Base (0x01C) on page 9-21
0x01DBytePB_IOLIMITIOLIMIT - I/O Limit (0x01D) on page 9-22
0x01EWordPB_SECSTSSECSTS - Secondary Status (0x01E) on page 9-22
0x020WordPB_MBASEMBASE - Memory Base (0x020) on page 9-23
0x022WordPB_MLIMITMLIMIT - Memory Limit (0x022) on page 9-23
0x024WordPB_PMBASEPMBASE - Prefetchable Memory Base (0x024) on page 9-23
0x026WordPB_PMLIMITPMLIMIT - Prefetchable Memory Limit (0x026) on page 9-24
Table 9.7 Downstream Port B Configuration Space Registers (Part 1 of 3)
PES12N3 User Manual9 - 11June 7, 2006
Page 92
IDT Transparent Mode OperationDownstream Port B Configuration Space Registers
Notes
Cfg.
Offset
0x028DWordPB_PMBASEUPMBASEU - Prefetchable Memory Base Upper (0x028) on page
0x02CDWord PB_PMLIMITUPMLIMITU - Prefetchable Memory Limit Upper (0x02C) on page
0x030WordPB_IOBASEUIOBASEU - I/O Base Upper (0x030) on page 9-24
0x032WordPB_IOLIMITUIOLIMITU - I/O Limit Upper (0x032) on page 9-25
0x034BytePB_CAPPTRCAPPTR - Capabilities Pointer (0x034) on page 9-25
0x038DWordPB_EROMBASEEROMBASE - Expansion ROM Base Address (0x038) on page
0x03CBytePB_INTRLINEINTRLINE - Interrupt Line (0x03C) on page 9-25
0x03DBytePB_INTRPININTRPIN - Interrupt PIN (0x03D) on page 9-25
0x03EWordPB_BCTRLBCTRL - Bridge Control (0x03E) on page 9-26
0x040DWord PB_PCIECAPPB_PCIECAP - PCI Express Capability (0x040) on page 9-13
0x044DWord PB_PCIEDCAPPCIEDCAP - PCI Express Device Capabilities (0x044) on page
0x048WordPB_PCIEDCTLPCIEDCTL - PCI Express Device Control (0x048) on page 9-28
0x04AWordPB_PCIEDSTSPCIEDSTS - PCI Express Device Status (0x04A) on page 9-29
0x04CDWord PB_PCIELCAPPCIELCAP - PCI Express Link Capabilities (0x04C) on page 9-
Size
Register
Mnemonic
Register Definition
9-24
9-24
9-25
9-27
30
0x050WordPB_PCIELCTLPCIELCTL - PCI Express Link Control (0x050) on page 9-30
0x052WordPB_PCIELSTSPCIELSTS - PCI Express Link Status (0x052) on page 9-31
0x054DWordPB_PCIESCAPPCIESCAP - PCI Express Slot Capabilities (0x054) on page 9-
32
0x058WordPB_PCIESCTLPCIESCTL - PCI Express Slot Control (0x058) on page 9-33
0x05AWordPB_PCIESSTSPCIESSTS - PCI Express Slot Status (0x05A) on page 9-35
0x070DWord PB_PMCAPPMCAP - PCI Power Management Capabilities (0x070) on page
9-36
0x074DWord PB_PMCSRPMCSR - PCI Power Management Control and Status (0x074)
on page 9-36
0x078DWord PB_PMPCPMPC - PCI Power Management Proprietary Control (0x078) on
page 9-37
0x07CDWord PB_MSICAPMSICAP - Message Signaled Interrupt Capability and Control
(0x07C) on page 9-39
0x080DWord PB_MSIADDRMSIADDR - Message Signaled Interrupt Address (0x080) on
0x414
0x500DwordPB_SWSICTLSWSICTL - Switch System Integrity Control (0x500) on page 9-
Size
Register
Mnemonic
Register Definition
(0x0F8) on page 9-49
(0x0FC) on page 9-50
bility Header (0x100) on page 9-50
on page 9-53
on page 9-54
Reserved
60
0x504DwordPB_SWSIPECNTSWSIPECNT - Switch System Integrity Parity Error Count
(0x504) on page 9-61
0x508DwordPB_SWSITDCNTSWSITDCNT - Switch System Integrity Time-Out Drop Count
(0x508) on page 9-61
0x510 —
0x61C
Table 9.7 Downstream Port B Configuration Space Registers (Part 3 of 3)
Reserved
Register Specialization
PB_PCIECAP - PCI Express Capability (0x040)
Bit
Field
7:0CAPID——PCIECAP - PCI Express Capability (0x040) on page 9-26
15:8NXTPTR——PCIECAP - PCI Express Capability (0x040) on page 9-26
19:16VER——PCIECAP - PCI Express Capability (0x040) on page 9-26
23:20TYPERO0x6Port Type. Downstream port of a PCI-Express switch.
24SLOTRWL0x0Slot Implemented. This bit is set when the PCI Express
Field
Name
Type
Default
Value
Description
link associated with this Port is connected to a slot.
29:25IMN——PCIECAP - PCI Express Capability (0x040) on page 9-26
31:30ReservedRO0x0Reserved field.
PES12N3 User Manual9 - 13June 7, 2006
Page 94
IDT Transparent Mode OperationDownstream Port C Configuration Space Registers
Notes
Downstream Port C Configuration Space Registers
All configuration space locations not listed in Table 9.8 return a value of zero when read. Writes to these
locations are ignored and have no side-effects.
Port C configuration space registers may be read and written via the slave SMBus interface and initialized from the serial EEPROM using the CSR system address formed by adding the base address 0x2000
to the PCI configuration space offset address.
Note: In pdf format, clicking on a register name in the Register Definition column creates a jump
to the appropriate register. To return to the starting place in this table, click on the same register
name (in blue) in the register section.
Cfg.
Offset
0x000WordPC_VIDVID - Vendor Identification (0x000) on page 9-17
0x002WordPC_DIDDID - Device Identification (0x002) on page 9-17
0x004WordPC_PCICMDPCICMD - PCI Command (0x004) on page 9-17
0x006WordPC_PCISTSPCISTS - PCI Status (0x006) on page 9-18
0x008BytePC_RIDRID - Revision Identification (0x008) on page 9-19
0x0093 BytesPC_CCOD ECCODE - Class Code (0x009) on page 9-19
0x00CBytePC_CLSCLS - Cache Line Size (0x00C) on page 9-20
0x00DBytePC_PLTIMERPLTIMER - Primary Latency Timer (0x00D) on page 9-20
Size
Register
Mnemonic
Register Definition
0x00EBytePC_HDRHDR - Header Type Register (0x00E) on page 9-20
0x00FBytePC_BISTBIST - Built-in Self Test (0x00F) on page 9-20
0x010DWordPC_BAR0BAR0 - Base Address Register 0 (0x010) on page 9-20
0x014DWordPC_BAR1BAR1 - Base Address Register 1 (0x014) on page 9-20
0x018BytePC_PBUSNPBUSN - Primary Bus Number (0x018) on page 9-21
0x019BytePC_SBUSNSBUSN - Secondary Bus Number (0x019) on page 9-21
0x01ABytePC_SUBUSNSUBUSN - Subordinate Bus Number (0x01A) on page 9-21
0x01BBytePC_SLTIMERSLTIMER - Secondary Latency Timer (0x01B) on page 9-21
0x01CBytePC_IOBASEIOBASE - I/O Base (0x01C) on page 9-21
0x01DBytePC_IOLIMITIOLIMIT - I/O Limit (0x01D) on page 9-22
0x01EWordPC_SECSTSSECSTS - Secondary Status (0x01E) on page 9-22
0x020WordPC_MBASEMBASE - Memory Base (0x020) on page 9-23
0x022WordPC_MLIMITMLIMIT - Memory Limit (0x022) on page 9-23
0x024WordPC_PMBASEPMBASE - Prefetchable Memory Base (0x024) on page 9-23
0x026WordPC_PMLIMITPMLIMIT - Prefetchable Memory Limit (0x026) on page 9-24
0x028DWordPC_PMBASEUPMBASEU - Prefetchable Memory Base Upper (0x028) on
page 9-24
0x02CDWordPC_PMLIMITUPMLIMITU - Prefetchable Memory Limit Upper (0x02C) on
page 9-24
0x030WordPC_IOBASEUIOBASEU - I/O Base Upper (0x030) on page 9-24
Table 9.8 Downstream Port C Configuration Space Registers (Part 1 of 3)
PES12N3 User Manual9 - 14June 7, 2006
Page 95
IDT Transparent Mode OperationDownstream Port C Configuration Space Registers
Notes
Cfg.
Offset
0x032WordPC_IOLIMITUIOLIMITU - I/O Limit Upper (0x032) on page 9-25
0x034BytePC_CAPPTRCAPPTR - Capabilities Pointer (0x034) on page 9-25
0x038DWordPC_EROMBASEEROMBASE - Expansion ROM Base Address (0x038) on
0x03CBytePC_INTRLINEINTRLINE - Interrupt Line (0x03C) on page 9-25
0x03DBytePC_INTRPININTRPIN - Interrupt PIN (0x03D) on page 9-25
0x03EWordPC_BCTRLBCTRL - Bridge Control (0x03E) on page 9-26
0x040DWordPC_PCIECAPPC_PCIECAP - PCI Express Capability (0x040) on page 9-16
0x044DWordPC_PCIEDCAPPCIEDCAP - PCI Express Device Capabilities (0x044) on
0x048WordPC_PCIEDCTLPCIEDCTL - PCI Express Device Control (0x048) on page 9-
0x04AWordPC_PCIEDSTSPCIEDSTS - PCI Express Device Status (0x04A) on page 9-
0x04CDWordPC_PCIELCAPPCIELCAP - PCI Express Link Capabilities (0x04C) on page
0x050WordPC_PCIELCTLPCIELCTL - PCI Express Link Control (0x050) on page 9-30
0x052WordPC_PCIELSTSPCIELSTS - PCI Express Link Status (0x052) on page 9-31
Size
Register
Mnemonic
Register Definition
page 9-25
page 9-27
28
29
9-30
0x054DWordPC_PCIESCAPPCIESCAP - PCI Express Slot Capabilities (0x054) on page
9-32
0x058WordPC_PCIESCTLPCIESCTL - PCI Express Slot Control (0x058) on page 9-33
0x05AWordPC_PCIESSTSPCIESSTS - PCI Express Slot Status (0x05A) on page 9-35
0x070DWordPC_PMCAPPMCAP - PCI Power Management Capabilities (0x070) on
page 9-36
0x074DWordPC_PMCSRPMCSR - PCI Power Management Control and Status
(0x074) on page 9-36
0x078DWordPC_PMPCPMPC - PCI Power Management Proprietary Control (0x078)
on page 9-37
0x07CDWordPC_MSICAPMSICAP - Message Signaled Interrupt Capability and Control
(0x07C) on page 9-39
0x080DWordPC_MSIADDRMSIADDR - Message Signaled Interrupt Address (0x080) on
link associated with this Port is connected to a slot.
PES12N3 User Manual9 - 16June 7, 2006
Page 97
IDT Transparent Mode OperationGeneric PCI to PCI Bridge Register Definition
Notes
Generic PCI to PCI Bridge Register Definition
Type 1 Configuration Heade r Registers
VID - Vendor Identification (0x000)
Bit
Field
15:0VIDRO0x111DVendor Identification. This field contains the 16-bit ven-
DID - Device Identification (0x002)
Bit
Field
15:0DIDRO-Device Identification. This field contains the 16-bit device
PCICMD - PCI Command (0x004)
Field
Name
Field
Name
Type
Type
Default
Value
Default
Value
Description
dor ID value assigned to IDT. See section Vendor ID on
page 1-4.
Description
ID assigned by IDT to this transparent bridge. See section
Device ID on page 1-4.
Bit
Field
0IOAERW0x0I/O Access Enable. When this bit is cleared, the bridge
1MAERW0x0Memory Access Enable. When this bit is cleared, the
2BMERW0x0Bus Master Enable. When this bit is cleared, the bridge
3SSERO0x0Special Cycle Enable. Not applicable.
Field
Name
Type
Default
Value
Description
does not respond to I/O accesses from the primary bus
specified by IOBASE and IOLIMIT.
0x0 - (disable) Disable I/O space.
0x1 - (enable) Enable I/O space.
bridge does not respond to memory and prefetchable
memory space access from the primary bus specified by
MBASE, MLIMIT, PMBASE and PMLIMIT.
0x0 - (disable) Disable memory space.
0x1 - (enable) Enable memory space.
does not issue requests (e.g., memory, I/O and MSIs since
they are in-band writes) on behalf of subordinate devices
and responds to non-posted transactions with a Unsupported Request (UR) completion. This bit does not affect
completions in either direction or the forwarding of non
memory or I/O requests.
0x0 - (disable) Disable request forwarding.
0x1 - (enable) Enable request forwarding.
4MWIRO0x0Memory Write Invalidate. Not applicable.
5VGASRO0x0VGA Palette Snoop. Not applicable.
PES12N3 User Manual9 - 17June 7, 2006
Page 98
IDT Transparent Mode OperationGeneric PCI to PCI Bridge Register Definition
Notes
Bit
Field
6PERRERW0x0Parity Error Enable. The Master Data Parity Error bit is
7ADSTEPRO0x0Address Data Stepping. Not applicable.
8SERRERW0x0SERR Enable. Non-fatal and fatal errors detected by the
9FB2BRO0x0Fast Back-to-Back Enable. Not applicable.
10INTXDRW0x0INTx Disable. Controls the ability of the PCI-PCI bridge to
15:11ReservedRO0x0Reserved field.
Field
Name
Type
Default
Value
Description
set in the PCI Status register (PCISTS) if this bit is set and
the bridge receives a poisoned completion or a poisoned
write. If this bit is cleared, then the Master Data Parity Error
bit in the PCI Status register is never set.
0x0 - (disable) Disable Master Parity Error bit reporting.
0x1 - (enable) Enable Master Parity Error bit reporting.
bridge are reported to the Root Complex when this bit is set
or the bits in the PCI Express Device Control register are
set (see PCIEDCTL - PCI Express Device Control
(0x048)).
0x0 - (disable) Disable non-fatal and fatal error reporting
if also disabled in Device Control register.
0x1 - (enable) Enable non-fatal and fatal error reporting.
generate an INTx interrupt message.
PCISTS - PCI Status (0x006)
Bit
Field
2:0ReservedRO0x0Reserved.
3INTSRO0x0INTx Status. This bit is set when an INTx interrupt is pend-
4CAPLRO0x1Capabilities List. This bit is hardwired to one to indicate
5C66MHZRO0x066 MHz Capable. Not applicable.
6ReservedRO0x0Reserved.
7FB2BRO0x0Fast Back-to-Back (FB2B). Not applicable.
8MDPEDRW1C0x0Master Data Parity Error Detected. This bit is set when
Field
Name
Type
Default
Value
Description
ing from the device.
INTx emulation interrupts forwarded by switch ports from
devices downstream of the bridge are not reflected in this
bit. For ports B and C, this bit is set if an interrupt has been
“asserted” by the corresponding port’s hot-plug controller.
For port A, this field is always zero.
that the bridge implements an extended capability list item.
the PERRE bit is set in the PCI Command register and the
bridge receives a poisoned completion or poisoned write
request on the primary side of the bridge.
0x0 - (noerror) no error.
0x1 - (error) Poisoned write request or completion
received on primary side.
PES12N3 User Manual9 - 18June 7, 2006
Page 99
IDT Transparent Mode OperationGeneric PCI to PCI Bridge Register Definition
Notes
Bit
Field
10:9DEVTRO0x0DEVSEL# Timing. Not applicable.
11STASRO0x0Signall ed Target Abort. Not applicable since a target
12RTASRO0x0Received Target Abort. Not applicable.
13RMASRO0x0Received Master Abort. Not applicable.
14SSERW1C0x0Signalled System Error. This bit is set when the bridge
15DPERW1C0x0Detected Parity Error. This bit is set by the bridge when-
Field
Name
Type
Default
Value
Description
abort is never signalled.
sends a ERR_FATAL or ERR_NONFATAL message and
the SERR Enable (SERRE) bit is set in the PCICMD register.
0x0 - (noerror) no error.
0x1 - (error) This bit is set when a fatal or non-fatal error
is signalled.
ever it receives a poisoned TLP on the primary side regardless of the state of the PERRE bit in the PCI Command
register.
For downstream ports, this bit is also set when a internal
switch parity error is detected. See section Data Integrity
on page 4-4.
RID - Revision Identification (0x008)
Bit
Field
7:0RIDRWL—Revision ID. This field contains the revision identification
Field
Name
Type
Default
Value
Description
number for the device.
See section Revision ID on page 1-5.
CCODE - Class Code (0x009)
Bit
Field
7:0INTFRO0x00Interface. This value indicates that the device is a PCI-
15:8SUBRO0x04Sub Class Code. This value indicates that the device is a
23:16BASERO0x06Base Class Code. This value indicates that the device is a
Field
Name
Type
Default
Value
Description
PCI bridge that does not support subtractive decode.
PCI-PCI bridge.
bridge.
PES12N3 User Manual9 - 19June 7, 2006
Page 100
IDT Transparent Mode OperationGeneric PCI to PCI Bridge Register Definition
Notes
CLS - Cache Line Size (0x00C)
Bit
Field
7:0CLSRW0x00Cache Line Size. This field has no effect on the bridge’s
Field
Name
Type
Default
Value
Description
functionality but may be read and written by software.
This field is implemented for compatibility with legacy software.
PLTIMER - Primary Latency Timer (0x00D)
Bit
Field
7:0PLTIMERRO0x00Primary Latency Timer. Not applicable.
Field
Name
Type
Default
Value
Description
HDR - Header Type Register (0x00E)
Bit
Field
7:0HDRRO0x01Header Type. This value indicates a type 1 header with a
Field
Name
Type
Default
Value
Description
single function bridge layout.
BIST - Built-in Self Test (0x00F)
Bit
Field
7:0BISTRO0x0BIST. This value indicates that the bridge does not imple-
Field
Name
Type
Default
Value
Description
ment BIST.
BAR0 - Base Address Register 0 (0x010)
Bit
Field
31:0BARRO0x0Base Address Register. Not applicable.
Field
Name
Type
Default
Value
Description
BAR1 - Base Address Register 1 (0x014)
Bit
Field
31:0BARRO0x0Base Address Register. Not applicable.
Field
Name
Type
Default
Value
Description
PES12N3 User Manual9 - 20June 7, 2006
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.