MSC8144 Device Reset Configuration For the MSC8144ADS Board

Similar documents
Using an I 2 C EEPROM During MSC8157 Initialization

Using the PowerQUICC II Auto-Load Feature

Upgrade the Solution With No Changes 2 Upgrade the Solution With No Changes If a Codebase does not contain updates to its properties, it is possible t

USB Bootloader GUI User s Guide

MSC8144AMC-S Getting Started Guide

MPC8349E-mITX-GP Board Errata

PCB Layout Guidelines for the MC1321x

MPC5200(b) ATA MDMA, UDMA Functionality BestComm Setup Recommendations

SGTL5000 I 2 S DSP Mode

MC33696MODxxx Kit. 1 Overview. Freescale Semiconductor Quick Start Guide. Document Number: MC33696MODUG Rev. 0, 05/2007

Utilizing Extra FC Credits for PCI Express Inbound Posted Memory Write Transactions in PowerQUICC III Devices

Clock Mode Selection for MSC8122 Mask Set K98M

Updating the Firmware on USB SPI Boards (KITUSBSPIEVME, KITUSBSPIDGLEVME)

Differences Between the DSP56301, DSP56311, and DSP56321

Electrode Graphing Tool IIC Driver Errata Microcontroller Division

MCF5445x Configuration and Boot Options Michael Norman Microcontroller Division

etpu General Function Set (Set 1) David Paterson MCD Applications Engineer

Design Recommendations to Implement Compatibility Between the MC13783VK and the MC13783VK5

ColdFire Convert 1.0 Users Manual by: Ernest Holloway

MC56F825x/MC56F824x (2M53V) Chip Errata

MPC7410 RISC Microprocessor Hardware Specifications Addendum for the MPC7410TxxnnnLE Series

MTIM Driver for the MC9S08GW64

MPC8260 IDMA Timing Diagrams

Migrating from the MPC852T to the MPC875

Mechanical Differences Between the 196-pin MAP-BGA and 196-pin PBGA Packages

Using GCR4 to Adjust Ethernet Timing in MSC8144 DSPs

Pad Configuration and GPIO Driver for MPC5500 Martin Kaspar, EMEAGTM, Roznov Daniel McKenna, MSG Applications, East Kilbride

Using the Multi-Axis g-select Evaluation Boards

Component Development Environment Installation Guide

56F8300 BLDC Motor Control Application

Power Cycling Algorithm using the MMA73x0L 3-Axis Linear Accelerometer

Using IIC to Read ADC Values on MC9S08QG8

EchoRemote Evaluation Software for Windows

MCF54451, MCF54452, MCF54453, MCF54454,

Configuring the MCF5445x Family for PCI Host Operation

56F805. BLDC Motor Control Application with Quadrature Encoder using Processor Expert TM Targeting Document. 56F bit Digital Signal Controllers

1 Introduction. 2 Problem statement. Freescale Semiconductor Engineering Bulletin. Document Number: EB727 Rev. 0, 01/2010

HC912D60A / HC912Dx128A 0.5µ Microcontrollers Mask sets 2K38K, 1L02H/2L02H/3L02H & K91D, 0L05H/1L05H/2L05H

Using the Project Board LCD Display at 3.3 volts

Symphony SoundBite: Quick Start with Symphony Studio. Installation and Configuration

IIC Driver for the MC9S08GW64

Functional Differences Between the DSP56307 and DSP56L307

Optically-Isolated Multilink BDM Interface for the S08/S12 Microcontrollers by Michael A. Steffen

Managing Failure Detections and Using Required Components to Meet ISO7637 pulse 1 on MC33903/4/5 Common Mode Choke Implementation

MPR083 Proximity Evaluation Kit User s Guide

MPR121 Jitter and False Touch Detection

Converting Earlier Versions of CodeWarrior for StarCore DSPs Projects to Version

MPR121 Proximity Detection

i.mx31 PDK Power Measurement with GUI

PowerQUICC II Parity and ECC Capability

Interfacing MPC5xx Microcontrollers to the MFR4310 FlexRay Controller David Paterson MCD Applications, East Kilbride

Functional Differences Between DSP56302 and DSP56309 (formerly DSP56302A)

PowerQUICC HDLC Support and Example Code

Introduction to the S12G Family EEPROM Including a Comparison between the S08DZ, S12XE, and S12P Families

Using the CAU and mmcau in ColdFire, ColdFire+ and Kinetis

Using the ColdFire+ Family Enhanced EEPROM Functionality Melissa Hunter Derrick Klotz

56F805. Digital Power Factor Correction using Processor Expert TM Targeting Document. 56F bit Digital Signal Controllers. freescale.

NetComm Software Errata

PDB Driver for the MC9S08GW64

Affected Chips Description Impact and Workaround

Changing the i.mx51 NAND Flash Model for Windows Embedded CE TM 6.0

Interfacing MPC5500 Microcontrollers to the MFR4310 FlexRay Controller Robert Moran MCD Applications, East Kilbride, Scotland

Using the Kinetis Family Enhanced EEPROM Functionality

Integrating FreeMASTER-Time Debugging Tool with CodeWarrior for Microcontrollers v10.x Project

MC33794 Touch Panel System Using E-Field Sensor Setup Instructions

Interfacing HCS12 Microcontrollers to the MFR4200 FlexRay Controller

Freescale BeeStack Documentation Overview Document Number: BSDO Rev /2008

Addendum to HPCN User s Guide: Quick-Start Guide

Using DMA to Emulate ADC Flexible Scan Mode on Kinetis K Series

MC33897 Single-Wire CAN Transceiver Reliability and Quality Documents

MC9S08DZ60 Migrating from the 3M05C to M74K Mask Set D. Scott Brown Applications Engineering Microcontrollers Solutions Group Austin, TX, USA

Interfacing and Configuring the i.mx25 Flash Devices

Errata to MPC8569E PowerQUICC III Integrated Processor Reference Manual, Rev. 2

VortiQa Enterprise Quick Start Guide

Keil uvision 4 Kinetis Support for Freescale MQX RTOS Release Notes

2005: 0.5 PQ-MDS-PCIEXP

MCF5216 Device Errata

16-bit MCU: S12XHY256 Automotive Cluster Demo by: Jose M. Cisneros Steven McLaughlin Applications Engineer Microcontroller Solutions Group, Scotland

Introduction to LIN 2.0 Connectivity Using Volcano LTP

etpu Automotive Function Set (Set 2)

Use of PGA on MC56F800x Interaction of PDB, PGA and ADC

Gallium Arsenide PHEMT RF Power Field Effect Transistor

DSP56F827 Digital Signal Controller

Mask Set Errata for Mask 2M40J

Multichannel Communication Controller HDLC Superchannel Mode on the MPC8560

Tuning an Application to Prevent M1 Memory Contention

Errata to the MPC8280 PowerQUICC II Family Reference Manual, Rev. 1

SDRAM Support on the StarCore - Based MSC8122 DSP

TLB Translation Setup for MPC745x and MPC744x in Non-Extended Mode

Using the Asynchronous DMA features of the Kinetis L Series

MC9S08DZ60 Flash Usage Considerations Andy McKechan Applications Engineer East Kilbride

Programming the Keyboard Interrupt Module (KBI) on HC(S)08 MCUs

MPC8349EA MDS Processor Board

Interrupts in Decoupled Parallel Mode for MPC5675K Configuration and Usage

56F Phase AC Induction Motor V/Hz Control using Processor ExpertTM Targeting Document 56F bit Digital Signal Controllers

Using the Serial Peripheral Interface (SPI) Module on 68HC(9)08 Microcontrollers

XGATE Library: ATD Average Calculating a rolling average from ATD results

PQ-MDS-QOC3 Module. HW Getting Started Guide. Contents. About This Document. Required Reading. Definitions, Acronyms, and Abbreviations

SCI Driver for the MC9S08GW64

XGATE Library: Using the Freescale XGATE Software Library Steve McAslan MCD Applications, East Kilbride

Transcription:

Freescale Semiconductor Application Note Document Number: AN3424 Rev. 0, 05/2007 MSC8144 Device Reset Configuration For the MSC8144ADS Board by Andrew Temple NCSG DSP Applications Freescale Semiconductor, Inc. Austin, TX This document is a quick configuration reference to help you take advantage of the flexible configuration of the StarCore -based MSC8144 DSP. The MSC8144 reset configuration words contain 64 bits to configure 64 clock modes, additional clock sources, peripheral enablement, peripheral and GPIO pin multiplexing, peripheral modes, and boot settings. There are a several ways to configure the device to get the same functionality. For example, there are four ways to boot the device from the I 2 C ROM on the MSC8144ADS board all of which are described in this application note. Examples illustrate how to configure device reset as well as the SmartDSP OS on the MSC8144 application development system (MSC8144ADS). Related documentation for the MSC8144 device and ADS configuration is referenced in Appendix B. Contents 1 MSC8144ADS Reset Basics.....................2 2 MSC8144 Configuration Sources.................2 2.1 I 2 C ROM: (RCW_SRC[0:2] = 001 or 010)......3 2.1.1 Programming the I 2 C ROM.................3 2.1.2 Altering the Configuration Word Loaded into I 2 C ROM.............................3 2.2 RC Pins: (RCW_SRC[0:2] = 011)............. 4 2.3 Predefined Mode: (RCW_SRC[0:2] = 100, 101, 110, 111)..............................5 3 Reading the Reset Configuration Word............6 4 Power-On Reset and Boot Flow..................6 5 Example Configurations........................6 5.1 Configure MSC8144ADS to Boot using the LEDs Example..........................7 5.1.1 Load the RCW from I 2 C ROM.............. 8 5.1.2 Load the RCW from I 2 C ROM (2)........... 9 5.1.3 Set the RCW using the RC Pins............. 9 5.1.4 Set the RCW using Predefined Settings...... 10 5.2 Configure the MSC8144ADS for SmartDSP OS Demonstrations...........................10 6 Common MSC8144 Misconceptions.............11 Appendix A Boot Port Modes and Pin Multiplexing......11 Appendix B Related Documentation..................14 Freescale Semiconductor, Inc., 2007. All rights reserved.

MSC8144ADS Reset Basics 1 MSC8144ADS Reset Basics MSC8144ADS reset terms used throughout this document are as follows: Reset configuration word (RCW). The 64 bits used by the MSC8144 to configure clocks, peripherals, booting, and pinning out of reset. For details on the RCW, consult the reset chapter of the MSC8144 reference manual. Reset configuration word registers high and low (RCWHR and RCWLR). Two 32-bit registers in the MSC8144 device that contain the reset configuration word. Reset configuration word source select pins (RCW_SRC). Three pins used by an internal multiplexer to select the reset configuration source. The device reads from these pins to fill the contents of the RCW registers. These pins are located on SW4 of the MSC8144ADS board. Reset configuration (RC). Pins sampled on reset, which are one of the three configuration sources that can be chosen by RCW_SRC. These pins are located on SW1, SW3, and SW4 of the MSC8144ADS board. I 2 C ROM. EEPROM on the MSC8144 I 2 C bus for loading the device configuration mode and/or booting executable code. Boot port. A mode that selects the device boot source if the device is set to run free of the debugger (that is, not in Debug mode) based on bits set in the RCW registers. For quick reference, the table from the MSC8144 reference manual showing the different boot ports is included in Appendix A of this application note. Pin multiplexing. A mode that determines whether certain GPIO pins are assigned to a peripheral. This mode is required if Ethernet, PCI, or UTOPIA is used. This mode is also selected in the RCW. For quick reference, the table from the MSC8144 reference manual showing the pin multiplexing modes is included in Appendix A. Debug mode. Selected by a pin that, on reset, determines whether the device stops and waits for a debugger to connect or begins executing code at the location to which the boot port is pointing. (Not part of the reset configuration word) 2 MSC8144 Configuration Sources Using the RCW_SRC multiplexing pins (DIP switch SW4 on the MSC8144ADS), there are three main ways a user can load the contents of the RCW registers (see Figure 1): I 2 C ROM RC pins Predefined mode 2 Freescale Semiconductor

MSC8144 Configuration Sources MSC8144ADS MSC8144 SW4 RCW_SRC[0:2] I 2 C ROM SW1, SW3, and SW4 I 2 C Bus Reset Configuration Word RCWHR RC[0:16] Internally Predefined Settings RCWLR Figure 1. Configuration Source Multiplexing 2.1 I 2 C ROM: (RCW_SRC[0:2] = 001 or 010) The only way to gain full access to all bits in RCWLR and RCWHR is to configure the RCW from I 2 C ROM. This configuration gives you access to all 64 clock modes, additional clock options (such as running M3 at the MSC8144 full class speed), and all booting and GPIO multiplexing settings. 2.1.1 Programming the I 2 C ROM There are four ways you can boot the MSC8144 device to run from I 2 C ROM. Remember, booting from I 2 C ROM is different from loading the configuration from I 2 C ROM. The MSC8144 can be configured to load the reset configuration and/or boot from the I 2 C ROM. Programming the I 2 C ROM is currently not supported as a simple GUI feature in CodeWarrior v3.0 Beta, so you must refer to one of the C projects provided in the example projects folder of the CodeWarrior install directory at: <CodeWarrior Install>\(CodeWarrior_Examples)\StarCore_Examples\I2CBoot For details on burning, refer to the HOWTO_Burn_I2C_Image.txt. 2.1.2 Altering the Configuration Word Loaded into I 2 C ROM When the I 2 C ROM is programmed, both the boot code and configuration word are burned into I 2 C ROM at the same time, so both are read from data.txt. You can change the configuration word by altering data.txt and rebuilding the burner.mcp project before debugging and executing burner.mcp. The default RCW settings for data.txt are as follows: /* Master Reset Configuration Word Low */ 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0x18, 0x00, /* Master Reset Configuration Word High */ 0xFF, 0xFF, 0xFF, 0x04, 0x6C, 0x18, 0x01, Freescale Semiconductor 3

MSC8144 Configuration Sources There are three bytes of 0xFF padding before the actual contents of the RCW, which is organized from high-order bits to low-order bits. If you refer to the definition of the RCWHR bits in the MSC8144 reference manual, you can see in the preceding lines from data.txt that if RCW_SRC loads the configuration from I 2 C, the RCW points the boot port back to the I 2 C bus and boots the MSC8144 device from the I 2 C ROM. If you want to boot from the default PCI port, you must alter data.txt as follows: /* Master Reset Configuration Word Low */ 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0x18, 0x00, /* Master Reset Configuration Word High */ 0xFF, 0xFF, 0xFF, 0x01, 0x6C, 0x18, 0x01, 2.2 RC Pins: (RCW_SRC[0:2] = 011) For quick switch capability, a subset of the RCW bits can be configured through the RC pins. The settings you can change in this mode are listed in Table 1 and Table 2. In this mode, the following options are hard coded: System PLL input to PCI block (PCI block runs at 200 MHz for available clock modes) System PLL input to DDR block (DDR block runs at 400 MHz for available clock modes) System PLL not input to M3 memory block (M3 block is clocked by PLL2) RapidIO /SGMII reference clock is 100 MHz, serializer/deserializer (SerDes) is 1.25 GHz RapidIO V DD is set to 1.0 V PCI and RapidIO host access enabled RapidIO prescale timer enable: OCeaN clock is 200 MHz SerDes digital filter bandwidth is 200 ppm No loopback mode on SerDes Watchdog timer is disabled Table 1. Settings Configurable from DIP Switches (RCW_SRC[0:2]=011): RCWLR RCWLR Bits RC Pins (DIP Switches) Usage 19 RC[16] RC[3] ==0: RapidIO disabled on SerDes ==1: RapidIO enabled on SerDes 18 RC[16] ==0: RapidIO 4x protocol. ==1: RapidIO 1x protocol 17 RC[16] ==0: Disable SGMII1 on SerDes ==1: Enable SGMII1 on SerDes 16 RC[16] && RC[3] ==0: Disable SGMII2 on SerDes ==1: Enable SGMII2 on SerDes 2 0 RC[2:0] MODCK[2:0], Note: MODCK[5:3] = 000 Note: Bits are displayed using little-endian format although the device is big-endian. In this mode, the PLL source for PCI and DDR are the system PLL, but M3 remains sourced from PLL2 4 Freescale Semiconductor

MSC8144 Configuration Sources Table 2. Settings Configurable from DIP Switches SRC[0:2]=011): RCWHR RCWHR Bits RC Pins (DIP Switches) Usage 27 26 RC[15:14] Boot port select [4:3] 24 23 RC[13:12] Boot port select [1:0] Note: Boot Port Select[5] and [2] = 0 Note: For mode definitions, refer to Table 10 11 10 RC[11:10] Pin Mux[1:0] Note: See Table 11 in Appendix A 9 4 RC[9-4] Device ID Note: Bits are displayed using little-endian format although the device is big-endian. 2.3 Predefined Mode: (RCW_SRC[0:2] = 100, 101, 110, 111) In the predefined modes, RCW is loaded with a fully predefined setting based on only the RCW_SRC bits. Three predefined modes affect the following: Boot port (see Table 10) Pin multiplexing (see Table 11) Clock mode Using these pins is the easiest way to connect a debugger quickly to the device without learning about the full configuration. In the predefined modes, the following options are hardcoded: System PLL input to PCI block (PCI block runs at 200 MHz for the available clock modes) System PLL input to DDR block (DDR block runs at 400 MHz for the available clock modes) System PLL not input to M3 memory block (M3 block is clocked by PLL2) RapidIO prescale timer enable: OCeaN clock is 200 MHz RapidIO/SGMII reference clock is 100 MHz, SerDes is 1.25 GHz RapidIO interface is enabled RapidIO uses the 1x protocol RapidIO host access enabled RapidIO V DD is set to 1.0 V SGMII1 is enabled on SerDes SGMII2 is enabled on SerDes PCI host access enabled SerDes digital filter BW is 200 ppm No loopback mode on SerDes Watchdog timer is disabled Freescale Semiconductor 5

Reading the Reset Configuration Word For quick reference, the optional settings are provided in Table 8. Table 3. Predefined Settings RCW_SRC MODCK[5:0] (Clock Mode) PIN MUX[13:10] BOOT PORT[28:23] 100 001011 (1GHz Core, 333 MHz M3) 101 001011 (1GHz Core, 333 MHz M3) 110 110101 REQUIRES 33.3 MHz CLKIN (800MHz Core, 333 MHz M3) 111 110101 REQUIRES 33.3 MHz CLKIN (800 MHz Core, 333 MHz M3) 0010 (PCI Enabled) 0001 (Ethernet and UTOPIA Enabled) 0010 (PCI Enabled) 0001 (Ethernet and UTOPIA Enabled) 000010 (Boot from PCI) 001000 (Boot from I2C) 000010 (Boot from PCI) 001000 (Boot from I2C) Note: Bits here are displayed in little-endian format although the device is big-endian. 3 Reading the Reset Configuration Word Verify that the MSC8144 device is properly configured, as follows: 1. connect to the MSC8144ADS using CodeWarrior 2. Debug a project. 3. Select the View Registers menu. The RCW registers (high and low) are located under RESET. 4 Power-On Reset and Boot Flow The flow chart in Figure 2 shows how the reset configuration and device boot fit into the main device power-up flow. This flow chart is simplified to show only information necessary to the software programmer testing application code and peripherals on the MSC8144ADS. 5 Example Configurations Because some peripherals such as the PCI, Ethernet, and UTOPIA share pins with GPIO, specific configurations are needed to connect to them. This section presents example configurations that are useful to a programmer running applications out of ROM on the MSC8144ADS or working with the SmartDSP OS demonstrations. 6 Freescale Semiconductor

Example Configurations Board Power-on PORESET and HRESET Asserted Registers set to Default Values and I/Os Tri-stated PORESET Negated MSC8144 Begins Executing Boot Code I 2 C ROM RC Pins Predefined Values Reset Configuration Word Low RCW_SRC MSC8144 Program Counter is Set to Boot From RCWHR Device samples clock configuration to determine CLKIN range and configure system PLLs I 2 C ROM RC Pins Predefined Values MSC8144 Waits for Debugger to Connect RCW_SRC Reset Configuration Word High Load Reset Configuration Word High Bits Set to Debug Mode (Debug = 0 on ) Debug Mode Pin Set to Run Free (Debug = 1 OFF) PLL lock? No Yes HRESET is Negated Figure 2. MSC8144 Power-on Reset and Boot 5.1 Configure MSC8144ADS to Boot using the LEDs Example If DIP switches malfunction while you are showing a demonstration on a board, the MSC8144ADS has many ways around this kind of configuration problem that do not require board reprogramming. Consider the case of bootloading from the I 2 C ROM on the MSC8144ADS. With the standard 66.667 MHz crystal oscillator on the MSC8144ADS board, there are four different ways to boot out of I 2 C ROM. The differences lie in how the MSC8144 DSP reads the reset configuration word into the RCWHR and RCWLR. Freescale Semiconductor 7

Example Configurations 5.1.1 Load the RCW from I 2 C ROM Because the bootloader and LED example must be loaded into the I 2 C ROM, we start with loading the configuration from I 2 C ROM as well: 1. As noted in Section 2.1.1, Programming the I 2 C ROM, refer to the CodeWarrior examples for the steps in programming the I 2 C ROM, but stop before Step 5. 2. Before loading burner.mcp, you must alter the RCW being programmed to I 2 C ROM, so open data.txt. 3. Alter the data.txt RCWHR so that the boot port points to I 2 C ROM. Refer to Table 10 to see which boot port mode is required. The configuration should look like this: /* Master Reset Configuration Word Low */ 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0x18, 0x00, /* Master Reset Configuration Word High */ 0xFF, 0xFF, 0xFF, 0x04, 0x6C, 0x18, 0x01, 4. Save data.txt. 5. Re-build burner.mcp in CodeWarrior data.txt is an include file to burner.mcp. 6. Verify that the MSC8144ADS DIP switches are in a known configuration. Table 4 shows an example default configuration: Table 4. Default DIP Switch Settings Configured from I 2 C ROM 1 2 3 4 5 6 7 8 SW1 x x x x x x x x SW2 0 1 1 0 1 1 1 1 SW3 x x x x 0 1 1 1 SW4 0 1 0 x x x x x Note: Logic 1 = OFF on the MSC8144ADS 7. Power on the MSC8144ADS board and run burner.mcp until it completes. 8. Power off the board. 9. Now that the I 2 C ROM is set to load RCWHR with boot port = I2C ROM as shown in the flowchart in Section 4, Power-On Reset and Boot Flow, you must use the DIP switches to ensure the following if the device is to boot from I 2 C ROM: RCW_SRC loads the configuration from I 2 C ROM (see Section 2.1, I 2 C ROM: (RCW_SRC[0:2] = 001 or 010)) The MSC8144 runs the boot code (not in debug mode), as highlighted in bold on SW2 in Table 5. 8 Freescale Semiconductor

Example Configurations Table 5. DIP Switch Setting: Configure and Boot from I 2 C ROM 10. Power on the board. 11. The LEDs should begin flashing. 5.1.2 Load the RCW from I 2 C ROM (2) 1 2 3 4 5 6 7 8 SW1 x x x x x x x x SW2 0 1 1 1 1 1 1 1 SW3 x x x x 0 1 1 1 SW4 0 1 0 x x x x x Note: Logic 1 = OFF on the MSC8144ADS. There are two RCW_SRC settings to load the RCW from I 2 C ROM, RCW_SRC[0:2] = 001 or 010. The difference between them is the minimum and maximum CLKIN frequency. If the crystal oscillator on the ADS (CLKIN) is between 25 and 100 MHz, RCW_SRC = 001 mode is expected to work. RCW_SRC is expected to work with a CLKIN value between 44 and 133 MHz. Because the MSC8144ADS uses a 66 MHz crystal, you can use both load settings. Also, because you have already programmed the I 2 C ROM, the only remaining step is to change the RCW_SRC DIP switches to test this load option, as shown in Table 6. Re-power the board and verify that the LED program still boots and flashes LEDs. Table 6. DIP Switch Setting: Configure and Boot from I 2 C ROM (2) 1 2 3 4 5 6 7 8 SW1 x x x x x x x x SW2 0 1 1 1 1 1 1 1 SW3 x x x x 0 1 1 1 SW4 0 0 1 x x x x x Note: Logical 1 = OFF on the MSC8144ADS 5.1.3 Set the RCW using the RC Pins Because the I 2 C ROM already has a bootloader and example program in it, you need only verify the following to ensure that the MSC8144 can load and run from I 2 C ROM: RCW_SRC[0:2] = 011 points the MSC8144 to load the RCW from the RC pins. RC[14] = 1, RC[15,13,12] = 0 so that the boot port points to I 2 C ROM Debug mode is OFF (logic 1) Referring to Table 1 and Table 2, configure the DIP switches as shown in Table 7. Freescale Semiconductor 9

Example Configurations Table 7. DIP Switch Settings Configured from the RC Pins, With Boot from the I 2 C ROM 1 2 3 4 5 6 7 8 SW1 0 0 0 0 0 1 1 0 SW2 0 1 1 1 1 1 1 1 SW3 0 1 0 1 0 1 1 1 SW4 0 1 1 0 0 0 1 0 Note: Logic 1 = OFF on the MSC8144ADS After the DIP switch settings match those in Table 7, cycle power on the MSC8144ADS board and boot the LED demonstration again through this new avenue. 5.1.4 Set the RCW using Predefined Settings As Table 3 shows, using predefined mode RCW_SRC = 101 sets the RCW to point the boot port to I 2 C ROM. Therefore, with the I 2 C ROM already loaded with code, you need only complete the following steps: 1. Verify that RCW_SRC is configured to a value of 0b101. 2. Verify that the device is set to run free (Debug mode = OFF, which is a logic 1). Table 8. DIP Switch Settings Configured from Predefined Settings, with Boot from I 2 C ROM 1 2 3 4 5 6 7 8 SW1 x x x x x x x x SW2 0 1 1 1 1 1 1 1 SW3 x x x x 0 1 1 1 SW4 1 0 1 x x x x x Note: Logic 1 = OFF on the MSC8144ADS There is a fifth setting for RCW_SRC to make the MSC8144 boot from I 2 C ROM, but it requires a different board oscillator, so it is not discussed here. 5.2 Configure the MSC8144ADS for SmartDSP OS Demonstrations The SmartDSP OS and example MSC8144ADS demonstrations are optionally installed along with CodeWarrior. To select this option, click YES to Install SmartDSP OS during CodeWarrior installation. The demonstrations of Ethernet (UEC, NET, and NET_PATTERN) require additional hardware configuration for pin multiplexing. That is, in the SmartDSP OS documentation, all of these demonstrations request the user to alter the RCW to pin multiplexing mode 6. As described in Section 5.1.1, Load the RCW from I 2 C ROM, the I 2 C ROM must be re-programmed because pin multiplexing mode 6 is not available to the other configurations. Repeat the procedure in Section 5.1.1, but this time ensure that the configuration portion of data.txt matches the following: /* Master Reset Configuration Word Low */ 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0x18, 0x00, 10 Freescale Semiconductor

Common MSC8144 Misconceptions /* Master Reset Configuration Word High */ 0xFF, 0xFF, 0xFF, 0x04, 0x6C, 0x18, 0x01, After the I 2 C ROM is programmed, the RCW_SRC DIP switches should be set to load the RCW from the I 2 C ROM, and the board should be left in Debug mode. Therefore, the DIP switches are configured as shown in Table 9. At this point, the MSC8144 is configured to run with the SmartDSP OS demonstrations. 6 Common MSC8144 Misconceptions Aspects of the MSC8144 that may cause confusion when the MSC8144ADS is configured are as follows: The MSC8144 DSP and most Freescale devices are big-endian devices, meaning that the bits are organized from low-order to high. For example, a 32-bit register is organized from bit 0 to 31 rather than from bit 31 to 0. For purposes of clarity, this document states the bit order each time a variable is listed. For example: RCW_SRC[0:2] lists bits from low order to high. On the MSC8144ADS, a DIP switch turned to OFF = logic 1. Booting and configuring from I 2 C ROM should not be confused with each other. They are two different procedures. Booting from I 2 C ROM can be done without configuring from I 2 C ROM and vice versa, as illustrated in the examples presented in this document. Appendix A Table 9. DIP Switch Settings: SmartDSP OS Demonstrations for Ethernet 1 2 3 4 5 6 7 8 SW1 x x x x x x x x SW2 0 1 1 0 1 1 1 1 SW3 x x x x 0 1 1 1 SW4 0 1 0 x x x x x Note: Logic 1 = OFF on the MSC8144ADS. Boot Port Modes and Pin Multiplexing In this appendix, Table 10 presents the boot port modes and Table 11 presents the pin multiplexing configurations. Table 10. Boot Port Modes Boot Port Description BPRT[5:0] PCI No DDR 000000 Single 32MB DDR 000001 256 Mbyte DDR (Default) 000010 Single 64 Mbyte DDR 000011 Single 128 Mbyte DDR 000100 512 Mbyte DDR 000101 Freescale Semiconductor 11

Boot Port Modes and Pin Multiplexing Table 10. Boot Port Modes Boot Port Description BPRT[5:0] I 2 C Boot over I 2 C bus 001000 SRIO No I 2 C 001001 with I 2 C 001010 Ethernet1 without I 2 C SMII 001111 RMII 010000 RGMII 010001 MII 010010 SGMII 010011 Ethernet1 and I 2 C SMII 010100 RMII 010101 RGMII 010110 MII 010111 SGMII 011000 Table 11. GPIO Pin Multiplexing Configurations I/O Mode (PIN_MUX field lowest four bits) GPIO Mode 0 (0000) Mode 1 (0001) Mode 2 (0010) Mode 3 (0011) Mode 4 (0100) Mode 5 (0101) Mode 6 (0110) Mode 7 (0111) 0 GPIO 1 GPIO 2 GPIO 3 GPIO 4 GPIO PCI GPIO 5 GPIO PCI GPIO 6 GPIO PCI GPIO 7 GPIO PCI GPIO 8 GPIO PCI GPIO 9 GPIO PCI GPIO 10 GPIO PCI GPIO 11 GPIO PCI GPIO 12 GPIO PCI GPIO 13 GPIO 14 GPIO 12 Freescale Semiconductor

Further Reading Table 11. GPIO Pin Multiplexing Configurations (continued) (continued) I/O Mode (PIN_MUX field lowest four bits) GPIO Mode 0 (0000) Mode 1 (0001) Mode 2 (0010) Mode 3 (0011) Mode 4 (0100) Mode 5 (0101) Mode 6 (0110) Mode 7 (0111) 15 GPIO 16 GPIO 17 UTOPIA GPIO UTOPIA PCI UTOPIA 18 GPIO PCI GPIO UTOPIA 19 GPIO PCI GPIO UTOPIA 20 GPIO PCI GPIO UTOPIA 21 GPIO 22 GPIO 23 GPIO 24 GPIO 25 GPIO Ethernet PCI GPIO Ethernet GPIO 26 GPIO 27 GPIO 28 GPIO PCI GPIO 29 GPIO PCI GPIO 30 GPIO PCI GPIO 31 GPIO PCI GPIO Note: GPIO includes any signal configured by the GPIO configuration registers, including GPI, GPO, IRQ, and other dedicated functions. Appendix B Further Reading Related documentation for the MSC8144 device and the MSC8144ADS currently available on the Freescale web site and through the Literature Distribution Center is as follows: MSC8144ADS Processor Board Reference Manual (MSC8144ADSRM) MSC8144ADS Hardware Getting Started Guide MSC8144 Reference Manual: Quad Core Media Signal Processor (MSC8144RM) Using an I 2 C EEPROM During MSC814x Initialization (AN3421) Freescale Semiconductor 13

Further Reading THIS PAGE INTENTIONALLY LEFT BLANK 14 Freescale Semiconductor

Further Reading THIS PAGE INTENTIONALLY LEFT BLANK Freescale Semiconductor 15

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 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 Hong Kong Ltd. Technical Information Center 2 Dai King Street Tai Po Industrial Estate Tai Po, N.T., Hong Kong +800 2666 8080 support.asia@freescale.com For Literature Requests Only: Freescale Semiconductor Literature Distribution Center P.O. Box 5405 Denver, Colorado 80217 +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 StarCore are trademarks of Freescale Semiconductor, Inc. CodeWarrior is a trademark or registered trademark of Freescale Semiconductor, Inc. in the United States and/or other countries. RapidIO is a registered trademark of the RapidIO Trade Association. All other product or service names are the property of their respective owners. Freescale Semiconductor, Inc., 2007. All rights reserved. Document Number: AN3424 Rev. 0 05/2007