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 MA KES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE NONINFRINGEMENT, QUALITY, SAFETY 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.
IDT, the IDT logo, and Integrated Device Technology are trade m arks or registered trademarks of Integrated Device Technology , Inc.
CODE DISCLAIMER
LIFE SUPPORT POLICY
Page 3
Notes
®
About This Manual
Introduction
This user manual includes hardware and software information on the 89HPES34H16, 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, “PES34H16 Device Overview,” provides a complete introduction to the performance capabilities of the 89HPES34H16. Included in this chapter is a summary of features for the device as well as a
system block diagram and pin description.
Chapter 2, “Upstream Port Failover,” describes upstream port failover mechanism in the PES34H16
that enables the construction of fault tolerant systems.
Chapter 3, “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 4, “Link Operation,” describes the operation of the link feature including polarity inversion,
link width negotiation, and lane reversal.
Chapter 5, “General Purpose I/O,” describes how the 32 General Purpose I/O (GPIO) pins may be
individually configured as general purpose inputs, general purpose outputs, or alternate functions.
Chapter 6, “SMBus Interfaces,” describes the operation of the 2 SMBus interfaces on the PES34H16.
Chapter 7, “Power Management,” describes the power management capability structure located in the
configuration space of each PCI-PCI bridge in the PES34H16.
Chapter 8, “Hot-Plug and Hot-Swap,” describes the behavior of the hot-plug and hot-swap features in
the PES34H16.
Chapter 9, “Configuration Registers,” discusses the base addresses, PCI configuration space, and
registers associated with the PES34H16.
Chapter 10, “JT AG 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.
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 z ero (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.
PES34H16 User Manual 1October 30, 2008
Page 4
IDT
Notes
1234
high-to-low
transition
low-to-high
transition
single clock cycle
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.
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.
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.
PES34H16 User Manual 2October 30, 2008
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.
Page 5
IDT
Notes
0123
bit 0bit 31
Address of Bytes within Words: Big Endian
3210
bit 0bit 31
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,
software 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 to a constant value or are status bits that may be
set and cleared by hardware. Writing to a RO location has no
effect.
Read and WriteRWSoftware can both read and write bits with this attribute.
Table 2 Register Terminology (Sheet 1 of 2)
PES34H16 User Manual3October 30, 2008
Page 6
IDT
Notes
TypeAbbreviationDescription
Read and Write ClearRW1CSoftware can read and write to registers/bits with this attribute.
However, 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
Write TransientWTThe zero is always read from a bit/field of this type. Writing of a
ZeroZeroA zero register or bit must be written with a value of zero and
RWLSoftware can read the register/bits with this attribute. Writing to
register/bits with this attribute will only cause the value to be modified if the REGUNLOCK bit in the SWCTL register is set. When
the REGUNLOCK bit is cleared, writes are ignored and the register/bits are effectively read-only
one is used to quality the writing of other bits/fields in the same
register.
returns a value of zero when read.
Table 2 Register Terminology (Sheet 2 of 2)
Use of Hypertext
In Chapter 9, Tables 9.2 and 9.3 contain register nam es and page numbers highlighted in blue under the
Register Definition column. In pdf files, users can jump from this 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.
Reference Documents
PCI Express Base Specification, Revision 1.1, PCI Special Interest Group.
PCI Power Management Interface Specification, Revision 1.1, PCI Special Interest Group.
PCI to PCI Bridge Architecture Specification, Revision 1.2, PCI Special Interest Group.
SMBus Specification, Revision 2.0.
Revision History
October 17, 2007: Initial Publication.
December 14, 2007: In Chapter 1, added second virtual channel capability and changed Device ID to
0x8034.
December 26, 2007: Changed device number from 34T16 to 34H16.
April 15, 2008: In Chapter 9, changed 0x0 definition for bit EEPE in SWPERCTL register from “time-out”
to “end-to-end parity error”.
October 30, 2008: Updated the following Description fields: LDIS in the PCIELCTL register, INTXD in
PCICMD register, changed RO to RW for bits 10:9 in the HPCFGCTL register, SDOENERR in the AERUES
register, DLLLA in both the PCIESTS and PCIELCAP registers, and added note in Description field for
SWMODE field.
Figure 4.3Merged Port Lane Reversal for Maximum Link Width of x2 (MAXLNKWDTH[5:0]=0x2) ...4-3
Figure 4.4Merged Port Lane Reversal for Maximum Link Width of x4 (MAXLNKWDTH[5:0]=0x4) ...4-3
Figure 4.5Merged Port Lane Reversal for Maximum Link Width of x8 (MAXLNKWDTH[5:0]=0x8) ...4-4
Figure 4.6PES34H16 ASPM Link Sate Transitions ...........................................................................4-6
VID - Vendor Identification Register (0x000)...........................................................................................9-11
PES34H16 User ManualxiOctober 30, 2008
Page 18
IDT Register List
Notes
PES34H16 User ManualxiiOctober 30, 2008
Page 19
Notes
®
Chapter 1
PES34H16 Device Overview
Introduction
The 89HPES34H16 is a member of the IDT PRECISE™ family of PCI Express® switching solutions.
The PES34H16 is a 34-lane, 16-port peripheral chip that performs PCI Express packet switching with a
feature set optimized for high-performance applications such as servers, storage, and communications/
networking. It provides connectivity and switching functions between a PCI Express upstream port and up
to fifteen downstream ports and supports switching between downstream ports.
List of Features
– Sixteen maximum switch ports
• Up to three x8 ports that bifurcate up to six x4 ports
• Ten x1 ports
– Thirty-four 2.5 Gbps embedded SerDes
• Supports pre-emphasis and receive equalization on per-port basis
– Low-latency cut-through switch architecture
– Support for Max Payload Size up to 2048 bytes
– Supports two virtual channels and eight traffic classes
– PCI Express Base Specification Revision 1.1 compliant
Flexible Architecture with Numerous Configuration Options
– Port arbitration schemes utilizing round robin algorithms
– Automatic per port link width negotiation from x8 to x4 to x2 or x1
– Automatic lane reversal on all ports
– Automatic polarity inversion on all lanes
– Supports locked transactions, allowing use with legacy software
– Ability to load device configuration from serial EEPROM
– Ability to control device via SMBus
Highly Integrated Solution
– Requires no external components
– Incorporates on-chip internal memory for packet buffering and queueing
– Integrates thirty-four 2.5 Gbps embedded full duplex SerDes, 8B/10B encoder/decoder (no sepa-
rate 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 implement end-to-end CRC (ECRC)
– Supports optional PCI Express Advanced Error Reporting
– Supports PCI Express Hot-Plug
• Compatible with Hot-Plug I/O expanders used on PC
motherboards
– Supports Hot-Swap
Power Management
– Supports PCI Power Management Interface specification, Revision 1.1 (PCI-PM)
• Supports powerdown modes at the link level (L0, L0s, L1, L2/L3 Ready and L3) and at the device level (D0, D3
hot
)
– Unused SerDes disabled
Testability and Debug Features
– 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
Thirty-two General Purpose Input/Output pins
– Each pin may be individually configured as an input or output
– Each pin may be individually configured as an interrupt input
– Some pins have selectable alternate functions
Packaged in a 35mm x 35mm 1156-ball Flip Chip BGA with 1mm ball spacing
PES34H16 User Manual1 - 2October 30, 2008
Figure 1.1 PES34H16 Architectural Block Diagram
Page 21
IDT PES34H16 Device Overview
Reference
Clock
PEREFCLKP[3:0]
PEREFCLKN[3:0]
JTAG_TCK
GPIO[31:0]
32
General Purpose
I/O
VDDCORE
V
DD
I/O
V
DD
PE
V
DD
APE
Power/Ground
MSMBADDR[4:1]
MSMBCLK
MSMBDAT
4
Master
SMBus Interface
CCLKUS
RSTHALT
System
Pins
JTAG_TDI
JTAG_TDO
JTAG_TMS
JTAG_TRST_N
JTAG Pins
V
SS
SWMODE[3:0]
4
4
4
CCLKDS
PERSTN
REFCLKM
MSMBSMODE
VTTPE
PE0RP[0]
PE0RN[0]
PE0RP[3]
PE0RN[3]
PE0TP[0]
PE0TN[0]
PE0TP[3]
PE0TN[3]
...
...
PE1RP[0]
PE1RN[0]
PE1RP[3]
PE1RN[3]
PCIe Switch
SerDes Input
PE1TP[0]
PE1TN[0]
PE1TP[3]
PE1TN[3]
...
Port 1
...
PE2RP[0]
PE2RN[0]
PE2RP[3]
PE2RN[3]
PE2TP[0]
PE2TN[0]
PE2TP[3]
PE2TN[3]
...
...
PE5RP[0]
PE5RN[0]
PE5RP[3]
PE5RN[3]
PE5TP[0]
PE5TN[0]
PE5TP[3]
PE5TN[3]
...
...
PE6RP[0]
PE6RN[0]
PE15RP[0]
PE15RN[0]
PCIe Switch
SerDes Input
PE6TP[0]
PE6TN[0]
PE15TP[0]
PE15TN[0]
PCIe Switch
SerDes Output
...
Port 15
Port 15
...
PES34H16
...
P01MERGEN
P23MERGEN
SSMBADDR[5,3:1]
SSMBCLK
SSMBDAT
4
Slave
SMBus Interface
P45MERGEN
PCIe Switch
SerDes Input
Port 6
PCIe Switch
SerDes Input
Port 5
PCIe Switch
SerDes Input
Port 2
PCIe Switch
SerDes Input
Port 0
PCIe Switch
SerDes Output
Port 6
PCIe Switch
SerDes Output
Port 1
PCIe Switch
SerDes Output
Port 0
PCIe Switch
SerDes Output
Port 2
PCIe Switch
SerDes Output
Port 5
...
Logic Diagram
Figure 1.2 PES34H16 Logic Diagram
PES34H16 User Manual1 - 3October 30, 2008
Page 22
IDT PES34H16 Device Overview
Notes
System Identification
Vendor ID
All vendor IDs in the device are hardwired to 0x111D which corresponds to Integrated Device Tech-
nology, Inc.
Device ID
The PES34H16 device ID is shown in Table 1.1.
Revisio n ID
The revision ID in the PES34H16 is set to the same value in all mode. The value of the revision ID is
determined in one place and is easily modified during a metal mask change.
The revision ID will start at 0x0 and will be incremented with each all-layer or metal mask change.
PCIe DeviceDevice ID
0x40x8034
Table 1.1 PES34H16 Device IDs
Revision IDDescription
0x0Corresponds to ZA silicon
Table 1.2 PES34H16 Revision ID
JTAG ID
The JTAG ID is:
– Version: Same value as Revision ID. See Table 1.2
– Part number: Same value as base Device ID. See Table 1.1.
– Manufacture ID: 0x33
– LSB: 0x1
SSID/SSVID
The PES34H16 contains the mechanisms necessary to implement the PCI-to-PCI bridge Subsystem ID
and Subsystem Vendor ID capability structure. However, in the default configuration the Subsystem ID and
Subsystem Vendor ID capability structure is not enabled. To enable this capability, the SSID and SSVID
fields in the Subsystem ID and Subsystem Vendor ID (SSIDSSVID) register must be initialized with the
appropriate ID values. the Next Pointer (NXTPTR) field in one of the other enhanced capabilities should be
initialized to point to this capability. Finally, the Next Pointer (NXTPTR) of this capability should be adjusted
to point to the next capability if necessary.
Device Serial Nu m ber E nha nced Capability
The PES34H16 contains the mechanisms necessary to implement the PCI express device serial
number enhanced capability. However, in the default configuration this capability structure is not enabled.
To enable the device serial number enhanced capability, the Serial Number Lower Doubleword
(SNUMLDW) and the Serial Number Upper Doubleword (SNUMUDW) registers should be initialized. The
Next Pointer (NXTPTR) field in one of the other enhanced capabilities should be initialized to point to this
capability. Finally, the Next Pointer (NXTPTR) of this capability should be adjusted to point to the next capability if necessary.
PES34H16 User Manual1 - 4October 30, 2008
Page 23
IDT PES34H16 Device Overview
Notes
Pin Description
The following tables lists the functions of the pins provided on the PES34H16. 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. Differential signals end with a suffix “N” or “P.” The differential signal ending in “P” is the
positive portion of the differential pair and the differential signal ending in “N” is the negative portion of the
differential pair.
SignalTypeName/Description
PE0RP[3:0]
PE0RN[3:0]
PE0TP[3:0]
PE0TN[3:0]
PE1RP[3:0]
PE1RN[3:0]
PE1TP[3:0]
PE1TN[3:0]
PE2RP[3:0]
PE2RN[3:0]
PE2TP[3:0]
PE2TN[3:0]
PE3RP[3:0]
PE3RN[3:0]
PE3TP[3:0]
PE3TN[3:0]
PE4RP[3:0]
PE4RN[3:0]
PE4TP[3:0]
PE4TN[3:0]
PE5RP[3:0]
PE5RN[3:0]
PE5TP[3:0]
PE5TN[3:0]
PE6RP[0]
PE6RN[0]
PE6TP[0]
PE6TN[0]
PE7RP[0]
PE7RN[0]
PE7TP[0]
PE7TN[0]
IPCI Express Port 0 Serial Data Receive. Differential PCI Express receive
pairs for port 0. Port 0 is the upstream port.
OPCI Express Port 0 Serial Data Transmit. Differential PCI Express transmit
pairs for port 0. Port 0 is the upstream port.
IPCI Express Port 1 Serial Data Receive. Differential PCI Express receive
pairs for port 1. When port 0 is merged with port 1, these signals become port
0 receive pairs for lanes 4 through 7.
OPCI Express Port 1 Serial Data Transmit. Differential PCI Express transmit
pairs for port 1. When port 0 is merged with port 1, these signals become port
0 transmit pairs for lanes 4 through 7.
IPCI Express Port 2 Serial Data Receive. Differential PCI Express receive
pairs for port 2.
OPCI Express Port 2 Serial Data Transmit. Differential PCI Express transmit
pairs for port 2.
IPCI Express Port 3 Serial Data Receive. Differential PCI Express receive
pairs for port 3. When port 2 is merged with port 3, these signals become port
2 receive pairs for lanes 4 through 7.
OPCI Express Port 3 Serial Data Transmit. Differential PCI Express transmit
pairs for port 2. When port 2 is merged with port 3, these signals become port
2 transmit pairs for lanes 4 through 7.
IPCI Express Port 4 Serial Data Receive. Differential PCI Express receive
pairs for port 4.
OPCI Express Port 4 Serial Data Transmit. Differential PCI Express transmit
pairs for port 4.
IPCI Express Port 5 Serial Data Receive. Differential PCI Express receive
pairs for port 5. When port 4 is merged with port 5, these signals become port
4 receive pairs for lanes 4 through 7.
OPCI Express Port 5 Serial Data Transmit. Differential PCI Express transmit
pairs for port 5. When port 4 is merged with port 5, these signals become port
4 transmit pairs for lanes 4 through 7.
IPCI Express Port 6 Serial Data Receive. Differential PCI Express receive
pair for port 6.
OPCI Express Port 6 Serial Data Transmit. Differential PCI Express transmit
pair for port 6.
IPCI Express Port 7 Serial Data Receive. Differential PCI Express receive
pair for port 7.
OPCI Express Port 7 Serial Data Transmit. Differential PCI Express transmit
pair for port 7.
Table 1.3 PCI Express Interface Pins (Part 1 of 2)
PES34H16 User Manual1 - 5October 30, 2008
Page 24
IDT PES34H16 Device Overview
Notes
SignalTypeName/Description
PE8RP[0]
PE8RN[0]
PE8TP[0]
PE8TN[0]
PE9RP[0]
PE9RN[0]
PE9TP[[0]
PE9TN[0]
PE10RP[0]
PE10RN[0]
PE10TP[0]
PE10TN[0]
PE11RP[0]
PE11RN[0]
PE11TP[0]
PE11TN[0]
PE12RP[0]
PE12RN[0]
PE12TP[0]
PE12TN[0]
PE13RP[0]
PE13RN[0]
PE13TP[0]
PE13TN[0]
PE14RP[0]
PE14RN[0]
PE14TP[0]
PE14TN[0]
PE15RP[0]
PE15RN[0]
PE15TP[0]
PE15TN[0]
REFCLKMIPCI Express Reference Clock Mode Select. This signal selects the fre-
PEREFCLKP[3:0]
PEREFCLKN[3:0]
IPCI Express Port 8 Serial Data Receive. Differential PCI Express receive
pair for port 8.
OPCI Express Port 8 Serial Data Transmit. Differential PCI Express transmit
pair for port 8.
IPCI Express Port 9 Serial Data Receive. Differential PCI Express receive
pair for port 9.
OPCI Express Port 9 Serial Data Transmit. Differential PCI Express transmit
pair for port 9.
IPCI Express Port 10 Serial Data Receive. Differential PCI Express receive
pair for port 10.
OPCI Express Port 10 Serial Data Transmit. Differential PCI Express trans-
mit pair for port 10.
IPCI Express Port 11 Serial Data Receive. Differential PCI Express receive
pair for port 11.
OPCI Express Port 11 Serial Data Transmit. Differential PCI Express trans-
mit pair for port 11.
IPCI Express Port 12 Serial Data Receive. Differential PCI Express receive
pair for port 12.
OPCI Express Port 12 Serial Data Transmit. Differential PCI Express trans-
mit pair for port 12.
IPCI Express Port 13 Serial Data Receive. Differential PCI Express receive
pair for port 13.
OPCI Express Port 13 Serial Data Transmit. Differential PCI Express trans-
mit pair for port 13. W
IPCI Express Port 14 Serial Data Receive. Differential PCI Express receive
pair for port 14.
OPCI Express Port 14 Serial Data Transmit. Differential PCI Express trans-
mit pair for port 14.
IPCI Express Port 15 Serial Data Receive. Differential PCI Express receive
pair for port 15.
OPCI Express Port 15 Serial Data Transmit. Differential PCI Express trans-
mit pair for port 15.
quency of the reference clock input.
0x0 - 100 MHz
0x1 - 125 MHz
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.
Table 1.3 PCI Express Interface Pins (Part 2 of 2)
PES34H16 User Manual1 - 6October 30, 2008
Page 25
IDT PES34H16 Device Overview
Notes
SignalTypeName/Description
MSMBADDR[4:1]IMaster SMBus Address. These pins determine the SMBus address of the
MSMBCLKI/OMaster SMBus Clock. This bidirectional signal is used to synchronize trans-
MSMBDATI/OMaster SMBus Data. This bidirectional signal is used for data on the master
SSMBADDR[5,3:1]ISlave SMBus Address. These pins determine the SMBus address to which
SSMBCLKI/OSlave SMBus Clock. This bidirectional signal is used to synchronize trans-
SSMBDATI/OSlave SMBus Data. This bidirectional signal is used for data on the slave
SignalTypeName/Description
serial EEPROM from which configuration information is loaded.
fers on the master SMBus. It is active and generating the clock only when the
EEPROM or I/O Expanders are being accessed.
SMBus.
the slave SMBus interface responds.
fers on the slave SMBus.
SMBus.
Table 1.4 SMBus Interface Pins
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.
GPIO[3]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
GPIO[4]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
GPIO[5]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: GPEN
Alternate function pin type: Output
Alternate function: General Purpose Event (GPE) output
GPIO[6]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P1RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 1
GPIO[7]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P2RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 2
GPIO[8]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P3RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 3
Table 1.5 General Purpose I/O Pins (Part 1 of 4)
PES34H16 User Manual1 - 7October 30, 2008
Page 26
IDT PES34H16 Device Overview
Notes
SignalTypeName/Description
GPIO[9]I/OGeneral Purpose I/O.
GPIO[10]I/OGeneral Purpose I/O.
GPIO[11]I/OGeneral Purpose I/O.
GPIO[12]I/OGeneral Purpose I/O.
GPIO[13]I/OGeneral Purpose I/O.
GPIO[14]I/OGeneral Purpose I/O.
GPIO[15]I/OGeneral Purpose I/O.
GPIO[16]I/OGeneral Purpose I/O.
GPIO[17]I/OGeneral Purpose I/O.
GPIO[18]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P4RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 4
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P5RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 5
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P6RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 6
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P7RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 7
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P8RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 8
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P9RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 9
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P10RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 10
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P11RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 11
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P12RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 12
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P13RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 13
Table 1.5 General Purpose I/O Pins (Part 2 of 4)
PES34H16 User Manual1 - 8October 30, 2008
Page 27
IDT PES34H16 Device Overview
Notes
SignalTypeName/Description
GPIO[19]I/OGeneral Purpose I/O.
GPIO[20]I/OGeneral Purpose I/O.
GPIO[21]I/OGeneral Purpose I/O.
GPIO[22]I/OGeneral Purpose I/O.
GPIO[23]I/OGeneral Purpose I/O.
GPIO[24]I/OGeneral Purpose I/O.
GPIO[25]I/OGeneral Purpose I/O.
GPIO[26]I/OGeneral Purpose I/O.
GPIO[27]I/OGeneral Purpose I/O.
GPIO[28]I/OGeneral Purpose I/O.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P14RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 14
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: P15RSTN
Alternate function pin type: Output
Alternate function: Reset output for downstream port 15
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: IOEXPINTN0
Alternate function pin type: Input
Alternate function: SMBus I/O expander interrupt 0
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: IOEXPINTN1
Alternate function pin type: Input
Alternate function: SMBus I/O expander interrupt 1
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: IOEXPINTN2
Alternate function pin type: Input
Alternate function: SMBus I/O expander interrupt 2
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: IOEXPINTN3
Alternate function pin type: Input
Alternate function: SMBus I/O expander interrupt 3
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: IOEXPINTN4
Alternate function pin type: Input
Alternate function: SMBus I/O expander interrupt 4
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: IOEXPINTN5
Alternate function pin type: Input
Alternate function: SMBus I/O expander interrupt 5
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: IOEXPINTN6
Alternate function pin type: Input
Alternate function: SMBus I/O expander interrupt 6
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: IOEXPINTN7
Alternate function pin type: Input
Alternate function: SMBus I/O expander interrupt 7
Table 1.5 General Purpose I/O Pins (Part 3 of 4)
PES34H16 User Manual1 - 9October 30, 2008
Page 28
IDT PES34H16 Device Overview
Notes
SignalTypeName/Description
GPIO[29]I/OGeneral Purpose I/O.
GPIO[30]I/OGeneral Purpose I/O.
GPIO[31]I/OGeneral Purpose I/O.
SignalTypeName/Description
CCLKDSICommon Clock Downstream. When the CCLKDS pin is asserted, it indi-
CCLKUSICommon Clock Upstream. When the CCLKUS pin is asserted, it indicates
MSMBSMODEIMaster SMBus Slow Mode. The assertion of this pin indicates that the mas-
P01MERGENIPort 0 and 1 Merge. P01MERGEN is an active low signal. It is pulled low
P23MERGENIPort 2 and 3 Merge. P23MERGEN is an active low signal. It is pulled low
P45MERGENIPort 4 and 5 Merge. P45MERGEN is an active low signal. It is pulled low
This pin can be configured as a general purpose I/O pin.
This pin can be configured as a general purpose I/O pin.
This pin can be configured as a general purpose I/O pin.
Alternate function pin name: IOEXPINTN10
Alternate function pin type: Input
Alternate function: SMBus I/O expander interrupt 10
Table 1.5 General Purpose I/O Pins (Part 4 of 4)
cates that a common clock is being used between the downstream device
and the downstream port.
that a common clock is being used between the upstream device and the
upstream port.
ter SMBus should operate at 100 KHz instead of 400 KHz. This value may not
be overridden.
internally via a 251K ohm resistor.
When this pin is low, port 0 is merged with port 1 to form a single x8 port. The
Serdes lanes associated with port 1 become lanes 4 through 7 of port 0.
When this pin is high, port 0 and port 1 are not merged, and each operates as
a single x4 port
internally via a 251K ohm resistor.
When this pin is low, port 2 is merged with port 3 to form a single x8 port. The
Serdes lanes associated with port 3 become lanes 4 through 7 of port 2.
When this pin is high, port 2 and port 3 are not merged, and each operates as
a single x4 port.
internally via a 251K ohm resistor.
When this pin is low, port 4 is merged with port 5 to form a single x8 port. The
Serdes lanes associated with port 5 become lanes 4 through 7 of port 4.
When this pin is high, port 4 and port 5 are not merged, and each operates as
a single x4 port.
Table 1.6 System Pins (Part 1 of 2)
PES34H16 User Manual1 - 10October 30, 2008
Page 29
IDT PES34H16 Device Overview
Notes
SignalTypeName/Description
PERSTNIFundamental Reset. Assertion of this signal resets all logic inside the
RSTHALTIReset Halt. When this signal is asserted during a PCI Express fundamental
SWMODE[3:0]ISwitch Mode. These configuration pins determine the PES34H16 switch
PES34H16 and initiates a PCI Express fundamental reset.
reset, the PES34H16 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.
operating mode. These pins should be static and not change following the
negation of PERSTN.
0x0 - Normal switch mode
0x1 - Normal switch mode with Serial EEPROM initialization
0x2 through 0x7 - Reserved
0x8 - Normal switch mode with upstream port failover (port 0 selected as
the upstream port)
0x9 - Normal switch mode with upstream port failover (port 2 selected as
the upstream port)
0xA - Normal switch mode with Serial EEPROM initialization and upstream
port failover (port 0 selected as the upstream port)
0xB - Normal switch mode with Serial EEPROM initialization and upstream
port failover (port 2 selected as the upstream port)
0xC through 0xF - Reserved
Table 1.6 System Pins (Part 2 of 2)
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 tristated.
JTAG_TMSIJTA G 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
PES34H16 User Manual1 - 11October 30, 2008
Page 30
IDT PES34H16 Device Overview
Notes
SignalTypeName/Description
VDDCOREICore VDD. Power supply for core logic.
V
V
VDDAPEIPCI Express Analog Power. PCI Express analog power used by the PLL
V
Pin Characteristics
Note: Some input pads of the PES34H16 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.
I/OII/O VDD. LVTTL I/O buffer power supply.
DD
PEIPCI Express Digital Power. PCI Express digital power used by the digital
DD
V
SS
PEPCI Express Serial Data Transmit Termination Voltage. This pin allows
TT
power of the SerDes.
and bias generator.
IGround.
the driver termination voltage to be set, enabling the system designer to control the Common Mode Voltage and output voltage swing of the corresponding PCI Serial Data Transmit differential pair.
The PES34H16 contains up to 6 x4 ports and ten x1 ports labeled 0 through 15. Port 0 is always the
upstream port and ports 1 through 15 are always downstream ports. An even port n and its odd counterpart,
port n+1, may be merged into a single x8 port (ports 0 through 3 only). When this occurs, port n is said to be
a merged port. When an even port n and its odd counterpart, port n+1, operate independently, then ports n
and n+1 are said to be unmerged.
The PES34H16 supports port merging in a static manner during a fundamental reset. If the Port x and y
Merge (PxyMERGEN) signal is asserted, then the two x4 ports x and y are merged into a single x8 merged
port called port x. When ports x and y are merged, the switch port, the PCI-to-PCI bridge, and all associated
resources associated with port y are disabled and the following modifications are made to the default
PES34H16 configuration.
– All of the output signals associated with port y remain in a negated state (e.g., hot-plug outputs,
link status signals, port reset output, etc.)
– All input signals associated with port y are ignored by the PES34H16 and have no effect on its
operation.
– Configuration read or write transactions to device y on the PES34H16’s virtual PCI bus are treated
by the upstream port (port 0) as unsupported requests (i.e., the device no longer exists).
• This renders the registers in port y’s configuration space inaccessible to the root.
– All registers associated with port y become inaccessible via the SMBus. Reading or writing an
inaccessible register has an undefined effect.
• Reading a port y register returns an undefined value and writing a port y register has an unde-
– All of the SerDes lanes associated with port y become part of port x and are managed by port x as
native SerDes lanes (i.e., port x operates as though it were a x8 port).
– The initial value of the MAXLNKWDTH field in port x’s PCIELCAP register defaults to x8 mode.
Figures 1.3 and 1.4 illustrate two possible PES34H16 configurations. In Figure 1.3, all of the ports are
unmerged. In this configuration, the PES34H16 operates as a 16-port switch with all ports 0 through 5
having a x4 width, and ports 6 through 15 having a x 1 width. In Figure 1.4, even ports 0, 2, and 4 are
merged with their corresponding odd ports, and ports 6 through 15 remain x1 width. In this configuration,
the PES34H16 operates as a 13-port.
fined effect.
PES34H16 User Manual1 - 15October 30, 2008
Figure 1.3 All Ports Unmerged Configuration
Page 34
IDT PES34H16 Device Overview
Notes
PES34H16
PCI to PCI
Bridge
PCI to PCI
Bridge
PCI to PCI
Bridge
Dev. 2
Dev. 4
PCI to PCI
Bridge
PCI to PCI
Bridge
Dev. 6
Dev. 7
PCI to PCI
Bridge
Dev. 8
PCI to PCI
Bridge
Dev. 15
Dev. 0
Port 0
Virtual PCI Bus
x8
Port 2
x8
Port 4
x8
Port 6
x1
Port 7
x1
Port 8
x1
Port 15
x1
...
...
Disabled Ports
The PES34H16 may be configured to disable one or more ports. Disabling a port has the following
effect.
– All of the output signals associated with a disabled port remain in a negated state (e.g., hot plug
– All input signals associated with a disabled port are ignored by the PES34H16 and have no effect
– Configuration read or write transactions to a device that corresponds to a disabled port on the
All registers associated with a disabled port become inaccessible via the SMBus. Reading or writing a
disabled port’s register has an undefined effect.
Figure 1.4 Three Ports Merged Configuration
outputs, link status signals, port reset output, etc.)
on its operation. For example, if port 5 is disabled, the P45MERGEN has no effect on the
PES34H16.
PES34H16’s virtual PCI bus are treated by the upstream port (port 0) as an unsupported request
(i.e., the device no longer exists).
PES34H16 User Manual1 - 16October 30, 2008
Page 35
Notes
®
Chapter 2
Stack 1
Table
Route Map
Processor
Ingress
Checker
TLP
Processor
Egress
Processor
Completion
Processor
Message
Generator
TLP
Controller
Hot-Plug
Application Layer
Data Link Layer
Physical Layer and Port Bifurcation Mux/Demux
SerDesSerDes
Output &
Replay Buffer
Port 0Port 1
Data Link Layer
Physical Layer and Port Bifurcation Mux/Demux
SerDesSerDes
Output &
Replay Buffer
Port 2Port 3
Stack 0
Switch Core
Processor
Ingress
Checker
TLP
Processor
Completion
Processor
Message
Generator
TLP
Controller
Hot-Plug
Application Layer
Table
Route Map
Processor
Egress
Upstream Port Failover
Introduction
The PES34H16 supports an upstream port failover mechanism that enables the construction of fault
tolerant systems. Upstream port failover allows port 0 or port 2 to be selected as the upstream switch port.
The failover feature is disabled by default. To enable upstream port failover, an upstream port failover
switch mode must be selected in the boot configuration vector during a fundamental reset. The following
switch modes (SWMODE[3:0]) enable this feature.
– Normal switch mode with upstream port failover (port 0 selected as the upstream port)
– Normal switch mode with upstream port failover (port 2 selected as the upstream port)
– Normal switch mode with Serial EEPROM initialization and upstream port failover (port 0 selected
as the upstream port)
– Normal switch mode with Serial EEPROM initialization and upstream port failover (port 2 selected
as the upstream port)
A graphical representation of the upstream port failover architecture is shown in Figure 2.1.
PES34H16 User Manual 2 - 1October 30, 2008
Stack 0 is always associated with the upstream port. In normal mode, SerDes lanes associated with port
0 are fed into stack zero. In failover mode, the SerDes lanes associated with port 0 or port 2 may be fed into
stack zero. Thus, from an external perspective, it appears as though the upstream port can be moved from
port 0 to port 2; however, in reality, all that is occurring is that the SerDes lanes associated with port 0 or
Figure 2.1 Upstream Port Failover Architecture
port 2 are multiplexed into stack zero (i.e., the stack associated with the upstream port).
Page 36
IDT Upstream Port Failover
Notes
Stack 0
SerDes
Port 0
SerDes
Port 1
SerDes
Port 2
SerDes
Port 3
Stack 1
(a) x8 Upstream Failover Mode with
Port 0 Selected
Stack 0
SerDes
Port 0
SerDes
Port 1
SerDes
Port 2
SerDes
Port 3
Stack 1
(b) x8 Upstream Failover Mode with
Port 2 Selected
Stack 0
SerDes
Port 0
SerDes
Port 1
SerDes
Port 2
SerDes
Port 3
Stack 1
(c) x4 Upstream Failover Mode with
Port 0 Selected
Stack 0
SerDes
Port 0
SerDes
Port 1
SerDes
Port 2
SerDes
Port 3
Stack 1
(d) x4 Upstream Failover Mode with
Port 2 Selected
When the PES34H16 is configured to operate in an upstream port failover switch mode, port 2 is always
disabled. If the upstream port is configured to operate in x8 merged mode, then both ports two and three
are disabled. The behavior of a disabled port is described in the section entitled section Disabled Ports on
page 1-16.
Upstream port resources (e.g., link status control LED outputs) are always associated with port 0
regardless of the external PES34H16 port associated with the upstream port. The PES34H16 consists of
eight bifurcating PCIe stacks. A PES34H16 stack may be configured to operate as two x4 ports (bifurcated
mode) or as one x8 port (merged mode).
Upstream port failover is supported in both x4 and x8 upstream port modes. However, both ports 0 and
2 must be configured to operate in the same mode (i.e., if port 0 is configured to operate in x8 merged
mode, then port 2 must also be configured to operate in x8 merged mode). Configuring ports 0 and 2 to
operate in different modes produces an undefined behavior.
If the PES34H16 is configured to operate in an upstream failover mode and the upstream port is configured to operate in x4 bifurcated mode, then ports 1 and 3 operate as normal. While upstream port failover
mode disables port 2, in bifurcated mode it has no effect on the operation of ports 1 and 3.
If the PES34H16 is configured to operate in an upstream failover mode and the upstream port is configured to operate in x8 merged mode, then ports 1, 2, and 3 are disabled. The behavior of a disabled port is
described in section Disabled Ports on page 1-16. x8 merged mode and x4 bifurcated mode data paths for
upstream port failover are illustrated in Figure 2.2. The red lines show the upstream port data path. The
green lines show the data paths for other ports.
PES34H16 User Manual2 - 2October 30, 2008
Figure 2.2 Upstream Failover Mode Data Configurations
Failover
An upstream port failover may be initiated statically through a fundamental reset or dynamically while
the system is running.
Page 37
IDT Upstream Port Failover
Notes
At a system level, a dynamic upstream port failover appears as a full link retrain of the upstream port,
i.e., the Link State Sequence State Machine (LTSSM) transitions to the Detect state, and the data link layer
transitions to a DL_Down state. This typically results in a hot-reset of the PES34H16 and devices below the
PES34H16 in the PCIe hierarchy. A hot-reset due to a DL_Down state may be disabled by setting the
Disable Link Down Hot Reset (DLDHRST) bit in the Switch Control (SWCTL) register. With this bit set, an
upstream port failover does not reset the PES34H16 or the PCIe hierarchy and system state is preserved.
When a dynamic upstream port failover occurs, upstream port data queued in the switch, data being
transmitted, and data in the replay buffer may be lost. Thus, some interruption of PCIe traffic should be
expected with an upstream port failover. When the switch is configured to operate in a mode that supports
upstream port failover, the Upstream Port Failover Enabled (USPFEN) bit is set in the Upstream Port
Failover Status (USPFSTS) register.
In all switch modes, the current external PES34H16 switch port associated with the upstream port may
be determined by reading the Current Upstream Port (CUSP) field in the USPFSTS register. Whenever a
dynamic upstream port failover occurs, the Upstream Port Change (USPC) bit is set in the USPFSTS
register. This bit is sticky and thus its status is preserved across a hot-reset.
The operation of the upstream port failover mechanism is unaffected by a hot-reset. Fields in the
USPFEN register have no effect on system operation when an upstream port failover switch mode has not
been selected during a fundamental reset.
Static Upstream Port Failover
A static upstream port failover requires a fundamental reset to be initiated whenever the upstream port
is changed. Since the initial upstream port is selected by the switch mode in the boot configuration vector,
the static upstream port failover feature may be viewed as nothing more than the ability to select the
upstream port during a fundamental reset.
A static upstream port failover consists of the following steps:
The following switch modes select port 0 as the upstream port during a fundamental reset:
The following switch modes select port 2 as the upstream port during a fundamental reset:
Since initiation of an upstream port failover requires a fundamental reset of the PCIe hierarchy, many
systems may require the use of dynamic upstream port failover.
– Assert the PCIe fundamental reset signal (PERSTN)
– Modify the switch mode (SWMODE) signals to select the external PES34H16 port associated with
the upstream port.
– Negate the PCIe fundamental reset signal (PERSTN).
– Normal switch mode
– Normal switch mode with Serial EEPROM initialization
– Normal switch mode with upstream port failover (port 0 selected as the upstream port)
– Normal switch mode with Serial EEPROM initialization and upstream port failover (port 0 selected
as the upstream port).
– Normal switch mode with upstream port failover (port 2 selected as the upstream port)
– Normal switch mode with Serial EEPROM initialization and upstream port failover (port 2 selected
as the upstream port)
Dynamic Upstream Port Failover
Dynamic upstream port failover allows the external PES34H16 port associated with the upstream port to
be modified while the system is live and in a manner which preserves the system state.
PES34H16 User Manual2 - 3October 30, 2008
Page 38
IDT Upstream Port Failover
Notes
When a dynamic upstream port failover is initiated, the PES34H16 takes the following actions:
The following sections describe the manner in which a dynamic upstream port failover may be initiated.
In most systems it is expected that only one upstream failover mechanism will be enabled at a time. If a
failover of the same type (i.e., software, signal, or watchdog timer) is initiated while one is already in progress, then the second initiation will be lost. If a failover of a different type is initiated while one is in progress,
then the second failover will be performed when the one in progress is completed. Software may utilize the
Upstream Failover Change (USPC) and Upstream Failover Change Initiated (USPCI) bits in the Upstream
Port Failover Status (USPFSTS) register to avoid failover race conditions.
Software Initiated Failover
An upstream port failover may be initiated by modifying the state of the Upstream Port Software Select
(USPSEL) field in the Upstream Port Failover Control (USPFCTL) register when the switch is selected to
operate in an upstream failover mode. A software initiated failover may be instituted by software running on
the root or software running on the device that writes to the USPSEL field via the SMBus. The USPSEL
field should not be modified during an upstream port failover (i.e., failover requests are not queued).
Signal Initiated Failover
An upstream port failover may be initiated by a change in the state of the Upstream Port Select
(USPSEL) signal. Such a failover is initiated when:
– The LTSSM associated with the upstream port immediately transitions to the Detect state and the
data link layer transitions to the DL_Down state. This causes data in the replay buffer associated
with the upstream port and upstream port data queued in the switch core to be discarded.
– The state of the SerDes multiplexors are modified to select the new upstream port.
– The LTSSM initiates link training with the upstream port.
1. the Upstream Port Signal Failover Enable (SIGFEN) bit is set in the Upstream Port Failover Control
(USPFCTL) register
2. the switch i s selected to operate in an upstream failover mode, and
3. the upstream port selected by the USPSEL signal differs from the current upstream port.
The USPSEL signal is an alternate function of GPIO[4]. The state of the USPSEL signal always reflects
the state of the GPIO[4] pin regardless of whether or not GPIO[4] is configured to operate as an alternate
function. When USPSEL is negated (low), port 0 is selected as the upstream port. When USPSEL is
asserted (high), port 2 is selected as the upstream port. The state of the USPSEL signal should not be
modified more frequently than once per second. The behavior of the PES34H16 is undefined when the
USPSEL signal is modified more frequently than this rate.
Watchdog Timer Initiated Failover
An upstream port failover may be initiated as the result of an expiration of a watchdog timer. Such a
failover is initiated when:
1. the Upstream Port Timer Failover Enable (TIMFEN) bit is set in the Upstream Port Failover Control
(USPFCTL) register
2. the switch i s selected to operate in an upstream failover mode, and
3. the Watchdog Timer Count (COUNT) field in the Upstream Port Failover Watchdog Timer
(USPFTIMER) transitions from a one to a zero.
When non-zero, the COUNT field in the US PFTIMER is decremented once per microsecond (1 µ S).
This provides a maximum watchdog timer interval of over one hour. Decrementing of the COUNT field
ceases when zero is reached. The COUNT fi eld may be written by software at any time. Modifying the
count field is used to rearm the watchdog timer. If not expired, the watchdog timer continues to decrement
across a hot-reset.
PES34H16 User Manual2 - 4October 30, 2008
Page 39
IDT Upstream Port Failover
Notes
When a watchdog timer failover is initiated, the new upstream port becomes the one that is not selected
by the CUSP field in the USPFSTS register. For example, if the current upstream port is port 0, then the
new upstream port following the failover is port 2.
When the count reaches zero, it remains at zero and no switchover will occur. When the count is
updated with a non-zero value, switchover is again enabled.
PES34H16 User Manual2 - 5October 30, 2008
Page 40
IDT Upstream Port Failover
Notes
PES34H16 User Manual2 - 6October 30, 2008
Page 41
Notes
®
Chapter 3
PES34H16
Port 0
CCLKDS
CCLKUS
REFCLK0
Root Complex
Hi
Hi
Clock Generator
Port 1
Port 15
EP
EP
...
...
REFCLK1 REFCLK2 REFCLK3
Clocking, Reset, and
Initialization
Introduction
The PES34H16 has four differential reference clock inputs that are used internally to generate all of the
clocks required by the internal switch logic and the SerDes. It is recommended that all reference clock input
pairs be driven from a common clock source. The frequency of the reference clock inputs may be selected
by the Reference Clock Mode Select (REFCLKM) input.
Each PES34H16 port has an associated PLL. Each of the reference clock differential inputs feeds four
on-chip PLLs (i.e., one quarter of the ports). 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 the upstream port
(i.e., port 0) is used as the system clock for internal switch logic
test mode via the SWMODE pins, the 250 MHz clock generated by the PLL is bypassed and the reference
clock input on REFCLKP[0]/REFCLKN[0] is used for the core logic.
1
. When the switch is placed in PLL Bypass
Clock Operation
When the CCLKUS and CCLKDS pins are asserted, they indicate that a common clock is being used
between the upstream device and the upstream port, as well as between the downstream devices and the
downstream ports. The Spread Spectrum Clock (SSC) must be disabled when the non-common clock is
used on either the upstream port or downstream port. Figures 3.1 through 3.4 illustrate the operation of the
CCLKUS and CCLKDS clocks using a common clock and a non-common clock.
PES34H16 User Manual 3 - 1October 30, 2008
Figure 3.1 Common Clock on Upstream and Downstream (option to enable or disable Spread Spectrum Clock)
1.
The port 0 PLL is used to generate the 250 MHz core clock even when upstream port failover is enabled and
regardless of the selected upstream port.
Page 42
IDT Clocking, Reset, and InitializationClock Operation
Notes
PES34H16
Port 0
CCLKDS
CCLKUS
Root Complex
Hi
Low
Clock Generator
Clock Generator
Port 1
Port 15
EP
EP
...
...
REFCLK0
REFCLK1 REFCLK2 REFCLK3
PES34H16
Port 0
CCLKDS
CCLKUS
Root Complex
Low
Hi
Clock Generator
Clock Generator
Port 1
Port 15
EP
EP
...
...
REFCLK0
REFCLK1 REFCLK2 REFCLK3
Figure 3.2 Non-Common Clock on Upstream; Common Clock on Downstream (must disable Spread Spectrum
Clock)
Figure 3.3 Common Clock on Upstream; Non-Common Clock on Downstream (must disable Spread Spectrum
Clock)
PES34H16 User Manual3 - 2October 30, 2008
Page 43
IDT Clocking, Reset, and InitializationClock Operation
Notes
PES34H16
Port 0
CCLKDS
CCLKUS
Root Complex
Low
Low
Clock Generator
Clock Generator
Clock Generator
Port 1
Port 15
EP
EP
...
...
REFCLK0
REFCLK1 REFCLK2 REFCLK3
Figure 3.4 Non-Common Clock on Upstream and Downstream (must disable Spread Spectrum Clock)
Initialization
A boot configuration vector consisting of the signals listed in Table 3.2 is sampled by the PES34H16
during a fundamental reset when PERSTN is negated. The boot configuration vector defines essential
parameters for switch operation. Since the boot configuration vector is sampled only during a fundamental
reset sequence, the value of signals which make up the boot configuration vector is ignored during other
times and their state outside of a fundamental reset has no effect on the operation of the PES34H16.
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 EEPROM allows
modification of any bit in any software visible register. See Chapter 6, 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 3.2. The state of all of the boot configuration signals in Table 3.2 sampled during
the most recent cold reset may be determined by reading the SWSTS register.
Signal
CCLKDSYCommon Cloc k Downstream. When the CCLKDS pin is asserted,
CCLKUSYCommon Cloc k Upstr ea m. When the CCLKUS pin is asserted, it
MSMBSMODE NMaster SMBus Slow Mode. The assertion of this pin indicates that
P01MERGEN NPort 0 and 1 Merge. When this pin is asserted, port 1 is merged with
May Be
Overridden
Description
it indicates that a common clock is being used between the downstream device and the downstream port.
indicates that a common clock is being used between the upstream
device and the upstream port.
the master SMBus should operate at 100 KHz instead of 400 kHz.
port 0 to form a single x8 port. The SerDes lanes associated with
port 1 become lanes 4 through 7 of port 0.
Table 3.2 Boot Configuration Vector Signals
PES34H16 User Manual3 - 3October 30, 2008
Page 44
IDT Clocking, Reset, and InitializationClock Operation
Notes
Signal
P23MERGEN NPort 2 and 3 Merge. When this pin is asserted, port 3 is merged with
P45MERGEN NPort 4 and 5 Merge. When this pin is asserted, port 5 is merged with
PERSTNIFundamental Reset. Assertion of this signal resets all logic inside
RSTHALTYReset Halt. When this signal is asserted during a PCI Express fun-
SWMODE[3:0]NSwitch Mode. These configuration pins determine the PES34H16
May Be
Overridden
Description
port 2 to form a single x8 port. The SerDes lanes associated with
port 3 become lanes 4 through 7 of port 2.
port 4 to form a single x8 port. The SerDes lanes associated with
port 5 become lanes 4 through 7 of port 4.
the PES34H16 and initiates a PCI Express fundamental reset.
damental reset, the PES34H16 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 SWCTL register
through the SMBus.
The value may be overridden by modifying the RSTHALT bit in the
SWCTL register.
switch operating mode. These pins should be static and not change
following the negation of PERSTN.
0x0 - Normal switch mode
0x1 - Normal switch mode with Serial EEPROM initialization
0x2 through 0x7 - Reserved
0x8 - Normal switch mode with upstream port failover (port 0
selected as the upstream port)
0x9 - Normal switch mode with upstream port failover (port 2
selected as the upstream port)
0xA - Normal switch mode with Serial EEPROM initialization and
upstream port failover (port 0 selected as the upstream port)
0xB - Normal switch mode with Serial EEPROM initialization and
upstream port failover (port 2 selected as the upstream port)
0xC through 0xF - Reserved
Table 3.2 Boot Configuration Vector Signals
Reset
The PES34H16 defines four reset categories: fundamental reset, hot reset, upstream secondary bus
reset, and downstream secondary bus reset.
– A fundamental reset causes all logic in the PES34H16 to be returned to an initial state.
– A hot reset causes all logic in the PES34H16 to be returned to an initial state, but does not cause
the state of register fields denoted as “sticky” to be modified.
– An upstream secondary bus reset causes all devices on the virtual PCI bus to be hot reset except
the upstream port (i.e., upstream PCI to PCI bridge).
– A downstream secondary bus reset causes a hot reset to be propagated on the corresponding
external secondary bus link.
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.
PES34H16 User Manual3 - 4October 30, 2008
Page 45
IDT Clocking, Reset, and InitializationClock Operation
Notes
Fundamental R eset
A fundamental reset may be initiated by any of the following 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 Fundamental Reset (FRST) bit in the Switch
Control (SWCTL) register.
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 3.2. If PERSTN was
not asserted, use the previously sampled boot configuration signal values (e.g., when a fundamental
reset is the result of a one being written to the FRST bit in the SWCTL register).
– Examine the state of the sampled SWMODE[3:0] signals to determine the switch operating mode.
3. The PLL and SerDes are initialized.
4. Link training begins. Wh ile link training is in progress, proceed to step 5.
5. If the Reset Hal t (RSTHA LT) pin is asserted, the RSTHALT bit in the SWSTS register is set.
6. If the switch operating mode is not a test mode, then the reset signal 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 20ms 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.
7. The master SMBus operating frequency is determined.
– 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.
8. The slave SM Bus is taken out of reset and initialized. The slave SMBus address specified by the
SSMBADDR[5,3:1] pins is used.
9. The master SMBus is taken out of reset and initialized.
10. 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 P ES34H16 registers are upda ted.
– 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 SWCTL register. Error information is recorded in the
SMBUSSTS register.
– When serial EEPROM initialization completes or when an error is detected, the EEPROMDONE
bit in the SMBUSSTS register is set.
11. If the Reset Halt (RSTHALT) bit is set in the 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 configuration 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 EEPROMINTF register.
12. Normal device operation begins.
PES34H16 User Manual3 - 5October 30, 2008
Page 46
IDT Clocking, Reset, and InitializationClock Operation
Notes
REFCLK
Vdd
PERSTN
SerDes
Master SMBus
Slave SMBus
Tpvperl
PLL Reset and LockCDR Reset & LockReady for Normal Operation
Ready for Normal Operation
ReadyIdleSerial E EPROM Initia lization
11μs
20ms max.
50
μ
s max.
Link Training
RSTHALT bit cleared
in SWCTL
Stacks in Quasi Reset State
Notes:
1) Reference Clock (REFCLK) not shown to scale.
2) The PES34H16 requires a minimum time for Tperst-clk of 1µs. The PES34H16 requires a minimum time for Tpvperl of 1ms.
3) In a system, the values of Tpvperl and Tperst-clk depend on the mechanical form factor in which the PES34H16 is used. For example,
the PCIe Card Electromechanical Specification, Revision 2.0, specifies minimum values of Tperst-clk=100µs and Tpvperl=100ms.
The PCIe base specification indicates 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 this period as long as the serial EEPROM initialization process completes within 200 ms. Under
normal circumstances, 200 ms is more than adequate to initialize registers 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.
A warm reset initiated by the writing of a one to the Fundamental Reset (FRST) bit in the Switch Control
(SWCTL) register always results in the PES34H16 returning a completion
to the requesterbefore the warm
reset process begins.
The PES34H16 provides a reset output signal for each downstream port implemented as a GPIO alternate function. When a fundamental reset occurs, all of the GPIO pins default to GPIO inputs. Therefore, the
downstream port resets are tri-stated. A system designer should use a pull-down on these signals if they
are used as reset outputs.
The operation of a fundamental reset with serial EEPROM initialization (i.e., SWMODE[3:0] = 0x1) is
illustrated in Figure 3.5.
Figure 3.5 Fundamental Reset in Transparent Mode with Serial EEPROM Initialization
Hot Reset
A hot reset may be initiated by any of the following conditions:
– Reception of TS1 ordered-sets on the upstream port indicating a hot reset.
PES34H16 User Manual3 - 6October 30, 2008
– Data link layer of the upstream port transitions to the DL_Down state.
– Writing a one to the Hot Reset (HRST) bit in the System Control (SWCTL) register.
Page 47
IDT Clocking, Reset, and InitializationClock Operation
Notes
The initiation of a hot reset due to the data l ink layer of the upstream port transitioni ng to the DL_D own
state may be disabled by setting the Disable Link Down Hot Reset (DLDHRST) bit in the Switch Control
(SWCTL) register. Other hot reset conditions are unaffected by this bit. When a hot reset occurs, the
following sequence is executed.
1. Each downstream port whose link is up propagates the hot reset by transmitting TS1 ordered sets
with the hot reset bit set.
2. All of the logic associated with the PES34H16 except the PLLs, SerDes, master SMBus interface,
and slave SMBus interface is reset.
3. All registers fields in all registers, except those denoted as “sticky” or Read and Write when Unlocked
(i.e, RWL), are reset to their initial value. The value of fields denoted as “sticky” or RWL is preserved
across a hot reset.
4. Link training begins. Wh ile link training is in progress, proceed to step 5.
5. The PCI Express stacks and associated logic are held in a quasi-reset state in which the following
actions occur.
– All links enter an active link training state within 20ms of the clearing of the hot 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.
6. If the selected switch operating mode is one that requires initialization from the serial EEPROM and
the Disable Hot Reset Serial EEPROM Initialization (DHRSTSEI) bit is not set in the Switch Control
(SWCTL) register, then the contents of the serial EEPROM are read and the appropriate PES34H16
registers are updated. In addition, if the Reset Halt (RSTHALT) pin is asserted, the RSTHALT bit in
the SWSTS register is set.
– 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 SWCTL register. Error information is recorded in the
SMBUSSTS register.
– When serial EEPROM initialization completes or when an error is detected, the DONE bit in the
SMBUSSTS register is set.
7. If the Res et Halt (RST HALT) bit is set in the SWCTL register, all of the logic is held in a reset state
except the master and slave SMBuses. The RSTHALT bit is set only under the following two conditions:
– serial EEPROM initialization is enabled in step 6 and an error is detected during loading of the
serial EEPROM or
– the user intentionally sets this bit through the EEPROM code.
8. Normal device operation begins.
The operation of the slave SMBus interface is unaffected by a hot reset. Using the slave SMBus to
access a register that is reset by a hot reset causes zero to be returned on a read and written data to be
ignored on writes.
A hot reset initiated by the writing of a one to the Hot Reset (HRS T) bit in the S witch Control (SWCTL)
register always results in the PES34H16 returning a completion
process begins.
Upstream Secondary Bus Reset
An upstream secondary bus reset may be initiated by the following condition:
– A one is written to the Secondary Bus Reset (SRESET) bit in the upstream port’s (i.e., port 0)
Bridge Control Register (BRCTL).
to the requesterbefore the hot reset
PES34H16 User Manual3 - 7October 30, 2008
Page 48
IDT Clocking, Reset, and InitializationClock Operation
Notes
When an upstream secondary bus reset occurs, the following sequence is executed.
1. Each downstream port whose link is up propagates the reset by transmitting TS1 ordered sets with
the hot reset bit set.
2. All registers fields in all registers associated with downstream ports, except those denoted as “sticky”
or Read and Write when Unlocked (i.e, RWL), are reset to their initial value. The value of fields
denoted as “sticky” or RWL is unaffected by an upstream secondary bus reset.
3. All TLPs received from downstream ports and queued in the PES34H16 are discarded.
4. Logic in the stack, application layer and switch core associated with the downstream ports are gracefully reset.
5. Wait for the Secondary Bus Reset (SRESET) bit in the upstream port’s Switch Control Register
(SWCTRL) to clear.
6. Normal downstream port operation begins.
The operation of the upstream port is unaffected by a secondary bus reset. The link remains up and
Type 0 configuration read and write transactions that target the upstream port complete normally. During an
upstream secondary bus reset, all TLPs destined to the secondary side of the upstream port’s PCI-to-PCI
bridge are treated as unsupported requests. The operation of the slave SMBus interface is unaffected by an
upstream secondary bus reset. Using the slave SMBus to access a register that is reset by an upstream
secondary bus reset causes zero to be returned on a read and written data to be ignored on writes.
Downstream Secondary Bus Reset
A downstream secondary bus reset may be initiated by the following condition:
– A one is written to the Secondary Bus Reset (SRESET) bit in a downstream port’s (i.e., port 0)
Bridge Control Register (BCTRL).
When a downstream secondary bus reset occurs, the following sequence is executed.
1. If the corresponding downstream port’s link is up, TS1 ordered sets with the hot reset bit set are
transmitted
2. All TLPs received from corresponding downstream port and queued in the PES34H16 are discarded.
3. Wait for the Secondary Bus Reset (SRESET) bit in the upstream port’s Switch Control Register
(SWCTRL) to clear.
4. Normal downstream port operation begins.
The operation of the upstream port is unaffected by a downstream secondary bus reset. The operation
of other downstream ports is unaffected by a downstream secondary bus reset. During a downstream
secondary bus reset, Type 0 configuration read and write transactions that target the downstream port
complete normally. During a downstream secondary bus reset, all TLPs destined to the secondary side of
the downstream port’s PCI-to-PCI bridge are treated as unsupported requests. The operation of the slave
SMBus interface is unaffected by a downstream secondary bus reset.
Downstream Port Reset Outputs
Individual downstream port reset outputs (P1RSTN through P15RSTN) are provided as GPIO pin alternate functions. Following a fundamental reset, all of the GPIO pins default to GPIO inputs. Therefore, the
downstream port resets are tri-stated. A system designer should use a pull-down on these signals if they
are used as reset outputs. The PES34H16 ensures through hardware that the minimum PxRSTN assertion
pulse width is no less than 200 µS.
Downstream port reset outputs can be configured to operate in one of three modes. These modes are:
power enable controlled reset output, power good controlled reset output, and hot reset controlled output.
The downstream port reset output mode is determined by the Reset Mode (RSTMODE) field in the HotPlug Configuration Control (HPCFGCTL) register.
PES34H16 User Manual3 - 8October 30, 2008
Page 49
IDT Clocking, Reset, and InitializationClock Operation
Notes
PxPEP
PxRSTN
T
PWR2RST
T
RST2PWR
PxPEP
PxPWRGDN
T
PWR2RST
PxRSTN
T
RST2PWR
Power Enable Controlled Reset Output
In this mode a downstream port reset output state is controlled as a side effect of slot power being
turned on or off. The operation of this mode is illustrated in Figure 3.6. A downstream port’s slot power is
controlled by the Power Controller Control (PCC) bit in the PCI Express Slot Control (PCIESCTL) register
Figure 3.6 Power Enable Controlled Reset Output Mode Operation
While slot power is disabled, the corresponding downstream port reset output is asserted.
When slot power is enabled by writing a zero to the PCC bit, the Port x Power Enable Output (PxPEP) is
asserted and then power to the slot is enabled and the corresponding downstream port reset output is
negated. The time between the assertion of the PxPEP signal and the negation of the PxRSTN signal is
controlled by the value in the Slot Power to Reset Negation (PWR2RST) field in the HPCFGCTL register.
While slot power is enabled, the corresponding downstream port reset output is negated.
When slot power is disabled by writing a one to the PCC bit, the corresponding downstream port reset
output is asserted and then slot power is disabled. The time between the assertion of the PxRSTN signal
and the negation of the PxPEP signal is controlled by the value in the Reset Negation to Slot Power
(RST2PWR) field in the HPCFGCTL register.
Power Good Controlled Reset Output
As in the Power Enable Controlled Reset mode, in this mode a downstream port reset output state is
controlled as a side effect of slot power being turned on or off. However, the timing in this mode depends on
the power good state of the slot’s power supply. The operation of this mode is illustrated in Figure 3.7.
Figure 3.7 Power Good Controlled Reset Output Mode Operation
The operation of this mode is similar to that of the Power Enable Controlled Reset mode except that
when power is enabled, the negation of the corresponding port reset output occurs as a result of and after
assertion of the slot’s Power Good (PxPWRGDN) signal is observed. The time between the assertion of the
PxPWRGDN signal and the negation of the PxRSTN signal is controlled by the value in the Slot Power to
Reset Negation (PWR2RST) field in the HPCFGCTL register.
When slot power is disabled by writing a one to the PCC bit, the corresponding downstream port reset
output is asserted and then slot power is disabled. The time between the assertion of the PxRSTN signal
and the negation of the PxPEP signal is controlled by the value in the Reset Negation to Slot Power
(RST2PWR) field in the HPCFGCTL register.
If at any point while a downstream port is not being reset (i.e., PxRSTN is negated) a power fault is
detected (i.e., PxPWRGDN is negated), then the corresponding port reset output is immediately asserted.
PES34H16 User Manual3 - 9October 30, 2008
Page 50
IDT Clocking, Reset, and InitializationClock Operation
Notes
Since the PxPWRGDN signal is an I/O expander i nput, it may not be possibl e to meet a profile’s power
level invalid to reset asserted timing specification (i.e., PxPWRGDN to PxRSTN). Systems that require a
shorter time interval may implement this functionality external to the PES34H16.
PES34H16 User Manual3 - 10October 30, 2008
Page 51
Notes
Chapter 4
Link Operation
Introduction
The PES34H16 contains six x4 ports which may be merged in pairs to form up to three x8 ports. The
remaining 10 ports are x1. The default link width for ports zero through five is x4 and the SerDes lanes are
statically assigned to a port.
Polarity Inversion
Each port of the PES34H16 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 PES34H16 supports the optional link variable width negotiation feature outlined in the PCIe specification. During link training, Each merged x8 port is capable of negotiating to a x8, x4, x2 or x1 link width and
each unmerged x4 port 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 (PCIELCAP) 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 SWCTL register. Modification of this field allows the maximum link width of the port to be configured. The new l ink width takes effect
the next time link training occurs.
The initial value of the MAXLNKWDTH field defaults to x4 mode. To force a link width to a smaller width
than the default value, the MAXLNKWDTH field could be configured through Serial EEPROM initialization
and full link retraining forced. When merged port link negotiates to a width less than x8, then the unused
group of four lanes are powered down to save power. In addition, unused S erDes in a four lane group are
put in a low power state (i.e. L1 state).
When an unmerged port negotiates to a width less than x4, the unused SerDes lanes are put in a low
power state (i.e., L1 state). When a merged or unmerged port is disabled, all SerDes lanes associated with
that port are powered down.
Lane Reversal
The PCIe specification describes an optional lane reversal feature. The PES34H16 supports the automatic lane reversal feature outlined in the PCIe specification. The operation of lane reversal is dependant
on the maximum link width selected by the MAXLNKWDTH field. Lane reversal mapping for the various
non-trivial x4 non-merged port maximum link width configurations supported by the PES34H16 are illustrated in Figures 4.1 and 4.2. Lane reversal mapping for the various non-trivial x8 merged port maximum
link width configurations supported by the PES34H16 are illustrated in Figures 4.3 through 4.5.
PES34H16 User Manual 4 - 1October 30, 2008
Page 52
IDT Link Operation
Notes
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES34H16
lane 0
lane 1
lane 2
lane 3
(a) x4 Port without lane reversal
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES34H16
lane 3
lane 2
lane 1
lane 0
(b) x4 Port with lane reversal
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES34H16
lane 0
lane 1
(a) x2 Port without lane reversal
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES34H16
lane 1
lane 0
(b) x2 Port with lane reversal
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES34H16
lane 0
(a) x1 Port without lane reversal
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES34H16
lane 0
(b) x1 Port with lane reversal
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES34H16
lane 0
lane 1
(a) x2 Port without lane reversal
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES34H16
lane 1
lane 0
(b) x2 Port with lane reversal
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES34H16
lane 0
(c) x1 Port without lane reversal
PExRP[0]
PExRP[1]
PExRP[2]
PExRP[3]
PES34H16
lane 0
(d) x1 Port with lane reversal
Figure 4.1 Unmerged Port Lane Reversal for Maximum Link Width of x4 (MAXLNKWDTH[5:0]=0x4)
Figure 4.2 Unmerged Port Lane Reversal for Maximum Link Width of x2 (MAXLNKWDTH[5:0]=0x2)
Figure 4.5 Merged Port Lane Reversal for Maximum Link Width of x8 (MAXLNKWDTH[5:0]=0x8)
Link Retraining
Link retraining should not cause either a downstream component or an upstream component to reset or
revert to default values. Writing a one to the Link Retrain (LRET) bit in the upstream port’s PCI Express Link
Control (PCIELCTL) register when the REGUNLOCK bit is set in the SYSCTL register forces the upstream
PCIe link to retrain. When this occurs the LTSSM transitions directly to the Recovery state.
Writing a
one to the Link Retrain (LRET) bit in a downstream port’s PCI Express Link Control (PCIELCTL) register
regardless of the REGUNLOCK bit state in the SYSCTL register forces the downstream PCIe link to retrain.
When this occurs the LTSSM transitions directly to the Recovery state.
Page 55
IDT Link Operation
Notes
Link Down
When a link goes down, all TLPs received by that 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 downstream link is down, it is possible to perform configuration read and write
operations to the PCI-PCI bridge associated with that link. When a link comes up, flow control credits for the
configured size of the input buffer queues are advertised.
Slot Power Limit Support
The Set_Slot_Power_Limit message is used to convey a slot power limit value from a downstream
switch port or root port to the upstream port of a connected device or switch.
Upstream Port
When a Set_Slot_Power_Limit message is received by the upstream switch port, then the fields in the
message are written to the PCI Express Device Capabilities (PCIEDCAP) register of that port.
– Byte 0 bits 7:0 of the message payload are written to the Captured Slot Power Limit Scale
(CSPLS) field.
– Byte 1 bits 1:0 of the message payload are written to the Captured Slot Power Limit Value
(CSPLV) field.
Downstream Port
A Set_Slot_Power_Limit message is sent by downstream switch ports when either of the following
events occur.
– 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.
Link States
The PES34H16 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
hot
state
PES34H16 User Manual4 - 5October 30, 2008
Page 56
IDT Link Operation
Notes
L0
L0sL1
L2/L3 Ready
L3
Figure 4.6 PES34H16 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 (PCIELCTL) register, ASPM link state transitions are initiated by hardware without software involvement. The PES34H16 ASPM supports the required
L0s state as well as the optional L1 state.
The L0s Entry Timer (L0ET) 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 (L1ET) 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
PES34H16 upstream port. If the link partner acknowledges the transition, then the L1 state is entered.
Otherwise the L0s state is entered.
Link Status
Associated with each port is a Port Link Up (PxLINK UPN) status output and a Port Activity (PxACTIVEN) status output. These outputs are provided on I/O expander tbd. See section I/O Expanders on page
6-6 for the operation of the I/O expander and the mapping of these status outputs to I/O expander pins. The
PxLINKUPN and PxACTIVEN status outputs may be used to provide a visual indication of system state and
activity or for debug.
The PxLINKUPN output is asserted when the PCI Express data link layer is up (i.e., when the LTSSM is
in the L0, L0s, L1 or recovery states). When the data link layer is down, this output is negated.
The PxACTIVEN output is asserted whenever any TLP, other than a vendor defined message, is transmitted or received on the corresponding port’s link. Whenever a PxACTIVEN output is asserted, it remains
asserted for at least 200 ms. Since an I/O expander output may change no more frequently than once every
PES34H16 User Manual4 - 6October 30, 2008
40 ms, this translates into five I/O expander update periods.
Page 57
Notes
®
Chapter 5
General Purpose I/O
Introduction
The PES34H16 has 32 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 Function (GPIOFUNC), General Purpose I/O Configuration (GPIOCFG), and General Purpose
I/O Data (GPIOD) registers in the upstream port’s PCI configuration space. As shown in Table 5.1, many
GPIO pins are shared with other on-chip functions. The GPIO Function (GPIOFUNC) register whether a
GPIO bit operates as a general purpose I/O or as the specified alternate function.
GPIO
Pin
10P5RSTNReset output for downstream port 5Output
11P6RSTNReset output for downstream port 6Output
12P7RSTNReset output for downstream port 7Output
13P8RSTNReset output for downstream port 8Output
14P9RSTNReset output for downstream port 9Output
15P10RSTNReset output for downstream port 10Output
16P11RSTNReset output for downstream port 11Output
17P12RSTNReset output for downstream port 12Output
18P13RSTNReset output for downstream port 13Output
19P14RSTNReset output for downstream port 14Output
Alternate
Function
Pin Name
5GPENGeneral purpose event outputOutput
6P1RSTNReset output for downstream port 1Output
7P2RSTNReset output for downstream port 2Output
8P3RSTNReset output for downstream port 3Output
9P4RSTNReset output for downstream port 4Output
Table 5.1 General Purpose I/O Pin Alternate Function (Part 2 of 2)
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 128ns 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
PES34H16.
GPIO Configuration
Associated with each GPIO pin is a bit in the GPIOFUNC, GPIOCFG and GPIOD registers. Table 5.2
summarizes the configuration of GPIO pins.
GPIOFUNCGPIOCFGPin Function
00GPIO input
01GPIO output
1don’t careAlternate function
Table 5.2 GPIO Pin Configuration
GPIO Pin Config ured as an Inpu t
When configured as an input in the GPIOCFG register and as a GPIO function in the GPIOFUNC
register, the GPIO pin is sampled and registered in the GPIOD register. The value of the input pin can be
determined at any time by reading the GPIOD register. Note that the value in this register 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 register and as a GPIO function in the GPIOFUNC
register, the value in the corresponding bit position of the GPIOD register 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 register.
GPIO Pin Configured as an Alternat e Function
When configured as an alternate function in the GPIOFUNC register, the pin behaves as 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 register.
PES34H16 User Manual5 - 2October 30, 2008
Page 59
Notes
®
Chapter 6
Processor
PES34H16
SSMBCLK
SSMBDAT
MSMBCLK
MSMBDAT
SMBus
Master
Other
SMBus
Devices
Serial
EEPROM
Processor
PES34H16
SSMBCLK
SSMBDAT
MSMBCLK
MSMBDAT
SMBus
Master
Other
SMBus
Devices
Serial
EEPROM
...
...
(a) Unified Configuration
(b) Split Configuration
Hot-Plug
I/O
Expander
Hot-Plug
I/O
Expander
SMBus Interfaces
Introduction
The PES34H16 contains two SMBus interfaces. The slave SMBus interface provides full access to all
software visible registers in the PES34H16, 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 optional external I/O expanders. 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 6.1, the master and slave SMBuses may be used in a unified or split configuration.
Figure 6.1 SMBus Interface Configuration Examples
In the unified configuration, shown in Figure 6.1(a), the master and slave SMBuses are tied together and
PES34H16 User Manual 6 - 1October 30, 2008
the PES34H16 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 the PES34H16 registers support SMBus arbitration. In 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 PES34H16 may be configured to operate in a split configuration as shown in Figure 6.1(b).
Page 60
IDT SMBus Interfaces
Notes
In the split configuration, the master and slave SMBuses operate as two independent buses and thus
multi-master arbitration is not required.
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 optional I/O expanders used for hot-plug and other
status signals.
Initialization
Master SMBus initialization occurs during a fundamental reset (see section Fundamental Reset on page
3-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 SMBus Control (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 or hot 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. The address used by the SMBus
interface to access the serial EEPROM is specified by the MSMBADDR[4:1] signals as shown in Table 6.1.
During initialization from the optional serial EEPROM, the master SMBus interface reads configuration
blocks from the serial EEPROM and updates corresponding registers in the PES34H16. Any PES34H16
software visible register in any port may be initialized with values stored in the serial EEPROM.
Each software visible register in the PES34H16 has a CSR sys tem 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 PES34H16 are listed in Table 9.1. 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.
PES34H16 User Manual6 - 2October 30, 2008
Page 61
IDT SMBus Interfaces
Notes
Bit
0
Bit
1
Bit
2
Bit
3
Bit
4
Bit
5
Bit
6
Bit
7
Byte 0CSR_SYSADDR[7:0]
CSR_SYSADDR[13:8]
TYPE
0x0
Byte 1
Byte 2DATA[ 7:0]
Byte 3DATA[15:8]
Byte 4DATA[23:16]
Byte 5DATA[31:24]
Any serial EEPROM compatible with those listed in Table 6.2 may be used to store the PES34H16
initialization values. Some of these devices are larger than the total size of all of the PCI configuration
spaces in the PES34H16 that may be initialized and thus may not be fully utilized.
Serial EEPROMSize
24C324 KB
24C648 KB
24C12816 KB
24C25632 KB
24C51264 KB
Table 6.2 PES34H16 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 bytes in the serial
EEPROM and is used to initialize a single double word quantity in the PES34H16.
A single double word initialization sequence consists of three fields and its format is shown in Figure 6.1.
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.
Figure 6.1 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
PES34H16 User Manual6 - 3October 30, 2008
shown in Figure 6.2. 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.
double word initialization data fields. The format of a sequential double word initialization sequence is
Page 62
IDT SMBus Interfaces
Notes
Bit
0
Bit
1
Bit
2
Bit
3
Bit
4
Bit
5
Bit
6
Bit
7
Byte 0CSR_SYSADDR[7:0]
CSR_SYSADDR[13:8]
TYPE
0x1
Byte 1
Byte 2NUMDW[7:0]
Byte 3NUMDW[15:8]
Byte 4DATA0[7:0]
Byte 5DATA0[15:8]
Byte 6DATA0[23:16]
Byte 7DATA0[31:24]
Byte 4n+4DATAn[7:0]
Byte 4n+ 5DATAn[15:8]
Byte 4n+6DATAn[23:16]
Byte 4n+7DATAn[31:24]
...
...
Bit
0
Bit
1
Bit
2
Bit
3
Bit
4
Bit
5
Bit
6
Bit
7
Byte 0CHECKSUM[7:0]
ReservedTYPE
0x3
Byte 1
(must be zero)
PES34H16 User Manual6 - 4October 30, 2008
Figure 6.2 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.
If during serial EEPROM initialization, an attempt is made to initialize a register that is not defined in a
configuration space (i.e., not defined in Chapter 9), 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 6.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.
Figure 6.3 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.
This includes the byte containing the TYPE field.
1
The 1’s complement of this
Page 63
IDT SMBus Interfaces
Notes
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.
1
The correct result should always be 0xFF (i.e., all ones).
Checksum checking may be disabled by setting the Ignore Checksum Errors (ICHEC KSUM) bit in the
SMBus Control (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 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 SMBUSSTS register.
Once serial EEPROM initialization completes, or when an error is detected, the EEPROM Done
(EEPROMDONE) bit is set in the SMBus S tatus (SMBSTS) register. A summary of possible errors during
serial EEPROM initialization and specific action taken when detected is summarized in Figure 6.4.
ErrorAction Taken
Configuration Done Sequence checksum mismatch with that computed by the PES34H16
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
Figure 6.4 Serial EEPROM Initialization Errors
- Set RSTHALT bit in SWCTL register
- ICSERR bit is set in the SMBUSSTS register
- Abort initialization, set DONE bit in the SMBUSSTS register
- Set RSTHALT bit in SWCTL register
- ICSERR bit is set in the SMBUSSTS register
- Abort initialization, set DONE bit in the SMBUSSTS register
- Set RSTHALT bit in SWCTL register
- NAERR bit is set in the SMBUSSTS register
- Abort initialization, set DONE bit in the SMBUSSTS register
- Set RSTHALT bit in SWCTL register
- LAERR bit is set in the SMBUSSTS register
- Abort initialization, set DONE bit in the SMBUSSTS register
- Set RSTHALT bit in SWCTL register
- OTHERERR bit is set in the SMBUSSTS register
- Abort initialization, set DONE bit in the 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 6-20. A PCIe root may read and write the serial
EEPROM by performing configuration read and write transactions to the Serial EEPROM Interface
(EEPROMINTF) register.
To read a byte from the serial EEPROM, the root should configure the Address (ADDR) field in the
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 EEPROMINTF register is set and the busy bit is cleared.
When this occurs, the DATA 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.
1.
This includes the checksum byte as well as the byte that contains the type and reserved field.
PES34H16 User Manual6 - 5October 30, 2008
Page 64
IDT SMBus Interfaces
Notes
SMBus errors may occur when accessing the serial EEPROM. If an error occurs, then it is reported in
the SMBus Status (SMBUSSTS) register. Software should check for errors before and after each serial
EEPROM access.
I/O Expanders
The PES34H16 utilizes external SMBus/I2C-bus I/O expanders connected to the master SMBus interface for hot-plug and port status signals.
The PES34H16 is designed to work with Phillips PCA9555 compatible I/O expanders (i.e., PCA9555,
PCA9535, and PCA9539). See the Phillips PCA9555 data sheet for details on the operation of this device.
An external SMBus I/O expander provides 16 bit I/O pins that may be configured as inputs or outputs.
PES34H16 supports up to 11 external I/O expanders. Figure 6.5 summarizes the allocation of functions
to I/O expanders. I/O expanders zero through seven are used to provide general hot-plug I/O signals. I/O
expander eight provides link status outputs while I/O expander nine provides link activity LED status
outputs. I/O expander ten provides hot-plug power good status inputs.
I/O expander signals associated with LED control (i.e., link status and activity) are active low (i.e., driven
low when an LED should be turned on).
I/O expander signals associated with hot-plug signals are not inverted.
SMBus I/O
Expander
0LowerPort 1 hot-plug
1LowerPort 2 hot-plug
2LowerPort 5 hot-plug
3LowerPort 6 hot-plug
4LowerPort 9 hot-plug
5LowerPort 10 hot-plug
6LowerPort 13 hot-plug
7LowerPort 14 hot-plug
8LowerLink status (ports 0 through 7)
SectionFunction
UpperPort 3 hot-plug
UpperPort 4 hot-plug
UpperPort 7 hot-plug
UpperPort 8 hot-plug
UpperPort 11 hot-plug
UpperPort 12 hot-plug
UpperPort 15 hot-plug
Upperreserved
UpperLink status (ports 8 through 15)
Figure 6.5 I/O Expander Function Allocation (Part 1 of 2)
PES34H16 User Manual6 - 6October 30, 2008
Page 65
IDT SMBus Interfaces
Notes
SMBus I/O
Expander
9LowerLink activity (ports 0 through 7)
10LowerPower good inputs (ports 0 through 7)
Figure 6.5 I/O Expander Function Allocation (Part 2 of 2)
SectionFunction
UpperLink activity (ports 8 through 15)
UpperPower good inputs (ports 8 through 15)
During the PES34H16 initialization, the SMBus/I2C-bus address allocated each I/O expander used in
that system configuration should be written to the corresponding IO Expander Address (IOE[0:10]ADDR)
field. The IOE[0:3]ADDR fields are contained in the I/O Expander Address 0 (IOEXPADDR0) register, the
IOE[4:7]ADDR fields are contained in the SMBus I/O Expander Address 1 (IOEXPADDR1) register , and the
IOE[8:10]ADDR fields are contained in the SMBus I/O Expander Address 2 (IOEXPADDR2) register.
Hot-plug outputs and I/O expanders may be initialized via serial EEPROM. Since the I/O expanders and
serial EEPROM both utilize the master SMBus, no I/O expander transactions are initiated until serial
EEPROM initialization completes.
– Since no I/O expander transactions are initiated until serial EEPROM initialization completes, it is
not possible to toggle a hot-plug output through serial EEPROM initialization (i.e., it is not possible
to cause a 0 -> 1 -> 0 transition or a 1 -> 0 -> 1 transition).
Whenever the value of an IOEXPADDR field is written, SMBus write transactions are issued to the
corresponding I/O expander by the PES34H16 to configure the device. This configuration initializes the
direction of each I/O expander signal and sets outputs to their default value.
Outputs for ports that are disabled or are not implemented in that configuration or bo nd option, are set to
their negated value (e.g., the power indicator is turned off, the link is down, there is no activity, etc.).
The default value of I/O expander outputs is shown in Figure 6.6. Note that this default value may be
modified via serial EEPROM or SMBus configuration prior to SMBus initialization by changing the state of
the PCI Express Slot Control Register (PCIESCTL) or Hot-Plug Configuration Control (HPCFGCTL).
Figure 6.6 I/O Expander Default Output Signal Value
Default
Value
PES34H16 User Manual6 - 7October 30, 2008
Page 66
IDT SMBus Interfaces
Notes
The following I/O expander configuration sequence is issued by the PES34H16 to I/O expanders zero
through seven (i.e., the ones that contain hot-plug signals).
– Write the default value of the outputs bits on the lower eight I/O expander pins (i.e., I/O-0.0 through
I/O-0.7) to I/O expander register 2.
– Write the default value of the outputs bits on the upper eight I/O expander pins (i.e., I/O-1.0
through I/O-1.7) 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 the configuration value to select inputs/outputs in the lower eight I/O expander bits (i.e., I/O-
0.0 through I/O-0.7) to I/O expander register 6.
– Write the configuration value to select inputs/outputs in the upper eight I/O expander bits (i.e., I/
O-1.0 through I/O-1.7) to I/O expander register 7.
– Read value of I/O expander register 0 to obtain the current state of the lower eight I/O expander
bits (i.e., I/O-0.0 through I/O-0.7)
– Read value of I/O expander register 1 to obtain the current state of the upper eight I/O expander
bits (i.e., I/O-1.0 through I/O-1.7)
The following I/O expander configuration sequence is issued by the PES34H16 to I/O expanders eight
and nine (i.e., the one that contains link up and link activity status).
– Write link up or activity status for ports 0 through 7 to the lower eight I/O expander pins (i.e., I/O-
0.0 through I/O-0.7) to I/O expander register 2.
– Write link up or activity status for ports 8 through 15 to the upper eight I/O expander pins (i.e., I/
O-1.0 through I/O-1.7) 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 the configuration value to select all outputs in the lower eight I/O expander bits (i.e., I/O-0.0
through I/O-0.7) to I/O expander register 6.
– Write the configuration value to select all outputs in the upper eight I/O expander bits (i.e., I/O-1.0
through I/O-1.7) to I/O expander register 7.
The following I/O expander configuration sequence is issued by the PES34H16 to I/O expander ten (i.e.,
the one that contains power good inputs).
– 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 the configuration value to select all inputs in the lower eight I/O ex pander bits (i.e., I/O-0.0
through I/O-0.7) to I/O expander register 6.
– Write the configuration value to select all inputs in the upper eight I/O expander bits (i.e., I/O-1.0
through I/O-1.7) to I/O expander register 7.
– Read value of I/O expander register 0 to obtain the current state of the lower eight I/O expander
bits (i.e., I/O-0.0 through I/O-0.7)
– Read value of I/O expander register 1 to obtain the current state of the upper eight I/O expander
bits (i.e., I/O-1.0 through I/O-1.7)
While the I/O expander is enabled, the PES34H16 maintains the I/O bus expander signals and the
PES34H16 internal view of the hot-plug signals in a consistent state. This means that whenever that I/O
bus expander state and the PES34H16 internal view of the signal state differs, an SMBus transaction is
initiated by the PES34H16 to resolve the state conflict.
– An example of an event that may lead to a state conflict is a hot reset. When a hot reset occurs,
one or more hot-plug register control fields may be re-initialized to its default value. When this
occurs, the internal PES34H16 state of the hot-plug signals is in conflict with the state of I/O
expander hot-plug output signals. In such a situation, the PES34H16 will initiate an SMBus transaction to modify the state of the I/O expander hot-plug outputs.
PES34H16 User Manual6 - 8October 30, 2008
Page 67
IDT SMBus Interfaces
Notes
Each 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. Each interrupt output from an I/O expander should be
connected to the corresponding PES34H16 I/O expander interrupt input. Since the PES34H16 I/O
expander interrupt inputs are GPIO alternate functions, the corresponding GPIOs should be initialized
during configuration to operate in alternate function mode. See Chapter 5, General Purpose I/O.
Whenever the PES34H16 needs to change the state of an I/O expander signal output, a master SMBus
transaction is initiated to update the state of the I/O expander. This write operation causes the corresponding I/O expander to change the state of its output(s). The PES34H16 will not update the state of an I/
O expander output more frequently than once every 40 milliseconds. This 40 millisecond time interval is
referred to as the I/O expander update period.
Whenever an input to the I/O expander changes state from the value previously read, the interrupt
output of the I/O expander is asserted. This causes the PES34H16 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 PES34H16 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 (i.e., the I/O expander update period).
This delay in sampling may be used to eliminate external debounce circuitry.
The I/O expander interrupt request output is negated whenever the input values are read or w hen the
input pin changes state back to the value previously read. The PES34H16 ensures that I/O expander transactions are initiated on the master SMBus in a fair manner. This guarantees that all I/O expanders have
equal service latencies. Any errors detected during I/O expander SMBus read or write transactions is
reflected in the status bits of the SMBus Status (SMBUSSTS) register.
The I/O Expander Interface (IOEXPINTF) register allows direct testing and debugging of the I/O
expander functionality. The Select (SEL) field in the IOEXPINTF register selects the I/O expander number
on which other fields in the register operate. The I/O Expander Data field in the IOEXPINTF register reflect
the current state, as viewed by the PES34H16, of the I/O expander inputs and outputs selected by the SEL
field.
Writing a one to the Reload I/O Expander Signals (RELOADIOEX) bit in the IOEXPINTF register causes
the PES34H16 to generate SMBus write and read transactions to the I/O expander number selected in the
SEL field. This results in the value of the IOEDATA field being updated to reflect the current state of the
corresponding I/O expander signals. This feature may be used to aid in debugging I/O expander operation.
For example, a user who neglects to configure a GPIO 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 IO Expander Test Mode (IOEXTM) bit in the IOEXPTINF register allows an I/O expander test mode
to be entered. When this bit is set, the PES34H16 core logic outputs are ignored and the values written to
the I/O expander for output bits are the values in the IOEDATA field. In this mode, the PES34H16 issues a
transaction to update the state of the I/O expander whenever a bit corresponding to an I/O expander output
changes state due to a write to the IOEDATA field and the RELOADIOEX bit is set. Bits in the IOEDATA
field that correspond to outputs are dependent on the I/O expander number selected in the SEL field in the
IOEXPINTF register. The outputs for each I/O expander number are shown in Table 6.3 through 6.13.
PES34H16 User Manual6 - 9October 30, 2008
Page 68
IDT SMBus Interfaces
Notes
System design recommendations
– I/O expander addresses and default output values may be configured during serial EEPROM
initialization. If I/O expander addresses are configured via the serial EEPROM, then the
PES34H16 will initialize the I/O expanders when normal device operation begins following the
completion of the fundamental reset sequence.
– If the I/O expanders are initialized via serial EEPROM, then the data value for output signals
during the SMBus initialization sequence will correspond to those at the time the SMBus transactions are initiated. It is not possible to toggle SMBus I/O expander outputs by modifying data
values during serial EEPROM initialization.
– During a fundamental reset and before the I/O expander outputs are initialized, all I/O expander
output signals default to inputs. Therefore, pull-up or pull-down resistors should be placed on
outputs to ensure that they are held in the desired state during this period.
– All hot-plug data value modifications that correspond to hot-plug outputs result in SMBus transac-
tions. This includes modifications due to upstream secondary bus resets and hot-resets.
– The standard PCA9555 I/O expander is not able to support the number of unique addresses
required by all of the PES34H16 hot-plug I/O expanders. Therefore, it is recommended that a
MAX7313 be used instead. The MAX7313 is software and pin compatible with the PCA9555
– I/O expander outputs are not modified when the device transitions from normal operation to a
fundamental reset. In systems where I/O expander output values must be reset during a fundamental reset, an I/O expander reset circuit may be used to reset the I/O expanders. Contact IDT
for more information.
I/O-x.y corresponds to the notation used for PCA9555 port x I/O pin y.
I/O Expander 8
SMBus I/O
Expander
Bit
0 (I/O-0.0)
1
1 (I/O-0.1)OP1LINKUPNPort 1 link up status output
2 (I/O-0.2)OP2LINKUPNPort 2 link up status output
3 (I/O-0.3)OP3LINKUPNPort 3 link up status output
4 (I/O-0.4)OP4LINKUPNPort 4 link up status output
5 (I/O-0.5)OP5LINKUPNPort 5 link up status output
TypeSignalDescription
OP0LINKUPNPort 0 link up status output
6 (I/O-0.6)OP6LINKUPNPort 6 link up status output
7 (I/O-0.7)OP7LINKUPNPort 7 link up status output
8 (I/O-1.0)OP8LINKUPNPort 8 link up status output
Table 6.11 I/O Expander 8 Signals (Part 1 of 2)
PES34H16 User Manual6 - 15October 30, 2008
Page 74
IDT SMBus Interfaces
Notes
SMBus I/O
Expander
TypeSignalDescription
Bit
9 (I/O-1.1)OP9LINKUPNPort 9 link up status output
10 (I/O-1.2)OP10LINKUPNPort 10 link up status output
11 (I/O-1.3)OP11LINKUPNPort 11 link up status output
12 (I/O-1.4)OP12LINKUPNPort 12 link up status output
13 (I/O-1.5)OP13LINKUPNPort 13 link up status output
14 (I/O-1.6)OP14LINKUPNPort 14 link up status output
15 (I/O-1.7)OP15LINKUPNPort 15 link up status output
1.
I/O-x.y corresponds to the notation used for PCA9555 port x I/O pin y.
I/O Expander 9
SMBus I/O
Table 6.11 I/O Expander 8 Signals (Part 2 of 2)
Expander
Bit
0 (I/O-0.0)
1
1 (I/O-0.1)OP1ACTIVENNPort 1 active status output
2 (I/O-0.2)OP2ACTIVENNPort 2 active status output
3 (I/O-0.3)OP3ACTIVENNPort 3 active status output
4 (I/O-0.4)OP4ACTIVENNPort 4 active status output
5 (I/O-0.5)OP5ACTIVENNPort 5 active status output
6 (I/O-0.6)OP6ACTIVENNPort 6 active status output
7 (I/O-0.7)OP7ACTIVENNPort 7 active status output
8 (I/O-1.0)OP8ACTIVENNPort 8 active status output
9 (I/O-1.1)OP9ACTIVENNPort 9 active status output
10 (I/O-1.2)OP10ACTIVENNPort 10 active status output
TypeSignalDescription
OP0ACTIVENNPort 0 active status output
11 (I/O-1.3)OP11ACTIVENNPort 11 active status output
12 (I/O-1.4)OP12ACTIVENNPort 12 active status output
13 (I/O-1.5)OP13ACTIVENNPort 13 active status output
14 (I/O-1.6)OP14ACTIVENNPort 14 active status output
15 (I/O-1.7)OP15ACTIVENNPort 15 active status output
Table 6.12 I/O Expander 9 Signals
1.
I/O-x.y corresponds to the notation used for PCA9555 port x I/O pin y.
PES34H16 User Manual6 - 16October 30, 2008
Page 75
IDT SMBus Interfaces
Notes
I/O Expander 10
SMBus I/O
Expander
Bit
0 (I/O-0.0)
1 (I/O-0.1)IP1PWRGDNPort 1 power good input
2 (I/O-0.2)IP2PWRGDNPort 2 power good input
3 (I/O-0.3)IP3PWRGDNPort 3 power good input
4 (I/O-0.4)IP4PWRGDNPort 4 power good input
5 (I/O-0.5)IP5PWRGDNPort 5 power good input
6 (I/O-0.6)IP6PWRGDNPort 6 power good input
7 (I/O-0.7)IP7PWRGDNPort 7 power good input
8 (I/O-1.0)IP8PWRGDNPort 8 power good input
9 (I/O-1.1)IP9PWRGDNPort 9 power good input
10 (I/O-1.2)IP10PWRGDNPort 10 power good input
11 (I/O-1.3)IP11PWRGDNPort 11 power good input
12 (I/O-1.4)IP12PWRGDNPort 12 power good input
1
TypeSignalDescription
-Unused
13 (I/O-1.5)IP13PWRGDNPort 13 power good input
14 (I/O-1.6)IP14PWRGDNPort 14 power good input
15 (I/O-1.7)IP15PWRGDNPort 15 power good input
1.
I/O-x.y corresponds to the notation used for PCA9555 port x I/O pin y.
Table 6.13 I/O Expander 10 Signals
Slave SMBus Interface
The slave SMBus interface provides the PES34H16 with a configuration, management and debug inter-
face.
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 section Fundamental Reset on page
3-5).
During the fundamental reset initialization sequence, the slave SMBus address is initialized. The
address is specified by the SSMBADDR[5,3:1] signals as shown in Table 6.14.
Address
Bit
Address Bit Value
1SSMBADDR[1]
2SSMBADDR[2]
3SSMBADDR[3]
Table 6.14 Slave SMBus Address When a Static Address is Selected (Part 1 of 2)
PES34H16 User Manual6 - 17October 30, 2008
Page 76
IDT SMBus Interfaces
Notes
Bit
6
Bit
7
Bit
0
Bit
1
Bit
2
Bit
3
Bit
4
Bit
5
ENDSTARTFUNCTIONSIZEPEC
Address
Bit
Address Bit Value
40
5SSMBADDR[5]
61
71
Table 6.14 Slave SMBus Address When a Static Address is Selected (Part 2 of 2)
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 6.7 and described in Table 6.15.
Figure 6.7 Slave SMBus Command Code Format
Bit
Field
Name
Description
0ENDEnd of transaction indicator. Setting both START and END signifies a
single transaction sequence
0 - Current transaction is not the last read or write sequence.
1 - Current transaction is the last read or write sequence.
1STARTStart of transaction indicator. Setting both START and END signifies
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.
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-
Name
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.
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
Table 6.16 indicates the sequence of data as it is presented on the slave SMBus following the byte
address of the Slave SMBus interface.
Byte
Positio
n
0CCODECommand Code. Slave Command Code field described in Table
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
Field
Name
Description
6.15.
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.
5DATALLData Lower. Bits [7:0] of data doubleword.
Table 6.16 CSR Register Read or Write Operation Byte Sequence (Part 1 of 2)
PES34H16 User Manual6 - 19October 30, 2008
Page 78
IDT SMBus Interfaces
Notes
Bit
6
Bit
7
Bit
0
Bit
1
Bit
2
Bit
3
Bit
4
Bit
5
BELLBELMWERRBEUMBEUUOPRERR0
Byte
Positio
n
Field
Name
Description
6DATALMData Lower Middle. Bits [15:8] of data doubleword.
7DATAUMData Upper Middle. Bits [23:16] of data doubleword.
8DATAUUData Upper. Bits [31:24] of data doubleword.
Table 6.16 CSR Register Read or Write Operation Byte Sequence (Part 2 of 2)
The format of the CMD field is shown in Figure 6.8 and described in Table 6.17.
Figure 6.8 CSR Register Read or Write CMD Field Format
Bit
FieldNameTypeDescription
0BELLRead/WriteByte Enable Lower. When set, the byte enable for bits [7:0] of the
data word is enabled.
1BELMRead/WriteByte Enable Lower Middle. When set, the byte enable for bits [15:8]
of the data word is enabled.
2BEUMRead/WriteByte Enable Upper Middle. When set, the byte enable for bits
[23:16] of the data word is enabled.
3BEUURead/WriteByte Enable Upper. When set, the byte enable for bits [31:24] of the
data word is enabled.
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 6.17 CSR Register Read or Write CMD Field Description
Serial EEPROM Read or Write Operation
Table 6.17 indicates the sequence of data as it is presented on the slave SMBus following the byte
address of the Slave SMBus interface.
PES34H16 User Manual6 - 20October 30, 2008
Page 79
IDT SMBus Interfaces
Notes
Bit
6
Bit
7
Bit
0
Bit
1
Bit
2
Bit
3
Bit
4
Bit
5
OPUSA0NAERRLAERROTHERERR0
Byte
Positio
n
Field
NameDescription
0CCODECommand Code. Slave Command Code field described in Table
6.15.
1BYTCNTByte Count. The byte count field is only transmitted for block type
SMBus transactions. SMBus word and byte accesses to 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 6.18 Serial EEPROM Read or Write Operation Byte Sequence
The format of the CMD field is shown in Figure 6.9 and described in Table 6.19.
Figure 6.9 Serial EEPROM Read or Write CMD Field Format
Bit
Field
NameType
0OPRWSerial EEPROM Operation. This field encodes the serial EEPROM
1USA RWUse Specified Address. When this bit is set the serial EEPROM
2Reserved
1
Description
operation to be performed.
0 - Serial EEPROM write
1 - Serial EEPROM read
SMBus address specified in the EEADDR is used instead of that
specified in the ADDR field in the EEPROMINTF register.
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.
Table 6.19 Serial EEPROM Read or Write CMD Field Description (Part 1 of 2)
PES34H16 User Manual6 - 21October 30, 2008
Page 80
IDT SMBus Interfaces
Notes
DATAUU
N
DATAUM
A
BYTCNT=7
A
ADDRLCMD (status)
S
PES34H16 Slave
SMBus Address
Wr A
A
BYTCNT=3
A
CMD=read
A
ADDRL
A
ADDRU
A P
CCODE
START,END
S
PES34H16 Slave
SMBus Address
Wr AA
CCODE
START,END
S
PES34H16 Slave
SMBus Address
Rd
DATALMDATALL
AAA
AAP
ADDRU
A
S
PES34H16 Slave
SMBus Address
Wr A
N
CCODE
START,END
P
(PES34H16 not ready with data)
Bit
Field
NameType
1
Description
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 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
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 SMBUSSTS register.
7:6Reserved0Reserved. Must be zero
Table 6.19 Serial EEPROM Read or Write CMD Field Description (Part 2 of 2)
1.
See Table 2 in the About This Manual chapter for a definition of these abbreviations.
Sample Slave SMBus Operation
This section illustrates sample Slave SMBus operations. Shaded items are driven by the PES34H16’s
slave SMBus interface and non-shaded items are driven by an SMBus host.
Figure 6.10 CSR Register Read Using SMBus Block Write/Read Transactions with PEC Disabled
PES34H16 User Manual6 - 22October 30, 2008
Page 81
IDT SMBus Interfaces
Notes
S
PES34H16 Slave
SMBus Address
Wr A
A
BYTCNT=4
A
CMD=read
A
EEADDR
A
ADDRL
A
P
CCODE
START,END
S
PES34H16 Slave
SMBus Address
Wr AA
CCODE
START,END
S
PES34H16 Slave
SMBus Address
Rd
ADDRU
A
BYTCNT=5
A
EEADDRCMD (status)
AAA
N
DATAADDRU
AP
ADDRL
A
S
PES34H16 Slave
SMBus Address
Wr AN
CCODE
START,END
P
(PES34H16 not ready with data)
S
PES34H16 Slave
SMBus Address
Wr AA
BYTCNT=7
A
CMD=write
A
ADDRL
A
ADDRU
A
CCODE
START,END
DATALL
A
DATALM
A
DATAUM
A
DATAUU
A P
S
PES34H16 Slave
SMBus Address
Wr A
CCODE
START,END
N P
(PES34H16 busy with previous command, not ready for a new command)
S
PES34H16 Slave
SMBus Address
Wr A
CCODE
START,END
N P
(PES34H16 busy with previous command, not ready for a new command)
S
PES34H16 Slave
SMBus Address
Wr AA
BYTCNT=5
A
CMD=write
A
EEADDR
A
ADDRL
A
CCODE
START,END
ADDRU
A
DATA
A P
S
PES34H16 Slave
SMBus Address
Wr A
A
BYTCNT=5
A
CMD=write
A
EEADDR
A
ADDRL
A
CCODE
START,END
ADDRU
A
DATA
AP
PEC
A
Figure 6.11 Serial EEPROM Read Using SMBus Block Write/Read Transactions with PEC Disabled
Figure 6.12 CSR Register Write Using SMBus Block Write Transactions with PEC Disabled
Figure 6.13 Serial EEPROM Write Using SMBus Block Write Transactions with PEC Disabled
PES34H16 User Manual6 - 23October 30, 2008
Figure 6.14 Serial EEPROM Write Using SMBus Block Write Transactions with PEC Enabled
Page 82
IDT SMBus Interfaces
Notes
ADDRU
N
A
ADDRLCMD (status)
S
PES34H16 Slave
SMBus Address
Wr A
A
CMD=read
A
ADDRL
A
CCODE
START, Word
S
PES34H16 Slave
SMBus Address
Wr A
CCODE
START,Word
S
PES34H16 Slave
SMBus Address
Rd
DATALMDATALL
AN
P
P
S
PES34H16 Slave
SMBus Address
Wr AA
ADDRU
A
CCODE
END, Byte
P
A
S
PES34H16 Slave
SMBus Address
Wr
A
CCODE
Byte
A
P
AS
PES34H16 Slave
SMBus Address
RdA P
S
PES34H16 Slave
SMBus Address
Wr
A
CCODE
Word
A
S
PES34H16 Slave
SMBus Address
Rd AA
S
PES34H16 Slave
SMBus Address
Wr
A
CCODE
START,Word
N P
(PES34H16 not ready with data)
N
DATAUUDATAUM
P
S
PES34H16 Slave
SMBus Address
Wr
A
CCODE
END, Word
A
S
PES34H16 Slave
SMBus Address
Rd AA
Figure 6.15 CSR Register Read Using SMBus Read and Write Transactions with PEC Disabled
PES34H16 User Manual6 - 24October 30, 2008
Page 83
Notes
®
Chapter 7
D0
Uninitialized
D0
Active
D3
hot
Power-On Reset
D3
cold
Power Management
Introduction
Located in configuration space of each PCI-PCI bridge in the PES34H16 is a power management capability structure. The power management capability structure associated with a PCI-PCI bridge of a downstream port only affects that port. Entering the D3
the L1 state. The power management capability structure associated with the upstream port (i.e., port 0)
affects the entire device. When the upstream 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 PES34H16 supports the following device power management states: D0 Uninitialized, D0 Active,
D3
, and D3
Hot
. A power management state transition diagram for the states supported by the
Cold
PES34H16 is provided in Figure 7.1 and described in Figure 7.1.
state allows the link associated with the bridge to enter
Hot
Transitioning a port’s power management state from D3
hot
to D0
uninitialized
does not result in any logic
being reset or re-initialization of register values. However, the default value of the No Soft Reset
(NOSOFTRST) bit in the PCI Power Management Control and Status (PMCSR) register corresponds to the
functional context being maintained in the D3
hot
state.
Figure 7.1 PES34H16 Power Management State Transition Diagram
PES34H16 User Manual 7 - 1October 30, 2008
Page 84
IDT Power Management
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 7.1 PES34H16 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.
The PES34H16 PCI-to-PCI bridges (i.e., ports) have the following behavior when in the D3
management state:
– A bridge accepts, processes and completes all type 0 configuration read and write requests.
– A bridge accepts and processes all message requests that target the bridge.
– All requests received by the bridge on the primary interface, except as noted above, are treated
as unsupported requests (UR).
– Any error message resulting from the receipt of a TLP is reported in the same manner as when
the bridge is not in D3
(e.g, generation of an ERR_NONFTAL message to the root).
hot
– Error messages resulting from any event other than the receipt of a TLP are discarded (i.e., no
error message is generated).
– All completions that target the bridge are treated as unexpected completions (UC).
– Completions flowing in either direction through the bridge are routed as normal. This behavior of
the bridge does not differ from that of the bridge when it is in the D0 power management state.
– All request TLPs received on the secondary interface are treated as unsupported requests (UR).
hot
power
PME Messages
The PES34H16 does not support generation of PME messages from the D3
ports (i.e., PCI-PCI bridges associated with downstream ports) support the generation of hot-plug PME
events (i.e., a PM_PME power management message) from the D3
when the downstream port is in the D3
state or the entire switch is in the D3
hot
state. This includes both the case
hot
hot
The generation of a PME message by downstream ports necessitates the implementation of a PME
service time-out mechanism to ensure that PME messages are not lost. If the PME Status (PMES) bit in the
a downstream port’s PCI Power Management Control and Status (PMCSR) register is not cleared within the
time-out period specified in the PM_PME Time-Out (PMPMETO) field in the ports PM_PME Timer
(PMPMETIMER) register after a PM_PME message is transmitted, then the PM_PME message is retransmitted and the timer is restarted.
state. Downstream
cold
state.
Power Express Power Management Fence Protocol
Root complex takes the following steps to turn off power to a system:
– The root places all devices in the D3 state
– Upon entry to D3, all devices transition their links to the L1 state
– The root broadcasts a PME_Turn_Off message.
– Devices acknowledge the PME_Turn_Off message by returning a PME_TO_ACK message
PES34H16 User Manual7 - 2October 30, 2008
Page 85
IDT Power Management
Notes
When the PES34H16 receives a PME_Turn_Off message it broadcasts the PME_Turn_Off message on
all active downstream ports. The PES34H16 transmits a PME_TO_Ack message on its upstream port and
transitions its link state to L2/L3 Ready after it has received a PME_TO_Ack message on each of its downstream ports.
In order to avoid deadlock, a downstream port that does not receive a PME_TO_Ack message in the
time-out period specified in the PME_TO_Ack Time-Out (PMETOATO) field in its corresponding
PME_TO_Ack Timer (PMETOATIMER) register, declares a time-out, transitions its link to L2/L3 Ready and
signals to the upstream port that a PME_TO_Ack message has been received. If instead of being transitioned to the D3
state, the PES34H16 is transitioned to the D0
cold
uninitialized
state, then the PES34H16
resumes generation of PM_PME messages.
Power Budgeting Capability
The PES34H16 contains the mechanisms necessary to implement the PCI express power budgeting
enhanced capability. However, by default, these mechanisms are not enabled. To enable the power
budgeting capability, registers in this capability should be initialized and the Next Pointer (NXTPTR) field in
the PCI Express VC Enhanced Capability Header (PCIEVCECAP) register should be initialized to point to
the power budgeting capability.
The power budgeting capability consists of the four power budgeting capability registers defined in the
PCIe 1.1 base specification and eight general purpose read-write registers. See section Power Budgeting
Enhanced Capability on page 9-57 for a description of these registers. The Power Budgeting Capabilities
(PWRBCAP) register contains the PCI express enhanced capability header for the power budgeting capability. By default, this register has an initial read-only value of zero. To enable the power budgeting capability, this register should be initialized via the serial EEPROM.
The Power Budgeting Data Value [0..7] (PWRBDV[0..7) registers are used to hold the power budgeting
information for that port in a particular operating condition. The PWRBDV registers may be read and written
when the Power Budgeting Data Value Unlock (PWRBDVUL) bit is set in the System Control (SYSCTL)
register. When the PWRBDVUL bit is cleared, these register are read-only and writes to these registers are
ignored. To enable the power budgeting capability, the PWRBDV registers should be initialized with power
budgeting information via the serial EEPROM.
PES34H16 User Manual7 - 3October 30, 2008
Page 86
IDT Power Management
Notes
PES34H16 User Manual7 - 4October 30, 2008
Page 87
Notes
®
Chapter 8
PES34H16
Port 0
Port x
Slot
Port xPort y
Master
SMBus
SMBus I/O
Expander
Port y
Slot
Upstream
Link
Hot-Plug Signals
...
......
Hot-Plug and Hot-Swap
Introduction
As illustrated in Figures 8.1 through 8.3, a PCIe switch may be used in one of three hot-plug configurations. Figure 8.1 illustrates the use of the PES34H16 in an application in which two downstream ports are
connected to slots into which add-in cards may be hot-plugged. Figure 8.2 illustrates the use of the
PES34H16 in an add-in card application. Here the downstream ports are hardwired to devic es on the addin 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 8.3 illustrates the use of the
PES34H16 in a carrier card application. In this application, the 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 Figures 8.1 through 8.2,
it will not be discussed further.
Figure 8.1 Hot-Plug on Switch Downstream Slots Application
PES34H16 User Manual 8 - 1October 30, 2008
Page 88
IDT Hot-Plug and Hot-Swap
Notes
PES34H16
Port 0
Port xPort y
Upstream
Link
PCI Express
Device
PCI Express
Device
Add-In Card
...
......
PES34H16
Port 0
Port x
Slot
Port xPort y
Master
SMBus
SMBus I/O
Expander
Port y
Slot
Upstream
Link
Hot-Plug Signals
Carrier
Card
...
......
Figure 8.2 Hot-Plug with Switch on Add-In Card Application
Figure 8.3 Hot-Plug with Carrier Card Application
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 and is not supported in the PES34H16.
PES34H16 User Manual8 - 2October 30, 2008
Page 89
IDT Hot-Plug and Hot-Swap
Notes
The remainder of this section discusses the use of the PES34H16 in an application in which one or more
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 PES34H16 is a hot-plug controller. The hotplug controller may be enabled by setting the HPC bit in the PCI Express Slot Capabilities (PCIESCAP)
register associated with that port during configuration (e.g., via serial EEPROM).
The PES34H16 allows sensor inputs and indicator outputs to be located next to the slot or on the plug in
module. Regardless of the physical location, the indicators are controlled by the PES34H16’s downstream
port. Table 8.1 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 ar e made available to external logic using
an external I/O expander located on the master SMBus interface. The PES34H16 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.
Attention Push button Input.
PxPEPOPort x Power Enable Output.
PxILOCKPOPort x Electromechanical Interlock.
PxPWRGDNIPort x Power Good Input (asserted when slot power is good).
2
PxRSTN
1.
x corresponds to downstream port number (i.e., 1 through 15).
2.
This signal is a GPIO pin alternate function and is not available as an I/O expander output.
OPort x Reset Output.
Table 8.1 Downstream Port Hot-Plug Signals
Since the polarity of hot-plug signals has been defined differently in various specifications, each hot-plug
signal has a corresponding control bit in the Hot-Plug Configuration Control (HPCFGCTL) that allows the
polarity of that signal to be inverted. Inversion affects the corresponding signal in all ports.
When a one is written to the EIC bit in the PCIESCTL register, then the PxILOCKP signal is pulsed for
with a pulse length greater than 100 ms and less than 150 ms (i.e., it transactions from negated to asserted,
maintains an asserted state for 100 to 150 ms, and then transitions back to negated). When the Toggle
Electromechanical Interlock Control. (TEMICTL) bit in the HPCFGCTL register is set, writing a one to the
EIC bit inverts the state of the PxILOCKP signal.
When the Replace MRL Status with EMIL Status (RMRLWEMIL) bit is set in the HPCFGCTL register,
then the port’s PxMRLN input is used as the electromechanical state input. The state of this input is used as
the state of the electromechanical interlock state obtained by reading the Electromechanical Interlock
Status (EIS) bit in the PCI Express Slot Status (PCIESSTS) register. In this mode the state of the Manuallyoperated Retention Latch Sensor State (MRLSS) status is always reported as closed (i.e., zero). When the
EMIL bit is cleared, the EIS bit state in the PCIESSTS register always returns a value of zero when read.
When the MRL Automatic Power Off (MRLPWROFF) bit is set in the HPCFGCTL register and the
Manual Retention Latch Present (MRLP) bit is set in the PCI Express Slot Capability (PCIESCAP) register,
then power to the slot is automatically turned off when the MRL sensor indicates that the MRL is open. This
occurs regardless of the state of the Power Controller Control (PCC) bit in the PCI Express Slot Control
(PCIESCTL) register.
PES34H16 User Manual8 - 3October 30, 2008
Page 90
IDT Hot-Plug and Hot-Swap
Notes
The state of a port’s Power Fault (PxPFN) input is not latched by the PES34H16. For proper operation
the system designer should ensure that once the PxPFN signal is asserted, it remains asserted until the
power enable (PxPEP) signal is toggled. This is required adapter behavior for the PCI Express ExpressModule form factor. Downstream port reset outputs are described in section Downstream Port Reset
Outputs on page 3-8.
The default value of hot-plug registers following a hot or fundamental reset may be configured via serial
EEPROM initialization. Since hot-plug I/O expander initialization occurs after serial EEPROM initialization,
the Command Completed (CC) bit is not set in the PCI Express Slot Status (PCIESSTS) register as a result
of serial EEPROM initialization.
Hot-Plug I/O Expander
the PES34H16 utilizes external SMBus/I2C-bus I/O expanders connected to the master SMBus interface for hot-plug related signals associated with downstream ports. See section I/O Expanders on page 6-6
for details on the operation of the I/O expanders and for the mapping of downstream hot-plug signals to I/O
expander inputs and outputs.
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
hot
controller generates 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.
Legacy System Hot-Plug Support
Some systems require support for operating systems that lack PCIe hot-plug support. The PES34H16
supports these systems by providing a General Purpose Event (GPEN) output as an alternate function of
GPIO[5] that can be used instead of the INTx, MSI, and PME mechanisms defined by PCI Express hotplug.
Associated with each downstream port’s hot-plug controller is a bit in the General Purpose Event
Control (P0_GPECTL) register. When this bit is set, then the corresponding PCIe base 1.1 hot-plug event
notification mechanisms are disabled for that port and INTx, MSI and PME events will not be generated by
that port due to hot-plug events. Instead, hot-plug events are signaled through assertion of the GPEN
signal.
GPEN is an alternate function of GPIO[5] and GPIO[5] will not be asserted when GPEN is asserted
unless it is configured to operate as an alternate function. Whenever a port signals a hot-plug event through
assertion of the GPEN signal, the corresponding port’s status bit in the General Purpose Event Status
(P0_GPESTS) register is set. A bit in the P0_GPESTS register can only be set if the corresponding port’s
hot-plug controller is configured to signal hot-plug events using the general purpose event (GPEN) signal
assertion mechanism.
PES34H16 User Manual8 - 4October 30, 2008
Page 91
IDT Hot-Plug and Hot-Swap
Command
Completed
RW1C
Attention Button
Pressed
Power Fault
Detected
MRL Sensor State
Changed
Presence Detected
Changed
Data Link Layer
State Changed
Command
Completed Enable
RW
Attention Button
Pressed Enable
Power Fault
Detected Enable
MRL Sensor State
Changed Enable
Presence Detected
Changed Enable
Data Link Layer
State Changed Enable
RW1C
RW1C
RW1C
RW1C
RW1C
RW1C
RW1C
RW1C
RW1C
RW1C
RW1C
RW
RW
RW
RW
RW
PME Enable
Bit
RW
Activate Wake-up
Mechanism
Hot-Plug Interrupt
Enable
RW
RW
MSI Enable
Activate MSI
Mechanism
Activate INTx
Mechanism
RW
Interrupt
Disable
General Purpose Event
Enable
RW
General Purpose
Event Mechanism
Slot Control
Register
Slot Status
Register
Bit
The hot-plug event signalling mechanism is the only thing that is affected when a port is configured to use general purpose events ins tead of the
PCIe defined hot-plug signalling mechanisms (i.e., INTx, MSI and PME). Thus, the PCIe defined capability, status and mask bits defined in the PCIe
slot capabilities, status and control registers operate as normal and all other hot-plug functionality associated with the port remains unchanged. INTx,
MSI and PME events from other sources are also unaffected.
The enhanced hot-plug signalling mechanism supported by the PES34H16 is graphically illustrated in Figure 8.4. This figure provides a conceptual
summary of the enhanced hot-plug signalling mechanism in the form of a pseudo logic diagram. Logic gates in this diagram are intended for
conveying general concepts, and not for direct implementation.
PES34H16 User Manual8 - 5October 30, 2008
Figure 8.4 PES34H16 Hot-Plug Event Signalling
Page 92
IDT Hot-Plug and Hot-Swap
Notes
Hot-Swap
The PES34H16 is hot-swap capable and meets the following requirements
In summary, PES34H16 meets all of the I/O requirements necessary to build a PICMG compliant hotswap board or system. The hot-swap I/O buffers of PES34H16 may also be used to construct proprietary
hot-swap systems. See the PES34H16 Data Sheet for a detailed specification of I/O buffer characteristics.
– 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. This 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.
PES34H16 User Manual8 - 6October 30, 2008
Page 93
Notes
®
Chapter 9
Configuration Registers
Configuration Space Organization
Each software visible registers in the PES34H16 is contained in the PCI configuration space of one of
the ports. Thus, there are no registers in the PES34H16 that cannot be accessed by the root. Each software
visible register in the PES34H16 has a system address. The system address is formed by adding the PCI
configuration space offset value of the register to the base address of the port in which it is located. The
system address is used for serial EEPROM register initialization and slave SMBus register accesses.
The base address for each PES34H16 port is listed in Table 9.1. The PCI configuration space offset
addresses for registers in the upstream port are listed in Table 9.2 while the PCI configuration space offset
addresses for registers in downstream ports are listed Table 9.3.
Base
Address
0x0000Port 0 configuration space (upstream port)
0x1000Port 1 configuration space (downstream port)
0x2000Port 2 configuration space (downstream port)
0x3000Port 3 configuration space (downstream port)
0x4000Port 4 configuration space (downstream port)
0x5000Port 5 configuration space (downstream port)
0x6000Port 6 configuration space (downstream port)
0x7000Port 7 configuration space (downstream port)
0x8000Port 8 configuration space (downstream port)
0x9000Port 9 configuration space (downstream port)
0xA000Port 10 configuration space (downstream port)
0xB000Port 11 configuration space (downstream port)
0xC000Port 12 configuration space (downstream port)
0xD000Port 12 configuration space (downstream port)
0xE000Port 14 configuration space (downstream port)
0xF000Port 15 configuration space (downstream port)
PCI Configuration Space
Table 9.1 Base Addresses for Port Configuration Space Registers
As shown in Figure 9.1, upstream and downstream ports share a similar PCI configuration space
register layout. The upstream port contains global switch control and status registers as well as test mode
registers which are not present in the configuration space of downstream ports. Due to the ability to
generate MSIs as a result of hot-plug events, the downstream ports contain an MSI capability structure
which is not present in the upstream port.
PCIe configuration reads to an upstream port offset not defined in Table 9.2 or a downstream port offset
not defined in Table 9.3 return a value of zer o. Slave SMBus reads to these of fsets retur n an undefined data
value. PCIe configuration writes or Slave SMBus writes to an offset not defined in Table 9.2 or Table 9.3
complete successfully but modify no data and have no other effect.
PES34H16 User Manual 9 - 1October 30, 2008
Page 94
IDT Configuration Registers
Notes
PCI
Configuration Space
(64 DWord s)
Internal S w it ch Er ro r
Control & Status Registers
Switch Control
& Status Registers
Upstream Port Only
Power Budgeting
Enhanced Capability
PCIe Virtual Channel
Enhanced Capability
Device Serial Number
Enhanced Capability
Advanced Error Reporting
Enhanced Capability
0x000
0x040
0x0D0
0x0F0
Type 1
Configuration Header
PCI Express
Capability Structure
Extended Config Access
MSI
Capability Structure
Downstream Ports Only
0x0FF
0x100
0x000
0x180
0x200
0x280
0x400
0x4E0
0x740
0x780
0xFFF
0x0C0
PCI Power Management
Capability Structure
Reserved
SSID/SSVID
Reserved
Figure 9.1 Port Configuration Space Organization
PES34H16 User Manual9 - 2October 30, 2008
Page 95
IDT Configuration Registers
Notes
Upstream Port (Port 0)
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
0x000WordP0_VIDVID - Vendor Identification Register (0x000) on page 9-11
0x002WordP0_DIDDID - Device Identification Register (0x002) on page 9-12
0x004WordP0_PCICMDPCICMD - PCI Command Register (0x004) on page 9-12
0x006WordP0_PCISTSPCISTS - PCI Status Register (0x006) on page 9-13
0x008ByteP0_RIDRID - Revision Identification Register (0x008) on page 9-14
0x0093 BytesP0_CCODECCODE - Class Code Register (0x009) on page 9-14
0x00CByteP0_CLSCLS - Cache Line Size Register (0x00C) on page 9-14
0x00DByteP0_PLTIMERPLTIMER - Primary Latency Timer (0x00D) on page 9-15
0x00EByteP0_HDRHDR - Header Type Register (0x00E) on page 9-15
0x00FByteP0_BISTBIST - Built-in Self Test Register (0x00F) on page 9-15
0x010DWordP0_BAR0BAR0 - Base Address Register 0 (0x010) on page 9-15
0x014DWordP0_BAR1BAR1 - Base Address Register 1 (0x014) on page 9-15
0x018ByteP0_PBUSNPBUSN - Primary Bus Number Register (0x018) on page 9-15
0x019ByteP0_SBUSNSBUSN - Secondary Bus Number Register (0x019) on page 9-16
0x01AByteP0_SUBUSNSUBUSN - Subordinate Bus Number Register (0x01A) on page 9-16
0x01BByteP0_SLTIMERSLTIMER - Secondary Latency Timer Register (0x01B) on page 9-16
Size
Register
Mnemonic
Register Definition
0x01CByteP0_IOBASEIOBASE - I/O Base Register (0x01C) on page 9-16
0x01DByteP0_IOLIMITIOLIMIT - I/O Limit Register (0x01D) on page 9-17
0x01EWordP0_SECSTSSECSTS - Secondary Status Register (0x01E) on page 9-17
0x020WordP0_MBASEMBASE - Memory Base Register (0x020) on page 9-18
0x022WordP0_MLIMITMLIMIT - Memory Limit Register (0x022) on page 9-18
0x024WordP0_PMBASEPMBASE - Prefetchable Memory Base Register (0x024) on page 9-
18
0x026WordP0_PMLIMITPMLIMIT - Prefetchable Memory Limit Register (0x026) on page 9-19
0x028DWordP0_PMBASEUPMBASEU - Prefetchable Memory Base Upper Register (0x028) on
page 9-19
0x02CDWordP0_PMLIMITUPMLIMITU - Prefetchable Memory Limit Upper Register (0x02C) on
page 9-19
0x030WordP0_IOBASEUIOBASEU - I/O Base Upper Register (0x030) on page 9-19
0x032WordP0_IOLIMITUIOLIMITU - I/O Limit Upper Register (0x032) on page 9-20
0x034ByteP0_CAPPTRCAPPTR - Capabilities Pointer Register (0x034) on page 9-20
0x038DWordP0_EROMBASEEROMBASE - Expansion ROM Base Address Register (0x038) on
page 9-20
Table 9.2 Upstream Port 0 Configuration Space Registers (Part 1 of 5)
PES34H16 User Manual9 - 3October 30, 2008
Page 96
IDT Configuration Registers
Notes
Cfg.
Offset
0x03CByteP0_INTRLINEINTRLINE - Interrupt Line Register (0x03C) on page 9-20
0x03DByteP0_INTRPININTRPIN - Interrupt PIN Register (0x03D) on page 9-21
0x03EWordP0_BCTLBCTL - Bridge Control Register (0x03E) on page 9-21
0x040DWordP0_PCIECAPPCIECAP - PCI Express Capability (0x040) on page 9-22
0x044DWordP0_PCIEDCAPPCIEDCAP - PCI Express Device Capabilities (0x044) on page 9-23
0x048WordP0_PCIEDCTLPCIEDCTL - PCI Express Device Control (0x048) on page 9-24
0x04AWordP0_PCIEDSTSPCIEDSTS - PCI Express Device Status (0x04A) on page 9-25
0x04CDWordP0_PCIELCAPPCIELCAP - PCI Express Link Capabilities (0x04C) on page 9-26
0x050WordP0_PCIELCTLPCIELCTL - PCI Express Link Control (0x050) on page 9-27
0x052WordP0_PCIELSTSPCIELSTS - PCI Express Link Status (0x052) on page 9-28
0x064DWordP0_PCIEDCAP2PCIEDCAP2 - PCI Express Device Capabilities 2 (0x064) on page 9-
0x068WordP0_PCIEDCTL2PCIEDCTL2 - PCI Express Device Control 2 (0x068) on page 9-33
0x06AWordP0_PCIEDSTS2PCIEDSTS2 - PCI Express Device Status 2 (0x06A) on page 9-34
0x06CDWordP0_PCIELCAP2PCIELCAP2 - PCI Express Link Capabilities 2 (0x06C) on page 9-34
0x070WordP0_PCIELCTL2PCIELCTL2 - PCI Express Link Control 2 (0x070) on page 9-34
Size
Register
Mnemonic
Register Definition
33
0x072WordP0_PCIELSTS2PCIELSTS2 - PCI Express Link Status 2 (0x072) on page 9-34
0x0C0DWordP0_PMCAPPMCAP - PCI Power Management Capabilities (0x0C0) on page 9-35
0x0C4DWordP0_PMCSRPMCSR - PCI Power Management Control and Status (0x0C4) on
page 9-36
0x0F0DwordP0_SSIDSSVIDCAPSSIDSSVIDCAP - Subsystem ID and Subsystem Vendor ID Capabil-
ity (0x0F0) on page 9-38
0x0F4DwordP0_SSIDSSVIDSSIDSSVID - Subsystem ID and Subsystem Vendor ID (0x0F4) on
page 9-38
0x0F8WordP0_ECFGADDRECFGADDR - Extended Configuration Space Access Address
(0x0F8) on page 9-38
0x0FCWordP0_ECFGDATAECFGDATA - Extended Configuration Space Access Data (0x0FC)
on page 9-39
0x100DwordP0_AERCAPAERCAP - AER Capabilities (0x100) on page 9-39
0x104DwordP0_AERUESAERUES - AER Uncorrectable Error Status (0x104) on page 9-40
0x108DwordP0_AERUEMAERUEM - AER Uncorrectable Error Mask (0x108) on page 9-41
0x10CDwordP0_AERUESVAERUESV - AER Uncorrectable Error Severity (0x10C) on page 9-42
0x110DwordP0_AERCESAERCES - AER Correctable Error Status (0x110) on page 9-43
0x114DwordP0_AERCEMAERCEM - AER Correctable Error Mask (0x114) on page 9-44
0x118DwordP0_AERCTLAERCTL - AER Control (0x118) on page 9-45
0x11CDwordP0_AERHL1DWAERHL1DW - AER Header Log 1st Doubleword (0x11C) on page 9-
0x180DwordP0_SNUMCAPSNUMCAP - Serial Number Capabilities (0x180) on page 9-46
0x184DwordP0_SNUMLDWSNUMLDW - Serial Number Lower Doubleword (0x184) on page 9-46
0x188DwordP0_SNUMUDWSNUMUDW - Serial Number Upper Doubleword (0x188) on page 9-
0x204DWordP0_PVCCAP1PVCCAP1- Port VC Capability 1 (0x204) on page 9-47
0x208DWordP0_PVCCAP2PVCCAP2- Port VC Capability 2 (0x208) on page 9-47
0x20CWordP0_PVCCTLPVCCTL - Port VC Control (0x20C) on page 9-48
0x20EWordP0_PVCSTSPVCSTS - Port VC Status (0x20E) on page 9-48
0x210DWordP0_VCR0CAPVCR0CAP- VC Resource 0 Capability (0x210) on page 9-49
0x214DWordP0_VCR0CTLVCR0CTL- VC Resource 0 Control (0x214) on page 9-49
0x218DWordP0_VCR0STSVCR0STS - VC Resource 0 Status (0x218) on page 9-50
0x21cDWordP0_VCR1CAPVCR1CAP- VC Resource 1 Capability (0x21C) on page 9-50
Size
Register
Mnemonic
Register Definition
45
46
46
(0x200) on page 9-47
0x220DWordP0_VCR1CTLVCR1CTL- VC Resource 1 Control (0x220) on page 9-51
0x224DWordP0_VCR1STSVCR1STS - VC Resource 1 Status (0x224) on page 9-52
0x230DWordP0_VCR0TBL0VCR0TBL0 - VC Resource 0 Arbitration Table Entry 0 (0x230) on
0x280DwordP0_PWRBCAPPWRBCAP - Power Budgeting Capabilities (0x280) on page 9-57
0x284DwordP0_PWRBDSELPWRBDSEL - Power Budgeting Data Select (0x284) on page 9-57
0x288DwordP0_PWRBDPWRBD - Power Budgeting Data (0x288) on page 9-58
0x28CDwordP0_PWRBPBCPWRBPBC - Power Budgeting Power Budget Capability (0x28C) on
page 9-58
Table 9.2 Upstream Port 0 Configuration Space Registers (Part 3 of 5)
PES34H16 User Manual9 - 5October 30, 2008
Page 98
IDT Configuration Registers
Notes
Cfg.
Offset
0x300DwordP0_PWRBDV0PWRBDV[7:0] - Power Budgeting Data Value [7:0] (0x300) on page
0x304DwordP0_PWRBDV1PWRBDV[7:0] - Power Budgeting Data Value [7:0] (0x300) on page
0x308DwordP0_PWRBDV2PWRBDV[7:0] - Power Budgeting Data Value [7:0] (0x300) on page
0x30CDwordP0_PWRBDV3PWRBDV[7:0] - Power Budgeting Data Value [7:0] (0x300) on page
0x310DwordP0_PWRBDV4PWRBDV[7:0] - Power Budgeting Data Value [7:0] (0x300) on page
0x314DwordP0_PWRBDV5PWRBDV[7:0] - Power Budgeting Data Value [7:0] (0x300) on page
0x318DwordP0_PWRBDV6PWRBDV[7:0] - Power Budgeting Data Value [7:0] (0x300) on page
0x31CDwordP0_PWRBDV7PWRBDV[7:0] - Power Budgeting Data Value [7:0] (0x300) on page
0x400DWordSWSTSSWSTS - Switch Status (0x400) on page 9-59
0x404DWordSWCTLSWCTL - Switch Control (0x404) on page 9-61
0x408DWordHPCFGCTLHPCFGCTL - Hot-Plug Configuration Control (0x408) on page 9-62
Size
Register
Mnemonic
Register Definition
9-58
9-58
9-58
9-58
9-58
9-58
9-58
9-58
0x40CDWordGPRGPR - General Purpose Register (0x40C) on page 9-63
0x418DWordGPIOFUNCGPIOFUNC - General Purpose I/O Control Function (0x418) on page
9-63
0x41CDWordGPIOCFGGPIOCFG - General Purpose I/O Configuration (0x41C) on page 9-63
0x420DWordGPIODGPIOD - General Purpose I/O Data (0x420) on page 9-64
0x424DWordSMBUSSTSSMBUSSTS - SMBus Status (0x424) on page 9-64
0x428DWordSMBUSCTLSMBUSCTL - SMBus Control (0x428) on page 9-65
0x42CDWordEEPROMINTFEEPROMINTF - Serial EEPROM Interface (0x42C) on page 9-66
0x430DWordIOEXPINTFIOEXPINTF - I/O Expander Interface (0x430) on page 9-67
0x434DWordIOEXPADDR0IOEXPADDR0 - SMBus I/O Expander Address 0 (0x434) on page 9-
0x450DWordGPECTLGPECTL - General Purpose Event Control (0x450) on page 9-70
0x454DWordGPESTSGPESTS - General Purpose Event Status (0x454) on page 9-72
0x470DWordUSPFSTSUSPFSTS - Upstream Port Failover Status (0x470) on page 9-74
0x474DWordUSPFCTLUSPFCTL - Upstream Port Failover Control (0x474) on page 9-75
0x478DWordUSPFTIMERUSPFTIMER - Upstream Port Failover Watchdog Timer (0x478) on
page 9-75
0x740DwordP0_SWPECTLSWPECTL - Switch Parity Error Control (0x740) on page 9-76
Table 9.2 Upstream Port 0 Configuration Space Registers (Part 4 of 5)
PES34H16 User Manual9 - 6October 30, 2008
Page 99
IDT Configuration Registers
Notes
Cfg.
Offset
0x744DwordP0_SWPESTSSWPESTS - Switch Parity Error Status (0x744) on page 9-76
0x748DwordP0_SWPERCTLSWPERCTL - Switch Parity Error Reporting Control (0x748) on page
0x74CDwordP0_SWPECNTSWPECNT - Switch Parity Error Count (0x74C) on page 9-77
0x754DwordP0_SWTOSTSSWTOSTS - Switch Time-Out Status (0x754) on page 9-77
0x758DwordP0_SWTORCTLSWTORCTL - Switch Time-Out Reporting Control (0x758) on page 9-
0x75CDwordP0_SWTOCNTSWTOCNT - Switch Time-Out Count (0x75C) on page 9-79
Size
Register
Mnemonic
9-77
78
Table 9.2 Upstream Port 0 Configuration Space Registers (Part 5 of 5)
Register Definition
PES34H16 User Manual9 - 7October 30, 2008
Page 100
IDT Configuration Registers
Notes
Downstream Ports (Ports 1 through 15)
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
0x000WordPx_VIDVID - Vendor Identification Register (0x000) on page 9-11
0x002WordPx_DIDDID - Device Identification Register (0x002) on page 9-12
0x004WordPx_PCICMDPCICMD - PCI Command Register (0x004) on page 9-12
0x006WordPx_PCISTSPCISTS - PCI Status Register (0x006) on page 9-13
0x008BytePx_RIDRID - Revision Identification Register (0x008) on page 9-14
0x0093 BytesPx_CCODECCODE - Class Code Register (0x009) on page 9-14
0x00CBytePx_CLSCLS - Cache Line Size Register (0x00C) on page 9-14
0x00DBytePx_PLTIMERPLTIMER - Primary Latency Timer (0x00D) on page 9-15
0x00EBytePx_HDRHDR - Header Type Register (0x00E) on page 9-15
0x00FBytePx_BISTBIST - Built-in Self Test Register (0x00F) on page 9-15
0x010DWordPx_BAR0BAR0 - Base Address Register 0 (0x010) on page 9-15
0x014DWordPx_BAR1BAR1 - Base Address Register 1 (0x014) on page 9-15
0x018BytePx_PBUSNPBUSN - Primary Bus Number Register (0x018) on page 9-15
0x019BytePx_SBUSNSBUSN - Secondary Bus Number Register (0x019) on page 9-16
0x01ABytePx_SUBUSNSUBUSN - Subordinate Bus Number Register (0x01A) on page 9-16
0x01BBytePx_SLTIMERSLTIMER - Secondary Latency Timer Register (0x01B) on page 9-16
Size
Register
Mnemonic
Register Definition
0x01CBytePx_IOBASEIOBASE - I/O Base Register (0x01C) on page 9-16
0x01DBytePx_IOLIMITIOLIMIT - I/O Limit Register (0x01D) on page 9-17
0x01EWordPx_SECSTSSECSTS - Secondary Status Register (0x01E) on page 9-17
0x020WordPx_MBASEMBASE - Memory Base Register (0x020) on page 9-18
0x022WordPx_MLIMITMLIMIT - Memory Limit Register (0x022) on page 9-18
0x024WordPx_PMBASEPMBASE - Prefetchable Memory Base Register (0x024) on page 9-
18
0x026WordPx_PMLIMITPMLIMIT - Prefetchable Memory Limit Register (0x026) on page 9-19
0x028DWordPx_PMBASEUPMBASEU - Prefetchable Memory Base Upper Register (0x028) on
page 9-19
0x02CDWordPx_PMLIMITUPMLIMITU - Prefetchable Memory Limit Upper Register (0x02C) on
page 9-19
0x030WordPx_IOBASEUIOBASEU - I/O Base Upper Register (0x030) on page 9-19
0x032WordPx_IOLIMITUIOLIMITU - I/O Limit Upper Register (0x032) on page 9-20
0x034BytePx_CAPPTRCAPPTR - Capabilities Pointer Register (0x034) on page 9-20
0x038DWordPx_EROMBASEEROMBASE - Expansion ROM Base Address Register (0x038) on
page 9-20
Table 9.3 Downstream Ports 1 through 15 Configuration Space Registers (Part 1 of 4)
PES34H16 User Manual9 - 8October 30, 2008
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.