INTEL QG80333M500

Intel® 80333 I/O Processor
Specification Update
April 2006
The Intel® 80333 I/O Processor may contain design defects or errors known as errata which may
cause the product to deviate from published specifications. Current characterized errata are documented in this specification update.
Order Number: 305435-011US
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. EXCEPT AS PROVIDED IN INTEL’S TERMS
AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS
OR IMPLIED WARRANTY RELATING TO SALE AND/OR USE OF INTEL PRODUCTS, INCLUDING LIABILITY OR WARRANTIES RELATING TO
FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT, OR OTHER
INTELLECTUAL PROPERTY RIGHT.
Intel Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights that relate to the
presented subject matter. The furnishing of documents and other materials and information does not provide any license, express or implied, by
estoppel or otherwise, to any such patents, trademarks, copyrights, or other intellectual property rights.
Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications.
Intel may make changes to specifications and product descriptions at any time, without notice.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an ordering number and are referenced in this document, or other Intel literature may be obtained by calling
1-800-548-4725 or by visiting Intel's website at http://www.intel.com.
AnyPoint, AppChoice, BoardWatch, BunnyPeople, CablePort, Celeron, Chips, CT Media, Dialogic, DM3, EtherExpress, ETOX, FlashFile, i386, i486,
i960, iCOMP, InstantIP, Intel, Intel Centrino, Intel logo, Intel386, Intel486, Intel740, IntelDX2, IntelDX4, IntelSX2, Intel Create & Share, Intel GigaBlade,
Intel InBusiness, Intel Inside, Intel Inside logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel Play, Intel Play logo, Intel SingleDriver, Intel
SpeedStep, Intel StrataFlash, Intel TeamStation, Intel Xeon, Intel XScale, IPLink, Itanium, MCS, MMX, MMX logo, Optimizer logo, OverDrive,
Paragon, PC Dads, PC Parents, PDCharm, Pentium, Pentium II Xeon, Pentium III Xeon, Performance at Your Command, RemoteExpress, SmartDie,
Solutions960, Sound Mark, StorageExpress, The Computer Inside., The Journey Inside, TokenExpress, VoiceBrick, VTune, and Xircom are
trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2006, Intel Corporation. All rights reserved.
2
Contents
Contents
Revision History ......................................................................................... 5
Preface ....................................................................................................... 6
Summary Table of Changes ....................................................................... 7
Identification Information .......................................................................... 13
Non-Core Errata ....................................................................................... 14
Core Errata............................................................................................... 27
Specification Changes.............................................................................. 31
Specification Clarifications........................................................................ 33
Documentation Changes .......................................................................... 48
3
Contents
THIS PAGE INTENTIONALLY LEFT BLANK
4
Revision History
Date
Version
Description
Added:
• A-1 stepping information to all Summary tables and to Table 1, “80333 Die Details” on
page 13 and Table 2, “80333 Device ID Registers” on page 13
April 2006
011
• Status change of Erratum 35
• Status change of Specification Change 6
• Status change of Specification Clarification 52
• Documentation Change 4
Added:
February 2006
010
• Non-Core Errata 36
• Specification Clarification 52
Added:
January 2006
009
• Non-Core Errata 35
• Specification Change 6
Added:
December 2005
008
• Revised Specification Clarification 9
• Specification Clarification 49, 50, and 51
• Documentation Change 3
October 2005
007
Added Specification Clarification 47 and 48
Added:
August 2005
006
• Non-Core Errata 33 and 34
• Specification Clarification 45 and 46
• Documentation Change 2
Added:
June 2005
005
• Non-Core Errata 32
• Specification Change 5
Added:
May 2005
004
• Non-Core Errata 31
• Specification Change 3 and 4
Added:
April 2005
003
• Non-Core Errata 30
• Specification Clarification 44
Added:
March 2005
002
February 2005
001
• Specification Change 1 and 2
• Documentation Change 1
• PB-free markings in Table 1
Specification Update
Initial release
5
Intel® 80333 I/O Processor
Preface
Preface
This document is an update to the specifications contained in the Affected Documents/Related
Documents table below. This document is a compilation of device and documentation errata,
specification clarifications and changes. It is intended for hardware system manufacturers and
software developers of applications, operating systems, or tools.
Information types defined in Nomenclature are consolidated into the specification update and are
no longer published in other documents.
This document may also contain information that was not previously published.
Affected Documents/Related Documents
Title
Order
Intel® 80333 I/O Processor Developer’s Manual
305432
Intel® 80333 I/O Processor Datasheet
305433
Intel® 80333 I/O Processor Design Guide
305434
®
Intel 6700PXH 64-bit PCI Hub Specification Update
302706
Nomenclature
Errata are design defects or errors. These may cause the behavior of the Intel® 80333 I/O
Processor1 (80333) to deviate from published specifications. Hardware and software designed to be
used with any given stepping must assume that all errata documented for that stepping are present
on all devices.
Specification Changes are modifications to the current published specifications. These changes
will be incorporated in any new release of the specification.
Specification Clarifications describe a specification in greater detail or further highlight a
specification’s impact to a complex design situation. These clarifications will be incorporated in
any new release of the specification.
Documentation Changes include typos, errors, or omissions from the current published
specifications. These will be incorporated in any new release of the specification.
Note:
1.
6
Errata remain in the specification update throughout the product’s life cycle, or until a particular
stepping is no longer commercially available. Under these circumstances, errata removed from the
specification update are archived and available upon request. Specification changes, specification
clarifications and documentation changes are removed from the specification update when the
appropriate changes are made to the appropriate product specification or user documentation
(datasheets, manuals, etc.).
ARM architecture compliant.
Specification Update
Intel® 80333 I/O Processor
Summary Table of Changes
Summary Table of Changes
The following table indicates the errata, specification changes, specification clarifications, or
documentation changes which apply to the Intel® 80333 I/O Processor. Intel may fix some of the
errata in a future stepping of the component, and account for the other outstanding issues through
documentation or specification changes as noted. This table uses the following notations:
Codes Used in Summary Table
Stepping
X:
Errata exists in the stepping indicated. Specification Change or
Clarification that applies to this stepping.
(No mark)
or (Blank box):
This erratum is fixed in listed stepping or specification change does not
apply to listed stepping.
(Page):
Page location of item in this document.
Doc:
Document change or update will be implemented.
Fixed:
This erratum has been previously fixed.
No Fix:
There are no plans to fix this erratum.
Plan Fix:
This erratum may be fixed in a future stepping of the product.
Page
Status
Row
Change bar to left of table row indicates this erratum is either new or
modified from the previous version of the document.
Specification Update
7
Intel® 80333 I/O Processor
Summary Table of Changes
Non-Core Errata (Sheet 1 of 2)
Stepping
No.
8
Page
Status
X
14
No Fix
CAS latency of three not supported for DDR-II On-Die Termination (ODT)
X
X
14
No Fix
Legacy power fail mechanism does not work
3
X
X
14
No Fix
A_REQ64# and B_REQ64# initialization pattern timing violation in PCI-33 mode
4
X
X
15
No Fix
Secondary Bus Number register (PEBSBBNR) provides incorrect bus number
5
X
X
15
No Fix
Boundary scan multi-chip module implementation
6
X
X
15
No Fix
PCI Express* traffic class (TC) bit[2] ignored for malformed packet checks
7
X
X
16
No Fix
Auto-Refresh command also generates a Precharge All command on DDR bus
8
X
X
16
No Fix
Coalesced writes to 32-bit memory can cause data corruption
9
X
X
17
No Fix
ATU passing rules operation in PCI mode
10
X
X
17
No Fix
Secondary bus PCI RST# pulse prior to the rising edge of PWRGD
11
X
X
18
No Fix
VPD Data Register bit[19] is not read/write
A-0
A-1
1
X
2
Errata
12
X
X
18
No Fix
PCI Express* Correctable Error Mask Bits
13
X
X
18
No Fix
DMA CRC result is byte-reversed
14
X
X
18
No Fix
CRC corruption on PCI-to-local DMA transfers
15
X
X
19
No Fix
IOAPIC End of Interrupt (EOI) Register is Read-Write, should be Write-Only
16
X
X
19
No Fix
Unreliable PCI Express* link operation when L0s active state power management
is enabled
17
X
X
19
No Fix
SSE bit set for PERR# assertion when error reporting is masked
18
X
X
19
No Fix
Data Parity Error detected on PCI/X interface fails to propagate bad parity
19
X
X
20
No Fix
ATU claims PCI commands 8 and 9 when issued as Dual Address Cycle (DAC)
20
X
X
20
No Fix
Failure to train down in presence of degraded lane
21
X
X
21
No Fix
PCI Express* and PCI-X header logs and first-error pointers do not remain sticky
through reset
22
X
X
21
No Fix
Incorrect default value for PCI Express* Flow Control Protocol Error Severity bit
23
X
X
21
No Fix
Power State bits in PCI Express* Power Management Status and Control Register
mistakenly accept reserved values
24
X
X
22
No Fix
Performance across an upstream ×1 PCI Express* link is less than expected
25
X
X
22
No Fix
PCI Express* ESD enhancement requires a change to register setting
26
X
X
22
No Fix
SKP ordered set might not be sent within required interval during link recovery
when a packet is pending
27
X
X
23
No Fix
SERR fatal/non-fatal error message enabled with incorrect error message
enabled bit
28
X
X
23
No Fix
Configuration write to offset 70h of A- and B-bridge (PM_CSR - PCI Express
Power Management Control/Status Register) using non-continous byte enables
does not capture the data value
29
X
X
23
No Fix
The 80333 might become unresponsive when transitioning into the D3 power
state
30
X
X
24
No Fix
Bus Interface Unit (BIU) claims DAC addresses in the range of the Memory
Mapped Registers (MMR)
Specification Update
Intel® 80333 I/O Processor
Summary Table of Changes
Non-Core Errata (Sheet 2 of 2)
Stepping
No.
Page
Status
X
24
No Fix
Tc1(min) of the PCI-X clock observed to be marginally less than the requirement
specified for the PCI-X (Mode 1, class1) clock jitter.
X
X
25
No Fix
I2C Control Register reset bit does not function
X
X
25
No Fix
MSI Hot-Plug Interrupt issue
25
No Fix
Under certain conditions, inbound prefetched PCI read requests may return wrong
data to the requestor
26
Fixed
Internal Clock Misalignment Can Cause Processor Hang.
26
No Fix
Spurious DMA0 End-Of-Transfer Interrupt
Page
Status
A-0
A-1
31
X
32
33
34
X
35
X
36
X
X
X
Errata
Core Errata
Steppings
No.
Errata
A-0
A-1
1
X
X
27
No Fix
Abort is missed when lock command is outstanding
2
X
X
27
No Fix
Aborted store that hits the data cache can mark write-back data as dirty
3
X
X
28
No Fix
Performance Monitor Unit event 0x1 can be incremented erroneously by unrelated
events
4
X
X
28
No Fix
In Special Debug State, back-to-back memory operations—in which the first
instruction aborts—can cause a hang
5
X
X
29
No Fix
Accesses to the CP15 ID Register with opcode2 > 001b returns unpredictable
values
6
X
X
29
No Fix
Disabling and re-enabling the MMU can hang the core or cause it to execute the
wrong code
7
X
X
30
No Fix
Updating the JTAG parallel registers requires an extra TCK rising edge
8
X
X
30
No Fix
Non-branch instruction in vector table might execute twice after a thumb mode
exception
Specification Changes
Steppings
No.
1
A-0
A-1
X
X
Page
Status
31
Doc
Specification Changes
Recommended DLL register values
2
X
X
31
Doc
DDR-II JEDEC initialization sequence includes writes to EMRS2 and EMRS3
3
X
X
32
Doc
REFCLK relationship to voltage rails
4
X
X
32
Doc
Case temperature (Tcase) change
5
X
X
32
Doc
PWRGD and RSTIN# sequencing
6
X
32
Fixed
Specification Update
Internal Clock Misalignment.
9
Intel® 80333 I/O Processor
Summary Table of Changes
Specification Clarifications (Sheet 1 of 2)
Steppings
No.
1
10
A-0
A-1
X
X
Page
Status
33
No Fix
Specification Clarifications
PCI Express* to PCI-X Bridge does not support Device ID Messaging (DIM)
2
X
X
33
No Fix
64 MB and 2 GB DDR333 capacities not tested in post-silicon validation
3
X
X
33
No Fix
DDR-II 400 unbuffered DIMMs are not supported
4
X
X
33
No Fix
Memory map for 2 GByte of DDR memory
5
X
X
33
No Fix
PCI configuration write anomaly when clearing BINIT[1]
6
X
X
33
No Fix
PWRGD and PERST# are the same signals
7
X
X
34
No Fix
Back-to-back MCU MMR reads
8
X
X
34
No Fix
Reserved IDSELs on A-segment
9
X
X
34
No Fix
Retry Disable Sequence
10
X
X
35
No Fix
Write requirements for the Peripheral Bus Interface
11
X
X
35
No Fix
PCI-X Status Register during PCI mode
12
X
X
35
No Fix
M_RST# driven to DDR-II or DDR-I voltage levels
13
X
X
35
No Fix
BIU master abort causes two interrupts on reads
14
X
X
36
No Fix
Potential race condition with Interrupt Controller Unit status bits
15
X
X
36
No Fix
Reset Internal Bus (PCSR[5]) usage
16
X
X
36
No Fix
PCI Express* Transaction Header Log register repeats on offset 124 and 128
17
X
X
37
No Fix
SHPC sequence
18
X
X
38
No Fix
Bus Interface Unit follows PCI ordering rules
19
X
X
39
No Fix
UART, I2C and GPIO memory mapped registers should be addressed with
32-bit accesses
20
X
X
39
No Fix
UART Interrupt Identification Register
21
X
X
39
No Fix
Reads on 16-bit PBI bus operate as 32-bit
22
X
X
39
No Fix
3.3 V to 1.5 V leakage
23
X
X
40
No Fix
Accessing extended bridge configuration space from the Intel XScale®
processor
24
X
X
40
No Fix
Recommended B-segment termination when using the 80333 on PCI Express*
adapter cards
25
X
X
40
No Fix
B-segment arbiter might not park on the last master when in PCI-X 133 MHz
mode
26
X
X
40
No Fix
Configuring XINTx# signals as PCI interrupts
27
X
X
41
No Fix
Power plane isolation for Battery Back-Up (BBU) mode
28
X
X
41
No Fix
AAU result can be written directly to PCI host memory
29
X
X
41
No Fix
SMBus connection recommendations for PCI Express* adapter cards
30
X
X
42
No Fix
PBI lockout condition
31
X
X
42
No Fix
PFREQ functionality
32
X
X
42
No Fix
PWRDELAY functionality during power sequencing
33
X
X
42
No Fix
HPI# (High Priority Interrupt) is a maskable interrupt
Specification Update
Intel® 80333 I/O Processor
Summary Table of Changes
Specification Clarifications (Sheet 2 of 2)
Steppings
No.
34
A-0
A-1
X
X
Page
Status
Specification Clarifications
42
No Fix
OCD and Receive Enable calibration de-featured
35
X
X
43
No Fix
PWRDELAY needs only a pull-up for battery back-up mode
36
X
X
43
No Fix
PCI Express* L0s functionality not supported in the 80333
37
X
X
43
No Fix
DDRRES2 can be pulled down to reduce current during self-refresh
38
X
X
43
No Fix
DDRSLWCRES resistor values
39
X
X
43
No Fix
B_PME# routing recommendation when using Parallel Hot Plug 1-slot, no-glue
mode
40
X
X
44
No Fix
Multi-Transaction Timer grants fewer clocks in PCI mode than expected
41
X
X
44
No Fix
Byte Enables (BE) not included in PCI delayed reads can cause data corruption
42
X
X
44
No Fix
Interleaving AAU descriptors
43
X
X
45
No Fix
RCVDLY setting for DDR-I memory
44
X
X
45
No Fix
Embedded Usage Models
45
X
X
45
No Fix
ATUBAR3 Functionality
46
X
X
45
No Fix
VREF isolation for Battery Back-up (BBU) mode
47
X
X
45
No Fix
I2C Unit Enabling
48
X
X
46
No Fix
DMA transactions from local memory to a conventional PCI target can
complete out of order
49
X
X
46
No Fix
SBR1 Programming with Bank 1 Unpopulated
50
X
X
46
No Fix
32-bit Writes to Unaligned 64-bit Addresses are Promoted to 64-bit Aligned
Writes
51
X
X
46
No Fix
ATU Retry Response Through the Bridge
52
X
47
Fixed
Case Temperature Clarification.
Specification Update
11
Intel® 80333 I/O Processor
Summary Table of Changes
Documentation Changes
12
No.
Document Revision
Page
Status
Documentation Changes
1
305433-001
48
Doc
PCI clock timings table missing note
2
305433-002
48
Doc
Wrong Voltage Values in Table 23
3
305432-001
48
Doc
SBR1 Programming When Bank 1 is Unpopulated
4
305433-003
48
Doc
PCI Express clock cycle time minimum
Specification Update
Intel® 80333 I/O Processor
Identification Information
Identification Information
Die Details
Table 1.
Table 2.
80333 Die Details
Stepping
Part Number
QDF (Q)/
Specification
Number (SL)
Processor Speed
(MHz)
A-0
NQ80333M500
QG80333M500
Q010
Q108
500
Engineering Samples
PB-free Eng Samples
A-0
NQ80333M667
QG80333M667
Q011
Q109
667
Engineering Samples
PB-free Eng Samples
A-0
NQ80333M800
QG80333M800
Q012
Q110
800
Engineering Samples
PB-free Eng Samples
A-0
NQ80333M500
QG80333M500
SL82B
SL8CC
500
Production
PB-free Production
A-0
NQ80333M667
QG80333M667
SL82C
SL8CD
667
Production
PB-free Production
A-0
NQ80333M800
QG80333M800
SL82D
SL8CE
800
Production
PB-free Production
A-1
NQ80333M500
QG80333M500
Q614
500
Engineering Samples
PB-free Eng Samples
A-1
NQ80333M667
QG80333M667
Q612
667
Engineering Samples
PB-free Eng Samples
A-1
NQ80333M800
QG80333M800
Q613
800
Engineering Samples
PB-free Eng Samples
A-1
NQ80333M500
QG80333M500
500
Production
PB-free Production
A-1
NQ80333M667
QG80333M667
SL9BB
667
Production
PB-free Production
A-1
NQ80333M800
QG80333M800
SL9BC
800
Production
PB-free Production
Q611
Q615
Q616
SL9BA
SL9BH
SL9BJ
SL9BK
Notes
80333 Device ID Registers
Device and
Stepping
Processor Device ID
(CP15, Register 0 - opcode_2=0)
Revision ID
JTAG Device ID
A-0
0x69054210
0x00
0x09268013
A-1
0x69054210
0x00
0x09268013
NOTE: Processor core speed can be identified by reading CCLKCFG[3:0] (CP14, register 6).
500 MHz = 0x0, 667 MHz = 0x2, 800 MHz = 0x4
NOTE: A-Bridge = 0370h, A-IOAPIC = 0371h, B-Bridge = 0372h, B-IOAPIC = 0373h, ATU = 0374h
Specification Update
13
Intel® 80333 I/O Processor
Non-Core Errata
Non-Core Errata
1.
CAS latency of three not supported for DDR-II On-Die Termination (ODT)
Problem:
For DDR-II memory with a CAS Latency (CL) of three, the memory controller unit (MCU) does
not provide the proper timing for the On-Die Termination signals (ODT[1:0]). The JEDEC DDR-II
SDRAM Specification, September 2002 states that ODT must be driven one cycle prior to the write
command, but the MCU does not meet this timing.
Implication:
CAS latency of three is not supported in the 80333; therefore, there is minimal performance impact
as compared to CAS latency of four.
Workaround:
Use CAS latency = 4 or do not use the ODT feature.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
2.
Legacy power fail mechanism does not work
Problem:
For previous I/O processor generations, an external clock was required to maintain the incoming
PCI clock (P_CLK) long enough for the power-fail sequence to be sent to the memory. This is what
is referred to as “legacy power fail.” The internal control circuit that enables the legacy power-fail
method is broken.
Implication:
Legacy power-fail cannot be used.
Workaround:
For the 80333, a new feature was added which keeps internal clocks running on power fail.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
3.
A_REQ64# and B_REQ64# initialization pattern timing violation in PCI-33
mode
Problem:
The PCI Local Bus Specification, Revision 2.3 states RST# to REQ64# hold time is 0 ns minimum
and 50 ns maximum (Trrh). The 80333 drives the REQ64# signal for three cycles after RST#
deasserts. Therefore, in PCI-33 mode, this is 90 ns, which violates the 50 ns maximum.
All other PCI and PCI-X modes are within the PCI Local Bus Specification, Revision 2.3 (that is,
PCI-66 is 45 ns).
Implication:
No negative impact expected.
Workaround:
There is no overlap between the 80333 assertion of REQ64# for the initialization sequence, and the
first assertion of FRAME#. As per the PCI Local Bus Specification, Revision 2.3, Trhff defines the
minimum time from RST# high to first FRAME# assertion as 5 clocks. Since the 80333 deasserts
REQ64# at three clocks following RST# high, there is no overlap with FRAME# being asserted as
it is not allowed to be asserted any sooner than five clocks.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
14
Specification Update
Intel® 80333 I/O Processor
Non-Core Errata
4.
Secondary Bus Number register (PEBSBBNR) provides incorrect bus
number
Problem:
The PCI Express*-to-PCI Bridge Secondary B-Segment Bus Number Register (PEBSBBNR) does
not provide the B-segment bus number. PEBSBBNR is to mirror the Secondary Bus Number
(SCBN) field of the BNUM register (bits[15:8] at offset 18h) in the B-segment configuration
header space. Instead, PEBSBBNR provides the Subordinate Bus Number (SBBN) of the BNUM
register (bits[23:16] at offset 18h) from the A-segment configuration header space.
Implication:
The I/O processor does not support transactions from the Intel XScale® processor on A-segment to
the B-segment.
Workaround:
To successfully read PCI B-segment devices, software can scan the PCI B-segment configuration
space using configuration reads to determine the bus number.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
5.
Boundary scan multi-chip module implementation
Problem:
The 80333 is not BSDL-compliant for the SAMPLE and BYPASS instructions specified by the
JTAG specification 1149.1. It is compliant for most board-level testing. When boards are tested for
opens and shorts, the 80333 BSDL can define the boundary scan length as +1 to encompass the
BYPASS register in the Intel XScale® processor (therefore not visible).
Implication:
When doing ID, SAMPLE, or BYPASS, the Intel XScale® processor BYPASS register makes the
path from TDI to TDO one flop longer than the JTAG specification 1149.1 requires, which can
cause canned software to error.
Note:
When neither of these are used by the board vendors during manufacturing testing, there is no
issue.
Workaround:
Intel can provide two BSDL files which allow opens and shorts testing, as long as it does not test
the ID and BYPASS instructions. One BSDL file covers the Intel XScale® processor unit, and the
other BSDL file covers the I/O processor, with the exception that both instruction sets are reduced
from 14 to 7, since they are operating independently.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
6.
PCI Express* traffic class (TC) bit[2] ignored for malformed packet checks
Problem:
PCI Express* Specification, Revision 1.0a Packet formation rules state that Message (Unlock, Slot
Power Limit), I/O, CFG TLP must use Traffic Class 0, such that TC[2:0] of the header field is set
to 000. Receivers that implement the optional Malformed Packet Check must check for TC usage.
The 80333 checks only TC[1:0] and ignores bit[2].
Implication:
Packet formation violations are not detected and flagged as Malformed Packets.
Workaround:
None
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
This was originally written with the understanding that malformed packet checks using TC[2:0]
were required. It is now understood that the PCI Express* to PCI/PCI-X bridge Specification 1.0
requires PCI Express* bridges to ignore TC and forward all requests regardless of TC labeling. In
order to comply with the PCI Express* to PCI/PCI-X bridge Specification 1.0, TC checks are to be
removed.
Specification Update
15
Intel® 80333 I/O Processor
Non-Core Errata
7.
Auto-Refresh command also generates a Precharge All command on
DDR bus
Problem:
When an auto-refresh command is issued to the MCU SDRAM Initialization Register (write 0x6 to
SDIR), the hardware state machine executes a Precharge All command and then an Auto-Refresh
command.
Implication:
Some DIMMs might fail to initialize.
Workaround:
There is no way to decouple the Precharge All and Auto-Refresh commands in the MCU.
However, the DCAL can issue an Auto-Refresh command, which can be used instead to issue the
Auto Refresh for initialization.
For both DDRI and DDRII initialization sequences, there are two back-to-back Auto-Refresh
(ARF) commands issued to the DIMM (accomplished by writing 0x6 to MCU_SDIR
0xFFFF_E500 twice). This sequence is replaced by writing to the DCAL Control and Status
Register (DCALSR) 0xFFFF_F500 to issue an Auto-Refresh to each Chip Select; thus, there are
four writes to the DCALSR as opposed to the previous two writes to MCU_SDIR. The exact
address and data values are as follows:
ADDRESS
WRITE_DATA
NOTE
0xFFFF_F500
0x8000_0001
--
ARF to CS[0]
0xFFFF_F500
0x8000_0001
--
ARF to CS[0]
0xFFFF_F500
0x8010_0001
--
ARF to CS[1]
0xFFFF_F500
0x8010_0001
--
ARF to CS[1]
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
8.
Coalesced writes to 32-bit memory can cause data corruption
Problem:
The Bus Interface Unit (BIU) can cause data corruption within the memory controller unit when
either an 8-byte write with a starting address offset of four (that is, Dword alignment) or a 12-byte
write is done to 32-bit memory (or the 32-bit memory region).
Implication:
This issue can cause data corruption. This is not an issue with 64-bit memory subsystems.
Workaround:
When the use of 32-bit memory or the 32-bit memory region is required, write coalescing must be
turned off.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
16
Specification Update
Intel® 80333 I/O Processor
Non-Core Errata
9.
ATU passing rules operation in PCI mode
Problem:
When the A-segment bus is in PCI bus mode, the PCI passing rule enforcement logic within the
ATU allows a read completion to pass write data, until at least four inbound delayed reads, inbound
configuration writes, inbound configuration reads, or any combination of these have occurred from
the PCI bus.
Implication:
This issue causes a deadlock condition in legacy devices that contain shared read and write data
queues, where the device allocates the data buffer for the requested delayed read data and is also
being addressed by the outbound ATU write data.
This ATU functionality does not exist in PCI-X mode.
Workaround:
Use the A-segment bus in PCI-X mode.
When the A-segment bus is in PCI mode, configuration retry is enabled, and the legacy buffer
allocating device is present in the system, the ATU must not issue writes to that device until the
configuration cycles or reads have completed. When this situation cannot be achieved by the host,
the ATU can be momentarily programmed in loopback mode and issue delayed reads to itself.
This workaround is required only when the ATU is sending upstream traffic at the same time as the
host is configuring it. This should not happen since the ATU needs to wait for the driver to be
enabled after enumeration completes.
This erratum does not occur when configuration retry is deasserted at power-on and the host meets
the above configuration cycles.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
10.
Secondary bus PCI RST# pulse prior to the rising edge of PWRGD
Problem:
During system power-on and prior to the 80333 receiving the rising edge of PWRGD, a pulse is
observed on the secondary bus PCI RST# signals.
This functionality is a result of the 3.3v to 1.5v leakage described in Specification Clarification 22.
Other signals that may see a pulse during power-on include the following: all Peripheral Bus
Interface (PBI), PCI, GPIO, UART, JTAG and PWRDELAY signals. Refer to Specification
Clarification 32 for specifics on PWRDELAY. Signals not included are DDR, PCI-Express and
I2C.
Implication:
PCI/PCI-X controllers on the secondary bus segments might interpret this PCI RST# pulse as a true
rising edge and initialize into an undetermined state. Pulses on PWE# and PCEx# may cause data
corruption for memory devices connected to the PBI bus.
Workaround:
A hardware workaround has been identified. Use the PWRGD signal that is received by the 80333
to gate the secondary bus PCI RST# signals. For example, use PWRGD and A_RST# as inputs to
an AND gate and connect the output to the secondary device RST# pin. The gate delay must be
kept down to ~2 ns, so as to not interfere with the PCI initialization pattern.
Another workaround is to bring up 3.3 V and 1.5 V power rails simultaneously, but continue to
maintain the power-sequencing requirements (as specified in the Intel® 80333 I/O Processor
Design Guide) for these two power rails.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
Specification Update
17
Intel® 80333 I/O Processor
Non-Core Errata
11.
VPD Data Register bit[19] is not read/write
Problem:
VPD (Vital Product Data) is an extended capability of the ATU. Bit[19] of the VPD Data Register
(FFFF_E1BCh) is implemented as RC (read clear) instead of RW (read/write).
Implication:
This is application-dependent, as VPD provides the system with information that uniquely
identifies hardware and, potentially, software elements of a system.
Workaround:
When the VPD feature is needed, care must be taken to mask bit[19].
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
12.
PCI Express* Correctable Error Mask Bits
Problem:
PCI Express* Correctable Error Mask (offset 114) requires both PCI/PCI-X segment A and
segment B register bits to be set to take effect.
Implication:
When the mask bit is only set for one segment, the error is still reported to the host bridge.
Workaround:
The 80333 requires mask bits in both A- and B-segments to be set to mask the PCI Express*
correctable errors.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
13.
DMA CRC result is byte-reversed
Problem:
The DMA CRC result value is byte-reversed.
Example CRC operation with the DMA:
CRC Seed: 0x0000 0000
Data Pattern (16 bytes): 0x1234 5678, 0x1457 9098, 0x1234 5678, 0x1457 9098
Expected CRC Value: 0x6791 25DA
Actual CRC Value: 0xDA25 9167
CRC Seed: 0x1122 3344
Data Pattern(16 bytes): 0x1234 5678, 0x1457 9098, 0x1234 5678, 0x1457 9098
Expected CRC Value: 0x1D2C B941
Actual CRC Value: 0x41B9 2C1D
Implication:
Data corruption occurs when software does not take care of the byte reversal.
Workaround:
Software must byte reverse the CRC result after the DMA completes.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
14.
CRC corruption on PCI-to-local DMA transfers
Problem:
CRC corruption can occur when polling DMA registers during PCI-to-local transfers. CRC
corruption happens regardless of whether the transfer data is written to memory (DMA Transfer
disable bit DCR.7, is set). Both DMA channels are affected.
Implication:
CRC data corruption occurs. The DMA transfer itself is not affected by this erratum.
Workaround:
Use local address sources only when calculating CRC.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
18
Specification Update
Intel® 80333 I/O Processor
Non-Core Errata
15.
IOAPIC End of Interrupt (EOI) Register is Read-Write, should be Write-Only
Problem:
IOAPIC End of Interrupt register (APIC_EOI, offset 40h) should be write-only. The APIC
specification specifies that this register be implemented as write-only. This register was
inadvertently implemented as read-write.
Implication:
When implemented as write-only, this register returns FFh when read. Since this register is
implemented as read-write, the 80333 returns the “real” value of the register contents when read.
No negative impact expected.
Workaround:
None
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
16.
Unreliable PCI Express* link operation when L0s active state power
management is enabled
Problem:
PCI Express* link operation is unreliable after the L0s state is enabled in the 80333.
Implication:
When L0s is enabled, the system hangs and other system instability occurs.
Workaround:
None
Status:
No Fix. Not to be fixed. Refer to Specification Clarification 36 (“PCI Express* L0s functionality
not supported in the 80333” on page 43) and the latest version of the Intel® 6700PXH 64-bit PCI
Hub BIOS Specification Update for details on how to disable L0s support. See the Table ,
“Summary Table of Changes” on page 7.
17.
SSE bit set for PERR# assertion when error reporting is masked
Problem:
During a downstream memory write to the 80333, the following erroneous behavior is seen when
PERR# is asserted on the secondary bus:
• Signaled System Error (SSE) in the PSTS register (D:0, F:0 and 2, offset 06h, bit[14]) is set
when SERR# Enable (SEE) (D:0, F:0 and 2, offset 04h, bit[8]) and Parity Error Response
Enable (PERE) (D:0, F:0 and 2, offset 04h, bit[6]) are set in the PCICMD register.
• The PERE bit in the BCTRL register is set (D:0, F:0 and 2, offset 3Eh, bit[0]).
• Error reporting is disabled in the PCIXERRUNC_MSK register (D:0, F:0 and 2, offset 130h).
Implication:
False indication of an error message escalated as recorded in SSE of the PSTS register being set.
This is considered low risk since the escalation of the message is functioning properly.
Workaround:
None
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
18.
Data Parity Error detected on PCI/X interface fails to propagate bad parity
Problem:
In PCI and PCI-X mode using 32-bit data transfers, when a read request is disconnected at an even
DWORD boundary with data parity error, such that the subsequent request for partial data gets
retried, the completion for this request is issued over PCI Express* to the MCH (root complex)
without the poisoned data EP field set in the PCI Express* TLP header.
Implication:
Corrupted data forwarded without error indication when error escalation is not enabled.
Workaround:
Uncorrectable error escalation must be enabled in the MCH and the 80333 to contain this data
parity escape. Therefore, a complete workaround for this erratum also includes MCH/root complex
specific BIOS updates. Refer to the latest version of the Intel® 6700PXH 64-bit PCI Hub BIOS
Specification Update for details on this workaround.
Specification Update
19
Intel® 80333 I/O Processor
Non-Core Errata
Note:
When error escalation is not properly enabled in the MCH/root complex, there can be a potential
race condition between the completion being returned to the CPU and the error escalation. Read
completion might complete normally at the CPU followed by error escalation as an
Interrupt/SERR.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
19.
ATU claims PCI commands 8 and 9 when issued as Dual Address Cycle
(DAC)
Problem:
In PCI mode, commands 8 and 9 are reserved. The appropriate PCI response to these commands is
to master abort. When these commands are issued as a Dual Address Cycle (DAC), the Address
Translation Unit (ATU) claims them, and they are executed as Memory Read (command 8) and
Memory Write (command 9) on the internal bus. The ATU properly master aborts SAC PCI
commands 8 and 9.
This issue does not occur in PCI-X mode.
Implication:
No negative impact is expected, since these PCI commands are “reserved” and are never normally
issued to the ATU.
Workaround:
None
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
20.
Failure to train down in presence of degraded lane
Problem:
During the PCI Express* training sequence, when a broken endpoint has correct receiver
termination on a lane and transmits training sequences on the lane which are invalid, the 80333
fails to link train.
Implication:
The PCI Express* specification intends that, when some lanes are transmitting invalid data instead
of valid training sequences, those lanes must be treated as broken, and the link must fail down to an
acceptable width, such as ×1. When Lane 0 is failing in this manner, the PCI Express*
specification anticipates that the link would fail to train. When a higher-numbered lane is failing in
this manner, the PCI Express* specification requires that the link attempt to train as ×1 on lane 0.
In either case, the 80333 does not train for the problem scenario.
On production material, failures are anticipated to be either a broken transmitter path or a broken
receiver path, or a silent transmitter. The 80333 trains properly for these failure modes, since either
the receiver termination is missing, or the transmitted signals are not seen at the 80333. In order to
see invalid transmitted data on lanes at the 80333, either a logic bug in the other PCI Express*
endpoint is required, or a signal integrity issue so severe as to make operation impossible, such as a
broken or intermittent connection.
Workaround:
None. A non-compliant or broken device can exhibit this erratum.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
20
Specification Update
Intel® 80333 I/O Processor
Non-Core Errata
21.
PCI Express* and PCI-X header logs and first-error pointers do not remain
sticky through reset
Problem:
The PCI Express* and PCI-X header logs and first-error pointers do not maintain their values after
a warm/hot reset. These registers are supposed to be unaffected by a warm/hot reset, but instead,
they are reset to default values. The following registers with “sticky” bits are affected:
•
•
•
•
•
•
Implication:
Note:
ADVERR_CTL (offset 118h)
HDR_LOG (offset 11Ch)
PCI-XERRUNC_PTR (offset 138h)
PCI-XHDR_LOG (offset 13Ch)
PCI-XD_LOG (offset 14Ch)
PCI-X_ERRLOGCTL (offset 154h)
Errors detected are logged and escalated properly, but after a warm/hot reset, the header logs and
first error pointers reset to their default values.
Error status registers are unaffected, and properly maintain their values through reset.
Workaround:
No workaround
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
22.
Incorrect default value for PCI Express* Flow Control Protocol Error
Severity bit
Problem:
The PCI Express* Flow Control Error Severity bit (register offset 10C, bit[13]) is programmed to a
default value of 0, indicating an uncorrectable flow control error is reported as non-fatal. This is in
contradiction with the PCI Express* Specification, Revision 1.0a, which requires a default value
of 1, indicating an uncorrectable flow control error is reported as fatal.
Implication:
Implications for this erratum depend upon the error response strategy implemented in a specific
system.
Workaround:
This bit can be reprogrammed to match the specified default value when desired. BIOS or firmware
must set register 10Ch bit[13] to 1 for both A- and B-segments. For accessing extended bridge
configuration space from the Intel XScale® processor, see specification clarification 23,
“Accessing extended bridge configuration space from the Intel XScale® processor” on page 40.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
23.
Power State bits in PCI Express* Power Management Status and Control
Register mistakenly accept reserved values
Problem:
The Power State bits (bits[1:0] of PM_CSR at offset 70h), allow a reserved value of 01b or 10b to
be written. This is contrary to the specification, which originally stated that when software attempts
to write an unsupported reserved state to this field, the data must be discarded and a state change
must not occur.
Implication:
When a reserved state is written to this field, there is a mismatch between the actual power state of
the part and the state reported in configuration space. In some cases, writing a reserved value to this
field can cause the 80333 to transition to the D0 power state, regardless of the previous power state.
Workaround:
Do not write a reserved value to this bit field.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
Specification Update
21
Intel® 80333 I/O Processor
Non-Core Errata
24.
Performance across an upstream ×1 PCI Express* link is less than expected
Problem:
When the 80333 is configured with an upstream ×1 PCI Express* link, the realized performance is
significantly less than the predicted linear assumption that a x1 link provides 1/4 the performance
of a x4 link. This is caused by circumstances where the 80333 must discard a large portion of the
data it receives across the upstream link. Notably, anytime the 80333 services an incorrect prefetch,
or anytime the 80333 services interleaved requests from multi-function devices, the 80333 must
discard data.
Implication:
Devices that rely heavily on prefetching, or multi-function devices that request data in an
interleaved fashion, are the most likely to experience degraded performance.
Workaround:
When possible, system designers must reduce the amount of prefetching allowed to devices behind
the 80333.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
25.
PCI Express* ESD enhancement requires a change to register setting
Problem:
Validation has shown PCI Express* ESD enhancement, with changes to undisclosed registers in
the 80333.
Implication:
The workaround below increases the margin for the eye and therefore results in a healthier,
improved PCI Express* link.
Workaround:
BIOS or firmware must set F0/F2:R260h bit[15] to 1 and clear F0/F2:R270h bit[31] to 0. This
workaround is required for both cold and warm reset.
Status:
No Fix. Not to be fixed. The BIOS/firmware workaround must be left in place for all 80333
steppings. See the Table , “Summary Table of Changes” on page 7.
26.
SKP ordered set might not be sent within required interval during link
recovery when a packet is pending
Problem:
During Link Recovery on the PCI Express* port, the 80333 might fail to transmit a SKP ordered
set within the required time interval as defined in the PCI Express* Specification, Revision 1.0a
when a TLP or DLLP was pending when the link entered Recovery.Idle state.
Implication:
When the receiving device depends upon receipt of an SKP ordered set to progress through Link
Recovery, a time-out occurs, resulting in Link Down and automatic reinitialization of the
PCI Express* link. A link transitions through recovery only under exceptional operational
conditions. Following the Link Recovery time-out and reinitialization, the PCI Express* link can
be expected to resume normal operation unless the original Link Recovery condition was entered
as a result of a hard failure mechanism.
Workaround:
None
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
22
Specification Update
Intel® 80333 I/O Processor
Non-Core Errata
27.
SERR fatal/non-fatal error message enabled with incorrect error message
enabled bit
Problem:
When the SERR# Enable (SEE) bit in the PCI Command Register (offset 0x4) is not set, then in the
Advanced Error Reporting scheme when SERR is configured as a fatal error, the generation of a
SERR fatal error message is mistakenly gated by the Non-Fatal Error Reporting Enabled bit
(bit[1]) instead of the Fatal Error Reporting enabled bit (bit[2]) of the Device Control Register
(offset 4Ch). Likewise, when SERR is configured as a non-fatal error, the generation of a SERR
non-fatal error message is gated by the Fatal Error Reporting enabled bit.
Implication:
The SERR fatal error message can be generated only when non-fatal error messaging is enabled,
and vice-versa.
Workaround:
Set both Fatal and Non-Fatal Error Reporting Enabled bits, and mask errors individually via
Uncorrectable PCI-X Error Mask Register (offset 130h) when escalation of these errors is not
desired.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
28.
Configuration write to offset 70h of A- and B-bridge (PM_CSR - PCI Express
Power Management Control/Status Register) using non-continous byte
enables does not capture the data value
Problem:
A configuration write to single-byte offset 71h of the A-bridge and B-bridge configuration space
does not capture the data value written to it. Specifically, performing this configuration write to
offset 70h with byte enables of 2h, 6h, or Ah in order to write to offset 71h does not work.
Implication:
Register offset 70h is the PCI Express* Power Management Control/Status Register (PM_CSR).
The byte at location 71h contains the PME enable bit (bit[8] of 70h) and PME status bit (bit[15] of
70h). The above mechanism does not work to either set or clear the PME enable bit, or to clear the
PME status bit.
Workaround:
Write to offset 71h by performing a word (byte enable 3h) or a dword (byte enable Fh) to offset
70h.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
29.
The 80333 might become unresponsive when transitioning into the D3
power state
Problem:
When the 80333 is transitioned to a power state of D3 or lower, the 80333 device might become
unresponsive.
Implication:
There have been no observed failures on systems with currently available software. Operating
systems that independently manage the power state of the 80333, outside the scope of system-level
power state transitions, might result in the loss of link communications to the MCH.
Workaround:
Independent device power-state management of the 80333 must be avoided. If the 80333 becomes
unresponsive, a fundamental device reset must be asserted to return the system to normal
operation.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
Specification Update
23
Intel® 80333 I/O Processor
Non-Core Errata
30.
Bus Interface Unit (BIU) claims DAC addresses in the range of the Memory
Mapped Registers (MMR)
Problem:
The BIU incorrectly decodes and claims Dual Address Cycle (DAC) addresses in the
xxxx_xxxx_FFFF_E000h to xxxx_xxxx_FFFF_FFFFh range (e.g. - ‘x’ represents any bit being set
to ‘1’). The 32-bit address range of FFFF_E000h to FFFF_FFFFh on the internal bus, represents
MMR and reserved space. When a 64-bit address in this range is presented on the internal bus,
multiple internal bus units, one of them being the BIU, will claim the transaction.
Note:
Only the DMA can generate a 64-bit address (DAC) on the internal bus.
Implication:
Using DAC addresses in the xxxx_xxxx_FFFF_E000h to xxxx_xxxx_FFFF_FFFFh range on the
internal bus will cause an internal bus conflict that may result in the reception of undesired data and
setting of error flags.
Workaround:
Avoid using the DMA with DAC addresses in the xxxx_xxxx_FFFF_E000h to
xxxx_xxxx_FFFF_FFFFh range. This can be done by utilizing one of the two 64MB ATU
outbound memory windows (8000 0000H or 8400 0000H) and its corresponding outbound
translation registers (OMWTVR0/OUMWTR0 or OMWTVR1/OUMWTR1) in order to present a
32 bit address on the internal bus and generate a 64 bit address on the PCI bus.
The upper translate value register should be programmed with the upper 32 bits of the desired PCI
address. The lower translate value register would then be configured to OR in the appropriate
value such that the desired lower 32 bits appear on the PCI bus after translation. Refer to Section
3.2.2 “Outbound Transactions – Single Address Cycle (SAC) Internal Bus Transactions” in the
Intel® 80333 I/O Processor Developer’s Manual for more information on how the windowing and
translation scheme works.
It is possible to now generate the 32 bit internal bus transaction either using the core or the DMA.
Both options are viable and one may be preferable over the other depending on the application.
Note:
Use of the DMA to generate the transaction would require not only the modification of the
descriptors in question and setting of the memory-memory transfer enable bit (DCRx) for those
descriptors, but care must also be taken not to allow any individual transfer to overrun the size of
the outbound window (64MB).
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
31.
Tc1(min) of the PCI-X clock observed to be marginally less than the
requirement specified for the PCI-X (Mode 1, class1) clock jitter.
Problem:
The 80333 generates the PCI-X clock with a nominal frequency of 133 MHz (Tc1 of 7.5 ns). After
considering the clock jitter, the minimum clock period (Tc1(min)) observed at the pin may be less
than 7.5 ns. The PCI-X class 1 clock jitter specification for mode 1 requires the Tcyc-min to be 7.5
ns with jitter consideration. The same applies for the PCI-X clock generated @ 66 MHz.
Implication:
No negative impact is expected, when compliant with the routing guidelines.
Workaround:
There is no workaround to adjust the minimum clock period (Tc1(min)) of the PCI-X clocks.
However, the routing guidelines for the PCI-X clock signal take into consideration the effect of the
jitter on the minimum clock period (Tc1(min)). Conforming to the routing guidelines in the 80333
design guide will offset the effect of the marginally reduced minimum clock period (Tc1(min))
towards the setup and hold times. Therefore, for system boards that are compliant with the routing
guidelines, the risk of violating the setup and hold time requirements and any resulting functional
impact, is low. Please refer to the 80333 I/O processor design guide (305434) for further
information on the PCI-X clock routing guidelines.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
24
Specification Update
Intel® 80333 I/O Processor
Non-Core Errata
32.
I2C Control Register reset bit does not function
Problem:
The I2C Control Register (ICR0 and ICR1) bit 14 is supposed to be used for resetting the I2C unit,
but writing a '1' to this bit does not reset the I2C unit. Writing a '1' to bit 14 has no effect.
Implication:
The I2C unit cannot be reset by using ICRx.14.
Workaround:
Depends on what needs to be accomplished. Asserting P_RST# or setting BCR.6 will reset the I2C
unit but will also reset the entire chip or the secondary bus/ATU. For an I2C bus lock condition, it
may be cleared by software doing a toggle of the GPOD[11:10] to toggle SCL[1:0]. If SDA[1:0]
need to be toggled, then an external device or unused GPIO will need to be used to control this
sequence.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
33.
MSI Hot-Plug Interrupt issue
Problem:
An MSI generated by the standard hot-plug controller may get corrupted in the presence of another
ACPI hot-plug driver. The ACPI driver performs configuration reads of DWSEL/DWORD
register in order to determine the hot-plug capability of all the ACPI devices. If the MSI is
generated by the Standard Hot-Plug Controller (SHPC) in this time period, there is a possibility of
the MSI getting corrupted. As a result the MSI may not get issued upstream to the MCH. The
above is a result of interaction of separate events that are unpredictable.
Implication:
With the above condition described, the hot-plug device may not get recognized by the OS.
Currently this issue is susceptible to only MSI aware systems.
Workaround:
Disable 80333 SHPC MSI. By default MSI_MC (Offset 5Eh, function 2 only) bit 0 MSI Enable is
clear. BIOS/FW must keep this default value.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
34.
Under certain conditions, inbound prefetched PCI read requests may return
wrong data to the requestor
Problem:
With some prefetch policy settings, the 80333 may over-aggressively prefetch data for PCI reads
and subsequently return the wrong data to the requestor. This problem only exists when there is
more than one active agent on the PCI bus. This problem exists for all supported frequencies. This
problem exists on both 80333 PCI segments. This problem does not affect PCI-X operation at any
supported frequency.
Implication:
Inbound read requests that are enabled for prefetching may return invalid data when multiple
agents exist on the same PCI bus. No error is reported by the 80333.
Workaround:
BIOS or firmware must set D0:F0/F2 Offset 184h (Dword) bit [2] to 1. The workaround corrects
the problem at all supported frequencies and all prefetch policy settings.
Status:
No Fix Not to be fixed. The BIOS/firmware workaround must be left in place for all 80333
steppings. See the Table , “Summary Table of Changes” on page 7.
Specification Update
25
Intel® 80333 I/O Processor
Non-Core Errata
35.
Internal Clock Misalignment Can Cause Processor Hang
Problem:
After a reset, the 80333 can hang during initial accesses to SDRAM, due to a possible clock
misalignment, aggravated by a race condition in the clock divider clear circuit.
Implication:
A failure will manifest itself as a hang of the I/O processor after reset, during initial accesses to
SDRAM. Subsequent warm or cold resets may clear the condition and allow the 80333 to continue
operation.
Workaround:
In most cases, doing a cold or warm reset will clear this condition. Increasing the 1.5v power
supply will reduce the probability of a processor hang. Intel is screening parts to eliminate the
probability of occurrence (refer to Specification Change #6, “Internal Clock Misalignment” on
page 32).
Status:
Fixed. This issue was fixed in the A-1 stepping of the product (this is also related to Section 6,
“Internal Clock Misalignment” on page 32). See the Table , “Summary Table of Changes” on
page 7.
36.
Spurious DMA0 End-Of-Transfer Interrupt
Problem:
When the interrupt controller goes from having no interrupts asserted to one or more asserted, there
is a 1-clock cycle window in which the IINTVEC (IRQ Interrupt Vector register; FFFF_E7C8h or
CP6, register 14) or FINTVEC (FIQ Interrupt Vector register; FFFF_E7CCh or CP6, register 15)
may report the value of the INTBASE register (Interrupt Base register; FFFF_E7C0h or CP6,
register 12), which is the vector address for interrupt 0, DMA0 End-of-Transfer.
This condition can occur even if the DMA0 EOT interrupt is masked, INTCTL0.0 = 0.
Implication:
No negative impact expected. If the routine that reads the IINTVEC/FINTVEC qualifies the return
value against IINTSRC0.0/FINTSRC0.0, it will either see there is nothing to do or it will validly
call the DMA0 End-of-Transfer handler.
Workaround:
If IINTVEC/FINTVEC equals INTBASE, then re-read the IINTVEC/FINTVEC register.
Status:
No Fix. Not to be fixed. See the Table , “Summary Table of Changes” on page 7.
26
Specification Update
Intel® 80333 I/O Processor
Core Errata
Core Errata
1.
Abort is missed when lock command is outstanding
Problem:
A bus abort occurs on a code fetch while an instruction TLB or I-Cache lock MCR, Move to
Coprocessor from ARM Register, command is outstanding. The core fails to abort, instead
executing the instruction returned on the aborting transaction. Parity errors are not affected. The
bus abort can be due to either an abort pin assertion or a multi-bit ECC error.
Workaround:
Branch flush after every I-TLB or I-Cache lock. For example, the following instruction does this:
SUB PC, PC #4;flush the pipe.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
2.
Aborted store that hits the data cache can mark write-back data as dirty
Problem:
When there is an aborted store that hits clean data in the data cache (data in an aligned four-word
range that has not been modified from the core since it was last loaded in from memory or cleaned),
the data in the array is not modified (the store is blocked), but the dirty bit is set. When the line is
then aged out of the data cache or explicitly cleaned, the data in that four-word range is evicted to
external memory, even though it has never been changed. In normal operation this is nothing more
than an extra store on the bus that writes the same data to memory that is already there.
Here is the boundary condition where this might be visible:
1. A cache line is loaded into the cache at address A.
2. Another master externally modifies address A.
3. A core store instruction attempts to modify A, hits the cache, aborts because of MMU
permissions, and is backed out of the cache. That line normally is not marked dirty, but
because of this erratum, it is marked as dirty.
4. The cache line at A then ages out or is explicitly cleaned. The original data from location A is
evicted to external memory, overwriting the data written by the external master. This happens
only when software is allowing an external master to modify memory that is, write-back or
write-allocate in the core page tables, and depending on the fact that the data is not “dirty” in
the cache, to preclude the cached version from overwriting the external memory version.
When there are any semaphores or any other handshaking to prevent collisions on shared
memory, this is not a problem.
Workaround:
For this shared memory region, mark it as write-through memory in the core page table. This
prevents the data from ever being written out as dirty.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
Specification Update
27
Intel® 80333 I/O Processor
Core Errata
3.
Performance Monitor Unit event 0x1 can be incremented erroneously by
unrelated events
Event 0x1 in the Performance Monitor Unit (PMU) can be used to count cycles in which the
instruction cache cannot deliver an instruction. The only cycles counted are supposed to be those
due to an instruction cache miss or an instruction TLB miss. The following unrelated events in the
core, also causes the corresponding count to increment when event number 0x1 is being monitored:
•
•
•
•
Any architectural event (for example, IRQ, data abort)
MSR instructions which alter the CPSR control bits
Some branch instructions, including indirect branches and those mispredicted by the BTB
CP15 MCR instructions to registers 7, 8, 9, or 10, which involve the instruction cache or the
instruction TLB.
Each of the preceding items can cause the performance-monitoring count to increment several
times. The resulting performance monitoring count can be higher than expected when the
preceding items occur, but has not been observed to be lower than expected.
Workaround:
There is no way to obtain the correct number of cycles stalled due to instruction cache misses and
instruction TLB misses. Extra counts, due to branch instructions mispredicted by the BTB, might
be one component of the unwanted count that can be filtered out.
The number of mispredicted branches also can be monitored using performance-monitoring event
0x6 during the same time period as event 0x1. The mispredicted branch number can then be
subtracted from the instruction cache stall number generated by the performance monitor to get a
value closer to the correct one. This workaround addresses only counts contributed by branches
that the BTB is able to predict.
All the items in the preceding bulleted list still affect the count. Depending on the nature of the
code being monitored, this workaround might have limited value.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
4.
In Special Debug State, back-to-back memory operations—in which the first
instruction aborts—can cause a hang
Problem:
When back-to-back memory operations occur in the Special Debug State (SDS, used by ICE and
Debug vendors), and the first memory operation gets a precise data abort, the first memory
operation is correctly cancelled and no abort occurs. Depending on the timing, however, the second
memory operation might not work correctly. The data cache might internally cancel the second
operation, but the register file may have scoreboarded registers for that second memory operation.
The effect is that the core might hang (due to a permanently scoreboarded register) or that a store
operation might be incorrectly cancelled.
Workaround:
In Special Debug State, any memory operation that can cause a precise data abort must be followed
by a write-buffer drain operation. This precludes further memory operations from being in the pipe
when the abort occurs. Load Multiple/Store Multiple that might cause precise data aborts must not
be used.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
28
Specification Update
Intel® 80333 I/O Processor
Core Errata
5.
Accesses to the CP15 ID Register with opcode2 > 001b returns
unpredictable values
Problem:
The ARM Architecture Reference Manual (ARM DDI 0100E) states the following in chapter B-2,
section 2.3:
When an <opcode2> value corresponding to an unimplemented or reserved ID register is
encountered, the System Control processor returns the value of the main ID register. ID
registers other than the main ID register are defined so that when implemented, their value
cannot be equal to that of the main ID register. Software can therefore determine whether they
exist by reading both the main ID register and the desired register and comparing their values.
When the two values are not equal, the desired register exists.
The Intel XScale® processor does not implement any CP15 ID code registers other than the Main
ID Register (opcode2 = 000b) and the Cache Type register (opcode2 = 001b). When any of the
unimplemented registers are accessed by software (for example, mrc p15, 0, r3, c15, c15, 2), the
value of the Main ID register is to be returned. Instead, an unpredictable value is returned.
Workaround:
None
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
6.
Disabling and re-enabling the MMU can hang the core or cause it to execute
the wrong code
Problem:
When the MMU is disabled via the CP15 control register (CP15, CR1, opcode_2 = 0, bit[0]) after
being enabled, certain timing cases can cause the processor to hang. In addition to this, re-enabling
the MMU after disabling it can cause the processor to fetch and execute code from the wrong
physical address. To avoid these issues, the code sequence below must be used whenever disabling
the MMU or re-enabling it afterwards.
Workaround:
The following code sequence can be used to disable and/or re-enable the MMU safely. The
alignment of the mcr instruction that disables or re-enables the MMU must be controlled carefully,
so that it resides in the first word of an instruction cache line.
@ The following code sequence takes r0 as a parameter. The value of r0 will be
@ written to the CP15 control register to either enable or disable the MMU.
mcr p15, 0, r0, c10, c4, 1 @ unlock I-TLB
mcr p15, 0, r0, c8, c5, 0 @ invalidate I-TLB
mrc p15, 0, r0, c2, c0, 0 @ CPWAIT
mov r0, r0
sub pc, pc, #4
b 1f @ branch to aligned code
.align 5
1:
mcr p15, 0, r0, c1, c0, 0 @ enable/disable MMU, caches
mrc p15, 0, r0, c2, c0, 0 @ CPWAIT
mov r0, r0
sub pc, pc, #4
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
Specification Update
29
Intel® 80333 I/O Processor
Core Errata
7.
Updating the JTAG parallel registers requires an extra TCK rising edge
Problem:
The IEEE 1149.1 specification states that the effects of updating all parallel JTAG registers are
expected to be seen on the falling edge of TCK in the Update-DR state. The Intel XScale®
processor parallel JTAG registers incorrectly require an extra TCK rising edge to make the update
visible. Therefore, operations like hold-reset, JTAG break, and vector traps require either an extra
TCK cycle by going to Run-Test-Idle or by cycling through the state machine again in order to
trigger the expected hardware behavior.
Workaround:
When the JTAG interface is polled continuously, this erratum has no effect. When not, an extra
TCK cycle can be caused by going to Run-Test-Idle after writing a parallel JTAG register.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
8.
Non-branch instruction in vector table might execute twice after a thumb
mode exception
Problem:
When an exception occurs in thumb mode and a non-branch instruction is executed at the
corresponding exception vector, that instruction might execute twice. Typically instructions located
at exception vectors must be branch instructions which go to the appropriate handler, but the ARM
architecture allows the FIQ handler to be placed directly at the FIQ vector
(0x0000001c/0xffff001c) without requiring a branch. Because of this bug, the first instruction of
such an FIQ handler might be executed twice when it is not a branch instruction.
Workaround:
When a “NOP” is placed at the beginning of the FIQ handler, the “NOP” executes twice and no
incorrect behavior results. When a branch instruction is placed at the beginning of the handler, it is
not executed twice.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
30
Specification Update
Intel® 80333 I/O Processor
Specification Changes
Specification Changes
1.
Recommended DLL register values
Issue:
Using the default DLL values in combination with low duty cycle DIMMs may result in low hold
time margins on read transactions.
The default values for the DLL master and slave registers do not center the internal DQS with
respect to the eye of the incoming data. Using the default values may result in a reduced hold time
due to DQS being late in the data eye, which could lead to ECC errors. Errors have only been
observed when using DIMMs that have a low DQS duty cycle.
Note: All of the Intel validation up to this point has been with the default, worst case DLL values
and all DIMMs used in validation have passed.
Firmware should be updated and tested with these new DLL values, in order to add margin to the
hold timing during memory reads.
DDR-II 400 settings
SLVLMIX0 - Address FFFF_F554h; Recommended value - 3333_3333h
SLVLMIX1 - Address FFFF_F558h; Recommended value - 0000_0003h
SLVHMIX0 - Address FFFF_F55Ch; Recommended value - 3333_3333h
SLVHMIX1 - Address FFFF_F560h; Recommended value - 0000_0003h
SLVLEN - Address FFFF_F564h; Recommended value - 0000_0003h
MASTMIX - Address FFFF_F568h; Recommended value - 0000_000Ah
MASTLEN - Address FFFF_F56Ch; Recommended value - 0000_0002h
DDR-I 333 settings
SLVLMIX0 - Address FFFF_F554h; Recommended value - 6666_6666h
SLVLMIX1 - Address FFFF_F558h; Recommended value - 0000_0006h
SLVHMIX0 - Address FFFF_F55Ch; Recommended value - 6666_6666h
SLVHMIX1 - Address FFFF_F560h; Recommended value - 0000_0006h
SLVLEN - Address FFFF_F564h; Recommended value - 0000_0003h
MASTMIX - Address FFFF_F568h; Recommended value - 0000_0000h
MASTLEN - Address FFFF_F56Ch; Recommended value - 0000_0002h
2.
DDR-II JEDEC initialization sequence includes writes to EMRS2 and EMRS3
Issue:
The JEDEC DDR-II specification includes a write to EMRS2 and EMRS3 (Extended Mode
Register Set) during the initialization sequence. Step 5 is ‘Issue EMRS2 command’ and step 6 is
‘Issue EMRS3 command’. In order to be JEDEC compliant, these steps should be added to the
memory controller initialization sequence.
Note: Before implementing, check with your DIMM/memory manufacturer to determine if these
steps are necessary. Software should always follow the initialization sequence provided by the
DIMM/memory manufacturer guidelines.
The following pseudo code shows the EMRS initialization steps that are required to be compliant
with the JEDEC DDR-II initialization sequence.
// Step 5 and 6 - EMRS(2) and EMRS(3) programming
Specification Update
31
Intel® 80333 I/O Processor
Specification Changes
if MemoryType is DDR-II
Write 0x2 to DCALADDR (Setting BA[1:0] for EMRS(2))
Write 0x81000003 to DCALCSR (issue EMRS command to CS0)
Wait for DCALCSR[31] to report ‘Operation Completed’
Write 0x81100003 to DCALCSR (issue EMRS command to CS1)
Wait for DCALCSR[31] to report ‘Operation Completed’
Write 0x3 to DCALADDR (Setting BA[1:0] for EMRS(3))
Write 0x81000003 to DCALCSR (issue EMRS command to CS0)
Wait for DCALCSR[31] to report ‘Operation Completed’
Write 0x81100003 to DCALCSR (issue EMRS command to CS1)
Wait for DCALCSR[31] to report ‘Operation Completed’
endif
3.
REFCLK relationship to voltage rails
Issue:
The current 80333 design guide (305434) states the following in section 10.1:
"Also, all 80333 voltage rails must be stable and within their operating ranges before the PCI
Express differential clocks REFCLK+ and REFCLK- begin running. This is a requirement for all
devices with PCI Express interfaces."
When the 80333 is on an add-in card, only 3.3V and 12V are provided to the slot, therefore, a local
regulator is required for 1.5V and 2.5V generation. Due to the delay by the local regulators,
REFCLK may already be provided before the power rails are stable. If this is the case, no device
overstress will occur, provided that the REFCLK input current does not exceed 900mA and the
input voltage does not exceed the PCI Express specification of 1.15V. REFCLK buffers on many
Intel platforms show an input current of 15.6mA, well under the 900mA limit.
The requirement for "all 80333 voltage rails to be stable before the PCI Express differential clocks
REFCLK+ and REFCLK- begin running" is no longer a requirement.
4.
Case temperature (Tcase) change
Issue:
To be consistent with the production test environment, the case temperature (Tcase) for the 80333
I/O processor has been changed from 105o c to 95o c.
5.
PWRGD and RSTIN# sequencing
Issue:
Strapping RSTIN# high (as stated in the 80333 design guide v001, table 3), bringing RSTIN# up
prior to PWRGD rising edge or tying PWRGD and RSTIN# together, could result in platform
failures.
The correct sequencing between PWRGD and RSTIN#, is for the rising edge of RSTIN# to follow
the rising edge of PWRGD by at least 1ms.
6.
Internal Clock Misalignment
Issue:
Due to non-core Erratum 35, Internal Clock Misalignment Can Cause Processor Hang, on page 26,
Intel is screening parts to eliminate the probability of occurrence. Until this is fixed in a future
stepping, a screen has been implemented which will screen out parts exhibiting this issue with a
VCC15 greater than 1.46v.
With the screen at 1.46v, the on-board 1.5v power rail should not be allowed to go below 1.46v, as
this would increase the risk of failure. The 1.5v rail minimum is currently specified in the datasheet
as 1.425v, therefore for screened parts, the minimum is changed to 1.46v.
Status:
32
Fixed. This issue was fixed in the A-1 stepping of the product.
Specification Update
Intel® 80333 I/O Processor
Specification Clarifications
Specification Clarifications
1.
PCI Express* to PCI-X Bridge does not support Device ID Messaging (DIM)
Issue:
The PCI Express* to PCI-X Bridge does not forward DIM transactions. This is an optional feature
in the PCI Express* to PCI/PCI-X Bridge Specification, Rev. 1.0.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
2.
64 MB and 2 GB DDR333 capacities not tested in post-silicon validation
Issue:
Intel is not able to test 64 MB and 2 GB DDR333 DIMMs due to availability. Intel cannot
guarantee proper functionality since validation cannot be completed.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
3.
DDR-II 400 unbuffered DIMMs are not supported
Issue:
The 80333 supports DDR333 buffered (registered) and unbuffered DIMMs, but supports only
DDR-II 400 buffered (registered) DIMMs. DDR-II 400 unbuffered DIMMs are not supported.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
4.
Memory map for 2 GByte of DDR memory
Issue:
The 80333 can support up to 2 Gbytes of DDR SDRAM, but it cannot cross a 2 GB boundary.
Therefore it must be mapped to either 0x00000000–0x7FFFFFFF or 0x80000000–0XFFFFFFFF.
Either range conflicts with one or more of the statically assigned regions. The recommendation is
to disable the direct outbound ATU window, in order to use the larger 2 GB memory, by clearing
ATUCR[8] (default setting is 0–disabled).
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
5.
PCI configuration write anomaly when clearing BINIT[1]
Issue:
There is an anomaly when the ATU does a configuration write to BINIT[1] of the A-segment
configuration header. When clearing bit[1] by writing 00000009h to the BINIT Configuration
Register (offset FCh), the PCI bridge retries the write the first time. The PCI specification states
that no data is to be transferred on retries. The configuration register is updated to 00000009h;
therefore, data did get transferred on the retry. The PCI bridge ignores the second write, giving a
master abort. BINIT[1] has a bit attribute of Read and Write Once (RWOS).
The worst-case implication is that a master abort error occurs when turning off inbound
configuration accesses (BINIT[1]–A-segment).
This anomaly is not seen when the A-segment is running in PCI-X mode, but only when in PCI
mode.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
6.
PWRGD and PERST# are the same signals
Issue:
The 80333 uses PWRGD to identify the primary reset signal as described in the PCI Express Card
Electromechanical Specification, Revision 1.0. This is the same signal as PERST#, which is
described in the PCI Express Card Electromechanical Specification, Revision 1.0a.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
Specification Update
33
Intel® 80333 I/O Processor
Specification Clarifications
7.
Back-to-back MCU MMR reads
Issue:
The memory controller unit (MCU) returns the wrong memory-mapped register (MMR) read data,
when two MMR read transactions are enqueued into the transaction queues at the same time. This
cannot happen from the BIU port as mapping the MMRs to this space is not allowed.
The only way this can occur is for two internal bus devices to request info from the MCU MMRs at
the same time (with different addresses). For example, the BIU (via the Intel XScale® processor)
and the ATU (via the host), which is a very unlikely usage model.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
8.
Reserved IDSELs on A-segment
Issue:
The Intel® 80333 I/O Processor Developer’s Manual added Table 9, which shows AD24–AD27 as
“reserved” IDSELs for the A-segment. These are reserved so that the Intel XScale® processor can
access the extended configuration space of the bridge by using type-0 configuration cycles.
The A-side bridge can also be accessed by type-1 configuration cycles, but the primary bus number
of the bridge must be tracked. On power-up, before the configuration retry bit is cleared, it is zero.
When this technique is used, the AD24 and AD25 can be used for public or private devices based
on BINIT[4], and AD26 and AD27 can be used for public devices.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
9.
Retry Disable Sequence
Issue:
The 80333 has three integrated units (A-bridge, B-bridge, and ATU) that include retry bits, and
these must be disabled in a specific sequence. When the retry bit is set, the PCI interface responds
to all type-0 configuration cycles with a retry transaction. When the retry bit is cleared, type-0
transactions are completed normally. The default condition of the retry bit is determined by the
RETRY reset strap muxed on AD[6].
Note:
Since a PCIX reset independent of a PCIE reset will result in a reset of the Intel XScale® processor
without resetting the bridge registers, the bridge retry release sequence MUST NOT be executed if
the bridge retry bit is not set. Code can check the A segment BINIT register (bit 3) to determine if
the bridge retry bits need to be cleared or not.
Proper retry disable sequence as initiated by the Intel XScale® processor:
1. Set the Bus Master Enable bit for the ATU in ATUCMD[2] (offset 04h) and enable the
outbound ATU in the ATUCR.
2. Read A segment BINIT to determine if bridge is currently retrying type 0 config cycles.
3. If the bridge is retrying cycles (read A-bridge BINIT register and check if bit 3 is set):
a. Set the Bus Master Enable bit for the A-bridge in PCICMD[2] (offset 04h).
b. Read the primary bus number from the A-bridge for use in creating the type 1 transaction
to the B side.
c. Enable the bridge (A side at a minimum, B side if application requires) to pass config
retry cycles upstream by setting bit 15 in the PCI Express Device Control Register register
at offset 0x4c.
d. Implement any errata workarounds that require bridge configuration cycle setup.
e. Clear the B-bridge retry bit in BINIT[3] (offset FCh using a type 1 transaction as defined
in the PCI specification).
34
Specification Update
Intel® 80333 I/O Processor
Specification Clarifications
f. Restore the A-bridge command register and clear the A-bridge retry bit in BINIT[3]
(offset FCh).
4. Clear (restore) the Bus Master Enable bit for the ATU in ATUCMD[2] (offset 04h).
5. Clear the ATU retry bit in PCSR[2] (offset 84h).
Note:
Access to the bridge configuration header space is done by using a configuration cycle, which is
generated by the ATU OCCAR and OCCDR registers.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
10.
Write requirements for the Peripheral Bus Interface
Issue:
PBI write requirements are as follows:
• The Flash or memory must be set up to accept writes.
• Each write must be checked to make sure it has completed, before the next write can start.
• It is now allowed to burst writes to the PBI.
The data presented must not be larger than the PBI width.
Every PBI device must be mapped in the MMU the same way. Making the device address space
cacheable can result in buffered/coalesced writes, which are burst to the PBI.
XCB = 000 and XCB = 101 are the only cache policies that can be used for PBI. All other cache
policies result in multi-byte transactions.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
11.
PCI-X Status Register during PCI mode
Issue:
The PCI-X Status Register (PX_SR, offset E4h-E5h) in the ATU has meaning only in PCI-X mode.
The device number and bus number fields are always updated when a configuration write is
detected. The ATU always grabs AD[15:11] for configuration writes, whether it is in PCI or PCI-X
mode. When a PCI configuration transaction occurs, the Device Number bits[7:3] are updated to a
value of 00000b from the default value of 11111b. The bus number bits[15:8] are grabbed only
during the attribute phase (which does not exist for PCI).
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
12.
M_RST# driven to DDR-II or DDR-I voltage levels
Issue:
The de-asserted voltage level on M_RST# with DDR-II is 1.8 V and with DDR-I is 2.5 V. When
M_RST# is needed for other devices (for example, Flash), make sure these voltage levels are
appropriate for the target device.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
13.
BIU master abort causes two interrupts on reads
Issue:
The Bus Interface Unit (BIU) will generate an interrupt when the BIU gets master aborted on an
internal bus write. The functionality is different between a read and write case. For a write, the BIU
master abort asserts IINTSRC[29] (when enabled) and does not assert an error to the core. For a
read, the BIU master abort asserts both IINTSRC[29] (when enabled) and an error to the core.
Therefore, on a read case two interrupts is generated. When the interrupt source is masked, then
only the master abort on reads is detected, and this is from the direct core error.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
Specification Update
35
Intel® 80333 I/O Processor
Specification Clarifications
14.
Potential race condition with Interrupt Controller Unit status bits
Issue:
There is a slight lag in the time it takes between clearing a status bit inside the unit and the
corresponding bit in the Interrupt Controller Unit Status Register getting cleared. This has the
potential of generating a false interrupt, meaning that the Intel XScale® processor is interrupted,
but the handler is not able to find any source reported in the ICU registers. This condition can be
avoided by adding a read from any ICU register, after the bit is cleared in the local unit before
returning from the interrupt handler. The data from this read can be ignored, but the read itself
creates enough latency to allow the updated status to propagate to the ICU.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
15.
Reset Internal Bus (PCSR[5]) usage
Issue:
PCI bus data corruption can occur when the reset internal bus bit is not used correctly. PCSR[5] can
be used to reset the internal bus. This resets all memory-mapped registers and the ATU
configuration header space. This bit is read/write-capable from both the internal bus and PCI bus.
For both PCI and PCI-X modes, make sure the following steps occur when setting PCSR[5]:
1. Clear Bus Master (ATUCMD[2]) Enable and Memory Enable (ATUCMD[1]).
2. Wait for both the outbound (PCSR[15]) and inbound (PCSR[14]) read transaction queue busy
bits to clear.
3. Make sure no PCI configuration read/write cycles targeting the ATU are in progress, except
the reset configuration write, when applicable.
4. Set the Reset Internal Bus bit.
5. Wait for 40 PCI clocks.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
16.
PCI Express* Transaction Header Log register repeats on offset 124 and 128
Issue:
The lower 32 bits of the address of the Single Address Cycle (SAC) are mirrored onto the upper
32 bits in the log register giving the appearance that a Dual Address Cycle (DAC, 64-bit address
transaction) occurred instead of a SAC (Single Address Cycle, 32-bit address transaction).
The lower 32 bits of the address are on the third DWord and the upper are on the fourth DWord.
The fourth DWord is “reserved” for a SAC transaction. So, instead of the fourth DWord defaulting
to 0 as expected, it actually mirrors the third DWord.
For example: For a 32-bit TLP (memory write with poisoned bit set) downstream transaction to the
80333, the header log (offset 11C–12B) could look like this:
Offset: 0x11C, Before: 0x00000000, After: 0x40004005
Offset: 0x120, Before: 0x00000000, After: 0x000000FF
Offset: 0x124, Before: 0x00000000, After: 0x06000000
Offset: 0x128, Before: 0x00000000, After: 0x06000000
Status:
36
No Fix. See the Table , “Summary Table of Changes” on page 7.
Specification Update
Intel® 80333 I/O Processor
Specification Clarifications
17.
SHPC sequence
Issue:
When using parallel 1-slot, no-glue Hot-Plug mode, the frequency does not update correctly with a
single reset; therefore, two B-segment resets are required. The first reset is needed to correctly
latch in the B_PCIXCAP and B_M66EN, and the second reset is needed to execute the change
frequency command. This sequence must be followed:
1. PWRGD 0 -> 1 (HW)
2. B_RST# 0 -> 1 (HW), at this time HPRST# is 0
3. Enable Slot Power (SW normal sequence)
4. Issue Hot-Plug change frequency with code 40 (PCI = 33M).
5. HPRST# 0 -> 1 (SW slot enable)
6. HPRST# = 1 (change frequency) [Note: this is a software step. Bus reset happens
automatically due to the change frequency.]
…operating…
7. HPRST# 1 -> 0 (SW slot disable)
…off/removal…
…new card inserted…
8. Go to step 2
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
Specification Update
37
Intel® 80333 I/O Processor
Specification Clarifications
18.
Bus Interface Unit follows PCI ordering rules
Issue:
The Core Bus Interface Unit orders transactions based on PCI rules. This allows outgoing writes to
pass incoming reads. For most devices on the internal bus, this does not cause problems since the
devices function asynchronously with respect to each other. For transactions between the Intel
XScale® processor and memory via the internal bus, this can result in unexpected data. For
example:
0: ldr r0, =0x40000
1: ldr r1, =0xaaaaaaaa
2: ldr r2, =0x55555555
3: str r1, [r0]
4: … <time-delay to allow the previous transactions to complete>
5: ldr r3, [r0]
6: str r2, [r0]
This code can potentially load the register r3 with the value 0x55555555, since the store in line 6
might pass the load in line 5. This happens only with uncached transactions on the internal bus.
The MCU core port enforces strict ordering and does not exhibit this behavior. When the MCU
core port is used, this issue does not occur.
When caching is enabled, the initial read initiates a cache-line fill. The subsequent write is pended
in the Intel XScale® processor until the line fill and the ldr instruction complete. In this case, this
issue does not occur.
When caching is disabled, and the caching policy is stall-until-complete (X = 0, C = 0, B = 0), this
issue does not occur. For other MMU settings with caching disabled, the issue can occur.
Specifically regions with data cache and write buffer policies of bufferable (X = 0, C = 0, B = 1) or
coalescing-disabled-bufferable (X = 1, C = 0, B = 1) are vulnerable to this issue. In addition,
regions configured as write through (X = 0, C = 1, B = 0) are also vulnerable to this issue.
In addition, when caching is enabled in the MMU page tables, but the DCache is disabled in the
CP15 ARM Control Register, then the effective caching policy is bufferable and this reordering
must be accounted for.
It is important to realize that any code that accesses memory spaces on the internal bus must
account for this possibility. Code that dynamically disables cache (for example, Flash
programming routines) must ensure that the caching policy for the appropriate memory region is
set to “stall until complete” until the cache is re-enabled.
The simplest scenario to reproduce is a pair of back-to-back function calls, for example:
main:
bl
bl
fun1
fun2
…
…
…
fun1:
stmfd
ldmfd
sp!,{r4, r5, r6, r7, r8, r9, r10, lr}
sp!,{r4, r5, r6, r7, r8, r9, r10, pc}
fun2:
stmfd
38
sp!,{r4, fp, ip, lr}
Specification Update
Intel® 80333 I/O Processor
Specification Clarifications
ldmfd
sp!,{r4, fp, ip, pc}
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
19.
UART, I2C and GPIO memory mapped registers should be addressed with
32-bit accesses
Issue:
The UART, I2C and GPIO units sit on a dedicated low-speed internal bus that does not support byte
enables. Due to this functionality, accessing any of these unit memory-mapped registers (MMR)
with any accesses less than 32-bits can result in corruption of the other bits in the 32-bit MMR. For
example, the GPOD register (located at FFFF_F788h) implements functionality for bit[10] and
bit[11]. When software performs a byte access to GPOD, this could cause bit[10] and bit[11] to be
written with incorrect data.
While most of these registers implement only the lower 8 bits (the upper three bytes are
“reserved”), the recommendation is that all UART, I2C, and GPIO MMRs must be accessed only as
32-bit registers. While it is desired that 32-bit accesses be performed, it is acceptable to access with
less than 32 bits, as long as all non-reserved bits are accessed. For purposes of future expansion,
32-bit accesses are preferred.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
20.
UART Interrupt Identification Register
Issue:
The UART Interrupt Identification Register (UxIIR) is read by software to determine the type and
source of UART interrupts. This register gathers and priority encodes the various sources of UART
interrupts. The register is read after an interrupt occurs. Enabling and disabling of interrupts (via
the Interrupt Enable Register [UxIER] or the Modem Control Register [UxMCR]) affects whether
or not the interrupt to the processor occurs. This does not effect the logging of the status of what is
happening in the UART. The UART operates in interrupt or polling mode. In polling mode, all
interrupts to the processor are disabled.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
21.
Reads on 16-bit PBI bus operate as 32-bit
Issue:
Two-byte and four-byte read transactions on the Peripheral Bus Interface (PBI) bus operate as burst
reads (in other words, two 16-bit read cycles). All the read transactions from the Intel XScale®
processor to PBI devices (such as SRAM, flash, and so on) are translated to burst reads with burst
size of 2, even though there is no necessity to generate a burst transaction. Therefore, devices on
the 16-bit PBI bus must be configured as pre-fetchable.
Note:
Single-byte transactions on 16-bit PBI bus is not a supported case. Also, a PBI bus configured as
8-bit does not operate this way.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
22.
3.3 V to 1.5 V leakage
Issue:
There is a leakage path from the 3.3 V rail to the 1.5 V rail. When the 3.3 V is powered-on and the
1.5 V is not, then ~500 mV is seen on the 1.5 V rail. This leakage is expected and does not cause
any long-term reliability issues.
For related issues, see Non-Core Erratum 10 (“Secondary bus PCI RST# pulse prior to the rising
edge of PWRGD” on page 17).
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
Specification Update
39
Intel® 80333 I/O Processor
Specification Clarifications
23.
Accessing extended bridge configuration space from the Intel XScale®
processor
Issue:
In certain cases, the Intel XScale® processor might need to access the extended configuration space
of the bridge headers (for example, see Non-Core Erratum 22, “Incorrect default value for
PCI Express* Flow Control Protocol Error Severity bit” on page 21). When the Intel XScale®
processor issues the configuration cycle address using OCCAR, bits[27:24] can be used for
addressing the extended space. For example, to access offset 10Ch of A-bridge configuration
space, use an address of 0x0101.000C for a type-zero configuration cycle.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
24.
Recommended B-segment termination when using the 80333 on
PCI Express* adapter cards
Issue:
For PCI Express* adapter cards, the B-segment is not used. Assuming PCIODTEN = 1 to enable
internal pull-ups, the following external connections must be made for an unused B-segment:
1. Connect B_CLKOUT to B_CLKIN. The other clockouts can be turned off by software (PCI
Clock Control register at offset 43 in the B-segment bridge configuration space).
2. For B_PME#, use an 8.2 KΩ pull-up.
3. For B_PCIXCAP, use a 3.3 KΩ pull-up.
4. For B_RCOMP, use 100 Ω to ground.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
25.
B-segment arbiter might not park on the last master when in PCI-X 133 MHz
mode
Issue:
When the B-segment is running in PCI-X 133 MHz mode, the arbiter might not park on the last
master, when bit[8] of the Internal Arbiter Control register (ARB_CNTRL[8], offset 16Ah) is
cleared.
This happens only when the B-segment is running at 133 MHz. When running at 66 MHz or
100 MHz, the arbiter parks the bus on the last master when ARB_CNTRL[8] is cleared. The
A-segment does not exhibit this behavior with the same setup.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
26.
Configuring XINTx# signals as PCI interrupts
Issue:
The PCI Specification Rev. 2.3 states that PCI interrupts are defined as “level sensitive” and “active
low”.
To configure the XINTx# signals of the 80333 as “level sensitive”, APIC_RDLxx[15] (Trigger
Mode) must be changed to 1 from its default of 0.
To configure the XINTx# signals of the 80333 as “active low”, APIC_RDLxx[13] (Interrupt Input
Pin Polarity) must be changed to 1 from its default of 0.
Status:
40
No Fix. See the Table , “Summary Table of Changes” on page 7.
Specification Update
Intel® 80333 I/O Processor
Specification Clarifications
27.
Power plane isolation for Battery Back-Up (BBU) mode
Issue:
During battery back-up (BBU) mode, when the battery powers the DIMM and the VCC25/18
signals (1.8 V or 2.5 V, depending on the memory type being used) on a single power plane, the
battery life will probably be reduced due to leakage.
To attain longer battery life, the DIMM and VCC25/18 power planes must be isolated. The power
plane isolation can be accomplished by using a FET.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
28.
AAU result can be written directly to PCI host memory
Issue:
The Application Accelerator Unit (AAU) can write results not only to local memory but also to the
PCI bus host memory via the ATU.
This feature can be applied to degraded RAID-5 reads, where the AAU result is the reconstructed
data for the host I/O read. The AAU can write its result to PCI; therefore, the degraded read XOR
result can be written directly to host memory. This eliminates the need for a DMA operation to
transfer the result from local memory to host memory via PCI.
Savings for the RAID application include the following:
•
•
•
•
Note:
No DMA descriptor needs to be generated.
No DMA interrupt needs to be serviced.
Memory and internal bus bandwidth is saved (result write by AAU and read by DMA).
Read I/O is serviced faster (eliminates latency of DMA operation).
AAU source reads from PCI are not supported; only local memory can be used for this.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
29.
SMBus connection recommendations for PCI Express* adapter cards
Issue:
PCI Express* cards based on the 80333 must implement the SMBus signals in one of the following
ways:
1. The SMDAT and SMCLK signals from the PCI Express* connector must be left as “no
connects”. The SCLK and SDTA signals on the 80333 must have pull-ups even when they are
not used. The pull-ups prevent the inputs from oscillating and potentially causing other
problems.
2. When the SMBus feature is required, an isolation device (for example, the LTC4301) must be
placed between the SMBus signals on the PCI Express* connector and the 80333, so that the
system has no connection to the 80333 on these two signals when power is off.
For motherboard designs, it is assumed that the SMBus is routed only to devices that are required
and that remain powered.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
Specification Update
41
Intel® 80333 I/O Processor
Specification Clarifications
30.
PBI lockout condition
Issue:
When the core is in a tight loop writing to the PBI bus, while the DMA is doing a large block
transfer (for example, from SRAM, located on the PBI, to DDR memory), the DMA can be locked
out of accessing the PBI and the transaction will never complete.
If this condition occurs, use one of these workarounds:
1. Change the MTTR1 from 98h (default) to a lower value (such as 01h). A lower value allows
the DMA (or ATU which can also master a transaction to the PBI) to gain access to the PBI,
because the BIU is given shorter access for back-to-back BIU internal bus transactions.
2. Add a core read along with the core write, causing it stall and preventing it from starving the
DMA.
3. Add NOPs or dummy instructions to ensure the loop spans greater than two cache lines.
4. Modify the loop such that the write is not done on every iteration.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
31.
PFREQ functionality
Issue:
The PFREQ bits (BCNF[10:9], offset 40h) cannot be used to change the actual PCI bus frequency.
The only way to change the PCI bus frequency is to reset the bus or use the hot-plug controller.
Note that this is an artifact of specification clarification 17 (“SHPC sequence” on page 37). The
same mechanism that requires two resets with the hot-plug controller, prevents the 33 MHz to/from
66 MHz PCI transition without hot plug. Other transitions (such as PCI-X) do work correctly; it is
only the PCI33 that cannot change to or from another bus speed.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
32.
PWRDELAY functionality during power sequencing
Issue:
When the 3.3 V rail is powered on and the 1.5 V rail is powered off, the PWRDELAY input signal
drives out until the 1.5 V rail powers up. This is important to understand if still using the legacy
power-fail circuit, because it might cause other circuitry to function incorrectly. The proper usage
of PWRDELAY is described in Specification Clarification 35 (“PWRDELAY needs only a pull-up
for battery back-up mode” on page 43), which recommends that PWRDELAY be isolated from all
circuitry and tied to a 1.5 KΩ pull-up resistor.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
33.
HPI# (High Priority Interrupt) is a maskable interrupt
Issue:
The HPI# interrupt input is both maskable and masked by default (as are all interrupts). It is
controlled by INTCTL1[31]. HPI# operates the same as the other external interrupt inputs
(XINT[7:0]#).
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
34.
OCD and Receive Enable calibration de-featured
Issue:
The ability to adjust the electrical interface to account for out-of-specification DDR-II DIMMs
using OCD (off-chip driver) and receive enable calibration, is no longer a supported feature.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
42
Specification Update
Intel® 80333 I/O Processor
Specification Clarifications
35.
PWRDELAY needs only a pull-up for battery back-up mode
Issue:
The I2C bus is no longer included in the processor reset equation. This allows the PWRDELAY
circuit to be simplified to a single pull-up resistor, to enable battery back-up mode. PWRDELAY
must be isolated from all other circuitry, and only a 1.5 KΩ pull-up to 3.3 V is required. When
battery back-up is not required, PWRDELAY must have a 1.5 KΩ pull-down resistor.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
36.
PCI Express* L0s functionality not supported in the 80333
Issue:
Due to the unreliable behavior described in Non-core Erratum 16 (“Unreliable PCI Express* link
operation when L0s active state power management is enabled” on page 19), L0s active power
management state is not supported. The BIOS must be updated to leave L0s disabled on the 80333
by default, and eliminate any setup option with which to enable it. Additionally, the BIOS must not
allow L0s to be enabled on any PCI Express* root ports connected to the 80333 end-devices.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
37.
DDRRES2 can be pulled down to reduce current during self-refresh
Issue:
DDRRES2 is used as compensation for DDR-II OCD. Since OCD is not supported in the 80333
(see Specification Clarification 34, “OCD and Receive Enable calibration de-featured” on
page 42), DDRRES2 can be pulled down to reduce current draw during self-refresh mode.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
38.
DDRSLWCRES resistor values
Issue:
The following resistors can be used on DDRSLWCRES:
• DDR-I memory: 845 Ω or 1.13 KΩ resistor, 1%
• DDR-II memory: 825 Ω or 976 Ω resistor, 1%
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
39.
B_PME# routing recommendation when using Parallel Hot Plug 1-slot,
no-glue mode
Issue:
When the B-segment is in parallel hot plug, one-slot, no-glue mode, the B_PME# signal might be
pulled to ground. Since B_PME# is active low and might be connected to the GIPx pin of ICHx,
the ICHx interprets the low voltage of B_PME# as a power-management event from the PCI-X
slot. This might cause the system not to remain in the appropriate power mode when no add-in card
is plugged into the slot. B_PME# must be high when there is no PME request from the PCI-X slot.
To work around this issue, add a diode between the buffer and the 80333, and add a 1 KΩ–10 KΩ
pull-up resistor to the B_PME# signal. The diode can prevent ICHx from getting a B_PME# low
logic level when there is no PME request from the PCI-X slot.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
Specification Update
43
Intel® 80333 I/O Processor
Specification Clarifications
40.
Multi-Transaction Timer grants fewer clocks in PCI mode than expected
Issue:
The Multi-Transaction Timer (MTT, offset 42), in the bridge configuration header of the 80333,
specifies the number of clocks that GNT# asserts to a master device on the PCI bus. When running
in PCI-X mode, the number of clocks granted matches the value programmed in the MTT, but
when in PCI mode, the master is granted 16 clocks fewer than the value programmed in the MTT.
The number of GNT# cycles is measured from the assertion of FRAME# to the deassertion of
GNT# with REQ# asserted during the whole time. This behavior occurs on both the A- and B-bus
segments and at both PCI frequencies (33 MHz and 66 MHz). For example, when the MTT value is
0x18, it produces 0x8 clocks between the assertion of FRAME# and deassertion of GNT#. Another
example: when the MTT value is 0x30, it produces 0x20 clocks between the assertion of FRAME#
and deassertion of GNT#.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
41.
Byte Enables (BE) not included in PCI delayed reads can cause data
corruption
Issue:
A PCI device on one of the secondary busses that generates a zero-length read request can cause
data corruption in platforms utilizing non-Intel® MCH components, as the byte enables (BE) are
not included by the 80333 bridge in matching completions to PCI delayed read requests. All Intel®
MCH devices return data consistent with the address of a zero-length read request. Thus, no
corruption can occur when a subsequent non-zero-length read is inadvertently completed with data
returned on behalf of the zero-length request, but this behavior is not required by specification.
The following is an example case:
1. A memory read request with zero BE is issued over PCI; a corresponding zero-length read
results on PCI Express* to the host.
2. A PCI device on the same PCI segment issues a MR/MRL/MRM to the same address with valid
BEs.
3. The 80333 bridge matches the completion for the Memory Read request on line 1 to the request
on line 2 (in other words, BEs are ignored).
4. Unspecified data (returned for the zero-length read request) is driven to the PCI card, resulting in
data corruption.
Note: This affects PCI mode exclusively, and is not an issue when the secondary busses are
operating in PCI-X mode. Whether corruption can occur through this mechanism is dependent
upon the behavior of the non-Intel® MCH component. If the MCH in use behaves similarly to
Intel® MCH designs, there is no exposure to data corruption, and the incomplete completion match
does not have any side effects.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
42.
Interleaving AAU descriptors
Issue:
The P+Q capability is enabled in the AAU globally (ACR.3), not on a descriptor by descriptor
basis. Therefore if enabled, all descriptors are processed as P+Q descriptor formats. If disabled, all
descriptors are processed as prior AAU definitions (ie - straight XOR). In order to mix RAID-5
with P+Q RAID-6, enable P+Q RAID-6 GF Multiply for the AAU, and build all RAID-5 XOR
descriptors as P+Q RAID-6 descriptors, where the GF Multiplier Byte values are all 0x01.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
44
Specification Update
Intel® 80333 I/O Processor
Specification Clarifications
43.
RCVDLY setting for DDR-I memory
Issue:
The Receive Enable Delay Register (RCVDLY at FFFF_F550h) is used for DQS receive enable
calibration. In other words, RCVDLY adjusts the memory controllers relationship of DQS to an
internal M_CLK.
The RCVDLY value is highly dependant on the board layout and DIMM characteristics. Also, the
memory controller only supports a non integer CAS latency (tCAS = 2.5, SDCR0.9:8) for DDR-I,
which means that RCVDLY may need to be adjusted because DQS is no longer synchronized with
M_CLK.
Therefore, when using DDR-I memory the RCVDLY default setting of 5, may need to be changed
to 6 or 7 to operate correctly with a specific DIMM based on the board layout. For example, the
Redboot reference code provided by Intel uses a value to 7 in order to allow for a wider
compatibility with various DIMMs.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
44.
Embedded Usage Models
Issue:
The 80333 I/O Processor was designed to be used as a PCI-Express endpoint. The PCI-Express
interface on the 80333 does not have root complex support, therefore it cannot be used in an
embedded application unless there is an upstream root complex that can control the 80333
PCI-Express port.
Also, data transfers between the A-segment PCI bus and B-segment PCI bus is not a supported
configuration. These two PCI busses are independent and only bridge to the PCI-Express
interface.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
45.
ATUBAR3 Functionality
Issue:
The private memory window of the PCI A-segment defines an address range that the 80333 uses to
map private devices to, and to locate local memory for private device access. This range is
intended to be mapped to the ATUs private BAR window (ATUBAR3) and the private device
BARs. Note that even when the private addressing is enabled, the normal 80333 behavior defined
for BME, MSE, IOSE bits in the ATUCMD register are still true. Therefore, when the ATU
Memory Space Enable bit is cleared, all ATU BARs including ATUBAR3 will be unable to claim
any memory transactions. For example, this bit is typically cleared during a PCI bus scan /
enumeration.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7.
46.
VREF isolation for Battery Back-up (BBU) mode
Issue:
During battery back-up (BBU) mode, the DIMM power can be isolated from the 80333 IOP power.
This isolation should also include the VREF signal for the DIMM interface. Due to leakage, the
VREF signal for the DIMM should be isolated from the VREF signal for the IOP. This is to ensure
that VREF for the DIMM is not disturbed as the IOP powers down when entering battery back-up
(BBU) mode. The isolation can be provided by using separate voltage dividers or a FET.
For related issues, refer to Specification Clarification 27, “Power plane isolation for Battery
Back-Up (BBU) mode” on page 41.
47.
I2C Unit Enabling
Issue:
Software must guarantee that the I2C bus is idle before enabling the I2C unit. Failure to do so could
result in unstable behavior. The IBMR register can be used to monitor the state of the SCL and
SDA pins in order to determine bus activity. The I2C Bus Busy bit in the I2C Status Register
(ISR.3) can not be used for this purpose, as it is only valid when the I2C unit is enabled.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7
Specification Update
45
Intel® 80333 I/O Processor
Specification Clarifications
48.
DMA transactions from local memory to a conventional PCI target can
complete out of order
Issue:
It is possible for the Outbound ATU to get backed up and retry the DMA unit. When this
occurs, the possibility exists for DMA transactions to complete out of order as each DMA has 3
separate data queues and there is no guarantee as to which one of the queues will drain on the retry.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7
49.
SBR1 Programming with Bank 1 Unpopulated
Issue:
When using single-banked DDR-II DIMMs and the SDRAM Boundary Register 1 (SBR1;
FFFF_E514h) is not programmed to match the SDRAM Boundary Register 0 (SBR0;
FFFF_E510h), the wrong ODT signal will become activated. The memory controller provides two
ODT (On Die Termination) signals (ODT[1:0]) which are used with DDR-II DIMMs to turn on
termination during writes.
Section 8.7.6 in the Intel® 80333 I/O Processor Developer’s Manual (305432) states, “If bank 1 is
unpopulated, SBR1[6:0] is programmed either with all zeroes or a value equal to SBR0[6:0].” To
clarify this statement for single-banked DDR-II DIMMs, if bank 1 is unpopulated, then the entire
SBR1 must be programmed the same as SBR0. This includes lower bits 06:00 and upper bits
31:30. Bits 30:07 are reserved and should not be written. The memory controller compares the
entire range of the SBR0 and SBR1 to determine which ODT signal to enable. If the upper bits
31:30 in SBR0 and SBR1 do not match, then ODT1 will become active instead of ODT0.
In addition, when bank 1 is unpopulated, SBR1[6:0] should never be zero if SBR0[6:0] is non-zero.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7
50.
32-bit Writes to Unaligned 64-bit Addresses are Promoted to 64-bit Aligned
Writes
Issue:
In applications that run the PCI bus segment in 32-bit PCI Mode or 64-bit PCI Mode with 32-bit
targets, write transactions that are on unaligned 64-bit addresses are promoted to 64-bit aligned
writes. The first half of the 64-bit write is on a 64-bit aligned address and has the BE# signals
disabled. Therefore, the write is invalid. The second half on the 64-bit write is a valid write with the
BE# enabled and the write is to the intended 32-bit address.
Per the PCI Local Bus Specification, Revision 2.2, PCI compliant devices should ignore the first
half of the 64-bit write due to the BE# signals being disabled.
For devices that support using the I/O window, the 64-bit write does not occur when using the ATU
I/O Window and only the expected 32-bit write occurs.
For memory mapped devices, the only option is to run in PCI-X mode, where the byte count and
starting address are consistent with the actual number of bytes to be written (i.e., 4). When a 64-bit
PCI-X request gets downshifted, the requester can use the starting address/byte count to recognize
that the write request does not cross a DWORD address boundary and only perform a single 32-bit
wide data cycle.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7
51.
ATU Retry Response Through the Bridge
Issue:
The bridge will not pass ATU retry responses upstream through the bridge unless bit 15 in the
PCI Express Device Control Register (EXP_DCTL) register, located at offset 0x4c, is set to '1'.
Status:
No Fix. See the Table , “Summary Table of Changes” on page 7
46
Specification Update
Intel® 80333 I/O Processor
Specification Clarifications
52.
Case Temperature Clarification
Issue:
Internal models indicate that certain elevated case temperatures (Tcase) of the Intel® 80333 I/O
processor may cause elevated field failures in later years of operation. This clarification is
precautionary, as Intel has not seen any failures of the 80333 products in the field. Internal
modeling data indicates that the degree of failure risk decreases with lower operating frequency
(i.e. – 500, 667, or 800MHz) and temperature (i.e. – case temperature). If a failure should occur, it
would manifest itself as a hard failure of the I/O processor which can cause a system failure.
A detailed analysis of the system operating conditions, specifically case temperature of the 80333
I/O processor, is required. The 80333 should be run with Tcase temperatures that, over the lifetime
of the part, average less than the 95o C maximum Tcase that is currently specified in the Intel®
80333 I/O Processor Datasheet (305433).
Tcase recommendations for the 80333:
Frequency
5 year operating life
6 year operating life
7 year operating life
500MHz
95o C
93o C
91o C
667MHz
85o C
83o C
80o C
800MHz
78o
76o
74o C
C
C
Note: Tcase temperatures in the table reflect an average Tcase temperature over the lifetime of the
product.
Status:
Fixed. This issue was fixed in the A-1 stepping of the product. See the Table , “Summary Table of
Changes” on page 7.
Specification Update
47
Intel® 80333 I/O Processor
Documentation Changes
Documentation Changes
1.
PCI clock timings table missing note
Issue:
Table 25 needs a note added referencing support of class 2 clock jitter.
Workaround:
A fourth note has been added to Table 25 and appears as follows:
4 - Clock jitter class 2, per PCI-X Electrical and Mechanical Rev 2.0a specification
®
Affected Docs: Intel 80333 I/O Processor Datasheet (305433-001)
2.
Wrong Voltage Values in Table 23
Issue:
Table 23 shows wrong voltage values.
Workaround:
Replaced two rows in Table 23. The two rows now appear as follows:
VOL1
Output Low Voltage (DDR SDRAM)
VOH1
Output High Voltage (DDR SDRAM)
0.35
1.95
V
IOL = 12.5 mA (1, 2)
V
IOH = -12.5 mA (1, 2)
Affected Docs: Intel® 80333 I/O Processor Datasheet (305433-002).
3.
SBR1 Programming When Bank 1 is Unpopulated
Issue:
Section 8.7.6 incorrectly states: “If bank 1 is unpopulated, SBR1[6:0] is programmed either with
all zeroes or a value equal to SBR0[6:0].”
Workaround:
The sentence should be changed to “If bank 1 is unpopulated, SBR1[6:0] and SBR1[31:30] should
be programmed with a value equal to SBR0[6:0] and SBR0[31:30].”
Affected Docs: Intel® 80333 I/O Processor Developer’s Manual (305432-001)
4.
PCI Express clock cycle time minimum
Issue:
Table 27 in the 80333 datasheet shows the PCI Express clock cycle time, Tc2, as 10ns minimum.
Workaround:
Since the 80333 is compliant to PCI-Express 1.0a specification, this should be changed to 9.872ns
minimum.
Affected Docs: Intel® 80333 I/O Processor Datasheet (305433-003)
48
Specification Update