Using the PowerQUICC II Auto-Load Feature

Similar documents
Migrating from the MPC852T to the MPC875

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

MPC8349E-mITX-GP Board Errata

PCB Layout Guidelines for the MC1321x

SGTL5000 I 2 S DSP Mode

MPC7410 RISC Microprocessor Hardware Specifications Addendum for the MPC7410TxxnnnLE Series

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

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

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

MPC8260 IDMA Timing Diagrams

MC56F825x/MC56F824x (2M53V) Chip Errata

Design Recommendations to Implement Compatibility Between the MC13783VK and the MC13783VK5

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

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

Electrode Graphing Tool IIC Driver Errata Microcontroller Division

PowerQUICC II Parity and ECC Capability

MTIM Driver for the MC9S08GW64

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

56F8300 BLDC Motor Control Application

EchoRemote Evaluation Software for Windows

ColdFire Convert 1.0 Users Manual by: Ernest Holloway

Using the Project Board LCD Display at 3.3 volts

Differences Between the DSP56301, DSP56311, and DSP56321

Component Development Environment Installation Guide

Using IIC to Read ADC Values on MC9S08QG8

MSC8144 Device Reset Configuration For the MSC8144ADS Board

MCF5445x Configuration and Boot Options Michael Norman Microcontroller Division

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

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

PowerQUICC HDLC Support and Example Code

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

Power Cycling Algorithm using the MMA73x0L 3-Axis Linear Accelerometer

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

Using an I 2 C EEPROM During MSC8157 Initialization

Using the Multi-Axis g-select Evaluation Boards

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

IIC Driver for the MC9S08GW64

2005: 0.5 PQ-MDS-PCIEXP

MPR121 Jitter and False Touch Detection

Multichannel Communication Controller HDLC Superchannel Mode on the MPC8560

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

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

MSC8144AMC-S Getting Started Guide

MCF54451, MCF54452, MCF54453, MCF54454,

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

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

Clock Mode Selection for MSC8122 Mask Set K98M

MPR121 Proximity Detection

MCF5216 Device Errata

Using the Kinetis Family Enhanced EEPROM Functionality

MPC8260 SDRAM Timing Diagrams

MC33897 Single-Wire CAN Transceiver Reliability and Quality Documents

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

Addendum to HPCN User s Guide: Quick-Start Guide

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

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

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

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

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

Interfacing HCS12 Microcontrollers to the MFR4200 FlexRay Controller

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

VortiQa Enterprise Quick Start Guide

MC33794 Touch Panel System Using E-Field Sensor Setup Instructions

PDB Driver for the MC9S08GW64

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

i.mx31 PDK Power Measurement with GUI

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

etpu Automotive Function Set (Set 2)

Functional Differences Between the DSP56307 and DSP56L307

Functional Differences Between DSP56302 and DSP56309 (formerly DSP56302A)

Configuring the MCF5445x Family for PCI Host Operation

Introduction to LIN 2.0 Connectivity Using Volcano LTP

Gallium Arsenide PHEMT RF Power Field Effect Transistor

Using GCR4 to Adjust Ethernet Timing in MSC8144 DSPs

Keil uvision 4 Kinetis Support for Freescale MQX RTOS Release Notes

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

NetComm Software Errata

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

Using the Asynchronous DMA features of the Kinetis L Series

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

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

Interfacing and Configuring the i.mx25 Flash Devices

Affected Chips Description Impact and Workaround

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

DSP56F827 Digital Signal Controller

Freescale BeeStack Documentation Overview Document Number: BSDO Rev /2008

Mask Set Errata for Mask 2M40J

Mask Set Errata for Mask 5L35K

Support for IEEE 1588 Protocol in PowerQUICC and QorIQ Processors

MPC8569E Instruction RAM Microcode Package Release 169

SCI Driver for the MC9S08GW64

Using the Knock Window etpu Function

Tuning an Application to Prevent M1 Memory Contention

MC9S08DZ60 Flash Usage Considerations Andy McKechan Applications Engineer East Kilbride

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

Interrupts in Decoupled Parallel Mode for MPC5675K Configuration and Usage

Converting Earlier Versions of CodeWarrior for StarCore DSPs Projects to Version

Transcription:

Freescale Semiconductor Application Note Document Number: AN3352 Rev. 0, 01/2007 Using the PowerQUICC II Auto-Load Feature by David Smith/Patrick Billings Field Application Engineering/DSD Applications Engineering Freescale Semiconductor, Inc. Raleigh, NC / Austin, TX The auto-load (ALD) feature is available on the PowerQUICC II (PQ2) family of communications processors. The ALD enables the initialization of the peripheral component interface (PCI) configuration space as the processor comes out of reset so an external PCI master can complete the PQ2 initialization sequence. However, it can be used to configure any internally-mapped register, regardless of whether PCI is used or is even available on the processor. PQ2 Pro (MPC83xx) and PQ3 (MPC85xx) product families use a different mechanism (bootloader) to implement the same function. This application note describes how to implement and use the auto-load (ALD) feature. Contents 1 Implementing ALD...........................1 1.1 Hardware Reset Configuration Word...........2 1.2 ALD Data Structure........................3 2 Usage Recommendations.......................4 3 Conclusion..................................4 4 Testing and Validation.........................5 5 References.................................. 5 1 Implementing ALD The ALD feature is indicated by a bit in the hard reset configuration word (HRCW). After the configuration master reads all reset configuration words (including place holders for slave devices that may or may not exist) in the boot ROM/flash memory, it begins its first instruction fetch but also reads a pointer to the ALD data structure. This structure includes all information to be preconfigured into the PQ2 along with an indicator to complete the auto-load activity. All functional settings configured by the ALD are enabled and active when the internal register is updated. Freescale Semiconductor, Inc., 2007. All rights reserved.

Implementing ALD 1.1 Hardware Reset Configuration Word The PQ2 processor uses a hardware reset configuration word that is read from the boot memory (device controlled by CS0) to determine several configuration options as the processor comes out of reset. Refer to the reset section of the appropriate reference manual for the physical location in the memory device, along with the format of the hardware reset configuration word. Setting bit 26 enables the auto-load sequence. The reference manual describes this as CP auto-load because the sequence is performed by the RISC processor of the communications processor module (CPM) during the reset sequence. However, there are no special dependencies to set up or initialize the CPM to perform the function, nor are there any special cleanup procedures for subsequent CPM activity. Although PCI is mentioned in the description, the LBPC setting does not have to indicate PCI. As noted earlier, the ALD function can be used for non-pci initialization. The addressing defined by the ISB and BMS bits in the HRCW is important for the specific contents of the ALD data structure. Figure 1 shows a bus access to 0xFE000004 as a result of setting the ALD_EN bit in the HRCW. Figure 2 shows bus accesses from the PowerPC CPU for boot instructions and from the CP RISC for ALD data structure elements. Figure 1. Fetch of ALD Pointer at 0xFE000004 (ALD Pointer = 0xFF801000) 2 Freescale Semiconductor

Implementing ALD Figure 2. Fetch of First ALD Data Structure Element to Which the ALD Pointer is Pointing 1.2 ALD Data Structure For details on the initialization of PCI configuration registers, refer to the section in the appropriate reference manual. The manual may refer to the device with the ALD structure as a EEPROM, but this does not imply a serial EEPROM. The device with the ALD structure is simply the existing boot device connected to CS0, typically a flash memory or ROM device. On all PQ2 systems, the hardware reset configuration must be written into the boot flash memory/rom before any attempt to boot the system. The ALD pointer and data structure must also be written beforehand, typically using the same mechanism (PROM burner or JTAG/ICE). In Figure 3, the pointer to the table resides at location 0x04 from the boot device s base address and is interleaved with the hardware configuration reset words. Because the sequence occurs after the reset configuration words are read, the memory controller for the boot device is operational and has configured the CS0 controller to use a base address of either 0xFE000000 or 0x0000000 (depending on the value of the BMS bit). The pointer is an absolute value within the entire PQ2 physical memory space, so the upper bits in the address must match the base address of the device as defined by the BMS bit. The format of the data entries is always three words: Address of the internal space to be initialized Control word to indicate the data size and the end of the table Data to be initialized. The address is the full 32-bit system address, and it is usually the IMMR base plus the offset of the register to be initialized. The higher-order bits in this address must be consistent with the address space defined by the ISB bits in the configuration word. For example, if the ISB = 111, all addresses within the structure should be 0xFFFxxxxx. Also, note that the data follows big endian rules. For data content less than 32 bits, use the most significant bits. Freescale Semiconductor 3

Usage Recommendations Boot Device Base Address 0x00 0x04 0x08 Configuration Byte ALD Table Pointer Configuration Byte 0x10 Configuration Byte ALD Table Pointer Base Address + 0x00 + 0x04 + 0x08 + 0x0c + 0x10 + 0x14 + 0x18 + 0x1c + 0x20 IMMR Base + Offset Last = 0, Data Size = 01 0xDDxxxxxx IMMR Base + Offset Last = 0, Data Size = 10 0xDDDDxxxx IMMR Base + Offset Last = 1, Data Size = 00 0xDDDDDDDD Figure 3. Boot Device Contents ALD Data Structure 2 Usage Recommendations Use of the ALD to initialize the OR0/BR0 registers is not recommended because it can potentially change the addressing in the middle of the sequence. Also, it has been observed that the watchdog timer starts when the sequence begins. If the core is disabled, or if it stays quiescent for a while as other system tasks occur, the watchdog timer can expire. If this is likely in the system, use the ALD function to disable the watchdog timer. 3 Conclusion The ALD function is intended to enable enough of the basic PCI configuration to be initialized so an external PCI master can handle most of the processor initialization and control. However, because of the way the mechanism is implemented, this feature can be used for any initialization of the processor. This feature can be used to off-load the internal processor initialization from a boot code task to a simpler data structure configuration of the boot device. To implement this feature successfully, you must be aware of precisely how much processor initialization has completed up to the point where the ALD sequence starts. Also, you must understand the effect this has on the specific contents of the ALD structure. 4 Freescale Semiconductor

4 Testing and Validation Testing and Validation The details of the sequence described have been validated in simulation. Also, the ALD feature has been successfully implemented in a live system environment; the specifics listed were found to be critical for proper operation. 5 References MPC8280 PowerQUICC II Family Reference Manual, available at the Freescale web site. Freescale Semiconductor 5

References THIS PAGE INTENTIONALLY LEFT BLANK 6 Freescale Semiconductor

References THIS PAGE INTENTIONALLY LEFT BLANK Freescale Semiconductor 7

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 and the Freescale logo are trademarks of Freescale Semiconductor, Inc. The Power Architecture and Power.org word marks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org. All other product or service names are the property of their respective owners. Freescale Semiconductor, Inc., 2007. All rights reserved. Document Number: AN3352 Rev. 0 01/2007