Motorola MVME2300 Series Programmer's Reference Manual

Specifications

Brand: Motorola
Category: Processor
Model: MVME2300 Series (Programmer's Reference Manual)
File Type: PDF
File Size: —
Pages: 282

Read Online

Read the Motorola MVME2300 Series Programmer's Reference Manual online using the built-in PDF viewer.

Text of the manual

VME Processor Module

Programmer’s Reference Guide V2300A/PG5 Edition of June 2001

© Copyright 2001 Motorola, Inc.

All rights reserved. Printed in the United States of America. Motorola® and the Motorola logo are registered trademarks of Motorola, Inc. PowerPC® is a registered trademark of International Business Machines Corporation and is used by Motorola with permission. All other products mentioned in this document are trademarks or registered trademarks of their respective holders.

The following general safety precautions must be observed during all phases of operation, service, and repair of this

equipment. Failure to comply with these precautions or with specific warnings elsewhere in this manual could result in personal injury or damage to the equipment. The safety precautions listed below represent warnings of certain dangers of which Motorola is aware. You, as the user of the product, should follow these warnings and all other safety precautions necessary for the safe operation of the equipment in your operating environment. Ground the Instrument. To minimize shock hazard, the equipment chassis and enclosure must be connected to an electrical ground. If the equipment is supplied with a three-conductor AC power cable, the power cable must be plugged into an approved three-contact electrical outlet, with the grounding wire (green/yellow) reliably connected to an electrical ground (safety ground) at the power outlet. The power jack and mating plug of the power cable meet International Electrotechnical Commission (IEC) safety standards and local electrical regulatory codes. Do Not Operate in an Explosive Atmosphere. Do not operate the equipment in any explosive atmosphere such as in the presence of flammable gases or fumes. Operation of any electrical equipment in such an environment could result in an explosion and cause injury or damage. Keep Away From Live Circuits Inside the Equipment. Operating personnel must not remove equipment covers. Only Factory Authorized Service Personnel or other qualified service personnel may remove equipment covers for internal subassembly or component replacement or any internal adjustment. Service personnel should not replace components with power cable connected. Under certain conditions, dangerous voltages may exist even with the power cable removed. To avoid injuries, such personnel should always disconnect power and discharge circuits before touching components. Use Caution When Exposing or Handling a CRT. Breakage of a Cathode-Ray Tube (CRT) causes a high-velocity scattering of glass fragments (implosion). To prevent CRT implosion, do not handle the CRT and avoid rough handling or jarring of the equipment. Handling of a CRT should be done only by qualified service personnel using approved safety mask and gloves. Do Not Substitute Parts or Modify Equipment. Do not install substitute parts or perform any unauthorized modification of the equipment. Contact your local Motorola representative for service and repair to ensure that all safety features are maintained. Observe Warnings in Manual. Warnings, such as the example below, precede potentially dangerous procedures throughout this manual. Instructions contained in the warnings must be followed. You should also employ all other safety precautions which you deem necessary for the operation of the equipment in your operating environment. Warning To prevent serious injury or death from dangerous voltages, use extreme caution when handling, testing, and adjusting this equipment and its components.

All Motorola PWBs (printed wiring boards) are manufactured with a flammability rating

of 94V-0 by UL-recognized manufacturers. EMI Caution ! Caution This equipment generates, uses and can radiate electromagnetic energy. It may cause or be susceptible to electromagnetic interference (EMI) if not installed and used with adequate EMI protection. Lithium Battery Caution This product contains a lithium battery to power the clock and calendar circuitry. ! Caution Danger of explosion if battery is replaced incorrectly. Replace battery only with the same or equivalent type recommended by the equipment manufacturer. Dispose of used batteries according to the manufacturer’s instructions. Attention ! Il y a danger d’explosion s’il y a remplacement incorrect de la batterie. Remplacer uniquement avec une batterie du même type ou d’un type équivalent recommandé par le constructeur. Mettre au rebut les batteries usagées conformément aux instructions du fabricant. Vorsicht ! Explosionsgefahr bei unsachgemäßem Austausch der Batterie. Ersatz nur durch denselben oder einen vom Hersteller empfohlenen Typ. Entsorgung gebrauchter Batterien nach Angaben des Herstellers.

CE Notice (European Community)

Motorola Computer Group products with the CE marking comply with the EMC Directive (89/336/EEC). Compliance with this directive implies conformity to the following European Norms: EN55022 “Limits and Methods of Measurement of Radio Interference Characteristics of Information Technology Equipment”; this product tested to Equipment Class B EN50082-1:1997 “Electromagnetic Compatibility—Generic Immunity Standard, Part 1. Residential, Commercial and Light Industry” System products also fulfill EN60950 (product safety) which is essentially the requirement for the Low Voltage Directive (73/23/EEC). Board products are tested in a representative system to show compliance with the above mentioned requirements. A proper installation in a CE-marked system will maintain the required EMC/safety performance. In accordance with European Community directives, a “Declaration of Conformity” has been made and is on file within the European Union. The “Declaration of Conformity” is available on request. Please contact your sales representative. Notice While reasonable efforts have been made to assure the accuracy of this document, Motorola, Inc. assumes no liability resulting from any omissions in this document, or from the use of the information obtained therein. Motorola reserves the right to revise this document and to make changes from time to time in the content hereof without obligation of Motorola to notify any person of such revision or changes. Electronic versions of this material may be read online, downloaded for personal use, or referenced in another document as a URL to the Motorola Computer Group website. The text itself may not be published commercially in print or electronic form, edited, translated, or otherwise altered without the permission of Motorola, Inc. It is possible that this publication may contain reference to or information about Motorola products (machines and programs), programming, or services that are not available in your country. Such references or information must not be construed to mean that Motorola intends to announce such Motorola products, programming, or services in your country.

Limited and Restricted Rights Legend

If the documentation contained herein is supplied, directly or indirectly, to the U.S. Government, the following notice shall apply unless otherwise agreed to in writing by Motorola, Inc. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (b)(3) of the Rights in Technical Data clause at DFARS 252.227-7013 (Nov. 1995) and of the Rights in Noncommercial Computer Software and Documentation clause at DFARS 252.227-7014 (Jun. 1995). Motorola, Inc. Computer Group 2900 South Diablo Way Tempe, Arizona 85282

About This Manual

Summary of Changes..................................................................................................xx Overview of Contents ................................................................................................xxi Comments and Suggestions .......................................................................................xxi Conventions Used in This Manual............................................................................xxii CHAPTER 1 Board Description and Memory Maps Introduction................................................................................................................1-1 Overview....................................................................................................................1-1 Summary of Features .................................................................................................1-2 System Block Diagram ..............................................................................................1-3 Functional Description...............................................................................................1-6 VMEbus Interface...............................................................................................1-6 Front Panel..........................................................................................................1-6 PCI interface .......................................................................................................1-7 P2 I/O...........................................................................................................1-7 Programming Model ..................................................................................................1-7 Processor Memory Maps ....................................................................................1-7 Default Processor Memory Map..................................................................1-8 Processor CHRP Memory Map...................................................................1-9 Processor PREP Memory Map..................................................................1-11 PCI Configuration Access .........................................................................1-12 PCI Memory Maps............................................................................................1-13 Default PCI Memory Map.........................................................................1-13 PCI CHRP Memory Map ..........................................................................1-13 PCI PREP Memory Map ...........................................................................1-16 VMEbus Mapping.............................................................................................1-20 VMEbus Master Map ................................................................................1-20 VMEbus Slave Map...................................................................................1-21 Falcon-Controlled System Registers ................................................................1-24 System Configuration Register (SYSCR) .................................................1-25 Memory Configuration Register (MEMCR).............................................1-27 System External Cache Control Register (SXCCR)..................................1-29 Processor 0 External Cache Control Register (P0XCCR).........................1-30 Processor 1 External Cache Control Register (P1XCCR).........................1-30

CPU Control Register ...............................................................................1-30

ISA Local Resource Bus..........................................................................................1-31 W83C553 PIB Registers ..................................................................................1-31 16550 UART ....................................................................................................1-31 General-Purpose Readable Jumpers.................................................................1-32 NVRAM/RTC and Watchdog Timer Registers................................................1-32 Module Configuration and Status Registers.....................................................1-33 CPU Configuration Register .....................................................................1-34 Base Module Feature Register ..................................................................1-35 Base Module Status Register (BMSR)......................................................1-36 Seven-Segment Display Register..............................................................1-37 VME Registers .................................................................................................1-37 LM/SIG Control Register..........................................................................1-38 LM/SIG Status Register ............................................................................1-39 Location Monitor Upper Base Address Register ......................................1-41 Location Monitor Lower Base Address Register......................................1-41 Semaphore Register 1 ...............................................................................1-42 Semaphore Register 2 ...............................................................................1-42 VME Geographical Address Register (VGAR)........................................1-43 Emulated Z8536 CIO Registers and Port Pins .................................................1-43 Emulated Z8536 Registers ........................................................................1-43 Z8536 CIO Port Pins.................................................................................1-44 ISA DMA Channels .........................................................................................1-45 CHAPTER 2 Raven PCI Bridge ASIC Introduction ............................................................................................................... 2-1 Features......................................................................................................................2-1 Block Diagram...........................................................................................................2-2 Functional Description .............................................................................................. 2-4 MPC Bus Interface ............................................................................................. 2-4 MPC Address Mapping...............................................................................2-4 MPC Slave .................................................................................................. 2-6 MPC Write Posting .....................................................................................2-8 MPC Master ................................................................................................2-8 MPC Arbiter..............................................................................................2-10 MPC Bus Timer ........................................................................................2-10 PCI Interface.....................................................................................................2-10 PCI Address Mapping...............................................................................2-11 PCI Slave...................................................................................................2-14 PCI Write Posting .....................................................................................2-17

Generating PCI Cycles ..............................................................................2-21

Endian Conversion............................................................................................2-25 When MPC Devices are Big-Endian.........................................................2-25 When MPC Devices are Little-Endian ......................................................2-27 Raven Registers and Endian Mode............................................................2-27 Error Handling..................................................................................................2-28 Transaction Ordering ........................................................................................2-29 Raven Registers .......................................................................................................2-30 MPC Registers..................................................................................................2-30 Vendor ID/Device ID Registers ................................................................2-32 Revision ID Register .................................................................................2-33 General Control-Status/Feature Registers .................................................2-33 MPC Arbiter Control Register...................................................................2-36 Prescaler Adjust Register...........................................................................2-36 MPC Error Enable Register.......................................................................2-37 MPC Error Status Register ........................................................................2-39 MPC Error Address Register.....................................................................2-40 MPC Error Attribute Register - MERAT ..................................................2-41 PCI Interrupt Acknowledge Register ........................................................2-43 MPC Slave Address (0,1 and 2) Registers ................................................2-43 MPC Slave Address (3) Register...............................................................2-44 MPC Slave Offset/Attribute (0,1 and 2) Registers....................................2-45 MPC Slave Offset/Attribute (3) Registers.................................................2-46 General-Purpose Registers ........................................................................2-47 PCI Registers ....................................................................................................2-47 Vendor ID/ Device ID Registers ...............................................................2-49 PCI Command/ Status Registers................................................................2-50 Revision ID/ Class Code Registers............................................................2-52 I/O Base Register.......................................................................................2-52 Memory Base Register ..............................................................................2-53 PCI Slave Address (0,1,2 and 3) Registers................................................2-54 PCI Slave Attribute/ Offset (0,1,2 and 3) Registers ..................................2-55 CONFIG_ADDRESS Register..................................................................2-56 CONFIG_DATA Register.........................................................................2-58 Raven Interrupt Controller.......................................................................................2-60 Features.............................................................................................................2-60 Architecture ......................................................................................................2-60 Readability of CSR....................................................................................2-61 Interrupt Source Priority............................................................................2-61 Processor’s Current Task Priority..............................................................2-61

Nesting of Interrupt Events .......................................................................2-62

Spurious Vector Generation......................................................................2-62 Interprocessor Interrupts (IPI)...................................................................2-62 8259 Compatibility....................................................................................2-62 Raven-Detected Errors..............................................................................2-63 Timers .......................................................................................................2-63 Interrupt Delivery Modes..........................................................................2-64 Block Diagram Description..............................................................................2-65 Program-Visible Registers ........................................................................2-66 Interrupt Pending Register (IPR) ..............................................................2-66 Interrupt Selector (IS) ...............................................................................2-66 Interrupt Request Register (IRR) ..............................................................2-67 In-Service Register (ISR)..........................................................................2-67 Interrupt Router.........................................................................................2-67 MPIC Registers ................................................................................................2-69 RavenMPIC Registers...............................................................................2-69 Feature Reporting Register .......................................................................2-73 Global Configuration Register ..................................................................2-74 Vendor Identification Register..................................................................2-75 Processor Init Register ..............................................................................2-75 IPI Vector/Priority Registers.....................................................................2-76 Spurious Vector Register ..........................................................................2-77 Timer Frequency Register.........................................................................2-77 Timer Current Count Registers .................................................................2-78 Timer Base Count Registers......................................................................2-78 Timer Vector/Priority Registers................................................................2-79 Timer Destination Registers......................................................................2-80 External Source Vector/Priority Registers................................................2-81 External Source Destination Registers......................................................2-82 Raven-Detected Errors Vector/Priority Register ......................................2-83 Raven-Detected Errors Destination Register ............................................2-84 Interprocessor Interrupt Dispatch Registers..............................................2-84 Interrupt Task Priority Registers...............................................................2-85 Interrupt Acknowledge Registers..............................................................2-86 End-of-Interrupt Registers ........................................................................2-86 Programming Notes..........................................................................................2-87 External Interrupt Service .........................................................................2-87 Reset State.................................................................................................2-88 Interprocessor Interrupts ...........................................................................2-89 Dynamically Changing I/O Interrupt Configuration.................................2-89 EOI Register..............................................................................................2-90 Interrupt Acknowledge Register ...............................................................2-90

Current Task Priority Level.......................................................................2-90

Architectural Notes...........................................................................................2-91 CHAPTER 3 Falcon ECC Memory Controller Chip Set Introduction................................................................................................................3-1 Features......................................................................................................................3-1 Block Diagrams .........................................................................................................3-2 Functional Description...............................................................................................3-5 Bit Ordering Convention ....................................................................................3-5 Performance........................................................................................................3-5 Four-beat Reads/Writes...............................................................................3-5 Single-beat Reads/Writes ............................................................................3-6 DRAM Speeds.............................................................................................3-6 ROM/Flash Speeds....................................................................................3-10 PowerPC 60x Bus Interface..............................................................................3-11 Responding to Address Transfers..............................................................3-11 Completing Data Transfers........................................................................3-11 Cache Coherency.......................................................................................3-11 Cache Coherency Restrictions...................................................................3-12 L2 Cache Support ......................................................................................3-12 ECC...................................................................................................................3-12 Cycle Types...............................................................................................3-12 Error Reporting..........................................................................................3-13 Error Logging ............................................................................................3-14 DRAM Tester....................................................................................................3-14 ROM/Flash Interface ........................................................................................3-14 Refresh/Scrub....................................................................................................3-18 Blocks A and/or B Present, Blocks C and D Not Present .........................3-18 Blocks A and/or B Present, Blocks C and/or D Present............................3-19 DRAM Arbitration............................................................................................3-20 Chip Defaults....................................................................................................3-20 External Register Set ........................................................................................3-21 CSR Accesses ...................................................................................................3-21 Programming Model ................................................................................................3-21 CSR Architecture..............................................................................................3-21 Register Summary.............................................................................................3-27 Detailed Register Bit Descriptions ...................................................................3-27 Vendor/Device Register ............................................................................3-30 Revision ID/ General Control Register .....................................................3-31

DRAM Attributes Register .......................................................................3-33

DRAM Base Register................................................................................3-35 CLK Frequency Register...........................................................................3-35 ECC Control Register ...............................................................................3-36 Error Logger Register ...............................................................................3-39 Error Address Register..............................................................................3-42 Scrub/Refresh Register..............................................................................3-43 Refresh/Scrub Address Register ...............................................................3-44 ROM A Base/Size Register.......................................................................3-45 ROM B Base/Size Register.......................................................................3-48 DRAM Tester Control Registers...............................................................3-50 32-Bit Counter...........................................................................................3-50 Test SRAM................................................................................................3-50 Power-Up Reset Status Register 1 ............................................................3-51 Power-Up Reset Status Register 2 ............................................................3-51 External Register Set.................................................................................3-52 Software Considerations..........................................................................................3-53 Parity Checking on the PowerPC Bus..............................................................3-53 Programming ROM/Flash Devices ..................................................................3-53 Writing to the Control Registers.......................................................................3-53 Sizing DRAM...................................................................................................3-54 ECC Codes .......................................................................................................3-57 Data Paths.........................................................................................................3-60 CHAPTER 4 Universe (VMEbus to PCI) Chip Introduction ............................................................................................................... 4-1 Features......................................................................................................................4-1 Block Diagram...........................................................................................................4-3 Functional Description .............................................................................................. 4-3 VMEbus Interface .............................................................................................. 4-4 Universe as VMEbus Slave.........................................................................4-4 Universe as VMEbus Master ...................................................................... 4-5 PCI Bus Interface ...............................................................................................4-5 Universe as PCI Slave................................................................................. 4-6 Universe as PCI Master...............................................................................4-6 Interrupter...........................................................................................................4-6 VMEbus Interrupt Handling ....................................................................... 4-7 DMA Controller .................................................................................................4-7 Universe Control and Status Registers (UCSR)................................................. 4-8 Universe Register Map................................................................................4-9

Universe Chip Problems after PCI Reset..........................................................4-14

Description.................................................................................................4-14 Workarounds .............................................................................................4-15 Examples...........................................................................................................4-16 Example 1: MVME2600 Series Board Exhibits PCI Reset Problem........4-16 Example 2: MVME3600 Series Board Acts Differently...........................4-17 Example 3: Universe Chip is Checked at Tundra......................................4-19 CHAPTER 5 Programming Details Introduction................................................................................................................5-1 PCI Arbitration...........................................................................................................5-1 Interrupt Handling......................................................................................................5-2 RavenMPIC ........................................................................................................5-3 8259 Interrupts....................................................................................................5-4 ISA DMA Channels...................................................................................................5-7 Exceptions..................................................................................................................5-8 Sources of Reset..................................................................................................5-8 Soft Reset............................................................................................................5-9 Universe Chip Problems after PCI Reset............................................................5-9 Error Notification and Handling.......................................................................5-10 Endian Issues ...........................................................................................................5-11 Processor/Memory Domain..............................................................................5-13 Role of the Raven ASIC ...................................................................................5-13 PCI Domain ......................................................................................................5-13 PCI-SCSI ...................................................................................................5-13 PCI/Ethernet ..............................................................................................5-13 PCI-Graphics .............................................................................................5-14 Role of the Universe ASIC...............................................................................5-14 VMEbus Domain..............................................................................................5-14 ROM/Flash Initialization .........................................................................................5-15 APPENDIX A Related Documentation Motorola Computer Group Documents ....................................................................A-1 Manufacturers’ Documents.......................................................................................A-2 Related Specifications...............................................................................................A-4

List of Figures

Figure 1-1. MVME2300 Series System Block Diagram ...........................................1-5 Figure 1-2. VMEbus Master Mapping.....................................................................1-20 Figure 1-3. VMEbus Slave Mapping.......................................................................1-22 Figure 1-4. General-Purpose Software-Readable Header........................................1-32 Figure 2-1. Raven Block Diagram.............................................................................2-3 Figure 2-2. MPC-to-PCI Address Decoding..............................................................2-5 Figure 2-3. MPC to PCI Address Translation............................................................2-6 Figure 2-4. PCI to MPC Address Decoding ............................................................2-12 Figure 2-5. PCI to MPC Address Translation..........................................................2-13 Figure 2-6. PCI Spread I/O Address Translation.....................................................2-22 Figure 2-7. Big- to Little-Endian Data Swap...........................................................2-26 Figure 2-8. RavenMPIC Block Diagram .................................................................2-65 Figure 3-1. Falcon Pair Used with DRAM in a System ............................................3-2 Figure 3-2. Falcon Internal Data Paths (Simplified)..................................................3-3 Figure 3-3. Overall DRAM Connections...................................................................3-4 Figure 3-4. Data Path for Reads from the Falcon Internal CSRs.............................3-22 Figure 3-5. Data Path for Writes to the Falcon Internal CSRs.................................3-23 Figure 3-6. Memory Map for Byte Reads to CSR...................................................3-24 Figure 3-7. Memory Map for Byte Writes to Internal Register Set and Test SRAM........................................................................................................3-25 Figure 3-8. Memory Map for 4-Byte Reads to CSR................................................3-26 Figure 3-9. Memory Map for 4-Byte Writes to Internal Register Set and Test SRAM........................................................................................................3-26 Figure 3-10. PowerPC Data to DRAM Data Correspondence.................................3-60 Figure 4-1. Architectural Diagram for the Universe..................................................4-4 Figure 4-2. UCSR Access Mechanisms.....................................................................4-9 Figure 5-1. MVME2300 Series Interrupt Architecture..............................................5-2 Figure 5-2. PIB Interrupt Handler Block Diagram ....................................................5-5 Figure 5-3. Big-Endian Mode..................................................................................5-11 Figure 5-4. Little-Endian Mode ...............................................................................5-12

List of Tables

Table 1-1. Features: MVME2300 Series....................................................................1-2 Table 1-2. Default Processor Memory Map...............................................................1-8 Table 1-3. CHRP Memory Map Example..................................................................1-9 Table 1-4. Raven MPC Register Values for CHRP Memory Map...........................1-10 Table 1-5. PREP Memory Map Example.................................................................1-11 Table 1-6. Raven MPC Register Values for PREP Memory Map ...........................1-12 Table 1-7. PCI CHRP Memory Map........................................................................1-13 Table 1-8. Raven PCI Register Values for CHRP Memory Map.............................1-15 Table 1-9. Universe PCI Register Values for CHRP Memory Map.........................1-15 Table 1-10. PCI PREP Memory Map.......................................................................1-16 Table 1-11. Raven PCI Register Values for PREP Memory Map............................1-18 Table 1-12. Universe PCI Register Values for PREP Memory Map........................1-19 Table 1-13. Universe PCI Register Values for VMEbus Slave Map Example ........1-23 Table 1-14. VMEbus Slave Map Example...............................................................1-24 Table 1-15. System Register Summary....................................................................1-24 Table 1-16. 16550 Access Registers ........................................................................1-31 Table 1-17. M48T59/559 Access Registers .............................................................1-33 Table 1-18. Module Configuration and Status Registers .........................................1-33 Table 1-19. VME Registers......................................................................................1-38 Table 1-20. Emulated Z8536 Access Registers .......................................................1-43 Table 1-21. Z8536 CIO Port Pin Assignments ........................................................1-44 Table 2-1. Features of the Raven ASIC .....................................................................2-1 Table 2-2. Command Types — MPC Slave Response...............................................2-7 Table 2-3. MPC Transfer Types.................................................................................2-9 Table 2-4. Command Types — PCI Slave Response...............................................2-15 Table 2-5. PCI Master Command Codes .................................................................2-18 Table 2-6. Address Modification for Little-Endian Transfers .................................2-27 Table 2-7. Raven MPC Register Map......................................................................2-31 Table 2-8. Raven PCI Configuration Register Map.................................................2-48 Table 2-9. Raven PCI I/O Register Map..................................................................2-49 Table 2-10. RavenMPIC Register Map....................................................................2-69 Table 3-1. Features of the Falcon Chip Set................................................................3-1 Table 3-2. PowerPC 60x Bus to DRAM Access Timing — 70ns Page Devices.......3-7 Table 3-3. PowerPC 60x Bus to DRAM Access Timing — 60ns Page Devices.......3-8

Table 3-4. PowerPC Bus to DRAM Access Timing — 50ns Hyper Devices ...........3-9

Table 3-5. PowerPC 60x Bus to ROM/Flash Access Timing — 64 Bits (32 Bits per Falcon).................................................................................................3-10 Table 3-6. PowerPC 60x Bus to ROM/Flash Access Timing — 16 Bits (8 Bits per Falcon)...............................................................................................................3-10 Table 3-7. Error Reporting.......................................................................................3-13 Table 3-8. PowerPC 60x to ROM/Flash Address Mapping — ROM/Flash 16 Bits Wide (8 Bits per Falcon) .............................................................................3-16 Table 3-9. PowerPC 60x to ROM/Flash Address Mapping — ROM/Flash 64 Bits Wide (32 Bits per Falcon) ...........................................................................3-17 Table 3-10. Register Summary ................................................................................3-28 Table 3-11. ram spd1,ram spd0 and DRAM Type...................................................3-32 Table 3-12. Block_A/B/C/D Configurations...........................................................3-34 Table 3-13. rtest Encodings .....................................................................................3-43 Table 3-14. ROM Block A Size Encoding ..............................................................3-46 Table 3-15. rom_a_rv and rom_b_rv Encoding.......................................................3-46 Table 3-16. Read/Write to ROM/Flash....................................................................3-47 Table 3-17. ROM Block B Size Encoding ..............................................................3-49 Table 3-18. Sizing Addresses ..................................................................................3-56 Table 3-19. PowerPC 60x Address to DRAM Address Mappings..........................3-56 Table 3-20. Syndrome Codes Ordered by Bit in Error............................................3-57 Table 3-21. Single-Bit Errors Ordered by Syndrome Code.....................................3-59 Table 3-22. PowerPC Data to DRAM Data Mapping .............................................3-61 Table 4-1. Features of the Universe ASIC................................................................. 4-2 Table 4-2. Universe Register Map...........................................................................4-10 Table 5-1. PCI Arbitration Assignments ...................................................................5-1 Table 5-2. RavenMPIC Interrupt Assignments .........................................................5-3 Table 5-3. PIB PCI/ISA Interrupt Assignments ........................................................5-6 Table 5-4. Reset Sources and Devices Affected........................................................5-9 Table 5-5. Error Notification and Handling.............................................................5-10 Table 5-6. ROM/Flash Bank Default......................................................................5-15

About This Manual

The MVME2300 Series VME Processor Module Programmer’s Reference Guide provides board-level information and detailed ASIC information, including register bit descriptions, for the MVME2300 and MVME2300SC series of VME processor modules. The MVME2300 series VME processor module is based on an MPC603 or MPC604 PowerPC microprocessor, and features dual PCI Mezzanine Card (PMC) slots with front panel and/or P2 I/O. In addition, the MVME2300SC versions of the board give both PMC slots access (via P2) to an SCSA (Signal Computing System Architecture) backplane bus, if the system supports one. The MVME2300 series VME processor module is compatible with optional double-width or single-width PMCs, and with the PMCspan PCI expansion mezzanine module. By utilizing the two onboard PMC slots and stacking PMCspan(s), the MVME2300SC can provide support for up to six PMCs. As of the publication date, the information presented in this manual applies to the following MVME2300 and MVME2300SC models: Model Memory Processor MVME2301 16MB ECC DRAM MPC603 @ 200 MHz MVME2302 32MB ECC DRAM MVME2303 64MB ECC DRAM MVME2304 128MB ECC DRAM MVME2304-0111, -0113, MVME2305* 16MB ECC DRAM MPC604 @ 300*/333 MHz MVME2304-0121, -0121SC, -0123, MVME2306* 32MB ECC DRAM MVME2304-0131, -0131SC, -0133, MVME2307* 64MB ECC DRAM MVME2304-0141, -0141SC, -0143, MVME2308* 128MB ECC DRAM MVME2306SC-1 32MB ECC DRAM MPC604 @ 300 MHz MVME2307SC-1 64MB ECC DRAM

This manual is intended for anyone who designs OEM systems, adds

capability to an existing compatible system, or works in a lab environment for experimental purposes. A basic knowledge of computers and digital logic is assumed. To use this manual, you may also wish to become familiar with the publications listed in Appendix A, Related Documentation. Summary of Changes This is the fifth edition of the Programmer’s Reference Guide. It supersedes the March 2001 edition and incorporates the following updates. Date Description of Change January 2001 A caution about DRAM component requirements was added to the DRAM Attributes Register and Sizing DRAM sections of Chapter 3. January 2001 In descriptions of the general-purpose software-readable header (J10/J17), such as Figure 1-4 in Chapter 1, information on bit 1 (SRH1) was updated to correctly reflect the functionality of that bit. March 2001 At various locations in the manual, such as P2 I/O on page 1-7, information has been added to accommodate the MVME2300SC variants of the board. The contents of the manual have also been reorganized somewhat to conform with present Computer Group practice for board manuals. June 2001 All data referring to the VME CSR Bit Set Register (VCSR_SET) and VME CSR Bit Clear Register (VCSR_CLR) has been deleted. These registers of the Universe II are unavailable for implementation as intended by the MVME materials and the Universe II User Manual.

Overview of Contents

Chapter 1, Board Description and Memory Maps, describes the board- level hardware features of MVME2300 series VME processor modules. It includes memory maps and a discussion of some general software considerations such as cache coherency, interrupts, and bus errors. Chapter 2, Raven PCI Bridge ASIC, describes the Raven ASIC, the PCI local bus/PowerPC processor bus interface chip used on MVME2300 series boards. Chapter 3, Falcon ECC Memory Controller Chip Set, describes the Falcon memory controller chip set, which provides the interface between the PowerPC processor bus and memory systems on MVME2300 series boards. Chapter 4, Universe (VMEbus to PCI) Chip, describes the Universe ASIC, the VMEbus/PCI local bus interface chip used on MVME2300 series boards. Chapter 5, Programming Details, examines aspects of several programming functions that are not tied to any specific ASIC on MVME2300 series boards. Appendix A, Related Documentation, lists all documentation related to the MVME2300 and MVME2300SC series boards. Comments and Suggestions Motorola welcomes and appreciates your comments on its documentation. We want to know what you think about our manuals and how we can make them better. Mail comments to: Motorola Computer Group Reader Comments DW164 2900 S. Diablo Way Tempe, Arizona 85282 You can also submit comments to the following e-mail address: [email protected]

In all your correspondence, please list your name, position, and company.

Be sure to include the title and part number of the manual and tell how you used it. Then tell us your feelings about its strengths and weaknesses and any recommendations for improvements. Conventions Used in This Manual The following typographical conventions are used in this document: bold is used for user input that you type just as it appears; it is also used for commands, options and arguments to commands, and names of programs, directories and files. italic is used for names of variables to which you assign values. Italic is also used for comments in screen displays and examples, and to introduce new terms. courier is used for system output (for example, screen displays, reports), examples, and system prompts. , or represents the carriage return or Enter key. CTRL represents the Control key. Execute control characters by pressing the Ctrl key and the letter simultaneously, for example, Ctrl-d. Data and address parameters are preceded by a character identifying the numeric format as follows: $ % & dollar percent ampersand specifies a hexadecimal character specifies a binary number specifies a decimal number

For example, “12” is the decimal number twelve, and “$12” is the decimal

number eighteen. Unless otherwise specified, all address references are in hexadecimal. In descriptions of the VMEbus interface, an asterisk (∗) following the signal name for signals which are level significant denotes that the signal is true or valid when the signal is low. An asterisk (∗) following the signal name for signals which are edge significant denotes that the actions initiated by that signal occur on high to low transition. In references to other bus signals (such as PCI) found on MVME2300 series boards, an underscore (_) or pound sign (#) following the signal name denotes an active low signal. In this manual, assertion and negation signify the forcing of a signal to a particular state. In particular, assertion and assert refer to a signal that is active or true; negation and negate indicate a signal that is inactive or false. These terms are used independently of the voltage level (high or low) that they represent. Data and address sizes for MPC60x chips are defined as follows: J A byte is eight bits, numbered 0 through 7, with bit 0 being the least significant. J A half-word is 16 bits, numbered 0 through 15, with bit 0 being the least significant. J A word or single word is 32 bits, numbered 0 through 31, with bit 0 being the least significant. J A double word is 64 bits, numbered 0 through 63, with bit 0 being the least significant. Refer to Endian Issues in Chapter 5 for a discussion of which elements on MVME2300 series boards use big-endian byte ordering, and which use small-endian byte ordering. The terms control bit and status bit are used extensively in this document. The term control bit is used to describe a bit in a register that can be set and cleared under software control. The term true is used to indicate that a bit is in the state that enables the function it controls. The term false is used to

indicate that the bit is in the state that disables the function it controls. In

all tables, the terms 0 and 1 are used to describe the actual value that should be written to the bit, or the value that it yields when read. The term status bit is used to describe a bit in a register that reflects a specific condition. The status bit can be read by software to determine operational or exception conditions.

1Board Description and Memory

Maps Introduction This manual provides programming information for MVME2300 and MVME2300SC VME processor modules. Extensive programming information is provided for several Application-Specific Integrated Circuit (ASIC) devices used on the boards. Reference information is included in Appendix A for the Large Scale Integration (LSI) devices used on the boards and sources for additional information are listed. This chapter briefly describes the board level hardware features of the MVME2300-series VME processor modules. The chapter begins with a board level overview and features list. Memory maps are next, and are the major feature of this chapter. Programmable registers that reside in ASICs in the MVME2300 series are covered in the chapters on those ASICs. Chapter 2, Raven PCI Bridge ASIC covers the Raven chip, Chapter 3, Falcon ECC Memory Controller Chip Set covers the Falcon chip set, Chapter 4, Universe (VMEbus to PCI) Chip covers the Universe chip, and Chapter 5, Programming Details covers certain programming features, such as interrupts and exceptions. Appendix A, Related Documentation lists all related documentation. Overview The MVME2300-series VME Processor Module family, hereafter sometimes referred to simply as the MVME230x or the MVME2300 series, provides many standard features required by a computer system: Ethernet interface, async serial port, boot Flash, and up to 128MB of ECC DRAM.

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 Summary of Features There are many models based on the MVME2300 series architecture. The following table summarizes the major features of the MVME2300 series: Table 1-1. Features: MVME2300 Series Feature MVME2300 MVME2300SC Microprocessor 200 MHZ MPC603 PowerPC® processor (MVME2301 - 2304 models) 300 MHZ MPC604 PowerPC® processor (All models) 300 MHZ MPC604 PowerPC® processor (MVME2305 - 2308 models) Form factor 6U VMEbus ECC DRAM Two-way interleaved, ECC- protected 16MB, 32MB, 64MB, or 128MB Two-way interleaved, ECC- protected 32MB or 64MB Flash memory Bank B: Two 32-pin PLCC sockets that can be populated with 1MB 8-bit Flash devices Bank A: Four 16-bit Smart Voltage SMT devices that can be populated with 8Mbit Flash devices (4MB) or 4Mbit devices (2MB) Bank A: Four 16-bit Smart Voltage SMT devices populated with 8Mbit Flash devices (4MB) Real-time clock 8KB NVRAM with RTC, battery backup, and watchdog function (SGS-Thomson M48T59/T559) 8KB NVRAM with RTC, battery backup, and watchdog function (SGS-Thomson M48T559) Switches Reset (RST) and Abort (ABT) Status LEDs Four: Board fail (BFL), CPU, PMC (one for PMC slot 2, one for slot 1) Four: Board Fail (BFL), CPU, System Controller (SCON), Fuses (FUS) Timers One 16-bit timer in W83C553 PCI/ISA bridge; four 32-bit timers in Raven (MPIC) device Watchdog timer provided in SGS-Thomson M48T59/T559 Interrupts Software interrupt handling via Raven (PCI/MPU bridge) and Winbond (PCI/ISA bridge) controllers VME I/O VMEbus P2 connector

System Block Diagram

http://www.motorola.com/computer/literature 1-3 1 System Block Diagram The MVME2300 series does not provide any look-aside external cache option. The Falcon chip set controls the boot Flash and the ECC DRAM. The Raven ASIC functions as the 64-bit PCI host bridge and the MPIC interrupt controller. PCI devices include: VME, Ethernet, and two PMC Serial I/O One asynchronous debug port via RJ45 connector on front panel One asynchronous debug port via DB9 connector on front panel, also via P2 and transition module Ethernet I/O 10BaseT/100BaseTX connections via RJ45 connector on front panel 10BaseT/100BaseTX connections via RJ45 connector on front panel; AUI connections via P2 and transition module PCI interface Two IEEE P1386.1 PCI Mezzanine Card (PMC) slots for one double- width or two single-width PMCs Front panel and/or VMEbus P2 I/O on both PMC slots One 114-pin Mictor connector for optional PMCspan expansion module SCSA I/O Not available Connections from both PMC slots to SCSA backplane TDM bus (if present in system) via shared pins on P2 connector VMEbus interface VMEbus system controller functions VME64 extension VMEbus-to-local-bus interface (A24/A32, D8/D16/D32/block transfer [D8/D16/D32/D64]) Local-bus-to-VMEbus interface (A16/A24/A32, D8/D16/D32) VMEbus interrupter VMEbus interrupt handler Global Control/Status Register (GCSR) for interprocessor communications DMA for fast local memory/VMEbus transfers (A16/A24/A32, D16/D32/D64) Table 1-1. Features: MVME2300 Series (Continued) Feature MVME2300 MVME2300SC

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 slots. Standard I/O functions are provided by the UART device which resides on the ISA bus. The NVRAM/RTC also resides on the ISA bus. The general system block diagram for MVME2300 series is shown below:

System Block Diagram

http://www.motorola.com/computer/literature 1-5 1 Figure 1-1. MVME2300 Series System Block Diagram SYSTEM REGISTERS 2067 9708 PMC FRONT I/O SLOT DEBUG CONNECTOR CLOCK GENERATOR PROCESSOR MPC603/604 Flash 3MB or 5MB PHB & MPIC RAVEN ASIC MEMORY CONTROLLER FALCON CHIP SET 64-BIT PMC SLOT PCI EXPANSION 33MHz 32/64-BIT PCI LOCAL BUS PIB W83C553 VME BRIDGE UNIVERSE BUFFERS VME P2 VME P1 RTC/NVRAM/WD MK48T59/559 ETHERNET DEC21140 10BT/100BTX FRONT PANEL ISA BUS 66MHz MPC604 PROCESSOR BUS DRAM 16/32/64/128MB PMC FRONT I/O SLOT SERIAL PORT PC16550 UART ISA REGISTERS

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 Functional Description The MVME2300 series is a family of single-slot VME processor modules. It consists of the MPC603/604 processor, the Raven PCI Bridge and Interrupt Controller, the Falcon ECC Memory Controller chip set, 3MB or 5MB of Flash memory, 16MB to 128MB of ECC-protected DRAM, and a rich set of I/O features. I/O peripheral devices on the PCI bus are: Ethernet chip, Universe VMEbus interface ASIC, and two PMC slots. Functions provided from the ISA bus are: one asynchronous serial port, a real-time clock, counters/timers, and a software-readable header. VMEbus Interface MVME2300 series boards interface to the VMEbus via the P1 and P2 backplane connectors. MVME2300SC boards use the three-row 96-pin connectors specified in the original VMEbus standard; non-SCbus MVME2300 boards use the 5-row 160-pin connectors specified in the VME64 Extension standard. Both types of boards draw +5V, +12V, and –12V power from the VMEbus backplane through these two connectors. 3.3V and 2.5V supplies are regulated onboard from the +5 power. Front Panel Front panel connectors on the non-SCbus MVME2300 series boards include an RJ45 connector for the Ethernet 10BaseT/100BaseTX interface, and a second RJ45 connector for the asynchronous serial debug port. Front panel connectors on the MVME2300SC include an RJ45 connector for the Ethernet 10BaseT/100BaseTX interface, and a 9-pin DB9 connector for the asynchronous serial debug port.

MVME2300 and MVME2300SC boards are equipped with two IEEE

1386.1 PCI Mezzanine Card (PMC) slots. The PMC slots are 64-bit capable and support both front and rear I/O. P2 I/O Certain pins of each PMC slot connector are routed to VME backplane connector P2 for use in rear I/O configurations. On MVME2300 boards, pins 1-64 of PMC slot 1 connector J14 are routed to rows C and A of the 5-row DIN P2 connector. Pins 1-46 of PMC slot 2 connector J24 are routed to rows D and Z of connector P2. On MVME2300SC boards, pins 1-32 of PMC slot 1 connector J14 are routed to rows C and A of the 3-row DIN P2 connector. Pins 1-32 of PMC slot 2 connector J24 (as with J14) are routed to rows C and A of connector P2. Additional PCI expansion is supported with a 114-pin Mictor connector. This connection allows stacking of one or two PMCspan dual-PMC carrier boards, to increase the I/O capability. Each PMCspan board requires an additional VME slot. Programming Model The following sections describe the memory maps for the MVME2300 series boards. Processor Memory Maps The Processor memory map is controlled by the Raven ASIC and the Falcon chip set. The Raven ASIC and the Falcon chip set have flexible programming Map Decoder registers to customize the system for many different applications.

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 Default Processor Memory Map After a reset, the Raven ASIC and the Falcon chip set provide the default processor memory map as shown in the following table. Notes 1. This default map for PCI/ISA I/O space allows software to determine whether the system is MPC105-based or Falcon/Raven- based by examining either the PIB Device ID or the CPU Type register. 2. The first Megabyte of ROM/Flash bank A appears at this range after a reset if the rom_b_rv control bit is cleared. If the rom_b_rv control bit is set, then this address range maps to ROM/Flash bank B. Table 1-2. Default Processor Memory Map Processor Address Size Definition Notes Start End 0000 0000 7FFF FFFF 2G Not mapped 8000 0000 8001 FFFF 128K PCI/ISA I/O Space 1 8002 0000 FEF7 FFFF 2G - 16M - 640K Not mapped FEF8 0000 FEF8 FFFF 64K Falcon Registers FEF9 0000 FEFE FFFF 384K Not mapped FEFF 0000 FEFF FFFF 64K Raven Registers FF00 0000 FFEF FFFF 15M Not mapped FFF0 0000 FFFF FFFF 1M ROM/Flash Bank A or Bank B 2

Processor CHRP Memory Map

The following table shows a recommended CHRP memory map from the point of view of the processor. Notes 1. Programmable via Falcon chip set. For the MVME2300 series, RAM size is limited to 128MB and ROM/Flash to 4MB. 2. To enable the “Processor-hole” area, program the Falcon chip set to ignore 0x000A0000 - 0x000BFFFF address range and program the Raven to map this address range to PCI memory space. Table 1-3. CHRP Memory Map Example Processor Address Size Definition Notes Start End 0000 0000 top_dram dram_size System Memory (onboard DRAM) 1, 2 4000 0000 FCFF FFFF 3G - 48M PCI Memory Space: 4000 0000 to FCFF FFFF 3,4,8 FD00 0000 FDFF FFFF 16M Zero-Based PCI/ISA Memory Space (mapped to 00000000 to 00FFFFFF) 3,8 FE00 0000 FE7F FFFF 8M Zero-Based PCI/ISA I/O Space (mapped to 00000000 to 007FFFFF) 3,5,8 FE80 0000 FEF7 FFFF 7.5M Reserved FEF8 0000 FEF8 FFFF 64K Falcon Registers FEF9 0000 FEFE FFFF 384K Reserved FEFF 0000 FEFF FFFF 64K Raven Registers 9 FF00 0000 FF7F FFFF 8M ROM/Flash Bank A 1,7 FF80 0000 FF8F FFFF 1M ROM/Flash Bank B 1,7 FF50 0000 FFEF FFFF 6M Reserved FFF0 0000 FFFF FFFF 1M ROM/Flash Bank A or Bank B 7

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 3. Programmable via Raven ASIC. 4. CHRP requires the starting address for the PCI memory space to be 256MB-aligned. 5. Programmable via Raven ASIC for either contiguous or spread-I/O mode. 6. The actual size of each ROM/Flash bank may vary. 7. The first Megabyte of ROM/Flash bank A appears at this range after a reset if the rom_b_rv control bit is cleared. If the rom_b_rv control bit is set then this address range maps to ROM/Flash bank B. 8. This range can be mapped to the VMEbus by programming the Universe ASIC accordingly. The map shown is the recommended setting which uses the Special PCI Slave Image and two of the four programmable PCI Slave Images. 9. The only method of generating a PCI Interrupt Acknowledge cycle (8259 IACK) is to perform a read access to the Raven’s PIACK register at 0xFEFF0030. The following table shows the programmed values for the associated Raven MPC registers for the processor CHRP memory map. Table 1-4. Raven MPC Register Values for CHRP Memory Map Address Register Name Register Value FEFF 0040 MSADD0 4000 FCFF FEFF 0044 MSOFF0 & MSATT0 0000 00C2 FEFF 0048 MSADD1 FD00 FDFF FEFF 004C MSOFF1 & MSATT1 0300 00C2 FEFF 0050 MSADD2 0000 0000 FEFF 0054 MSOFF2 & MSATT2 0000 0002 FEFF 0058 MSADD3 FE00 FE7F FEFF 005C MSOFF3 & MSATT3 0200 00C0

Processor PREP Memory Map

The Raven/Falcon chip set can be programmed for PREP-compatible memory map. The following table shows the PREP memory map of the MVME2300 series from the point of view of the processor. Notes 1. Programmable via Falcon chip set. For the MVME2300 series, RAM size is limited to 128MB and ROM/Flash to 4MB. 2. Programmable via Raven ASIC. 3. The actual size of each ROM/Flash bank may vary. Table 1-5. PREP Memory Map Example Processor Address Size Definition Notes Start End 0000 0000 top_dram dram_size System Memory (onboard DRAM) 1 8000 0000 BFFF FFFF 1G Zero-Based PCI I/O Space: 0000 0000 - 3FFFF FFFF 2 C000 0000 FCFF FFFF 1G - 48M Zero-Based PCI/ISA Memory Space: 0000 0000 - 3CFFFFFF 2, 5 FD00 0000 FEF7 FFFF 40.5M Reserved FEF8 0000 FEF8 FFFF 64K Falcon Registers FEF9 0000 FEFE FFFF 384K Reserved FEFF 0000 FEFF FFFF 64K Raven Registers 6 FF00 0000 FF7F FFFF 8M ROM/Flash Bank A 1, 3 FF80 0000 FF8F FFFF 1M ROM/Flash Bank B 1, 3 FF90 0000 FFEF FFFF 6M Reserved FFF0 0000 FFFF FFFF 1M ROM/Flash Bank A or Bank B 4

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 4. The first Megabyte of ROM/Flash bank A appears at this range after a reset if the rom_b_rv control bit is cleared. If the rom_b_rv control bit is set then this address range maps to ROM/Flash bank B. 5. This range can be mapped to the VMEbus by programming the Universe ASIC accordingly. 6. The only method of generating a PCI Interrupt Acknowledge cycle (8259 IACK) is to perform a read access to the Raven’s PIACK register at 0xFEFF0030. The following table shows the programmed values for the associated Raven MPC registers for the processor PREP memory map. PCI Configuration Access PCI Configuration accesses are accomplished via the CONFIG_ADD and CONFIG_DAT registers. These two registers are implemented in the Raven ASIC. In the CHRP memory map example, the CONFIG_ADD and CONFIG_DAT registers are located at 0xFE000CF8 and 0xFE000CFC, respectively. With the PREP memory map, the CONFIG_ADD register and the CONFIG_DAT register are located at 0x80000CF8 and 0x80000CFC, respectively. Table 1-6. Raven MPC Register Values for PREP Memory Map Address Register Name Register Value FEFF 0040 MSADD0 C000 FCFF FEFF 0044 MSOFF0 & MSATT0 4000 00C2 FEFF 0048 MSADD1 0000 0000 FEFF 004C MSOFF1 & MSATT1 0000 0002 FEFF 0050 MSADD2 0000 0000 FEFF 0054 MSOFF2 & MSATT2 0000 0002 FEFF 0058 MSADD3 8000 BFFF FEFF 005C MSOFF3 & MSATT3 8000 00C0

PCI Memory Maps

The PCI memory map is controlled by the Raven ASIC and the Universe ASIC. The Raven ASIC and the Universe ASIC have flexible programming Map Decoder registers to customize the system to fit many different applications. Default PCI Memory Map After a reset, the Raven ASIC and the Universe ASIC turn all the PCI slave map decoders off. Software must program the appropriate map decoders for a specific environment. PCI CHRP Memory Map The following table shows a PCI memory map of the MVME2300 series that is CHRP-compatible from the point of view of the PCI local bus. Table 1-7. PCI CHRP Memory Map PCI Address Size Definition Notes Start End 0000 0000 top_dram dram_size Onboard ECC DRAM 1 4000 0000 EFFF FFFF 3G - 256M VMEbus A32/D32 (Super/Program) 3 F000 0000 F7FF FFFF 128M VMEbus A32/D16 (Super/Program) 3 F800 0000 F8FE FFFF 16M - 64K VMEbus A24/D16 (Super/Program) 4 F8FF 0000 F8FF FFFF 64K VMEbus A16/D16 (Super/Program) 4 F900 0000 F9FE FFFF 16M - 64K VMEbus A24/D32 (Super/Data) 4 F9FF 0000 F9FF FFFF 64K VMEbus A16/D32 (Super/Data) 4 FA00 0000 FAFE FFFF 16M - 64K VMEbus A24/D16 (User/Program) 4 FAFF 0000 FAFF FFFF 64K VMEbus A16/D16 (User/Program) 4 FB00 0000 FBFE FFFF 16M - 64K VMEbus A24/D32 (User/Data) 4 FBFF 0000 FBFF FFFF 64K VMEbus A16/D32 (User/Data) 4

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 Notes 1. Programmable via the Raven’s PCI Configuration registers. For the MVME2300 series, RAM size is limited to 128MB. 2. To enable the CHRP “io-hole”, program the Raven to ignore the 0x000A0000 - 0x000FFFFF address range. 3. Programmable mapping via the four PCI Slave Images in the Universe ASIC. 4. Programmable mapping via the Special Slave Image (SLSI) in the Universe ASIC. FC00 0000 FC03 FFFF 256K RavenMPIC 1 FC04 0000 FCFF FFFF 16M - 256K PCI Memory Space FD00 0000 FDFF FFFF 16M PCI Memory Space or System Memory Alias Space (mapped to 00000000 to 00FFFFFF) 1 FE00 0000 FFFF FFFF 48M Reserved Table 1-7. PCI CHRP Memory Map (Continued) PCI Address Size Definition Notes Start End

The following table shows the programmed values for the associated

Raven PCI registers for the PCI CHRP memory map. The next table shows the programmed values for the associated Universe PCI registers for the PCI CHRP memory map. Table 1-8. Raven PCI Register Values for CHRP Memory Map Configuration Address Offset Configuration Register Name Register Value (Aliasing OFF) Register Value (Aliasing ON) $14 RavenMPIC MBASE FC00 0000 FC00 0000 $80 PSADD0 0000 3FFF 0100 3FFF $84 PSOFF0 & PSATT0 0000 00FX 0000 00FX $88 PSADD1 0000 0000 FD00 FDFF $8C PSOFF1 & PSATT1 0000 0000 0000 00FX $90 PSADD2 0000 0000 0000 0000 $94 PSOFF2 & PSATT2 0000 0000 0000 0000 $98 PSADD3 0000 0000 0000 0000 $9C PSOFF3 & PSATT3 0000 0000 0000 0000 Table 1-9. Universe PCI Register Values for CHRP Memory Map Configuration Address Offset Configuration Register Name Register Value $100 LSI0_CTL C082 5100 $104 LSI0_BS 4000 0000 $108 LSI0_BD F000 0000 $10C LSI0_TO XXXX 0000 $114 LSI1_CTL C042 5100 $118 LSI1_BS F000 0000 $11C LSI1_BD F800 0000

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 PCI PREP Memory Map The following table shows a PCI memory map of the MVME2300 series boards that is PREP-compatible from the point of view of the PCI local bus. $120 LSI1_TO XXXX 0000 $128 LSI2_CTL 0000 0000 $12C LSI2_BS XXXX XXXX $130 LSI2_BD XXXX XXXX $134 LSI2_TO XXXX XXXX $13C LSI3_CTL 0000 0000 $140 LSI3_BS XXXX XXXX $144 LSI3_BD XXXX XXXX $148 LSI3_TO XXXX XXXX $188 SLSI C0A053F8 Table 1-10. PCI PREP Memory Map PCI Address Size Definition Notes Start End 0000 0000 00FF FFFF 16M PCI/ISA Memory Space 0100 0000 2FFF FFFF 752M VMEbus A32/D32 (Super/Program) 3 3000 0000 37FF FFFF 128M VMEbus A32/D16 (Super/Program) 3 3800 0000 38FE FFFF 16M - 64K VMEbus A24/D16 (Super/Program) 4 Table 1-9. Universe PCI Register Values for CHRP Memory Map (Continued) Configuration Address Offset Configuration Register Name Register Value

1. Programmable via the Raven’s PCI Configuration registers. For the

MVME2300 series, RAM size is limited to 128MB. 2. To enabled the CHRP “io-hole”, program the Raven to ignore the 0x000A0000 - 0x000FFFFF address range. 3. Programmable mapping via the four PCI Slave Images in the Universe ASIC. 4. Programmable mapping via the Special Slave Image (SLSI) in the Universe ASIC. 38FF 0000 38FF FFFF 64K VMEbus A16/D16 (Super/Program) 4 3900 0000 39FE FFFF 16M - 64K VMEbus A24/D32 (Super/Data) 4 39FF 0000 39FF FFFF 64K VMEbus A16/D32 (Super/Data) 4 3A00 0000 3AFE FFFF 16M - 64K VMEbus A24/D16 (User/Program) 4 3AFF 0000 3AFF FFFF 64K VMEbus A16/D26 (User/Program) 4 3B00 0000 3BFE FFFF 16M - 64K VMEbus A24/D32 (User/Data) 4 3BFF 0000 3BFF FFFF 64K VMEbus A16/D32 (User/Data) 4 3C00 0000 7FFF FFFF 1G + 64M PCI Memory Space 8000 0000 FBFF FFFF 2G - 64M Onboard ECC DRAM 1 FC00 0000 FC03 FFFF 256K RavenMPIC 1 FC04 0000 FFFF FFFF 64M - 256K PCI Memory Space Table 1-10. PCI PREP Memory Map (Continued) PCI Address Size Definition Notes Start End

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 The following table shows the programmed values for the associated Raven PCI registers for the PREP-compatible memory map. Table 1-11. Raven PCI Register Values for PREP Memory Map Configuration Address Offset Configuration Register Name Register Value $14 RavenMPIC MBASE FC00 0000 $80 PSADD0 8000 FBFF $84 PSOFF0 & PSATT0 8000 00FX $88 PSADD1 0000 0000 $8C PSOFF1 & PSATT1 0000 0000 $90 PSADD2 0000 0000 $94 PSOFF2 & PSATT2 0000 0000 $98 PSADD3 0000 0000 $9C PSOFF3 & PSATT3 0000 0000

The next table shows the programmed values for the associated Universe

PCI registers for the PCI PREP memory map. Table 1-12. Universe PCI Register Values for PREP Memory Map Configuration Address Offset Configuration Register Name Register Value $100 LSI0_CTL C082 5100 $104 LSI0_BS 0100 0000 $108 LSI0_BD 3000 0000 $10C LSI0_TO XXXX 0000 $114 LSI1_CTL C042 5100 $118 LSI1_BS 3000 0000 $11C LSI1_BD 3800 0000 $120 LSI1_TO XXXX 0000 $128 LSI2_CTL 0000 0000 $12C LSI2_BS XXXX XXXX $130 LSI2_BD XXXX XXXX $134 LSI2_TO XXXX XXXX $13C LSI3_CTL 0000 0000 $140 LSI3_BS XXXX XXXX $144 LSI3_BD XXXX XXXX $148 LSI3_TO XXXX XXXX $188 SLSI C0A05338

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 VMEbus Mapping The processor can access any address range in the VMEbus with the help of the Universe ASIC’s address translation capabilities. The Processor Memory Map section shows the recommended mapping. VMEbus Master Map The figure below illustrates how VMEbus master mapping is accomplished. (Note that for MVME2300 series boards, RAM size is limited to 128MB.) Figure 1-2. VMEbus Master Mapping VMEBUS 11553.00 9609 VME A24 VME A16 VME A24 VME A16 VME A24 VME A16 VME A24 VME A16 PROGRAMMABLE SPACE PCI MEMORY PROCESSOR PCI MEMORY SPACE PCI/ISA MEMORY SPACE PCI I/O SPACE MPC RESOURCES NOTE 1 NOTE 1 NOTE 2 NOTE 3 ONBOARD MEMORY

1. Programmable mapping done by the Raven ASIC.

2. Programmable mapping via the four PCI Slave Images in the Universe ASIC. 3. Programmable mapping via the Special Slave Image (SLSI) in the Universe ASIC. VMEbus Slave Map The four programmable VME Slave images in the Universe ASIC give other VMEbus masters access to any devices on the board. The combination of the four Universe VME Slave images and the four Raven PCI Slave decoders offers great flexibility in mapping the system resources as seen from the VMEbus. In most applications, the VMEbus needs to see only the system memory and, perhaps, the software interrupt registers (SIR1 and SIR2 registers). For an example of the VMEbus slave map, refer to the figure below:

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 Figure 1-3. VMEbus Slave Mapping Notes 1. Programmable mapping via the four VME Slave Images in the Universe ASIC. 2. Programmable mapping via PCI Slave Images in the Raven ASIC. 3. Fixed mapping via the PIB device. 1896 9609 PCI Memory NOTE 2 NOTE 1 Software INT Registers Processor ISA Space Onboard Memory VMEbus NOTE 1 PCI I/O Space NOTE3

The following table shows the programmed values for the associated

Universe registers for the VMEbus slave function. Table 1-13. Universe PCI Register Values for VMEbus Slave Map Example Configuration Address Offset Configuration Register Name Register Value (CHRP) Register Value (PREP) $F00 VSI0_CTL C0F2 0001 C0F2 0001 $F04 VSI0_BS 4000 0000 4000 0000 $F08 VSI0_BD 4000 1000 4000 1000 $F0C VSI0_TO C000 1000 C000 1000 $F14 VSI1_CTL E0F2 00C0 E0F2 00C0 $F18 VSI1_BS 1000 0000 1000 0000 $F1C VSI1_BD 2000 0000 2000 0000 $F20 VSI1_TO F000 0000 7000 0000 $F28 VSI2_CTL 0000 0000 0000 0000 $F2C VSI2_BS XXXX XXXX XXXX XXXX $F30 VSI2_BD XXXX XXXX XXXX XXXX $F34 VSI2_TO XXXX XXXX XXXX XXXX $F3C VSI3_CTL 0000 0000 0000 0000 $F40 VSI3_BS XXXX XXXX XXXX XXXX $F44 VSI3_BD XXXX XXXX XXXX XXXX $F48 VSI3_TO XXXX XXXX XXXX XXXX

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 The register values in the table yield the following VMEbus slave map: Falcon-Controlled System Registers The Falcon chip set latches the states of the DRAM data lines onto the PR_STAT1 and PR_STAT2 registers. MVME2300 series boards use these status registers to provide the system configuration information. In addition, the Falcon chip set performs the decode and control for an external register port. This function is utilized by MVME2300 series boards to provide the system control registers. The following subsections describe these system registers in detail. Table 1-14. VMEbus Slave Map Example VMEbus Address Size CHRP Map PREP Map Range Mode 4000 0000 - 4000 0FFF A32 U/S/P/D D08/16/32 4K PCI/ISA I/O Space: 0000 1000 - 0000 1FFF PCI/ISA I/O Space: 0000 1000 - 0000 1FFF 1000 0000 - 1FFF FFFF A32 U/S/P/D D08/16/32/64 RMW 256M PCI/ISA Memory Space (On-board DRAM) 0000 0000 - 0FFF FFFF PCI/ISA Memory Space (On-board DRAM) 8000 0000 - 8FFF FFFF Table 1-15. System Register Summary BIT # ----> 0 1 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 FEF80400 System Configuration Register (Upper Falcon’s PR_STAT1) FEF80404 Memory Configuration Register (Lower Falcon’s PR_STAT1) FEF88000 System External Cache Control Register FEF88300 CPU Control Register

System Configuration Register (SYSCR)

The states of the RD[0:31] DRAM data pins, which have weak internal pull-ups, are latched by the upper Falcon chip at a rising edge of the power- up reset and stored in this System Configuration register to provide some information about the system. Configuration is accomplished with external pull-down resistors. This 32-bit read-only register is defined as follows: SYSID System Identification. This field specifies the type of the overall system configuration so that the software may appropriately handle any software visible differences. For the MVME2300 series, this field returns a value of $FD. SYSCLK System Clock Speed. This field relays the system clock speed and the PCI clock speed information as follows: REG System Configuration Register - $FEF80400 BIT 0 1 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 FIELD SYSID SYSCLK SYSXC P0STAT P1STAT OPER Read Only RESET $FD 1111 1111 0111 1111 1 1 $F SYSCLK Value System Clock Speed PCI Clock Speed 0B0000 to 0B1100 Reserved Reserved 0B1101 50MHz 25MHz 0B1110 60MHz 30MHz 0B1111 66.66MHz 33.33MHz

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 SYSXC System External Cache Size. The MVME2300 series does not offer any external caching options. Reads from this field will always return a hardwired value of 0b1111 indicating the absence of external caching. P0/1STAT Processor 0/1 Status. This field is encoded as follows: P0/1STAT Value Processor 0/1 Present External In-line Cache Size 0B0000 to 0B0011 Reserved Reserved 0B0100 Yes 1M 0B0101 Yes 512K 0B0110 Yes 256K 0B0111 Yes None 0B1000 to 0B1111 No N/A

Memory Configuration Register (MEMCR)

The states of the RD[00:31] DRAM data pins, which have weak internal pull-ups, are latched by the lower Falcon chip at a rising edge of the power- up reset and stored in this Memory Configuration register to provide some information about the system memory. Configuration is accomplished with external pull-down resistors. This 32-bit read-only register is defined as follows: M_SIZE[0:1] Memory Size. This field is encoded as follows: M_FREF Block A/B/C/D Fast Refresh. When this bit is set, it indicates that a DRAM block requires faster refresh rate. If any of the four blocks requires faster refresh rate then the ram ref control bit should be set. REG Memory Configuration Register - $FEF80404 BIT 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 FIELD M_SIZE0 M_SIZE1 M_FREF M_SPD0 M_SPD1 R_A_TYP0 R_A_TYP1 R_A_TYP2 R_B_TYP0 R_B_TYP1 R_B_TYP2 L2_TYPE0 L2_TYPE1 L2_TYP2 L3_TYPE3 L2_PLL0 L2_PLL1 L2_PLL2 L2_PLL3 FLSHP0_ FLSHP1_ FLSHP2- OPER RESET X X 1 X 1 1 X X 1 X X X 1 X X X X X X X X X X X 1 1 X X X 1 1 1 M_SIZE[0:1] Total Memory On Board 0B00 16 Megabytes 0B01 32 Megabytes 0B10 64 Megabytes 0B11 128 Megabytes

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 M_SPD[0:1] Memory Speed. This field relays the memory speed information as follows: These two bits reflect the combined status of the four blocks of DRAM. Initialization software uses this information to program the ram_spd0 and ram_spd1 control bits in the Falcon’s Chip Revision register. R_A/B_TYP[0:2] ROM/Flash Type. This field is encoded as follows: Note The device width differs from the width of the Flash bank. If the bank width is 64 bits and the device width is 16 bits, then the Flash bank consists of four Flash devices. L2_TYPE[0:3] L2 Memory Type. This field is encoded as follows: M_SPD[0:1] DRAM Speed DRAM Type 0B00 70ns Past Page 0B01 60ns Fast Page 0B10 Reserved Reserved 0B11 50ns EDO ROM_A/B_TYP[0:2] ROM/Flash Type 0B000 to 0B101 Reserved 0B110 Intel 16-bit wide Flash with 16K Bottom Boot Block 0B111 Unknown type (i.e. ROM/Flash sockets) L2_TYPE[0:3] Configuration 0B0000 Late write Sync 0B0001 Pipelined Sync Burst 0B0010 to 0B1111 Reserved

L2 Core Frequency to L2 Frequency divider. This field is

encoded as follows: FLSHP[0:2] Bank A Flash memory size. This field is encoded as follows: System External Cache Control Register (SXCCR) The MVME2300 and MVME2300SC boards do not implement this register. Writes to this register location ($FEF88000) will have no system effects. Reads from this register location will return undefined data. PLL Value] Size 0B0000 Disable 0B0001 1 0B0010 1.5 0B0011 2 0B0100 2.5 0B0101 3 0B0110 to 0B1111 Reserved Flash Size FLSHP0_ FLSHP1_ FLSHP2_ 1MB 0 0 0 2MB 0 0 1 4MB 0 1 0 8MB 0 1 1 16MB 1 0 0 32MB 1 0 1 64MB 1 1 0 No Flash 1 1 1

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 Processor 0 External Cache Control Register (P0XCCR) The MVME2300 and MVME2300SC boards do not implement this register. Writes to this register location ($FEF88100) will have no system effects. Reads from this register location will return undefined data. Processor 1 External Cache Control Register (P1XCCR) The MVME2300 and MVME2300SC boards do not implement this register. Writes to this register location ($FEF88200) will have no system effects. Reads from this register location will return undefined data. CPU Control Register The CPU Control register is accessed via the RD[32:39] data lines of the upper Falcon device. This 8-bit register is defined as follows: LEMODE Little Endian Mode. This bit must be set in conjunction with the LEND bit in the Raven for little-endian mode. P0_TBEN Processor 0 Time Base Enable. When this bit is cleared, the TBEN pin of the processor will be driven low. REG CPU Control Register - $FEF88300 BIT 0 1 2 3 4 5 6 7 FIELD LEMODE P0_TBEN OPER R R R R/W R R R R RESET 1 0 0 1 X X X X

ISA Local Resource Bus

http://www.motorola.com/computer/literature 1-31 1 ISA Local Resource Bus W83C553 PIB Registers The PIB contains ISA Bridge I/O registers for various functions. These registers are actually accessible from the PCI bus. Refer to the W83C553 Data Book for details. 16550 UART The 16550 UART provides the MVME2300 series boards with an asynchronous serial port. Refer to the 16550 Data Sheet for additional details and programming information. The following table shows the mapping of the 16550 registers within the MVME2300 series boards’ ISA I/O space beginning at address 0x3F8: Table 1-16. 16550 Access Registers ISA I/O Address Function 0000 03F8 Receiver Buffer (Read); Transmitter Holding (Write) 0000 03F9 Interrupt Enable 0000 03FA Interrupt Identification (Read); FIFO Control (Write) 0000 03FB Line Control 0000 03FC MODEM control 0000 03FD Line Status 0000 03FE MODEM Status 0000 03FF Scratch

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 General-Purpose Readable Jumpers Headers J10 (on the MVME2300SC) and J17 (on the MVME2300) provide eight software-readable jumpers. These jumpers can be read as a register at ISA I/O address $801 (hexadecimal). Bit 0 is associated with header pins 1-2; bit 7 is associated with pins 15-16. The bit values are read as a 0 when a jumper is installed, and as a 1 when the jumper is removed. The PowerPC firmware, PPCBug, reserves all bits, SRH0 to SRH7. The board is shipped from the factory with J10 / J17 set to all 0s (jumpers on all pins), as shown in Figure 1-4. Figure 1-4. General-Purpose Software-Readable Header NVRAM/RTC and Watchdog Timer Registers The M48T59/559 provides the MVME2300 series boards with 8K of non- volatile SRAM, a time-of-day clock, and a watchdog timer. Accesses to the M48T59/559 are accomplished via three registers: J The NVRAM/RTC Address Strobe 0 register J The NVRAM/RTC Address Strobe 1 register J The NVRAM/RTC Data Port register J10/J17 15 Bit 0 (SRH0) Bit 1 (SRH1) Bit 2 (SRH2) Bit 6 (SRH6) Bit 3 (SRH3) Bit 4 (SRH4) Bit 5 (SRH5) 1 2 16 Bit 7 (SRH7) Reserved for future use Reserved for future use Reserved for future use PPCBug INSTALLED Reserved for future use Reserved for future use Reserved for future use Reserved for future use Reserved for future use

ISA Local Resource Bus

http://www.motorola.com/computer/literature 1-33 1 The NVRAM/RTC Address Strobe 0 register latches the lower 8 bits of the address and the NVRAM/RTC Address Strobe 1 register latches the upper 5 bits of the address. The NVRAM and RTC are accessed through the above three registers. When accessing an NVRAM/RTC location, follow this procedure: 1. Write the low address (A7-A0) of the NVRAM to the NVRAM/RTC STB0 register, 2. Write the high address (A15-A8) of the NVRAM to the NVRAM/RTC STB1 register, and 3. Then read or write the NVRAM/RTC Data Port. Refer to the M48T59 Data Sheet for additional details and programming information. Module Configuration and Status Registers Four registers provide the configuration and status information about the board. These registers are listed in the following table: Table 1-17. M48T59/559 Access Registers PCI I/O Address Function 0000 0074 NVRAM/RTC Address Strobe 0 (A7 - A0) 0000 0075 NVRAM/RTC Address Strobe 1 (A15 - A8) 0000 0077 NVRAM/RTC Data Register Table 1-18. Module Configuration and Status Registers PCI I/O Address Function 0000 0800 CPU Configuration Register 0000 0802 Base Module Feature Register 0000 0803 Base Module Status Register 0000 08C0 - 0000 08C1 Seven-Segment Display Register

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 The following subsections describe the configuration and status registers in detail. CPU Configuration Register The CPU Configuration register is an 8-bit register located at ISA I/O address x0800. This register is defined for the MVME2300 series to provide some backward compatibility with older MVME1600 products. The Base Module Status register should be used to identify the base module type and the System Configuration register should be used to obtain information about the overall system. CPUTYPE CPU Type. This field will always read as $E for the MVME2300 series. (The whole register will read $EF.) The System Configuration register should be used for additional information. REG Old CPU Configuration Register - $FE000800 BIT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD CPUTYPE OPER R R RESET $E $F

ISA Local Resource Bus

http://www.motorola.com/computer/literature 1-35 1 Base Module Feature Register The Base Module Feature register is an 8-bit register providing the configuration information about the MVME2300-series VME processor module. This read-only register is located at ISA I/O address x0802. PCIXP_ PCI Expansion Slot present. If set, there is no PCIX device installed. If cleared, the PCIX slot contains a PCI Mezzanine Card. PMC2P_ PMC Slot 2 present. If set, there is no PCI Mezzanine Card installed in PMC Slot 2. If cleared, PMC Slot 2 contains a PMC. PMC1P_ PMC Slot 1 present. If set, there is no PCI Mezzanine Card installed in PMC Slot 1. If cleared, PMC Slot 1 contains a PMC. VMEP_ VMEbus present. If set, there is no VMEbus interface. If cleared, VMEbus interface is supported. LANP_ Ethernet present. If set, there is no Ethernet transceiver interface. If cleared, there is on-board Ethernet support. REG Base Module Feature Register - Offset $0802 BIT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD PCIXP_ PMC2P_ PMC1P_ VMEP_ LANP_ OPER R R R R R R R R RESET X 1 X X X 1 X 1

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 Base Module Status Register (BMSR) The Base Module Status register is an 8-bit read-only register located at ISA I/O address x0803. BASE_TYPE Base Module Type. This four-bit field is used to provide the category of the base module and is defined as follows: REG Base Module Status Register - Offset $0803 BIT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD BASE_TYPE OPER R RESET 1 1 1 1 N/A BASE_TYPE Value Base Module Type $0 to $8 Reserved $9 MVME2300 $A to $F Reserved

ISA Local Resource Bus

http://www.motorola.com/computer/literature 1-37 1 Seven-Segment Display Register Note This register is NOT USED on the MVME2300-series boards. This 16-bit register allows data to be sent to the 4-digit hexadecimal diagnostic display. The register also allows the data to be read back. DIG3[3:0] Hexadecimal value of the most significant digit. DIG2[3:0] Hexadecimal value of the third significant digit. DIG1[3:0] Hexadecimal value of the second significant digit. DIG0[3:0] Hexadecimal value of the least significant digit. VME Registers The registers listed in the table below provide the following functions for the VMEbus interface: J A software interrupt capability J A location monitor function J A geographical address status For these registers to be accessible from the VMEbus, the Universe ASIC must be programmed to map VMEbus Slave Image 0 into the appropriate PCI I/O address range. Refer to the VMEbus Slave Map section for additional details. REG 7-Segment Display Register - Offset $08C0 BIT SD15 SD14 SD13 SD12 SD11 SD10 SD9 SD8 SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD DIG3[3:0] DIG2[3:0] DIG1[3:0] DIG0[3:0] OPER R/W RESET X X X X X X X X X X X X X X X X

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 These registers are described in the following subsections. LM/SIG Control Register The LM/SIG Control register is an 8-bit register located at ISA I/O address x1000. This register provides a method to generate software interrupts. The Universe ASIC is programmed so that this register can be accessed from the VMEbus to generate software interrupts to the processor(s). SET_SIG1 Writing a 1 to this bit will set the SIG1 status bit. SET_SIG0 Writing a 1 to this bit will set the SIG0 status bit. Table 1-19. VME Registers PCI I/O Address Function 0000 1000 SIG/LM Control Register 0000 1001 SIG/LM Status Register 0000 1002 VMEbus Location Monitor Upper Base Address 0000 1003 VMEbus Location Monitor Lower Base Address 0000 1004 VMEbus Semaphore Register 1 0000 1005 VMEbus Semaphore Register 2 0000 1006 VMEbus Geographical Address Status REG LM/SIG Control Register - Offset $1000 BIT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD SET SIG1 SET SIG0 SET LM1 SET LM0 CLR SIG1 CLR SIG0 CLR LM1 CLR LM0 OPER WRITE-ONLY RESET 0 0 0 0 0 0 0 0

ISA Local Resource Bus

http://www.motorola.com/computer/literature 1-39 1 SET_LM1 Writing a 1 to this bit will set the LM1 status bit. SET_LM0 Writing a 1 to this bit will set the LM0 status bit. CLR_SIG1 Writing a 1 to this bit will clear the SIG1 status bit. CLR_SIG0 Writing a 1 to this bit will clear the SIG0 status bit. CLR_LM1 Writing a 1 to this bit will clear the LM1 status bit. CLR_LM0 Writing a 1 to this bit will clear the LM0 status bit. LM/SIG Status Register The LM/SIG Status register is an 8-bit register located at ISA I/O address x1001. This register, in conjunction with the LM/SIG Control register, provides a method to generate interrupts. The Universe ASIC is programmed so that this register can be accessed from the VMEbus to provide a capability to generate software interrupts to the onboard processor(s) from the VMEbus. EN_SIG1 When the EN_SIG1 bit is set, an LM/SIG Interrupt 1 is generated if the SIG1 bit is asserted. EN_SIG0 When the EN_SIG0 bit is set, an LM/SIG Interrupt 0 is generated if the SIG0 bit is asserted. REG LM/SIG Status Register - Offset $1001 BIT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD EN SIG1 EN SIG0 EN LM1 EN LM0 SIG1 SIG0 LM1 LM0 OPER R/W READ-ONLY RESET 0 0 0 0 0 0 0 0

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 EN_LM1 When the EN_LM1 bit is set, an LM/SIG Interrupt 1 is generated and the LM1 bit is asserted. EN_LM0 When the EN_LM0 bit is set, an LM/SIG Interrupt 0 is generated and the LM0 bit is asserted. SIG1 SIG1 status bit. This bit can only be set by the SET_LM1 control bit. It can only be cleared by a reset or by writing a 1 to the CLR_LM1 control bit. SIG0 SIG0 status bit. This bit can only be set by the SET_LM0 control bit. It can only be cleared by a reset or by writing a 1 to the CLR_LM0 control bit. LM1 LM1 status bit. This bit can be set by either the location monitor function or the SET_LM1 control bit. LM1 correspond to offset 3 from the location monitor base address. This bit can only be cleared by a reset or by writing a 1 to the CLR_LM1 control bit. LM0 LM0 status bit. This bit can be set by either the location monitor function or the SET_LM0 control bit. LM0 correspond to offset 1 from the location monitor base address. This bit can only be cleared by a reset or by writing a 1 to the CLR_LM0 control bit.

ISA Local Resource Bus

http://www.motorola.com/computer/literature 1-41 1 Location Monitor Upper Base Address Register The Location Monitor Upper Base Address register is an 8-bit register located at ISA I/O address x1002. The Universe ASIC is programmed so that this register can be accessed from the VMEbus to provide VMEbus location monitor function. VA[15:8] Upper Base Address for the location monitor function. Location Monitor Lower Base Address Register The Location Monitor Lower Base Address register is an 8-bit register located at ISA I/O address x1003. The Universe ASIC is programmed so that this register can be accessed from the VMEbus to provide VMEbus location monitor function. VA[7:4] Lower Base Address for the location monitor function. LMEN This bit must be set to enable the location monitor function. REG Location Monitor Upper Base Address Register - Offset $1002 BIT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD VA15 VA14 VA13 VA12 VA11 VA10 VA9 VA8 OPER R/W RESET 0 0 0 0 0 0 0 0 REG Location Monitor Lower Base Address Register - Offset $1003 BIT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD VA7 VA6 VA5 VA4 LMEN OPER R/W R R R RESET 0 0 0 0 0 0 0 0

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 Semaphore Register 1 Semaphore Register 1 is an 8-bit register located at ISA I/O address x1004. The Universe ASIC is programmed so that this register can be accessible from the VMEbus. This register can only be updated if bit 7 is low or if the new value has the most significant bit cleared. When bit 7 is high, this register will not latch in the new value if the new value has the most significant bit set. Semaphore Register 2 Semaphore Register 2 is an 8-bit register located at ISA I/O address x1005. The Universe ASIC is programmed so that this register can be accessible from the VMEbus. This register can only be updated if bit 7 is low or if the new value has the most significant bit cleared. When bit 7 is high, this register will not latch in the new value if the new value has the most significant bit set. REG Semaphore Register 1 - Offset $1004 BIT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD SEM1 OPER R/W RESET 0 0 0 0 0 0 0 0 REG Semaphore Register 2 - Offset $1005 BIT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD SEM2 OPER R/W RESET 0 0 0 0 0 0 0 0

ISA Local Resource Bus

http://www.motorola.com/computer/literature 1-43 1 VME Geographical Address Register (VGAR) The VME Geographical Address register is an 8-bit read-only register located at ISA I/O address x1006. This register reflects the states of the geographical address pins at the P1 connector. Emulated Z8536 CIO Registers and Port Pins Although MVME2300 series boards do not use a Z8536 device, several of its functions are emulated within an ISA Register PLD. These functions are accessed by reading/writing the Port A, B, C Data registers and Control register. Note that the Pseudo IACK function is not implemented in the MVME2300 series. Emulated Z8536 Registers The MVME2300 series implements the Z8536 CIO functions according to the following table. REG VME Geographical Address Register - Offset $1006 BIT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 FIELD GAP# GA4# GA3# GA2# GA1# GA0# OPER READ ONLY RESET X X X X X X X X Table 1-20. Emulated Z8536 Access Registers PCI I/O Address Function 0000 0844 Port C’s Data Register 0000 0845 Port B’s Data Register 0000 0846 Port A’s Data Register 0000 0847 Control Register

Computer Group Literature Center Web Site

Board Description and Memory Maps 1 Z8536 CIO Port Pins The following table shows the signal function and port mapping for the Z8536 CIO emulation. The signal directions are fixed in hardware. Table 1-21. Z8536 CIO Port Pin Assignments Port Pin Signal Name Direction Descriptions PA0 I/O Not used PA1 I/O Not used PA2 I/O Not used PA3 I/O Not used PA4 I/O Not used PA5 I/O Not used PA6 BRDFAIL Output Board Fail: When set, will illuminate BFL LED. PA7 I/O Not used PB0 I/O Not used PB1 I/O Not used PB2 I/O Not used PB3 I/O Not used PB4 I/O Not used PB5 I/O Not used PB6 I/O Not used PB7 ABORT_ Input Status of ABORT# signal PC0 I/O Not used PC1 I/O Not used

ISA Local Resource Bus

http://www.motorola.com/computer/literature 1-45 1 ISA DMA Channels No ISA DMA channels are implemented on MVME2300 series boards. PC2 BASETYP0 Input Genesis Base Module Type: 00b = Genesis II (see Base Module Status Register) 01b = MVME1600-011 10b = Reserved 11b = MVME1600-001 PC3 BASETYP1 Input Table 1-21. Z8536 CIO Port Pin Assignments (Continued) Port Pin Signal Name Direction Descriptions

2Raven PCI Bridge ASIC

Introduction This chapter describes the architecture and usage of the Raven ASIC, a PowerPC-to-PCI-Local-Bus bridge controller chip. The Raven is intended to provide PowerPC 60x (MPC60x) compliant devices access to devices residing on the PCI Local Bus. In the remainder of this chapter, the MPC60x bus is referred to as the "MPC bus" and the PCI Local Bus is referred to as "PCI". PCI is a high-performance 32-bit or 64-bit, burst mode, synchronous bus capable of transfer rates of 132 MB/sec in 32-bit mode or 264 MB/sec in 64-bit mode using a 33MHz clock. Features The following table summarizes the characteristics of the Raven ASIC. Table 2-1. Features of the Raven ASIC Function Features MPC Bus Interface Direct interface to MPC603 or MPC604 processors 64-bit data bus, 32-bit address bus Four independent software-programmable slave map decoders Multi-level write-post FIFO for writes to PCI Support for MPC bus clock speeds up to 66MHz Selectable big- or little-endian operation 3.3V signal levels PCI Interface Fully PCI Rev. 2.0 compliant 32-bit or 64-bit address/data bus Support for accesses to all four PCI address spaces Single-level write-posting buffers for writes to the MPC bus Read-ahead buffer for reads from the MPC bus Four independent software-programmable slave map decoders

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 Block Diagram Figure 2-1 shows a functional block diagram of the Raven ASIC. The Raven control logic is subdivided into the following functions: J PCI slave J PCI master J MPC slave J MPC master Interrupt Controller MPIC compliant Support for 16 external interrupt sources and two processors Multiprocessor interrupt control allowing any interrupt source to be directed to either processor Multilevel cross-processor interrupt control for multiprocessor synchronization Four 31-bit tick timers Processor Coordination Two 64-bit general purpose registers for cross-processor messaging Table 2-1. Features of the Raven ASIC (Continued) Function Features

Figure 2-1. Raven Block Diagram

1914 9702 Data Path ‘B’ Mux FIFO Endian Mux FIFO Endian Data Path ‘A’ PCI Regs MPIC PCI Dec Mux Reg Mux Reg PCI Slave MPC Slave Reg Reg MPC Dec PCIADIN PCI Master Mux PCI MPC Master MPC Regs Raven PCI Bus MPC Bus Mux MPC MPCADIN

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 Functional Description The Raven data path logic is subdivided into the following functions: J Data Path ‘A’ FIFOs/muxes J Data Path ‘B’ FIFOs/muxes J PCIADIN, MPCADIN, Mux PCI, and Mux MPC Address decoding is handled in the PCI Decode and MPC Decode blocks. The control register logic is contained in the PCI Registers and MPC Registers blocks. The interrupt controller (RavenMPIC) and the MPC arbiter functions make up the remainder of the Raven design. The data path function imposes some restrictions on access to the RavenMPIC, the PCI registers, and the MPC registers. The RavenMPIC and the PCI registers are only accessible to PCI-originated transactions. The MPC registers are only accessible to MPC-originated transactions. MPC Bus Interface The MPC Bus interface is designed to be coupled directly to up to two MPC603 or MPC604 microprocessors as well as a memory/cache subsystem. It uses a subset of the capabilities of the MPC60x bus protocol. MPC Address Mapping The Raven will map either PCI memory space or PCI I/O space into MPC address space using four programmable map decoders. These decoders provide windows into the PCI bus from the MPC bus. The most significant 16 bits of the MPC address are compared with the address range of each map decoder, and if the address falls within the specified range, the access is passed on to PCI. An example of this appears in Figure 2-2.

Figure 2-2. MPC-to-PCI Address Decoding

The Raven ASIC imposes no limits on how large an address space a map decoder can represent. There is a minimum of 64KB due to the resolution of the address compare logic. For each map, there is an associated set of attributes. These attributes are used to enable read accesses, enable write accesses, enable write-posting, and define the PCI transfer characteristics. Each map decoder also includes a programmable 16-bit address offset. The offset is added to the 16 most significant bits of the MPC address, and the result is used as the PCI address. This offset allows PCI devices to reside at any PCI address, independent of the MPC address map. An example of this appears in Figure 2-3. MPC Bus Address 8 0 8 0 1 2 3 4 31 16 15 0 MSADDx Register 7 0 8 0 9 0 0 0 31 16 15 0 >= <= and Decode is

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 Figure 2-3. MPC to PCI Address Translation You should take care to assure that all programmable decoders decode unique address ranges, since overlapping address ranges will lead to undefined operation. MPC Slave The MPC slave provides the interface between the MPC bus and the Raven FIFOs. The MPC slave is responsible for tracking and maintaining coherency to the 60x processor bus protocol. The MPC slave divides MPC command types into three categories: Address Only; Write; and Read. If a command is of type address-only and the address presented at the time of the command is a valid Raven address, the MPC slave will respond immediately. The Raven will not respond to address-only cycles where the address presented is not a Raven address. The response of the MPC slave to command types is listed in Table 2-2. MPC Bus Address 8 0 8 0 1 2 3 4 31 16 15 0 MSOFFx Register 9 0 0 0 15 0 + PCI Bus Address 1 0 8 0 1 2 3 4 0 15 16 31 =

Table 2-2. Command Types — MPC Slave Response

MPC Transfer Type Transfer Encoding Transaction Clean Block 00000 Addr Only Flush Block 00100 Addr Only SYNC 01000 Addr Only Kill Block 01100 Addr Only EIEIO 10000 Addr Only ECOWX 10100 No Response TLB Invalidate 11000 Addr Only ECIWX 11100 No Response LWARX 00001 Addr Only STWCX 00101 Addr Only TLBSYNC 01001 Addr Only ICBI 01101 Addr Only Reserved 1XX01 No Response Write-with-flush 00010 Write Write-with-kill 00110 Write Read 01010 Read Read-with-intent-to-modify 01110 Read Write-with-flush-atomic 10010 Write Reserved 10110 No Response Read-atomic 11010 Read Read-with-intent-to-modify-atomic 11110 Read Reserved 00011 No Response Reserved 00111 No Response Read-with-no-intent-to-cache 01011 Read Reserved 01111 No Response Reserved 1xx11 No Response

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 MPC Write Posting The MPC write FIFO stores up to eight data beats in any combination of single- and four-beat (burst) transactions. If write-posting is enabled, Raven stores the data necessary to complete an MPC write transfer to the PCI bus and immediately acknowledges the transaction on the MPC bus. This frees the MPC bus from waiting for the potentially long PCI arbitration and transfer. The MPC bus may be used for more useful work while the Raven manages the completion of the write-posted transaction on PCI. All transactions will be completed on the PCI bus in the same order that they are completed on the MPC bus. A read or a compelled write transaction will force all previously issued write-posted transactions to be flushed from the FIFO. All write-posted transfers will be completed before a non-write-posted read or write is begun, to assure that all transfers are completed in the order issued. All write-posted transfers will also be completed before any access to the Raven’s registers is begun. MPC Master The MPC master will attempt to move data using burst transfers wherever possible. A 64-bit-by-16 entry FIFO is used to hold data between the PCI slave and the MPC master to ensure that optimum data throughput is maintained. While the PCI slave is filling the FIFO with one cache line worth of data, the MPC master can be moving another cache line worth onto the MPC bus. This will allow the PCI slave to receive long block transfers without stalling. When programmed in “read ahead” mode (the RAEN bit in the PSATTx register is set) and the PCI slave receives a Memory Read Line or Memory Read Multiple command, the MPC master will fetch data in bursts and store it in the FIFO. The contents of the FIFO will then be used to attempt to satisfy the data requirements for the remainder of the PCI block transaction. If the data requested is not in the FIFO, the MPC master will read another cache line. The contents of the FIFO are “invalidated” at the end of each PCI block transaction.

1. Read-ahead mode should not be used when data coherency may be

a problem, as there is no way to snoop all MPC bus transactions and invalidate the contents of the FIFO. 2. Accesses near the top of local memory with read-ahead mode enabled could cause the MPC master to perform reads beyond the top of local memory, which could produce an MPC bus timeout error. The MPC bus transfer types generated by the MPC master depend on the PCI command code and the INV/GBL bits in the PSATTx registers. The GBL bit determines whether or not the GBL∗ signal is asserted for all portions of a transaction, and is fully independent of the PCI command code and INV bit. Table 2-3 shows the relationship between PCI command codes and the INV bit. Table 2-3. MPC Transfer Types The MPC master incorporates an optional operating mode called Bus Hog. When Bus Hog is enabled, the MPC master will continually request the MPC bus for the entire duration of each PCI transfer. When Bus Hog is not PCI Command Code INV MPC Transfer Type MPC Transfer Size TT0-TT4 Memory Read Memory Read Multiple Memory Read Line 0 Read Burst/Single Beat 01010 Memory Read Memory Read Multiple Memory Read Line 1 Read With Intent to Modify Burst/Single Beat 01110 Memory Write Memory Write and Invalidate x Write with Kill Burst 00110 Memory Write Memory Write and Invalidate x Write with Flush Single Beat 00010

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 enabled, the MPC master will structure its bus request actions according to the requirements of the FIFO. Use this mode with caution, since the over- generosity of bus ownership to the MPC master can be detrimental to the host CPU’s performance. The Bus Hog mode can be controlled by the BHOG bit within the GCSR. The default state for BHOG is disabled. MPC Arbiter The MPC Arbiter is an optional feature in the Raven ASIC. It is not used on MVME2300 series boards. Arbitration for the MPC bus on the MVME2300 series is performed external to the Raven. MPC Bus Timer The MPC bus timer allows the current bus master to recover from a lock- up condition resulting from no slave response to the transfer request. The timeout duration of the bus timer is determined by the MBT field in the Global Control/Status register. The bus timer starts ticking at the beginning of an address transfer (TS∗ asserted). If the address transfer is not terminated (AACK∗ asserted) before the timeout period has elapsed, the Raven will assert the MATO bit in the MPC Error Status register, latch the MPC address in the MPC Error Address register, and then terminate the cycle. The MATO bit may be configured to generate an interrupt or a machine check through the MEREN register. The timer is disabled if the transfer is intended for PCI. PCI-bound transfers will be timed by the PCI master. PCI Interface The Raven PCI interface is designed for direct connection to a PCI Local Bus. It supports Master and Target transactions within Memory space, I/O space, and Configuration space.

The PCI interface may operate at any clock speed up to 33MHz. The

PCLK input must be externally synchronized with the MCLK input, and the frequency of the PCLK input must be exactly half the frequency of the MCLK input. PCI Address Mapping The Raven ASIC provides three resources to PCI: J Configuration registers mapped into PCI Configuration space J MPC bus address space mapped into PCI Memory space J RavenMPIC control registers mapped into either PCI I/O space or PCI Memory space Configuration Registers The Raven has no IDSEL pin. Instead, an internal connection made within the Raven logically associates the assertion of IDSEL with the assertion of AD31. Raven provides a configuration space that is fully compliant with the PCI Local Bus Specification 2.0 definition for configuration space. Two base registers within the standard 64-byte header are used to control the mapping of RavenMPIC. One register is dedicated to mapping RavenMPIC into PCI I/O space; the other register is dedicated to mapping RavenMPIC into PCI Memory space. The mapping of MPC address space is handled by device-specific registers located above the 64-byte header. These control registers support a mapping scheme that is functionally similar to the PCI-to-MPC mapping scheme described in the section on MPC Address Mapping earlier in this chapter.

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 MPC Bus Address Space The Raven will map MPC address space into PCI Memory space using four programmable map decoders. The most significant 16 bits of the PCI address are compared with the address range of each map decoder; if the address falls within the specified range, the access is passed on to the MPC bus. An example of this appears in Figure 2-4. Figure 2-4. PCI to MPC Address Decoding The Raven ASIC imposes no limits on how large an address space a map decoder can represent. There is a minimum of 64KB due to the resolution of the address compare logic. For each map, there is an associated set of attributes. These attributes are used to enable read accesses, enable write accesses, enable write-posting, and define the MPC bus transfer characteristics. Each map decoder also includes a programmable 16-bit address offset. The offset is added to the 16 most significant bits of the PCI address, and the result is used as the MPC address. This offset allows devices to reside at any MPC address, independent of the PCI address map. An example of this appears in Figure 2-5. PCI Bus Address 8 0 8 0 1 2 3 4 0 15 16 31 PSADDx Register 7 0 8 0 9 0 0 0 0 15 16 31 >= <= and Decode is

Figure 2-5. PCI to MPC Address Translation

All Raven address decoders are prioritized so that programming multiple decoders to respond to the same address is not a problem. When the PCI address falls into the range of more than one decoder, only the highest priority one will respond. The decoders are prioritized as shown below. RavenMPIC Control Registers The RavenMPIC control registers are located within either PCI memory or PCI I/O space using traditional PCI-defined base registers within the predefined 64-byte header. Refer to the section on Raven Interrupt Controller for more information. Decoder Priority PCI Slave 0 highest PCI Slave 1 PCI Slave 2 PCI Slave 3 lowest PCI Bus Address 8 0 8 0 1 2 3 4 0 15 16 31 PSOFFx Register 9 0 0 0 16 31 + MPC Bus Address 1 0 8 0 1 2 3 4 31 16 15 0 =

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 PCI Slave The PCI slave provides the control logic needed to interface the PCI bus to the Raven’s FIFO buffers. The PCI slave can accept either 32-bit or 64-bit transactions, but it can accept only 32-bit addressing. There is no limit to the length of the transfer that the slave can handle. During posted write cycles, the slave will continue to accept write data until the write-post FIFO is full. If the write-post FIFO is full, the slave will hold off the master with wait states until there is more room in the FIFO. The slave will not initiate a disconnect. If the write transaction is compelled, the slave will hold off the master with wait states while each beat of data is being transferred. The slave will acknowledge the completion of the transfer only after the data transfer has successfully completed on the MPC bus. If a read transaction is occurring within an address space marked for prefetching, the slave (in conjunction with the MPC master) will attempt to read far enough ahead on the MPC bus to allow for an uninterrupted burst transaction on the PCI bus. Read transactions within address spaces marked for no prefetching will be acknowledged on the PCI bus only after a single beat read has successfully completed on the MPC bus. Each read on the MPC bus will begin only after the previous read has been acknowledged on the PCI bus and there is an indication that the PCI master wishes more data to be transferred. The following paragraphs identify some associations between the operation of the PCI slave and the requirements of the PCI 2.0 Local Bus Specification.

Table 2-4 shows which types of PCI cycles the slave has been designed to

accept. Addressing The slave will accept any combination of byte enables during read or write cycles. During write cycles, a discontinuity (i.e., a ‘hole’) in the byte enables will force the slave to issue a disconnect. During all read cycles, the slave will return an entire word of data regardless of the byte enables. During I/O read cycles, the slave will perform integrity checking of the byte enables against the address being presented and assert SERR∗ in the event there is an error. Table 2-4. Command Types — PCI Slave Response Command Type Slave Response? Interrupt Acknowledge No Special Cycle No I/O Read Yes I/O Write Yes Reserved No Reserved No Memory Read Yes Memory Write Yes Reserved No Reserved No Configuration Read Yes Configuration Write Yes Memory Read Multiple Yes Dual Address Cycle No Memory Read Line Yes Memory Write and Invalidate Yes

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 The slave will honor only the Linear Incrementing addressing mode. The slave will perform a disconnect with data if any other mode of addressing is attempted. Device Selection The PCI slave will always respond to valid decoded cycles as a medium responder. Target-Initiated Termination The PCI slave normally strives to complete transactions without issuing disconnects or retries. One exception is when the slave performs configuration cycles. All configuration cycles are terminated with a disconnect after one data beat has been transferred. Another exception is the issue of a disconnect when asked to perform a transaction with byte enable ‘holes’. Fast Back-to-Back Transactions The PCI slave supports both of the fundamental target requirements for fast back-to-back transactions. The PCI slave meets the first criteria of being able to successfully track the state of the PCI bus without the existence of an IDLE state between transactions. The second criteria, associated with signal turn-around timing, is met by default since the slave functions as a medium responder. Latency The PCI slave has no hardware mechanisms in place to guarantee that the initial and subsequent target latency requirements are met. This is typically not a problem, since the bandwidth of the MPC bus far exceeds the bandwidth of the PCI bus. The Raven MPC arbiter has been designed to give the highest priority to its own transactions, which further reduces PCI bus latency. Exclusive Access The PCI slave has no mechanism to support exclusive access.

The PCI slave supports address parity error detection, data parity

generation and data parity error detection. Cache Support The PCI slave does not participate in the PCI caching protocol. PCI Write Posting If write-posting is enabled, the Raven stores the target address, attributes, and up to 128 bytes of data from one PCI write transaction and immediately acknowledges the transaction on the PCI bus. This allows the slower PCI to continue to transfer data at its maximum bandwidth, and the faster MPC bus to accept data in high-performance cache-line burst transfers. Only one PCI transaction may be write-posted at any given time. If the Raven is busy processing a previous write-posted transaction when a new PCI transaction begins, the next PCI transaction is delayed (TRDY∗ is not asserted) until the previous transaction has completed. If during a transaction the write-post buffer is filled, subsequent PCI data transfers are delayed (TRDY∗ is not asserted) until the Raven has removed some data from the FIFO. Under normal conditions, the Raven should be able to empty the FIFO faster than the PCI bus can fill it. PCI Configuration cycles intended for internal Raven registers are also delayed if the Raven is busy, so that control bits which may affect write- posting do not change until all write-posted transactions have completed. PCI Master The PCI master, in conjunction with the capabilities of the MPC slave, will attempt to move data in either single-beat or four-beat (burst) transactions. All single-beat transactions will be subdivided into one or two 32-bit transfers, depending on the alignment and size of the transaction. The PCI master will attempt to transfer all four-beat transactions in 64-bit mode if the PCI bus has 64-bit mode enabled. If at any time during the transaction the PCI target indicates that it cannot support 64-bit mode, the PCI master will continue to transfer the remaining data in 32-bit mode.

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 The PCI master can support Critical Word First (CWF) burst transfers. The PCI master will divide this transaction into two parts. The first part will start on the address presented with the CWF transfer request and continue up to the end of the current cache line. The second transfer will start at the beginning of the associated cache line and work its way up to (but not including) the word addressed by the CWF request. It should be noted that even though the master can support burst transactions, a majority of the transaction types handled are single-beat transfers. Since PCI space is typically not configured as cacheable, burst transactions to PCI space would not naturally occur. Burst transactions must be supported, however, since it is conceivable that bursting could happen. For example, nothing prevents the processor from loading up a cache line with PCI write data and manually flushing the cache line. The following paragraphs identify some associations between the operation of the PCI master and the requirements of the PCI 2.0 Local Bus Specification. Command Types The PCI command codes generated by the PCI master depend on the type of transaction being performed on the MPC bus. Please refer to the MPC Slave section earlier in this chapter for a further description of MPC bus read and MPC bus write transactions. Table 2-5 summarizes the command types supported and shows how they are generated. Table 2-5. PCI Master Command Codes Entity Addressed MPC Transfer Type TBST∗ MEM C/BE PCI Command PIACK Read x x 0000 Interrupt Acknowledge CONADD/CONDAT Write x x 0001 Special Cycle MPC Mapped PCI Space Read x 0 0010 I/O Read Write x 0 0011 I/O Write -- Unsupported -- 0100 Reserved -- Unsupported -- 0101 Reserved MPC Mapped PCI Space Read 1 1 0110 Memory Read Write x 1 0111 Memory Write

The PCI master will generate all memory transactions using the linear

incrementing addressing mode. Combining, Merging, and Collapsing The PCI master does not participate in any of these protocols. Master Initiated Termination The PCI master can handle any defined method of target retry, target disconnect, or target abort. If the target responds with a retry, the PCI master will wait for the required two clock periods and attempt the transaction again. The attempts will continue indefinitely until the transaction either completes, or is aborted by the target, or is aborted due to a Raven-detected bridge lock. The same happens if the target responds with a disconnect and there is still data to be transferred. If the PCI master detects a target abort during a read, any untransferred read data will be filled with 1s. If the PCI master detects a target abort during a write, any untransferred portions of data will be dropped. The same rule applies if the PCI master generates a Master Abort cycle. -- Unsupported -- 1000 Reserved -- Unsupported -- 1001 Reserved CONADD/CONDAT Read x x 1010 Configuration Read CONADD/CONDAT Write x x 1011 Configuration Write -- Unsupported -- 1100 Memory Read Multiple -- Unsupported -- 1101 Dual Address Cycle MPC Mapped PCI Space Read 0 1 1110 Memory Read Line -- Unsupported -- 1111 Memory Write and Invalidate Table 2-5. PCI Master Command Codes (Continued) Entity Addressed MPC Transfer Type TBST∗ MEM C/BE PCI Command

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 Arbitration The PCI master can support parking on the PCI bus. If the PCI master starts a transaction that is going to take more than one beat, the PCI master will continuously assert its request until the transaction has completed. The one exception is when the PCI master receives a disconnect or a retry. Fast Back-to-Back Transactions The PCI master does not generate fast back-to-back transactions. Arbitration Latency Because the bulk of the transactions on PCI are limited to single-beat transfers, the PCI master does not implement a Master Latency timer. Exclusive Access The PCI master is not able to initiate exclusive access transactions. Address/Data Stepping The PCI master does not participate in the Address/Data Stepping protocol. Parity The PCI master supports address parity generation, data parity generation, and data parity error detection. Cache Support The PCI master does not participate in the PCI caching protocol.

Generating PCI Cycles

Four basic types of bus cycles can be generated on the PCI bus: J Memory and I/O J Configuration J Special Cycle J Interrupt Acknowledge Generating PCI Memory and I/O Cycles Each programmable slave may be configured to generate PCI I/O or memory accesses through the MEM and IOM fields in its Attribute register as shown below. : If the MEM bit is set, the Raven will perform Memory addressing on the PCI bus. The Raven will take the MPC bus address, apply the offset specified in the MSOFFx register, and map the result directly to the PCI bus. The IBM CHRP specification describes two approaches for handling PCI I/O addressing: contiguous or spread address modes. When the MEM bit is cleared, the IOM bit is used to select between these two modes whenever a PCI I/O cycle is to be performed. The Raven will perform contiguous I/O addressing when the MEM bit is clear and the IOM bit is clear. The Raven will take the MPC address, apply the offset specified in the MSOFFx register, and map the result directly to PCI. MEM IOM PCI Cycle Type 1 x Memory 0 0 Contiguous I/O 0 1 Spread I/O

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 The Raven will perform spread I/O addressing when the MEM bit is clear and the IOM bit is set. The Raven will take the MPC address, apply the offset specified in the MSOFFx register, and map the result to PCI as shown in Figure 2-6. . Figure 2-6. PCI Spread I/O Address Translation Spread I/O addressing allows each PCI device’s I/O registers to reside on a different MPC memory page, so device drivers can be protected from each other using memory page protection. All I/O accesses must be performed within natural word boundaries. Any I/O access that is not contained within a natural word boundary will result in unpredictable operation. For example, an I/O transfer of four bytes starting at address $80000010 is considered a valid transfer. An I/O transfer of four bytes starting at address $80000011 is considered an invalid transfer since it crosses the natural word boundary at address $80000013/$80000014. Generating PCI Configuration Cycles The Raven uses configuration mechanism #1 as defined in PCI Local Bus Specification 2.0 to generate configuration cycles. Please refer to the specification for a complete description of this function. 1915 9702 MPC Address + Offset 31 12 11 5 4 0 31 0 PCI Address 25 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 4

Configuration mechanism #1 uses an address register/data register format.

Performing a configuration access is a two-step process. The first step is to place the address of the configuration cycle within the CONFIG_ADDRESS register. Note that this action does not generate any cycles on the PCI bus. The second step is to either read or write configuration data into the CONFIG_DATA register. If the CONFIG_ADDRESS register has been set up correctly, the Raven will pass this access on to the PCI bus as a configuration cycle. The addresses of the CONFIG_ADDRESS and CONFIG_DATA registers are actually embedded within PCI I/O space. If the CONFIG_ADDRESS register has been set incorrectly or the access to either the CONFIG_ADDRESS or CONFIG_DATA register is not 1,2, or 4 bytes wide, the Raven will pass the access on to PCI as a normal I/O Space transfer. The CONFIG_ADDRESS register is located at offset $CF8 from the bottom of PCI I/O space. The CONFIG_DATA register is located at offset $CFC from the bottom of PCI I/O space. The Raven address decode logic has been designed such that MSADD3 and MSOFF3 must be used for mapping to PCI Configuration (consequently I/O) space. The MSADD3/MSOFF3 register group is initialized at reset to allow PCI I/O access starting at address $80000000. The powerup location (that is, little- endian disabled) of the CONFIG_ADDRESS register is $80000CF8, and the CONFIG_DATA register is located at $80000CFC. The CONFIG_ADDRESS register must be prefilled with four fields: 1. Register Number 2. Function Number 3. Device Number 4. Bus Number The Register Number and Function Number are passed along to the PCI bus as portions of the lower address bits. When performing a configuration cycle, the Raven uses the upper 20 address bits as IDSEL lines. During the address phase of a configuration cycle, only one of the upper address bits will be set. The device that has its

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 IDSEL connected to the address bit being asserted will be selected for a configuration cycle. The Raven decodes the Device Number to determine which of the upper address lines to assert. The decoding of the five-bit Device Number is show below:. The Bus Number determines which bus is the target for the configuration read cycle. The Raven will always host PCI bus #0. Accesses that are to be performed on the PCI bus connected to the Raven must have zero programmed into the Bus Number. If the configuration access is targeted for another PCI bus, then that bus number should be programmed into the Bus Number field. The Raven will detect a nonzero field and convert the transaction to a Type 1 Configuration cycle. Generating PCI Special Cycles The Raven supports the method stated in PCI Local Bus Specification 2.0 to generate special cycles using Configuration Mechanism #1. To prime the Raven for a special cycle, the host processor must write a 32-bit value to the CONFIG_ADDRESS register. The contents of the write are defined later in this chapter under the CONFIG_ADDRESS register definition. After the write to CONFIG_ADDRESS has been accomplished, the next write to the CONFIG_DATA register causes the Raven to generate a special cycle on the PCI bus. The write data is driven onto AD[31:0] during the special cycle’s data phase. Device Number Address Bit 00000 AD31 00001 - 01010 All Zeros 01011 AD11 01100 AD12 (etc.) (etc.) 11101 AD29 11110 AD30 11111 All Zeros

Generating PCI Interrupt Acknowledge Cycles

Performing a read from the PIACK register will initiate a single PCI Interrupt Acknowledge cycle. Any single byte or combination of bytes may be read from, and the actual byte enable pattern used during the read will be passed on to the PCI bus. Upon completion of the PCI interrupt acknowledge cycle, the Raven will present the resulting vector information obtained from the PCI bus as read data. Endian Conversion The Raven ASIC supports both big- and little-endian data formats. Since the PCI bus is inherently little-endian, conversion is necessary if all MPC devices are configured for big-endian operation. The Raven may be programmed to perform the endian conversion described below. When MPC Devices are Big-Endian When all MPC devices are operating in big-endian mode, all data to/from the PCI bus must be swapped such that the PCI bus looks big-endian from the MPC bus’s perspective. This association is true regardless of whether the transaction originates on the PCI bus or the MPC bus. Figure 2-7 illustrates the concept.

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 . Figure 2-7. Big- to Little-Endian Data Swap 1916 9610 DH07-00 DH15-08 DH23-16 DH31-24 DL07-00 DL15-08 DL23-16 DL31-24 D0 D1 D2 D3 D4 D5 D6 D7 D7 D6 D5 D4 D3 D2 D1 D0 D0 D1 D2 D3 D4 D5 D6 D7 AD63-56 AD55-48 AD47-40 AD39-32 AD31-24 AD23-16 AD15-08 AD07-00 DH07-00 DH15-08 DH23-16 DH31-24 DL07-00 DL15-08 DL23-16 DL31-24 D7 D6 D5 D4 D3 D2 D1 D0 AD31-24 AD23-16 AD15-08 AD07-00 PPC Bus 64-bit PCI PPC Bus 32-bit PCI

When MPC Devices are Little-Endian

When all MPC devices are operating in little-endian mode, the originating address is modified to remove the exclusive-ORing applied by MPC60x processors before being passed on to the PCI bus. Note that no data swapping is performed. Address modification happens to the originating address regardless of whether the transaction originates from the PCI bus or the MPC bus. The three low-order address bits are exclusive-ORed with a three-bit value that depends on the length of the operand, as shown in Table 2-6. Table 2-6. Address Modification for Little-Endian Transfers Note The only legal data lengths supported in little-endian mode are 1-, 2-, 4-, or 8-byte aligned transfers. Since there are some difficulties with this method in dealing with unaligned PCI-originated transfers, the Raven MPC master will break up all unaligned PCI transfers into multiple aligned PCI transfers into multiple aligned transfers on the MPC bus. Raven Registers and Endian Mode The Raven ASIC’s registers are not sensitive to changes in big-endian and little-endian mode. With respect to the MPC bus (but not always the address internal to the processor), the MPC registers are always represented in big-endian mode. This means that the processor’s internal view of the MPC registers will vary depending on the processor’s operating mode. Data Length (bytes) Address Modification 1 XOR with 111 2 XOR with 110 4 XOR with 100 8 No change

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 With respect with the PCI bus, the RavenMPIC registers and the configuration registers are always represented in little-endian mode. The CONFIG_ADDRESS and CONFIG_DATA registers are actually represented in PCI space to the processor and are subject to the endian functions. For example, the powerup location of the CONFIG_ADDRESS register with respect to the MPC bus is $80000CF8 when the Raven is in big-endian mode. When the Raven is switched to little-endian mode, the CONFIG_ADDRESS register with respect to the MPC bus is $80000CFC. Note that in both cases the address generated internal to the processor will be $80000CF8. The contents of the CONFIG_ADDRESS register are not subject to the endian function. The data associated with PIACK accesses is subject to the endian swapping function. Because the address of a PIACK cycle is undefined, address modification during little-endian mode is not an issue. Error Handling The Raven is capable of detecting and reporting the following errors to one or more MPC masters: J MPC address bus time-out J PCI master signalled master abort J PCI master received target abort J PCI parity error J PCI system error Each of these error conditions will set an error status bit in the MPC Error Status register. If a second error is detected while any of the error bits is set, the OVFL bit is asserted, but none of the error bits are changed. You can clear each bit in the MPC Error Status register by writing a 1 to it; writing a 0 to it has no effect. New error bits may be set only when all previous error bits have been cleared.

When any bit in the MPC Error Status register is set, the Raven ASIC will

attempt to latch as much information as possible about the error in the MPC Error Address and Attribute registers. Information is saved as follows: Each MERST error bit may be programmed to generate a machine check and/or a standard interrupt. The error response is programmed through the MPC Error Enable register on a source-by-source basis. When a machine check is enabled, either the MID field in the MPC Error Attribute register or the DFLT bit in the MEREN register determine the master to which the machine check is directed. For errors in which the master that originated the transaction can be determined, the MID field is used, provided the MID is%00 (processor 0), %01 (processor 1), or %10 (processor 2). For errors not associated with a particular MPC master, or associated with masters other than processor 0, 1, or 2, the DFLT bit is used. One example of an error condition which cannot be associated with a particular MPC master would be a PCI system error. Transaction Ordering The Raven ASIC supports transaction ordering with an optional FIFO flushing option. The FLBRD (Flush Before Read) bit within the GCSR register controls the flushing of PCI write-posted data when performing MPC-originated read transactions. Error Status Error Address and Attributes MATO From MPC bus SMA From PCI bus RTA From PCI bus PERR Invalid SERR Invalid

Computer Group Literature Center Web Site

Raven PCI Bridge ASIC 2 When the FLBRD bit is set, Raven will handle read transactions originating from the MPC bus in the following manner: J Write-posted transactions originating from the processor bus are flushed by the nature of the FIFO architecture. The Raven will hold the processor with wait states until the PCI-bound FIFO is empty. J Write-posted transactions originating from the PCI bus are flushed whenever the PCI slave has accepted a write-posted transaction and the transaction has not completed on the MPC bus. Raven Registers This section provides a detailed description of all registers in the Raven ASIC. The registers are organized in two groups: MPC registers and PCI Configuration registers. The MPC registers are accessible only from the MPC bus, but accept any valid transfer size. The PCI Configuration registers reside in PCI configuration space. They are accessible from the MPC bus through the Raven ASIC. The MPC registers are described first; the PCI Configuration registers are described next. A complete discussion of the RavenMPIC registers can be found later in this chapter. The following conventions are used in the Raven register charts: J R Read Only field. J R/W Read/Write field. J S Writing a ONE to this field sets this field. J C Writing a ONE to this field clears this field. MPC Registers The Raven MPC register map is shown in Table 2-7. 2Raven PCI Bridge ASIC 0Raven Registers

Other Processor Manuals