No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, for any
purpose, without the express written permission of Marvell. Marvell retains the right to make changes to this document at any time, without notice. Marvell makes no
warranty of any kind, expressed or implied, with regard to any information contained in this document, including, but not limited to, the implied warranties of
merchantability or fitness for any particular purpose. Further, Marvell does not warrant the accuracy or completeness of the information, text, graphics, or other items
contained within this document.
Marvell products are not designed for use in life-support equipment or applications that would cause a life-threatening situation if any such products failed. Do not use
Marvell products in these types of equipment or applications.
With respect to the products described herein, the user or recipient, in the absence of appropriate U.S. government authorization, agrees:
1) Not to re-export or rel ease any su ch info rma tion co nsi sting o f technology, software or source code controlled for national security reasons by the U.S. E xport Contr ol
Regulations ("EAR"), to a national of EAR Country Groups D:1 or E:2;
2) Not to export the direct product of such technology or such software, to EAR Country Groups D:1 or E:2, if such technology or software and direct products thereof
are controlled for national security reasons by the EAR; and,
3) In the case of technology controlled for national security reasons under the EAR where the direct product of the technology is a complete plant or component of a
plant, not to export to EAR Co untr y Gr oup s D:1 o r E :2 the dir ect p rodu ct o f th e p lant or maj or component thereof, if such d irect prod uct is controlled for nati onal security
reasons by the EAR, or is subject to controls under the U.S. Munitions List ("USML").
At all times hereunder, the recipient of any such infor matio n agr ees that they shall be deemed to have man ually sign ed th is docum ent in con necti on with their receipt of
any such information.
Vol. I of this partially rebranded Developer Manual has not been edited
by Tech Pubs.
Introduction
Introduction1
The PXA300 processor or PXA310 processors are high-performance, low-power microprocessors providing a
rich feature set optimized for personal digital assistant applications. The PXA300 processor or PXA310
processor complies with the ARM* Instruction Set Architecture V5TE. It utilizes the Intel XScale
building blocks featuring:
• A super-pipelined RISC microarchitecture, providing performance for demanding applications.
• Wireless Intel SpeedStep
and power consumption based on application requirements.
This chapter presents an overview of the PXA300 processor or PXA310 pr ocessor. It also describes
documentation conventions and related documents referenced throughout the four-volume set.
®
Power Manager technology, enabling dynamic scaling of computing performance
®1
technology
1.1About This Manual
The PXA300 Processor and PXA310 Processor Developers Manual consists of four volumes.
• This volume, Vol. I: PXA300 Processor and PXA310 Processor Developers Manual: System and Timer
Configuration, present s an overview of the PXA300 processor or PXA 310 processor. It descri bes product
features and device-specific configuration information, such as the memory map and signal multiplexing,
and provides an overview of clocking and power management features. This volume also provides
information on system-wide functions, such as the memory switch, clock control, power management,
controller, data flash interface (DFI), internal memory, and MultiMediaCard/SD/SDIO controller are all
described in this volume.
• Vol. III: PXA300 Processor and PXA310 Processor Developers Manual: Graphics and Input Controller
Configuration
controller, Intel
providesdetailed information on the configuration of the LCD controller and mini-LCD
®
Quick Capture Camera Interface, and keypad controller.
• Vol. IV: PXA300 Processor and PXA310 Processor Developers Manual: Serial Controller Configuration
provides detailed information on the configuration of the serial controllers, including USB 1.0 client and
host controllers, USB 2.0, synchronous serial protocol (SSP) ports, AC ‘97 controller, UARTs, consumer
infrared port, pulse width modulator co ntrollers, universal s ubscriber ID interfaces, and the I
unit.
detailed
2
C bus interface
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
The PXA300 Pr o cess or an d PXA310 Processor Develop ers Man ual is intend ed f or ex perien ced p rog rammers o f
ARM* Architecture V5TE-compliant processors. This manual assumes that the programmer has a working
knowledge of the vocabul ary an d principl es o f embedd ed-syst ems pr ogramming . The In tel X Scale
Wireless MMX
to Table 1-1.
1.Intel XScale® is a trademark or registered tra de ma r k of Intel Corporation and its subsidiaries in the United States and ot her countries.
™
2 media enhancement technology are not des cribed in this manual. For more information, refer
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
1.1.1Number Representation
All numbers in this document are decimal (base 10) unless designated otherwise. Hexadecimal numbers have a
prefix of 0x, and binary numbers have a prefix of 0b. For example, 107 is represented as 0x6B in hexadecimal
and 0b110_1011 in binary.
1.1.2Naming Conventions
All signal and register-bit names appear in uppercase. Active low items are prefixed with a lowercase “n”.
Bits within a signal name are enclosed in angle brackets:
EXTERNAL_ADDRESS<31:0>
nCS<1>
Bits within a register bit field are enclosed in square brackets:
REGISTER_BITFIELD[3:0]
REGISTER_BIT[0]
In register definition tables:
Values shown in the “Reset” row have the following meanings:
0 = bit clear
1 = bit set
? = bit is undefined
Abbreviations in the “Access” column have the following meanings:
Refer to Table 4.4, “Monahans P Processor Signal Descriptions” on page 4-109 for a complete listing of all
processor signals.
RC = Read only; the bit is automatically cleared after it is read.
1.1.3Data Types
In the context of the ARM* Architecture V5TE, a word consists of 32 bits. As a result, the following naming
convention applies to the different data types in the PXA300 processor or PXA310 processor:
• 8 bits = byte (abbreviation B)
• 16 bits = half word (abbreviation H)
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
Table 1-1 lists supplemental documentation for users of the PXA300 processor or PXA310 processor. Contact a
Marvell representative for the latest revision of Marvell documents without order numbers.
Table 1-1. Supplemental Documentation
Title
PXA310 Processor and PXA300 Processor Design Guides (PXA310 Design Guide not yet available)
PXA3xx Family Processor Power Requirements Application Note
PXA300 Processor and PXA310 Processor Electrical, Mechanical, and Thermal Specification
ARM Architecture Version 5T Specification (Document number ARM DDI 0100D-10) and ARM Architecture
Reference Manual (ARM DDI 0100 or ISBN 0-201-73719-1)
ARM Developer Suite Developer Guide
ARM Architecture Reference Manual
ARM
Multi-ICE System Design Considerations, Application Note 72 (ARM DAI 0072A)
Wireless MMX™ 2 Software Developers Guide
Intel XScale
Intel
General information: http://developer.intel.com
Mobile DDR SDRAM SpecificationCF+ and CompactFlash Specification, Version 1.4, CompactFlash Association, http://www.compactflash.org
Bluetooth* wireless technology SIG Inc. http://www.bluetooth.org
UARTs are functionally compatible with the 16550A and 16750 industry standards. The 16550A was originally
produced by National Semiconductor Inc. The 16750 is produced as the TL16C750 by Texas Instrum ents.
Infrared Data Association http:/www.irda.org
Audio Codec '97 Component Specification,
2
I
S Bus Specification, February 1986, Philips Semiconductors, http://www.phillipssemiconductors.com
Book of iButton Standards, http://www.ibutton.com/ibuttons/standard.pdf
Universal Serial Bus Specification, Revision 1.1; On-The-Go Supplement to Universal Serial Bus Specification
Revision 2.0; Pull-Up/Pull-Down Resistors Engineering Change Notice to Universal Serial Bus 2.0
Specification; http://www.usb.org
OpenHCI—Open Host Controller Interface Specification for USB, Release 1.0a, http://www.usb.org
SD Memory Card Specifications Part I, Physical Layer Specification, Version 1.01, and Secure Digital
Input/Output (SDIO) Card Specification, Version 1.0 (Draft 4), SD Association, http://www.sdcard.org
MultiMediaCard System Specification Version 3.2, http://www.mmca.orgGSM 11.11 Specification of the Subscriber Identity Module-Mobile Equipment (SIM-ME) Interface, Version
3.16.0, http://www.etsi.org. See also ISO standard 7816-3
IEEE Std. 1149. 1-1990 Standard Test Access Port and Boundary-Scan Architecture, http://standards.ieee.org
®
Core Developers Manual
®
Mobile Scalable Link Specification
http://www.intel.com/labs/media/audio
Introduction
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
1.2Product Overview
The PXA300 processor or PXA310 processor is an integrated system-on-a-chip microprocessor for
high-performance, low-power portable han dheld and handset devices. It incorporates the Intel XScale
microarchitecture with on -the-f ly volta ge and frequ ency sc aling and soph isticated power man agement to provi de
industry leading MIPs/mW performance across its wide range of operating frequencies. The PXA300 processor
or PXA310 processor complies with the ARM* Architecture V5TE instruction se t (exclu ding floating point
instructions) and follows the ARM* programmer’s model. The PXA300 processor or PXA310 processor
multimedia coprocessor provides enhanced Intel
processing. The PXA300 processor or PXA310 processor is available in a discrete package configuration. The
PXA300 processor or PXA310 processor is designed to provide a high degree of backward compatibility with
the Marvell PXA27x Processor Family, but offers significant performance and feature set enhancements.
The PXA300 processor or PXA310 processor memory architecture provides greater flexibility and higher
performance than that of previous Intel XScale
provides the configuration support for two dedicated memory interfaces to support high speed DDR SDRAM,
VLIO devices, and data flash devices. This flexibility enables high performance “store and download” as well as
“execute in place” system architectures. The PXA300 processor or PXA310 processor memory architecture
features a memory switch that allows multiple simultaneous memory transactions between different sources and
targets. For example, the PXA300 processor or PXA310 processor architecture allows memory traffic between
the core and DDR SDRAM to move in parallel with DMA generated traffic between the LCD controller and
internal SRAM. In an architecture with a single shared system bus, these transactions block each other.
The PXA300 processor or PXA310 processor incorporates an on-chip boot ROM and a Intel
Transaction Technology module to provide flexible boot-loading options while maintaining platform security. It
also provides two128-Kbyte banks of on-chip SRAM, which may be used for a combination of display frame
buffer, program code, or multimedia data. Each bank may be configured to retain its contents when the processor
enters a low-power mode.
®
Wireless MMX™ 2 instructions to accelerate audio and video
®
products. The PXA300 processor or PXA310 processor
®
Wireless T ru sted
®
The PXA300 processor or PXA310 processor provides OS timer channels and synchronous serial ports (SSPs)
that accept an external network clock input so that they can be synchronized to the cellular network.
An integrated LCD panel controller prov ides s upport for displays up to 640 x 480 pixels. It permi t s color dep ths
of up to 18-bits per pixel s (2 4-bits per pixel for smar t panels ). The LCD con trolle r also pr ovide s hardware cu rsor
support and two display overlays .
The PXA300 processor or PXA310 processor incorporates a comprehensive set of system and peripheral
functions that make it useful in a variety of low-power applications. Figure 1-1 illustrates the system-on-a-chip
PXA300 processor or PXA310 processor. The diagram shows a multi-p ort m e m ory switch and system bus
architecture with the Intel XScale
256 Kbytes of intern al memo ry. The key features of all of th e s ub-b l ocks are described in this sectio n, with mor e
detail provided in the respective chapters.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
®
core attached, along with an LCD controller and USB 1.1 controllers, and
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
1.2.1Intel XScale® Microarchitecture and Core
The Intel XScale® microarchitecture is based on a new core that complies with the ARM* Architecture V5TE.
The microarchitecture surrounds the core with instruction and data memory man agement un its; instru ction, dat a,
and mini-data caches; write, fill, pend, and branch-target buffers; power management, performance monitoring,
debug, and JTAG units; coprocessor interface, MAC coprocessor; and core memory bus.
1.2.2Intel XScale® Microarchitecture Features
• Eight stage superpipelined RISC technology achieves high speed and ultra-low power.
• Dynamic voltage management incorporates voltage and frequency on-the-fly scaling to allow applications to
implement optimal performance and power.
• Media processing technology lets the multiply-accumulate coprocessor (MAC) perform two simultaneous
16-bit single-instruction multiple-data (SIMD) multiplies with 40-bit accumulation for efficient media
processing.
• Power management control provides power savings via device and system low-power modes.
• 128-entry branch target buffer keeps the pipeline filled with statistically correct branch choices.
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
• 32-Kbyte instruction cache keeps local copies of instructions to enable high performance and low power.
• 32-Kbyte data cache keeps local copy of data to enable high performance and low power.
• 32-entry instruction-memory management unit enables logical-to-physical address translation, access
permissions, and instruction cache attributes.
• 32-entry data memory management unit enables logical-to-physical addres s trans lation, acces s perm iss ions,
data cache attributes.
• Four-entry fill and pend buffers promote core efficiency by allowing “hit-under-miss” operation with data
caches.
• Performance monitoring unit furnishes two 32-bit event counters and one 32-bit cycle co unter for an alysis of
hit rates.
• Debug unit uses hardware breakpoints and 256-entry trace-history buffer (for flow change messages) to
debug programs.
• 32-bit coprocessor interface provides a high-performance interface between core and coprocessors.
• 64-bit core memory bus with simultaneous 32-bit input path and 32-bit output path provides up to 3.2 Gbps
@ 403 MHz bandwidth for internal accesses.
• Eight-entry write buffer allows the core to continue execution while data is written to memory.
See the Intel XScale
®
Core Developers Manual for additional information.
1.2.3Multimedia Coprocessor
The Intel XScale® core integrates a Multimedia coprocessor to accelerate multimedia applications and 2-D
graphics operations. This coprocessor provides a 64 -bit single-instruction multiple-data (SIMD) ar chitecture and
compatibility with the integer functionality of the Intel
extensions (SSE) instruction sets. Key features of this coprocessor include:
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
®
Wireless MMX™ 2 technology and streaming SIMD
• 14 new media processing instructions
• 64-bit architecture including SIMD (up to eight simultaneous eight-bit operations)
• SIMD PSR flags with group conditio nal execut ion support
• SIMD instruction support for sum of absolute differences (SAD) and multiply-accumulate (MAC)
operations
• Instruction support for alignment and video operations
®
• Intel
• Superset of existing Intel XScale
Wireless MMX™ 2 and SSE integer instruction compatibility
®
media processing instructions
1.2.4Power Management
The PXA300 processor or PXA310 processor provides a rich set of flexible power-management controls for a
wide range of usage models while enabling very low-power operation. The key features include the following:
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
• Programmable frequency-change capability, with turbo settings without requiring the PLL to re-lock
• Seven power modes to control power consumption: S0/D0/C0 (normal using either run and turbo clock
configurations), S0/D0/CS (run operation with ring oscillator operation at 60 MHz), S0/D0/C1 (c ore id le),
S0/D1/C2 (standby with LCD refresh), S0/D2/C2 (standby), S2/D3/C4 (sleep), and S3/D4/C4 (deep sleep)
• Dedicated programmable I
2
C-based external regulator interface to power management ICs
• 1-Wire controller for ba ttery gauge operations
See Vol. I: PXA300 Processor and PXA310 Processor Developers Manual: System and Timer Configuration
more details.
1.2.5Power I2C Controller
The PWR I2C controller allows the PWR I2C unit to interface to compatible Power I2C devices attached to the
Power I
“I
C bus. This controller is not software programmable and only outputs I2C commands as defined in the
2
C Bus Interface Unit” Chapter of Vol. IV: PXA300 Processor and PXA310 Processor Developers Manual:
. The key features include the following:
• Automatically outputs I
2
• I
C compliant
• Multi-master and arbitration support
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
2
C commands when required for power mode or voltage changes
• Supports standard-mode operation of 100 Kbps
• Supports fast-mode operation of 400 Kbps
• Start-of-day operation with 32.768 KHz operation of 100 bps
2
C Bus Interface Unit” Chapter in Vol. IV: PXA300 Pr ocessor and PXA3 10 Pr ocessor Developers Manual:
for more details.
1.2.6One-Wire Controller
The 1-Wire bus master circuit is designed to receive and transmit 1-Wire bus data and provides complete control
of the 1-Wire bus through eight-bit commands. The key features include the following:
for
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
• The processor loads commands, reads and writes data, and sets interrupt control through five registers
• All timing and control of the 1-Wire bus are generated within the controller.
See Vol. II: PXA300 Processor and PXA310 Processor Developers Manual: Memory Controller Configuration
and the Book of iButton Standards for more details.
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
1.2.7Graphics Controller
This chapter describes the overview, requirements, functions, and architecture for the graphics controller that is
inside of the PXA300 processor or PXA310 processor graphics controller. The graphics controller features are:
• Graphics instruction list parser
• Two source buf fers
• Three destination buffers (including internal and external display buffers (front/back buffers))
The performance monitoring functionality included in the PXA300 processor or PXA310 processor is provided
using core performance counters. The performance monitoring functionality allows additional functions to be
monitored within the core. Some of the features include:
• Four 32-bit performance counters allowing four unique events to be monitored simultaneously
• One 32-bit counter that counts core clock cycles
• The core can monitor over 70 events.
• Eight ASSP-level events are fed to the core that is capable of monitoring four of the eight ASSP-level
events.
• Interrupt indicating that an overflow on one of the counters has occurred, allowing the software routine to
read and accumulate the register contents.
• Counters are accessible using coprocessor 14 on the core.
1.2.9Internal Memory Architecture
The PXA300 processor or PXA310 processor memory architecture features a memory switch that allows
multiple simultaneous memory transactions between different sources and targets. For example, the PXA300
processor or PXA310 processor architecture allows memory traffic between the core and DDR SDRAM to move
in parallel with DMA generated traffic between the LCD controller and internal SRAM. In an architecture with a
single shared system bus, these transactions block each other. In applications with a VGA or higher display
resolution, this non-blocking capability provides significantly higher overall system performance.
1.2.10Internal SRAM Memory
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
The PXA300 processor or PXA310 processor provides on-chip SRAM that may be used in a variety of ways to
provide higher system performance and lower power by reducing off-chip memory accesses. A typic use of this
SRAM is as an LCD frame buffer with display resolutions up to QVGA. Key features of the internal memory
module include:
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
The Data Flash Interface (DFI), is a 16-bit address/data multiplexed bus that supports data flash and slow static
memory devices, including CompactFlash. The 16-bit data flash/static DFI bus provides 16-bi ts of multiplexed
address and data with various control signals. It supports 26-bit addressing by latching the address on the
address/data lines in two phases. CompactFlash interfaces require an external latch to generate the required
non-multiplexed address.
The External Memory Pin Interface (EMPI) is a 16-bit high speed dedicated b us for DDR SDRAM, devices with
DDR-like interfaces. The 16-bit EMPI bus provides a sophisticated mechanism for software to specify bus slew
rates and pullup/pulldown strengths. It provides 16 data lines, 16 address lines and several control signals.
1.2.12Dynamic Memory Controller
The dynamic memory controller is used for interfacing to DDR SDRAMs. The Dynamic memory controller is
only connected to the EMPI. Key features include:
• One or two partitions of DDR SDRAM running at a maximum of 208 MHz. Multiple partitions of DDR
SDRAM must use identical devices.
• 16-bit data bus width.
• Supports both 16- and 32-bit wide DDR SDRAM devi ces. Two 16-bit wide identical DDR SDRAM device s
can be used in parallel to support 32-bit wide operation.
• The following DDR SDRAM sizes are supported:
- 32 Mbytes (with 64 Mbytes of data flash)
- 64 Mbytes (with either 64 Mbyte or 128 Mbytes of d ata flash)
- 128 Mbytes (with either 128 Mbyte or 256 Mbytes of data flash)
• Programmable impedance control.
• Programmable calibration of strobe signals to and from DDR SDRAM.
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
• DDR SDRAMs automatically placed into self-refresh mode before entering sleep mode.
- 64 Mbytes (w ith either 32 Mbytes or 64 Mbytes of DDR SDRAM)
- 128 Mbytes (with either 64 Mbytes or 128 Mbytes of DDR SDRAM)
- 256 Mbytes with 128 Mbytes of DDR SDRAM
• Programmable output clock independent of the dynamic memory controller clock
• Programmable power-down mode for power savings
• Supports 1.8 V and 3.0 V devices.
See Vol. II: PXA300 Processor and PXA310 Processor Developers Manual: Memory Controller Configuration
for more details.
1.2.14Data Flash Controller
The data flash controller is used to manage external data flash memory that is typically used to hold the operating
system image and as a non-volatile mass storage “hard disk drive.”
Key features include:
— Supports third party data flash devices
— Hardware ECC
• General features include:
— A/D-muxed interface to data flash devices
— Connection to the DFI bus.
— Two chips selects
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
— Supports both 8- and 16-bit wide flash devices. Two 8-bit wide identical flash devices can be used in
- 64 Mbytes (w ith either 32 Mbytes or 64 Mbytes of DDR SDRAM)
- 128 Mbytes (with either 64 Mbytes or 128 Mbytes of DDR SDRAM)
- 256 Mbytes with 128 Mbytes of DDR SDRAM
- 512 Mbytes NAND flash with 256 Mbytes of DDR SDRAM
- 1 Gbyte NAND flash with 256 Mbytes of DDR SDRAM
— System DMA for data flash data transfers
— Computes ECC and corrects single bit errors and detects 2 bit errors per page. Also capabl e o f h andl i ng
single cell failures in Multi Level Cell (MLC) Data flash.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
— Programmable read/program/erase timings
— Interrupts to indicate page and command completion, flash ready status, bad blocks, bit errors, and
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
• Supports 1.8 V and 3.0V devices.
See Vol. II: PXA300 Processor and PXA310 Processor Developers Manual: Memory Controller Configuration
for more details.
1.2.15Interrupt Controller
The interrupt controller, which masks and prioritizes all on-chip interrupts, is accessed either through
memory-mapped or coprocessor registers. Key features include:
• Peripheral interrupt sources can be mapped to normal (IRQ) or fast (FIQ) interrupt request.
• Each interrupt source can be independently enabled.
• Priority mechanism to indicate highest- to-lowest priority interrupts.
• Accessible via the coprocessor interface for fast access.
• Accessible as a memory-mapped peripheral for backward compatibility.
See Vol. II: PXA300 Processor and PXA310 Processor Developers Manual: Memory Controller Configuration
for more details.
1.2.16Operating System Timers
The operating-system timer provides:
• A single-counter operating at 3.25 MHz
• Four match registers
• Watchdog function
The PXA300 processor or PXA310 processor also has an additional timer set th atprovides:
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
See Vol. I: PXA300 Processor and PXA310 Processor Developers Manual: System and Timer Configuration for
more details.
1.2.19General-Purpose I/O (GPIO)
128 of the peripheral pins on the PXA300 processor or PXA310 processor also provide software controlled
general purpose I/O (GPIO) pin functionality. The key features of the GPIO controller are:
• As inputs, GPIO pins can be sampled or programmed to generate an interrupt from either a rising or falling
edge
• As outputs, GPIO pins can be individually cleared or set and can be preprogrammed to either state when
entering sleep mode
• The GPIO unit does not control alternate functions selection for individual pins as was the case in the
PXA27x family.
See Vol. I: PXA300 Processor and PXA310 Processor Developers Manual: System and Timer Configuration for
more details.
1.2.20DMA Controller
The PXA300 processor or PXA310 processor contains a descriptor-based DMA controller. The descriptors are
stored in memory and are fetched upon receipt of a DMA request from a particular unit. The descriptors support
looping an d branching constructs. The DMA contr oller provides the following key features:
• Supports memory-to-memory, peripheral-to-memory, and memory-to-peripheral transfers in flow-through
mode.
• Supports flow-through mode for transfers between flash and DDR SDRAM.
• Supports 3 external companion-chip-related transfers - in flow-through mode only. The external device
• Supports 32 channels, 92 peripheral-device requests and 3 external device requests, with the capability of
The PXA300 processor or PXA310 processor contains provides a low-power, scalable, high-speed, narrow,
chip-to-chip physical link interface for mobile or wireless platforms called the Intel
®
(Intel
MSL). The Intel® MSL controller and its physical link pins meet the requirements of the Intel® Personal
Internet Client Architectu re, whi ch d e scr ib es the framework for rapidly building and dep l oyi n g wir el ess devices .
For more information on the Intel
Specification.
The Intel
®
MSL controller has these key features:
®
MSL, refer to the Intel® Mobile Scalable Link External Architecture
®
Mobile Scalable Link
• Two independent, high-s peed, unid irectional phys ical link interfaces, one inbound and one outbound
• Links have scalable data-channel width options of 4, 2, or 1 bits
• Asynchronous clocking from 0 to 48 MHz per link
• Transfer rates per link up to 96 Mbps
• 14 independent logical data channels (7 inbo und, 7 outbound) for managing multiple simultaneous data
streams
• Large 64-byte FIFO buffer for each logical data channel
• Round-robin FIFO service with independent enables and configuration options
• Single- or multiple-burst transfers
• Support for DMA, interrupt, or poll driven operation
• 64 virtual general-purpose I/Os (GPI Os) for control ling and sensi ng virtual GPIO bits or phy sical GPIO pins
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
1.2.22Serial Ports
The PXA300 processor or PXA310 proces sor provides a rich set of serial controllers for general sy st em us e. Al l
ports can be accessed through programmed I/O or through descriptor-based DMA transfers.Pins on ports not
being used can be configured as GPIOs. The following sections describe these ports.
1.2.22.1UARTS
The PXA300 processor or PXA310 processor provides three UARTs. UART 1 supports the full set of modem
control signals. All UARTs have these features:
• Functionally compatible with the 16550A and 16750
• Adds or deletes standard asynchronous communication bits (start, stop, and parity) to or from the serial data
• Independently controlled transmit, receive, line-status, and data-set interrupts
• Programmable serial interface characteristics:
— 7- or 8-bit characters
— Even, odd, or no parity detection
— 1 stop-bit generation
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
— Baud-rate generation of the following frequencies: 9600, 19.2K, 38.4K, 57.6K, 115.2 K, 230 K, 460 K
and 921 K baud
— False start-bit detection
• Complete status-reporting capability
• Break generation and detection
• Internal diagnostic capabilities include:
— Loop-back controls for communications-link fault isolation
— Break, parity, overrun, and framing error simulation
• All UARTs can operate in slow infrared (SIR) IRDA mode
• All UARTs have hardware flow control support:
— nRTS (output) controlled by UART receiver FIFO
— nCTS (input) from modem controls UART transmitter
UART 1 has these additional modem control functions:
—nDSR
—nDTR
—nRI
—nDCD
See the Vol. IV: PXA300 Processor and PXA310 Processor Developers Manual: Serial Cont r o ller Configura tion
for more details.
1.2.22.2Consumer Infrared Controller
The consumer infrared unit (CIR) enables PXA300 processor or PXA310 processor to remotely control
consumer devices such as televisions and VCRs. Since there are several existing standards in the market (RC-5,
RC-5 extended, RC-6, etc.), the CIR module design is generic and flexible, so it is compatible with existing
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
• Endpoint 0 for Control In and Out
• Four Configurations:
— Three programmable configurations with up to seven interfaces with seven alternate interface settings
— Default configuration 0 with one interface and control endpoint 0
• Configurable 4-Kbyte memory for endpoint data storage
See Vol. IV: PXA300 Processor and PXA310 Processor Developers Manual: Serial Controller Configuration for
more details.
1.2.22.6USB 1.1 Host Controller
The USB host controller has the following key features:
• USB Rev. 1.1 compatible
• Three host ports
• Supports both low-speed and full-speed USB devices
• Open Host Controller Interface (OHCI) Rev 1.0a compatible
• Root hub supports 3 chained downstream ports
• Built-in DMA
See Vol. IV: PXA300 Processor and PXA310 Processor Developers Manual: Serial Controller Configuration for
more details.
1.2.22.7USB 2.0 HS Client Controller
The USB 2.0 high-speed client controller has the following key features:
— Programmable endpoint type: bulk, isochronous, or interrupt
— Programmable endpoint direction: in or out
— Programmable endpoint maximum packet size
— Programmable configuration, interface and alternate interface setting numbers
• Endpoint 0 for control In and Out
• 16 Configurations:
— 15 programmable configurations with up to 15 interfaces with 15 alternate interface settings each
— Default configuration 0 with one interface and control endpoint 0
• Configurable 8 Kbyte memory for endpoint data storage
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
— 480x480
— 640x480
• Hardware support for color-space conversion from YCbCr to RGB for video streams
— Up-scaling for YCbCr 4:2:2 to YCbCr 4:4:4
— Color space conversion CCIR 601 - YCbCr 4:4:4 to RGB 8:8:8
— Conversion from true color (RGB 8:8:8) to high color (RGB 5:5:5) and RGBT
• Three 256-entry by 25-bit internal color -p alette RAMs (o ne for each overlay and base), p rogrammab l e to be
automatically loaded at the beginning of each frame
• Command data RAM (16 x 9 bits) to hold command data
• Provides one base layer plus two overlays; maximum size of each overlay can equal the display size
• Integrated seven-channel DMA: one channel for base plane, one channel for overlay 1, three channels for
overlay 2 and one channel for the hardware cursor
• Supports hardware cursor
• Programmable pixel clock from 203 kHz to 104 MHz (104 MHz/512 to 208 MHz/2)
• Supports little-endian ordering of pixels in frame buffer
• Programmable wait-state insertion at beginning and end of each line
• Programmable polarity for output enable, frame clock, and line clock
• Programmable interrupts for input and output FIFOs (underruns)
See Vol. III: PXA300 Processor and PXA310 Processor Developers Manual: Graphics and Input Controller Configuration for more details.
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
1.2.24Mini-LCD Panel Controller
The mini-LCD controller provides an interface between the PXA300 processor or PXA310 processor and a
flat-panel display module in low-power modes of operation for low power (S0/D1/C2) operation. The mini-LCD
types are supported only for the SPI communications protocol.
• 1.8 V or 3.3 V card support provided with a dedicated supply pin.
See Vol. II: PXA300 Processor and PXA310 Processor Developers Manual: Memory Controller Configuration
for more details.
1.2.26Keypad Interface
The keypad interface has the following key features:
• Support for two configurations:
— Eight-by-eight matrix keys and eight direct keys, or
— Eight-by eight matrix keys, six direct keys, and one rotary encoder (two pins for the rotary encoder)
• Matrix key interface supports manual and automatic scan:
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
• Interrupt or low-power mode wakeup event generated on key press
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
— Separate matrix and direct-key interrupt enables
• Polling support
• Key debounce logic to check for key debounce for both matrix and direct keypads
See Vol. III: PXA300 Processor and PXA310 Processor Developers Manual: Graphics and Input Controller Configuration for more details.
1.2.27Universal Subscriber ID Controller
The PXA300 processor or PXA310 processor provides two Universal Subscriber Identity Module (USIM)
interfaces. Each controller provides these key features:
• Compatible with any USIM SmartCard that is compliant with standard ISO 7816-3 and 3G TS 31.101
• Supports control lines for two-level voltage supply (1.8 V and 3 V)
• Supports USIM SmartCard reset pin control (using reset pin control and power supply control, warm/cold
reset can be software initiated)
• Supports T=0 and T=1 protocols
• Programmable SmartCard clock frequency
• Supports any combination of the following clock-rate conversion factor F and bit-rate adjustment factor D:
— F = {372, 512, 558}
— D = {1,2,4,8,16, 32, 12, 20}
• Auto-error signal in T=0 receive mode
• Auto-character repeat in T=0 transmit mode
• Transforms inverted format to regular format, and vice-versa
— Performs statistics on 8- or 10-bit data
— Incrementer saturates to avoid rollovers
— Supports up to 64 K pixels, (2
— Can perform statistics on 8-bit or 10-bit data stream with 32-bit re sult
16
) per data value
• Dead pixel substitution un it supports sensor resolutions up to 2560x2048
— Up to 128 pixels of any color may be substituted
• Scaling support for 2:1 /4:1 image resizing for RAW RGGB or YCbCr 4:2:2 image data
— Preprocessed YCbCr 2:1 and 4:1 scaling provided up to 704x576 resolution
— RAW RGGB 2:1 up to 704x576 resolution and 4:1 scaling provided up to 1280x1024 resolution
• Color management support for RAW digital viewfinder and video clip capture
— Programmable coefficients for 3x3 matrix multiplication for color and tone correction
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
— Programmable coefficients for color space conversion from RGB to YCbCr 4:2:2
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
• See Vol. III: PXA300 Processor and PXA310 Processor Developers Manual: Graphics and Input Controller
Configuration for more details.
1.2.29Test
The boundary-scan interface has the following features:
• JTAG interface
• Conforms to the IEEE Std. 1149.1 – 1990 and IEEE Std. 1149.1a-1993, Standard Test Access Port and
Boundary-Scan Architecture
• Test access port with dedicated pins: TDI, TMS, TCK, nTRST, and TDO
See Vol. I: PXA300 Processor and PXA310 Processor Developers Manual: System and Timer Configuration
more details.
1.3Intel XScale® Microarchitecture Compatibility
The Intel XScale® microarchitecture complies with the ARM* Architecture V5TE. The PXA300 processor or
PXA310 processor implements the integer instruction set of the ARM* Architecture V5TE.
Backward compatibility for user-mode applications is maintained with the first generation of Intel
StrongARM* and previous Intel XScale
specific Intel XScale
this core.
Memory map and register locations are b ackwa rd-compatible with the previous Intel XScale
hand-held products (see Intel XScale
The Wireless MMX
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
®
core hardware features and to take advantage of the performance enhancements added to
™
2 instruction set is compatible with the standard ARM* coprocessor instruction format.
®
products. Operating systems require modifications to match the
This chapter outlines the core implementation, types of module resets, and signal description information for the
PXA300 or PXA310 processor.
The PXA300 processor or PXA310 processor is an implementation of the Intel XScale
which is described in the Intel XScale
implementation include:
®
Core Developers Manual. The characteristics of this particular
• Several coprocessor registers
• Little-endian operation
• Semaphores and interrupts for processor control
• Multiple reset mechanisms
• Sophisticated power management
• Highly multiplexed pin usage
2.0.1Differences Between PXA300 Processor and PXA310
Processor
There are no architectural differences between the PXA300 processor and PXA310 processor except the values
of the Processor ID register. Refer to Section 2.15.6.1, “Processor ID Register” for more information on this
register.
The core implementation used in the PXA300 processor or PXA310 processor includes the options outlined in
this chapter. Most of these options are specified within the coprocessor register space, as described in
Section 2.15.1, “Intel XScale
than CP14 and CP15 is controlled by the Coprocessor Access Register (CPAR; see Section 2.15.6.4). To
accommodate the additional functionality of the Intel XScale
added or augmented. To accommodate the Wireless MMX™ multimedia extensions, the registers in CP0 and
CP1 have been added or augmented. For more information, refer to the following sources:
• The Complete Guide to Wireless MMX
PXA300 processor or PXA310 processor
• Marvell PXA27x Processor Family Developers Manual (order number 280000-003)
®
Microarchitecture Coprocessor Register Summary”. Acces s to coprocessors oth er
®
core, registers in CP14 and CP15 have been
™
Technology — media-enhancement technology supported by the
®
microarchitecture,
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
The following subsections describe the coprocessor registers:
Endianness is the convention that describes the order in which bits within a word are stored in memory.
The PXA300 processor or PXA310 processor operates in little-endian mode only, in which the least-significant
byte (LSB) of a value is stored in memory at a lower address than the most significant byte (MSB). For example,
the value 0x8765_4321 at address 0x0 in a little-endian system appears as shown in Table 2-1.
Table 2-1. Little-Endian Value Encoding
Address0123
Byte Value0x210x430x650x87
2.3Memory Switch vs. System Bus
There are two internal high-speed system buses: System Bus 1 and System Bus 2. Both system buses connect to
the memory switch, which in turn connects directly to the core and to the internal and external memories.
2.4I/O Ordering
The PXA300 processor or PXA310 processor uses queues that accept memory requests from the seven internal
masters. System Bus 1 contains the DMA controller, USB host, LCD controller , camera interface, and a br idge to
the peripheral buses. System Bus 2 contains the USB 2.0 Client and 2D g raphics controller. Operations issued by
each master are completed in the order they are received. However, operations from one master may be
interrupted by operations from another master. The PXA300 processor or PXA310 processor does not provide a
software method to control the order of operations from different masters.
Loads and stores to internal addresses are generally completed more quickly than those to external addresses.
The difference in completion time allows for the possibility that one operation is received before a second
operation, but the second operation completes before the first.
In the following sequence, the store to the address in r4 is completed before the store to the addres s in r2 because
the first store waits for memory in the queue while the second is not delayed.
If the two stores are control operations that must b e co m pleted in order, the recommended sequence is to insert a
load to an unbuffered, uncached memory page followed by an operation that depends on data from the load:
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
str r1, [r2]; store to external memory address [r2]
str r3, [r4]; store to internal (on-chip) memory address [r4]
str r1, [r2]; first store issued
ldr r5, [r6];
mov r5, r5; nop stalls until r5 is loaded
str r3, [r4]; second store completes in program order
2.5Accessing Peripherals on Internal Peripheral Bus
There are two peripheral buses: Peripheral Bus 1 and Peripheral Bus 2. The peripheral bus modules connect to
System Bus 1 via the DMA/bridge unit. Peripherals on the peripheral bus can be accessed with either
programmed I/O using the bridge, or by using a DMA transfer. The perip herals and their oper atio n ar e described
in separate volumes.
2.5.1Programmed I/O Operations Using the Bridge
The processor can read and write the peripheral registers and FIFOs on the peripheral bus using the bridge (see
Figure 2-1). All internal registers of the peripherals must be accessed using word access loads and stores. Internal
register and FIFO space must be mapped as non-cacheable. Byte and half-word accesses to internal registers are
not permitted and yield unpredictable results. The FIFOs of some of the peripherals on the peripheral bus can be
accessed using byte, half-word, or word access loads and stores. Refer to individual peripheral chapters for
details.
Some peripherals on the peripheral bus cannot receive or transmit data via the DMA. These devices use
programmed I/O for all data transfers. Refer to individual peripheral chapters for details.
2.5.2Data Transfer Using DMA
Some peripherals on the peripheral bus receive or transmit data via DMA. DMA can be programmed to transfer
from the peripheral to the memory (receives) or from the memory to the peripheral (transmits).
In case of transmits, if the DMA descriptor has a byte count that is not an integer multiple of the transfer size,
then at the end of the descriptor, DMA performs a transfer that is shorter than the transfer size. This is the
trailing-bytes case for transmits. On transmits, for every peripheral request, DMA transfers the number of bytes
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
equal to the size setting or number of bytes in the length setting in the DMA Command register of the channel,
whichever is smaller. DMA can perform a transfer shorter than its t rans fer size in the beginning of the des c ript o r
if the source address is not aligned to a 8-byte boundary.
With transmits, most peripherals can transmit the trailing bytes without any processor intervention. Refer to the
individual peripheral chapters for trailing byte programming requirements.
In case of receives, the peripheral may receive some data at the end of the data transfer and may not receive any
more data for a predefined time (time out), or may receive an end-of-packet indication from the external
CODEC/peripheral. If the amount of data received is below the peripheral threshold setting, then a trailing-bytes
situation exists. On receives, for every peripheral request, DMA transfers the number of bytes equal to the size
setting, or number of bytes in the length setting in the DMA Command register of the channel, or the number of
trailing bytes in the peripheral FIFO, whichever is smaller. DMA may perform a transfer, shorter than its transfer
size, in the beginning of the descriptor if the target address is not aligned to a 8-byte boundary.
With receives, the peripheral/DMA can be programmed to handle the trailing-byte situation without processor
intervention. If the DMA has data in its descriptor, it can completely receive all the bytes in the peripheral and
jump to the next descriptor, continue with the current descriptor or stop. If the DMA does not have data in its
descriptor and if the channel has stopped, the DMA cannot receive any more data from the peripheral. In this
case, the peripheral informs the processor via an interrupt. The processor then uses the programmed I/O mode,
via the bridge, to read the remaining bytes from the FIFO. Refer to the individual peripheral chapters for more
information.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
2.6Peripheral Access on Internal System Buses
Peripherals on System Bus 1 (for example, LCD controller) and System Bus 2 (for example, 2D graphics
controller) mostly use their own internal DMA to access the system. The exception to this is the data flash
interface, which uses the system DMA to transfer data. The core can read/write the in ternal registers within these
peripherals, but typically, FIFOs within these peripherals cannot be read or written to by the core - the internal
DMA within the peripheral handles all reads and writes to these FIFOs. Refer to the individual peripheral
chapters for more information.
2.7DMA/Peripheral Split Transactions
Processor accesses to the peripheral bus are, by default, split (posted) operations.
For a read operation, there are two system-bus transactions: an initial transaction to send the request, and a
separate data transfer to return the read data. During the gap between these two operations, the system bus is
relinquished and can be used by other devices.
For a write operation, the system-bus transaction completes when the write has transferred over to the
DMA/bridge rather than waiting until it reaches the actual peripheral.
In both cases, operations complete on the peripheral bus in strict order of issue on the system bus. However, for
writes in particular, completion of the write (as seen by the processor) does not mean that the write has taken
effect. To guarantee that a write has taken effect, a read to any peripheral bus location is required (once the read
has completed all earlier writes have taken effect).
2.8System Bus Arbiters
The two internal high-speed system buses support multiple clients — the bridge (with DMA controller), the LCD
controller, the USB host controllers, camera interface, data flash controller and SGPR on System Bus 1 and 2-D
graphics and USB2.0 client on System Bus 2. Each system bus is implemented as a multiplexer (versus a
three-state approach) and the clients are allowed to request the bus without any limitations. The arbitration for
bus access is performed by an arbiter on each bus, which is programmable through its ARB_CNTRL register.
The arbiters have the following features:
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
• Programmable client weights
• Software selectable bus park ing
• Bus locking
2.9System Access Latencies
There are multiple masters (for example, DMA, USB host, and LCD controller) in the system. All accesses to the
external memory from any of these masters flow through the switch and memory controllers. The memory
controllers have limited internal buffers that function as a FIFO. All requests are executed in the order received.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
In performing an access to an external memory, a request from the master must first arbitrate for the respective
system bus and then transfer on that system bus. Software can program the respective system-bus arbitration
priority to enable one of the masters to access the system b us with hig her prior ity than other masters.The request
is then queued in the respective system bu s to s witch bridge. The access then transfers across the s witch to either
the dynamic memory controller or static memory controller where it is arbitrated with the other switch masters to
determine which access is performed (arbitration within the memory controllers is not programmable).
After the access has been performed, the data is returned directly to the switch bridge for the respective system
bus, where the system bus is again req uested an d, when the system bus is granted, data is returned to the original
master.
To compute the worst-case latency for an external memory transfer in a very busy system, where all of the
internal bus masters are continuously trying to ac cess a system bus (ass uming t hat the master h as h ighest pri orit y
programmed in the arbiter), the following transfers can occur ahead of the current master accessing the external
bus and must be accounted for:
• One current external bus transfer
• Several pending transfers in the switch queue
• Multiple requests queued in the memory controllers (worst case is three requests from this master plus up to
eight requests from all other masters)
• Any other transfers pending within this mas ter
• An SDRAM refresh
• Potentially a dynamic memory controller recalibration cycle (see the Dynamic Memory Controller chapter
for more details).
To compute the worst-case latency for an internal-memory transfer in a very busy system (assuming that the
master has highest priority programmed in the arbiter and the internal memory bank is not in standby or sleep
mode and the queue is empty), the following transfers can occur ahead of the current master acquiring the system
• Multiple requests queued in the memory controllers (worst case is three requests from this master plus up to
eight requests from all other masters)
• Any other transfers pending within this mas ter.
As any of the internal memory accesses are generally lower in latency, place in internal memory any accesses
having a critical latency requirement, such as USB host isochronous buffer data.
2.10Semaphores
The swap (SWP) and swap-byte (SWPB) instructions, as described in the ARM* V5TE architecture reference,
can be used for semaphore manipulation. No on-chip master or process can access a memory location between
the load and store portion of a SWP or SWPB to the same location.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
2.11Interrupts
The interrupt controller is described in detail in Chapter 12, “Interrupt Controller”. All on-chip interrupts are
enabled, masked, and routed to the core FIQ or IRQ. Each peripheral-unit interrupt is enabled or disabled at the
source through an interrupt-enable bit. Generally, all interrupt bits in a peripheral unit are ORed together and
present a single value to the interrupt controller.
Each interrupt goes through the Interrupt Controller Mask register. Then the Interrupt Controller Level register
directs the interrupt into either the IRQ or FIQ. If an interrupt is taken, the Interrupt Controller Pending register
can be read to identify the source. After identifying the interrupt source, the software is responsible for servicing
the interrupt and clearing it in the source unit before exiting the service routine.
Note:There is a delay between writing to a status bit to clear an interrupt and the interrupt actually
being cleared. Therefore, clear the interrupt early in the interrupt-service routine to allow the
status bit time to clear before returning from the routine.
2.12Reset
The PXA300 processor o r PXA 310 p rocessor can b e reset i n five ways . Table 2-2 summarizes the effects of each
kind of reset. See the services power management chapter for more descriptions and details of these resets:
• Power-on reset, equivalent to hardware reset, occurs at initial power-on when the power supply is detected
on VCC_BBATT.
• Hardware reset res ults from asserting nRESET, which forces all units into reset state.
• Watchdog reset results from a time out in the OS timer and can be used to recover control from runaway
code by resetting the processor and peripherals. Watchdog reset is disabled by default and must be enabled
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
by software.
• GPIO reset is a “soft” reset, which preserves some of the registers, real-time clocks, and the external and
internal memories.
• Sleep-exit reset provides a reset to modules that have been power ed do wn in s leep or deep sleep so that they
may recover properly when powered up to resume normal operation.
Waking from sleep or deep-sleep mode causes a sleep-exit reset.
Each type of reset, except sleep exit, affects the reset states of the processor pins. For details on how resets affect
pin states refer to Sectio n 4.2 of the PXA300 Processor and PXA310 Processor Electrical, Mechanical, and Thermal Specification. The Reset Controller Status register contains information that indicates which reset has
occurred.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
When the external system de-asserts nRESET, the processor de-asserts nRESET_OUT after a specified time, and
the processor then attempts to boot from physical address location 0x0000_0000, which always points to the
internal boot ROM. Code in the boot ROM is always, without exception, the first code that is executed.
Various internal-configuration values are used to steer the flow of operation of the boot ROM, allowing the
processor to boot from the data flash, the USB client, or a UART. Refer to the boot ROM specification for
detailed information.
In addition to being mapped at address 0x0000_0000, the boot ROM is also mapped at address 0x5C00_0000.
Once the boot operation has started, the software performs a jump operation to the 0x5C00_0000 address range
and continues to execute. Mapping to address 0x0000_0000 in the boot ROM is then disabled, allowing other
memory devices to be visible at address 0x0000_0000. Mapping to address 0x0000_0000 in the boot ROM is
re-enabled by any reset operation.
2.15Memory Map and Register Overview
This section provides an overview of the PXA300 processor or PXA310 processor physical address map for
memory and memory-mapped registers. It also summarizes the registers within the independent coprocessors in
the processor core. Refer to individual unit chapters of the peripherals volume for the mapping of individual
registers.
All internal control and configuration registers are mapped in physical memory space on 32-bit address
boundaries. Use 32-bit word access loads and stores to access internal registers. Internal register space must be
mapped as non-cacheable. In general, many buffers and FIFOs can be accessed in byte, half-word, and word
sizes. Byte and half-word accesses to internal registers are not permitted and yield unpredictable results. Refer to
the individual peripheral chapters for specific information.
Register space where a register is not specifically mapped is defined as reserved space. Reading or writing
reserved space causes unpredictable results.
The PXA300 processor or PXA 310 pro cess or does no t use all regis t er bit l ocati on s. The unu sed bit locations are
marked reserved and are allocated for future use. W rite reserved bit locations with 0b0. Ignore the values of these
bits during read operations, as they are unpredictable.
The physical memory map includes external memory, internal memory, and the memory-mapped internal
registers of the peripheral controllers. Services-unit registers are accessed indirectly through the peripheral
applications subsystem. Thus, the peripheral-register address map includes all services-unit registers for power
management, clock manage ment, the PWR_I
real-time clock. Software can use the memory management unit included in the core to map portions of this
physical address map to the virtual address map.
Note:Accessing reserved portions of the memory map results in a data-abort exception. Accessing
reserved portions of a particular peripheral address space does not cause a data-abort exception,
but the data returned is undefined.
Figure 2-1 shows the address bit regions used for decoding memory blocks, applications subsystem units, and
applications subsystem sub-units from the physical address.
2
C interface (which controls external supply regulators), and the
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
1001Auxiliary Control
2000Translation Table Base
3000Domain Access Control
4————Reserved
5000Fault Status
6000Fault Address
Cache Operations
7700Invalidate I&D cache and BTB
7500Invalidate I cache and BTB
7501Invalidate I cache Line
7600Invalidate D cache
7601Invalidate D cache Line
71001Clean D cache Line
71004Drain Write (& Fill) Buffer
7506Invalidate Branch Target Buffer
7205Allocate Line in the Data Cache
Register
Symbol
Register Description
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
• Memory-mapped register access mode
• Coprocessor-register access mode
Coprocessor-register access mode results in significantly reduced interrupt latencies. Accessing the interrupt
controller registers in coprocessor-register access mode must be performed in supervisor mode.The MRC and
MRC2 coprocessor operations are treated identically and access the same registers within the coprocessor.
Similarly, the MCR and MCR2 coprocessor partitions are treated identically and access the same registers within
the coprocessor .
Access to interrupt control registers via the CP is limited depending whether the core is in user or supervisor
mode. An undefined instruction exception is generated if an access is made in user mode.
2.15.3Performance Monitoring Registers
Access: Coprocessor 14 — see Table 2-4
The performance-monitoring registers inclu de four 32-bit performance counters, allowing four separate events to
be monitored simultaneously. In addition, a 32-bit clock counter is available, which can be used to count the
number of core clock cycles. For additional information, refer to Chapter 15, “Performance Monitoring and
Debug” of this document, which defines ASSP-level monitors.
2.15.4Clock Configuration and Power Management Registers
Access: Coprocessor 14, Registers 6 and 7
The CCLKCFG (register 6) and PWRMODE (register 7) registers allow software to modify the clock and
power-management modes. The valid operations are described in the PMU chapter and the Services module
definition.
2.15.4.1Ring Oscillator Mode
This is a lower power mode of operation where we run the whole system from an integrated ring oscillator. this
produces a set of frequencies diff erent from the ones derived from the core and system PLL. As the base
frequency standard is only accurate to +/- 10% there are inaccuracies on the delivered frequencies. In the ring
oscillator mode only a subset of the devices are capable of running and with some restrictions
T able 2-5. Devices Operating in Ring Oscillator Mode
ModuleFunction
Internal memorynormal operation
DMEMCrecalibration of delay lines is required on entry or exit
SMEMCOperation is at low frequency
DMAnormal operation
GCUnormal operation
LCDrefresh rate is controlled via the PCD register
The Processor Cache Type register describes the cache configuration of the Intel XScale® core. The cache
configuration for the PXA300 processor or PXA310 processor is described in the Intel XScale
Bit 1 of the Auxiliary Control register is defined as the page table memory attribute (P-bit). It is not implemented
in the PXA300 processor or PXA310 processor and must be written with 0b0. Similarly, the P-bit in the
memory-management unit (MMU) page table descriptor is not implemented and must be written with 0b0.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
The Coprocessor Access register (CPAR), defined in Table 2-8, controls access to all coprocessors other than
CP14 and CP15. This register is accessible in supervisor mode only.
0 = Access denied. Any attempt to access the corresponding
coprocessor generates an undefined exception, even in supervisor
mode.
1 = Access allowed, including read and write access to the coprocessor.
CP13
CP12
CP9
CP8
CP7
CP6
CP5
CP11
CP10
CP4
Example 2-1. Enabling Access to CP0, CP1, and CP6
;; The following code sets bits 0, 1, and 6 of the CPAR.
;; This enables access to Intel Wireless MMX media enhancements.
;; This enables access to Interrupt Controller Coprocessor registers.
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
LDR R0, =0x0043; Set bits 0,1, and 6.
MCR P15, 0, R0, C15, C1, 0; Move to CPAR.
CPWAIT; Wait for effect (Section 2.15.6.5).
At times, it is necessary to know exactly when a CP15 update takes effect. For example, when enabling memo ry
address translation (turning on the MMU), it is vital to know when the MMU is actually guaranteed to be in
operation. To address this need, a processor-specific code sequence is defined for the Intel XScale
®
core.
Example 2-2 describes this sequence, CPWAIT.
CP3
CP2
CP1
CP0
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
Example 2-2. CPWAIT: Canonical Method to Wait for CP15 Update
;; The following macro should be used when software needs to be
;; assured that a CP15 update has taken effect.
;; It may only be used while in a privileged mode, because it
;; accesses CP15.
MACRO CPWAIT
MRC P15, 0, R0, C2, C0, 0; arbitrary read of CP15
MOV R0, R0; wait for it
SUB PC, PC, #4; branch to next instruction
; At this point, any previous CP15 writes are
; guaranteed to have taken effect.
ENDM
When setting multiple CP15 registers, it is acceptable to execute CPWAIT only once, after the sequence of MCR
instructions.
The CPWAIT sequence guarantees that CP15 updates are complete by the time the CPWAIT is complete. It is
possible that a CP15 side effect might occur before CPWAIT completes or is issued. Use the technique shown in
Example 2-2 to ensure that this does not affect the correctness of the code.
This chapter documents the PXA300 processor or PXA310 processor internal switch bus (memory switch) that
provides a dedicated connection to/from the initiators (cor e s ubsy stem, system b us #1, and system bus #2) to the
completers (external static-memory controller, external dynamic-memory controller, internal SRAM memory
controller, system bus #1, and system bus #2) for the data transfers. The term agent is used to refer to either
initiators or completers.
By duplicating the data paths within the processor, the memory switch allows for very high internal data
bandwidth between various controllers. The memory switch also allows for lower latencies due to fewer
controllers competing for a single bus.
This chapter refers to agents that can initiate new read or write transfers as initiators. Similarly, the agents that
complete those transfers are referred to as completers. The completer interface and initiator interface are the
logic that connects the completer or initiator to the memory switch bus. See Figure 3-1 for a graphic
representation of the memory switch bus, which separates the completer from the completer interface and the
initiator from the initiator interface.
The core subsystem is comprised of the Intel XScale
coprocessor , and the internal cache. These subsystem components are referred to as though they were a single
unit in most cases to simplify the concepts being described. When necessary, the separate components are
referred to individually for greater detail.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
3.1.1Differences Between PXA300 Processor and PXA310
Processor
There are no differences between the memory switch controllers of PXA300 processor and the PXA310
processor.
3.2Features
• All the bus clients are connected in a crossbar structure to maximize bandwidth and minimize latency
• 32-bit address, 64-bit write data, 64-bit read data per agent
• Supports three initiators (core subsy stem, system bus #1, and system bus #2) and six completers (external
static-memory controller, external dynamic-memory controller, internal SRAM memory controller, internal
flash-memory controller, system bus #1, and system bus #2)
• Allows concurrent accesses to all completers from any initiator
• Programmable priority mechanism in each completer
• Supports atomic operations from the Intel XScale
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
• Completers execute transactions in order for each initiator
3.3I/O Pins
The PXA300 processor or PXA310 processor memory switch bus has no external IO interface.
3.4Functional Description
The memory switch bus consists of the following interface modules:
• Core subsystem interface: The interface between the core subsystem and the bus
• System bus #1 interface: The interface between system bus #1 and the bus
• System bus #2 interface: The interface between system bus #2 and the bus
• Dynamic Memory Controller (DMC) interface: The interface between the DMC and the bus
• Static Memory Controller (SMC) interface: The interface between the SMC and the bus
• Internal SRAM interface: The interface between internal SRAM controller and the bus
The interconnections between the memory switch interface modules are shown in .
3.4.1Priority Control
Each completer interface (internal SRAM, external dynamic memory controller, external static memory
controller) receives transfer requests from three initiators ( core subsystem, system bus #1, and system bus #2).
Within each completer interface, a transaction age-based priority algorithm assures flow control and fairness
based on the age of the transfer. This algorithm may reorder transfers between the three initiator sources despite
the age of the transfer, but it does not reorder transfers within each initiator queue.
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
3.4.2The Memory Switch Concept
The memory switch bus is responsible for handling the read and write address, data, and related attributes from
the initiators to the completers. Figure 3-1
shows only the path from one initiator to one completer, though many such paths exist within the memory switch
bus. The initiators interfacing with the memory switch bus initiate new read or write transfers.
Figure 3-2. Memory Switch Concept
illustrates the overall concept of the memory switch bus. Figure 3-2
This chapter describes both the PXA300 proc ess or and the PXA310 proces so r log ical sign al s and thei r mappi ng
to physical package pins.
4.1Overview
The PXA300 processor and the PXA310 processor both feature single-function (dedicated) and multi-function
pins. The pin-control unit manages the configuration of these multi-function pi ns , inclu di ng the selection of
alternate peripheral functions, and controls the pin state during reset and low-power modes for every pin.
The pin-control unit contains registers that allow the reset and low-power mode configuration of each
multi-function pin to hold its last driven output value or instead be forced into one of five states: output driven
high, output driven l ow, output high impedance, input p ul le d h igh, and input pulled low. This register defaults to
an appropriate state at reset or power up but is software-configurable thereafter. The pin unit also contains
registers to configure t he ou t put drive strength of individual pin s when configured as outputs. Many (but not al l)
multi-function pins support configuration as a software-managed GPIO channel, which can be programmed as an
output or an input that can serve as an interrupt sour ce. Many pi ns can also generate wake-up events to bring the
processor out of the S0/D1, S0/D2, S2/D3 and S3/D4 low-power modes.
4.1.1Differences Between PXA300 and PXA310 Processors
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
There are two significant differences between PXA300 and PXA310 processors that relate to the external
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
pads/pin connections.
1. PXA300 processor includes a 22-pin UTMI USB 2.0 compliant interface. PXA310 processor replaces the
UTMI interface with a 12-pin UTMI + Low Pin Interface (ULPI).
2. PXA310 processor includes a third MMC/SD/SDIO controller interface.
4.2Features
This section lists the general features of the pin-control unit.
• Controls the state of pins during reset and low- power modes
• Supports holding last-driven state or register-defined state for all outputs during reset and low-power modes
• Manages selection of GPIO and other alternate peripheral functions
• Supports software configuration of output drive strength
• Supports external interrupt generation and wakeup-event detection.
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
4.5Signal Descriptions
Table 4-3 describes the PXA300 processor and the PXA310 processor signals used by each interface. Most of the
processor pins are multiplexed so that they can be configured for one of the up to eight available functions using
the MFPR xx registers. Some signals can be configured to appear on one of several different pins.
Note: The “Pin Usage” section in the PXA300 Processor and PXA310 Processor Electrical,
Mechanical, and Thermal Specification has more details about the processor pins and signals,
including reset states and alternate functions.
.
T a ble 4-3. PXA300 Processors Signal Descriptions (Sheet 1 of 14)
Memory Address Bus—Drives the requested address for EMPI memory accesses. The
address format depends upon the bus configuration and whether the access is to
SDRAM or a static memory device.
In the one bus 32-bit configuration, the SDRAM and static memory controllers share the
32-bit bus using arbitration, In this case, during SDRAM memory accesses these signals
MA<15:11>; MA<9:0> Output
SDMA10Output
MARVELL CONFIDENTIAL,UNDER NDA# 12101050
EMPI Signals
provide row, column and bank addressing. For static memory accesses, these signals
provide the upper bits of the address and the lower part of the address is multiplexed on
MD<15:0>.
In this split-bus EMPI configuration, the EMPI bus is divided into a 16-bit SDRAM bus
and a 16-bit static bus. Then, the MA<15:0> signals are used only for SDRAM
addressing and all static address information is multiplexed with the data in one or two
phases.
Memory Address Bus Bit 10—In configurations where the EMPI bus is shared by
SDRAM and static memory, this signal is provided to drive address bit 10 to allow
SDRAM refresh cycles simultaneous with static memory accesses which use MA<10>
for addressing.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
EMPI Data Bus—Carries data and multiplexed address information for EMPI memory
accesses. The format of the data and address depends upon the bus configuration and
whether the access is to SDRAM or a static memory device.
In the one bus 32-bit configuration, the SDRAM and static memory controllers share the
32-bit bus using arbitration. In this case, during SDRAM memory accesses these pins
MD<15:0>Bidirectional
nSDWEOutput
DQM<1:0>Output
DQS<1:0>Bidirectional
are used only for data, and the MA<15:0> signals provide row, column, and bank
addressing. However, for static memory accesses, these signals provide the lower part
of the address multiplexed on MD<15:0> qualified by the nADV and nADV2 signals
before data is transferred. The upper address bits are provided on MA<15:0>.
In configurations where the EMPI bus is divided into a 16-bit SDRAM bus and an
independent 16-bit static bus, MD<31:16> are used for static memory with address
multiplexed with data and MD<15:0> are used for DRAM data.
SDRAM Write Enable—Connects to the write enables of SDRAM memory devices on
the EMPI bus.
SDRAM DQM Data Byte Mask Control—Connects to the data output mask enables
(DQM) for DRAM. (DQM0 corresponds to MD<7:0>, DQM1 corresponds to MD<15:8>,
and so forth.)
DDR Strobe for DDR SDRAM—DQS<3:0> are used by the memory controller to latch
data during reads from SDRAM. On writes to SDRAM, DQS<3:0> are used by DDR
DRAM to latch data. Data is latched on both rising and falling edges.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
T a ble 4-3. PXA300 Processors Signal Descriptions (Sheet 2 of 14)
Signal NameTypeSignal Descriptions
nSDRASOutputSDRAM RAS—Connects to the row address strobe (RAS) pins for all banks of SDRAM.
nSDCASOutput
SDCKEOutputSDRAM Clock Enable—Connec ts to the clock-enable pins of all SDRAM.
SDCLK0
SDCLK1
RCOMP_DDRA nalog
nSDCS1
nSDCS0
Data Flash Interface Signals
DF_IO<15:0>Bidirectional
ND_IO<15:0>Bidirectional
nXCVRENOutput
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
DF_SCLK_EOutput
nBE<1:0>Output
nLUAOutput
nLLAOutput
nCS3
nCS2
nCS0
nCS1
DF_nOEOutput
DF_nWEOutput
ND_nREOutput
ND_nWEOutputThird Party data Flash Write Enable—Enables writes to Third Party data flash.
Output
Output
Output
SDRAM CAS—Connects to the column address strobe (CAS) pins for all banks of
SDRAM. Also functions as the active low address valid strobe for synchronous flash.
DDR SDRAM Differential Clock—Connect SDCLK0 to the (+) and SDCLK1 to the (-)
differential clock pins of DDR SDRAM. Connect only SDCLK1 to the clock input for SDR
SDRAM.
Resistive Compensation—Connects to an external resistor to support EMPI
impedance control.
SDRAM Chip Selects—Chip selects for SDRAM memory devices, individually
programmable in the memory configuration registers. Note that all memory on the EMPI
bus (or each of the bus when configured for two bus split mode) must be in the same
physical location (i.e., stacked in the MCP or external).
Data Flash Data Bus—Carries data and multiplexed address information for static
memory accesses. The format of the data and address depends upon the bus
configuration and whether the access is to a flash or a static memory device.
Third Party data Flash Data Bus—Carries data and multiplexed address information
for a Third Party data flash and static memory accesses. The format of the data and
address depends upon the bus configuration and whether the access is to a flash or a
static memory device.
Data Flash Transceiver Enable—Active low control signal for a transparent
latch/transceiver between the DF_IO<15:0> bus. The latch should be transparent when
nXCVREN is low. The direction of this transceiver is controlled by a RDnWR logical
signal latched from the data pins earlier in the cycle with nLUA.
Data Flash Static Clock (External)—Connects to the clock input of external
synchronous data flash and static memory devices on the data flash interface.
Data Flash Byte Enable 1 and 0—Active low byte enable. When high, this signal
indicates the appropriate data byte should be masked. nBE<0> corresponds to
DF_IO<7:0>, nBE<1> corresponds to DF_IO<15:8>.
Data Flash Latch Upper Address —Used to latch the high order address bits and
PCMCIA and transceiver control signals (RDnWR, nPCE1, and nPCE2) for static
memory access from DF_IO<15:0>.
Data Flash Latch Lower Address—Used to latch the low order address bits for static
memory access from DF_IO<15:0>.
Static Chip Selects—Active-low chip selects for static memory devices and flash on the
DFI bus.
Data Flash Output Enable—Output enable for reads from data flash and static memory.
This signal is routed to the DF_CLE_nOE pin.
Data Flash Write Enable—Enables writes to data flash and stat ic memory. This signal is
routed through the DF_ALE_WE pin (alternate function 1)
Third Party data Flash Read Enable—Read enable for reads from Third Party data
flash.
ML_PCLKOutput
L_VSYNCInputLCD Refresh Sync—Sync input driven by LCDs with an internal frame buffer
L_BIASOutput
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
Output
the data flash interface. These signals provide the lowest four address bits during a burst
transfer to eliminate the need for complete decoding with nLLA allowing higher
performance.
Third Party data Flash Chip Selects—Active low chip selects for Third Party data flash
memory devices.
Data Flash Command Latch Enable—Connects to the CLE input of data flash memory
devices. This signal is routed to the DF_CLE_nOE pin.
Third Party data ALE—Connects to the ALE input of Third Party data flash devices.
This signal is routed to the DF_ALE_WE pin (alternate function 1).
Variable Latency I/O Ready—An external VLIO device asserts RDY (high) when it is
ready to transfer data.
LCD Display Data—Transfers pixel information from the LCD controller to the external
LCD panel. These pins become inputs driven by the panel during a read from a panel
with an integrated frame buffer.
Low-Power Mode LCD Display Data—Transfers pixel information from the low-power
(mini) LCD controller to the external LCD panel in the S0/D1 low-power mode.
LCD Frame Clock—Frame clock used by the LCD display module to signal the start of a
new frame of pixels that resets the line pointers to the top of the screen. This pin is also
the vertical synchronization signal for active (TFT) displays.
This pin is the read signal during reads from a panel with an internal frame buffers.
LCD Line Clock—Indicates the start of a new line. Also referred to as HSYNC for active
panels. For LCDs with an internal frame buffer, this signal indicates a command or data
transaction.
LCD Pixel Clock—Pixel clock used by the LCD display module to clock the pixel data
into the Line Shift register.
In passive mode, the pixel clock toggles only when valid data is available on the data
pins.
In active mode, the pixel clock toggles continuously, and the AC bias pin is used as an
output to signal when data is valid on the LCD data pins.
This pin also functions as a write signal for LCD panels with an internal frame buffer.
Low-Power Mode LCD Frame Clock—Vertical synchronization signal for active (TFT)
displays in the S0/D1 low-power mode.
Low-Power Mode LCD Line Clock—HSYNC for active panels in the S0/D1 low-power
mode.
Low-Power Mode LCD Pixel Clock—Pixe l clock for active TFT displays in the S0/D1
low-power mode.
LCD Bias Drive—AC bias used to signal the LCD display module to switch the polarity
of the power supplies to the row and column axis of the screen to counteract DC offset.
In active (TFT) mode, it is used as the output enable to signal when data should be
latched from the data pins using the pixel clock.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
SSPSCLKBidirectional
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
SSPSFRMBidirectional
SSPTXDOutput
SSPRXDInputSynchronous Serial Port Receive Data 1—serial data latched using the bit clock
SSPEXTCLK/
SSPCKEN
SSPSYSCLKOutput
SSPSCLK2Bidirectional
SSPSFRM2Bidirectional
SSPTXD2Output
SSPRXD2InputSynchronous Serial Port Receive Data 2—serial data latched using the bit clock.
SSPEXTCLK2/SSPCL
KEN2
Input
Input
Synchronous Serial Port Clock 1—the serial bit clock may be configured as an output
(master mode operation) or an input (slave mode operation).
Synchronous Serial Port Frame 1—the serial frame sync may be configured as an
output (master mode operation) or an input (slave mode operation).
Synchronous Serial Port Transmit Data 1—serial data driven out synchronously with
the bit clock
Synchronous Serial Port External Clock 1—this input may be used to supply an
external bit clock or an external enable request for the internally generated bit clock.
Synchronous Serial Port 1 System Clock—When enabled, provides a reference clock
at four times the port 1-bit clock.
Synchronous Serial Port Clock 2—the serial bit clock may be configured as an output
(master mode operation) or an input (slave mode operation).
Synchronous Serial Port Frame 2—the serial frame sync may be configured as an
output (master mode operation) or an input (slave mode operation).
Synchronous Serial Port Transmit Data 2—serial data driven out synchronously with
the bit clock.
Synchronous Serial Port External Clock 2—this input may be used to supply an
external bit clock or an external enable request for the internally generated bit clock.
Synchronous Serial Port 2 System Clock—When enabled, provides a reference clock
at four times the Port 2 bit clock.
Synchronous Serial Port Clock 3—the serial bit clock may be configured as an output
(master mode operation) or an input (slave mode operation).
Synchronous Serial Port Frame 3—the serial frame sync may be configured as an
output (master mode operation) or an input (slave mode operation).
Synchronous Serial Port Transmit Data 3—serial data driven out synchronously with
the bit clock
Synchronous Serial Port Clock 4—the serial bit clock may be configured as an output
(master mode operation) or an input (slave mode operation).
Synchronous Serial Port Frame 4—the serial frame sync may be configured as an
output (master mode operation) or an input (slave mode operation).
Synchronous Serial Port Transmit Data 4—serial data driven out synchronously with
the bit clock
USB Full Speed Host Port 3 RCV—receive data signal which connects to an external
transceiver or the transceiver interface of a USB client controller as defined by the CFG
bits in the USB Port 3 Output Control register (UP3OCR).
USB Full Speed Host Port 3 OE—output enable signal which connects to an external
transceiver or the transceiver interface of a USB client controller as defined by the CFG
bits in the USB Port 3 Output Control register (UP3OCR).
USB Full Speed Host Port 3 RXD– —receive data (-) signal which connects to an
external transceiver or the transceiver interface of a USB client controller as defined by
the CFG bits in the USB Port 3 Output Control register (UP3OCR).
USB Full Speed Host Port 3 TXD– —transmit data (-) signal which connects to an
external transceiver or the transceiver interface of a USB client controller as defined by
the CFG bits in the USB Port 3 Output Control register (UP3OCR).
USB Full Speed Host Port 3 RXD+ —receive data (+) signal which connects to an
external transceiver or the transceiver interface of a USB client controller as defined by
the CFG bits in the USB Port 3 Output Control register (UP3OCR).
USB Full Speed Host Port 3 TXD+ —transmit data (+) signal which connects to an
external transceiver or the transceiver interface of a USB client controller as defined by
the CFG bits in the USB Port 3 Output Control register (UP3OCR).
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
USB Full Speed Single-Ended Signals - Port 2 Host/Client and OTG
USB Full Speed Host/Client and OTG Port 2 RCV/INT/SRP—This signal is the receive
USB_P2_1Bidirectional
USB_P2_2Bidirectional
USB_P2_3Bidirectional
data from an external USB transceiver for Port 2. When configured for an external OTG
transceiver this signal is an interrupt input. When configured for an external OTG power
controller and the internal transceiver, this signal is the SRP detect input.
USB Full Speed Host/Client and OTG Port 2 OE/Valid—This signal connects to the
OE signal of an external USB transceiver for USB Port 2. This signal connects to the
session valid output of an external OTG power controller.
USB Full Speed Host/Client and OTG Port 2 RXD-/SV—This signal is the receive
negative data line from an external USB transceiver for Port 2. For an external OTG
power controller, this signal is the session valid status input.
USBHPWRInput
USBHPENOutputUSB Full Speed Host Port 1 Power Control—controls power to the USB host Port 1
USBHPEN2Output
transmit negative data line to an external USB transceiver for Port 2. For an external
OTG transceiver, this signal is the SE0_VM bidirectional data line. For an external OTG
power controller this signal is the SRP enable control output.
USB Full Speed Host/Client and OTG Port 2 RXD+/DAT_VP/VALID40—This signal is
the receive positive data line from an external USB transceiver for Port 2. For an external
OTG transceiver, this signal is the DAT_VP bidirectional data line. For an external OTG
power controller this signal is the 4.0V Vbus valid status input.
USB Full Speed Host/Client and OTG Port 2 TXD+ —This signal is the positive
transmit data line for an external USB Transceiver for port 2.
USB Full Speed Host/Client and OTG Port 2 Speed/OTGID—Speed select signal for
USB Port 2 when configured for an external USB transceiver. Provides the OTG ID
configuration using the internal transceiver.
USB Full Speed Host/Client and OTG Port 2 Suspend—Suspend enable for USB Port
2 when configured for an external USB OTG transceiver.
USB Full Speed Client and OTG Port 2 Positive Line—this differential signal connects
to the USB client interface. This signal is routed to the pin named USBOTG_P . See note
3.
USB Full Speed Client and OTG Por t 2 Negative Line—this differential signal
connects to the USB client interface. This signal is routed to the pin named USBOTG_N.
See note 4.
USB Full Speed Host/Client and OTG Port 2 Positive Line—this differential signal
connects to the USB OTG interface for Port 2. This signal is routed to the pin named
USBOTG_P. See note 3.
USB Full Speed H ost/Client an d O TG Port 2 Negativ e Li ne—this differential signal
connects to the USB OTG interface for Port 2. This signal is routed to the pin named
USBOTG_N. See note 4.
USB Full Speed Host Positive Line— t his differential signal connects to the USB host
interface for host Port 1.
USB Full Speed Host Negative Line—this differential signal connects to the USB host
interface for host Port 1.
USB Full Speed Host Port 1 Power Indicator—over-current indicator from USB host
Port 1
USB Full Speed Host Port 2 Power Control—controls power to the USB host Port 2.
This signal is muxed with USB_P2_8 but depends on the value of UP2OCR[SEOS].
Refer to The Universal Serial Bus Client Controller chapter of Vol. IV: The Monahans Processor Developers Manual: Serial Controller Configuration for more information.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
USB 2.0 High-Speed Client UTMI Transceiver Interface Signals
IMPORTANT: The UMTI Interface Is Available on PXA300 processor Only
UTM_CLKInputUTMI Clock—connect to the clock output of an external UTMI transceiver.
U2D_DATA<7:0>BidirectionalUTMI Data Bus—connect to the data bus of an external UTMI transceiver.
UTMI Data Bus—These signals are used instead of U2D_DATA<7:0> when using
boundary scan.
UTMI Transceiver Select—connect to the external UTMI transceiver input that selects
high speed and full speed operating modes. The full speed transceiver should be
enabled when this signal is high.
UTMI Transceiver Select—This signal is used instead of U2D_XCVR_SELECT when
using boundary scan.
UTMI Termination Select—connect to the external UTMI transceiver input that selects
high speed and full speed termination modes. The full speed termination is enabled
when this signal is high.
UTMI Termination Select—This signal is used instead of U2D_TERM_SELECT when
using boundary scan.
UTMI Suspend—connect to the external UTMI transceiver input that goes low to place
the transceiver in a mode that draws minimal power from supplies while retaining the
capability for suspend/resume operation.
UTMI Line State—connect s to the single ended receiver status signals. They are
asynchronous until a usable CLK is available then they are synchronized to CLK. They
directly reflect the current state of the DP (LineState[0]) and DM (LineState[1]) signals:
D– D+ Description
0 0 SE0
0 1 'J' State
1 0 'K' State
1 1 SE1
UTMI Transmit Valid—T his signal is used instead of U2D_TXVALID when using
boundary scan.
UTMI Transmit Data Ready—If this signal is asserted, the controller will have data
available for clocking in to the TX Holding register on the rising edge of UTM_CLK.
UTMI Receive Active—Indicates that the receive state machine has detected SYNC
and is active.
UTMI Receive Error—connects to the transceiver error output. High indicates that a
receive error has been detected.
UTMI Operating Mode—these signals configure the transceiver operating modes:
OPMODE<1:0> Description
0 0 Normal Operation
0 1 Non-Driving
1 0 Disable Bit Stuffing and NRZI encoding
1 1 Reserved
UTMI Operating Mode—These signals are used instead of U2D_OPMODE<1:0> when
using boundary scan.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
USB 2.0 High-Speed Client UPLI Transceiver Interface Signals
IMPORTANT: The ULPI Interface Is Available On PXA310 Processor Only
T a ble 4-3. PXA300 Processors Signal Descriptions (Sheet 10 of 14)
Signal NameTypeSignal Descriptions
ULPI_CLKInputClock. This input from the PHY is used for clocking receive and transmit parallel data
ULPI_DATA<7:0>B i direction al8-bit data bus to the PHY
ULPI_STPOutput
ULPI_NXTInput
ULPI_DIRInput
ULPI_OTG_INTRInputInterrupt, used for for Serial Mode, Low-Power Mode, and Carkit Mode
Quick Capture Interface Signals
CIF_MCLKOutputQ uick Capture Interface Master Clock Signal
CIF_PCLKInputQuick Capture Interface Pixel Clock Signal
CIF_DD<9:0>I nputQuick Capture Interface Data Signals
CIF_VSYNCBidirectionalQuick Capture Interface Frame Synchronization Signal - vertical sync signal
CIF_HSYNCBidirectionalQuick Capture Interface Line Synchronization Signal - horizontal sync signal
The Link asserts ulpi_stp for one clock cycle to stop the data stream currently on the
bus. If the Link is sending data to the PHY, ULPI_STP indicates the last byte of data was
on the bus in the previous cycle.
The PHY asserts ULPI_NXT to throttle the data. When the Link is sending data to the
PHY, ULPI_NXT ind icates when the current byte has been accepted by the PHY. The
Link places the next byte on the data bus in the following clock cycle.
Controls the direction of the data bus. When the PHY has data to transfer to the Link, it
drives ULPI_DIR high to take ownership of the bus. When the PHY has no data to
transfer, it drives ULPI_DIR low and monitors the bus for commands from the Link. The
PHY will pull ULPI_DIR high whenever the interface cannot accept data from the Link,
such as during PLL startup.
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
T a ble 4-3. PXA300 Processors Signal Descriptions (Sheet 11 of 14)
Signal NameTypeSignal Descriptions
General-Purpose I/O Signals
General-Purpose I/O signals—these software managed logical I/O channels support
GPIO<127:0>Bidirectional
GPIO0_2 to GPIO6_2 Bidirectional
GPIO0_2 to GPIO6_2
Need for MHLV
Bidirectional
interrupt generation with rising and/or falling edge detection. GPIO channels may be
mapped to multiple package balls, but not all balls support a GPIO alternate function
option. GPIO56 and GPIO59-62 are not available.
Alternate General-Purpose I/O signals—these signals duplicate GPIO alternate
function options on additional pins. If one of these functions is selected with the primary
function also selected on another pin, then the GPIO channel is connected to both.
When the GPIO channel is an output it is driven on both pins. When the GPIO is an input
(the default at reset), then the two inputs are OR’ed and driven to the GPIO input
channel.
Alternate General-Purpose I/O signals—these signals duplicate GPIO alternate
function options on additional pins. If one of these functions is selected with the primary
function also selected on another pin, then the GPIO channel is connected to both.
When the GPIO channel is an output it is driven on both pins. When the GPIO is an input
(the default at reset), then the two inputs are OR’ed and driven to the GPIO input
channel.
Crystal and Clock Signals
PXTAL_INInput
PXTAL_OUTAnalog
TXTAL_INInput
TXTAL_OUTAnalog
HZ_CLKOutputReal-Time 1-Hz Clock—real-time 1 Hz clock (after RTC trim adjustment)
Processor Crystal Input—can be connected to an external 13 MHz crystal or to an
external clock source.
Processor Crystal Output—can be connected to an external 13 MHz crystal or to an
external clock source (which must be complementary to PXTAL_IN or floated).
Timekeeping Crystal Input—clock input that is distributed to the timekeeping control
system (32.768 kHz crystal or external clock source).
Timekeeping Crystal Output—can be connected to an external 32.768-kHz crystal or
to an external clock source (which must be complementary to TXTAL_IN or floated).
Timekeeping Clock Output—The CLK_TOUT signal is an output that drives a buffered
version of the TXTAL_IN oscillator input when the TOUT_EN bit of the OSCC register is
set. When enabled, this clock is output in S2/D3 mode, but it is always disabled in S3/D4
mode.
13-MHz Clock Output—The CLK_POUT signal is an output that drives a buffered
version of the PXTAL_IN oscillator input when the POUT_EN bit of the OSCC register is
set. When enabled, this clock is output in S0/D0, D0CS, S0/D1 and S0/D2 states. All
other states CLK_POUT is disabled.
13-MHz Clock Request—VCTCXO_EN is an active high output indicating when the
processor 13 MHz clock signal is required on PXTAL_IN.
External network Clock—this input accepts an external network clock, up to 13 MHz,
that may be selected as the timing reference for the SSP ports and the OS timer
channels.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
EXT_SYNC1InputExternal Sync 1—this input provides a reset for any timer channels enabled to use it.
EXT_SYNC0InputExternal Sync 0—this input provides a reset for any timer channels enabled to use it.
CHOUT1OutputTimer Channel Output 1—periodic clock output from timer channel 11
PWR_OUTAnalog
EXT_WAKEUP<1:0>InputExternal Wakeup 1 and 0—Wake up signals.
ONE_WIREBidirectionalOne Wire—one wire smart battery interface data signal, DQ.
Power Enable for Core Power Supply—this output, when negated, signals the power
supply to remove power from the low-voltage supplies because the system is entering
S2/D3/C4 or S3/D4/C4 mode.
System Enable for System Peripheral Power Supply—this output, when negated,
signals the power supply to remove power from the high-voltage supplies because the
system is entering S3/D4/C4 mode.
Main Battery Fault—this input signals that the main battery is low or removed.
Assertion causes the PXA300 processor and the PXA310 processor
mode or, if PMCR[BIDAE] is set, force an imprecise data abort, which cannot be
masked. The PXA300 processor and the PXA310 processor
wake-up event while this signal is asserted.
Reset—this active-low, level-sensitive input is used to start the processor from the reset
vector at address 0. Assertion causes the current instruction to terminate abnormally
and causes a reset. When nRESET is driven high, the processor starts execution from
address 0. nRESET must remain low until the power supply is stable and the internal
13 MHz oscillator has stabilized.
GPIO Reset—this active-low, level-sensitive input is used to start the processor from the
reset vector at address 0 while preserving the contents of memory controller registers.
Assertion causes the current instruction to terminate abnormally and causes a reset.
When nRESET is driven high, the processor starts execution from address 0. nRESET
must remain low until the power supply is stable and the internal 13 MHz oscillator has
stabilized.
Reset Out—an active-low output that signals the system that the MPMU is in any reset
state (configurable for S2, S3 and for GPIO reset).
Power Manager I2C Clock—the power manager I2C clock signal that connects to an
2
external power controller
Power Manager I2C Data—the power manager I2C data signal that connects to an
2
external power controller
Power Capacitor<1:0>—must be connected to external capacitors, which are used to
achieve very low power in S2/D3/C4 mode.
Internal Reg ul a to r Ou t—must be decoupled with an external capacitor as shown in the
Monahans L Processor Design Guide. (Also known as VCC_OSC_MVT)
to enter S2/D3/C4
does not recognize a
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
JTAG and Test Signals
nTRSTInputJTAG Test Reset—IEEE 1194.1 test reset.
TDIInput
TDOOutput
TMSInput
TCKInputJTAG Test Clock—for all transfers on the JTAG test interface.
JTAG Test Data Input—data from the external JTAG controller is sent to the PXA300
processor and the PXA310 processor
resistor.
JTAG Test Data Output—data from the PXA300 processor and the PXA310 processor
is returned to the external JTAG controller using this signal.
JTAG Test Mode Select—selects the test mode required from the external JTAG
controller. This pin has an internal pullup resistor.
using this signal. This pin has an internal pullup
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
T a ble 4-3. PXA300 Processors Signal Descriptions (Sheet 13 of 14)
Signal NameTypeSignal Descriptions
TESTInputTest Mode—reserved for manufacturing test. Must be grounded for normal operation.
TESTCLKInputTest Clock—reserved for manufacturing test. Must be grounded for normal operation.
Power Supplies
NOTE: Voltages provided in this section are nominal and for reference only. Refer to the PXA300 Processor and PXA310
VCC_BBATTPower
VSS_BBATTPowerGround for Backup Battery Supply—connect to the backup battery ground reference.
VCC_APPSPower
VCC_SRAMPower
VCC_MVTPower
VCC_OSC13MPower
VSS_OSC13MPo w e r
VCC_BGPower
VSS_BGPower
VSSPowerGround Reference for All Non-I/O Digital Suppli e s
VCC_PLLPower
VSS_PLLPowerGround for PLL—must be connected to the common ground plane on the PCB.
1. Positive supply for all CMOS I/O except the EMPI and data flash interfaces, USB differential transceiver pins, touchscreen
pins, card interface pins, LCD pins, Intel
2. These PWR I
3. The signals USBH2_P and USBC_P are muxed onto the same pin, USBOTG_P. Which signal is routed to USBOTG_P is
determined by the configuration of UP2OCR[HXS]. Refer to The Universal Serial Bus Client Controller chapter of the Vol. IV: PXA300 Processor Serial Controller Configuration for more information.
4. The signals USBH2_N and USBC_N are muxed onto the same pin, USBOTG_N. Which signal is routed to USBOTG_N is
determined by the configuration of UP2OCR[HXS]. Refer to The Universal Serial Bus Client Controller chapter of Vol. IV: PXA300 Processor Serial Controller Configuration for more information.
Power
2
C signals are intended as outputs to power controllers; they may not be used generically.
Ground forULPI power domain — must be connected to the ground reference for the
VCC_ULPI supply
Positive Supply for Card Interface #1—must be connected to an external 1.8 V or 3.3
V power supply for pins on the CARD1 power domain.
Ground for Card Interface #1—must be connected to the ground reference for the
VCC_CARD1 supply.
Positive Supply for Card Interface #2—must be connected to an external 1.8 V or 3.3
V power supply for pins on the CARD2 power domain.
Ground for Card Interface #2—m ust be connected to the ground reference for the
VCC_CARD2 supply.
Positive supply for Data Flash Interface—must be connected to an external 1.8
V, 3.0 V, or 3.3 V power supply.
Ground for Data Flash Interface—must be connected to the ground reference for the
VCC_DF supply.
Positive supply for Mobile Scalable Link—must be connected to an external 1.8
V, 3.0V, or 3.3 V power supply.
2.5
Ground for Mobile Scala ble Link—must be connected to the ground reference for the
VCC_MSL supply.
Digital I/O Supply—must be connected to the common 1.8 V, 3.0 V or 3.3 V I/O
1
supply.
Digital I/O Supply—must be connected to the common 1.8 V, 3.0 V or 3.3 V I/O
1
supply.
Ground for Primary Digi tal I/O Supply—must be connected to the ground reference
for the VCC_IO supply.
Positive Supply for EMPI—must be connected to an external 1.8
V power supply for the external memory interface.
Ground for EMPI—must be connected to the ground reference for the regulator
providing the VCC_MEM supply.
®
Quick Capture Interface pins, and Intel
®
MSL pins.
V, 2.5
V,
V, 2.5V, 3.0V, or 3.3
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
4.6Pin Control Unit Overview
The basic operation of each multi-function pin is controlled by a register. Each register controls a single
multi-function pin. To program multiple pins (for example to select all the pins for a multi- pin function such as a
UART), several registers need to be programmed in series. Each register operation can occur in a slightly
PXA300 Processor and PXA310 Processor
Vol. I: System and Timer Configuration Developers Manual
unpredictable order, non-obvious re-ordering of completion being possible. A completion can be checked only
by performing a read operation. Software should not assume that pins are programmed in exactly the order of
issue.
Each register is assumed to be 32 bits wide and with word-aligned access.
Each multi-function pin has a physical address in the overall processor-address map.
A single multi-function pin can have up to eight alternate functions and a low-power mode (during D1, D2, and
D3 states) value.
A multi-function pin always acts as an input (although the value may be ignored), which means that as long as
power is applied to the multi-function pin it must have a good logic value present on the board. This output can,
of course, be sourced from an external device or via the device driving itself.
A multi-function pin can be programmed to take one of five outputs values: resistive pullup (nominal 100K),
resistive pulldown (nominal 100K), driven high, driven low or high-impedance. Use three-state carefully to
ensure that no floating node remains on the board at any time. These states can be used to form multiple output
types (for example open collector, three-state drive etc.).
Note: The mechanism differs considerably from previo us versions of this funct ion (for exam ple, on the
Marvell PXA270 processor) where a control was provided to ignore the input of the pad (the
RDH control).
4.6.1Checking for Completion of a Multi-Function Pin
Operation
A significant amount of queueing of operations is possible between software and the actual write of the
multi-function register. It is important that the software be programmed to detect when the last operation has
completed and taken effect. This detection is performed by a read operation to the address of the last operation
that was performed. No further pad- ring operati on can be perfo rmed unt il that read respon se has return ed (which
may be a significant amount of time). The return ed data is meaningless and undefined.
A write access to a register within the multi-function pin control region that does not exist is not aborted and
simply occurs with no effect. A read access to such a register proceeds in an identical manner to an access to an
existing register; however, the data returned is unpredictable.
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
4.6.3Pin Control Unit Address Map
The address region for the multi-function pins is 0x40E1 0000–0x40E1 FFFF. Each location accessed is 32 bits
in size and is 32-bit-aligned in memory. Accesses to other sizes and alignments in this region are not permitted
and are undefined in effect.
MARVELL CONFIDENTIAL - UNAUTHORIZED DISTRIBUTION OR USE STRICTLY PROHIBITED
MARVELL CONFIDENTIAL, UNDER NDA# 12101050
Doc. No. MV-TBD-00 Rev. A
Page 100 Document Classification: Proprietary InformationDecem ber 13, 2006, Preliminary