S5935_07 AMCC | Alldatasheet

Document overview

  • Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
  • PDF pages: 204

Technical content

Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 1 S5935 PCI Product Data Book S5935 PCI PRODUCT DATA BOOK

S5935 – PCI Product

2 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book (This page intentionally left blank.)

Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 3 S5935 PCI Product Data Book

FEATURES

  • PCI 2.1 Compliant Master/Slave Device
  • Full 132 Mbytes/sec Transfer Rate
  • Supports new Intel 440BX/GX Chipsets
  • Supports new WinNT Service Pack 2 & 3
  • PCI Bus Operation DC to 33 MHz
  • 8/16/32 Bit Add-On User Bus
  • Four Definable Pass-Thru Data Channels
  • Two 32 Byte Internal FIFOs w/DMA
  • Synchronous Add-On Bus Operation
  • Mail Box Registers w/Byte Level Status
  • Direct Mail Box Data Strobe/Interrupts
  • Direct PCI & Add-On Interrupt Pins
  • Optional Non-Volatile Memory Boot Loading
  • Optional Expansion BIOS/POST Code

APPLICATIONS

  • High Speed Networking
  • Digital Video Applications
  • I/O Communications Ports
  • High Speed Data Input/Output
  • Multimedia Communications
  • Memory Interfaces
  • High Speed Data Acquisition
  • Data Encryption/Decryption
  • Intel i960 Interface
  • General Purpose PCI Interfacing
  • Existent S5933 Design Upgrades

DESCRIPTION

The PCI Local bus concept was developed to break the PC data I/O bottleneck and clearly opens the door to increasing system speed and expansion capabili ties. The PCI Local bus moves high speed peripherals from the I/O bus and places them closer to the sys tem’s processor bus, providing faster data transfers between the processor and peripherals. The PCI Local bus also addresses the industry’s need for a bus stan dard which is not directly dependent on the speed, size and type of system processor. It represents the first microprocessor independent bus offering perfor mance more than adequate for the most demanding applications such as full-motion video. Applied Micro Circuits Corporation (AMCC), the pre - mier supplier of single ch ip solutions, has developed the S5935 to solve the problem of interfacing applica - tions to the PCI Lo cal bus while offering support for newer PCI chipsets and operating systems. The S5935 is a powerful and flexible PCI controller sup porting several levels of interface sophistication. At the lowest level, it can serve simply as a PCI bus Target with modest transfer requirements. For high-perfor mance applications, the S5935 can become a Bus Master to attain the PCI Local bus peak transfer capa bility of 132 MBytes/sec. The S5935 PCI controller also maintains dropin compatibility for upgrading many existent S5933 designs re quiring migration into new motherboard architectures, PCI BIOSs and software operating systems. Figure 1. S5935 Block Diagram

2.1 PCI Local Bus

S5935 – PCI Product

4 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book TABLE OF CONTENTS

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 5 Data Book

S5935 – PCI Product

6 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 7 Data Book

S5935 – PCI Product

8 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book

10 DS1527 AMCC Confidential and Proprietary

12 DS1527 AMCC Confidential and Proprietary

S5935 – PCI Product

14 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book The S5935 is an off-the-shelf, low-cost, standard prod- uct, which is PCI 2.1 compliant. And, since AMCC is a member of the PCI Special Interest Group, the S5935 has been tested on various manufacturer’s PCI moth erboards, chip sets, PCI BIOSs and operating systems. This removes the burden of compliance and compatibility testing from the designer and thus signifi cantly reduces development time. Utilizing the S5935 allows the designer to focu s on the actual application, not debugging the PCI interface. The S5935 allows special direct data accessing between the PCI bus and the user application through implementation of four definable Pass-Thru data chan nels. Each data channel is implemented by defining a Host memory segment size and 8/16/32-bit user bus width. The addition of two 32 byte FIFOs, also used in S5935 Bus Mastering applicat ions, provides further versatility to data transfe r capabilities. FIFO DMA transfers are supported using Address and Transfer Count Registers. Four 32-bit Mailbox Registers cou pled with a Status Regist er and extensive interrupt capabilities provide flexib le user command or mes - sage transfers between the two buses. In addition, the S5935 also allows use of an external serial, or byte- wide non-volatile memory to perform any pre-boot ini tialization requirements and to provide custom expansion BIOS or POST code capability. S5935 ARCHITECTURE The block diagram in Figure 1 above shows the major functional elements within the S5935. The S5935 pro vides three physical bus interfaces: the PCI Local bus, the user local bus referred to as the Add-On Local bus and the optional serial and byte-wide non-volatile memory buses. Data move ment between buses can take place through mailbox registers or the FIFO data channel, or a user can define and enable one or more of the four Pass-Thru data channels. S5935 Bus Mas ter or DMA data transfers to and from the PCI Local bus are performed through the FIFO data channel under either Host or Add-On software control or Add- On hardware control using dedicated S5935 signal pins. The S5935 signal pins are shown in Figure 2. The PCI Local Bus signals are detailed on the left side; Add-On Local Bus signal are detai led on the right side. All additional S5935 device control signals are shown on the lower right side. The S5935 supports a two wire serial nvRAM bus and a byte-wide EPROM/FLASH bus. This allows the designer to customize the S5935 configuration by loading setup information on system power-up. Figure 2. S5935 Register Architecture Control and configuration of the Add-On Local bus, and the S5935 itself, is performed through three pri - mary groups of registers. These groups consist of PCI Configuration Registers, PCI Operation Registers and Add-On Operation Registers. These registers are user configurable through either their associated bus or from an external non-volatile memory device. This section will provide a brief overview of each of these register groups and the optional non-volatile interface. Add-On Bus Control S5933 Register Access Pass-Thru Control/Access Serial Bus Config/BIOS Opt. PCI Local Bus S5935 Control Add-On Data Bus Direct FIFO Access Byte Wide Config/BIOS Opt. BPCLK RDFIFO# SYSRST# IRQ# WRFIFO# DQ[31:0] SELECT# ADR[6:2] BE[3:0]# RD# WR# PT ATN# PTBURST# PTNUM[1:0]# PTBE[3:0]# PT ADR# PTWR PTRDY# RDEMPTY WRFULL EA[15:0] EQ[7:0] EWR#/SDA ERD#/SCL PCLK INT A# RST# AD[31:0] C/BE[3:0]# FRAME# DEVSEL# IRDY# TRDY# IDSEL# STOP# LOCK# PA R PERR# SERR# S5935 GNT# REQ# MODE SNV

group of Configuration Regi sters for the host system. the S5935 PCI Configuration Registers. Table 1. PCI Configuration Registers

16 DS1527 AMCC Confidential and Proprietary

operation and communicates with the PCI Local bus. Registers and Status/Control registers. Table 2. PCI Operation Registers

disassembling of 32-bit data. to the byte wide at power up. Table 3. Add-On Bus Operation Registers

S5935 – PCI Product

18 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Figure 3. PCI Local Bus Mailbox Status Register S5935 Add-On Local Bus PCI MB1 Byte 0 PCI MB2 Byte 0 PCI MB3 Byte 0 PCI MB4 Byte 0 PCI MB1 Byte 1 PCI MB2 Byte 1 PCI MB3 Byte 1 PCI MB4 Byte 1 PCI MB1 Byte 2 PCI MB2 Byte 2 PCI MB3 Byte 2 PCI MB4 Byte 2 PCI MB1 Byte 3 PCI MB2 Byte 3 PCI MB3 Byte 3 PCI MB4 Byte 3 Add MB1 Byte 0 Add MB2 Byte 0 Add MB3 Byte 0 Add MB4 Byte 0 Add MB1 Byte 1 Add MB2 Byte 1 Add MB3 Byte 1 Add MB4 Byte 1 Add MB1 Byte 2 Add MB2 Byte 2 Add MB3 Byte 2 Add MB4 Byte 2 Add MB1 Byte 3 Add MB2 Byte 3 Add MB3 Byte 3 Add MB4 Byte 3

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 19 Data Book Pass-Thru Operation Pass-Thru operation executes PCI bus cycles in real time with the Add-On bus. This allows the PCI bus to directly read or write to Add-On resources. The S5935 allows the designer to decla re up to four individual Pass-Thru Regions. Each region may be defined as 8, 16-, or 32-bits wide, mapped into host memory or I/O space and may be up to 512MB bytes in size. Figure 4 right shows a block diagram of the S5935 Pass-Thru architecture. Pass-Thru operations are performed in PCI target only mode, making this data channel useful for converting existing ISA or EISA designs over to the fast PCI architecture. The Pass-Thru data channel utilizes sep arate Add-On bus signal pins to reflect a PCI bus read or write request. Add-On logic decodes these signals to determine if it must read or write data to the S5935 to satisfy the request. Information decoded includes PCI request occurring, the byte lanes involved, the specific Pass-Thru region ac cessed and if the request is a burst or single-cycle access. All requested Pass- Thru address and data information is passed via Add- On Operation Registers. Pass-Thru operation supports single PCI data cycles and PCI data bursts. During PCI burst operations, the S5935 is capable of transferring data at the full PCI bandwidth. Should slower Add-On logic be imple mented, the S5935 automatically issues PCI bus waits or a Host retry indication until the requested transfer is satisfied. Figure 4. FIFO PCI Bus Mastering Operation FIFO PCI Bus Master data transfers are processed by one of two 8-DWORD FIFOs. The FIFO block diagram is shown in Figure 5. The particular FIFO selected for a data transfer is dependent only on the direction of data flow and is completely transparent to the user. Internal S5935 decode logic selects the FIFO that is dedicated to transferring data to the other bus. The way data is transferred by a FIFO, is determined by Operation and Configur ation Registers contained within the S5935. A FIFO may be configured for either PCI or Add-On initiated Bus Mastering with program mable byte advance conditions, read vs. write priorities and Add-On bus widths. Advance conditions allow the FIFO to implement 8-, 16- or 32-bit bus widths. Configuring the S5935 for Bus Master opera tion enables separate address and data count registers, which are loaded with the PCI memory address location and number of bytes to be read or written. This is accomplished by either the Host CPU or Add-On logic. Data can be transferred between the two buses transparent to the PCI Host processor, how ever, the Add-On logic is required to service the S5935 Add-On Local bus. An indication of transfer completion can be seen by polling a status register done bit or S5935 signal pin or enabling a ‘transfer count = 0’ interrupt to either bus. Further FIFO configuration bits select 16, 32, or 64 bit Endian conversion options for incoming and outgoing data. Endian conversion allows an Add-On processor and the host to transfer data in their native Endian for mat. Other configuration bi ts determine if the Add-On Local bus width is 8, 16 or 32 bits. 16-bit bus configu - rations internally steer FIFO data from the upper 16 bits of the DWORD and then to the lower 16-bits on alternate accesses. FIFO pointers are then updated when appropriate bytes are accessed. Other methods are available for 8-bit or 16-bit Add-Ons. Efficient FIFO management configuration schemes unique to the AMCC S5935 specify how full or empty a FIFO must be before it requests the PCI Local bus. These criteria include bus r equests when any of the 8 DWORDs are empty, or when four or more DWORDs are empty. This allows the designer to control how often the S5935 requests the bus. The S5935 always attempts to perform burst operations to empty or fill the FIFOs. Further FIFO capa bilities over the standard register access methods allow for direct hardware FIFO access. This is provided through separate access pins on the S5935. Other status output pins allow for easily cascading external FIFOs to the Add- On design. PCI Local Bus S5935 Add-On Pass-Thru Read Data Add-On Pass-Thru Write Data Add-On Local BusAddress Latch Add-On Pass- Thru Address Register

S5935 – PCI Product

20 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Figure 5. PCI Local Bus 32-Bit Master W rite Address Register S5935 Add-On Local Bus B0 B0 B0 B1 B1 B1 B1 B2 B2 B2 B2 B3 B3 B3 B3 B0 B0 B0 B0 B1 B1 B1 B1 B2 B2 B2 B2 B3 B3 B3 B3 Endian Converter 32-Bit Master ReadAddress Register 30-Bit Master Read Count Register B0 B0 B0 B0 B1 B1 B1 B1 B2 B2 B2 B2 B3 B3 B3 B3 B0 B0 B0 B0 B1 B1 B1 B1 B2 B2 B2 B2 B3 B3 B3 B3 Endian Converter 28-Bit Master W rite Count Register

Figure 6. S5933 Pin Assignment

S5935 – PCI Product

22 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book (This page intentionally left blank.)

present, the signal is active high. Figure 7. S5935 Signal Pins in Input is a standard input-only signal. out Totem Pole Output is a standard active driver. t/s Tri-State ® is a bidirectional, tristate input/output pin. inactive state until another agent drives it, and must be provided by the central source. o/d Open Drain allows multiple devices to share as a wire-OR.

S5935 – PCI Product

24 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Address and Data Pins — PCI Local Bus Signal Type Description AD[31:00] t/s Local Bus Address/Data lines. Address and data are multiplexed on the same pins. Each bus opera- tion consists of an address phase followed by one or more data phases. Address phases are identified when the control signal, FRAME#, is asserted. Data transfers occur during those clock cycles in which control signals IRDY# and TRDY# are both asserted. C/BE[3:0]# t/s Bus Command and Byte Enables. These are multiplexed on the same pins. During the address phase of a bus operation, these pins identify the bus command, as shown in the table below. During the data phase of a bus operation, these pins are used as Byte Enables, with C/BE[0]# enabling byte 0 (least significant byte) and C/BE[3]# enabling byte 3 (most significant byte). C/BE[3:0]# Description (during address phase) 0 0 0 0 Interrupt Acknowledge 0 0 0 1 Special Cycle 0 0 1 0 I/O READ 0 0 1 1 I/O WRITE 0 1 0 0 Reserved 0 1 0 1 Reserved 0 1 1 0 Memory Read 0 1 1 1 Memory Write 1 0 0 0 Reserved 1 0 0 1 Reserved 1 0 1 0 Configuration Read 1 0 1 1 Configuration Write 1 1 0 0 MEMORY READ - Multiple 1 1 0 1 Dual Address Cycle 1 1 1 0 Memory Read Line 1 1 1 1 Memory Write and Invalidate PAR t/s Parity. This signal is even parity across the entire AD[31:00] field along with the C/BE[3:0]# field. The parity is stable in the clock following the address phase and is sourced by the master. During the data phase for write operations, the bus master sources this signal on the clock following IRDY# active; during the data phase for read operations, this signal is sourced by the target and is valid on the clock following TRDY# active. The PAR signal therefore has the same timing as AD[31:00}, delayed by one clock.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 25 Data Book System Pins — PCI Local Bus Signal Type Description CLK in Clock. The rising edge of this signal is the reference upon which all other signals are based, with the exception of RST# and the interrupt (IRQA#-). The maximum frequency for this signal is 33 MHz and the minimum is DC (0 Hz). RST# in Reset. This signal is used to bring all other signals within this device to a known, consistent state. All PCI bus interface output signals are not driven (tri-stated), and open drain signals such as SERR# are floated. Interface Control Pins — PCI Bus Signal Signal Type Description FRAME# s/t/s Frame. This signal is driven by the current bus master and identifies both the beginning and duration of a bus operation. When FRAME# is first asserted, it indicates that a bus transaction is beginning and that valid addresses and a corresponding bus command are present on the AD[31:00] and C/BE[3:0] lines. FRAME# remains asserted during the data transfer portion of a bus operation and is deasserted to signify the final data phase. IRDY# s/t/s Initiator Ready. This signal is sourced by the bus master and indicates that the bus master is able to complete the current data phase of a bus transaction. For write operations, it indicates that valid data is on the AD[31:00] pins. Wait states occur until both TRDY# and IRDY# are asserted together. TRDY# s/t/s Target Ready. This signal is sourced by the selected target and indicates that the target is able to com- plete the current data phase of a bus transaction. For read operations, it indicates that the target is pro- viding valid data on the AD[31:00] pins. Wait states occur until both TRDY# and IRDY# are asserted together. STOP# s/t/s Stop. The Stop signal is sourced by the selected target and conveys a request to the bus master to stop the current transaction. LOCK# in Lock. The lock signal provides for the exclusive use of a resource. The S5935 may be locked as a tar- get by one master at a time. The S5935 cannot lock a target when it is a master. IDSEL in Initialization Device Select. This pin is used as a chip select during configuration read or write opera- tions. DEVSEL# s/t/s Device Select. This signal is sourced by an active target upon decoding that its address and bus com- mands are valid. For bus masters, it indicates whether any device has decoded the current bus cycle. Arbitration Pins (Bus Masters Only) — PCI Local Bus Signal Type Description REQ# out Request. This signal is sourced by an agent wishing to become the bus master. It is a point-to-point signal and each master has its own REQ#. GNT# in Grant. The GNT# signal is a dedicated, point-to-point signal provided to each potential bus master and sig- nifies that access to the bus has been granted. Error Reporting Pins — PCI Local Bus Signal Type Description PERR# s/t/s Parity Error. This pin is used for reporting parity errors during the data portion of a bus transaction for all cycles except a Special Cycle. It is sourced by the agent receiving data and driven active two clocks fol- lowing the detection of the error. This signal is driven inactive (high) for one clock cycle prior to returning to the tri-state condition.

S5935 – PCI Product

26 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book SERR# o/d System Error. This pin is used for reporting address parity errors, data parity errors on Special Cycle com- mands, or any error condition having a catastrophic system impact. Interrupt Pin — PCI Local Bus Signal Type Description INTA# o/d Interrupt A. This pin is a level sensitive, low active interrupt to the host. The INTA# interrupt must be used for any single function device requiring an interrupt capability. Error Reporting Pins — PCI Local Bus Signal Type Description

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 27 Data Book NON-VOLATILE MEMORY INTERFACE SIGNALS This signal grouping provides for connection to exter - nal non-volatile memories. Either a serial or byte-wide device may be used. The serial interface shares the read and write control pins used for interfacing with byte-wide memory devices. Since it is intended that only one (serial or byte wide) configuration be used in any given imple mentation, separate descriptions are provided for each. The S5935 provides the pins necessary to inter - face to a byte wide non-volatile memory. When they are connected to a properly configured serial memory, these byte wide interface pins assume alternate func tions. These alternate functions include added external FIFO status flags, FIFO reset control, Add-On control for bus mastering and a hardware interface mailbox port. Note: SCL and SDA are not controlled by FLT#. Serial nv Devices Signal Type Description SCL t/s Serial Clock. This output is intended to drive a two-wire Serial Interface and functions as the bus’s master. It is intended that this signal be directly connected to one or more inexpensive serial non-volatile RAMs or EEPROMs. This pin is shared with the byte wide interface signal, ERD#. SDA t/s Serial Data/Address. This bidirectional pin is used to transfer addresses and data to or from a serial nvRAM or EEPROM. It is an open drain output and intended to be wire-ORed with all other devices on the serial bus using a 4.7K external pull-up resistor. This pin is shared with the byte wide interface signal, EWR#. SNV in Serial Non-Volatile Device. This input, when high, indicates a serial boot device or no boot device is present. When this pin is low, a byte-wide boot device is present. Byte-Wide nv Devices Signal Type Description EA[15:00] t/s External nv memory address. These signals connect directly to the external BIOS (or EEPROM) or EPROM address pins EA0 through EA15. The PCI interface controller assembles 32-bit-wide accesses through multiple read cycles of the 8-bit device. The address space from 0040h through 007Fh is used to preload and initialize the PCI configuration registers. Should an external nv memory be used, the minimum size required is 128 bytes and the maximum is 64K bytes. When a serial memory is con- nected to the S5935, the pins EA[7:0] are reconfigured to become a hardware Add-On to PCI mailbox register with the EA8 pin as the mailbox load clock. Also, the EA15 signal pin will provide an indication that the PCI to Add-On FIFO is full (FRF#), and the EA14 signal pin will indicate whether the Add-On to PCI FIFO is empty (FWE#). ERD# out External nv memory read control. This pin is asserted during read operations involving the external non-volatile memory. Data is transferred into the S5935 during the low to high transition of ERD#. This pin is shared with the serial external memory interface signal, SCL. EWR# t/s External nv memory write control. This pin is asserted during write operations involving the external non-volatile memory. Data is presented on pins EQ[7:0] along with its address on pins EA[15:0] throughout the entire assertion of EWR#. This pin is shared with the serial external memory interface signal, SDA. EQ[7:0] t/s External memory data bus. These pins are used to directly connect with the data pins of an external non-volatile memory. When a serial memory is connected to the S5935, the pins EQ4, EQ5, EQ6 and EQ7 become reconfigured to provide signal pins for bus mastering control from the Add-On interface.

S5935 – PCI Product

28 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book ADD-ON BUS INTERFACE SIGNALS The following sets of signals represent the interface pins available for the Add-On function. There are four groups: Register access, FIFO access, Pass-Thru mode pins, and general system pins. Register Access Pins Signal Type Description DQ[31:00] t/s Datapath DQ0–DQ31. These pins represent the datapath for the Add-On peripheral’s data bus. They provide the interface to the controller’s FIFO and other registers. When MODE=V CC, only DQ[15:00] are used. DQ[31:0] have internal pull-up resistors. ADR[6:2] in Add-On Addresses. These signals are the address lines to select which of the 16 DWORD registers within the controller is desired for a given read or write cycle, as shown in the table below. ADR[6:2] Register Name 0 0 0 0 0 Add-On Incoming Mailbox Reg. 1 0 0 0 0 1 Add-On Incoming Mailbox Reg. 2 0 0 0 1 0 Add-On Incoming Mailbox Reg. 3 0 0 0 1 1 Add-On Incoming Mailbox Reg. 4 0 0 1 0 0 Add-On Outgoing Mailbox Reg. 1 0 0 1 0 1 Add-On Outgoing Mailbox Reg. 2 0 0 1 1 0 Add-On Outgoing Mailbox Reg. 3 0 0 1 1 1 Add-On Outgoing Mailbox Reg. 4 0 1 0 0 0 Add-On FIFO Port 0 1 0 0 1 Bus Master Write Address Register 0 1 0 1 0 Add-On Pass-Thru Address 0 1 0 1 1 Add-On Pass-Thru Data 0 1 1 0 0 Bus Master Read Address Register 0 1 1 0 1 Add-On Mailbox Empty/Full Status 0 1 1 1 0 Add-On Interrupt Control 0 1 1 1 1 Add-On General Control/Status Register 1 0 1 1 0 Bus Master Write Transfer Count 1 0 1 1 1 Bus Master Read Transfer Count BE3# or ADR1 in Byte Enable 3 (32-bit mode) or ADR1 (16 bit mode). This pin is used in conjunction with the read or write strobes (RD# or WR#) and the Add-On select signal, SELECT#. As a Byte Enable, it is neces- sary to have this pin asserted to perform write operations to the register identified by ADR[6:2] bit loca- tions d24 through d31; for read operations it controls the DQ[31:24] output drive. BE[2:0]# in Byte Enable 2 through 0. These pins provide for individual byte control during register read or write operations. BE2# controls activity over DQ[23:DQ16], BE1# controls DQ[15:8], and BE0# controls DQ[7:0]. During read operations they control the output drive for each of their respective byte lanes; for write operations they serve as a required enable to perform the modification of each byte lane.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 29 Data Book SELECT# in Select for the Add-On interface. This signal must be driven low for any write or read access to the Add- On interface registers. This signal must be stable during the assertion of command signals WR# or RD#. WR# in Write strobe. This pin, when asserted in conjunction with the SELECT# pin, causes the writing of one of the internal registers. The specific register and operand size are identified through address pins ADR[6:2] and the byte enables, BE[3:0]#. RD# in Read strobe. This pin, when asserted in conjunction with the SELECT# pin, causes the reading of one of the internal registers. The specific register and operand size are identified through address pins ADR[6:2] and the byte enables BE[3:0]#. MODE in This pin control whether the S5935 data accesses on the DQ bus are to be 32-bits wide (MODE = low) or 16-bits wide (MODE = high). When in the 16 bit mode, the signal BE3# is reassigned as the address signal ADR1. FIFO Access Pins Signal Type Description WRFIFO# in Write FIFO. This signal provides a method to directly write the FIFO without having to generate the SELECT# signal or the ADR[6:2] value of [01000b] to access the FIFO. Access width is either 32 bits or 16 bits depending on the data bus size available. This signal is intended for implementing PCI DMA transfers with the Add-On system. RDFIFO# in Read FIFO. This signal provides a method to directly read the FIFO without having to generate the SELECT# signal or the ADR[6:2] value of [01000b] to access the FIFO. Access width is either 32 bits or 16 bits, depending on the data bus size defined by the MODE pin. This signal is intended for imple- menting PCI DMA transfers with the Add-On system. WRFULL out Write FIFO full. This pin indicates whether the Add-On-to-PCI bus FIFO is able to accept more data. This pin is intended to be used to implement DMA hardware on the Add-On system bus. A logic low output from this pin can be used to represent a DMA write (Add-On to-PCI FIFO) request. RDEMPTY out Read FIFO Empty. This pin indicates whether the read FIFO (PCI-to-Add-On FIFO) contains data. This pin is intended to be used by the Add-On system to control DMA transfers from the PCI bus to the Add-On system bus. A logic low from this pin can be used to represent a DMA (PCI-to-Add-On FIFO) request. Pass-Thru Interface Pins Signal Type Description PTATN# out Pass-Thru Attention. This signal identifies that an active PCI bus cycle has been decoded and data must be read from or written to the Pass-Thru Data Register. PTBURST# out Pass-Thru Burst. This signal identifies PCI bus operations involving the current Pass-Thru cycle as requesting burst access. PTRDY# in Pass-Thru Ready. This input indicates when Add-On logic has completed a Pass-Thru cycle and another may be initiated. PTNUM[1:0] out Pass-Thru Number. These signals identify which of the four base address registers decoded a Pass- Thru bus activity. These bits are only meaningful when signal PTATN# is active. A value of 00 corre- sponds to Base Address Register 1, a value of 01 for Base Address Register 2, and so on. PTBE[3:0]# out Pass-Thru Byte Enables. These signals indicate which bytes are requested for a given Pass-Thru operation. They are valid during the presence of signal PTATN# active. Register Access Pins (Continued) Signal Type Description

S5935 – PCI Product

30 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book PTADR# in Pass-Thru Address. This signal causes the actual Pass-Thru requested address to be presented as outputs on the DQ pins DQ[31:0] for Add-Ons with 32-bit buses, or the low-order 16 bits for Add-Ons with 16-bit buses. It is necessary that all other bus control signals be in their inactive state during the assertion of PTADR#. The purpose of this signal is to provide the direct addressing of external Add- On peripherals through use of the PTNUM[1:0] and the low-order address bits presented on the DQ bus with this pin active. PTWR out Pass-Thru Write. This signal identifies whether a Pass-Thru operation is a read or write cycle. This signal is valid only when PTATN# is active. System Pins Signal Type Description SYSRST# out System Reset. This low active output is a buffered form of the PCI bus reset, RST#. It is not synchro- nized to any clock within the PCI interface controller. Additionally, this signal can be invoked through software from the PCI host interface. BPCLK out Buffered PCI Clock. This output is a buffered form of the PCI bus clock and, as such, has all of the behavioral characteristics of the PCI clock (i.e., DC-to-33 MHz capability). IRQ# out Interrupt. This pin is used to signal the Add-On system that a significant event has occurred as a result of activity within the PCI controller. RSVD in Reserved. This pin must be left open at all times. Pass-Thru Interface Pins Signal Type Description

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 31 Data Book (This page intentionally left blank.)

32 DS1527 AMCC Confidential and Proprietary

vides an explanation of its intended usage. Table 4. Configuration Registers

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 33 Data Book PCI Configuration Space Header BIST 31 23 24 16 15 8 7 LATENCY TIMER INTERRUPT PINMIN_GNTMAX_LAT INTERRUPT LINE EXPANSION ROM BASE ADDRESS HEADER TYPE = 0 BASE ADDRESS REGISTER #0 BASE ADDRESS REGISTER #1 BASE ADDRESS REGISTER #2 BASE ADDRESS REGISTER #3 BASE ADDRESS REGISTER #4 BASE ADDRESS REGISTER #5 RESERVED = 0's RESERVED = 0's RESERVED = 0's RESERVED = 0's REV ID CACHE LINE SIZE VENDOR ID COMMAND DEVICE ID CLASS CODE STATUS LEGEND Note: Some registers are a combination of the above. See individual sections for full description. EPROM IS DATA SOURCE (READ ONLY) CONTROL FUNCTION EPROM INITIALIZED RAM (CAN BE ALTERED FROM PCI PORT) EPROM INITIALIZED RAM (CAN BE ALTERED FROM ADD-ON PORT) HARD-WIRED TO ZEROES

34 DS1527 AMCC Confidential and Proprietary

dor identification number for this field. Figure 8. Vendor Identification Register Table 5. Vendor Identification Register 15:0 Vendor Identification Number: This is a 16 bit-value assigned to AMCC.

device identification number for this field. Figure 9. Device Identification Register Table 6. Device Identification Register

36 DS1527 AMCC Confidential and Proprietary

device; those which are not used are hardwired to 0. Figure 10. PCI Command Register

Table 7. PCI Command Register 15:10 Reserved. Equals all 0’s. never uses stepping, it is hardwired to 0. solely for PCI-based VGA devices. S5935 controller does not support this command when operated as a master and therefore it is hardwired to 0. 3 Special Cycle Enable. Devices which are capable of monitoring special cycles can do so when this bit is set to 1. The S5935 controller does not monitor (or generate) special cycles and this bit is hardwired to 0. initialized to 0 upon the assertion of signal pin RESET#.

38 DS1527 AMCC Confidential and Proprietary

device; those which are not used are hardwired to 0. Figure 11. PCI Status Register

Table 8. PCI Status Register Command Register Bit 6. This bit may be cleared by writing a 1 to this location. rently addressed target. This bit can be reset by writing a 1 to this location. reset by writing a 1 to this location. as the master. The Parity Error Enable bit (D6 of the Command Register) must be set in order for this bit to be set. Once set, it can only be cleared by either writing a 1 to this location or by the assertion of the signal RESET#. 6:0 Reserved. Equal all 0’s.

40 DS1527 AMCC Confidential and Proprietary

from the PCI interface have no effect on this register. valid) so that another value may be used. Figure 12. Revision Identification Register Table 9. Revision Identification Register

the defined class codes described in Table 7 below. base codes 00h through 0Ch, respectively. Table 10. Defined Base Class Codes

42 DS1527 AMCC Confidential and Proprietary

Table 11. Base Class Code 00h: Early, Pre-2.0 Specification Devices Table 12. Base Class Code 01h: Mass Storage Controllers Table 13. Base Class Code 02h: Network Controllers Table 14. Base Class Code 03h: Display Controllers Table 15. Base Class Code 04h: Multimedia Devices Table 16. Base Class Code 05h: Memory Controllers

Table 17. Base Class Code 06h: Bridge Devices Table 18. Base Class Code 07h: Simple Communications Controllers Table 19. Base Class Code 08h: Base System Peripherals Table 20. Base Class Code 09h: Input Devices

44 DS1527 AMCC Confidential and Proprietary

Table 21. Base Class Code 0Ah: Docking Stations Table 22. Base Class Code 0Bh: Processors Table 23. Base Class Code 0Ch: Serial Bus Controllers

transfers that cross a line boundary. Figure 14. Cache Line Size Register

46 DS1527 AMCC Confidential and Proprietary

the use of the bus for data transfers. Figure 15. Latency Timer Register

Figure 16. Header Type Register

48 DS1527 AMCC Confidential and Proprietary

implementation of custom, user-specific diagnostics. This register has four fields as depicted in Figure 10. Figure 17. Built-In Self Test Register Table 24. Built-In Self-Test Register should be returned if this self test feature is not desired. This field is read only from the PCI interface. ification requires that this bit be cleared within 2 seconds after being set, or the device will be failed. 5:4 Reserved. These bits are reserved. This field will always return zeros. BIST field (bit 6) changes from 1 to 0. An all-zero value for the completion code indicates successful completion.

loading them from the external nvRAM interface. Figure 18. Base Address Register — Memory

50 DS1527 AMCC Confidential and Proprietary

Table 25. Base Address Register — Memory (Bit 0 = 0) enabled by the contents sourced from the external boot memory. set to 0. This bit is read only from the PCI interface. 0 0 Region is 32 bits wide and can be located anywhere in 32 bit memory space. 0 1 Region is 32 bits wide and must be mapped below the first MByte of memory space. bits in the base address register are defined as shown in Table 22a. by the contents sourced from the external boot memory (EPROM or nvRAM). location, bits 31 through 0). base address register have the definition as shown in Table 11b.

  1. The two most significant bits define bus width for BADR1:4 in Pass-Thru operation).
  2. Bits D3, D2 and D1 may be set to indicate other attributes for the memory space. See text for details.
  3. BADR5 register is not implemented and will return all 0’s.

Table 26. Read Response (Memory Assigned) to an All-Ones Write Operation to a Base Address Register

52 DS1527 AMCC Confidential and Proprietary

  1. BADR5 register is not implemented and will return all 0’s.
  2. Base Address Register 0 (at offset) 10h powers up as FFFFFFC1h. This default assignment allows usage without an external boot memory.

Should an EPROM or nvRAM be used, the base address can be boot loaded to become a memory space (FFFFFFC0h or FFFFFFC2h). Table 27. Read Response (I/O Assigned) to an All-Ones write Operation to a Base Address Register

Figure 19. Expansion ROM Base Address Register Table 28. Expansion ROM Base Address Register ter also have the memory decode enabled for this bit to have an effect.

110 Bit

54 DS1527 AMCC Confidential and Proprietary

Table 29. Read Response to Expansion ROM Base Address Register (after all-ones written)

may be written by the PCI interface. Figure 20. Interrupt Line Register

56 DS1527 AMCC Confidential and Proprietary

Figure 21. Interrupt Pin Register

are possible when an external boot memory is used. Figure 22. Minimum Grant Register

58 DS1527 AMCC Confidential and Proprietary

are possible when an external boot memory is used. Figure 23. Maximum Latency Register

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 59 Data Book (This page intentionally left blank.)

60 DS1527 AMCC Confidential and Proprietary

communication between the PCI and Add-On buses. Table 30. Operation Registers — PCI Bus

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 61 Data Book OUTGOING MAILBOX REGISTERS (OMB) Register Names Outgoing Mailboxes 1-4 These four DWORD registers provide a method for sending command or parameter data to the Add-On system. PCI bus operations to these regis- ters may be in any width (byte, word, or DWORD). Writing to these regis- ters can be a source for Add-On bus interrupts (if desired) by enabling their interrupt generation through the use of the Add-On’s interrupt con trol/status register. PCI Address Offset 00h, 04h, 08h, 0Ch Power-up value XXXXXXXXh Attribute Read/Write Size 32 bits INCOMING MAILBOX REGISTERS (IMB) Register Names Incoming Mailboxes 1-4 These four DWORD registers provide a method for receiving user defined data from the Add-On system. PCI bus read operations to these registers may be in any width (byte, word, or DWORD). Only read operations are supported. Reading from these registers can optionally cause an Add-On bus interrupt (if desired) by enabling their interrupt generation through the use of the Add-On’s interrupt control/status register. Mailbox 4, byte 3 only exists as device pins on the S5935 devices when used with a serial non volatile memory. PCI Address Offset 10h, 14h, 18h, 1Ch Power-up value XXXXXXXXh Attribute Read Only Size 32 bits FIFO REGISTER PORT (FIFO) Register Name FIFO Port This location provides access to the bidirectional FIFO. Separate registers are used when reading from or writing to the FIFO. Accordingly, it is not possible to read what was written to this location. The FIFO registers are implicitly involved in all bus master operations and, as such, should not be accessed during active bus master transfers. When operating upon the FIFOs with software program transfers involving word or byte operations, the endian sequence of the FIFO should be established as described under FIFO Endian Conversion Management in order to preserve the internal FIFO data ordering and flag management. The FIFO’s fullness may be observed by reading the master control-status register or MCSR register. PCI Address Offset 20h Power-up value XXXXXXXXh Attribute Read/Write Size 32 bits

62 DS1527 AMCC Confidential and Proprietary

the task of PCI bus master data transfers. always be zero when this c ontroller is the bus master. disconnect after the first data phase of this operation. Figure 24. PCI Controlled Bus Master Write Address Register

tion until the transfer count reaches zero. ler are required to begin on a DWORD boundary. Figure 25. PCI Controlled Bus Master Write Transfer Count Register

64 DS1527 AMCC Confidential and Proprietary

the task of PCI bus master data transfers. in an Intel 486 or Pentium™ cache line fill sequence. first data phase of this operation. from the Add-On bus instead of the PCI bus. Figure 26. PCI Controlled Bus Master Read Address Register

ler are required to begin on a DWORD boundary. from the Add-On bus instead of the PCI bus. Figure 27. PCI Controlled Bus Master Read Transfer Count Register

66 DS1527 AMCC Confidential and Proprietary

bus to the Add-On interface. Figure 28. Mailbox Empty/Full Status Register

Table 31. Mailbox Empty/Full Status Register

68 DS1527 AMCC Confidential and Proprietary

  • Write Transfer Terminal Count = zero
  • Read Transfer Terminal Count = zero
  • One of the Outgoing mailboxes (1,2,3 or 4) becomes empty
  • One of the Incoming mailboxes (1,2,3 or 4) becomes full.
  • Target Abort
  • Master Abort

Figure 29. Interrupt Control/Status Register

Figure 30. FIFO Management and Endian Control Byte

0 NO CONVERSION (DEFAULT)

70 DS1527 AMCC Confidential and Proprietary

Table 32. Interrupt Control/Status Register 31:24 FIFO and Endian Control. change the state of this bit. data of “zero” will not change the state of this bit. cause this bit to be reset; a write to this bit with the data as “zero” will not change the state of this bit. bit to be reset; a write to this bit with the data of “zero” will not change the state of this bit. reaches zero. This bit is read/write. reaches zero. This bit is read/write. through 8 to produce a PCI interface interrupt. This bit is read/write. [11]b selects mailbox 4. This field is read/write. byte 3. This field is read/write.

bits 3 through 0 to produce a PCI interface interrupt. This bit is read/write. [11]b selects mailbox 4. This field is read/write.

  1. This field is read/write.

Table 32. Interrupt Control/Status Register (Continued)

72 DS1527 AMCC Confidential and Proprietary

This register provides for overall control of this device.

  • Write Priority over Read
  • Read Priority over Write
  • Write Transfer Enable
  • Write master requests on 4 or more FIFO words available (full)
  • Read transfer enable
  • Read master requests on 4 or more FIFO avail - able (empty)
  • Assert reset to Add-On
  • Reset Add-On to PCI FIFO flags
  • Reset PCI to Add-On FIFO flags
  • Reset mailbox empty full status flags
  • Write external non-volatile memory The following PCI interface status flags are provided:
  • PCI to Add-On FIFO FULL
  • PCI to Add-On FIFO has four or more empty locations
  • PCI to Add-On FIFO EMPTY
  • Add-On to PCI FIFO FULL
  • Add-On to PCI FIFO has four or more words loaded
  • Add-On to PCI FIFO EMPTY
  • PCI to Add-On Transfer Count = Zero
  • Add-On to PCI Transfer Count = Zero

Figure 31. Bus Master Control/Status Register

Table 33. Bus Master Control/Status Register

  1. The sequence requires that the low-order address, high order address, and then a data byte are loaded in order.

to a 1 before an access can begin, and subsequent accesses must wait for bit D31 to become zero (ready).

0 X X W Inactive

0 X X R Ready

1 X X R Busy

provide for accurate data retrieval. always produce zeros, this bit is write only. FIFO empty flag to set indicating empty and the FIFO FULL flag to reset and the FIFO Four Plus word flag to reset. bit will always produce zeros, this bit is write only. reading of this bit will always produce zeros, this bit is write only. necessary to remove the assertion of reset. This register bit is read/write. sequence for bits 31 through 29 is performed. 15 Enable memory read multiple during S5935 bus mastering mode. a zero to this location will suspend an active transfer. An active transfer is one in which the transfer count is not zero. request the PCI bus if it has at least one vacant FIFO word.

74 DS1527 AMCC Confidential and Proprietary

one, this indicates that transfer priorities will alternate equally between read and writes. to this location will suspend an active transfer. An active transfer is one in which the transfer count is not zero. request the PCI bus if it has at least one valid FIFO word. ties will alternate equally between writes and reads. 7 Add-On to PCI Transfer Count Equal Zero (RO). This bit is a one to signify that the write transfer count is all zeros. 6 PCI to Add-On Transfer Count Equals Zero (RO). This bit is a one to signify that the read transfer count is all zeros. 5 Add-On to PCI FIFO Empty. This bit is a one when the Add-On to PCI bus FIFO is completely empty. 3 Add-On to PCI FIFO Full. This bit is a one when the Add-On to PCI bus FIFO is completely full. 2 PCI to Add-On FIFO Empty. This bit is a one when the PCI bus to Add-On FIFO is completely empty. 0 PCI to Add-On FIFO Full. This bit is a one when the PCI bus to Add-On FIFO is completely full.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 75 Data Book (This page intentionally left blank.)

76 DS1527 AMCC Confidential and Proprietary

bus, or to connect with an external FIFO. the Add-On interface registers.

  1. See Add-On Initiated Bus Mastering.

Table 34. Operation Registers — Add-On Interface

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 77 Data Book ADD-ON INCOMING MAILBOX REGISTERS (AIMBX) Register Names Add-On Incoming Mailboxes 1-4 These four DWORD registers provide a method for receiving data, commands, or command parameters from the PCI interface. Add-On read operations to these registers may be in any width (byte, word, or DWORD). These registers are read-only. Writes to this address space have no effect. Reading from one of these registers can optionally cause a PCI bus interrupt (if desired) when the PCI interrupt control/ status register is properly configured. Add-On Address Offset 00h, 04h, 08h, 0Ch Power-up value XXXXXXXXh Attribute Read Only Size 32 bits ADD-ON OUTGOING MAILBOX REGISTERS (AOMBX) Register Names Add-On Outgoing Mailboxes 1-4 These four DWORD registers provide a method for sending data, commands, or command parameters or status to the PCI interface. Add-On write operations to these registers may be in any width (byte, word, or DWORD). These regis ters may also be read. Writing to one of these registers can optionally cause a PCI bus interrupt (if desired) when the PCI interrupt control/status register is properly configured. Mailbox 4, byte 3 only exists as device pins on the S5935 device when used with a serial nonvolatile memory. This byte is not available if a byte-wide nv memory is used. Add-On Address Offset 10h, 14h, 18h, 1Ch Power-up value XXXXXXXXh Attribute Read/Write Size 32 bits ADD-ON FIFO REGISTER PORT (AFIFO) Register Name Add-On FIFO Port This location provides access to the bidirectional FIFO. Separate registers are involved when reading and writing to this location. Accordingly, it is not possible to read what was written to this location. The sequence of filling and emptying this FIFO is established by the PCI interface interrupt control and Status Regis- ter. The FIFO’s fullness may be observed by reading the master control/status regis- ter or AGCSTS register Additionally, two signal pins are provided which reveal whether data is available (RDEMPTY) or space to write into the FIFO is available (WRFULL). These signals may be used to interface with user supplied DMA logic. Caution must be exercised when using these flags for FIFO transfers involving 64 bit endian conversion since the FIFO must operate on DWORD pairs. Add-On Address Offset 20h Power-up value XXXXXXXXh Attribute Read/Write Size 32 bits

78 DS1527 AMCC Confidential and Proprietary

the task of PCI bus master data transfers. always be zero when this c ontroller is the bus master. disconnect after the first data phase of this operation. Figure 32. Add-On Controlled Bus Master Write Address Register

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 79 Data Book ADD-ON PASS-THRU ADDRESS REGISTER (APTA) Register Name Add-On Pass-Thru Address This register is employed when a response is desired when one of the Base address decode regions is selected during an active PCI bus cycle. When one of the base address decode registers 1-4 encounters a PCI bus cycle which selects the region defined by it, this device latches that current cycle’s active address and asserts the signal PTATN# (Pass-Thru Attention). Wait states are generated on the PCI bus until either data is transferred or the PCI bus cycle is aborted by the initiator. This register provides a method for “live” data (registered) transfers. Intended uses include the emulating of other hardware as well as enabling the connection of existing external hardware to interface to the PCI bus through the S5935. Add-On Address Offset 28h Power-up value XXXXXXXXh Attribute Read Only Size 32 bits ADD-ON PASS-THRU DATA REGISTER (APTD) Register Name Add-On Pass-Thru Data This register, along with APTA described above, is employed when a response is desired should one of the Base address decode regions become selected during an active PCI bus cycle. When one of the base address decode registers 1-4 encounters a PCI bus cycle which selects the region defined by it, the APTA register will contain that current cycle’s active address and the device asserts the signal PTATN# (Pass-Thru ATentioN). Wait states are generated on the PCI bus until this register is read (PCI bus writes) or this register is written (PCI bus reads). Add-On Address Offset 2Ch Power-up value XXXXXXXXh Attribute Read/Write Size 32 bits

80 DS1527 AMCC Confidential and Proprietary

the task of PCI bus master data transfers. in an Intel 486 or Pentium™ cache line fill sequence. first data phase of this operation. from the Add-On bus instead of the PCI bus. Figure 33. Add-On Controlled Bus Master Read Address Register

Add-On bus to the PCI interface. Figure 34. Add-On Mailbox Empty/Full Status Register

82 DS1527 AMCC Confidential and Proprietary

Table 35. Add-On Mailbox Empty/Full Status Register

  • One of the Incoming mailboxes (1,2,3 or 4) becomes full.
  • One of the Outgoing mailboxes (1,2,3 or 4) becomes empty.
  • Built-in self test issued.
  • Write Transfer Count = zero
  • Read Transfer Count = zero
  • Target/Master Abort

Figure 35. Add-On Interrupt Control/Status Register

84 DS1527 AMCC Confidential and Proprietary

Table 36. Interrupt Control/Status Register 31:24 Reserved. Always zero. nothing more than the ORing of the interrupt conditions described by bits, 20, 17 and 16 of this register. this bit causes it to be cleared. Writing a zero to this bit does nothing. codes may be passed to the PCI BIST register by writing to the AGCSTS register. bit to be reset; a write to this bit with the data as zero will not change the state of this bit. bit to be reset; a write to this bit with the data as zero will not change the state of this bit. reaches zero. This bit is read/write. reaches zero. This bit is read/write. bits 11 through 8 to produce an Add-On interface interrupt. This bit is read/write. [11]b selects mailbox 4. This field is read/write. byte 3. This field is read/write. fied by bits 3 through 0 to produce an Add-On interface interrupt. This bit is read/write.

[11]b selects mailbox 4. This field is read/write. to actually cause the interrupt. [00]b selects byte 0, [01]b selects byte 2, and so on. Table 36. Interrupt Control/Status Register (Continued)

86 DS1527 AMCC Confidential and Proprietary

perform software resets of the mailbox and FIFO flags.

  • Reset PCI to Add-On FIFO flags
  • Reset Add-On to PCI FIFO flags
  • Reset mailbox empty full status flags
  • Write/read external non-volatile memory. The following status flags are provided to the Add-On:
  • Add-On to PCI FIFO FULL
  • Add-On to PCI FIFO has four or more empty locations
  • Add-On to PCI FIFO EMPTY
  • PCI to Add-On FIFO FULL
  • PCI to Add-On FIFO has four or more words loaded
  • PCI to Add-On FIFO EMPTY

Figure 36. Add-On General Control/Status Register

Table 37. Add-On General Control/Status Register written to a 1 before an access can begin, and subsequent accesses must wait for bit D31 to become zero (ready). vide for accurate data retrieval. transfer counts are ignored. produce zeros, this bit is write only. bit would always produce zeros, this bit is write only. duce zeros, this bit is write only. sequence for bits 31 through 29 is performed. maps with the BIST register bits 3 through 0, respectively. 7 Add-On to PCI Transfer Count Equal Zero (RO). This bit as a one signifies that the write transfer count is all zeros. Only when Add-On initiated bus mastering is enabled.

88 DS1527 AMCC Confidential and Proprietary

6 PCI to Add-On Transfer Count Equals Zero (RO). This bit as a one signifies that the read transfer count is all zeros. Only when Add-On initiated bus mastering is enabled. 5 PCI to Add-On FIFO Empty. This bit is a 1 when the PCI to Add-On FIFO is empty. 4 PCI to Add-On FIFO 4+ spaces. This bit is a 1 when there are four or more open spaces in the PCI to Add-On FIFO. 3 PCI to Add-On FIFO Full. This bit is a 1 when the PCI to Add-On FIFO is full. 2 Add-On to PCI FIFO Empty. This bit is a 1 when the Add-On to PCI FIFO is empty. 1 Add-On PCI FIFO 4+ words. This bit is a 1 when there are four or more full locations in the Add-On to PCI FIFO. 0 Add-On to PCI FIFO Full. This bit is a 1 when the Add-On to PCI FIFO is full. Table 37. Add-On General Control/Status Register (Continued)

tion until the transfer count reaches zero. ler are required to begin on a DWORD boundary. Figure 37. Add-On Controlled Bus Master Write Transfer Count Register

90 DS1527 AMCC Confidential and Proprietary

ler are required to begin on a DWORD boundary. Figure 38. Add-On Controlled Bus Master Read Transfer Count Register

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 91 Data Book (This page intentionally left blank.)

S5935 – PCI Product

92 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book INITIALIZATION All PCI bus agents and bridges are required to imple - ment PCI Configuration Registers. When multiple PCI devices are present, these registers must be unique to each device in the system. The specified PCI proce dure for uniquely selecting a device’s configuration space involves a dedicated signal, called IDSEL, con nected to each motherboard PCI bus device and PCI slot. The host executes configurat ion cycles after reset to each device on the PCI bus. The configuration regis - ters provide information on PCI agent operation and memory or I/O space requirements. These allow the PCI BIOS to enable the device and locate it within sys tem memory or I/O space. After a PCI reset, the S5935 can be configured for a specific application by downloading device setup infor mation from an external non-volatile memory into the device Configuration Registers. The S5935 can also be used in a default configuration, with no external boot device. When using a non-volatile boot memory to customize operation, 64 bytes are required for S5935 setup infor- mation. The rest of the boot device may be used to implement an Expansion BIOS, if desired. Some of the setup information is used to initialize the S5935 PCI Configuration Registers, other information is not down loaded into registers, but is used to define S5935 operation (FIFO interface, Pass-Thru operation, etc.). PCI RESET Immediately following the as sertion of the PCI RST# signal, the Add-On reset output SYSRST# is asserted. Immediately following the deassertion of RST#, SYSRST# is deasserted. The Add-On reset output may be used to initialize state machines, reset Add-On microprocessors, or reset other Add-On logic devices. All S5935 Operation Registers and Configuration Reg- isters are initialized to their default states at reset. The default values for the Configuration Registers may be overwritten with the contents of an external nv boot memory during device initialization, allowing a custom device configuration. Conf iguration accesses by the host CPU to the S5935 produce PCI bus wait states until one of the following events occurs:

  • The S5935 identifies that there is no valid boot memory (and default Configuration Register values are used).
  • The S5935 finishes downloading all configura - tion information from a valid boot memory. LOADING FROM BYTE-WIDE NV MEMO- RIES The SNV input on the S5935 indicates what type of external boot-load device is present (if any). If SNV is tied low, a byte-wide nv memory is assumed. In this case, immediately after the PCI bus reset is deas serted, the address 0040h is presented on the nv memory interface address bus EA[15:0]. Eight PCI clocks later (240 ns at 33 MH z), data is read from the nv memory data bus EQ[7:0] and address 0041h is presented. After an additional eight PCI clocks, data is again read from EQ7:0. If both accesses read are all ones (FFh), it implies an illegal Vendor ID value, and the external nv memory is not valid or not present. In this situation, the AMCC default configuration values are used. If either of the accesses to address 0040h and 0041h contain zeros (not FFh), the next accesses are to loca tions 0050h, 0051h, 0052h, and 0053h. At these locations, the data must be C0h (or C1h or C2h), FFh, E8h, and 10h, respectively, for the external nv memory to be valid. Once a valid external nv memory has been recognized, it is read, sequentially, from location 0040h to 007Fh. The appropriate data is loaded into the PCI Configuration Registers as described in Chap ter 4. Some of the boot device data is not downloaded into Configuration Registers, but is used to enable fea- tures and configure S5935 operation. Upon completion of this procedure, the boot-load sequence terminates and PCI configur ation accesses to the S5935 are acknowledged with the PCI Target Ready (TRDY#) output. Table 1 lists the required nv memory contents for a valid configuration nv memory device.

package size, and economical price. fined as a SCL divide by control pin. This pin should be pulled high. respect to the serial clock. transferred approximately every 0.5 milliseconds. Read accesses may be either random or sequential. Table 38. Valid External Boot Memory Contents space, a value of C2h defines memory space below 1 Mbyte.

94 DS1527 AMCC Confidential and Proprietary

Figure 39. Serial Interface Definition of Start and Stop Figure 40. Serial Interface Clock/Data Relationship Figure 41. Serial Interface Byte Access — Write Figure 42. Serial Interface Byte Access — Read

96 DS1527 AMCC Confidential and Proprietary

Figure 44. Type 0 Configuration Read Cycles Figure 45. Type 0 Configuration Write Cycles

memory used to boot-load the S5935 controller. Table 39. PC Compatible Expansion ROM Entry point for INIT function.

98 DS1527 AMCC Confidential and Proprietary

may cause a lengthy system delay during initialization. possible, may be unacceptably slow. Byte checksum, location dependent on value for length field at offset 0002h. Table 40. PCI Data Structure Signature, the ASCII string ‘PCIR’ where ‘P’ is at offset 0, ‘C’ at offset 1, and so on.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 99 Data Book (This page intentionally left blank.)

S5935 – PCI Product

100 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book PCI BUS INTERFACE This section describes the various events which occur on the S5935 PCI bus interface. Since the S5935 con- troller functions as both a target (slave) and an initiator (master), signal timing detail is given for both situa tions this Section presents the signal relationships involved in performing basic read or write transfers on the PCI bus and also describes the different ways these cycles may complete. PCI BUS TRANSACTIONS Because the PCI bus has multiplexed address/data pins, AD[31:0], each PCI bus transaction consists of two phases: Address and Data. An address phase is defined by the clock peri od when the signal FRAME# transitions from inactive (high) to active (low). During the address phase, a bus command is also driven by the initiator on signal pins C/BE[3:0]#. If the command indicates a PCI read, the clock cycle following the address phase is used to perform a “bus turn-around” cycle. A turn-around cycle is a clock period in which the AD bus is not driven by the initiator or the target device. This is used to avoid PCI bus contention. For a write command, a turn-aro und cycle is not needed, and the bus goes directly from the address phase to the data phase. All PCI bus transactions consist of an address phase (described above), followed by one or more data phases. The address phase is only one PCI clock long and the bus cycle information (address and command) is latched internally by the S5935. The number of data phases depends on how many data transfers are desired or are possible with a given initiator-target pair. A data phase consists of at least one PCI clock. FRAME# is deasserted to indicate that the final data phase of a PCI cycle is occurring. Wait states may be added to any data phase (each wait state is one PCI clock). The PCI bus command presented on the C/BE[3:0]# pins during the address phase can represent 16 possi ble states. Table 1 lists the PCI commands and identifies those which are supported by the S5935 controller as a target and those which may be pro duced by the S5935 controller as an initiator. A “Yes” in the “Supported As Target” column in Table 1 indi cates the S5935 controll er asserts the signal DEVSEL# when that command is issued along with the appropriate PCI address. Two commands are sup ported by the S5935 controller as an initiator: Memory Read and Memory Write. The completion or termination of a PCI cycle can be signaled in several ways. In most cases, the comple tion of the final data phase is indicated by the assertion of ready signals from both the target (TRDY#) and initiator (IRDY#) while FRAME# is inac tive. In some cases, the target is not be able to continue or support a burst transfer and asserts the STOP# signal. This is referred to as a target discon nect. There are also cases where an addressed device does not exist, and t he signal DEVSEL# never becomes active. When no DEVSEL# is asserted in response to a PCI cycle, the initiator is responsible for ending the cycle. This is referred to as a master abort. The bus is returned to the idle phase when both FRAME# and IRDY# are deasserted.

  1. Memory Read Multiple and Read Line are treated as Memory Reads.
  2. Memory Write & Invalidate commands are treated as Memory Writes.
  3. Must be enabled by bit 15 MCSR.

Table 41. Supported PCI Bus Commands

102 DS1527 AMCC Confidential and Proprietary

tor, it always employs a linear ordering.

  • The memory target aborts the transfer
  • PCI bus grant (GNT#) is removed
  • The PCI to Add-On FIFO becomes full
  • A higher priority (Add-On to PCI) S5935 trans - fer is pending (if programmed for priority)
  • The read transfer byte count reaches zero
  • Bus mastering is disabled from the Add-On interface

Figure 46. Zero Wait State Burst Read PCI Bus Transfer (S5935 as Initiator)

104 DS1527 AMCC Confidential and Proprietary

  • The memory target aborts the transfer
  • PCI bus grant (GNT# is removed)
  • The Add-On to PCI FIFO becomes empty
  • A higher priority (PCI to Add-On) S5935 trans - fer is pending (if programmed for priority)
  • The write transfer byte count reaches zero
  • Bus mastering is disabled from the Add-On interface Write accesses to the S5935 operation registers (S5935 as a target) are shown in Figure 5. Here, the S5935 asserts the signal STOP# in clock period 3. STOP# is asserted because the S5935 supports fast, zero-wait-state write cycles but does not support burst writes to operation registers. Wait states may be added by the initiator by not asserting the signal IRDY# during clock 2 and beyond. There is only one condition where writes to S5935 operation registers do not return TRDY# (but do assert STOP#). This is called a target-initiated termination or target discon nect and occurs when a write attempt is made to a full S5935 FIFO. As with the read transfers, the assertion of STOP# without the assertion of TRDY# indicates the initiator should retry the operation later.

Figure 49. Zero Wait State Burst Write PCI Bus Transfer (S5935 as Initiator)

106 DS1527 AMCC Confidential and Proprietary

  1. Removal of GNT# when the latency timer is non-

zero (S5935 is guaranteed to still “own the bus”).

  1. Removal of the GNT# after the latency timer has

or expired latency timer is shown in Figure 8. Figure 52. Master Initiated Termination Due to Preemption and Latency Timer Active (S5935 as Master) Figure 53. Master Initiated Termination Due to Preemption and Latency Timer Expired (S5935 as Master)

tus Register, indicating an error condition. disconnect termination completes a data transfer. Figure 54. Master Abort, No Response

108 DS1527 AMCC Confidential and Proprietary

or an initiator with its target performing a disconnect. access is attempted to the PCI Operation Registers. Figure 55. Target Disconnect Example 1 (IRDY# deasserted)

the S5935 when performing a target-initiated retry. ters never respond with a target abort when accessed. Target termination types are summarized in Table 2. Figure 56. Target-Initiated Retry Table 42. Target Termination Types Disconnect on on on Data is transferred. Transaction needs to be reinitiated to complete. Retry on on off Data was not transferred. Transaction should be tried later. Abort off on off Data was not transferred. Fatal error.

110 DS1527 AMCC Confidential and Proprietary

Figure 57. Target Abort Example Figure 58. PCI Bus Arbitration and S5935 Bus Ownership Example

connected to the system’s PCI bus arbiter. nal pair is unique to a given PCI agent. S5935 completes the current transaction. ing the components of PCI bus access latency. particular target nor the bus arbitration delay. control the amount of time a master may own the bus. achieved through a target-initiated disconnect. Figure 59. PCI Bus Access Latency Components

112 DS1527 AMCC Confidential and Proprietary

FRAME# and IRDY# with their interpretation. more accurate estimations for bus access latency. sists even while other bus masters control the bus. which originally established the lock. Figure 60. Engaging the LOCK# Signal Table 43. Possible Combinations of FRAME# and IRDY# deasserted asserted The initiator is ready to complete the last data transfer of a transaction. asserted asserted An initiator has a transaction in progress and is able to complete a data transfer.

S5935 – PCI Product

114 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book PCI BUS INTERRUPTS The S5935 controller is able to generate PCI bus inter- rupts by asserting the PCI bus interrupt signal (INTA#). INTA# is a multisourced, wire-ORed signal on the PCI bus and is driven by an open drain output on the S5935. The assertion and deassertion of INTA# have no fixed timing relationship with respect to the PCI bus clock. Once the S5935 asserts INTA#, it remains asserted until the interrupt source is cleared by a write to the Interrupt Control/Status Register (INTCSR). PCI BUS PARITY ERRORS The PCI specification defines two error-reporting sig - nals, PERR# and SERR#. These signals indicate a parity error condition on the signals AD[31:0], C/ BE[3:0]#, and PAR. The valid ity of the PAR signal is delayed one clock period from its corresponding AD[31:0] and C/BE[3:0]# sign als. Even parity exists when the total number of ones in the group of signals is equal to an even number. PERR# is the error- reporting mechanism for parity errors that occur during the data phase for all but PCI Special Cycle com mands. SERR# is the error -reporting mechanism for parity errors that occur during the address phase. The timing diagram in Figure 18 shows the timing rela- tionships between the signal s AD[31:0], C/BE[3:0]#, PAR, PERR# and SERR#. The S5935 asserts SERR# if it detects odd parity dur - ing an address phase, if enabled. The SERR# enable bit is bit 8 in the S5935 PCI Command Register. The odd parity error condition involves the state of signals AD[31:0] and C/BE[3:0]# when FRAME# is first asserted and the PAR signal during the following clock. If an error is detected, the S5935 asserts SERR# on the following (after PAR valid) clock. Since many targets may observe an error on an address phase, the SERR# signal is an open drain multi sourced, wire-ORed signal on the PCI bus. The S5935 drives SERR# low for one clock period when an address phase error is detected. Once an SERR error is detected by the S5935, the PCI Status register bit 14, System Error, is set and remains until cleared through software or a hardware reset. The PERR# signal is simila r to the SERR# with two differences: it reports errors for the data phase and is only asserted by the device receiving the data. The S5935 drives this signal (removed from tri-state) when it is the selected target for write transactions or when it is the current master for bus read transactions. The parity error conditions are only reflected by the PERR# pin if the Parity Error Enable bit (bit 6) of the PCI Com mand register is set. Upon the detection of a data parity error, the Detected Parity Error bit (bit 15) of the PCI Status Register is se t. Unlike the PERR# signal pin, this Status bit sets regardless of the state of the PCI Command register Parity Error Enable bit. An additional status bit (bit 8) called “Data Parity Reported” of the PCI Status register is employed to report parity errors that occur when the S5935 is the bus master. The “Data Parity Error Reported” status requires that the Parity Error Enable bit be set in the PCI Command register. The assertion of PERR# occurs two clock periods fol - lowing the data transfer. This two-clock delay occurs because the PAR signal does not become valid until the clock following the transfer, and an additional clock is provided to generate and assert PERR# once an error is detected. PERR# is only asserted for one clock cycle for each error sensed. The S5935 only qualifies the parity error detection during the actual data transfer portion of a data phase (when both IRDY# and TRDY# are asserted).

Figure 63. Error Reporting Signals

S5935 – PCI Product

116 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book ADD-ON BUS INTERFACE This chapter describes the Add-On bus interface for the S5935. The S5935 is designed to support connec - tion to a variety of mi croprocessor buses and/or peripheral devices. The Add-On interface controls S5935 operation through the Add-On Operation Reg isters. These registers act as the Pass-Thru, FIFO, non-volatile memory and mailbox interfaces as well as offering control and status information. Depending on the register being accessed, the inter - face may be synchronous or asynchronous. To enhance performance and simplify Add-On logic design, some registers allow direct access with a sin gle device input pin. The following sections describe the various interfaces to the PCI bus and how they are accessed from the Add-On interface. ADD-ON OPERATION REGISTER ACCESSES The S5935 Add-On bus interface is very similar to that of a memory or peripheral device found in a micropro - cessor-based system. A 32-bit data bus with individual read and write strobes, a chip enable and byte enables are provided. Other Add-On interface signals are provided to simplify Add-On logic design. Accesses to the S5935 registers are done primarily synchronously to BPCLK. For S5935 functions that are compatible with an Add-On microprocessor inter- face, it is helpful to allow an asynchronous interface, as the processor may not operate at the PCI bus clock frequency. Add-On Interface Signals The Add-On interface provides a small number of sys- tem signals to allow the Add-On to monitor PCI bus activity, indicate status conditions (interrupts), and allow Add-On bus configuration. A standard bus inter face is provided for Add-On Operation Register accesses. System Signals BPCLK and SYSRST# allow the Add-On interface to monitor the PCI bus status. BPCLK is a buffered ver sion of the PCI clock. The PCI clock can operate from 0 MHz to 33 MHz. SYSRST# is a buffered version of the PCI reset signal, and may also be toggled by host application software through bit 24 of the Bus Master Control/Status Register (MCSR). IRQ# is the Add-On interrupt output. This signal is active low and can indicate a number of conditions. Add-On interrupts may be generated from the mailbox or FIFO interfaces. The exact conditions which gener ate an interrupt are discussed in the mailbox and FIFO chapters. The interrupt output is deasserted when acknowledged by an access to the Add-On Interrupt Control/Status Register (A INT). All interrupt sources are cleared by writing a one to the corresponding inter rupt bit. The MODE input on the Add- On interface configures the datapath width for the Add-On interface. MODE low indicates a 32-bit data bus. MODE high indicates a 16-bit data bus. For 16-bit operation, BE3# is rede fined as ADR1, providing an extra address input. ADR1 selects the low or high words of the 32-bit S5935 Add-On Operation Registers. Register Access Signals Simple register accesses to the S5935 Add-On Opera- tion Registers take two forms: synchronous to BPCLK and asynchronous. The following signals are required to complete a register access to the S5935. BE[3:0]# Byte Enable Inputs. These S5935 inputs identify valid byte lanes during Add-On transac - tions. When MODE is set for 16-bit operation, BE2# is not defined and BE3# becomes ADR1. ADR[6:2] Address Inputs. These address pins identify the specific Add-On Operation Register being accessed. When configured for 16-bit operation (MODE=1), an additional input, ADR1 is available to allow the 32-bit operation registers to be accessed with two 16-bit cycles. RD# Read Strobe Input. WR# Write Strobe Input. SELECT# Chip Select Input. Th is input identifies a valid S5935 access. DQ[31:0] Bidirectional Data Bus. These I/O pins are the S5935 data bus. When configured for 16-bit operation, only DQ[15:0] are valid. In addition, there are dedicated signals for FIFO accesses (RDFIFO# and WRFIFO#) and Pass-Thru address accesses (PTADR# ). These are discussed separately in the FIFO and Pass-Thru sections of this chapter. The internal interfaces of the S5935 allow Add-On Operation Registers to be accessed asynchronous to BPCLK (synchronous to the rising edge of the read or write strobe). The exception to this is the Add-On Gen eral Control/Status Register. This is due to the async nature of FIFO status bits changing as the PCI bus reads data. For Pass-Thru operations, the Pass-Thru Data Register accesses are synchronous to BPCLK to support burst transfers. The FIFO port is also accessed synchronous to BPCLK.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 117 Data Book Asynchronous Register Accesses For many Add-On applications, Add-On logic does not operate at the PCI bus frequency. This is especially true for Add-Ons implementing a microprocessor, which may be operating at a lower (or higher) fre quency. Figures 1 and 2 show asynchronous Add-On Operation Register accesses. Exact AC timings are detailed in the Electrical and AC Characteristics chap ter (Chapter 13). For asynchronous reads (Figure 1), data is driven on the data bus when RD# is asserted. When RD# is not asserted, the DQ[31:0] outputs float. A valid address and valid byte enables must be presented before cor rect data is driven. RD# has both a minimum inactive time and a minimum active time for asynchronous accesses. For asynchronous writes (Figure 2), data is clocked into the S5935 on the rising edge of the WR# input. Address, byte enables, and data must all meet setup and hold times relative to the rising edge or WR#. WR# has both a minimum inactive time and a mini mum active time for asynchronous accesses. Synchronous FIFO and Pass-Thru Data Register Accesses To obtain the highest data transfer rates possible, Add- On logic should operate sy nchronously with the PCI clock. The buffered PCI clock (BPCLK) is provided for this purpose. A synchronous interface with Pass-Thru mode or the FIFO allows data to be transferred at the maximum PCI bus bandwidth (132 MBytes/sec) by allowing burst accesses with the Add-On interface. The RD# and WR# inputs become enables, using BPCLK to clock data into and out of registers. This section applies only to syn chronous accesses to the FIFO (AFIFO) and Pass-Thru Data (APTD) registers. Figures 3 and 4 show single-cycle, synchronous FIFO and Pass-Thru Operation Register accesses. Exact AC timings are detailed in the Electrical and AC Char acteristics chapter. For synchronous reads (Figure 3), data is driven onto the data bus when RD# (o r RDFIFO#) is asserted. When RD# is not asserted, the DQ[31:0] outputs float. The address, byte enable, and RD# inputs must meet setup and hold times relative to the rising edge of BPCLK. Burst reads may be performed by holding RD# low. For synchronous writes (Figure 4), data is clocked into the register on the rising edge of BPCLK. Address, byte enables, and data must all meet setup and hold times relative to the rising edge or BPCLK. Burst writes may be performed by holding WR# (or WRFIFO#) low. When holding WR# low, data is clocked in on each BPCLK rising edge. nv Memory Accesses Through the Add-On Gen- eral Control/Status Register To access nv memory contents through the Add-On General Control/Status Register (AGCSTS), special considerations must be made. Internally, all nv mem ory accesses by the S5935 are synchronized to a divided-down version of the PCI bus clock. Because of this, if nv memory accesses are performed through the AGCSTS register, the regi ster access must be syn chronized to BPCLK. The rising edge RD# or WR# is still used to clock data, but these inputs along with the address and byte enables are synchronized to BPCLK. Accesses to AGCSTS for monitoring FIFO or mailbox status, etc., may be done asynchronous to BPCLK. MAILBOX BUS INTERFACE The mailbox register names may need some clarifica - tion. For the Add-On interface, an outgoing mailbox refers to a mailbox sending information to the PCI bus. An incoming mailbox refers to a mailbox receiving information from the PCI bu s. An outgoing mailbox on the Add-On interface is, internally, the same as the corresponding incoming mailbox on the PCI interface and vice-versa.

118 DS1527 AMCC Confidential and Proprietary

Figure 64. Asynchronous Add-On Operation Register Read Figure 65. Asynchronous Add-On Operation Register Write

S5935 – PCI Product

120 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Mailbox Interrupts Mailboxes can be configured to generate Add-On interrupts (IRQ#) and/or allow the Add-On to generate PCI interrupts (INTA#). Ma ilbox empty/full status con ditions be can used to interrupt the Add-On or PCI host to indicate some action is required. An individual mailbox byte is selected to generate an interrupt when accessed. An outgoing mailbox becoming empty or an incoming mailbox becoming full asserts the interrupt output (if enabled). When used with a serial nv memory boot device, the mailboxes also provide a way to generate PCI inter - rupts (INTA#) through hardware. When a serial nv memory boot device is used, the device pin functions EA0 - EA8 are redefined. These pins then provide direct, external access to the Add-On outgoing mail box 4, byte 3 (which is also PCI incoming mailbox 4, byte 3). FIFO BUS INTERFACE The FIFO register on the Add-On interface may only be accessed synchro nously or asynchronously. Loca tion 45h, bits 6 and 5 in the nv memory boot device must be programmed to a “0” for correct operation. FIFO Direct Access Inputs RDFIFO# and WRFIFO# are referred to as FIFO ‘direct access’ inputs. Asserting RDFIFO# is function ally identical to accessi ng the FIFO with RD#, SELECT#, BE[3:0]#, and ADR[6:2]. Asserting WRFIFO# is functionally identical to accessing the FIFO with WR#, SELECT#, BE[3:0]#, and ADR[6:2]. RD# and WR# must be deasserted when RDFIFO# or WRFIFO# is asserted, but SELECT# may be asserted. These inputs automatically drive the address (internally) to 20h and assert all byte enables. The ADR[6:2] and BE[3:0]# inputs are ignored when using the FIFO direct access inputs. RDFIFO# and WRFIFO# are useful for Add-On designs which cas cade an external FIFO into the S5935 FIFO or use dedicated external logic to access the FIFO. Direct access signals always access the FIFO as 16- bits or 32-bits, whatever the MODE pin is configured for. For 16-bit mode, two consecutive accesses fill or empty the 32-bit FIFO register. FIFO Status Signals The FIFO Status signals indicate to the Add-On logic the current state of the S5935 FIFO. A FIFO status change caused by a PCI FIFO access is reflected one PCI clock period after th e PCI access is completed (TRDY# asserted). A FIFO status change caused by an Add-On FIFO access is reflected immediately (after a short propagation delay) after the access occurs. For Add-On accesses, FIFO status is updated after the ris ing edge of BPCLK for synchronous interfaces or after the rising edge of the read or write strobe for asyn chronous interfaces. FIFO Control Signals For Add-On initiated PCI bus mastering, the FIFO sta- tus reset controls FWC# (Add-On to PCI FIFO clear) and FRC# (PCI to Add-On FIFO clear) are available. FWC# and FRC# must be asserted for a minimum of one BPCLK period to be recognized. These inputs are sampled at the rising edge of BPCLK. These inputs should not be asserted unless the FIFO is idle. Assert ing a FIFO status reset input during a PCI or Add-On FIFO access results in indeterminate operation. For Add-On initiated bus master transfers, AMREN (Add-On bus master read enable) and AMWEN (Add- On bus master write enable) are used, in conjunction with the appropriate FIFO status signals, to enable the S5935 to assert its PCI bus request (REQ#). PASS-THRU BUS INTERFACE The S5935 Pass-Thru interface is synchronous. The Add-On Pass-Thru Addres s (APTA) and Add-On Pass-Thru Data (APTD) registers may be accessed pseudo-synchronously. Although BPCLK is used to clock data into and out of the Pass-Thru registers, accesses may be performed asynchronously. For reads, APTA or APTD data remains valid as long as RD# (or PTADR#) is asserted. A new value is not driven until PTRDY# is asserted by Add-On logic. Fo r writes to APTD, data is clocked into the S5935 on every BPCLK rising edge, but is not passed to the PCI bus until PTRDY# is asserted. PTRDY# must by synchronized to BPCLK. Pass-Thru Status Indicators The Pass-Thru status indicators indicate that a Pass- Thru access is in process and what action is required by the Add-On logic to co mplete the access. All Pass- Thru status indicators ar e synchronous with the PCI clock. Pass-Thru Control Inputs Some Pass-Thru implementations may require an address corresponding to the Pass-Thru data. The Add-On Pass-Thru Address Register (APTA) contains the PCI address for the Pass-Thru cycle. To allow access to the Pass-Thru address without generating an Add-On read cycle, PTADR# is provided. PTADR# is a direct access input for the Pass-Thru address. Asserting PTADR# is functionally identical to access ing the Pass-Thru address register with RD#,

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 121 Data Book SELECT#, BE[3:0]#, and ADR[6:2]. RD# and WR# must be deasserted when PTADR# is asserted, but SELECT# may be asserted. These inputs automati cally drive the address (internally) to 28h and assert all byte enables. The ADR[6:2] and BE[3:0]# are ignored when using the PTADR# direct access input. When PTADR# is asserted, the contents of the APTA register are immediately driven onto the Add-On data bus. The PTADR# direct access signal accesses the Pass- Thru address register as 16-bits or 32-bits, whatever the MODE pin is configured for. For 16-bit mode, PTADR# only presents the lower 16-bits of the APTA register. PTRDY# indicates that the Add-On has completed the current Pass-Thru access. Mu ltiple Add-On reads or writes may occur to the Pass-Thru data (APTD) regis ter before asserting PTRDY#. This may be required for 8-bit or 16-bit Add-On interfaces using multiple accesses to the 32-bit Pass-Thru data register. In some cases, the Add-On bus may be 32-bits, but logic may require multiple BPCLK periods to read or write data. In this situation, accesses may be extended by holding off PTRDY#. PTRDY# must be synchronized to BPCLK. NON-VOLATILE MEMORY INTERFACE The S5935 allows read and write access to the nv memory device used for configuration. Reads are nec essary during device initia lization as configuration information is downloaded into the S5935. If an expan- sion BIOS is implemented in the nv memory, the host transfers (shadows) the code into system DRAM. Writes are useful for in-field updates to expansion BIOS code. This allows software to update the nv memory contents without altering hardware. Non-Volatile Memory Interface Signals For serial nv memory devices, there are only two sig - nals used to interface with nv memory. SCL is the serial clock, and SDA is the serial data line. The func tionality of these signals is described in-detail in the PIN description Section of this book. The designer does not need to generate the timings for SCL and SDA. The S5935 automatically performs the correct serial access when programmed for serial devices. For byte-wide nv memory devices, there is an 8-bit data bus (EQ7:0), and a 16-bit address bus (EA15:0) dedicated for the nv memory interface. When a serial nv memory is implemented, many of these pins have alternate functions. The S5935 also has read (ERD#) and write (EWR#) outputs to drive the OE# and WR# inputs on a byte-wide nv memory. The designer does not need to generate the timings for these outputs. The S5935 automatically perf orms the read and write accesses when programmed for byte wide devices. Accessing Non-Volatile Memory The nv memory, if implemented, can be accessed through the PCI interface or the Add-On interface. Accesses from both the PCI side and the Add-On side must be synchronous with th e PCI clock (BPCLK for the Add-On). Accesses to the nv memory from the PCI interface are through the Bus Master Control/Status Register (MCSR) PCI Operation Register. Accesses to the nv memory from the Add-On interface are through the Add-On General Control/Status Regis ter (AGCSTS) Add-On Operation Register. Accesses to the MCSR register are from the PCI bus and are, therefore, automatically synchronous to the PCI clock. Accesses to the AGCSTS register from the Add-On side must be synchronous with respect to BPCLK. Some nv memories may contain Expansion ROM BIOS code for use by the host software. During initial ization, the Expansion BIOS is located within system memory. The starting location of the nv memory is stored in the Expansion ROM Base Address Register in the S5935 PCI Configurat ion Registers. A PCI read from this region results in the S5935 performing four consecutive byte access to the nv memory device. Writes to the nv memory are not allowed by writing to this region. Writes to the nv memory must be per formed as described below. The S5935 contains two latches within the MCSR reg- ister to control and access the NVRAM. One is an 8 bit latch called the NVRAM Addr ess/Data Register which is used to hold NVRAM address and data information. The other is a 3 bit latch called the NVRAM Access Control Register which is us ed to direct the address and data information and to control the NVRAM itself. Reading or writing to the NVRAM is performed through bits D31:29 of this register. These bits are enable and decode controls rather than a command or instruction to be executed. D31 of this register is the primary enable bit which allows all accesses to occur. When written to a ‘1’, D31 enables the decode bits D30 and D29 to direct the data contained in the address/data latch, D23:16, to the low address, high address or data latches. D31 should be thought of as “opening a door” where as long as D31 = 1, then the door is open for address or data information to be altered. The table on page 5-16 of the S5935 data book shows the D31:29 bit combinations for reading, writing, and loading ad- dress/data information. Additionally, D31 doubles as an S5935 status bit. A ‘1’ indicates that the S5935 is currently busy reading or writing to the NVRAM. A ‘0’ indicates a complete or inactive state.

S5935 – PCI Product

122 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book For the examples below, we will assume the S5935 is I/O mapped with a base address of FC00h. These examples will read one byte of the Vendor ID and write one byte to the Vendor ID. This example will write 1 byte from NVRAM location 0040h and read it back: In Out Out Out Out Out Out Out In Out In In FC00h + 3Fh (offset of NVRAM Access Control Register) until D31 = 0 (not busy). FC00h + 3FH an 80h (CMD to load the low address byte). This sets decode bits and opens door for low address latch. FC00h + 3Eh (offset of Address/Data Register) 40h (the low byte of the address desired) 40h goes into latch but is not latched yet. FC00h + 3Fh an A0h (CMD to load the high address byte). This latches the low address through changing the decode bits and opens the door for the high address latch. FC00h + 3Eh a 00h (the high byte of the address desired). 00h goes into the latch but is not latched yet. FC00h + 3Fh an 00h (inactive CMD). This latches the high address through the disabling D31, ‘closes the door’. FC00h + 3Eh DATA (the data byte to be written). DATA byte goes into the latch but is not latched yet. FC00h + 3Fh a C0h (CMD to write the data byte). This latches the data byte through changing the decode bits and begins to write NVRAM data operation. FC00h + 3Fh until D31 = 0 (not busy). FC00h + 3Fh an E0h (CMD to read the address latched). FC00h + 3Fh until D31 = 0 (not busy). FC00h + 3Eh the data.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 123 Data Book Notes: 1. Latched addresses do not automatically increment after a read or write. They must be loaded with new values. 2. Latched addresses remain after reads and writes. It is allowable to only update one address byte for the next access. 3. A processor may perform a one word write to load an address byte and control command simultaneously. This example will read 1 byte from NVRAM location 0040h: In Out Out Out Out Out In In FC00h + 3Fh (offset of NVRAM Access Control Register) until D31 = 0 (not busy). FC00h + 3Fh an 80h (CMD to load the low address byte). This sets decode bits and opens door for low address latch. FC00h + 3Eh (offset of Address/Data Register) 40h (the low byte of the address desired) 40h goes into latch but is not latched yet. FC00h + 3Fh an A0h (CMD to load the high address byte). This latches the low address through changing the decode bits and opens the door for the high address latch. FC00h + 3Eh a 00h (the high byte of the address desired) 00h goes into latch but is not latched yet. FC00h + 3Fh an E0h (CMD to read NVRAM data). This latches the high address through changing the decode bits and begins to read the NVRAM data operation. FC00h + 3Fh until D31 = 0 (not busy). FC00h + 3Eh the data. This example will read 1 byte from NVRAM location 0041h and contains an extra step to demonstrate D31 operation: In Out Out Out Out Out Out In In FC00h + 3Fh (offset of NVRAM Access Control Register) until D31 = 0 (not busy). FC00h + 3Fh an 80h (CMD to load the low address byte). This sets decode bits and opens the door for low address latch. FC00h + 3Eh (offset of Address/Data Register) 40h (the low byte of the address desired) 40h goes into latch but is not latched yet. FC00h + 3Eh (offset of Address/Data Register) 41h (the low byte of the address desired) 41h goes into latch but is not latched yet. FC00h + 3Fh an A0h (CMD to load the high address byte). This latches the low address through changing the decode bits and opens the door for the high address latch. FC00h + 3Eh 00h (the high byte of the address desired) 00h goes into latch but is not latched yet. FC00h + 3Fh an E0h (CMD to read the address latched). This latches the high address through changing the decode bits and begins the read NVRAM data operation. FC00h + 3Fh until D31 = 0 (not busy). FC00h + 3Eh the data.

124 DS1527 AMCC Confidential and Proprietary

frequency is the PCI clock frequency divided by 512. frequency is compatible with the S5935. be controlled through a programming sequence. Figure 68. nv Memory Read Operation

Figure 69. nv Memory Write Operation

126 DS1527 AMCC Confidential and Proprietary

PCI) and four outgoing mailboxes (PCI to Add-On). The mailbox status may be monitored in two ways. Figure 70. Block Diagram - PCI to Add-On Mailbox Register Figure 71. Block Diagram - Add-On to PCI Mailbox Register

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 127 Data Book Mailbox Empty/Full Conditions The PCI and Add-On interfaces each have a mailbox status register. The PCI Mailbox Empty/Full Status (MBEF) and Add-On Mailbox Empty/Full Status (AMBEF) Registers indicate the status of all bytes within the mailbox registers. A write to an outgoing mailbox sets the status bits for that mailbox. The byte enables determine which bytes within the mailbox become full (and which status bits are set). An outgoing mailbox for one interface is an incoming mailbox for the other. Therefore, incoming mailbox sta tus bits on one interface are identical to the corresponding outgoing mailbox status bits on the other interface. The following list shows the relation ship between the mailbox registers on the PCI and Add-On interfaces. A write to an outgoing mailbox also writes data into the incoming mailbox on the other interface. It also sets the status bits for the outgoing mailbox and the status bits for the incoming mailbox on the other interface. Reading the incoming mailbox clears all correspond ing status bits in the A dd-On and PCI mailbox status registers (AMBEF and MBEF). For example, a PCI write is performed to the PCI out - going mailbox 2, writing bytes 0 and 1 (BE0# and BE1# asserted). Reading t he PCI Mailbox Empty/Full Status Register (MBEF) indicates that bits 4 and 5 are set. These bits indicate that outgoing mailbox 2, bytes 0 and 1 are full. Reading the Add-On Mailbox Empty/ Full Status Register (AMBEF) shows that bits 4 and 5 in this register are also set, indicating Add-On incom ing mailbox 2, bytes 0 and 1 are full. An Add-On read of incoming mailbox 2, bytes 0 and 1 clears the status bits in both the MBEF and AMBEF status registers. To reset individual flags in the MBEF and AMBEF reg- isters, the corresponding by te must be read from the incoming mailbox. The PCI and Add-On mailbox sta - tus registers, MBEF and AMBEF, are read-only. Mailbox flags may be globally reset from either the PCI interface or the Add-On interface. The PCI Bus Master Control/Status Register (MCSR) and the Add-On Gen eral Control/Status Register (AGCSTS) each have a bit to reset all of the mailbox status flags. Mailbox Interrupts The designer has the option to generate interrupts to the PCI and Add-On interfaces when specific mailbox events occur. The PCI and Add-On interfaces can each define two conditions where interrupts may be generated. An interrupt can be generated when an incoming mailbox becomes full and/or when an outgo ing mailbox becomes empty. A specific byte within a specific mailbox is selected to generate the interrupt. The conditions defined to generate interrupts to the PCI interface do not have to be the same as the condi tions defined for the Add-On interface. Interrupts are cleared through software. For incoming mailbox interrupts, when the specified byte becomes full, an interrupt is generated. The inter rupt might be used to indicate command or status information has been provided, and must be read. For PCI incoming mailbox interrupts, the S5935 asserts the PCI interrupt, INTA#. For Add-On incoming mail box interrupts, the S5935 asserts the Add-On interrupt, IRQ#. For outgoing mailbox interrupts, when the specified byte becomes empty, an interrupt is generated. The interrupt might be used to indicate that the other inter face has received the last information sent and more may be written. For PCI outgoing mailbox interrupts, the S5935 asserts the PCI interrupt, INTA#. For Add- On outgoing mailbox interrupts, the S5935 asserts the Add-On interrupt, IRQ#. Add-On Outgoing Mailbox 4, Byte 3 Access PCI incoming mailbox 4, byte 3 (Add-On outgoing mailbox 4, byte 3) does not function exactly like the other mailbox bytes. When an a serial nv memory boot device or no external boot device is used, the S5935 pins EA7:0 are redefined to provide direct external access to Add-On outgoing mailbox 4, byte 3. EA8 is redefined to provide a load clock which may be used PCI Interface Add-On Interface Outgoing Mailbox1 Outgoing Mailbox 2 Outgoing Mailbox 3 Outgoing Mailbox 4 Incoming Mailbox 1 Incoming Mailbox 2 Incoming Mailbox 3 Incoming Mailbox 4 PCI Mailbox Empty/Full Incoming Mailbox 1 Incoming Mailbox 2 Incoming Mailbox 3 Incoming Mailbox 4 Outgoing Mailbox 1 Outgoing Mailbox 2 Outgoing Mailbox 3 Outgoing Mailbox 4 Add-On Mailbox Empty/ Full

S5935 – PCI Product

128 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book to generate a PCI interrupt. The pins are redefined as follows: If the S5935 is programmed to generate a PCI inter - rupt (INTA#), on an Add-On write to outgoing mailbox 4, byte 3, a rising edge on EMBCLK generates a PCI interrupt. The bits EMB7:0 can be read by the PCI bus interface by reading the PCI incoming mailbox 4, byte 3. These bits are useful to indicate various conditions which may have caused the interrupt. When using the S5935 with a byte-wide boot device, the capability to generate PCI interrupts with Add-On hardware does not exist. In this configuration, PCI incoming mailbox 4, byte 3 (Add-On incoming mailbox 4, byte 3) cannot be used to transfer data from the Add-On - it always returns zeros when read from the PCI bus. This mailbox byte is sacrificed to allow the added functionality provided when a byte-wide boot device is not used. BUS INTERFACE The mailboxes appear on the Add-On and PCI bus interfaces as eight operation registers. Four are outgo ing mailboxes, four are incoming mailboxes. The mailboxes may be used to generate interrupts to each of the interfaces. The following sections describe the Add-On and PCI bus interfaces for the mailbox registers. PCI Bus Interface The mailboxes are only accessible with the S5935 as a PCI target. The mailbox operation registers do not support burst accesses by an initiator. A PCI initiator attempting to burst to the mailbox registers causes the S5935 to respond with a target disconnect with data. PCI writes to full outgoing mailboxes overwrite data currently in that the mail box. PCI reads from empty incoming mailboxes return the data that was previ ously contained in the mailbox. Neither of these situations cause a target retry or abort. PCI incoming and outgoing mailbox interrupts are enabled in the Interrupt Control/Status Register (INTCSR). The mailboxes can generate a PCI inter rupt (INTA#) under two conditions (individually enabled). For an incoming mailbox full interrupt, INTA# is asserted on the PCI clock rising edge after the Add- On mailbox write completes. For an outgoing mailbox empty interrupt, INTA# is asserted on the PCI clock rising edge after the Add-On mailbox read completes (the rising edge of RD#). INTA# is deasserted on the next PCI clock rising edge after the PCI access to clear the mailbox interrupt completes (TRDY# deasserted). Add-On Bus Interface The Add-On mailbox interface behaves similar to the PCI bus interface. Add-On writes to full outgoing mail boxes overwrite data current ly in that mailbox. PCI reads from empty incoming mailboxes return the data that was previously contained in the mailbox. Add-On incoming and outgoing mailbox interrupts are enabled in the Add-On Interrupt Control/Status Regis ter (AINT). The mailboxes can generate the Add-On IRQ# interrupt under two conditions (individually enabled). For an incoming mailbox full interrupt, IRQ# is asserted one PCI clock period after the PCI mailbox write completes (TRDY# deasserted). For an outgoing mailbox empty interrupt, IRQ# is asserted one PCI clock period after the PCI mailbox read completes (TRDY# deasserted). IRQ# is deasserted immediately when the Add-On clears the mailbox interrupt. When the S5935 is used with a serial nv memory boot device or no external boot device, the device pins EA8:0 are redefined. EA7:0 become EMB7:0 data inputs and EA8 becomes EMBCLK, a load clock. This configuration allows the Add-On to generate PCI inter rupts with a low-to-high transition on EMBCLK. The PCI incoming mailbox interrupt must be enabled and set for mailbox 4, byte3 in the PCI Interrupt Control/ Status Register (INTCSR). EMBCLK should begin high and be pulsed low, then high to be recognized. The rising edge of EMBCLK generates the interrupt. The rising edge of EMBCLK also latches in the values on EMB7:0. The S5935 interrupt logic must be cleared (INTA# deasserted) through INTCSR before further EMBCLK interrupts are recognized. 8-Bit and 16-Bit Add-On Interfaces Some Add-On designs may implement an 8-bit or 16- bit bus interface. The mailboxes do not require a 32-bit Add-On interface. For 8-bit interfaces, the 8-bit data bus may be externally connected to all four bytes of the 32-bit Add-On interface (DQ 31:24, 23:16, 15:8, 7:0 are all connected). The Add-On device reading or Signal Pin Add-On Outgoing Mailbox EA0/EMB0 EA1/EMB1 EA2/EMB2 EA3/EMB3 EA4/EMB4 EA5/EMB5 EA6/EMB6 EA7/EMB7 EA8/EMBCLK Mailbox 4, bit 24 Mailbox 4, bit 25 Mailbox 4, bit 26 Mailbox 4, bit 27 Mailbox 4, bit 28 Mailbox 4, bit 29 Mailbox 4, bit 30 Mailbox 4, bit 31 Mailbox 4, byte 3 load clock

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 129 Data Book writing the mailbox regist ers may access all mailbox bytes by cycling through the Add-On byte enable inputs. A similar solution applies to 16-bit Add-On buses. This solution wor ks for Add-Ons which always use just 8-bit or just 16-b it accesses. If the MODE pin is high, indicating a 16-bit Add-On interface, the previ ous solution may be modified for an 8-bit interface. The difference is that ADR1 must be toggled after the first two accesses to steer the S5935 internal data bus to the upper 16-bits of the mailboxes. CONFIGURATION The PCI interface and the Add-On interface each have four incoming mailboxes (IMBx or AIBMx) and four outgoing mailboxes (OMBx or AOMBx) along with a single mailbox status register (MBEF or AMBEF). Out going mailboxes are read/write, incoming mailboxes and the mailbox status registers are read-only. The following sections di scuss the registers associ - ated with the mailboxes and accesses required for different modes of mailbox operation. Mailbox Status Every byte in each mailbox has a status bit in the Mail- box Empty/Full Status Registers (MBEF and AMBEF). Writing a particular byte into an outgoing mailbox sets the corresponding status bit in both the MBEF and AMBEF registers. A read of a ‘full’ byte in a mailbox clears the status bit. The MBEF and AMBEF are read- only. Status bits cannot cleared by writes to the status registers. The S5935 allows the mailbox status bits to be reset through software. The Bus Master Control/Status (MCSR) PCI Operation Register and the Add-On Gen eral Control/Status (AGCSTS) Add-On Operation Register each have a bit to reset mailbox status. Writ ing a ‘1’ to Mailbox Flag Reset bit in the MCSR or the AGCSTS register immediately clears all bits in the both the MBEF and AMBEF registers. Writing a ‘0’ has no effect. The Mailbox Flag Reset bit is write-only. The flag bits should be monitored when transferring data through the mailboxes. Checking the mailbox sta tus before performing an operation prevents data from being lost or corrupted. The following sequences are suggested for PCI mailbox operations using status polling (interrupts disabled): Reading a PCI Incoming Mailbox: 1. Check Mailbox Status. Read the mailbox status register to determine if any information has been passed from the Add- On interface. MBEF Bits 31:16 If a bit is set, valid data is contained in the corresponding mailbox byte. 2. Read Mailbox(es). Read the mailbox bytes which MBEF indicates are full. This automatically resets the status bits in the MBEF and AMBEF registers. IMBx Bits 31:0 Mailbox data. Writing a PCI Outgoing Mailbox: 1. Check Mailbox Status. Read the mailbox stat us register to determine if information previously written to the mailbox has been read by the Add-On interface. Writes to full mailbox bytes overwrite data cu rrently in the mailbox (if not already read by the Add-On interface). Repeat until the byte(s) to be written are empty. MBEF Bits 15:0 If a bit is set, valid data is contained in the corresponding mailbox byte and has not been read by the Add-On. 2. Write Mailbox(es). Write to the outgoing mailbox byte(s). OMBx Bits 31:0 Mailbox data.

S5935 – PCI Product

130 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Mailbox operations for the Add-On interface are functi onally identical. The following sequences are suggested for Add-On mailbox operations using status polling (interrupts disabled): Mailbox Interrupts Although polling status is useful, in so me cases, polling requires continuous actions by the processor reading or writing the mailbox. Mailbox interrupt capabilities are pr ovided to avoid much of the processor overhead required by continuously polling status bits. The Add-On and PCI interface can each generate interrupts on an incoming mailbox condition and/or an outgoing mailbox condition. These can be individually enabled/disabl ed. A specific byte in one incoming mailbox and one outgoing mailbox is identified to generate the interrupt(s). The tasks required to setup mailbox interrupts are shown below: Reading an Add-On Incoming Mailbox: 1. Check Mailbox Status. Read the mailbox status register to determine if any information has been passed from the PCI interface. AMBEF Bits 15:0 If a bit is set, valid data is contained in the corre- sponding mailbox byte. 2. Read Mailbox(es). Read the mailbox bytes which AMBEF indicates are full. This automatically resets the status bits in the AMBEF and MBEF registers. AIMBx Bits 31:0 Mailbox data. Writing an Add-On Outgoing Mailbox: 1. Check Mailbox Status. Read the mailbox status register to det ermine if information previously written to the mailbox has been read by the PCI interface. Writes to full mailbox byte s overwrite data currently in the mailbox (if not already read by the PCI interface). Repeat until the byte(s) to be written are empty. AMBEF Bits 31:16 If a bit is set, valid data is contained in the corre- sponding mailbox byte and has not been read by the PCI bus. 2. Write Mailbox(es). Write to the outgoing mailbox byte(s). AOMBx Bits 31:0 Mailbox data. Enabling PCI mailbox interrupts: 1. Enable PCI outgoing mailbox interrupts. A specific byte within one of the outgoing mailbox es is identified to assert INTA# when read by the Add-On interface. INTCSR Bit 4 Enable outgoing mailbox interrupts INTCSR Bits 3:2 Identify mailbox to generate interrupt INTCSR Bits 1:0 Identify mailbox byte to generate interrupt 2. Enable PCI incoming mailbox interrupts. A specific byte wi thin one of the incoming mailboxes is identified to assert INTA# when written by the Add-On interface. INTCSR Bit 12 Enable incoming mailbox interrupts INTCSR Bits 11:10 Identify mailbox to generate interrupt INTCSR Bits 9:8 Identify mailbox byte to generate interrupt

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 131 Data Book Once interrupts are enabled, the interrupt service rout ine must access the mailbox es and clear the interrupt source. A particular application may not require all of the steps shown. For instance, a design may only use incom- ing mailbox interrupts and not require support for outgoing mail box interrupts. The interr upt service routine tasks are shown below: Enabling Add-On mailbox interrupts: 1. Enable Add-On outgoing mailbox interrupts. A specific byte within one of the outgoing mailboxes is identified to assert IRQ# when read by the PCI interface. AINT Bit 12 Enable outgoing mailbox interrupts AINT Bits 11:10 Identify mailbox to generate interrupt AINT Bits 9:8 Identify mailbox byte to generate interrupt 2. Enable Add-On incoming mailbox interrupts. A specific byte within one of the incoming mailboxes is identified to assert IRQ# when written by the PCI interface. AINT Bit 4 Enable incoming mailbox interrupts AINT Bits 3:2 Identify mailbox to generate interrupt AINT Bits 1:0 Identify mailbox byte to generate interrupt With either the Add-On or PCI interface, these two steps can be performed with a single access to the appropriate register. They are shown separately here for clarity. Servicing a PCI mailbox interrupt (INTA#): 1. Identify the interrupt source(s). Multiple interrupt sources are available on the S5935. The interrupt service routine must verify that a mailbox generated the interrupt (and not some other interrupt source). INTCSR Bit 16 PCI outgoing mailbox interrupt indicator INTCSR Bit 17 PCI incoming mailbox interrupt indicator 2. Check mailbox status. The mailbox status bits indicate which mailbox bytes must be read or written. MBEF Bits 31:16 Full PCI incoming mailbox bytes MBEF Bits 15:0 Empty PCI outgoing mailbox bytes 3. Access the mailbox. Based on the contents of MBEF, mailboxes are read or written. Reading an incoming mailbox byte clears the corresponding status bit in MBEF. OMBx Bits 31:0 PCI outgoing mailboxes IMBx Bits 31:0 PCI incoming mailboxes 4. Clear the interrupt source. The PCI INTA# signal is deassert ed by clearing the interrupt request. The request is cleared by writing a ‘1’ to the appropriate bit. INTCSR Bit 16 Clear PCI outgoing mailbox interrupt INTCSR Bit 17 Clear PCI incoming mailbox interrupt

S5935 – PCI Product

132 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Servicing an Add-On mailbox interrupt (IRQ#): 1. Identify the interrupt source(s). Multiple interrupt sources are available on the S5935. The interrupt service routine must verify that a mailbox generated the interrupt (and not some other interrupt source). AINT Bit 16 Add-On incoming mailbox interrupt indicator AINT Bit 17 Add-On outgoing mailbox interrupt indicator 2. Check mailbox status. The mailbox status bits indicate which mailbox bytes must be read or written. AMBEF Bits 31:16 Empty Add-On outgoing mailbox bytes AMBEF Bits 15:0 Full Add-On incoming mailbox bytes 3. Access the mailbox. Based on the cont ents of AMBEF, mailboxes are read or wr itten. Reading an incoming mailbox byte clears the corresponding status bit in AMBEF. AIMBx Bits 31:0 Add-On incoming mailboxes AOMBx Bits 31:0 Add-On outgoing mailboxes 4. Clear the interrupt source. The Add-On IRQ# signal is d easserted by clearing the interrupt request. The request is cleared by writing a ‘1’ to the appropriate bit. AINT Bit 16 Clear Add-On incoming mailbox interrupt AINT Bit 17 Clear Add-On outgoing mailbox interrupt In both cases, step 3 involves accessing the mailbox. To allow the incoming mailbox interrupt logic to be cleared, the mailbox status bit must also be cleared. Reading an incoming mailbox clears the status bits. Another option for clearing the status bits is to use the Mailbox Flag Reset bit in the MCSR and AGCSTS registers, but this clears all status bits, not just for a single mailbox or mailbox byte. For outgoing mailbox interrupts, the read of a mailbox register is what generated the interrupt; this ensures the status bits are already clear.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 133 Data Book (This page intentionally left blank.)

134 DS1527 AMCC Confidential and Proprietary

whether the access is a read or write. The FIFO may be either a PCI target or a PCI initiator. formed on data passing through the FIFO. the Add-On to PCI FIFO directions. Figure 72. INTCSR FIFO Advance and Endian Control Bits

S5935 – PCI Product

136 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book 64-Bit Endian Conversion Because the S5935 interfaces to a 32 -bit PCI bus, special operation is required to handle 64-bit data endian con - version. Figure 2c shows 64-bit endi an conversion. The S5935 must know whether the lower 32-bits enter the FIFO first or the upper 32-bits enter the FIFO first. IN TCSR D31:30 identify which me thod is used by the applica - tion. These bits toggle after each 32-bit operation to indicate if half or all of a 64-bit data operation has been completed. The initial state of these bits establishes the loading and emptying order for 64-bit data during operation. Figure 2c. 64-bit Endian Conversion DESTINATION D 31-24 D 23-16 D 15-8 D 7-0 BYTE 7 BYTE 6 BYTE 5 BYTE 4 BYTE 3 BYTE 2 BYTE 1 BYTE 0 D 31-24 D 23-16 D 15-8 D 7-0 SOURCE BYTE 7 BYTE 6 BYTE 5 BYTE 4 BYTE 3 BYTE 2 BYTE 1 BYTE 0 SLR SLRSLR SLR READ ORDER: BYTES 3-0 FIRST OR BYTES 7-4 FIRST SEE TEXT LOAD ORDER: BYTES 3-0 FIRST OR, BYTES 7-4 FIRST SEE TEXT

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 137 Data Book Add-On FIFO Status Indicators The Add-On interface implements FIFO status pins to indicate the full and empty conditions of the PCI to Add-On and Add-On to PCI FIFOs. These may be used by the Add-On to allow data transfers between the FIFO and memory, a peripheral, or even a cas caded external FIFO. The RDEMPTY and WRFULL status outputs are always available to the Add-On. Additional status signals are multiplexed with the byte- wide, non-volatile memory interface pins. If the S5935 is configured for Add-On initiated bus mastering, these status signals also become available to the Add-On. FIFO status is also indicated by bits in the Add-On General Control/Status and Bus Master Control/Status Registers. The table below lists all FIFO status outputs and their functions. 1. These signals are only available when a serial non-volatile mem- ory is used and the device is configured for Add-On initiated bus mastering. Add-On FIFO Control Signals The Add-On interface implements FIFO control pins to manipulate the S5935 FIFOs. These may be used by Add-On to control data transfer between the FIFO and memory, a peripheral, or even a cascaded external FIFO. The RDFIFO# and WRFIFO# inputs are always available. These pins allow direct access to the FIFO without generating a standard Add-On register access using RD#, WR#, SELECT#, address pins and the byte enables. Additional control signals are multiplexed with the byte-wide, non-volatile memory interface pins. If a serial non-volatile memory is used and the S5935 is configured for Add-On initia ted bus mastering, these control signals also become available. For PCI initi ated bus mastering, AMREN, AMWEN, FRC#, and FWC# functionality is always available through bits in the Bus Master Control/Status and Add-On General Control/Status Registers. Th e FIFO control inputs are listed below. 1. These signals are only available when a serial non-volatile mem- ory is used and the S5935 is configured for Add-On initiated bus mastering. PCI Bus Mastering with the FIFO The S5935 may initiate PCI bus cycles through the FIFO interface. The S5935 allows blocks of data to be transferred to and from the Add-On by specifying a source/destination address on the PCI bus and a transfer byte count. This DMA capability allows data to be transferred across the PCI bus without host CPU intervention. Initiating a bus master transfer requires programming the appropriate address registers and transfer byte counts. This can be done from either the PCI interface or the Add-On interface. Initiating bus master transfers from the add-on is advantageous because the host CPU does not have to intervene for the S5935 to become a PCI Initiator. At the end of a transfer the S5935 may generate an interrupt to either the PCI bus (for PCI initiated transfers) or Add-On interface (for Add-On initiated transfers). Add-On Initiated Bus Mastering If bit 7 in location 45h of an external serial non-volatile memory is zero, the Master Read Address Register (MRAR), Master Write Address Register (MWAR), Master Read Transfer Count (MRTC), and Master Write Transfer Count (MWTC) are accessible only from the Add-On interface. Add-On initiated bus mas tering is not possible when a byte-wide boot device is used due to shared device pins. When configured for Add-On initiated bus mastering, the S5935 transfers data until the transfer count reaches zero, or it may be configured to ignore the transfer count. Signal Function RDEMPTY Indicates empty condition of the PCI to Add-On FIFO WRFULL Indicates full condition of the Add-On to PCI FIFO FRF Indicates full condition of the PCI to Add- On FIFO1 FWE Indicates the empty condition of the Add- On to PCI FIFO Signal Function RDFIFO# Reads data from the PCI to Add-On FIFO WRFIFO# Writes data into the Add-On to PCI FIFO FRC# Reset PCI to Add-On FIFO pointers and status indicators FWC# Reset Add-On to PCI FIFO pointers and status indicators AMREN Enable bus mastering for Add-On initiated PCI reads AMWEN Enable bus mastering for Add-On initiated PCI writes

S5935 – PCI Product

138 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book For bus master transfers initiated by the Add-On inter - face, some applications may not know the size of the data block to be transferred. To avoid constantly updating the transfer count register, the transfer count may be disabled. Bit 28 in the Add-On General Con trol/Status Register (AGCSTS) performs this function. Disabling the transfer count also disables the interrupt capabilities. Regardless of whether Add-On transfer count is enabled or disabled, the Add-On Master Read Enable (AMREN) and Add-On Master Write Enable (AMWEN) inputs control when the S5935 asserts or deasserts its request to the PCI bus. When Add-On transfer count is enabled, the S5935 will only request the bus when both the transfer count (read or write) is not zero and the appropriate enable line (AMREN or AMWEN) is active. For Add-On initiated bus master ing, AMWEN and AMREN override the read and write bus mastering enable bits in the Bus Master Control/ Status Register (MCSR). PCI Initiated Bus Mastering If bit 7 in location 45h of the external non-volatile mem- ory is one, the Master Read Address Register (MRAR), Master Write Address Register (MWAR), Master Read Transfer Count (MRTC), and Master Write Transfer Count (MWT C) are accessible only from the PCI bus interface. In this configuration, the S5935 transfers data until the transfer count reaches zero. The transfer count cannot be disabled for PCI initiated bus mastering. If no external nv memory boot device is used, the S5935 defaults to PCI initiated bus mastering. Address and Transfer Count Registers The S5935 has two sets of registers used for bus mas- ter transfers. There are two operation registers for bus master read operations and two operation registers for bus master write operations. One operation register is for the transfer address (MWAR and MRAR). The other operation register is for the transfer byte count (MWTC and MRTC). The address registers are written with the first address of the transfer before bus mastering is enabled. Once a transfer begins, this register is automatically updated to reflect the address of the current transfer. If a PCI target disconnects from an S5935 initiated cycle, the transfer is retried starting from the current address in the register. If bus grant (GNT#) is removed or bus mastering is disabled (using AMREN or AMWEN), the value in the address register reflects the next address to be accessed. Transfers must begin on DWORD boundaries. The transfer count registers contain the number of bytes to be transferred. The transfer count may be written before or after bus mastering is enabled. If bus mastering is enabled, no transfer occurs until the transfer count is programmed with a non-zero value. Once a transfer begins, this register is automatically updated to reflect the number of bytes remaining to be transferred. If the transfer count registers are disabled (for Add-On initiated bus mastering), transfers begin as soon as bus mastering is enabled. Although transfers must begin on DWORD bound - aries, transfer counts do not have to be multiples of four bytes. For example, if the write transfer count (MWTC) register is programmed with a value of 10 (decimal), the S5935 performs two DWORD writes and a third write with only BE0# and BE1# asserted. Bus Mastering FIFO Management Schemes The S5935 provides flexibility in how the FIFO is man- aged for bus mastering. The FIFO management scheme determines when the S5935 requests the bus to initiate PCI bus cycles. The management scheme is configurable for the PCI to Add-On and Add-On to PCI FIFO (and may be different for each). Bus mastering must be enabled for the management scheme to apply (via the enable bits or AMREN/AMWEN). For the PCI to Add-On FIFO, there are two manage - ment options. The PCI to Add-On FIFO management option is programmed through the Bus Master Control/ Status Register (MCSR). The FIFO can be pro grammed to request the bus when any DWORD location is empty or only when four or more locations are empty. After the S5935 is granted control of the PCI bus, the management scheme does not apply. The device continues to read as long as there is an open FIFO location. When the PCI to Add-On FIFO is full or bus mastering is di sabled, the PCI bus request is removed by the S5935. For the Add-On to PCI FIFO, there are two manage - ment options. The Add-On to PCI FIFO management option is programmed through the Bus Master Control/ Status Register (MCSR). The FIFO can be pro grammed to request the bus when any DWORD location is full or only when four or more locations are full. After the S5935 is granted control of the PCI bus, the management scheme does not apply. The device continues to write as long as there is data in the FIFO. When the Add-On to PCI FIFO is empty or bus mas tering is disabled, the PCI bus request is removed by the S5935. There are two special cases for the Add-On to PCI FIFO management scheme. The first case is when the FIFO is programmed to request the PCI bus only when four or more locations are full, but the transfer count is less than 16 bytes. In this situation, the FIFO ignores

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 139 Data Book the management scheme and finishes transferring the data. The second case is when the S5935 is config - ured for Add-On initiated bus mastering with transfer counts disabled. In this si tuation, the FIFO manage ment scheme must be set to request the PCI bus when one or more locations are full. AMREN and AMWEN may be used to implement a specific FIFO management scheme. FIFO Bus Master Cycle Priority In many applications, the FIFO is used as a PCI initia- tor performing both PCI reads and writes. This requires a priority scheme be implemented. What hap- pens if the FIFO condition for initiating a PCI read and a PCI write are both met? Bits D12 and D8 in the Bus Master Control/Status Register (MCSR) control the read and write cycle pri ority, respectively. If these bits are both set or both clear, priority alternates, beginning with a read cycle. If the read priority is set and the write priority is clear, read cycles take priority. If the write priority is set and the read priority is clear, write cycles take priority. Pri ority arbitration is only done when neither FIFO has control of the PCI bus (the PCI to Add-On FIFO would never interrupt an Add-On to PCI FIFO transfer). FIFO Generated Bus Master Interrupts Interrupts may be generated under certain conditions from the FIFO. If PCI initiated bus mastering is used, INTA# is generated to the PCI interface. If Add-On ini tiated bus mastering is used, IRQ# is generated to the Add-On interface. Interrupts may be disabled. FIFO Interrupts may be generated from one or more of the following during bus mastering: read transfer count reaches zero, write transfer count reaches zero, or an error occurs during bus mastering. Error conditions include a target or master abort on the PCI bus. Inter rupts on PCI error conditions are only enabled if one or both of the transfer count interrupts are enabled. The Add-On Interrupt Contro l/Status Register (AINT) or the Interrupt Control Status Register (INTCSR) indi- cates the interrupt source. The interrupt service routine may read these registers to determine what action is required. As mail boxes are also capable of generating interrupts, this must also be considered in the service routine. Interrupts are also cleared through these registers. BUS INTERFACE The S5935 FIFO may be accessed from the Add-On interface or the PCI interface. Add-On FIFO control and status signals allow a simple interface to the FIFO with either an Add-On CPU or programmable logic. The following section describes the PCI and Add-On interface behavior and hardware interface. FIFO PCI Interface (Target Mode) The S5935 FIFO may act as a standard PCI target. FIFO empty/full status may be determined by the PCI initiator by reading the status bits in the PCI Bus Mas ter Control/Status Register (MCSR). The FIFO occupies a single 32-bit register location within the PCI Operation Registers. A PCI initiator may not perform burst accesses to a FIFO as it is a single address. Each data phase of a burst causes the PCI initiator to increment its address counter (even though only the first address is driven at the beginning of the burst). The initiator keeps track of the current address in case a disconnect occurs. This allows the initiator to continue the burst from where the discon nect occurred. If the S5935 FIFO initiated a disconnect during a PCI burst to the FIFO register, the burst would be resumed at an address other than the FIFO loca tion (because the initiator address counter has incremented). The S5935 always signals a disconnect if a burst to any PCI Operation Register is attempted. Because the PCI to Add-On FIFO and the Add-On to PCI FIFO occupy a single location within the PCI and Add-On Operation Registers, which FIFO is accessed is determined by whether the access is a read or write. This means that once data is written into the FIFO, the value written cannot be read back. For PCI reads from the A dd-On to PCI FIFO, the S5935 asserts TRDY# and completes the PCI cycle (Figure 3). If the PCI bus attempts to read an empty FIFO, the S5935 immediately issues a disconnect with retry (Figure 4). The Add-On to PCI FIFO status indi cators change one PCI clock after a PCI read. For PCI writes to the PCI to Add-On, the S5935 asserts TRDY# and completes the PCI cycle (Figure 5). If the PCI bus attempts to write a full FIFO, the S5935 immediately issues a disconnect with retry (Fig ure 6). The PCI to Add-On FIFO status indicators change one PCI clock after a PCI write.

140 DS1527 AMCC Confidential and Proprietary

are programmed to enable bus mastering. when the S5935 asserts its PCI bus request (REQ#). determines when PCI bus control is initially requested. bursts by the S5935, if possible. Figure 74. PCI Read from a Full S5935 FIFO Figure 75. PCI Read from an Empty S5935 FIFO (Target Disconnect)

S5935 – PCI Product

142 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book FIFO PCI Bus Master Reads For PCI read transfers (f illing the PCI to Add-On FIFO), read cycles are perfo rmed until one of the fol - lowing occurs: - Bus Master Read Transfer Count Register (MRTC), if used, reaches zero - The PCI to Add-On FIFO is full - GNT# is removed by the PCI bus arbiter - AMREN is deasserted If the transfer count is not zero, GNT# remains asserted, and AMREN is asserted, the FIFO continues to read data from the PCI bus until there are no empty locations in the PCI to A dd-On FIFO. If the Add-On can empty the FIFO as quickly as it can be filled from the PCI bus, very long bursts are possible. The S5935 deasserts REQ# when it comp letes the access to fill the last location in the FIFO. Once REQ# is deas serted, it will not be reasserted until the FIFO management condition is met. FIFO PCI Bus Master Writes For PCI write transfers (emptying the Add-On to PCI FIFO), write cycles are perfo rmed until one of the fol lowing occurs: - Bus Master Write Transfer Count Register (MWTC), if used, reaches zero - The Add-On to PCI FIFO is empty - GNT# is removed by the PCI bus arbiter - AMWEN is deasserted If the transfer count is not zero, GNT# remains asserted, and AMWEN is asserted, The FIFO contin - ues to write data to the PCI bus until there are is no data in the Add-On to PCI FIFO. If the Add-On can fill the FIFO as quickly as it can be emptied to the PCI bus, very long bursts are possible. The S5935 deas serts REQ# when it comple tes the access to transfer the last data in the FIFO. Once REQ# is deasserted, it will not be reasserted until the FIFO management con dition is met. Add-On Bus Interface The FIFO register may be accessed in two ways from the Add-On interface. It can be accessed through nor - mal register accesses or directly with the RDFIFO# and WRFIFO# inputs. In addition, the FIFO register can also be accessed syn chronous to BPCLK. The Add-On interface also supports datapaths which are not 32-bits. The method used to access the FIFO from the Add-On interface is independent of whether the FIFO is a PCI target or a PCI initiator. Add-On FIFO Register Accesses The FIFO may be accessed from the Add-On interface through the Add-On FIFO Port Register (AFIFO) read or write. This is offset 20h in the Add-On Operation Registers. This register is accessed synchronous to BPCLK. To access the FIFO as a normal Add-On Operation Register, ADR[6:2], BE[3:0]#, SELECT#, and RD# or WR# are required. Figure 7 shows a synchronous FIFO register burst access. SELECT# must meet setup and hold times relative to the rising edge of BPCLK. RD# and SELECT# both asserted enables the DQ outputs, and the first data location (data 0) in the FIFO is driven on to the bus. The FIFO address and the byte enables must be valid before valid data is driven onto the DQ bus. Data 0 remains valid until the next rising edge of BPCLK. The rising edge of BPCLK causes the FIFO pointer to advance to the next location (data 1). The next rising edge of BPCLK also advances the FIFO pointer to the next location (data 2). The status outputs reflect the FIFO condition after it advances, and are updated off of the rising edge of BPCLK. When RD# or SELECT# is deasserted, the DQ bus floats. The next time a valid FIFO access occurs and RD# and SELECT# are asserted, data 2 is presented on the DQ bus (as there was no BPCLK edge to advance the FIFO). Add-On FIFO Direct Access Mode Instead of generating an address, byte enables, SELECT# and a RD# or WR# strobe for every FIFO access, the S5935 allows a simple, direct access mode. Using RDFIFO# and WRFIFO# is functionally identical to performing a standard AFIFO Port Register access, but requires less logic to implement. Accesses to the FIFO register using the direct access signals are always 32-bits wide. The only exception to this is when the MODE pin is configured for 16-bit operation. In this situation, all accesses are 16-bits wide. The RD# and WR# inputs must be inactive when RDFIFO# or WRFIFO# is active. The ADR[6:2] and BE[3:0]# inputs are ignored. RDFIFO# and WRFIFO# act as enables with BPCLK acting as the clock. A Synchronous inter face allows higher data rates. Figure 8 shows a synchronous FIFO register direct burst access using RDFIFO#. RDFIFO# acts as an enable and the first data location (data 0) in the FIFO is driven on to the bus when RDFIFO# is asserted. Data 0 remains valid until the next rising edge of BPCLK. The rising edge of BPCLK causes the FIFO pointer to advance to the next location (data 1). The next rising edge of BPCLK advances the FIFO pointer to the next location (data 2). The status outputs reflect

ble through the FIFO with a synchronous interface. Figure 78. Synchronous FIFO Register Burst Read Access Example

144 DS1527 AMCC Confidential and Proprietary

queued for transfer, FIFO is empty. driven high to enable bus master writes. driven high to enable bus master reads. Figure 79. Synchronous FIFO Register Burst RDFIFO# Access Example

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 145 Data Book The FRC# and FWC# inputs allow Add-On logic to reset the PCI to Add-On or Add-On to PCI FIFO flags. The FIFO flags can always be reset with software through the Add-On General Control/Status Register (AGCSTS) or the Bus Master Control/Status Register (MCSR), but these hardware inputs are useful for designs which do no implement a CPU on the Add-On card. Asserting the FRC# input resets the PCI to Add- On FIFO. Asserting the FWC# input re-sets the Add- On to PCI FIFO. The AMREN and AMWEN inputs allow Add-On logic to individually enable and disable bus mastering for the PCI to Add-On and Add-On to PCI FIFO. These inputs override the Bus Master Control/Status Register (MCSR) bus master enable bits. The S5935 may re- quest the PCI bus for the PCI to Add-On FIFO when AMREN is asserted and may request the PCI bus for the Add-On to PCI FIFO w hen AMWEN is asserted. If AMREN or AMWEN is deasserted, the S5935 removes its PCI bus request and gives up control of the bus. AMREN and AMWEN are useful for Add-Ons with external FIFOs cascaded into the S5935. For PCI bus master write operations, the entire S5935 Add-On to PCI FIFO and the external FIFO may be filled before enabling bus mastering, providing a single long burst write rather than numerous short bursts. In some applications, the amount of data to be trans - ferred is not known. During read operations, the S5935, attempting to fill it s PCI to Add-On FIFO, may access up to eight memory locations beyond what is required by the Add-On before it stops. In this situa tion, AMREN can be deasserted to disable PCI reads, and then FRC# can be asserted to flush the unwanted data from the FIFO. FIFO Generated Add-On Interrupts For Add-On initiated bus mastering, the S5935 may be configured to generate interrupts to the Add-On inter face for the following situations: - Read transfer count reaches zero - Write transfer count reaches zero - An error occurred during the bus master transaction The interrupt is posted to the Add-On interface with the IRQ# output. A high-to-low transition on this output indicates an interrupt condition. Because there is a single interrupt output and multiple interrupt condi tions, the Add-On Interrupt Control/Status Register (AINT) must be read to determine the interrupt source. This register is also used to clear the interrupt, return ing IRQ# to its high state. If mailbox interrupts are also used, this must be consider ed in the interrupt service routine. 8-Bit and 16-Bit FIFO Add-On Interfaces The S5935 FIFO may also be used to transfer data between the PCI bus and 8-bit or 16-bit Add-On inter faces. This can be done using FIFO advance conditions or the S5935 MODE input pin. The FIFO may be used as an 8-bit or 16-bit wide FIFO. To use the FIFO as an 8-bit interface, the advance condition should be set for byte 0 (no data is transferred in the upper 3 bytes). To use the FIFO as a 16-bit interface, the adv ance condition should be set for byte 1 (no data is transferred in the upper 2 bytes). This allows a simple Add-On bus interface, but it has the disadvantage of not efficiently utilizing the PCI bus bandwidth because the host is forced to perform 8-bit or 16-bit accesses to the FIFO on the PCI bus. This is the only way to communicate with an 8-bit Add-On through the FIFO without addi tional logic to steer byte lanes on the Add-On data bus. Pass-Thru mode is more suited to 8-bit Add-On interfaces. Implementing a 16-bit wide FIFO is a reasonable solu- tion, but to avoid wasting PCI bus bandwidth, the best method is to allow the PCI bus and the FIFO to oper ate with 32-bit data. The S5935 can assemble or disassemble 32-bit quantities for the Add-On interface. This is possible through the MODE pin. When MODE is low, the Add-On data bus is 32-bits. When MODE is high, the Add-On data bus is 16-bits. When MODE is configured for 16-bit operation, BE3# becomes ADR1. With the FIFO direct access signals (RDFIFO# and WRFIFO#), the MODE pin must reflect the actual Add- On data bus width. With MODE = 16-bits, the S5935 automatically takes two cons ecutive, 16-bit Add-On writes to the FIFO and assembles a 32-bit value. FIFO reads operate in the same manner. Two consecutive Add-On reads empty the 32-bit FIFO register. The 16- bit data bus is internally steered to the lower and upper words of the 32-bit FIFO register. One consideration needs to be taken when using the FIFO direct access signals and letting the S5935 do byte lane steering internal ly. The default condition used to advance the FIFO is byte 0. This must be changed to byte 2 or 3. When MODE is configured for a 16-bit Add-On bus, the firs t 16-bit cycle to the FIFO always accesses the low 16-bits. If the FIFO advance condition is left at byte 0, the FIFO advances after the first 16-bit cycle and the data in the upper 16-bits is directed to the next FIFO location, shifting the data.

S5935 – PCI Product

146 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Some applications hold the RDFIFO# and WRFIFO# inputs active for a synchronous interface. In 16-bit mode, designs must avoid wr iting to a full FIFO. The data for the write is lost, but the internal mechanism to direct the 16-bit external data bus to the upper 16-bits of the FIFO register is triggered. This creates a situa tion where the FIFO is out of step. The next 16-bit FIFO write is directed to the upper 16-bits of the FIFO, and the FIFO advances incorrectly. The WRFULL out put should be used to gate the WRFIFO# input to avoid this situation. A si milar problem can occur if Add-On logic attempts to read an empty FIFO in 16-bit mode. RDEMPTY should be used to gate the RDFIFO# input to avoid problems with the FIFO get ting out of step. In 32-bit mode (MODE = low), these situations do not occur. If FIFO accesses are done without the direct access signals with MODE configured for 16-bits (using ADR, SELECT#, etc.), external hardware must toggle ADR1 between consecutive 16-bit bus cycles. The FIFO advance condition must be set to correspond to the order the application accesses the upper and lower words in the FIFO register. CONFIGURATION The FIFO configuration takes place during initialization and during operation. During initialization, the bus master register access rights are defined. During oper ation, FIFO advance conditions, endian conversion, and bus mastering capabilities are defined. The follow ing section describes the bits and registers which are involved with controlling and monitoring FIFO operation. FIFO Setup During Initialization Location 45h in an external non-volatile memory may be used to configure the S5935 FIFO during initializa tion. If no external non-vola tile memory is used, FIFO operation is disabled. The value of bit 7 in location 45h determines if the address and transfer count registers used in bus mas tering are accessible from the PCI bus or from the Add-On bus. Once the configuration information is downloaded from non-volatile memory after reset, the bus mastering initialization method can not be changed. Access to the bus master address and trans fer count registers cannot be alternated between the PCI bus and the Add-On interface during operation. Bits 6 and 5 in location 45h enable FIFO register accesses using the RDFIFO#, WRFIFO#, RD# and WR# inputs synchronous to BPCLK. For synchronous operation, RDFIFO#, WRFIFO#, RD# and WR# oper ate as enables, using BPCLK to clock data. FIFO Status and Control Bits The FIFO status can be monitored and the FIFO oper- ation controlled from the PCI Operation Registers and/ or the Add-On Operation Registers. The FIFO register resides at offset 20h in the PCI and Add-On Operation Registers. The Bus Master Control/Status (MCSR) PCI Operation register allows a PCI host to monitor FIFO activity and control FIFO operation. Reset controls allow the PCI to Add-On FIFO and Add-On to PCI FIFO flags to be reset (individually). Status bits indicate if the PCI to Add-On FIFO is empty, has four or more open spaces, or is full. Status bits also indicate if the Add-On to PCI FIFO is empty, has four or more full locations or is full. Finally, FIFO PCI bus mastering is monitored/con trolled though this register. Location 45h Configuration Bits Bit 7 Bus Master Register Access

0 Address and transfer count registers only accessi-

ble from the Add-On interface

1 Address and transfer count registers only accessi-

ble from the PCI interface (default) Bit 6 RDFIFO#, RD# Operation 0 Enable - RDFIFO# and RD# functions. 1 Not allowed. Must be 0. Bit 5 WRFIFO#, WR# Operation 0 Enable - WRFIFO# and WR# functions. 1 Not allowed. Must be 0. Bit 0 Target Latency Timer Enable

0 Disable PCI Latency Timer Time Out - Will not dis-

connect with retry if cannot issue TRDY in speci- fied time

1 Enable PCI Latency Timer Time Out - Will be PCI

2.1 compliant

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 147 Data Book The Add-On General Control/Status (AGCSTS) Add- On Operation Register allows an Add-On CPU to mon- itor FIFO activity and control FIFO operation. Reset controls allow the PCI to Add-On FIFO and Add-On to PCI FIFO flags to be reset (individually). Status bits indicate if the PCI to Add-On FIFO is empty, has four or more open spaces, or is full. Status bits also indi cate if the Add-On to PCI is empty, has four or more full spaces or is full. FIFO bus mastering status may be monitored through this register, but all bus master configuration is through the MCSR PCI Operation Register. PCI Initiated FIFO Bus Mastering Setup For PCI initiated bus mastering, the PCI host sets up the S5935 to perform bus master transfers. The follow ing tasks must be completed to setup FIFO bus mastering: 1. Define interrupt capabilit ies. The PCI to Add-On and/or Add-On to PCI FIFO can generate a PCI interrupt to the host when the transfer count reaches zero. 2. Reset FIFO flags. This may not be necessary, but if the state of the FIFO flags is not known, they should be initialized. 3. Define FIFO management scheme. These bits define what FIFO condition must exist for the PCI bus request (REQ#) to be asserted by the S5935.4. Define PCI to Add-On and Add-On to PCI FIFO priority. These bits determine which FIFO has pri- ority if both meet the defined condition to request the PCI bus. If these bits are the same, priority alternates, with read accesses occurring first. 5. Define transfer source/destination address. These registers are written with the first address that is to be accessed by the S5935. These address registers are updated after each access to indicate the next address to be accessed. Transfers must start on DWORD boundaries. 6. Define transfer byte counts. These registers are written with the number of bytes to be transferred. The transfer count does not have to be a multiple of four bytes. These registers are updated after each transfer to reflect the number of bytes remaining to be transferred. INTCSR Bit 15 Enable Interrupt on read transfer count equal zero INTCSR Bit 14 Enable Interrupt on write transfer count equal zeroMCSR Bit 26 Reset Add-On to PCI FIFO flags MCSR Bit 25 Reset PCI to Add-On FIFO flags MCSR Bit 13 PCI to Add-On FIFO management scheme MCSR Bit 9 Add-On to PCI FIFO management scheme MCSR Bit 12 Read vs. write priority MCSR Bit 8 Write vs. read priority MWAR All Bus master write address MRAR All Bus master read address MWTC All Write transfer byte count MRTC All Read transfer byte count

S5935 – PCI Product

148 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book 7. Enable Bus Mastering. Once steps 1-6 are com - pleted, the FIFO may operate as a PCI bus master. Read and write bus master operation may be independently enabled or disabled.The order of the tasks listed above is not particularly important. It is recommended that bus mastering be enabled as the last step. Some applications may choose to leave bus mastering enabled and start transfers by writing a non-zero value to the transfer count registers. This also works, provided the entire transfer count is written in a single access. As a num ber of the configuration bits and the two enable bits are all in the MCSR register , it may be most efficient for the FIFO configuration bits to be set with the same register access that enables bus mastering. If interrupts are enabled, a host interrupt service rou - tine is also required. The service routine determines the source of the interrupt and resets the interrupt. As mailbox registers may also be configured to generate interrupts, the exact source of the interrupt is indicated in the PCI Interrupt Control/Status Register (INTCSR). Typically, the interrupt service routine is used to setup the next transfer by writing new addresses and trans fer counts, but some applications may also require other actions. If read transfer or write transfer com plete interrupts are enabled, master and target abort interrupts are automatically enabled. These indicate a transfer error has occurred. Writing a one to these bits clears the corresponding interrupt. Add-On Initiated FIFO Bus Mastering Setup For Add- On initiated bus mastering, the Add-On sets up the S5935 to perform bus master transfers. The following tasks must be completed to setup FIFO bus mastering: 1. Define transfer count ab ilities. For Add-On initi - ated bus mastering, transfer counts may be either enabled or disabled. Transfer counts for read and write operations cannot be individually enabled. 2. Define interrup t capabilities. T he PCI to Add-On and/or Add-On to PCI FIFO can generate an interrupt to the Add-On when the transfer count reaches zero (if transfer counts are enabled).3. Reset FIFO flags. This may not be necessary, but if the state of the FIFO flags is not known, they should be initialized. 4. Define FIFO management scheme. These bits define what FIFO condition must exist for the PCI bus request (REQ#) to be asserted by the S5935. This must be programmed through the PCI interface. MCSR Bit 14 Enable PCI to Add-On FIFO bus mas- tering MCSR Bit 10 Enable Add-On to PCI FIFO bus mas- tering INTCSR Bit 21 Target abort caused interrupt INTCSR Bit 20 Master abort caused interrupt INTCSR Bit 19 Read transfer complete caused inter- rupt INTCSR Bit 18 Write transfer complete caused inter- rupt AGCSTS Bit 28 Enable transfer count for read and write bus master transfers AINT Bit 15 Enable interrupt on read transfer count equal zero AINT Bit 14 Enable interrupt on write transfer count equal zero AGCSTS Bit 25 Reset Add-On to PCI FIFO flags AGCSTS Bit 26 Reset PCI to Add-On FIFO flags MCSR Bit 13 PCI to Add-On FIFO management scheme MCSR Bit 9 Add-On to PCI FIFO management scheme

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 149 Data Book 5. Define PCI to Add-On an d Add-On to PCI FIFO priority. These bits determine which FIFO has pri- ority if both meet the defined condition to request the PCI bus. If these bits are the same, priority alternates, with read ac cesses occurring first. This must be programmed through the PCI interface. 6. Define transfer source/destination address. These registers are writt en with the first address that is to be accessed by the S5935. These address registers are updated after each access to indicate the next address to be accessed. Transfers must start on DWORD boundaries. MWARAllBus master write address MRARAllBus master read address 7. Define transfer byte counts. These registers are written with the number of bytes to be transferred. The transfer count does not have to be a multiple of four bytes. These registers are updated after each transfer to reflect the number of bytes remaining to be transferred. If transfer counts are disabled, these registers do not need to be programmed. 8. Enable Bus Mastering. Once steps 1-7 are com - pleted, the FIFO may operate as a PCI bus master. Read and write bus master operation may be independently enabled or disabled. The AMREN and AMWEN inputs control bus master enabling for Add-On initiated bus mastering. The MCSR bus master enable bits are ignored for Add-On initiated bus mastering. It is recommended that bus mastering be enabled as the last step. Some applications may choose to leave bus mastering enabled (AMREN and AMWEN asserted) and start transfers by writing a non-zero value to the transfer count registers (if they are enabled). If interrupts are enabled, an Add-On CPU interrupt service routine is also required. The service routine determines the source of th e interrupt and resets the interrupt. As mailbox registers may also be configured to generate interrupts, the exact source of the interrupt is indicated in the Add-On Interrupt Control Register (AINT). Typically, the interrupt service routine is used to setup the next transfer by writing new addresses and transfer counts (if enabled), but some applications may also require other actions. If read transfer or write transfer complete interrupts are enabled, the master/ target abort interrupt is automatically enabled. These indicate a transfer error has occurred. Writing a one to these bits clears the corresponding interrupt. PASS-THRU OVERVIEW The S5935 provides a simple registered access port to the PCI bus. Using a handshak ing protocol with Add- On card logic, the PCI bus directly accesses resources on the Add-On. The Pass-Thru data transfer method is very useful for direct Add-On memory access, or accessing registers within peripherals on an Add-On board. Pass-Thru operation requires an external nv memory boot device to define and configure the S5935 Pass-Thru regions. The S5935 provides four user-configurable Pass-Thru regions. Each region corresponds to a PCI Configura tion Base Address Register (BADR1-4). A region represents a block of addres s space (the block size is user-defined). Each block can be mapped into mem ory or I/O space. Memory mapped regions can request to be located below 1 MByte (Real Mode address space for a PC). Each regi on also has a configurable bus width for the Add-On bus interface. An 8-, 16-, or 32-bit Add-On interface may be selected, for use with a variety of Add-On memory or peripheral devices. Pass-Thru features can be used only when the S5935 is a PCI target. As a target, the S5935 Pass-Thru mode supports single data transfers as well as burst transfers. When accessed with burst transfers, the S5935 supports data transfers at the full PCI band width. The data transfer rate is only limited by the PCI initiator performing the access and the speed of the Add-On logic. FUNCTIONAL DESCRIPTION To provide the PCI bus Add-On with direct access to Add-On resources, the S5935 has an internal Pass- MCSR Bit 12 Read vs. write priority MCSR Bit 8 Write vs. read priority MWTC All Write transfer byte count MRTC All Read transfer byte count AINT Bit 21 Master/target abort caused interrupt AINT Bit 19 Read transfer complete caused interrupt AINT Bit 18 Write transfer complete caused interrupt

S5935 – PCI Product

150 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Thru Address Register (APTA), and a Pass-Thru Data Register (APTD). These registers are connected to both the PCI bus interface and the Add-On bus inter face. This allows a PCI init iator to perform Pass-Thru writes (data transferred from the PCI bus to the Add- On bus) or Pass-Thru reads (PCI bus requests data from the Add-On bus). The S5935 Pass-Thru interface supports both single cycle (one data phase) and burst accesses (multiple data phases). Pass-Thru Transfers Data transfers between the PCI bus and the Add-On using the Pass-Thru interface are implemented with a handshaking scheme. If the PCI bus writes to an S5935 Pass-Thru region, Add-On logic must read the data from the S5935 and store it on the Add-On. If the PCI bus reads from a Pass-Thru region, Add-On logic must write data to the S5935. Some applications may require that an address be passed to the Add-On for Pass-Thru accesses. For example, a 4 Kbyte Pass-Thr u region on the PCI bus may correspond to a 4 Kbyte block of SRAM on the Add-On card. If a PCI initiator accessed this region, the Add-On would need to know the offset within the memory device to access. The Pass-Thru Address Register (APTA) allows the Add-On to access address information for the current PCI cycle. When the PCI bus performs burst accesses, the APTA register is updated by the S5935 to reflect the address of the cur rent data phase. For PCI writes to the Add-On, the S5935 transfers the data from the PCI bus into the Pass-Thru Data Regis ter (APTD). The S5935 captures the data from the PCI bus when TRDY# is asserted. The PCI bus then becomes available for other transfers. When the Pass- Thru data register becomes full, the S5935 asserts the Pass-Thru status signals to indicate to the Add-On that data is present. The Add-On logic may read the data register and assert PTRDY# to indicate the current access is complete. Until the current access com pletes, the S5935 responds to further Pass-Thru accesses with retries. For PCI reads from the Add-On, the S5935 asserts the Pass-Thru status signals to indicate to the Add-On that data is required. The Add-On logic should write to the Pass-Thru Data Register and assert PTRDY# to com plete the access. The S5935 does not assert TRDY# to the PCI bus until PTRDY# is asserted by Add-On logic. If the Add-On cannot provide data quickly enough, the S5935 signals a retry to the PCI bus. This allows the PCI bus to perform other tasks, rather than waiting for a slow target.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 151 Data Book Pass-Thru Status/Control Signals The S5935 Pass-Thru regi sters are accessed using the standard Add-On register access pins. The Pass- Thru Address Register (APTA) can, optionally, be accessed using a single, direct access input, PTADR#. Pass-Thru cycle status indicators are provided to con trol Add-On logic based on the type of Pass-Thru access occurring (single cycle, burst, etc.). The follow- ing signals are provided for Pass-Thru operation: Pass-Thru Add-On Data Bus Sizing Many applications require an 8-bit or 16-bit Add-On bus interface. Pass-Thru regions can be configured to support bus widths other than 32-bits. Each Pass-Thru region can be defined, during initialization, as 8, 16-, or 32-bits. All of the regions do not need to be the same. This feature allows a simple interface to 8-and 16-bit Add-On devices. To support alternate Add-On bus widths, the S5935 performs internal data bus steering. This allows the Add-On interface to assemble and disassemble 32-bit PCI data using multiple Add-On accesses to the Pass- Thru Data Register (APTD). The Add-On byte enable inputs (BE[3:0]#) are used to access the individual bytes or words within APTD. BUS INTERFACE The Pass-Thru interface on the S5935 is a PCI target- only function. Pass-Thru op eration allows PCI initia tors to read or write resources on the Add-On card. A PCI initiator may access the Add-On with single data phase cycles or multiple data phase bursts. The Add-On interface implements Pass-Thru status and control signals used by logic to complete data transfers initiated by the PCI bus. The Pass-Thru inter face is designed to allow Add-On logic to function with- out knowledge of PCI bus ac tivity. Add-On logic only needs to react to the Pass-Thru status outputs. The S5935 PCI interface independently interacts with the PCI initiator to control data flow between the devices. The following sections describe the PCI and Add-On bus interfaces. The PCI interface description provides a basic overview of how the S5935 interacts with the PCI bus, and may be useful in system debugging. The Add-On interface description indicates functions required by Add-On logic and details the Pass-Thru handshaking protocol. PCI Bus Interface The S5935 decodes all PCI bus cycle addresses. If the address associated with the current cycle is to one of S5935 Pass-Thru regions, DEVSEL# is asserted. If the Pass-Thru logic is currently idle (not busy finishing a previous Pass-Thru operation), the bus cycle type is decoded and the Add-On Pass-Thru status outputs are set to initiate a transfer on the Add-On side. If the Pass-Thru logic is currently busy completing a previ ous access, the S5935 signals a retry to PCI initiator. The following sections describe the behavior of the PCI interface for Pass-Thru accesses to the S5935. Single cycle accesses, burst accesses, and target-ini tiated retries are detailed. PCI Pass-Thru Single Cycle Accesses Single cycle transfers are the simplest PCI bus trans - action. Single cycle transfers have an address phase and a single data phase. The PCI bus transaction starts when an initiator drives address and command information onto the PCI bus and asserts FRAME#. The initiator always deasserts frame before the last data phase. For single cycle transfers, FRAME# is only asserted during the address phase (indicating the first data phase is also the last). When the S5935 sees FRAME# asserted, it samples the address and command information to determine if the bus transaction is intended for it. If the address is within one of the defined Pass-Thru regions, the S5935 accepts the transfer (assert DEVSEL#), and Signal Function PTATN# This output indicates a Pass-Thru access is occurring PTBURST# This output indicates the Pass-Thru access is a PCI burst access PTNUM[1:0] These outputs indicate which Pass-Thru region decoded the PCI address PTBE[3:0]# These outputs indicate which data bytes are valid (PCI writes), or requested (PCI reads) PTWR This output indicates if the Pass-Thru access is a PCI read or a write PTADR# When asserted, this input drives the Pass-Thru Address Register contents onto the Add-On data bus PTRDY# When asserted, this input indicates the current Pass-Thru transfer has been com pleted by the Add-On BPCLK Buffered PCI bus clock output (to syn- chronize Pass-Thru data register accesses)

S5935 – PCI Product

152 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book stores the PCI address in the Pass-Thru Address Reg- ister (APTA). For Pass-Thru writes, the S5935 responds immedi - ately (asserting TRDY#) and transfers the data from the PCI bus into the Pass-Thru Data Register (APTD). The S5935 then indicates to the Add-On interface that a Pass-Thru write is taking place and waits for Add-On logic to read the APTD register and complete the transfer (assert PTRDY#). Once the S5935 has cap tured the data from the PCI bus, the transfer is finished from the PCI bus perspective, and the PCI bus becomes available for other transfers. For Pass-Thru reads, the S5935 indicates to the Add- On interface that a Pass-Thru read is taking place and waits for Add-On logic to write the Pass-Thru Data Register and complete the transfer (assert PTRDY#). The S5935 completes the cycle when data is written into the data register. If the Add-On cannot complete the write quickly enough, the S5935 requests a retry from the initiator. See target-requested disconnect information. PCI Pass-Thru Burst Accesses For PCI Pass-Thru burst accesses, the S5935 cap - tures the PCI address and determines if it falls into one of the defined Pass-Thru r egions. Accesses that fall into a Pass-Thru region are accepted by asserting DEVSEL#. The S5935 monitors FRAME# and IRDY# on the PCI bus to identify burst accesses. If the PCI initiator is performing a burst access, the Pass-Thru status indicators notify Add-On logic. For Pass-Thru burst writes, the S5935 responds immediately (asserting TRDY#). The S5935 transfers the first data phase of the burst into the Pass-Thru Data Register (APTD), and stores the PCI address in the Pass-Thru Address Register (APTA). The Add-On interface completes the transfer and asserts PTRDY#. Every time PTRDY# is asserted by the Add-On, the S5935 begins the next data phase. The next data phase is latched into the data register. For burst accesses, APTA is automatically incremented by the S5935 for each data phase. For Pass-Thru burst reads, the S5935 claims the PCI cycle (asserting DEVSEL#). The request for data is passed on to Add-On logic and the PCI address is stored in the APTA register. The Add-On interface completes the transfer and asserts PTRDY#. The S5935 then drives the requested data on the PCI bus and asserts TRDY# to begin the next data phase. The APTA register is automatically incremented by the S5935 for each data phase. PCI Retry Conditions In some applications, Add-On logic may not be able to respond to Pass-Thru accesse s quickly. In this situa tion, the S5935 disconnects from the PCI bus, signaling a retry. This indicates that the initiator should try the access again at a later time. This allows other PCI cycles to be run while the logic on the slow target completes the Pass-Thru access. Ideally, when the ini tiator retries the access, the target has completed the access and can respond to the initiator. With many devices, particularly memories, the first access takes longer than subsequent accesses (assuming they are sequential and not random). For this reason, the PCI specification allows 16 clocks to respond to the first data phase of a PCI cycle and 8 clocks for subsequent data phas es (in the case of a burst) before a retry must be requested by the S5935. The S5935 also requests a retry if an initiator attempts to burst past the end of a Pass-Thru region. The S5935 updates the Pass-Thru Address Register (APTA) for each data phase during bursts, and if the updated address is not within the current Pass-Thru region, a retry is requested. For example, a PCI system may map a 512 byte Pass- Thru memory region to 0DC000h to 0DC1FFh. A PCI initiator attempts a four DW ORD burst with a starting address of 0DC1F8h. The first and second data phases complete (filling the DWORDs at 0DC1F8h and 0DC1FCh), but the third data phase causes the S5935 to request a retry. This forces the initiator to present the address 0DC200h on the PCI bus. If this address is part of another S5935 Pass-Thru region, the device accepts the access. PCI Write Retries When the S5935 requests a retry for a PCI Pass-Thru write, it indicates that the Add-On is still completing a previous Pass-Thru write access. The Pass-Thru Address and Data Register contents (APTA and APTD) are still required for the previous Pass-Thru operation and cannot be updated by the PCI interface until the access completes (the Add-On asserts PTRDY#). When the Add-On is busy completing a Pass-Thru write, the S5935 requests an immediate retry for all Pass-Thru region accesses, allowing the PCI bus to perform other operations. PCI Operation Registers may be accessed while the Add- On is still completing a Pass-Thru access. Only Pass-Thru region accesses receive retry requests.

154 DS1527 AMCC Confidential and Proprietary

Figure 81. Single Cycle Pass-Thru Write with PTADR# Clock 0: The PCI bus cycle address information is stored in the S5935 Pass-Thru Address Register. Data Register. PTATN# is asserted to indicate a Pass-Thru access is occurring. when PTATN# is active and are sampled by the Add-On at the rising edge of clock 2. PTBURST# Deasserted. The access has a single data phase. PTNUM[1:0] 01. Indicates the PCI access is to Pass-Thru region 1. PTWR Asserted. The Pass-Thru access is a write. PTBE[3:0]# 0h. Indicates the Pass-Thru access is 32-bits. SELECT#, address and byte enable inputs are driven to read the Pass-Thru Data Register at offset 2Ch. DQ[31:0] are driven after RD# and SELECT# are asserted. access is completed at clock 4. deasserted and the Pass-Thru access is completed at clock 5. Clock 5: PTATN# and PTBURST# deasserted at the rising edge of clock 5 indicates the Pass-Thru access is complete. The S5935 can accept new Pass-Thru accesses from the PCI bus at clock 6.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 155 Data Book The Add-On PTADR# input directly accesses the Pass-Thru Address Register and drives the contents onto the data bus (no BPCLK rising edge is required). The byte enables, address, and SELECT# inputs are ignored when PTADR# is asserted. RD# and WR# must not be asserted when PTADR# is asserted. Clock 0: The PCI bus cycle address is stored in the S5935 Pass-Thru Address Register. Clock 1: The PCI address is recognized as an access to Pass-Thru region 1. PCI data is stored in the S5935 Pass-Thru Data Register. PTATN# is asserted to indicate a Pass-Thru access is occurring. Clock 2: Pass-Thru status signals indicate what action is required by Add-On logic. Pass-Thru status outputs are valid when PTATN# is active and are sampled by the Add-On at the rising edge of clock 2. PTBURST# Deasserted. The access has a single data phase. PTNUM[1:0] 01. Indicates the PCI access is to Pass-Thru region 1. PTWR Asserted. The Pass-Thru access is a write. PTBE[3:0]# 0h. Indicate the Pass-Thru access is 32-bits. The PTADR# input is asserted to read the Pass-Thru Address Register. The byte enable, address, and SELECT# inputs are changed during this clock to select the Pass-Thru Data Register during clock cycle 3. Clock 3: SELECT#, byte enable, and the address inputs remain valid to read the Pass-Thru Data Register at offset 2Ch. RD# is asserted to drive data register contents onto the DQ bus. Clock 4: If PTRDY# is asserted at the rising edge of clock 4, PTATN# is immediately deasserted and the Pass-Thru access is completed at clock 5. Clock 5: If Add-On logic requires more time to read the Pass-Thru Data Register (slower memory or peripherals), PTRDY# can be delayed, extending the cycle. PTRDY# asserted at the rising edge of clock 5 causes PTATN# to be immediately deasserted. Clock 6: PTATN# and PTBURST# deasserted at the rising edge of clock 6 indicates the Pass-Thru access is complete. The S5935 can accept new Pass-Thru accesses from the PCI bus at clock 7.

S5935 – PCI Product

156 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Single Cycle Pass-Thru Reads A single cycle Pass-Thru re ad operation occurs when a PCI initiator reads a sing le value from a Pass-Thru region. PCI single cycle tr ansfers consists of an address phase and a one data phase. During the ad- dress phase of the PCI transfer, the S5935 stores the PCI address into the Pass-Thru Address Register (APTA). If the S5935 determi nes that the address is within one of its defined Pass-Thru regions, it indicates to the Add-On that a write to the Pass-Thru Data Reg ister (APTD) is required. Figure 3 shows a single cycle Pass-Thru read access (Add-On write) using PTADR#. The Add-On reads data from a source on the Add-On and writes it to the APTD register. Pass-Thru Burst Writes A Pass-Thru burst write operation occurs when a PCI initiator writes multiple values to a Pass-Thru region. A PCI burst cycle consists of an address phase and mul tiple data phases. During the address phase of the PCI transfer, the S5935 stores the PCI address into the Pass-Thru Address Register (APTA). If the S5935 determines that the address is within one of its defined Pass-Thru regions, it captures the PCI data into the Pass-Thru Data Register (APTD). After the Add-On completes each read from the Pass-Thru data register (asserts PTRDY#), the next data phase is initiated. Figure 4 shows a 6 data phase Pass-Thru burst write (Add-On read). In this case, the Add-On asserts PTADR# and then reads multiple data phases from the S5935. This works well for Add-On logic which sup ports burst cycles. If the Add-On logic does not support burst accesses, PTADR# may be pulsed before each data phase. The S5935 automatically increments the address in the APTA register during PCI burst cycles. In this example PTRDY# is always asserted, indicating Add-On logic is capable of accept ing data at a rate of one DWORD per clock cycle. Clock 0: PCI address information is stored in the S5935 Pass-Thru Address Register. The PCI cycle is recognized as an access to Pass-Thru region 1. PTATN# is asserted by the S5935 to indicate a Pass-Thru access is occurring. Clock 1: Pass-Thru status signals indicate what action is required by Add-On logic. Pass-Thru status outputs are valid when PTATN# is active and are sampled by the Add-On at the rising edge of clock 1. PTBURST# Deasserted. The access has a single data phase. PTNUM[1:0] 01. Indicates the PCI access was to Pass-Thru region 1. PTWR Deasserted. The Pass-Thru access is a read. PTBE[3:0]# 0h. Indicate the Pass-Thru access is 32-bits. The PTADR# input is asserted to read the Pass-Thru Address Register. The byte enable, address, and SELECT# inputs are changed during this clock to select the Pass-Thru Data Register during clock cycle 3. Clock 2: This clock is required to avoid contention on the DQ bus. Time must be allowed after PTADR# is deasserted for the DQ outputs to float before Add-On logic attempts to write to the Pass-Thru Data Register. Clock 3: SELECT#, byte enables, and the address inputs remain valid to write the Pass-Thru Data Register at offset 2Ch. If WR# is asserted at the rising edge of clock 3, data on the DQ bus is latched into APTD. If PTRDY# is asserted at the rising edge of clock 3, PTATN# is immediately deasserted and the Pass-Thru access is completed at clock 4. Clock 4: If Add-On logic requires more time to write the Pass-Thru data register (slower memory or peripherals), PTRDY# can be delayed, extending the cycle. PTRDY# asserted at the rising edge of clock 4 causes PTATN# to be imme- diately deasserted and the Pass-Thru access is completed at clock 5. Clock 5: PTATN# and PTBURST# deasserted at the rising edge of clock 5 indicates the Pass-Thru access is complete. The S5935 can accept new Pass-Thru accesses from the PCI bus at clock 6.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 157 Data Book Clock 0: PCI address information is stored in the S5935 Pass-Thru Address Register. Clock 1: The PCI address is recognized as an access to Pass-Thru region 1. PCI data for the first data phase is stored in the S5935 Pass-Thru Data Register. PTATN# is asserted by the S5935 to indicate a Pass-Thru access is occur- ring. Clock 2: Pass-Thru status signals indicate what action is required by Add-On logic. Pass-Thru status outputs are valid when PTATN# is active and are sampled by the Add-On at the rising edge of clock 2. PTBURST# Asserted. The access has a multiple data phases. PTNUM[1:0] 01. Indicates the PCI access was to Pass-Thru region 1. PTWR Asserted. The Pass-Thru access is a write. PTBE[3:0]# 0h. Indicate the Pass-Thru access is 32-bits. The PTADR# input is asserted to read the Pass-Thru Address Register. The byte enable, address, and SELECT# inputs are changed during this clock to select the Pass-Thru Data Register during clock cycle 3. Clock 3: SELECT#, byte enables, and the address inputs remain driven to read the Pass-Thru Data Register at offset 2Ch. RD# is asserted to drive data register contents onto the DQ bus. Clock 4: Add-On logic uses the rising edge of clock 4 to store DATA 1 from the S5935. PTRDY# asserted at the rising edge of clock 4 completes the current data phase. DATA 2 is driven on the Add-On bus. Clock 5: Add-On logic uses the rising edge of clock 5 to store DATA 2 from the S5935. PTRDY# asserted at the rising edge of clock 5 completes the current data phase. DATA 3 is driven on the Add-On bus. Clock 6: Add-On logic uses the rising edge of clock 6 to store DATA 3 from the S5935. PTRDY# asserted at the rising edge of clock 6 completes the current data phase. On the PCI bus, IRDY# has been deasserted, causing PTATN# to be deasserted. This is how a PCI initiator adds wait states, if it cannot provide data quickly enough. Data on the Add-On bus is not valid. Clock 7: Because PTATN# remains deasserted, Add-On logic cannot store data at the rising edge of clock 7. PTATN# is reasserted, indicating the PCI initiator is no longer adding wait states. DATA 4 is driven on the Add-On bus. Clock 8: Add-On logic uses the rising edge of clock 8 to store DATA 4 from the S5935. PTRDY# asserted at the rising edge of clock 8 completes the current data phase. On the PCI bus, IRDY# has been deasserted again, causing PTATN# to be deasserted. Data on the Add-On bus is not valid. Clock 9: The PCI initiator is still adding wait states. Add-On logic cannot store data while PTATN# is deasserted. Clock 10: Because PTATN# remains deasserted, Add-On logic cannot read data at the rising edge of clock 10. PTATN# is reasserted, indicating the PCI initiator is no longer adding wait states. DATA 5 is driven on the Add-On bus. Clock 11: Add-On logic uses the rising edge of clock 11 to store DATA 5 from the S5935. PTRDY# asserted at the rising edge of clock 11 completes the current data phase. DATA 6 is driven on the Add-On bus. Clock 12: Add-On logic uses the rising edge of clock 12 to store DATA 6 from the S5935. PTRDY# asserted at the rising edge of clock 12 completes the final data phase. Clock 13: PTATN# and PTBURST# deasserted at the rising edge of clock 13 indicates the Pass-Thru access is complete. The S5935 can accept new Pass-Thru accesses from the PCI bus at clock 15.

158 DS1527 AMCC Confidential and Proprietary

Figure 82. Single Cycle Pass-Thru Read with PTADR# Figure 83. Pass-Thru Burst Write functions the same under both conditions.

Figure 84. Pass-Thru Burst Writes Controlled by PTRDY#

S5935 – PCI Product

160 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Clock 0: PCI address information is stored in the S5935 Pass-Thru Address Register. Clock 1: The PCI address is recognized as an access to Pass-Thru region 1. PCI data for the first data phase is stored in the S5935 Pass-Thru Data Register. PTATN# is asserted by the S5935 to indicate a Pass-Thru access is occurring. Clock 2: Pass-Thru status signals indicate what action is required by Add-On logic. Pass-Thru status outputs are valid when PTATN# is active and are sampled by the Add-On at the rising edge of clock 2. PTBURST# Asserted. The access has multiple data phases. PTNUM[1:0] 01. Indicates the PCI access is to Pass-Thru region 1. PTWR Asserted. The Pass-Thru access is a write. PTBE[3:0]# 0h. Indicate the Pass-Thru access is 32-bits. The PTADR# input is asserted to read the Pass-Thru Address Register. The byte en-able, address, and SELECT# inputs are changed during this clock to select the Pass-Thru Data Register during clock cycle 3. Clock 3: SELECT#, byte enable, and the address inputs remain driven to read the Pass-Thru Data Register at offset 2Ch. RD# is asserted to drive data register contents onto the Add-On data bus. Clock 4: Add-On logic uses the rising edge of clock 4 to store DATA 1 from the S5935. PTRDY# asserted at the rising edge of clock 4 completes the current data phase. DATA 2 is driven on the Add-On bus. Clock 5: Add-On logic is not fast enough to store DATA 2 by the rising edge of clock 5. PTRDY# deasserted at the ris- ing edge of clock 5 extends the current data phase and DATA 2 remains driven on the Add-On bus. Clock 6: Add-On logic uses the rising edge of clock 6 to store DATA 2 from the S5935. PTRDY# asserted at the rising edge of clock 6 completes the current data phase. DATA 3 is driven on the Add-On bus. Clock 7: Add-On logic is not fast enough to store DATA 3 by the rising edge of clock 7. PTRDY# deasserted at the ris- ing edge of clock 7 extends the current data phase is and DATA 3 remains driven on the Add-On bus. Clock 8: Add-On logic uses the rising edge of clock 8 to store DATA 3 from the S5935. PTRDY# asserted at the rising edge of clock 8 completes the current data phase. On the PCI bus, IRDY# has been deasserted, causing PTATN# to be deasserted. Data on the Add-On bus is not valid. Clock 9: Because PTATN# remains deasserted, Add-On logic cannot store data at the rising edge of clock 9. PTATN# is reasserted, indicating the PCI initiator is no longer adding wait states. DATA 4 is driven on the Add-On bus. Clock 10: Add-On logic uses the rising edge of clock 10 to store DATA 4 from the S5935. PTRDY# asserted at the rising edge of clock 10 completes the current data phase. DATA 5 is driven on the Add-On bus. PTBURST# is deas- serted, indicating that on the PCI bus, the burst is complete except for the last data phase. Since the data is double buffered, there may be one or two pieces of data available to the Add-On when PTBURST# becomes inactive. This example shows the single data available case. If another piece of data was available, then PTATN# would remain active instead of going inactive at clock 12. Clock 11: Add-On logic is not fast enough to store DATA 5 by the rising edge of clock 11. PTRDY# deasserted at the ris- ing edge of clock 11 extends the data phase and DATA 5 remains driven on the Add-On bus. Clock 12: Add-On logic uses the rising edge of clock 12 to store DATA 5 from the S5935. PTRDY# asserted at the rising edge of clock 12 completes the final data phase. Clock 13: PTATN# deasserted at the rising edge of clock 13 indicates the Pass-Thru access is complete. The S5935 can accept new Pass-Thru accesses from the PCI bus at clock 14.

burst read access (Add-On write) using PTADR#. Figure 85. Pass-Thru Burst Read

S5935 – PCI Product

162 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Clock 0: PCI address information is stored in the S5935 Pass-Thru Address Register. The PCI address is recognized as an access to Pass-Thru region 1. PTATN# is asserted by the S5935 to indicate a Pass-Thru access is occurring. PTBURST# is asserted by the S5935, indicating the current Pass-Thru read is a burst. Clock 1: Pass-Thru status signals indicate what action is required by Add-On logic. Pass-Thru status outputs are valid when PTATN# is active and are sampled by the Add-On at the rising edge of clock 2. PTBURST# Deasserted, the S5935 does not yet recognize a PCI burst. PTNUM[1:0] 01. Indicates the PCI access is to Pass-Thru region 1. PTWR Deasserted. The Pass-Thru access is a read. PTBE[3:0]# 0h. Indicate the Pass-Thru access is 32-bits. The PTADR# input is asserted to read the Pass-Thru Address Register. The byte enable, address, and SELECT# inputs are changed during this clock to select the Pass-Thru Data Register during clock cycle 3. Clock 2: SELECT#, byte enables, and the address inputs remain driven to read the Pass-Thru Data Register at offset 2Ch. Clock 3: WR# asserted at the rising edge of clock 3 writes DATA 1 into the S5935. PTRDY# asserted at the rising edge of clock 3 completes the current data phase. Clock 4: WR# asserted at the rising edge of clock 4 writes DATA 2 into the S5935. PTRDY# asserted at the rising edge of clock 4 completes the current data phase. Clock 5: WR# asserted at the rising edge of clock 5 writes DATA 3 into the S5935. PTRDY# asserted at the rising edge of clock 5 completes the current data phase. On the PCI bus, IRDY# has been deasserted, causing PTATN# to be deasserted. This is how a PCI initiator adds wait states, if it cannot read data quickly enough. Clock 6: PTATN# remains deasserted at the rising edge of clock 6. The Add-On cannot write DATA 4 until PTATN# is asserted. PTATN# is reasserted during the cycle, indicating the PCI initiator is no longer adding wait states. Add-On logic continues to drive DATA 4 on the Add-On bus. Clock 7: WR# asserted at the rising edge of clock 7 writes DATA 4 into the S5935. PTRDY# asserted at the rising edge of clock 7 completes the current data phase. On the PCI bus, IRDY# has been deasserted, causing PTATN# to be deasserted. The PCI initiator is adding wait states. Clock 8: PTATN# remains deasserted at the rising edge of clock 8. The Add-On cannot write DATA 5 until PTATN# is asserted. Add-On logic continues to drive DATA 5 on the Add-On bus. Clock 9: PTATN# remains deasserted at the rising edge of clock 9. The Add-On cannot write DATA 5 until PTATN# is asserted. Add-On logic continues to drive DATA 5 on the Add-On bus. PTATN# is reasserted during the cycle, indicating the PCI initiator is done adding wait states. Clock 10: WR# asserted at the rising edge of clock 10 writes DATA 5 into the S5935. PTRDY# asserted at the rising edge of clock 10 completes the current data phase. Clock 11: WR# asserted at the rising edge of clock 11 writes DATA 6 into the S5935. PTRDY# asserted at the rising edge of clock 11 completes the final data phase. Clock 12: PTBURST# is deasserted at the rising edge of clock 12 indicating the Pass-Thru burst is complete. The S5935 can accept new Pass-Thru accesses from the PCI bus at clock 14. Any data written into the Pass-Thru data reg- ister is not required and is never passed to the PCI interface (as PTRDY# is not asserted at the rising edge of clock 13).

S5935 – PCI Product

164 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book Clock 0: PCI address information is stored in the S5935 Pass-Thru Address Register. The PCI address is recognized as an access to Pass-Thru region 1. PTATN# is asserted by the S5935 to indicate a Pass-Thru access is occurring. PTBURST# is asserted by the S5935, indicating the current Pass-Thru read is a burst. Clock 1: Pass-Thru status signals indicate what action is required by Add-On logic. Pass-Thru status outputs are valid when PTATN# is active and are sampled by the Add-On at the rising edge of clock 2. PTBURST# Deasserted, the S5935 does not yet recognize a PCI burst. PTNUM[1:0] 01. Indicates the PCI access is to Pass-Thru region 1. PTWR Deasserted. The Pass-Thru access is a read. PTBE[3:0]# 0h. Indicate the Pass-Thru access is 32-bits. The PTADR# input is asserted to read the Pass-Thru Address Register. The byte enable, address, and SELECT# inputs are changed during this clock to select the Pass-Thru Data Register during clock cycle 3. Clock 2: SELECT#, byte enable, and the address inputs remain driven to read the Pass-Thru Data Register at offset 2Ch. Clock 3: WR# asserted at the rising edge of clock 3 writes DATA 1 into the S5935. PTRDY# asserted at the rising edge of clock 3 completes the current data phase. Clock 4: Add-On logic drives DATA 2 on the Add-On bus, but PTRDY# deasserted at the rising edge of clock 4 extends the current data phase. Clock 5: WR# asserted at the rising edge of clock 5 writes DATA 2 into the S5935. PTRDY# asserted at the rising edge of clock 5 completes the current data phase. Clock 6: Add-On logic drives DATA 3 on the Add-On bus, but PTRDY# deasserted at the rising edge of clock 6 extends the current data phase. Clock 7: WR# asserted at the rising edge of clock 7 writes DATA 3 into the S5935. PTRDY# asserted at the rising edge of clock 7 completes the current data phase. On the PCI bus, IRDY# has been deasserted, causing PTATN# to be deasserted. This is how a PCI initiator adds wait states, if it cannot read data quickly enough. Clock 8: PTATN# remains deasserted at the rising edge of clock 8. The Add-On cannot write DATA 4 until PTATN# is asserted. Add-On logic continues to drive DATA 4 on the Add-On bus. PTATN# is reasserted during the cycle, indicating the PCI initiator is done adding wait states. Clock 9: WR# asserted at the rising edge of clock 9 writes DATA 4 into the S5935. PTRDY# asserted at the rising edge of clock 9 completes the current data phase. Clock 10: Add-On logic drives DATA 5 on the Add-On bus, but PTRDY# deasserted at the rising edge of clock 10 extends the current data phase. Clock 11: PTATN# remains deasserted at the rising edge of clock 11. The Add-On does not have to write DATA 5 until PTATN# is asserted. Add-On logic continues to drive DATA 5 on the Add-On bus. PTATN# is reasserted during the cycle, indicating the PCI initiator is done adding wait states. Clock 12: PTRDY# asserted at the rising edge of clock 12 completes the final data phase. Any data written into the Pass- Thru data register is not required and is never passed to the PCI interface (as PTRDY# is not asserted at the ris- ing edge of clock 13). Clock 13: PTATN# and PTBURST# deasserted at the rising edge of clock 13 indicates the Pass-Thru access is complete. The S5935 can accept new Pass-Thru accesses from the PCI bus at clock 14.

166 DS1527 AMCC Confidential and Proprietary

Figure 88. Target Requested Retry after the First Data Phase of a Burst Operation 8, completing the data phase with requiring a retry. bus interface signals after the S5935 requests a retry.

Figure 89. Pass-Thru Signals after a Target Requested Retry the Add-On, completing the access. written (and which bytes have already been written). PTRDY#, completing the cycle.

168 DS1527 AMCC Confidential and Proprietary

Table 44. Byte Lane Steering for Pass-Thru Data Register Read (PCI Write) Table 45. Byte Lane Steering for Pass-Thru Data Register Write (PCI Read)

S5935 – PCI Product

170 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book CONFIGURATION The S5935 Pass-Thru interface utilizes four Base Address Registers (BADR1:4 ). Each Base Address Register corresponds to a Pass-Thru region. The con - tents of these registers during initialization determine the characteristics of that particular Pass-Thru region. Each region can be mapped to memory or I/O space. Memory mapped devices can, optionally, be mapped below 1 Mbyte and can be identified as prefetchable. Both memory and I/O regions can be configured as 8-, 16-, or 32-bits wide. The designer has the option to use 1, 2, 3, 4 or none of the Pass-Thru regions. Base Address Registers are loaded during initialization from the external non-vola tile boot device. Without an external boot device, the default value for the BADR r egisters is zero (region disabled). The Base Address Registers are the only registers that define Pass-Thru operation. S5935 Base Address Register Definition Some bits in the Base Address Registers have specific functions. The following bits have special functions: BADR1:4 bits D31:30 are used only by the S5935. When the host reads the Base Address Registers dur ing configuration cy cles, they always return the same value as D29. If D29 is zero, D31:30 return zero, indi - cating the region is disabled. If D29 is one, D31:30 return one. This operat ion limits each Pass-Thru region to a maximum size of 512 Mbytes of memory. For I/O mapped regions, the PCI specification allows no more than 256 bytes per region. The S5935 allows larger regions to be requested by the Add-On, but a PCI BIOS will not allocate the I/O space and will prob ably disable the region. Creating a Pass-Thru Region Page 3-40 describes the values that must be pro - grammed into the non-volatile boot device to request various block sizes and char acteristics for Pass-Thru regions. After reset, the S5935 downloads the con - tents of the boot device lo cations 54h, 58h, 5Ch, and 60h into “masks” for the correspondi ng Base Address Registers. The following are some examples for vari - ous Pass-Thru region definitions: During the PCI bus configuration, the host CPU writes all ones to each Base Address Register, and then reads the contents of the registers back. The mask downloaded from the boot device determines which bits are read back as zeros and which are read back D0 Memory or I/O mapping. If this bit is clear, the region should be memory mapped. If this bit is set, the region should be I/O mapped. D2:1 Location of a memory region. These bits request that the region be mapped in a particu lar part of memory. These bit definitions are only used for memory mapped regions. D3 Prefetchable. For memory mapped regions, the region can be defined as cacheable. If set, the region is cacheable. If this bit is clear, the region is not. D31:30 Pass-Thru region bus width. These two bits are used by the S5935 to define the data bus width for a Pass-Thru region. Regardless of the pro gramming of other bits in the BADR register, if D31:30 are zeros, the Pass-Thru region is dis- abled. D2 D1 Location 0 0 Anywhere in 32-bit memory space 0 1 Below 1 Mbyte in memory space (Real Mode address space) 1 0 Anywhere in 64-bit memory space (not valid for the S5935) 1 1 Reserved D31 D30 Add-On Bus Width 0 0 Region disabled 0 1 8-bits 1 0 16-bits 1 1 32-bits NV Memory Contents Pass-Thru Region Definition 54h = BFFFF002h Pass-Thru region 1 is a 4Kbyte region, mapped below 1 Mbyte in memory space with a 16-bit Add-On data bus. This memory region is not cacheable. 58h = 3xxxxxxxh Pass-Thru region 2 is disabled. (D31:30 = 00.) 60h = FFFFFF81h Pass-Thru region 3 is a 32-bit, 128 byte I/O-mapped region. 64h = 00000000h Pass-Thru region 4 is disabled.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 171 Data Book as ones. The number of zeros read back indicates the amount of memory or I/O space a particular S5935 Pass-Thru region is requesting. After the host reads all Base Address Registers in the system (as every PCI device implements from one to six), the PCI BIOS allocates memory and I/O space to each Base Address region. The host then writes the start address of each region back into the Base Address Registers. The start address of a region is always an integer multiple of the region size. For example, a 64 Kbyte memory region is always mapped to begin on a 64K boundary in memory. It is important to note that no PCI device can xbe abso lutely located in system me mory or I/O space. All mapping is determined by the system, not the application. Accessing a Pass-Thru Region After the system is finished defining all Base Address Regions within a system, each Base Address Register contains a physical address. The application software must now find the location in memory or I/O space of its hardware. PCI systems provide BIOS or operating system function calls for application software to find particular devices on the PCI bus based on Vendor ID and Device ID values. This allows application software to access the device’s Configuration Registers. The Base Address Register values in the S5935’s Configuration Space may then be read and stored for use by the program to access application hardware. The value in the Base Address Registers is the physi cal address of the first lo cation of that Pass-Thru region. Some processor architectures allow this address to be used directly to access the PCI device. For Intel Architecture systems, the physical address must be changed into a Segment/Offset combination. For Real Mode operation in an Intel Architecture sys - tem (device mapped below 1 Mbyte in memory), creating a Segment/Offset pair is relatively simple. To calculate a physical address, the CPU shifts the seg ment register 4 bits to the left and adds the offset (resulting in a 20 bit physical address). The value in the Base Address Register must be read and shifted 4 bits to the right. This is the segment value and should be stored in one of the Segment registers. An offset of zero (stored in SI, DI or another offset register) accesses the first location in the Pass-Thru region.

S5935 – PCI Product

172 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book (This page intentionally left blank.)

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 173 Data Book ABSOLUTE MAXIMUM RATINGS DC CHARACTERISTICS The Following table summarizes the required parameters defined by the PCI specification as they apply to the S5935 controller. Notes: 1. Input leakage applies to all inputs and bi-directional buffers. 2. PCI Bus signals without pull-up resistors will provide the 3 mA output current. Signals which require a pull-up resistor will provide 6 mA out- put current. 3. The PCI specification limits all PCI inputs not located on the motherboard to 10 pf (the clock is allowed to be 12 pf). Parameter Min Max Units Storage Temperature -55 125 °C Supply Voltage (VCC) -0.3 7.0 Volts Input Pin Voltage -0.5 VCC+ 5.0 Volts Power Dissipation 1.05 Watts @ 33 MHz PCI Input/Output Electrical Characteristics Symbol Parameter Min Max Units Test Conditions Notes VCC Supply Voltage 4.75 5.25 V VIH Input High Voltage 2.0 V VIL Input Low Voltage –0.5 0.8 V IIH Input High Leakage Current 70 uA VIN = 2.7 1 IIL Input Low Leakage Current –70 uA VIN = 0.5 1 VOH Output High Voltage 2.4 V IOUT = –2mA VOL Output Low Voltage 0.55 V IOUT = 3mA, 6mA 2 CIN Input Pin Capacitance 10 pF V in = 0.5 3 CCLK CLK Pin Capacitance 5 12 pF CIDSEL IDSEL Pin Capaticance 8 pF

S5935 – PCI Product

174 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book PCI BUS SIGNALS The following table summarizes the PCI Bus DC parameters de fined by the PCI specification as they apply to the S5935 controller. Signal Type Direction Max Units Notes CLK Input RST# Input INTA# Open Drain Output 4 mA AD[31:0] t/s Bi-directional mA REQ# t/s Output 4 mA GNT# Input C/BE[3:0]# t/s Bi-directional 4 mA DEVSEL# s/t/s Bi-directional mA FRAME# s/t/s Bi-directional 4 mA IRDY# s/t/s Bi-directional 4 mA TRDY# s/t/s Bi-directional 4 mA PERR# s/t/s Bi-directional 4 mA PAR t/s Bi-directional 4 mA SERR# Open Drain Output 4 mA STOP# s/t/s Bi-directional 4 mA LOCK# Input IDSEL Input

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 175 Data Book ADD-ON BUS SIGNALS Signal Type Direction Max Units Notes PCLK Output 8 mA IRQ# Output 4 mA SYSRST# Output 4 mA ADR[6:2] Input SELECT Input ADR[6:2] Input BE[3:0]# Input RD# Input WR# Input DQ[31:0] t/s Bi-directional 4 mA WRFULL Output 4 mA RDEMPTY Output 4 mA RDFIFO# Input WRFIFO# Input PTATN# Output 4 mA PTBURST# Output 4 mA PTADR# Input PTRDY# Input PTWR Output 4 mA PTBE[3:0]# Output 4 mA PTNUM[1:0] Output 4 mA EQ[7:0] t/s Bi-directional 1 mA EA[8:0] t/s Output 1 mA EA[15:9] Output 1 mA MODE Input TEST Output 4 mA FLT# Input

176 DS1527 AMCC Confidential and Proprietary

  1. Minimum times are for unloaded outputs, maximum times are for 50 pF equivalent loads.

Figure 91. PCI Clock Timing

178 DS1527 AMCC Confidential and Proprietary

Figure 94. Add-On Clock Timing Figure 95. Pass-Thru Clock Relationship to PCI Clock

  1. Min and Max times are indicated to allow incr eased valid data time as shown by dashed lines.
  2. 2.State change of RDEMPTY shown below is reference only. Actual change would indicate no Data 3 available.
  3. 3.Valid applies after first access. First access is async with following as sync accesses.

Figure 96. Synchronous RDFIFO# Timing Functional Operation Range (VCC=5.0V 5%, 0 C to 70 C Ta’ 50 pf loaf on outputs).

180 DS1527 AMCC Confidential and Proprietary

  1. State change of WRFULL shown below is reference only. Actual change would indicate no Data 3 written.

Figure 97. Synchronous WRFIFO# Timing Functional Operation Range (VCC= 5.0V 5%, 0 C to 70 C Ta’ 50 pf load on outputs).

Figure 98. Asynchronous RD# FIFO Timing Functional Operation Range (VCC=5.0V 5%, 0 C to 70 C Ta’ 50 pf load on outputs).

182 DS1527 AMCC Confidential and Proprietary

Figure 99. Asynchronous WR# FIFO Timing Functional Operation Range (VCC=5.0V 5%, 0 C to 70 C T 50 pf load on outputs).

  1. Data is valid for 22ns for a 31ns t 124 RD# Setup.
  2. RD# and SELECT# must both be asserted to dric=ve DQ[31:0] - delay is from the last one asserted.
  3. When increasing Setup times, ADR[6:2], BE[3:0]#, SELECT#, and RD# timing relations remain relative to each other as shown.
  4. Min and Max are indicated to allow increased valid data time as shown by dashed lines. First accesses are async.

Figure 100. Synchronous RD# FIFO Timing Functional Operation Range (VCC=5.0V 5%, 0 C to 70 C T 50 pf load on outputs).

184 DS1527 AMCC Confidential and Proprietary

Figure 101. Synchronous RD# FIFO Timing

Figure 102. Synchronous WR# FIFO Timing Functional Operation Range (VCC=5.0V 5%, 0 C to 70 C Ta’ 50 pf load on outputs).

186 DS1527 AMCC Confidential and Proprietary

Figure 103. Synchronous Multiple WR# FIFO Timing

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 187 Data Book Target S5935 Pass-Thru Interface Timings Note: 1. This timing also applies to the use of BE[3:0]# to control DQ[31:0] drive. Functional Operation Range (VCC=5.0V 5%, 0 C to 70 C, 50 pF load on outputs) Symbol Parameter Min Max Units Notes t10a SELECT# Setup to BPCLK Rising Edge 3 ns t11a SELECT# Hold from BPCLK Rising Edge 2 ns t12 ADR[6:2], BE[3:0]# to Valid DQ [31:0] 16 ns t13 ADR[6:2], BE[3:0]# Setup to BPCLK Rising Edge 5 ns t14 ADR[6:2], BE[3:0]# Hold from BPCLK Rising Edge 2 ns t17 RD# Low to DQ{31:0] Driven 13 ns 1 t24 Pass-Thru Status Valid from BPCLK Rising Edge 5 ns t25 Pass-Thru Status Hold from BPCLK Rising Edge 0 ns t26 PTRDY# Setup to BPCLK Rising Edge 5 ns t27 PTRDY# Hold from BPCLK Rising Edge 3 ns t28 PCICLK to BPCLK delay 2 6.5 ns t29 RD#, WR# Setup to BPCLK Rising Edge 5 ns t30 RD#, WR# Hold from BPCLK Rising Edge 2 ns t31 DQ[31:0] Setup to BPCLK Rising Edge 5 ns t32 DQ[31:0] Hold from BPCLK Rising Edge 2 ns t33 DQ[31:0] Valid from BPCLK Rising Edge 15 ns t34 DQ[31:0] Float from RD# Rising Edge 12 ns

188 DS1527 AMCC Confidential and Proprietary

Figure 104. Pass-Thru Data Register Read Timing Figure 105. Pass-Thru Data Register Write Timing

Figure 106. Pass-Thru Status Indicator Timing

  1. T represents the clock period for the PCI bus clock (30ns @ 33 MHz).
  2. The write cycle time is controlled by both the PCI bus clock and software operations to initiate the write operation of nv memory. This param-

eter is the result of several software operations to the Bus Master Control/Status Register (MCSR).

190 DS1527 AMCC Confidential and Proprietary

Figure 107. nv Memory Read Timing Figure 108. nv Memory Write Timing

S5935 – PCI Product

192 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book (This page intentionally left blank.)

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 193 Data Book S5935 Pinout and Pin Assignment - 160 PQFP EQ0 AD23 AD22 AD21 DQ31 AD20 AD19 AD18 EQ1 VSS VCC AD17 DQ30 AD16 C/BE2# FRAM EQ2 IRDY# TRDY# DEVSEL# EQ3 STOP# LOCK# PERR# DQ29 SERR# PAR C/BE1# EQ4/FW VSS VCC AD15 EQ5/FRC# AD14 AD13 AD12 DQ28 AD11 AD10 AD9 PTBE3# PTBE2# PTBE1# DQ20 PTBE0# PTRDY# PTATN# EA9 PTBURST# VCC VSS EA8 PTW R PTADR# RDEM PTY DQ21 RDFIFO# W RFULL W RFIFO# EA7 DQ0 DQ1 DQ2 EA6 DQ3 DQ4 DQ5 DQ22 DQ6 VCC VSS EA5 DQ7 BEO# DQ8 DQ23 DQ9 DQ10 DQ11 EA4 S5935 (160 PQFP) DQ13 DQ12 DQ14 DQ24 DQ15 SELECT# WR# EA3 RD# VCC VSS EA2 ADR2 ADR3 ADR4 DQ25 ADR5 BE1# BE2# EA1 BE3# MODE INTA# EA0 AD0 AD1 AD2 DQ26 AD3 VCC VSS EQ7/AMWEN AD4 AD5 AD6 DQ27 AD7 C/BE0# AD8 EQ6/AMREN EA10 PTNUM1 PTNUM0 IRQ# DQ19 SYSRST# EWR#/SDA ERD#/SCL EA11 VSS VCC ADR6 DQ18 NC SNV NC EA12 RSVD RST# BPCLK EA13 CLK GNT# REQ# DQ17 AD31 AD30 AD29 EA14/FWE VSS VCC AD28 EA15/FRF AD27 AD26 AD25 DQ16 AD24 C/BE3# IDSEL 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160

S5935 – PCI Product

194 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book S5935 Pinout and Pin Assignment - 208 TQFP VDD VSS VSS EQ0 AD23 AD22 AD21 DQ31 AD20 AD19 AD18 N/C EQ1 VSS VSS VDD VDD AD17 DQ30 AD16 C/BE2# FRAM EQ2 IRDY# TRDY# DEVSEL# EQ3 STOP# LOCK# PERR# DQ29 SERR# N/C PAR C/BE1# EQ4 VSS VSS VDD VDD VDD VDD VDD PTBE3# PTBE2# PTBE1# DQ20 PTBE0# PTRDY# PTATN# EA9 PTBURST# N/C VSS VSS VSS EA8 PTW R PTADDR# N/C RDEM PTY DQ21 RDFIFO# W RFULL W RFIFO# EA7 DQ0 DQ1 DQ2 EA6 DQ3 DQ4 DQ5 DQ22 DQ6 N/C VDD VSS VSS EA5 S5935 (208 TQFP) VSS VDD VSS VSS EA2 ADR2 ADR3 N/C ADR4 DQ25 ADR5 BE1 BE2 EA1 BE3 MODE INTA# EA0 AD0 AD1 AD2 DQ26 AD3 N/C VDD VSS VSS EQ7 N/C AD4 AD5 AD6 DQ27 AD7 C/BE0# AD8 EQ6 VSS VSS VDD EA11 VSS VSS VDD N/C ADR6 DQ18 NV N/C EA12 RSVD RST# BPCLK EA13 CLK GNT# REQ# DQ17 AD31 AD30 N/C AD29 EA14 VSS VSS VDD N/C AD28 EA15 AD27 AD26 AD25 N/C DQ16 AD24 C/BE3# IDSEL VDD VDD VDD 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 AD15 EQ5 AD14 AD13 AD12 DQ28 AD11 AD10 AD9 VDD VDD VDD 41 42 43 44 45 46 47 48 49 50 51 52 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 N/C DQ7 BE0 DQ8 DQ23 DQ9 DQ10 DQ11 EA4 VSS VSS VDD 116 115 114 113 112 111 110 109 108 107 106 105 VDD VDD DQ12 DQ13 DQ14 VSS DQ24 DQ15 SELECT# WR# EA3 RD# 104 103 102 101 100 169 170 171 172 173 174 175 176 177 178 179 180 VDD VSS VSS EA10 PTNUM1 PTNUM0 IRQ# DQ19 STSRST# SDA/EWR SCL/ERD N/C 157 158 159 160 161 162 163 164 165 166 167 168 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 195 Data Book S5935 Numerical Pin Assign- ment - 160 PQFP Pin# Signal Type

1 EQ0 t/s

2 AD23 t/s

3 AD22 t/s

4 AD21 t/s

5 DQ31 t/s

6 AD20 t/s

7 AD19 t/s

8 AD18 t/s

9 EQ1 t/s

10 VSS V

11 VCC V

12 AD17 t/s

13 DQ30 t/s

14 AD16 t/s

15 C/BE2# t/s

16 FRAME# t/s

17 EQ2 t/s

18 IRDY# t/s

19 TRDY# t/s

20 DEVSEL# t/s

21 EQ3 t/s

22 STOP# t/s

23 LOCK# in

24 PERR# t/s

25 DQ29 t/s

26 SERR# o/d

27 PAR t/s

28 C/BE1# t/s

29 EQ4/FWC# t/s

30 VSS V

31 VCC V

32 AD15 t/s

33 EQ5/FRC# t/s

34 AD14 t/s

35 AD13 t/s

36 AD12 t/s

37 DQ28 t/s

38 AD11 t/s

39 AD10 t/s

40 AD9 t/s

41 EQ6/AMREN t/s

42 AD8 t/s

43 C/BE0# t/s

44 AD7 t/s

45 DQ27 t/s

46 AD6 t/s

47 AD5 t/s

48 AD4 t/s

49 EQ7/AMWEN t/s

50 VSS V

51 VCC V

52 AD3 t/s

53 DQ26 t/s

54 AD2 t/s

55 AD1 t/s

56 AD0 t/s

57 EA0 t/s

58 INTA# o/d

59 MODE in

60 BE3# in

61 EA1 t/s

62 BE2# in

63 BE1# in

64 ADR5 in

Pin# Signal Type

65 DQ25 t/s

66 ADR4 in

67 ADR3 in

68 ADR2 in

69 EA2 t/s

70 VSS V

71 VCC V

72 RD# in

73 EA3 t/s

74 WR# in

75 SELECT# in

76 DQ15 t/s

77 DQ24 t/s

78 DQ14 t/s

79 DQ13 t/s

80 DQ12 t/s

81 EA4 t/s

82 DQ11 t/s

83 DQ10 t/s

84 DQ9 t/s

85 DQ23 t/s

86 DQ8 t/s

87 BE0# in

88 DQ7 t/s

89 EA5 t/s

90 VSS V

91 VCC V

92 DQ6 t/s

93 DQ22 t/s

94 DQ5 t/s

95 DQ4 t/s

96 DQ3 t/s

97 EA6 t/s

Pin# Signal Type

S5935 – PCI Product

196 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book

98 DQ2 t/s

99 DQ1 t/s

100 DQ0 t/s

101 EA7 t/s

102 WRFIFO# in

103 WRFULL out

104 RDFIFO# in

105 DQ21 t/s

106 RDEMPTY out

107 PTADR# in

108 PTWR out

109 EA8 t/s

110 VSS V

111 VCC V

112 PTBURST# out

113 EA9 out

114 PTATN# out

115 PTRDY# in

116 PTBE0# out

117 DQ20 t/s

118 PTBE1# out

119 PTBE2# out

Pin# Signal Type

120 PTBE3# out

121 EA10 out

122 PTNUM1 out

123 PTNUM0 out

124 IRQ# out

125 DQ19 t/s

126 SYSRST# out

127 EWR#/SDA t/s

128 ERD#/SCL out

129 EA11 out

130 VSS V

131 VCC V

132 ADR6 in

133 DQ18 t/s

134 NC —

135 SNV in

136 NC —

137 EA12 out

138 RSVD in

139 RST# in

140 BPCLK out

141 EA13 out

Pin# Signal Type

142 CLK in

143 GNT in

144 REQ# out

145 DQ17 t/s

146 AD31 t/s

147 AD30 t/s

148 AD29 t/s

149 EA14/FWE t/s

150 VSS V

151 VCC V

152 AD28 t/s

153 EA15/FRF t/s

154 AD27 t/s

155 AD26 t/s

156 AD25 t/s

157 DQ16 t/s

158 AD24 t/s

159 C/BE3# t/s

160 IDSEL in

Pin# Signal Type

Figure 111. S5935 - 160 PQFP Package Drawing Green/RoHS Compliant Package: Lead Finish - MATTE SN.

198 DS1527 AMCC Confidential and Proprietary

Figure 112. S5935 - Marking Drawing ROW #6: “e3” Category symbol according to JEDEC: JESD97 standard (fixed). When present, this signifies a lead free package.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 199 Data Book S5935 Numerical Pin Assign - ment - 208 TQFP Pin# Signal Type

1 VDD V

2 VSS V

3 VSS V

4 EQ0 t/s

5 AD23 t/s

6 AD22 t/s

7 AD21 t/s

8 DQ31 t/s

9 AD20 t/s

10 AD19 t/s

11 AD18 t/s

12 N/C ---

13 EQ1 t/s

14 VSS V

15 VSS V

16 VDD V

17 VDD V

18 AD17 t/s

19 DQ30 t/s

20 AD16 t/s

21 C/BE2# t/s

22 FRAME# t/s

23 EQ2 t/s

24 IRDY# t/s

25 TRDY# t/s

26 DEVSEL# t/s

27 EQ3 t/s

28 STOP# t/s

29 LOCK# I

30 PERR# t/s

31 DQ29 t/s

32 SERR# O

33 N/C ---

34 PAR t/s

35 C/BE1# t/s

36 EQ4 t/s

37 VSS V

38 VSS V

39 VDD V

40 VDD V

41 AD15 t/s

42 EQ5 t/s

43 AD14 t/s

44 AD13 t/s

45 AD12 t/s

46 DQ28 t/s

47 AD11 t/s

48 AD10 t/s

49 AD9 t/s

50 VDD V

51 VDD V

52 VDD V

53 VDD V

54 VSS V

55 VSS V

56 EQ6 t/s

57 AD8 t/s

58 C/BE0# t/s

59 AD7 t/s

60 DQ27 t/s

61 AD6 t/s

62 AD5 t/s

63 AD4 t/s

64 N/C ---

Pin# Signal Type

65 EQ7 t/s

66 VSS V

67 VSS V

68 VDD V

69 N/C ---

70 AD3 t/s

71 DQ26 t/s

72 AD2 t/s

73 AD1 t/s

74 AD0 t/s

75 EA0 t/s

76 INTA# O

77 MODE I

78 BE3 I

79 EA1 t/s

80 BE2 I

81 BE1 I

82 ADR5 I

83 DQ25 t/s

84 ADR4 I

85 N/C ---

86 ADR3 I

87 ADR2 I

88 EA2 t/s

89 VSS V

91 VSS V

92 VDD V

93 RD# I

94 EA3 t/s

95 WR# I

96 SELECT# I

97 DQ15 t/s

Pin# Signal Type

S5935 – PCI Product

200 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book

98 DQ24 t/s

99 VSS V

100 DQ14 t/s

101 DQ13 t/s

102 DQ12 t/s

103 VDD V

104 VDD V

105 VDD V

106 VSS V

107 VSS V

108 EA4 t/s

109 DQ11 t/s

110 DQ10 t/s

111 DQ9 t/s

112 DQ23 t/s

113 DQ8 t/s

114 BE0 I

115 DQ7 t/s

116 N/C ---

117 EA5 t/s

118 VSS V

119 VSS V

120 VDD V

121 N/C ---

122 DQ6 t/s

123 DQ22 t/s

124 DQ5 t/s

125 DQ4 t/s

126 DQ3 t/s

127 EA6 t/s

128 DQ2 t/s

129 DQ1 t/s

130 DQ0 t/s

Pin# Signal Type

131 EA7 t/s

132 WRFIFO# I

133 WRFULL O

134 RDFIFO# I

135 DQ21 t/s

136 RDEMPTY O

137 N/C ---

138 PTADDR# I

139 PTWR O

140 EA8 t/s

141 VSS V

142 VSS V

143 VSS V

144 N/C ---

145 PTBURST# O

146 EA9 t/s

147 PTATN# O

148 PTRDY# I

149 PTBE0# O

150 DQ20 t/s

151 PTBE1# O

152 PTBE2# O

153 PTBE3# O

154 VDD V

155 VDD V

156 VDD V

157 VDD V

158 VSS V

159 VSS V

160 EA10 O

161 PTNUM1 O

162 PTNUM0 O

163 IRQ# O

Pin# Signal Type

164 DQ19 t/s

165 SYSRST# O

166 SDA/EWR O

167 SCL/ERD O

168 N/C ---

169 EA11 O

170 VSS V

171 VSS V

172 VDD V

173 N/C ---

174 ADR6 I

175 DQ18 t/s

176 NV I

177 N/C ---

178 EA12 O

179 RSVD I

180 RST# I

181 BPCLK t/s

182 EA13 O

183 CLK I

184 GNT# I

185 REQ# O

186 DQ17 t/s

187 AD31 t/s

188 AD30 t/s

189 N/C ---

190 AD29 t/s

191 EA14 O

192 VSS V

193 VSS V

194 VDD V

195 N/C ---

196 AD28 t/s

Pin# Signal Type

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 201 Data Book

197 EA15 O

198 AD27 t/s

199 AD26 t/s

200 AD25 t/s

201 N/C ---

Pin# Signal Type

202 DQ16 t/s

203 AD24 t/s

204 C/BE3# t/s

205 IDSEL I

206 VDD V

Pin# Signal Type

207 VDD V

208 VDD V

Pin# Signal Type

202 DS1527 AMCC Confidential and Proprietary

Figure 113. Package Physical Dimension - 208 TQFP Standard Package: Lead Composition - 75/25 to 90/10 Sn/Pb.

S5935 – PCI Product Revision 1.02 – June 27, 2006 AMCC Confidential and Proprietary DS1527 203 Data Book DOCUMENT REVISION HISTORY Revision Date Description 1.01 06/23/06 - Pg. 197, Added Package Drawing - Pg. 198, Added Marking Drawing - Pg. 202, Updated Package Drawing - Pg. 204, Updated Ordering Information

S5935 – PCI Product

204 DS1527 AMCC Confidential and Proprietary

Revision 1.02 – June 27, 2006 Data Book

Ordering Information

Example: S5935QRC Applied Micro Circuits Corporation 6290 Sequence Dr., San Diego, CA 92121 Phone: (858) 450-9333 — (800) 755-2622 — Fax: (858) 450-9885 http://www.amcc.com AMCC reserves the right to make changes to its products, its data sheets, or related documentation without notice and war- rants its products solely pursuant to its terms and conditions of sale, only to substantially comply with the latest available data sheet. Please consult AMCC’s Term and Conditions of Sale for its warranties and other terms, conditions and limitations. AMCC may discontinue any semiconductor product or service without notice, and advises its customers to obtain the latest version of relevant information to verify, before placing orders, that the information is current. AMCC does not assume any liability arising out of the applicatio n or use of any product or circuit described herein, neither does it convey any license under its patent rights nor the rights of others. AMCC reserves the right to ship devices of higher grade in place of those of lower grade. AMCC SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER CRITICAL APPLICATIONS. AMCC is a registered trademark of Applied Micro Circuits Corporation. Copyright © 2006 Applied Micro Circuits Corporation. X Prefix XXXX Device XXXX Package Type Prefix S – Integrated Circuit Device 5935 Package Type QF – 160 PQFP QRC – 160 PQFP Green / RoHS Compliant Package TFC – 208 TQFP