Page 1
MVME5100 Single Board Computer Programmer’s Reference P/N: 6806800H17B July 2014...
Page 2
Artesyn reserves the right to revise this document and to make changes from time to time in the content hereof without obligation of Artesyn to notify any person of such revision or changes.
Appendix C, Related Documentation): PPCBug Firmware Package User’s Manual PPCBug Diagnostics Manual As of the printing date of this manual, the MVME5100 is available in the configurations shown below. Part Number Description 450 MHz MPC750 Commercial Models MVME5100-016x...
Page 18
PMCSPAN-002 with original VME Scan be ejector handles PMCSPAN1-010 PMCSAN-010 with original VME Scan be ejector handles RAM500-004 Stackable (top) 64MB ECC SDRAM mezzanine RAM500-006 Stackable (top) 256MB ECC SDRAM mezzanine RAM500-016 Stackable (bottom) 256MB ECC SDRAM mezzanine MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 19
Definitions. Appendix B, VMEbus Mapping Example, provides an example of a mapping scenario between an MVME5100 and an MVME2700 on a VMEbus backplane. Appendix C, Related Documentation, provides a listing of related Artesyn Embedded Technologies documents, vendor documentation and industry specifications.
Page 21
Used to emphasize a word Used for on-screen output and code related elements Screen or commands in body text Used to characterize user input and to separate it Courier + Bold from system output MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 22
Indicates a hazardous situation which, if not avoided, may result in minor or moderate injury Indicates a property damage message No danger encountered. Pay attention to important information Terminology MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 23
16 bits, numbered 0 through 15, with bit 0 being the least significant. Word 32 bits, numbered 0 through 31, with bit 0 being the least significant. Double word 64 bits, numbered 0 through 63, with bit 0 being the least significant. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
MPC7410 with AltiVec™ technology for algorithmic intensive computations or the low-power MPC750 or MPC755. The MVME5100 incorporates a highly optimized PCI interface and memory controller enabling up to 582MB/s memory read bandwidth and 640MB/s burst write bandwidth. The on-board Hawk ASIC provides the bridge function between the processor’s bus and the PCI bus.
Page 26
Two 32/64-bit PMC Slots with Front-Panel I/O Plus, P2 Rear I/O (MVME2300 Routing) One PCI Expansion Connector (for the PMCSpan) Miscellaneous Combined RESET and ABORT Switch Status LEDs Form Factor 6U VME MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Product Data and Memory Maps The following block diagram illustrates the architecture of the MVME5100 Single Board Computer. Figure 1-1 MVME5100 Block Diagram MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Following a reset, the memory map presented to the processor is identical to the CHRP memory map described in this document. The MVME5100 is fully capable of supporting both the PREP and the CHRP processor memory maps with ROM/FLASH size limited to 16MB and RAM size limited to 2GB.
For an example of the CHRP memory map refer to the following table. For detailed processor memory maps, including suggested CHRP- and Prep compatible memory maps, refer to the Hawk related portion of this manual. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
1.2.1.3 PCI Memory Map Following a reset, the Hawk ASIC disable’s all PCI slave map decoders. The MVME5100 is fully capable of supporting both PREP and CHRP PCI Memory Maps with RAM size limited to 2 GB. The default values for the PCI Slave Image registers, are listed in Chapter 3, PPCBug, of the MVME5100 Single Board Computer Installation and Use manual.
1.2.1.4 VME Memory Map The MVME5100 is fully capable of supporting both the PREP and the CHRP VME Memory Maps with RAM size limited to 2 GB. The default values for the VME Slave Image registers are listed in Chapter 3, PPCBug, of the MVME5100 Single Board Computer Installation and Use manual.
Serial Presence Detect (SPD) Definitions on page 36 1.3.1 Processors The MVME5100 has the BGA foot print that supports the MPC750, MPC755 and MPC7410 processors. The maximum external processor bus speed is 100 MHz. Parity checking is supported for the system address and data busses. 1.3.2 Processor Type Identification The processor version can be determined by reading the Processor Version Register (PVR).
1.3.4 L2 Cache The MVME5100 SBC uses a back-door L2 cache structure via the Max processor chip. Max’s L2 cache is implemented with an onchip 2-way, set associative tag memory and external direct mapped synchronous SRAMs for data storage. The external SRAMs are accessed through a dedicated 72-bit wide (64-bits of data and 8 bits of address) L2 cache port on the processor.
1.3.7 FLASH Memory The MVME5100 contains two banks of FLASH memory. Bank B consists of two 32-pin devices that can be populated with 1 MB of FLASH memory. Only 8-bit writes are supported for this bank. Bank A has 4 16-bit Smart Voltage FLASH SMT devices. With the 16 Mbit FLASH devices, the FLASH size is 8 MB.
MVME2400 models. The SBC mode is accomplished by configuring planar jumpers and attaching an IPMC761 PMC card in PMC slot 1 of the MVME5100. Refer to the IPMC712/761 I/O Module Installation and Use manual for additional installation and programming information.
Each slave device connected to the I2C bus is software addressable by a unique address. There can be seven slave devices connected to the I2C bus on the MVME5100. The VPD address is $A0. The UPD address is $A2.
For information on the VPD and SPD data formats and definitions refer to Appendix A, MVME5100 VPD Reference Information. The registers related to this information is accessed through the I C interface of the Hawk ASIC. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
1.5.2 The Ethernet Controller The MVME5100 provides dual Ethernet interfaces (Port 1 and Port 2) via two pairs of Intel GD82559ER Fast Ethernet PCI controller chips. Port 1’s 10BaseT/100BaseTx interface is routed through the front panel. Port 2’s Ethernet interface is routed to either the front panel or the P2 connector, as configured by jumpers.
Up to two PMC slots and one PCIX slot may be present. The presence of the PMCs and/or PCIX can be positively determined by reading the Base Module Feature Register. The INTA#, INTB#, INTC#, and INTD# from the three PMC/PCIX slots are routed by the MVME5100 as follows: Figure 1-2 PMC/PCI Expansion Slots MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Product Data and Memory Maps 1.5.4 The Universe ASIC The VMEbus interface is provided by the Universe ASIC. Figure 1-3 VMEbus Master Mapping MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Access to PCI configuration space is accomplished via the Hawk ASIC using the CONADD and CONDAT Registers. The location and operation of these registers are fully described in Generating PCI Cycles on page 89. The IDSEL assignments for MVME5100 are shown on the following table: Table 1-7 IDSEL Mapping for PCI Devices...
Hawk External Register Bus Address Assignments This section will describe in detail the Hawk External Register Bus Address Assignments on MVME5100. The address range for the External Register Set on MVME5100 is fixed at $FEF88000-$FEF8FFFF. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Product Data and Memory Maps 1.5.6.1 MVME5100 Hawk External Register Bus Summary The Hawk External Register Summary of the MVME5100 is shown in the table below: Table 1-9 Hawk External Register Bus Summary Bits: REQUIRED (r) OPTIONAL (o) Address Register Name...
UART - 2-SCR 1.5.7 Dual TL16C550 UARTs The MVME5100 implementation of the Dual TL16C550 UARTs are fully compliant with the PowerPlus II Programming Model for UART Registers. The following tables reflect this model. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Product Data and Memory Maps The MVME5100 uses UART-1 and UART-2 for asynchronous serial debug ports (four are allowed by the PowerPlus II Programming Model). The first UART (UART-1) is addressed at External Register Set Address Offset $8000 (FEF8 8000). The second (UART-2) is addressed at offset $8200 (FEF8 8200).
This bit provides the current state of the FUSE signal. If set, at least one of the planar fuses or polyswitches is open. 1.5.9 MODFAIL Bit Register The MVME5100 implementation of this register is fully compliant with the PowerPlusII programming specification with exceptions to bit RD5, as indicated in the table. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
ABORT_ signal is active. GREEN_LED This bit not used. 1.5.10 MODRST Bit Register The MODRST Bit register provides the means to reset the board. Table 1-13 MODRST Bit Register Module Reset Bit Register -FEF880A0h MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The host board is expected to assert a PCI reset when this signal is cleared. 1.5.11 TBEN Bit Register The MVME5100 implementation of this register is fully compliant with the PowerPlus II Programming Specification, with exceptions to Bit RD6, as indicated in the table.
This bit is not used. 1.5.12 NVRAM/RTC & Watchdog Timer The MVME5100’s NVRAM/RTC and Watchdog Timer functions are supplied by an M48T37V device and is fully compliant with the PowerPlusII internal programming configuration. The M48T37V provides 32K of non-volatile SRAM, a time-of-day clock, and a watchdog timer.
Refer to the M48T37V Data Sheet for additional details and programming information. 1.5.13 Software Readable Header/Switch Register (S1) The MVME5100’s use of this register is fully compliant with the PowerPlus II internal programming configuration. A 1x8 header/switch (S1) is provided as the Software Readable Header/Switch (SRH).
Memory Mezzanine 1 present. When set there is no memory mezzanine 1 present. When cleared, there is a memory mezzanine 1 present. MMEZ2_P_L Memory Mezzanine 2 present. When set, there is no memory mezzanine 1 present. When cleared, there is a memory mezzanine 2 present. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
CompactPCI Reset. If set, a CompactPCI RST# reset has occurred. Not applicable for the MVME5100. CMDRST CompactPCI Command Reset. If set, a software reset command has been issued to the 21554 bridge from the CompactPCI bus. Not applicable for MVME5100. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The following subsections provide resource information pertaining to ISA bus resources that are present, if an IPMC712 or IPMC761 is mounted on the MVME5x00 Series Computer. They are accessible through the W83C554 PIB, which is present on the IPMC module. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Z85230 ESCC and Z8536 CIO Registers and Port Pins The Z85230 ESCC is used to provide the two sync/async serial ports on some MVME5100 series models. The PCLK which can be used to obtain the baud rates, is 10 MHz. Refer to the SCC User’s Manual for programming information on the Z85230 ESCC device.
The assignment for the Port pins of the Z8536 CIO is as follows: Table 1-23 Z8536 CIO Port Pins Assignment Port Signal Name Direction Descriptions TM3_MID0 Input Port 3 Test Mode when IDREQ_ = 1; Module ID Bit 0 when IDREQ_ = 0. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Port 4 Data Terminal Ready FUSE Input FUSE = 1 means that at least one of the fuses or polyswitches is open. ABORT_ Input Status of ABORT# signal Reserved Reserved Reserved Reserved Reserved Reserved Reserved MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Module 4 Not Installed Because IDREQ_ and MID3-MID0 signals go through the P2MX (P2 multiplexing) function used on MVME5100 series boards configured for the MVME761-type transition module, software must wait for the MID3-MID0 to become valid after asserting IDREQ_. The waiting time should be about 4 microseconds because the sampling rate is about 1.6 microsecond...
Serial Port 4 Transmitter (Z85230 Port B Tx) Lowest Channel 7 Not Used Because the Z85230 is an 8-bit device and Channels 5 and 6 are 16-bit DMA Channels, only every other byte (the even bytes) from memory is valid. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 62
Product Data and Memory Maps MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Multi-level write post FIFO for writes to PCI Support for PPC bus clock speeds up to 100 MHz Selectable big or little endian operation 3.3 V signal levels MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 64
Multilevel cross processor interrupt control for multiprocessor synchronization Four Interprocessor Interrupt sources Four 32-bit tick timers Processor initialization control Two 64-bit general For cross-processor messaging purpose registers MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
During both write and read transactions, the PPC Slave places command information into the PPC FIFO. The PCI Master draws this command information from the PPC FIFO when it is ready to process the transaction. During write MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PPC Bus Interface The PPC Bus Interface connects directly to one MPC750 or MPC7400 microprocessor and one peripheral PPC60x master device. It uses a subset of the capabilities of the PPC bus protocol. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
There are no limits imposed by the PHB on how large of an address space a map decoder can represent. There is a lower limit of a minimum of 64 KB due to the resolution of the address compare logic. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PPC Slave will hold off asserting AACK_ and TA_ until after the transaction has completed on the PCI bus. This has the effect of removing all levels of pipelining MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
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 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 71
PPC transactions is delayed (AACK_ and TA_ are not asserted) until the PCI Master has completed a portion of the previously posted transactions and created some room within the command and/or data FIFOs. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
If excessive latencies are encountered on the PPC60x bus, it may be necessary to tune the read ahead mechanism to compensate for this. Additional tuning of the read-ahead function is controlled by the RXFT/RMFT (Read Any FIFO Threshold/Read MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PCI Slave map decoders. As an example, assume PHB has been programmed to respond to PCI address range $10000000 through $1001FFFF with an offset of $2000. The PPC Master performs its last read on the PPC60x bus at cache line address $3001FFFC or word address $3001FFF8. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PPC Master can be detrimental to the host CPU’s performance. The Bus Hog mode can be controlled by the XMBH bit within the GCSR. The default state for XMBH is disabled. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PHB has detected a rising edge on RST_. If the external arbiter mode has been selected, then XARB4 is driven to an active state no more than ten clock periods after PHB has detected a rising edge on RST_. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 77
If a data parity error is detected, then the PHB will latch address and attribute information within the ESTAT, EADDR, and EATTR registers, and an interrupt or machine check will be generated depending on the programming of the ESTAT register. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 78
TA_ signals to close the pending data tenure. Error information related to the faulty transaction will be latched within the ESTAT, EADDR, and EATTR registers, and an interrupt or machine check will be generated depending on the programming of the ESTAT register. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Configuration registers mapped into PCI Configuration space PPC bus address space mapped into PCI Memory space MPIC control registers mapped into either PCI I/O space or PCI Memory space Configuration Registers MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
For each map, there is an independent set of attributes. These attributes are used to enable read accesses, enable write accesses, enable write posting, and define the PPC bus transfer characteristics. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
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. Figure 2-6 PHB Address Decoder Priority MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The following table shows which types of PCI cycles the slave has been designed to accept: Table 2-8 PCI Slave Response Command Types Command Type Slave Response? Interrupt Acknowledge Special Cycle I/O Read I/O Write MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 83
The PCI Slave only honors the Linear Incrementing addressing mode. The PCI Slave performs a disconnect with data if any other mode of addressing is attempted. Device Selection The PCI slave will always respond valid decoded cycles as a medium responder. Target Initiated Termination MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 84
The PCI Slave does not have any hardware mechanisms in place to guarantee that the initial and subsequent target latency requirements are met. Typically this is not a problem since the bandwidth of the PPC bus far exceeds the bandwidth of the PCI bus. Exclusive Access MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 85
FIFO be the limiting factor. If either limit is exceeded then any pending PCI transactions are delayed (TRDY_ is not asserted) until the PPC Master has completed a portion of the previously posted transactions and created some room within the command and/or data FIFOs. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Table 2-9 PCI Master Command Codes Entity Addressed TBST* C/BE PCI Command Transfer Type PIACK Read 0000 Interrupt Acknowledge CONADD/CONDAT Write 0001 Special Cycle Read 0010 I/O Read PPC Mapped PCI Space Write 0011 I/O Write MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 87
PHB detected bridge lock. The same happens if the target responds with a disconnect and there is still data to be transferred. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 88
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. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 89
The PHB performs contiguous I/O addressing when the MEM bit is clear and the IOM bit is clear. The PHB takes the PPC address, apply the offset specified in the XSOFFx register, and map the result directly to PCI. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
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. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The decoding of the five-bit Device Number is shown in the following table: Table 2-11 Device Number Decoding Device Number Address Bit 00000 AD31 00001 - 01010 All Zeros 01011 AD11 01100 AD12 (etc.) (etc.) MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 92
PCI bus. Upon completion of the PCI interrupt acknowledge cycle, the PHB will present the resulting vector information obtained from the PCI bus as read data. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Once a lock cycle is detected, the grant is held asserted until the PCI LOCK_ pin is released. This feature works only when the “POL” bit is enabled. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
HAWK are defined in group 4. Arbitration is set for round robin mode between the 2 requestors within each group and set for fixed mode between the 4 groups. The levels of priority for each group are programmable by writing the “HEIR” field in the PCI Arbiter control register. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
All other combinations in the HEIR setting not specified in the table are invalid and should not be used. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
When the “POL” bit in the PCI arbiter control register is set, the grant associated with the agent initiating the lock cycle will be held asserted until the lock cycle is complete. If this bit is clear, the arbiter does not distinguish between lock and non-lock cycle. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
When all PPC 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 PPC bus’s perspective. This association is true regardless of whether the transaction originates on the PCI bus or the PPC bus. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
When PPC Devices are Little Endian When all PPC devices are operating in little-endian mode, the originating address is modified to remove the exclusive-ORing applied by PPC60x processors. Note that no data swapping is performed. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Big- Endian mode. This means that the processor’s internal view of the PPC registers appears different depending on which mode the processor operates. With respect to the PCI bus, the configuration registers are always represented in Little-Endian mode. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
When any bit in the ESTAT is set, the PHB will attempt to latch as much information as possible about the error in the PPC Error Address (EADDR) and Attribute Registers (EATTR). MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PHB reset is asserted. External logic can use the output signals of the timers to generate interrupts, machine checks, etc. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Byte Lane Selection Results ENAB RELOAD WDTxCNTL Register /RES Prescaler/ 8:15 16:23 24:31 Counter RES/ENAB RELOAD Enable No Change No Change No Change No Change Update Update No Change No Change from from RES/ENAB RELOAD MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Note that a mod-4 non-posted write transaction could be interrupted between write cycles, and thereby results in a partially completed write cycle. It is recommended that write cycles to write-sensitive, non-posted locations be performed on mod-4 address boundaries. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 105
There is a case where the processor could get starved for PCI read data while the PCI Slave is hosting multiple PPC60x bound write cycles. While attempting to perform a read from PCI space, the processor would continually get retried as a result of bridge lock resolution. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PHB PPC registers begins. The PCI Local Bus Specification 2.1 states that posted write buffers in both directions must be flushed before completing a read in either direction. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 107
PCI Slave can determine the transaction type. If it is a read and PFBR is enabled, the PCI Slave will look at the xs_fbrabt signal. If this signal is active, the PCI Slave will retry the PCI Master. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Operation on page 121 Architectural Notes on page 123 Effects of Interrupt Serialization on page 123 2.4.1 MPIC Features The MPIC features are the following: MPIC programming model Supports two processors MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
EINTT bit in the MPIC Global Configuration Register. If this bit is set, MPIC is in serial mode. Otherwise, MPIC operates in the parallel mode. In serial mode, all 16 external interrupts are serially scanned into MPIC using the SI_STA and SI_DAT pins as shown in the following figure. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
In order for delivery of an interrupt to take place, the priority of the source must be greater than that of the destination processor. Therefore, setting a source priority to zero inhibits that interrupt. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
IPI dispatch registers. If subsequent IPI’s are initiated before the first is acknowledged, only one IPI will be generated. The IPI channels deliver interrupts in Direct Mode and can be directed to more than one processor. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Each timer has four registers, which are used for configuration and control. They are the following: Current Count Register Base Count Register Vector-Priority Register Destination Register MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
This is an arbitrary choice. 2.4.14 Block Diagram Description The description of the MPIC block diagram shown in the following figure focuses on the theory of operation for the interrupt delivery logic. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 115
The section discusses the following topics: Program Visible Registers on page 117 Interrupt Pending Register (IPR) on page 117 Interrupt Selector (IS) on page 117 Interrupt Request Register (IRR) on page 118 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 117
The IS also receives a second set of inputs from the ISR. During the End Of Interrupt cycle, these inputs are used to select which bits are to be cleared in the ISR. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 118
Then one of these bits is delivered to each Interrupt Selector. Since this interrupt source can be multicast, each of these IPR bits must be cleared separately when the vector is returned for that interrupt to a particular processor. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
TIE mode bit. This case is not defined in the above rule set. 2.4.15 Programming Notes This section discusses the following topics: External Interrupt Service on page 120 Reset State on page 121 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 120
If interrupts from ISA devices are directly connected to the MPIC (bypassing the 8259), the device driver interrupt service routine must read status from the ISA device to ensure buffers between the device and system memory are flushed. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
That is there is a total of four IPI dispatch registers in the MPIC. The IPI mechanism may be used for self interrupts by programming the dispatch register with the bit mask for the originating processor. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 122
8259 input on external interrupt source 0 directly through to processor zero. During interrupt controller initialization, this channel should be programmed for mixed mode in order to take advantage of the interrupt delivery modes. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
MPIC logic actually sees the change. Spurious interrupts can result if an EOI cycle occurs before the interrupt source is seen to be negated by MPIC logic. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The section discusses the following topics: on page 126 Revision ID Register on page 127 General Control-Status/Feature Registers on page 127 PPC Arbiter/PCI Arbiter Control Registers on page 130 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Vendor ID. This register identifies the manufacturer of the device. This identifier is allocated by the PCI SIG to ensure uniqueness. $1057 has been assigned to Artesyn Embedded Technologies- Embedded Computing and is hardwired as a read-only value. This register is duplicated in the PCI Configuration Registers.
Page 128
PPC-initiated read transactions will be allowed to complete. When XFBR is clear, there is no correlation between these transaction types and their order of completion. Refer to the section titled Transaction Ordering for more information. XBTx MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PPC Arbiter. In a multiprocessor environment, these bits allow software to determine on which processor it is currently running. Table 2-25 PPC ID Time Out Length device on ABG0* device on ABG1* device on ABG2 Hawk MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Flatten Single Write. This field is used by the PPC Arbiter to control how bus pipelining will be affected after all single beat write cycles. The encoding of this field is shown in the table below. Table 2-27 Flatten Single Write Field FBR/FSR/FBW/FSW Effects on Bus Pipelining None MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The PCI Arbiter Register (PARB) provides control and status for the PCI Arbiter. Refer to Arbiter for more information. The bits within the PARB register are defined as follows: PRIx MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
0011 Park always on PARB4 0100 Park always on PARB3 0101 Park always on PARB2 0110 Park always on PARB1 0111 Park always on PARB0 1000 Park always on HAWK 1111 None HIERx MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Group 4 -> Group 1 -> Group 2 -» Group 3 Group 3 -> Group 4 -> Group 1 -> Group 2 Group 2 -> Group 3 -> Group 4 -> Group 1 Reserved Reserved Reserved Reserved MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
XPAD Operation Reset XPRx PPC/PCI Clock Ratio. This is a read only field that is used to indicate the clock ratio that has been established by the PHB at the release of reset. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The encoding of this field is shown in the following table. Table 2-35 Write Lock Resolution Threshold WLRT Write lock resolution threshold Match write threshold mode (i.e. PSATTx WXFT) Immediate FIFO full FIFO full MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Clk is the frequency of the CLK input in MHz. The following table shows the scale factors for some common CLK frequencies: Table 2-37 Common Scale Factors for Common CLK Frequencies Frequency XPAD MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
In particular, each error type can uniquely be programmed to generate a machine check, generate an interrupt, generate both, or generate neither. The bits within the ETEST are defined as follows: DFLT MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 138
PRTAM PCI Master Received Target Abort Machine Check Enable. When this bit is set, the PRTA bit in the ESTAT register will be used to assert the MCHK output to the bus master which initiated the transaction. When this bit is clear, MCHK will not be asserted. XBTOI MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 139
2.5.1.7 PPC Error Status Register The Error Status Register (ESTAT) provides an array of status bits pertaining to the various errors that the PHB can detect. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
MCHK to the master designated by the DFLT bit in the EATTR register. When the PPERI bit in the EENAB register is set, the assertion of this bit will assert an interrupt through the MPIC. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The register’s contents are not defined when the XDPE, PPER or PSER bits are set in the ESTAT register. Table 2-40 PPC Error Address Register Address $FEFF0028 Name EAADR Operation Reset $00000000 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Transfer Size. This field contains the transfer size of the PPC transfer in which the error occurred. Transfer Type. This field contains the transfer type of the PPC transfer in which the error occurred. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PCI Command. This field contains the PCI command of the PCI transfer in which the error occurred. BYTEx PCI Byte Enable. This field contains the PCI byte enables of the PCI transfer in which the error occurred. A set bit designates a selected byte. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Start Address. This field determines the start address of a particular memory area on the PPC bus which will be used to access PCI bus resources. The value of this field will be compared with the upper 16 bits of the incoming PPC address. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PPC memory space to PCI memory I/O space. The bits within the XSATTx registers are defined as follows: Read Enable. If set, the corresponding PPC Slave is enabled for read transactions. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
CONFIG_ADDRESS ($80000CF8) and CONFIG_DATA ($80000CFC) registers. The power up value of XSADD3 (and XSOFF3/XSATT3) are set to allow access to these special register spaces without PPC register initialization. The fields within XSADD3 are defined as follows: MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PPC bus. It is initialized to $8000 to facilitate a zero based access to PCI space. The PPC Slave Attributes Register 3 (XSATT3) contains attribute information associated with the mapping of PPC memory space to PCI I/O space. The bits within the XSATT3 register are defined as follows: MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
WDTxCNTL registers are defined as follows: Key. This field is used during the two step arming process of the Control register. This field is sensitive to the following data patterns: PATTERN_1 = $55 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The Watchdog Timer Status Registers (WDT1STAT and WDT2STAT) are used to provide status information from the watchdog timer functions within the PHB. The field within WDTxSTAT registers is defined as follows: COUNT Count. This read-only field reflects the instantaneous counter value of the WDT. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The PCI Configuration Register map of the PHB is shown in Table 2-52. The PCI I/O Register map of the PHB is shown in Table 2-53. Table 2-52 PCI Configuration Register <--Bit DEVID VENID STATUS COMMAND CLASS REVID HEADER MIBAR MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Vendor ID. This register identifies the manufacturer of the device. This identifier is allocated by the PCI SIG to ensure uniqueness. $1057 has been assigned to Artesyn Embedded Technologies - Embedded Computing. This register is duplicated in the PPC Registers.
Page 155
PHB asserted PERR_ itself or observed PERR_ asserted the PHB was the PCI Master for the transfer in which the error occurred the PERR bit in the PCI Command Register is set MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
(see bit PERR in the PCI Command Register). It is cleared by writing it to 1; writing a 0 has no effect. 2.5.2.3 Revision ID/ Class Code Registers Table 2-56 Revision ID/ Class Code Registers Offset Name CLASS REVID MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Not Used 2.5.2.4 Header Type Register Table 2-57 Header Type Register Offset Name HEADER Operation Reset The Header Type Register (Header) identifies the PHB as follows: Header Type: $00 - Single Function Configuration Header MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Base Address. These bits define the I/O space base address of the MPIC control registers. The MIBAR decoder is disabled when the BASE value is zero. 2.5.2.6 MPIC Memory Base Address Register Table 2-59 MPIC Memory Base Address Register Offset Name MMBAR MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 159
Prefetch. This bit is hard-wired to zero to indicate that the MPIC registers are not prefetchable. BASE Base Address. These bits define the memory space base address of the MPIC control registers. The MBASE decoder is disabled when the BASE value is zero. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
End Address. This field determines the end address of a particular memory area on the PCI bus which will be used to access PPC bus resources. The value of this field will be compared with the upper 16 bits of the incoming PCI address. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Read Ahead Enable. If set, read ahead is enabled for the corresponding PCI Slave. WPEN Write Post Enable. If set, write posting is enabled for the corresponding PCI Slave. Write Enable. If set, the corresponding PCI Slave is enabled for write transactions. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
This field is only applicable if read-ahead has been enabled. The encoding of this field is shown in the table above: Table 2-63 WXFTx Field WXFT Write FIFO Threshold 4 Cache lines 3 Cache lines 2 Cache lines 1 Cache lines MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Table 2-64 Conceptual perspective from the PCI bus Offset $CFB $CFA $CF9 $CF8 Name CONFIG_ADDRESS Operation Reset Table 2-65 Perspective from the PPC bus in Big Endian mode Offset $CF8 $CF9 $CFA $CFB Bit (DH) Name CONFIG_ADDRESS Operation MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Device Number. Configuration Cycles: Identifies a target’s physical PCI device number. Refer to the section on Generating PCI Cycles for a description of how this field is encoded. Special Cycles: This field must be written with all ones. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Operation Reset Table 2-68 Perspective from the PPC bus in Big Endian mode Offset $CFC $CFD $CFE $CFF Bit (DH) Name CONFIG_DATA Data ‘A’ ’ Data ‘B’ Data ‘C’ Data ‘D’ Operation Reset MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Version level of 02 is used for the initial release of the MPIC specification. 2.5.3.3 Global Configuration Register Table 2-72 Global Configuration Register Offset $01020 Name GLOBAL CONFIGURATION Operation Reset RESET MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Processor 0 after a reset. When this register bit is set to 0, a tie in external interrupt processing will always go to processor 0 (Mode used on Version $02 of MPIC). Table 2-74 Tie Mode Encoding Mode Processor 0 always selected Swap between Processor’s MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Offset $01090 Name PROCESSOR INIT Operation Reset PROCESSOR 1. Writing a 1 to P1 will assert the Soft Reset input of processor 1. Writing a 0 to it will negate the SRESET signal. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The ACT bit is set to a one when its associated bit in the Interrupt Pending Register or In-Service Register is set. PRIOR PRIORITY. Interrupt priority 0 is the lowest and 15 is the highest. Note that a priority level of 0 will not enable interrupts. VECTOR MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Following reset, this register contains zero. The system initialization code must initialize this register to one-eighth the MPIC clock frequency. For the PHB implementation of the MPIC, a typical value would be $7de290 (which is 66/8 MHz or 8.25 MHz). MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
CURRENT COUNT. The current count field decrements while the Count Inhibit bit is the Base Count Register is zero. When the timer counts down to zero, the Current Count register is reloaded from the Base Count register and the timer’s interrupt becomes pending in MPIC processing. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Count register and the toggle bit in the Current Count register is cleared. When the timer counts down to zero, the Current Count register is reloaded from the Base Count register and the timer’s interrupt becomes pending in MPIC processing. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PRIORITY. Interrupt priority 0 is the lowest and 15 is the highest. Note that a priority level of 0 will not enable interrupts. VECTOR VECTOR. This vector is returned when the Interrupt Acknowledge register is examined upon acknowledgment of the interrupt associated with this vector. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PROCESSOR 0. The interrupt is directed to processor 0. 2.5.3.13 External Source Vector/Priority Registers Table 2-84 External Source Vector/Priority Registers Int Src 0 - $10000 Offset Int Src 1-> Int Src15 - $10020 -> $101E0 Name EXTERNAL SOURCE VECTOR/PRIORITY PRIOR VECTOR MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 179
Setting this bit to one enables active low level triggered interrupts. PRIOR PRIORITY. Interrupt priority 0 is the lowest and 15 is the highest. Note that a priority level of 0 will not enable interrupts. VECTOR MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
PROCESSOR 0. The interrupt is pointed to processor 0. 2.5.3.15 Hawk Internal Error Interrupt Vector/Priority Register Table 2-86 Hawk Internal Error Interrupt Vector/Priority Register Offset $10200 Name HAWK INTERNAL ERROR INTERRUPT VECTOR/PRIORITY PRIOR VECTOR MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 181
PRIORITY. Interrupt priority 0 is the lowest and 15 is the highest. Note that a priority level of 0 will not enable interrupts. VECTOR VECTOR. This vector is returned when the Interrupt Acknowledge register is examined upon acknowledgment of the interrupt associated with this vector. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Setting the Task Priority Register to 15 masks all interrupts to this processor. Hardware will set the task register to $F when it is reset or when the Init bit associated with this processor is written to a one. Task Priority of processor. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Reading this register will update the In-Service register. VECTOR Vector. This vector is returned when the Interrupt Acknowledge register is read. 2.5.3.20 End-of-Interrupt Registers Table 2-91 End-of-Interrupt Registers Processor 0 $200B0 Offset Processor 1 $210B0 Name Operation Reset MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 185
The write operation will update the In-Service register by retiring the highest priority interrupt. Reading this register returns zeros. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Two blocks with up to 256MB each at 100 MHz – Eight blocks with up to 256MB each at 66.67 MHz – Uses -8, -10, or PC100 SDRAMs – Programmable base address for each block – Built-in Refresh/Scrub. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 188
Does not provide TEA_ on Double-Bit Error. (Chip has no TEA_ pin.) ROM/Flash Interface – Two blocks with each block being 16 or 64 bits wide – Programmable access time on a per-block basis. C master interface External status/control register support MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Figure 3-2, shows the overall SDRAM connections. Figure 3-3, shows a block diagram of the SMC portion of the Hawk ASIC. Figure 3-1 Hawk Used with Synchronous DRAM in a System MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
System Memory Controller (SMC) Figure 3-2 Hawk’s System Memory Controller Internal Data Paths MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The SMC takes advantage of the fact that PPC60x processors can do address pipelining. Many times while a data cycle is finishing, the PPC60x processor begins a new address cycle. The SMC can begin the next SDRAM access earlier when this happens, thus increasing throughput. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 194
3- 1-1-1 the other half. SDRAM Bank Active - Page Hit 4-Beat Write after idle, 4-1-1-1 SDRAM Bank Active or Inactive 4-Beat Write after 4-Beat Write, 6-1-1-1 SDRAM Bank Active - Page Miss MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 195
Periods, tRP = 2CLK Periods, tRAS = 5 CLK Periods, tRC = 7 CLK Periods, tDP = 2 CLK Periods, and the swr dpl bit is set in the SDRAM Speed Attributes Register. The Hawk is configured for “no external registers” on the SDRAM control signals. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
SMC is the slave for the previous data. If it is not, it holds off AACK_ until the CLK after the previous data transfer’s last data beat. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 197
SMC logs the error in the CSR and can generate a machine check if so enabled. Note that the SMC does not generate address parity because it is not a PPC60x address master. Refer to Address Parity Error Log Register on page 265 for additional control register details. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
When the PPC60x bus master requests a single-beat write to SDRAM, the SMC performs a full width read cycle to SDRAM, merges in the appropriate PPC60x bus write data, and writes full width back to SDRAM. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
SDRAM. Assert Hawk’s Assert Hawk’s Assert Hawk’s internal error internal error internal error interrupt, if so interrupt, if so interrupt, if so enabled. enabled. enabled. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Once the error logger has logged an error, it does not log any more until the elog control /status bit has been cleared by software, unless the currently logged error is single-bit and a new, double-bit error is encountered. The logging of errors that occur during MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
(all other sizes are ignored), and all reads are allowed (multiple accesses are performed to the ROM/Flash devices when the read is for greater than one byte). MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
1-Beat Read (1 byte) 1-Beat Read (2 to 8 bytes) 1-Beat Write The information in Table 2-4 applies to access timing when configured for devices with an access time equal to 12 clock periods. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
C device such as serial EEPROM. The C interface is compatible with these devices, and the inclusion of a serial EEPROM in the memory subsystem may be desirable. The EEPROM could maintain the configuration MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 209
Transmitter Data Register. The i2_cmplt bit will be automatically clear with the write cycle to the I C Transmitter Data Register. The I C Status Register must now be polled to test the MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 210
I C Control Register and then writing a dummy data (data=don’t care) to the I MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 211
C Status Register must now be polled to test i2_cmplt bit for the operation-complete status. The stop sequence will initiate a programming cycle for the serial EEPROM and also relinquish the ASIC master’s possession of the I C bus. Figure 2-5 shows MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
System Memory Controller (SMC) the suggested software flow diagram for programming the I C byte write operation. Figure 3-5 Programming Sequence for I C Byte Write MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 213
This can be accomplished by first setting the i2_stop and i2_enbl bits in the C Control Register and then writing a dummy data (data=don’t care) to the I C Transmitter MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 214
C Status Register must now be polled to test i2_cmplt bit for the operation-complete status. The stop sequence will relinquish the ASIC master’s possession of the I C bus. Figure 2-6 shows the suggested software flow diagram for programming the I MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
System Memory Controller (SMC) random read operation. Figure 3-6 Programming Sequence for I C Random Read MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 216
This can be accomplished by first setting the i2_stop and i2_enbl bits in the I C Control Register and then writing a dummy data (data=don’t MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 217
C Status Register must now be polled to test i2_cmplt bit for the operation-complete status. The stop sequence will relinquish the ASIC master’s possession of the I C bus. Figure 2-7 shows the suggested software flow diagram for MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
System Memory Controller (SMC) programming the I C current address read operation. Figure 3-7 Programming Sequence for I C Current Address Read MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 219
I C Control Register and then writing a dummy data (data=don’t care) to the I C Transmitter Data Register. The I C Status Register MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 220
The stop sequence will initiate a programming cycle for the serial EEPROM and also relinquish the ASIC master’s possession of the I C bus. Figure 2-8 shows the suggested software flow diagram for MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
System Memory Controller (SMC) programming the I C page write operation. Figure 3-8 Programming Sequence for I C Page Write MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 222
A stop sequence then must be transmitted to the slave device by first setting the i2_stop and i2_enbl bits in the I C Control Register and then writing a dummy data MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 223
C Status Register must now be polled to test i2_cmplt bit for the operation-complete status. The stop sequence will relinquish the ASIC master’s possession of the I C bus. Figure 2-9 shows the suggested software flow MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 224
System Memory Controller (SMC) diagram for programming the I C sequential read operation. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
System Memory Controller (SMC) Figure 3-9 Programming Sequence for I C Sequential Read MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
RD signals just after the rising edge of the PURST_ signal pin. The recommended way to control the RD signals during reset is to place pull-up or pull-down MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
CSR read accesses can have a size of 1, 2, 4, or 8 bytes with any alignment. CSR write accesses are restricted to a size of 1 or 4 bytes and they must be aligned. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
FEF80020 CLK FREQUENCY FEF80028 FEF80030 ERR_SYNDROME SBE COUNT FEF80038 ERROR_ADDRESS FEF80040 SCRUB FREQUENCY FEF80048 SCRUB ADDRESS FEF80050 ROM A BASE A SIZ FEF80058 ROM B BASE B SIZ FEF80060 FEF80068 DPE_TT DPE_DP GWDP MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 229
RAM G RAM H FEF800C8 RAM E BASE RAM F BASE RAM G BASE RAM H BASE FEF800D0 FEF800E0 APE_TT APE_AP FEF800E8 APE_A FEF80100 CTR32 FEF88300 FEF88000 EXTERNAL REGISTER SET FEF8FFF8 Bit #---> MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The bit is not affected by reset. The effect of reset on the bit is variable. The topics discussed in the section are the following: Vendor/Device Register on page 232 Revision ID/General Control Register on page 232 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 231
SDRAM Speed Attributes Register on page 262 Address Parity Error Log Register on page 265 Address Parity Error Address Register on page 266 32-Bit Counter on page 266 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Reset $1057 $4803 VENDID This read-only register contains the value $1057. It is the vendor number assigned to Artesyn Embedded Technologies - Embedded Computing. DEVID This read-only register contains the value $4803. It is the device number for the Hawk.
Page 233
RD13, RD14, RD15, and RD16 signal pins respectively at power-up reset. They provide a means to pass information to software using pull-up/pull-down resistors on the RD bus or on a buffered RD bus. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Note that ram e/f/g/h en are located at $FEF800C0 (refer to SDRAM Enable and Size Register (Blocks E,F,G,H) on page 260 for more information.) They operate the same for blocks E-H as these bits do for blocks A-D. ram a/b/c/d siz0-3 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
This includes clearing them to binary 00000 if their corresponding blocks are not present. Failure to do so will cause problems with addressing and with scrub logging. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Also note that the combination of RAM_X_BASE and ram_x_siz should never be programmed such that SDRAM responds at the same address as the CSR, ROM/Flash, External Register Set, or any other slave on the PowerPC bus. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
When the CLK pin is operating slower than 100MHz, software should program CLK_FREQUENCY to be at least as slow as the CLK pin’s frequency as soon as possible after power-up reset so that SDRAM refresh does not get behind. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
This prevents the generation of illegal cycles to the SDRAM when refdis is updated. rwcb MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
2. Make sure software is not using DRAM at this point, because while rwcb is set, DRAM will not function as normal memory. 3. Set the derc and rwcb bits in the Data Control register. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 241
When scien is set, the rolling over of the SBE COUNT register causes the int bit to be set if it is not already. When the int bit is set, the Hawk’s internal error interrupt is asserted. dpien MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 242
The SMC does not assert TEA as a result of a multiple bit error. In fact, the SMC does not have a TEA_ signal pin and it assumes that the system does not implement TEA. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
It is cleared by the logging of a single-bit error. It is undefined after power-up reset. The syndrome code is meaningless if its embt bit is set. esbt MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
When SBE COUNT rolls over from $FF to $00, the SMC sets the scof bit. The rolling over of SBE_COUNT pulses the Hawk’s internal error interrupt low if the scien bit is set. 3.3.3.8 Error_Address Register Table 3-21 Error_Address Register Address $FEF80038 Name ERROR_ADDRESS Operation READ ONLY Reset MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
11, they roll over to binary 00 and continue. These bits are cleared by power-up reset. swen When set, swen allows the scrubber to perform write cycles. When cleared, swen prevents scrubber writes. SCRUB_FREQUENCY MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
SCRUB_ADDRESS counter is readable and writable for test purposes. Note that for each block, the most significant bits of SCRUB ADDRESS COUNTER are meaningful only when their SDRAM devices are large enough to require them. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The combination of ROM_A_BASE and rom_a_siz should never be programmed such that ROM/Flash Block A responds at the same address as the CSR, SDRAM, External Register Set, or any other slave on the PowerPC bus. rom_a_64 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Result Neither Block is the source of reset vectors. Block B is the source of reset vectors. Block A is the source of reset vectors. Block B is the source of reset vectors. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
No Response write 4-byte Aligned No Response write 4-byte Aligned Normal termination, but no write to ROM/Flash write 4-byte Aligned Normal termination, write occurs to ROM/Flash write 2,3,5,6,7, No Response 8,32-byte read Normal Termination MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The combination of ROM_B_BASE and rom_b_siz should never be programmed such that ROM/Flash Block B responds at the same address as the CSR, SDRAM, External Register Set, or any other slave on the PowerPC bus. rom_b_64 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
When rom b en is set, accesses to Block B ROM/Flash in the address range selected by ROM B BASE are enabled. When rom b en is cleared they are disabled. rom b we MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
SMC is qualified to check. It is cleared by writing a one to it or by power-up reset. dpe_tt0-4 dpe_tt is the value that was on the TT0-TT4 signals when the dpelog bit was set. DPE_DP MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Reset 0 PL DPE_A DPE_A is the address of the last PPC60x data bus parity error that was logged by the Hawk. It is updated only when dpelog goes from 0 to 1. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
DPE_DL is the value on the lower half of the PPC60x data bus at the time of the last logging of a PPC60x data bus parity error by the Hawk. It is updated only when dpelog goes from 0 to 1. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
100.0 MHz system clock. Writes to this register will be restricted to 4-bytes only. 3.3.3.19 I C Control Register Table 3-37 I C Control Register Address $FEF80098 Name Operation READ ZERO READ ZERO READ ZERO Reset i2_start MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
C registers are still allowed but no I C bus operations will be performed. 3.3.3.20 I C Status Register Table 3-38 I C Status Register Address $FEF800A0 Name Operation READ ZERO READ ZERO READ ZERO Reset MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
C operation. This bit is also set after power-up. 3.3.3.21 I C Transmitter Data Register Table 3-39 I C Transmitter Data Register Address $FEF800A8 Name I2_DATAWR Operation READ ZERO READ ZERO READ ZERO READ/WRITE Reset 0 PL I2_DATAWR MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
A read of this register will automatically clear the i2_datin bit in the I C Status Register. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Note that ram a/b/c/d en are located at $FEF80010 (refer to SDRAM Enable and Size Register (Blocks A, B, C, D) on page 234). They operate the same for blocks A-D as these bits do for blocks E-H. ram e/f/g/h siz0-3 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
SDRAM refresh to occur by waiting for the 32-Bit Counter to increment at least 100 times. The wait period needs to happen during the envelope. RAM E/F/G/H BASE MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
1. They make sure that all of the SDRAMs are idle ensuring that mode-register-set operations for cl3 updates work properly, and 2. They make sure that no SDRAM accesses happen during the write. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
SMC assumes the SDRAM requires to satisfy its Trcd parameter. When trcd is 0, the minimum time provided for Trcd is 2 clocks. When trcd is 1, the minimum is 3 clocks. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
When ape_me is set, the transition of the apelog bit from false to true causes the Hawk to pulse its machine check interrupt request pin (MCHK0_) true. When ape_me is cleared, apelog does not affect the MCHK0_ pin. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
APE_A is the address of the last PPC60x address bus parity error that was logged by the Hawk. It is updated only when apelog goes from 0 to 1. 3.3.3.28 32-Bit Counter Table 3-48 32-Bit Counter Address $FEF80100 Name CTR32 Operation READ/WRITE Reset 0 PL CTR32 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
2. The width for Block C is fixed at 64 bits. 3. The address range for Block C is fixed at $FEF88000- $FEF8FFF8 ($FEF98000-$FEF9FFF8 when Hawk is configured for the alternate CSR base address). MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
When p1_tben is 0, the P1_TBEN pin is low and when p1_tben is 1, the P1_TBEN pin is high. When the tben_en bit is cleared, p1_tben has no effect on any pin. p0_tben MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
SDRAM while updating the critical SDRAM control register bits. The preferred method is to be executing code out of ROM/Flash and avoiding SDRAM accesses while updating these bits. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
I2C EEPROMs on page 271 SDRAM Base Address and Enable on page 271 SDRAM Control Registers Initialization Example on page 271 Optional Method for Sizing SDRAM on page 277 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 271
Once a block’s speed attributes, size, and base address have been programmed and time for at least one refresh has passed, it can be enabled. 3.4.3.5 SDRAM Control Registers Initialization Example The following is a possible sequence for initializing SDRAM control registers. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 272
If any block does not support a CAS latency of 2, then cl3 is to be set. If all of the blocks support a CAS latency of 2, then the cl3 bit is to be cleared. Do not update the cl3 bit at this point. You will use the information from this step later. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 273
= tRCD/T (T $FEF800D2 tRCD (SPD = CLK Period in 2.0 < tRCD_CLK <= 3 trcd =%1 bit 7 (trcd) Byte 29) nanoseconds) See Notes 5, 6 and 9 3 < tRCD_CLK Illegal MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 274
ROWS and the value in SPD byte 3 is R, then ROWS=2 Calculate the number of columns in each device using SPD byte 4. If the number of columns is COLUMNS and the value in SPD byte 4 is C, then COLUMNS=2 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 275
17. If the total number of locations in the block is L, and the value in byte 17 is 4,then L = A x 4 L = 2 (Note that the Hawk only works if byte 17 is 4). MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 276
Enable and Size Register (Blocks A, B, C, D) on page 234 SDRAM Enable and Size Register (Blocks E,F,G,H) on page 260 for more information. Make sure the software is no longer using SDRAM, and disable the block that was being used. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 277
Initialize the SMC’s control register bits to a known state. a. Clear the isa_hole bit (refer to Vendor/Device Register on page 232 for more information.) b. Make sure the CLK Frequency Register matches the operating frequency. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 278
Write a unique 64-bit data pattern to each one of a specified list of addresses. The list of addresses to be written varies depending on the size that is currently being checked. The address lists are shown in the table below. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 279
8Mx16 and 8Mx8 are the same. The same idea that applies to 16Mx8 and 16Mx4 applies to them. This needed only to check for non-zero size. 3. Wait enough time to allow at least 1 SDRAM refresh to occur before beginning any SDRAM accesses. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
4.2.1 Hawk MPIC External Interrupts The MVME5100 Hawk MPIC is fully compliant with the industry standard Multi-Processor Interrupt Controller Specification. Following a power-up reset, the MPIC is configured to operate in the parallel interrupt delivery mode on the MVME5100 series:...
Page 284
The DS1621 Digital Thermometer and Thermostat provides 9-bit temperature readings that indicate the temperature of the device. The thermal alarm output, TOUT, is active when the temperature of the device exceeds a user defined temperature TH. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
LAN (on front) IRQ11 Level Internal USB controller MSDT/IRQ12 IRQ12 Edge High Not Used PIRQC_ IRQ13 LAN (to rear) IRQ14 IRQ14 Edge High Primary IDE interface IRQ15 IRQ15 Level PMC1 or PMC2 Interrupt MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
CPU Reset on page 287 Error Notification and Handling on page 287 4.3.1 Sources of Reset There are five potential reset sources on the MVME5100 series. They are the following: Power-On Reset RESET Switch Watchdog Timer Reset ...
The Hawk ASIC can detect certain hardware errors and can be programmed to report these errors via the MPIC interrupts or the Machine Check Interrupt. The following table summarizes how the hardware errors are handled by the MVME5100 series: Table 4-3 Error Notification and Handling...
Generate Machine Check Interrupt to the Processor(s) if so enabled Endian Issues The MVME5100 series supports both Little and Big-Endian software. Because the PowerPC processor is inherently big endian, and PCI is inherently Little-Endian, it is easy to misinterpret the processing scheme. For that reason, provisions have been made to accommodate the handling of endian issues within the MVME5100.
Hawk Programming Details The following figures show how the MVME5100 series handles the endian issue in Big-Endian and Little- Endian modes: Figure 4-1 Big-Endian Mode MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Big-Endian by performing address rearrangement and reordering when running in Little-Endian mode. The MPIC registers inside the Hawk, the registers inside the SMC, the SDRAM, the ROM/FLASH, and the system registers always appear as Big-Endian. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
(from PCI). In this case, no byte swapping is done. 4.4.3 PCI Domain The PCI bus is inherently Little-Endian and all devices connected directly to PCI will operate in Little-Endian mode, regardless of the mode of operation in the processor’s domain. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
What if Your Board Has the Wrong VPD? on page 295 How to Fix Wrong VPD Problems on page 296 VPD Definitions - Packet Types on page 296 VPD Definitions - Product Configuration Options Data on page 298 MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Network I/O physical command - niop Can be used to download a VPD block from a network file to memory Indirect block move command - ibm<addr>;iw Writes a block of memory into the SROM MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The board may hang during startup (no-start condition) The board may be very unstable if it reaches the prompt Device drivers, diagnostic tests, and firmware commands may hang or fail in unexpected ways MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 297
When computing the CRC this field (i.e., 4 bytes) is set to zero. This CRC only covers the range as specified the size field. FLASH Memory Configuration Binary A table found later in this document further describes this packet. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The product configuration options data packet consists of a binary bit field. The first bit of the first byte is bit 0 (i.e., PowerPC bit numbering). An option is present when the assigned bit is a one. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Bank Number of FLASH Memory Array: 0 = A, 1 = B FMC_SPEED ROM Access Speed in Nanoseconds FMC_SIZE Total Bank Size (Should agree with the physical organization above): 00=256K, 01=512K, 02=1M, 03=2M, 04=4M, 05=8M A product may contain multiple FLASH memory configuration packets. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Column Width in Bits This will always be a multiple of the device’s data width. L2C_TYPE L2 Cache Type: 00 - Arthur Backside 01 - External 02 - In-Line L2C_ASSOCIATE Associative Microprocessor Number (If Applicable) MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
* description: * This function’s purpose is to generate the CRC for the * passed buffer. * call: argument #1 = buffer pointer argument #2 = number of elements * return: CRC data MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 305
This component's purpose is to checksum the buffer pointed to by the buffer pointer. * notes: * call: argument #1 = buffer (section) to checksum argument #2 = number of bytes in buffer * return: MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 306
Convert the binary information in byte locations 0-62 to decimal. 2. Add together (sum) all decimal values for addresses 0-62. 3. Divide the sum by 256. Convert the remainder to binary (will be less than 256). MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The MVME2700 board, which uses a PReP memory map, is configured in this example to occupy address space from 1000 0000 to 13FF FFFF (64MB) on the VMEbus. The MVME5100, which defaults to a CHRP memory map, occupies another 64MB address range, which in this example is from 1400 0000 to 17FF FFFF.
Page 310
7000 0000 is selected: 1000 0000 + 7000 0000 => 8000 0000 on the PCI Local Bus that becomes 0000 0000 on the PowerPC bus. 5100 PCI Slave Translate MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 311
VMEbus address of 1400 0000 to 0000 0000 on the PCI Local Bus a translation offset of EC00 0000 is chosen: 1400 0000 +EC00 0000 => 1 0000 0000. Once again, the overflow results in the desired value. MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
Page 312
VMEbus Mapping Example MVME5100 Single Board Computer Programmer’s Reference (6806800H17B)
The publications listed below are referenced in this manual. You can obtain electronic copies of Artesyn Embedded Technologies - Embedded Computing publications by contacting your local Artesyn sales office. For released products, you can also visit our Web site for the latest copies of our product documentation.
Need help?
Do you have a question about the MVME5100 and is the answer not in the manual?
Questions and answers