Summary of Contents for NXP Semiconductors MSC8158E
Page 1
MSC8158E Reference Manual Broadband Wireless Access Six Core DSP With Security MSC8158ERM Rev 2, January 2012...
Page 2
How to Reach Us: Home Page: www.freescale.com Web Support: http://www.freescale.com/support North America: Freescale Semiconductor, Inc. Technical Sales and Commercial Support Information in this document is provided solely to enable system and software Periferico Sur #8110 implementers to use Freescale Semiconductor products. There are no express or Col.
Page 3
Overview SC3850 Core Overview External Signals Chip-Level Arbitration and Switching System (CLASS) Reset Boot Program Clocks General Configuration Registers Memory Map MSC8158 SC3850 DSP Subsystem Internal Memory Subsystem DDR-SDRAM Controller Interrupt Handling Direct Memory Access (DMA) Controller High Speed Serial Interface (HSSI) Serial RapidIO Controller and Enhance Message Complex Common Public Radio Interface (CPRI) QUICC Engine Subsystem...
Page 4
Overview SC3850 Core Overview External Signals Chip-Level Arbitration and Switching System (CLASS) Reset Boot Program Clocks General Configuration Registers Memory Map MSC8158 SC3850 DSP Subsystem Internal Memory Subsystem DDR-SDRAM Controller Interrupt Handling Direct Memory Access (DMA) Controller High Speed Serial Interface (HSSI) Serial RapidIO Controller and Enhance Message Complex Common Public Radio Interface (CPRI) QUICC Engine Subsystem...
Organization ........... . lxx Other MSC8158E Documentation ........lxxiii Further Reading .
Page 6
OCE Event and JTAG Test Access Port Signals ......3-29 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 7
CLASS Profiling Control Register (C0PCR) ......4-32 4.7.17 CLASS Watch Point Control Registers (C0WPCR) ....4-33 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 8
Reset Configuration Word Low Register (RCWLR) ....5-16 5.3.2 Reset Configuration Word High Register (RCWHR)....5-20 MSC8158E Reference Manual, Rev. 2 viii Freescale Semiconductor...
Page 9
General Status Register 1 (GSR1)........8-6 8.2.4 High Speed Serial Interface Status Register (HSSI_SR) ....8-8 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 41
Signalling a Debug Request ........24-12 24.1.10 EE_CTRL Modifications for the MSC8158E ......24-13 24.1.11 ESEL_DM and EDCA_CTRL Register Programming.
Page 56
Scalar Point Multiply in Affine Coordinates (0x06) ....26-32 26.6.1.11.8 EC_FP_PROJ_PTMULT: Prime Field Elliptic Curve Scalar Point Multiply in Projective Coordinates (0x07)....26-33 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 67
About This Book The MSC8158E device is the fourth generation of Freescale high-end multicore DSP devices. builds upon the proven success of the previous multicore DSPs and is designed to support the 3G-LTE Its tool suite provides a full-featured (FDD and TDD), HSPA+, LTE-Advanced, and WiMAX markets.
This manual is intended for software and hardware developers and applications programmers who want to develop products with the MSC8158E. It is assumed that you have a working knowledge of DSP technology and that you may be familiar with Freescale products based on StarCore technology.
For example, BRCGx refers to BRCG[1–8], and MxMR refers to the MAMR/MBMR/MCMR registers. On the MSC8158E device, the SC3850 cores are 16-bit DSP processors. The following table shows the SC3850 assembly language data types. For details, see the StarCore SC3850 DSP Core Reference Manual.
Chapter 4, Chip-Level Arbitration and Switching System (CLASS). Describes the system switch fabric that allows multi-initiator access to the internal memory and devices and enables high-bandwidth internal data transfers with few bottlenecks. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 71
Chapter 6, Boot Program. Describes the bootloader program that loads and executes source code to initialize the MSC8158E after it completes a reset sequence and programs its registers for the required mode of operation. This chapter covers selection of bootloader modes, normal sequence of events for bootloading a source program, and booting in a multi-processor environment.
Page 72
IEEE Std. 1149.6 documentation. The discussion covers the items that the standard requires to be defined and provides additional information specific to the MSC8158E implementation. Also includes debugging resources available in the SC3850 DSP core subsystem, including the OCE modules, and L2 ICache module.
Differences Between the MSC8157 and the MSC8158 DSPs (EB723). Indicates functional differences between the devices in the MSC8157 DSP family. Other documents. Application Notes and Engineering Bulletins that cover various board layout and programming topics related to the StarCore DSP core and the MSC8158E device. Further Reading...
– Removed all references to special CPRI support. – Updated Section 20.1.5 to add detailed procedure. – Added note to Section 20.1.5.1. • Chapter 26, Security Engine (SEC) – Updated Section 26.6.8 and Section 26.7.4.4. MSC8158E Reference Manual, Rev. 2 lxxiv Freescale Semiconductor...
Page 75
SRDB1RSTCTL and SRDB2RSTCTL individually. – Updated FRATE_SEL settings description in Table 15-62. • Chapter 21, Timers – Added an updated version of Section 21.1.8, Special CPRI Support which had been removed in Rev. 1. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor lxxv...
Overview The MSC8158E device is the fourth generation of Freescale high-end multicore DSP devices that target the communications infrastructure and delivers the industry’s highest level of performance and integration. It builds upon the proven success of the previous multicore DSPs and is designed to support the rapidly changing and expanding broadband wireless markets, with special support for UMTS and TD-SCDMA application processing.
Overview Features The MSC8158E includes the following features: StarCore DSP subsystem. The DSP subsystem includes: — StarCore SC3850 core • Running at up to 1 GHz • Up to 8000 16-bit MMACS. A MAC operation includes a multiply-accumulate command with the associated data moves and a pointer update.
Page 79
• Software coherency support with seamless transition from L1 cache coherency operation. — Memory management unit (MMU): • Highly flexible memory mapping capability • Provides virtual to physical address translation • Provides task protection MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 80
MAPLE-B2. This port is a write only port and is referred to as MBus Slave1 port. • Interrupt or RapidIO Door Bell generation and/or status bit indication on job or multiple jobs completion. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 81
• Various rates/puncturing cases — DFT/iDFT and FFT/iFFT processing using three eFTPE modules: 1.Viterbi and Turbo decoding share memories and share throughput; 100% throughput of Viterbi and 100% throughput of Turbo cannot be achieved simultaneously. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 82
+ D + 1 — CRC16 with polynomial D — CRC16 with polynomial D — CRC32 with polynomial D + D + 1 — CRC18 with polynomial D — CRC12 with polynomial D MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 83
— Uplink Fast Processing for (E)DPCCH processing • Capacity of up to 400 Physical channels with up to 3200 total fingers from up to 24 antenna streams. • Input data precision of 16 bit {8I,8Q} complex chips. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 84
EU has buffer FIFOs of at least 256 bytes. EU types and features include the following: — Advanced Encryption Standard Unit (AESU) • Implements the Rijndael symmetric key cipher per U.S. National Institute of Standards and Technology FIPS 197. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 85
• Implements MD5 with 128-bit message digest (as specified by RFC 1321) • Implements HMAC computation with either message digest algorithm (as specified in RFC 2104 and FIPS-198) • Implements SSL MAC computation • ICV checking MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 86
• Optional DDR clock — Six PLLs: • Three system PLLs • Two SerDes PLLs • DDR Controller PLL — Clock ratios selected during reset via reset configuration pins. — Clock modes user-configurable after reset. MSC8158E Reference Manual, Rev. 2 1-10 Freescale Semiconductor...
Page 87
• 1D or 2–4D complex buffers, a combination of buffer types — Two external DMA request (DREQ) and two DONE signal lines that allow an external device to trigger DMA transfers. — High bandwidth — Optimized for DDR SDRAM MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 1-11...
Page 88
— 64 outbound queues allowing multi-core environment. — 16 concurrent inbound reassembly operations. One additional reserved reassembly for inbound unit 0 to carry session management protocol. — Multi unicast. • Each RapidIO DMA unit supports: MSC8158E Reference Manual, Rev. 2 1-12 Freescale Semiconductor...
Page 89
• Detection of all erroneous frames as defined by IEEE Std. 802.3-2002 • Multi-buffer data structure • Diagnostic modes: Internal and external loopback mode and echo mode • Serial management interface MDC/MDIO • Transmitter network management and diagnostics MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 1-13...
Page 90
• Controlled by the DSP cores and the QUICC Engine RISC processors according to user configuration. I/O Interrupt Concentrator consolidates all chip maskable interrupt and non-maskable interrupt sources and routes them to , and the cores. INT_OUT NMI_OUT UART MSC8158E Reference Manual, Rev. 2 1-14 Freescale Semiconductor...
Page 91
— Multi-master operational — Calling address identification interrupt — START and STOP signal generation/detection — Acknowledge bit generation/detection — Bus busy detection — Programmable clock frequency — On-chip filtering for spikes on the bus MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 1-15...
Page 92
— Low-power standby modes — Optimized power management circuitry (instruction-dependent, peripheral-dependent, and mode-dependent) Technology: The MSC8158E device is manufactured using CMOS 45 nm SOI technology. Flip Chip-Plastic Ball Grid Array (FC-PBGA), 783-ball, 1 mm pitch, 29 mm × 29 mm MSC8158E Reference Manual, Rev.
The MSC8158E architecture is carefully optimized to achieve the maximum channel density for a given device area, power, and cost. Also, the MSC8158E is a derivative of the same system internal platform Freescale uses to implement new DSPs. Therefore, Freescale can swiftly spin off DSP devices from the same platform and provide the customer with familiar modules and programming models.
Cacheable write-through. Both the cache and the higher-level memory are updated during every write operation. In the StarCore SC3850 DSP subsystem, the write-through buffer is MSC8158E Reference Manual, Rev. 2 1-18 Freescale Semiconductor...
(SIMD) instructions working on 2-word or 4-byte operands packed in a register. This packing allows the core to perform 2 to 4 operations per instruction (a maximum of 10 to 18 operation per VLES including AGU operations). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 1-19...
(DCU), the write-back buffer (WBB), and the write-through buffer (WTB). This two-way channel reads and writes information from the core to/from higher-level memory (M2 or L2) and control memory (internal blocks and external peripherals) spaces. MSC8158E Reference Manual, Rev. 2 1-20 Freescale Semiconductor...
1.4.6 Debug and Profiling Unit (DPU) The on-chip emulator (OCE) and the debug and profiling unit (DPU) are hardware blocks for debugging and profiling. The OCE performs the following tasks: MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 1-21...
33 levels of interrupt priorities, of which 32 levels are maskable at the core and 1 level is NMI. 1.4.8 Timer The timer block includes two 32-bit general-purpose counters with pre-loading capability. It counts clocks at the core frequency. It is intended mainly for operating system use. MSC8158E Reference Manual, Rev. 2 1-22 Freescale Semiconductor...
The SEC includes a controller, four data channels, and eight execution units (EUs) including a shared random number generator (RNGU) that use a common interface to the MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 1-23...
The Chip Level Arbitration and Switching System (CLASS) is the central internal interconnect system for the MSC8158E device. The CLASS is a non-blocking, full-fabric interconnect that allows any initiator to access any target in parallel with another initiator-target couple. The CLASS uses a fully pipelined low latency design.
The DDR SDRAM interface is useful when the channel storage size is relatively big and also when more channels are required to supplement the internal memory. When the MSC8158E device works with channel data stored in the DDR SDRAM, the DMA controller can swap the data to and from the M2 memory, thus enabling the L1 DCache to fetch from M2 memory instead of accessing the DDR SDRAM memory directly.
The DMA controller supports smart arbitration algorithms such as round robin, bandwidth control, and a timer-based mechanism using an earliest deadline first (EDF) algorithm. MSC8158E Reference Manual, Rev. 2 1-26 Freescale Semiconductor...
The configurable arbitration features described in this chapter are for fine-tuning the system for specific application requirements. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 1-27...
OCN packets, negotiates with the OCN arbiter, and transmits/receives associated transactions. 1.12.4 DMA Controllers The MSC8158E includes two dedicated DMA controllers that transfer blocks of data between the serial RapidIO controller/PEX Controller and the local address space independent from the DSP cores.
1.13 QUICC Engine Subsystem The MSC8158E QUICC Engine module is a versatile communications engine based on a subset of the MPC83XX QUICC Engine subsystem that integrates several communications peripheral controllers. The QUICC Engine module combines interface hardware and RISC firmware to support multimedia packet operations.
The transmitter and receiver sections use the same clock, which is derived from the SPI baud rate generator in master mode and generated externally in slave mode. During an SPI transfer, data is sent and received simultaneously. MSC8158E Reference Manual, Rev. 2 1-30 Freescale Semiconductor...
16-bit timers. The MSC8158E device also includes 8 software watchdog timers. Each of the software watchdog timers can be used by any of the cores within MSC8158E as well as by an external host. 1.17 Hardware Semaphores There are eight coded hardware semaphores.
1.21 Boot Options The boot program in the internal boot ROM initializes the MSC8158E after it completes a reset sequence. The MSC8158E device can boot from an external host through the serial RapidIO interface or download a user boot program through the I C, SPI, or Ethernet ports.
Developer Environment 1.23.1 Tools The MSC8158E tool components include the following: Integrated development environment (IDE). Easy-to-use graphical user interface and project manager for configuring and managing multiple build configurations. C compiler with in-line assembly. The developer can generate highly optimized DSP code by exploiting the StarCore multiple-ALU architecture, with parallel fetch sets and high code density.
See the SC3850 DSP Core Reference Manual for a detailed description of core functionality and instruction set. The manual is only available with a signed non-disclosure agreement. Contact your local Freescale sales office or representative for details. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Table 2-1. Multiplication Throughput Summary Figures for the SC3850 Operation Precision Instructions per Operation Result Throughput (4 ALUs) 16 × 16 Real multiply 16 × 32 32 × 32 16 × 16 Complex multiply 16 × 32 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 113
— Precise detection of PC breakpoints — PC tracing with filtering and compression options • Low Power Design — Low-power Wait and Stop instructions — A very low power design — Fully static logic MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
128 Gbps between the core and the memory. The program sequencer manages the instruction fetching from the program memory, dispatching the VLES to the execution units, performing change of flow (COF) and HW loop management MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 115
The SC3850 also includes a 48-entry Branch Target Buffer (BTB) that improves performance by reducing the change of flow latency. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 117
External Signals The MSC8158E external signals are organized into functional groups. Table 3-1 lists the functional groups and references the table that gives a detailed listing of signals within each group. Table 3-1. MSC8158E Functional Signal Groupings Functional Group Detailed Description...
Page 118
CPRI, SPI, timers, UART, and I C signals. The specific function is selected through configuration of the GPIO registers (see Chapter 20, GPIO for details). Figure 3-1 summarizes the various MSC8158E external signal multiplexing options. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 119
Dedicated signals: ← ↔ GPIO29/UART_TXD/CP_LOS2 RC17/RCW_LSEL0, RC18/RCW_LSEL1, → DFT_TEST Test RC19/RCW_LSEL2, RC20/RCW_LSEL3, RC21 Note: See the individual signal description tables for details about individual power supplies and grounds. Figure 3-1. MSC8158E External Signals MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Provide adequate external decoupling capacitors. The external decoupling capacitors recommendations are listed in the 1.5 V MSC8158E Technical Data Sheet. SXPVDD SerDes Pad Power DDSXP A dedicated well-regulated power for the SerDes pad circuitry. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
A ground for the SerDes Core circuitry. SXPVSS SerDes Pad Ground A ground for the SerDes Pad circuitry. Note: The external decoupling capacitors recommendations are listed in the MSC8158E Technical Data Sheet. Clock Signals Table 3-3. Clock Signals Signal Name...
Hard Reset Output When asserted as an input, this signal causes the MSC8158E to abort all current internal and external transactions, set most registers to their default state, and enter the hard reset state. This signal must be asserted for at least 32 CLKIN cycles.
Page 123
CPRI Controller 1–3 Synchronization Signal Synchronization signals for CPRI controllers 1–3. Selected through GPIO configuration. For configuration details, see Chapter 20, GPIO. For functional details, see Chapter 18, Common Public Radio Interface (CPRI) Complex. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 124
CPRI Controller 4–6 Synchronization Signal Synchronization signals for CPRI controllers 4–6. Selected through GPIO configuration. For configuration details, see Chapter 20, GPIO. For functional details, see Chapter 18, Common Public Radio Interface (CPRI) Complex. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 125
Timer 5 Output Configured as input to the counter or output from the counter. Selected through the GPIO configuration. For configuration details, see Chapter 20, GPIO. For timer functional details, see Chapter 21, Timers. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 126
RCW_SRC[0–2] equals 000, the device loads all 64 bits of the RCW via RC[0–15] in four beats. In this case, RC[17–20] function as RCW_LSEL[0–3] outputs that are asserted to load the RCW 16 bits at a time and RC21 is ignored. See Chapter 5, Reset for details. MSC8158E Reference Manual, Rev. 2 3-10 Freescale Semiconductor...
MDQ[63–0] Input/ Data Bus Output The MSC8158E device drives the bus during write cycles and the external memory drives the bus during read cycles. MDM[8–0] Output DDR SDRAM Data Output Mask Masks unwanted data bytes transferred during a burst write.
For proper definition of serial RapidIO modes (x1/x2/x4), CPRI, and SGMII, configure the interfaces using the Reset Configuration Word settings. For details, see Chapter 5, Reset. Table 3-7 lists the interfaces supported by each SerDes lane. MSC8158E Reference Manual, Rev. 2 3-12 Freescale Semiconductor...
CPRI Controller 1–3 Synchronization Signal Synchronization signals for CPRI controllers 1–3. Selected through GPIO configuration. For configuration details, see Chapter 20, GPIO. For functional details, see Chapter 18, Common Public Radio Interface (CPRI) Complex. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 3-13...
Page 130
For details, see the QUICC Engine Block Reference Manual with Protocol Interworking. CP_LOS3 Input CPRI Optical Loss of Signal Indication for Lane 3 This is the default option. The signal can also be configured on GPIO17. MSC8158E Reference Manual, Rev. 2 3-14 Freescale Semiconductor...
Page 131
For details, see the QUICC Engine Block Reference Manual with Protocol Interworking. CP_LOS6 Input CPRI Optical Loss of Signal Indication for Lane 6 This is the default option. The signal can also be configured on GPIO20. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 3-15...
For details, see the QUICC Engine Block Reference Manual with Protocol Interworking. CP_LOS3 Input CPRI Optical Loss of Signal Indication for Lane 3 This is the default option. The signal can also be configured on GPIO17. MSC8158E Reference Manual, Rev. 2 3-16 Freescale Semiconductor...
Page 133
Ethernet 1 Receive Control For details, see the QUICC Engine Block Reference Manual with Protocol Interworking. GE_MDC Output Ethernet Management Data Clock For details, see the QUICC Engine Block Reference Manual with Protocol Interworking. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 3-17...
When the SPI is a master, SPI_SCK is the clock input signal that shifts received data in from SPI_MOSI and transmitted data out through SPI_MISO. CP_LOS4 Input CPRI Optical Loss of Signal Indication for Lane 4 This is an optional configuration. The signal can also be configured on GE2_GTX_CLK. MSC8158E Reference Manual, Rev. 2 3-18 Freescale Semiconductor...
UART Receive Data Output For details, see Chapter 19, UART. CP_LOS1 Input CPRI Optical Loss of Signal Indication for Lane 1 This is an optional configuration. The signal can also be configured on GE2_RD2. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 3-19...
Page 136
Along with the RCW_SRC[0–1], this signal is sampled at the deassertion of PORESET to identify the source of the reset configuration word. The required signal level must be maintained as long as HRESET/HRESET_IN is asserted. MSC8158E Reference Manual, Rev. 2 3-20 Freescale Semiconductor...
Page 137
SPI_MOSI and transmitted data out through SPI_MISO. For details, see the QUICC Engine Block Reference Manual with Protocol Interworking. CP_LOS4 Input CPRI Optical Loss of Signal Indication for Lane 4 This is an optional configuration. The signal can also be configured on GE2_GTX_CLK. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 3-21...
Page 138
For details, see Chapter 14, Direct Memory Access (DMA) Controller, RC14 Input Reset Configuration Word Bit 14 Sampled during the assertion of PORESET to set part of the bits of the Reset Configuration Word Registers. MSC8158E Reference Manual, Rev. 2 3-22 Freescale Semiconductor...
Page 139
For details, see Chapter 14, Direct Memory Access (DMA) Controller, Input Reset Configuration Word Bit 3 Sampled during the assertion of PORESET to set part of the bits of the Reset Configuration Word Registers. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 3-23...
One of 32 GPIOs. For details, see Chapter 20, GPIO. RC16 Input Reset Configuration Word Bit 16 Sampled during the assertion of PORESET to set part of the bits of the Reset Configuration Word Registers. MSC8158E Reference Manual, Rev. 2 3-24 Freescale Semiconductor...
Page 141
Along with the RCW_SRC[0–1], this signal is sampled at the deassertion of PORESET to identify the source of the reset configuration word. The required signal level must be maintained as long as HRESET/HRESET_IN is asserted. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 3-25...
One of 32 GPIO pins used as GPIO or as a dedicated input or output. For details, see Chapter 20, GPIO. CP_LOS1 Input CPRI Optical Loss of Signal Indication for Lane 1 This is an optional configuration. The signal can also be configured on GE2_RD2. MSC8158E Reference Manual, Rev. 2 3-26 Freescale Semiconductor...
External line that can request a service routine via the internal interrupt controller. For details, see Chapter 13, Interrupt Handling. RC14 Input Reset Configuration Word Bit 14 Sampled during the assertion of PORESET to set part of the bits of the Reset Configuration Word Registers. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 3-27...
Type Description INT_OUT Output Interrupt Output An open-drain output driven from the MSC8158E virtual interrupt 24. Assertion of this output indicates that an unmasked interrupt is pending in the MSC8158E internal interrupt controller. CP_TX_INT Output CPRI Transmit Interrupt CPRI Transmit Interrupt. For Details see Chapter 18, Common Public Radio Interface (CPRI) Complex.
3.15 OCE Event and JTAG Test Access Port Signals The MSC8158E uses two sets of debugging signals for the two types of internal debugging modules: OCE and the JTAG TAP controller. Each internal SC3850 core has an OCE module, but they are all accessed externally by the same two signals .
The Chip Level Arbitration and Switching System (CLASS) is the central internal interconnect system for the MSC8158E device. The CLASS is a non-blocking, full-fabric interconnect that allows any initiator to access any target in parallel with another initiator-target couple. The CLASS uses a fully pipelined low latency design.
Controller system system system system system system Bridge Initiator Devices Figure 4-1. CLASS Initiators and Targets in the MSC8158E Device CLASS Features The CLASS modules implement the following features: Non blocking, full fabric interconnect. Full bandwidth utilization toward each of the targets.
Section 4.2.2. Each multiplexer and arbiter module has a dedicated normalizer module that is used as the sampling stage on the target side. The normalizer can also be used for normalizing transactions. For more details about normalizer module see Section 4.2.3. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
(no priority upgrade ability by the initiator and auto priority upgrade in the expander module is disabled). When the Masking Priority is enabled, the arbiter dedicates slots for lower priority initiator in which the higher priority initiators are masked. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
The FIFO depth is 16, thus enabling the multiplexer and arbiter module to deal with 16 open transactions, which received their request acknowledge and are waiting for the end-of-data or end-of-transaction signals. The CLASS multiplexer is pure logic for the data path and does not cause any latency. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
CLASS delivers invalid data to the initiator. If, at the time of the error transaction, there are open transactions that did not receive the end-of-transaction, the expander module stalls all new transaction until all prior MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
(CPRCR) starts counting the clock cycles. Read the CPISR[OVE] bit to verify that the measurement is complete and that the profiling counter values are valid. If the CPISR[OVE] is clear, read the profiling counters CPRCR and CPGCR and analyze the results. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
— In time-out mode, read C0PRCR. — If C0PISR[OVE] is set or if C0PRCR is equal to C0PTOR, the results are not valid. — Read C0PGCRx to get the number of watch point events during the measurement. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
The resulting information can be used to redesign the code to minimize stalls related to real confirmations. Use of large transactions reduces the number of real confirmations because they are only required for the last beat of the transfer. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 156
Can be used to profile the number of data reads and writes. The amount of data that passes through the initiator port = [(NumberOfReadAck + NumberOfWriteAck) × W]. where W is the port width. Note that an access may be smaller than the port width. MSC8158E Reference Manual, Rev. 2 4-10 Freescale Semiconductor...
Page 157
Can be used to profile the number of data reads and writes to Target T. The amount of data that passes through the target port = [(NumberOfReadAck + NumberOfWriteAck) × W] where W is the port width.Note that an access can be less than the port width MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-11...
The CLASS configuration registers are reset as described in the table for each register in 4.7, Programming Model. 4.5.2 Hard Reset This reset brings all states machines to idle state and sets all CLASS registers to the reset values. MSC8158E Reference Manual, Rev. 2 4-12 Freescale Semiconductor...
Core subsystem 3 can only access its own M2 space and the M2 space of core subsystems 4 and 5. Core subsystems 4 and 5 can only access their own M2 space. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-13...
CLASS Profiling Reference Counter Register (see page 4-40) CLASS Profiling General Counter Registers (see page 4-41) CLASS Arbitration Control Register (see page 4-42) Note: The base address for addressing CLASS registers is 0xFFF18000. MSC8158E Reference Manual, Rev. 2 4-14 Freescale Semiconductor...
Priority 0 5–4 Holds the priority value assigned to Priority 1 transactions that arrive with a value of 1. Priority 2 Priority 3 — Reserved. Write to 0 for future compatibility. 3–2 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-15...
• Priority 1: Bits 15–1 are loaded into bit 14–0 of the counter and a 0 into bit 15. • Priority 2: Bits 15–2 are loaded into bits 13–0 of the counter and 0 into bits 15 and 14. MSC8158E Reference Manual, Rev. 2 4-16...
— Reserved. Write to 0 for future compatibility. 31–1 Auto-Upgrade Enable Auto-upgrade mechanism disabled. Enables/disables the auto-upgrade Auto-upgrade mechanism enabled. mechanism. Note: This bit can only be cleared by a hardware reset. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-17...
Reserved. Write to 0 for future compatibility. Supervisor Access Not supervisor. This field indicates whether the transaction that caused the Supervisor. error was in supervisor mode. — Reserved. Write to 0 for future compatibility. 13–9 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-19...
PMM value in the associated C0IPCR and make sure all the other C0IPCR and the C0TPCR for that CLASS are cleared. Note: Only one PMM field among all C0IPCRx and C0TPCR can be greater than 0 during profiling. MSC8158E Reference Manual, Rev. 2 4-20 Freescale Semiconductor...
Page 167
DSP core subsystem 5 MAPLE port 0 MAPLE port 1 HSSI port 0 SEC, Ethernet, SPI, or Debug DMA port 0 DMA port 1 HSSI port 1 MAPLE port 2 MAPLE port 3 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-21...
Reserved. Write to 0 for future compatibility. 31–1 WPEN Watch Point Enable The watch point is disabled. Enables/disables the auto-upgrade The watch point is enabled. mechanism. Note: This bit can only be cleared by a hardware reset. MSC8158E Reference Manual, Rev. 2 4-22 Freescale Semiconductor...
Contains the arbitration weight assigned to the associated initiator. The reset values be changed by the designer according to the application requirements. See Table 4-30 for recommended initial settings for the CLASS Arbitration Control Register (C0ACR). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-23...
The 24 msb of the start address of the specified port window. The lsbs Port 7 = 0x0C0000 (M3_0 start) are all zeros. Port 8 = 0x0C0100 (M3_1 start) Port 9 = 0x0C0200 (M3_2 start) MSC8158E Reference Manual, Rev. 2 4-24 Freescale Semiconductor...
To ensure proper operation, never modify the contents of the register while the specific decoder is enabled. Always clear the associated CATDx[DEN] bit before changing the contents of C0EADx. Note: C0EAD2 is valid only if C0ATD1[SPRW] is clear (0). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-25...
However, any transaction that was acknowledged up to and including the cycle in which DEN is cleared continues normally until completed. Note: To ensure proper operation, do not enable the specific decoder before the start and end addresses are specified in the associated C0SADx and C0EADx. MSC8158E Reference Manual, Rev. 2 4-26 Freescale Semiconductor...
Page 173
Some accesses use Target 1 (defined by C0SAD1/C0EAD1). Some accesses use Target 2 (defined by C0SAD2/C0EAD2). Use for cases of unbalanced reads/writes or to split address space among different masters. Note: Target2 has a higher priority than Target1. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-27...
Never write to these registers when there are open transactions being handled by the CLASS to the specified target controlled by the register. Note: C0ATD2 is valid only if C0ATD1[SPRW] is clear (0). MSC8158E Reference Manual, Rev. 2 4-28 Freescale Semiconductor...
No error. 14–0 A bit is set if for a received transaction Error detected. request, it does not belong to any port address space or falls inside one of the error areas. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-29...
C0IPCRx are cleared. Note: For each CLASS module, you can only monitor one transaction. Therefore, only one PMM field in C0IPCRx and C0TPCR can be greater than 0 during profiling. MSC8158E Reference Manual, Rev. 2 4-30 Freescale Semiconductor...
Time-out function disabled. Enables/disables the time-out mechanism. Time-out function enabled. — Reserved. Write to 0 for future compatibility. 3–1 Profiling Enable Profiling unit disabled. Enables/disables the debug profiling unit Profiling unit enabled. operation. MSC8158E Reference Manual, Rev. 2 4-32 Freescale Semiconductor...
For every bit in C0WPAMR[ADDM] that is cleared, make sure the corresponding bit is cleared in the ADDR. The bit location in ADDM (b) corresponds to the b + 12 bit location in ADDR. MSC8158E Reference Manual, Rev. 2 4-34...
Target port 7 M3 memory port 0 0x10 Target port 8 M3 memory port 1 0x11 Target port 9 M3 memory port 2 All other values reserved. — Reserved. Write to 0 for future compatibility. 23–16 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-35...
— ADDM Type Reset C0WPAMR controls the address range monitored by the watch point unit. The register is reset only by a hardware reset. Table 4-23 lists the C0WPAMR bit field descriptions. MSC8158E Reference Manual, Rev. 2 4-36 Freescale Semiconductor...
Table 4-24 lists the C0PTOR bit field descriptions. Table 4-24. C0PTOR Bit Descriptions Name Reset Description 0xFFFFFFFF Time-Out 31–0 Holds the time-out value used to stop the profiling unit when the time-out function is enabled. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-37...
Watch Point Enable 7–0 The watch point unit for the associated target is 7–0 Each bit enables monitoring of access by disabled. the associated target. The watch point unit for the associated target is enabled. MSC8158E Reference Manual, Rev. 2 4-38 Freescale Semiconductor...
Enables monitoring of access by the Watch point event captured. associated target. Overflow Event No overflow occurred. Enables monitoring of access by the C0PRCR overflowed (reached 0xFFFFFFFF) associated target. during the last measurement. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-39...
C0PRCR reaches the value stored in C0PTOR and TOE is set, which causes the CLASS to clear the PE bit to disable the profiling MSC8158E Reference Manual, Rev. 2 4-40...
Table 4-29 lists the C0PGCR bit field descriptions. Table 4-29. C0PGCR Bit Descriptions Name Reset Description Counter 31–0 Holds the counter value of the selected measurement. Table 4-1 lists the measurements counted by each counter for each configuration combination. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 4-41...
M2 memory, DDR memory, and the M3 memory. This is just an initial value, and can be changed according to the application requirements and system traffic. MSC8158E Reference Manual, Rev. 2 4-42 Freescale Semiconductor...
Most of these features are configured by loading a reset configuration word to the MSC8158E device that combine with a few direct configuration inputs sampled during the reset sequence. This section describes the various ways to reset and configure the MSC8158E device.
HRESET_IN is an input that permits a hard reset of an individual device without invoking a hard reset on other devices in a chain. The MSC8158E can detect an external assertion of HRESET or HRESET_IN only if it occurs while the MSC8158E is not asserting reset.
Initially, the reset configuration inputs are sampled to determine the configuration source and the input clock division mode. Next, the MSC8158E starts loading the reset configuration words. When the clock mode values in the reset configuration word low load, the PLLs begin to lock, after locking, each PLL distributes clock signals to the device.
Page 192
Chapter 8 General Configuration Registers for details. If enabled, the HSSI complex interfaces are now ready to accept external requests, and the core boot code fetch can proceed, if enabled. The MSC8158E is now in its ready state. Figure 5-1 shows a timing diagram of the power-on reset flow.
Reset Configuration input signals Figure 5-3. Hard Reset Flow Reset Configuration The MSC8158E is initialized using two complementary methods. Initially, a small number of input signals ( ) are sampled during the first two CLKIN cycles after the deassertion RCW_SRC[0–2] (during the power-on reset flow).
Refer to the PORESET MSC8158E Technical Data Sheet for the recommended resistor values used to pull reset configuration signals high or low. The values loaded from these sampled inputs are accessible to software through memory-mapped registers described in Section 5.3.
Various device functions are initialized by loading the reset configuration words during the power-on reset flow. All configurable features are reconfigured only during a power-on reset flow. The MSC8158E decides which interface is used according to reset configuration input signals, as described in Section 5.2.2.
Reset Configuration 5.2.5.1 Loading From an I C EEPROM (RCW_SRC[0–2] = 010) When a MSC8158E is configured by the reset configuration input signals to load the reset configuration words from an EEPROM via the I C interface, it uses the I C unit boot sequencer in a special mode.
During the power on reset assertion, the master cannot drive the output bus STOP_BS because its role as master is not enabled yet. Pull-ups are required; refer to the MSC8158E Technical Data Sheet for appropriate resistor values to pull the slave input signal high.
Page 200
5.2.5.2 Loading Multiplexed RCW from External Pins (RCW_SRC[0–2] = 000) When the MSC8158E device is configured to use the multiplexed loading method, it latches all bits of the reset configuration word from the external pins. In this case, the sampled RCW bits are transferred with glue logic using the hardware shown in Figure 5-6.
5.2.5.3 Loading Reduced RCW From External Pins (RCW_SRC[0–2] = 011) When the MSC8158E device is configured to use the reduced RCW, the MSC8158E latches some bits of the reset configuration word from external pins. The other bits of the RCWs are loaded from default hard coded values.
Common transport type is Large System. 5.2.5.4 Default Reset Configuration Words (RCW_SRC[0–2] = 100 or 101) When the MSC8158E device is configured not to load the RCW from I C EEPROM or external pins, it can be initialized using one of the two hard-coded default options listed in Table 5-7 and Table 5-8.
Chapter 7, Clocks for source clock definitions. — Reserved. Write to one for future compatibility. SerDes Protocol See Table 5-11 for setting descriptions. 28–22 Selects the SerDes protocols to use. MSC8158E Reference Manual, Rev. 2 5-16 Freescale Semiconductor...
Pass-through disabled. (P0PTAACR[PTE] and Selects the reset value of P0PTAACR[PTE] and P1PTAACR[PTE] reset value is 0) P1PTAACR[PTE] which determines whether Pass-through enabled. (P0PTAACR[PTE] and pass-through is disabled or enabled. P1PTAACR[PTE] reset value is 1) MSC8158E Reference Manual, Rev. 2 5-20 Freescale Semiconductor...
Page 209
The value of fields in the reset configuration word registers (RCWLR and RCWHR) reflect only their state during the reset flow. Some of these parameters and modes can be modified by changing their values in other unit memory mapped registers. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 5-21...
Page 211
RSR[RS] is set after a software watchdog reset. These must be cleared individually. RSR only returns to its complete reset value when a power-on reset occurs. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 5-23...
0x52535445 (“RSTE” in ASCII) to the RCPW to enable the RCR. When the RCR is enabled, the RCER[CRE] bit is set. Reading the RPR always returns all zeros. To disable write to the RCR, write a 1 to RCER[CRE]. MSC8158E Reference Manual, Rev. 2 5-24 Freescale Semiconductor...
31–2 SWHR Software Hard Reset Normal operation. Setting this bit cause the MSC8158E to begin a Initiates a hard reset. hard reset flow. This bit returns to its reset state during the reset sequence, so reading it always returns a 0.
The enable value is written to the reset (RCR). Writing 1 to this bit disables the RCR protection register (RPR) to enable the RCR. and clears this bit. Writing zero has no effect. MSC8158E Reference Manual, Rev. 2 5-26 Freescale Semiconductor...
Boot Program The boot program initializes the MSC8158E after it completes a reset sequence. The MSC8158E can boot from an external host through the RapidIO interface or download a user boot program through the I C, SPI, or Ethernet ports. The default boot code is located in an internal 96 KB ROM at 0xFEF00000–0xFEF17FFF and is accessible to all cores.
C EEPROM. Boot mode select (core 0). This part includes downloading of code from one of the MSC8158E bootable ports as defined by the RCWHR[BPRT] field. Boot completion. All cores complete the boot operation and jump to a user-specified address.
— The necessary bits of P0CCSR and P1CCSR (RapidIO) are set to enable the port. QUICC Engine module priority is set to be 1 with emergency not masked (that is SDMR[EB1_PR] = 01). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
C Bus The MSC8158E can share the I C EEPROM device with other MSC8158E devices for loading the reset configuration word (RCW), as well as for reading configuration during boot loading and execution. When the bus is shared, the bus must distinguish among reset masters, reset slaves,...
Page 219
0x18 or 0x96 of the EEPROM or fails during the sequence of driving the RCW to the reset slaves, the core goes into a debug state and writes the appropriate error code to the M3 memory (see Section 6.5). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
MSC8158E #1 is a reset slave. The reset master uses {GPIO[0–3], GPIO[21]} to release the reset slaves. The MSC8158E boot supports up to 15 slaves on a single EEPROM (for RCW). There are two possibilities as to how the reset slave STOP_BS signals are handled: If there are 5 slaves or less, connect each GPIO line directly to one of the slaves.
Page 221
2. Drive corresponding slave RCWs 3. Disable time out counter RCWHR[BPRC] = I Last Slave? STOP_BS == 1 RCWHR[BPRC] = I All STOP_BS == 1 End of flow Figure 6-3. I C initialization and Multi Device Support MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 222
The following stages are performed to serve as the master chip on a multi-device board. The MSC8158E reads RSR register to determine if the reset is PORESET. If it is not PORESET, this section of the boot is bypassed entirely.
RCWLR[SP] is 0b0110000 (x4 SRIO1) 6.2.1 I C EEPROM The MSC8158E boot expects the I C EEPROM to be divided in to four sections: Reset words. This section starts at address 0x0000 of the EEPROM and includes the reset words for the reset master, an indication as to the number of reset slaves and the reset words for all the slaves.
Page 224
Reset Configuration Word High [31–24] Reset Configuration Word High of Slave 1 0x001E Reset Configuration Word High [23–16] 0x001F Reset Configuration Word High [15–8] 0x0020 Reset Configuration Word High [7–0] ........Figure 6-4. EEPROM Contents MSC8158E Reference Manual, Rev. 2 6-10 Freescale Semiconductor...
Page 226
Block Control 3 bytes Block Size 4 bytes Next Block Address 4 bytes Destination Address Up to Payload Data 2^16 bytes 2 bytes Checksum 2 bytes Checksum Figure 6-5. EEPROM Data Format MSC8158E Reference Manual, Rev. 2 6-12 Freescale Semiconductor...
Page 227
(beginning with the Block Control byte) until the end of the block. The last byte of each block is not acknowledged by the MSC8158E. After the ninth unacknowledged bit, the boot code generates a STOP condition. Figure 6-6 describes the Software I C read access.
Boot Program 6.2.2 Ethernet The MSC8158E device can load files through the Ethernet port using DHCP (Dynamic Host Configuration Protocol) and TFTP (Trivial File Transfer Protocol). Supports RGMII @1000 Mbps and SGMII @1000 Mbps full duplex. For DHCP, each client must have its own unique MAC (Media Access Control) address.
The DHCP server confirms that the IP address has been allocated to the client by returning a DHCPACK unicast message to the client. There are two possibilities for setting the MSC8158E MAC address during the boot: User defined and read from an I C EEPROM.
The Ethernet bootloader supports up to 128 Mbytes of S-Record file size. The S-Record file structure is described in Figure 6-10. Start Record Data Record 1 Data Record 2 Data Record n End Record Figure 6-10. S-Record File Structure MSC8158E Reference Manual, Rev. 2 6-16 Freescale Semiconductor...
Page 231
The S0 record is composed as follows: S0. Indicating it is a starting record. 03. Hexadecimal 03 (decimal 3). Indicating that three character pairs (or ASCII bytes) follow. 0000. Information string (ignored) FC. Checksum field. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 6-17...
RCWHR[SBETH] bit during the PORESET sequence (See Chapter 5, Reset for details). In this procedure, an Ethernet master waits for the MSC8158E boot program to finish its default initialization and then initializes the device by typically loading code and data to the on device memory.
For simple boot over Ethernet in SGMII mode the RCWHR[BPRT] and RCWLR[SP]. RCWLR[SP] field must have a valid SGMII option (See Chapter 5, Reset for details). Note: Booting over Ethernet in RGMII mode is enabled on UEC0 (UCC1) only. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 6-19...
<data> The memory loadable data or descriptive information Each Simple-Ethernet address field maps the data content to a memory location in MSC8158E. Core 0 moves the data to this address. The following code shows a typical Simple-Ethernet packet for End of handshake between Ethernet master...
Boot Modes 6.2.4 Serial RapidIO Interconnect In this procedure a Serial RapidIO master waits for the MSC8158E boot program to finish its default initialization and then initializes the device by typically loading code and data to the on device memory.
Multiple devices connected to a shared EEPROM see the same address/data pairs. 6.2.5 SPI The MSC8158E can boot from a Flash memory on the SPI. The boot expects a Flash memory that latches on the rising edge of the clock and on which data is valid after the falling edge. The chip-select should be a low signal.
All NMIs will be configured as NMIs in the EPIC. VBA equals 0xFEF17000. Any interrupt in the EPIC puts the core in debug. EDC is enabled. Core register values are not guaranteed and should be initialized before use. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 6-23...
Lost arbitration on I C bus. 0x0027EFFD Time-out on I C acknowledge (9th clock). 0x0027EFFC Stuck I2C_SDA (I C bus). 0x00000000 Unexpected debug condition in the SC3850 Core (unexpected interrupt, EE0 asserted and so on) MSC8158E Reference Manual, Rev. 2 6-24 Freescale Semiconductor...
Page 239
Word (see Chapter 5, Reset for details). For the CPRI lanes, the initial configuration determines the starting frequency, but the actual connection frequency is negotiated and adjusted by dividers in the CPRI framer block (see Chapter 18, Common Public Radio Interface (CPRI) Complex for details). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
DDRPLL DDR Controller Figure 7-1. MSC8158E Clock Scheme Each PLL uses its input clock to generate a fast clock that is synchronized to the input clock. The fast clock is distributed to each of the clock dividers to generate the clocks that are distributed to the system blocks.
Page 241
Clock Generation Components and Modes The MSC8158E clock modes are listed in Table 7-1. Table 7-1. MSC8158E Clock Modes HSSI (CPRI, QUICC UART, DSP Core Engine MAPLE- Timers, Mode CLKIN MCLKIN PLL0 PLL1 PLL2 CLASS Sub- eTVPE DDR RapidIO Sub-...
General Configuration Registers The MSC8158E device includes a general configuration block that includes fifty-six 32-bit registers. This block provides sets of control and status registers for modules in the device that do not include their own control and status registers.
Page 244
Ethernet 2 High Resolution Delay Register (UCC3_DELAY_HR), see page 8-86 General Interrupt Register 8 (GIR8), see page 8-88 CPRI Interrupt to MAPLE External Request Enable (MAPLE_EXT_REQ_EN_1), see page 8-89 Note: The base address for the general configuration registers is: 0xFFF28000. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Selects the signal for the internal clock multiplexer in MAPLE for MAPLE sync mode. — Reserved. Write to 0 for future compatibility. 25–17 UART_STOP UART Stop Normal operation. Stops the UART clock. UART clock stopped. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Reflects whether core 1 subsystem is in Core subsystem in Wait state. Wait state. CORE_WAIT_ACK0 Core Wait Acknowledge 0 Core subsystem not in Wait state. Reflects whether core 0 subsystem is in Core subsystem in Wait state. Wait state. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 249
Not in Debug mode. Reflects the mode of core 1 subsystem. In Debug mode. CORE_DBG_STS0 Core0 Debug Status 0 Not in Debug mode. Reflects the mode of core 0 subsystem. In Debug mode. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
IDLE Type Reset HSSI_SR controls part of the SerDes operation for the MSC8158E device. The register is reset on a Table 8-4 lists the HSSI_SR bit Hard reset. Write accesses can only be performed in Supervisor mode. field descriptions. Table 8-4. HSSI_SR Bit Descriptions...
Page 251
Reserved. Write to 0 for future compatibility. EMSG_STOP_ACK RapidIO Enhanced Messaging Unit Stop Not stopped. Acknowledge Status Stop ACK issued. Indicates the EMSG Stop Acknowledge status. — Reserved. Write to 0 for future compatibility. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 252
— Reserved. Write to 0 for future compatibility. 3–1 EMSG_IDLE EMSG Idle Active. Indicates whether the EMSG is idle, that is, no Idle. transactions in progress. MSC8158E Reference Manual, Rev. 2 8-10 Freescale Semiconductor...
VALUE Type Reset DDR_GCR controls the DDR operation the MSC8158E device. The register is reset on a Hard reset. Table 8-5 lists the DDR_GCR bit field Write accesses can only be performed in Supervisor mode. descriptions. Table 8-5. DDR_GCR Bit Descriptions...
HSSI_CR1 controls various functions within the SerDes block for the MSC8158E device. The Table 8-6 register is reset on a hard reset. Write accesses can only be performed in Supervisor mode. lists the HSSI_CR1 bit field descriptions. MSC8158E Reference Manual, Rev. 2 8-12 Freescale Semiconductor...
Page 255
Serial RapidIO Port 1. SRIO0_ECC_ Serial RapidIO Port 0 Multi-Bit ECC Error Do not inject error. ERR_INJECT Inject Inject error. Indicates whether to inject a multibit error into the Serial RapidIO Port 0. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-13...
Page 256
1–0 Note: Doze mode is a special mode used by the MSC8158E to allow register reads/writes to continue and be acknowledged without changing or reporting any register contents while the peripheral clocking is stopped. Processing of reads/writes can continue after the peripheral has entered power down mode. Without Doze mode, the device could hang up waiting for a response from the peripheral.
Powers down the SRIO1 pipe interface to SerDes if the SerDes Power down SRIO1 PLL2 becomes unstable. pipe. PD_SRIO__0_TO_ SerDes Power Down No action. Powers down the SRIO0 pipe interface to SerDes if the SerDes Power down SRIO0 PLL1 becomes unstable. pipe. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-15...
Table 8-10. GIER Bit Descriptions Name Reset Description Settings IE[31–0] Input Enable 31–0 Input is disabled. 31–0 Each bit in this field enables/disables the Input is enabled. individual GPIO corresponding to the bit index number. MSC8158E Reference Manual, Rev. 2 8-18 Freescale Semiconductor...
31–16 Mask-programmed with a code corresponding to the device number. REVID 0x0000 Revision Identification 15–0 Mask-programmed with a code corresponding to the revision number of the part identified by the PARTID value. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-19...
GCR4 controls the delay lines for UCC1 and UCC3. The register is reset on a Hard reset. Write accesses can only be performed in Supervisor mode. The MSC8158E Data Sheet includes recommended default values for this register to use with a standard RGMII PHY device. AN4134 RGMII Ethernet Timing in StarCore Based MSC8157 DSPs (available under NDA) provides guidelines for adjusting GCR4 values for specific applications, if required.
Page 263
00 No delay. 1–0 Adds a delay to the specified signal. 01 One delay unit. 10 Two delay units. 11 Three delay units. Note: The clock for the delay unit is the TX clock. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-21...
Page 264
200 mV. Selects the drowsy M3 memory voltage. 300 mV. — Reserved. Write to zero for future compatibility. DROWSY_M2 Drowsy M2 Voltage Select 200 mV. Selects the drowsy M2 memory voltage. 300 mV. MSC8158E Reference Manual, Rev. 2 8-22 Freescale Semiconductor...
Page 265
OCNDMA0 is stopped. OCNDMA0_ OCNDMA 0 Stop OCNDMA0 normal operation. STOP Makes the OCNDMA0 enter Stop mode. OCNDMA0 Stop mode. — Reserved. Write to zero for future compatibility. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-23...
Reflects whether a core stop was requested. Core 5 stop requested. CORE_STOP_ Core 4 Stop Request Core 4 stop not requested. REQ4 Reflects whether a core stop was requested. Core 4 stop requested. MSC8158E Reference Manual, Rev. 2 8-24 Freescale Semiconductor...
Page 267
Active IDLE Reflects the current status of the OCNDMA0 block. Idle OCNDMA0_ OCNDMA0 Stop Acknowledge No stop ACK issued. STOP_ACK Indicates that the OCNDMA0 block acknowledged a Stop ACK issued. Stop request. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-25...
SPP_P0_MAP Slave Port Mapping Priority 0 All transactions with priority 0 are assigned priority 0. Indicates the priority for the core slave port. All transactions with priority 0 are assigned priority 1. MSC8158E Reference Manual, Rev. 2 8-26 Freescale Semiconductor...
Indicates whether the smallform-factor pluggable SFP device reported LOS. (SFP) optical transceiver connected to CPRI4 indicates a loss-of-signal (LOS) status, meaning that the received optical power is below the worst-case receiver sensitivity. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-27...
Page 270
Reflects the status of the MAPLE-B CRPE power. Power up. — Reserved. Write to zero for future compatibility. ERASE_DONE Erase Done Erase not done. Reflects the status of the erase operation. Erase done. MSC8158E Reference Manual, Rev. 2 8-28 Freescale Semiconductor...
CP_LOSx signals. If the bit is set (1), it selects the RGMII2 signals. The remaining RGMII signals have dedicated connections that are not multiplexed. — Reserved. Write to zero for future compatibility. 1–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-29...
Reserved. Write to zero for future compatibility. 7–6 TIMER_32B_0 Input Select for 32-bit Timer 0 See Table 8-19 for multiplexing _MUX0_SEL Selects the input (out of 64) for the timer. options. 5–0 MSC8158E Reference Manual, Rev. 2 8-30 Freescale Semiconductor...
Input Select for 32-bit Timer 2 See Table 8-19 for multiplexing _MUX2_SEL Selects the input (out of 64) for the timer. options. 21–16 — Reserved. Write to zero for future compatibility. 15–14 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-33...
Settings GPIO_SLEW_ GPIO Slew Rate Control Medium. RATE_ Used with GPIO signal to set the slew rate for the High. CONTROL signals. — 0x1FFFFFF Reserved. Write to ones for future compatibility. 30–6 MSC8158E Reference Manual, Rev. 2 8-34 Freescale Semiconductor...
GIR1 General Interrupt Register 1 Offset 0x80 SWT7 SWT6 SWT5 SWT4 SWT3 SWT2 SWT1 SWT0 Type Reset O2M1_ERR O2M0_ERR — DMA_ERR CE_IECC CE_DECC — Type Reset — Type Reset — Type Reset MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-35...
Page 278
CE_DECC QUICC Engine DRAM Error Interrupt not asserted Reflects the status of the QUICC Engine DRAM Interrupt asserted ECC error interrupt. — Reserved. Write to zero for future compatibility. 17–0 MSC8158E Reference Manual, Rev. 2 8-36 Freescale Semiconductor...
GIR3 General Interrupt Register 3 Offset 0xA4 — CLS1_ERR CLS1_WP Type Reset CLS1_OV — DDR_ERR — MAPLE_ECC_ — Type Reset — MAPLE_GEN_ — Type Reset — CLS0_ERR — CLS0_WP CLS0_OV Type Reset MSC8158E Reference Manual, Rev. 2 8-38 Freescale Semiconductor...
Page 281
Detailed Register Descriptions GIR3 includes interrupt status of some debug/profiling events within MSC8158E. Those bits are not sticky but only sample the events. The GIR3 register is reset by a hard reset event. All bits are cleared on reset Table 8-24. GIR3 Bit Descriptions...
Reset GIER3_[0–5] include interrupt enable bits for cores 0–5 for debug/profiling events within MSC8158E. GIER3_[0–5] are reset by a hard reset event. All bits are cleared on reset. Write accesses to this register can be performed only in supervisor mode Table 8-25.
Type Reset GIR5 includes interrupt status of some internal events within MSC8158E. Those bits are sticky and cleared by writing a 1 to the bit. The GIR5 register is reset by a hard reset event. All bits are cleared on reset Write accesses to this register can only be performed in supervisor mode.
Page 285
Stop mode. T0_T1_AE Core 0 or Core 1 L2/M2 Access Error Interrupt Interrupt not asserted Reflects L2/M2 Access Error Interrupt which occurs Interrupt asserted when the referenced core is in Stop mode. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-43...
MBus System Fast Arbitration Initial Weight 0 Ranges from 0000 (lowest) to _FAST_INIT0_ Selects the initial fast arbitration weight for internal 1111 (highest weight—default) WEIGHT test and SEC (if present) accesses. 7–4 MSC8158E Reference Manual, Rev. 2 8-46 Freescale Semiconductor...
Table 8-29. GCR13 Bit Descriptions Name Reset Description Settings MAPLE_PIO_ MAPLE Input Allows a master to write to registers available to the 31–8 MAPLE RISC engines. — Reserved. Write to zero for future compatibility. 7–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-47...
Table 8-30. GSR8 Bit Descriptions Name Reset Description Settings MAPLE_PIO_ MAPLE Output Allows a master to read from registers available to 31–8 the MAPLE RISC engines. — Reserved. Write to zero for future compatibility. 7–0 MSC8158E Reference Manual, Rev. 2 8-48 Freescale Semiconductor...
Table 8-33. GCR_DDONE Bit Descriptions Name Reset Description Settings — Reserved. Write to zero for future compatibility. 31–14 Valid DONE1 DONE1_CH is not valid. Indicates whether the value of DONE1_CH is valid. DONE1_CH is valid. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-57...
MBus Plus Source ID REF_SRC_ID Used to identify the source ID for profiling. 24–20 MBUS_PLUS_ MBus Plus Late Arbitration Control Do not enable late arbitration. LATE_ARB_ Enables/disables late arbitration. Enable late arbitration. MSC8158E Reference Manual, Rev. 2 8-60 Freescale Semiconductor...
Page 303
This step should be included as part of the initialization code. DDRC_ DDRC Power Down DDRC power up. POWER_ When set, powers down all DDR areas with gated clocks. DDRC power down. DOWN MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-61...
Set the bit to 1 to disable accesses by the device Core 2 M2/L2 memory. peripherals (that is, DMAC, QUICC Engine module, Disable peripheral access to and so on) to M2/L2 in core 2. Core 2 M2/L2 memory. MSC8158E Reference Manual, Rev. 2 8-62 Freescale Semiconductor...
Name Reset Description Settings QE_PIO_IN QUICC Engine Input 31–8 Allows a master to write to registers available to the QUICC Engine RISC engines. — Reserved. Write to zero for future compatibility. 7–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-63...
Name Reset Description Settings QE_PIO_OUT QUICC Engine Output 31–8 Allows a master to read from registers available to the QUICC Engine RISC engines. — Reserved. Write to zero for future compatibility. 7–0 MSC8158E Reference Manual, Rev. 2 8-64 Freescale Semiconductor...
T_0_1_ L2Q Arbitration Control Enable Disabled UPGRADE_EN Controls whether priority auto-upgrade is enabled. Enabled T_0_1_ L2Q Arbitration Value UPGRADE_ Determines the value to use for priority auto upgrade VALUE when enabled. 15–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-65...
T_2_3_ L2Q Arbitration Control Enable Disabled UPGRADE_EN Controls whether priority auto-upgrade is enabled. Enabled T_2_3_ L2Q Arbitration Value UPGRADE_ Determines the value to use for priority auto upgrade VALUE when enabled. 15–0 MSC8158E Reference Manual, Rev. 2 8-66 Freescale Semiconductor...
T_4_5_ L2Q Arbitration Control Enable Disabled UPGRADE_EN Controls whether priority auto-upgrade is enabled. Enabled T_4_5_ L2Q Arbitration Value UPGRADE_ Determines the value to use for priority auto upgrade VALUE when enabled. 15–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-67...
CPRI3 Transmit Control Interrupt Interrupt not asserted CTRL3 Reflects the status of the interrupt. Interrupt asserted CPRI_TX_ CPRI2 Transmit Control Interrupt Interrupt not asserted CTRL2 Reflects the status of the interrupt. Interrupt asserted MSC8158E Reference Manual, Rev. 2 8-68 Freescale Semiconductor...
Page 311
Reflects the status of the interrupt. Interrupt asserted TIMING2 CPRI_TX_ CPRI1 Transmit Frame Timing Interrupt Interrupt not asserted FRAME_ Reflects the status of the interrupt. Interrupt asserted TIMING1 — Reserved. Write to zero for future compatibility.v 7–6 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-69...
Page 312
Interrupt not asserted FRAME_ Reflects the status of the interrupt. Interrupt asserted TIMING2 CPRI_RX_ CPRI1 Receive Frame Timing Interrupt Interrupt not asserted FRAME_ Reflects the status of the interrupt. Interrupt asserted TIMING1 MSC8158E Reference Manual, Rev. 2 8-70 Freescale Semiconductor...
Type Reset GIR7 includes interrupt status of some internal events within MSC8158E. Those bits are not sticky, but only sample events. GIR7 is reset by a hard reset event. All bits are cleared on reset Table 8-43. GIR7 Bit Descriptions...
Page 317
Reserved. Write to zero for future compatibility.v 7–5 EMSG_BM_ EMSG Buffer Manager General Error Interrupt Interrupt not asserted GEN_ERR Reflects the status of the EMSG buffer manager Interrupt asserted general error interrupt. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-75...
Defines the core subsystem window seen by the DDR memory through the L2 cache. — Reserved. Write to zero for future compatibility. 7–6 L2MAP_0 L2 Map for Core Subsystem 0 5–0 Defines the core subsystem window seen by the DDR memory through the L2 cache. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-79...
Defines the core subsystem window seen by the DDR memory through the L2 cache. — Reserved. Write to zero for future compatibility. 7–6 L2MAP_4 L2 Map for Core Subsystem 0 5–0 Defines the core subsystem window seen by the DDR memory through the L2 cache. MSC8158E Reference Manual, Rev. 2 8-80 Freescale Semiconductor...
RGMII1 RX clock-in delay. UCC1TCLK1_ UCC1 TX Clock In Delay—Bypass Short 2 Enables the tap delay. BYPASSSHRT_2 Allows you to include/exclude a short tap delay to the Disables the tap delay. RGMII1 TX clock-in delay. MSC8158E Reference Manual, Rev. 2 8-84 Freescale Semiconductor...
Page 327
There are four high resolution tap delays that can be added for each signal line: two short delays and two medium delays. The sum of the stow short delays plus the two medium delays is equal to one long delay (see Table 8-12 for details on how the delays are combined). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-85...
RGMII2 RX clock-in delay. UCC3TCLK1_ UCC3 TX Clock In Delay—Bypass Short 2 Enables the tap delay. BYPASSSHRT_2 Allows you to include/exclude a short tap delay to the Disables the tap delay. RGMII2 TX clock-in delay. MSC8158E Reference Manual, Rev. 2 8-86 Freescale Semiconductor...
Page 329
There are four high resolution tap delays that can be added for each signal line: two short delays and two medium delays. The sum of the stow short delays plus the two medium delays is equal to one long delay (see Table 8-12 for details on how the delays are combined). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 8-87...
Reflects the status of the interrupt. CPRI2 indicates a Interrupt asserted frame boundary detected. CPRI1 CPRI to MAPLE Interrupt 1 Interrupt not asserted Reflects the status of the interrupt. CPRI1 indicates Interrupt asserted as sub-slot (256 chips) detected. MSC8158E Reference Manual, Rev. 2 8-88 Freescale Semiconductor...
Core subsystem 3 can access the L2 memory of core subsystems 3, 4, and 5. Core subsystem 4 can only access the L2 memory of core subsystem 4 (itself). Core subsystem 5 can only access the L2 memory of core subsystem 5 (itself). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 335
(40000000 + Y × 32 MB) to (41FFFFFF + Y × 32 MB). Y is the Core5 slave port 6-bit mapping from the GCR. Y = 0 to 63 and mapped to the DDR. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 336
16 M – 512 K 0x34000000–0x3407FFFF Core 4 M2 memory 512 K max. Not all of the 512 KB are always allocated as M2. The allocation and illegal access detection are controlled by the core subsystem. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
CCSR Address Space The MSC8158E CCSR is mapped within a contiguous block of memory starting as 0xFFF10000. The size of the CCSR in MSC8158E is 956 KB. Table 9-4 details the CCSR address space. Table 9-4. CCSR Address Space Address...
Reserved for Core 2 index + 2) × 0x1000000) – 0x34000000–0x34FFFFFF Reserved for Core 3 1. For cores 4–5, the end 0x35000000–0x3FFFFFFF Reserved for Core 4 address is fixed. 0x36000000–0x3FFFFFFF Reserved for Core 5 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Reserved 9.5.2 Peripherals View of the System Address Space Table 9-6 describes the system address space as seen by the MSC8158E peripherals (RapidIO controllers, JTAG, QUICC Engine subsystem, DMA, and MAPLE-B–both MBus interfaces). Table 9-6. Peripherals View of the System Address Space...
Page 342
MAPLE eTVPE BD Ring Low Priority B 2 Parameter MTVBRLPB2P 0xE00000D7 − 0xE00000D8– MAPLE eTVPE BD Ring Low Priority A 3 Parameter MTVBRLPA3P 0xE00000DB − 0xE00000DC– MAPLE eTVPE BD Ring Low Priority B 3 Parameter MTVBRLPB3P 0xE00000DF MSC8158E Reference Manual, Rev. 2 9-10 Freescale Semiconductor...
Page 343
MAPLE eFTPE_0 BD Ring High Priority B 6 Parameter MF0BRHPB6P 0xE0000137 − 0xE0000138– MAPLE eFTPE_0 BD Ring High Priority A 7 Parameter MF0BRHPA7P 0xE000013B − 0xE000013C– MAPLE eFTPE_0 BD Ring High Priority B 7 Parameter MF0BRHPB7P 0xE000013F MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-11...
Page 344
MAPLE eFTPE_1 BD Ring High Priority B 2 Parameter MF1BRHPB2P 0xE0000197 − 0xE0000198– MAPLE eFTPE_1 BD Ring High Priority A 3 Parameter MF1BRHPA3P 0xE000019B − 0xE000019C– MAPLE eFTPE_1 BD Ring High Priority B 3 Parameter MF1BRHPB3P 0xE000019F MSC8158E Reference Manual, Rev. 2 9-12 Freescale Semiconductor...
Page 345
MAPLE eFTPE_1 BD Ring Low Priority B 6 Parameter MF1BRLPB6P 0xE00001F7 − 0xE00001F8– MAPLE eFTPE_1 BD Ring Low Priority A 7 Parameter MF1BRLPA7P 0xE00001FB − 0xE00001FC– MAPLE eFTPE_1 BD Ring Low Priority B 7 Parameter MF1BRLPB7P 0xE00001FF MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-13...
Page 346
MAPLE eFTPE_2 BD Ring Low Priority B 2 Parameter MF2BRLPB2P 0xE0000257 − 0xE0000258– MAPLE eFTPE_2 BD Ring Low Priority A 3 Parameter MF2BRLPA3P 0xE000025B − 0xE000025C– MAPLE eFTPE_2 BD Ring Low Priority B 3 Parameter MF2BRLPB3P 0xE000025F MSC8158E Reference Manual, Rev. 2 9-14 Freescale Semiconductor...
Page 347
MAPLE DEPE BD Ring High Priority B 6 Parameter MDEBRHPB6P 0xE00002B7 − 0xE00002B8– MAPLE DEPE BD Ring High Priority A 7 Parameter MDEBRHPA7P 0xE00002BB − 0xE00002BC– MAPLE DEPE BD Ring High Priority B 7 Parameter MDEBRHPB7P 0xE00002BF MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-15...
Page 348
MAPLE CRCPE BD Ring High Priority B 2 Parameter MCRCBRHPB2P 0xE0000317 − 0xE0000318– MAPLE CRCPE BD Ring High Priority A 3 Parameter MCRCBRHPA3P 0xE000031B − 0xE000031C– MAPLE CRCPE BD Ring High Priority B 3 Parameter MCRCBRHPB3P 0xE000031F MSC8158E Reference Manual, Rev. 2 9-16 Freescale Semiconductor...
Page 349
MAPLE CRCPE BD Ring Low Priority B 6 Parameter MCRCBRLPB6P 0xE0000377 − 0xE0000378– MAPLE CRCPE BD Ring Low Priority A 7 Parameter MCRCBRLPA7P 0xE000037B − 0xE000037C– MAPLE CRCPE BD Ring Low Priority B 7 Parameter MCRCBRLPB7P 0xE000037F MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-17...
Page 350
MAPLE CONVPE BD Ring Low Priority A 2 Parameter MCONVBRLPA2P 0xE0000453 − 0xE0000454– MAPLE CONVPE BD Ring Low Priority B 2 Parameter MCONVBRLPB2P 0xE0000457 − 0xE0000458– MAPLE CONVPE BD Ring Low Priority A 3 Parameter MCONVBRLPA3P 0xE000045B MSC8158E Reference Manual, Rev. 2 9-18 Freescale Semiconductor...
Page 351
MAPLE Turbo Viterbi Puncturing Vector 5 High Configuration Parameter MTVPV5HCP 0x0000052B − 0x0000052C– MAPLE Turbo Viterbi Puncturing Vector 5 Low Configuration Parameter MTVPV5LCP 0x0000052F − 0x00000530– MAPLE Turbo Viterbi Puncturing Vector 6 High Configuration Parameter MTVPV6HCP 0x00000533 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-19...
Page 352
− 0xE0000608– eFTPE Data Size Set 1 Parameter 2 FTPEDSS1P2 0xE000060B − 0xE000060C– eFTPE Data Size Set 2 Parameter 0 FTPEDSS2P0 0xE000060F − 0xE0000610– eFTPE Data Size Set 2 Parameter 1 FTPEDSS2P1 0xE0000613 MSC8158E Reference Manual, Rev. 2 9-20 Freescale Semiconductor...
Page 368
DMA Debug Event Status Register DMADESR − 0xFFF10378– Reserved 0xFFF1037B − 0xFFF1037C DMA Round Robin Priority Group Update Register DMARRPGUR − 0xFFF10380 DMA Channel Active Status Register DMACHASTR − 0xFFF10384– Reserved 0xFFF10387 MSC8158E Reference Manual, Rev. 2 9-36 Freescale Semiconductor...
Page 369
CLASS Priority Auto Upgrade Value Register 12 C0PAVR12 − 0xFFF18874 CLASS Priority Auto Upgrade Value Register 13 C0PAVR13 − 0xFFF18878 CLASS Priority Auto Upgrade Value Register 14 C0PAVR14 − 0xFFF1887C– reserved 0xFFF1887F MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-37...
Page 371
CLASS Initiator Watch Point Control Register 11 C0IWPCR11 − 0xFFF18A70 CLASS Initiator Watch Point Control Register 12 C0IWPCR12 − 0xFFF18A74 CLASS Initiator Watch Point Control Register 13 C0IWPCR13 − 0xFFF18A78 CLASS Initiator Watch Point Control Register 14 C0IWPCR14 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-39...
Page 376
I2CFDR C Frequency Divider Register − 0xFFF24C08 I2CCR C Control Register − 0xFFF24C0C I2CSR C Status Register − 0xFFF24C10 I2CDR C Data Register − 0xFFF24C14 I2CDFSRR C Digital Filter Sampling Rate Register MSC8158E Reference Manual, Rev. 2 9-44 Freescale Semiconductor...
Page 377
− 0xFFF25300– reserved 0xFFF25303 − 0xFFF25304 System Watchdog Control Register 3 SWCRR3 − 0xFFF25308 System Watchdog Count Register 3 SWCNR3 − 0xFFF2530C– reserved 0xFFF2530D − 0xFFF2530E System Watchdog Service Register 3 SWSRR3 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-45...
Page 378
− 0xFFF25704 System Watchdog Control Register 7 SWCRR7 − 0xFFF25708 System Watchdog Count Register 7 SWCNR7 − 0xFFF2570C– reserved 0xFFF2570D − 0xFFF2570E System Watchdog Service Register 7 SWSRR7 − 0xFFF25710– reserved 0xFFF257FF MSC8158E Reference Manual, Rev. 2 9-46 Freescale Semiconductor...
Page 399
0xFFF6147C The inbound message queue registers use this space. • 0xFFF61480– reserved 0xFFF614BC • 0xFFF614C0– QMLite Outbound Block 1 Message Queue 4 QOB1MQ4 0xFFF614FC The outbound message queue registers use this space. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-67...
Page 400
QIB2MQ1 0xFFF6217C The inbound message queue registers use this space. • 0xFFF62180– reserved 0xFFF621BC • 0xFFF621C0– QMLite Outbound Block 2 Message Queue1 QOB2MQ1 0xFFF621FC The outbound message queue registers use this space. MSC8158E Reference Manual, Rev. 2 9-68 Freescale Semiconductor...
Page 401
0xFFF6277C The inbound message queue registers use this space. • 0xFFF62780– reserved 0xFFF627BC • 0xFFF627C0– QMLite Outbound Block 2 Message Queue 7 QOB2MQ7 0xFFF627FC The outbound message queue registers use this space. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-69...
Page 402
0xFFF6347C The inbound message queue registers use this space. • 0xFFF63480– reserved 0xFFF634BC • 0xFFF634C0– QMLite Outbound Block 3 Message Queue 4 QOB3MQ4 0xFFF634FC The outbound message queue registers use this space. MSC8158E Reference Manual, Rev. 2 9-70 Freescale Semiconductor...
Page 403
QIB4MQ1 0xFFF6417C The inbound message queue registers use this space. • 0xFFF64180– reserved 0xFFF641BC • 0xFFF641C0– QMLite Outbound Block 4 Message Queue1 QOB4MQ1 0xFFF641FC The outbound message queue registers use this space. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-71...
Page 404
0xFFF6477C The inbound message queue registers use this space. • 0xFFF64780– reserved 0xFFF647BC • 0xFFF647C0– QMLite Outbound Block 4 Message Queue 7 QOB4MQ7 0xFFF647FC The outbound message queue registers use this space. MSC8158E Reference Manual, Rev. 2 9-72 Freescale Semiconductor...
Page 405
0xFFF6547C The inbound message queue registers use this space. • 0xFFF65480– reserved 0xFFF654BC • 0xFFF654C0– QMLite Outbound Block 5 Message Queue 4 QOB5MQ4 0xFFF654FC The outbound message queue registers use this space. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-73...
Page 406
QIB6MQ1 0xFFF6617C The inbound message queue registers use this space. • 0xFFF66180– reserved 0xFFF661BC • 0xFFF661C0– QMLite Outbound Block 6 Message Queue1 QOB6MQ1 0xFFF661FC The outbound message queue registers use this space. MSC8158E Reference Manual, Rev. 2 9-74 Freescale Semiconductor...
Page 407
0xFFF6677C The inbound message queue registers use this space. • 0xFFF66780– reserved 0xFFF667BC • 0xFFF667C0– QMLite Outbound Block 6 Message Queue 7 QOB6MQ7 0xFFF667FC The outbound message queue registers use this space. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-75...
Page 408
0xFFF6747C The inbound message queue registers use this space. • 0xFFF67480– reserved 0xFFF674BC • 0xFFF674C0– QMLite Outbound Block 7 Message Queue 4 QOB7MQ4 0xFFF674FC The outbound message queue registers use this space. MSC8158E Reference Manual, Rev. 2 9-76 Freescale Semiconductor...
Page 409
Data Streaming Information Capability Register DSICAR − 0xFFF80040– reserve 0xFFF80047 − 0xFFF80048 Data Streaming Logical Layer Control Command and Status Register DSLLCCSR − 0xFFF8004C Processing Element Logical Layer Control Command and Status Register PELLCCSR MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-77...
Page 410
Logical/Transport Layer Address Capture Command and Status Register LTLACCSR − 0xFFF80618 Logical/Transport Layer Device ID Capture Command and Status Register LTLDIDCCSR − 0xFFF8061C Logical/Transport Layer Control Capture Command and Status Register LTLCCCSR MSC8158E Reference Manual, Rev. 2 9-78 Freescale Semiconductor...
Page 426
LCTECR0 • 0xFFFAD29C– reserved 0xFFFAD2BB • 0xFFFAD2BC Lane C Test Control/Status Register 3 LCTCSR3 • 0xFFFAD2C0 Lane D General Control Register 0 LDGCR0 • 0xFFFAD2C4 Lane D General Control Register 1 LDGCR1 MSC8158E Reference Manual, Rev. 2 9-94 Freescale Semiconductor...
Page 427
LGTECR0 • 0xFFFAD39C– reserved 0xFFFAD3BB • 0xFFFAD3BC Lane G Test Control/Status Register 3 LGTCSR3 • 0xFFFAD3C0 Lane H General Control Register 0 LHGCR0 • 0xFFFAD3C4 Lane H General Control Register 1 LHGCR1 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 9-95...
Unified L2 cache: — 512 KB — 8 ways with 1024 indices — 64-byte line size — Physically addressed — Maximum user flexibility for real-time support through address partitioning of the cache MSC8158E Reference Manual, Rev. 2 10-2 Freescale Semiconductor...
StarCore architectures, including the SC140/SC140e and SC3400. The SC3850 core is organized the same way as the StarCore architectures. See Chapter 2, SC3850 Core Overview and the SC3850 DSP Core Reference Manual for details on the SC3850 core. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 10-3...
The cache array itself can be either read or written. This information is accessed through the JTAG interface in Debug processing state. MSC8158E Reference Manual, Rev. 2 10-4 Freescale Semiconductor...
A pseudo-LRU (PLRU) replacement algorithm selects the line to be replaced. If the line to be replaced contains MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
The programmer can control the burst size, as well as turn the HW line prefetch mechanism on or off. To minimize the time that the core stalls, the DFU implements critical word first external access and also supports prefetch hit. MSC8158E Reference Manual, Rev. 2 10-6 Freescale Semiconductor...
WTB, and the trace writes from the TWB) and the read transactions of the DFU. The DCU transfers the transactions to the data QBus after mastership on the bus is obtained or directly when it accesses the internal subsystem memory-mapped registers. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 10-7...
The same virtual addresses can be reused between tasks without a need to flush the caches between tasks because the caches store the task ID in their line tags and thus have a unique MSC8158E Reference Manual, Rev. 2 10-8...
— Adaptive write policy (AWP). Cacheable WB on hit and NC on miss. WB composed of eight 32-byte entries Full ECC support The main components of the L2 cache are as follows: MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 10-9...
The DPU has the following characteristics: Enables parallel counting of subsystem events in six dedicated counters, from more than 40 events Filters, processes, and adds task ID and profiling information on the OCE PC trace information MSC8158E Reference Manual, Rev. 2 10-10 Freescale Semiconductor...
L2 Cache slave port. The bridge is placed between two different asynchronous clock domains: Internal, SC3850 DSP subsystem clock domain External (out of subsystem) clock domain, which is slower or equal to the internal clock domain. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 10-11...
Make sure that the appropriate Stop ACK is asserted in GSR1. If not, assert the bit. (see Section 8.2.3, General Status Register 1 (GSR1), on page 8-6 for details). Issue a command to the specified core. stop MSC8158E Reference Manual, Rev. 2 10-12 Freescale Semiconductor...
CORE_SLV_GCR (see Section 8.2.38, Core Subsystem Slave Port General Configuration Register (CORE_SLV_GCR), on page 8-66). 10.12 Programming Restrictions The MSC8158E has the following programming restrictions when using the SC3850 DSP Subsystem: A write hit in the cache combined with DFLUSH/DSYNC can be lost for the following scenarios: —...
Note: The MMU, L1 ICache, L1 DCache, and L2 Cache/M2 memory are part of the MSC8158E SC3850 DSP core subsystem. For detailed programming and functional information, refer to the SC3850 DSP Core Reference Manual, available with a signed non-disclosure agreement. Contact your local Freescale dealer or sales representative for more information.
— A burst size of 1, 2, or 4 for the data fetch unit (DFU) and instruction fetch unit (IFU). — Hardware line prefetch enable. — Hardware next line prefetch enable (instruction only) — System/shared attributes — Write policy for data memory — L2 cache policy MSC8158E Reference Manual, Rev. 2 11-2 Freescale Semiconductor...
Whenever an instruction is addressed from a non-cacheable area, the IFU fetches it directly to the P bus of the core without writing it to the cache. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 462
— XP non-cacheable hit access. This exception indicates that an access is a hit access, even though the MMU classifies it as a non-cacheable access. This type of situation can occur if the memory space attributes changed in the MMU without invalidating the MSC8158E Reference Manual, Rev. 2 11-4 Freescale Semiconductor...
Write-through accesses do not allocate a new line in the cache for a write-miss access. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 11-5...
Page 464
. The DCache writes back and invalidates a cache line belonging to the DFLUSH specified address of the M3 or external memory. — . The DCache writes back a cache line belonging to the specified address of the DSYNC M3 or external memory. MSC8158E Reference Manual, Rev. 2 11-6 Freescale Semiconductor...
Page 465
SYNCIO — WA/WB double match: This is an error that occurs when a task-shared access has an address that matches a non-shared cache line. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 11-7...
64-byte Valid Bit Resolution (VBR) and Dirty Bit Resolution (DBR). Fetches the whole line at once. Writes back the whole line at once when a dirty line is thrashed from the cache. 8192 cache lines (TAGs). MSC8158E Reference Manual, Rev. 2 11-8 Freescale Semiconductor...
Page 467
— The maximum accumulative burst size is 64 bytes. The number of beats in the burst is equal to the burst size divided by the bus size.The maximum accumulative burst size is 64 bytes which is made in 4 beats of 128 bits. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 11-9...
Page 468
— Supports reading and writing memory mapped registers through memory mapped bank0. Supports user-initiated SW-PF (L2 software prefetch) operation. This operation enables PF of a specific (two-dimensional) address space as programmed in the cache registers. MSC8158E Reference Manual, Rev. 2 11-10 Freescale Semiconductor...
Page 469
— M2 non-mapped access error: This interrupt indicates that an access intended to access the L2 cache as M2, has exceeded the M2 boundaries indicating an issue with memory mapping to M2 configuration. Disabled on reset. Cannot be disabled after enabled. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 11-11...
11.6 Internal Boot ROM The MSC8158E device includes 96 KB of boot ROM accessible from all of the cores. This ROM provides the basic loading programming that allows the device to complete its initialization and load additional configuration and booting from external sources.
SDRAM. Auto-precharge mode. Clearing DDR_SDRAM_INTERVAL[BSTOPRE] causes the memory controller to issue an auto-precharge command with every read or write transaction. Auto-precharge mode can be enabled for separate chip selects by setting CSn_CONFIG[AP_n_EN]. MSC8158E Reference Manual, Rev. 2 12-2 Freescale Semiconductor...
To Error Delay Chain MDQS[0:8] Signals Management MDQS[0:8] Data from FIFO Data Signals SDRAM MDQ[0:63] MECC[0:7] FIFO Clocks MCK[0:2] Data from SDRAM Master MCK[0:2] Control Figure 12-2. DDR Memory Controller Block Diagram MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-3...
Page 474
When ECC is enabled, 1 clock cycle is added to the read path to check ECC and correct single-bit errors. ECC generation does not add a cycle to the write path. MSC8158E Reference Manual, Rev. 2 12-4...
Page 475
ECC checking function. Certain address and control lines may require buffering. Analysis of the device AC timing specifications, desired memory operating frequency, capacitive loads, and board routing loads can assist the system designer in deciding signal buffering requirements. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-5...
Page 476
3. Buffering may be needed if large memory arrays are used. 4. MCK[0:5] may be apportioned among all memory devices. Complementary bus is not shown. Figure 12-5. Example 64-Mbyte DDR SDRAM Configuration MSC8158E Reference Manual, Rev. 2 12-6 Freescale Semiconductor...
— Note: The MSC8158E controller supports a total of 2 Gbyte of DDR SDRAM using one or two banks of memory. If a transaction request is issued to the DDR memory controller and the address does not lie within any of the programmed address ranges for an enabled chip select, a memory select error is flagged.
Page 479
When interleaving is enabled, the chip selects being interleaved must use the same size of memory. One extra bit in the address decode is used for the interleaving to determine which chip select to access. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-9...
The amount of data transferred is determined by the data masks and the burst size, which is set to 8 by the DDR memory controller. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-11...
Page 482
Read Logical bank select Column Read with Logical bank select Column auto-precharge Write Logical bank select Column Write with Logical bank select Column auto-precharge Mode register set Opcode Opcode Opcode and mode MSC8158E Reference Manual, Rev. 2 12-12 Freescale Semiconductor...
Depending on DDR_SDRAM_CFG_2[NUM_PR], some number of rows are refreshed in each SDRAM bank during each refresh cycle. The value of REFINT depends on the specific SDRAMs used and the frequency of the interface as t MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-13...
Page 484
These figures assume the CLK_ADJUST is set to 1/2 DRAM cycle, an additive latency of 0 DRAM cycles is used, and the write latency is 1 DRAM cycle. MSC8158E Reference Manual, Rev. 2 12-14 Freescale Semiconductor...
PCB traces for DDR clock signals should be short, all on the same layer, and of equal length and loading. DDR SDRAM manufacturers provide detailed information on PCB layout and termination issues. MSC8158E Reference Manual, Rev. 2 12-16 Freescale Semiconductor...
ESDMODE code; the second corresponds to SDMODE. The Mode Register Set cycle time is set to 2 DRAM cycles. SDRAM Clock MRAS MCAS Code Code MBAn MDQn MDQS Figure 12-10. DDR SDRAM Mode-Set Command Timing MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-17...
RCWs. Disable automatic CPO by ensuring that TIMING_CFG_2[CPO] is not set to all 1s. Write 0x00000400 to the register at address 0xFFF20F08. Disable ZQ calibration by clearing DDR_ZQ_CNTL[ZQ_EN]. MSC8158E Reference Manual, Rev. 2 12-18 Freescale Semiconductor...
DIMM to a fully populated system with two DIMMs. TIMING_CFG_2[WR_DATA_DELAY] specifies how much to delay the launching of DQS and MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-19...
REFINT be less than that required by the SDRAM. When a refresh cycle is required, the DDR memory controller does the following: MSC8158E Reference Manual, Rev. 2 12-20 Freescale Semiconductor...
Figure 12-13. DDR SDRAM Bank Staggered Auto Refresh Timing System software is responsible for optimal configuration of TIMING_CFG_1 [REFREC] and TIMING_CFG_3[EXT_REFREC] at reset. Configuration must be completed before DDR SDRAM accesses are attempted. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-21...
TIMING_CFG_0[ACT_PD_EXIT] and TIMING_CFG_0[PRE_PD_EXIT]. A penalty of 1 cycle is shown in Figure 12-14. Mem Bus Clock COMMAND Figure 12-14. DDR SDRAM Power-Down Mode MSC8158E Reference Manual, Rev. 2 12-22 Freescale Semiconductor...
12.3.13 Error Checking and Correcting (ECC) The DDR memory controller supports error checking and correcting (ECC) for the data path between the core master and system memory. The memory detects all double-bit errors, detects MSC8158E Reference Manual, Rev. 2 12-24 Freescale Semiconductor...
Single-bit errors are counted and reported based on the ERR_SBE value. When a single-bit error is detected, the DDR memory controller does the following: Corrects the data Increments the single-bit error counter ERR_SBE[SBEC] MSC8158E Reference Manual, Rev. 2 12-26 Freescale Semiconductor...
At system reset, initialization software (boot code) must set up the programmable parameters in the memory interface configuration registers. See Section 12.5, Memory Controller Programming Model, on page 12-33 for detailed descriptions of the configuration registers. These parameters are shown in Table 12-14. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-27...
Should be set according to the specifications for the memory 12.5.6/12-45 used (t ACTTOACT Activate A to Activate B Should be set according to the specifications for the memory 12.5.6/12-45 used (t RRD) MSC8158E Reference Manual, Rev. 2 12-30 Freescale Semiconductor...
Page 501
Should typically be set to 0100 in burst chop mode (on-the-fly 12.5.18/12-66 same chip select (in or fixed). TIMING_CFG_4) Write-to-write turnaround for Should typically be set to 0100 in burst chop mode (on-the-fly 12.5.18/12-66 same chip select (in or fixed). TIMING_CFG_4) MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-31...
Mode Configuration 2 Register (DDR_SDRAM_MODE_2) for a description of this register. It is expected that a critical interrupt routine triggered by an external voltage sensing device will have time to set this bit. MSC8158E Reference Manual, Rev. 2 12-32 Freescale Semiconductor...
Reserved. Cleared to zero for future compatibility. 15–8 Ending Address 7–0 Specifies the ending address for chip select (bank) x. This value is compared against the 8 MSBs of the 32-bit address. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-35...
CSx. latency must be at least 3 cycles for ODT_RD_CFG Assert ODT only during reads to to be enabled. other chip selects. Reserved. Assert ODT for all reads. 101– Reserved. MSC8158E Reference Manual, Rev. 2 12-36 Freescale Semiconductor...
Page 507
9 column bits. 2–0 Specifies the number of column bits for SDRAM on 10 column bits. chip select x. See Table 12-7 and Table 12-8 for 11 column bits. details. 100– Reserved. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-37...
Note that a 5-bit value of 0_0000 is the same as a 5-bit value of 1_0000. Both values represent 16 cycles. — Reserved. Write to zero for future compatibility. 23–21 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-39...
Page 510
TIMING_CFG_1[CASLAT] to obtain a 5-bit value for the total CAS latency. Note that if this bit is set, then 8 clocks are added to the programmed value in TIMING_CFG_1[CASLAT]. — Reserved. Write to zero for future compatibility. 11–3 MSC8158E Reference Manual, Rev. 2 12-40 Freescale Semiconductor...
Page 511
2 platform cycles later than the other DRAM address and control signals. MODT[0:1], MCS[0:1], and MCKE[0:1] will be launched 5/2 platform cycles later than the other DRAM address and control signals. 110– Reserved MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-41...
3 clocks for the turnaround. Selecting a value other than 00 adds extra cycles to this predefined value according to the selection When DDR works in 8 beat burst the default is 5 clock cycles. MSC8158E Reference Manual, Rev. 2 12-42 Freescale Semiconductor...
This field must be programmed for proper operation of the DDR For any value of Controller. TIMING_CFG_3 [EXT_ACTTOPRE]: 0100 4 clock cycles. 0101 5 clock cycles. 0110 6 clock cycles. 0111 7 clock cycles. … 1111 15 clock cycles. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-45...
Page 516
18 clock cycles. indicates a maximum refresh to activate interval in ns. 1011 19 clock cycles. 1100 20 clock cycles. 1101 21 clock cycles. 1110 22 clock cycles. 1111 23 clock cycles. MSC8158E Reference Manual, Rev. 2 12-46 Freescale Semiconductor...
Page 521
Dynamic power management mode Enabled/disables dynamic power management is disabled. mode. When this bit is set and there is no on-going Dynamic power management mode memory activity, the SDRAM CKE signal is is enabled. deasserted. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-51...
Page 522
, DDR Control Section Driver Register 1 (DDRCDR_1) and 12.5.32 , DDR Control Driver Register 2 (DDRCDR_2) Clear this bit if using automatic hardware calibration. — Reserved. Write to zero for future compatibility. MSC8158E Reference Manual, Rev. 2 12-52 Freescale Semiconductor...
Page 523
For details on avoiding ECC errors in this mode, see the discussion of the DDR SDRAM Initialization Address Register on page 12-64. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-53...
DRAM. Assert ODT to internal I/O only during reads to DRAM. Always keep ODT asserted to internal I/O. — Reserved. Write to zero for future compatibility. 20–16 MSC8158E Reference Manual, Rev. 2 12-54 Freescale Semiconductor...
Page 525
This data initialization bit should only be set when the controller is idle. The value in DDR_DATA_INIT register will be used to initialize memory — Reserved. Write to zero for future compatibility. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-55...
Page 526
DRAM. The controller assumes that CS1 and CS3 are the ‘mirrored’ ranks of memory. The following signals are mirrored (MBA0 versus MBA1; MA3 versus MA4; MA5 versus MA6; MA7 versus MA8). MSC8158E Reference Manual, Rev. 2 12-56 Freescale Semiconductor...
SDMODE[8] to certain values depending upon the state of the initialization sequence (for resetting the SDRAM DLL) which is mapped to MA8; the memory controller ignores the corresponding bits of this field. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-57...
12.5.12 DDR SDRAM Mode Control Register (DDR_SDRAM_MD_CNTL) DDR_SDRAM_MD_CNTL DDR SDRAM Mode Control Register Offset 0x0120 CS_ SEL — MD_SEL SET_ SET_ CKE_CNTL WRC — Type Reset MD_VALUE Type Reset DDR_SDRAM_MD_CNTL register allows software to initiate the following tasks: MSC8158E Reference Manual, Rev. 2 12-58 Freescale Semiconductor...
Page 529
Register 3 • During a refresh command, this field is ignored. Note that MD_SEL contains the value that is presented to the memory bank address pins (MBAn) of the DDR controller. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-59...
Page 530
PRECHARGE ALL command, as follows: Issue a command; PRECHARGE MD_SEL selects the logical bank to be precharged Issue a PRECHARGE ALL command; all logical banks are precharged All other values are not valid. MSC8158E Reference Manual, Rev. 2 12-60 Freescale Semiconductor...
The value for REFINT depends on the specific SDRAMs used and the interface clock frequency. Refreshes are not issued when REFINT is cleared to all 0s. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-61...
DDR_DATA_INIT register provides the value to initialize memory if DDR_SDRAM_CFG_2[D_INIT] is set. Table 12-30. DDR_DATA_INIT Bit Descriptions Bits Reset Description INIT_VALUE Initialization Value 31–0 Specifies the initialization value for the DRAM if DDR_SDRAM_CFG_2[D_INIT] is set. MSC8158E Reference Manual, Rev. 2 12-62 Freescale Semiconductor...
Initialization Address 31–0 Provides the address used for the data strobe to data skew adjustment and automatic CAS to preamble calibration after setting DDR_SDRAM_CFG[MEM_EN]. This address is written during the initialization sequence. MSC8158E Reference Manual, Rev. 2 12-64 Freescale Semiconductor...
This will be the first valid address in the first enabled chip select. Use the initialization address programmed in DDR_INIT_ADDR. — Reserved. Write to zero for future compatibility. 30–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-65...
1001 9 clocks TIMING_CFG_0[WRT] will also be met before issuing a read 1010 10 clocks command. 1011 11 clocks 1100 12 clocks 1101 13 clocks 1110 14 clocks 1111 15 clocks MSC8158E Reference Manual, Rev. 2 12-66 Freescale Semiconductor...
Page 537
512 clocks to lock at power-on reset and after exiting self refresh. The controller Reserved will wait the specified number of cycles before issuing any commands Reserved after exiting POR or self refresh. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-67...
DDR controller exits self refresh. A ZQCS command is issued every 32 refresh sequences to account for VT variations. — Reserved. Write to zero for future compatibility. 30–28 MSC8158E Reference Manual, Rev. 2 12-70 Freescale Semiconductor...
Page 541
0101 32 clocks command may be issued. 0110 64 clocks 0111 128 clocks 1000 256 clocks 1001 512 clocks All other values reserved. — Reserved. Write to zero for future compatibility. 7–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-71...
4 clocks greater than t 8 clocks This field is only relevant when DDR_WRLVL_CNTL[WRLVL_EN] is 16 clocks set. 32 clocks 64 clocks 128 clocks — Reserved. Write to zero for future compatibility. MSC8158E Reference Manual, Rev. 2 12-72 Freescale Semiconductor...
Page 543
2 clocks 10–8 during write leveling. This field is only relevant when 4 clocks DDR_WRLVL_CNTL[WRLVL_EN] is set. The recommended value is 8 clocks 64 clocks 16 clocks 32 clocks 64 clocks 128 clocks MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-73...
DRAM clocks issued to the DDR controller, regardless of the 1010 DRAM clocks reason self refresh was initially entered. 1011 DRAM clocks 1100-1111 Reserved — Reserved. Write to zero for future compatibility. 15–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-81...
6. RCW7 Register Control Word 7 3–0 Represents the value that will be placed on MBA[1], MBA[0], MA[4], and MA[3] during writes to register control word 7. MSC8158E Reference Manual, Rev. 2 12-82 Freescale Semiconductor...
14. RCW15 Register Control Word 15 3–0 Represents the value that will be placed on MBA[1], MBA[0], MA[4], and MA[3] during writes to register control word 15. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-83...
Page 554
SDMODE[8] to certain values depending upon the state of the initialization sequence (for resetting the SDRAM DLL) which is mapped to MA8; the memory controller ignores the corresponding bits of this field. MSC8158E Reference Manual, Rev. 2 12-84 Freescale Semiconductor...
Page 555
When this value is driven onto the address bus during DDR SDRAM initialization, MA0 presents the LSB of ESDMODE3, which corresponds to DDR_SDRAM_MODE_4 bit 0. The MSB of the SDRAM extended mode 3 register value must be stored at DDR_SDRAM_MODE_4 bit 15. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-85...
Current Setting of PFET Driver Command Impedance 15–12 Current Setting of NFET Driver Command Impedance 11–8 Current Setting of PFET Driver Data Impedance 7–4 Current Setting of NFET Driver Data Impedance 3–0 MSC8158E Reference Manual, Rev. 2 12-86 Freescale Semiconductor...
The fields in DDRCDR_1, except DDRCDR_1[ODT], are used to enable driver calibration with the MDIC pins. This can be used to calibrate the DDR drivers to 36 Ω; however, this should only MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-87...
Page 558
Set DDRCDR_1[DSO_MDIC_EN] and ensure that DDRCDR_1[DHC_EN] is cleared Set the highest impedance (value 0000) for DDRCDR_1[DSO_MDICPZ] Set DDRCDR_1[DSO_MDIC_PZ_OE] to enable the output enable for MDIC[0] MSC8158E Reference Manual, Rev. 2 12-88 Freescale Semiconductor...
Page 559
After at least 4 cycles, read DDRDSR_1[1]. If the value is 1, then use the next lowest impedance, and read DDRDSR_1[1] again. Once a value of 0 is detected, then leave DDRCDR_1[DSO_MDICNZ] at the calibrated value Clear DDRCDR_1[DSO_MDIC_NZ_OE] MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-89...
This is combined with DDRCDR_1[ODT] to 60 Ω determine the termination value. The termination 50 Ω value is based on concatenating these 2 fields 150 Ω (DDRCDR_1[ODT]|DDRCDR_2[ODT]). 43 Ω 120 Ω Reserved MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-91...
DDR_IP_REV2 register provides read-only fields with the IP block integration and configuration options. Table 12-50. DDR_IP_REV2 Bit Descriptions Reset Description — Reserved. Write to zero for future compatibility. 31–24 IP_INT IP Block Integration Options 23–16 MSC8158E Reference Manual, Rev. 2 12-92 Freescale Semiconductor...
This field determines the type of test: write only, read only, or read/write. Do 01 Write only. not use the read-only test unless memory is already initialized. 10 Read only 11 Reserved. — Reserved. Write to zero for future compatibility. 23–20 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-93...
Tests ECC by forcing errors on the high 32 bits of the data path. When error injection is enabled, setting a bit causes the corresponding data path bit to be inverted during memory bus writes. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-95...
Tests ECC by forcing errors on the low 32 bits of the data path. When the Error Injection is enabled, setting a bit causes the corresponding data path bit to be inverted during memory bus writes. MSC8158E Reference Manual, Rev. 2 12-96 Freescale Semiconductor...
ECC mask bits. DDR_SDRAM_CFG[MEM_EN] EEIM ECC Error Injection Mask (0–7) 7–0 Setting a mask bit causes the corresponding ECC bit to be inverted during memory bus writes. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-97...
CAPTURE_DATA_LO register stores the low 32 bits of the read data path during error capture. Table 12-57. CAPTURE_DATA_LO Bit Descriptions Reset Description ECLD Error Capture Low Data Path 31–0 Captures the low 32 bits of the data path when errors are detected. MSC8158E Reference Manual, Rev. 2 12-98 Freescale Semiconductor...
1 to it. System software can determine the type of memory error by examining the contents of this register. If an error is disabled with ERR_DISABLE, the corresponding error is never detected or captured in ERR_DETECT. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-99...
Page 570
Memory Select Error Memory select error not detected. Indicates whether a memory select error has been Memory select error detected. detected. This bit is cleared by software writing a 1 to it. MSC8158E Reference Manual, Rev. 2 12-100 Freescale Semiconductor...
11 Read-modify-write. — Reserved. Write to zero for future compatibility. 11–1 Valid No valid information captured Set as soon as valid information is captured in the error Valid information captured capture registers. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-103...
CAPTURE_ADDRESS register holds the 32-bit of the transaction address when a DDR ECC error is detected. Table 12-63. CAPTURE_ADDRESS Bit Descriptions Reset Description Settings CADDR Captured Address 31–0 Captures the 32 bits of the transaction address when an error is detected. MSC8158E Reference Manual, Rev. 2 12-104 Freescale Semiconductor...
Indicates the number of single-bit errors detected and corrected since the last error report. If single-bit error reporting is enabled, an error is reported when this value cross the SBET value. SBEC is automatically cleared when the threshold value is reached. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 12-105...
Routes SEC and Serial RapidIO interrupts directly to the QUICC Engine processors with programmable masking of the each interrupt source for the QUICC Engine processors. The MSC8158E supports both internal and external interrupt sources as well as allowing for the generation of an interrupt to external devices.
Page 578
Interrupt Handling There are five device level interrupt handlers in the MSC8158E: Global interrupt controller. Allows for the generation of virtual interrupt requests (VIRQ) as well as virtual non-maskable interrupts (VNMI) towards the cores as well as generates interrupts to external devices.
The core that services the interrupt may clear this status bit by writing a value of one to it, or it may ignore this bit and work locally. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
General Configuration Block The general configuration block performs services for rare and debug interrupts generated throughout the MSC8158E before they reach the SC3850 EPICs. These services include: Generating ORed interrupt signals towards the SC3850 cores (see Section 13.2.1). Providing an interrupt enable bit for each interrupt source for each SC3850 core (see Section 13.5.2, General Interrupt Configuration, on page 13-29).
Interrupt Source #2 can be configured to pass on only the interrupt for Queue Manager 13.2.3 External Interrupts The MSC8158E allows a number of external interrupt inputs to be multiplexed with the GPIO signals to enable external devices to interrupt the cores (see Chapter 20, GPIO). There are also dedicated external interrupt pins.
Interrupt Handling 13.2.5 Interrupt Handling The MSC8158E interrupts sources can be grouped in to four basic types: Interrupts that represent a single interrupt source and are routed directly to the cores (for example, the DMA channel 0 EOB interrupt). Interrupts that represent multiple interrupt sources and are routed directly to the cores (for example, all I C interrupts).
(priority 32). The first 34 interrupt sources are used internally by the SC3850 DSP cores. The core-to-core interrupt mesh uses another 12 interrupts for core-to-core communication. All other interrupts are used by the MSC8158E device. The MSC8158E does not implement all of these possible sources.
Page 586
Interrupt Handling Table 13-5. MSC8158E Interrupt Table (Continued) Interrupt Description Level Edge index From Core Subsystem 2 – From Core Subsystem 2 – From Core Subsystem 3 – From Core Subsystem 3 – From Core Subsystem 4 – From Core Subsystem 4 –...
Page 590
Interrupt Handling Table 13-5. MSC8158E Interrupt Table (Continued) Interrupt Description Level Edge index Virtual Non Maskable Interrupt 3 — Virtual Non Maskable Interrupt 4 — Virtual Non Maskable Interrupt 5 — Virtual Non Maskable Interrupt 6 — Virtual Non Maskable Interrupt 7 —...
Page 591
Interrupt Mapping Table 13-5. MSC8158E Interrupt Table (Continued) Interrupt Description Level Edge index External IRQs IRQ0 (see note) IRQ1 (see note) IRQ2 (see note) IRQ3 (see note) IRQ4 (see note) IRQ5 (see note) IRQ6 (see note) IRQ7 (see note) IRQ8 (see note)
Page 592
0x180 64 B Reserved — — — 0x1C0 64 B I_MIFER Master interface errors 0x200 16 B from the MMU (NMI) I_SIFER Slave interface errors 0x210 16 B from the MMU (NMI) MSC8158E Reference Manual, Rev. 2 13-16 Freescale Semiconductor...
Page 593
0x15 0x350 16 B Reserved — 0x1E 0x16 0x360 16 B Reserved — 0x1F 0x17 0x370 16 B Reserved — 0x20 0x18 0x380 16 B Reserved — 0x21 0x19 0x390 16 B MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 13-17...
Page 594
16 B IRQ58 MAPLE BD 24 0x42 0x3A 1440 0x5A0 16 B IRQ59 MAPLE BD 25 0x43 0x3B 1456 0x5B0 16 B IRQ60 MAPLE BD 26 0x44 0x3C 1472 0x5C0 16 B MSC8158E Reference Manual, Rev. 2 13-18 Freescale Semiconductor...
Page 595
16 B eMSG Queue Manager Transmit Interrupt IRQ88 ORed Serial RapidIO 0x60 0x58 1920 0x780 16 B eMSG Buffer Manager Interrupt IRQ89 ORed CPRI Receive 0x61 0x59 1936 0x790 16 B Control Interrupt MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 13-19...
13.4 Core Interrupt Mesh To enhance communication between the six SC3850 DSP core subsystems, the MSC8158E has a core interrupt mesh. This mesh is built by connecting two interrupts from each of the SC3850 core subsystems to each of the DSP core subsystems (including itself). Table 13-7 describes the interrupt names connecting the DSP core subsystems: Table 13-7.
Interrupt Handling 13.5 Programming Model The MSC8158E interrupt program model includes configuration of the global interrupt controller and the general configuration block interrupt registers. Note: See the SC3850 DSP Core Subsystem Reference Manual for configuration and programming of the EPIC registers.
Interrupt asserted VS18 Virtual Interrupt 18 Status Interrupt not asserted Reflects the status of VNMI_2. Interrupt asserted VS17 Virtual Interrupt 17 Status Interrupt not asserted Reflects the status of VNMI_1. Interrupt asserted MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 13-27...
Page 604
Interrupt not asserted Reflects the status of the core virtual interrupt 1. Interrupt asserted Virtual Interrupt 0 Status Interrupt not asserted Reflects the status of the core virtual interrupt 0. Interrupt asserted MSC8158E Reference Manual, Rev. 2 13-28 Freescale Semiconductor...
If the interrupt is not resolved and cleared, an endless loop can occur and cause a deadlock. For details, see the SC3850 DSP Subsystem Reference Manual, Appendix C: Error Handling. MSC8158E Reference Manual, Rev. 2 13-30 Freescale Semiconductor...
(EDF) algorithm. The DMA controller also supports a Debug mode and profiling for application development and testing. Figure 14-1 shows the DMAC block diagram. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-1...
— MBus is in debug mode and each of its ports gracefully stops its transaction. — Channel logic in debug mode. The arbitration mechanism masks all channels requests. The last serviced channel gets is fully serviced. MSC8158E Reference Manual, Rev. 2 14-2 Freescale Semiconductor...
Updates the multi-dimension parameters (multi dimension-buffers) The sections that follow provide examples of several types of buffers. The BD_ATTR fields listed for each example are only those that do not have zero values. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-3...
Generate interrupt when buffer ends. CONT Non-continuous mode: the buffer closes when the size reaches zero. Increment BD_ADDR when the size reaches zero. BTSZ Maximum transfer size is one burst of 64 bytes. MSC8158E Reference Manual, Rev. 2 14-4 Freescale Semiconductor...
Continuous mode: the buffer is not closed when the size reaches zero. Reinitialize BD_ADDR to original value when the size reaches zero. BTSZ Maximum transfer size is one burst of 64 bytes. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-5...
Buffer base size of cyclic buffer. BD_ATTR Generate interrupt when buffer ends. CONT Non-continuous mode. Close the buffer when size reaches zero. Non-cyclic mode. BTSZ Maximum transfer size is one burst of 64 bytes. MSC8158E Reference Manual, Rev. 2 14-6 Freescale Semiconductor...
Generate interrupt when buffer ends. CONT Continuous mode. Do not close the buffer when size reaches zero. Increment BD_ADDRESS when size reaches zero. Next request calls buffer 0 when size reaches zero. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-7...
Continuous mode. Do not shut down the channel when size reaches zero Reinitialize BD_ADDRESS to original value when size reaches zero When size reaches zero, the next request calls buffer 0 BTSZ Maximum transfer size is one burst of 64 bytes MSC8158E Reference Manual, Rev. 2 14-8 Freescale Semiconductor...
0x40 bytes. The second dimension is composed of 0x80 lines of 0x40 bytes each. The offset between each 0x40 byte transaction is 0x1c0. The channel closes when the transfer completes after 0x80 iterations, and an interrupt is generated. Burst transactions are used on the bus. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-9...
Page 616
Third dimension iterations left. M3D_BCOUNT Third dimension base number of iterations. M3D_OFFSET Third dimension offset between two consecutive iterations. BD_MD_4D M4D_COUNT Fourth dimension iterations left. M4D_OFFSET Fourth dimension offset between two consecutive iterations. MSC8158E Reference Manual, Rev. 2 14-10 Freescale Semiconductor...
0x10. The offset between each two-dimensional buffers is –0xF4BB0 (0x1090 – 0xE5040). The channel closes when the transfer completes after 0x100 executions of the two-dimensional buffers, and an interrupt is generated. Burst transactions are used on the bus. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-11...
All MxD_COUNT must be set to their corresponding dimension parameter. All MxD_OFFSET must be set to the next address offset for the corresponding dimension loop. The MxD_OFFSET is written in twos-complement form. Figure 14-9 shows an example four-dimensional simple buffer. MSC8158E Reference Manual, Rev. 2 14-12 Freescale Semiconductor...
Page 619
–0xF3FB0 (0x1090 – 0xF5040). The channel closes when the transfer completes after 0x80 iterations of the three-dimensional buffer, and an interrupt is generated. Burst transactions are used on the bus. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-13...
Page 620
0x100 Third dimension base number of iterations. M3D_OFFSET 0xF3FB0 Third dimension offset between two consecutive iterations. BD_MD_4D M4D_COUNT 0x80 Fourth dimension iterations left. M4D_OFFSET 0x24050 Fourth dimension offset between two consecutive iterations. MSC8158E Reference Manual, Rev. 2 14-14 Freescale Semiconductor...
There is no constraint on the port used by each chained buffer. However, if the buffers use different ports, the DMA logic masks requests until data is out of the source or in the destination. This operation prevents out-of-sequence transactions at the ports. Table 14-9 shows the channel MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-15...
Page 622
0x100 Third dimension base number of iterations. M3D_OFFSET –0xF3FB0 Third dimension offset between two consecutive iterations. BD_MD_4D M4D_COUNT 0x80 Fourth dimension iterations left. M4D_OFFSET 0x24050 Fourth dimension offset between two consecutive iterations. MSC8158E Reference Manual, Rev. 2 14-16 Freescale Semiconductor...
Third dimension iterations left. M3D_BCOUNT Third dimension base number of iterations. M3D_OFFSET –0xF040 Third dimension offset between two consecutive iterations. BD_MD_4D M4D_COUNT Fourth dimension iterations left. M4D_OFFSET Fourth dimension offset between two consecutive iterations. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-17...
0x10. The offset between each two-dimensional buffer is –0xF3FB0 (0x1090 – 0xF5040). The base address of the channel is restored when the transfer completes after 0x100 executions of the two-dimensional buffers, and an interrupt is generated. MSC8158E Reference Manual, Rev. 2 14-18 Freescale Semiconductor...
Fixed-priority among round-robin groups. Each channel is assigned to one of the four priority groups as defined by the DCHCRx[RRPG] bit. Each priority group can contain from 0 (empty) to all 16 channels. Pending requests from the highest-priority group are serviced first. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-19...
Counter is enabled/disabled when channel is activated/deactivated. Two options for continued buffer: — Continuous mode. Continues the deadline counter and channel with no action by the EDF logic. — Reset mode. Reloads the counter. MSC8158E Reference Manual, Rev. 2 14-20 Freescale Semiconductor...
If a counter value equals the threshold value, EDF logic sets the corresponding sticky bit in the pending register. 14.3.2.2 Counter Control The EDF field in the source BD_ATTR of the channel defines the EDF logic behavior when source BD_SIZE reached zero. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-21...
For each error source, a bit in the DMA Error Register (DMAERR) indicates the error source. DMAERR also samples the first channel that caused the first bus error and the first channel that caused the first parity error. MSC8158E Reference Manual, Rev. 2 14-22 Freescale Semiconductor...
Peripheral to peripheral. Both the source and destination transactions are controlled by DRQn. They can be controlled by the same done signal or by different done signals. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-23...
Configuration Registers: GCR DMA Request 0 (GCR_DREQ0) GCR DMA Request 1 (GCR_DREQ1) GCR DMA Done (GCR_DDONE) For details about the layout and structure of these registers, see Chapter 8, General Configuration Registers. MSC8158E Reference Manual, Rev. 2 14-24 Freescale Semiconductor...
After the done signal is asserted, additional requests for the channel are ignored until the request signal is deasserted, the done signal is deasserted, and the request signal is reasserted. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-25...
GCR_DREQ1, and GCR_DDONE. See Chapter 8, General Configuration Registers for details. Enable the channel. After the MSC8158E has set up the DMA controller, the peripheral must perform the following steps: Deassert the input signal until the peripheral is ready to initiate the transfer.
GPIO block to enable the multiplexing of the handshaking signals and configure the associated channel information in the General Configuration Registers. See Section 14.5.4, Using the DMA Peripheral Interface Block, on page 14-26 for details. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-27...
The source can be either one-dimensional or Source is multi-dimensional. multi-dimensional. Written by: User DMDC Destination Multi-Dimensional Channel Destination is one-dimensional. The destination can be either one-dimensional or multi- Destination is dimensional multi-dimensional. Written by: User MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-29...
Page 636
The maximum number of one-dimensional BDs per destination is 1024. The maximum number of multi-dimensional BDs per destination is 512. For details on BD address calculation, see Section 14.6.21. Written by: User, DMA controller MSC8158E Reference Manual, Rev. 2 14-30 Freescale Semiconductor...
The interrupt latency in the system must be considered as well. When you are sure that the channel is disabled and there is no previous pending interrupts, the channel can be activated. MSC8158E Reference Manual, Rev. 2 14-32 Freescale Semiconductor...
This register is write only; writing a 1 to a bit toggles its value (that is, if the value is 0, it sets the bit and if it is 1, it clears the bit). Writing a zero to the bits has no effect. The DMACHDFR bits MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
When the DMA reinitializes the counter it reloads the counter with BASE_COUNT. The BASE_COUNT maximum value is 0xff and the minimum is 0. Note: Do not change the base count value of active channels. MSC8158E Reference Manual, Rev. 2 14-34 Freescale Semiconductor...
Reset: Each bit in the DMAEDFMR corresponds to an interrupt request bit in the DMAEDFSTR. When a bit is set, it enables the generation of an interrupt request of the corresponding counter. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-35...
Channel Number 000000–001111 Channel number. 23–18 Indicate the channel number of the DMAEDFMR to 01xxxx Reserved. change. 1xxxxx Reserved. User New Channel Mask Value Not masked. Stores the new value of DMAEDFMR[MASK_CH2]. Masked. MSC8158E Reference Manual, Rev. 2 14-36 Freescale Semiconductor...
Page 643
Stores the new value of DMAEDFMR[MASK_CH0]. Masked. User Enable Mask/Unmask Updating Update occurred. When set, updates DMAEDFMR[MASK_CH0 Perform update. according to NM3. When DMAEDFMR[MASK_CH0] is updated, the DMA controller clears this bit. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-37...
Note: Setting the Sn bits has no effect because in the MSC8158E, only unidirectional destination channel interrupts are implemented as described in Section 14.4.1.
NM2. Then the DMA controller clears this bit. Written by: User, DMA controller MASKCH1 Channel Number 00000–01111: Channel number. 15–11 The channel number to which DMAMR should be 1xxxx: Reserved changed. Written by: User MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-39...
Writing zero does not affect a bit value. Several bits can be cleared at one time. Note: You must clear the Dx and Sx bits before enabling the channel. MSC8158E Reference Manual, Rev. 2 14-40 Freescale Semiconductor...
Port 1 Transfer Error Indication No transfer error acknowledged on Indicates whether there is an acknowledged transfer port 1. error on port 1. Transfer error acknowledged on port 1. — Reserved, write zero for future compatibility. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-41...
Page 648
Indicates by which channel the last parity error was 10xxxx Reserved. caused. PRTYD Parity Error Destination Source transaction error. Indicates whether the first parity error was caused Destination transaction error. by a channel source or destination. MSC8158E Reference Manual, Rev. 2 14-42 Freescale Semiconductor...
DMARRPGR is a special register that allows you to modify the DMACHCR[RRPG] bit without a read-modify-write operation. Note: Do not modify this register while the DMA controller is in EDF mode (DMAGCR[AT] is set—see page 14-31). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-43...
Source BD = BDT_BASE + DMACHCR[SRCBDPT] × 16 × (DMACHCR[SMDC] + 1) Destination BD: BDT_BASE + offset + DMACHCR[DESBDPT] × 16 × (DMACHCR[DMDC] + 1) Offset is the decoded value of DMABDBR[DESO] MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-45...
Page 652
BDs and multi-dimensional BDs are chained only to multi-dimensional BDs. The types of source and destination BDs are defined in the DMACHCR (see page 14-29). Table 14-27 lists the channel parameters for a one-dimensional BD. MSC8158E Reference Manual, Rev. 2 14-46 Freescale Semiconductor...
Page 653
This 32-bit parameter describes the attributes of the channel handling this buffer. The fields of the BD_ATTR parameter are described in Table 14-28. BD_BSIZE Buffer Base Size 31–0 Holds the base size of the buffer. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-47...
BD_SIZE field. — Reserved. Write to zero for future compatibility. Next Buffer 25–16 When size reaches zero and CONT is set, the next request calls the buffer to which NBD points. MSC8158E Reference Manual, Rev. 2 14-48 Freescale Semiconductor...
Page 655
Typically, in continuous buffers, the channel should not destination. be masked. However, there is an automatic mask when continuous buffers switch between ports. The DMA controller unmasks the requests when the last data reaches the destination. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-49...
Page 656
This 52-bit parameter holds the two-dimensional parameters of the channel handling this buffer. It holds the base count value, current count, and address offset. The Multi Dimension fields are described in Table 14-31BD_MD_2D Field Descriptions, on page 14>-54. MSC8158E Reference Manual, Rev. 2 14-50 Freescale Semiconductor...
This field must not be set for four dimensional buffers. This field is not valid for BD_MD_ATTR[CONTD]<BD_MD+ATTTR[BD]. CONT Continuous Buffer Mode Buffer closes. Specifies whether the buffer closes when CONTD dimension Buffer continues operating. count reaches zero. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-51...
Page 659
FRZ is set in the BD_MD_ATTR. 10 Mask and freeze channel when third dimension ends. 11 Mask and freeze channel when fourth dimension ends. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-53...
Page 660
If the buffer is more than two dimensional, this field cannot be 0. M2D_OFFSET Second Dimension Offset 27–0 Written in two’s complement. The offset is added to the BD_MD_ADDR each time BD_MD_SIZE reaches zero. MSC8158E Reference Manual, Rev. 2 14-54 Freescale Semiconductor...
Page 661
If the buffer is four dimensional, then this field cannot be 0. M4D_OFFSET Fourth Dimension Offset 27–0 Written in two’s complement. The offset is added to the BD_MD_ADDR each time BD_MD_SIZE, M2D_COUNT, and M3D_COUNT reach zero. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 14-55...
One 8-channel SerDes PHY that multiplexes the RapidIO, CPRI, and SGMII signals for external connection. These communication interfaces allow the cores to execute the data processing code and be relieved from the data transfer and handling overhead for processing serial data flow. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-1...
The actual signal multiplexed for each channel in the PHY is determined by the SerDes configuration field contents in the lower 32 bits of the reset configuration word, which are recorded in RCWLR[SP]. See Chapter 5, Reset for details. Figure 15-1. HSSI Block Diagram MSC8158E Reference Manual, Rev. 2 15-2 Freescale Semiconductor...
The multiplexer and arbiter module block is a pure logic data path design, that supports up to 16 initiators, performs an arbitration, and concentrates them towards a specific target normalizer module. MSC8158E Reference Manual, Rev. 2 15-4 Freescale Semiconductor...
— For priority 1 requests, priority is upgraded to priority 2 after AUV/2 cycles. — For priority 2 requests, priority is upgraded to priority 3 (highest) after AUV/4 cycles. The upgrade process continues until the request is processed or it reaches priority 3. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-5...
Note: If the associated AEIx bit in the C1ISR is already set when the illegal address is identified (due to a prior illegal address), then the new error address is not stored. MSC8158E Reference Manual, Rev. 2 15-6 Freescale Semiconductor...
The CDPU is deactivated by: Writing a 0 to the C1PCR[PE] bit. Configuring a watch point event in C1PCR[WPEC] field. Reaching a time-out in the C1PTOR when the C1PCR[TOE] bit is set. C1PRCR overflow. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-7...
— In time-out mode, read C1PRCR. — If C1PISR[OVE] is set or if C1PRCR is equal to C1PTOR, the results are not valid. — Read C1PGCRx to get the number of watch point events during the measurement. MSC8158E Reference Manual, Rev. 2 15-8 Freescale Semiconductor...
Stall at the initiator does not mean that the initiator target data phase is idle; it indicates the delay after which the next access from the initiator starts at the target after a WAR or TS event. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor...
Page 672
= [(NumberOfReadAck + NumberOfWriteAck) × W]. where W is the port width. Note that an access may be smaller than the port width. MSC8158E Reference Manual, Rev. 2 15-10 Freescale Semiconductor...
Page 673
Watch point event scan be snooped on any initiator and any target. It can be used for debug and also for triggering profiling counts that are pre-configured, this is non-intrusive (eliminating the need to write to the registers in the middle of an application) MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-11...
The On-Chip Network (OCN) fabric is a non-blocking high speed interconnect used for embedded system devices. The MSC8158E DSP HSSI uses an 8-port OCN to connect between the Serial RapidIO Controllers, the two OCN-to-MBus bridges (O2M[0–1]) that connect to the CLASS1 module, and the two supporting dedicated DMA controllers.
15.5 DMA Controllers The MSC8158E includes two dedicated DMA controllers that transfer blocks of data between the serial RapidIO controller/PEX Controller and the local address space independent from the DSP cores. Figure 15-3 shows the block diagram of each dedicated DMA controller.
The ATMU translates a request address into a logical device source/destination. 15.5.3 Modes of Operation Each MSC8158E dedicated DMA controller has two modes of operation: basic and extended. Basic mode is the DMA legacy mode. It does not support advanced features. Extended mode supports advanced features like striding and flexible descriptor structures.
Page 677
Refer to Section 15.5, DMA Controllers for details on these modes. Figure 15-4 shows the general DMA operational flow chart. Software Sets 1st Link Process Link Advance Link Last Link? Chain or Extended Mode? Last List? Done — DMA Halts Advance List Figure 15-4. DMA Operational Flow Chart MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-15...
This mode is primarily included for backward compatibility with existing DMA controllers which use a simple programming model. This is the default mode out of reset. The different modes of operation under the basic mode are explained in the following sections. MSC8158E Reference Manual, Rev. 2 15-16 Freescale Semiconductor...
Poll the channel state (see Table 15-3), to confirm that the specific DMA channel is idle. Initialize the source attributes (SATRn), DATRn, and BCRn registers. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-17...
SRn[CB] is automatically cleared by the DMA controller after finishing the transfer of the last descriptor segment, or if the transfer is aborted (MRn[CA] transitions from a 0 to 1), or if an error occurs during any of the transfers. MSC8158E Reference Manual, Rev. 2 15-18 Freescale Semiconductor...
Striding on the source address can be accomplished by setting SATRn[SSME] and setting the desired stride size and distance in SSRn. Striding on the destination address can be accomplished by setting DATRn[DSME] and setting the desired stride size and distance in DSRn. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-19...
Setting MRn[CDSM/SWSM] causes MRn[CS] to be set automatically when CLSDARn is written. The sequence of events to start and complete an extended chain using single-write start mode is as follows: MSC8158E Reference Manual, Rev. 2 15-20 Freescale Semiconductor...
If EOLND or EOLSD is still set for their respective modes, the DMA controller remains in the idle state. If the EOLND or EOLSD bits are not set, the DMA controller continues the transfer by refetching the new descriptor. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-21...
However, if only one channel is busy, hardware overrides the specified bandwidth control size value. The DMA controller allows a channel to transfer up to 1 Kbyte at a time when no other channel is active. MSC8158E Reference Manual, Rev. 2 15-22 Freescale Semiconductor...
This sequence repeats until the amount of data transferred equals the transfer size. Stride Distance Stride Size Base Address New Base Address New Base Address Figure 15-5. Stride Size and Stride Distance MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-23...
For each link descriptor in the chain, the DMA controller starts a new DMA transfer with the control parameters specified by that descriptor. Table 15-4 summarizes the DMA list descriptors. MSC8158E Reference Manual, Rev. 2 15-24 Freescale Semiconductor...
Page 687
Reserved 0x04 Next List Descriptor Address 0x08 Reserved 0x0c First Link Descriptor Address 0x10 Source Stride 0x14 Destination Stride 0x18 Reserved 0x1c Reserved Figure 15-6. List Descriptor Format (Used for 32-bit devices) MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-25...
Page 688
Source Attributes 0x04 Source Address 0x08 Destination Attributes 0x0c Destination Address 0x10 Reserved 0x14 Next Link Descriptor Address 0x18 Byte Count 0x1c Reserved Figure 15-8. Link Descriptor Format (Used for 32-bit devices MSC8158E Reference Manual, Rev. 2 15-26 Freescale Semiconductor...
MRn[SAHTS]. The source address must be aligned to a size specified by SAHTS. If MRn[DAHE] is set, the destination interface transfer size capability must be greater than or equal to MRn[DAHTS]. The destination address must be aligned to the size specified by DAHTS. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-27...
(see Section 8.2.6 and Section 8.2.7 in Chapter 8, General Configuration Registers). Control of the individual lanes is done through the SRDS Control Registers described in Section 15.9.56 through Section 15.9.59. MSC8158E Reference Manual, Rev. 2 15-28 Freescale Semiconductor...
8 SerDes ports. The BLUE lines indicate PLL1 support and the RED lines indicate PLL2 support. In the case of the 8x0 configuration, PLL2 is off. Figure 15-10. 8x0 PLL Multiplexing Figure 15-11. 6x2 PLL Multiplexing Figure 15-12. 4x4 PLL Multiplexing MSC8158E Reference Manual, Rev. 2 15-30 Freescale Semiconductor...
Reserved. Write to 0 for future compatibility. 7–6 Priority Mapping 1 Priority 0 5–4 Holds the priority value assigned to Priority 1 transactions that arrive with a value of 1. Priority 2 Priority 3 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-35...
• Priority 1: Bits 15–1 are loaded into bit 14–0 of the counter and a 0 into bit 15. • Priority 2: Bits 15–2 are loaded into bits 13–0 of the counter and 0 into bits 15 and 14. MSC8158E Reference Manual, Rev. 2 15-36...
— Reserved. Write to 0 for future compatibility. 31–1 Auto-Upgrade Enable Auto-upgrade mechanism disabled. Enables/disables the auto-upgrade Auto-upgrade mechanism enabled. mechanism. Note: This bit can only be cleared by a hardware reset. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-37...
CPRI MBus Port 0 — CPRI write 10100 AXI-to-MBus port 0 (AXI2M0)—eMSG write ERR_ADD Error Address 3–0 This field stores the 4 msbs of the address of the internal transaction that caused the error. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-39...
Reserved. Write to 0 for future compatibility. 31–1 WPEN Watch Point Enable The watch point is disabled. Enables/disables the auto-upgrade The watch point is enabled. mechanism. Note: This bit can only be cleared by a hardware reset. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-41...
As a general rule, these recommended settings select a weighted arbitration of 3. Also, see Table 15-37 for recommended initial settings for the CLASS1 Arbitration Control Register (C1ACR). MSC8158E Reference Manual, Rev. 2 15-42 Freescale Semiconductor...
The 24 msb of the start address of the specified port window. The lsbs are all zeros. Note: Never write to this register when there are open transactions being handled by the CLASS to the specified target controlled by the register. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-43...
The 24 msb of the start address of the specified port window. The lsbs are all zeros. Never write to this register when there are open transactions being handled by the CLASS to the specified target controlled by the register. MSC8158E Reference Manual, Rev. 2 15-44 Freescale Semiconductor...
4 Kbytes. Note: Never write to this register when there are open transactions being handled by the CLASS1 to the specified target controlled by the register. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-45...
4 Kbytes. Never write to this register when there are open transactions being handled by the CLASS1 to the specified target controlled by the register. MSC8158E Reference Manual, Rev. 2 15-46 Freescale Semiconductor...
DEN is cleared continues normally until completed. Note: To ensure proper operation, do not enable the specific decoder before the start and end addresses are specified in the associated C1SAD1 and C1EAD1. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-47...
Page 710
(defined by C0SAD2/C0EAD2). Use for cases of unbalanced reads/writes or to split address space among different HSSI masters. Note: A hit in C1SAD2/C1EAD2 has a higher priority than a hit in C1SAD1/C1EAD1 window. MSC8158E Reference Manual, Rev. 2 15-48 Freescale Semiconductor...
Disables the decoder. Enables/disables the specified decoder. Enables the decoder. Never write to this register when there are open transactions being handled by the CLASS1 to the specified target controlled by the register. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-49...
Address Error Interrupt 2 No error. A bit is set if for a received transaction Error detected. request, it does not belong to any port address space or falls inside one of the error areas. MSC8158E Reference Manual, Rev. 2 15-50 Freescale Semiconductor...
Page 713
Address Error Interrupt 0 No error. A bit is set if for a received transaction Error detected. request, it does not belong to any port address space or falls inside one of the error areas. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-51...
Interrupt masked. Used to enable/disable the address error Interrupt enabled. interrupt for an initiator. AEI0 Address Error0 Interrupt Enable Interrupt masked. Used to enable/disable the address error Interrupt enabled. interrupt for an initiator. MSC8158E Reference Manual, Rev. 2 15-52 Freescale Semiconductor...
Time-out function disabled. Enables/disables the time-out mechanism. Time-out function enabled. — Reserved. Write to 0 for future compatibility. 3–1 Profiling Enable Profiling unit disabled. Enables/disables the debug profiling unit Profiling unit enabled. operation. MSC8158E Reference Manual, Rev. 2 15-54 Freescale Semiconductor...
Enables/disables the atomic access type Atomic access type compare with C1WPACR comparison. enabled. Read-Safe Access Compare Enable Read-safe type compare disabled. Enables/disables the read-safe type Read-safe type compare with C1WPACR comparison. enabled. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-55...
Page 718
Enables/disables comparison of the Address compare with C1WPACR enabled. access address. Count Enable Counter 1 disabled for watch point events. Enables/disables the counter for watch Counter 1 enabled for watch point events. point events. MSC8158E Reference Manual, Rev. 2 15-56 Freescale Semiconductor...
For every bit in C1WPAMR[ADDM] that is cleared, make sure the corresponding bit is cleared in the ADDR. The bit location in ADDM (b) corresponds to the b + 12 bit location in ADDR. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-57...
11 Priority 3 (lowest) Byte Count The byte count to monitor can be from 1 to 511 8–0 This field defines the value of the byte bytes. count that the watch point unit monitors. MSC8158E Reference Manual, Rev. 2 15-58 Freescale Semiconductor...
11111110 Aligned with a range of 8 KB. sure the corresponding 11111111 Aligned with a range of 4 KB. bit is cleared in the All other values are reserved. C1WPACR. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-59...
Table 15-31 lists the C1PTOR bit field descriptions. Table 15-31. C1PTOR Bit Descriptions Name Reset Description 0xFFFFFFFF Time-Out 31–0 Holds the time-out value used to stop the profiling unit when the time-out function is enabled. MSC8158E Reference Manual, Rev. 2 15-60 Freescale Semiconductor...
The watch point unit for the associated target is 2–1 Each bit enables monitoring of access by disabled. the associated target. The watch point unit for the associated target is enabled. — Reserved. Write to 0 for future compatibility. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-61...
Enables monitoring of access by the Watch point event captured. associated target. Overflow Event No overflow occurred. Enables monitoring of access by the C1PRCR overflowed (reached 0xFFFFFFFF) associated target. during the last measurement. MSC8158E Reference Manual, Rev. 2 15-62 Freescale Semiconductor...
Watch Point Event Enable Watch point interrupt is masked. Enables/disables a watch point interrupt. Watch point interrupt is enabled. OVEE Overflow Event Enable Overflow interrupt is masked. Enables/disables an overflow interrupt. Overflow interrupt is enabled. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-63...
When PE clears, the CLASS1 stops all profiling counters. The register is reset only by a hardware reset only. Table 15-35 lists the C1PRCR bit field descriptions. Table 15-35. C1PRCR Bit Descriptions Name Reset Description Counter 31–0 Holds the reference counter for the profilers. MSC8158E Reference Manual, Rev. 2 15-64 Freescale Semiconductor...
Table 15-36 lists the C1PGCR bit field descriptions. Table 15-36. C1PGCR Bit Descriptions Name Reset Description Counter 31–0 Holds the counter value of the selected measurement. Table 15-1 lists the measurements counted by each counter for each configuration combination. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-65...
This value assigns late arbitration to system CLASS accesses. This is just an initial value, and can be changed according to the application requirements and system traffic. — Reserved. Write to 0 for future compatibility. MSC8158E Reference Manual, Rev. 2 15-66 Freescale Semiconductor...
11 8 bytes. based on the size. The defined size must be equal to or small than the value of MR[BWC] to avoid undefined behavior. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-67...
Page 730
Extended Chaining Enable (CTM = 0 only) Extended chaining disabled. When set, enables extended chaining mode. Extended chaining enabled. Note: This bit is reserved in direct mode. MSC8158E Reference Manual, Rev. 2 15-68 Freescale Semiconductor...
Page 731
Starts the DMA process if the channel is idle (SR[CB] is cleared). Setting the bit while the channel is busy continues the current transfer from the point at which it stopped. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-69...
Write a 1 to this bit to clear it. Channel Busy Channel is idle, DMA transfer Indicates the current status of the channel. completed, error occurred, or a channel abort occurred. DMA transfer is in progress. MSC8158E Reference Manual, Rev. 2 15-70 Freescale Semiconductor...
Page 733
After transferring the last block of data in the last list End-of-list interrupt. descriptor, if MR[EOLSIE] is set, then this bit is set and an interrupt is generated. Note: Write a 1 to this bit to clear it. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-71...
If EOLSD is set, all DMA transfers are complete and the DMA controller halts. Table 15-40 describes the DnECLNDAR fields. Table 15-40. DnECLNDAR Field Descriptions Bits Reset Description Setting — Reserved. Write to zero for future compatibility. 31–4 MSC8158E Reference Manual, Rev. 2 15-72 Freescale Semiconductor...
Note: This field is used for all transfers. For RapidIO transactions, it is the lower portion of the 36-bit address formed by combining with the ECLNDA for use with RapidIO transaction types. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-73...
Specifies the source transaction type. processor. Note: Writing a reserved value to this field causes a All other values reserved. programming error to be detected and indicated in SR[PE] for the specified channel. MSC8158E Reference Manual, Rev. 2 15-74 Freescale Semiconductor...
DMA write operation unless the final stride of a striding operation is less than the stride size, it which case it remains equal to the address from with the last stride began. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-75...
Destination Stride Register (DSR) for the specified channel. Note: This bit is ignored in basic mode (MR[EFE] is cleared (0). — Reserved. Write to zero for future compatibility. 23–20 MSC8158E Reference Manual, Rev. 2 15-76 Freescale Semiconductor...
DMA write operation unless the final stride of a striding operation is less than the stride size, it which case it remains equal to the address from with the last stride began. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-77...
31–26 Byte Count 25–0 Contains the number of bytes to transfer. The value in this field is decremented after each DMA read operation. The maximum transfer size is 2 – 1 bytes. MSC8158E Reference Manual, Rev. 2 15-78 Freescale Semiconductor...
31–4 ENLNDA Next Link Descriptor Extended Address 3–0 Contains the most significant 4 bits of the 36-bit address used with RapidIO transactions only. Note: This field is not used for local transactions. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-79...
Enables/disables the next descriptor Generate next descriptor end-of-segment interrupt when the current DMA end-of-segment interrupt when transfer for the current link descriptor completes. transfer is complete. — Reserved. Write to zero for future compatibility. 2–1 MSC8158E Reference Manual, Rev. 2 15-80 Freescale Semiconductor...
31–4 ECLSDA Current List Descriptor Extended Address 3–0 Contains the most significant 4 bits of the 36-bit address used with RapidIO transactions only. Note: This field is not used for local transactions. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-81...
RapidIO transactions, it is the lower portion of the 36-bit address formed by combining with the ECLSDA for use with RapidIO transaction types. — Reserved. Write to zero for future compatibility. 4–0 MSC8158E Reference Manual, Rev. 2 15-82 Freescale Semiconductor...
31–4 ENLSDA Next List Descriptor Extended Address 3–0 Contains the most significant 4 bits of the 36-bit address used with RapidIO transactions only. Note: This field is not used for local transactions. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-83...
Last list descriptor in memory. descriptor in memory. When the bit is set, the DMA controller halts after the last link descriptor transaction finishes. Note: This bit is ignored in direct mode. MSC8158E Reference Manual, Rev. 2 15-84 Freescale Semiconductor...
Holds the number of bytes to transfer before jumping to the next address as specified in the source stride distance field. Source Stride Distance 11–0 The source stride distance in bytes from the start byte to the end byte. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-85...
Holds the number of bytes to transfer before jumping to the next address as specified in the destination stride distance field. Destination Stride Distance 11–0 The destination stride distance in bytes from the start byte to the end byte. MSC8158E Reference Manual, Rev. 2 15-86 Freescale Semiconductor...
• Bits 23–20 correspond to the value of SATRx[ESAD]/DATRx[EDAD] • Bits 19–0 correspond to bits 31–12 of SARx[SAD]/DARx[DAD] Note: For local transactions, the most significant 4 bits in this field must be 0s. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-89...
SRIO Port 0 value defaults to local address space. 1101 SRIO Port 1 1111 OCN to MBus Bridge 1 for local space. All others reserved. — Reserved. Write to zero for future compatibility. 19–6 MSC8158E Reference Manual, Rev. 2 15-90 Freescale Semiconductor...
Page 753
When using the same OCN-to-MBus (O2M) for Read and Write transactions, the write transactions may write incorrect data for specific access sequences. To preclude this scenario, use one bridge for Write transactions and the other bridge for read transactions. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-91...
Reset. 0x02F1 4.9152 Gbps Every time that software preforms a SerDes reset request, the register values are overwritten 0x0265 6.1440 Gbps based on the recommended settings for each link rate. MSC8158E Reference Manual, Rev. 2 15-92 Freescale Semiconductor...
Reset. 0x03B1 4.9152 Gbps Every time that software preforms a SerDes reset request, the register values are overwritten 0x02FF 6.1440 Gbps based on the recommended settings for each link rate. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-93...
Software can only set this bit but not clear it. If the bit cleared before reset is complete, the reset state machine ignores the change. — Reserved. Write to zero for future compatibility. 30–0 MSC8158E Reference Manual, Rev. 2 15-94 Freescale Semiconductor...
Invokes an internal signal that resets the PLL lock detection and test PLL Reset. circuitry. It is used in CPRI auto rate negotiation. — Reserved. Write to zero for future compatibility. 6–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-95...
10 Common mode is high impedance, Rx termination is uncalibrated 120 Ω differential. 11 Common mode is 0.7*xcorevdd through 3 KΩ, Rx termination is uncalibrated 120 Ω differential. — Reserved. Write to zero for future compatibility. 7–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-97...
Reserved. Write to zero for future compatibility. 27–26 TRAT_ Configured Transmitter Speed Selection Full speed by Reset Selects the lane receiver speed Half speed 25–24 Quarter speed reserved — Reserved. Write to zero for future compatibility. 23–0 MSC8158E Reference Manual, Rev. 2 15-98 Freescale Semiconductor...
Tx Output Pad Control Signal for Transmitter enabled. by Reset Common Mode Force transmitter output to common mode. Selects the transmitter common mode. — Reserved. Write to zero for future compatibility. 25–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-99...
(recommended for all others) 10 3 Levels of Tx Equalization (+1 pre-cursor and +1 post-cursor) 11 4 Levels of Tx Equalization (+1 pre-cursor and +2 post-cursors) — Reserved. Write to zero for future compatibility. 27–20 MSC8158E Reference Manual, Rev. 2 15-102 Freescale Semiconductor...
Page 765
• Serial RapidIO 3.125/2.5 Gbps short run 10100 0.5x full swing = 001000 All other values represent intermediate values. • Serial RapidIO 3.125/2.5 Gbps long run = 000000 • SGMII 1.25 Gbps = 001011 • CPRI = 000000 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 15-103...
01 Digital loopback. the Rx amplifier to allow for on-chip system 10 Reserved. check. 11 Reserved. The recommended settings for all protocols is 00. — Reserved. Write to zero for future compatibility. 27–0 MSC8158E Reference Manual, Rev. 2 15-104 Freescale Semiconductor...
Data throughput is managed using a buffer manager (BMLite) and a frame manager (FMLite). The MSC8158E device can connect directly to a host, another MSC8158E device, or a serial RapidIO switch. Each port in the switch is point-to-point connected to the MSC8158E device through a serial RapidIO link that typically carries packets in both directions.
Page 768
It handshakes with the software running on a DSP core through buffer descriptors (BDs) that are messaged from the DSP core to the host. The host can put all the data buffers into its memory and have the MSC8158E access the data.
Page 769
The actual signal multiplexed for each channel in the PHY is determined by the SerDes configuration field contents in the lower 32 bits of the reset configuration word, which are recorded in RCWLR[SP]. See Chapter 5, Reset for details. Figure 16-1. HSSI Block Diagram MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-3...
Revision 1.3, Part 6: 1x/rx LP-Serial Physical Layer Specification. Register and register bit extensions as described in the RapidIO Interconnect Specification, Revision 1.2, Part VIII: Error Management Extensions Specification. Hot swap ATOMIC set/clr/inc/dec for read-modify-write operations MSC8158E Reference Manual, Rev. 2 16-4 Freescale Semiconductor...
RapidIO Interconnect Specification Revision 1.3, Part 10: Data Streaming Logical Specification. RapidIO Interconnect Specification Revision 2.0, Part 10: Stream Management Flow Control. Basic stream management flow control (XON/XOFF) using extended header message format. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-5...
Page 772
One or more Type8 port-write inbound classification units with the following features: — transaction steering through port-write header classification. — data payloads of 4 to 64 bytes. One or more Type8 outbound port-write units with data payloads of 4 to 64 bytes. MSC8158E Reference Manual, Rev. 2 16-6 Freescale Semiconductor...
Using PI/CI values that are one bit wider than needed to address the ring entries means that the (PI/CI) mod (index–width) gives the correct fit of the ring buffer over the entire range where full can be distinguished from empty. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-7...
Primary input pads. — SD_RX[0–3] Serial data input for x1 or x4 link. One differential pair Asynchronous inputs. input per link. This implementation supports data rates of 1.25, 2.5, 3.125, or 5 Gbaud. MSC8158E Reference Manual, Rev. 2 16-8 Freescale Semiconductor...
Non-boot operation 16.1.6.1 Initialization for Booting the MSC8158E DSP When the RapidIO interface is use to boot the MSC8158E, the serial RapidIO master device waits for the boot program to complete the default initialization and then initializes the interface by loading code and data into the device memory. For details, see Section 6.2.4, Serial RapidIO Interconnect, on page 6-21.
Set SERDES LmGCR0BnGCRm0 [RRST]=1 for each bank n and lane m in step 3 Read SERDES LmGCR0BnGCRm0 for each bank n and lane m in step 3 ≥ Wait 300 ns. Write 1s to clear all bits in SRIO PnSLCSR Set SRIO PnCCSR[PD]=0. MSC8158E Reference Manual, Rev. 2 16-10 Freescale Semiconductor...
State Machine per port to distinguish between a x2 port (transmitting striped data) and a x1 port (transmitting identical data on lanes 0 and 1). The Freescale RapidIO controller may fail to MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-11...
RapidIO endpoint limits configuration read and write requests to 32-bit data accesses. The large transport field packet format extends the destination and source IDs to 16-bits each. The MSC8158E supports small and large transport fields (large at default), so, for large transport, the destination and source IDs are 16-bits wide according to the direction of the transaction.RapidIO Control Symbol Summary...
Page 782
DATA crf prio ftype dest rsv(2), length hword 0 -> hword n STREAMING xtype(3), (Flow Control) xh(1)=1, rsv(2) 1. src TID[3] of [0:7] bus must be set to ‘1’ for doorbell accesses. MSC8158E Reference Manual, Rev. 2 16-16 Freescale Semiconductor...
16.2.7.1 Inbound Maintenance Accesses There are two recommended methods by which RapidIO transactions can target RapidIO configuration register space in local memory. MSC8158E Reference Manual, Rev. 2 16-18 Freescale Semiconductor...
Please see Section 16.1.2, eMSG Unit, on page 16-5 for details on the message passing architecture. There are both inbound (Rx) and outbound (Tx) interfaces with the message unit, in addition to the Rx and Tx interfaces with the system and link. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-19...
The RapidIO controller contains buffers for Tx message unit packets. The buffers are separated into two categories... Tx message unit request packets Tx message unit response / flow control packets Note: Figure 16-5 shows the buffers for Tx message unit packets within the RapidIO controller. MSC8158E Reference Manual, Rev. 2 16-20 Freescale Semiconductor...
There are only 16 buffers that hold message unit response and flow control packets. The total value of the fields within the register mentioned above, must not exceed 16 (undefined behavior will result). MSC8158E Reference Manual, Rev. 2 16-22 Freescale Semiconductor...
Strict priority arbitration is used to select the winner. Tx message unit request packets of arbitration group 0 are the highest priority, and Tx message unit request packets of arbitration group 7 are the lowest. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-23...
For both inbound and outbound translation, the smallest window size is 4 K and the largest window size is 16 G for inbound translation and 64 G for outbound translation. MSC8158E Reference Manual, Rev. 2 16-24 Freescale Semiconductor...
The RapidIO endpoint implementation allows up to a 34-bit (0–33) RapidIO address and a 36-bit (0–35) internal interconnection address. The MSC8158E is confined to 32-bit internal addresses, therefore the top 4 bits (0–3) of the Inbound translation address and the outbound base address should be set to all 0;...
The ATMU window hit definition and RapidIO address translation are as follows: 4K window size (smallest window size) — A window hit is defined as {BEXADD[0–3], BADD[0–19]} matching internal address [0–23] — RapidIO addr[0–30] = {TREXAD[8–9], TRAD[0–19], internal address[24–32]} MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-27...
Page 794
There are two reasons for using a segmented ATMU window: allow a single ATMU window to generate different transactions types; allow a single ATMU window to generate multiple RapidIO target IDs. MSC8158E Reference Manual, Rev. 2 16-28 Freescale Semiconductor...
Page 817
The use of segmented windows impacts only the RapidIO transaction type or the destination ID. The internal address translation is a function of the Port n Outbound Window Translation Address Register and the translation window size. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-51...
An external processor should not assume that a write to any ATMU register is complete until a response is received. Table 16-9 describes the registers for configuring the window parameters, along with the number of the page where each register is described in detail. MSC8158E Reference Manual, Rev. 2 16-54 Freescale Semiconductor...
Page 821
{TREXAD[0–3], TRAD[0–18], RapidIO Internal interconnection addr[0–32] = address[21–30]}. 16 KB window size: — A window hit is defined as {BEXADD[0–1], BADD[0–17]} matching RapidIO address [0–19]. — {TREXAD[0–3], TRAD[0–17], RapidIO Internal interconnection addr[0–32] = address[20–30]}. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-55...
If a request hits (base address match) an ATMU window (1–4, default) and the transaction end address extends into another ATMU window with a higher priority, an ATMU crossed boundary error is generated and logged. MSC8158E Reference Manual, Rev. 2 16-56 Freescale Semiconductor...
Disable the input port receiver (IPD bit = 1 in the Port n Control Command and Status Register). This will allow the four consecutive link-request/reset-device control symbols to be generated with only idle control symbols between the link-request/reset-device control symbols. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-57...
Failed Threshold does not cause any packet acknowledgements to be dropped. If a discarded packet in the outgoing data stream requires a logical response, a packet response time-out will occur if the packet response timer is enabled (PRTOCCSR is non 0). MSC8158E Reference Manual, Rev. 2 16-58 Freescale Semiconductor...
1–2 Error Enable CSR) is captured in the Port 1–2 Error Capture CSRs. No interrupt is generated or actions required for a recoverable error. Recoverable errors are detected only in the physical layer. MSC8158E Reference Manual, Rev. 2 16-60 Freescale Semiconductor...
PnEDCSR bit is set when the error is detected (see page 16-210). Table 16-11 shows the RapidIO endpoint behavior after certain preset limits are exceeded (degraded threshold, failed threshold, retry threshold). Table 16-12 shows the threshold response. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-61...
Page 828
CRC Received packet which Enter input error 7/31: General Received exceeds the maximum allowed stopped. error packet size by the RapidIO spec. exceeds 276 Bytes MSC8158E Reference Manual, Rev. 2 16-62 Freescale Semiconductor...
Page 829
[TV] > 0 stopped. time-out interval. enables detect. A Link response is not PLTOCCSR (re-) Enter output received within the specified [TV] > 0 error stopped. time-out interval enables detect. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-63...
Otherwise, no error response is sent. For multiple errors, a discard of a packet has a higher priority than an error response. For misaligned transactions, the error management extension registers are updated with each child. MSC8158E Reference Manual, Rev. 2 16-64 Freescale Semiconductor...
Page 831
16 bytes for large transport packet. is set Large transport packet has 14 valid bytes and two bytes of padding of 0s. Padding of 0s is not checked. PayloadSize Not Applicable. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-65...
Page 832
Reserved transaction type for this ftype LTLEECSR[ITD] packet is is set. dropped. RdSize Yes if LTLEDCSR[ITD] Read/Write request size is not for 4 bytes. LTLEECSR[ITD] is set. SrcTID Not checked for error. MSC8158E Reference Manual, Rev. 2 16-66 Freescale Semiconductor...
Page 834
Not Checked for error. Address:WdPtr:Xambs Yes if LTLEECSR[ITD] is LTLEDCSR[ITD] Yes for NWRITE_R address matches set. NWRITE_R. LCSBA1CSR with a request that is not a 32-bit read. Performed only for NWRITE_R packet. MSC8158E Reference Manual, Rev. 2 16-68 Freescale Semiconductor...
Page 836
16.2.9.4.2, Window Boundary Crossing Errors, on page 16-56. Address:WdPtr:Xambs Yes if LTLEECSR[ITD] is set. LTLEDCSR[ITD] RapidIO Request hits a protected ATMU packet is window or the local configuration dropped. space window. MSC8158E Reference Manual, Rev. 2 16-70 Freescale Semiconductor...
Page 838
12 bytes for small transport packet or is less than 16 bytes for large transport packet. Padding of 0s for small or large transport packet is not verified. MSC8158E Reference Manual, Rev. 2 16-72 Freescale Semiconductor...
Page 840
[ITTE] is set dropped DeviceID is disabled or and ignored DestId does not match either Alternate DeviceID or DeviceId if Alternate DeviceID is enabled. Error valid when (passthrough or accept_all) is false MSC8158E Reference Manual, Rev. 2 16-74 Freescale Semiconductor...
Page 841
IO Error Response [IER] is set generated requestor. TargetTID Yes if LTLEDCSR Same as first entry RapidIO No outstanding transaction LTLEECSR [UR] packet is for this TargetTID [UR] is set dropped ignored. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-75...
Page 842
The misaligned GSM request has had one to four (cumulative for the corresponding child requests) more than configured number of retries. MSC8158E Reference Manual, Rev. 2 16-76 Freescale Semiconductor...
Page 843
LTLEDCSR Same as first entry RapidIO Not UR LTLEECSR [ITD] packet is Done response, Retry [ITD] is set dropped response, or Error response is after Done_Intervention ignored. response or Data_only is received. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-77...
Page 844
Reserved ssize field. Yes if LTLEECSR[MFE] LTLEDCSR[MFE] Yes if priority If priority is is set. is not 3. Else 3, packet is packet is dropped. dropped. MSC8158E Reference Manual, Rev. 2 16-78 Freescale Semiconductor...
Page 848
DMA response. Header size is not 8 bytes for small is set. dropped and transport packet or not 12 bytes for large transport ignored. packet. Two byte padding of 0s in a large transport field packet is not checked. MSC8158E Reference Manual, Rev. 2 16-82 Freescale Semiconductor...
Page 850
24, 32, 40, 48, 56, or 64 bytes). Payload size is greater than the value defined by wr_size. Payload size is not 64-bit aligned when the wr_size is not 4 bytes. MSC8158E Reference Manual, Rev. 2 16-84 Freescale Semiconductor...
Page 852
DeviceID if Alternate [ITTE] is dropped DeviceID is disabled or and ignored DestId does not match either Alternate DeviceID or DeviceId if Alternate DeviceID is enabled. Error valid when (passthrough or accept_all) is false MSC8158E Reference Manual, Rev. 2 16-86 Freescale Semiconductor...
PDUs can also be queued in the consumer’s memory while software processes them sequentially. The depths of the queues at the producer and consumer are configurable by software. Basic stream management flow control is also supported in Type9. MSC8158E Reference Manual, Rev. 2 16-90 Freescale Semiconductor...
Requirements. 63–61 FORMAT Format (bits 60–32) 000 Single buffer frame, 9-bit offset, 20-bit length 100 Scatter/Gather table, 9-bit offset, 20-bit length. Valid for RapidIO Type9 only. All other values reserved or unused. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-93...
Page 860
Message format error Duplicate, out of range, inconsistent segment number or illegal RapidIO priority or segment size received. Inbound Type10/11 only Size mismatch error Inbound length or byte count mismatch. Inbound Type9 only MSC8158E Reference Manual, Rev. 2 16-94 Freescale Semiconductor...
Format (bits 60–32) 000 Single buffer frame, 9-bit offset, 20-bit length 100 Scatter/Gather table, 9-bit offset, 20-bit length. Valid for RapidIO Type5, Type6 and Type9 only All other values reserved or unused. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-95...
(BR = 1) is performed successfully, the effective length field indicates zero. It is the responsibility of the outbound completion queue consumer to deallocate buffers as needed when the command descriptor length field is non-zero. If transaction or descriptor error status has MSC8158E Reference Manual, Rev. 2 16-96 Freescale Semiconductor...
Table 16-29 describes the scatter/gather table entry fields. Table 16-29. Scatter/Gather Table Entry Field Descriptions Bits Name Description 127–96 — Reserved 95–64 ADDRESS 32-bit byte address to data buffer or discontinued scatter/gather table entry, depending on E bit setting. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-97...
Page 864
Current and subsequent S/G table pointer(s) are not released If software requires all pointers to be released, the final bit must be set for the last data entry as determined by the length field. MSC8158E Reference Manual, Rev. 2 16-98 Freescale Semiconductor...
The message descriptor points to a data buffer containing the descriptor and NWrite data payload. Figure 16-20 shows the format of an outbound NWrite descriptor. Reserved fields must be cleared. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-99...
Page 866
— Reserved Word 1—Address 223–192 ADDRESS Byte aligned address of write transaction This address represents the RapidIO Type5 logical address without any address translation. Word 2—Reserved 191–160 — Reserved Word 3—Destination Port MSC8158E Reference Manual, Rev. 2 16-100 Freescale Semiconductor...
Page 867
All other values are reserved. Figure 16-21 shows the format for Type5 scatter/gather tables usage. The first entry of the scatter/gather table holds the 32-byte descriptor. The data offset is specified through the MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-101...
NWrite descriptor as appropriate and enqueue the command descriptor. The message unit dequeues the command descriptor, determines the type, and proceeds to read the NWrite descriptor. MSC8158E Reference Manual, Rev. 2 16-102 Freescale Semiconductor...
— After the segmentation operation completes, the internal transaction error bit in the TE field in the command descriptor is set. — The message descriptor is enqueued onto the completion message queue if the message descriptor error status bit (ES) is set. MSC8158E Reference Manual, Rev. 2 16-104 Freescale Semiconductor...
All other values are reserved. Buffer release enable 0 No hardware buffer releases performed. 1 Hardware buffer releases performed. If TE/DE error status was reported, not all buffers may have been released successfully. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-105...
Page 872
121–120 — Reserved 119–116 TINT Target interface 0000 RapidIO Port 1 0001 RapidIO Port 2 All other values reserved. 115–96 — Reserved Word 5—Reserved 95–64 — Reserved Word 6—Reserved 63–32 — Reserved MSC8158E Reference Manual, Rev. 2 16-106 Freescale Semiconductor...
Concurrent processing may also occur between any number of message queues as long as the outbound ordering rules apply; see Section 16.3.14.2, Outbound Ordering Rules. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-107...
Set the message descriptor completion (CS) or error (ES) status bit. Software should observe the status field of the command descriptor after it has been written to the completion queue to determine success. MSC8158E Reference Manual, Rev. 2 16-108 Freescale Semiconductor...
— The message descriptor is enqueued onto the completion message queue if the message descriptor error status (ES) bit is set. 16.3.6.2.4.2 Transaction Errors When an transaction error occurs during a local memory data read by the message unit the following occurs. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-109...
Type8 port-write data payload. The starting location of the port-write data payload is calculated by adding the data offset to the command descriptor address. The data offset is programmable through IBmT8CnDOR. MSC8158E Reference Manual, Rev. 2 16-112 Freescale Semiconductor...
— For all other fields, see Section 16.3.7.1, Type8 Outbound Port-Write Descriptor Format. Add the Portwrite descriptor to a command descriptor and set FTYPE=0b1000 to indicate port-write type. Enqueue the command descriptor onto the message queue. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-113...
— The message descriptor is enqueued onto the completion message queue if the message descriptor error status (ES) bit is set. Buffer release (BR = 1) — No further buffers are released once a TE error is detected. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-115...
16.3.8.1 Type9 Segmentation Descriptor Format The Type9 outbound descriptor contains information for the message unit to send a PDU. The message unit receives the outbound packet descriptor by dequeueing a command descriptor from MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-117...
Page 884
0 Status message queue is not updated when PDU aborted due to error. 1 Status message queue is updated when PDU aborted due to error. 247–224 — Reserved Word 1—Reserved 223–192 — Reserved MSC8158E Reference Manual, Rev. 2 16-118 Freescale Semiconductor...
Page 885
All other values reserved. Figure 16-28 shows the format for Type9 scatter/gather tables usage. The first entry of the scatter/gather table holds the 32-byte descriptor. The data offset is specified through the MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-119...
Set register bit MUMR[OSID] = 1 to disable segmentation interleaving on a destination ID basis. However, this affect all supported types and may affect performance. Figure 16-29 shows the format of an inbound PDU descriptor. Reserved fields must be cleared. MSC8158E Reference Manual, Rev. 2 16-120 Freescale Semiconductor...
Page 887
Source ID. Contains the source ID field of the transaction (Device ID of the source). 143–128 STREAMID Value from the “streamID” field in the DATA STREAMING packets. In case of CSE/ESE, the stream ID is invalid. Word 4—Source Attributes 127–125 — Reserved MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-121...
Page 888
0x0FFFF64 Kbytes-1 0x1000064 Kbytes Figure 16-30 shows the format for Type9 scatter/gather tables usage. The first entry of the scatter/gather table also holds the 32-byte descriptor. The first data offset is programmable MSC8158E Reference Manual, Rev. 2 16-122 Freescale Semiconductor...
A producer may add new PDUs to any message queue owned by the message unit. The producer needs to allocate buffer space for the PDU descriptor, scatter/gather table(s) and data as appropriate and enqueue the command descriptor. The message unit dequeues the command MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-123...
Set the message descriptor completion (CS) or error (ES) status bit. Software should observe the status field of the command descriptor after it has been written to the completion queue to determine success. MSC8158E Reference Manual, Rev. 2 16-124 Freescale Semiconductor...
— The message descriptor is enqueued onto the completion message queue if the message descriptor error status (ES) bit is set. 16.3.8.3.4.2 Transaction Errors When an transaction error occurs during a local memory data read by the message unit the following occurs. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-125...
The message unit reports errors, utilizing the inbound message queue, by setting the status field in the command descriptor before enqueueing the descriptor onto the designated inbound message queue. The consumer should read the status bits before processing the packet to determine the appropriate action. MSC8158E Reference Manual, Rev. 2 16-126 Freescale Semiconductor...
Page 893
PDU is defective. error if in command Buffer may have MUIER[ITE] set. descriptor been lost if enqueued and scatter/gather table Message unit error could not be detect register updated. MUEDR[ITE]. Address captured in MUECAR. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-127...
When the end segment error is detected by the message unit the following occurs. Segment is discarded. The message unit sets the end segment error bit, ESE in the command descriptor. After the reassembly operation completes, the command descriptor is enqueued onto the message queue. MSC8158E Reference Manual, Rev. 2 16-128 Freescale Semiconductor...
After the reassembly operation completes, the command descriptor is enqueued onto the message queue. 16.3.8.4.4.8 Transaction Errors When an internal transaction error occurs, due to insufficient buffer resources or local memory write error, by the message unit the following occurs. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-129...
When stream management flow control is enabled, only certain combinations of class-of-service and stream ID rule mask fields are permitted for inbound classification. Specific stream in a specific class for specific destination: <DestID><CoS><StreamID> MSC8158E Reference Manual, Rev. 2 16-130 Freescale Semiconductor...
(no other combination supported): <DestID><CoS><StreamID> + <wild cards> + <Mask> The following operands are generated by the message unit: Specific stream (classification rule with no stream wildcard): <DestID><CoS><StreamID> + <wc=000> + <Mask=0x00> MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-131...
The message unit receives the outbound doorbell descriptor by dequeueing a command descriptor from the outbound message queue. The command descriptor points to a data buffer containing the descriptor and doorbell data. MSC8158E Reference Manual, Rev. 2 16-132 Freescale Semiconductor...
Page 899
1 Status message queue is updated when doorbell completes normally. Error status 0 Status message queue is not updated when doorbell aborted due to error. 1 Status message queue is updated when doorbell aborted due to error. 247–232 — Reserved MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-133...
Page 900
Target interface 0000 RapidIO Port 1 0001 RapidIO Port 2 All other values reserved. 115–96 — Reserved Word 5—Reserved 95–64 — Reserved Word 6—Reserved 63–32 — Reserved Word 7—Reserved 31–0 — Reserved MSC8158E Reference Manual, Rev. 2 16-134 Freescale Semiconductor...
— 125 124 122 121 120 119 116 115 Word 4 — FLOWLVL — SINT — Word 5 EDID — Word 6 — Word 7 — Figure 16-34. Type10 Inbound Doorbell Descriptor MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-135...
Page 902
Most significant byte of a 16-bit destination ID when operating in large transport mode. Reserved when operating in small transport mode. 87–80 Destination ID Contains the destination ID field of the transaction (Device ID of the destination). 79–64 — Reserved Word 6—Reserved 63–32 — Reserved MSC8158E Reference Manual, Rev. 2 16-136 Freescale Semiconductor...
The message unit dequeues the command descriptor, determines the type, and proceeds to read the doorbell descriptor. A producer should follow the guidelines below to add a new doorbell to a message queue: MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-137...
Multiple errors can be checked at an error checking level. Once an error is detected, no additional error checking beyond the current error level is performed. MSC8158E Reference Manual, Rev. 2 16-138 Freescale Semiconductor...
— The segmentation process is halted and the descriptor error bit DE in the command descriptor is set. — The message descriptor is enqueued onto the completion message queue if the message descriptor error status (ES) bit is set. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-139...
Command descriptor captured in M ECCDR0–3. Global message unit error detect register M EDR[OTE] set. Completion message Queue — After the doorbell operation completes the internal transaction error bit, TE, in the command descriptor is set. MSC8158E Reference Manual, Rev. 2 16-140 Freescale Semiconductor...
Message unit did not have a matching classification rule. Message unit has detected a buffer size error. Message unit has detected a transaction error when allocating buffer resources or performing a local memory write. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-141...
16.3.9.4.5.1 Buffer Size Errors When a buffer size error is detected by the message unit, the following occurs. Doorbell is discarded and an error response is returned for the segment. MSC8158E Reference Manual, Rev. 2 16-142 Freescale Semiconductor...
The command descriptor points to a data buffer containing the descriptor and message data. Figure 16-36 shows the format of an outbound message descriptor. Reserved fields must be cleared. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-143...
Page 910
RETRY response is received from the target. 0x00 Disabled 0x01 Message segment retransmitted only 1 time 0x02 Message segment retransmitted up to 2 times 0xFF Message segment retransmitted up to 255 times Word 1—Reserved MSC8158E Reference Manual, Rev. 2 16-144 Freescale Semiconductor...
Page 911
101 Highest priority transaction request flow 110 Reserved 111 Reserved 121–120 — Reserved 119–116 TINT Target interface. 0000 RapidIO Port 1 0000 RapidIO Port 2 All other values reserved. 115–96 — Reserved Word 5—Multicast Group MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-145...
Page 912
Number of segments is determined by the byte count divided by the segment size (256 bytes). Figure 16-37 shows the command descriptor referencing a single buffer directly. The data payload offset is specified using the command descriptor offset field. MSC8158E Reference Manual, Rev. 2 16-146 Freescale Semiconductor...
Table 16-46 describes the Type11 inbound message descriptor fields. Table 16-46. Type11 Inbound Message Descriptor Field Descriptions Bits Name Description Word 0—Header 255–252 FTYPE Descriptor type select. 1011 Type11 All other values reserved. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-147...
Page 914
Reserved when operating in small transport mode. 87–80 Destination ID. Contains the destination ID field of the transaction (Device ID of the destination). 79–64 — Reserved Word 6—Reserved 63–32 — Reserved Word 7—Byte Count MSC8158E Reference Manual, Rev. 2 16-148 Freescale Semiconductor...
Work Scheduling The message unit receives all work from the outbound message queues. A producer or producers enqeueue work onto the outbound message queues owned by the message unit. To maintain any MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-149...
Table 16-47 indicates the possible error conditions and the outcome when detected. The error checking level indicates the order in which errors are checked. Multiple errors can be checked at MSC8158E Reference Manual, Rev. 2 16-150 Freescale Semiconductor...
Page 917
BR MUEDR[OTE]. Command setting. descriptor captured in MUECCDR0–3. Message Message error Message response error in Message Response response. command descriptor incomplete. enqueued. If MM=1, multicast error also set. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-151...
— The message descriptor is enqueued onto the completion message queue if the message descriptor error status (ES) bit is set. 16.3.10.3.4.4 Retry Threshold Exceeded Errors When a retry threshold exceeded error is detected for a message segment the following occurs. MSC8158E Reference Manual, Rev. 2 16-152 Freescale Semiconductor...
Command descriptor captured in M ECCDR0–3. Global message unit error detect register M EDR[OTE] set. Completion message queue — After the message operation completes the internal transaction error bit, TE, in the command descriptor is set. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-153...
The conditions to generate a logical layer error response are: Message unit did not have a matching classification rule. Message unit has detected a buffer size error. Message unit has detected a message format error. MSC8158E Reference Manual, Rev. 2 16-154 Freescale Semiconductor...
The message unit sets the segment request time-out error bit, SRT in the command descriptor. All message segments that have not yet been received are considered complete. The command descriptor is enqueued onto the message queue. MSC8158E Reference Manual, Rev. 2 16-156 Freescale Semiconductor...
The RapidIO Session Management Protocol Specification permits a session manager to establish, manage and remove connections between two end points. Section 16.3.11.1, Classification, describes how a session manager can establish connections with other end-points. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-157...
Type11 data messages. A Type10 doorbell carries a 16-bit info field but no data and is always a single RapidIO packet. When a packet carries a data payload, the maximum size of this payload is 256 bytes. MSC8158E Reference Manual, Rev. 2 16-158 Freescale Semiconductor...
Type11 transactions cause hardware to issue a logical retry, with the expectation that resources will become available soon. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-159...
Page 926
Type11 messages are logically retried and Type9 messages are dropped. In all situations, Type9 packets are dropped only if the number of interleaved messages exceeds the allocation budgeted by the system. MSC8158E Reference Manual, Rev. 2 16-160 Freescale Semiconductor...
Page 927
Type9 packet loss, but may cause more frequent link-level retries. Note that these retries can cause brief performance loss for higher priority streams carried by the link. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-161...
— Segments of only 23 messages are accepted at any given moment. — All others are logically retried. — No control at the receive endpoint over which streams are accepted and which are retried is possible. MSC8158E Reference Manual, Rev. 2 16-162 Freescale Semiconductor...
Page 929
— No more than 23 messages are reassembled at one time. — All others messages are dropped. — No control at the receive endpoint over which streams are accepted and which are dropped is possible. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-163...
Page 930
— Memory congestion beyond tolerance eventually results in link-level retries. Example 16-7. Inbound Traffic Types — 15 segment interleaved multi-segment Type11 streams over Flow A — 16 single segment Type9 streams over Flow B MSC8158E Reference Manual, Rev. 2 16-164 Freescale Semiconductor...
Page 931
All segments of Type9 message streams 1–5 always accepted — Tolerant of memory congestion because recommended 8 entries are allocated for congestion management — Memory congestion beyond tolerance eventually results in Type11 logical retries, link-level retries or both. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-165...
— NWrites with the same Source ID + Destination ID + Flow are transmitted in order, if from the same message queue. Outbound Type6 streaming writes — SWrites with the same Source ID + Destination ID + Flow are transmitted in order, if from the same message queue. MSC8158E Reference Manual, Rev. 2 16-166 Freescale Semiconductor...
While this may increase the performance on the transmit side, additional hardware reassembly resources may be needed on the receive side. Outbound segmentation interleaving can be controlled per destination by setting the register bit M MR[OSI]. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-167...
IBmMQnCMR[EXIT_WM]. The classification rule could also be disabled to clear the condition, but it is not recommended unless the queue level is also dealt with. MSC8158E Reference Manual, Rev. 2 16-168 Freescale Semiconductor...
Initialize the inbound Buffer Pool ID and data offset registers, for all types, used to build the scatter/gather tables and data structures in memory for inbound transactions. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-169...
Page 936
— Set the message queue target register IBmT11CnMQR. — Set the inbound unit type, IBmT11CnMR[FTYPE]=4b1011. — Enable the classification rule, IBmT11CnMR[CUE]=1 after the target queue has been initialized. MSC8158E Reference Manual, Rev. 2 16-170 Freescale Semiconductor...
Initialize the inbound message queue pointers, IBmMQn(E)DPAR and IBmMQn(E)EPAR to match. Initialize the flow control watermark levels, IBmMQnCMR. For data streaming, flow control must be enabled (DSLLCCSR[TME] = 1) to generate outbound flow control messages. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-171...
— Data Streaming Information Capability Register (DSICAR), page 16-188 — Data Streaming Logical Layer Control Command and Status Register (DSLLCCSR), page 16-189 — Processing Element Logical Layer Control Command and Status Register (PELLCCSR), page 16-190 MSC8158E Reference Manual, Rev. 2 16-172 Freescale Semiconductor...
Page 939
— Port 1–2 Error Rate Enable Command and Status Register (PnERECSR), page 16-211 — Port 1–2 Error Capture Attributes Command and Status Register (PnECACSR), page 16-212 — Port 1–2 Packet/Control Symbol Error Capture Command and Status Register (PnPCSECCSR0), page 16-213 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-173...
Page 940
— Port 1–2 Message Response/Flow Control Tx Buffer Allocation Configuration Register (PnMRspFcTxBACR), page 16-236 Revision Control Registers — IP Block Revision Register 1 (IPBRR1), page 16-237 — IP Block Revision Register 2 (IPBRR2), page 16-238 MSC8158E Reference Manual, Rev. 2 16-174 Freescale Semiconductor...
Page 941
• Inbound Block m Type8 Classification Unit n Data Buffer Pool Register (IBmT8CnDBPR), page 16-253 • Inbound Block m Type8 Classification Unit n Data Offset Register (IBmT8CnDOR), page 16-255 — Type9 Registers (IBmT9CnMR[FTYPE]=0b1001 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-175...
Page 942
(IBmT10CnRVR1), page 16-267 • Inbound Block m Type10 Classification Unit n Rule Mask Register 0 (IBmT10CnRMR0), page 16-269 • Inbound Block m Type10 Classification Unit n Rule Mask Register 1 (IBmT10CnRMR1), page 16-269 MSC8158E Reference Manual, Rev. 2 16-176 Freescale Semiconductor...
Page 943
— Inbound Block m Message Queue n Interrupt Enable Register (IBmMQnIER), page 16-286 — Inbound Block m Message Queue n Interrupt Detect Register (IBmMQnIDR), page 16-288 — Inbound Block m Message Queue n Interrupt Coalescing Register (IBmMQnICR), page 16-289 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-177...
Page 944
— Software Portal n Acquire Consumer Index k Register (SWPn_ACQ_CI_RINGk), page 16-309 — Software Portal n Release Producer Index k Register (SWPn_REL_PI_RINGk), page 16-310 — Software Portal n Acquire Producer Index k Register (SWPn_ACQ_PI_RINGk), page 16-311 MSC8158E Reference Manual, Rev. 2 16-178 Freescale Semiconductor...
Page 945
— Error Interrupt Force Register (ERR_IFR), page 16-332 — Single Bit ECC Error Threshold Register (SBET), page 16-333 — Single Bit ECC Error Count Register (SBEC), page 16-333 — External Memory Access Error Capture Register (EMAI_ECR), page 16-334 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-179...
— IP Block Revision Register 1 for eMSG (IPBRR1), page 16-352 Note: The base address for the RapidIO registers is: 0xFFF80000. The base address for the eMSG, BMLite, and QMLite registers is: 0xFFF60000. MSC8158E Reference Manual, Rev. 2 16-180 Freescale Semiconductor...
0x1828 Device Identity 31–16 Uniquely identifies the type of device from the vendor specified by DVI. The values for DI are assigned and managed by the respective vendor. The value for the MSC8158E = 0x1828. 0x0002 Device Vendor Identity 15–0 Identifies the vendor that manufactures the device containing the processing element.
AIDCAR is a read-only register. The assembly vendor identity field (AVI) identifies the vendor that manufactured the assembly or subsystem containing the device. A value for AVI is uniquely assigned to an assembly vendor by the registration authority of the RapidIO Trade Association. MSC8158E Reference Manual, Rev. 2 16-182 Freescale Semiconductor...
AICAR contains additional information on the assembly and the pointer to the first entry in the extended features list. Table 16-53. AICAR Field Descriptions Reset Description 0x0000 Assembly Revision 31–16 0x0100 Extended Features Pointer 15–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-183...
PEFCAR identifies the major functionality provided by the processing element. Table 16-54. PEFCAR Field Descriptions Reset Description Settings Bridge Specifies whether the MSC8158E can bridge to another interface. Memory Specifies whether the MSC8158E has physically addressable local address space and can be accessed as an endpoint through non-maintenance operations.
RESET SW NWR — — — TYPE RESET SOCAR defines the set of RapidIO logical operations that can be issued by the MSC8158E. Table 16-55. SOCAR Field Descriptions Reset Description Read Operation MSC8158E does not support. IRead Operation MSC8158E does not support.
RESET SW NWR — — — TYPE RESET DOCAR defines the set of RapidIO I/O operations that the MSC8158E can support as a target. Table 16-56. DOCAR Field Descriptions Reset Description Read Operation MSC8158E does not support. IRead Operation MSC8158E does not support.
Page 953
Atomic-Inc Operation MSC8158E does not support. Atomic-Dec Operation MSC8158E does not support. Atomic-Set Operation MSC8158E does not support. Atomic-Clr Operation MSC8158E does not support. — Reserved. Write to zero for future compatibility. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-187...
Specifies the maximum PDU size supported by the destination end point (MaxPDU = 0x0000) SegSupport 0x0018 Segment Support 0x0018 24 segmentation contexts. 15–0 Indicates the number of segmentation contexts supported by the destination end point. MSC8158E Reference Manual, Rev. 2 16-188 Freescale Semiconductor...
Page 955
Support for the entire range is required. 0x0A 40 byte block size 0x0B 44 byte block size 0x0C 48 byte block size 0x3F 252 byte block size 0x40 256 byte block size 0x41– 0xFF Reserved. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-189...
Page 956
This register allows configuration and maintenance of an RapidIO block through regular read and write operations rather than maintenance operations. The double-word offset is right justified in the register. This window has priority over MSC8158E Reference Manual, Rev. 2 16-190 Freescale Semiconductor...
13 bits of LBDID are cleared and the lowest 3 bits are equal to the lowest three bits of the RCWHR[DEVID] field (see Section 5.3.2, Reset Configuration Word High Register (RCWHR), on page 5-20). If the RapidIO controller is configured as an agent, LBDID = 0xFFFF. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-191...
Offset 0x0006C TYPE RESET TYPE RESET CTCSR contains a component tag value for the processing element that software can assign when the device is initialized. It is unused internally in RapidIO Endpoint. MSC8158E Reference Manual, Rev. 2 16-192 Freescale Semiconductor...
Therefore, the RapidIO Endpoint is defined here as not supporting software-assisted error recovery. Table 16-64. PMBH0 Field Descriptions Reset Description EFPTR 0x0600 Extended Features Pointer 31–15 EFID 0x0001 Extended Features ID 16–31 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-193...
Page 960
— TYPE RESET PRTOCCSR contains the time-out timer count for all ports. This time-out is for sending a request packet to receive the corresponding response packet.The reset value is the maximum time-out MSC8158E Reference Manual, Rev. 2 16-194 Freescale Semiconductor...
RESET PGCCSR contains control register bits for the RapidIO interface. The user must initialize the value of M to 1. Otherwise, no outbound transactions are initiated by the MSC8158E, including messages and doorbells. Table 16-67. PGCCSR Field Descriptions Reset Description...
Page 962
Contains the link request command to send. If read, this field returns the last written value. If written with a value other than 0x011 (reset device) or 0b100 (input status), the resulting operation is undefined. All other values are reserved in the RapidIO specification. MSC8158E Reference Manual, Rev. 2 16-196 Freescale Semiconductor...
Page 963
Reserved. Write as zero for future compatibility. 30–10 AckID_Status 9–5 This field holds the AckID status field from the link response. Link Status 4–0 This field holds the link status field from the link response. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-197...
Outbound ackID Output Port Next Transmitted ackID Value 4–0 This can be written by software but only if there are no outstanding unacknowledged packets. If there are, a newly-written value will be ignored MSC8158E Reference Manual, Rev. 2 16-198 Freescale Semiconductor...
OR is set when ORS is set and cleared when a packet-accepted or packet-not-accepted control symbol is received. Read only. Output Stop The output port stops due to a retry. Read only. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-199...
Port 1–2 Control Command and Status Register Offset 0x0015C P2CCSR Offset 0x0017C — — TYPE RESET — TYPE RESET PnCCSR contains control register bits for the RapidIO port. This register is for serial implementation only. MSC8158E Reference Manual, Rev. 2 16-200 Freescale Semiconductor...
Page 967
OPE = 0, disable any LAWs with a RapidIO target to prevent outbound request packets from being sent to the RapidIO controller. The initial value of OPE is read from configuration pins. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-201...
Page 968
This bit is hard-wired to 0. Error checking and recovery is disabled. Multicast Event Participant This bit is hard-wired to 0. The MSC8158E does not participate in multicast events. — Reserved. Write to zero for future compatibility. Enumeration Boundary No enumeration boundary checking.
Message Unit has captured an enabled Logical/Transport layer error until the detected error is cleared, and likewise, the Message Unit’s LTLEDCSR cannot detect any errors if the Message Unit or any port has captured an enabled Logical/Transport layer error. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-203...
Page 970
A start or single data streaming segment was received for an already open segmentation context. LDSS Long Data Streaming Segment Received a data streaming segment with a payload size greater than the MTU. MSC8158E Reference Manual, Rev. 2 16-204 Freescale Semiconductor...
LTLEECSR contains the bits that control whether an error condition locks the logical/transport layer error detect and capture registers and is reported to the system host. LTLEECSR is stored in all ports and the message unit. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-205...
Page 972
CAR (that is, the tt value is reserved or indicates a common transport system unsupported by this device). PTTL Packet Time-to-Live Error Enable Enables reporting of a packet time-to-live error. Capture and lock the result. — Reserved. Write to zero for future compatibility. 2–0 MSC8158E Reference Manual, Rev. 2 16-206 Freescale Semiconductor...
Page 973
Extended Address MSBs 1–0 Normally the extended address bits of the address associated with the error (for requests, responses, if available). For details, see Section 16.2.14.3, Logical Layer RapidIO Errors, on page 16-64. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-207...
Page 974
Normally, the source ID (or least significant byte of the source ID if large transport system) associated with the error. For details, see Section 16.2.14.3, Logical Layer RapidIO Errors, on page 16-64. MSC8158E Reference Manual, Rev. 2 16-208 Freescale Semiconductor...
Page 975
(message errors only). For details, see Section 16.2.14.3, Logical Layer RapidIO Errors, on page 16-64. Encoded Port Number 15–12 Indicates the port from which the error information was captured. — Reserved. Write to zero for future compatibility. 11–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-209...
Received unaligned /SC/ or /PD/ or undefined code-group. Unsolicited Control Symbol An unsolicited acknowledge control symbol was received. Link Time-Out An acknowledge or link-response control symbol is not received within the specified time-out interval. MSC8158E Reference Manual, Rev. 2 16-210 Freescale Semiconductor...
Page 977
Unsolicited Control Symbol Enable error rate counting of unexpected acknowledge control symbols. Link Time-Out Enable error rate counting of an acknowledge or link-response control symbol not received within the specified time-out interval. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-211...
Page 978
Reserved. Write to zero for future compatibility. Error 28–24 The encoded value of the bit in the Port 1–2 error detect CSR that describes the error captured in the Port 1–2 error capture CSRs. MSC8158E Reference Manual, Rev. 2 16-212 Freescale Semiconductor...
Page 979
Undefined results occur if this register is written while actual physical layer errors are detected by the port. Software should verify that the PnECACSR[CVI] bit is set before reading the capture registers to ensure that the error is properly captured. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-213...
Page 980
PnECACSR[CVI] bit is set before reading the capture registers to ensure that the error is properly captured. Table 16-83. PnPECCSR1 Field Descriptions Reset Description Capture 1 31–0 Contains bytes 4–7 of the packet header. MSC8158E Reference Manual, Rev. 2 16-214 Freescale Semiconductor...
Page 981
Software should verify that the PnECACSR[CVI] bit is set before reading the capture registers to ensure that the error has been properly captured. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-215...
Do not limit increments above the settings of ERR and the failed threshold trigger imply error rate count. that it would. Peak Error Rate 15–8 Contains the peak value attained by the error rate counter. MSC8158E Reference Manual, Rev. 2 16-216 Freescale Semiconductor...
Page 983
PnESCSR[ODE] bit is set if PnERCSR[ERC] exceeds the ERDTT value. 0x02 Set the error reporting threshold to 0xFF Set the error reporting threshold to 255. — Reserved. Write to zero for future compatibility. 15–0 MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-217...
EPWISR contains status bits of the interrupts generated by the port or the message unit for physical or logical/transport layer errors or inbound port-writes. Because errors from the port are reported to the SC3850 core with one interrupt signal, this register provides the core with quick MSC8158E Reference Manual, Rev. 2 16-218 Freescale Semiconductor...
Set the error reporting threshold to 1. consecutive logical retries received for a given packet that causes the RAPIDIO ENDPOINT to 0xFF Set the error reporting threshold to 255. report an error condition. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-219...
16>-195). Therefore, when the PGCCSR bit is enabled, all other devices in the RapidIO system (including switches) send and receive packets from the device ID in PnADIDCSR instead of the device ID in BDIDCSR. When the alternate deviceID is enabled, inbound RapidIO MSC8158E Reference Manual, Rev. 2 16-220 Freescale Semiconductor...
Page 987
Reserved. Write to zero for future compatibility. 30–24 ADID Alternate Device ID 23–16 Alternate device ID in a small transport system. LADID Large Alternate Device ID 15–0 Alternate device ID for the device in a large transport system. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-221...
Page 988
The pass-through packet will be looped back from RapidIO Port2 to same RapidIO Port2 The pass-through packet will be passed from RapidIO Port2 to RapidIO Port1 — Reserved. Write to zero for future compatibility. 27–2 MSC8158E Reference Manual, Rev. 2 16-222 Freescale Semiconductor...
Page 989
(acknowledged with an accept by the link partner at the physical level). The value of this register should always be larger than the link time-out value (PLTOCCSR). The MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-223...
Page 990
This bit is set again if another retry is received and the number of consecutive retries continues to exceed the retry error threshold. — Reserved. Write to zero for future compatibility. 30–0 MSC8158E Reference Manual, Rev. 2 16-224 Freescale Semiconductor...
PnSLEICR controls the injection of bit errors into the transmit bit stream and is used to generate pseudo-random errors into the outbound serial RapidIO data stream. If the EIC field is non-zero, error injection is enabled and, at pseudo-random intervals, an error is injected by inverting a MSC8158E Reference Manual, Rev. 2 16-226 Freescale Semiconductor...
Offset 0x101E4 — TYPE RESET — SPSA_TH_MSCREQ[9–0] TYPE RESET PnA0TxCR is used to control the arbitration of packets within the serial RapidIO controller transmit logic (Tx), specifically at arbitration point 0. Please see MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-227...
Page 994
0x3FF Count of 1023. Strict priority with starvation avoidance enabled. A low priority message unit request packet may lose strict priority arbitration 1023 consecutive times before it promotes to highest priority (starvation avoidance). MSC8158E Reference Manual, Rev. 2 16-228 Freescale Semiconductor...
Weight of 2. 2 consecutive message unit Sets the threshold (weight) for response packets before considering other message unit response packets. packets. Weight of 16: 16 consecutive message unit response packets before considering other packets. MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-229...
— WRR_TH_SYS[3–0] TYPE RESET — SPSA_TH_SRIO[4–0] TYPE RESET PnA2TxCR is used to control the arbitration of packets within the serial RapidIO controller transmit logic (Tx), specifically at arbitration point 2. Please see MSC8158E Reference Manual, Rev. 2 16-230 Freescale Semiconductor...
Page 997
0x1F Count of 31. Strict priority with starvation avoidance enabled. A low priority RapidIO packet may lose strict priority arbitration 31 consecutive times before it promotes to highest priority (starvation avoidance). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-231...
Page 998
One dedicated buffer allocated for Group 0 request packets. message unit request packets. Fifteen dedicated buffers allocated for Group 0 message unit request packets. — Reserved. Write to zero for future compatibility. 23–20 MSC8158E Reference Manual, Rev. 2 16-232 Freescale Semiconductor...
Page 999
The Port n Message Request Tx Buffer Allocation Configuration Register 1 (PnMReqTxBACR1) is used to control the buffer allocation of message unit request packets within the serial RapidIO controller transmit logic (Tx). MSC8158E Reference Manual, Rev. 2 Freescale Semiconductor 16-233...
Page 1000
0 message unit One dedicated buffer allocated for Group 7 request packets. message unit request packets. Fifteen dedicated buffers allocated for Group 7 message unit request packets. MSC8158E Reference Manual, Rev. 2 16-234 Freescale Semiconductor...
Need help?
Do you have a question about the MSC8158E and is the answer not in the manual?
Questions and answers