NEW DATABASE - 350 MILLION DATASHEETS FROM 8500 MANUFACTURERS
MSC8156 MSC8156RM EL516 SC3850 MSC8154 GCR10 GCR11 GCR12 - Datasheet Archive
Six Core Digital Signal Processor MSC8156RM Rev 1, November 2010 How to Reach Us: Home Page: www.freescale.com Web Support:
MSC8156 MSC8156 Reference Manual Six Core Digital Signal Processor MSC8156RM MSC8156RM Rev 1, November 2010 How to Reach Us: Home Page: www.freescale.com Web Support: http://www.freescale.com/support USA/Europe or Locations Not Listed: Freescale Semiconductor, Inc. Technical Information Center, EL516 EL516 2100 East Elliot Road Tempe, Arizona 85284 +1-800-521-6274 or +1-480-768-2130 www.freescale.com/support Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen 7 81829 Muenchen, Germany +44 1296 380 456 (English) +46 8 52200080 (English) +49 89 92103 559 (German) +33 1 69 35 48 48 (French) www.freescale.com/support Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 15F 1-8-1, Shimo-Meguro, Meguro-ku Tokyo 153-0064 Japan 0120 191014 or +81 3 5437 9125 support.japan@freescale.com Asia/Pacific: Freescale Semiconductor China Ltd. Exchange Building 23F No. 118 Jianguo Road Chaoyang District Beijing 100022 China +86 010 5879 8000 support.asia@freescale.com For Literature Requests Only: Freescale Semiconductor Literature Distribution Center +1-800 441-2447 or +1-303-675-2140 Fax: +1-303-675-2150 LDCForFreescaleSemiconductor @hibbertgroup.com Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. "Typical" parameters which may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including "Typicals" must be validated for each customer application by customer's technical experts. Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part. Freescale, the Freescale logo, and CodeWarrior are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. QUICC Engine is a trademark of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2009, 2010 Freescale Semiconductor, Inc. MSC8156RM MSC8156RM Rev. 1 11/2010 Overview 1 SC3850 SC3850 Core Overview 2 External Signals 3 Chip-Level Arbitration and Switching System (CLASS) 4 Reset 5 Boot Program 6 Clocks 7 General Configuration Registers 8 Memory Map 9 MSC8154 MSC8154 SC3850 SC3850 DSP Subsystem 10 Internal Memory Subsystem 11 DDR-SDRAM Controller 12 Interrupt Handling 13 Direct Memory Access (DMA) Controller 14 High Speed Serial Interface (HSSI) 15 Serial RapidIO Controller 16 PCI Express Controller 17 QUICC Engine Subsystem 18 TDM Interface 19 UART 20 Timers 21 GPIO 22 Hardware Semaphores 23 I2C 24 Debugging, Profiling, and Performance Monitoring 25 Multi Accelerator Platform Engine, Baseband (MAPLE-B) 26 1 Overview 2 SC3850 SC3850 Core Overview 3 External Signals 4 Chip-Level Arbitration and Switching System (CLASS) 5 Reset 6 Boot Program 7 Clocks 8 General Configuration Registers 9 Memory Map 10 MSC8154 MSC8154 SC3850 SC3850 DSP Subsystem 11 Internal Memory Subsystem 12 DDR-SDRAM Controller 13 Interrupt Handling 14 Direct Memory Access (DMA) Controller 15 High Speed Serial Interface (HSSI) 16 Serial RapidIO Controller 17 PCI Express Controller 18 QUICC Engine Subsystem 19 TDM Interface 20 UART 21 Timers 22 GPIO 23 Hardware Semaphores 24 I2C 25 Debugging, Profiling, and Performance Monitoring 26 Multi Accelerator Platform Engine, Baseband (MAPLE-B) Contents About This Book Before Using This Manual-Important Note . . . . . . . . . . . . . . . . . . . . . . . . . . . xlii Audience and Helpful Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlii Notational Conventions and Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xliii Conventions for Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xliv Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xliv Other MSC8156 MSC8156 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlvii Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlvii Document Change History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlviii 1 Overview 1.1 1.2 1.3 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.11.1 1.11.1.1 1.11.1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 StarCore SC3850 SC3850 DSP Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15 StarCore SC3850 SC3850 DSP Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16 L1 Instruction Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17 L1 Data Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17 L2 Unified Cache/M2 Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18 Memory Management Unit (MMU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18 Debug and Profiling Unit (DPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18 Extended Programmable Interrupt Controller . . . . . . . . . . . . . . . . . . . . . . . . 1-19 Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 MAPLE-B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 Chip-Level Arbitration and Switching System (CLASS) . . . . . . . . . . . . . . . . . 1-20 M3 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20 Clocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21 DDR Controllers (DDRC1 and DDRC2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21 DMA Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22 High Speed System Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22 Serial RapidIO Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23 Serial RapidIO and Host Interactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24 RapidIO Messaging Unit (RMU) Operation . . . . . . . . . . . . . . . . . . . . . . . . 1-25 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor v Contents 1.11.2 1.11.3 1.11.4 1.11.5 1.11.6 1.12 1.12.1 1.12.2 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.23.1 1.23.2 1.24 1.24.1 1.24.2 1.24.3 1.24.4 1.24.5 1.24.6 1.24.7 PCI Express . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OCN-DMA Controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OCN Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SRIO Port Controller Modules (SRIOn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SerDes PHY Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . QUICC Engine Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ethernet Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Serial Peripheral Interface (SPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TDM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Global Interrupt Controller (GIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware Semaphores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Virtual Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIOs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Boot Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . JTAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Developer Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use Case 1: 3G-LTE Basic System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use Case 2: 3G-LTE System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use Case 3: 3G-LTE System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use Case 4: TD-SCDMA System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use Case 5: WiMAX Basic System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use Case 6: WiMAX System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use Case 7: WCDMA Basic System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 SC3850 SC3850 Core Overview 2.1 2.2 Core Architecture Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 StarCore SC3850 SC3850 Core Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 3 External Signals 3.1 3.2 3.3 3.4 3.5 1-26 1-27 1-27 1-27 1-27 1-28 1-29 1-30 1-30 1-31 1-31 1-31 1-31 1-32 1-32 1-32 1-32 1-33 1-34 1-34 1-35 1-35 1-35 1-36 1-36 1-37 1-37 1-38 1-38 Power Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Clock Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Reset and Configuration Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Memory Controller 1 and 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 SerDes Multiplexed Signals for the Serial RapidIO, PCI Express, and SGMII Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 MSC8156 MSC8156 Reference Manual, Rev. 1 vi Freescale Semiconductor Contents 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 TDM and Ethernet Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Serial Peripheral Interface (SPI) Signal Summary . . . . . . . . . . . . . . . . . . . . . . GPIO/Maskable Interrupt Signal Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timer Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UART Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . External DMA Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other Interrupt Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OCE Event and JTAG Test Access Port Signals . . . . . . . . . . . . . . . . . . . . . . . . 3-16 3-20 3-20 3-25 3-26 3-26 3-27 3-28 3-29 4 Chip-Level Arbitration and Switching System (CLASS) 4.1 4.2 4.2.1 4.2.2 4.2.2.1 4.2.2.1.1 4.2.2.1.2 4.2.2.1.3 4.2.2.1.4 4.2.2.2 4.2.3 4.2.4 4.3 4.4 4.5 4.5.1 4.5.2 4.5.3 4.5.4 4.6 4.6.1 4.6.2 4.7 4.8 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 CLASS Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 Expander Module and Transaction Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Multiplexer and Arbiter Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 CLASS Arbiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Weighted Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Late Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Priority Masking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Auto Priority Upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 CLASS Multiplexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Normalizer Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 CLASS Control Interface (CCI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 MSC8156 MSC8156 Initiator CLASS Access Priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 CLASS Error Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 CLASS Debug Profiling Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Profiling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Watch Point Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 Event Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 Debug and Profiling Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 CLASS Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Soft Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Hard Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 CLASS Priority Mapping Registers (C0PMRx) . . . . . . . . . . . . . . . . . . . . . . . 4-16 CLASS Priority Auto Upgrade Value Registers (C0PAVRx) . . . . . . . . . . . . 4-18 CLASS Priority Auto Upgrade Control Registers (C0PACRx) . . . . . . . . . . . 4-19 CLASS Error Address Registers (C0EARx) . . . . . . . . . . . . . . . . . . . . . . . . . 4-20 CLASS Error Extended Address Registers (C0EEARx) . . . . . . . . . . . . . . . . 4-21 CLASS Initiator Profiling Configuration Registers (C0IPCRx) . . . . . . . . . . 4-23 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor vii Contents 4.8.7 4.8.8 4.8.9 4.8.10 4.8.11 4.8.12 4.8.13 4.8.14 4.8.15 4.8.16 4.8.17 4.8.18 4.8.19 4.8.20 4.8.21 4.8.22 4.8.23 4.8.24 4.8.25 4.8.26 CLASS Initiator Watch Point Control Registers (C0IWPCRx) . . . . . . . . . . . CLASS Arbitration Weight Registers (C0AWRx) . . . . . . . . . . . . . . . . . . . . . CLASS0 Start Address Decoder x (C0SADx) . . . . . . . . . . . . . . . . . . . . . . . . CLASS End Address Decoder x (C0EADx). . . . . . . . . . . . . . . . . . . . . . . . . . CLASS Attributes Decoder x (C0ATDx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLASS IRQ Status Register (C0ISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLASS IRQ Enable Register (C0IER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLASS Target Profiling Configuration Register (C0TPCR) . . . . . . . . . . . . . CLASS Profiling Control Register (C0PCR) . . . . . . . . . . . . . . . . . . . . . . . . . CLASS Watch Point Control Registers (C0WPCR) . . . . . . . . . . . . . . . . . . . CLASS Watch Point Access Configuration Register (C0WPACR) . . . . . . . CLASS Watch Point Extended Access Configuration Register (C0WPEACR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLASS Watch Point Address Mask Registers (C0WPAMR) . . . . . . . . . . . . CLASS Profiling Time-Out Registers (C0PTOR) . . . . . . . . . . . . . . . . . . . . . CLASS Target Watch Point Control Registers (C0TWPCR) . . . . . . . . . . . . CLASS Profiling IRQ Status Register (C0PISR) . . . . . . . . . . . . . . . . . . . . . . CLASS Profiling IRQ Enable Register (C0PIER) . . . . . . . . . . . . . . . . . . . . . CLASS Profiling Reference Counter Register (C0PRCR) . . . . . . . . . . . . . . . CLASS Profiling General Counter Registers (C0PGCRx) . . . . . . . . . . . . . . . CLASS Arbitration Control Register (C0ACR) . . . . . . . . . . . . . . . . . . . . . . . 4-25 4-26 4-27 4-28 4-29 4-30 4-31 4-32 4-33 4-34 4-36 4-37 4-38 4-39 4-40 4-41 4-42 4-42 4-43 4-44 5 Reset 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.5.1 5.2.5.1.1 5.2.5.1.2 5.2.5.1.3 5.2.5.1.4 Reset Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 Reset Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Reset Actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Power-On Reset Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 Detailed Power-On Reset Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 HRESET Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 SRESET Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Reset Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Reset Configuration Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Reset Configuration Words Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Reset Configuration Input Signal Selection and Reset Sequence Duration . . . 5-9 Reset Configuration Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 Loading The Reset Configuration Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 Loading From an I2C EEPROM (RCW_SRC[02] = 001 or 010) . . . . . . . 5-10 Using The Boot Sequencer For Reset Configuration . . . . . . . . . . . . . . . . . . 5-10 EEPROM Slave Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 EEPROM Data Format In Reset Configuration Mode. . . . . . . . . . . . . . . . . 5-10 Single Device Loading From I2C EEPROM . . . . . . . . . . . . . . . . . . . . . . . . 5-11 MSC8156 MSC8156 Reference Manual, Rev. 1 viii Freescale Semiconductor Contents 5.2.5.1.5 5.2.5.2 5.2.5.3 5.2.5.3.1 5.2.5.3.2 5.2.5.4 5.2.5.4.1 5.2.5.4.2 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 Loading Multiple Devices From a Single I2C EEPROM. . . . . . . . . . . . . . . Loading Multiplexed RCW from External Pins (RCW_SRC[02] = 000) . Loading Reduced RCW From External Pins (RCW_SRC[02] = 011) . . . Reduced External Reset Configuration Word Low Field Values . . . . . . . . Reduced External Reset Configuration Word High Field Values . . . . . . . . Default Reset Configuration Words (RCW_SRC[02] = 100 or 101). . . . . Hard Coded Reset Configuration Word Low Field Values . . . . . . . . . . . . . Hard Coded Reset Configuration Word High Field Values . . . . . . . . . . . . . Reset Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset Configuration Word Low Register (RCWLR) . . . . . . . . . . . . . . . . . . . Reset Configuration Word High Register (RCWHR). . . . . . . . . . . . . . . . . . . Reset Status Register (RSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset Protection Register (RPR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset Control Register (RCR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset Control Enable Register (RCER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Boot Program 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.2.1 6.2.2.2 6.2.2.3 6.2.3 6.2.3.1 6.2.3.2 6.2.3.3 6.2.4 6.2.4.1 6.2.4.2 6.2.5 6.3 6.4 6.5 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Private Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Shared Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Patch Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Multi Device Support for the I2C Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Example Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6 Boot Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 I2C EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 DHCP Client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15 TFTP Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 Boot File Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 Simple Ethernet Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19 Simple Ethernet Boot Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19 Simple Ethernet Boot Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19 Boot File Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20 Serial RapidIO Interconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21 Serial RapidIO Without I2C Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21 Serial RapidIO Interface with I2C Support . . . . . . . . . . . . . . . . . . . . . . . . . 6-22 SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22 Jump to User Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22 System after Boot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 Boot Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 5-11 5-13 5-14 5-14 5-15 5-15 5-15 5-16 5-17 5-17 5-19 5-22 5-24 5-25 5-26 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor ix Contents 7 Clocks 7.1 7.2 7.2.1 7.2.2 Clock Generation Components and Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . System Clock Control Register (SCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock General Purpose Register 0 (CLK_GPR0) . . . . . . . . . . . . . . . . . . . . . . . 8 General Configuration Registers 8.1 8.2 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.2.7 8.2.8 8.2.9 8.2.10 8.2.11 8.2.12 8.2.13 8.2.14 8.2.15 8.2.16 8.2.17 8.2.18 8.2.19 8.2.20 8.2.21 8.2.22 8.2.23 8.2.24 8.2.25 8.2.26 8.2.27 8.2.28 8.2.29 8.2.30 8.2.31 8.2.32 Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 Detailed Register Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 General Configuration Register 1 (GCR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 General Configuration Register 2 (GCR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 General Status Register 1 (GSR1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 High Speed Serial Interface Status Register (HSSI_SR) . . . . . . . . . . . . . . . . . 8-7 DDR General Control Register (DDR_GCR) . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 High Speed Serial Interface Control Register 1 (HSSI_CR1) . . . . . . . . . . . . 8-12 High Speed Serial Interface Control Register 2 (HSSI_CR2) . . . . . . . . . . . . 8-15 QUICC Engine Control Register (QECR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 GPIO Pull-Up Enable Register (GPUER). . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 GPIO Input Enable Register (GIER). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18 System Part and Revision ID Register (SPRIDR) . . . . . . . . . . . . . . . . . . . . . 8-19 General Control Register 4 (GCR4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 General Control Register 5 (GCR5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 General Status Register 2 (GSR2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 Core Subsystem Slave Port Priority Control Register (TSPPCR) . . . . . . . . . 8-26 QUICC Engine First External Request Multiplex Register (CPCE1R) . . . . . 8-27 QUICC Engine Second External Request Multiplex Register (CPCE2R) . . . 8-28 QUICC Engine Third External Request Multiplex Register (CPCE3R) . . . . 8-29 QUICC Engine Fourth External Request Multiplex Register (CPCE4R). . . . 8-30 General Control Register 10 (GCR10 GCR10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31 General Interrupt Register 1 (GIR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-32 General Interrupt Enable Register 1 (GIER1_x). . . . . . . . . . . . . . . . . . . . . . . 8-35 General Interrupt Register 3 (GIR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-37 General Interrupt Enable Register 3 for Cores 03 (GIER3_x) . . . . . . . . . . . 8-39 General Interrupt Register 5 (GIR5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-40 General Interrupt Enable Register 5 (GIER5_x). . . . . . . . . . . . . . . . . . . . . . . 8-42 General Control Register 11 (GCR11 GCR11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43 General Control Register 12 (GCR12 GCR12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-44 DMA Request0 Control Register (GCR_DREQ0) . . . . . . . . . . . . . . . . . . . . . 8-46 DMA Request1 Control Register (GCR_DREQ1) . . . . . . . . . . . . . . . . . . . . . 8-50 DMA Done Control Register (GCR_DDONE) . . . . . . . . . . . . . . . . . . . . . . . 8-54 DDR1 General Configuration Register (DDR1_GCR). . . . . . . . . . . . . . . . . . 8-57 7-2 7-4 7-4 7-5 MSC8156 MSC8156 Reference Manual, Rev. 1 x Freescale Semiconductor Contents 8.2.33 8.2.34 DDR2 General Configuration Register (DDR2_GCR). . . . . . . . . . . . . . . . . . 8-58 Core Subsystem Slave Port General Configuration Register (CORE_SLV_GCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-59 9 Memory Map 9.1 9.2 9.3 9.4 9.5 9.5.1 9.5.2 9.6 Shared Memory Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shared SC3850 SC3850 DSP Core Subsystem M2/L2 Memories . . . . . . . . . . . . . . . . . . SC3850 SC3850 DSP Core Subsystem Internal Address Space . . . . . . . . . . . . . . . . . . . . CCSR Address Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initiators Views of the System Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . SC3850 SC3850 (Data) View of the System Address Space . . . . . . . . . . . . . . . . . . . . . Peripherals View of the System Address Space . . . . . . . . . . . . . . . . . . . . . . . . Detailed System Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 MSC8156 MSC8156 SC3850 SC3850 DSP Subsystem 10.1 10.2 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.4.3 10.4.4 10.4.5 10.4.6 10.5 10.6 10.7 10.8 10.9 10.10 10.10.1 10.10.2 10.11 10.11.1 10.11.2 10.11.2.1 10.11.2.2 SC3850 SC3850 DSP Core Subsystem Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 SC3850 SC3850 Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3 Instruction Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4 Instruction Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4 Instruction Fetch Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 Data Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 Data Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 Data Fetch Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 Write-Back Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 Write-Through Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 Data Control Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 Write Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8 Memory Management Unit (MMU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8 L2 Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9 On-Chip Emulator and Debug and Profiling Unit . . . . . . . . . . . . . . . . . . . . . 10-10 Extended Programmable Interrupt Controller . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 QBus to MBus Interface Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 MBus to DMA Bridge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 Entering and Exiting Wait and Stop States Safely. . . . . . . . . . . . . . . . . . . . . . 10-12 Wait State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12 Stop State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12 Procedure for Entering DSP Subsystem Stop State Safely . . . . . . . . . . . . 10-12 Procedure for Exiting the Stop State Safely . . . . . . . . . . . . . . . . . . . . . . . . 10-13 9-1 9-2 9-3 9-4 9-5 9-5 9-6 9-6 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor xi Contents 11 Internal Memory Subsystem 11.1 11.2 11.3 11.4 11.5 11.6 Memory Management Unit (MMU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2 Instruction Channel (ICache and IFU). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3 Data Channel and Write Queue (DCache) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5 L2 Unified Cache/M2 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8 M3 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12 Internal Boot ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12 12 DDR SDRAM Memory Controller 12.1 12.2 12.2.1 12.2.2 12.2.3 12.3 12.4 12.4.1 12.4.2 12.4.3 12.4.4 12.4.5 12.4.5.1 12.4.5.2 12.4.6 12.4.7 12.5 12.6 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.8.3 12.8.4 12.8.5 12.8.6 12.8.7 12.8.8 12.8.9 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3 DDR SDRAM Interface Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-7 DDR SDRAM Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8 DDR SDRAM Address Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10 JEDEC Standard DDR SDRAM Interface Commands . . . . . . . . . . . . . . . . . . 12-15 DDR SDRAM Clocking and Interface Timing . . . . . . . . . . . . . . . . . . . . . . . . 12-20 Clock Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-24 DDR SDRAM Mode-Set Command Timing . . . . . . . . . . . . . . . . . . . . . . . . 12-25 DDR SDRAM Registered DIMM Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25 DDR SDRAM Write Timing Adjustments . . . . . . . . . . . . . . . . . . . . . . . . . . 12-26 DDR SDRAM Refresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-28 DDR SDRAM Refresh Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-28 DDR SDRAM Refresh and Power-Saving Modes. . . . . . . . . . . . . . . . . . . 12-29 DDR Data Beat Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-31 Page Mode and Logical Bank Retention. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-32 Error Checking and Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-32 Error Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-35 Set-Up and Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-36 Programming Differences Between Memory Types. . . . . . . . . . . . . . . . . . . 12-40 DDR SDRAM Initialization Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-44 Memory Controller Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-44 Chip-Select Bounds (MnCSx_BNDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-46 Chip-Select x Configuration Register (MnCSx_CONFIG) . . . . . . . . . . . . . 12-47 Chip-Select x Configuration Register 2 (MnCSx_CONFIG_2) . . . . . . . . . . 12-49 DDR SDRAM Timing Configuration 3 (MnTIMING_CFG_3). . . . . . . . . . 12-50 DDR SDRAM Timing Configuration Register 0 (MnTIMING_CFG_0) . . 12-52 DDR SDRAM Timing Configuration Register 1 (MnTIMING_CFG_1) . . 12-55 DDR SDRAM Timing Configuration Register 2 (MnTIMING_CFG_2) . . 12-60 DDR SDRAM Control Configuration Register (MnDDR_SDRAM_CFG). 12-65 DDR SDRAM Control Configuration Register 2 (MnDDR_SDRAM_CFG_2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-67 MSC8156 MSC8156 Reference Manual, Rev. 1 xii Freescale Semiconductor Contents 12.8.10 12.8.11 12.8.12 12.8.13 12.8.14 12.8.15 12.8.16 12.8.17 12.8.18 12.8.19 12.8.20 12.8.21 12.8.22 12.8.23 12.8.24 12.8.25 12.8.26 12.8.27 12.8.28 12.8.29 12.8.30 12.8.31 12.8.32 12.8.33 12.8.34 12.8.35 12.8.36 12.8.37 12.8.38 12.8.39 12.8.40 12.8.41 DDR SDRAM Mode Configuration Register (MnDDR_SDRAM_MODE) 12-70 DDR SDRAM Mode Configuration 2 Register (MnDDR_SDRAM_MODE_2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-71 DDR SDRAM Mode Control Register (MnDDR_SDRAM_MD_CNTL). . 12-71 DDR SDRAM Interval Configuration Register (MnDDR_SDRAM_INTERVAL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-74 DDR SDRAM Data Initialization Register (MnDDR_DATA_INIT) . . . . . 12-75 DDR SDRAM Clock Control Configuration Register (MnDDR_SDRAM_CLK_CNTL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-75 DDR SDRAM Initialization Address Register (MnDDR_INIT_ADDR) . . 12-76 DDR Initialization Enable (MnDDR_INIT_EN) . . . . . . . . . . . . . . . . . . . . . 12-77 DDR SDRAM Timing Configuration 4 (MnTIMING_CFG_4). . . . . . . . . . 12-78 DDR SDRAM Timing Configuration 5 (MnTIMING_CFG_5). . . . . . . . . . 12-80 DDR ZQ Calibration Control (MnDDR_ZQ_CNTL) . . . . . . . . . . . . . . . . . 12-82 DDR Write Leveling Control (MnDDR_WRLVL_CNTL) . . . . . . . . . . . . . 12-84 DDR Write Leveling Control 2 (MnDDR_WRLVL_CNTL_2). . . . . . . . . . 12-87 DDR Write Leveling Control 3 (MnDDR_WRLVL_CNTL_3). . . . . . . . . . 12-90 DDR Pre-Drive Conditioning Control (MnDDR_PD_CNTL) . . . . . . . . . . . 12-93 DDR Self Refresh Counter (MnDDR_SR_CNTR) . . . . . . . . . . . . . . . . . . . 12-96 DDR SDRAM Register Control Words 1 (MnDDR_SDRAM_RCW_1) . . 12-97 DDR SDRAM Register Control Words 2 (MnDDR_SDRAM_RCW_2) . . 12-98 DDR Debug Status Register 1 (MnDDRDSR_1) . . . . . . . . . . . . . . . . . . . . . 12-99 DDR Debug Status Register 2 (MnDDRDSR_2) . . . . . . . . . . . . . . . . . . . . 12-100 DDR Control Driver Register 1 (MnDDRCDR_1). . . . . . . . . . . . . . . . . . . 12-100 DDR Control Driver Register 2 (MnDDRCDR_2). . . . . . . . . . . . . . . . . . . 12-104 DDR SDRAM IP Block Revision 1 Register (MnDDR_IP_REV1) . . . . . 12-105 DDR SDRAM IP Block Revision 2 Register (MnDDR_IP_REV2) . . . . . 12-105 DDR SDRAM Memory Data Path Error Injection Mask High Register (MnDATA_ERR_INJECT_HI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-106 DDR SDRAM Memory Data Path Error Injection Mask Low Register (MnDATA_ERR_INJECT_LO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-106 DDR SDRAM Memory Data Path Error Injection Mask ECC Register (MnERR_INJECT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-107 DDR SDRAM Memory Data Path Read Capture Data High Register (MnCAPTURE_DATA_HI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-108 DDR SDRAM Memory Data Path Read Capture Data Low Register (MnCAPTURE_DATA_LO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-108 DDR SDRAM Memory Data Path Read Capture ECC Register (MnCAPTURE_ECC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-109 DDR SDRAM Memory Error Detect Register (MnERR_DETECT) . . . . . 12-109 DDR SDRAM Memory Error Disable Register (MnERR_DISABLE) . . . 12-110 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor xiii Contents 12.8.42 12.8.43 12.8.44 12.8.45 12.8.46 DDR SDRAM Memory Error Interrupt Enable Register (MnERR_INT_EN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DDR SDRAM Memory Error Attributes Capture Register (MnCAPTURE_ATTRIBUTES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DDR SDRAM Memory Error Address Capture Register (MnCAPTURE_ADDRESS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DDR SDRAM Single-Bit ECC Memory Error Management Register (MnERR_SBE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Debug Register 2 (MnDEBUG_2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-112 12-113 12-114 12-114 12-115 13 Interrupt Handling 13.1 13.2 13.2.1 13.2.2 13.2.3 13.3 13.4 13.5 13.5.1 13.5.1.1 13.5.1.2 13.5.2 13.5.3 Global Interrupt Controller (GIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2 General Configuration Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-3 Interrupt Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-3 External Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4 Interrupt Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5 Interrupt Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6 Core Interrupt Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-22 Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-23 Global Interrupt Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-23 Virtual Interrupt Generation Register (VIGR) . . . . . . . . . . . . . . . . . . . . . . 13-23 Virtual Interrupt Status Register (VISR) . . . . . . . . . . . . . . . . . . . . . . . . . . 13-24 General Interrupt Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-26 Programming Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-26 14 Direct Memory Access (DMA) Controller 14.1 14.2 14.2.1 14.2.2 14.2.3 14.2.4 14.2.5 14.2.6 14.2.7 14.2.8 14.2.9 14.2.10 14.2.11 14.3 14.3.1 Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2 Buffer Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2 One-Dimensional Simple Buffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-3 One-Dimensional Cyclic Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4 One-Dimensional Chained Buffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5 One-Dimensional Incremental Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6 One-Dimensional Complex Buffers With Dual Cyclic Buffers . . . . . . . . . . . 14-7 Two-Dimensional Simple Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-8 Three-Dimensional Simple Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10 Four-Dimensional Simple Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-11 Multi-Dimensional Chained Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-14 Two-Dimensional Cyclic Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-16 Three-Dimensional Cyclic Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-17 Arbitration Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-18 Round-Robin Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-18 MSC8156 MSC8156 Reference Manual, Rev. 1 xiv Freescale Semiconductor Contents 14.3.2 14.3.2.1 14.3.2.2 14.3.2.3 14.4 14.4.1 14.4.2 14.5 14.6 14.6.1 14.6.2 14.6.3 14.6.3.1 14.6.3.2 14.6.3.3 14.6.4 14.7 14.7.1 14.7.2 14.7.3 14.7.4 14.7.5 14.7.6 14.7.7 14.7.8 14.7.9 14.7.10 14.7.11 14.7.12 14.7.13 14.7.14 14.7.15 14.7.16 14.7.17 14.7.18 14.7.19 14.7.20 14.7.21 14.7.22 14.7.22.1 14.7.22.2 EDF Arbitration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Issuing Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Counter Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Source to the Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maskable Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nonmaskable Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Profiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DMA Peripheral Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modes of Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration and Control Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Request Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Done Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Signal Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the DMA Peripheral Interface Block . . . . . . . . . . . . . . . . . . . . . . . . . DMA Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DMA Buffer Descriptor Base Registers x (DMABDBRx). . . . . . . . . . . . . . DMA Controller Channel Configuration Registers x (DMACHCRx) . . . . . DMA Controller Global Configuration Register (DMAGCR) . . . . . . . . . . . DMA Channel Enable Register (DMACHER) . . . . . . . . . . . . . . . . . . . . . . . DMA Channel Disable Register (DMACHDR) . . . . . . . . . . . . . . . . . . . . . . DMA Channel Freeze Register (DMACHFR) . . . . . . . . . . . . . . . . . . . . . . . DMA Channel Defrost Register (DMACHDFR). . . . . . . . . . . . . . . . . . . . . DMA Time-To-Dead Line Registers x (DMAEDFTDLx) . . . . . . . . . . . . . . DMA EDF Control Register (DMAEDFCTRL). . . . . . . . . . . . . . . . . . . . . . DMA EDF Mask Register (DMAEDFMR) . . . . . . . . . . . . . . . . . . . . . . . . . DMA EDF Mask Update Register (DMAEDFMUR). . . . . . . . . . . . . . . . . . DMA EDF Status Register (DMAEDFSTR) . . . . . . . . . . . . . . . . . . . . . . . . DMA Mask Register (DMAMR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DMA Mask Update Register (DMAMUR). . . . . . . . . . . . . . . . . . . . . . . . . . DMA Status Register (DMASTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DMA Error Register (DMAERR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DMA Debug Event Status Register (DMADESR) . . . . . . . . . . . . . . . . . . . . DMA Local Profiling Configuration Register (DMALPCR) . . . . . . . . . . . . DMA Round-Robin Priority Group Update Register (DMARRPGUR) . . . DMA Channel Active Status Register (DMACHASTR) . . . . . . . . . . . . . . . DMA Channel Freeze Status Register (DMACHFSTR) . . . . . . . . . . . . . . . DMA Channel Buffer Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Buffer Attributes (BD_ATTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multi-Dimensional Buffer Attributes (BD_MD_ATTR) . . . . . . . . . . . . . . 14-19 14-20 14-20 14-21 14-21 14-21 14-21 14-22 14-22 14-22 14-23 14-24 14-24 14-24 14-24 14-25 14-26 14-27 14-28 14-30 14-30 14-31 14-32 14-32 14-33 14-34 14-34 14-35 14-37 14-37 14-38 14-39 14-40 14-42 14-42 14-43 14-44 14-44 14-44 14-48 14-51 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor xv Contents 15 High Speed Serial Interface (HSSI) Subsystem 15.1 15.2 15.3 15.3.1 15.3.2 15.3.3 15.4 15.4.1 15.4.1.1 15.4.1.2 15.4.1.2.1 15.4.1.2.2 15.4.1.2.3 15.4.1.2.4 15.4.1.2.5 15.4.1.3 15.4.1.3.1 15.4.1.3.2 15.4.1.4 15.4.1.5 15.4.1.6 15.4.1.7 15.4.2 15.4.3 15.4.4 15.4.5 15.4.6 15.5 15.6 15.7 15.8 15.8.1 15.8.2 15.8.3 15.8.4 15.8.5 15.8.6 15.8.7 15.8.8 15.8.9 HSSI Subsystem Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2 OCN Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-3 DMA Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-4 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5 Modes of Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-7 DMA Channel Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-7 Source/Destination Transaction Size Calculations. . . . . . . . . . . . . . . . . . . . 15-7 Basic DMA Mode Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-9 Basic Direct Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-9 Basic Direct Single-Write Start Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-10 Basic Chaining Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-10 Basic Chaining Single-Write Start Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 15-11 Extended DMA Mode Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-12 Channel Continue Mode for Cascading Transfer Chains. . . . . . . . . . . . . . 15-13 Basic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-14 Extended Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-14 Channel Abort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-14 Bandwidth Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-15 Channel State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-15 Illustration of Stride Size and Stride Distance . . . . . . . . . . . . . . . . . . . . . . 15-15 DMA Transfer Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-16 DMA Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-16 DMA Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-17 Local Access ATMU Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-19 Limitations and Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-19 OCN-to-MBus (O2M) Bridges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-21 SRIO Port Controller Modules (SRIOn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-21 SerDes PHY Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-21 HSSI Programming Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-21 Mode Registers 03 (DnMR[03]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-24 Status Registers (DnSRn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-27 Current Link Descriptor Extended Address Registers (DnECLNDARn). . . 15-29 Current Link Descriptor Address Registers (DnCLNDARn): . . . . . . . . . . . 15-30 Source Attributes Registers (DnSATRn) . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-31 Source Address Registers (DnSARn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-32 Destination Attributes Registers (DnDATRn). . . . . . . . . . . . . . . . . . . . . . . . 15-33 Destination Address Registers (DnDARn) . . . . . . . . . . . . . . . . . . . . . . . . . . 15-34 Byte Count Registers (DnBCRn). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-35 MSC8156 MSC8156 Reference Manual, Rev. 1 xvi Freescale Semiconductor Contents 15.8.10 15.8.11 15.8.12 15.8.13 15.8.14 15.8.15 15.8.16 15.8.17 15.8.18 15.8.19 15.8.20 15.8.21 15.8.22 15.8.23 15.8.24 15.8.25 15.8.26 15.8.27 15.8.28 Extended Next Link Descriptor Address Registers (DnENLNDARn) . . . . . Next Link Descriptor Address Registers (DnNLNDARn) . . . . . . . . . . . . . . Extended Current List Descriptor Address Registers (DnECLSDARn). . . . Current List Descriptor Address Registers (DnCLSDARn) . . . . . . . . . . . . . Extended Next List Descriptor Address Registers (DnENLSDARn) . . . . . . Next List Descriptor Address Registers (DnNLSDARn) . . . . . . . . . . . . . . . Source Stride Registers (DnSSRn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Destination Stride Registers (DnDSRn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . DMA General Status Register (DnDGSR) . . . . . . . . . . . . . . . . . . . . . . . . . Local Access Window Base Address Registers 09 (DnLAWBAR[09]) . Local Access Window Attributes Registers 09 (DnLAWAR[09]) . . . . . . OCN-to-MBus Control Registers (O2MCR[01]) . . . . . . . . . . . . . . . . . . . . SRDS Control Register 0 (SRDSnCR0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . SRDS Control Register 1 (SRDSnCR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . SRDS Control Register 2 (SRDSnCR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . SRDS Control Register 3 (SRDSnCR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . SRDS Control Register 4 (SRDSnCR4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . SRDS Control Register 5 (SRDSnCR5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . SRDS Control Register 6 (SRDSnCR6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-36 15-37 15-38 15-39 15-40 15-41 15-42 15-43 15-44 15-46 15-47 15-49 15-50 15-53 15-56 15-57 15-59 15-61 15-62 16 Serial RapidIO Controller 16.1 16.1.1 16.1.2 16.1.3 16.1.4 16.1.4.1 16.1.4.2 16.2 16.2.1 16.2.2 16.2.3 16.2.4 16.2.4.1 16.2.4.2 16.2.4.3 16.2.4.3.1 16.2.4.3.2 16.2.5 16.2.5.1 16.2.5.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3 Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-5 1x/4x LP-Serial Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-5 RapidIO Interface Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-6 Initialization for Booting the MSC8156 MSC8156 DSP . . . . . . . . . . . . . . . . . . . . . . . 16-6 Initialization for Non-Boot Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-6 RapidIO Interface Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-6 RapidIO Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-7 RapidIO Packet Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-8 RapidIO Control Symbol Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-9 Accessing Configuration Registers via RapidIO Packets . . . . . . . . . . . . . . . 16-11 Inbound Maintenance Accesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-11 RapidIO Non-Maintenance Accesses Using LCSBA1CSR. . . . . . . . . . . . 16-12 RapidIO Maintenance Accesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-12 Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-12 Outbound Maintenance Accesses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-12 RapidIO ATMU Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-13 RapidIO Outbound ATMU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-13 Outbound Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-15 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor xvii Contents 16.2.5.3 16.2.5.3.1 16.2.5.3.2 16.2.5.4 16.2.5.4.1 16.2.5.4.2 16.2.6 16.2.7 16.2.8 16.2.9 16.2.10 16.2.10.1 16.2.10.2 16.2.10.3 16.3 16.3.1 16.3.2 16.3.2.1 16.3.2.2 16.3.2.3 16.3.2.4 16.3.2.5 16.3.2.5.1 16.3.2.5.2 16.3.2.5.3 16.3.2.5.4 16.3.2.5.5 16.3.2.6 16.3.2.7 16.3.2.8 16.3.3 16.3.3.1 16.3.3.2 16.3.3.3 16.3.3.4 16.3.3.5 16.3.3.6 16.3.3.7 16.3.3.8 16.3.3.9 16.3.4 Window Size and Segmented Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . 16-16 Valid Hits to Multiple ATMU Windows . . . . . . . . . . . . . . . . . . . . . . . . . . 16-40 Window Boundary Crossing Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-41 RapidIO Inbound ATMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-42 Hits to Multiple ATMU Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-44 Window Boundary Crossing Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-44 Generating Link-Request/Reset-Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-45 Outbound Drain Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-46 Input Port Disable Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-47 Software Assisted Error Recovery Register Support . . . . . . . . . . . . . . . . . . 16-47 Errors and Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-48 RapidIO Error Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-48 Physical Layer RapidIO Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-50 Logical Layer RapidIO Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-53 RapidIO Message Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-79 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-79 Outbound Message Controller Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-80 Direct Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-80 Software Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-83 Disabling and Enabling the Message Controller . . . . . . . . . . . . . . . . . . . . 16-84 Hardware Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-84 Chaining Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-88 Changing Descriptor Queues in Chaining Mode . . . . . . . . . . . . . . . . . . . . 16-91 Preventing Queue Overflow in Chaining Mode . . . . . . . . . . . . . . . . . . . . . 16-91 Switching Between Direct and Chaining Modes . . . . . . . . . . . . . . . . . . . . 16-91 Chaining Mode Descriptor Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-92 Chaining Mode Controller Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-93 Software Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-94 Hardware Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-95 Outbound Message Controller Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . 16-96 Inbound Message Controller Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-97 Inbound Message Controller Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 16-98 Inbound Controller Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-98 Message Steering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-100 Retry Response Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-100 Inbound Message Controller Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . 16-100 Software Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-101 Hardware Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-102 Programming Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-107 Disabling and Enabling the Inbound Message Controller . . . . . . . . . . . . 16-107 RapidIO Message Passing Logical Specification Register Bits . . . . . . . . . 16-108 MSC8156 MSC8156 Reference Manual, Rev. 1 xviii Freescale Semiconductor Contents 16.4 16.4.1 16.4.2 16.4.3 16.4.3.1 16.4.3.2 16.4.3.3 16.4.3.4 16.4.4 16.4.4.1 16.4.4.2 16.4.4.3 16.4.4.4 16.4.4.5 16.4.4.6 16.4.4.7 16.4.4.8 16.4.4.9 16.5 16.5.1 16.5.2 16.5.3 16.5.4 16.5.5 16.5.6 16.5.7 16.5.8 16.5.9 16.6 16.6.1 16.6.2 16.6.3 16.6.4 16.6.5 16.6.6 16.6.7 16.6.8 16.6.9 16.6.10 RapidIO Doorbell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-108 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-108 Doorbell Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-109 Outbound Doorbell Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-110 Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-111 Software Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-111 Hardware Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-112 Programming Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-114 Inbound Doorbell Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-115 Doorbell Queue Entry Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-116 Retry Response Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-117 Doorbell Controller Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-117 Transaction Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-118 Software Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-118 Hardware Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-118 Programming Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-121 Disabling and Enabling the Doorbell Controller . . . . . . . . . . . . . . . . . . . 16-122 RapidIO Message Passing Logical Specification Registers . . . . . . . . . . . 16-122 Port-Write Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-123 Port-Write Controller Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-123 Port-Write Controller Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-124 Port-Write Controller Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-124 Discarding Port-Writes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-125 Transaction Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-125 Software Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-125 Hardware Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-125 Disabling and Enabling the Port-Write Controller . . . . . . . . . . . . . . . . . . . 16-128 RapidIO Message Passing Logical Specification Registers . . . . . . . . . . . . 16-129 RapidIO Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-129 Device Identity Capability Register (DIDCAR) . . . . . . . . . . . . . . . . . . . . . 16-133 Device Information Capability Register (DICAR) . . . . . . . . . . . . . . . . . . . 16-133 Assembly Identity Capability Register (AIDCAR) . . . . . . . . . . . . . . . . . . 16-134 Assembly Information Capability Register (AICAR). . . . . . . . . . . . . . . . . 16-134 Processing Element Features Capability Register (PEFCAR) . . . . . . . . . . 16-135 Source Operations Capability Register (SOCAR) . . . . . . . . . . . . . . . . . . . 16-136 Destination Operations Capability Register (DOCAR) . . . . . . . . . . . . . . . 16-138 Mailbox Command and Status Register (MCSR) . . . . . . . . . . . . . . . . . . . . 16-139 Port Write and Doorbell Command and Status Register (PWDCSR) . . . . 16-141 Processing Element Logical Layer Control Command and Status Register (PELLCCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-142 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor xix Contents 16.6.11 16.6.12 16.6.13 16.6.14 16.6.15 16.6.16 16.6.17 16.6.18 16.6.19 16.6.20 16.6.21 16.6.22 16.6.23 16.6.24 16.6.25 16.6.26 16.6.27 16.6.28 16.6.29 16.6.30 16.6.31 16.6.32 16.6.33 16.6.34 16.6.35 16.6.36 Local Configuration Space Base Address 1 Command and Status Register (LCSBA1CSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-143 Base Device ID Command and Status Register (BDIDCSR) . . . . . . . . . . . 16-144 Host Base Device ID Lock Command and Status Register (HBDIDLCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-145 Component Tag Command and Status Register (CTCSR) . . . . . . . . . . . . . 16-146 Port Maintenance Block Header 0 (PMBH0) . . . . . . . . . . . . . . . . . . . . . . . 16-147 Port Link Time-Out Control Command and Status Register (PLTOCCSR)16-148 Port Response Time-Out Control Command and Status Register (PRTOCCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-149 Port General Control Command and Status Register (PGCCSR). . . . . . . . 16-150 Port 01 Link Maintenance Request Command and Status Register (PnLMREQCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-151 Port 01 Link Maintenance Response Command and Status Register (PnLMRESPCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-152 Port 01 Local ackID Command and Status Register (PnLASCR) . . . . . . 16-153 Port 01 Error and Status Command and Status Register (PnESCSR). . . . 16-154 Port 01 Control Command and Status Register (PnCCSR) . . . . . . . . . . . 16-156 Error Reporting Block Header (ERBH) . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-158 Logical/Transport Layer Error Detect Command and Status Register (LTLEDCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-158 Logical/Transport Layer Error Enable Command and Status Register (LTLEECSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-160 Logical/Transport Layer Address Capture Command and Status Register (LTLACCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-161 Logical/Transport Layer Device ID Capture Command and Status Register (LTLDIDCCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-162 Logical/Transport Layer Control Capture Command and Status Register (LTLCCCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-163 Port 01 Error Detect Command and Status Register (PnEDCSR) . . . . . . 16-164 Port 01 Error Rate Enable Command and Status Register (PnERECSR). 16-165 Port 01 Error Capture Attributes Command and Status Register (PnECACSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-166 Port 01 Packet/Control Symbol Error Capture Command and Status Register (PnPCSECCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-168 Port 01 Packet Error Capture Command and Status Register 1 (PnPECCSR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-169 Port 01 Packet Error Capture Command and Status Register 2 (PnPECCSR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-170 Port 01 Packet Error Capture Command and Status Register 3 (PnPECCSR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-171 MSC8156 MSC8156 Reference Manual, Rev. 1 xx Freescale Semiconductor Contents 16.6.37 16.6.38 16.6.39 16.6.40 16.6.41 16.6.42 16.6.43 16.6.44 16.6.45 16.6.46 16.6.47 16.6.48 16.6.49 16.6.50 16.6.51 16.6.52 16.6.53 16.6.54 16.6.55 16.6.56 16.6.57 16.6.58 16.6.59 16.6.60 16.6.61 16.6.62 16.6.63 16.6.64 16.6.65 Port 01 Error Rate Command and Status Register (PnERCSR) . . . . . . . . 16-172 Port 01 Error Rate Threshold Command and Status Register (PnERTCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-173 Logical Layer Configuration Register (LLCR). . . . . . . . . . . . . . . . . . . . . . 16-174 Error/Port-Write Status Register (EPWISR). . . . . . . . . . . . . . . . . . . . . . . . 16-175 Logical Retry Error Threshold Configuration Register (LRETCR) . . . . . . 16-176 Physical Retry Error Threshold Configuration Register (PRETCR) . . . . . 16-177 Port 01 Alternate Device ID Command and Status Register (PnADIDCSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-178 Port 01 Pass-Through Accept-All Configuration Register (PnPTAACR) 16-179 Port 01 Logical Outbound Packet Time-to-Live Configuration Register (PnLOPTTLCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-180 Port 01 Implementation Error Command and Status Register (PnIECSR) 16-181 Port 01 Serial Link Command and Status Register (PnSLCSR). . . . . . . . 16-182 Port 01 Serial Link Error Injection Configuration Register (PnSLEICR) 16-183 IP Block Revision Register 1 (IPBRR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-184 IP Block Revision Register 2 (IPBRR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-184 Port 01 RapidIO Outbound Window Translation Address Registers x (PnROWTARx). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-185 Port 01 RapidIO Outbound Window Translation Extended Address Registers x (PnROWTEARx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-186 Port 01 RapidIO Outbound Window Base Address Registers x (PnROWBARx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-187 Port 01 RapidIO Outbound Window Attributes Registers x (PnROWARx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-188 Port 01 RapidIO Outbound Window Segment 13 Registers 18 (PnROWSxRy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-190 Port 01 RapidIO Inbound Window Translation Address Registers x (PnRIWTARx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-191 Port 01 RapidIO Inbound Window Base Address Registers x (PnRIWBARx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-192 Port 01 RapidIO Inbound Window Attributes Registers x (PnRIWARx) 16-193 Outbound Message x Mode Registers (OMxMR) . . . . . . . . . . . . . . . . . . . 16-194 Outbound Message x Status Registers (OMxSR) . . . . . . . . . . . . . . . . . . . . 16-196 Outbound Message x Descriptor Queue Dequeue Pointer Address Registers (DMxDQDPAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-198 Outbound Message x Source Address Registers (OMxSAR) . . . . . . . . . . . 16-199 Outbound Message x Destination Port Register (OMxDPR) . . . . . . . . . . . 16-200 Outbound Message x Destination Attributes Register (OMxDATR) . . . . . 16-201 Outbound Message x Double-Word Count Register (DMxDCR) . . . . . . . 16-202 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor xxi Contents 16.6.66 16.6.67 16.6.68 16.6.69 16.6.70 16.6.71 16.6.72 16.6.73 16.6.74 16.6.75 16.6.76 16.6.77 16.6.78 16.6.79 16.6.80 16.6.81 16.6.82 16.6.83 16.6.84 16.6.85 16.6.86 16.6.87 Outbound Message x Descriptor Queue Enqueue Pointer Address Registers (OMxDQEPAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-203 Outbound Message x Retry Error Threshold Configuration Register (OMxRETCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-204 Outbound Message x Multicast Group Registers (OMxMGR) . . . . . . . . . 16-205 Outbound Message x Multicast List Registers (OMxMLR) . . . . . . . . . . . . 16-206 Inbound Message x Mode Registers (IMxMR). . . . . . . . . . . . . . . . . . . . . . 16-207 Inbound Message x Status Registers (IMxSR) . . . . . . . . . . . . . . . . . . . . . . 16-209 Inbound Message x Frame Queue Dequeue Pointer Address Registers (IMxFQDPAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-211 Inbound Message x Frame Queue Enqueue Pointer Address Registers (IMxFQEPAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-212 Inbound Message x Maximum Interrupt Report Interval Registers (IMxMIRIR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-213 Outbound Doorbell Mode Register (ODMR) . . . . . . . . . . . . . . . . . . . . . . . 16-214 Outbound Doorbell Status Register (ODSR) . . . . . . . . . . . . . . . . . . . . . . . 16-215 Outbound Doorbell Destination Port Register (ODDPR) . . . . . . . . . . . . . . 16-216 Outbound Doorbell Destination Attributes Register (ODDATR). . . . . . . . 16-217 Outbound Doorbell Retry Error Threshold Configuration Register (ODRETCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-218 Inbound Doorbell Mode Registers (IDMR) . . . . . . . . . . . . . . . . . . . . . . . . 16-219 Inbound Doorbell Status Register (IDSR) . . . . . . . . . . . . . . . . . . . . . . . . . 16-221 Inbound Doorbell Queue Dequeue Pointer Address Register (IDQDPAR) 16-222 Inbound Doorbell Queue Enqueue Pointer Address Registers (IDQEPAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-223 Inbound Doorbell Maximum Interrupt Report Interval Register (IDMIRIR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-224 Inbound Port-Write Mode Register (IPWMR) . . . . . . . . . . . . . . . . . . . . . . 16-225 Inbound Port-Write Status Register (IPWSR) . . . . . . . . . . . . . . . . . . . . . . 16-226 Inbound Port-Write Queue Base Address Register (IPWQBAR). . . . . . . . 16-227 17 PCI Express Controller 17.1 17.1.1 17.1.2 17.2 17.3 17.3.1 17.3.2 17.3.2.1 17.3.2.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outbound Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inbound Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modes of Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Byte Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Byte Order for Configuration Transactions . . . . . . . . . . . . . . . . . . . . . . . . . 17-1 17-2 17-3 17-4 17-5 17-6 17-6 17-7 17-9 MSC8156 MSC8156 Reference Manual, Rev. 1 xxii Freescale Semiconductor Contents 17.3.2.3 17.3.2.4 17.3.2.5 17.3.2.6 17.3.2.7 17.3.3 17.3.3.1 17.3.3.2 17.3.4 17.3.4.1 17.3.4.2 17.3.4.3 17.3.5 17.3.6 17.3.7 17.3.8 17.3.9 17.3.10 17.3.11 17.4 17.4.1 17.4.1.1 17.4.1.1.1 17.4.1.1.2 17.4.1.1.3 17.4.1.1.4 17.4.1.1.5 17.4.1.2 17.4.1.2.1 17.4.1.2.2 17.4.1.2.3 17.4.1.2.4 17.4.1.2.5 17.4.1.2.6 17.4.1.2.7 17.4.1.2.8 17.4.1.3 Transaction Ordering Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-9 Memory Space Addressing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-10 I/O Space Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-10 Configuration Space Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-11 Serialization of Configuration and I/O Writes . . . . . . . . . . . . . . . . . . . . . . 17-11 Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-11 Outbound ATMU Message Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-12 Inbound Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-13 Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-15 PCI Express Error Logging and Signaling . . . . . . . . . . . . . . . . . . . . . . . . . 17-15 PCI Express Controller Internal Interrupt Sources. . . . . . . . . . . . . . . . . . . 17-17 Error Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-18 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-21 Initial Credit Advertisement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-22 Power Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-22 L2/L3 Ready Link State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-23 Hot Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-23 Link Down. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-24 Initialization/Application Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-24 Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-24 PCI Express Memory Mapped Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-25 PCI Express Configuration Access Registers. . . . . . . . . . . . . . . . . . . . . . . 17-27 PCI Express Configuration Address Register (PEX_CONFIG_ADDR) . . 17-27 PCI Express Configuration Data Register (PEX_CONFIG_DATA). . . . . 17-28 PCI Express Outbound Completion Timeout Register (PEX_OTB_CPL_TOR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-29 PCI Express Configuration Retry Timeout Register (PEX_CONF_RTY_TOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-30 PCI Express Configuration Register (PEX_CONFIG) . . . . . . . . . . . . . . . 17-30 PCI Express Power Management Event and Message Registers . . . . . . . . 17-31 PCI Express PME and Message Detect Register (PEX_PME_MES_DR) 17-31 PCI Express PME and Message Disable Register (PEX_PME_MES_DISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-33 PCI Express PME and Message Interrupt Enable Register (PEX_PME_MES_IER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-34 PCI Express Power Management Command Register (PEX_PMCR). . . . 17-36 PCI Express Link Width Control Register (PEX_LWCR) . . . . . . . . . . . . 17-37 PCI Express Link Width Status Register (PEX_LWSR) . . . . . . . . . . . . . 17-38 PCI Express Link Speed Control Register (PEX_LSCR) . . . . . . . . . . . . . 17-39 PCI Express Link Speed Status Register (PEX_LSSR) . . . . . . . . . . . . . . . 17-40 PCI Express IP Block Revision Registers . . . . . . . . . . . . . . . . . . . . . . . . . 17-41 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor xxiii Contents 17.4.1.3.1 17.4.1.3.2 17.4.1.4 17.4.1.4.1 17.4.1.4.2 17.4.1.4.3 17.4.1.4.4 17.4.1.4.5 17.4.1.4.6 17.4.1.4.7 17.4.1.4.8 17.4.1.4.9 17.4.1.4.10 17.4.1.4.11 17.4.1.4.12 17.4.1.4.13 17.4.1.5 17.4.1.5.1 17.4.1.5.2 17.4.1.5.3 17.4.1.5.4 17.4.1.5.5 17.4.1.5.6 17.4.1.5.7 17.4.1.5.8 17.4.1.6 17.4.1.6.1 17.4.1.6.2 17.4.1.6.3 17.4.1.6.4 17.4.1.7 17.4.1.7.1 17.4.1.7.2 17.4.1.7.3 17.4.1.7.4 17.4.1.7.5 17.4.1.7.6 17.4.1.7.7 IP Block Revision Register 1 (PEX_IP_BLK_REV1). . . . . . . . . . . . . . . . IP Block Revision Register 2 (PEX_IP_BLK_REV2). . . . . . . . . . . . . . . . PCI Express ATMU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Outbound ATMU Registers. . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Outbound Translation Address Registers (PEXOTARn) . . . PCI Express Outbound Translation Extended Address Registers (PEXOTEARn). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Outbound Window Base Address Registers (PEXOWBARn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Outbound Window Attributes Registers (PEXOWARn) . . . PCI Express Inbound ATMU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . EP Inbound ATMU Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RC Inbound ATMU Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Inbound Translation Address Registers (PEXITARn) . . . . . PCI Express Inbound Window Base Address Register 1 (PEXIWBAR1) PCI Express Inbound Window Base Address Registers (PEXIWBARn) . PCI Express Inbound Window Base Extended Address Registers (PEXIWBEARn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Inbound Window Attributes Registers (PEXIWARn) . . . . . PCI Express Error Management Registers . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Error Detect Register (PEX_ERR_DR) . . . . . . . . . . . . . . . . PCI Express Error Interrupt Enable Register (PEX_ERR_EN) . . . . . . . . . PCI Express Error Disable Register (PEX_ERR_DISR) . . . . . . . . . . . . . . PCI Express Error Capture Status Register (PEX_ERR_CAP_STAT) . . . PCI Express Error Capture Register 0 (PEX_ERR_CAP_R0) . . . . . . . . . PCI Express Error Capture Register 1 (PEX_ERR_CAP_R1) . . . . . . . . . PCI Express Error Capture Register 2 (PEX_ERR_CAP_R2) . . . . . . . . . PCI Express Error Capture Register 3 (PEX_ERR_CAP_R3) . . . . . . . . . PCI Express Configuration Space Access . . . . . . . . . . . . . . . . . . . . . . . . . RC Configuration Register Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Configuration Access Register Mechanism . . . . . . . . . . . . . Outbound ATMU Configuration Mechanism (RC-Only) . . . . . . . . . . . . . EP Configuration Register Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Compatible Configuration Headers. . . . . . . . . . . . . . . . . . . . . . . . . . . Common PCI Compatible Configuration Header Registers . . . . . . . . . . . PCI Express Vendor ID Register-Offset 0x00. . . . . . . . . . . . . . . . . . . . . PCI Express Device ID Register-Offset 0x02 . . . . . . . . . . . . . . . . . . . . . PCI Express Command Register-Offset 0x04 . . . . . . . . . . . . . . . . . . . . . PCI Express Status Register-Offset 0x06 . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Revision ID Register-Offset 0x08 . . . . . . . . . . . . . . . . . . . PCI Express Class Code Register-Offset 0x09 . . . . . . . . . . . . . . . . . . . . 17-41 17-41 17-42 17-42 17-42 17-43 17-44 17-45 17-47 17-47 17-47 17-48 17-49 17-50 17-51 17-52 17-54 17-54 17-56 17-58 17-59 17-60 17-61 17-63 17-64 17-65 17-65 17-66 17-66 17-67 17-67 17-67 17-68 17-68 17-68 17-70 17-71 17-71 MSC8156 MSC8156 Reference Manual, Rev. 1 xxiv Freescale Semiconductor Contents 17.4.1.7.8 17.4.1.7.9 17.4.1.7.10 17.4.1.7.11 17.4.1.7.12 17.4.1.7.13 17.4.1.7.14 17.4.1.7.15 17.4.1.7.16 17.4.1.7.17 17.4.1.7.18 17.4.1.7.19 17.4.1.7.20 17.4.1.7.21 17.4.1.7.22 17.4.1.7.23 17.4.1.7.24 17.4.1.7.25 17.4.1.7.26 17.4.1.7.27 17.4.1.7.28 17.4.1.7.29 17.4.1.7.30 17.4.1.7.31 17.4.1.7.32 17.4.1.7.33 17.4.1.7.34 17.4.1.7.35 17.4.1.7.36 17.4.1.7.37 17.4.1.7.38 17.4.1.7.39 17.4.1.7.40 17.4.1.7.41 17.4.1.8 17.4.1.8.1 17.4.1.8.2 17.4.1.8.3 17.4.1.8.4 17.4.1.8.5 17.4.1.8.6 PCI Express Cache Line Size Register-Offset 0x0C . . . . . . . . . . . . . . . . PCI Express Latency Timer Register-0x0D . . . . . . . . . . . . . . . . . . . . . . PCI Express Header Type Register-0x0E . . . . . . . . . . . . . . . . . . . . . . . . PCI Express BIST Register-0x0F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type 0 Configuration Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Base Address Registers-0x100x27 . . . . . . . . . . . . . . . . . . PCI Express Subsystem Vendor ID Register (EP-Mode Only)-0x2C. . . PCI Express Subsystem ID Register (EP-Mode Only)-0x2E . . . . . . . . . Capabilities Pointer Register-0x34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Interrupt Line Register (EP-Mode Only)-0x3C . . . . . . . . . PCI Express Interrupt Pin Register-0x3D . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Minimum Grant Register (EP-Mode Only)-0x3E . . . . . . . PCI Express Maximum Latency Register (EP-Mode Only)-0x3F . . . . . Type 1 Configuration Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Base Address Register 0-0x10 . . . . . . . . . . . . . . . . . . . . . . PCI Express Primary Bus Number Register-Offset 0x18 . . . . . . . . . . . . PCI Express Secondary Bus Number Register-Offset 0x19 . . . . . . . . . . PCI Express Subordinate Bus Number Register-Offset 0x1A . . . . . . . . PCI Express Secondary Latency Timer Register-0x1B. . . . . . . . . . . . . . PCI Express I/O Base Register-0x1C . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express I/O Limit Register-0x1D. . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Secondary Status Register-0x1E. . . . . . . . . . . . . . . . . . . . . PCI Express Memory Base Register-0x20 . . . . . . . . . . . . . . . . . . . . . . . PCI Express Memory Limit Register-0x22 . . . . . . . . . . . . . . . . . . . . . . . PCI Express Prefetchable Memory Base Register-0x24 . . . . . . . . . . . . . PCI Express Prefetchable Memory Limit Register-0x26 . . . . . . . . . . . . PCI Express Prefetchable Base Upper 32 Bits Register-0x28. . . . . . . . . PCI Express Prefetchable Limit Upper 32 Bits Register-0x2C . . . . . . . . PCI Express I/O Base Upper 16 Bits Register-0x30 . . . . . . . . . . . . . . . . PCI Express I/O Limit Upper 16 Bits Register-0x32 . . . . . . . . . . . . . . . Capabilities Pointer Register-0x34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Interrupt Line Register-0x3C . . . . . . . . . . . . . . . . . . . . . . . PCI Express Interrupt Pin Register-0x3D . . . . . . . . . . . . . . . . . . . . . . . . PCI Express Bridge Control Register-0x3E . . . . . . . . . . . . . . . . . . . . . . PCI Compatible Device-Specific Configuration Space . . . . . . . . . . . . . . . PCI Express Power Management Capability ID Register-0x44 . . . . . . . PCI Express Power Management Capabilities Register-0x46. . . . . . . . . PCI Express Power Management Status and Control Register-0x48 . . . PCI Express Power Management Data Register-0x4B . . . . . . . . . . . . . . PCI Express Capability ID Register-0x4C . . . . . . . . . . . . . . . . . . . . . . . PCI Express Capabilities Register-0x4E . . . . . . . . . . . . . . . . . . . . . . . . . 17-72 17-72 17-73 17-73 17-73 17-74 17-76 17-77 17-77 17-78 17-78 17-78 17-79 17-79 17-80 17-80 17-81 17-81 17-81 17-82 17-82 17-83 17-84 17-84 17-85 17-85 17-86 17-86 17-87 17-87 17-88 17-88 17-88 17-89 17-90 17-91 17-91 17-92 17-92 17-93 17-93 MSC8156 MSC8156 Reference Manual, Rev. 1 Freescale Semiconductor xxv Contents 17.4.1.8.7 17.4.1.8.8 17.4.1.8.9 17.4.1.8.10 17.4.1.8.11 17.4.1.8.12 17.4.1.8.13 17.4.1.8.14 17.4.1.8.15 17.4.1.8.16 17.4.1.8.17 17.4.1.8.18 17.4.1.8.19 17.4.1.8.20 17.4.1.8.21 17.4.1.8.22 17.4.1.9 17.4.1.9.1 17.4.1.9.2 17.4.1.9.3 17.4.1.9.4 17.4.1.9.5 17.4.1.9.6 17.4.1.9.7 17.4.1.9.8 17.4.1.9.9 17.4.1.9.10 17.4.1.9.11 17.4.1.9.12 17.4.1.9.13 17.4.1.9.14 17.4.1.9.15 17.4.1.9.16 17.4.1.9.17 17.4.1.9.18 17.4.1.9.19 17.4.1.9.20 PCI Express Device Capabilities Register-0x50 . . . . . . . . . . . . . . . . . . . 17-94 PCI Express Device Control Register-0x54 . . . . . . . . . . . . . . . . . . . . . . 17-95 PCI Express Device Status Register-0x56. . . . . . . . . . . . . . . . . . . . . . . . 17-95 PCI Express Link Capabilities Register-0x58 . . . . . . . . . . . . . . . . . . . . . 17-96 PCI Express Link Control Register-0x5C . . . . . . . . . . . . . . . . . . . . . . . . 17-96 PCI Express Link Status Register-0x5E . . . . . . . . . . . . . . . . . . . . . . . . . 17-97 PCI Express Slot Capabilities Register-0x60 . . . . . . . . . . . . . . . . . . . . . 17-97 PCI Express Slot Control Register-0x64 . . . . . . . . . . . . . . . . . . . . . . . . . 17-98 PCI Express Slot Status Register-0x66 . . . . . . . . . . . . . . . . . . . . . . . . . . 17-99 PCI Express Root Control Register (RC Mode Only)-0x68 . . . . . . . . . . 17-99 PCI Express Root Status Register (RC Mode Only)-0x6C . . . . . . . . . . 17-100 PCI Express MSI Message Capability ID Register (EP Mode Only)-0x70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-100 PCI Express MSI Message Control Register (EP Mode Only)-0x72 . . 17-101 PCI Express MSI Message Address Register (EP Mode Only)-0x74 . . 17-101 PCI Express MSI Message Upper Address Register (EP Mode Only)-0x78 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-102 PCI Express MSI Message Data Register (EP Mode Only)-0x7C . . . . 17-102 PCI Express Extended Configuration Space . . . . . . . . . . . . . . . . . . . . . . 17-103 PCI Express Advanced Error Reporting Capability ID Register-0x100 17-104 PCI Express Uncorrectable Error Status Register-0x104 . . . . . . . . . . . 17-104 PCI Express Uncorrectable Error Mask Register-0x108 . . . . . . . . . . . . 17-105 PCI Express Uncorrectable Error Severity Register-0x10C . . . . . . . . . 17-106 PCI Express Correctable Error Status Register-0x110 . . . . . . . . . . . . . 17-107 PCI Express Correctable Error Mask Register-0x114 . . . . . . . . . . . . . . 17-108 PCI Express Advanced Error Capabilities and Control Register-0x118 17-109 PCI Express Header Log Register-0x11C0x12B. . . . . . . . . . . . . . . . . 17-110 PCI Express Root Error Command Register-0x12C . . . . . . . . . . . . . . . 17-111 PCI Express Root Error Status Register-0x130 . . . . . . . . . . . . . . . . . . . 17-111 PCI Express Correctable Error Source ID Register-0x134 . . . . . . . . . . 17-112 PCI Express Error Source ID Register-0x136 . . . . . . . . . . . . . . . . . . . . 17-112 LTSSM State Control Register-0x400. . . . . . . . . . . . . . . . . . . . . . . . . . 17-113 LTSSM State Status Register-0x404 . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-114 PCI Express ACK Replay Timeout Register (PEX_ACK_REPLAY_TIMEOUT)-0x43417-116 PCI Express Controller Core Clock Ratio Register-0x440 . . . . . . . . . . 17-117 PCI Express Power Management Timer Register-0x450 . . . . . . . . . . . 17-117 PCI Express PME Time-Out Register (EP-Mode Only)-0x454 . . . . . . 17-118 PCI Express Subsystem Vendor ID Update Register (EP Mode Only)-0x478 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-119 Configuration Ready Register-0x4B0 . . . . . . . . . . . . . . . . . . . . . . . . . . 17-119 MSC8156 MSC8156 Reference Manual, Rev. 1 xxvi Freescale Semiconductor Contents 17.4.1.9.21 17.4.1.9.22 17.4.1.9.23 PME_To_Ack Timeout Register (RC-Mode Only)-0x590 . . . . . . . . . . 17-120 Secondary Status Interrupt Mask Register (RC-Mode Only)-0x5A0 . . 17-121 Gen2 Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-122 18 QUICC Engine Subsystem 18.1 18.2 18.2.1 18.2.2 18.2.3 18.2.4 18.2.5 18.2.6 18.2.7 18.3 18.3.1 18.3.2 18.3.2.1 18.3.2.2 18.3.3 18.3.4 18.3.5 18.4 18.4.1 18.4.2 18.5 18.6 18.7 18.7.1 18.7.1.1 18.7.1.2 18.7.2 18.7.2.1 18.7.2.1.1 18.7.2.1.2 18.7.2.2 18.7.2.2.1 18.7.2.2.2 18.7.3 18.7.4 18.8 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2 RISC Processors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-3 SC3850 SC3850 Core Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-3 Peripheral Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-4 Parameter RAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-4 Buffer Descriptors (BDs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5 Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-6 Serial Numbers (SNUMs) . . . . . . . . . . . . . . . . . . . . . . . . .