MPC5200B User s Manual

MPC5200B User’s Manual
MPC5200BUM
Rev. 3
5/2010
How to Reach Us:
Home Page:
www.freescale.com
Web Support:
http://www.freescale.com/support
USA/Europe or Locations Not Listed:
Freescale Semiconductor, Inc.
Technical Information Center, EL516
2100 East Elliot Road
Tempe, Arizona 85284
1-800-521-6274 or +1-480-768-2130
www.freescale.com/support
Europe, Middle East, and Africa:
Freescale Halbleiter Deutschland GmbH
Technical Information Center
Schatzbogen 7
81829 Muenchen, Germany
+44 1296 380 456 (English)
+46 8 52200080 (English)
+49 89 92103 559 (German)
+33 1 69 35 48 48 (French)
www.freescale.com/support
Japan:
Freescale Semiconductor Japan Ltd. Headquarters
ARCO Tower 15F
1-8-1, Shimo-Meguro, Meguro-ku,
Tokyo 153-0064
Japan
0120 191014 or +81 3 5437 9125
[email protected]
Asia/Pacific:
Freescale Semiconductor China Ltd.
Exchange Building 23F
No. 118 Jianguo Road
Chaoyang District
Beijing 100022
China
+86 10 5879 8000
[email protected]
Freescale Semiconductor Literature Distribution Center
1-800-441-2447 or +1-303-675-2140
Fax: +1-303-675-2150
[email protected]
Information in this document is provided solely to enable system and
software implementers to use Freescale Semiconductor products. There are
no express or implied copyright licenses granted hereunder to design or
fabricate any integrated circuits or integrated circuits based on the
information in this document.
Freescale Semiconductor reserves the right to make changes without further
notice to any products herein. Freescale Semiconductor makes no warranty,
representation or guarantee regarding the suitability of its products for any
particular purpose, nor does Freescale Semiconductor assume any liability
arising out of the application or use of any product or circuit, and specifically
disclaims any and all liability, including without limitation consequential or
incidental damages. “Typical” parameters that may be provided in Freescale
Semiconductor data sheets and/or specifications can and do vary in different
applications and actual performance may vary over time. All operating
parameters, including “Typicals”, must be validated for each customer
application by customer’s technical experts. Freescale Semiconductor does
not convey any license under its patent rights nor the rights of others.
Freescale Semiconductor products are not designed, intended, or authorized
for use as components in systems intended for surgical implant into the body,
or other applications intended to support or sustain life, or for any other
application in which the failure of the Freescale Semiconductor product could
create a situation where personal injury or death may occur. Should Buyer
purchase or use Freescale Semiconductor products for any such unintended
or unauthorized application, Buyer shall indemnify and hold Freescale
Semiconductor and its officers, employees, subsidiaries, affiliates, and
distributors harmless against all claims, costs, damages, and expenses, and
reasonable attorney fees arising out of, directly or indirectly, any claim of
personal injury or death associated with such unintended or unauthorized
use, even if such claim alleges that Freescale Semiconductor was negligent
regarding the design or manufacture of the part.
Freescale™ and the Freescale logo are trademarks of Freescale
Semiconductor, Inc. The PowerPC name is a trademark of IBM Corp. and is
used under license. All other product or service names are the property of their
respective owners.
The Power Architecture and Power.org word marks and the Power and
Power.org logos and related marks are trademarks and service marks licensed
by Power.org.
© Freescale Semiconductor, Inc. 2008—2010. All rights reserved.
RoHS-compliant and/or Pb-free versions of Freescale products have the
functionality and electrical characteristics as their non-RoHS-compliant and/or
non-Pb-free counterparts. For further information, see
http://www.freescale.com or contact your Freescale sales representative.
For information on Freescale’s Environmental Products program, go to
http://www.freescale.com/epp.
MPC5200BUM
Rev. 3
5/2010
Table of Contents
Chapter 1
Introduction
1.1
1.2
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1.2.1 Embedded e300 Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
1.2.2 BestComm I/O Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
1.2.3 Controller Area Network (CAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
1.2.4 Byte Data Link Controller - Digital BDLC-D . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
1.2.5 System Level Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
1.2.6 SDRAM Controller and Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
1.2.7 Multi-Function External LocalPlus Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
1.2.8 Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
1.2.9 Systems Debug and Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
1.2.10 Physical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
Chapter 2
Signal Descriptions
2.1
2.2
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Pinout Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Chapter 3
Memory Map
3.1
3.2
3.3
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Internal Register Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MPC5200B Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 MPC5200B Internal Register Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 External Busses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3 Memory Map Space Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-1
3-2
3-3
3-3
3-4
3-6
Chapter 4
Resets and Reset Configuration
4.1
4.2
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
Hard and Soft Reset Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.2.1 Power-On Reset—PORRESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Freescale Semiconductor
Table of Contents-iii
4.3
4.4
4.5
4.6
4.2.2 Hard Reset—HRESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3 Soft Reset—SRESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reset Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reset Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reset Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-2
4-2
4-3
4-4
4-5
4-5
Chapter 5
Clocks and Power Management
5.1
5.2
5.3
5.4
5.5
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Clock Distribution Module (CDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
MPC5200B Clock Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.3.1 MPC5200B Top Level Clock Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
5.3.2 e300 Core Clock Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
5.3.3 Processor Bus (XLB) Clock Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
5.3.4 SDRAM Memory Controller Clock Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
5.3.5 IPB Clock Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
5.3.6 PCI Clock Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
5.4.1 Full-Power Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
5.4.2 Power Conservation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
5.4.3 e300 Core Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
5.4.4 Deep-Sleep Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
CDM Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
5.5.1 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Chapter 6
e300 Processor Core
6.1
6.2
6.3
6.4
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MPC5200B e300 Processor Core Functional Overview . . . . . . . . . . . . . . . . . . . . . . . .
e300 Core Reference Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Not Supported e300 Core Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.1 Not Supported Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.2 Not Supported XLB Parity Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-1
6-1
6-2
6-3
6-3
6-3
Chapter 7
System Integration Unit (SIU)
7.1
7.2
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupt Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1 Block Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.2 Interface Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents-iv
7-1
7-1
7-1
7-4
Freescale Semiconductor
7.3
7.4
7.5
7.6
7.2.3 Programming Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
7.2.4 Interrupt Controller Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
General Purpose I/O (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-25
7.3.1 GPIO Pin Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-28
7.3.2 GPIO Programmer’s Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-32
General Purpose Timers (GPT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-65
7.4.1 Timer Configuration Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-65
7.4.2 Mode Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-65
7.4.3 Programming Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-66
7.4.4 GPT Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-66
Slice Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-73
7.5.1 SLT Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-73
Real-Time Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-77
7.6.1 Real-Time Clock Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-78
7.6.2 Programming Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-78
7.6.3 RTC Interface Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-79
Chapter 8
SDRAM Memory Controller
8.1
8.2
8.3
8.4
8.5
8.6
8.7
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Terminology and Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
8.2.1 “Endian”-ness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
8.3.1 Devices Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17
8.4.1 External Signals (SDRAM Side) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17
8.4.2 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18
8.4.3 Transfer Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19
8.4.4 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24
8.5.1 Power-Up Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24
8.5.2 Read Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25
Programming the SDRAM Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25
8.6.1 Memory Controller Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26
Address Bus Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-36
8.7.1 Example—Physical Address Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-38
Chapter 9
LocalPlus Bus (External Bus Interface)
9.1
9.2
9.3
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
Freescale Semiconductor
Table of Contents-v
9.4
9.5
9.6
9.7
9.3.1 External Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
9.3.2 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
9.4.1 Non-MUXed Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
9.4.2 MUXed Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
9.5.1 Boot Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
9.5.2 Chip Selects Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14
9.5.3 Reset Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15
DMA (BestComm) Interface (SCLPC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-16
Programmer’s Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-16
9.7.1 Chip Select/LPC Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-16
9.7.2 SCLPC Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-27
9.7.3 SCLPC FIFO Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33
Chapter 10
PCI Controller
10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
10.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
10.1.2 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3
10.2 PCI External Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
10.2.1 PCI_AD[31:0] — Address/Data Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
10.2.2 PCI_CBE[3:0] — Command/Byte Enables . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
10.2.3 PCI_DEVSEL — Device Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
10.2.4 PCI_FRAME — Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
10.2.5 PCI_IDSEL — Initialization Device Select . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
10.2.6 PCI_IRDY — Initiator Ready . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
10.2.7 PCI_CLK — PCI Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
10.2.8 PCI_PERR — Parity Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
10.2.9 PCI_RST — Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
10.2.10PCI_SERR — System Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
10.2.11PCI_STOP — Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
10.2.12PCI_TRDY — Target Ready . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
10.3 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6
10.3.1 PCI Controller Type 0 Configuration Space . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9
10.3.2 General Control/Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18
10.3.3 Communication Sub-System Interface Registers . . . . . . . . . . . . . . . . . . . . . 10-30
10.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-56
10.4.1 PCI Bus Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-56
10.4.2 Initiator Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-64
10.4.3 Configuration Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-65
10.4.4 XL bus Initiator Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-65
10.4.5 XL bus Target Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-73
10.4.6 Communication Sub-System Initiator Interface . . . . . . . . . . . . . . . . . . . . . . 10-76
Table of Contents-vi
Freescale Semiconductor
10.4.7 PCI - Supported Clock Ratios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.4.8 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.5 PCI Arbiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.6 Application Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.6.1 XL bus Initiated Transaction Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.6.2 Address Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.6.3 XL bus Arbitration Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10-80
10-80
10-80
10-81
10-81
10-82
10-85
Chapter 11
ATA Controller
11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
11.2 BestComm Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
11.2.1 BestComm Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
11.2.2 BestComm Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
11.3 ATA Register Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
11.3.1 ATA Host Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
11.3.2 ATA FIFO Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-14
11.3.3 ATA Drive Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-19
11.4 ATA Host Controller Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-31
11.4.1 PIO State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-32
11.4.2 DMA State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-33
11.5 Signals and Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-34
11.6 ATA Interface Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-36
11.7 ATA Bus Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-38
11.7.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-38
11.7.2 ATA Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-39
11.7.3 ATA Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-39
11.7.4 ATA Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-42
11.8 ATA RESET/Power-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-51
11.8.1 Hardware Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-51
11.8.2 Software Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-51
11.9 ATA I/O Cable Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-52
Chapter 12
Universal Serial Bus (USB)
12.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2 Data Transfer Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.3 Host Controller Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.3.1 Communication Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.3.2 Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.4 Host Control (HC) Operational Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.4.1 Programming Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Freescale Semiconductor
12-1
12-2
12-2
12-2
12-4
12-6
12-7
Table of Contents-vii
12.4.2 Control and Status Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-7
12.4.3 Memory Pointer Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-16
12.4.4 Frame Counter Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-21
12.4.5 Root Hub Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-27
Chapter 13
BestComm
13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
13.2 BestComm Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2
13.3 Features Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-3
13.4 Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-3
13.5 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4
13.6 Memory Map/ Register Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4
13.7 Task Table (Entry Table) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4
13.8 Task Descriptor Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4
13.9 Variable Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4
13.10Function Descriptor Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5
13.11Context Save Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5
13.12External DMA Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5
13.13External DMA Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5
13.14BestComm XLB Address Snooping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6
13.15BestComm DMA Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6
13.15.1Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6
13.16On-Chip SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-34
13.17Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-34
13.17.1Task Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-34
13.17.2Variable Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-36
Chapter 14
Fast Ethernet Controller (FEC)
14.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2.1 Full- and Half-Duplex Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2.2 10Mbps and 100Mbps MII Interface Operation . . . . . . . . . . . . . . . . . . . . . . .
14.2.3 10Mbps 7-Wire Interface Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2.4 Address Recognition Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2.5 Internal Loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.3 I/O Signal Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.3.1 Detailed Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.4 FEC Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.4.1 Control and Status (CSR) Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents-viii
14-1
14-3
14-3
14-3
14-3
14-4
14-4
14-4
14-4
14-5
14-8
14-9
Freescale Semiconductor
14.4.2 MIB Block Counters Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.4.3 FEC Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.4.4 FIFO Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5 Initialization Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.1 Hardware Controlled Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.2 User Initialization (Prior to Asserting ETHER_EN) . . . . . . . . . . . . . . . . . . . .
14.5.3 Frame Control/Status Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.4 Network Interface Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.5 FEC Frame Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.6 Ethernet Address Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.7 Full-Duplex Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.8 Inter-Packet Gap Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.9 Collision Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.10Internal and External Loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.5.11Ethernet Error-Handling Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14-10
14-13
14-36
14-46
14-46
14-47
14-48
14-50
14-51
14-51
14-56
14-57
14-57
14-58
14-58
Chapter 15
Programmable Serial Controller (PSC)
15.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
15.1.1 PSC Functions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-3
15.1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-4
15.2 Memory Map and Register Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5
15.2.1 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-6
15.2.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-7
15.3 PSC Operation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-52
15.3.1 PSC in UART Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-53
15.3.2 PSC in Codec Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-59
15.3.3 PSC in AC97 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-74
15.3.4 PSC in IrDA Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-80
15.4 PSC FIFO System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-88
15.4.1 RX FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-90
15.4.2 TX FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-91
15.4.3 Looping Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-92
15.4.4 Multidrop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-93
Chapter 16
XLB Arbiter
16.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1
16.1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1
16.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-4
16.2.1 XLB Arbiter Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-4
16.2.2 Arbiter Reserved Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-19
Freescale Semiconductor
Table of Contents-ix
Chapter 17
Serial Peripheral Interface (SPI)
17.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1
17.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
17.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
17.2 SPI Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
17.2.1 Master In/Slave Out (MISO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-3
17.2.2 Master Out/Slave In (MOSI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-3
17.2.3 Serial Clock (SCK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-3
17.2.4 Slave-Select (SS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-3
17.3 Memory Map and Register Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4
17.3.1 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4
17.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-11
17.4.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-11
17.4.2 Master Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-11
17.4.3 Slave Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-12
17.4.4 Transmission Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-13
17.4.5 SPI Baud Rate Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-17
17.4.6 Special Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-17
17.4.7 Error Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-19
17.4.8 Low Power Mode Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-20
17.4.9 SPI Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-21
Chapter 18
Inter-Integrated Circuit (I 2 C)
18.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1
18.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2
2C Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-3
18.2 I
18.2.1 START Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-3
18.2.2 STOP Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-3
18.3 Memory Map and Register Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-7
18.3.1 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-7
18.4 Initialization Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-24
18.5 Transfer Initiation and Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-24
18.5.1 Post-Transfer Software Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-24
18.5.2 Slave Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-25
18.5.3 Special Note on AKF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-25
Table of Contents-x
Freescale Semiconductor
Chapter 19
Controller Area Network (MSCAN)
19.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1
19.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-2
19.3 External Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3
19.3.1 RXCAN — CAN Receiver Input Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3
19.3.2 TXCAN — CAN Transmitter Output Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3
19.4 CAN System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3
19.5 Memory Map / Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-4
19.5.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-4
19.5.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-6
19.6 Programmer’s Model of Message Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-25
19.6.1 Identifier Registers (IDR0–IDR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-27
19.6.2 Data Segment Registers (DSR0–DSR7) . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-28
19.7 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-30
19.7.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-30
19.7.2 Message Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-31
19.7.3 Identifier Acceptance Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-34
19.7.4 Protocol Violation Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-38
19.7.5 Clock System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-38
19.7.6 Timer Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-40
19.7.7 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-41
19.7.8 Low Power Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-41
19.7.9 Description of Interrupt Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-45
19.7.10Interrupt Acknowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-46
19.7.11Recovery from STOP or WAIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-46
Chapter 20
Byte Data Link Controller (BDLC)
20.1
20.2
20.3
20.4
20.5
20.6
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1
Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-2
Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-6
Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-7
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-7
20.6.1 Detailed Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-7
20.7 Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-7
20.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-7
20.7.2 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-7
20.7.3 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8
20.8 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-23
20.8.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-23
Freescale Semiconductor
Table of Contents-xi
20.8.2 Mux Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.8.3 Protocol Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.8.4 Transmitting A Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.8.5 Receiving A Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.8.6 Transmitting An In-Frame Response (IFR) . . . . . . . . . . . . . . . . . . . . . . . . .
20.8.7 Receiving An In-Frame Response (IFR) . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.8.8 Special BDLC Module Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.8.9 BDLC Module Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.9 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.9.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20-36
20-38
20-40
20-44
20-48
20-57
20-59
20-60
20-64
20-64
Chapter 21
Debug Support and JTAG Interface
21.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-1
21.2 TAP Link Module (TLM) and Slave TAP Implementation . . . . . . . . . . . . . . . . . . . . . . . 21-1
21.3 TLM and TAP Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-5
21.3.1 Test Reset (TRST) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-5
21.3.2 Test Clock (TCK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-5
21.3.3 Test Mode Select (TMS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
21.3.4 Test Data In (TDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
21.3.5 Test Data Out (TDO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
21.4 Slave Test Reset (STRST) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
21.4.1 Enable Slave—ENA[0:n] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
21.4.2 Select DR Link—SEL[0:n] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
21.4.3 Slave Test Data Out—STDO[0:n] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7
21.5 TAP State Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7
21.6 e300 Core JTAG/COP Serial Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-8
21.7 TLM Link DR Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-9
21.7.1 TLM:TLMENA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-9
21.7.2 TLM:PPCENA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-9
21.8 TLM Test Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-9
21.8.1 IDCODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10
21.8.2 BYPASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10
21.8.3 SAMPLE/PRELOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10
21.8.4 EXTEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-11
21.8.5 CLAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-11
21.8.6 HIGHZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-11
21.9 e300 COP/BDM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-11
Table of Contents-xii
Freescale Semiconductor
Appendix A
Acronyms and Terms
Appendix B
Revision History
B.1 Changes Between Revisions 1.3 and 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
B.2 Changes Between Revisions 2 and 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Freescale Semiconductor
Table of Contents-xiii
Table of Contents-xiv
Freescale Semiconductor
Chapter 1
Introduction
1.1
Overview
The digital communication networking and consumer markets require significant processor performance
to enable operating systems and applications such as VxWorks™, QNX™, JAVA and soft modems. High
integration is essential to reducing device and systems costs. The MPC5200B is specifically designed to
meet these market needs while building on the family of microprocessors that use PowerPC™ architecture.
For more information on PowerPC architecture, see “The Programming Environments Manual for 32-bit
Implementations of the PowerPC Architecture”.
The MPC5200B integrates a high performance e300 core with a rich set of peripheral functions focused
on communications and systems integration. The e300 core design is based on the PowerPC™ core
architecture. The MPC5200B incorporates an innovative I/O subsystem, which isolates routine
maintenance of peripheral functions from the embedded e300 core.
The MPC5200B supports a dual external bus architecture. It has a high speed SDRAM Bus interface that
connects directly to the e300 core. In addition, the MPC5200B has a LocalPlus Bus used as a generalized
interface to system level peripheral devices and debug environments.
1.1.1
Features
Key features are shown below.
• e300 core
— Superscalar architecture
— 760MIPS at 400MHz (-40 to +85°C)
— 16k Instruction cache, 16k Data cache
— Double precision FPU
— Instruction and Data MMU
— Standard & Critical interrupt capability
• SDRAM / DDR Memory Interface
— up to 132MHz operation
— SDRAM and DDR SDRAM support
— 256-MByte addressing range per Chip Select (Two CS lines available)
— 32-bit data bus
— Built-in initialization and refresh
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
1-1
Introduction
•
•
•
•
•
•
•
•
•
•
•
Flexible multi-function External Bus Interface
— Supports interfacing to ROM/Flash/SRAM memories or other memory mapped devices
— 8 programmable Chip Selects
— Non multiplexed data access using 8/16/32 bit data bus with up to 26 bit address
— Short or Long Burst capable
— Multiplexed data access using 8/16/32 bit data bus with up to 25 bit address
Peripheral Component Interconnect (PCI) Controller
— Version 2.2 PCI compatibility
— PCI initiator and target operation
— 32-bit PCI Address/Data bus
— 33 and 66 MHz operation
— PCI arbitration function
ATA Controller
— Version 4 ATA compatible external interface—IDE Disk Drive connectivity
BestComm DMA subsystem
— Intelligent virtual DMA Controller
— Dedicated DMA channels to control peripheral reception and transmission
— Local memory (SRAM 16kBytes)
6 Programmable Serial Controllers (PSC), configurable for:
— UART or RS232 interface
— CODEC interface for Soft Modem, Master/Slave CODEC Mode, I2S and AC97
— Full duplex SPI mode
— IrDA mode from 2400 bps to 4 Mbps
Fast Ethernet Controller (FEC)
— Supports 100Mbps IEEE 802.3 MII, 10Mbps IEEE 802.3 MII, 10Mbps 7-wire interface
Universal Serial Bus Controller (USB)
— USB Revision 1.1 Host
— Open Host Controller Interface (OHCI)
— Integrated USB Hub, with two ports.
Two Inter-Integrated Circuit Interfaces (I2C)
Serial Peripheral Interface (SPI)
Dual CAN 2.0 A/B Controller (MSCAN)
— Motorola Scalable CAN (MSCAN) architecture
— Implementation of version 2.0A/B CAN protocol
— Standard and extended data frames
J1850 Byte Data Link Controller (BDLC)
— J1850 Class B data communication network interface compatible and ISO compatible for low
speed (<125kbps) serial data communications in automotive applications.
— Supports 4X mode, 41.6 kbps
— In-frame response (IFR) types 0, 1, 2, and 3 supported
MPC5200B User’s Manual, Rev. 3
1-2
Freescale Semiconductor
Introduction
•
•
•
•
1.2
Systems level features
— Interrupt Controller supports 4 external interrupt request lines and 47 internal interrupt sources
— GPIO/Timer functions
– Up to 56 total GPIO pins (depending on functional multiplexing selections) that support a
variety of interrupt/Wake Up capabilities.
– 8 GPIO pins with timer capability supporting input capture, output compare and pulse width
modulation (PWM) functions
— Real-time Clock with 1 second resolution
— Systems Protection (watch dog timer, bus monitor)
— Individual control of functional block clock sources
— Power management: Nap, Doze, Sleep, Deep Sleep modes
— Support of Wake Up from low power modes by different sources (GPIO, RTC, CAN)
Test/Debug features
— JTAG (IEEE 1149.1 test access port)
— Common On-Chip Processor (COP) debug port
On-board PLL and clock generation
Software
— QNX
— VXWorks
— Linux
— Software Modem capable
— JAVA
Architecture
The following areas comprise the MPC5200B system architecture:
• Embedded e300 Core
• BestComm I/O Subsystem
• Controller Area Network (CAN)
• Byte Data Link Controller - Digital BDLC-D
• System Level Interfaces
• SDRAM Controller and Interface
• Multi-Function External LocalPlus Bus
• Power Management
• Systems Debug and Test
• Physical Characteristics
A dynamically managed external pin multiplexing scheme minimizes overall pin count. The result is low
cost packaging and board assembly costs.
Figure 1-1 shows a simplified MPC5200B block diagram.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
1-3
Introduction
1-4
SDRAM / DDR
Systems Interface Unit (SIU)
Real-Time Clock
SDRAM / DDR
Memory Controller
e300 Core
System Functions
InterruptController
GPIO/Timers
Reset / Clock
Generation
Local
Bus
BestComm DMA
JTAG / COP
Interface
SRAM 16K
MPC5200B User’s Manual, Rev. 3
LocalPlus Controller
PCI Bus Controller
ATA Host Controller
CommBus
MSCAN
2x
J1850
USB
2x
SPI
I2C
2x
Ethernet
PSC
6x
Freescale Semiconductor
Figure 1-1. Simplified Block Diagram—MPC5200B
Introduction
The MPC5200B supports a dual external bus architecture consisting of:
1. An SDRAM Bus
2. A multi-function LocalPlus Bus
The SDRAM Bus has a Memory Controller interface which supports standard SDRAM and Double Data
Rate (DDR) SDRAM devices. The Memory Controller has 13 Memory Address (MA) lines multiplexed
with 32 Data Bus lines. Standard SDRAM control signals are included.
The high-speed Memory Controller SDRAM interface connects directly to the microprocessor, allowing
optimized instruction and data bursting. The dedicated memory interface, coupled with on-chip
16 Kilobyte instruction and 16Kilobyte data caches, enables high performance for computer intensive
applications, such as Java and soft modems. Still, plenty of processing power remains for peripheral
management and system control tasks.
The LocalPlus Bus provides for connection of external peripheral devices, disk storage, and slower speed
memory. The LocalPlus Bus also supports an external Boot ROM/FLASH/SRAM interface.
The MPC5200B integrates a high performance e300 core with an I/O subsystem containing an intelligent
Direct Memory Access (DMA) unit, BestComm. The BestComm unit is capable of:
• Responding to peripheral interrupts, independent of the e300 core.
• Providing low level peripheral management, protocol processing, and peripheral data movement
functions.
The MPC5200B has an optimized peripheral mix to support today’s embedded automotive and telematics
requirements.
Figure 1-2 shows an MPC5200B-based system.
1.2.1
Embedded e300 Core
The MPC5200B embedded e300 core is derived from Freescale’s (formerly Motorola) MPC603e family
of Reduced Instruction Set Computer (RISC) microprocessors. The e300 core is a high-performance,
low-power implementation of the PowerPC superscalar architecture. The MPC5200B e300 core contains:
• 16 KBytes of instruction cache
• 16 KBytes of data cache
Caches are 4-way set associative and use the Least Recently Used (LRU) replacement algorithm.
Four independent execution units are used:
1. Branch Processing Unit (BPU)
2. Integer Unit (IU)
3. Load/Store Unit (LSU)
4. System Register Unit (SRU)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
1-5
Introduction
SDRAM/DDR Controller
Demodulator
MPC5200
Audio
Memory
Controller
SIU
Transport &
Video Decoder/
Encoder
PCI Bus
Embedded
e300 Core
(MPC603e)
SDRAM
ATA Interface
SRAM Interface
Control
Video
SRAM
Graphics
SDRAM
DMA
Ethernet
IrDA Rx/Tx
I2C1
USB
ENET
PSC6
PSC5
PSC4
PSC3
PSC2
PSC1
Flash,
Boot ROM
IDE Disk
Interface
IC Control
Printer or I/O port
UART
UART
Codec
AC97
Debug Interface
Figure 1-2. MPC5200B-Based System
Up to 3 instructions can be issued and retired per clock. Most instructions execute in a single cycle. The
core contains an integrated Floating Point Unit (FPU), a Data Cache Memory Management Unit and an
Instruction Cache Memory Management Unit. The core implements the 32-bit portion of the PowerPC
architecture, which provides 32-bit effective addressing and integer data types of 8-, 16-, and 32-bits.
Enhancements in this core version, specific to embedded automotive/telematics include:
• Improved interrupt latency (critical interrupt)
• New MMU with additional 8 BAT (16 total) registers and 1KByte page management
MPC5200B User’s Manual, Rev. 3
1-6
Freescale Semiconductor
Introduction
The e300 core performance for SPEC95 benchmark integer operations, ranges between 4.4 and 5.1 at
200MHz. In Drystone 2.1MIPS, the e300 core is 280 MIPS at 200 MHz.
1.2.2
BestComm I/O Subsystem
BestComm contains an intelligent DMA unit. This unit provides a front-line interrupt control and data
movement interface via a separate peripheral bus to the on-chip peripheral functions. This leaves the e300
core free for higher level activities. The concurrent operation enables a significant boost in overall systems
performance.
BestComm supports up to 16 simultaneously enabled DMA tasks from up to 32 DMA requestors. Also
included is:
• A hardware logic unit
• A hardware CRC unit
BestComm uses internal buffers for prefetched reads and post writes. Bursting is used whenever possible.
This optimizes both internal and external bus activity.
1.2.2.1
Programmable Serial Controllers (PSCs)
The MPC5200B supports six PSCs. Each can be configured to operate in different modes. PSCs support
both synchronous and asynchronous protocols. They are used to interface to external full-function modems
or external CODECs for soft modem support. 8, 16, 24 and 32-bit data widths are supported. PSCs can be
configured to support 1200 baud POTS modem, SPI, I2S, V.34 or V.90 protocols. The standard UART
interface supports connection to an external terminal/computer for debug support.
1.2.2.2
10/100 Ethernet Controller
The Ethernet Controller supports the following standard MAC-PHY interfaces:
• 100 Mbps IEEE 802.3 MII
• 10 Mbps IEEE 802.3 MII
• 10 Mbps 7-wire interface
The controller is full duplex, supports a programmable maximum frame length and retransmission from
the Tx FIFO following a collision.
1.2.2.3
Universal Serial Bus (USB)
The MPC5200B supports two USB channels. The USB Controller implements the USB Host
Controller/Root Hub in compliance with the USB1.1 specification. The user may choose to have either one
or two USB ports on the root hub, each of which can interface to an off-chip USB transceiver. The Host
Controller supports the Open Host Controller Interface (OHCI) standard.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
1-7
Introduction
1.2.2.4
Infrared Support
The MPC5200B supports the IrDA format. All three IrDA modes are supported (SIR, MIR, FIR) to
4.0 Mbps. The required 48 MHz clock can be generated internally or supplied externally on an input pin.
1.2.2.5
Inter-Integrated Circuit (I 2 C)
The MPC5200B supports two I2C channels. Both master and slave interfaces can be controlled directly by
the processor or can use the BestComm Controller to buffer Tx/Rx data when the I2C data rate is high.
1.2.2.6
Serial Peripheral Interface (SPI)
The SPI module allows full-duplex, synchronous, serial communication between the MPC5200B and
peripheral devices. It supports master and slave mode, double-buffered operation and can operate in a
polling or interrupt driven environment.
1.2.3
Controller Area Network (CAN)
The MPC5200B supports two CAN channels. The CAN is an asynchronous communications protocol used
in automotive and industrial control systems. It is a high speed, short distance, priority based protocol that
runs on a variety of mediums. For example, transmission media of fiber optic cable or unshielded twisted
wire pairs can be used.
MSCAN supports both standard and extended identifier (ID) message formats specified in BOSCH CAN
protocol specification, revision 2.0, part B. Each MSCAN module contains:
• 4 receive buffers (with FIFO storage scheme)
• 3 transmit buffers
• Flexible maskable identifier filters
1.2.4
Byte Data Link Controller - Digital BDLC-D
The MPC5200B supports J1850 Class B data communication network interface compatible and ISO
compatible for low speed (<125 kbps) serial data communications in automotive applications.
• Hardware cyclical redundancy check (CRC) generation and checking
• Two power saving modes with automatic wake up on network activity
• Polling and CPU interrupt available
• Block mode receive/transmit supported
• Supports 4X mode, 41.6 kbps
• In-frame response (IFR) types 0, 1, 2, and 3 supported
• Wake up on J1850 message
MPC5200B User’s Manual, Rev. 3
1-8
Freescale Semiconductor
Introduction
1.2.5
System Level Interfaces
System Level Interfaces are listed below and described in the sections that follow:
• Chip Selects
• Interrupt Controller
• Timers
• General Purpose Input/Outputs (GPIO)
• Functional Pin Multiplexing
• Real-Time Clock (RTC)
1.2.5.1
Chip Selects
The MPC5200B integrates the most common system integration interfaces and signals. There are 8 fully
programmable external chip selects, which are independent of the SDRAM interface. LP_CS0 has special
features to support a Boot ROM. Two of the chip selects may be used by the IDE disk drive interface, when
enabled.
1.2.5.2
Interrupt Controller
The Interrupt Controller has 4 external interrupt signals and manages both external and internal interrupts.
All interrupt levels and priorities are programmable.
The Interrupt Controller takes advantage of the new critical interrupt feature defined by the PowerPC
architecture. This allows e300 core interrupts outside operating system boundaries, for critical functions
such as real-time packet processing.
1.2.5.3
Timers
MPC5200B integrates several timer functions required by most embedded systems:
• Two internal Slice timers can create short-cycle periodic interrupts.
• A WatchDog timer can interrupt the processor if not regularly serviced, catching software
hang-ups.
A bus monitor monitors bus cycles and provides an interrupt if transactions take longer than a prescribed
time.
1.2.5.4
General Purpose Input/Outputs (GPIO)
A total of 56 pins on the MPC5200B can be programmed as GPIOs.
• 8 pins can interrupt the processor.
• 8 pins can support a “Wake Up” capability that brings the MPC5200B out of low power modes.
• 8 pins are “output only” GPIOs.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
1-9
Introduction
The remaining GPIO pins support a simple “set the output level” or “detect the input level” type GPIO
function. Eight I/Os can be connected to one of eight general purpose timers to support input capture,
output compare or pulse width modulation functions.
The number of GPIOs available in the various modes depends on the peripheral functionality required. See
pin descriptions and I/O port maps below for more information.
1.2.5.5
Functional Pin Multiplexing
Many serial/parallel port pins serve multiple functions, allowing flexibility in optimizing the system to
meet a specific set of integration requirements. For example, when PSC3 interfaces to a full function
external modem, 10 pins are required:
• PSC3_TXD—Transmit Data
• PSC3_RXD—Receive Data
• PSC3_RTS—Ready to Send
• PSC3_CTS—Clear to Send
• PSC3_CD—Carrier Detect
• MODEM_RI—Ring Indicator
• MODEM_DSR—Hook Switch
• MODEM_IO—Control I/O (A0 gain)
• MODEM_IO—Control I/O (Mode 1)
• MODEM_IO—Control I/O (Mode 2)
If PSC3 connects to a simple UART, only the first four signals (shown above) are required. The remaining
6 signals can be used as GPIOs.
If a 7-wire Ethernet connection is adequate, the additional 11 Ethernet I/Os can be used as GPIOs.
1.2.5.6
Real-Time Clock (RTC)
An RTC is included on the MPC5200B. The RTC provides a 2-pin interface to an external 32.768 kHz
crystal. This allows internal time-of-day/calendar tracking, as well as clock based periodic interrupts.
1.2.6
SDRAM Controller and Interface
The MPC5200B high speed SDRAM Controller supports both standard SDRAM and Double Data Rate
(DDR) SDRAM devices. It supports up to 256 MBytes per chip select (2 Chip Select lines available) with
a 32-bit interface. Memory sizes of 64 Mbit, 128 Mbit, 256 Mbit and 512 Mbit are supported.
1.2.7
Multi-Function External LocalPlus Bus
The MPC5200B supports a multi-function external LocalPlus Bus to allow connections to PCI and ATA
compliant devices, as well as external ROM/SRAM.
The MPC5200B integrates a 3.3 V, PCI V2.2 compatible external LocalPlus Bus controller and interface.
This bus is a 32-bit multiplexed address/data bus.
MPC5200B User’s Manual, Rev. 3
1-10
Freescale Semiconductor
Introduction
The external LocalPlus Bus provides support for an ATA disk drive interface. ATA control signals (chip
selects, write/read, etc.) are provided independent of the PCI control signals. This prevents bus contention.
However, the 32-bit data bus is shared. When The MPC5200B recognizes an external LocalPlus Bus
access meant for the ATA Controller, ATA control logic arbitrates for PCI interface control. The 32-bit
address/data bus function is transformed into 16bits of ATA data and 3bits of ATA address.
The external LocalPlus Bus also allows connection to external memory or peripheral devices that adhere
to a ROM or SRAM-like interface. These devices occupy a separate location in the memory map and have
independent control signals. When an internal access is decoded to fall in the SRAM/ROM memory space,
the 32-bit PCI address/data bus is transformed into either:
• 24bits of address and 8bits of data
• 16bits of address and 16bits of data.
The MPC5200B supports a reset configuration mode common on the family of processors that use the
PowerPC architecture. 16 bits of configuration information is driven and sampled during reset to establish
the initial processor configuration.
1.2.8
Power Management
The MPC5200B is processed in a low-power static CMOS technology. In addition, it supports the dynamic
power management modes available on the MPC52xx series processors using the e300 core. These modes
include:
• Nap
• Dose
• Sleep
• Deep sleep
In deep sleep, all internal clocks can be disabled, thus, reducing the power draw to CMOS leakage levels.
A Wake Up capability is supported by CAN, RTC, several GPIOs and the interrupt lines. Therefore, the
MPC5200B can be shut down to a low-power standby mode, then re-enabled by one of the Wake Up inputs
without resetting the MPC5200B.
1.2.9
Systems Debug and Test
The MPC5200B supports the Common On-chip Processor (COP) debug capability common on other
microprocessors that use the PowerPC architecture. The COP interface supports features such as:
• Memory down load
• Single step instruction execution
• Break/watch point capability
• Access to internal registers
• Pipeline tracking, etc.
The MPC5200B also supports a JTAG IEEE 1149.1 controller and test access port (TAP).
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
1-11
Introduction
1.2.10
•
•
•
Physical Characteristics
1.5 V internal, 3.3 V external operation (2.5 V for DDR interface)
TTL compatible I/O pins
272-pin Plastic Ball Grid Array (PBGA)
MPC5200B User’s Manual, Rev. 3
1-12
Freescale Semiconductor
Chapter 2
Signal Descriptions
2.1
Overview
The MPC5200B contains a e300 core, an internal DMA engine, BestComm, multiple functional blocks
and associated I/O ports. There are two external data/address bus structures, the LocalPlus bus and
SDRAM bus. A block diagram of the MPC5200B structure is shown in Figure 1-1.
In general, the LocalPlus bus connects to external SRAM, FLASH, peripheral devices, etc. The LocalPlus
bus is capable of executing standard memory cycles, PCI cycles and ATA cycles. In addition to the data
and address bus pins on the LocalPlus bus, there are pins specifically dedicated to ATA transactions, PCI
transactions and standard memory transactions. When the MPC5200B is released from reset, Chip Select 0
is the only active chip select. Program execution must always start from the “boot device” on the LocalPlus
bus. There are 8 chip select signals associated with the LocalPlus bus. It’s possible to execute from every
CS. Also every CS can address “data space”.
The SDRAM bus interfaces to Synchronous DRAM. Both Single Data Rate and Double Data Rate
DRAMs are supported. Executable programs are generally loaded into memory residing on the SDRAM
bus. The SDRAM bus has a 32-bit wide data/address bus structure and is capable of burst accesses. It is
possible to execute program code over the LocalPlus bus. However, the data transfer rate on the SDRAM
bus is many times faster than LocalPlus.
There are 16 peripheral functional blocks on the MPC5200B. These are General Purpose I/O, I2C,
TIMER, PSC1, PSC2, PSC3, PSC4, PSC5, PSC6, Ethernet, USB, MSCAN, SPI and J1850. Each of these
functional blocks are routed to one or more I/O ports through a system of multiplexers. A functional block
can only be routed to one I/O port at a time and in many cases, several functional blocks can be routed to
the same I/O port.
The I/O ports are Dedicated GPIO Group, I2C Group, Timer Group, PSC1 Group, PSC2 Group, PSC3
Group, PSC6 Group, Ethernet Group, and the USB Group.
Figure 2-3 through Figure 2-12 present detailed on the multiplexing options for each I/O port.
MPC5200B is packaged in a 272-pin Plastic Ball Gate Array (PBGA). Package ball locations are shown
in Figure 2-1. See Figure 2-2 for case diagram.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-1
Signal Descriptions
Y1 signal:
ext_ad_27
View Looking at Pins (Balls)
Y20 signal:
timer0
Y
W
V
U
T
R
P
N
M
L
K
J
H
G
F
E
D
C
B
A
A1 signal:
test_mode_1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
A20 signal:
mem_dqm_2
Notes:Table 2-1 and Table 2-2 give the signals on each pin/ball.
Figure 2-1. 272-Pin PBGA Pin Detail
Table 2-1 gives a list of MPC5200B I/O signals sorted by package ball name. Table 2-2 gives the same
list sorted by signal name.
Many signal pins can have multiple functions depending on internal register settings. These additional
functions are described in Table 2-3 through Table 2-31.
MPC5200B User’s Manual, Rev. 3
2-2
Freescale Semiconductor
Freescale Semiconductor
A01
A02
A03
A04
A05
A06
A07
A08
A09
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
TEST_MODE_1
JTAG_TDO
JTAG_TDI
JTAG_TMS
PSC3_8
PSC3_5
PSC3_2
PSC2_4
PSC2_2
PSC1_4
PSC1_1
PSC6_2
PORRESET
SRESET
SYS_XTAL_IN
MEM_MA_1
MEM_MBA_1
MEM_RAS
MEM_WE
MEM_DQM_2
B02
B03
B14
B15
B01
TEST_SEL_0
C01
TEST_MODE_0 JTAG_TRST
C02
C03
RTC_XTAL_OUT RTC_XTAL_IN TEST_SEL_1
B04
B05
B06
B07
B08
B09
B10
B11
B12
B13
JTAG_TCK
PSC3_7
PSC3_4
PSC3_1
PSC2_3
PSC2_1
PSC1_3
PSC1_0
PSC6_0
HRESET
C04
C05
C06
C07
C08
C09
C10
C11
C12
C13
PSC3_9
PSC3_6
PSC3_3
PSC3_0
CORE_PLL_AVDD
PSC2_0
PSC1_2
PSC6_1
GPIO_WKUP_7
PSC6_3
D11
D12
D13
D01
D02
D03
D04
D05
D06
D07
D08
D09
D10
TIMER_4
TIMER_3
TIMER_2
VSS
VDD_CORE
VDD_IO
VDD_CORE
LP_OE
VDD_IO
VDD_CORE
E01
E02
E03
E04
TIMER_7
TIMER_6
TIMER_5
VDD_IO
F01
F02
F03
F04
USB_7
USB_8
USB_9
VDD_IO
G01
G02
G03
G04
USB_3
USB_4
USB_5
USB_6
H01
H02
H03
H04
SYS_PLL_AVDD SYS_PLL_TPA
C14
C15
SYS_PLL_AVSS GPIO_WKUP_6
D14
D15
VDD_CORE VDD_MEM_IO VDD_MEM_IO SYS_XTAL_OUT VDD_MEM_IO
B16
B17
B18
B19
B20
MEM_MA_2
MEM_MA_10
MEM_CS_0
MEM_CAS
MEM_MA_4
C16
C17
C18
C19
C20
MEM_MA_3
MEM_MA_0
MEM_MBA_0
MEM_MA_5
MEM_MA_6
D17
D18
D16
VSS
VDD_MEM_IO MEM_MDQS_2
E17
Key for IO Balls:
<– Ball
A6
<– Signal Name
PSC3_5
F17
G17
H17
d
MPC5200B User’s Manual, Rev. 3
USB_1
USB_2
VDD_IO
J02
J03
J04
J09
J10
J11
J12
ETH_3
ETH_4
ETH_10
ETH_17
VSS
VSS
VSS
VSS
K01
K02
K03
K04
K09
K10
K11
K12
VSS
VSS
VSS
VSS
J17
K17
d
ETH_1
ETH_2
VDD_CORE
L02
L03
L04
L09
L10
L11
L12
L17
ETH_9
ETH_16
ETH_5
ETH_11
VSS
VSS
VSS
VSS
MEM_DQM_3
M01
M02
M03
M04
M09
M10
M11
M12
VSS
VSS
VSS
VSS
pl
M17
d
ETH_13
ETH_12
ETH_8
VDD_CORE
VDD_MEM_IO
N02
N03
N04
N17
ETH_7
ETH_6
ETH_15
ETH_14
P01
P02
P03
P04
P17
d
Core and IO VSS
VDD_CORE 1.5V Core VDD
VDD IO
3.3V IO VDD
VDD_MEM_IO Memory VDD
VSS
VDD_CORE
R02
R03
R04
EXT_AD_30
PCI_GNT
T01
T02
T03
T04
PCI_CLOCK
EXT_AD_26
EXT_AD_28
VDD_IO
E19
E20
MEM_MA_9
MEM_MA_11
F19
F20
MEM_MA_12
MEM_CLK_EN
G19
G20
MEM_CLK
MEM_CLK
H19
204
H20
206
MEM_DQM_1
MEM_MDQS_1
J19
J20
MEM_MDQ_8
MEM_MDQ_9
K19
194
K20
196
L18
M18
182
N18
P18
172
R18
MEM_MDQ_28 MEM_MDQ_29
T17
L20
M19
184
M20
186
MEM_MDQ_24 MEM_MDQ_14 MEM_MDQ_15
VDD_MEM_IO MEM_MDQ_27
R17
L19
MEM_MDQS_3 MEM_MDQ_12 MEM_MDQ_13
MEM_MDQ_25 MEM_MDQ_26
Key for PWR/GND Balls:
PCI_RESET
K18
193
D20
MEM_MA_8
VDD_MEM_IO MEM_MDQ_23 MEM_MDQ_10 MEM_MDQ_11
N01
IRQ3
J18
MEM_MDQ_22 MEM_MDQ_21
ETH_0
R01
H18
203
VDD_MEM_IO MEM_MDQ_20
L01
IRQ0
G18
MEM_MDQ_18 MEM_MDQ_19
USB_0
IRQ2
F18
VDD_MEM_IO MEM_MDQ_17
J01
IRQ1
E18
VDD_MEM_IO MEM_MDQ_16
D19
MEM_MA_7
T18
VDD_MEM_IO MEM_MDQ_30
N19
N20
MEM_DQM_0
MEM_MDQS_0
P19
174
P20
176
MEM_MDQ_7
MEM_MDQ_6
R19
R20
MEM_MDQ_5
MEM_MDQ_4
T19
T20
MEM_MDQ_3
MEM_MDQ_2
U02
U03
U04
U05
U06
U07
U08
U09
U10
U11
U12
U13
U14
U15
U16
U17
U18
U19
U20
PCI_IDSEL
EXT_AD_24
VSS
VDD_IO
VDD_IO
VDD_CORE
EXT_AD_15
VDD_IO
VDD_IO
EXT_AD_6
VDD_CORE
VDD_IO
LP_ACK
VDD_CORE
VDD_IO
VSS
MEM_MDQ_31
MEM_MDQ_1
MEM_MDQ_0
V03
V04
V05
V20
V01
V02
EXT_AD_31
EXT_AD_20
W01
W02
EXT_AD_29
EXT_AD_25
Y01
Y02
EXT_AD_27
PCI_CBE_3
EXT_AD_22 EXT_AD_18 PCI_FRAME
W03
W04
EXT_AD_23 EXT_AD_16
Y03
Y04
V06
V07
V08
V09
V10
V11
V12
V13
V14
V15
V16
V17
V18
V19
PCI_STOP
PCI_PAR
EXT_AD_13
EXT_AD_11
EXT_AD_9
EXT_AD_4
EXT_AD_2
EXT_AD_0
LP_ALE
LP_CS2
LP_CS5
ATA_DRQ
TIMER_1
I2C_0
I2C_2
W08
W09
W10
W11
W12
W13
W14
W15
W16
W17
W18
W19
W20
W05 W06 W07
PCI_TRDY
Y05
EXT_AD_21 EXT_AD_19 EXT_AD_17
PCI_CBE_2 PCI_DEVSEL
PCI_SERR
EXT_AD_14
PCI_CBE_0
EXT_AD_8
EXT_AD_5
EXT_AD_1
LP_CS0
LP_CS3
LP_RW
ATA_IOW
ATA_IOCHRDY
I2C_1
I2C_3
Y06
Y07
Y08
Y09
Y10
Y11
Y12
Y13
Y14
Y15
Y16
Y17
Y18
Y19
Y20
PCI_IRDY
PCI_PERR
PCI_CBE_1
EXT_AD_7
EXT_AD_3
LP_TS
LP_CS1
LP_CS4
ATA_ISOLATION
ATA_IOR
ATA_DACK
ATA_INTRQ
TIMER_0
EXT_AD_12 EXT_AD_10
2-3
Figure 2-2. 272-Pin PBGA — Top View
Signal Descriptions
U01
PCI_REQ
Signal Descriptions
M
S
C
A
N
SDRAM
CS1
S
P
I
P
S
C
5
System
chip
selects
TSIZE_1
4
G
P
I
O
I
2
C
4
T
I
M
E
R
S
4
P
S
C
1
8
P
S
C
2
5
5
P
S
C
3
5
P
S
C
4
5
4
2
E
T
H
E
R
5
U
S
B
P2
10 100
7
2
ATA chip
selects
P
S
C
6
J
1
8
5
0
P1
10 10
18
4
Reset
Conf.
2
2
mux
mux
8
2
5
4
5
10
mux
mux
mux
mux
8 Pins
5 pins
5 pins
10 pins
14
mux
mux
8
2
5
4
mux
mux
18 pins
10 pins
4 pins
Ethernet
Group
USB
Group
PSC6
Group
1
1
Dedicated
GPIO
4 pins
I2C
Group
Timer
Group
PSC1
Group
PSC2
Group
PSC3
Group
Figure 2-3. MPC5200B Peripheral Muxing
MPC5200B User’s Manual, Rev. 3
2-4
Freescale Semiconductor
Signal Descriptions
2.2
Pinout Tables
Table 2-1. Signals by Ball/Pin (Sheet 1 of 4)
Ball/Pin
Pin Name
Ball/Pin
Pin Name
A01
TEST_MODE_1
B16
MEM_MA_2
A02
JTAG_TDO
B17
MEM_MA_10
A03
JTAG_TDI
B18
MEM_CS_0
A04
JTAG_TMS
B19
MEM_CAS
A05
PSC3_8
B20
MEM_MA_4
A06
PSC3_5
C01
RTC_XTAL_OUT
A07
PSC3_2
C02
RTC_XTAL_IN
A08
PSC2_4
C03
TEST_SEL_1
A09
PSC2_2
C04
PSC3_9
A10
PSC1_4
C05
PSC3_6
A11
PSC1_1
C06
PSC3_3
A12
PSC6_2
C07
PSC3_0
A13
PORRESET
C08
CORE_PLL_AVDD
A14
SRESET
C09
PSC2_0
A15
SYS_XTAL_IN
C10
PSC1_2
A16
MEM_MA_1
C11
PSC6_1
A17
MEM_MBA_1
C12
GPIO_WKUP_7
A18
MEM_RAS
C13
PSC6_3
A19
MEM_WE
C14
SYS_PLL_AVSS
A20
MEM_DQM_2
C15
GPIO_WKUP_6
B01
TEST_SEL_0
C16
MEM_MA_3
B02
TEST_MODE_0
C17
MEM_MA_0
B03
JTAG_TRST
C18
MEM_MBA_0
B04
JTAG_TCK
C19
MEM_MA_5
B05
PSC3_7
C20
MEM_MA_6
B06
PSC3_4
D01
TIMER_4
B07
PSC3_1
D02
TIMER_3
B08
PSC2_3
D03
TIMER_2
B09
PSC2_1
D04
VSS_IO/CORE
B10
PSC1_3
D05
VDD_CORE
B11
PSC1_0
D06
VDD_IO
B12
PSC6_0
D07
VDD_CORE
B13
HRESET
D08
LP_OE
B14
SYS_PLL_AVDD
D09
VDD_IO
B15
SYS_PLL_TPA
D10
VDD_CORE
D11
VDD_CORE
H04
VDD_IO
D12
VDD_MEM_IO
H17
VDD_MEM_IO
D13
VDD_MEM_IO
H18
MEM_MDQ_20
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-5
Signal Descriptions
Table 2-1. Signals by Ball/Pin (Sheet 2 of 4)
Ball/Pin
Pin Name
Ball/Pin
Pin Name
D14
SYS_XTAL_OUT
H19
MEM_DQM_1
D15
VDD_MEM_IO
H20
MEM_MDQS_1
D16
VSS_IO/CORE
J01
ETH_3
D17
VDD_MEM_IO
J02
ETH_4
D18
MEM_MDQS_2
J03
ETH_10
D19
MEM_MA_7
J04
ETH_17
D20
MEM_MA_8
J09
VSS_IO/CORE
E01
TIMER_7
J10
VSS_IO/CORE
E02
TIMER_6
J11
VSS_IO/CORE
E03
TIMER_5
J12
VSS_IO/CORE
E04
VDD_IO
J17
MEM_MDQ_22
E17
VDD_MEM_IO
J18
MEM_MDQ_21
E18
MEM_MDQ_16
J19
MEM_MDQ_8
E19
MEM_MA_9
J20
MEM_MDQ_9
E20
MEM_MA_11
K01
ETH_0
F01
USB_7
K02
ETH_1
F02
USB_8
K03
ETH_2
F03
USB_9
K04
VDD_CORE
F04
VDD_IO
K09
VSS_IO/CORE
F17
VDD_MEM_IO
K10
VSS_IO/CORE
F18
MEM_MDQ_17
K11
VSS_IO/CORE
F19
MEM_MA_12
K12
VSS_IO/CORE
F20
MEM_CLK_EN
K17
VDD_MEM_IO
G01
USB_3
K18
MEM_MDQ_23
G02
USB_4
K19
MEM_MDQ_10
G03
USB_5
K20
MEM_MDQ_11
G04
USB_6
L01
ETH_9
G17
MEM_MDQ_18
L02
ETH_16
G18
MEM_MDQ_19
L03
ETH_5
G19
MEM_CLK
L04
ETH_11
G20
MEM_CLK
L09
VSS_IO/CORE
H01
USB_0
L10
VSS_IO/CORE
H02
USB_1
L11
VSS_IO/CORE
H03
USB_2
L12
VSS_IO/CORE
L17
MEM_DQM_3
R18
MEM_MDQ_29
L18
MEM_MDQS_3
R19
MEM_MDQ_5
L19
MEM_MDQ_12
R20
MEM_MDQ_4
L20
MEM_MDQ_13
T01
PCI_CLOCK
M01
ETH_13
T02
EXT_AD_26
M02
ETH_12
T03
EXT_AD_28
MPC5200B User’s Manual, Rev. 3
2-6
Freescale Semiconductor
Signal Descriptions
Table 2-1. Signals by Ball/Pin (Sheet 3 of 4)
Ball/Pin
Pin Name
Ball/Pin
Pin Name
M03
ETH_8
T04
VDD_IO
M04
VDD_CORE
T17
VDD_MEM_IO
M09
VSS_IO/CORE
T18
MEM_MDQ_30
M10
VSS_IO/CORE
T19
MEM_MDQ_3
M11
VSS_IO/CORE
T20
MEM_MDQ_2
M12
VSS_IO/CORE
U01
PCI_REQ
M17
VDD_MEM_IO
U02
PCI_IDSEL
M18
MEM_MDQ_24
U03
EXT_AD_24
M19
MEM_MDQ_14
U04
VSS_IO/CORE
M20
MEM_MDQ_15
U05
VDD_IO
N01
ETH_7
U06
VDD_IO
N02
ETH_6
U07
VDD_CORE
N03
ETH_15
U08
EXT_AD_15
N04
ETH_14
U09
VDD_IO
N17
MEM_MDQ_25
U10
VDD_IO
N18
MEM_MDQ_26
U11
EXT_AD_6
N19
MEM_DQM_0
U12
VDD_CORE
N20
MEM_MDQS_0
U13
VDD_IO
P01
IRQ1
U14
LP_ACK
P02
IRQ2
U15
VDD_CORE
P03
IRQ0
U16
VDD_IO
P04
VDD_CORE
U17
VSS_IO/CORE
P17
VDD_MEM_IO
U18
MEM_MDQ_31
P18
MEM_MDQ_27
U19
MEM_MDQ_1
P19
MEM_MDQ_7
U20
MEM_MDQ_0
P20
MEM_MDQ_6
V01
EXT_AD_31
R01
IRQ3
V02
EXT_AD_20
R02
PCI_RESET
V03
EXT_AD_22
R03
EXT_AD_30
V04
EXT_AD_18
R04
PCI_GNT
V05
PCI_FRAME
R17
MEM_MDQ_28
V06
PCI_STOP
V07
PCI_PAR
Y04
EXT_AD_19
V08
EXT_AD_13
Y05
EXT_AD_17
V09
EXT_AD_11
Y06
PCI_IRDY
V10
EXT_AD_9
Y07
PCI_PERR
V11
EXT_AD_4
Y08
PCI_CBE_1
V12
EXT_AD_2
Y09
EXT_AD_12
V13
EXT_AD_0
Y10
EXT_AD_10
V14
LP_ALE
Y11
EXT_AD_7
V15
LP_CS2
Y12
EXT_AD_3
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-7
Signal Descriptions
Table 2-1. Signals by Ball/Pin (Sheet 4 of 4)
Ball/Pin
Pin Name
Ball/Pin
Pin Name
V16
LP_CS5
Y13
LP_TS
V17
ATA_DRQ
Y14
LP_CS1
V18
TIMER_1
Y15
LP_CS4
V19
I2C_0
Y16
ATA_ISOLATION
V20
I2C_2
Y17
ATA_IOR
W01
EXT_AD_29
Y18
ATA_DACK
W02
EXT_AD_25
Y19
ATA_INTRQ
W03
EXT_AD_23
Y20
TIMER_0
W04
EXT_AD_16
W05
PCI_TRDY
W06
PCI_CBE_2
W07
PCI_DEVSEL
W08
PCI_SERR
W09
EXT_AD_14
W10
PCI_CBE_0
W11
EXT_AD_8
W12
EXT_AD_5
W13
EXT_AD_1
W14
LP_CS0
W15
LP_CS3
W16
LP_RW
W17
ATA_IOW
W18
ATA_IOCHRDY
W19
I2C_1
W20
I2C_3
Y01
EXT_AD_27
Y02
PCI_CBE_3
Y03
EXT_AD_21
MPC5200B User’s Manual, Rev. 3
2-8
Freescale Semiconductor
Signal Descriptions
Table 2-2. Signals by Signal Name (Sheet 1 of 4)
Signal Name
Ball/Pin
Signal Name
Ball/Pin
ATA_DACK
Y18
EXT_AD_6
U11
ATA_DRQ
V17
EXT_AD_7
Y11
ATA_INTRQ
Y19
EXT_AD_8
W11
ATA_IOCHRDY
W18
EXT_AD_9
V10
ATA_IOR
Y17
EXT_AD_10
Y10
ATA_IOW
W17
EXT_AD_11
V09
ATA_ISOLATION
Y16
EXT_AD_12
Y09
LP_CS0
W14
EXT_AD_13
V08
LP_CS1
Y14
EXT_AD_14
W09
LP_CS2
V15
EXT_AD_15
U08
LP_CS3
W15
EXT_AD_16
W04
LP_CS4
Y15
EXT_AD_17
Y05
LP_CS5
V16
EXT_AD_18
V04
ETH_0
K01
EXT_AD_19
Y04
ETH_1
K02
EXT_AD_20
V02
ETH_2
K03
EXT_AD_21
Y03
ETH_3
J01
EXT_AD_22
V03
ETH_4
J02
EXT_AD_23
W03
ETH_5
L03
EXT_AD_24
U03
ETH_6
N02
EXT_AD_25
W02
ETH_7
N01
EXT_AD_26
T02
ETH_8
M03
EXT_AD_27
Y01
ETH_9
L01
EXT_AD_28
T03
ETH_10
J03
EXT_AD_29
W01
ETH_11
L04
EXT_AD_30
R03
ETH_12
M02
EXT_AD_31
V01
ETH_13
M01
GPIO_WKUP_6
C15
ETH_14
N04
GPIO_WKUP_7
C12
ETH_15
N03
CORE_PLL_AVDD
C08
ETH_16
L02
CORE_PLL_AVSS
NC (no connection)
ETH_17
J04
HRESET
B13
EXT_AD_0
V13
I2C_0
V19
EXT_AD_1
W13
I2C_1
W19
EXT_AD_2
V12
I2C_2
V20
EXT_AD_3
Y12
I2C_3
W20
EXT_AD_4
V11
PSC6_0
B12
EXT_AD_5
W12
PSC6_2
A12
PSC6_3
C13
MEM_MBA_1
A17
PSC6_1
C11
MEM_MDQ_0
U20
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-9
Signal Descriptions
Table 2-2. Signals by Signal Name (Sheet 2 of 4)
Signal Name
Ball/Pin
Signal Name
Ball/Pin
IRQ0
P03
MEM_MDQ_1
U19
IRQ1
P01
MEM_MDQ_2
T20
IRQ2
P02
MEM_MDQ_3
T19
IRQ3
R01
MEM_MDQ_4
R20
JTAG_TCK
B04
MEM_MDQ_5
R19
JTAG_TDI
A03
MEM_MDQ_6
P20
JTAG_TDO
A02
MEM_MDQ_7
P19
JTAG_TMS
A04
MEM_MDQ_8
J19
JTAG_TRST
B03
MEM_MDQ_9
J20
LP_ACK
U14
MEM_MDQ_10
K19
LP_ALE
V14
MEM_MDQ_11
K20
LP_OE
D08
MEM_MDQ_12
L19
LP_RW
W16
MEM_MDQ_13
L20
LP_TS
Y13
MEM_MDQ_14
M19
MEM_CAS
B19
MEM_MDQ_15
M20
MEM_CLK_EN
F20
MEM_MDQ_16
E18
MEM_CS_0
B18
MEM_MDQ_17
F18
MEM_DQM_0
N19
MEM_MDQ_18
G17
MEM_DQM_1
H19
MEM_MDQ_19
G18
MEM_DQM_2
A20
MEM_MDQ_20
H18
MEM_DQM_3
L17
MEM_MDQ_21
J18
MEM_MA_0
C17
MEM_MDQ_22
J17
MEM_MA_1
A16
MEM_MDQ_23
K18
MEM_MA_2
B16
MEM_MDQ_24
M18
MEM_MA_3
C16
MEM_MDQ_25
N17
MEM_MA_4
B20
MEM_MDQ_26
N18
MEM_MA_5
C19
MEM_MDQ_27
P18
MEM_MA_6
C20
MEM_MDQ_28
R17
MEM_MA_7
D19
MEM_MDQ_29
R18
MEM_MA_8
D20
MEM_MDQ_30
T18
MEM_MA_9
E19
MEM_MDQ_31
U18
MEM_MA_10
B17
MEM_MDQS_0
N20
MEM_MA_11
E20
MEM_MDQS_1
H20
MEM_MA_12
F19
MEM_MDQS_2
D18
MEM_MBA_0
C18
MEM_MDQS_3
L18
MEM_CLK
G19
PSC3_5
A06
MEM_CLK
G20
PSC3_6
C05
MEM_RAS
A18
PSC3_7
B05
MEM_WE
A19
PSC3_8
A05
PCI_CBE_0
W10
PSC3_9
C04
MPC5200B User’s Manual, Rev. 3
2-10
Freescale Semiconductor
Signal Descriptions
Table 2-2. Signals by Signal Name (Sheet 3 of 4)
Signal Name
Ball/Pin
Signal Name
Ball/Pin
PCI_CBE_1
Y08
RTC_XTAL_IN
C02
PCI_CBE_2
W06
RTC_XTAL_OUT
C01
PCI_CBE_3
Y02
SRESET
A14
PCI_CLOCK
T01
SYS_PLL_AVDD
B14
PCI_DEVSEL
W07
SYS_PLL_AVSS
C14
PCI_FRAME
V05
SYS_PLL_TPA
B15
PCI_GNT
R04
SYS_XTAL_IN
A15
PCI_IDSEL
U02
SYS_XTAL_OUT
D14
PCI_IRDY
Y06
TEST_MODE_0
B02
PCI_PAR
V07
TEST_MODE_1
A01
PCI_PERR
Y07
TEST_SEL_0
B01
PCI_REQ
U01
TEST_SEL_1
C03
PCI_RESET
R02
TIMER_0
Y20
PCI_SERR
W08
TIMER_1
V18
PCI_STOP
V06
TIMER_2
D03
PCI_TRDY
W05
TIMER_3
D02
PORRESET
A13
TIMER_4
D01
PSC1_0
B11
TIMER_5
E03
PSC1_1
A11
TIMER_6
E02
PSC1_2
C10
TIMER_7
E01
PSC1_3
B10
USB_0
H01
PSC1_4
A10
USB_1
H02
PSC2_0
C09
USB_2
H03
PSC2_1
B09
USB_3
G01
PSC2_2
A09
USB_4
G02
PSC2_3
B08
USB_5
G03
PSC2_4
A08
USB_6
G04
PSC3_0
C07
USB_7
F01
PSC3_1
B07
USB_8
F02
PSC3_2
A07
USB_9
F03
PSC3_3
C06
VDD_CORE
D05
PSC3_4
B06
VSS_IO/CORE
J12
VDD_CORE
D10
VSS_IO/CORE
K09
VDD_CORE
D11
VSS_IO/CORE
K10
VDD_CORE
K04
VSS_IO/CORE
K11
VDD_CORE
M04
VSS_IO/CORE
K12
VDD_CORE
P04
VSS_IO/CORE
L09
VDD_CORE
U07
VSS_IO/CORE
L10
VDD_CORE
U12
VSS_IO/CORE
L11
VDD_CORE
U15
VSS_IO/CORE
L12
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-11
Signal Descriptions
Table 2-2. Signals by Signal Name (Sheet 4 of 4)
Signal Name
Ball/Pin
Signal Name
Ball/Pin
VDD_IO
D06
VSS_IO/CORE
M09
VDD_IO
D09
VSS_IO/CORE
M10
VDD_IO
E04
VSS_IO/CORE
M11
VDD_IO
F04
VSS_IO/CORE
M12
VDD_IO
H4
VSS_IO/CORE
U04
VDD_IO
T4
VSS_IO/CORE
U17
VDD_IO
U05
VDD_CORE
D07
VDD_IO
U06
VDD_IO
U09
VDD_IO
U10
VDD_IO
U13
VDD_IO
U16
VDD_MEM_IO
D12
VDD_MEM_IO
D13
VDD_MEM_IO
D15
VDD_MEM_IO
D17
VDD_MEM_IO
E17
VDD_MEM_IO
F17
VDD_MEM_IO
H17
VDD_MEM_IO
K17
VDD_MEM_IO
M17
VDD_MEM_IO
P17
VDD_MEM_IO
T17
VSS_IO/CORE
D04
VSS_IO/CORE
D16
VSS_IO/CORE
J09
VSS_IO/CORE
J10
VSS_IO/CORE
J11
MPC5200B User’s Manual, Rev. 3
2-12
Freescale Semiconductor
Signal Descriptions
Table 2-3. LocalPlus Bus Address / Data Pin Assignments
E
X
T
_
A
D
1
4
E
X
T
_
A
D
1
3
E
X
T
_
A
D
1
2
E
X
T
_
A
D
1
1
E
X
T
_
A
D
1
0
E
X
T
_
A
D
9
E
X
T
_
A
D
8
E
X
T
_
A
D
7
E
X
T
_
A
D
6
E
X
T
_
A
D
5
E
X
T
_
A
D
4
E
X
T
_
A
D
3
E
X
T
_
A
D
2
E
X
T
_
A
D
1
E
X
T
_
A
D
0
16 bit Adr,
16 bit Data
D D D D D D D D D D D D D D D D A A
1 1 1 1 1 1 0 8 7 6 5 4 3 2 1 0 1 1
5 4
5 4 3 2 1 0 9
A
1
3
A
1
2
A A
1 1
1 0
A
9
A
8
A A
7 6
A
5
A
4
A A
3 2
A
1
A
0
24 bit Adr,
8 bit Data
D D D D D D D D A A
7 6 5 4 3 2 1 0 2 2
3 2
A
2
1
A
2
0
A A
1 1
9 8
A
1
7
A
1
6
A A
1 1
5 4
A
1
3
A
1
2
A A
1 1
1 0
A
9
A
8
A A
7 6
A
5
A
4
A A
3 2
A
1
A
0
A A
2 2
3 2
A
2
1
A
2
0
A A
1 1
9 8
A
1
7
A
1
6
A A
1 1
5 4
A
1
3
A
1
2
A A
1 1
1 0
A
9
A
8
A A
7 6
A
5
A
4
A A
3 2
A
1
A
0
0
0
0
0
0
0
0
0
0
0
0
0
MPC5200B
LocaLPlus Bus
Address / Data
Pins
E
X
T
_
A
D
3
1
E
X
T
_
A
D
3
0
E
X
T
_
A
D
2
9
E
X
T
_
A
D
2
8
E
X
T
_
A
D
2
7
E
X
T
_
A
D
2
6
E
X
T
_
A
D
2
5
E
X
T
_
A
D
2
4
E
X
T
_
A
D
2
3
E
X
T
_
A
D
2
2
E
X
T
_
A
D
2
1
E
X
T
_
A
D
2
0
E
X
T
_
A
D
1
9
E
X
T
_
A
D
1
8
E
X
T
_
A
D
1
7
E
X
T
_
A
D
1
6
E
X
T
_
A
D
1
5
Muxed modes
0
All Muxed mode
Address tenures
8 bit Data
tenure
T
S
1
Z
E
2
T
S
1
Z
E
1
T
S
1
Z
E
0
0
B
S
1
B
S
0
A
2
4
D D D D D D D D
7 6 5 4 3 2 1 0
0
0
0
0
16 bit Data tenure
D D D D D D D D D D D D D D D D
1 1 1 1 1 1 9 8 7 6 5 4 3 3 2 0
5 4 3 2 1 0
32 bit Data tenure
D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-13
Signal Descriptions
Table 2-4. LocalPlus Pin Functions (Sheet 1 of 3)
LocalPlus
Non-mux
LocalPlus
MULTIPLEXED BUS
PCI BUS
Pin
Name
BALL
MOST
Large
Flash
EXT_AD_31
V01
D7
D15
0
D31
D15
D7
A31
D31
0
0
D31
D15
EXT_AD_30
R03
D6
D14
TSIZ0
D30
D14
D6
A30
D30
0
0
D30
D14
EXT_AD_29
W01
D5
D13
TSIZ1
D29
D13
D5
A29
D29
0
0
D29
D13
EXT_AD_28
T03
D4
D12
TSIZ2
D28
D12
D4
A28
D28
0
0
D28
D12
EXT_AD_27
Y01
D3
D11
0
D27
D11
D3
A27
D27
0
0
D27
D11
EXT_AD_26
T02
D2
D10
BS1
D26
D10
D2
A26
D26
0
0
D26
D10
EXT_AD_25
W02
D1
D9
BS0
D25
D9
D1
A25
D25
0
0
D25
D9
EXT_AD_24
U03
D0
D8
A24
D24
D8
D0
A24
D24
0
0
D24
D8
EXT_AD_23
W03
A23
D7
A23
D23
D7
0
A23
D23
0
0
D23
D7
EXT_AD_22
V03
A22
D6
A22
D22
D6
0
A22
D22
0
0
D22
D6
EXT_AD_21
Y03
A21
D5
A21
D21
D5
0
A21
D21
0
0
D21
D5
EXT_AD_20
V02
A20
D4
A20
D20
D4
0
A20
D20
0
0
D20
D4
EXT_AD_19
Y04
A19
D3
A19
D19
D3
0
A19
D19
0
0
D19
D3
EXT_AD_18
V04
A18
D2
A18
D18
D2
0
A18
D18
0
0
SA_2
D18
D2
EXT_AD_17
Y05
A17
D1
A17
D17
D1
0
A17
D17
0
0
SA_1
D17
D1
EXT_AD_16
W04
A16
D0
A16
D16
D0
0
A16
D16
0
0
SA_0
D16
D0
EXT_AD_15
U08
A15
A15
A15
D15
0
0
A15
D15
D15
0
D15
D15
A15
EXT_AD_14
W09
A14
A14
A14
D14
0
0
A14
D14
D14
0
D14
D14
A14
EXT_AD_13
V08
A13
A13
A13
D13
0
0
A13
D13
D13
0
D13
D13
A13
EXT_AD_12
Y09
A12
A12
A12
D12
0
0
A12
D12
D12
0
D12
D12
A12
EXT_AD_11
V09
A11
A11
A11
D11
0
0
A11
D11
D11
0
D11
D11
A11
EXT_AD_10
Y10
A10
A10
A10
D10
0
0
A10
D10
D10
0
D10
D10
A10
EXT_AD_9
V10
A9
A9
A9
D9
0
0
A9
D9
D9
0
D9
D9
A9
EXT_AD_8
W11
A8
A8
A8
D8
0
0
A8
D8
D8
0
D8
D8
A8
EXT_AD_7
Y11
A7
A7
A7
D7
0
0
A7
D7
D7
D7
D7
D7
A7
EXT_AD_6
U11
A6
A6
A6
D6
0
0
A6
D6
D6
D6
D6
D6
A6
EXT_AD_5
W12
A5
A5
A5
D5
0
0
A5
D5
D5
D5
D5
D5
A5
EXT_AD_4
V11
A4
A4
A4
D4
0
0
A4
D4
D4
D4
D4
D4
A4
EXT_AD_3
Y12
A3
A3
A3
D3
0
0
A3
D3
D3
D3
D3
D3
A3
EXT_AD_2
V12
A2
A2
A2
D2
0
0
A2
D2
D2
D2
D2
D2
A2
EXT_AD_1
W13
A1
A1
A1
D1
0
0
A1
D1
D1
D1
D1
D1
A1
EXT_AD_0
V13
A0
A0
A0
D0
0
0
A0
D0
D0
D0
D0
D0
A0
Addr Addr
32-bit 16-bit 8-bit
PCI
32-bit 16-bit 8-bit
Address
/Data /Data
Data Data Data Address Data Data Data
Phase
24/8 16/16
Phase Phase Phase Phase Phase Phase Phase
ATA
RESET
MPC5200B User’s Manual, Rev. 3
2-14
Freescale Semiconductor
Signal Descriptions
Table 2-4. LocalPlus Pin Functions (Sheet 2 of 3)
LocalPlus
Non-mux
Pin
Name
BALL
LocalPlus
MULTIPLEXED BUS
PCI BUS
Addr Addr
32-bit 16-bit 8-bit
PCI
32-bit 16-bit 8-bit
Address
/Data /Data
Data Data Data Address Data Data Data
Phase
24/8 16/16
Phase Phase Phase Phase Phase Phase Phase
ATA
MOST
Large
Flash
RESET
PCI Dedicated Signals
PCI_PAR
V07
PCI_PAR
A0
A16
PCI_CBE_0
W10
PCI_CBE_0
A1
A17
PCI_CBE_1
Y08
PCI_CBE_1
A2
A18
PCI_CBE_2
W06
PCI_CBE_2
A3
A19
PCI_CBE_3
Y02
PCI_CBE_3
A4
A20
PCI_TRDY
W05
PCI_TRDY
A5
A21
PCI_IRDY
Y06
PCI_IRDY
A6
A22
PCI_STOP
V06
PCI_STOP
A7
A23
PCI_DEVSEL
W07
PCI_DEVSEL
A8
A24
PCI_FRAME
V05
PCI_FRAME
A9
A25
PCI_SERR
W08
PCI_SERR
A10
Note 1
PCI_PERR
Y07
PCI_PERR
A11
Note 1
PCI_IDSEL
U02
PCI_IDSEL
A12
Note 1
PCI_REQ
U01
PCI_REQ
A13
Note 1
PCI_GNT
R04
PCI_GNT
A14
Note 1
PCI_CL0CK
T01
Same as PCI_CLOCK
CLK
OUT
CLK
OUT
PCI_RESET
R02
PCI_RESET
A15
Note 1
CLK
OUT
CLK
OUT
CLK
OUT
CLK
OUT
CLK
OUT
CLK
OUT
ATA Dedicated Signals
ATA_DRQ
V17
ATA_DRQ
A16
ATA_DACK
Y18
ATA_DACK
A17
RST_CFG0
ATA_IOR
Y17
ATA_IOR
A18
RST_CFG1
ATA_IOW
W17
ATA_IOW
A19
RST_CFG2
ATA_IOCHRDY
W18
ATA_IOCHRDY
A20
ATA_INTRQ
Y19
ATA_INTRQ
A21
ATA_ISOLATION
Y16
ATA_ISOLATION
A22
LocalPlus Dedicated Signals
LP_RW
W16
LP_RW
LP_RW
LP_ALE
V14
LP_ACK
U14
LP_TS
Y13
LP_OE
D08
LP_OE
LP_OE
LP_CS0
W14
CS_0 / CS_BOOT
CS_0 / CS_BOOT
LP_CS1
Y14
CS_1
CS_1
LP_ALE
LP_ACK
A23
RST_CFG3
RST_CFG4
LP_ACK, Note 2
LP_TS
LP_TS
RST_CFG5
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-15
Signal Descriptions
Table 2-4. LocalPlus Pin Functions (Sheet 3 of 3)
LocalPlus
Non-mux
LocalPlus
MULTIPLEXED BUS
PCI BUS
Pin
Name
BALL
LP_CS2
V15
CS_2
CS_2
LP_CS3
W15
CS_3
CS_3
LP_CS4
Y15
CS_4
ATA_CS_0
CS_4
LP_CS5
V16
CS_5
ATA_CS_1
CS_5
ATA
Addr Addr
32-bit 16-bit 8-bit
PCI
32-bit 16-bit 8-bit
Address
/Data /Data
Data Data Data Address Data Data Data
Phase
24/8 16/16
Phase Phase Phase Phase Phase Phase Phase
MOST
Large
Flash
RESET
PSC 3 Dedicated Signals
PSC3_4
B06
CS_6
CS_6
PSC3_5
A06
CS_7
CS_7
GPIO_WKUP Dedicated Signals
GPIO_WKUP_7
C12
TSIZ1
JTAG Access Dedicated Signals
TEST_SEL_1
C03
TSIZ2
1. The PCI signals, which are not used as address in Large Flash mode, are drive low during a Large Flash access.
2. For a burst transaction LP_ACK signal indicates the burst
.
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 1 of 17)
PIN / BALL NUMBER
Pin EXT_AD_31
Reset
Value
Function
Description
Ball V01
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
logic 0
D7
D15
D31
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D15
D7
LFLASH
logic 0
LocalPlus Data Bit 7
LocalPlus Data Bit 15
LocalPlus Data Bit 31
hi - z
logic 0
LocalPlus Data Bit 15
D15
hi - z
Large Flash Data Bit D15
MOST Graphics
D31
hi - z
MOST Graphics Data Bit D31
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A31
logic 0
logic 0
D31
hi - z
PCI Address Bit A31
logic 0
logic 0
PCI Data Bit 31
MPC5200B User’s Manual, Rev. 3
2-16
Freescale Semiconductor
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 2 of 17)
PIN / BALL NUMBER
Pin EXT_AD_30
Reset
Value
Function
Description
Ball R03
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
TSIZE0
D6
D14
D30
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D14
D6
LFLASH
D14
hi - z
Large Flash Data Bit D14
MOST Graphics
D30
hi - z
MOST Graphics Data Bit D30
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A30
logic 0
logic 0
D30
Pin EXT_AD_29
hi - z
LocalPlus TSIZE0
LocalPlus Data Bit 6
LocalPlus Data Bit 14
LocalPlus Data Bit 30
hi - z
LocalPlus Data Bit 14
LocalPlus Data Bit 6
hi - z
PCI Address Bit A30
logic 0
logic 0
PCI Data Bit 30
Ball W01
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
TSIZE1
D5
D13
D29
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D13
D5
LFLASH
D13
hi - z
Large Flash Data Bit D13
MOST Graphics
D29
hi - z
MOST Graphics Data Bit D29
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A31
logic 0
logic 0
D29
LocalPlus TSIZE1
LocalPlus Data Bit 5
LocalPlus Data Bit 13
LocalPlus Data Bit 29
hi - z
LocalPlus Data Bit 13
LocalPlus Data Bit 5
hi - z
PCI Address Bit A29
logic 0
logic 0
PCI Data Bit 29
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-17
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 3 of 17)
PIN / BALL NUMBER
Pin EXT_AD_28
Reset
Value
Function
Description
Ball T03
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
TSIZE2
D4
D12
D28
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D12
D4
LFLASH
D12
hi - z
Large Flash Data Bit D12
MOST Graphics
D28
hi - z
MOST Graphics Data Bit D28
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A28
logic 0
logic 0
D28
Pin EXT_AD_27
hi - z
TSIZE2
LocalPlus Data Bit 4
LocalPlus Data Bit 12
LocalPlus Data Bit 28
hi - z
LocalPlus Data Bit 12
LocalPlus Data Bit 4
hi - z
PCI Address Bit A28
logic 0
logic 0
PCI Data Bit 28
Ball Y01
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
logic 0
D3
D11
D27
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D11
D3
LFLASH
D11
hi - z
Large Flash Data Bit D11
MOST Graphics
D27
hi - z
MOST Graphics Data Bit D27
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A27
logic 0
logic 0
D27
logic 0
LocalPlus Data Bit 3
LocalPlus Data Bit 11
LocalPlus Data Bit 27
hi - z
LocalPlus Data Bit 11
LocalPlus Data Bit 3
hi - z
PCI Address Bit A27
logic 0
logic 0
PCI Data Bit 27
MPC5200B User’s Manual, Rev. 3
2-18
Freescale Semiconductor
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 4 of 17)
PIN / BALL NUMBER
Pin EXT_AD_26
Reset
Value
Function
Description
Ball T02
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
BS1
D2
D10
D26
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D10
D2
LFLASH
D10
hi - z
Large Flash Data Bit D10
MOST Graphics
D26
hi - z
MOST Graphics Data Bit D26
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A26
logic 0
logic 0
D26
Pin EXT_AD_25
hi - z
LocalPlus BS1
LocalPlus Data Bit 2
LocalPlus Data Bit 10
LocalPlus Data Bit 26
hi - z
LocalPlus Data Bit 10
LocalPlus Data Bit 2
hi - z
PCI Address Bit A26
logic 0
logic 0
PCI Data Bit 26
Ball W02
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
BS0
D1
D9
D25
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D9
D1
LFLASH
D9
hi - z
Large Flash Data Bit D9
MOST Graphics
D25
hi - z
MOST Graphics Data Bit D25
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A25
logic 0
logic 0
D25
BS0
LocalPlus Data Bit 1
LocalPlus Data Bit 9
LocalPlus Data Bit 25
hi - z
LocalPlus Data Bit 9
LocalPlus Data Bit 1
hi - z
PCI Address Bit A25
logic 0
logic 0
PCI Data Bit 25
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-19
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 5 of 17)
PIN / BALL NUMBER
Pin EXT_AD_24
Reset
Value
Function
Description
Ball U03
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A24
D0
D8
D24
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D8
D0
LFLASH
D8
hi - z
Large Flash Data Bit D8
MOST Graphics
D24
hi - z
MOST Graphics Data Bit D24
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A24
logic 0
logic 0
D24
Pin EXT_AD_23
hi - z
LocalPlus Address Bit 24
LocalPlus Data Bit 0
LocalPlus Data Bit 8
LocalPlus Data Bit 24
hi - z
LocalPlus Data Bit 8
LocalPlus Data Bit 0
hi - z
PCI Address Bit A24
logic 0
logic 0
PCI Data Bit 24
Ball W03
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A23
logic 0
D7
D23
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D7
A23
LFLASH
D7
hi - z
Large Flash Data Bit D7
MOST Graphics
D23
hi - z
MOST Graphics Data Bit D23
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A23
logic 0
logic 0
D23
Local Address Bit A23
logic 0
LocalPlus Data Bit 7
LocalPlus Data Bit 23
hi - z
LocalPlus Data Bit 7
LocalPlus Address Bit A23
hi - z
PCI Address Bit A23
logic 0
logic 0
PCI Data Bit D23
MPC5200B User’s Manual, Rev. 3
2-20
Freescale Semiconductor
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 6 of 17)
PIN / BALL NUMBER
Pin EXT_AD_22
Reset
Value
Function
Description
Ball V03
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A22
logic 0
D6
D22
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D6
A22
LFLASH
D6
hi - z
Large Flash Data Bit D6
MOST Graphics
D22
hi - z
MOST Graphics Data Bit D22
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A22
logic 0
logic 0
D22
Pin EXT_AD_21
hi - z
LocalPlus Address Bit A22
logic 0
LocalPlus Data Bit 6
LocalPlus Data Bit D22
hi - z
LocalPlus Data Bit D6
LocalPlus Address Bit A22
hi - z
PCI Address Bit A22
logic 0
logic 0
PCI Data Bit D22
Ball Y03
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A21
logic 0
D5
D21
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D5
A21
LFLASH
D5
hi - z
Large Flash Data Bit D5
MOST Graphics
D21
hi - z
MOST Graphics Data Bit D21
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A21
logic 0
logic 0
D21
LocalPlus Address Bit A21
logic 0
LocalPlus Data Bit 5
LocalPlus Data Bit D21
hi - z
LocalPlus Data Bit D5
LocalPlus Address Bit A21
hi - z
PCI Address Bit A21
logic 0
logic 0
PCI Data Bit D21
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-21
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 7 of 17)
PIN / BALL NUMBER
Pin EXT_AD_20
Reset
Value
Function
Description
Ball V02
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A20
logic 0
D4
D20
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D4
A20
LFLASH
D4
hi - z
Large Flash Data Bit D4
MOST Graphics
D20
hi - z
MOST Graphics Data Bit D20
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A20
logic 0
logic 0
D20
Pin EXT_AD_19
hi - z
LocalPlus Address Bit A20
logic 0
LocalPlus Data Bit 4
LocalPlus Data Bit D20
hi - z
LocalPlus Data Bit D4
LocalPlus Address Bit A20
hi - z
PCI Address Bit A20
logic 0
logic 0
PCI Data Bit D20
Ball Y04
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A19
logic 0
D3
D19
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D3
A19
LFLASH
D3
hi - z
Large Flash Data Bit D3
MOST Graphics
D19
hi - z
MOST Graphics Data Bit D19
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A19
logic 0
logic 0
D19
LocalPlus Address Bit A19
logic 0
LocalPlus Data Bit 3
LocalPlus Data Bit D19
hi - z
LocalPlus Data Bit D3
LocalPlus Address Bit A19
hi - z
PCI Address Bit A19
logic 0
logic 0
PCI Data Bit D19
MPC5200B User’s Manual, Rev. 3
2-22
Freescale Semiconductor
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 8 of 17)
PIN / BALL NUMBER
Pin EXT_AD_18
Reset
Value
Function
Description
Ball V04
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A18
logic 0
D2
D18
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D2
A18
LFLASH
D2
hi - z
Large Flash Data Bit D2
MOST Graphics
D18
hi - z
MOST Graphics Data Bit D18
ATA
ATA_SA_2
hi - z
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A18
logic 0
logic 0
D18
Pin EXT_AD_17
hi - z
LocalPlus Address Bit A18
logic 0
LocalPlus Data Bit 2
LocalPlus Data Bit D18
hi - z
LocalPlus Data Bit D2
LocalPlus Address Bit A18
hi - z
PCI Address Bit A18
logic 0
logic 0
PCI Data Bit D18
Ball Y05
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A17
logic 0
D1
D17
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D1
A17
LFLASH
D1
hi - z
Large Flash Data Bit D1
MOST Graphics
D17
hi - z
MOST Graphics Data Bit D17
ATA
—
—
—
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A17
logic 0
logic 0
D17
LocalPlus Address Bit A17
logic 0
LocalPlus Data Bit 1
LocalPlus Data Bit D17
hi - z
LocalPlus Data Bit D1
LocalPlus Address Bit A17
hi - z
PCI Address Bit A17
logic 0
logic 0
PCI Data Bit D17
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-23
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 9 of 17)
PIN / BALL NUMBER
Pin EXT_AD_16
Function
Reset
Value
Description
Ball W04
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A16
logic 0
D0
D16
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
D0
A16
LFLASH
D0
hi - z
Large Flash Data Bit D0
MOST Graphics
D16
hi - z
MOST Graphics Data Bit D16
ATA
ATA_SA_0
hi - z
ATA_SA_0
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A16
logic 0
logic 0
D16
Pin EXT_AD_15
hi - z
LocalPlus Address Bit A16
logic 0
LocalPlus Data Bit 0
LocalPlus Data Bit D16
hi - z
LocalPlus Data Bit D0
LocalPlus Address Bit A16
hi - z
PCI Address Bit A16
logic 0
logic 0
PCI Data Bit D16
Ball U08
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A15
logic 0
logic 0
D15
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A15
A15
LFLASH
A15
hi - z
Large Flash Address Bit A15
MOST Graphics
D15
hi - z
MOST Graphics Data Bit D15
ATA
ATA_DATA_15 hi - z
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A15
logic 0
D15
D15
LocalPlus Address Bit A15
logic 0
logic 0
LocalPlus Data Bit D15
hi - z
LocalPlus Address Bit A15
LocalPlus Address Bit A15
ATA Data Bit 15
hi - z
PCI Address Bit A15
logic 0
PCI Data Bit D15
PCI Data Bit D15
MPC5200B User’s Manual, Rev. 3
2-24
Freescale Semiconductor
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 10 of 17)
PIN / BALL NUMBER
Pin EXT_AD_14
Function
Reset
Value
Description
Ball W09
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A14
logic 0
logic 0
D14
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A14
A14
LFLASH
A14
hi - z
Large Flash Address Bit A14
MOST Graphics
D14
hi - z
MOST Graphics Data Bit D14
ATA
ATA_DATA_14 hi - z
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A14
logic 0
D14
D14
Pin EXT_AD_13
hi - z
LocalPlus Address Bit A14
logic 0
logic 0
LocalPlus Data Bit D14
hi - z
LocalPlus Address Bit A14
LocalPlus Address Bit A14
ATA_DATA_14
hi - z
PCI Address Bit A14
logic 0
PCI Data Bit D14
PCI Data Bit D14
Ball V08
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A13
logic 0
logic 03
D13
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A13
A13
LFLASH
A13
hi - z
Large Flash Address Bit A13
MOST Graphics
D13
hi - z
MOST Graphics Data Bit D13
ATA
ATA_DATA_13 hi - z
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A13
logic 0
D13
D13
LocalPlus Address Bit A13
logic 0
logic 0
LocalPlus Data Bit D13
hi - z
LocalPlus Address Bit A13
LocalPlus Address Bit A13
ATA Data Bit D13
hi - z
PCI Address Bit A13
logic 0
PCI Data Bit D13
PCI Data Bit D13
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-25
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 11 of 17)
PIN / BALL NUMBER
Pin EXT_AD_12
Function
Reset
Value
Description
Ball Y09
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A12
logic 0
logic 0
D12
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A12
A12
LFLASH
A12
hi - z
Large Flash Address Bit A12
MOST Graphics
D12
hi - z
MOST Graphics Data Bit D12
ATA
ATA_DATA_12 hi - z
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A12
logic 0
D12
D12
Pin EXT_AD_11
hi - z
LocalPlus Address Bit A12
logic 0
logic 0
LocalPlus Data Bit D12
hi - z
LocalPlus Address Bit A12
LocalPlus Address Bit A12
ATA_DATA_12
hi - z
PCI Address Bit A12
logic 0
PCI Data Bit D12
PCI Data Bit D12
Ball V09
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A11
logic 0
logic 0
D11
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A11
A11
LFLASH
A11
hi - z
Large Flash Address Bit A11
MOST Graphics
D11
hi - z
MOST Graphics Data Bit D11
ATA
ATA_DATA_11 hi - z
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A11
logic 0
D11
D11
LocalPlus Address Bit A11
logic 0
logic 0
LocalPlus Data Bit D11
hi - z
LocalPlus Address Bit A11
LocalPlus Address Bit A11
ATA_DATA_11
hi - z
PCI Address Bit A11
logic 0
PCI Data Bit D11
PCI Data Bit D11
MPC5200B User’s Manual, Rev. 3
2-26
Freescale Semiconductor
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 12 of 17)
PIN / BALL NUMBER
Pin EXT_AD_10
Function
Reset
Value
Description
Ball Y10
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A10
logic 0
logic 0
D10
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A10
A10
LFLASH
A10
hi - z
Large Flash Address Bit A10
MOST Graphics
D10
hi - z
MOST Graphics Data Bit D10
ATA
ATA_DATA_10 hi - z
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A10
logic 0
D10
D10
Pin EXT_AD_9
hi - z
LocalPlus Address Bit A10
logic 0
logic 0
LocalPlus Data Bit D10
hi - z
LocalPlus Address Bit A10
LocalPlus Address Bit A10
ATA_DATA_10
hi - z
PCI Address Bit A10
logic 0
PCI Data Bit D10
PCI Data Bit D10
Ball V10
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A9
logic 0
logic 0
D9
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A9
A9
LFLASH
A9
hi - z
Large Flash Address Bit A9
MOST Graphics
D9
hi - z
MOST Graphics Data Bit D22
ATA
ATA_DATA_9
hi - z
ATA_DATA_9
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A9
logic 0
D9
D9
LocalPlus Address Bit A9
logic 0
logic 0
LocalPlus Data Bit D9
hi - z
LocalPlus Address Bit A9
LocalPlus Address Bit A9
hi - z
PCI Address Bit A9
logic 0
PCI Data Bit D9
PCI Data Bit D9
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-27
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 13 of 17)
PIN / BALL NUMBER
Pin EXT_AD_8
Function
Reset
Value
Description
Ball W11
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A8
logic 0
logic 0
D8
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A8
A8
LFLASH
A8
hi - z
Large Flash Address Bit A8
MOST Graphics
D8
hi - z
MOST Graphics Data Bit D8
ATA
ATA_DATA_8
hi - z
ATA_DATA_8
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A8
logic 0
D8
D8
Pin EXT_AD_7
hi - z
LocalPlus Address Bit A8
logic 0
logic 0
LocalPlus Data Bit D8
hi - z
LocalPlus Address Bit A8
LocalPlus Address Bit A8
hi - z
PCI Address Bit A8
logic 0
PCI Data Bit D8
PCI Data Bit D8
Ball Y11
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A7
logic 0
logic 0
D7
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A7
A7
LFLASH
A7
hi - z
Large Flash Address Bit A7
MOST Graphics
D7
hi - z
MOST Graphics Data Bit D7
ATA
ATA_DATA_7
hi - z
ATA_DATA_7
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A7
D7
D7
D7
LocalPlus Address Bit A7
logic 0
logic 0
LocalPlus Data Bit D7
hi - z
LocalPlus Address Bit A7
LocalPlus Address Bit A7
hi - z
PCI Address Bit A7
PCI Data Bit D7
PCI Data Bit D7
PCI Data Bit D7
MPC5200B User’s Manual, Rev. 3
2-28
Freescale Semiconductor
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 14 of 17)
PIN / BALL NUMBER
Pin EXT_AD_6
Function
Reset
Value
Description
Ball U11
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A6
logic 0
logic 0
D6
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A6
A6
LFLASH
A6
hi - z
Large Flash Address Bit A6
MOST Graphics
D6
hi - z
MOST Graphics Data Bit D6
ATA
ATA_DATA_6
hi - z
ATA_DATA_6
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A6
D6
D6
D6
Pin EXT_AD_5
hi - z
LocalPlus Address Bit A6
logic 0
logic 0
LocalPlus Data Bit D6
hi - z
LocalPlus Address Bit A6
LocalPlus Address Bit A6
hi - z
PCI Address Bit A6
PCI Data Bit D6
PCI Data Bit D6
PCI Data Bit D6
Ball W12
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A5
logic 0
logic 0
D5
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A5
A5
LFLASH
A5
hi - z
Large Flash Address Bit A5
MOST Graphics
D5
hi - z
MOST Graphics Data Bit D5
ATA
ATA_DATA_5
hi - z
ATA_DATA_5
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A5
D5
D5
D5
LocalPlus Address Bit A5
logic 0
logic 0
LocalPlus Data Bit D5
hi - z
LocalPlus Address Bit A5
LocalPlus Address Bit A5
hi - z
PCI Address Bit A5
PCI Data Bit D5
PCI Data Bit D5
PCI Data Bit D5
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-29
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 15 of 17)
PIN / BALL NUMBER
Pin EXT_AD_4
Function
Reset
Value
Description
Ball V11
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A4
logic 0
logic 0
D4
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A4
A4
LFLASH
A4
hi - z
Large Flash Address Bit A4
MOST Graphics
D4
hi - z
MOST Graphics Data Bit D4
ATA
ATA_DATA_4
hi - z
ATA_DATA_4
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A4
D4
D4
D4
Pin EXT_AD_3
hi - z
LocalPlus Address Bit A4
logic 0
logic 0
LocalPlus Data Bit D4
hi - z
LocalPlus Address Bit A4
LocalPlus Address Bit A4
hi - z
PCI Address Bit A4
PCI Data Bit D4
PCI Data Bit D4
PCI Data Bit D4
Ball Y12
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A3
logic 0
logic 0
D3
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A3
A3
LFLASH
A3
hi - z
Large Flash Address Bit A3
MOST Graphics
D3
hi - z
MOST Graphics Data Bit D3
ATA
ATA_DATA_3
hi - z
ATA_DATA_3
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A3
D3
D3
D3
LocalPlus Address Bit A3
logic 0
logic 0
LocalPlus Data Bit D3
hi - z
LocalPlus Address Bit A3
LocalPlus Address Bit A3
hi - z
PCI Address Bit A3
PCI Data Bit D3
PCI Data Bit D3
PCI Data Bit D3
MPC5200B User’s Manual, Rev. 3
2-30
Freescale Semiconductor
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 16 of 17)
PIN / BALL NUMBER
Pin EXT_AD_2
Function
Reset
Value
Description
Ball V12
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A2
logic 0
logic 0
D2
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A2
A2
LFLASH
A2
hi - z
Large Flash Address Bit A2
MOST Graphics
D2
hi - z
MOST Graphics Data Bit D2
ATA
ATA_DATA_2
hi - z
ATA_DATA_2
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A2
D2
D2
D2
Pin EXT_AD_1
hi - z
LocalPlus Address Bit A2
logic 0
logic 0
LocalPlus Data Bit D2
hi - z
LocalPlus Address Bit A2
LocalPlus Address Bit A2
hi - z
PCI Address Bit A2
PCI Data Bit D2
PCI Data Bit D2
PCI Data Bit D2
Ball W13
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A1
logic 0
logic 0
D1
hi - z
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A1
A1
LFLASH
A1
hi - z
Large Flash Address Bit A1
MOST Graphics
D1
hi - z
MOST Graphics Data Bit D1
ATA
ATA_DATA_1
hi - z
ATA_DATA_1
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A1
D1
D1
D1
LocalPlus Address Bit A1
logic 0
logic 0
LocalPlus Data Bit D1
hi - z
LocalPlus Address Bit A1
LocalPlus Address Bit A1
hi - z
PCI Address Bit A1
PCI Data Bit D1
PCI Data Bit D1
PCI Data Bit D1
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-31
Signal Descriptions
Table 2-5. LocalPlus Bus Address / Data Signals (Sheet 17 of 17)
PIN / BALL NUMBER
Pin EXT_AD_0
Function
Reset
Value
Description
Ball V13
LocalPlus Bus multiplexed mode
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A0
logic 0
logic 0
D0
LocalPlus non-mux
16-bit addr/16-bit data
24-bit addr/8-bit data
A0
A0
LFLASH
A0
hi - z
Large Flash Address Bit A0
MOST Graphics
D0
hi - z
MOST Graphics Data Bit D0
ATA
ATA_DATA_0
hi - z
ATA_DATA_0
PCI
Address Phase
8-Bit Data Phase
16-Bit Data Phase
32-Bit Data Phase
A0
logic 0
logic 0
D0
hi - z
LocalPlus Address Bit A0
logic 0
logic 0
LocalPlus Data Bit D0
hi - z
LocalPlus Address Bit A0
LocalPlus Address Bit A0
hi - z
PCI Address Bit A0
PCI Data Bit 0
PCI Data Bit 0
PCI Data Bit D0
MPC5200B User’s Manual, Rev. 3
2-32
Freescale Semiconductor
Signal Descriptions
Table 2-6. PCI Dedicated Signals
Pin / Ball Number
Pin PCI_PAR
Function
Reset
Value
Description
Ball V07
PCI
PCI_PAR
logic 1
PCI Bus Parity
LFLASH
A16
logic 1
Large Flash Address Bit A16
MOST Graphics
A0
logic 1
MOST Graphics Address Bit A0
PCI
PCI_CBE_0
logic 1
PCI Command Byte Enable 0
LFLASH
A17
logic 1
Large Flash Address Bit A17
MOST Graphics
A1
logic 1
MOST Graphics Address Bit A1
PCI
PCI_CBE_1
logic 1
PCI Command Byte Enable 1
LFLASH
A18
logic 1
Large Flash Address Bit A18
MOST Graphics
A2
logic 1
MOST Graphics Address Bit A2
PCI
PCI_CBE_2
logic 1
PCI Command Byte Enable 2
LFLASH
A19
logic 1
Large Flash Address Bit A19
MOST Graphics
A3
logic 1
MOST Graphics Address Bit A3
PCI
PCI_CBE_3
logic 1
PCI Command Byte Enable 3
LFLASH
A20
logic 1
Large Flash Address Bit A20
MOST Graphics
A4
logic 1
MOST Graphics Address Bit A4
PCI
PCI_TRDY
logic 1
PCI_TRDY
PCI Target Ready
LFLASH
A21
logic 1
Large Flash Address Bit A21
MOST Graphics
A5
logic 1
MOST Graphics Address Bit A5
PCI
PCI_IRDY
logic 1
PCI Initiator (HOST) Ready
LFLASH
A22
logic 1
Large Flash Address Bit A22
MOST Graphics
A6
logic 1
MOST Graphics Address Bit A6
Pin PCI_CBE_0
Pin PCI_CBE_1
Pin PCI_CBE_2
Pin PCI_CBE_3
Pin PCI_TRDY
Pin PCI_IRDY
Ball W10
Ball Y08
Ball W06
Ball Y02
Ball W05
Ball Y06
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-33
Signal Descriptions
Table 2-6. PCI Dedicated Signals (continued)
Pin / Ball Number
Pin PCI_STOP
Reset
Value
Function
Description
Ball V06
PCI
PCI_STOP
logic 1
PCI Transition Stop
LFLASH
A23
logic 1
Large Flash Address Bit A23
MOST Graphics
A7
logic 1
MOST Graphics Address Bit A7
PCI
PCI_DEVSEL
logic 1
PCI Device Select
LFLASH
A24
logic 1
Large Flash Address Bit A24
MOST Graphics
A8
logic 1
MOST Graphics Address Bit A8
PCI
PCI_FRAME
logic 1
PCI Frame Start
LFLASH
A25
logic 1
Large Flash Address Bit A25
MOST Graphics
A9
logic 1
MOST Graphics Address Bit A9
PCI
PCI_SERR
logic 1
PCI System Error (open drain)
MOST Graphics
A10
logic 1
MOST Graphics Address Bit A10
PCI
PCI_SERR
logic 1
PCI Parity Error
MOST Graphics
A11
logic 1
MOST Graphics Address Bit A11
PCI
PCI_IDSEL
logic 1
PCI Initial Device Select
MOST Graphics
A12
logic 1
MOST Graphics Address Bit A12
PCI
PCI_REQ
logic 1
PCI Bus Request
MOST Graphics
A13
logic 1
MOST Graphics Address Bit A13
PCI
PCI_GNT
logic 1
PCI Bus Grant
MOST Graphics
A14
logic 1
MOST Graphics Address Bit A14
PCI_CLOCK
clk
PCI Clock
PCI
PCI_RESET
logic 0
PCI Reset Output (open drain)
MOST Graphics
A15
logic 0
MOST Graphics Address Bit A15
Pin PCI_DEVSEL
Pin PCI_FRAME
Pin PCI_SERR
Pin PCI_PERR
Pin PCI_IDSEL
Pin PCI_REQ
Pin PCI_GNT
Pin PCI_CLOCK
Ball W07
Ball V05
Ball W08
Ball Y07
Ball U02
Ball U01
Ball R04
Ball T01
PCI
Pin PCI_RESET
Ball R02
MPC5200B User’s Manual, Rev. 3
2-34
Freescale Semiconductor
Signal Descriptions
Table 2-7. ATA Dedicated Signals
PIN / BALL NUMBER
Pin ATA_DRQ
Function
Reset
Value
Description
Ball V17
ATA
ATA_DRQ
logic 0
ATA DMA Request
MOST Graphics
A16
logic 0
MOST Graphics Address Bit A16
ATA
ATA_DACK
logic 1
ATA DMA Request
MOST Graphics
A17
logic 1
MOST Graphics Address Bit A17
Pin ATA_DACK
Ball Y18
RESET Config.
Pin ATA_IOR
bit 0 - ppc_pll_cfg_4
Ball Y17
ATA
ATA_IOR
logic 1
ATA read - 0, no read - 1
MOST Graphics
A18
logic 1
MOST Graphics Address Bit A18
RESET Config.
RST_CFG1
Pin ATA_IOW
bit 1- ppc_pll_cfg_3
Ball W17
ATA
ATA_IOW
logic 1
ATA write - 0, no write - 1
MOST Graphics
A19
logic 1
MOST Graphics Address Bit A19
RESET Config.
RST_CFG2
Pin ATA_IOCHDRY
bit 2 - ppc_pll_cfg_2
Ball W18
ATA
ATA_IOCHDRY
logic 1
ATA negated to extend transfer
MOST Graphics
A20
logic 1
MOST Graphics Address Bit A20
ATA
ATA_INTRQ
logic 1
ATA Interrupt Request
MOST Graphics
A21
logic 1
MOST Graphics Address Bit A21
ATA
ATA_ISOLATION
logic 1
ATA Levelshifter control signal
MOST Graphics
A22
logic 1
MOST Graphics Address Bit A22
Pin ATA_INTRQ
Pin ATA_ISOLATION
Ball Y19
Ball Y16
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-35
Signal Descriptions
Table 2-8. LocalPlus Dedicated Signals
PIN / BALL NUMBER
Pin LP_RW
Function
Reset
Value
Description
Ball W16
LocalPlus
Read/Write
logic 1
LocalPlus Read/Write LIne
Reset Configuration
RST_CFG3
logic 1
Bit 3 - ppc_pll_cfg_1
LocalPlus
Address Latch
Enable
logic 1
LocalPlus Address Latch Enable for Multiplexed Transitions
MOST Graphics
A23
logic 1
MOST Graphics Address Bit A23
Reset Configuration
RST_CFG4
logic 1
Bit 4 ppc_pll_cfg_0
Pin LP_ALE
Pin LP_ACK
Ball V14
Ball U14
LocalPlus
LP Acknowledge logic 1
Acknowledge signal for LP peripherals. Acknowledge signal
for Large Flash or MOST Graphics, if bursts are not enabled.
LFLASH
BRST
logic 1
BURST indication for Large Flash, if bursts are enabled
MOST Graphics
BRST
logic 1
BURST indication for MOST Graphics, if bursts are enabled
Pin LP_TS
Ball Y13
LocalPlus
LP Transfer Start logic 1
LocalPlus Transfer Start
Reset Configuration 5
RST_CFG5
logic 1
Bit 5 - xlb_clk_sel
bit = 0: XLB_CLK = fsystem / 4
bit = 1: XLB_CLK = fsystem / 8
LP Output
Enable
logic 1
LocalPlus Output Enable
Pin LP_OE
LocalPlus
Ball D08
MPC5200B User’s Manual, Rev. 3
2-36
Freescale Semiconductor
Signal Descriptions
UART1(e)
CODEC1
5
4
AC971
GPIO
5
5
Pin Drivers and MUX Logic
PSC_0
PSC_2
PSC_1
PSC_3
PSC_4
Function
Port_conf
[29:31]
GPIO
00X
GPIO
AC97_1
01X
AC97_1_SDATA_OUT AC97_1_SDATA_IN AC97_1_SYNC AC97_1_BITCLK AC97_1_RES
UART1
100
UART1_TXD
UART1_RXD
UART1_RTS
UART2_CTS
GPIO_W/WAKE_UP
UART1e
101
UART1e_TXD
UART1e_RXD
UART1e_RTS
UART1e_CTS
UART1e_DCD
CODEC1
110
CODEC1_TXD
CODEC1_RXD
GPIO
CODEC1_CLK
CODEC1_FRAME
CODEC1
w/ MCLK
111
CODEC1_w/
MCLK_TXD
CODEC1_w/
MCLK_RXD
CODEC1_w/
MCLK_MCLK
CODEC1_w/
MCLK_CLK
CODEC1_w/
MCLK_FRAME
PSC_0
PSC_1
GPIO
PSC_2
GPIO
PSC_3
PSC_4
GPIO
GPIO_W/WAKE_UP
Notes:
1. CODEC usage leaves pin 3 open for simple GPIO.
2. If port otherwise unused, all five pins are available as GPIO.
3. CODEC plus additional GPIO from elsewhere can implement Soft Modem or RS-232 functionality.
4. AC’97 usage is limited to PSC1 and PSC2.
Figure 2-4. PSC1 Port Map—5 Pins
Table 2-9. PSC1 Pin Functions
Pin Name
Dir.
GPIO
AC97_1
UART1
UART1e
CODEC1
CODEC1 w/
MCLK
PSC1_0
I/O
GPIO
AC97_1_SDATA_
OUT
UART1_TXD
UART1e_TXD
CODEC1_
TXD
CODEC1_w/
MCLK_TXD
PSC1_1
I/O
GPIO
AC97_1_SDATA_IN
UART1_RXD
UART1e_RXD
CODEC1_
RXD
CODEC1_w/
MCLK_RXD
PSC1_2
I/O
GPIO
AC97_1_SYNC
UART1_RTS
UART1e_RTS
GPIO
CODEC1_w/
MCLK_MCLK
PSC1_3
I/O
GPIO
AC97_1_BITCLK
UART1_CTS
UART1e_CTS
CODEC1_CLK
CODEC1_w/
MCLK_CLK
PSC1_4
I/O
GPIO_W/
WAKE_
UP
AC97_1_RES
GPIO_W/
WAKE_UP
UART1e_DCD
CODEC1_
FRAME
CODEC1_w/
MCLK_FRAME
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-37
Signal Descriptions
Table 2-10. PSC1 Functions by Pin
Pin / Ball Number
Pin PSC1_0
Function
Reset
Value
Description
Ball B11
GPIO
hi - z
GPIO
Simple General Purpose I/O
AC97_1
hi - z
AC97_1_SDATA_OUT
AC97 Serial Data Out
UART1
hi - z
UART1_TXD
Transmit Data
UART1e
hi - z
UART1e_TXD
Transmit Data
CODEC1
hi - z
CODEC1_TXD
Transmit Data
CODEC1_w/MCLK
hi - z
CODEC1_w/MCLK_TXD
Transmit Data
GPIO
hi - z
GPIO
Simple General Purpose I/O
AC97_1
hi - z
AC97_1_SDATA_IN
AC97 Serial Data In
UART1
hi - z
UART1_RXD
Receive Data
UART1e
hi - z
UART1e_RXD
Receive Data
CODEC1
hi - z
CODEC1_RXD
Receive Data
CODEC1_w/MCLK
hi - z
CODEC1_w/MCLK_RXD
Receive Data
GPIO
hi - z
GPIO
Simple General Purpose I/O
AC97_1
hi - z
AC97_1_SYNC
AC97 Frame Sync
UART1
hi - z
UART1_RTS
Ready To Send
UART1e
hi - z
UART1e_RTS
Ready To Send
CODEC1
hi - z
GPIO
Simple General Purpose I/O
CODEC1_w/MCLK
hi - z
CODEC1_w/MCLK _MCLK
Pin PSC1_1
Pin PSC1_2
Ball A11
Ball C10
MPC5200B User’s Manual, Rev. 3
2-38
Freescale Semiconductor
Signal Descriptions
Table 2-10. PSC1 Functions by Pin (continued)
Pin / Ball Number
Pin PSC1_3
Function
Reset
Value
Description
Ball B10
GPIO
hi - z
GPIO
Simple General Purpose I/O
AC97_1
hi - z
AC97_1_BITCLK
AC97 Bit Clock
UART1
hi - z
UART1_CTS
UART Clear To Send
UART1e
hi - z
UART1e_CTS
UARTe Clear To Send
CODEC1
hi - z
CODEC1_CLK
CODEC Bit Clock
CODEC1_w/MCLK
hi - z
CODEC1_w/MCLK_CLK
CODEC Bit Clock
GPIO
hi - z
GPIO
Simple General Purpose I/O with WAKE UP
AC97_1
hi - z
AC97_1_RES
AC97 Reset
UART1
hi - z
GPIO
Simple General Purpose I/O with WAKE UP
UART1e
hi - z
UART1e_DCD
UARTe Carrier Detect
CODEC1
hi - z
CODEC1_FRAME
CODEC Frame Sync
CODEC1_w/MCLK
hi - z
CODEC1_w/MCLK_FRAME
CODEC Frame Sync
Pin PSC1_4
Ball A10
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-39
Signal Descriptions
UART2(e)
CODEC2
5
AC972
4
CAN1/2
GPIO
4
5
5
Pin Drivers and MUX Logic
PSC2_0
PSC2_1
PSC2_2
PSC2_3
PSC2_4
Function
Port_conf
[25:27]
GPIO
000
GPIO
GPIO
GPIO
GPIO
GPIO_W/WAKE_UP
CAN1/2
001
CAN1_TX
CAN1_RX
CAN2_TX
CAN2_RX
GPIO_W/WAKE_UP
AC97_2
01X
AC97_2_SDATA_OUT AC97_2_SDATA_IN AC97_2_SYNC AC97_2_BITCLK AC97_2_RES
UART2
100
UART2_TXD
UART2_RXD
UART2_RTS
UART2_CTS
GPIO_W/WAKE_UP
UART2e
101
UART2e_TXD
UART2e_RXD
UART2e_RTS
UART2e_CTS
UART2e_DCD
CODEC2
110
CODEC2_TXD
CODEC2_RXD
GPIO
CODEC2_CLK
CODEC2_FRAME
CODEC2 w/
MCLK
111
CODEC2_w/
MCLK_TXD
CODEC2_w/
MCLK_RXD
CODEC2_w/
MCLK_MCLK
CODEC2_w/
MCLK_CLK
CODEC2_w/
MCLK_FRAME
PSC_0
PSC_1
PSC_2
PSC_3
PSC_4
Notes:
1.
2.
3.
4.
5.
CODEC usage leaves pin 3 open for simple GPIO.
CAN usage leaves pin 5 open for WakeUp GPIO.
CODEC plus additional GPIO from elsewhere can implement Soft Modem or RS-232 functionality.
AC97 usage is limited to PSC1 or PSC2.
MSCAN ports 1 and 2 can be configured here or on timer/I2C ports. They cannot be split.
(i.e., put CAN1 on PSC2 and CAN2 on the timer port).
6. CAN RX input supports WakeUp functionality.
Figure 2-5. PSC2 Port Map—5 Pins
Table 2-11. PSC2 Pin Functions
Pin
Name
Dir.
GPIO
CAN1/2
AC97_2
UART2
UART2e
CODEC2
PSC2_0
I/O
GPIO
CAN1_TX
AC97_2_SDATA_OUT
UART2_TXD
UART2e_TXD
CODEC2_TXD
CODEC2_w/
MCLK_TXD
PSC2_1
I/O
GPIO
CAN1_RX
AC97_2_SDATA_IN
UART2_RXD
UART2e_RXD
CODEC2_RXD
CODEC2_w/
MCLK_RXD
PSC2_2
I/O
GPIO
CAN2_TX
AC97_2_SYNC
UART2_RTS
UART2e_RTS
GPIO
CODEC2_w/
MCLK_MCLK
PSC2_3
I/O
GPIO
CAN2_RX
AC97_2_BITCLK
UART2_CTS
UART2e_CTS
CODEC2_CLK
CODEC2_w/
MCLK_CLK
PSC2_4
I/O
GPIO_w/
WAKE_UP
GPIO_w/
WAKE_UP
AC97_2_RES
GPIO_w/
WAKE_UP
UART2e_DCD CODEC2_FRAME
CODEC2 w/
MCLK
CODEC2_w/
MCLK_FRAME
MPC5200B User’s Manual, Rev. 3
2-40
Freescale Semiconductor
Signal Descriptions
Table 2-12. PSC2 Functions by Pin
Pin / Ball Number
Pin PSC2_0
Function
Reset
Value
Description
Ball C09
GPIO
hi - z
GPIO
Simple General Purpose I/O
CAN1, CAN2
hi - z
CAN1_TX
CAN Transmit
AC97_2
hi - z
AC97_2_SDATA_OUT
AC97 Serial Data Out
UART2
hi - z
UART2_TXD
Transmit Data
UART2e
hi - z
UART2e_TXD
Transmit Data
CODEC2
hi - z
CODEC2_TXD
Transmit Data
CODEC2_w/MCLK
hi - z
CODEC2_w/MCLK_TXD
Transmit Data
GPIO
hi - z
GPIO
Simple General Purpose I/O
CAN_1, CAN_2
hi - z
CAN1_RX
CAN Receive
AC97_2
hi - z
AC97_2_SDATA_IN
AC97 Serial Data In
UART2
hi - z
UART2_RXD
Receive Data
UART2e
hi - z
UART2e_RXD
Receive Data
CODEC2
hi - z
CODEC2_RXD
Receive Data
Pin PSC2_1
Ball B09
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-41
Signal Descriptions
Table 2-12. PSC2 Functions by Pin (continued)
Pin / Ball Number
Pin PSC2_2
Function
Reset
Value
Description
Ball A09
GPIO
hi - z
GPIO
Simple General Purpose I/O
CAN1, CAN2
hi - z
CAN2_TX
CAN Transmit
AC97_2
hi - z
AC97_2_SYNC
AC97 Frame Sync
UART2
hi - z
UART2_RTS
Ready To Send
UART2e
hi - z
UART2e_RTS
Ready To Send
CODEC2
hi - z
GPIO
Simple General Purpose I/O
GPIO
hi - z
GPIO
Simple General Purpose I/O
CAN1, CAN2
hi - z
CAN2_RX
CAN Receive Data
AC97_2
hi - z
AC97_2_BITCLK
AC97 Bit Clock
UART2
hi - z
UART2_CTS
UART Clear To Send
UART2e
hi - z
UART2e_CTS
UARTe Clear To Send
CODEC2
hi - z
CODEC2_CLK
CODEC Bit Clock
GPIO
hi - z
GPIO
Simple General Purpose I/O with WAKE UP
CAN1, CAN2
hi - z
GPIO
Simple General Purpose I/O with WAKE UP
AC97_2
hi - z
AC97_2_RES
AC97 Reset
UART2
hi - z
GPIO
Simple General Purpose I/O with WAKE UP
UART2e
hi - z
UART2e_DCD
UARTe Carrier Detect
CODEC2
hi - z
CODEC2_FRAME
CODEC Frame
Pin PSC2_3
Pin PSC2_4
Ball B08
Ball A08
MPC5200B User’s Manual, Rev. 3
2-42
Freescale Semiconductor
Signal Descriptions
UART3(e)
CODEC3
5
4
USB2
SPI
10
GPIO
10
4
Pin Drivers and MUX Logic
PSC3_0
Function
Port_
conf
[20:23]
GPIO
0000
GPIO
GPIO
USB2
0001
USB2_OE
UART3
0100
UART3e
PSC3_0
PSC3_1 PSC3_2 PSC3_3 PSC3_4 PSC3_5 PSC3_6 PSC3_7 PSC3_8
PSC3_1
PSC3_2
GPIO
PSC3_3
GPIO
PSC3_4
PSC3_5
PSC3_6
LP_CS_6_ LP_CS_7_ GPIO
GPIO/
GPIO/
INTERRUPT INTERRUPT
PSC3_7
PSC3_8
PSC3_9
PSC3_9
GPIO
GPIO/
GPIO_W/
INTERRUPT WAKE-UP
USB2_TXN USB2_TXP USB2_RXD USB2_RXP USB2_RXN USB2_
PRTPWR
USB2_
SPEED
USB2_
SUSPEND
UART3_
TXD
UART3_
RXD
UART3_
RTS
UART3_
CTS
LP_CS_6
LP_CS_7
GPIO
GPIO
GPIO/
GPIO_W/
INTERRUPT WAKE_UP
0101
UART3e_
TXD
UART3e_
RXD
UART3e_
RTS
UART3e_
CTS
UART3e_
DCD
LP_CS_7
GPIO
GPIO
GPIO/
GPIO_W/
INTERRUPT WAKE_UP
CODEC3
0110
CODEC3_
TXD
CODEC3_
RXD
CODEC3_
CLK
CODEC3_
FRAME
LP_CS_6
LP_CS_7
GPIO
GPIO
GPIO/
GPIO_W/
INTERRUPT WAKE_UP
CODEC3 w/
MCLK
0111
CODEC3_ CODEC3_ CODEC3_
w/
w/
w/MCLK_
MCLK_TXD MCLK_RXD CLK
CODEC3_w LP_CS_6
/MCLK_
FRAME
LP_CS_7
CODEC3_w GPIO
/MCLK_
MCLK
GPIO/
GPIO_W/
INTERRUPT WAKE-UP
SPI
100X
GPIO
GPIO
GPIO
GPIO
LP_CS_6
LP_CS_7
SPI_MOSI
SPI_MISO
SPI_SS
SPI_CLK
UART3 /
SPI
1100
UART3_
TXD
UART3_
RXD
UART3_
RTS
UART3_
CTS
LP_CS_6
LP_CS_7
SPI_MOSI
SPI_MISO
SPI_SS
SPI_CLK
UART3e /
SPI
1101
UART3e_
TXD
UART3e_
RXD
UART3e_
RTS
UART3e_
CTS
UART3e_
DCD
LP_CS_7
SPI_MOSI
SPI_MISO
SPI_SS
SPI_CLK
CODEC3 /
SPI
111X
CODEC3_
TXD
CODEC3_
RXD
CODEC3_
CLK
CODEC3_
FRAME
LP_CS_6
LP_CS_7
SPI_MOSI
SPI_MISO
SPI_SS
SPI_CLK
USB2_OVRCNT
Notes:
1. If Soft Modem or RS-232 functionality is desired, use UARTe/CODEC function and use available
GPIO from this or any other port.
2. Second USB port (USB2) can be configured on PSC3 or on the Ethernet port, but not both locations.
3. PSC3_4 can be configured to be LP_CS6 or an interrupt GPIO, except when PS3 is in USB2 or UART3e modes
In these modes, CS6 is not available.
4. PSC3_5 can be configured to be LP_CS7 or an interrupt GPIO, except when PS3 is in USB2 mode.
In this mode, LP_CS7 is not available.
Figure 2-6. PSC3 Port Map—10 Pins
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-43
Signal Descriptions
Table 2-13. PSC3 Pin Functions
Pin Name
Dir.
GPIO
USB2
UART3
UART3e
CODEC3
PSC3_0
I/O (O)
GPIO
USB2_OE
UART3_TXD
UART3e_TXD
CODEC3_TXD
PSC3_1
I/O(I)
GPIO
USB2_TXN
UART3_RXD
UART3e_RXD
CODEC3_RXD
PSC3_2
I/O(I)
GPIO
USB2_TXP
UART3_RTS
UART3e_RTS
CODEC3_CLK
PSC3_3
I/O(I)
GPIO
USB2_RXD
UART3_CTS
UART3e_CTS
CODEC3_FRAME
PSC3_4
I/O(I)
LP_CS_6_
GPIO/INTERRUPT
USB2_RXP
LP_CS_6
UART3e_DCD
LP_CS_6
PSC3_5
I/O
LP_CS_7_
GPIO/INTERRUPT
USB2_RXN
LP_CS_7
LP_CS_7
LP_CS_7
PSC3_6
I/O
GPIO
USB2_PRTPWR
GPIO
GPIO
GPIO
PSC3_7
I/O
GPIO
USB2_SPEED
GPIO
GPIO
GPIO
PSC3_8
I/O
GPIO_
INTERRUPT_8
USB2_SUSPEND
GPIO_INTERRUPT
GPIO_INTERRUPT
GPIO_INTERRUPT
PSC3_9
I/O
GPIO_W/WAKE-UP
USB2_OVRCNT
GPIO_W/WAKE_UP
GPIO_W/WAKE_UP
GPIO_W/WAKE_UP
Table 2-14. PSC3 Pin Functions
Pin Name
Dir.
CODEC3 w/ M
SPI
UART3 / SPI
UART3e / SPI
CODEC3 / SPI
PSC3_0
I/O
CODEC3_w/MCLK_TXD
GPIO
UART3_TXD
UART3e_TXD
CODEC3_TXD
PSC3_1
I/O
CODEC3_w/MCLK_RXD
GPIO
UART3_RXD
UART3e_RXD
CODEC3_RXD
PSC3_2
I/O
CODEC3_w/MCLK_CLK
GPIO
UART3_RTS
UART3e_RTS
CODEC3_CLK
PSC3_3
I/O
CODEC3_w/MCLK_FRAME
GPIO
UART3_CTS
UART3e_CTS
CODEC3_FRAME
PSC3_4
I/O
LP_CS_6
LP_CS_6
LP_CS_6
UART3e_DCD
LP_CS_6
PSC3_5
I/O
LP_CS_7
LP_CS_7
LP_CS_7
LP_CS_7
LP_CS_7
PSC3_6
I/O
CODEC3_w/MCLK_MCLK
SPI_MOSI
SPI_MOSI
SPI_MOSI
SPI_MOSI
PSC3_7
I/O
GPIO
SPI_MISO
SPI_MISO
SPI_MISO
SPI_MISO
PSC3_8
I/O
GPIO_INTERRUPT
SPI_SS
SPI_SS
SPI_SS
SPI_SS
PSC3_9
I/O
GPIO_W/WAKE-UP
SPI_CLK
SPI_CLK
SPI_CLK
SPI_CLK
MPC5200B User’s Manual, Rev. 3
2-44
Freescale Semiconductor
Signal Descriptions
Table 2-15. PSC3 Functions by Pin (Sheet 1 of 7)
Pin / Ball Number
Pin PSC3_0
Function
Reset
Value
Description
Ball C07
GPIO
hi - z
GPIO
Simple General Purpose I/O
USB2
hi - z
USB2_OE
USB Output Enable
UART3
hi - z
UART3_TXD
Uart Transmit Data
UART3e
hi - z
UART3e_TXD
Uart Transmit Data
CODEC3
hi - z
CODEC3_TXD
CODEC Transmit Data
CODEC3_w/MCLK
hi - z
CODEC3_w/MCLK_TXD
CODEC Transmit Data
SPI
hi - z
GPIO
Simple General Purpose I/O
UART3, SPI
hi - z
UART3_TXD
Uart Transmit Data
UART3e,SPI
hi - z
UART3e_TXD
Uart Transmit Data
CODEC3, SPI
hi - z
CODEC3_TXD
CODEC Transmit Data
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-45
Signal Descriptions
Table 2-15. PSC3 Functions by Pin (Sheet 2 of 7)
Pin / Ball Number
Pin PSC3_1
Function
Reset
Value
Description
Ball B07
GPIO
hi - z
GPIO
Simple General Purpose I/O
USB2
hi - z
USB2_TXN
USB Transmit Negative
UART3
hi - z
UART3_RXD
Uart Receive Data
UART3e
hi - z
UART3e_RXD
Uart Receive Data
CODEC3
hi - z
CODEC3_RXD
CODEC Receive Data
CODEC3_w/MCLK
hi - z
CODEC3_w/MCLK_RXD
CODEC Receive Data
SPI
hi - z
GPIO
Simple General Purpose I/O
UART3, SPI
hi - z
UART3_RXD
Uart Receive Data
UART3e,SPI
hi - z
UART3e_RXD
Uart Receive Data
CODEC3, SPI
hi - z
CODEC3_RXD
CODEC Receive Data
MPC5200B User’s Manual, Rev. 3
2-46
Freescale Semiconductor
Signal Descriptions
Table 2-15. PSC3 Functions by Pin (Sheet 3 of 7)
Pin / Ball Number
Pin PSC3_2
Function
Reset
Value
Description
Ball A07
GPIO
hi - z
GPIO
Simple General Purpose I/O
USB2
hi - z
USB2_TXP
USB Transmit Positive
UART3
hi - z
UART3_RTS
Uart Ready To Send
UART3e
hi - z
UART3e_RTS
Uart Ready To Send
CODEC3
hi - z
CODEC3_CLK
CODEC Bit Clock
CODEC3_w/MCLK
hi - z
CODEC3_w/MCLK_CLK
CODEC Bit Clock
SPI
hi - z
GPIO
Simple General Purpose I/O
UART3, SPI
hi - z
UART3_RTS
Uart Ready to Send
UART3e, SPI
hi - z
UART3_RTS
Uart Ready To Send
CODEC3, SPI
hi - z
CODEC3_CLK
CODEC Clock
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-47
Signal Descriptions
Table 2-15. PSC3 Functions by Pin (Sheet 4 of 7)
Pin / Ball Number
Pin PSC3_3
Function
Reset
Value
Description
Ball C06
GPIO
hi - z
GPIO
Simple General Purpose I/O
USB2
hi - z
USB2_RXD
USB Receive Data
UART3
hi - z
UART3_CTS
Uart Clear To Send
UART3e
hi - z
UART3e_CTS
Uart Clear To Send
CODEC3
hi - z
CODEC3_FRAME
CODEC Frame Sync
CODEC3_w/MCLK
hi - z
CODEC3_w/MCLK_FRAME
CODEC Frame Sync
SPI
hi - z
GPIO
Simple General Purpose I/O
UART3, SPI
hi - z
UART3_CTS
Uart Clear to Send
UART3e, SPI
hi - z
UART3e_CTS
Uart Clear To Send
CODEC3, SPI
hi - z
CODEC3_FRAME
CODEC Frame Sync
GPIO
hi - z
LP_CS_6_GPIO_INTERRUPT
USB2
hi - z
USB2_RXP
USB Receive Positive
UART3
hi - z
LP_CS_6_GPIO_INTERRUPT
UART3e
hi - z
UART3e_DCD
UART3e Carrier Detect
CODEC3
hi - z
LP_CS_6
CODEC3_w/MCLK
hi - z
LP_CS_6
SPI
hi - z
LP_CS_6
UART3, SPI
hi - z
LP_CS_6
UART3e,SPI
hi - z
UART3e_DCD
UART3e Carrier Detect
CODEC3, SPI
hi - z
LP_CS_6
Pin PSC3_4
Ball B06
MPC5200B User’s Manual, Rev. 3
2-48
Freescale Semiconductor
Signal Descriptions
Table 2-15. PSC3 Functions by Pin (Sheet 5 of 7)
Pin / Ball Number
Pin PSC3_5
Function
Reset
Value
Description
Ball A06
GPIO
hi - z
LP_CS_7_GPIO_INTERRUPT
USB2
hi - z
USB2_RXN
USB Receive Positive
UART3
hi - z
LP_CS_7
UART3e
hi - z
LP_CS_7
CODEC3
hi - z
LP_CS_7
CODEC3_w/MCLK
hi - z
CODEC3_w/MCLK_MCLK
CODEC Clock
SPI
hi - z
LP_CS_7
UART3, SPI
hi - z
LP_CS_7
UART3e,SPI
hi - z
LP_CS_7
CODEC3, SPI
hi - z
LP_CS_7
GPIO
hi - z
GPIO
Simple General Purpose I/O
USB2
hi - z
USB2_PRTPWR
USB Port Power
UART3
hi - z
GPIO
Simple General Purpose I/O
UART3e
hi - z
GPIO_
Simple General Purpose I/O
CODEC3
hi - z
GPIO
Simple General Purpose I/O
CODEC3_w/MCLK
hi - z
LP_CS_7
SPI
hi - z
SPI_MOSI
SPI_Master Out Slave In
UART3, SPI
hi - z
SPI_MOSI
SPI_Master Out Slave In
UART3e, SPI
hi - z
SPI_MOSI
SPI_Master Out Slave In
CODEC3, SPI
hi - z
SPI_MOSI
SPI_Master Out Slave In
Pin PSC3_6
Ball C05
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-49
Signal Descriptions
Table 2-15. PSC3 Functions by Pin (Sheet 6 of 7)
Pin / Ball Number
Pin PSC3_7
Function
Reset
Value
Description
Ball B05
GPIO
hi - z
GPIO
Simple General Purpose I/O
USB2
hi - z
USB2_SPEED
USB Speed
UART3
hi - z
GPIO
Simple General Purpose I/O
UART3e
hi - z
GPIO
Simple General Purpose I/O
CODEC3
hi - z
GPIO
Simple General Purpose I/O
CODEC3_w/MCLK
hi - z
GPIO
Simple General Purpose I/O
SPI
hi - z
SPI_MISO
SPI Master In Slave Out
UART3, SPI
hi - z
SPI_MISO
SPI Master In Slave Out
UART3e, SPI
hi - z
SPI_MISO
SPI Master In Slave Out
CODEC3, SPI
hi - z
SPI_MISO
SPI Master In Slave Out
GPIO
hi - z
GPIO/INTERRUPT
Simple General Purpose I/O/INTERRUPT
USB_2
hi - z
USB2_SUSPEND
USB Suspend
UART3
hi - z
GPIO_INTERRUPT
UART3e
hi - z
GPIO_INTERRUPT
CODEC3
hi - z
GPIO_INTERRUPT
CODEC3_w/MCLK
hi - z
GPIO_INTERRUPT
SPI
hi - z
SPI_SS
SPI Slave Select
UART_3, SPI
hi - z
SPI_SS
SPI Slave Select
UART3e, SPI
hi - z
SPI_SS
SPI Slave Select
CODEC3, SPI
hi - z
SPI_SS
SPI Slave Select
Pin PSC3_8
Ball A05
MPC5200B User’s Manual, Rev. 3
2-50
Freescale Semiconductor
Signal Descriptions
Table 2-15. PSC3 Functions by Pin (Sheet 7 of 7)
Pin / Ball Number
Pin PSC3_9
Function
Reset
Value
Description
Ball C04
GPIO
hi - z
GPIO_W/WAKE_UP
Simple General Purpose I/O with WAKE UP
USB2
hi - z
USB2_OVRCRNT
USB Over Current
UART3
hi - z
GPIO_W/WAKE_UP
Simple General Purpose I/O with WAKE UP
UART3e
hi - z
GPIO_W/WAKE_UP
Simple General Purpose I/O with WAKE UP
CODEC3
hi - z
GPIO_W/WAKE_UP
Simple General Purpose I/O with WAKE UP
CODEC3_w/MCLK
hi - z
GPIO_W/WAKE_UP
Simple General Purpose I/O with WAKE UP
SPI
hi - z
SPI_CLK
SPI Clock
UART3, SPI
hi - z
SPI_CLK
SPI Clock
UART3e, SPI
hi - z
SPI_CLK
SPI Clock
CODEC3, SPI
hi - z
SPI_CLK
SPI Clock
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-51
Signal Descriptions
USB Clock
from PSC6 Port
USB Host
10
PSC4
PSC5
4
4
RST_CFG
GPIO
5
2
Pin Drivers and MUX Logic
USB_0
Function
Port_conf
[18:19]
RST_CFG
—
GPIO
00
GPIO
USB
01
USB1_
OE
2x UART4/5
10
GPIO
USB_0
USB_1
USB_2
USB_1
USB_2
RST_
CFG6
RST_
CFG7
USB1_
TXN
USB1_
TXP
UART4_ UART4_
RTS
TXD
USB_3
USB_3
USB_4
USB_4
USB_5
USB_5
USB_6
USB_7
USB_8
USB_9
USB_6
USB_7
USB_8
USB_9
GPIO
GPIO
GPIO
GPIO_
INTERRUPT
USB1_S
USPEND
USB1_
OVERCNT
USB1_
RXD
USB1_
RXP
USB1_
USB1_
RXN PORTPWR
USB1_
SPEED
UART4_
RXD
UART4_
CTS
UART5_
RXD
UART5_
RTS
UART5_
TXD
UART5_ INTERRUPT
CTS
Notes:
1. If not used for USB, this port is available as a GPIO resource.
2. USB clock source can be generated internally or sourced from USB_CLK input.
3. Pins 3–5 are not mapped to any function other than USB.
4. RST_config bits are sampled only during Reset.
5. PSC4/5 can be used here or on the Ethernet port, but not in both places.
Figure 2-7. USB Port Map—10 Pins
Table 2-16. USB Pin Functions
Pin Name
Dir.
USB_0
I/O
USB_1
I/O
USB_2
I/O
USB_3
Reset Configuration
GPIO
USB
2x UART4/5
GPIO
USB1_OE
GPIO
RST_CFG6
USB1_TXN
UART4_RTS
RST_CFG7
USB1_TXP
UART4_TXD
I
USB1_RXD
UART4_RXD
USB_4
I
USB1_RXP
UART4_CTS
USB_5
I
USB1_RXN
UART5_RXD
USB_6
I/O
GPIO
USB1_PORTPWR
UART5_TXD
USB_7
I/O
GPIO
USB1_SPEED
UART5_RTS
USB_8
I/O
GPIO
USB1_SUSPEND
UART5_CTS
USB_9
I/O
INTERRUPT
USB1_OVERCNT
GPIO_INTERRUPT
MPC5200B User’s Manual, Rev. 3
2-52
Freescale Semiconductor
Signal Descriptions
Table 2-17. USB Pin Functions by Pin
Pin / Ball Number
Pin USB_0
Function
Reset
Value
Description
Ball H01
GPIO
hi - z
GPIO
USB1
hi - z
USB1_OE
RESET Config.
hi - z
—
UART4, UART5
hi - z
GPIO
GPIO
hi - z
—
USB1
hi - z
USB1_TXN
USB1 Transmit Negative
RESET Config.
hi - z
RST_CFG6 - sys_pll_cfg_0
bit =0 : fsystem = 16x SYS_XTAL_IN
bit =1 : fsystem = 12x SYS_XTAL_IN
UART4, UART5
hi - z
UART4_RTS
GPIO
hi - z
—
USB1
hi - z
USB1_TXP
USB1 Transmit Positive
RESET Config.
hi - z
RST_CFG7
(Pull bit low)
UART4, UART5
hi - z
UART4_TXD
Uart Transmit Data
GPIO
hi - z
—
USB1
hi - z
USB1_RXD
USB1 Receive Data
RESET Config.
hi - z
—
UART4, UART5
hi - z
UART4_RXD
Uart Receive Data
GPIO
hi - z
—
USB1
hi - z
USB1_RXP
USB1 Receive Positive
RESET Config.
hi - z
—
UART_, UART5
hi - z
UART4_CTS
Uart Clear To Send
Pin USB_1
Pin USB_2
Pin USB_3
Pin USB_4
Ball H02
Ball H03
Ball G01
Ball G02
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-53
Signal Descriptions
Table 2-17. USB Pin Functions by Pin (continued)
Pin / Ball Number
Pin USB_5
Function
Reset
Value
Description
Ball G03
GPIO
hi - z
—
USB1
hi - z
USB1_RXN
USB1 Receive Negative
RESET Config.
hi - z
—
UART4, UART5
hi - z
UART5_RXD
Uart Receive Data
GPIO
hi - z
GPIO
Simple General Purpose I/O
USB1
hi - z
USB1_PRTPWR
USB Receive Negative
RESET Config.
hi - z
—
UART4, UART5
hi - z
UART5_TXD
Uart Transmit Data
GPIO
hi - z
GPIO
Simple General Purpose I/O
USB1
hi - z
USB1_SPEED
USB Speed
RESET Config.
hi - z
—
UART4, UART5
hi - z
UART5_RTS
Uart Ready To Send
GPIO
hi - z
GPIO
Simple General Purpose I/O
USB1
hi - z
USB1_SUSPEND
USB Suspend
RESET Config.
hi - z
—
UART4, UART5
hi - z
UART5_CTS
Uart Clear To Send
Pin USB_6
Pin USB_7
Pin USB_8
Ball G04
Ball F01
Ball F02
MPC5200B User’s Manual, Rev. 3
2-54
Freescale Semiconductor
Signal Descriptions
Table 2-17. USB Pin Functions by Pin (continued)
Pin / Ball Number
Pin USB_9
Reset
Value
Function
Description
Ball F03
GPIO
hi - z
GPIO/INTERRUPT
Simple General Purpose I/O/INTERRUPT
USB1
hi - z
USB1_OVRCRNT
USB1 Over Current
RESET Config.
hi - z
—
UART4, UART5
hi - z
INTERRUPT
J1850
PSC4
PSC5
Ethernet
(Outputs)
RST_CFG
2
5
5
8
8
USB2
(output portion)
6
GPIO
8
Pin Drivers and MUX Logic
ETH_0
Function
Port_conf
[12:15]
ETH_0
ETH_1
ETH_1
ETH_2
ETH_2
ETH_3
ETH_3
ETH_4
ETH_4
ETH_5
ETH_5
ETH_6
ETH_6
ETH_7
ETH_7
RST_CFG
—
RST_CFG8
RST_CFG15
RST_CFG10
RST_CFG11
RST_CFG12
RST_CFG13
RST_CFG14
—
GPIO
0000
OUTPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
USB2
0001
OUTPUT
OUTPUT
USB2_TXP
USB2_
PRTPWR
USB2_SPEED USB2_
SUSPEND
USB2_OE
USB2_TXN
ETH7
0010
ETH7_TXEN
ETH7_TXD_0 OUTPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
ETH7 / USB2
0011
ETH7_TXEN
ETH7_TXD_0 USB2_TXP
USB2_
PRTPWR
USB2_SPEED USB2_
SUSPEND
USB2_OE
USB2_TXN
OUTPUT
OUTPUT
OUTPUT
ETH_18 no MD 0100
ETH18_TXEN ETH18_TXD_0 ETH18_TXD_1 ETH18_TXD_2 ETH18_TXD_3 ETH18_
TXERR
ETH_18 w/ MD 0101
ETH18_w/MD_ ETH18_w/
TXEN
MD_TXD_0
ETH7 /
1000
UART4e/J1850
ETH7_TXEN
ETH7_TXD_0 OUTPUT
UART4e_TXD J1850_TX
ETH7 /J1850
1001
ETH7_TXEN
ETH7_TXD_0 OUTPUT
OUTPUT
UART4/
5e/J1850
1010
OUTPUT
UART5e_TXD UART5e_RTS UART4_TXD
UART5e/J1850 1011
OUTPUT
UART5e__
TXD
J1850
OUTPUT
OUTPUT
1100
ETH18_w/
MD_TXD_1
ETH18_w/
MD_TXD_2
ETH18_w/MD_ ETH18_w/MD_ ETH18_w/MD_ ETH18_w/MD_
TXD_3
TXERR
MDC
MDIO
UART4e_RTS OUTPUT
OUTPUT
J1850_TX
OUTPUT
OUTPUT
OUTPUT
J1850_TX
UART4_RTS
OUTPUT
OUTPUT
UART5e_RTS OUTPUT
J1850_TX
OUTPUT
OUTPUT
OUTPUT
OUTPUT
J1850_TX
OUTPUT
OUTPUT
OUTPUT
OUTPUT
Figure 2-8. Ethernet Output Port Map—8 Pins
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-55
Signal Descriptions
J1850
PSC4
PSC5
2
5
5
USB2
(I/O portion)
Ethernet
(Inputs)
10
GPIO
4
9
Pin Drivers and MUX Logic
ETH_8
ETH_9
ETH_10
ETH_11
ETH_12 ETH_13
ETH_14
ETH_15
ETH_16
ETH_17
Port_
conf
[12:15]
ETH_8
ETH_9
ETH_10
ETH_11
GPIO
0000
GPIO
GPIO
GPIO
USB2
0001
GPIO
GPIO
GPIO
ETH7
0010
ETH7_CD
ETH7_RXCLK ETH7_COL
ETH7_
TXCLK
ETH7/USB2
0011
ETH7_CD
ETH7_RXCLK ETH7_COL
ETH7_
TXCLK
ETH_18 no
MD
0100
ETH18_RXDV
ETH_18 w/
MD
0101
ETH18_w/MD_ ETH18_w/MD_ ETH18_w/M ETH18_TXD ETH18_w/ ETH18_w/M ETH18_w/MD ETH18_w/M ETH18_w/M ETH18_W/MD
RXDV
RXCLK
D_COL
MD_RXD_0 D_RXD_1
_RXD_2
D_RXD_3
D_RXERR
_CRS
ETH7 /
UART4e/
J1850
1000
ETH7_CD
ETH7_RXCLK ETH7_COL
ETH7_
TXCLK
ETH7_RXD
_0
J1850_RX
UART4e_RXD
ETH7/J1850
1001
ETH7_CD
ETH7_RXCLK ETH7_COL
ETH7_
TXCLK
ETH7_RXD
_0
J1850_RX
GPIO/
INTERRUPT
UART4/5e/
J1850
1010
UART5e_CD
UART5e/
J1850
1011
J1850
1100
Function
ETH_12
ETH_13
ETH_14
ETH_15
ETH_16
ETH_17
GPIO
GPIO/
INTERRUPT
GPIO/
INTERRUPT
GPIO/
GPIO/
GPIO_W/WAK
INTERRUPT INTERRUPT
E_UP
GPIO
USB2_RXD
USB2_RXP
USB2_RXN
GPIO/
INTERRUPT
GPIO/
INTERRUPT
GPIO/
GPIO/
INTERRUPT INTERRUPT
GPIO_W/
WAKE_UP
ETH7_RXD USB2_RXD
_0
USB2_RXP
USB2_RXN
GPIO_W/
WAKE_UP
RST_CFG
ETH18_
RXCLK
ETH18_COL
ETH18_
TXCLK
ETH7_
RXD_0
ETH18_
RXD_0
ETH18_
RXD_1
USB2_
OVRCNT
USB2_
OVRCNT
GPIO_W/
WAKE_UP
ETH18_RXD_ ETH18_RXD ETH18_RXE ETH18_CRS
2
_3
RR
UART4e_
CTS
UART4_DCD
GPIO_W/
WAKE_UP
GPIO/
GPIO/
INTERRUPT INTERRUPT
GPIO_W/
WAKE_UP
UART5e_CTS
OUTPUT
OUTPUT
UART5e_
RXD
J1850_RX
UART4_RXD UART4_CTS UART4_CD
GPIO_W/
WAKE_UP
UART5e_DCD UART5e_CTS
OUTPUT
OUTPUT
UART5e_
RXD
J1850_RX
GPIO/
INTERRUPT
GPIO/
GPIO/
INTERRUPT INTERRUPT
GPIO_W/
WAKE_UP
OUTPUT
OUTPUT
J1850_RX
GPIO/
INTERRUPT
GPIO/
GPIO/
INTERRUPT INTERRUPT
GPIO_W/
WAKE_UP
GPIO
OUTPUT
Figure 2-9. Ethernet Input / Control Port Map—10 Pins
MPC5200B User’s Manual, Rev. 3
2-56
Freescale Semiconductor
Signal Descriptions
Table 2-18. Ethernet Pin Functions
Pin Name
Dir.
Reset
Configuration
GPIO
USB2
ETH7
ETH7 / USB2
ETH_0
I/O
RST_CFG8
OUTPUT
OUTPUT
ETH7_TXEN
ETH7_TXEN
ETH_1
I/O
RST_CFG15
OUTPUT
OUTPUT
ETH7_TXD_0
ETH7_TXD_0
ETH_2
I/O
RST_CFG10
OUTPUT
USB2_TXP
OUTPUT
USB2_TXP
ETH_3
I/O
RST_CFG11
OUTPUT
USB2_PRTPWR
OUTPUT
USB2_PRTPWR
ETH_4
I/O
RST_CFG12
OUTPUT
USB2_SPEED
OUTPUT
USB2_SPEED
ETH_5
I/O
RST_CFG13
OUTPUT
USB2_SUSPEND
OUTPUT
USB2_SUSPEND
ETH_6
I/O
RST_CFG14
OUTPUT
USB2_OE
OUTPUT
USB2_OE
ETH_7
I/O
—
OUTPUT
USB2_TXN
OUTPUT
USB2_TXN
ETH_8
I/O
—
GPIO
GPIO
ETH7__CD
ETH7__CD
ETH_9
I/O
—
GPIO
GPIO
ETH7_RXCLK
ETH7_RXCLK
ETH_10
I/O
—
GPIO
GPIO
ETH7_COL
ETH7_COL
ETH_11
I/O
—
GPIO
GPIO
ETH7_TXCLK
ETH7_TXCLK
ETH_12
I
—
—
—
ETH7_RXD_0
ETH7_RXD_0
ETH_13
I/O
—
GPIO/INTERRUPT
USB2_RXD
GPIO/INTERRUPT
USB2_RXD
ETH_14
I/O
—
GPIO/INTERRUPT
USB2_RXP
GPIO/INTERRUPT
USB2_RXP
ETH_15
I/O
—
GPIO/INTERRUPT
USB2_RXN
GPIO/INTERRUPT
USB2_RXN
ETH_16
I/O
—
GPIO/INTERRUPT
USB2_OVRCNT
GPIO/INTERRUPT
USB2_OVRCNT
ETH_17
I/O
—
GPIO_W/WAKE-UP
GPIO_W/WAKE-UP
GPIO_W/WAKE-UP
GPIO_W/
WAKE-UP
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-57
Signal Descriptions
Table 2-19. Ethernet Pin Functions
Pin name Dir.
ETH_18
no MD
ETH_18
w/ MD
ETH7 /
UART4e/
J1850
ETH7/J1850
2UART4/5e/J
1850
UART5e/J
1850
J1850
ETH_0
I/O
ETH18_TXEN ETH18_w/|MD
_TXEN
ETH7_TXEN
ETH7_TXEN
OUTPUT
OUTPUT
OUTPUT
ETH_1
I/O
ETH18_TXD_0
ETH18_w/
MD_TXD_0
ETH7_TXD_0
ETH7_TXD_0
UART5e__TXD
UART5e__TXD
OUTPUT
ETH_2
I/O
ETH18_TXD_1
ETH18_w/
MD_TXD_1
OUTPUT
OUTPUT
UART5e__RTS
UART5e__RTS
OUTPUT
ETH_3
I/O
ETH18_TXD_2
ETH18_w/
MD_TXD_2
UART4e_TXD
OUTPUT
P4_TXD
OUTPUT
OUTPUT
ETH_4
I/O
ETH18_TXD_3
ETH18_w/
MD_TXD_3
J1850_TX
J1850_TX
J1850_TX
J1850_TX
J1850_TX
ETH_5
I/O
ETH18_
TXERR
ETH18_w/
MD_TXERR
UART4e__
RTS
OUTPUT
UART4_RTS
OUTPUT
OUTPUT
ETH_6
I/O
OUTPUT
ETH18_w/
MD_MDC
OUTPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
ETH_7
I/O
OUTPUT
ETH18_w/
MD_MDIO
OUTPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
ETH_8
I/O
ETH18_RXDV
ETH18_w/
MD_RXDV
ETH7__CD
ETH7__CD
UART5e__DCD
UART5e__DCD
GPIO
ETH_9
I/O
ETH18_
RXCLK
ETH18_w/
MD_RXCLK
ETH7_RXCLK
ETH7_RXCLK
UART5e__CTS
UART5e__CTS
GPIO
ETH_10
I/O
ETH18_COL
ETH18_w/
MD_COL
ETH7_COL
ETH7_COL
GPIO
GPIO
GPIO
ETH_11
I/O
ETH18_
TXCLK
ETH18_w/
MD_TXCLK
ETH7_TXCLK
ETH7_TXCLK
GPIO
GPIO
GPIO
ETH_12
I
ETH18_
RXD_0
ETH18_w/
MD_RXD_0
ETH7_RXD_O
ETH7_RXD_O
UART5e__RXD
UART5e__RXD
—
ETH_13
I/O
ETH18_
RXD_1
ETH18_w/
MD_RXD_1
J1850_RX
J1850_RX
J1850_RX
J1850_RX
J1850_RX
ETH_14
I/O
ETH18_
RXD_2
ETH18_w/
MD_RXD_2
UART4e__
RXD
GPIO/
INTERRUPT
UART4_RXD
GPIO/
INTERRUPT
GPIO/
INTERRUPT
ETH_15
I/O
ETH18_
RXD_3
ETH18_w/
MD_RXD_3
UART4e__
CTS
GPIO/
INTERRUPT
UART4_CTS
GPIO/
INTERRUPT
GPIO/
INTERRUPT
ETH_16
I/O
ETH18_
RXERR
ETH18_w/
MD_RXERR
UART4e__
DCD
GPIO/
INTERRUPT
UART4_CD
GPIO/
INTERRUPT
GPIO/
INTERRUPT
ETH_17
I/O
ETH18_CRS
ETH18_w/
MD_CRS
GPIO_W/
WAKE-UP
GPIO_W/
WAKE-UP
GPIO_W/
WAKE-UP
GPIO_W/
WAKE-UP
GPIO_W/
WAKE-UP
MPC5200B User’s Manual, Rev. 3
2-58
Freescale Semiconductor
Signal Descriptions
Table 2-20. Ethernet Output Functions by Pin (Sheet 1 of 8)
Pin / Ball Number
Pin ETH_0
Reset
Value
Description
Ball K01
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire
hi - z
ETH_TX_EN
Ethernet Transmit Enable
ETH7 Wire / USB2
hi - z
ETH_TX_EN
Ethernet Transmit Enable
ETH18 Wire w/o MD
hi - z
ETH_TX_EN
Ethernet Transmit Enable
ETH18 Wire w/ MD
hi - z
ETH_TX_EN
Ethernet Transmit Enable
ETH7 Wire, UART4e, J1850
hi - z
ETH_TX_EN
Ethernet Transmit Enable
ETH7 Wire, J1850
hi - z
ETH_TX_EN
Ethernet Transmit Enable
UART_4, UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
J1850
hi - z
GPIO
Simple General Purpose Output
RESET Config. 8
hi - z
bit 8 - most_graphics_sel
bit = 0: Most Graphics boot not enabled
bit = 1: Most Graphics boot enabled.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-59
Signal Descriptions
Table 2-20. Ethernet Output Functions by Pin (Sheet 2 of 8)
Pin / Ball Number
Pin ETH_1
Reset
Value
Description
Ball K02
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire
hi - z
ETH_TXD_0
Ethernet Transmit Data Output
ETH7 Wire / USB2
hi - z
ETH_TXD_0
Ethernet Transmit Data Output
ETH18 Wire w/o MD
hi - z
ETH_TXD_0
Ethernet Transmit Data Output
ETH18 Wire w/ MD
hi - z
ETH_TXD_0
Ethernet Transmit Data Output
EHT7 Wire, UART4e, J1850
hi - z
ETH_TXD_0
Ethernet Transmit Data Output
ETH7 Wire, J1850
hi - z
ETH_TXD_0
Ethernet Transmit Data Output
UART_4, UART5e, J1850
hi - z
UART5e_TXD
Uart Transmit Data
UART5e, J1850
hi - z
UART5e_TXD
Uart Transmit Data
J1850
hi - z
GPIO
Simple General Purpose Output
RESET Config.
hi - z
bit 15 - large_flash_sel
bit = 0: Large Flash boot not enabled
bit = 1: Large Flash boot enabled.
See Note 3.
MPC5200B User’s Manual, Rev. 3
2-60
Freescale Semiconductor
Signal Descriptions
Table 2-20. Ethernet Output Functions by Pin (Sheet 3 of 8)
Pin / Ball Number
Pin ETH_2
Reset
Value
Description
Ball K03
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
USB2_TXP
USB Transmit Positive
ETH7 Wire
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire / USB2
hi - z
USB2_TXP
USB Transmit Positive
ETH18 Wire w/o MD
hi - z
ETH_TXD_1
Ethernet Transmit Data Output
ETH18 Wire w/ MD
hi - z
ETH_TXD_1
Ethernet Transmit Data Output
EHT7 Wire, UART4e, J1850
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire, J1850
hi - z
GPIO
Simple General Purpose Output
UART_4, UART5e, J1850
hi - z
UART5e_RTS
Uart Transmit Data
UART5e, J1850
hi - z
UART5e_RTS
Uart Transmit Data
J1850
hi - z
GPIO
Simple General Purpose Output
RESET Config.
hi - z
bit 10 - ppc_msrip PPC Boot Address / Exception Table
Loc.
bit = 0: 0000 0100 (hex)
bit = 1: fff0 0100 (hex)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-61
Signal Descriptions
Table 2-20. Ethernet Output Functions by Pin (Sheet 4 of 8)
Pin / Ball Number
Pin ETH_3
Reset
Value
Description
Ball J01
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
USB2_PrtPWR
USB Port Power
ETH7 Wire
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire / USB2
hi - z
USB2_PrtPWR
USB Port Power
ETH18 Wire w/o MD
hi - z
ETH_TXD_2
Ethernet Transmit Data Output
ETH18 Wire w/ MD
hi - z
ETH_TXD_2
Ethernet Transmit Data Output
EHT7 Wire, UART4e, J1850
hi - z
UART_4_TXD
Uart Transmit Data
ETH7 Wire, J1850
hi - z
GPIO
Simple General Purpose Output
UART_4, UART5e, J1850
hi - z
UART_4_TXD
Uart Transmit Data
UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
J1850
hi - z
GPIO
Simple General Purpose Output
RESET Config.
hi - z
bit 11 - boot_rom_wait
bit = 0: 4 IPbus clocks of waitstate*
bit = 1: 48 IPbus clocks of waitstate*
MPC5200B User’s Manual, Rev. 3
2-62
Freescale Semiconductor
Signal Descriptions
Table 2-20. Ethernet Output Functions by Pin (Sheet 5 of 8)
Pin / Ball Number
Pin ETH_4
Reset
Value
Description
Ball J02
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
USB2_Speed
USB Speed
ETH7 Wire
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire / USB2
hi - z
USB2_Speed
USB Speed
ETH18 Wire w/o MD
hi - z
ETH_TXD_3
Ethernet Transmit Data Output
ETH18 Wire w/ MD
hi - z
ETH_TXD_3
Ethernet Transmit Data Output
EHT7 Wire, UART4e, J1850
hi - z
J1850_TX
J1850 Transmit Data
ETH7 Wire, J1850
hi - z
J1850_TX
J1850 Transmit Data
UART_4, UART5e, J1850
hi - z
J1850_TX
J1850 Transmit Data
UART5e, J1850
hi - z
J1850_TX
J1850 Transmit Data
J1850
hi - z
J1850_TX
J1850 Transmit Data
RESET Config.
hi - z
bit 12 - boot_rom_swap
bit = 0: no byte lane swap - same endian ROM image
bit = 1: byte lane swap - different endian ROM image
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-63
Signal Descriptions
Table 2-20. Ethernet Output Functions by Pin (Sheet 6 of 8)
Pin / Ball Number
Pin ETH_5
Reset
Value
Description
Ball L03
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
USB2_Suspend
USB Suspend
ETH7 Wire
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire / USB2
hi - z
USB2_Suspend
USB Suspend
ETH18 Wire w/o MD
hi - z
ETH_TXERR
Ethernet Transmit Error Output
ETH18 Wire w/ MD
hi - z
ETH_TXERR
Ethernet Transmit Error Output
EHT7 Wire, UART4e, J1850
hi - z
UART_4_RTS
Uart Ready To Send
ETH7 Wire, J1850
hi - z
GPIO
Simple General Purpose Output
UART_4, UART5e, J1850
hi - z
UART_4_RTS
Uart Ready To Send
UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
J1850
hi - z
GPIO
Simple General Purpose Output
RESET Config.
hi - z
bit 13 - boot_rom_size For “non-muxed” boot ROMs
bit = 0: 8-bit boot ROM data bus / 24-bit boot ROM
address
bit = 1: 16-bit boot ROM data bus / 16-bit boot ROM
address
For muxed boot ROMs boot ROM addr is max 25
significant bits during address tenure.
bit = 0: 16-bit ROM data bus
bit = 1: 32-bit ROM data bus
For large flash boot case boot Flash addr is 25 bits.
bit = 0: 8-bit Flash data bus
bit = 1: 16-bit Flash data bus
MPC5200B User’s Manual, Rev. 3
2-64
Freescale Semiconductor
Signal Descriptions
Table 2-20. Ethernet Output Functions by Pin (Sheet 7 of 8)
Pin / Ball Number
Pin ETH_6
Reset
Value
Description
Ball N02
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
USB2_OE
USB Output Enable
ETH7 Wire
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire / USB2
hi - z
USB2__OE
USB Output Enable
ETH18 Wire w/o MD
hi - z
GPIO
Simple General Purpose Output
ETH18 Wire w/ MD
hi - z
ETH_MDC
Ethernet Transmit Error Output
EHT7 Wire, UART4e, J1850
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire, J1850
hi - z
GPIO
Simple General Purpose Output
UART_4, UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
J1850
hi - z
GPIO
Simple General Purpose Output
RESET Config.
hi - z
bit 14 - boot_rom_wait
bit = 0: non-muxed boot ROM bus, single tenure
transfer.
bit = 1: muxed boot ROM bus, PPC like with address &
data tenures,
Alibi & TS_b active.
Note 3.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-65
Signal Descriptions
Table 2-20. Ethernet Output Functions by Pin (Sheet 8 of 8)
Pin / Ball Number
Pin ETH_7
Reset
Value
Description
Ball N01
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
USB2_TXN
USB Transmit Negative
ETH7 Wire
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire / USB2
hi - z
USB2_TXN
USB Transmit Negative
ETH18 Wire w/o MD
hi - z
GPIO
Simple General Purpose Output
ETH18 Wire w/ MD
hi - z
ETH_MDIO
Ethernet Management Data I/O
EHT7 Wire, UART4e, J1850
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire, J1850
hi - z
GPIO
Simple General Purpose Output
UART_4, UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
J1850
hi - z
GPIO
Simple General Purpose Output
Notes:
1. The external bus clock (pci_clk) will be 1/2 the frequency of the internal bus clock (ipb_clk) at powerup. Therefore, 4 IPbus
wait states will translate to as little as 1 external wait state (i.e. peripheral must respond within 2 external clocks). The “slow”
setting represents 48 IPbus clocks of wait, or 23 external clocks of wait External waits are minus-1 because Chip Select
may assert on falling edge of external bus clock (dependant on internal timing).
2. For muxed boot ROM types, the width of ALE_b & TS_b will be 2 IPbus clocks (i.e. 1 external clock). This represents the
wide ALE setting in the LocalPlus Controller (LPC). Care must be taken if these clock relationships are to be changed
during the boot process. For the 1-to-1 internal-to-external clock setting (which must be programmed by software into the
CDM), be sure to change the ALE width setting (in LPC) *after* adjusting the clock relationship. Any fetches to the boot
device between these two settings will result in ALE and TS being 2 external clocks wide.
3. Only one boot mode can be enabled at a time. Large Flash and Most Graphics cannot be enabled at the same time. If
neither Large Flash or Most Graphics is enabled, boot will occur from the normal LocalPlus mode, either muxed or
nonmuxed (depending on the boot_rom_type configuration input).
MPC5200B User’s Manual, Rev. 3
2-66
Freescale Semiconductor
Signal Descriptions
Table 2-21. Ethernet Input / Control Functions by Pin (Sheet 1 of 7)
PIN / BALL NUMBER
Pin ETH_8
Reset
Value
Description
Ball M03
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire
hi - z
ETH_CD
Ethernet Carrier Detect
ETH7 Wire / USB2
hi - z
ETH_CD
Ethernet Carrier Detect
ETH18 Wire w/o MD
hi - z
ETH_RXDV
Ethernet Receive Data Valid
ETH18 Wire w/ MD
hi - z
ETH_RXDV
Ethernet Receive Data Valid
EHT7 Wire, UART4e, J1850
hi - z
ETH_CD
Ethernet Carrier Detect
ETH7 Wire, J1850
hi - z
ETH_CD
Ethernet Carrier Detect
UART_4, UART5e, J1850
hi - z
UART5e_DCD
Uart Carrier Detect
UART5e, J1850
hi - z
UART5e_DCD
Uart Carrier Detect
J1850
hi - z
GPIO
Simple General Purpose Output
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-67
Signal Descriptions
Table 2-21. Ethernet Input / Control Functions by Pin (Sheet 2 of 7)
PIN / BALL NUMBER
Pin ETH_9
Reset
Value
Description
Ball L01
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire
hi - z
ETH_RXCLK
Ethernet Receive Clock
ETH7 Wire / USB2
hi - z
ETH_RXCLK
Ethernet Receive Clock
ETH18 Wire w/o MD
hi - z
ETH_RXCLK
Ethernet Receive Clock
ETH18 Wire w/ MD
hi - z
ETH_RXCLK
Ethernet Receive Clock
EHT7 Wire, UART4e, J1850
hi - z
ETH_RXCLK
Ethernet Receive Clock
ETH7 Wire, J1850
hi - z
ETH_RXCLK
Ethernet Receive Clock
UART_4, UART5e, J1850
hi - z
ETH_RXCLK
Ethernet Receive Clock
UART5e, J1850
hi - z
UART5e_CTS
Uart Clear To Send
J1850
hi - z
UART5e_CTS
Uart Clear To Send
MPC5200B User’s Manual, Rev. 3
2-68
Freescale Semiconductor
Signal Descriptions
Table 2-21. Ethernet Input / Control Functions by Pin (Sheet 3 of 7)
PIN / BALL NUMBER
Pin ETH_10
Reset
Value
Description
Ball J03
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire
hi - z
ETH_COL
Ethernet Collision Detect Input
ETH7 Wire / USB2
hi - z
ETH_COL
Ethernet Collision Detect Input
ETH18 Wire w/o MD
hi - z
ETH_COL
Ethernet Collision Detect Input
ETH18 Wire w/ MD
hi - z
ETH_COL
Ethernet Collision Detect Input
EHT7 Wire, UART4e, J1850
hi - z
ETH_COL
Ethernet Collision Detect Input
ETH7 Wire, J1850
hi - z
ETH_COL
Ethernet Collision Detect Input
UART_4, UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
J1850
hi - z
GPIO
Simple General Purpose Output
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-69
Signal Descriptions
Table 2-21. Ethernet Input / Control Functions by Pin (Sheet 4 of 7)
PIN / BALL NUMBER
Pin ETH_11
Reset
Value
Description
Ball L04
GPIO
hi - z
GPIO
Simple General Purpose Output
USB2
hi - z
GPIO
Simple General Purpose Output
ETH7 Wire
hi - z
ETH_TXCLK
Ethernet Transmit Clock Input
ETH7 Wire / USB2
hi - z
ETH_TXCLK
Ethernet Transmit Clock Input
ETH18 Wire w/o MD
hi - z
ETH_TXCLK
Ethernet Transmit Clock Input
ETH18 Wire w/ MD
hi - z
ETH_TXCLK
Ethernet Transmit Clock Input
EHT7 Wire, UART4e, J1850
hi - z
ETH_TXCLK
Ethernet Transmit Clock Input
ETH7 Wire, J1850
hi - z
ETH_TXCLK
Ethernet Transmit Clock Input
UART_4, UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
UART5e, J1850
hi - z
GPIO
Simple General Purpose Output
J1850
hi - z
GPIO
Simple General Purpose Output
MPC5200B User’s Manual, Rev. 3
2-70
Freescale Semiconductor
Signal Descriptions
Table 2-21. Ethernet Input / Control Functions by Pin (Sheet 5 of 7)
PIN / BALL NUMBER
Pin ETH_12
Reset
Value
Description
Ball M02
GPIO
hi - z
USB2
hi - z
ETH7 Wire
hi - z
ETH_RXD0
Ethernet Receive Data Input
ETH7 Wire / USB2
hi - z
ETH_RXD0
Ethernet Receive Data Input
ETH18 Wire w/o MD
hi - z
ETH_RXD0
Ethernet Receive Data Input
ETH18 Wire w/ MD
hi - z
ETH_RXD0
Ethernet Receive Data Input
EHT7 Wire, UART4e, J1850
hi - z
ETH_RXD0
Ethernet Receive Data Input
ETH7 Wire, J1850
hi - z
ETH_RXD0
Ethernet Receive Data Input
UART_4, UART5e, J1850
hi - z
UART5e_RXD
Uart Receive Data
UART5e, J1850
hi - z
UART5e_RXD
Uart Receive Data
J1850
hi - z
—
GPIO
hi - z
GPIO/INTERRUPT
USB2
hi - z
USB_2_RECEIVE DIFFERENTIAL
ETH7 Wire
hi - z
GPIO/INTERRUPT
ETH7 Wire / USB2
hi - z
USB_2_RECEIVE DIFFERENTIAL
ETH18 Wire w/o MD
hi - z
ETH_RXD1
Ethernet Receive Data Input
ETH18 Wire w/ MD
hi - z
ETH_RXD1
Ethernet Receive Data Input
EHT7 Wire, UART4e, J1850
hi - z
J1850_RX
J1850 Receive Data
ETH7 Wire, J1850
hi - z
J1850_RX
J1850 Receive Data
UART_4, UART5e, J1850
hi - z
J1850_RX
J1850 Receive Data
UART5e, J1850
hi - z
J1850_RX
J1850 Receive Data
J1850
hi - z
J1850_RX
J1850 Receive Data
Pin ETH_13
Ball M01
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-71
Signal Descriptions
Table 2-21. Ethernet Input / Control Functions by Pin (Sheet 6 of 7)
PIN / BALL NUMBER
Pin ETH_14
Reset
Value
Description
Ball N04
GPIO
hi - z
GPIO/INTERRUPT
USB2
hi - z
USB_2_RXP
USB Receive Positive
ETH7 Wire
hi - z
GPIO/INTERRUPT
ETH7 Wire / USB2
hi - z
USB_2_RXP
USB Receive Positive
ETH18 Wire w/o MD
hi - z
ETH_RXD2
Ethernet Receive Data Input
ETH18 Wire w/ MD
hi - z
ETH_RXD2
Ethernet Receive Data Input
EHT7 Wire, UART4e, J1850
hi - z
UART4e_RXD
Uart Receive Data
ETH7 Wire, J1850
hi - z
GPIO/INTERRUPT
UART_4, UART5e, J1850
hi - z
UART4e_RXD
Uart Receive Data
UART5e, J1850
hi - z
GPIO/INTERRUPT
J1850
hi - z
GPIO/INTERRUPT
GPIO
hi - z
GPIO/INTERRUPT
USB2
hi - z
USB_2_RXN
USB Receive Negative
ETH7 Wire
hi - z
GPIO/INTERRUPT
ETH7 Wire / USB2
hi - z
USB_2_RXN
USB Receive Negative
ETH18 Wire w/o MD
hi - z
ETH_RXD3
Ethernet Receive Data Input
ETH18 Wire w/ MD
hi - z
ETH_RXD3
Ethernet Receive Data Input
EHT7 Wire, UART4e, J1850
hi - z
UART4e_CTS
Uart Clear To Send
ETH7 Wire, J1850
hi - z
GPIO/INTERRUPT
UART_4, UART5e, J1850
hi - z
UART4e_CTS
Uart Clear To Send
UART5e, J1850
hi - z
GPIO/INTERRUPT
J1850
hi - z
GPIO/INTERRUPT
Pin ETH_15
Ball N03
MPC5200B User’s Manual, Rev. 3
2-72
Freescale Semiconductor
Signal Descriptions
Table 2-21. Ethernet Input / Control Functions by Pin (Sheet 7 of 7)
PIN / BALL NUMBER
Pin ETH_16
Reset
Value
Description
Ball L02
GPIO
hi - z
GPIO/INTERRUPT
USB2
hi - z
USB_2_OVRCNT
USB Over Current
ETH7 Wire
hi - z
GPIO/INTERRUPT
ETH7 Wire / USB2
hi - z
USB_2_OVRCNT
USB Over Current
ETH18 Wire w/o MD
hi - z
ETH_RXERR
Ethernet Receive Error Input
ETH18 Wire w/ MD
hi - z
ETH_RXERR
Ethernet Receive Error Input
EHT7 Wire, UART4e, J1850
hi - z
UART4e_DCD
Uart Carrier Detect
ETH7 Wire, J1850
hi - z
GPIO/INTERRUPT
UART_4, UART5e, J1850
hi - z
GPIO/INTERRUPT
UART5e, J1850
hi - z
GPIO/INTERRUPT
J1850
hi - z
GPIO/INTERRUPT
GPIO
hi - z
GPIO
Simple General Purpose Output with WAKE UP
USB2
hi - z
GPIO
Simple General Purpose Output with WAKE UP
ETH7 Wire
hi - z
GPIO
Simple General Purpose Output with WAKE UP
ETH7 Wire / USB2
hi - z
GPIO
Simple General Purpose Output with WAKE UP
ETH18 Wire w/o MD
hi - z
ETH_CRS
Ethernet Carrier Sense Input
ETH18 Wire w/ MD
hi - z
ETH_CRS
Ethernet Carrier Sense Input
EHT7 Wire, UART4e, J1850
hi - z
GPIO
Simple General Purpose Output with WAKE UP
ETH7 Wire, J1850
hi - z
GPIO
Simple General Purpose Output with WAKE UP
UART_4, UART5e, J1850
hi - z
GPIO
Simple General Purpose Output with WAKE UP
UART5e, J1850
hi - z
GPIO
Simple General Purpose Output with WAKE UP
J1850
hi - z
GPIO
Simple General Purpose Output with WAKE UP
Pin ETH_17
Ball J04
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-73
Signal Descriptions
Timer0
(IC/OC/PWM)
Timer1
(IC/OC/PWM)
1
Timer7
(IC/OC/PWM)
1
ATA Chip
Selects
1
2
CAN2
2
SPI
GPIO
8
4
Pin Drivers and MUX Logic
TMR_0
Function
Port_config
[2:3_6:7]
TIMER0
TMR_1
TIMER1
TMR_2
TIMER2
TMR_3
TIMER3
TMR_4
TIMER4
TMR_5
TIMER5
TMR_6
TIMER6
TMR_7
TIMER7
GPIO
TIMER
00_0X
00_10
GPIO
TIMER_0
GPIO
TIMER_1
GPIO
TIMER_2
GPIO
TIMER_3
GPIO
TIMER_4
GPIO
TIMER_5
GPIO
TIMER_6
GPIO
TIMER_7
ATA_CS
00_11
ATA_CS_0
ATA_CS_1
GPIO
TIMER_2
GPIO
TIMER_3
GPIO
TIMER_4
GPIO
TIMER_5
GPIO
TIMER_6
GPIO
TIMER_7
CAN2
01_00
CAN2_TX
CAN2_RX
GPIO
TIMER_2
GPIO
TIMER_3
GPIO
TIMER_4
GPIO
TIMER_5
GPIO
TIMER_6
GPIO
TIMER_7
SPI
10_00
GPIO
TIMER_0
GPIO
TIMER_1
SPI_MOSI
SPI_MISO
SPI_SS
SPI_CLK
GPIO
TIMER_6
GPIO
TIMER_7
SPI/ATA_CS 10_11
ATA_CS_0
ATA_CS_1
SPI_MOSI
SPI_MISO
SPI_SS
SPI_CLK
GPIO
TIMER_6
GPIO
TIMER_7
CAN2/SPI
CAN2_TX
CAN2_RX
SPI_MOSI
SPI_MISO
SPI_SS
SPI_CLK
GPIO
TIMER_6
GPIO
TIMER_7
11_00
Notes:
1. Each pin is individually selectable as a Timer or GPIO. Each Timer can be individually
configured as Input Capture (IC), Output Compare (OC), or Pulse Width Modulator (PWM)
(GPT X Enable and Mode Select Register).
If a timer pin is configured as a GPIO or some other function (SPI, chip select or CAN), the
timer module can still be used internally by software.
2. Timers 6 and 7, when configured as input capture, contain WakeUp functionality.
3. All Timer and GPIO function controls are within the Timer module register set.
4. CAN RX input supports WakeUp functionality.
Figure 2-10. Timer Port Map—8 Pins
MPC5200B User’s Manual, Rev. 3
2-74
Freescale Semiconductor
Signal Descriptions
Table 2-22. Timer Pin Functions
Pin Name
Dir.
GPIO
TIMER
ATA CHIP SEL
CAN2
SPI
CAN2 / SPI
TIMER 0
I/O
SIMPLE GPIO
TIMER 0
ATA_CS_0
CAN2_TX
SIMPLE GPIO
CAN2_TX
TIMER 1
I/O
SIMPLE GPIO
TIMER 1
ATA_CS_1
CAN2_RX
SIMPLE GPIO
CAN2_RX
TIMER 2
I/O
SIMPLE GPIO
TIMER 2
SIMPLE GPIO
SIMPLE GPIO
SPI_MOSI
SPI_MOSI
TIMER 3
I/O
SIMPLE GPIO
TIMER 3
SIMPLE GPIO
SIMPLE GPIO
SPI_MISO
SPI_MISO
TIMER 4
I/O
SIMPLE GPIO
TIMER 4
SIMPLE GPIO
SIMPLE GPIO
SPI_SS
SPI_SS
TIMER 5
I/O
SIMPLE GPIO
TIMER 5
SIMPLE GPIO
SIMPLE GPIO
SPI_CLK
SPI_CLK
TIMER 6
I/O
SIMPLE GPIO
TIMER 6
SIMPLE GPIO
SIMPLE GPIO
SIMPLE GPIO
SIMPLE GPIO
TIMER 7
I/O
SIMPLE GPIO
TIMER 7
SIMPLE GPIO
SIMPLE GPIO
SIMPLE GPIO
SIMPLE GPIO
Table 2-23. Timer Functions by Pin
Pin / Ball Number
Pin TIMER_0
Reset
Value
Description
Ball Y20
TIMER
hi - z
TIMER_0
GPIO
hi - z
GPIO
Simple General Purpose I/O
ATA CHIP SELECTS
hi - z
ATA_CS0
ATA Chip Select 0
CAN2
hi - z
CAN2_TX
CAN 2 Transmit Data
SPI
hi - z
GPIO
Simple General Purpose I/O
CAN2 / SPI
hi - z
CAN2_TX
CAN 2 Transmit Data
TIMER
hi - z
TIMER_1
GPIO
hi - z
GPIO
Simple General Purpose I/O
ATA CHIP SELECTS
hi - z
ATA_CS0
ATA Chip Select 1
CAN2
hi - z
CAN2_RX
CAN 2 Receive Data
SPI
hi - z
GPIO
Simple General Purpose I/O
CAN2 / SPI
hi - z
CAN2_RX
CAN 2 Receive Data
Pin TIMER_1
Ball V18
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-75
Signal Descriptions
Table 2-23. Timer Functions by Pin (continued)
Pin / Ball Number
Pin TIMER_2
Reset
Value
Description
Ball D03
TIMER
hi - z
TIMER_2
GPIO
hi - z
GPIO
Simple General Purpose I/O
ATA CHIP SELECTS
hi - z
GPIO
Simple General Purpose I/O
CAN2
hi - z
GPIO
Simple General Purpose I/O
SPI
hi - z
SPI _MOSI
SPI Master Out Slave In
CAN2 / SPI
hi - z
SPI MOSI
SPI Master Out Slave In
TIMER
hi - z
TIMER_3
GPIO
hi - z
GPIO
Simple General Purpose I/O
ATA CHIP SELECTS
hi - z
GPIO
Simple General Purpose I/O
CAN2
hi - z
GPIO
Simple General Purpose I/O
SPI
hi - z
SPI _MISO
SPI Master In Slave Out
CAN2 / SPI
hi - z
SPI MISO
SPI Master In Slave Out
TIMER
hi - z
TIMER_4
GPIO
hi - z
GPIO
Simple General Purpose I/O
ATA CHIP SELECTS
hi - z
GPIO
Simple General Purpose I/O
CAN2
hi - z
GPIO
Simple General Purpose I/O
SPI
hi - z
SPI _SS
SPI Slave Select
CAN2 / SPI
hi - z
SPI SS
SPI Slave Select
Pin TIMER_3
Pin TIMER_4
Ball D02
Ball D01
MPC5200B User’s Manual, Rev. 3
2-76
Freescale Semiconductor
Signal Descriptions
Table 2-23. Timer Functions by Pin (continued)
Pin / Ball Number
Pin TIMER_5
Reset
Value
Description
Ball E03
TIMER
hi - z
TIMER_5
GPIO
hi - z
GPIO
Simple General Purpose I/O
ATA CHIP SELECTS
hi - z
GPIO
Simple General Purpose I/O
CAN2
hi - z
GPIO
Simple General Purpose I/O
SPI
hi - z
SPI _CLK
SPI Clock
CAN2 / SPI
hi - z
SPI CLK
SPI Clock
TIMER
hi - z
TIMER_6
GPIO
hi - z
GPIO
Simple General Purpose I/O
ATA CHIP SELECTS
hi - z
GPIO
Simple General Purpose I/O
CAN2
hi - z
GPIO
Simple General Purpose I/O
SPI
hi - z
GPIO
Simple General Purpose I/O
CAN2 / SPI
hi - z
GPIO
Simple General Purpose I/O
TIMER
hi - z
TIMER_7
GPIO
hi - z
GPIO
Simple General Purpose I/O
ATA CHIP SELECTS
hi - z
GPIO
Simple General Purpose I/O
CAN2
hi - z
GPIO
Simple General Purpose I/O
SPI
hi - z
GPIO
Simple General Purpose I/O
CAN2 / SPI
hi - z
GPIO
Simple General Purpose I/O
Pin TIMER_6
Pin TIMER_7
Ball E02
Ball E01
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-77
Signal Descriptions
PSC6
GPIO
4
4
Pin Drivers and MUX Logic
PSC6_0
Port_conf
[9:11]
Function
PSC6_0
PSC6_2
PSC6_1
PSC6_1
PSC6_3
PSC6_2
PSC6_3
GPIO
000
GPIO_W/WAKE_ GPIO_W/WAKE_UP GPIO
UP
GPIO
UART6/
IrDA
101
UART6_RXD/
IrDA_RX
UART6_CTS
UART6_TXD/
IrDA_TX
UART6_RTS
CODEC6/
IrDA
111
CODEC6_RXD/
IrDA_RX
CODEC6_FRAME
CODEC6_TXD/
IrDA_TX
CODEC6_CLK/
IR_USB_CLK
Figure 2-11. PSC6 Port Map—4 Pins
Table 2-24. PSC6 Pin Functions
Pin Name
Dir.
GPIO
UART6/ IrDA
CODEC6 / IrDA
PSC6_0
I/O
WAKE_UP
UART6_RXD
IrDA_RX
CODEC6_RXD
Irda_RX
PSC6_1
I/O
WAKE_UP
UART6_CTS
CODEC6_FRAME
PSC6_2
I/O
SIMPLE GPIO
UART6_TXD
IrDA_TX
CODEC6_TXD
IrDA_TX
PSC6_3
I/O
SIMPLE GPIO
UART6_RTS
CODEC6_CLK/
IR_USB_CLK
Table 2-25. PSC6 Functions by Pin
Pin / Ball Number
Pin PSC6_0
Reset
Value
Description
Ball B12
GPIO
hi - z
GPIO
Simple General Purpose I/O with WAKE UP
UART6 / IrDA
hi - z
UART6_RXD
Uart Receive Data
IrDA_RX IrDA Receive Data
CODEC6 / IrDA
hi - z
CODEC6_RXD
CODEC Receive Data
IrDA_RX IrDA Receive Data
MPC5200B User’s Manual, Rev. 3
2-78
Freescale Semiconductor
Signal Descriptions
Table 2-25. PSC6 Functions by Pin (continued)
Reset
Value
Pin / Ball Number
Pin PSC6_1
Description
Ball C11
GPIO
hi - z
GPIO
Simple General Purpose I/O with WAKE UP
UART6
hi - z
UART6_CTS
Uart Clear To Send
CODEC6
hi - z
CODEC6_FRAME
CODEC Frame Sync
GPIO
hi - z
GPIO
Simple General Purpose I/O
UART6 / IrDA
hi - z
UART6_TXD
Uart Transmit Data
IrDA_TX Irda Transmit Data
CODEC6 / IrDA
hi - z
CODEC6_TXD
CODEC Transmit Data
IrDA_TX Irda Transmit Data
GPIO
hi - z
GPIO
Simple General Purpose I/O
UART6
hi - z
UART6_RTS
Uart Clear To Send
CODEC6 / IrDA
hi - z
CODEC6_CLK
IR_USB_CLK
Pin PSC6_2
Ball A12
Pin PSC6_3
Ball C13
I2C2
I2C1
2
ATA Chip
Selects
CAN1
2
2
2
Pin Drivers and MUX Logic
I2C_0
Function
Port_conf
I2C_0
I2C_1
I2C_1
I2C_2
I2C_2
I2C_3
I2C_3
I2C1 / I2C2
default
I2C1_CLK
I2C1_IO
I2C2_CLK
I2C2_IO
CAN1 / I2C2
Port_conf[2:3]=01
CAN1_TX
CAN1_RX
I2C2_CLK
I2C2_IO
I2C1 / ATA CHIP Port_conf[6:7]=10
SELECTS
I2C1_CLK
I2C1_IO
ATA_CS_0
ATA_CS_1
Note:
1. CAN RX input supports WakeUp functionality.
Figure 2-12. I2C Port Map—4 Pins (two pins each, for two I2Cs)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-79
Signal Descriptions
Table 2-26. I2C Functions by Pin
Pin / Ball Number
Pin I2C_0
Reset
Value
Description
Ball V19
I2C_1 / I2C_2
I2C_1_CLK
I2C Clock
CAN_1/I2C_2
CAN1_TX
CAN Transmit Data
I2C_1/ATA_CS
I2C_1_CLK
I2C Clock
Pin I2C_1
Ball W19
I2C_1 / I2C_2
I2C_1_I/O
CAN1/CAN2
CAN1_RX
I2C_1/ATA_CS
I2C_1_I/O
Pin I2C_2
Ball V20
I2C_1 / I2C_2
I2C_2_CLK
I2C Clock
CAN1/CAN2
I2C_2_CLK
I2C Clock
I2C_1/ATA_CS
ATA_CS0
ATA Chip Select 0
Pin I2C_3
Ball W20
I2C_1 / I2C_2
I2C_2_I/O
I2C I/O line
CAN1/CAN2
I2C_2_I/O
I2C I/O line
I2C_1/ATA_CS
ATA_CS1
ATA Chip Select 1
MPC5200B User’s Manual, Rev. 3
2-80
Freescale Semiconductor
Signal Descriptions
Table 2-27. SDRAM Bus Pin Functions (Sheet 1 of 4)
Pin / Ball Number
Reset
Value
Description
Pin MEM_RAS
Ball A18
logic 0
SDRAM Bus Row Address Strobe
Pin MEM_CAS
Ball B19
logic 0
SDRAM Bus Column Address Strobe
Pin MEM_WE
Ball A19
logic 0
SDRAM Bus Write enable
Pin MEM_CS_0
Ball B18
logic 1
SDRAM Bus Chip Select 0
Pin MEM_CS_1
Ball C15 (GPIO_WKUP_6)
logic 1
SDRAM Bus Chip Select 1
(shared with GPIO_WKUP_6)
Pin MEM_CLK_EN
Ball F20
logic 0
SDRAM Bus Clock Enable
Pin MEM_CLK
Ball G19
logic 0
SDRAM Bus Memory Clock
Pin MEM_CLK
Ball G20
logic 1
SDRAM Bus Inverted Memory Clock
Pin MEM_MBA_1
Ball A17
logic 0
SDRAM Bus Memory Bank Address 1
Pin MEM_MBA_0
Ball C18
logic 0
SDRAM Bus Memory Bank Address 0
Pin MEM_MDQS_3
Ball L18
hi - z
SDRAM Bus Bidirectional Data Bus Strobe 3
Pin MEM_MDQS_2
Ball D18
hi - z
SDRAM Bus Bidirectional Data Bus Strobe 2
Pin MEM_MDQS_1
Ball H20
hi - z
SDRAM Bus Bidirectional Data Bus Strobe 1
Pin MEM_MDQS_0
Ball N20
hi - z
SDRAM Bus Bidirectional Data Bus Strobe 0
Pin MEM_DQM_3
Ball L17
SDRAM Bus Data Mask 3
Pin MEM_DQM_2
Ball A20
SDRAM Bus Data Mask 2
Pin MEM_DQM_1
Ball H19
SDRAM Bus Data Mask 1
Pin MEM_DQM_0
Ball N19
SDRAM Bus Data Mask 0
Pin MEM_MA_12
Ball F19
logic 0
SDRAM Bus Memory Address 12
Pin MEM_MA_11
Ball E20
logic 0
SDRAM Bus Memory Address 11
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-81
Signal Descriptions
Table 2-27. SDRAM Bus Pin Functions (Sheet 2 of 4)
Pin / Ball Number
Reset
Value
Description
Pin MEM_MA_10
Ball B17
logic 0
SDRAM Bus Memory Address 10
Pin MEM_MA_9
Ball E19
logic 0
SDRAM Bus Memory Address 9
Pin MEM_MA_8
Ball D20
logic 0
SDRAM Bus Memory Address 8
Pin MEM_MA_7
Ball D19
logic 0
SDRAM Bus Memory Address 7
Pin MEM_MA_6
Ball C20
logic 0
SDRAM Bus Memory Address 6
Pin MEM_MA_5
Ball C19
logic 0
SDRAM Bus Memory Address 5
Pin MEM_MA_4
Ball B20
logic 0
SDRAM Bus Memory Address 4
Pin MEM_MA_3
Ball C16
logic 0
SDRAM Bus Memory Address 3
Pin MEM_MA_2
Ball B16
logic 0
SDRAM Bus Memory Address 2
Pin MEM_MA_1
Ball A16
logic 0
SDRAM Bus Memory Address 1
Pin MEM_MA_0
Ball C17
logic 0
SDRAM Bus Memory Address 0
Pin MEM_MDQ_31
Ball U18
hi - z
SDRAM Bus Data 31
Pin MEM_MDQ_30
Ball T18
hi - z
SDRAM Bus Data 30
Pin MEM_MDQ_29
Ball R18
hi - z
SDRAM Bus Data 29
Pin MEM_MDQ_28
Ball R17
hi - z
SDRAM Bus Data 28
Pin MEM_MDQ_27
Ball P18
hi - z
SDRAM Bus Data 27
Pin MEM_MDQ_26
Ball N18
hi - z
SDRAM Bus Data 26
Pin MEM_MDQ_25
Ball N17
hi - z
SDRAM Bus Data 25
Pin MEM_MDQ_24
Ball M18
hi - z
SDRAM Bus Data 24
Pin MEM_MDQ_23
Ball K18
hi - z
SDRAM Bus Data 23
MPC5200B User’s Manual, Rev. 3
2-82
Freescale Semiconductor
Signal Descriptions
Table 2-27. SDRAM Bus Pin Functions (Sheet 3 of 4)
Pin / Ball Number
Reset
Value
Description
Pin MEM_MDQ_22
Ball J17
hi - z
SDRAM Bus Data 22
Pin MEM_MDQ_21
Ball J18
hi - z
SDRAM Bus Data 21
Pin MEM_MDQ_20
Ball H18
hi - z
SDRAM Bus Data 20
Pin MEM_MDQ_19
Ball G18
hi - z
SDRAM Bus Data 19
Pin MEM_MDQ_18
Ball G17
hi - z
SDRAM Bus Data 18
Pin MEM_MDQ_17
Ball F18
hi - z
SDRAM Bus Data 17
Pin MEM_MDQ_16
Ball E18
hi - z
SDRAM Bus Data 16
Pin MEM_MDQ_15
Ball M20
hi - z
SDRAM Bus Data 15
Pin MEM_MDQ_14
Ball M19
hi - z
SDRAM Bus Data 14
Pin MEM_MDQ_13
Ball L20
hi - z
SDRAM Bus Data 13
Pin MEM_MDQ_12
Ball L19
hi - z
SDRAM Bus Data 12
Pin MEM_MDQ_11
Ball K20
hi - z
SDRAM Bus Data 11
Pin MEM_MDQ_10
Ball K19
hi - z
SDRAM Bus Data 10
Pin MEM_MDQ_9
Ball J20
hi - z
SDRAM Bus Data 9
Pin MEM_MDQ_8
Ball J19
hi - z
SDRAM Bus Data 8
Pin MEM_MDQ_7
Ball P19
hi - z
SDRAM Bus Data 7
Pin MEM_MDQ_6
Ball P20
hi - z
SDRAM Bus Data 6
Pin MEM_MDQ_5
Ball R19
hi - z
SDRAM Bus Data 5
Pin MEM_MDQ_4
Ball R20
hi - z
SDRAM Bus Data 4
Pin MEM_MDQ_3
Ball T19
hi - z
SDRAM Bus Data 3
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-83
Signal Descriptions
Table 2-27. SDRAM Bus Pin Functions (Sheet 4 of 4)
Pin / Ball Number
Reset
Value
Description
Pin MEM_MDQ_2
Ball T20
hi - z
SDRAM Bus Data 2
Pin MEM_MDQ_1
Ball U19
hi - z
SDRAM Bus Data 1
Pin MEM_MDQ_0
Ball U20
hi - z
SDRAM Bus Data 0
Pin MEM_RDCLK
Ball not pinned out
clk
SDRAM Bus Memory Read Clock
(not pinned out)
Table 2-28. JTAG and Test Pin Functions
Pin / Ball Number
Reset
Value
Description
Pin JTAG_TCK
Ball B04
JTAG Test Clock
Pin JTAG_TMS
Ball A04
JTAG Test Mode Select
Pin JTAG_TDI
Ball A03
JTAG Test Data In
Pin JTAG_TRST
Ball B03
JTAG Reset
Pin JTAG_TDO
Ball A02
JTAG Test Data Out
Pin TEST_MODE_0
Ball B02
Test Mode Select 0 (for production test)
NOTE: This pin requires a pull-down resistor.
Pin TEST_MODE_1
Ball A01
Test Mode Select 1 (for production test)
NOTE: This pin requires a pull-down resistor.
Pin TEST_SEL_0
Ball B01
Scan Enable (for production test), PLL_BYPASS - input,
CK_STOP - output
Pin TEST_SEL_1
Ball C03
ENID Input in Test Mode (for production test)
NOTE: This pin requires a pull-down resistor.
MPC5200B User’s Manual, Rev. 3
2-84
Freescale Semiconductor
Signal Descriptions
Table 2-29. CLOCK / RESET Pin Functions
Reset
Value
Clock / Reset
Description
Pin PORRESET
Ball A13
logic 1
Power On Reset
Pin HRESET
Ball B13
logic 1
Hard Reset
Pin SRESET
Ball A14
logic 1
Soft Reset
Pin SYS_XTAL_IN
Ball A15
APLL Chip clock crystal / external clock input
Pin SYS_XTAL_OUT
Ball D14
clk
Pin SYS_PLL_TPA
Ball B15
APLL Chip Clock Crystal
MPC5200B System Test Pll Output (analog output)
Table 2-30. Dedicated GPIO Pin Function
Dedicated GPIO
Reset
Value
Description
Pin GPIO_WKUP_6 Ball C15
GPIO Wakeup
logic 0
Asynchronous GPIO with Wakeup Capability
GPIO_WKUP_6
Memory Chip Select
logic 0
SDRAM Chip Select 1
GPIO Wakeup
hi - z
Asynchronous GPIO with Wakeup Capability
GPIO_WKUP_7
LocalPlus MOST/Graphics TSIZ
hi - z
TSIZ1 for LocalPlus MOST/GRAPHICS mode
Pin GPIO_WKUP_7 Ball C12
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
2-85
Signal Descriptions
Table 2-31. Systems Integration Unit Pin Functions
Systems Integration Unit
Reset
Value
Descriptions
Pin LP_CS0
Ball W14
logic 1
LocalPlus Bus Chip Select 0
Pin LP_CS1
Ball Y14
logic 1
LocalPlus Bus Chip Select 1
Pin LP_CS2
Ball V15
logic 1
LocalPlus Bus Chip Select 2
Pin LP_CS3
Ball W15
logic 1
LocalPlus Bus Chip Select 3
Pin LP_CS4
Ball Y15
logic 1
LocalPlus Bus Chip Select 4
Pin LP_CS5
Ball V16
logic 1
LocalPlus Bus Chip Select 5
Pin LP_OE
Ball D08
logic 1
LocalPlus Bus Output Enable
Pin IRQ0
Ball P03
External Interrupt 0
Pin IRQ1
Ball P01
External Interrupt 1
Pin IRQ2
Ball P02
External Interrupt 2
Pin IRQ3
Ball R01
External Interrupt 3
Pin RTC_XTAL_IN
Ball C02
Real Time Clock Crystal Input / External Clock Input
Pin RTC_XTAL_OUT
Ball C01
Real Time Clock Crystal Output
MPC5200B User’s Manual, Rev. 3
2-86
Freescale Semiconductor
Chapter 3
Memory Map
3.1
Overview
The following sections are contained in this document:
• MPC5200B Internal Register Memory Map
• MPC5200B Memory Map
• SDRAM Bus
• LocalPlus Bus
— Memory Cycles
– Boot Chip Select
– Chip Selects
— ATA Cycles
— PCI Cycles
• MPC5200B Register Summaries
— Memory Map Registers — MBAR + 0x0000
— SDRAM Registers — MBAR + 0x0100
— Clock Distribution Module Registers — MBAR + 0x0200
— Chip Select Configuration Registers — MBAR + 0x0300
— Interrupt Controller Registers — MBAR + 0x0500
— General Purpose Timer Registers — MBAR + 0x0600
— Slice Timer Control Registers — MBAR + 0x0700
— Real Time Clock Registers — MBAR + 0x0800
— MSCAN Registers — MBAR + 0x0900
— Simple GPIO Registers — MBAR + 0x0B00
— Wake-up GPIO Registers — MBAR + 0x0C00
— PCI Registers — MBAR + 0x0D00
— Serial Peripheral Interface Registers — MBAR + 0x0F00
— USB Host Registers — MBAR + 0x1000
— BestComm Registers — MBAR + 0x1200
— J1850 (BDLC Controller) Registers — MBAR + 0x1300
— XL BUS ARbitration Registers — MBAR + 0x1F00
— PSC1 Registers — MBAR + 0x2000
— PSC2 Registers — MBAR + 0x2200
— PSC3 Registers — MBAR + 0x2400
— PSC4 Registers — MBAR + 0x2600
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
3-1
Memory Map
—
—
—
—
—
—
—
—
3.2
PSC5 Registers — MBAR + 0x2800
PSC6 Registers — MBAR + 0x2C00
Ethernet Registers — MBAR + 0x3000
BestComm / PCI Interface Registers — MBAR + 0x3800
ATA Bus Configuration Registers — MBAR + 0x3A00
BestComm / LocalPlus Interface Registers — MBAR + 0x3C00
I2C Configuration Registers — MBAR + 0x3D00
SRAM Module — MBAR + 0x8000
Internal Register Memory Map
Table 3-1. Internal Register Memory Map
Address
Name
Description
Reference
MBAR + 0x0000
MM
MBAR + 0x0100
SDRAM
MBAR + 0x0200
CDM
Clock Distribution Module registers.
MBAR + 0x0300
CSC
Chip Select Controller registers.
Section 9.7.1
MBAR + 0x0500
ICTL
Interrupt Controller registers.
Section 7.2.4
MBAR + 0x0600
GPT
General Purpose Timer registers.
Section 7.4.4
MBAR + 0x0700
SLT
Slice Time registers.
Section 7.5.1
MBAR + 0x0800
RTC
Real-Time Clock registers.
Section 7.6.3
MBAR + 0x0900
CAN
MSCAN registers.
Section 19.5.2
MBAR + 0x0B00
GPS
GPIO Standard registers
Section 7.3.2.1
MBAR + 0x0C00
GPW
GPIO Wake up registers.
Section 7.3.2.2
MBAR + 0x0D00
PCI
PCI XLB Configuration registers
Section 10.3
MBAR + 0x0F00
SPI
Serial Peripheral Interface registers.
Section 17.3
MBAR + 0x1000
USB
Universal Serial Bus registers.
Section 12.4
MBAR + 0x1200
BDMA
BestComm DMA registers.
Section 13.15
MBAR + 0x1300
BDLC
J1850 (BDLC) registers
Section 20.7
MBAR + 0x1F00
XLARB
MBAR + 0x2000
Memory Map Registers
Section 3.3.3
SDRAM Memory Controller registers.
Section 8.6.1
Section 5.5
XL BUS ARBITRATION Registers
Section 16.2.1
PSC1
Programmable Serial Controller 1 registers.
Section 15.2.2
MBAR + 0x2200
PSC2
Programmable Serial Controller 2 registers.
Section 15.2.2
MBAR + 0x2400
PSC3
Programmable Serial Controller 3 registers.
Section 15.2.2
MBAR + 0x2600
PSC4
Programmable Serial Controller 4 registers.
Section 15.2.2
MBAR + 0x2800
PSC5
Programmable Serial Controller 5 registers.
Section 15.2.2
MBAR + 0x2C00
PSC6
Programmable Serial Controller 6 / Infrared Data
Association registers.
Section 15.2.2
MBAR + 0x3000
ETH
Ethernet registers.
Section 14.4.3
MBAR + 0x3800
BPCI
BestComm DMA PCI registers.
Section 10.3.3
MPC5200B User’s Manual, Rev. 3
3-2
Freescale Semiconductor
Memory Map
Table 3-1. Internal Register Memory Map (continued)
Address
Name
MBAR + 0x3A00
ATA
MBAR + 0x3C00
BLPC
MBAR + 0x3D00
2
I C
MBAR + 0x8000
SRAM
3.3
Description
Reference
Advanced Technology Attachment registers.
Section 11.3.1
Section 11.3.2
Section 11.3.3
BestComm DMA LocalPlus registers
Section 9.7.2
Inter-Integrated Circuit registers.
Section 18.3
On-chip Static RAM memory locations.
Section 13.16
MPC5200B Memory Map
The MPC5200B memory map has the following main regions:
• MPC5200B Internal Register Space
• External Busses
— SDRAM Bus
— LocalPlus Bus
– External Chip Selects 0–7
– Memory Space
– Boot Space
– Program Space
– Data Space
• ATA Space
3.3.1
MPC5200B Internal Register Space
The internal registers of the MPC5200B are memory mapped, just like external RAM or any other
peripheral devices. The addresses of the internal registers are expressed as offsets to the contents of the
MBAR Register (Memory Base Address Register).
The Memory Base Address Register contains the upper 16 bits of the register address space. This sixteen
bit value is contained in the lower 16 bits (bit 16 - bit 31) of the Memory Base Address Register. The
default value at the release of RESET contained in the MBAR Register is 0x0000 8000. To form a register
address, the lower sixteen bits of MBAR are left-justified, forming address bits A31 - A16. Then the 16-bit
register offset address for a particular register is concatenated with this value to form a 32-bit address.
NOTE
On the LocalPlus Bus, A31 is the Most Significant Bit and A0 is the Least
Significant Bit. It is most important to note that the internal registers of the
MPC5200B use bit 0 as the Most Significant Bit and bit 31 as the Least
Significant Bit.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
3-3
Memory Map
NOTE
The Memory Base Address Register is memory mapped, itself, and it is also
the first register in the Internal Register Space. Because the default value in
MBAR from the release of RESET is 0x0000 8000 and the MBAR register
has an offset address of 0x0000 0000, the absolute address of MBAR
becomes 0x8000 0000.
For an additional example, the offset addresses of the Clock Distribution Module Registers start at 0x0200.
Using the default value in MBAR, the address of the first register in the Clock Distribution Module is
0x8000 0200.
NOTE
The MBAR register is a memory mapped register. In fact, the contents of the
MBAR register hold the Most Significant 16 bits of its own address. When
the contents of the MBAR register are changed, a copy of this value should
be written to Special Purpose Register SPR (0d311). This location should be
used to store the present Memory Base Address for the System Memory
map. It is the responsibility of the system programmer to ensure the present
value is current with the system’s memory base offset.
3.3.2
External Busses
There are two external data / address bus structures on the MPC5200B. These are the LocalPlus Bus and
the SDRAM Bus. The MPC5200B always begins execution from the release of RESET on the LocalPlus
Bus and from the memory device connected to LP_CS0.
3.3.2.1
SDRAM Bus
The SDRAM BUS is designed to accommodate Synchronous Single Data Rate DRAM and Synchronous
Double Data Rate DRAM. Program execution generally occurs from programs stored in the memory
located on the SDRAM Bus. The SDRAM bus has burst read capability which greatly enhances the
bandwidth of the SDRAM Bus. The Memory Clock that drives the SDRAM bus is equal to the XL Bus
clock frequency.
From Power On Reset the SDRAM Bus is inactive, that is, the chip select line for the SDRAMs is inactive.
The appropriate registers must first be programmed to configure the SDRAM Bus chip select line and
make it active before program execution can begin on the SDRAM bus. In general, when a system begins
operation from a Power On Reset, “programs stored as data” in memory devices on the LocalPlus Bus are
transferred to the SDRAM bus memory by a program stored in the Boot Device on the LocalPlus Bus.
Once the “programs stored as data” are transferred to the SDRAM bus memory, the Boot program then
causes the CPU to jump to the start address of the program which is now located in SDRAM Bus memory
and execution continues from the SDRAM Bus memory.
MPC5200B User’s Manual, Rev. 3
3-4
Freescale Semiconductor
Memory Map
3.3.2.2
LocalPlus Bus
The LocalPlus Bus is designed to connect to ROM, FLASH, static RAM and other peripheral devices. It
is not designed to accommodate DRAM’s. Program execution begins from the LocalPlus Bus memory
device connected to LP_CS0. In actual practice, the only programs that are usually executed from
LocalPlus Bus memory are those used to initialize the MPC5200B and to transfer data from LocalPlus Bus
memory to SDRAM bus memory. In general, programs are stored as data in non-volatile memory on the
LocalPlus Bus and then transferred to the SDRAM Bus. Once the transfer occurs, program execution is
transferred to a program residing in memory on the SDRAM Bus.
The LocalPlus Bus can be accessed by the CPU to perform direct reads and writes of external memory or
the LocalPlus Bus can be a BestComm Peripheral. In this case, the CPU programs the BestComm
Controller to automatically transfer data from a particular source address to the LocalPlus memory or from
the LocalPlus memory to a particular destination address. Almost all peripheral modules, such as the PSC
modules, and both the SDRAM Bus and LocalPlus Bus can be BestComm data sources or destinations.
There are 8 chip select lines, CS0 - CS7, associated with the LocalPlus Bus. Also, there are three basic
memory access types that can be run on the LocalPlus bus. These are normal memory accesses, PCI cycles
and ATA cycles.
The LocalPlus LP_CS0 pin can have two configurations. It can be the BOOT Chip Select line, which is its
default condition from the release of RESET, and it can be configured after RESET to be LP_CS0. When
configured as the BOOT Chip Select, this chip select line can select Program Space. Thus, program
execution can occur from the memory device selected by LP_CS0. If the LP_CS0 pin is configured for
data space by user software, then only Data Space Memory can be read or written.
Associated with each Chip Select line is a Start Address Register and a Stop Address Register. There are
two Chip Select Start/Stop Address Register pairs associated with the LP_CS0 pin. One Chip Select
Start/Stop Register pair is used to configure the LP_CS0 pin as the BOOT Chip Select and the other
register pair configures the LP_CS0 pin to run normal memory access cycles in data space, only. Only one
of the LP_CS0 Chip Select Start/Stop Address Register pairs should be active at any given time.
When enabled as the Boot Chip Select, only reads are possible. Reads of 64-bits are supported for
instruction fetches. Burst reads are also supported. When enabled as a data space memory chip select, only
Data Space reads and writes are supported. Code cannot be executed from a memory device connected to
LP_CS0 when it is configured as a data space chip select. Bursting is not supported and reads are limited
to 32-bits.
There are two additional Start/Stop Address Register pairs used for PCI cycles. These registers are not
associated with any chip select line. Chip Select 4 and Chip Select 5 can be configured to run normal
memory cycles or ATA cycles. Chip Select 1 - 3 and Chip Select 6 - 7 can only run normal memory cycles.
All the address related registers in this module are in the form of Start/Stop pairs. An address appearing
on XL Bus is compared as equal-to-or-greater than the Start value and less-than-or-equal-to the Stop value.
If both tests pass then a valid address “hit” occurs for the associated space. For Start values the unused bits
are assumed to be zero, for Stop values the unused bits are assumed to be high.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
3-5
Memory Map
Address registers (and the MBAR itself) have only 16 significant bits. Although these bits are
right-justified in the registers they are actually interpreted as the most significant 16 bits of the address for
comparison tests. For this reason, software must right shift an absolute address by 16 before writing it as
a value into the desired START or STOP Address register. The same is true when reading values from these
registers.
Start/Stop comparisons are enabled only if the corresponding enable bit in the MM Address Space Enable
Register is high. The proper method for updating Start/Stop registers is to first write the enable bit to zero,
update both the Start and Stop registers, and then re-enable the corresponding enable bit by writing it high.
NOTE
Failure to follow the above procedure could result in bus hanging and
machine check errors.
3.3.3
Memory Map Space Register Description
These registers exist in the Memory Map register space relative to Memory Base Address Register
(MBAR).
3.3.3.1
Memory Address Base Register
Address MBAR + 0x0000
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
R
Base Address Register
W
Reset
1
0
0
0
0
0
0
0
0
0
Figure 3-1. Memory Address Base Register
Table 3-2. Memory Address Base Register Field Descriptions
Bits
Name
0:15
Reserved
16:31
Base Address
Register
Description
These bits are reserved.
Provides the offset to which all register space for MPC5200B is accessed. The reset value of this
register is 0x8000, which provides for a MBAR of 0x8000 0000. All of MPC5200B registers are then
accessible at MBAR+offset, where offset refers to the given value in <Cross Refs Helv 9>Table 3-1
for the respective module.
MPC5200B User’s Manual, Rev. 3
3-6
Freescale Semiconductor
Memory Map
3.3.3.2
Boot and Chip Select Addresses
Table 3-3. Boot and Chip Select Address Registers
MBAR
offset
Name
0x0004
CS0 Start
Address
0x0008
CS0 Stop
Address
0x000C
CS1 Start
Address
0x0010
CS1 Stop
Address
0x0014
CS2 Start
Address
0x0018
CS2 Stop
Address
0x001C
CS3 Start
Address
0x0020
CS3 Stop
Address
0x0024
CS4 Start
Address
0x0028
CS4 Stop
Address
0x002C
CS5 Start
Address
0x0030
CS5 Stop
Address
0x004C
Boot Start
Address
0x0050
Boot Stop
Address
0x0058
CS6 Start
Address
0x005C
CS6 Stop
Address
0x0060
CS7 Start
Address
0x0064
CS7 Stop
Address
Description
Chip Select 0 through the LocalPlus Bus. Any access on an address between the Start and
Stop Addresses enables this chip select.
Chip Select 1 through the LocalPlus Bus. Any access on an address between the Start and
Stop Addresses enables this chip select.
Chip Select 2 through the LocalPlus Bus. Any access on an address between the Start and
Stop Addresses enables this chip select.
Chip Select 3 through the LocalPlus Bus. Any access on an address between the Start and
Stop Addresses enables this chip select.
Chip Select 4 through the LocalPlus Bus. Any access on an address between the Start and
Stop Addresses enables this chip select.
Chip Select 5 through the LocalPlus Bus. Any access on an address between the Start and
Stop Addresses enables this chip select.
Boot Addressing through the LocalPlus Bus. Any access on an address between the Start and
Stop Addresses accesses the boot space. By default, the address space accessed starts at
0x0000 0000 or 0xFFF0 0000 depends on the reset configuration. The size of the boot address
space after reset is 512Kbytes.
Chip Select 6 through the LocalPlus Bus. Any access on an address between the Start and
Stop Addresses enables this chip select.
Chip Select 7 through the LocalPlus Bus. Any access on an address between the Start and
Stop Addresses enables this chip select.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
3-7
Memory Map
All of these Base Address Registers work the same
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
1
1
1
1
1
R
Base Address
W
Reset
1
1
1
1
1
1
1
1
1
Figure 3-2. Boot and Chip Select Address Register
Table 3-4. Boot and Chip Select Address Register Field Descriptions
Bits
Name
0:15
Reserved
16:31
Base Address
3.3.3.3
Description
These bits are reserved.
The 16 most significant bits of the Base Address. A value of 0x4000 would translate into a base
address of 0x4000 0000.
SDRAM Chip Select Configuration Registers
Table 3-5. SDRAM Chip Select Configuration Registers
MBAR
offset
Name
0x0034
SDRAM Chip
Select 0
0x0038
SDRAM Chip
Select 1
Description
Contains the Base Addresses and configurations for SDRAM’s connected to the SDRAM
controller.
MPC5200B User’s Manual, Rev. 3
3-8
Freescale Semiconductor
Memory Map
R
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
W
Base XLB Address
Reserved
Reset
R
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
W
Reserved
SDRAM Size
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 3-3. SDRAM Chip Select Configuration Register
Table 3-6. SDRAM Chip Select Configuration Register Field Descriptions
Bits
Name
Description
0:11
Base XLB
Address
Start address for memory
12:26
Reserved
These bits are reserved.
27:31
SDRAM size
Should be set to size of SDRAM at corresponding SDRAM chip select. Settings are included in the
following table.
Note: The Base XLB Address has to be SDRAM size aligned.
Table 3-7. SDRAM Size Bit Settings
SDRAM Memory Size
SDRAM Size Bit Setting
11111
4GB
11110
2GB
11101
1GB
11100
512MB
11011
256MB
11010
128MB
11001
64MB
11000
32MB
10111
16MB
10110
8MB
10101
4MB
10100
2MB
10011
1MB
00001–10010
Reserved
0000
Disable
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
3-9
Memory Map
3.3.3.4
IPBI Control Register and Wait State Enable
The IPBI Control Register consists of the Enables for the Base Addresses set in Memory Map Space
Address MBAR + 0x0054
0
1
2
3
R
Reserved
W
Reset
4
5
6
CS7
Ena
CS6
Ena
Boot
Ena
7
8
9
Reserved
10
11
12
13
14
15
CS5
Ena
CS4
Ena
CS3
Ena
CS2
Ena
CS1
Ena
CS0
Ena
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
WSE
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
Figure 3-4. IPBI Control Register
Table 3-8. IPBI Control Register Field Descriptions
Bits
Name
Description
0:3
Reserved
These bits are reserved.
4
CS7 Ena
Chip Select 7 Enable
5
CS6 Ena
Chip Select 6 Enable
6
Boot Ena
Boot Enable
7:9
Reserved
These bits are reserved.
10
CS5 Ena
Chip Select 5 Enable
11
CS4 Ena
Chip Select 4 Enable
12
CS3 Ena
Chip Select 3 Enable
13
CS2 Ena
Chip Select 2 Enable
14
CS1 Ena
Chip Select 1 Enable
15
CS0 Ena
Chip Select 0 Enable
16:30
Reserved
These bits are reserved.
31
WSE
Wait State Enable bit. This bit should always be enabled when running an IP bus frequency of
>66MHz.
MPC5200B User’s Manual, Rev. 3
3-10
Freescale Semiconductor
Chapter 4
Resets and Reset Configuration
4.1
Overview
The following sections are contained in this document:
• Hard and Soft Reset Pins
• Reset Sequence
• Reset Operation
• Other Resets
• Reset Configuration
4.2
Hard and Soft Reset Pins
MPC5200B has three primary reset pins, which are implemented as open drain I/Os1:
• Power-On Reset—PORRESET
• Hard Reset—HRESET
• Soft Reset—SRESET
PORRESET is a power-on reset input. It is asserted by an external source and must be held active for a
specified period of time until power is stable to the MPC5200B.
HRESET and SRESET can be asserted by an external source or they can be asserted by reset generation
logic internal to MPC5200B.
Internal reset logic analyzes all internal and external reset sources and asserts internal and external reset
signals appropriately.
When a hard reset (HRESET) is detected, reset logic counters hold internal and external HRESET for a
minimum of 4096 reference clock cycles or until the external HRESET source is released, whichever is
longer.
1. All “open drain” outputs of MPC5200B are actually regular 3-state output drivers with the output data tied low, and the output
enable controlled. Thus, unlike a true open drain, there is a current path from the external system to the MPC5200B I/O power
rail if the external signal is driven above the MPC5200B I/O power rail voltage.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
4-1
Resets and Reset Configuration
4.2.1
Power-On Reset—PORRESET
PORRESET must be asserted externally when power is applied to the system for a required period of time
(see Section 4.4, “Reset Operation”). When PORRESET is asserted, internal logic forces HRESET and
SRESET active. PORRESET must remain asserted until the MPC5200B system oscillator begins
oscillation and the system APLL establishes a locked condition.
During PORRESET or HRESET the reset configuration word is sampled to establish the initial state of
various vital internal MPC5200B functions. The reset configuration word is latched internally when
HRESET is released.
When initiated by PORRESET, HRESET asserts and remains asserted for 4096 reference clocks after
PORRESET is released.
Source of power-on reset is an external, board level reset source like a push button, reset control logic, etc.
4.2.2
Hard Reset—HRESET
HRESET is a bidirectional signal with a Schmitt-trigger input and an open drain output. HRESET requires
an external pull-up. Assertion of external HRESET causes external HRESET and SRESET, and internal
hard and soft resets, to be asserted for at least 4096 reference clock cycles.
During PORRESET or HRESET the reset configuration word is sampled to establish the initial state of
various vital internal MPC5200B functions. The reset configuration word is latched internally when
PORRESET or HRESET is released.
HRESET can also be asserted by internal sources. When HRESET is asserted internally, external HRESET
and SRESET are also asserted.
Sources of hard reset are:
• PORRESET or HRESET pins asserted
• Hard reset asserted by debug module
• Reset signal asserted by watchdog timer or checkstop reset
4.2.3
Soft Reset—SRESET
External SRESET is an open drain signal. SRESET requires an external pull-up. Assertion of SRESET
causes assertion of the internal soft reset. Internal soft reset is actually an interrupt that takes the same
exception vector as HRESET. In particular, this means that SRESET cannot abort a hung XLB operation,
and no device should use SRESET in a way that interferes with any bus operation in progress.
SRESET can also be asserted by internal sources. When SRESET is asserted internally, external SRESET
is also asserted.
Sources of soft reset:
• PORRESET, HRESET, or SRESET external pins asserted
• Soft reset bit in Clock Distribution Module (CDM) register asserted by processor
• Soft reset asserted by debug module
MPC5200B User’s Manual, Rev. 3
4-2
Freescale Semiconductor
Resets and Reset Configuration
4.3
Reset Sequence
Assert internal and external
HRESET and SRESET
PORRESET is asserted
Power-On Reset
Sample configuration from
RST_CONFIG[15:0]
Power becomes stable
PORRESET is negated and
Reset configuration is latched
Internal or External
HRESET is asserted
HRESET
Reset Hold
Assert internal and external
HRESET for 4096
reference clock cycles
APLLs Lock
Sample configuration from
RST_CONFIG[15:0]
Internal or External
SRESET is asserted
Wait
No Reset signals
recognized for 2
reference clock cycles
Additional HRESET, SRESET Recognized
Figure 4-1. Reset sequence
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
4-3
Resets and Reset Configuration
4.4
Reset Operation
PORRESET must remain asserted for at least 100μs after all power supplies and the system oscillator input
are stable and operating within specs. Following deassertion of power-on reset, HRESET and SRESET
remain low for 4096 reference clock cycles.
≥100 μs
4096 ref cycles
All Power
Supplies
SYS_XTAL
PORRESET
HRESET
SRESET
Figure 4-2. PORRESET Assertion
When external HRESET is asserted, internal reset logic catches the reset signal held low and asserts
internal hard and soft resets for 4096 reference clock cycles. The external reset signal must be held low for
at least 4 reference clock cycles (must catch 4 rising edges of reference clock) to be recognized and assert
the internal reset signals.
4
Reference Clock
HRESET
1 Edge
4096 ref cycles
2 Edges
3 Edges
Internal
Reset
Figure 4-3. Internal Hard Reset vs External HRESET Assertion
The Clock Distribution Module contains a register that can be written by the microprocessor to assert soft
reset. Writing the SRESET bit in this register to zero causes external SRESET and internal soft reset to be
asserted.
MPC5200B User’s Manual, Rev. 3
4-4
Freescale Semiconductor
Resets and Reset Configuration
4.5
Other Resets
MPC5200B has four other reset signals. These signals are specific to certain peripheral modules and are
controlled in the context of that module, not globally.
.
Table 4-1. Module Specific Reset Signals
Definition
PCI_RESET
PCI bus reset output. Generated by processor write to a PCI register.
AC97_1_RES
AC97 reset output. Generated from the AC97 PSC1 module.
AC97_2_RES
AC97 reset output. Generated from the AC97 PSC2 module.
JTAG_TRST
JTAG reset input. Generated externally from JTAG or debug control logic. This input only resets the JTAG
logic. Other system resets (PORRESET, HRESET, and SRESET) do not reset the JTAG logic.
Note: For information on the reset signal JTAG_TRST and the relationship to other reset signals refer to
the MPC5200 Hardware Specifications.
ATA Reset
This is NOT a reset pin on MPC5200B. The ATA reset for the external drive must be supplied by the board
level reset source, or if software control is required, generated via a GPIO.
4.6
Reset Configuration
The MPC5200B is initialized by sampling values found on specific device pins during power-on reset
(PORRESET) or hard-reset (HRESET). These pins are outputs in normal operation, but are sampled as
inputs during power-on reset or hard-reset. External pull-up or pull-down resistors on the board are used
to force a value on these pins during power-on reset or hard-reset. These values are latched into the CDM
Reset Configuration register at the end of power-on reset or hard-reset, then distributed to various
peripherals. After power-on reset or hard-reset, these outputs overdrive the external pull-up or pull-down
resistors and behave as functional outputs. Only during power-on reset or hard-reset these pins are inputs.
Table 4-2 gives the power-on reset or hard-reset configuration inputs.
Table 4-2. Reset Configuration Word Source Pins
Pkg
Ball
Reset
Config Pin
I/O Signal
Name
CDM Reset
Config
Register Bit
Config Signal
from CDM
Y18
RST_CFG0
ATA_DACK
PORCFG[31]
ppc_pll_cfg_4
Y17
RST_CFG1
ATA_IOR
PORCFG[30]
ppc_pll_cfg_3
W17
RST_CFG2
ATA_IOW
PORCFG[29]
ppc_pll_cfg_2
W16
RST_CFG3
LP_RWB
PORCFG[28]
ppc_pll_cfg_1
V14
RST_CFG4
LP_ALE
PORCFG[27]
ppc_pll_cfg_0
Y13
RST_CFG5
LP_TS
PORCFG[26]
xlb_clk_sel
H02
RST_CFG6
USB1_1
PORCFG[25]
sys_pll_cfg_0
bit=0:fsystem =16 x SYS_XTAL_IN
bit=1:fsystem =12 x SYS_XTAL_IN
H03
RST_CFG7
USB1_2
PORCFG[24]
sys_pll_cfg1
bit=0:fvcosys = fsystem
bit=1:fvcosys = 2 x fsystem
Description
MPC5200B G2_LE PPC Core PLL
Configuration
bit=0:XLB_CLK=fsystem / 4
bit=1:XLB_CLK=fsystem / 8
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
4-5
Resets and Reset Configuration
Table 4-2. Reset Configuration Word Source Pins (continued)
Pkg
Ball
Reset
Config Pin
I/O Signal
Name
CDM Reset
Config
Register Bit
Config Signal
from CDM
K01
RST_CFG8
ETH0
PORCFG[23]
boot_rom_mg
bit=0:No Boot in Most Graphics Mode 1
bit=1:Boot in Most Graphics Mode 1,2,4
K03
RST_CFG10
ETH2
PORCFG[21]
ppc_msrip
Microprocessor Boot Address/Exception
table location.
bit=0:0000_0100 (hex)
bit=1:FFF0_0100 (hex)
J01
RST_CFG11
ETH3
PORCFG[20]
boot_rom_wait
bit=0:4 PCI bus clocks of wait state
bit=1:48 PCI bus clocks of wait state
J02
RST_CFG12
ETH4
PORCFG[19]
boot_rom_swap
bit=0:no byte lane swap, same
endian ROM image
bit=1:byte lane swap, different
endian ROM image
L03
RST_CFG13
ETH5
PORCFG[18]
boot_rom_size
For non-muxed boot ROMs: 2,3
bit=0:8bit boot ROM data bus, 24bit
max boot ROM address bus
bit=1:16bit boot ROM data bus, 16bit
boot ROM address bus
For muxed boot ROMs:
boot ROM address is max 25 significant bits
during address tenure.
bit=0:16bit ROM data bus
bit=1:32bit ROM data bus
N02
RST_CFG14
ETH6
PORCFG[17]
boot_rom_type
bit=0:non-muxed boot ROM bus,
single tenure transfer. 1
bit=1:muxed boot ROM bus, with
address and data tenures,
ALE and TS active. 1
K02
RST_CFG15
ETH1
PORCFG[16]
large_flash_sel
bit=0:No Boot in Large Flash Mode 1
bit=1:Boot in Large Flash Mode 1,3,4
Description
Note:
1. If multiple settings are chosen, the following priorities are valid:
large_flash_sel
boot_rom_mg
boot_rom_type
2. The boot_rom_size configuration signal doesn’t influence the address and data bus width of the MOST Graphics boot mode
configuration. The maximum address bus width is fixed to 24 bit and the data bus width is fixed to 32 bit.
3. The boot_rom_size configuration signal doesn’t influence the address bus width of the Large Flash boot mode configuration. The
maximum address bus width is fixed to 26 bit.
4. The PCI controller is disabled, if booting in Large Flash or MOST Graphics mode is selected.
MPC5200B User’s Manual, Rev. 3
4-6
Freescale Semiconductor
Chapter 5
Clocks and Power Management
5.1
Overview
The following sections are contained in this document:
• Clock Distribution Module (CDM)
• MPC5200B Clock Domains
• Power Management
• CDM Registers
5.2
Clock Distribution Module (CDM)
The CDM is the source of all internally generated clocks and reset signals. The MPC5200B clock
generation uses two analog phase locked loop (APLL) blocks. The system APLL takes an external
reference frequency (nominal 27–33MHz) and generates the following internal clocks. See Table 5-1.
Table 5-1. Clock Distribution Module
Clock Name
XLB CLOCK
(xlb_clk)
MEM_CLOCK
(mem_clock)
IPB CLock
(ipb_clk)
PCI CLOCK
(pci_clk)
Description
Microprocessor on-chip 64-bit XLB clock. This is the fundamental MPC5200B frequency.
SDRAM Controller memory clock supplied to external SDRAM devices. Max frequency is 132MHz. The
memory clock frequency is always equal to the XLB frequency.
Intellectual Property Bus (IPB) clock.
PCI Controller clock.
CORE CLOCK
Clock for the e300 Core. The core APLL takes the XLB clock and generates the e300 clock.
48MHz CLOCK
USB CLOCK
48MHz clock for USB and IrDA (PSC6). This clock can be sourced internally from the CDM or from an
external source via the IrDA_USB_CLK pin.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-1
Clocks and Power Management
5.3
MPC5200B Clock Domains
The MPC5200B has 5 major clock domains, which are listed below. Details are given in the sections that
follow.
• e300 Core Clock Domain—internal processor core frequency
• Processor Bus (XLB) Clock Domain —internal e300 Core processor bus
• SDRAM Memory Controller Clock Domain
• IPB Clock Domain—programming register and peripheral interface frequency
• PCI Clock Domain
The following smaller peripheral clock domains can be asynchronous to the fundamental clock
frequencies on MPC5200B:
• Ethernet—The Ethernet Controller requires a 10MHz (10 Mbit operation) or 25MHz (100 Mbit
operation) Tx/Rx clock. Both clocks are inputs to the MPC5200B, supplied from the Ethernet
physical device (ETH_RXCLK, ETH_TXCLK pins). The Ethernet Controller Tx/Rx portion of
the MPC5200B is asynchronous to the rest of MPC5200B.
• USB—The Universal Serial Bus module Tx/Rx portion can be clocked by an external clock source
(IR_USB_CLK pin) or by an internally generated clock. Clock frequency must be 48MHz. When
the clock source is externally supplied, the USB module Tx/Rx portion is asynchronous to the rest
of MPC5200B.
• PSC—The PSC (Programmable Serial Controller) module is instantiated in the MPC5200B 6
times (PSC1 to PSC6). The PSC has different modes of operation. In some cases the logic is
clocked by internally generated clocks (i.e., UART mode), and in others the PSC is clocked by
external clock sources (i.e., CODEC mode). If the PSC logic is clocked from an external source
then the logic is asynchronous to the rest of the chip.
• When the PSC6 is configured as IrDA—The Infrared Data Association module Tx/Rx portion can
be clocked by an external clock source (IR_USB_CLK pin) or by an internally generated clock.
— When generated internally, the clock source can be a fix 48MHz clock generator or a
programmable clock generator (Mclk).
— When generated externally, the frequency can be different
NOTE
Only one pin is allocated to supply the USB and PSC6/IrDA clock. If both
modules require external clock generation, the frequency must be 48MHz.
•
•
•
SPI—The SPI (Serial Peripheral Interface) has a clock input pin, SPI_CLK. When the SPI is
configured as a slave, the clock is supplied externally. The SPI module therefore has a small
asynchronous clock domain.
I2C—There are two I2C (Inter-Integrated Circuit) modules on MPC5200B. Both have input source
clocks (I2Cx_CLK) and therefore asynchronous clock domains.
RTC—The RTC (Real-Time Clock) has its own clock domain, clocked by an external 32.768KHz
oscillator. The two oscillator pins are RTC_XTAL_IN and RTC_XTAL_OUT. There is an
asynchronous boundary between this clock domain and the IPB register interface.
MPC5200B User’s Manual, Rev. 3
5-2
Freescale Semiconductor
Clocks and Power Management
•
JTAG—The JTAG (Joint Test Action Group) has its own clock domain clocked by the
JTAG_TCK pin.
The following peripheral functions use clocks generated from CDM.
• MSCAN—The MSCAN (Freescale [formerly Motorola] Scalable Controller Area Network)
internal baud rate generator also uses the ipb_clk or can be derived from the oscillator clock
sys_xtal_in. The resultant divided clock samples an incoming CAN data stream and generates an
outgoing data stream.
SDRAM / DDR
Memory Controller
e300 Core
Clock System
Divider PLL
XL Bus
Arbiter
XLB
XLB
IPB
CommBus
IPBI
CONF
REG
PCI Bus
Controller
ATA
Controller
IPB
SIO
timers
interrupt
PCI Bus
Control
LocalPlus Bus
Controller
BestComm
DMA
BestComm
SRAM
SYS_XTAL Clock Domain
VCO Clock Domain
Processor Clock Domain
MEM_CLK Clock Domain
XLB_CLK Clock Domain
IPB_CLK Clock Domain
PCI_CLK Clock Domain
Shared External Bus
Local Bus
Control
ATA
Control
IPB
USB
GPIO WKUP
CommBus
GPIO
MSCAN1
MSCAN2
J1850
SPI
I2C_1
I2C_2
PSC_1 PSC_6
Ethernet
PERIPHERAL/FUNCTIONAL PIN MUXING
Figure 5-1. Primary Synchronous Clock Domains
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-3
Clocks and Power Management
5.3.1
MPC5200B Top Level Clock Relations
Figure 5-2 shows the CDM clock divide circuitry. This picture shows only the functional clocks. The clock
network regarding the scan and bypass modes is not included.
VCO
fVCOcore
divide by
2 or 4
e300
CORE CLOCK
e300
Core APLL
divide by
2, 2.5,3.0...7.5, 8
Core APLL
Control Logic
rst_cfg[0:4]
ppc_pll_cfg[0:4]
XLB CLOCK
MEM CLOCK
XLB Clock Divider
fsystem / (8 or 4)
xlb_clk_sel
0
divide
by 2
IPB CLOCK
1
ipb_clk_sel
PCI Clock Divider
PCI CLOCK
xlb_clk_sel
ipb_clk_sel
pci_clk_sel[1:0]
fsystem
VCO
fVCOsys
divide
by 2
SYS_XTAL_IN
0
1
Fractional Divider
fsystem / (6, 6.25, 6.5.11)
USB CLOCK
48 MHz CLOCK
System APLL
sys_pll_cfg[1]
1
divide
by 12
0
divide
by 16
sys_pll_cfg[0]
PSC1 MCLK DIVIDER
fsystem / (MclkDiv[8:0]+1)
PSC1 MCLK
PSC2 MCLK DIVIDER
fsystem / (MclkDiv[8:0]+1)
PSC2 MCLK
PSC3 MCLK DIVIDER
fsystem / (MclkDiv[8:0]+1)
PSC3 MCLK
PSC6 MCLK DIVIDER
fsystem / (MclkDiv[8:0]+1)
PSC6 MCLK
Figure 5-2. MPC5200 Clock Relations
MPC5200B User’s Manual, Rev. 3
5-4
Freescale Semiconductor
Clocks and Power Management
Table 5-2 shows the System PLL configuration and the corresponding fsystem frequencies for a 27.0 MHz
and 33.0 MHz input clock. Table 5-3 shows all possible clock ratios.
Table 5-2. System PLL Ratios
SYS_XTAL_IN
sys_pll_cfg[1]
sys_pll_cfg[0]
fVCOsys [MHz]
fsystem [MHz]
0
0
432.0
432.0
0
1
324.0
324.0
1
1
0
864.0
432.0
1
1
648.0
324.0
0
0
528.0
528.0
0
1
396.0
396.0
1
1
0
1056.0
528.0
1
1
792.0
396.0
27.0
33.0
1
These are invalid configurations. The fVCOsys frequencies exceed the maximum operation frequency. See MPC5200B
Hardware Specification.
Table 5-3. MPC5200B Clock Ratios
xlb_clk_sel
XLB CLOCK
ipb_clk_sel
IPB CLOCK
pci_clk_sel[1:0]
PCI CLOCK
CLOCK Ratio
XLB:IPB:PCI
0
fsystem / 4
0
XLB
00
XLB
4:4:4
0
fsystem / 4
0
XLB
01
XLB/2
4:4:2
0
fsystem / 4
0
XLB
10
XLB/4
4:4:1
0
fsystem / 4
0
XLB
11
XLB/4
4:4:1
0
fsystem / 4
1
XLB /2
00
XLB/2
4:2:2
0
fsystem / 4
1
XLB /2
01
XLB/4
4:2:1
0
fsystem / 4
1
XLB /2
10
XLB/4
4:2:1
0
fsystem / 4
1
XLB /2
11
XLB/4
4:2:1
1
fsystem / 8
0
XLB
00
XLB
2:2:2
1
fsystem / 8
0
XLB
01
XLB/2
2:2:1
1
fsystem / 8
0
XLB
10
XLB/4
2:2:0.5
1
fsystem / 8
0
XLB
11
XLB/4
2:2:0.5
1
fsystem / 8
1
XLB /2
00
XLB/2
2:1:1
1
fsystem / 8
1
XLB /2
01
XLB/4
2:1:0.5
1
fsystem / 8
1
XLB /2
10
XLB/4
2:1:0.5
1
fsystem / 8
1
XLB /2
11
XLB/4
2:1:0.5
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-5
Clocks and Power Management
Table 5-4. Typical System Clock Frequencies
fsystem
[MHz]
XLB Clock
[MHz]
IPB CLock
[MHz]
PCI CLOCK
[MHz]
Clock Ratio
XLB:IPB:PCI
132.0
66.0
4:4:2
33.0
4:4:1
66.0
4:2:2
33.0
4:2:1
33.0
33.0
4:1:1
66.0
66.0
2:2:2
33.0
2:2:1
33.0
2:1:1
132.0
528.0
66.0
66.0
33.0
Table 5-4 shows the typical clock ratios with a 33.0 MHz clock input on the SYS_XTAL_IN pin and a
System PLL divide value 16 (sys_pll_cfg[0] = 0).
NOTE
Frequency ranges in Table 5-3 and Table 5-4 represent possible ranges of
operation. A variety of conditions may prevent the part from actually
performing at these frequency ranges. For data relating to actual
performance, see Section A.2, AC Timing.
MPC5200B User’s Manual, Rev. 3
5-6
Freescale Semiconductor
Clocks and Power Management
5.3.2
e300 Core Clock Domain
The e300 Core has its own APLL and clock domain, which is separate from, but synchronous with, the
rest of the chip. The reference for the processor APLL is the XLB clock. The e300 Core can run at all
integer and half-integer multiples of xlb_clk from 2x to 8x (i.e., 2x, 2.5x, 3x, 3.5x, 4x, 4.5x, 5x, 5.5x, 6x,
6.5x, 7x, 7.5x, 8x) to a maximum frequency of 396MHz. Table 5-5 shows the available core frequencies
based on the xlb_clk frequency range.
NOTE
These frequencies are not guaranteed. Actual operation frequencies will
depend on silicon characterization and operating conditions.
Table 5-5. e300 Core Frequencies vs. XLB Frequencies
132
108
99
81
66
54
49.5
40.5
33
27
x1
—
—
—
—
—
—
—
—
—
—
x1.5
—
—
—
—
—
—
—
—
—
—
x2
264
216
198
162
132
108
99
81
66
54
x2.5
330
270
247.5
202.5
165
135
123.8
101.3
82.5
67.5
x3
396
324
297
243
198
162
148.4
121.5
99
81
378
346.5
283.5
231
189
173.3
141.8
115.5
94.5
396
324
264
216
198
162
132
108
364.5
297
243
222.8
182.3
148.5
121.5
x5
330
270
247.5
202.5
165
135
x5.5
363
297
272.3
222.8
181.5
148.5
x6
396
324
297
243
198
162
x6.5
351
321.8
263.3
214.5
175.5
x7
378
346.5
283.5
231
189
x7.5
371.3
303.8
247.5
202.5
x8
396
324
264
216
e300 Core PLL Bus to Core Multiplier1
XLB Clock (MHz)
x3.5
x4
x4.5
Note: 1x and 1.5x multiply ratios are not available in this version of the MPC5200B.
1
See Table 5-6, XLB to CORE clock ratio.
Table 5-6 gives the e300 Core APLL and operating frequency options compared to the xlb_clk reference
input (shown in Figure 5-2). The selection of an e300 Core frequency is made at Power-On Reset (POR)
via the reset configuration inputs. For more information see Section 4.6, “Reset Configuration”.
Frequency ranges indicated in Table 5-6 represent possible ranges for the processor APLL. A variety of
conditions may prevent the part from actually performing at these frequency ranges. For data relating to
actual performance, see the MPC5200B Hardware Specification.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-7
Clocks and Power Management
Table 5-6. e300 Core APLL Configuration Options
ppc_pll_cfg
hex
[0:1:2:3:4]
Bus:Core Ratio
(XLB : CORE CLOCK)
Core:VCO Ratio
(CORE CLOCK: fVCOcore)
Bus:VCO Ratio
(XLB : fVCOcore)
0x00
00000
—
—
—
0x01
00001
—
—
—
0x02
00010
—
—
—
0x04
00100
1:2
1:2
1:4
0x05
00101
1:2
1:4
1:8
0x06
00110
1:2.5
1:2
1:5
0x07
00111
1:4.5
1:2
1:9
0x08
01000
1:3
1:2
1:6
0x09
01001
1:5.5
1:2
1:11
0x0A
01010
1:4
1:2
1:8
0x0B
01011
1:5
1:2
1:10
0x0C
01100
—
—
—
0x0D
01101
1:6
1:2
1:12
0x0E
01110
1:3.5
1:2
1:7
0x10
10000
1:3
1:4
1:12
0x11
10001
1:2.5
1:4
1:10
0x12
10010
1:6.5
1:2
1:13
0x14
10100
1:7
1:2
1:14
0x16
10110
1:7.5
1:2
1:15
0x18
11000
—
—
—
0x1C
11100
1:8
1:2
1:16
0x03
0x13
00011
10011
PLL off/bypassed
xlb_clk clocks core directly, 1x bus-to-core
0x0F
0x1F
01111
11111
PLL off, no core clocking occurs.
0x15
0x17
0x19
0x1A
0x1B
0x1D
0x1E
10101
10111
11001
11010
11011
11101
11110
Reserved, should not be used.
Note: Shading implies same mode can be configured with ppc_pll_cfg[0]=0
NOTE
The XLB CLOCK frequency and the ppc_pll_cfg[0:4] must be chosen such
that resulting CORE CLOCK frequency and PLL (fVCOcore) frequency do
not exceed their respective maximum or minimum operating frequencies.
Refer to Table 5-5 and MPC5200B Hardware Specification.
MPC5200B User’s Manual, Rev. 3
5-8
Freescale Semiconductor
Clocks and Power Management
5.3.3
Processor Bus (XLB) Clock Domain
The XLB clock (xlb_clk) is the fundamental MPC5200B clock frequency. The following operate at this
frequency:
• The internal processor address/data bus
• The internal SDRAM Controller
• External SDRAM
All functional blocks that interface to the XLB must operate at this frequency, or have a section of logic
that operates at this frequency.
5.3.4
SDRAM Memory Controller Clock Domain
The Memory Controller uses the clocks shown in Table 5-7.
Table 5-7. SDRAM Memory Controller Clock Domain
Bits
Description
mem_clk
mem_clk is always the same frequency as xlb_clk.
mem_2x_clk,
mem_2x_clk
These internal clocks are twice the frequency of xlb_clk and are used to add more resolution to
SDRAMC control signals
mem2x1x_clk
(becomes
mem_rd_clk)
This is the source of the internal memory read clock. It always operates at the memory data rate,
1x mem_clk for SDR, 2x mem_clk for DDR. The physical circuit path of mem2x1x_clk is matched
as closely as possible to the on-chip portion of the memory clock output and the read data input;
a tapped delay chain is used to match off-chip portions of the memory clock and read data path.
Figure 5-3 shows the clock relationships for the SDRAM Controller.
SDR SDRAM Memory Clocks
xlb_clk
MEM_MEMCLK, mem_clk
mem_2x_clk
mem_2x_clk
mem2x1x_clk
DDR SDRAM Memory Clocks
xlb_clk
MEM_MEMCLK, mem_clk
mem_2x_clk
mem_2x_clk
mem2x1x_clk
Figure 5-3. Timing Diagram—Clock Waveforms for SDRAM and DDR Memories
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-9
Clocks and Power Management
The XLB is 64bits and the SDRAM external bus is 32bits. When SDR (single data rate) SDRAM memory
is used, the XLB bandwidth is only half utilized. When DDR (dual data rate) memory is used, the XLB
bandwidth is fully used on SDRAM transactions.
MPC5200B supplies 2 external memory clocks as part of the SDRAM interface:
• MEM_MEMCLK
• MEM_MEMCLK
MEM_MEMCLK and MEM_MEMCLK are always the same frequency as XLB clock. SDR memory uses
MEM_MEMCLK only; DDR memory uses both MEM_MEMCLK and MEM_MEMCLK.
5.3.5
IPB Clock Domain
IPB clock can run at the same frequency as XLB clock, or 1/2 the frequency. BestComm runs at the IPB
clock frequency as does all IPB control register access logic.
5.3.6
PCI Clock Domain
The PCI bus clock is the fundamental frequency of the PCI bus interface. The PCI clock can run at the
XLB clock frequency, or 1/2 the XLB clock frequency, or 1/4 the XLB clock frequency. The PCI clock
cannot be faster than IPB Clock.
5.4
Power Management
Power Management modes are listed below. Details are given in the sections that follow.
• Full-Power Mode
• Power Conservation Modes
The MPC5200B design is equipped with many power conservation features, which are supported in the
peripherals and system logic. The e300 Core has its own power-down modes:
• nap
• doze
• sleep
Individual peripheral functions can be disabled by stopping the module’s clock. In addition to clock control
of individual peripheral functions, clock control sequencer (CCS) logic sequences the MPC5200B clock
system to enter and exit a deep-sleep power mode. This limits power consumption to device leakage levels.
The MPC5200B system is driven by:
• a 27/33MHz system OSC, and
• a 32KHz real-time clock (RTC) OSC.
The 27/33MHz OSC drives the main clock system through a PLL that multiplies the frequency for the
system buses and peripherals on the chip. The e300 Core uses the XLB frequency as an input to the
microprocessor PLL that generates the internal core frequencies.
MPC5200B User’s Manual, Rev. 3
5-10
Freescale Semiconductor
Clocks and Power Management
The RTC clock domain is completely separate from the 27/33MHz clock domain. All interactions between
the RTC clock domain and any other are handled with synchronizers.
5.4.1
Full-Power Mode
In Full-Power mode both the system PLL and microprocessor PLL are locked and the main system clocks
are supplied to the MPC5200B system. In this mode, the e300 Core may use the Dynamic Power Mode
(DPM). If this mode is enabled, logic not required for instruction execution, is not activated. This results
in power reduction over a design that would be fully clocked during normal operation.
Performance in not decreased in Dynamic Power Mode, so it is recommended that it should never be
disabled (although it is possible) when running the core at full speed.
MPC5200B peripherals can be individually enabled based on what functionality is required by the
application running and the external stimulus presented to MPC5200B. Peripherals not required can be
powered-down through a write to an MPC5200B system control register which disables the peripheral and
gates the peripheral clock.
5.4.2
Power Conservation Modes
Sleep modes in the MPC5200B design can be exercised through microprocessor sleep mode control and
peripheral clock disables. In all modes except Deep-Sleep mode, the system crystal oscillator is enabled,
and the system PLL and microprocessor PLL remain locked. Response time to WakeUP interrupts is faster
than in the deep-sleep mode (see Section 5.4.4, “Deep-Sleep Mode”). Since clocks are still running in the
MPC5200B chip, any interrupt normally present in the MPC5200B design can be used to wake up the
power-down logic. See Section 5.5.1.6, “CDM Clock Enable Register”, Clock Enable register.
5.4.3
e300 Core Power Modes
The e300 Core power management modes are listed below. Details are given in the sections that follow.
• Dynamic Power Mode (default power state)
• Doze Mode
• Nap Mode
• Sleep Mode
These modes are controlled by writes to an internal e300 Core control register. These modes only apply to
the e300 Core. Logic outside the e300 Core remains active unless separately disabled. In any of these
modes, peripherals can be enabled or disabled by writing to an MPC5200B system control register.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-11
Clocks and Power Management
5.4.3.1
Dynamic Power Mode
This is the default power state mode. The core is fully powered and internal functional units are operating
at the full processor clock speed. If Dynamic Mode is enabled, idle functional units automatically enter a
low-power state. This does not effect:
• Performance
• Software execution
• External hardware
5.4.3.2
Doze Mode
All functional e300 Core units are disabled except for the time base/decrementer registers and the bus
snooping logic. When the processor is in Doze Mode, any of the following actions returns the core to
Full-Power Mode:
• An external asynchronous interrupt
• A system management interrupt
• A decrementer (DEC) exception
• A hard or soft reset
• A machine check input (MCP) signal
In Doze Mode, the core maintains the PLL in a fully powered state and locked to the system XLB clock
input. Transition to Full-Power Mod takes only a few processor clock cycles.
5.4.3.3
Nap Mode
The Nap Mode further reduces e300 Core power consumption by disabling bus snooping, leaving only the
time base register and the PLL in a powered state. When in Nap Mode, any of the following actions returns
the core to Full-Power Mod:
• An external asynchronous interrupt
• A system management interrupt
• A DEC exception
• A hard or soft reset
• An MCP signal
Transition to Full-Power Mode takes only a few processor clock cycles.
NOTE
It is not allowed to set the ccs_sleep_en bit of CDM Clock Control
Sequencer Configuration Register before entering the nap mode. Otherwise
all clocks will be disabled by entering the nap mode.
MPC5200B User’s Manual, Rev. 3
5-12
Freescale Semiconductor
Clocks and Power Management
5.4.3.4
Sleep Mode
Sleep Mode reduces e300 Core power consumption to a minimum. It does this by disabling all internal
functional units.
Any of the following actions returns the core to Full-Power Mode:
• An external asynchronous interrupt
• A system management interrupt
• A hard or soft reset
• An MCP signal
In Sleep Mode it is possible to disable the e300 Core PLL, further reducing power. this requires special
sequencing logic external to the e300 Core and is discussed in Section 5.4.4, “Deep-Sleep Mode”.
5.4.4
Deep-Sleep Mode
The MPC5200B system provides a very low power consumption mode where the 27/33MHz system
oscillator, system PLL and e300 Core PLL are shut down and disabled. Once MPC5200B is sequenced
into this mode and clocks are static, the current draw of the device (except the RTC) is reduced to leakage
levels. The internal state of the device is maintained in Deep Sleep as long as power is maintained.
The real-time clock (RTC) is not disabled in Deep Sleep. If the RTC is used, that portion of the chip still
consumes power in Deep Sleep.
Exiting Deep Sleep mode is initiated in one of the following ways:
• An interrupt from the RTC logic
• An external asynchronous interrupt (wake up interrupt)
• An interrupt from one of the MSCAN modules (which occurs when a data transition occurs on the
serial input).
The RTC clock is necessary to wake up MPC5200B using an RTC interrupt. However, no clock is required
to trigger the wake up process in the case of an external interrupt or the MSCAN module interrupt. This
means the RTC clock does not have to be present to use Deep Sleep mode. The e300 Core must enable the
deep sleep process in the CDM module, then put itself into sleep mode before the e300 Core PLL can be
disabled.
Since MPC5200B clocks are stopped in Deep Sleep mode, the wake-up time is longer than in the e300
Core-only power down modes. A power-on sequence must occur which re-locks both the MPC5200B
system and processor PLLs.
The sequence of events to enter and exit Deep Sleep mode are initiated by the e300 Core under software
control and then sequenced in hardware by the Clock Control Sequencer (CCS) in CDM.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-13
Clocks and Power Management
5.4.4.1
Entering Deep Sleep
When entering Deep Sleep mode, the following occurs:
• e300 Core prepares the system for Deep Sleep power down.
This could involve disabling peripheral interfaces, waiting for transmit/receive messages to
complete, putting the SDRAM into self refresh mode, etc.
• e300 Core finishes instructions in the execution pipeline.
• e300 Core software enables the Deep Sleep mode with a write to a MPC5200B control register.
• e300 Core Processor software writes sleep mode configuration to e300 Core Processor control
register.
• e300 Core Processor asserts the QREQ signal indicating that it would like to enter sleep mode.
• CCS waits for e300 Core Processor sleep (initiated by QREQ, since QACK is always asserted in
MPC5200B).
• CCS disables interrupts.
• CCS waits for the e300 Core Processor to enter the sleep mode.
• CCS disables the OSC, system PLL, e300 Core Processor PLL and gates the system clocks.
5.4.4.2
Exiting Deep Sleep
When exiting Deep Sleep mode, the following occurs:
• CCS receives an interrupt from a GPIO pin, RTC or a MSCAN peripheral.
• CCS enables the OSC and waits for the OSC to stabilize.
• CCS enables the system PLL and waits for the PLL to lock to the OSC clock.
• CCS enables system clocks.
• CCS enables the e300 Core Processor PLL and waits for the PLL to lock to the system PLL clock.
• CCS enables interrupts, which triggers a wakeup interrupt to the e300 Core Processor (from the
WakeUp source).
• e300 Core Processor wakes up and puts MPC5200B into full power mode and then services the
wakeup interrupt
Waking up from Deep Sleep mode does not require the system to be reset or a boot sequence. The
functional state of MPC5200B should remain the same as when it went into Deep Sleep. If the SDRAM
was put into self refresh mode, its contents should also remain unchanged.
MPC5200B User’s Manual, Rev. 3
5-14
Freescale Semiconductor
Clocks and Power Management
5.5
CDM Registers
The Clock Distribution Module (CDM) contains 14 32-bit registers. All registers are located at an offset
from the value in the Module Base Address Register (MBAR). The CDM base offset is 0x0200.
5.5.1
Register Descriptions
Hyperlinks to the CDM registers are provided below:
• CDM JTAG ID Number Register (0x0200), read-only
• CDM Power On Reset Configuration Register (0x0204)
• CDM Bread Crumb Register (0x0208), never reset
• CDM Configuration Register (0x020C)
• CDM 48 MHz Fractional Divider Configuration Register Field Descriptions (0x0210)
• CDM Clock Enable Register (0x0214)
• CDM System Oscillator Configuration Register (0x0218)
• CDM Clock Control Sequencer Configuration Register (0x021C)
• CDM Soft Reset Register (0x0220)
• CDM System PLL Status Register (0x0224)
• PSC1 Mclock Configuration Register (0x0228)
• CDM PSC2 Mclock Configuration Register (0x022C)
• CDM PSC3 Mclock Configuration Register (0x0230)
• CDM PSC6 Mclock Configuration Register Field Descriptions (0x0234)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-15
Clocks and Power Management
5.5.1.1
CDM JTAG ID Number Register
The CDM JTAG ID Number Register is a read-only register that contains the JTAG Identification number
identifying MPC5200B. The value is hard coded (1001 101D hex) and cannot be modified.
Address MBAR + 0x0200
0
1
2
3
4
5
6
7
8
9
R
JTAG Identification Number Register
W
Unused
Reset
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
1
1
1
0
1
R
JTAG Identification Number Register
W
Unused7
Reset
10
0
0
0
1
0
0
0
0
0
0
Figure 5-4. CDM JTAG ID Number Register
Device I.D. Register = 1001 101D hex
Table 5-8. CDM JTA ID Numbering
Version
Device (MPC5200B)
Manufacturer (Freescale)
0001
0000 0000 0001 0001
0000 0001 110
1
MPC5200B User’s Manual, Rev. 3
5-16
Freescale Semiconductor
Clocks and Power Management
5.5.1.2
CDM Power On Reset Configuration Register
This is a mostly read-only register containing the configuration value latched at POR.
Address MBAR + 0x0204
1
2
3
4
5
6
7
8
9
10
11
12
13
14
R
Reserved
Write 0
Reserved
15
sys_pll
_bypass
0
Reserved, Read Only
0
0
0
1
0
0
0
0
0
0
0
0
0
0
V
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
boot_
ram_size
boot_
ram_swap
boot_
ram_wait
ppc_
msrip
boot_
ram_mg
sys_pll_
cfg_1
sys_pll_
cfg_0
xlb_
clk_sel
ppc_pll
_cfg_0
ppc_pll
_cfg_1
ppc_pll
_cfg_2
ppc_pll
_cfg_3
ppc_pll
_cfg_4
R
0
boot_
ram_type
Reset
boot_
ram_lf
W
V
V
V
V
V
V
W
Reset
Reserved, Read Only
V
V
V
V
V
V
—
V
V
V
Figure 5-5. CDM Power On Reset Configuration Register
Table 5-9. CDM Power On Reset Configuration Register Field Descriptions
Bit
Name
Description
0–2
—
Reserved for future use. Write 0.
3–7
—
Reserved.
8-14
—
Read Only. Do not write.
15
sys_pll_bypass
16
boot_rom_lf
17
boot_rom_type
Latched pin value at reset.
bit=0:non-muxed boot ROM bus, single tenure transfer.
bit=1:muxed boot ROM bus, with address and data tenures, ALE and TS active.
18
boot_rom_size
Latched pin value at reset.
For non-muxed boot ROMs:
bit=0:8bit boot ROM data bus, 24bit max boot ROM address bus
bit=1:16bit boot ROM data bus, 16bit boot ROM address bus
For muxed boot ROMs:
boot ROM address is max 25 significant bits during address tenure.
bit=0:16bit ROM data bus
bit=1:32bit ROM data bus
bit=0:Normal mode. The SYS OSC clock input is multiplied up by the system PLL, then the
PLL VCO is divided down to produce internal clocks.
bit=1:The SYS OSC clock input is used directly, bypassing the system PLL. No multiplication
of the input frequency is performed, but the input frequency is divided to produce internal
clocks just as the system PLL VCO frequency would be. sys_pll_cfg_1 and sys_pll_cfg_0 are
ignored.
Large Flash mode is selected
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-17
Clocks and Power Management
Table 5-9. CDM Power On Reset Configuration Register Field Descriptions (continued)
Bit
Name
Description
19
boot_rom_swap
Latched pin value at reset.
bit=0:no byte lane swap, same
endian ROM image
bit=1:byte lane swap, different
endian ROM image
20
boot_rom_wait
Latched pin value at reset.
bit=0:4 PCI clocks of wait state
bit=1:48 PCI clocks of wait state
21
ppc_msrip
22
—
23
boot_rom_mg
Most/Graphic Mode is selected as BOOT mode
24
sys_pll_cfg_1
Latched pin value at reset.
bit=0:No operation.
bit=1:Internal System PLL frequency multiplication ratio specified by sys_pll_cfg_0 is doubled
(24x, 32x). No net effect on any internal clocks, except that PLL VCO runs twice as fast. Useful
in low frequency applications to keep VCO frequency (fvcosys) above min, see MPC5200B
Hardware Specification.
25
sys_pll_cfg_0
Latched pin value at reset.
bit=0: fsystem =16x SYS_XTAL_IN Frequency
bit=1: fsystem =12x SYS_XTAL_IN Frequency
26
xlb_clk_sel
27
ppc_pll_cfg_0
28
ppc_pll_cfg_1
29
ppc_pll_cfg_2
30
ppc_pll_cfg_3
31
ppc_pll_cfg_4
Latched pin value at reset.
microprocessor Boot Address/Exception table location.
bit=0:0000_0100 (hex)
bit=1:FFF0_0100 (hex)
Read Only. Do not write.
Latched pin value at reset.
bit=0:XLB_CLK= fsystem / 4
bit=1:XLB_CLK= fsystem / 8
e300 Core core pll configuration pins. See also Table 5-6
MPC5200B User’s Manual, Rev. 3
5-18
Freescale Semiconductor
Clocks and Power Management
5.5.1.3
CDM Bread Crumb Register
The CDM Bread Crumb Register is a 32-bit register that is not reset. Its purpose is to let firmware
designers leave some status code before entering a reset condition. Since this register is never reset, the
value written is available after the reset condition has ended. There is no additional functionality to this
register.
Address MBAR + 0x0208
0
1
2
3
4
R
7
8
9
10
11
12
13
14
15
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
—
—
—
—
—
R
CDM Bread Crumb Register (Never Reset)
W
Reset
6
CDM Bread Crumb Register (Never Reset)
W
Reset
5
—
—
—
—
—
—
—
—
—
—
—
Figure 5-6. CDM Bread Crumb Register
5.5.1.4
CDM Configuration Register
The CDM Configuration Register contains 3 bits that set IPB_CLK and PCI_CLK ratios.
Address MBAR + 0x020C
1
2
3
4
5
6
8
9
10
ddr_
mode
7
Reserved
Write 0
11
12
13
14
15
xlb_
clk_sel
0
R
Reserved
Write 0
W
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
V
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
Write 0
W
Reset
ipb_
clk_sel
Reset
0
0
0
0
0
0
0
1
Reserved
Write 0
0
0
0
0
pci_
clk_sel
0
0
0
1
Figure 5-7. CDM Configuration Register
Table 5-10. CDM Configuration Register Field Descriptions
Bit
Name
0–6
—
7
ddr_mode
Description
Reserved for future use. Write 0.
SDRAM Controller DDR memory mode, read-only.
bit=0:SDRAM Controller configured for SDR SDRAM (single data rate)
bit=1:SDRAM Controller configured for DDR SDRAM (double data rate)
This register location is a read-only status bit; write 0. The controlling register is in the SDRAM
Controller register map. In the CDM this bit determines the frequency and phase of memory read
clock.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-19
Clocks and Power Management
Table 5-10. CDM Configuration Register Field Descriptions (continued)
Bit
Name
Description
8–14
—
Reserved for future use. Write 0.
15
xlb_clk_sel
XLB Clock Frequency
bit=0:XLB CLK = fsystem /4
bit=1:XLB CLK = fsystem /8
This register location is a read-only status bit. The controlling register is the POR Configuration
register - cdm configuration register [26].
16–22
—
Reserved for future use. Write 0.
23
ipb_clk_sel
IPB Clock Select
bit=0:IPB CLK = XLB_CLK
bit=1:IPB CLK = XLB_CLK/2
24–29
—
30-31
pci_clk_sel
Reserved for future use. Write 0.
PCI Clock Select
00–PCI_CLK = IPB_CLK
01–PCI_CLK = IPB_CLK/2
10–PCI_CLK = XLB_CLK/4
See also Table 5-3 and Table 5-4.
NOTE
The clock ratio should only be changed if no module, which is clocked by
the IPB and/or PCI clock, is currently running. Suggestion is to change the
clock ratio during the boot time only.
MPC5200B User’s Manual, Rev. 3
5-20
Freescale Semiconductor
Clocks and Power Management
5.5.1.5
CDM 48MHz Fractional Divider Configuration Register
The CDM 48MHz Fractional Divider Configuration Register contains the control bits used in the 48MHz
fractional divider.
Address MBAR + 0x210
3
4
Reset
7
8
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
cfgd_p2_cntt
0
0
0
0
cfgd_p1_cnt
0
0
fd_en
Rsrvd
Write 0
cfgd_p3_cnt
Reserved
Write 0
Rsrvd
Write 0
Rsrvd
Write 0
Rsrvd
Write 0
R
W
6
0
Reserved
Write 0
W
Reset
5
ext_irda_
48mhz_en
2
ext_usb_
48mhz_en
1
ext_usb_
sync_en
0
R
0
0
cfgd_p0_cnt
0
0
0
Figure 5-8. CDM 48 MHz Fractional Divider Configuration Register
Table 5-11. CDM 48 MHz Fractional Divider Configuration Register Field Descriptions
Bit
Name
0–4
—
5
ext_usb_sync_en
Description
Reserved for future use. Write 0.
Enable the synchronization logic which synchronize the external ext_usb_48Mhz clock to
the internal clock system.
bit=1:ext USB 48MHz clock is synchronized to the internal clock system.
bit=0:ext USB 48MHz clock is not synchronized to the internal clock system.
6
ext_usb_48MHz_en
USB External 48MHz Clock Select
bit=1:USB 48MHz clock tree sourced from external clock from GPIO.
bit=0:USB 48MHz clock tree sourced from CDM Fractional Divider.
7
ext_irda_48MHz_en
IrDA (PSC6) External 48MHz Clock Select
bit=1:IRDA 48MHz clock tree sourced from external clock from GPIO.
bit=0:IRDA 48MHz clock tree sourced from CDM Fractional Divider.
8–14
—
15
fd_en
Reserved for future use. Write 0.
16
—
17–19
cgfd_p3_cnt[2:0]
20
—
21–23
cgfd_p2_cnt[2:0]
24
—
25–27
cgfd_p1_cnt[2:0]
010–fractional counter divide ratio fsystem/10
28
—
011–fractional counter divide ratio fsystem/11
29–31
cgfd_p0_cnt[2:0]
10X–fractional counter divide ratio fsystem/11
CDM 48MHz Fractional Divider Enable
bit=1:enable CDM Fractional Divider.
bit=0:disable CDM Fractional Divider.
These fields hold 4 phase divide ratios used by the fractional divider. The fields are
incompletely decoded; fsystem /11 is obtained with 3 values.
110–fractional counter divide ratio fsystem /6
111–fractional counter divide ratio fsystem/7
000–fractional counter divide ratio fsystem/8
001–fractional counter divide ratio fsystem /9
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-21
Clocks and Power Management
5.5.1.6
CDM Clock Enable Register
The CDM Clock Enable Register, or power management register, contains control bits that enable/disable
peripheral clocks. Unused peripherals can have their clock stopped, reducing power consumption.
Address MBAR + 0x0214
0
1
2
3
4
mem_
clk_en
pci_
clk_en
lpc_
clk_en
slt_
clk_en
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
psc2_
clk_en
psc1_
clk_en
psc6
clk_en
mscan_
clk_en
i2c_
clk_en
timer_
clk_en
gpio_
clk_en
15
psc3_
clk_en
14
psc4_
clk_en
13
psc5_
clk_en
12
bdlc_clk_
en
11
spi_
clk_en
10
usb_
clk_en
Reset
9
eth_
clk_en
W
8
ata_
clk_en
R
7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Reserved
Write 0
W
Reset
6
scom_
clk_en
R
5
Figure 5-9. CDM Clock Enable Register
Table 5-12. CDM Clock Enable Register Field Descriptions
Bit
Name
Description
0
—
Reserved for test. Write 0.
1–11
—
Reserved for future use. Write 0.
12
mem_clk_en
13
pci_clk_en
PCI Bus Clock Enable—controls PCI bus control module clocks
Note: PCI Arbiter and external PCI Bus clocks are not controlled by pci_clk_en.
14
lpc_clk_en
Local Plus Bus Clock Enable—controls LP bus control module clocks
15
slt_clk_en
Slice Timer Clock Enable—controls slice timer module clocks
16
scom_clk_en
BestComm Clock Enable—controls BestComm module clocks
17
ata_clk_en
ATA Clock Enable—controls ATA disk drive control module clocks
18
eth_clk_en
Ethernet Clock Enable—controls Ethernet Controller module clocks
19
usb_clk_en
Universal Serial Bus Clock Enable—controls USB module clock
20
spi_clk_en
SPI Clock Enable—controls SPI module clocks
21
bdlc_clk_en
BDLC Clock Enable—controls BDLC module clocks
22
psc5_clk_en
PSC5 Clock Enable—control clock to the PSC5 module
23
psc4_clk_en
PSC4 Clock Enable—control clock to the PSC4 module
24
psc3_clk_en
PSC3 Clock Enable—control clock to the PSC3 module
25
psc2_clk_en
PSC2 Clock Enable—control clock to the PSC2 module
26
psc1_clk_en
PSC1 Clock Enable—control clock to the PSC1 module
Memory Clock Enable—controls SDRAM Controller module clocks
Memory Controller IPB_CLK is not controlled by mem_clk_en.
MPC5200B User’s Manual, Rev. 3
5-22
Freescale Semiconductor
Clocks and Power Management
Table 5-12. CDM Clock Enable Register Field Descriptions (continued)
Bit
Name
Description
27
psc6_clk_en
PSC6 Clock Enable—control clock to the PSC6 module
28
mscan_clk_en
MSCAN Clock Enable—controls MSCAN module clocks
29
i2c_clk_en
30
timer_clk_en
Timer Clock Enable—controls timer module clocks
Note: 2 timers for wake-up mode do not have gated clocks.
31
gpio_clk_en
GPIO Clock Enable—controls some GPIO module clocks
Note: GPIO wake-up mode circuitry uses free running IPB_CLK
I2C Clock Enable—controls I2C module clocks
Note: An enable value of 1 enables the corresponding clock. An enable value of 0 disables corresponding clock.
5.5.1.7
CDM System Oscillator Configuration Register
This register contains the System Oscillator disable bit. The system oscillator is disabled if an external
clock source (not a crystal) drives the oscillator in package pin. The crystal oscillator pad cell is disabled
to reduce power consumption (~6mW for system oscillator).
Address MBAR + 0x0218
1
2
R
4
5
6
Reserved
Write 0
W
Reset
3
8
9
10
11
12
13
14
15
Reserved
Write 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
Write 0
W
Reset
7
sys_osc_
disable
0
0
0
0
0
0
0
0
0
0
Figure 5-10. CDM System Oscillator Configuration Register
Table 5-13. CDM System Oscillator Configuration Register Field Descriptions
Bit
Name
0–6
—
7
sys_osc_disable
Description
Reserved for future use. Write 0.
CDM System Oscillator Disable
bit=1:System Oscillator is disabled. External clock source is required.
bit=0:System Oscillator is enabled. 27–33MHz crystal is being used.
8–31
—
Reserved for future use. Write 0.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-23
Clocks and Power Management
5.5.1.8
CDM Clock Control Sequencer Configuration Register
This register contains the configuration that controls the CCS module. The CCS module lets MPC5200B
enter deep sleep power down mode (all clocks stopped).
Address MBAR + 0x021C
1
2
3
4
5
6
9
10
11
12
13
14
Reserved
Write 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
Write 0
W
Reset
15
ccs_qreq
_test
Reset
8
ccs_
sleep_en
Reserved
Write 0
W
7
ccs_osc_
sleep_en
0
R
0
0
0
0
0
0
0
0
1
Figure 5-11. CDM Clock Control Sequencer Configuration Register
Table 5-14. CDM Clock Control Sequencer Configuration Register Field Descriptions
Bit
Name
0–6
—
7
ccs_sleep_en
Description
Reserved for future use. Write 0.
CCS Module Enable
bit=1:CCS enabled. e300 Core QREQ signal triggers deep sleep cycle.
bit=0:CCS disabled and inactive. No deep sleep mode possible.
Note: This bit should only be set before the processor should go into deep sleep mode. And
it should be reset after wake up.
Note: It is not allowed to set this bit if a JTAG debugger or the nap mode should be used.
8–14
—
15
ccs_osc_sleep_en
Reserved for future use. Write 0.
CCS System Oscillator Disable Control
bit=1:CCS can disable System Oscillator in deep sleep mode.
bit=0:CCS cannot disable System Oscillator in deep sleep mode. Oscillator remains
active.
16–30
—
31
ccs_qreq_test
Reserved for future use. Write 0.
CCS Test bit—Used in CCS module functional simulation to simulate a QREQ signal.
bit=0:QREQ input to CCS forced active.
bit=1:QREQ input to CCS comes directly from e300 Core.
MPC5200B User’s Manual, Rev. 3
5-24
Freescale Semiconductor
Clocks and Power Management
5.5.1.9
CDM Soft Reset Register
This register contains 2 reset control bits.
Address MBAR + 0x0220
1
2
3
4
5
6
Reset
9
10
11
12
13
14
15
Reserved
Write 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
Write 0
W
Reset
8
cdm_soft
_reset
Reserved
Write 0
W
7
cdm_no_
ckstp_reset
0
R
0
0
0
0
0
0
0
0
0
Figure 5-12. CDM Soft Reset Register
Table 5-15. CDM Soft Reset Register Field Descriptions
Bit
Name
0–6
—
7
cdm_soft_reset
Description
Reserved for future use. Write 0.
CDM Soft Reset bit.
bit=0:requests CDM soft reset.
bit=1:CDM soft reset request inactive.
8–14
—
15
cdm_no_ckstp_reset
Reserved for future use. Write 0.
CDM No reset on checkstop.
bit=0:Checkstop assertion causes HRESET.
bit=1:Checkstop assertion does not cause HRESET.
16–31
—
Reserved for future use. Write 0.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-25
Clocks and Power Management
5.5.1.10
CDM System PLL Status Register
This register contains control and status bits of the CDM PLL lock detect module.
Address MBAR + 0x0224
2
4
5
6
8
9
10
11
12
13
14
15
Reserved
Write 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
pll_small_
lock_window
0
R
Reserved
Write 0
W
Reset
7
Reserved
Write 0
W
Reset
3
pll_lost
_lock
1
pll_lock
0
R
0
0
0
0
0
0
0
1
Reserved
Write 0
0
0
0
0
0
Figure 5-13. CDM System PLL Status Register
Table 5-16. CDM System PLL Status Register Field Descriptions
Bit
Name
0–6
—
7
pll_lock
Description
Reserved for future use. Write 0.
1
CDM System PLL Lock Detect—read-only status bit.
bit=1:CDM has detected System PLL lock condition.
bit=0:CDM has NOT detected System PLL lock condition.
8–14
—
15
pll_lost_lock
Reserved for future use. Write 0.
CDM System PLL Lock Lost—hardware can only set this bit, register write must clear bit.
bit=1:CDM detected loss of PLL lock after PLL lock has been achieved.
bit=0:CDM has not detected loss of PLL lock (state before PLL lock occurs).
16–22
—
23
pll_small_
lock_window
Reserved for future use. Write 0.
PLL Small Lock Window—pulse width used to detect rising edge of PLL FREF clock.
bit=1:lock window pulse width 2 fVCOsys clock periods.
bit=0:lock window pulse width 4 fVCOsys clock periods.
24–31
—
Reserved for future use. Write 0.
Note:
1. System PLL Lock Condition—256 System PLL FREF clock rising edges within PLL_Lock_Window (System PLL FFB rising edge). In
PLL bypass mode, Lock is active after 256 System Oscillator clock rising edges.
2. In current MPC5200B CDM the PLL Lock Circuitry is for information only. CDM does not wait for PLL lock to start clocks or use
PLL_LOST_LOCK as an interrupt source.
MPC5200B User’s Manual, Rev. 3
5-26
Freescale Semiconductor
Clocks and Power Management
5.5.1.11
PSC1 Mclock Configuration Register
This register controls the generation of the Mclk for PSC1. Before modify the register value the divider
must be disabled.
Address MBAR + 0x0228
0
1
2
3
4
5
6
R
W
Reset
9
10
11
12
13
14
15
0
0
0
0
0
0
0
—
0
0
0
0
0
0
0
—
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
1
1
Mclock
Enable
R
8
Reserved
Write 0
W
Reset
7
1
Reserved
Write 0
0
0
0
0
MclkDiv[8:0]
0
0
0
0
0
0
0
Figure 5-14. CDM PSC1 Mclock Configuration Register
Table 5-17. CDM PSC1 Mclock Configuration Register Field Descriptions
Bit
Name
0–15
—
16
Mclock Enable
Description
Reserved for future use. Write 0.
PSC1 Mclock enable.
bit=0:Turns off internally generated Mclock.
bit=1:Turns on internally generated Mclock.
17-22
—
23-31
MclkDiv[8:0]
Reserved for future use. Write 0.
The counter divide the fsystem frequency by MclkDiv+1. A value of 0x00 in this register turns
off internally generated Mclock.
For example, a value of 7 in this register, where fsystem clock is at a frequency of 528MHz
would result in a Mclock rate of 528/8, or 66 MHz.
Note: fsystem clock is always 12 or 16 times the reference clock, sys_xtal_in, depending on
sys_pll_cfg_0 at reset.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-27
Clocks and Power Management
5.5.1.12
PSC2 Mclock Configuration Register
This register controls the generation of the Mclock for PSC2. Before modify the register value the divider
must be disabled.
Address MBAR + 0x022C
0
1
2
3
4
5
6
R
W
Reset
9
10
11
12
13
14
15
0
0
0
0
0
0
0
—
0
0
0
0
0
0
0
—
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
1
1
Mclock
Enable
R
8
Reserved
Write 0
W
Reset
7
1
Reserved
Write 0
0
0
0
0
MclkDiv[8:0]
0
0
0
0
0
0
0
Figure 5-15. CDM PSC2 Mclock Configuration Register
Table 5-18. CDM PSC2 Mclock Configuration Register Field Descriptions
Bit
Name
0–15
—
16
Mclock Enable
Description
Reserved for future use. Write 0.
PSC2 Mclock enable.
bit=0:Turns off internally generated Mclock.
bit=1:Turns on internally generated Mclock.
17-22
—
23-31
MclkDiv[8:0]
Reserved for future use. Write 0.
The counter divide the fsystem frequency by MclkDiv+1. A value of 0x00 in this register turns
off internally generated Mclock.
For example, a value of 7 in this register, where fsystem clock is at a frequency of 528MHz
would result in a Mclock rate of 528/8, or 66 MHz.
Note: fsystem clock is always 12 or 16 times the reference clock, sys_xtal_in, depending on
sys_pll_cfg_0 at reset.
MPC5200B User’s Manual, Rev. 3
5-28
Freescale Semiconductor
Clocks and Power Management
5.5.1.13
PSC3 Mclock Configuration Register
This register controls the generation of the Mclock for PSC3. Before modify the register value the divider
must be disabled.
Address MBAR + 0x0230
0
1
2
3
4
5
6
R
W
Reset
9
10
11
12
13
14
15
0
0
0
0
0
0
0
—
0
0
0
0
0
0
0
—
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
1
1
Mclock
Enable
R
8
Reserved
Write 0
W
Reset
7
1
Reserved
Write 0
0
0
0
0
MclkDiv[8:0]
0
0
0
0
0
0
0
Table 5-19. CDM PSC3 Mclock Configuration Register
Table 5-20. CDM PSC3 Mclock Configuration Register Field Descriptions
Bit
Name
0–15
—
16
Mclock Enable
Description
Reserved for future use. Write 0.
PSC3 Mclock enable.
bit=0:Turns off internally generated Mclock.
bit=1:Turns on internally generated Mclock.
17-22
—
23-31
MclkDiv[8:0]
Reserved for future use. Write 0.
The counter divide the fsystem frequency by MclkDiv+1. A value of 0x00 in this register turns
off internally generated Mclock.
For example, a value of 7 in this register, where fsystem clock is at a frequency of 528MHz
would result in a Mclock rate of 528/8, or 66 MHz.
Note: fsystem clock is always 12 or 16 times the reference clock, sys_xtal_in, depending on
sys_pll_cfg_0 at reset.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
5-29
Clocks and Power Management
5.5.1.14
PSC6 (IrDA) Mclock Configuration Register
This register controls the generation of the Mclock for PSC6. Before modify the register value the divider
must be disabled.
Address MBAR + 0x0234
0
1
2
3
4
5
6
R
W
Reset
9
10
11
12
13
14
15
0
0
0
0
0
0
0
—
0
0
0
0
0
0
0
—
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
1
1
Mclock
Enable
R
8
Reserved
Write 0
W
Reset
7
1
Reserved
Write 0
0
0
0
0
MclkDiv[8:0]
0
0
0
0
0
0
0
Figure 5-16. CDM PSC6 Mclock Configuration Register
Table 5-21. CDM PSC6 Mclock Configuration Register Field Descriptions
Bit
Name
0–15
—
16
Mclock Enable
Description
Reserved for future use. Write 0.
PSC6 Mclock enable.
bit=0:Turns off internally generated Mclock.
bit=1:Turns on internally generated Mclock.
17-22
—
23-31
MclkDiv[8:0]
Reserved for future use. Write 0.
The counter divide the fsystem frequency by MclkDiv+1. A value of 0x00 in this register turns
off internally generated Mclock.
For example, a value of 7 in this register, where fsystem clock is at a frequency of 528MHz
would result in a Mclock rate of 528/8, or 66 MHz.
Note: fsystem clock is always 12 or 16 times the reference clock, sys_xtal_in, depending on
sys_pll_cfg_0 at reset.
MPC5200B User’s Manual, Rev. 3
5-30
Freescale Semiconductor
Chapter 6
e300 Processor Core
6.1
Overview
The following sections are contained in this document:
• MPC5200B e300 Processor Core Functional Overview
• e300 Core Reference Manual
• Not Supported e300 Core Features
6.2
MPC5200B e300 Processor Core Functional Overview
The MPC5200B integrates a e300 processor core based on, and compatible with, the 603e which is a
PowerPC compliant microprocessor. The e300 core is completely embedded, as its address, data, and
control signals are not visible external to MPC5200B. The e300 core has the following features:
• 603e series PowerPC compliant processor core
• Dual Issue, superscalar architecture
• 16K instruction cache, 16K data cache
• Double precision FPU
• Instruction and data MMU
• Power management modes:
— Nap
— Doze
— Sleep
— Deep Sleep
• Standard & critical interrupt capability
For additional information on the capabilities and features of the e300 core, refer to 603e user
documentation.
The e300 processor has a 32-bit address/64-bit data bus referred to as the 60X Local Bus (XLB). This bus
is the main system connecting all internal mastering and slave modules. In addition to the e300 core, the
USB host controller, PCI controller (as target) and BestComm controller can master the XLB.
The e300 core fetches 32-bit instructions (one word), two words at a time. After power-on reset, initial
boot instructions are fetched from the LocalPlus bus, with CS0 active. The processor can execute code
from the local bus or from the SDRAM controller. To facilitate high speed execution, boot code is typically
copied from a Flash or ROM device attached to the LocalPlus bus, to SDRAM. The e300 core can execute
code from the on-chip SRAM.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
6-1
e300 Processor Core
The e300 core has memory mapped access to all MPC5200B resources including:
• all on-chip programming registers
• all on-chip FIFOs and memories
• external SDRAM
• internal SRAM
• PCI-controlled address space
• external disk drive control register space (via PIO mode), etc.
When a master device wants access to the XLB, a request is made to the XLB Arbiter. When access is
granted, the mastering device controls the XLB during the subsequent address tenure and data tenure.
Bursting is supported on the XLB. Critical Word First protocol is employed when the e300 core attempts
to fill its address and data caches. Pipelining and cache coherency support (XLB address snooping) has
been added to the MPC5200B to improve performance.
MPC5200B use the version 1.4 of the e300 core. The Processor version register (PVR) is 0x80822014.
The e300 core has a System version register (SVR). The SVR numbers of MPC5200B are:
Table 6-1. SVR Values
6.3
Revision
SVR
M08A
80110020
M62C
80110021
e300 Core Reference Manual
A complete specification for the e300 core implementation used on the MPC5200B is obtained through a
collection of documentation.
• PowerPC Microprocessor Family: The Programming Environments for 32-bit Microprocessors,
Rev. 2: MPCFPE32B/AD
• G2 PowerPC Core Reference Manual, Rev. 1: G2CORERM/D
The programming environments manual provides information about resources defined by the PowerPC
architecture that are common to PowerPC processors. Implementation variances relative to Rev. 2 of the
Programming Environments Manual are available in the G2 Core Reference Manual.
The G2 Core Reference Manual can be obtained from the Freescale (formerly Motorola) Literature
Distribution center at http://e-www.freescale.com. Click on the Documentation link to proceed to the
Semiconductor Documentation Library. In the documentation form window, select “Reference Manual”
and set the matching pages option button to “All”. An alphabetical list of reference manuals will appear
and the G2 core document ID is ‘G2CORERM/D’. From this line entry, you may order hard copies of the
G2 Core Reference Manual or download a PDF copy of the manual.
MPC5200B User’s Manual, Rev. 3
6-2
Freescale Semiconductor
e300 Processor Core
6.4
6.4.1
Not Supported e300 Core Features
Not Supported Instruction
The e300 core supports two instructions that are not available by the MPC5200B. These two instructions
are eciowx and ecowx. The execution of both instructions will generate a TEA signal on XLB. This will
cause a machine check exception or a checkstop.
6.4.2
Not Supported XLB Parity Feature
The e300 core supports an address and data parity error detection for the XL bus. This feature is not
supported by the MPC5200B. The core input signals core_ap_in [0:3] are pulled-down to 0 and the core
input signals core_dp_in [0:7] are pulled-up to 1. Enabling of the address or data parity error check by the
HID0 [EBA, EBD] bits will generate a machine check exception or a checkstop depending on the HID0
[EMCP] bit.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
6-3
e300 Processor Core
MPC5200B User’s Manual, Rev. 3
6-4
Freescale Semiconductor
Chapter 7
System Integration Unit (SIU)
7.1
Overview
The following sections are contained in this document:
• Interrupt Controller, includes:
— Interrupt Controller Registers
• General Purpose I/O (GPIO), includes:
— GPIO Standard Registers (MBAR + 0x0B00)
— WakeUp GPIO Registers (MBAR + 0x0C00)
• General Purpose Timers (GPT), includes:
— GPT Registers (MBAR + 0x0600)
• Slice Timers, includes:
— SLT Registers (MBAR + 0x700)
• Real-Time Clock, includes:
— RTC Interface Registers (MBAR + 0x800)
NOTE
Watchdog timer functions are included in the GPT section.
The System Integration Unit (SIU) controls and support the functions listed above.
7.2
Interrupt Controller
A highly configurable Interrupt Controller directs all interrupt sources to the following e300 core interrupt
pins:
• core_cint — critical interrupt
• core_smi — system management interrupt
• core_int — standard interrupt
7.2.1
Block Description
The Interrupt Controller MUXes a variety of interrupt sources to the limited interrupt pins on the e300
core. The interrupt sources and their descriptions are summarized in Table 7-1.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-1
System Integration Unit (SIU)
Table 7-1. Interrupt Sources
Source
No.
Description
External IRQ Interrupts
4
Can be programmed as level or edge sensitive. Provides interrupt requests to Interrupt
Controller for external devices.
Slice Timers
2
“Tick” generators. Suitable for operating system update tick.
General Timers
8
Generates interrupt in Input Capture mode or Internal Timer mode. Timers 6 and 7 can
interrupt from NAP/DOZE power-down.
BestComm and
Peripherals
19
Various peripherals are priority programmed and encoded into HI or LO interrupt to the
Interrupt Controller. BestComm Controller interrupt is connected to HI interrupt.
RTC
2
Stopwatch and periodic
WakeUp
8
These are special GPIO pins with WakeUP capability. There are 8 such pins funneled into
one interrupt. The source module is gpio_wkup.
GPIO
8
GPIO pins with simple interrupt capability (not available in power down mode). The source
module is gpio_std.
WatchDog Timer
0
No vector handler, generates SRESET output indication.
Total
51
Table 7-1 does not include machine-check bus errors or transaction handshaking. e300 core interrupt pins
given in Section 7.2.1.1, “Machine Check Pin—core_mcp” through Section 7.2.1.3, “Standard
Interrupt—core_int” show e300 core interrupt priority.
7.2.1.1
Machine Check Pin—core_mcp
NOTE
The core_mcp pin is not used. Bus errors occur on the XL bus, thus
generating an internal machine-check exception, or are reflected as a normal
interrupt from the offending source module.
Internally, bus errors (TEA, APE, DPE, etc.) cause a machine check exception to a single exception vector.
This pin allows additional, external to the e300 core, interrupts of the same type, but is not connected in this
device.
7.2.1.2
System Management Interrupt—core_smi
The core_smi is a e300 core pin for high priority interrupts. Table 7-2 defines the interrupts.
Table 7-2. System Management Interrupt Pin Interrupts
Interrupt
Description
Enables
The MSR[ee] bit must be set to enable interrupts at this e300 core pin. The MSR[ee] bit is
automatically cleared when an interrupt occurs. Therefore, the exception handler must re-set this bit
when interrupt is cleared.
Recovery/Status
Recovery is highly dependant on system and software design. Where multiple sources are tied to the
same interrupt, a status register is provided to distinguish the interrupting source.
MPC5200B User’s Manual, Rev. 3
7-2
Freescale Semiconductor
System Integration Unit (SIU)
Table 7-2. System Management Interrupt Pin Interrupts (continued)
Interrupt
Description
Timing
Assertion of this interrupt is persistent (i.e., interrupt remains until cleared). If other interrupts are
pending when first interrupt is cleared, the core_smi pin should remain asserted for handling once the
current exception handler re-sets the MSR[ee] bit.
Connections
Standard external and internal interrupts can be connected to this high priority interrupt. Slice timer 1
is a dedicated connection.
7.2.1.3
Standard Interrupt—core_int
Identical to core_smi, but of lower priority. This interrupt is shared by a variety of internal low priority
interrupts such as GPIO and RTC functions. Some programmable connection are provided. Table 7-3 gives
a summary of the interrupt pins. Figure 7-2 shows the interrupt sources and e300 core pins.
Table 7-3. e300 core Interrupt Pins Summary
Pin
Description
Sources
To Enable
Timing
core_mcp
Machine Check Pin
Tied inactive
—
—
core_cint
Critical Interrupt
BestComm HI, IRQ0,
Slice Timer 0, CCS WakeUp
MSR[ce]
Persistent
(remains until cleared)
core_smi
System Management
Interrupt
Slice Timer 1,
Programmable interrupts
MSR[ee]
Persistent
core_int
Standard Interrupt
Programmable interrupts
MSR[ee]
Persistent
IRQ[0]
Slice Timer 0
CCS Wkup
core_cint
BestComm
HI_int
Peripherals
(ATA/PCI etc.)
LO_int
Slice Timer 1
core_smi
IRQ[1:3]
core_int
SIU interrupts
(RTC/GPIO/WKUP/TMRS)
Indicates it can be masked in controller.
Indicates priority encoding programmability.
Figure 7-1. Interrupt Sources and e300 core Interrupt Pins
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-3
System Integration Unit (SIU)
IRQ[0:3] Interrupt Requests
IRQ[0:3] provides interrupt requests to Interrupt Controllers for external devices such as:
• Graphics controllers
• PCI interrupt controller
• ATAs
• Transport de-multiplexers
• External I/O devices, etc.
These interrupts are programmable as edge or level sensitive. See Figure 7-1.
7.2.2
Interface Description
Timers
(IC, OC,
PWM)
Slice
Timers
4
e300 Core
4
core_mcp
0
core_cint
1
core_smi
Real Time
Clock
8
8
core_int
GPIO/Std
Main Interrupt
Controller
GPIO/WakeUp
IRQ0
cint_ded
Peripheral 1
IRQ1
Peripheral 2
IRQ2
Peripheral 3
IRQ3
Peripheral 4
Peripheral 5
Encoder
smi_ded
int_ded
Grouper
Encoder
programmable inputs
Grouper
Encoder
HI
Peripheral 6
LO
Peripheral …
XLB Arbiter
BestComm
Controller
NOTE:
1. Grouper and Encoder functions imply programmability in software.
Figure 7-2. Interrupt Controller Routing Scheme
MPC5200B User’s Manual, Rev. 3
7-4
Freescale Semiconductor
System Integration Unit (SIU)
7.2.3
Programming Note
Under specific conditions, the Interrupt Controller may not support nested interrupts. The Interrupt
Controller may prevent the assertion of a core_cint interrupt if a core_int or a core_smi is pending.
Similarly, the Interrupt Controller may block a core_smi if a core_int is pending. If the e300 core received
the core_cint assertion during an core_int or core_smi assertion, it would preempt the current interrupt
service routine and process the Critical Interrupt Service routine immediately. Since the MPC5200B
Interrupt Controller postpones the core_cint assertion until after a current core_int or core_smi is finished,
there can be a delay before the 603e receives and services Critical Interrupt Sources.
The interrupt Controller always supports nested interrupt if the Critical Interrupt sources come from IRQ0,
Slice TImer 0 or the wakeup logic. There is a difference when the critical source comes from HI_int
(Peripheral Interrupt Group). As shown in Figure 7-2, each Peripheral Interrupt can assert a HI_int or
LO_int condition. But only one Peripheral Interrupt can be active at the time, so the Interrupt Controller
has not the ability to simultaneously assert both HI_int and LO_int. Therefore, the peripheral 2 which
generated by default a core_int (LO_int) interrupt will prevent a BestComm Interrupt to generate a
core_cint (HI_int) interrupt.
In addition, a Peripheral Interrupt directed to a core_cint can be prevented by a pending core_smi interrupt.
Each Peripheral Interrupt (LO_int) can be programmed to cause a core_smi by setting the Main4_pri msb.
Once again, the Interrupt Controller does not has the ability to simultaneously generate the HI_int and
LO_int. Then, a Peripheral Interrupt, which generates a core_smi, prevents any Peripheral Interrupts to
assert a core_cint.
Similarly, the Interrupt Controller can activate only one Main Interrupt source at the time. Main4 source
is the collection of all LO_int Peripheral Interrupts. The Main4_pri can be programmed in order to
generate a core_smi or a core_int. As result, a Peripheral Interrupt that causes a core_int will prevent all
other Main Interrupt sources to generate a core_smi. Although the Interrupt Controller does not exhibit the
correct behavior, the e300 core always completes the core_int before treating the core_smi. In this case,
the CPU does not authorize nested interrupt at the exception if the ISR set the 603e’s MSR[EE] to support
nested interrupt (core_smi and core_int).
In order to guaranty the assertion of the core_cint when a core_int is pending, the ISR needs to force the
re-evaluation of the Peripheral Interrupt condition by writing “1” to the Peripheral Status Encoded Pse
msb. The ISR has to repeatedly set this bit since the interrupt events are indeterministic. Moreover, the
Peripheral Interrupt sources directed to core_cint needs to have their priorities to be higher than the LO_int
Peripheral Interrupt sources. The Interrupt Controller always activates first the pending interrupt having
the highest priority. Like for the Peripheral Interrupt Group, the ISR needs to set the Main Status Encoded
MSe msb to force re-evaluation of the Main Interrupt Condition and each Main Interrupt Priority needs to
be properly programmed.
7.2.4
Interrupt Controller Registers
The Interrupt Controller uses 13 32-bit registers. These registers are located at an offset from MBAR of
0x0500. Register addresses are relative to this offset. Therefore, the actual register address is: MBAR +
0x0500 + register address.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-5
System Integration Unit (SIU)
Hyperlinks to the Interrupt Controller registers are provided below:
• ICTL Peripheral Interrupt Mask Register (0x0500)
• ICTL Peripheral Priority and HI/LO Select 1 Register (0x0504)
• ICTL Peripheral Priority and HI/LO Select 2 Register (0x0508)
• ICTL Peripheral Priority and HI/LO Select 3 Register (0x050C)
• ICTL External Enable and External Types Register (0x0510)
• ICTL Critical Priority and Main Interrupt Mask Register (0x0514)
• ICTL Main Interrupt Priority and INT/SMI Select 1 Register (0x0518)
• ICTL Main Interrupt Priority and INT/SMI Select 2 Register (0x051C)
• ICTL PerStat, MainStat, CritStat Encoded Register (0x0524)
• ICTL Critical Interrupt Status All Register (0x0528)
• ICTL Main Interrupt Status All Register (0x052C)
• ICTL Peripheral Interrupt Status All Register (0x0530)
• ICTL Bus Error Status Register (0x0538)
• ICTL Main Interrupt Emulation All Register (0x0540)
• ICTL Peripheral Interrupt Emulation All Register (0x0544)
• ICTL IRQ Interrupt Emulation All Register (0x0544)
7.2.4.1
ICTL Peripheral Interrupt Mask Register
Address MBAR + 0x0500
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Reserved
Per_mask
W
Reset
8
Per_mask
W
Reset
7
1
1
1
1
1
1
1
1
0
0
0
0
0
Figure 7-3. ICTL Peripheral Interrupt Mask Register
MPC5200B User’s Manual, Rev. 3
7-6
Freescale Semiconductor
System Integration Unit (SIU)
Table 7-4. ICTL Peripheral Interrupt Mask Register Field Descriptions
Bits
Name
Description
—
Per_mask
Bits 0:23—To mask/accept individual peripheral interrupt sources. This masking is in addition to
interrupt enables, which may exist in each source module.
0 Accept interrupt from source module.
1 Ignore interrupt from source module.
Important—See Note 1.
0
Per_mask
BestComm interrupt source
1
Per_mask
Peripheral 1 (PSC1)
2
Per_mask
Peripheral 2 (PSC2)
3
Per_mask
Peripheral 3 (PSC3)
4
Per_mask
Peripheral 4 (PSC6)
5
Per_mask
Peripheral 5 (Ethernet)
6
Per_mask
Peripheral 6 (USB)
7
Per_mask
Peripheral 7 (ATA)
8
Per_mask
Peripheral 8 (PCI Control module)
9
Per_mask
Peripheral 9 (PCI SC Initiator RX)
10
Per_mask
Peripheral 10 (PCI SC Initiator TX)
11
Per_mask
Peripheral 11 (PSC4)
12
Per_mask
Peripheral 12 (PSC5)
13
Per_mask
Peripheral 13 (SPI modf)
14
Per_mask
Peripheral 14 (SPI spif)
15
Per_mask
Peripheral 15 (I2C1)
16
Per_mask
Peripheral 16 (I2C2)
17
Per_mask
Peripheral 17 (CAN1)
18
Per_mask
Peripheral 18 (CAN2)
19
Per_mask
Reserved
20
Per_mask
Reserved
21
Per_mask
Peripheral 21 (XLB Arbiter)
22
Per_mask
Peripheral 22 (BDLC)
23
Per_mask
Peripheral 23 (BestComm LocalPlus)
24:31
—
Reserved
Note:
1. Setting these bits prevents an interrupt being presented to the e300 core pins for the masked sources. Encoded status indications in
the ICTL Perstat, MainStat, CritiStat Encoded Register are suppressed, but the binary all status bits (PSa in ICTL Peripheral Interrupt
Status All Register) are active as long as the source module is presenting an active input to the Interrupt Controller.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-7
System Integration Unit (SIU)
7.2.4.2
ICTL Peripheral Priority and HI/LO Select 1 Register
Address MBAR + 0x0504
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Per0_pri
Per1_pri
Per2_pri
Per3_pri
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Per4_pri
Per5_pri
Per6_pri
Per7_pri
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-4. ICTL Peripheral Priority and HI/LO Select 1 Register
Table 7-5. CTL Peripheral Priority and HI/LO Select 1 Register Field Descriptions
Bits
Name
Description
—
Per[x]_pri
Priority encoding is done using 4 configuration bits per input source. Each group of 4bits controls
the source priority in relation to other peripheral sources. The most significant bit (msb) of each
config nibble is called the HI/LO or bank bit.
If this bit is high it implies not only a high priority, but causes this interrupt source to assert a HI
interrupt condition. Under most circumstances this creates a Critical Interrupt assertion to the e300
core. See Note 1.
Peripherals with identical priority settings (either zero or non-zero) are default prioritized with lower
peripheral has higher priority. In other words, Per1 has a default priority higher than Per2.
0:3
Per0_pri
Peripheral 0 = BestComm interrupt (fixed as highest peripheral)
4:7
Per1_pri
Peripheral 1 = PSC1 interrupt source
8:11
Per2_pri
Peripheral 2 = PSC2
12:15
Per3_pri
Peripheral 3 = PSC3
16:19
Per4_pri
Peripheral 4 = PSC6
20:23
Per5_pri
Peripheral 5 = Ethernet
24:27
Per6_pri
Peripheral 6 = USB
28:31
Per7_pri
Peripheral 7 = ATA
Note:
1. Per0_pri, associated with the BestComm interrupt source, is not programmable and always has the highest peripheral priority and
always results in a HI interrupt condition to the Interrupt Controller. These bits are writable and readable, but have no effect on controller
operation.
MPC5200B User’s Manual, Rev. 3
7-8
Freescale Semiconductor
System Integration Unit (SIU)
7.2.4.3
ICTL Peripheral Priority and HI/LO Select 2 Register
Address MBAR + 0x0508
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Per8_pri
Per9_pri
Per10_pri
Per11_pri
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Per12_pri
Per13_pri
Per14_pri
Per15_pri
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-5. ICTL Peripheral Priority and HI/LO Select 2 Register
Table 7-6. ICTL Peripheral Priority and HI/LO Select 2 Register Field Descriptions
Bits
Name
Description
—
Per[x]_pri
Identical to Peripheral_Priority 1 Register, but related to peripheral interrupt sources 8 through 15.
All bits are programmable and significant.
0:3
Per8_pri
Peripheral 8 = PCI Control module
4:7
Per9_pri
Peripheral 9 = PCI SC Initiator RX
8:11
Per10_pri
Peripheral 10 = PCI SC Initiator TX
12:15
Per11_pri
Peripheral 11 = PSC4
16:19
Per12_pri
Peripheral 12 = PSC5
20:23
Per13_pri
Peripheral 13 = SPI modf
24:27
Per14_pri
Peripheral 14 = SPI spif
28:31
Per15_pri
Peripheral 15 = I2C1
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-9
System Integration Unit (SIU)
7.2.4.4
ICTL Peripheral Priority and HI/LO Select 3 Register
Address MBAR + 0x050C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Per16_pri
Per17_pri
Per18_pri
Per19_pri
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Per20_pri
Per21_pri
Per22_pri
Per23_pri
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-6. ICTL Peripheral Priority and HI/LO Select 3 Register
Table 7-7. ICTL Peripheral Priority and HI/LO Select 3 Register Field Descriptions
Bits
Name
Description
—
Per[x]_pri
Identical to Peripheral_Priority 2 register, but related to peripheral interrupt sources 16–21. All bits
are programmable and significant.
0:3
Per16_pri
Peripheral 16 = I2C2
4:7
Per17_pri
Peripheral 17 = CAN1
8:11
Per18_pri
Peripheral 18 = CAN2
12:15
Per19_pri
Reserved
16:19
Per20_pri
Reserved
20:23
Per21_pri
Peripheral 21 = XLB Arbiter
24:27
Per22_pri
Peripheral 22 = BDLC
28:31
Per23_pri
Peripheral 23 = BestComm LocalPlus
MPC5200B User’s Manual, Rev. 3
7-10
Freescale Semiconductor
System Integration Unit (SIU)
7.2.4.5
ICTL External Enable and External Types Register
Address MBAR + 0x0510
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
ECLR(4)
Etype0
Etype1
Etype2
Etype3
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
MEE
EENA(4)
Reserved
CEb
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-7. ICTL External Enable and External Types Register
Table 7-8. ICTL External Enable and External Types Register Field Descriptions
Bits
Name
Description
0:3
—
—
ECLR[x]
4
ECLR0
IRQ[0], write 1 to clear
5
ECLR1
IRQ[1], write 1 to clear
6
ECLR2
IRQ[2], write 1 to clear
7
ECLR3
IRQ[3], write 1 to clear
8:9
Etype0
These bits control how the Interrupt Controller interprets the IRQ[0] input pin.
00 = Input is level sensitive and active hi
01 = Input is edge sensitive, rising edge active”
10 = Input is edge sensitive, falling edge active”
11 = Input is level sensitive, and active low”
10:11
Etype1
Same as above, but for the IRQ[1] input pin.
12:13
Etype2
Same as above, but for the IRQ[2] input pin.
14:15
Etype3
Same as above, but for the IRQ[3] input pin.
16:18
—
19
MEE
—
EENA[x]
20
EENA0
IRQ[0]
21
EENA1
IRQ[1]
Reserved
These bits clear external IRQ interrupt indications. When an IRQ input is configured as an
edge-sensitive input, the Interrupt Controller must be notified that the specific interrupt has been
serviced. Software must write 1 to the appropriate bit position to clear the interrupt indication. ECLR
bits are always read as 0 (i.e., they do not contain status).
Reserved—unused bits, writing has no effect, always read as 0.
Master External Enable—clearing this bit masks all IRQ input transitions (including status
indications).
Individual enable bits for each IRQ input pin. Setting the associated bit lets the related IRQ pin
generate interrupts. In either case, status indications in PSa and CSa (ICTL Peripheral Interrupt
Status All Register) are active.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-11
System Integration Unit (SIU)
Table 7-8. ICTL External Enable and External Types Register Field Descriptions (continued)
Bits
Name
22
EENA2
IRQ[2]
23
EENA3
IRQ[3]
24:30
—
31
CEb
7.2.4.6
Description
Reserved
Critical Enable—a special control bit, which if set, directs critical interrupt sources to the normal
e300 core Interrupt pin. This is for system programmer who prefers to handle all interrupts in a single
ISR.
The status operation remains unchanged, it is necessary to parse Critical Status information prior
to Normal Status information to detect critical interrupt sources routed to the normal interrupt pin.
ICTL Critical Priority and Main Interrupt Mask Register
Address MBAR + 0x0514
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
R
Main_
Mask
Crit0_pri
Crit1_pri
Crit2_pri
Crit3_pri
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
Reserved
W
Reset
15
R
Main_Mask
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-8. ICTL Critical Priority and Main Interrupt Mask Register
Table 7-9. ICTL Critical Priority and Main Interrupt Mask Register Field Descriptions
Bits
Name
Description
0:1
Crit0_pri
Priority encoding value for Critical Interrupt 0, IRQ[0] input pin.
There are four Critical Interrupt sources that can be uniquely prioritized (a higher Priority value
creates a higher priority, i.e. a value of 3 is the highest priority value). In the case of identical
priority value, the lower numbered interrupt source has priority. This makes IRQ[0] the highest
default priority (being the lowest numbered source).
2:3
Crit1_pri
Priority encoding value for Slice Timer 0 interrupt source. Hard-wired as critical interrupt source
number 1, it has the second highest default priority.
4:5
Crit2_pri
Priority encoding value for HI_int interrupt source. Hard-wired as critical interrupt source
number 2. It is programmable such that any peripheral source can be directed to it, and thus get
maximum priority service.
6:7
Crit3_pri
Priority encoding value for CCS WakeUp source. Hard-wired as critical interrupt source
number 3.
8:14
—
Reserved
MPC5200B User’s Manual, Rev. 3
7-12
Freescale Semiconductor
System Integration Unit (SIU)
Table 7-9. ICTL Critical Priority and Main Interrupt Mask Register Field Descriptions (continued)
Bits
Name
Description
—
Main_Mask[x]
To mask/accept individual main interrupt sources (as opposed to peripheral or critical interrupt
sources). This masking is in addition to interrupt enables, which may exist in each source
module.
0 Default. Accept interrupt from source module.
1 Ignore interrupt from source module.
Take care if masking LO_int, which is a collection of multiple Peripheral sources in a single
presentation. Masking LO_int essentially prevents any LO Peripheral from generating an
interrupt, even when those interrupts are enabled (i.e., unmasked) in Per_Mask, Reg0.
Important—See Note 1.
15
Main_Mask0
Slice Timer 1, which is hardwired to SMI interrupt output. See Note 2.
—
—
16
Main_Mask1
IRQ[1] (IRQ[1] input pin interrupt)
17
Main_Mask2
IRQ[2] (IRQ[2] input pin interrupt)
18
Main_Mask3
IRQ[3] (IRQ[3] input pin interrupt)
19
Main_Mask4
LO_int (source programmable from Peripheral ints)
20
Main_Mask5
RTC_pint (Real time clock, periodic interrupt)
21
Main_Mask6
RTC_sint (Real time clock, stopwatch and alarm interrupt)
22
Main_Mask7
GPIO_std (collected GPIO interrupts, non-WakeUp)
23
Main_Mask8
GPIO_wkup (collected WakeUp interrupts)
24
Main_Mask9
TMR0 (internal Timer resource)
25
Main_Mask10
TMR1 (internal Timer resource)
26
Main_Mask11
TMR2 (internal Timer resource)
27
Main_Mask12
TMR3 (internal Timer resource)
28
Main_Mask13
TMR4 (internal Timer resource)
29
Main_Mask14
TMR5 (internal Timer resource)
30
Main_Mask15
TMR6 (internal Timer resource)
31
Main_Mask16
TMR7 (internal Timer resource)
Interrupt sources below are bank/priority programmable (in Reg6 and Reg7).
Note:
1. Setting these bits prevents an interrupt being presented to the masked sources e300 core pins. Encoded status indications (MSe in
Reg9) are therefore suppressed, but the binary all status bits (MSa in RegB) are active as long as the source module is presenting an
active input to the Interrupt Controller. Masking IRQ[1:3], is redundant with External ENA bits in Reg4, but both masks are applied.
2. Slice Timer 1 is hard-coded and neither bank nor priority adjustable.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-13
System Integration Unit (SIU)
7.2.4.7
ICTL Main Interrupt Priority and INT/SMI Select 1 Register
Address MBAR + 0x0518
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Main1_pri
Main2_pri
Main3_pri
Main4_pri
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Main5_pri
Main6_pri
Main7_pri
Main8_pri
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-9. ICTL Main Interrupt Priority and INT/SMI Select 1 Register
Table 7-10. ICTL Main Interrupt Priority and INT/SMI Select 1 Register Field Descriptions
Bits
Name
Description
0:3
Main1_pri
Main interrupt source 1 (IRQ[1]) priority encoding value.
All four bits are used to set a priority value (higher value equals higher priority). MSbit is also used
as a bank bit to direct this interrupt source to SMI interrupt output (if bank = 1), or to normal INT
interrupt output (if bank = 0).
For interrupt sources set at the same priority value, default priority is the lower numbered interrupt
has higher priority. This means main source 1 has a higher default priority than main source 2. See
Note 1.
4:7
Main2_pri
Main interrupt source 2 (IRQ[2] input pin) priority encoding value.
8:11
Main3_pri
Main interrupt source 3 (IRQ[3] input pin) priority encoding value.
12:15
Main4_pri
Main interrupt source 4 (LO_int) priority encoding value. LO_int is a collection of any Peripheral
Interrupts directed to this interrupt source. Peripheral interrupts sources are directed to either
LO_int, or to the critical interrupt source HI_int.
16:19
Main5_pri
Main interrupt source 5 (RTC_periodic) priority encoding value.
20:23
Main6_pri
Main interrupt source 6 (RTC_stopwatch and RTC_alarm) priority encoding value.
24:27
Main7_pri
Main interrupt source 7 (GPIO_std) priority encoding value. GPIO_std is a collection of all simple
interrupt GPIO pins enabled for Interrupt operation.
28:31
Main8_pri
Main Interrupt source 8 (GPIO_wkup) priority encoding value.
GPIO_wkup is a collection of all enabled WakeUp capable GPIO sources. WakeUp interrupt
sources also operate in normal powered-up modes so all GPIO interrupt sources are represented
by main interrupt sources 7 and 8 (also see Timer GPIOs in Reg7).
Note:
1. Main source 0 (Slice Timer 1) is not listed, it is fixed as both the highest priority main interrupt and to generate an SMI interrupt output
only.
MPC5200B User’s Manual, Rev. 3
7-14
Freescale Semiconductor
System Integration Unit (SIU)
7.2.4.8
ICTL Main Interrupt Priority and INT/SMI Select 2 Register
Address MBAR + 0x051C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Main9_pri
Main10_pri
Main11_pri
Main12_pri
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Main13_pri
Main14_pri
Main15_pri
Main16_pri
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-10. ICTL Main Interrupt Priority and INT/SMI Select 2 Register
Table 7-11. ICTL Main Interrupt Priority and INT/SMI Select 2 Register Field Descriptions
Bits
Name
Description
0:3
Main9_pri
Main interrupt source 9 (TMR0) priority encoding value.
All 4bits are used to set a priority value (higher value equals higher priority). The msb is also used
as a bank bit to direct this interrupt source to SMI interrupt output (if bank = 1), or to normal INT
interrupt output (if bank = 0).
For interrupt sources set at the same priority value, default priority is the lower numbered interrupt
has higher priority. This means main source 9 has a higher default priority than main source 10.
Timer 0 is one of eight internal timer resources that can be configured as input capture, output
compare, or PWM output. As such, there is an I/O pin associated with each timer. The timer can
use this pin as GPIO, in which case the internal timer function becomes available. These eight
timers complete the MPC5200B GPIO structure. All potential GPIO interrupt sources are
represented by main sources 7, 8, and 9–16.
4:7
Main10_pri
Main interrupt source 10 (TMR1) priority encoding value.
8:11
Main11_pri
Main interrupt source 11 (TMR2) priority encoding value.
12:15
Main12_pri
Main interrupt source 12 (TMR3) priority encoding value.
16:19
Main13_pri
Main interrupt source 13 (TMR4) priority encoding value.
20:23
Main14_pri
Main interrupt source 14 (TMR5) priority encoding value.
24:27
Main15_pri
Main interrupt source 15 (TMR6) priority encoding value. See Note 1.
28:31
Main16_pri
Main interrupt source 16 (TMR7) priority encoding value. See Note 1.
Note:
1. This timer has WakeUp functionality and therefore can provide a WakeUp interrupt source.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-15
System Integration Unit (SIU)
7.2.4.9
ICTL Perstat, MainStat, CritStat Encoded Register
Address MBAR + 0x0524
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
PSe
Reserved
MSe
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
CSe
Reserved
CEbSh
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-11. ICTL PerStat, MainStat, CritStat Encoded Register
Table 7-12. ICTL PerStat, MainStat, CritStat Encoded Register Field Descriptions
Bits
Name
0:1
—
2:7
PSe
8:9
—
10:15
MSe
16:20
—
Description
Reserved
Peripheral Status Encoded—makes a singular indication of the current peripheral interrupt (6bits
indicating 1 of 24 possible peripheral interrupts).
The msb operates as a flag bit and is set if any peripheral interrupt is currently being presented by
the Interrupt Controller (e.g., if peripheral interrupt source 0 is current, then this register reads as
0x20). Normally it would not be necessary to clear this status register since all peripheral interrupt
sources are level sensitive.
Once an interrupt source negates at the input of the controller, the new input condition is
re-evaluated without software intervention. However, if ISR does not clear the interrupt source (at
the source module), then the controller is locked on the current interrupt and cannot re-evaluate the
input condition (possibly to detect the presence of a higher priority interrupt). Therefore, ISR can
force a re-evaluation of the input condition by writing 1 to the msb of PSe. This sticky-bit clear
operation is optional and can be used at the discretion of the ISR writer.
The encoded value cross-reference to a specific source is described in ICTL Peripheral Interrupt
Mask Register and re-stated in ICTL Peripheral Interrupt Status All Register. In all cases, the
peripheral status encoded value converts to a single source module (i.e., no additional status
parsing is required at the Interrupt Controller).
Reserved
Main Status Encoded—makes a singular indication of the current main interrupt (6 bits indicating 1
of 17 possible main interrupts).
The msb operates as a flag bit, as described above. The msb can also be written to 1 to force a
re-evaluation of the main interrupt sources.
The cross-reference of the encoded value to a particular source is described in Reg5 (main mask)
and re-stated in ICTL Main Status All Register.
All MSe values convert to a single source module, EXCEPT Main source 4 (LO_int), which indicates
a peripheral source is active. In this case it is necessary to parse the PSe to determine which
peripheral source is active. See Note 1.
Reserved
MPC5200B User’s Manual, Rev. 3
7-16
Freescale Semiconductor
System Integration Unit (SIU)
Table 7-12. ICTL PerStat, MainStat, CritStat Encoded Register Field Descriptions (continued)
Bits
Name
Description
21:23
CSe
Critical Status Encoded—makes a singular indication of the current critical interrupt (3bits indicating
1 of 4 possible interrupts).
The msb operates as a Flag bit, as described above. This msb can also be written to 1 to force a
re-evaluation of the critical interrupt sources.
00 IRQ input pin is the source. See Note 2.
01 Slice Timer 0 is the source.
10 HI_int is the source. See Note 3.
11 CCS module is the source. WakeUp from deep-sleep. See Note 4.
24:30
—
31
CEbSh
Reserved
Critical Enable bar Shadow bit—this is a special bit that shadows the setting programmed into ICTL
External Enable and External Types Register. This bit indicates whether Critical interrupt sources
have or have not been directed to the normal INT e300 core pin.
If Critical interrupts are directed to INT (CEbSh = 1), to detect higher priority interrupt sources, INT
ISR must always parse the CSe prior to MSe or PSe. All other processing remains the same.
This shadow bit is provided here so a single read to this register can obtain all necessary information
to make the interrupt source determination.
Note:
1. For Main sources 1, 2, and 3 that represent IRQ[1:3] respectively, if the IRQ pin is set as edge sensitive, it is REQUIRED that the MSe
flag bit be cleared (i.e., written to 1) or the appropriate ECLR bit in ICTL External Enable and External Types Register be set to clear
this interrupt indication. Only one method should be used, not both (this limit is only true for multiple edge-sensitive IRQ inputs).
2. For IRQ[0] set as edge sensitive, it is REQUIRED that either the CSe flag bit be cleared (i.e., written to 1) or the ECLR[0] bit in ICTL
External Enable and External Types Register be set to clear this interrupt indication. You can do both if desired, and you
can do it regardless of the IRQ[0] interrupt type.
3. This indicates a peripheral source programmed for HI bank priority is the source. It is necessary to parse the PSe value to determine
the peripheral source module.
4. For recovery from deep-sleep mode, it is necessary to acknowledge this WakeUp interrupt by writing 1 to the msb of this field (CSe).
Only then does the CCS module release it's power-down internal signal and let MPC5200B operate normally.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-17
System Integration Unit (SIU)
7.2.4.10
ICTL Critical Interrupt Status All Register
Address MBAR + 0x0528
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
CSa
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-12. ICTL Critical Interrupt Status All Register
Table 7-13. ICTL Critical Interrupt Status All Register Field Descriptions
Bits
Name
Description
0:3
—
—
CSa[x]
4
CSa0
indicates IRQ[0] interrupt
5
CSa1
Slice Timer 0 interrupt
6
CSa2
HI_int interrupt
7
CSa3
WakeUp from deep-sleep mode (CCS) interrupt
8:31
—
Reserved
Critical Interrupt Status All—Indicates all pending interrupts, including the currently active interrupt
(if any). CSa is binary, showing each active interrupt input in its corresponding bit position. See
Note 1.
Number in parenthesis indicates equivalent encoded value in CSe, ICTL PerStat, MainStat, CritStat
Encoded Register.
Reserved
Note:
1. No direct mask register is defined for critical interrupts. However, IRQ[0] can be masked by the MEE bit in Reg4, in which case CSa
status does not occur. If only the EENA[0] bit in ICTL External Enable and External Types Register is cleared, then CSa
status occurs, but controller does not assert a e300 core interrupt.
MPC5200B User’s Manual, Rev. 3
7-18
Freescale Semiconductor
System Integration Unit (SIU)
7.2.4.11
ICTL Main Interrupt Status All Register
Address MBAR + 0x052C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
MSa
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
MSa
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-13. ICTL Main Interrupt Status All Register
Table 7-14. ICTL Main Interrupt Status All Register Field Descriptions
Bits
Name
Description
0:14
—
—
MSa[x]
15
MSa0
Slice_Timer 1 (SMI interrupt only)
16
MSa1
IRQ[1] input pin
17
MSa2
IRQ[2] input pin
18
MSa3
IRQ[3] input pin
19
MSa4
LO_int (some Peripheral source)
20
MSa5
RTC_periodic interrupt
21
MSa6
RTC_stopwatch interrupt
22
MSa7
GPIO std interrupt
23
MSa8
GPIO WakeUp interrupt
24
MSa9
TMR0 interrupt
25
MSa10
TMR1 interrupt
26
MSa11
TMR2 interrupt
27
MSa12
TMR3 interrupt
28
MSa13
TMR4 interrupt
29
MSa14
TMR5 interrupt
30
MSa15
TMR6 interrupt
31
MSa16
TMR7 interrupt
Reserved
Main Interrupt Status All. Indicates all pending interrupts. Is binary, showing each active interrupt in its
corresponding bit position. See Note 1.
Number in parenthesis indicates equivalent encoded value in MSe, Reg9.
Note:
1. All main interrupt sources are directly maskable in Main_Mask, ICTL Critical Priority and Main Interrupt Mask Register. If masked in
Main_Mask, status information still shows in MSa. However, if interrupt is not enabled at the source module (i.e., in source module
registers) the Interrupt Controller cannot observe or record status information for that interrupt.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-19
System Integration Unit (SIU)
7.2.4.12
ICTL Peripheral Interrupt Status All Register
Address MBAR + 0x0530
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
PSa
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
PSa
PSa21
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-14. ICTL Peripheral Interrupt Status All Register
Table 7-15. ICTL Peripheral Interrupt Status All Register Field Descriptions
Bits
Name
Description
0:7
—
—
PSa[x]
Peripheral Interrupt Status All. Indicates all pending interrupts. Is binary, showing each active
interrupt in its corresponding bit position. See Note 1.
Number in parenthesis indicates equivalent encoded value in PSe, ICTL PerStat, MainStat, CritStat
Encoded Register.
8
PSa23
BestComm LocalPlus
9
PSa22
BDLC
10
PSa0
BestComm interrupt source
11
PSa1
PSC1
12
PSa2
PSC2
13
PSa3
PSC3
14
PSa4
PSC6
15
PSa5
Ethernet
16
PSa6
USB
17
PSa7
ATA
18
PSa8
PCI Control module
19
PSa9
PCI SC Initiator Rx
20
PSa10
PCI SC Initiator Tx
21
PSa11
PSC4
22
PSa12
PSC5
23
PSa13
SPI modf
24
PSa14
SPI spif
25
PSa15
I2C1
Reserved
MPC5200B User’s Manual, Rev. 3
7-20
Freescale Semiconductor
System Integration Unit (SIU)
Table 7-15. ICTL Peripheral Interrupt Status All Register Field Descriptions (continued)
Bits
Name
Description
26
PSa16
I2C2
27
PSa17
CAN1
28
PSa18
CAN2
29:30
—
31
PSa21
Reserved
XLB Arbiter
Note:
1. These interrupts are directly maskable by ICTL Peripheral Interrupt Mask Register. However, PSa status occurs regardless of
Per_Mask setting, as long as the source module interrupt is enabled in the source module registers.
7.2.4.13
ICTL Peripheral Interrupt Status All Register
Address MBAR + 0x0538
0
1
2
3
4
5
6
7
8
BE1
BE0
9
10
11
12
13
14
15
R
Reserved
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-15. ICTL Bus Error Status Register
Table 7-16. ICTL Bus Error Status Register Field Descriptions
Bits
Name
Description
0:5
—
6
BE1
Bus Error 1—Indicates write attempt to read-only register, clear with a write to 1.
7
BE2
Bus Error 0—Indicates access to unimplemented register, clear with a write to 1.
8:31
—
Reserved
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-21
System Integration Unit (SIU)
7.2.4.14
ICTL Main Interrupt Emulation All Register
Address MBAR + 0x0540
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
MEa
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
MEa
W
Reset
8
Reserved
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 7-16. ICTL Main Interrupt Emulation All Register
Table 7-17. ICTL Main Interrupt Emulation All Register Field Descriptions
Bits
Name
0:14
—
—
MEa[x]
Description
Reserved
This register provides a way for software to emulate the assertion of a particular Main/SIU interrupt.
The actual interrupt is the OR or the normal interrupt source and each of these test register bits. The
order is exactly the same as the MSa in
ICTL Main Interrupt Status All Register.
The MEa[x] bits ARE masked by the Main_Mask setting, so they operate as
much as possible as the real interrupt source. Even the IRQ sources, which may be programmed as
edge sensitive, will react just like the pin when emulated here with test bit assertion/negation. One
exception is LO-int, which if asserted here, will NOT create a corresponding Peripheral Status
indication.
If relying on MEa [x] assertion/negation to emulate and test an ISR routine it is
important to disable all source modules so that real source interrupts will not disturb
the test generated interrupt.
15
MEa0
Slice_Timer 1 (SMI interrupt only)
16
MEa1
IRQ[1] input pin
17
MEa2
IRQ[2] input pin
18
MEa3
IRQ[3] input pin
19
MEa4
LO_int (some Peripheral source)
20
MEa5
RTC_periodic interrupt
21
MEa6
RTC_stopwatch interrupt
22
MEa7
GPIO std interrupt
23
MEa8
GPIO WakeUp interrupt
24
MEa9
TMR0 interrupt
25
MEa10
TMR1 interrupt
26
MEa11
TMR2 interrupt
27
MEa12
TMR3 interrupt
28
MEa13
TMR4 interrupt
29
MEa14
TMR5 interrupt
30
MEa15
TMR6 interrupt
31
MEa16
TMR7 interrupt
MPC5200B User’s Manual, Rev. 3
7-22
Freescale Semiconductor
System Integration Unit (SIU)
7.2.4.15
ICTL Peripheral Interrupt Emulation All Register
Address MBAR + 0x0544
0
1
2
R
4
5
7
8
9
10
11
12
13
14
15
PEa
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
PEa
W
Reset
6
Reserved
W
Reset
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
PEa21
0
Figure 7-17. ICTL Peripheral Interrupt Emulation All Register
Table 7-18. ICTL Peripheral Interrupt Emulation All Register Field Descriptions
Bits
Name
Description
0:7
—
—
PEa[x]
This register provides a way for software to emulate the assertion of a particular Peripheral interrupt.
The actual interrupt is the OR or the normal interrupt source and each of these test register bits.
The order is exactly the same as the PSa in ICTL Peripheral Interrupt Status All Register. The
PEa[x] bits ARE masked by the Per_Mask setting, so they operate as much as possible as the real
interrupt source. Test assertion of a peripheral source will cause HI-int or LO-int indications which
will be reflected in the Main or Critical status registers. If relying on PEa[x] assertion/negation to
emulate and test an ISR routine it is important to disable all source modules so that real source
interrupts will not disturb the test generated interrupt.
8
PEa23
BestComm LocalPlus
9
PEa22
BDLC
10
PEa0
BestComm interrupt source
11
PEa1
PSC1
12
PEa2
PSC2
13
PEa3
PSC3
14
PEa4
PSC6
15
PEa5
Ethernet
16
PEa6
USB
17
PEa7
ATA
18
PEa8
PCI Control module
19
PEa9
PCI SC Initiator Rx
20
PEa10
PCI SC Initiator Tx
21
PEa11
PSC4
22
PEa12
PSC5
23
PEa13
SPI modf
24
PEa14
SPI spif
25
PEa15
I2C1
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-23
System Integration Unit (SIU)
Table 7-18. ICTL Peripheral Interrupt Emulation All Register Field Descriptions (continued)
Bits
Name
Description
26
PEa16
I2C2
27
PEa17
CAN1
28
PEa18
CAN2
29:30
—
31
PEa21
7.2.4.16
Reserved
XLB Arbiter
ICTL IRQ Interrupt Emulation All Register
Address MBAR + 0x0548
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
IRQEa
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-18. ICTL IRQ Interrupt Emulation All Register
Table 7-19. ICTL IRQ Interrupt Emulation All Register Field Descriptions
Bits
Name
Description
0:3
—
—
IRQEa[x]
4
IRQEa0
IRQ[0] input pin emulation
5
IRQEa1
IRQ[1] input pin emulation
6
IRQEa2
IRQ[2] input pin emulation
7
IRQEa3
IRQ[3] input pin emulation
8:31
—
Reserved
This register provides a way for software to emulate the assertion of a particular external interrupt
pin. The actual interrupt is the OR of the normal interrupt source and each of these IRQEa[x] bits.
This register represents the four IRQ inputs. This register is redundant with IICTL Main Interrupt
Emulation All Register for IRQ1-3 but is the only source to emulate IRQ0. It provides a single register
with which to test and develop an ISR for the external interrupt sources. Each bit operates as if it
were the pin itself, i.e. edge sensitive operation would require multiple test writes to create the
emulation of a pulsing input. See Note 1
Reserved
Note:
1. The emulation is only possible if the IRQ pins are externally pulled down. Otherwise the OR between the external pin values and the
IRQEa[x] bits is whole the time one.
MPC5200B User’s Manual, Rev. 3
7-24
Freescale Semiconductor
System Integration Unit (SIU)
7.3
General Purpose I/O (GPIO)
There are a total of 56 possible GPIO pins on the MPC5200B. Virtually all of these pins are shared with
alternate hardware functions. Therefore, GPIO availability is entirely dependant on the peripheral set a
particular application requires.
There are 5 basic types of GPIO pins, controlled by separate register groupings, and in some cases,
different register modules:
• 24 “Simple” GPIO, controlled in the standard GPIO register module.
• 8 “Output Only” GPIO, controlled in the standard GPIO register module.
• 8 “Interrupt” GPIO, controlled in the standard GPIO register module.
• 8 “Wakeup” GPIO, controlled in the WakeUp GPIO register module.
• 8 “Timer” GPIO, controlled in the General Purpose Timer register module.
There is a hierarchy of GPIO functionality. Higher function GPIO can be programmed to operate at any
lower functional level. The hierarchy, from lowest to highest, is as follows:
• Output Only—As the name suggests, these GPIO cannot be programmed as Inputs. As outputs,
they can be programmed to emulate an Open-Drain output.
• Simple—Same as Output Only, but with additional capability to be programmed as inputs, with a
corresponding Input Value register that can be read by software.
• Interrupt—Same as Simple, but with additional capability of generating an Interrupt to the CPU
during normal powered-up mode. The Interrupt Type can be programmed as edge
(any/rising/falling/2nd edge) sensitive. These GPIO are sometimes referred to as “Simple
Interrupt”.
• Wakeup—Same as Interrupt, but with additional capability of generating an Interrupt during Deep
Sleep mode. Includes Interrupt Type registers and has an extra enable bit to distinguish between
Simple Interrupt or WakeUp Interrupt operation.
• Timer GPIO—Operates with Simple GPIO capability, but can generate CPU Interrupts if
configured as Input Capture timer mode. These Timer GPIO have special capabilities and
limitations, which are described in Section 7.4, “General Purpose Timers (GPT)”. Timer GPIO
does not fit cleanly into the GPIO functional hierarchy concept, and should therefore be considered
as a unique GPIO function.
GPIO functionality is available on an I/O pin only if the pin is enabled for GPIO usage in the
Section 7.3.2.1.1, “GPS Port Configuration Register”. The GPIOPCR register controls the top level
pin-muxing, which sets an I/O pin’s usage between some hardware function(s) and GPIO. If the pin is
available for GPIO, the associated GPIO registers must be enabled and configured by software to complete
the GPIO operation for that specific pin. If a Timer GPIO is consumed by an alternate hardware function,
it is still available to work as an internal General Purpose Timer (GPT).
Simple GPIO are controlled by a group of registers in the Standard GPIO module. They are organized in
relation to the multi-function hardware port groupings. For example, you will see a GPIO field named
PSC1 (4 bits) that corresponds to the 4 Simple GPIO available on the PSC1 port group. There is also a
WakeUp GPIO on the PSC1 port. However, this pin, as GPIO, would be controlled by a separate register
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-25
System Integration Unit (SIU)
in the Wakeup GPIO module. Even though the pins are physically scattered throughout the multi-function
port groups, register control groupings exist for the:
• 8 Wakeup GPIO pins
• 8 Interrupt GPIO pins, and
• 8 Output-Only GPIO pins.
Only Simple GPIO register groupings correspond to the physical pin groupings.
Table 7-20 lists all 56 GPIO pins.
Table 7-20. GPIO Pin List (Sheet 1 of 2)
GPIO PIN
Alternate Functionality
Interrupt
WakeUp
TIMER_0
Timer_GPIO/ATA/CAN2
Only as Timer
No
TIMER_1
Timer_GPIO/ATA/CAN2
Only as Timer
No
TIMER_2
Timer_GPIO/SPI
Only as Timer
No
TIMER_3
Timer_GPIO/SPI
Only as Timer
No
TIMER_4
Timer_GPIO/SPI
Only as Timer
No
TIMER_5
Timer_GPIO/SPI
Only as Timer
No
TIMER_6
Timer_GPIO
Only as Timer
Yes (Timer IC)
TIMER_7
Timer_GPIO
Only as Timer
Yes (Timer IC)
PSC1_0
UART1/AC971/CODEC1
No
No
PSC1_1
UART1/AC971/CODEC1
No
No
PSC1_2
UART1/AC971
No
No
PSC1_3
UART1/AC971/CODEC1
No
No
PSC1_4
UART1/AC971/CODEC1
Yes
Yes
PSC2_0
UART2/AC972/CODEC2/CAN1
No
No
PSC2_1
UART2/AC972/CODEC2/CAN1
No
No
PSC2_2
UART2/AC972/CAN2
No
No
PSC2_3
UART2/AC972/CODEC2/CAN2
No
No
GPIO_WKUP_1(PSC2_4)
UART2/AC972/CODEC2
Yes
Yes
GPIO_PSC3_0
USB2/CODEC3/UART3
No
No
GPIO_PSC3_1
USB2/CODEC3/UART3
No
No
GPIO_PSC3_2
USB2/CODEC3/UART3
No
No
GPIO_PSC3_3
USB2/CODEC3/UART3
No
No
GPIO_SINT_0(PSC3_4)
USB2/UART3
Yes
No
GPIO_SINT_1(PSC3_5)
USB2
Yes
No
GPIO_PSC3_6
USB2/SPI
No
No
GPIO_PSC3_7
USB2/SPI
No
No
MPC5200B User’s Manual, Rev. 3
7-26
Freescale Semiconductor
System Integration Unit (SIU)
Table 7-20. GPIO Pin List (Sheet 2 of 2)
GPIO PIN
Alternate Functionality
Interrupt
WakeUp
GPIO_SINT_2(PSC3_8)
USB2/SPI
Yes
No
GPIO_WKUP_2(PSC3_9)
USB2/SPI
Yes
Yes
GPIO_USB_0
USB1 (OE)
No
No
GPIO_USB_1
USB1 (PORTPWR)/UART5 (TXD)
No
No
GPIO_USB_2
USB1 (SPEED)/UART5 (RTS)
No
No
GPIO_USB_3
USB1 (SUSPEND)/UART5 (CTS)
No
No
GPIO_SINT_3(USB)
USB1 (OvrCrnt)
Yes
No
GPIO_ETHO_0(out only)
Ethernet
No
No
GPIO_ETHO_1(out only)
Ethernet/UART5
No
No
GPIO_ETHO_2(out only)
Ethernet/USB2/UART5
No
No
GPIO_ETHO_3(out only)
Ethernet/USB2/UART4
No
No
GPIO_ETHO_4(out only)
Ethernet/USB2/J1850
No
No
GPIO_ETHO_5(out only)
Ethernet/USB2/UART4
No
No
GPIO_ETHO_6(out only)
Ethernet/USB2
No
No
GPIO_ETHO_7(out only)
Ethernet/USB2
No
No
GPIO_ETHI_0
Ethernet/UART5
No
No
GPIO_ETHI_1
Ethernet/UART5
No
No
GPIO_ETHI_2
Ethernet
No
No
GPIO_ETHI_3
Ethernet
No
No
GPIO_SINT_4(ETH)
Ethernet/USB2/J1850
Yes
No
GPIO_SINT_5(ETH)
Ethernet/USB2/UART4
Yes
No
GPIO_SINT_6(ETH)
Ethernet/USB2/UART4
Yes
No
GPIO_SINT_7(ETH)
Ethernet/USB2/UART4
Yes
No
GPIO_WKUP_3(ETH)
Ethernet
Yes
Yes
GPIO_IRDA_0
IRDA/UART6/Codec6
No
No
GPIO_IRDA_1
IRDA(and/or USB)/UART6/Codec6
No
No
GPIO_WKUP_4(IRDA)
IRDA/UART6/Codec6
Yes
Yes
GPIO_WKUP_5(IRDA)
IRDA/UART6/Codec6
Yes
Yes
GPIO_WKUP_6
Dedicated GPIO Pin/SDRAM CS1
Yes
Yes
GPIO_WKUP_7
Dedicated GPIO Pin/LocalPlus Most/Graphics mode TSIZ1
Yes
Yes
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-27
System Integration Unit (SIU)
7.3.1
GPIO Pin Multiplexing
Figure 7-19 shows the GPIO/Generic MUX cell.
Alternate Func 1
IN
Pin MUX Logic
OUT
BC
Enabled
Alternate Func 2
IN
OUT
BC
Enabled
I/O Cell
TIMER
MultiFunction
I/O
OUT
IN
BC
Enabled
GPIO/d/W
ODconfig
IN
Awake
OUT
BC
Enabled
Priority
Output Enable
Logic
Interrupt for WakeUp supported GPIO pins only
Note:
1. Open-Drain Emulation is supported on the GPIO function.
2. Pin MUX Logic is controlled by the Port Configuration Register and supersedes any individual GPIO register
programming.
Figure 7-19. GPIO/Generic MUX Cell
7.3.1.1
PSC1 (UART1/AC97/CODEC1)
The PSC1 port has 5 pins with hardware support for:
• CODEC
• UART (4 pins consumed)
• UARTe (expanded with carrier detect input–5 pins consumed)
• AC97
Unused pins can serve as simple GPIOs, with one available as a WakeUp input. For use as AC97, this
WakeUp GPIO becomes available. A special mode is available in which the CD input for UART use can
be unused. This makes a WakeUp GPIO available on this port. CODEC usage makes one simple GPIO
available. Use of this port for AC97 consumes all 5 pins and leaves no GPIO available.
Refer to the port-mapping illustrations Figure 2-4.
MPC5200B User’s Manual, Rev. 3
7-28
Freescale Semiconductor
System Integration Unit (SIU)
7.3.1.2
PSC2 (CAN1/2/UART2/AC97/CODEC2)
The PSC2 port has 5 pins with hardware support for:
• CAN
• CODEC
• UART (4 pins consumed)
• UARTe (expanded with carrier detect input–5 pins consumed)
• AC97
Unused pins can serve as simple GPIOs, with one available as a WakeUp input. For use as AC97, this
WakeUp GPIO becomes available. A special mode is available in which the CD input for UART use can
be unused. This makes a WakeUp GPIO available on this port. CODEC usage makes one simple GPIO
available. Use of this port for AC97 consumes all 5 pins and leaves no GPIO available.
Refer to the port-mapping illustrations Figure 2-5.
7.3.1.3
PSC3 (USB2/CODEC3/SPI/UART3)
The PSC3 port has 10pins with hardware support for:
• CODEC
• Expanded UART (5 pins consumed)
• SPI (4 pins consumed)
• USB secondary port (10 pins consumed)
SPI can simultaneously exist, with no pins leftover for GPIO. Similarly, CODEC or UART can exist with
SPI leaving no leftover pins. Unless, CD input on UART is designated unused, in which case a WakeUp
GPIO becomes available. Any unused pins are available for related RS232 GPIO functionality.
Refer to the port-mapping illustrations Figure 2-6.
7.3.1.4
USB1/RST_CONFIG
This is a 10-bit port dedicated to primary USB. GPIO becomes available only if the USB function is not
used. When this occurs, the following GPIO becomes available:
• 4 Simple GPIO
• 1 Interrupt GPIO
Other pins on this port serve as Reset Configuration inputs.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-29
System Integration Unit (SIU)
7.3.1.5
Ethernet/USB2/UART4/5/J1850/RST_CONFIG
This port consists of 8 output data pins and 10 control pins (in ethernet mode). For GPIO grouping these
are the EthO and EthI ports, respectively. The output-only pins (EthO) are also used for input reset
configuration data, therefore these pins must act as output only in all other cases. No peripheral is allowed
to overdrive the reset configuration pull-up/pull-down settings. The 8 GPIOs on the EthO port are
therefore output-only, and only available if the pin is otherwise unused (beyond reset config).
NOTE
The ethernet pin, MDIO, is actually an I/O. However, there should be no
danger of an external chip driving this pin during power-up.
This port is configured such that 7-wire Ethernet and a secondary USB port can exist simultaneously. This
configuration makes available 1 GPIO WakeUp pin.
Full Ethernet consumes all 18 pins, unless the optional MDIO and MDC pins are specified as unused. In
this case, 2 Output Only GPIO are available.
Meanwhile, there are other cases because many pins can be used for UART, J1850. Please Refer to the
port-mapping illustrations for details.
USB stand-alone usage leaves available:
• 2 Output Only GPIO
• 4 Simple GPIO
• 1 WakeUp GPIO
7-wire Ethernet stand-alone leaves available:
• 6 Output Only GPIO
• 4 Interrupt GPIO
• 1 WakeUp GPIO
1850 stand-alone leaves available:
• 7 Output Only GPIO
• 4 Simple GPIO
• 3 Interrupt GPIO
• 1 WakeUp GPIO
Total GPIO available on this port is:
• 8 Output Only GPIO
• 4 Simple GPIO
• 4 Interrupt GPIO
• 1 WakeUp GPIO
MPC5200B User’s Manual, Rev. 3
7-30
Freescale Semiconductor
System Integration Unit (SIU)
7.3.1.6
PSC6
The PSC6 port has 4 pins, which includes:
• 2 Simple GPIO
• 2 WakeUp GPIO
Hardware functions available are:
• IRDA
— 3 pins with clock input
— 2 pins with internal clock
• UART (4 pins)
• Codec (4 pins)
The IRDA clock pin can be used as a Input USB clock and is separately programmable for this use.
• If unused, the IRDA Receive pins are available as WakeUp GPIO.
• If unused, the IRDA Transmit pin and the Clock pin are available as Simple GPIO.
7.3.1.7
I2C
There are 2 I2C ports consisting of 2 pins each. Although no GPIO is available on these pins, they can be
alternately programmed as CAN1 pins (on I2C1) and/or as the ATA Chip Selects (on I2C2). If the
alternate function is specified, the associated I2C port is consumed and unavailable.
7.3.1.8
GPIO Timer Pins
The GPIO Timer port consists of 8 pins. Each pin is driven by a internal timer module, which can do either
of the following:
• drive the pin in Output Compare mode and Pulse Width Modulation mode, or
• monitor the pin as input in Input Capture mode.
Additionally, the timer module can operate the pin as a Simple GPIO. This GPIO control is handled in the
Timer Module register, see Section 7.4.4, “GPT Registers”. If the pin is controlled as a GPIO, then the
Timer Module timer can be used as an internal CPU timer.
The Timer pins can be reconfigured for alternate functionality in the Port Configuration Register, as
follows:
• Timer pins 0 and 1 can operate as CAN2 Tx/Rx or ATA Chip Selects.
• Timer pins 2–5 can operate as the SPI port.
• Timer pins 6 and 7 are dedicated as Timer GPIO and have no alternate function.
Although the Timer as GPIO only operates to the Simple GPIO level, Interrupt capability can be achieved
by configuring the Timer for Input Capture mode.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-31
System Integration Unit (SIU)
7.3.1.9
Dedicated GPIO Port
There is a dedicated GPIO port group that consists of 2 pins. Both pins operate at the WakeUp GPIO level.
They are designated:
• GPIO_WKUP_6
• GPIO_WKUP_7
However, GPIO_WKUP_6 is not dedicated and can be programmed to operate as a second SDRAM
memory chip select. As such, this pin is connected to the Memory Vdd supply. For Dual Data Rate
memory, the GPIO_WKUP_6 pin is driven at the reduced 2.5V level.
If not used as a memory chip select, the GPIO_WKUP_6 pin serves as a memory voltage compatible
GPIO.
7.3.2
GPIO Programmer’s Model
The GPIO programmer’s model contains 3 separate register sets (or modules), each at different offsets
from MBAR. These register sets are:
1. GPIO Standard Registers. Output Only, Simple, and Interrupt GPIO are controlled by registers
within this module. There are 3 register groupings for individual control of each of the named
GPIO types.
2. WakeUp GPIO Registers. WakeUp GPIO are controlled by this register set
3. GPT Registers. Timer functions and Timer GPIO are controlled by this module.
All GPIO functionality is dependent on the Port Configuration Register (PCR) setting. The PCR is the first
register in the GPIO Standard Module. This register controls the Pin MUX Logic. Therefore, the PCR also
controls the physical routing of MPC5200B I/O pins to and from internal logic. The PCR is expected to
be configured early in the boot process and set to a static value that supports the given peripheral set of a
specific application.
NOTE
The PCR is not accessible during Deep Sleep mode.
MPC5200B User’s Manual, Rev. 3
7-32
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.1
GPIO Standard Registers
The GPIO Standard Register set has separate registers for each GPIO type.
• Simple
• Output Only
• Interrupt
These registers are at an offset of MBAR + 0x0B00.
The GPIO Standard Register set uses 16 32-bit registers. These registers are located at an offset from
MBAR of 0x0B00. Register addresses are relative to this offset. Therefore, the actual register address is:
MBAR + 0x0B00 + register address.
Hyperlinks to the GPIO pin type registers are provided below:
• GPS Port Configuration Register (0x0B00)
• GPS Simple GPIO Enables Register (0x0B04)
• GPS Simple GPIO Open Drain Type Register (0x0B08)
• GPS Simple GPIO Data Direction Register (0x0B0C)
• GPS Simple GPIO Data Output Values Register (0x0B10)
• GPS Simple GPIO Data Input Values Register (0x0B14)
• GPS GPIO Output-Only Enables Register (0x0B18)
• GPS GPIO Output-Only Data Value Out Register (0x0B1C)
• GPS GPIO Simple Interrupt Enable Register (0x0B20)
• GPS GPIO Simple Interrupt Open-Drain Emulation Register (0x0B24)
• GPS GPIO Simple Interrupt Data Direction Register (0x0B28)
• GPS GPIO Simple Interrupt Data Value Out Register (0x0B2C)
• GPS GPIO Simple Interrupt Enable Register (0x0B30)
• GPS GPIO Simple Interrupt Types Register (0x0B34)
• GPS GPIO Simple Interrupt Master Enable Register (0x0B38)
• GPS GPIO Simple Interrupt Status Register (0x0B3C)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-33
System Integration Unit (SIU)
7.3.2.1.1
GPS Port Configuration Register
0
1
CS1
LPTZ
Address MBAR + 0x0B00
2
0
0
0
16
17
18
3
4
5
6
7
CS7
CS6
0
0
0
0
0
0
0
0
0
0
0
0
0
19
20
21
22
23
24
25
26
27
28
29
30
31
W
Reset
R PCI_
W DIS
Reset
0
ALTs
USB
_SE
0
USB
0
ATA
PSC3
0
0
0
9
IR_USB_CLK
R
8
0
0
11
12
13
IRDA
Rsvd
0
10
0
15
Ether
PSC2
0
14
Rsvd
0
0
PSC1
0
0
0
Figure 7-20. GPS Port Configuration Register
Table 7-21. GPS Port Configuration Register Field Descriptions (Sheet 1 of 3)
Bit
Name
Description
0
CS1
Memory Chip Select bit
0 gpio_wkup_6
1 mem_cs1 (second SDRAMC chip select) on gpio_wkup_6 pin
1
LPTZ
LocalPlus non-muxed TSIZ bit
0 gpio_wkup_7 and test_sel_1
1 TSIZ 1 on gpio_wkup_7 and TSIZ 2 on test_sel_1
2:3
ALTs
Alternatives, see Note 2
00 No Alternatives: CAN1/2 on PSC2 according to PSC2 setting.
SPI on PSC3 according to PSC3 setting.
01 ALT CAN position: CAN1 on I2C1, CAN2 on Tmr0/1 pins, see Note 1
10 ALT SPI position: SPI on Tmr2/3/4/5 pins, see Note 2
11 Both on ALT
4
CS7
0 Interrupt GPIO on PSC3_5 (see note 6)
1 CS7 on PSC3_5
5
CS6
0 Interrupt GPIO on PSC3_4 (see note 6)
1 CS6 on PSC3_4
6:7
ATA
Advanced Technology Attachment
00 No ATA chip selects, csb_4/5 used as normal chip select
01 ATA cs0/1 on csb_4/5
10 ATA cs0/1 on i2c2 clk/io
11 ATA cs0/1 on Tmr0/1, see Note 1
8
IR_USB_CLK
Infrared USB Clock
0 IrDA/USB 48MHz clock generated internally, pin is GPIO
1 IrDA/USB clock is sourced externally, input only
MPC5200B User’s Manual, Rev. 3
7-34
Freescale Semiconductor
System Integration Unit (SIU)
Table 7-21. GPS Port Configuration Register Field Descriptions (Sheet 2 of 3)
Bit
Name
Description
9:11
IRDA
Infrared Data Association
000 All IrDA pins are GPIOs
001 Reserved
010 Reserved
011 Reserved
100 Reserved
101 UART (without CD) / IrDA
110 Reserved
111 CODEC (without MCLK) / IrDA
12: 15
Ether
Ethernet
0000 All 18 Ethernet pins are GPIOs
0001 USB2 on Ethernet, see Note 3
0010 Ethernet 10Mbit (7-wire) mode
0011 Ethernet 7-wire and USB2, see Note 3
0100 Ethernet 100Mbit without MD
0101 Ethernet 100Mbit with MD
011X Reserved
1000 Ether 7-wire, UARTe, J1850
1001 Ether 7-wire, J1850
1010 Two UARTes, J1850
1011 One UARTe, J1850
1100 J1850
1101 Reserved
111X Reserved
16
PCI_DIS
0 PCI controller enabled
1 PCI controller disabled.
When Large Flash or Most Graphics modes are enabled on the LocalPlus bus interface, the PCI
interface can not be used (PCI control signals are used to support these modes).
When these modes are enabled (see LocalPlus control registers), the PCI controller must be
disabled to prevent interference.
If these modes are enabled at boot, this bit will come out of reset set to 1.
If these modes are not enabled at boot, this bit will come out of reset set to 0.
17
USB_SE
USB Single Ended mode.
The USB interface is able to support both Differential and Single Ended modes. This bit allows the
USB I/O interface to be programmed to Single Ended mode. Differential mode supplies TXP/TXN
and RXP/TXN.
Single ended mode supplies TXP/TX_SE0 and RXP/RX_SE0.
This bit controls all USB ports (i.e. they are not individually programmable). Default is Differential
mode.
0 Differential mode (Default after reset)
1 Single ended mode
18:19
USB
00
01
10
11
4 GPIOs and 1 Interrupt GPIO
USB
Two UARTs
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-35
System Integration Unit (SIU)
Table 7-21. GPS Port Configuration Register Field Descriptions (Sheet 3 of 3)
Bit
Name
Description
20:23
PSC3
Programmable Serial Controller 3
0000 All PSC3 pins are GPIOs
0001 USB2 on PSC3, no GPIOs available, see Note 3
001X Reserved
0100 UART functionality without CD
0101 UARTe functionality with CD
0110 CODEC3 functionality
0111 CODEC3 functionality (with MCLK)
100X SPI
101X Reserved
1100 SPI with UART3
1101 SPI with UART3e
111X SPI with CODEC3
24
—
25:27
PSC2
28
—
29:31
PSC1
Reserved
Programmable Serial Controller 2
000 All PSC2 pins are GPIOs
001 CAN1&2 on PSC2 pins, see Note 1
01X AC97 functionality
100 UART functionality without CD
101 UARTe functionality with CD
110 CODEC2 functionality (without MCLK)
111 CODEC2 functionality (with MCLK)
Reserved
Programmable Serial Controller 1
00X All PSC1 pins are GPIOs
01X AC97 functionality
100 UART functionality without CD
101 UARTe functionality with CD
110 CODEC1 functionality (without MCLK)
111 CODEC1 functionality (with MCLK)
Note:
1.
2.
3.
4.
5.
ALT CAN cannot exist with ATA on Tmr0/1, not with CAN on PSC2.
ALT SPI cannot exist with any SPI on PCS3.
USB cannot exist on both Either and PSC3.
See Section 7.3.1, “GPIO Pin Multiplexing” or Table 2-1 or Table 2-2 to determine GPIO availability for the various PCR field settings.
If Large Flash or Most Graphics mode is enabled at boot, using a reset configuration bit, PCI disable will come out of reset set to 1. If
these modes are not enabled at boot, this bit will come out of reset set to 0.
6. PSC3_4 and PSC3_5 default to zero (interrupt gpio) after reset. However, if the PSC3 is programmed to USB2 mode RXP and RXN
will be on these pins. If PSC is programmed to UARTe mode, CD will be on the PSC3_4 pin.
MPC5200B User’s Manual, Rev. 3
7-36
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.1.2
GPS Simple GPIO Enables Register
Address MBAR + 0x0B04
0
R
W
Reset
R
W
Reset
1
2
Reserved
3
4
5
IRDA
6
7
8
ETHR
9
10
11
12
13
Reserved
14
15
USB
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Reserved
0
PSC3
0
0
0
0
0
PSC2
0
0
0
0
0
PSC1
0
0
0
0
0
Figure 7-21. GPS Simple GPIO Enables Register
Table 7-22. GPS Simple GPIO Enables Register Field Descriptions
Bit
Name
Description
0:1
—
2:3
IRDA
Individual enable bits for the 2 Simple GPIO on IRDA port.
bit 2 controls IR_USB_CLK pin
bit 3 controls IRDA_TX pin
0 Disabled for GPIO (default)
1 Enabled for GPIO
4:7
ETHR
Individual enable bits for the 4 Simple GPIO on ETHR port.
bit 4 controls ETH_11 pin
bit 5 controls ETH_10 pin
bit 6 controls ETH_9 pin
bit 7 controls ETH_8 pin
0 Disabled for GPIO (default)
1 Enabled for GPIO
8:11
—
12:15
USB
16:17
—
18:23
PSC3
Reserved
Reserved
Individual enable bits for the 4 Simple GPIO on USB port.
bit 12 controls USB1_8 pin
bit 13 controls USB1_7 pin
bit 14 controls USB1_6 pin
bit 15 controls USB1_0 pin
0 Disabled for GPIO (default)
1 Enabled for GPIO
Reserved
Individual enable bits for the 6 Simple GPIO on PSC3 port.
bit 18 controls PSC3_7 pin
bit 19 controls PSC3_6 pin
bit 20 controls PSC3_3 pin
bit 21 controls PSC3_2 pin
bit 22 controls PSC3_1 pin
bit 23 controls PSC3_0 pin
0 Disabled for GPIO (default)
1 Enabled for GPIO
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-37
System Integration Unit (SIU)
Table 7-22. GPS Simple GPIO Enables Register Field Descriptions (continued)
Bit
Name
24:27
PSC2
Individual enable bits for the 4 Simple GPIO on PSC2 port.
bit 24 controls GPIO_PSC2_3 (PSC2_3 pin)
bit 25 controls GPIO_PSC2_2 (PSC2_2 pin)
bit 26 controls GPIO_PSC2_1 (PSC2_1 pin)
bit 27 controls GPIO_PSC2_0 (PSC2_0 pin)
0 = Disabled for GPIO (default)
1 = Enabled for GPIO
28:31
PSC1
Individual enable bits for the 4 Simple GPIO on PSC1 port.
bit 28 controls GPIO_PSC1_3 (PSC1_3 pin)
bit 29 controls GPIO_PSC1_2 (PSC1_2 pin)
bit 30 controls GPIO_PSC1_1 (PSC1_1 pin)
bit 31 controls GPIO_PSC1_0 (PSC1_0 pin)
0 = Disabled for GPIO (default)
1 = Enabled for GPIO
7.3.2.1.3
Description
GPS Simple GPIO Open Drain Type Register
Address MBAR + 0x0B08
0
R
W
Reset
R
W
Reset
1
2
3
Reserved
4
5
IRDA
6
7
8
ETHR
9
10
11
12
13
Reserved
14
15
USB
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Reserved
0
0
PSC3
0
0
0
0
PSC2
0
0
0
0
0
PSC1
0
0
0
0
0
Figure 7-22. GPS Simple GPIO Open Drain Type Register
Table 7-23. GPS Simple GPIO Open Drain Type Register Field Descriptions
Bit
Name
Description
0:1
—
2:3
IRDA
Individual bits to cause open drain emulation for pins configured as GPIO output.
bit 2 controls IR_USB_CLK pin
bit 3 controls IRDA_TX pin
0 Normal CMOS output (default)
1 Open Drain emulation (a drive to high creates Hi-Z)
4:7
ETHR
Individual bits to cause open drain emulation for pins configured as GPIO output.
bit 4 controls ETH_11 pin
bit 5 controls ETH_10 pin
bit 6 controls ETH_9 pin
bit 7 controls ETH_8 pin
0 Normal CMOS output (default)
1 Open Drain emulation (a drive to high creates Hi-Z)
Reserved
MPC5200B User’s Manual, Rev. 3
7-38
Freescale Semiconductor
System Integration Unit (SIU)
Table 7-23. GPS Simple GPIO Open Drain Type Register Field Descriptions (continued)
Bit
Name
8:11
—
12:15
USB
16:17
—
18:23
PSC3
Description
Reserved
Individual bits to cause open drain emulation for pins configured as GPIO output.
bit 12 controls USB1_8 pin
bit 13 controls GUSB1_7 pin
bit 14 controls USB1_6 pin
bit 15 controls USB1_0 pin
0 Normal CMOS output (default)
1 Open Drain emulation (a drive to high creates Hi-Z)
Reserved
Individual bits to cause open drain emulation for pins configured as GPIO output.
bit 18 controls PSC3_7 pin
bit 19 controls PSC3_6 pin
bit 20 controls PSC3_3 pin
bit 21 controls PSC3_2 pin
bit 22 controls PSC3_1 pin
bit 23 controls PSC3_0 pin
0 Normal CMOS output (default)
1 Open Drain emulation (a drive to high creates Hi-Z)
24:27
PSC2
Individual bits to cause open drain emulation for pins configured as GPIO output.
bit 24 controls PSC2_3 pin
bit 25 controls PSC2_2 pin
bit 26 controls PSC2_1 pin
bit 27 controls PSC2_0 pin
0 Normal CMOS output (default)
1 Open Drain emulation (a drive to high creates Hi-Z)
28:31
PSC1
Individual bits to cause open drain emulation for pins configured as GPIO output.
bit 28 controls PSC1_3 pin
bit 29 controls PSC1_2 pin
bit 30 controls PSC1_1 pin
bit 31 controls PSC1_0 pin
0 Normal CMOS output (default)
1 Open Drain emulation (a drive to high creates Hi-Z)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-39
System Integration Unit (SIU)
7.3.2.1.4
GPS Simple GPIO Data Direction Register
Address MBAR + 0x0B0C
0
R
W
Reset
R
W
Reset
1
2
Reserved
3
4
5
IRDA
6
7
8
ETHR
9
10
11
12
13
Reserved
14
15
USB
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Reserved
0
PSC3
0
0
0
0
0
PSC2
0
0
0
0
0
PSC1
0
0
0
0
0
Figure 7-23. GPS Simple GPIO Data Direction Register
Table 7-24. GPS Simple GPIO Data Direction Register Field Descriptions
Bit
Name
Description
0:1
—
2:3
IRDA
Individual bits to control directionality of the pin as GPIO.
bit 2 controls R_USB_CLK pin
bit 3 controls IRDA_TX pin
0 Pin is Input (default)
1 Pin is Output
4:7
ETHR
Individual bits to control directionality of the pin as GPIO.
bit 4 controls ETH_11 pin
bit 5 controls ETH_10 pin
bit 6 controls ETH_9 pin
bit 7 controls ETH_8 pin
0 Pin is Input (default)
1 Pin is Output
8:11
—
12:15
USB
16:17
—
18:23
PSC3
Reserved
Reserved
Individual bits to control directionality of the pin as GPIO.
bit 12 controls USB1_8 pin
bit 13 controls USB1_7 pin
bit 14 controls USB1_6 pin
bit 15 controls USB1_0 pin
0 Pin is Input (default)
1 Pin is Output
Reserved
Individual bits to control directionality of the pin as GPIO.
bit 18 controls PSC3_7 pin
bit 19 controls PSC3_6 pin
bit 20 controls PSC3_3 pin
bit 21 controls PSC3_2 pin
bit 22 controls PSC3_1 pin
bit 23 controls PSC3_0 pin
0 Pin is Input (default)
1 Pin is Output
MPC5200B User’s Manual, Rev. 3
7-40
Freescale Semiconductor
System Integration Unit (SIU)
Table 7-24. GPS Simple GPIO Data Direction Register Field Descriptions (continued)
Bit
Name
24:27
PSC2
Individual bits to control directionality of the pin as GPIO.
bit 24 controls PSC2_3 pin
bit 25 controls PSC2_2 pin
bit 26 controls PSC2_1 pin
bit 27 controls PSC2_0 pin
0 = Pin is Input (default)
1 = Pin is Output
28:31
PSC1
Individual bits to control directionality of the pin as GPIO.
bit 28 controls PSC1_3 pin
bit 29 controls PSC1_2 pin
bit 30 controls PSC1_1 pin
bit 31 controls PSC1_0 pin
0 = Pin is Input (default)
1 = Pin is Output
7.3.2.1.5
Description
GPS Simple GPIO Data Output Values Register
Address MBAR + 0x0B10
0
R
W
Reset
R
W
Reset
1
2
Reserved
3
4
5
IRDA
6
7
8
ETHR
9
10
11
12
13
Reserved
14
15
USB
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Reserved
0
0
PSC3
0
0
0
0
PSC2
0
0
0
0
0
PSC1
0
0
0
0
0
Figure 7-24. GPS Simple GPIO Data Output Values Register
Table 7-25. GPS Simple GPIO Data Output Values Register Field Descriptions
Bit
Name
Description
0:1
—
2:3
IRDA
Individual bits to control the state of pins configured as GPIO output.
bit 2 controls IR_USB_CLK pin
bit 3 controls GPIO_IRDA_0 (IRDA_TX pin
0 Drive 0 on the pin (default)
1 Drive 1 on the pin
4:7
ETHR
Individual bits to control the state of pins configured as GPIO output.
bit 4 controls ETH_11 pin
bit 5 controls ETH_10 pin
bit 6 controls ETH_9 pin
bit 7 controls ETH_8 pin
0 Drive 0 on the pin (default)
1 Drive 1 on the pin
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-41
System Integration Unit (SIU)
Table 7-25. GPS Simple GPIO Data Output Values Register Field Descriptions (continued)
Bit
Name
Description
8:11
—
12:15
USB
16:17
—
18:23
PSC3
Individual bits to control the state of pins configured as GPIO output.
bit 18 controls PSC3_7 pin
bit 19 controls PSC3_6 pin
bit 20 controls PSC3_3 pin
bit 21 controls PSC3_2 pin
bit 22 controls PSC3_1 pin
bit 23 controls PSC3_0 pin
0 Drive 0 on the pin (default)
1 Drive 1 on the pin
24:27
PSC2
Individual bits to control the state of pins configured as GPIO output.
bit 24 controls PSC2_3 pin
bit 25 controls PSC2_2 pin
bit 26 controls PSC2_1 pin
bit 27 controls PSC2_0 pin
0 Drive 0 on the pin (default)
1 Drive 1 on the pin
28:31
PSC1
Individual bits to control the state of pins configured as GPIO output.
bit 28 controls PSC1_3 pin
bit 29 controls PSC1_2 pin
bit 30 controls PSC1_1 pin
bit 31 controls PSC1_0 pin
0 Drive 0 on the pin (default)
1 Drive 1 on the pin
Reserved
Individual bits to control the state of pins configured as GPIO output.
bit 12 controls USB1_8 pin
bit 13 controls USB1_7 pin
bit 14 controls USB1_6 pin
bit 15 controls USB1_0 pin
0 Drive 0 on the pin (default)
1 Drive 1 on the pin
Reserved
MPC5200B User’s Manual, Rev. 3
7-42
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.1.6
GPS Simple GPIO Data Input Values Register
Address MBAR + 0x0B14
0
R
W
Reset
R
W
Reset
1
2
3
4
5
IRDA
Reserved
6
7
8
ETHR
9
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
0
0
PSC3
0
0
0
0
11
12
13
0
0
0
0
26
27
28
29
PSC2
0
0
0
0
0
14
15
USB
Reserved
0
Reserved
10
0
0
30
31
PSC1
0
0
0
0
0
Figure 7-25. GPS Simple GPIO Data Input Values Register
Table 7-26. GPS Simple GPIO Data Input Values Register Field Descriptions
Bit
Name
Description
0:1
—
2:3
IRDA
Individual status bits reflecting the state of corresponding GPIO pins.
bit 2 reflects IR_USB_CLK pin
bit 3 reflects RDA_TX pin
4:7
ETHR
Individual status bits reflecting the state of corresponding GPIO pins.
bit 4 reflects ETH_11 pin
bit 5 reflects ETH_10 pin
bit 6 reflects ETH_9 pin
bit 7 reflects ETH_8 pin
8:11
—
12:15
USB
Reserved
Reserved
Individual status bits reflecting the state of corresponding GPIO pins.
bit 12 reflects USB1_8 pin
bit 13 reflects USB1_7 pin
bit 14 reflects USB1_6 pin
bit 15 reflects USB1_0 pin
16:17
—
18:23
PSC3
Individual status bits reflecting the state of corresponding GPIO pins.
bit 18 reflects PSC3_7 pin
bit 19 reflects PSC3_6 pin
bit 20 reflects PSC3_3 pin
bit 21 reflects PSC3_2 pin
bit 22 reflects PSC3_1 pin
bit 23 reflects PSC3_0 pin
Reserved
24:27
PSC2
Individual status bits reflecting the state of corresponding GPIO pins.
bit 24 reflects PSC2_3 pin
bit 25 reflects PSC2_2 pin
bit 26 reflects PSC2_1 pin
bit 27 reflects PSC2_0 pin
28:31
PSC1
Individual status bits reflecting the state of corresponding GPIO pins.
bit 28 reflects PSC1_3 pin
bit 29 reflects PSC1_2 pin
bit 30 reflects PSC1_1 pin
bit 31 reflects PSC1_0 pin
Note: These status bits operate regardless of the function on the pin.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-43
System Integration Unit (SIU)
7.3.2.1.7
GPS GPIO Output-Only Enables Register
Address MBAR + 0x0B18
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
ETHR
I2C
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-26. GPS GPIO Output-Only Enables Register
Table 7-27. GPS GPIO Output-Only Enables Register Field Descriptions
Bit
Name
Description
0:7
ETHR
8 :11
—
Reserved
12:15
I2C
Individual bits to enable each Output Only GPIO pin—all reside on the I2C ports.
bit 12 controls I2C_2 pin
bit 13 controls I2C_3 pin
bit 14 controls I2C_0 pin
bit 15 controls I2C_1 pin
0 Disabled for GPIO use (default)
1 Enabled for GPIO use
This bits can be used to toggle the clock (SCL) and data (SDA) lines of the I2C interface.
16:31
—
Reserved
Individual bits to enable each Output Only GPIO pin—all reside on the Ethernet port.
bit 0 controls ETH_7 pin
bit 1 controls ETH_6 pin
bit 2 controls ETH_5 pin
bit 3 controls ETH_4 pin
bit 4 controls ETH_3 pin
bit 5 controls ETH_2 pin
bit 6 controls ETH_1 pin
bit 7 controls ETH_0 pin
0 Disabled for GPIO use (default)
1 Enabled for GPIO use
MPC5200B User’s Manual, Rev. 3
7-44
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.1.8
GPS GPIO Output-Only Data Value Out Register
Address MBAR + 0x0B1C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
ETHR
I2C
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-27. GPS GPIO Output-Only Data Value Out Register
Table 7-28. GPS GPIO Output-Only Data Value Out Register Field Descriptions
Bit
Name
Description
0:7
ETHR
8 :11
—
Reserved
12:15
I2C
Individual bits to control the state of enabled Output Only GPIO pins — all reside on the I2C ports.
bit 12 controls I2C_2 pin
bit 13 controls I2C_3 pin
bit 14 controls I2C_0 pin
bit 15 controls I2C_1 pin
0 Drive 0 on the pin (default)
1 Drive 1 on the pin
This bits can be used to toggle the clock (SCL) and data (SDA) lines of the I2C interface.
16:31
—
Reserved
Individual bits to control the state of enabled Output Only GPIO pins.
bit 0 controls ETH_7 pin
bit 1 controls ETH_6 pin
bit 2 controls ETH_5 pin
bit 3 controls ETH_4 pin
bit 4 controls ETH_3 pin
bit 5 controls ETH_2 pin
bit 6 controls ETH_1 pin
bit 7 controls ETH_0 pin
0 Drive 0 on the pin (default)
1 Drive 1 on the pin
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-45
System Integration Unit (SIU)
7.3.2.1.9
GPS GPIO Simple Interrupt Pin Enable Register
Address MBAR + 0x0B20
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
SIGPIOe
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Table 7-29. GPS GPIO Simple Interrupt Pin Enable Register
Table 7-30. GPS GPIO Simple Interrupt Pin Enable Register Field Descriptions
Bit
Name
0:7
SIGPIOE
8:31
—
Description
Individual bits to enable each Interrupt GPIO pin (pins are scattered).
bit 0 controls ETH_16 pin
bit 1 controls ETH_15 pin
bit 2 controls ETH_14 pin
bit 3 controls ETH_13 pin
bit 4 controls USB1_9 pin
bit 5 controls PSC3_8 pin
bit 6 controls PSC3_5 pin
bit 7 controls PSC3_4 pin
0 disabled for GPIO use (default)
1 enabled for GPIO use
Reserved
MPC5200B User’s Manual, Rev. 3
7-46
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.1.10
GPS GPIO Simple Interrupt Open-Drain Emulation Register
Address MBAR + 0x0B24
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
SIODe
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-28. GPS GPIO Simple Interrupt Open-Drain Emulation Register
Table 7-31. GPS GPIO Simple Interrupt Open-Drain Emulation Register Field Descriptions
Bit
Name
0:7
SIODe
8:31
—
Description
Individual bits to cause open drain emulation for pins configured as GPIO output.
bit 0 controls ETH_16 pin
bit 1 controls ETH_15 pin
bit 2 controls ETH_14 pin
bit 3 controls ETH_13 pin
bit 4 controls USB1_9 pin
bit 5 controls PSC3_8 pin
bit 6 controls PSC3_5 pin
bit 7 controls PSC3_4 pin
0 Normal CMOS output (default)
1 Open Drain emulation (a drive to high creates Hi-Z)
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-47
System Integration Unit (SIU)
7.3.2.1.11
GPS GPIO Simple Interrupt Data Direction Register
Address MBAR + 0x0B28
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
SIDDR
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-29. GPS GPIO Simple Interrupt Data Direction Register
Table 7-32. GPS GPIO Simple Interrupt Data Direction Register Field Descriptions
Bit
Name
0:7
SIDDR
8:31
—
Description
Individual bits to control direction of the pin as GPIO.
bit 0 controls ETH_16 pin
bit 1 controls ETH_15 pin
bit 2 controls ETH_14 pin
bit 3 controls ETH_13 pin
bit 4 controls USB1_9 pin
bit 5 controls PSC3_8 pin
bit 6 controls PSC3_5 pin
bit 7 controls PSC3_4 pin
0 Pin is Input (default)
1 Pin is Output
Reserved
MPC5200B User’s Manual, Rev. 3
7-48
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.1.12
GPS GPIO Simple Interrupt Data Value Out Register
Address MBAR + 0x0B2C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
SIDVO
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-30. GPS GPIO Simple Interrupt Data Value Out Register
Table 7-33. GPS GPIO Simple Interrupt Data Value Out Register Field Descriptions
Bit
Name
0:7
SIDVO
8:31
—
Description
Individual bits to control the state of pins configured as GPIO output.
bit 0 controls ETH_16 pin
bit 1 controls ETH_15 pin
bit 2 controls ETH_14 pin
bit 3 controls ETH_13 pin
bit 4 controls USB1_9 pin
bit 5 controls PSC3_8 pin
bit 6 controls PSC3_5 pin
bit 7 controls PSC3_4 pin
0 Drive 0 on the pin (default)
1 Drive 1 on the pin
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-49
System Integration Unit (SIU)
7.3.2.1.13
GPS GPIO Simple Interrupt Enable Register
Address MBAR + 0x0B30
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
SIINTEN
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-31. GPS GPIO Simple Interrupt Enable Register
Table 7-34. GPS GPIO Simple Interrupt Enable Register Field Descriptions
Bit
Name
0:7
SIINTEN
8:31
—
Description
Individual bits to enable Interrupt generation for each GPIO pin configured as an Input.
bit 0 controls ETH_16 pin
bit 1 controls ETH_15 pin
bit 2 controls ETH_14 pin
bit 3 controls ETH_13 pin
bit 4 controls USB1_9 pin
bit 5 controls PSC3_8 pin
bit 6 controls PSC3_5 pin
bit 7 controls PSC3_4 pin
0 Pin cannot generate an Interrupt (default)
1 Pin can generate an Interrupt if configured as an Input GPIO
Reserved
Note: See Interrupt Type data in GPS GPIO Simple Interrupt Types Register Register. Also, the Master Interrupt Enable bit must
be set in the GPS GPIO Simple Interrupt Master Enable Register Register, before any Simple Interrupt pin can generate
an Interrupt.
MPC5200B User’s Manual, Rev. 3
7-50
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.1.14
GPS GPIO Simple Interrupt Types Register
Address MBAR + 0x0B34
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
ITYP7
ITYP6
ITYP5
ITYP4
ITYP3
ITYP2
ITYP1
ITYP0
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-32. GPS GPIO Simple Interrupt Types Register
Table 7-35. GPS GPIO Simple Interrupt Types Register Field Descriptions
Bit
Name
0:15
ITYP[0:7]
16:31
—
Description
GPIO Interrupt Type bits for Simple-Interrupt GPIO pin 7.
ITYP7—bits 0:1 controls ETH_16 pin
ITYP6—bits 2:3 controls ETH_15 pin
ITYP5—bits 4:5 controls ETH_14 pin
ITYP4—bits 6:7 controls ETH_13 pin
ITYP3—bits 8:9 controls USB1_9 pin
ITYP2—bits 10:11 controls PSC3_8 pin
ITYP1—bits 12:13 controls PSC3_5 pin
ITYP0—bits 14:15 controls PSC3_4 pin
00 Interrupt on any transition
01 Interrupt on rising edge
10 Interrupt on falling edge
11 Interrupt on pulse (any two transitions)
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-51
System Integration Unit (SIU)
7.3.2.1.15
GPS GPIO Simple Interrupt Master Enable Register
Address MBAR + 0x0B38
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
ME
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-33. GPS GPIO Simple Interrupt Master Enable Register
Table 7-36. GPS GPIO Simple Interrupt Master Enable Register Field Descriptions
Bit
Name
Description
0:2
—
Reserved
3
ME
GPIO Simple Interrupt Master Enable pin—This pin must be high before any Simple Interrupt pin
can generate an interrupt. This bit should remain clear while programming individual interrupts,
then set high as a final step. This prevents any spurious interrupt occurring during programming.
4:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
7-52
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.1.16
GPS GPIO Simple Interrupt Status Register
Address MBAR + 0x0B3C
0
1
2
3
R
W
Reset
4
5
6
7
8
9
10
11
ISTAT
12
13
14
15
IVAL
rwc
rwc
rwc
rwc
rwc
rwc
rwc
rwc
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-34. GPS GPIO Simple Interrupt Status Register
Table 7-37. GPS GPIO Simple Interrupt Status Register Field Descriptions
Bit
Name
Description
0:7
ISTAT
Interrupt Status—status bit for GPIO Simple interrupt pins 7 to 0, where 1 indicates an interrupt
has occurred. Clear bit with a Sticky bit write to 1.
Bit 0 reflects ETH_16 pin
Bit 1 reflects ETH_15 pin
Bit 2 reflects ETH_14 pin
Bit 3 reflects ETH_13 pin
Bit 4 reflects USB1_9 pin
Bit 5 reflects PSC3_8 pin
Bit 6 reflects PSC3_5 pin
Bit 7 reflects PSC3_4 pin
8:15
IVAL
Input Value—status bit for GPIO Simple Interrupt pins 7 to 0. This is the raw state of the input pin
at the time this register is read. It is not latched to the state that caused the Interrupt (if any).
Bit 8 reflects ETH_16 pin
Bit 9 reflects ETH_15 pin
Bit 10 reflects ETH_14 pin
Bit 11 reflects ETH_13 pin
Bit 12 reflects USB1_9 pin
Bit 13 reflects PSC3_8 pin
Bit 14 reflects PSC3_5 pin
Bit 15 reflects PSC3_4 pin
IVAL is always available regardless of enable or setting, even if not used as GPIO.
Writing to this byte has no effect.
16:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-53
System Integration Unit (SIU)
7.3.2.2
WakeUp GPIO Registers
The WakeUp GPIO Register Set provides GPIO control for the 8 WakeUp GPIO pins. These pins are
scattered throughout the pin groups, but are all controlled in this module. It should be noted that WakeUp
GPIO can operate as Simple Interrupt GPIO. Because of this, there are separate registers to enable these
pins as Wakeup interrupts and/or Simple Interrupts. The distinction between these two types of interrupts
is made according to the powered state of MPC5200B.
• In Deep Sleep mode, the WakeUp Interrupt enables are used.
• In all other modes, the Simple Interrupt enables are used.
In either of the above types of interrupts, we are referring to the WakeUp GPIO and the registers in this
module. These are not to be confused with the Simple Interrupt GPIO pins, which are controlled in the
previous module, GPIO Standard.
This WakeUp GPIO register set uses 10 32-bit registers. These registers are located at an offset from
MBAR of 0x0C00. Register addresses are relative to this offset. Therefore, the actual register address is:
MBAR + 0x0C00 + register address
Hyperlinks to the WakeUp GPIO registers are provided below:
• GPW WakeUp GPIO Enables Register (0x0C00)
• GPW WakeUp GPIO Open Drain Emulation Register (0x0C04)
• GPW WakeUp GPIO Data Direction Register (0x0C08)
• GPW WakeUp GPIO Data Value Out Register (0x0C0C)
• GPW WakeUp GPIO Interrupt Enable Register (0x0C10)
• GPW WakeUp GPIO Individual Interrupt Enable Register (0x0C14)
• GPW WakeUp GPIO Interrupt Types Register (0x0C18)
• GPW WakeUp GPIO Master Enables Register (0x0C1C)
• GPW WakeUp GPIO Data Input Values Register (0x0C20)
• GPW WakeUp GPIO Status Register (0x0C24)
MPC5200B User’s Manual, Rev. 3
7-54
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.2.1
GPW WakeUp GPIO Enables Register
Address MBAR + 0x0C00
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
WGPIOe
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-35. GPW WakeUp GPIO Enables Register
Table 7-38. GPW WakeUp GPIO Enables Register Field Descriptions
Bit
Name
0:7
WGPIOe
8:31
—
Description
Bits to enable the operation of individual wakeup GPIO pins.
Bit 0 controls GPIO_WKUP_7 pin
Bit 1 controls GPIO_WKUP_6 pin
Bit 2 controls PSC6_1 pin
Bit 3 controls PSC6_0 pin
Bit 4 controls ETH_17 pin
Bit 5 controls PSC3_9 pin
Bit 6 controls PSC2_4 pin
Bit 7 controls PSC1_4 pin
0 Pin not enabled for any GPIO use (default).
1 Pin enabled for use as GPIO.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-55
System Integration Unit (SIU)
7.3.2.2.2
GPW WakeUp GPIO Open Drain Emulation Register
Address MBAR + 0x0C04
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
WODe
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-36. GPW WakeUp GPIO Open Drain Emulation Register
Table 7-39. GPW WakeUp GPIO Open Drain Emulation Register Field Descriptions
Bit
Name
0:7
WODe
8:31
—
Description
Bits to control open drain emulation for individual WakeUp GPIO configured as outputs.
Bit 0 controls GPIO_WKUP_7 pin
Bit 1 controls GPIO_WKUP_6 pin
Bit 2 controls PSC6_1 pin
Bit 3 controls PSC6_0 pin
Bit 4 controls ETH_17 pin
Bit 5 controls PSC3_9 pin
Bit 6 controls PSC2_4 pin
Bit 7 controls PSC1_4 pin
0 Normal CMOS output (default).
1 Open Drain emulation (a drive to high creates Hi-Z).
Reserved
MPC5200B User’s Manual, Rev. 3
7-56
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.2.3
GPW WakeUp GPIO Data Direction Register
Address MBAR + 0x0C08
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
WDDR[7:0]
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-37. GPW WakeUp GPIO Data Direction Register
Table 7-40. GPW WakeUp GPIO Data Direction Register Field Descriptions
Bit
Name
0:7
WDDR[7:0]
8:31
—
Description
Individual bits to control directionality of the pin as GPIO.
Bit 0 controls GPIO_WKUP_7 pin
Bit 1 controls GPIO_WKUP_6 pin
Bit 2 controls PSC6_1 pin
Bit 3 controls PSC6_0 pin
Bit 4 controls ETH_17 pin
Bit 5 controls PSC3_9 pin
Bit 6 controls PSC2_4 pin
Bit 7 controls PSC1_4 pin
0 Pin is Input (default).
1 Pin is Output.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-57
System Integration Unit (SIU)
7.3.2.2.4
GPW WakeUp GPIO Data Value Out Register
Address MBAR + 0x0C0C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
WDVO
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-38. GPW WakeUp GPIO Data Value Out Register
Table 7-41. GPW WakeUp GPIO Data Value Out Register Field Descriptions
Bit
Name
0:7
WDVO
8:31
—
Description
Individual bits to control the state of pins configured as GPIO output.
Bit 0 controls GPIO_WKUP_7 pin
Bit 1 controls GPIO_WKUP_6 pin
Bit 2 controls PSC6_1 pin
Bit 3 controls PSC6_0 pin
Bit 4 controls ETH_17 pin
Bit 5 controls PSC3_9 pin
Bit 6 controls PSC2_4 pin
Bit 7 controls PSC1_4 pin
0 Drive 0 on the pin (default).
1 Drive 1 on the pin.
Note: If pin is emulating open drain, this setting results in Hi-Z
Reserved
MPC5200B User’s Manual, Rev. 3
7-58
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.2.5
GPW WakeUp GPIO Interrupt Enable Register
Address MBAR + 0x0C10
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
WUPe
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-39. GPW WakeUp GPIO Interrupt Enable Register
Table 7-42. GPW WakeUp GPIO Interrupt Enable Register Field Descriptions
Bit
Name
0:7
WUPe
8:31
—
Description
Individual bits to enable generation of WakeUp interrupt for WakeUp GPIO configured as input.
Bit 0 controls GPIO_WKUP_7 pin
Bit 1 controls GPIO_WKUP_6 pin
Bit 2 controls PSC6_1 pin
Bit 3 controls PSC6_0 pin
Bit 4 controls ETH_17 pin
Bit 5 controls PSC3_9 pin
Bit 6 controls PSC2_4 pin
Bit 7 controls PSC1_4 pin
0 Pin cannot generate WakeUp Interrupt (default).
1 Pin can generate WakeUp Interrupt while MPC5200B is in Deep Sleep mode.
Note: These enable bits apply ONLY when MPC5200B is in Deep Sleep mode.
Reserved
Note: Only valid when Port Configuration indicates GPIO usage and pin is configured as input in the associated DDR bit in
GPIOWDO. Also, Master Interrupt Enable bit in GPIOWME must be set.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-59
System Integration Unit (SIU)
7.3.2.2.6
GPW WakeUp GPIO Individual Interrupt Enable Register
Address MBAR + 0x0C14
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
WINe
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-40. GPW WakeUp GPIO Individual Interrupt Enable Register
Table 7-43. GPW WakeUp GPIO Individual Interrupt Enable Register Field Descriptions
Bit
Name
0:7
WINe
8:31
—
Description
Individual bits to enable generation of Simple interrupt for WakeUp GPIO configured as input.
Bit 0 controls GPIO_WKUP_7 pin
Bit 1 controls GPIO_WKUP_6 pin
Bit 2 controls PSC6_1 pin
Bit 3 controls PSC6_0 pin
Bit 4 controls ETH_17 pin
Bit 5 controls PSC3_9 pin
Bit 6 controls PSC2_4 pin
Bit 7 controls PSC1_4 pin
0 Pin cannot generate Simple Interrupt (default).
1 Pin can generate Simple Interrupt while MPC5200B is not in Deep Sleep mode.
Note: These enable bits apply only when MPC5200B is not in Deep Sleep mode.
Reserved
Note: Only valid when Port Configuration indicates GPIO usage and pin is configured as input in the associated DDR bit in
GPIOWDO. Also, Master Interrupt Enable bit in GPIOWME must be set.
MPC5200B User’s Manual, Rev. 3
7-60
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.2.7
GPW WakeUp GPIO Interrupt Types Register
Address MBAR + 0x0C18
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Ityp7
Ityp6
Ityp5
Ityp4
Ityp3
Ityp2
Ityp7
Ityp0
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-41. GPW WakeUp GPIO Interrupt Types Register
Table 7-44. GPW WakeUp GPIO Interrupt Types Register Field Descriptions
Bit
Name
Description
0:1
Ityp7
2:3
Ityp6
4:5
Ityp5
6:7
Ityp4
8:9
Ityp3
10:11
Ityp2
12:13
Ityp1
14:15
Ityp0
GPIO Interrupt Type bits for WakeUp GPIO pins 7–0
00 Interrupt at any transition
01 Interrupt on rising edge
10 Interrupt on falling edge
11 Interrupt on pulse (any 2 transitions)
The above interrupt types describe operation for interrupts occurring while MPC5200B is not in
Deep Sleep mode (i.e., Simple Interrupt types). For operation while in Deep Sleep mode the
interpretation of these bits is slightly different, because no clocking is present in this mode and it
is therefore impossible to detect an edge on the input. For Deep Sleep mode the bits are
interpreted as follows:
00 Not Valid, no interrupt can be detected
01 Level High, any high creates WakeUp from Deep Sleep
10 Level Low, any low creates WakeUp from Deep Sleep
11 Not Valid, no interrupt can be detected.
ITYP7 controls GPIO_WKUP_7 pin
ITYP6 controls GPIO_WKUP_6 pin
ITYP5 controls PSC6_1 pin
ITYP4 controls PSC6_0 pin
ITYP3 controls ETH_17 pin
ITYP2 controls PSC3_9 pin
ITYP1 controls PSC2_4 pin
ITYP0 controls PSC1_4 pin
Note: Any GPIO WakeUp interrupt creates a Main Level 2 interrupt in the Interrupt Controller.
16:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-61
System Integration Unit (SIU)
7.3.2.2.8
GPW WakeUp GPIO Master Enables Register
Address MBAR + 0x0C1C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
ME
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-42. GPW WakeUp GPIO Master Enables Register
Table 7-45. GPW WakeUp GPIO Master Enables Register Field Descriptions
Bit
Name
Description
0:6
—
Reserved
7
ME
WakeUp GPIO Master Enable pin. This pin must be high before any WakeUp GPIO pin can
generate an interrupt. This bit should remain clear while programming individual interrupts and
then set high as a final step. This prevents any spurious interrupt occurring during programming.
8:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
7-62
Freescale Semiconductor
System Integration Unit (SIU)
7.3.2.2.9
GPW WakeUp GPIO Data Input Values Register
Address MBAR + 0x0C20
0
1
2
R
3
4
5
6
7
8
9
10
11
12
13
14
15
WIVAL
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-43. GPW WakeUp GPIO Data Input Values Register
Table 7-46. GPW WakeUp GPIO Data Input Values Register Field Descriptions
Bit
Name
Description
0:7
WIVAL
Input Value bits for GPIO WakeUp pins 7–0. This is the raw state of the input pin at the time this
register is read. It is not latched to the state that caused the interrupt (if any).
This status bit is always available, regardless of any enable or setting. For example, even if the pin
is not used as GPIO.
Writing to this byte has no effect.
Bit 0 reflects GPIO_WKUP_7 pin
Bit 1 reflects GPIO_WKUP_6 pin
Bit 2 reflects PSC6_1 pin
Bit 3 reflects PSC6_0 pin
Bit 4 reflects ETH_17 pin
Bit 5 reflects PSC3_9 pin
Bit 6 reflects PSC2_4 pin
Bit 7 reflects PSC1_4 pin
8:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-63
System Integration Unit (SIU)
7.3.2.2.10
GPW WakeUp GPIO Status Register
Address MBAR + 0x0C24
0
1
2
3
R
4
5
6
7
8
9
10
11
12
13
14
15
Istat
Reserved
W
Reset
rwc
rwc
rwc
rwc
rwc
rwc
rwc
rwc
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-44. GPW WakeUp GPIO Status Register
Table 7-47. GPW WakeUp GPIO Status Register Field Descriptions
Bit
Name
0:7
Istat
8:31
—
Description
Interrupt status bits for GPIO WakeUp pins 7–0.
1 indicates an interrupt occurred. Cleared with a sticky-bit write to a 1 to clear the interrupt
condition.
Bit 0 reflects interrupt on GPIO_WKUP_7 pin
Bit 1 reflects interrupt on GPIO_WKUP_6 pin
Bit 2 reflects interrupt on PSC6_1 pin
Bit 3 reflects interrupt on PSC6_0 pin
Bit 4 reflects interrupt on ETH_17 pin
Bit 5 reflects interrupt on PSC3_9 pin
Bit 6 reflects interrupt on PSC2_4 pin
Bit 7 reflects interrupt on PSC1_4 pin
Reserved
MPC5200B User’s Manual, Rev. 3
7-64
Freescale Semiconductor
System Integration Unit (SIU)
7.4
General Purpose Timers (GPT)
Eight (8) General-Purpose Timer (GPT) pins are configurable for:
• Input Capture
• Output Compare
• Pulse Width Modulation (PWM) Output
• Simple GPIO
• Internal CPU timer
• Watchdog Timer (on GPT0 only)
Timer modules run off the internal IP bus clock. Each Timer is associated to a single I/O pin. Each Timer
has a 16-bit prescaler and 16-bit counter, thus achieving a 32-bit range (but only 16-bit resolution).
7.4.1
Timer Configuration Method
Use the following method to configure each timer:
1. Determine the Mode Select field (Timer_MS) value for the desired operation.
2. Program any other registers associated with this mode.
3. Program Interrupt enable as desired.
4. Enable the Timer by writing the Mode Select value into the Timer_MS field.
7.4.2
Mode Overview
The following gives a brief description of the available modes:
1. Input Capture—In this mode the I/O pin is an Input. Once enabled, the counters run until the
specified “Capture Event” occurs (rise, fall, either, or pulse). At the Capture Event, the counter
value is latched in the status register. If enabled, a CPU interrupt is generated. The GP Timers 6 &
7 are active during low power modes (except for deep sleep), and therefore have the ability to
initiate a wake up the device from a low-power mode.
2. Output Compare—In this mode the I/O pin is an Output. When enabled the counters run until
they reach the programmed Terminal Count value. At this point, the specified “Output Event” is
generated (toggle, pulse hi, or pulse low). If enabled, a CPU interrupt is generated.
3. PWM—In this mode the I/O pin is an Output. The user can program “Period” and “Width” values
to create an adjustable, repeating output waveform on the I/O pin. A CPU interrupt can be
generated at the beginning of each PWM Period, at which time a new Width value can be loaded.
The new Width value, which represents “ON time”, is automatically applied at the beginning of
the next period. Note that there is no interrupt at the beginning of the first PWM Period. This mode
is suitable for PWM audio encoding.
4. Simple GPIO—In this mode the I/O pin operates as a GPIO pin. It can be specified as Input or
Output, according to the programmable GPIO field. GPIO mode is mutually exclusive of modes 1
through 3 (listed above). In GPIO mode, modes 5 through 6 (listed below) remain available.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-65
System Integration Unit (SIU)
5. CPU Timer—The I/O pin is not used in this mode. Once enabled, the counters run until they reach
a programmed Terminal Count. When this occurs, an interrupt can be generated to the CPU. This
Timer mode can be used simultaneously with the Simple GPIO mode.
6. Watchdog Timer—This is a special CPU Timer mode, available only on Timer 0. The user must
enable the Watchdog Timer mode, which is not active upon reset. The Terminal Count value is
programmable. If the counter is allowed to expire, a full MPC5200B reset occurs. To prevent the
Watchdog Timer from expiring, software must periodically write a specific value to a specific
register (in Timer 0). This causes the counter to reset.
7.4.3
Programming Notes
Programmers should observe the following notes:
1. Intermediate values of the Timer internal counters are not readable by software.
2. The Stop_Cont bit operates differently for different modes. In general, this bit controls whether the
Timer halts at the end of a current mode, or resets and continues with a repetition of the mode. See
the Bit Description for precise operation.
3. The Timer_MS field operates somewhat as a Global Enable. If it is zero, then all Timer modes are
disabled and internal counters are reset. See the Bit Descriptions for more detail.
4. There is a CE (Counter Enable) bit that operates somewhat independently of the Timer_MS field.
This bit controls the Counter for CPU Timer or Watchdog Timer modes only. See the Bit
Descriptions to understand the operation of these bits across the various modes.
7.4.4
GPT Registers
Each GPT uses 4 32-bit registers. These registers are located at an offset from MBAR of 0x0600. Register
addresses are relative to this offset. Therefore, the actual register address is: MBAR + 0x0600 + register
address.
Hyperlinks to the Interrupt Controller registers are provided below:
•
•
•
•
GPT0–GPT7 Enable and Mode Select Registers (0x0600, 0x0620, 0x0630, 0x0640, 0x0650,
0x0660, 0x0670)
GPT0–GPT7 Counter Input Registers (0x0604, 0x0614, 0x0624, 0x0634, 0x0644, 0x0654,
0x0664, 0x0674)
GPT0–GPT7 PWM Configuration Registers 0x0608, 0x0618, 0x0628, 0x0638, 0x0648, 0x0658,
0x0668, 0x0678)
GPT0–GPT7 Status Registers (0x060C. 0x061C, 0x062C, 0x063C, 0x064C, 0x065C, 0x066C,
0x067C)
MPC5200B User’s Manual, Rev. 3
7-66
Freescale Semiconductor
System Integration Unit (SIU)
7.4.4.1
GPT0–GPT7 Enable and Mode Select Registers
Address MBAR + 0x0600, 0x0610, 0x0620, 0x0630, 0x0640, 0x0650, 0x0660, 0x0670
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
OCPW
OCT
Reserved
ICT
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
CE
Rsvd
Open_Drn
Reset
Stop_Cont
W
IntEn
0
0
0
0
0
R
Reserved
WDen
W
Reset
0
0
0
Reserved
0
0
GPIO
0
Rsvd
0
0
Timer_MS
0
0
0
Figure 7-45. GPT0–GPT7 Enable and Mode Select Registers
Table 7-48. GPT0–GPT7 Enable and Mode Select Register Field Descriptions (Sheet 1 of 3)
Bit
Name
Description
0:7
OCPW
Output Compare Pulse Width—Applies to OC Pulse types only. This field specifies the number of IP
bus clocks (non-prescaled) to create a short output pulse at each Output Event. This pulse is
generated at the end of the OC period and overlays the next OC period (rather than adding to the
period).
Note: This field is alternately used as the Watchdog reset field if Watchdog Timer mode is enabled.
8:9
—
10:11
OCT
12:13
—
14:15
ICT
Reserved
Output Compare Type—describes action to occur at each output compare event, as follows:
00=Special case, output is immediately forced low without respect to each output compare event.
01=Output pulse highs, initial value is low (OCPW field applies).
10=Output pulses low, initial value is high (OCPW field applies).
11=Output toggles.
GPIO modalities can be used to achieve an initial output state prior to enabling OC mode. It is
important to move directly from GPIO output mode to OC mode and not to pass through the
Timer_MS=000 state.
To prevent the Internal Timer Mode from engaging during the GPIO state, CE bit should be held low
during the configuration steps.
GPIO initialization is needed when presetting the I/O to 1 in conjunction with a simple toggle OCT
setting.
Note: For Stop Mode operation (see Stop_Cont bit below) it is necessary to pass through the
mode_sel = 0 state to restart the output compare counters with their programmed values. See
prescale and count fields in Table 7-49.
Reserved
Input Capture Type—describes the input transition type required to trigger an input capture event, as
follows:
00=Any input transition causes an IC event.
01=IC event occurs at input rising edge.
10=IC event occurs at input falling edge.
11=IC event occurs at any input pulse (i.e., at 2nd input edge).
BE AWARE: For ICT=11 (pulse capture), status register records only the pulse width.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-67
System Integration Unit (SIU)
Table 7-48. GPT0–GPT7 Enable and Mode Select Register Field Descriptions (Sheet 2 of 3)
Bit
Name
Description
16
WDen
Watchdog enable—bit enables watchdog operation. A timer expiration causes an internal MPC5200B
reset. Watchdog operation requires the Timer_MS field be set for internal timer mode and the CE bit
to be set high.
In this mode the OCPW byte field operates as a watchdog reset field. Writing A5 to the OCPW field
resets the watchdog timer, preventing it from expiring. As long as the timer is properly configured, the
watchdog operation continues.
This bit (and functionality) is implemented only for Timer 0. 1 = enabled
17:18
—
Reserved
19
CE
Counter Enable—bit enables or resets the internal counter during Internal timer modes only. CE must
be high to enable these modes. If low, counter is held in reset.
This bit is secondary to the timer mode select bits (Timer_MS). If Timer_MS is1XX, internal timer
modes are enabled. CE can then enable or reset the internal counter without changing the Timer_MS
field.
GPIO operation is also available in this mode. 1 = enabled
20
—
Reserved
21
Stop_Cont
Stop Continuous—Applies to multiple modes, as follows:
0 = Stop
1 = Continuous
•
•
•
•
•
22
Open_Drn
IC mode
Stop operation—At each IC event, counter is reset.
Continuous operation—counter is not reset at each IC event.
Effect is to create Status count values that are cumulative between Capture events. If the special
Pulse Mode Capture type is specified, the Stop_Cont bit is not used, operation fixed as if it were
Stop.
OC mode
Stop operation—Counter resets and stops at first OC event. Note: Software needs to pass through
Timer_MS=000 state to restart timer.
Continuous operation—counter resets and continues at each OC event.
Effect to is create back-to-back periodic OC events.
BE AWARE—In this mode the polarity of Stop_cont is reversed. Also, in Stop Mode, the output
event falsely retriggers at the expiration of the prescale count.
This means the software has to service and output event prior to the prescale expiring. Service is
defined as programming mode_sel field to 0, which causes the programmed prescale and count
values to be reset.
PWM mode
Bit not used, operation is always Continuous.
CPU Timer mode
Stop operation—On counter expiration, Timer waits until Status bit is cleared by passing through
Timer_MS=000 state before beginning a new cycle.
Continuous operation—On counter expiration, Timer resets and immediately begin a new cycle.
Effect is to generate fixed periodic timeouts.
WatchDog Timer and GPIO modes
Bit not used.
Open Drain
0 = Normal I/O
1 = Open Drain emulation—affects all modes that drive the I/O pin (GPIO, OC, & PWM). Any
output “1” is converted to a tri-state at the I/O pin.
MPC5200B User’s Manual, Rev. 3
7-68
Freescale Semiconductor
System Integration Unit (SIU)
Table 7-48. GPT0–GPT7 Enable and Mode Select Register Field Descriptions (Sheet 3 of 3)
Bit
Name
Description
23
IntEn
Enable interrupt—enables interrupt generation to the CPU for all modes (IC, OC, PWM, and Internal
Timer). IntEn is not required for watchdog expiration to create a reset. 1 = enabled
24:25
—
26:27
GPIO
28
—
29:31
Timer_MS
Reserved
GPIO mode type. Simple GPIO functionality that can be used simultaneously with the Internal Timer
mode. It is not compatible with IC, OC, or PWM modes, since these modes dictate the usage of the
I/O pin.
0x=Timer enabled as simple GPIO input
10=Timer enabled as simple GPIO output, value=0
11=Timer enabled as simple GPIO output, value=1 (tri-state if Open_Drn=1)
While in GPIO modes, internal timer mode is also available. To prevent undesired timer expiration,
keep the CE bit low.
Reserved
Timer Mode Select (and module enable).
000=Timer module not enabled. Associated I/O pin is in input state. All Timer operation is
completely disabled. Control and status registers are still accessible. This mode should be entered
when timer is to be re-configured, except where the user does not want the I/O pin to become an
input.
001=Timer enabled for input capture.
010=Timer enabled for output compare.
011=Timer enabled for PWM.
1xx=timer enabled for simple GPIO. Internal timer modes available. CE bit controls timer counter.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-69
System Integration Unit (SIU)
7.4.4.2
GPT0–GPT7 Counter Input Registers
Address MBAR + 0x0614, 0x0624, 0x0634, 0x0644, 0x0654, 0x0664, 0x0674
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Prescale
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Count
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-46. GPT0–GPT7 Counter Input Registers
Table 7-49. GPT0–GPT7 Counter Input Register Field Descriptions
Bit
Name
Description
0:15
Prescale
Prescale amount applied to internal counter (in IP bus clocks).
BE AWARE—The prescale field should be written prior to enabling any timer mode. A prescale of
0x0001 means one IP bus clock per count increment. If prescale is 0 when any timer mode is started,
it results in an effective prescale of 64K. The counter will immediately begin and an output event will
occur with the 64K prescale, rather than the desired value.
16:31
COUNT
Sets number of prescaled counts applied to reference events, as follows:
IC—Field has no effect, internal counter starts at 0.
OC—Number of prescaled counts counted before creating output event.
PWM—Number of prescaled counts defining the PWM output period.
Internal Timer—Number of prescaled counts counted before timer (or watchdog) expires.
Note: Reading this register only returns the programmed value, intermediate values of the internal
counter are not available to software.
MPC5200B User’s Manual, Rev. 3
7-70
Freescale Semiconductor
System Integration Unit (SIU)
7.4.4.3
GPT0–GPT7 PWM Configuration Registers
Address MBAR + 0x0608, 0x0618, 0x0628, 0x0638, 0x0648, 0x0658, 0x0678
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
WIDTH
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
PWMOP
Reserved
LOAD
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-47. GPT0–GPT7 PWM Configuration Registers
Table 7-50. GPT0–GPT7 PWM Configuration Register Field Descriptions
Bit
Name
0:15
WIDTH
16:22
—
23
PWMOP
24:30
—
31
LOAD
Description
PWM only. Defines ON time for output in prescaled counts. Similar to count value, which defines the
period. ON time overlays the period time.
If WIDTH = 0, output is always OFF.
If WIDTH exceeds count value, output is always ON.
ON and OFF polarity is set by the PWMOP bit.
Reserved
Pulse Width Mode Output Polarity—Defines PWM output polarity for OFF time. Opposite state is ON
time polarity. PWM cycles begin with ON time.
Reserved
Bit forces immediate period update. Bit auto clears itself. A new period begins immediately with the
current count and width settings.
If LOAD = 0, new count or width settings are not updated until end of current period.
Note: Prescale setting is not part of this process. Changing prescale value while PWM is active causes
unpredictable results for the period in which it was changed. The same is true for PWMOP bit.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-71
System Integration Unit (SIU)
7.4.4.4
GPT0–GPT7 Status Registers
This is a read-only register.
Address MBAR + 0x061C, 0x062C, 0x063C, 0x064C, 0x065C, 0x066C, 0x067C
0
1
2
3
4
5
6
7
R
8
9
10
11
12
13
14
15
0
0
0
0
28
29
30
31
CAPTURE
W
Reset
0
0
16
17
0
0
0
0
0
18
19
20
21
22
OVF
R
0
0
0
0
0
23
24
25
26
27
PIN
Rsvd
TEXP PWMP COMP CAFT
Reserved
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-48. GPT0–GPT7 Status Registers
Table 7-51. GPT0–GPT7 Status Register Field Descriptions
Bit
Name
Description
0:15
Capture
Read of internal counter, latch at reference event. This is pertinent only in IC mode, in which case it
represents the count value at the time the Input Event occurred. Capture status does not shadow the
internal counter while an event is pending, it is updated only at the time the Input Event occurs.
Note: If ICT is set to 11, which is Pulse Capture Mode, the Capture value records the width of the pulse.
Also, the Stop_Cont bit is irrelevant in Pulse Capture Mode, operation is as if Stop_Cont were 0.
16
—
17:19
OVF
20:22
—
23
PIN
24:27
—
28
TEXP
Timer Expired in Internal Timer mode. Cleared by writing 1 to this bit position. Also cleared if Timer_MS
is 000 (i.e., Timer not enabled). See Note.
29
PWMP
PWM end of period occurred. Cleared by writing 1 to this bit position. Also cleared if Timer_MS is 000
(i.e., Timer not enabled). See Note.
30
COMP
OC reference event occurred. Cleared by writing 1 to this bit position. Also cleared if Timer_MS is 000
(i.e., Timer not enabled). See Note.
31
CAPT
IC reference event occurred. Cleared by writing 1 to this bit position. Also cleared if Timer_MS is 000
(i.e., Timer not enabled). See Note.
Reserved
Represents how many times internal counter has rolled over. This is pertinent only during IC mode and
would represent an extremely long period of time between Input Events. However, if Stop_Cont = 1
(indicating cumulative reporting of Input Events), this field could come into play.
Note: This field is cleared by any “sticky bit” status write in the 4 bit fields below (28, 29, 30, 31).
Reserved
Registered state of the I/O PIN (all modes). The IP bus Clock registers the state of the I/O input. Valid,
even if Timer is not enabled.
Reserved
Note: To clear any of these bits, it is necessary to clear all of them. An F must be written to bits 28:31.
MPC5200B User’s Manual, Rev. 3
7-72
Freescale Semiconductor
System Integration Unit (SIU)
7.5
Slice Timers
Two Slice Timers are included to provide shorter term periodic interrupts. Each timer consists of a 24-bit
counter with no prescale. Running off the IP bus clock, each timer can generate interrupts from 7.75uS to
508mS in 30nS steps (based on 33MHz IP bus clock). The counters count up from zero and
expire/interrupt when they reach the programmed terminal count. They can be configured to automatically
reset to zero and resume counting or wait until the Status/Interrupt is serviced before beginning a new
cycle.
The current count value can be read without disturbing the count operation. Each Slice Timer has a Status
bit to indicate the Timer has expired. If enabled, a CPU interrupt is generated at count expiration. Each
Timer has a separate Interrupt. Slice Timer 0 represents CPU interrupt Critical Level 2 and Slice Timer 1
represents Main Level 0 (which is hardwired to the core_smi pin). Clearing the Status and/or Interrupt is
accomplished by writing 1 to the Status bit, or disabling the Timer entirely with the Timer Enable (TE) bit.
As a safety, the Timer does not count until a Terminal Count value of greater than 255 is programmed into
it. Also, writing a Terminal Count value of 0 is converted to all 1s, resulting in a maximum duration
timeout.
7.5.1
SLT Registers
There are two SLT Timers. Each one uses four 32-bit registers. These registers are located at an offset from
MBAR of 0x0700. Register addresses are relative to this offset. Therefore, the actual register address is:
MBAR + 0x0700 + register address.
Hyperlinks to the Interrupt Controller registers are provided below:
•
•
•
•
SLT0–SLT1 Terminal Count Registers (0x0700, 0x0710)
SLT0–SLT1 Control Field Registers (0x0704, 0x0714)
SLT0–SLT1 Count Value Registers (0x0708, 0x0718) read only
SLT0–SLT1 Timer Status Registers (0x070C, 0x071C) read only
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-73
System Integration Unit (SIU)
7.5.1.1
SLT0–SLT1 Terminal Count Registers
Address MBAR + 0x0700, 0x0710
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
Terminal Count
W
Reset
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
1
1
1
1
1
R
Terminal Count
W
Reset
1
1
1
1
1
1
1
1
1
Figure 7-49. SLT0–SLT1 Terminal Count Registers
Table 7-52. SLT0– SLT1 Terminal Count Register Field Descriptions
Bit
Name
0:7
—
8:31
Terminal
Count
Description
Reserved
The user programs this register to set the Terminal Count value to be used by the Timer.
This register can be updated even if the Timer is running, the new value takes effect immediately. The
internal counter is compared to this register to determine if Terminal Count has been reached.
Note: The Timer will not begin counting until a value greater than 255 is programmed into the Terminal
Count Register. A value less than 255 will essentially suspend the Timer.
Writing a value of zero to this register is considered invalid and will be converted to all ones, creating a
maximum duration count period.
Defaults at reset: TerminalCount will default to all ones, all other control bits will default to zero.
MPC5200B User’s Manual, Rev. 3
7-74
Freescale Semiconductor
System Integration Unit (SIU)
7.5.1.2
SLT0–SLT1 Control Registers
Address MBAR + 0x0704, 0x0714
0
1
2
3
4
9
10
11
12
13
14
15
Timer
Enable
8
Interrupt
Enable
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
Reserved
W
Reset
6
Run_Wait
R
5
Reserved
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-50. SLT0–SLT1 Control Field Registers
Table 7-53. SLT0–SLT1 Control Field Register Descriptions
Bit
Name
Description
0:4
—
5
Run_ Wait
A high indicates the Timer should run continuously while enabled. When the Timer counter reaches
terminal count it immediately resets to 0 and resumes counting. If the Run/Wait bit is set low, the Timer
Counter expires, but then waits until the Timer is cleared (either by writing 1 to the status bit or by
disabling and re-enabling the Timer), before resuming operation.
6
Interrupt
Enable
CPU Interrupt is generated only if this bit is high. This bit does not affect operation of the Timer Counter
or Status Bit registers.
7
Timer
Enable
8:32
—
Reserved
While this bit is high the Timer operates normally, while low the Timer is reset and remains idle.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-75
System Integration Unit (SIU)
7.5.1.3
SLT0–SLT1 Count Value Registers
Address MBAR + 0x0708, 0x0718
0
1
2
3
R
5
6
7
8
9
10
11
12
13
14
15
TimerCount
Reserved
W
Reset
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
TimerCount
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-51. SLT0–SLT1 Count Value Registers
Table 7-54. SLT0– SLT1 Count Value Register Field Descriptions
Bit
Name
0:7
—
8:31
Timer
Count
7.5.1.4
Description
Reserved
Provides current state of the Timer counter. This register does not change while a read is in progress,
but the actual Timer counter continues unaffected.
SLT0–SLT1 Timer Status Registers
Address MBAR + 0x070C, 0x071C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ST
R
Reserved
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-52. SLT0–SLT1 Timer Status Registers
Table 7-55. SLT0–SLT1 Timer Status Register Field Descriptions
Bit
Name
Description
0:6
—
Reserved
7
ST
This status bit goes high whenever the Timer has reached Terminal Count. The bit is cleared by writing
1 to its bit position. If Interrupts are enabled, clearing this status bit also clears the interrupt.
8:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
7-76
Freescale Semiconductor
System Integration Unit (SIU)
7.6
Real-Time Clock
The Real-Time Clock (RTC) uses an external 32 kHz crystal to provide:
• Alarm
• Stop-watch
• Periodic interrupts
— Minute
— Second
— Midnight rollover (day)
The clock runs as long as power is maintained and the crystal is running, regardless of MPC5200B
power-down states.
The RTC module has the following features:
• Gull clock features
• Minute countdown timer—provides 256-minute capability, slightly over 4 hours
• Programmable alarm—operates on time of day only, not related to calendar
• Periodic interrupts for:
— 1 second
— 1 minute
— 1 day—operates only at midnight rollover
• Calendar features:
— Day
— Date
— Year
• Crystal support (32.768 kHz only)
RTC registers are writable, letting time and date be updated. If software enabled, RTC operates during all
MPC5200B power-down modes. At a reset, control registers are put in a default state such that no
interrupts generate until software enabled.
The RTC has two CPU interrupt signals connected to the Interrupt Controller, they are:
• RTC_Periodic, which is Main Level 5 fed by the Day, Minute, or Second sources.
• RTC_Stopwatch, which is Main Level 6 fed by the Alarm or Stopwatch sources.
Periodic interrupts are separately enabled by control bits, and a global enable must be asserted to allow
any of the periodic sources to generate a CPU interrupt. Clearing Periodic interrupts is accomplished by
writing 1 to the appropriate status bit.
Stopwatch and Alarm interrupts are enabled simply by initiating the function. In the Stopwatch case, this
means starting the Stopwatch, in the Alarm case, this means enabling the Alarm. Clearing Stopwatch or
Alarm interrupts is accomplished by writing 1 to the appropriate status bit.
Either of the RTC interrupts to the CPU can be used to awaken the MPC5200B from any power down
mode.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-77
System Integration Unit (SIU)
7.6.1
Real-Time Clock Signals
Table 7-56. Real-Time Clock Signals
Signal
I/O
Definition
RTC_XTAL_IN
I
Real-time Clock External Crystal/External Clock Input
RTC_XTAL_OUT
O
Real-time Clock External Crystal
Figure 7-53 shows a suggested circuit using an Epson ® MC-405 32.768KHz quartz crystal oscillator.
NOTE
External component values are highly dependent on the crystal. These
values will be different for different brands of crystals.
RTC_XTAL_IN
RTC_XTAL_OUT
R1
20 MΩ
MC-405
C1
12pF
R2
500 kΩ
C2
12pF
Figure 7-53. Diagram—Suggested Crystal Oscillator Circuit
7.6.2
Programming Note
Accesses to the RTC control registers are performed on the IP bus clock domain, but the RTC itself runs
on the (much) slower 32KHz crystal domain. When software initiates a setting of the Time and/or Date, it
must be realized that many IP bus clocks may go by before the setting actually takes effect. If this is a
system concern then it is recommended that software poll the Time and/or Date Status fields to confirm
the setting has occurred. This requires some careful bit manipulation of the expected status versus the
written control values, particularly if the output status is designated as 12-Hour format (input control
format is always 24-Hour).
It should be noted that updates to the RTC control registers, such as time and date set, must be
synchronized with the 32 kHz clock domain. It can take four 32KHz clock cycles for this synchronizing
hand shake to complete. Multiple time/date updates made within this four clock synchronizing period may
not be properly accepted by the RTC logic.
MPC5200B User’s Manual, Rev. 3
7-78
Freescale Semiconductor
System Integration Unit (SIU)
7.6.3
RTC Interface Registers
RTC uses 8 32-bit registers. These registers are located at an offset from MBAR of 0x0800. Register
addresses are relative to this offset. Therefore, the actual register address is: MBAR + 0x0800 + register
address.
Hyperlinks to the Interrupt Controller registers are provided below:
• RTC Time Set Register (0x0800)
• RTC Data Set Register (0x0804)
• RTC New Year and Stopwatch Register (0x0808)
• RTC Alarm and Interrupt Enable Register (0x080C)
• RTC Current Time Register (0x0810), read-only
• RTC Current Date Register (0x0814), read-only
• RTC Alarm and Stopwatch Interrupt Register (0x0818), read-only
• RTC Periodic Interrupt and Bus Error Register (0x081C), read-only
• RTC Test Register/Divides Register (0x0820)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-79
System Integration Unit (SIU)
7.6.3.1
RTC Time Set Register
Address MBAR + 0x0800
0
1
2
3
4
5
W
Reset
8
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
Reserved
0
0
Minute_set
0
0
0
0
SlctHour
pause_time
R
7
Reserved
Reserved
W
Reset
6
set_time
R
C24Hour_set
Reserved
0
0
0
0
Second_set
0
0
0
0
Figure 7-54. RTC Time Set Register
Table 7-57. RTC Time Set Register Field Descriptions
Bits
Name
0:5
—
6
set_time
Description
Reserved
A bit used in conjunction with pause_time bit (below) to cause a new time to be programmed into
the RTC. After a proper software sequence, the values in the *_set fields below are loaded.
The proper software sequence is:
1.
2.
3.
4.
Write register with pause_time 1 and set_time 0
Write register with pause_time 1 and set_time 1
Write register with pause_time 1 and set_time 0
Write register with pause_time 0 and set_time 0
At completion of Step 4, RTC is updated with the new time.
The C24Hour_set, Minute_set, and the Second_set fields should remain consistent values
throughout the four steps (i.e., at the desired new time values).
Note: Read-modify-write operations may disrupt this procedure, it is advised that four simple writes
occur. Byte writes to this byte are also acceptable.
7
pause_time
8:9
—
10
SlctHour
11:15
C24Hour_set
16:17
—
18:23
Minute_set
24:25
—
26:31
Second_set
Used with set_time above to perform time update. Must be zero for normal operation.
Reserved
This bit determines the hour output format.
• low bit = 24-hour format
• high bit = 12-hour format with AM/PM
Note: This bit does NOT affect time set procedure, it only affects how the Hour Status field is
presented.
Hour in 24-hour format written in RTC after successful state machine transition by set_time and
pause_time bits.
Note: This field is always written with 24-Hour format, it is NOT affected by SlctHour bit above.
Reserved
Minute written in RTC after successful state machine transition by set_time and pause_time bits.
Reserved
Second written in RTC after successful state machine transition by set_time and pause_time bits.
MPC5200B User’s Manual, Rev. 3
7-80
Freescale Semiconductor
System Integration Unit (SIU)
7.6.3.2
RTC Date Set Register
Address MBAR + 0x0804
2
3
4
5
7
8
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
R
Reserved
W
Reset
6
pause_date
1
set_date
0
Reserved
Month_set
R
Reserved
Weekday_set
Reserved
Day_set
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-55. RTC Data Set Register
Table 7-58. RTC Date Set Field Register Field Descriptions
Bits
Name
0:5
—
6
set_date
7
pause_date
8:10
—
11:15
Month_set
16:17
—
18:23
Weekday_set
24:25
—
26:31
Date_set
Description
Reserved
Operation of pause_date and set_date is similar to pause_time and set_time described in the time
set register.
Used with set_date above to perform date update. Must be zero for normal operation.
Reserved
New month written in RTC after successful state machine transition by set_date and pause_date
bits. Actually the lower 4 bits is used
Reserved
New weekday written in RTC after state machine transition by set_date and pause_date bits. 1 =
Monday; 7 = Sunday. Actually the lower 3 bits is used.
Reserved
New date written in RTC after state machine transition by set_date and pause_date bits. Actually
the lower 5 bits is used.
Note: Year_set in the following register is also part of the date set function.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-81
System Integration Unit (SIU)
7.6.3.3
RTC New Year and Stopwatch Register
Address MBAR + 0x0808
0
1
2
3
4
5
6
Reserved
W
Reset
8
9
10
11
write_SW
R
7
12
13
14
15
SW_set
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
R
Reserved
Year_set
W
Reset
0
0
0
0
0
0
0
0
0
0
0
Figure 7-56. RTC New Year and Stopwatch Register
Table 7-59. RTC New Year and Stopwatch Register Field Descriptions
Bits
Name
0:6
—
7
write_SW
8:15
SW_set
16:19
—
20:31
Year_set
Description
Reserved
Typical stopwatch operation is to write initial value into 8-bit wide SW_set and assert write_SW bit.
The write_SW bit is immediately auto cleared, but it triggers the stopwatch minute countdown to
begin.
Number of minutes to be written into stopwatch. Max is 255, a little over 4 hours.
Reserved
New year written in RTC after successful state machine transition by set_date and pause_date bits.
Note: This is part of date set function in the previous register.
MPC5200B User’s Manual, Rev. 3
7-82
Freescale Semiconductor
System Integration Unit (SIU)
7.6.3.4
RTC Alarm and Interrupt Enable Register
Address MBAR + 0x0800, 0x080C
1
2
3
4
5
6
R
Reserved
8
9
10
11
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
IntEn_min
IntEn_sec
Alm_24H_set
1
0
0
0
R
Reserved
Alm_Min_set
Reserved
W
Reset
13
IntEn_day
Reserved
12
MPEb
W
Reset
7
Alm_enable
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-57. RTC Alarm and Interrupt Enable Register
Table 7-60. RTC Alarm and Interrupt Enable Register Field Descriptions
Bits
Name
Description
0:6
—
7
Alm_enable
8:10
—
11:15
Alm_24Hset
16:17
—
18:23
Alm_Min_set
24:27
—
28
MPEb
29
IntEn_day
Enable bit of periodic interrupts at midnight rollover.
30
IntEn_min
Enable bit of periodic interrupts at minute rollover.
31
IntEn_sec
Enable bit of periodic interrupts at second rollover.
Reserved
Alarm Enable bit for once-a-day Alarm. If high, Alarm status/interrupt operation is enabled. If low,
Alarm setting is not compared to time of day.
Reserved
Hour setting (in 24 hour format) to be compared to time of day for the purpose of generating Alarm
Status/Interrupt. Can be written at any time.
Reserved
Minute setting to be compared to time of day for the purpose of generating Alarm Status/Interrupt.
Can be written at any time.
Reserved
Master Periodic Enable bar. Must be written low after reset to allow periodic interrupts.
Note: The Interrupt enable bits (28, 29, 30, 31) control the Periodic Interrupt coming from the RTC. The separate
Stopwatch/Alarm Interrupt signal does not have a specific interrupt enable bit. An Alarm interrupt is automatically
generated if Alarm is enabled and the Alarm setting matches time of day. Similarly, a Stopwatch expiration, which shares
the Alarm interrupt signal, automatically occurs once the Stopwatch is initiated and the Stopwatch counter expires.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-83
System Integration Unit (SIU)
7.6.3.5
RTC Current Time Register
This is a read-only register.
Address MBAR + 0x0810
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Hour
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
Minute
R
Second
Reserved
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-58. RTC Current Time Register
Table 7-61. RTC Current Time Register Field Descriptions
Bits
Name
0:10
—
11:15
Hour
16:17
—
18:23
Minute
24:25
—
26:31
Second
Description
Reserved
Hour format can be either 24-hour or 12-hour with AM/PM.
If 24-hour format is selected (SlctHour low in Reg 0), the whole 5-bit hour field designates current
time in 24-hour format.
If 12-hour format is selected (SlctHour high in Reg 0), the MSB of hour field indicates:
• Hour[0]=0: AM,
• Hour[0]=1: PM and
• Hour[1:4] designates current time in 12-hour format.
Reserved
Shows minutes in current time.
Reserved
Shows seconds in current time.
MPC5200B User’s Manual, Rev. 3
7-84
Freescale Semiconductor
System Integration Unit (SIU)
7.6.3.6
RTC Current Date Register
This is a read-only register.
Address MBAR + 0x0814
0
1
2
3
4
5
6
7
8
Month
R
9
10
11
12
Weekday
13
14
15
Day
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
0
0
0
0
0
0
26
27
28
29
30
31
0
0
0
0
0
Year
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
Figure 7-59. RTC Current Date Register
Table 7-62. RTC Current Date Register Field Descriptions
Bits
Name
0:3
—
4:7
Month
8:10
Weekday
11:15
Date
16:19
—
20:31
Year
Description
Reserved
Shows current month. 1 = January; 12 = December
Indicates day of week. (Monday = 1, Sunday = 7)
Shows current date. Calendar feature is implemented, therefore, day rollover at the end of month
including February (and Leap Years) is automatic.
Reserved
Shows current year. Max is 4052.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-85
System Integration Unit (SIU)
7.6.3.7
RTC Alarm and Stopwatch Interrupt Register
This is a read-only register.
Address MBAR + 0x0818
2
3
4
5
6
7
8
9
10
R
Reserved
11
12
13
14
15
Int_SW
1
Int_alm
0
Reserved
W
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
Alm_status
Reset
R
Reserved
SW_min
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-60. RTC Alarm and Stopwatch Interrupt Register
Table 7-63. RTC Alarm and Stopwatch Interrupt Register Field Descriptions
Bits
Name
0:6
—
7
Int_alm
8:14
—
15
Int_SW
16:22
—
23
Alm_status
24:31
SW_min
Description
Reserved
Status bit indicating that enabled once-a-day Alarm has occurred (active high). Alarm interrupt has
been activated. This bit and the Interrupt is cleared by writing 1 to this bit position.
Note: A Stopwatch interrupt, if also active, must be cleared before the interrupt signal to the CPU is
negated.
Reserved
Status bit indicating that Stopwatch expiration has occurred (active high). Stopwatch interrupt has
been activated. This bit and the Interrupt are cleared by writing 1 to this bit position.
Note: An Alarm interrupt, if also active, must be cleared before the interrupt signal to the CPU is
negated.
Reserved
Status bit indicating that once-a-day Alarm has occurred. Same as Int_alm bit above except that
clearing this bit does NOT clear the interrupt.
Minutes remaining in stopwatch.
MPC5200B User’s Manual, Rev. 3
7-86
Freescale Semiconductor
System Integration Unit (SIU)
7.6.3.8
RTC Periodic Interrupt and Bus Error Register
This is a read-only register.
Address MBAR + 0x081C
2
3
4
5
6
7
8
9
10
R
Reserved
11
12
13
14
15
Int_day
1
Bus_error_1
0
Reserved
W
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Reserved
Int_sec
0
Int_min
Reset
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 7-61. RTC Periodic Interrupt and Bus Error Register
Table 7-64. RTC Periodic Interrupt and Bus Error Register Field Descriptions
Bits
Name
0:6
—
7
Bus_error_1
8:14
—
15
Int_day
16:22
—
23
Int_min
24:30
—
31
Int_sec
Description
Reserved
Internal status register—If high, indicates software has attempted a write access to a read-only
register in this module. No actual register contents are corrupted if this happens.
Cleared by writing 1 to this bit position.
Reserved
Periodic interrupt at midnight. High indicates interrupt has occurred.
OR’d function of Int_day, Int_min and Int_sec produces RTC periodic interrupt to CPU interface.
Cleared by writing 1 to this bit position.
Reserved
Periodic interrupt at each minute rollover. High indicates interrupt has occurred.
Cleared by writing 1 to this bit position.
Reserved
Periodic interrupt at each second rollover. High indicates interrupt has occurred.
Cleared by writing 1 to this bit position.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
7-87
System Integration Unit (SIU)
7.6.3.9
RTC Test Register/Divides Register
This register is used during manufacturing test to expedite RTC testing and is not intended to be a user
register. However, no protection from software access is provided.
Address MBAR + 0x0820
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Rsvd
PTERM
ETERM
W
Reset
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 7-62. RTC Test Register/Divides Register
Table 7-65. RTC Test Register/Divides Register Field Descriptions
Bit
Name
Description
0
—
1:7
PTERM
Prescale Termination value, the number of 32KHz clocks per 7-bit prescale counter.
Default at reset is the maximum (and proper) value of 128 decimal. Any value lower than this
causes the RTC to run fast.
8:15
ETERM
External Termination value, the number of prescaled counts per 8-bit external counter.
Default at reset is the maximum (and proper) value of 256 decimal. Any value lower than this
causes the RTC to run fast.
16:31
—
Reserved
Reserved
Note: The 32.768KHz crystal frequency is divided by PTERM, which is then divided by ETERM to produce a 1 second time
interval. It is conceivable that a system might wish to adjust these values to produce a more locally accurate clock rate.
However, be aware that these values are affected by reset. Therefore, any adjustment value must be stored and retrieved
from non-volatile memory. Further, the adjustment could only increase the clock rate, not decrease it.
MPC5200B User’s Manual, Rev. 3
7-88
Freescale Semiconductor
Chapter 8
SDRAM Memory Controller
8.1
Overview
The following sections are contained in this document:
• Terminology and Notation
• Features
— Devices Supported
• Functional Description
— External Signals (SDRAM Side)
— Block Diagram
— Transfer Size
— Commands
• Operation
— Power-Up Initialization
• Programming the SDRAM Controller
• Memory Controller Registers
8.2
Terminology and Notation
Synchronous DRAM devices (SDR-SDRAM, DDR-SDRAM) are organized internally as columns by
rows by “banks”. Older type asynchronous DRAMs (FP, EDO) had rows and columns, but no internal
banks. Historically, the word “bank” was often used to refer to the set of memory devices all activated for
the same address range (same RAS). To avoid confusion between these two meanings of “bank”, this
document uses the term “bank” for the internal banks of an SDRAM device, and the term “space” to
indicate the memory device(s) activated for a common address range (same CS).
8.2.1
“Endian”-ness
Endian-ness is a source of seemingly endless confusion, yet it need not be. The source of the confusion
usually seems to be that bit number and/or byte address are improperly equated with significance. In fact,
bit number and byte address neither govern, nor imply, significance.
• Significance can only exist within an arithmetic context. An arithmetic context can be explicit or
implicit.
• An explicit arithmetic context is the scope of an arithmetic operator, that is, the operand(s) and
result(s).
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-1
SDRAM Memory Controller
•
•
•
An implicit arithmetic context exists within any collection of bits representing an atomic arithmetic
object, that is, a number. Significance does not extend beyond the boundaries of the bit range.
With a single exception, an arithmetic context, and therefore significance, can only exist within an
execution context, that is, an abstract process or the actual hardware to which it is mapped. The
single exception is an implicit context: A byte is an implicit arithmetic context.
Within an atomic object bj[m:n], in an arithmetic context, the most significant bit(byte) is on the
left (m), and the least significant bit(byte) is on the right (n), unless otherwise specified. The bit
numbering and byte addressing order from left to right (ascending or descending) is strictly
cosmetic.
Note that “:” in “m:n” is an arithmetic operator, and therefore m and n are arithmetic objects within
the operator scope. (If they weren’t, then the terms “ascending” and “descending” would be
meaningless.)
Note furthermore that the scope of the “:” operator does not include “obj”: obj could be of a
non-arithmetic type. One particular value (pattern of the bit range) of obj could represent “red”;
another value might represent “cold”. The bit patterns are enumerations of the legal values of obj;
sometimes arithmetic operations on enumeration values are valid for the concepts they represent,
sometimes not.
An enumeration value is not an arithmetic context. An enumeration value is a representation of an
object value; the nature of the object itself need not be numeric.
The enumeration value of a collection of bits (e.g. process variable) is only meaningful in the context of
a process which manipulates those bits in a manner consistent with the concept they represent. (A process
itself may be just a concept represented by a collection of bits manipulated (by a processing unit) in a
manner consistent with the concept they represent.) And in the context of the concept they represent, bits
and bytes may have significance.
But while transporting bits from one location to another, the hardware transport media almost never have
any knowledge of the concepts represented by the data, or the contexts in which they are valid (this does
not include protocol bits of the media, which may be added and stripped along the way). Nor is the
transportation of data an execution context. Without knowledge of atom boundaries and significance (if
any), the following convention is the de facto standard:
• “Bit significance, byte address”: From every observation point in a system, the relative address
order of bytes shall be maintained, and the relative significance of bits within each individual byte
shall be maintained, as if they represented an 8 bit unsigned binary integer. This is the implicit
arithmetic context of bytes. The “native” bit numbering and address significance order of different
observers shall have no bearing on the byte address or bit significance order of visible data.
Byte “swapping”, the intentional transposition of bytes’ relative addresses between a source and a
destination to maintain inter-byte significance, is improper.
Bit “swizzling”, the intentional renumbering of bit positions, is perfectly legal if necessary to
maintain intra-byte bit significance or inter-byte address order. When necessary, it is required;
when not necessary, it is prohibited.
To correctly join data path segments in accordance with this convention, the bit significance and byte
addressing of each segment must be specified.
MPC5200B User’s Manual, Rev. 3
8-2
Freescale Semiconductor
SDRAM Memory Controller
In this document, significance is always msb on the left, lsb on the right, if any significance relationship
exists.
All multi-bit components of the internal XL bus are defined with bit numbers and byte addresses (if any)
ascending from left to right: XLA[0:31], XLD[0:63]. The address of byte XLD[0:7] is a modulo 8
boundary, 8n (0x00, 0x08, 0x10, 0x18); the address of byte XLD[56:63] is a modulo 8 boundary plus offset
7, 8n+7 (0x07, 0x0F, 0x17, 0x1F).
All internal IP busses are defined with bit numbers descending from left to right: IPA[31:0], IPD[31:0].
The byte addresses of IPD[31:0] are defined ascending from left to right: IPD[31:24] is a modulo 4 address
boundary, 4n (0x00, 0x04, 0x08, 0x0C); IPD[7:0] is a modulo 4 address boundary plus offset 3, 4n+3
(0x03, 0x07, 0x0B, 0x0F). IPA[31:0] correspond left-to-right with XLA[0:31]. IPD[31:0] correspond
left-to-right with XLD[0:31] (XLA[29] == 0) or XLD[32:63] (XLA[29] == 1).
The Memory Controller registers are defined with byte addresses and bus bit numbers ascending from left
to right; but object bit fields within the registers may have ascending or descending bit numbers. The
numbering order of bits as a bus does not govern the numbering order of bits within a data object.
All external memory interface busses are defined with descending bit numbers: MEM_MA[12:0],
MEM_MBA[1:0], MEM_MDQ[31:0], MEM_DQM[3:0], MEM_MDQS[3:0]. Byte addressing of
MEM_MDQ[31:0], MEM_DQM[3:0], and MEM_MDQS[3:0] is ascending: MEM_MDQ[31:24],
MEM_DQM[3], and MEM_MDQS[3] are associated with address offset 0 modulo 4 (4n);
MEM_MDQ[7:0], MEM_DQM[0], and MEM_MDQS[0] are associated with address offset 3 modulo 4
(4n+3).
8.3
Features
The MPC5200B SDRAM Memory Controller has the following features:
• Supports either:
— SDR SDRAM—memory I/Os are powered at 3.3V
— DDR SDRAM—memory I/Os are powered at 2.5V
DDR SDRAM transfers data at twice the rate and uses MEM_CLK and MEM_CLK as a
differential pair.
• 32-bit memory data bus
• 16-bit memory data bus (connected only to upper half, bits 31-16, of the data bus).
• Maximum address space 512MB; 256MB per CS, 32-bit memory data bus:
— Up to 13 bits of row address (RA[12:0])
— Up to 12 bits of column address (CA[11:0])
— 2 bits of bank address (BA[1:0])
— Cannot use all 13 bits of RA and all 12 bits of CA at the same time. Maximum total address
bits (RA+CA+BA) ≤ 26; 26 address bits x 4Byte data bus = 256MB.
NOTE
In this document the Auto Precharge control signal (A10 usually), conveyed
on the memory address bus along with column address, is never included in
the stated CA width; it is always in addition to the CA width.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-3
SDRAM Memory Controller
The Memory Controller does not support memory devices with >8 CA bits,
but <13 RA bits.
RA[12:0] correspond directly with MEM_MA[12:0]. CA[7:0] correspond
directly with MEM_MA[7:0]. CA[11:8] do not correspond directly with
MEM_MA[12:8].
•
Maximum address space 512MB; 256MB per CS, 16-bit memory data bus:
— Up to 13 bits of row address (RA[12:0])
— Up to 13 bits of column address (CA[12:0])
— 2 bits of bank address (BA[1:0])
NOTE
In this document the Auto Precharge control signal (A10 usually), conveyed
on the memory address bus along with column address, is never included in
the stated CA width; it is always in addition to the CA width.
The Memory Controller does not support memory devices with >9 CA bits,
but <13 RA bits.
RA[12:0] correspond directly with MEM_MA[12:0]. CA[7:0] correspond
directly with MEM_MA[7:0]. CA[11:8] do not correspond directly with
MEM_MA[12:8].
•
Maximum of 2 pinned-out Chip Selects (CS).
— CS0 is pinned out all the time (i.e., a dedicated pin).
— CS1 is only available if the GPIO_WKUP6 pin is programmed to be an SDRAM chip select.
The default function of the pin is GPIO_WKUP6.
— To configure the GPIO_WKUP6 pin as SDRAM chip select, write 1 to the Port Configuration
register msb.GPS Port Configuration Register
NOTE
The GPIO_WKUP_6 pin, which can be programmed as CS1 for the
SDRAM bus, is powered by the Memory Vdd supply. When using Single
Data Rate SDRAMS, the Memory Vdd supply is 3.3 volts. When using
Double Data Rate SDRAMs, the Memory Vdd supply is 2.5 volts.
If GPIO_WKUP_6 is used as a GPIO pin (as opposed to CS1), the input
levels must be appropriate for the voltage on the Memory Vdd supply. For
instance, if DDR memory is used which requires a Vdd_mem supply of 2.5
volts, then logic levels applied to GPIO_WKUP_6 must not exceed 2.5
volts.
— The size of each CS space is independent. It is possible but not recommended to overlap the
address space pointed to by the 2 independent chip select.
NOTE
Maximum 4 physical memory devices total, all CS.
MPC5200B User’s Manual, Rev. 3
8-4
Freescale Semiconductor
SDRAM Memory Controller
•
Minimum allocatable address space 1MB:
— 8 bits of row address;
— 8 bits of column address for 32-bit interface, 9 bits of column address for 16-bit interface;
— 2 bits of bank address;
— 1 chip select;
NOTE
Minimum allocatable address space is much smaller (8Mb) than the lowest
density available (64Mb). Excess memory bits are not used or simply
wasted.
•
•
•
•
32 Byte PowerPC e300 critical word first burst transfer;
Supports PowerPC e300 bus, 2-stage address/data pipeline (one data tenure in progress, one
pipelined address tenure);
Supports SDRAM Power Down and Self Refresh modes;
Supports page mode and bursting to maximize the data rate;
NOTE
The SDRAM Memory Controller (MC) does not support error detect or
parity check.
8.3.1
Devices Supported
Supported SDRAM devices (SDR and DDR both) are:
• 64Mbit;
• 128Mbit;
• 256Mbit;
• 512Mbit;
• 1Gbit when available, assuming the same interface style;
• 2Gbit when available, assuming the same interface style;
The MPC5200B limits external memory to a maximum of 4 memory chips placed within 5 cm of the
MPC5200B processor. Flight delay on the board should be no more than 0.5 ns each way, and all signals
must be matched. The maximum load is 20pF/pin.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-5
SDRAM Memory Controller
Table 8-1. 32-Bit External Data Width Legal Memory Configurations (Sheet 1 of 6)
Row Bits
Column Bits
Bank Bits
Spaces
(CS)
11
8
2
12
8
2
Physical
Address Range
1
1 x 64Mb
512K x 4bank x 32bit
8MB
2
2 x 64Mb
512K x 4bank x 32bit
16MB
1
2 x 64Mb
1M x 4bank x 16bit
16MB
1 x 128Mb
1M x 4bank x 32bit
2
4 x 64Mb
1M x 4bank x 16bit
32MB
2 x 128Mb
1M x 4bank x 32bit
12
13
9
8
2
2
1
4 x 64Mb
2M x 4bank x 8bit
32MB
2 x 128Mb
2M x 4bank x 16bit
1 x 256Mb
2M x 4bank x 32bit
2
4 x 128Mb
2M x 4bank x 16bit
64MB
2 x 256Mb
2M x 4bank x 32bit
12
13
10
9
2
2
1
4 x 128Mb
4M x 4bank x 8bit
64MB
2 x 256Mb
4M x 4bank x 16bit
1 x 512Mb
4M x 4bank x 32bit
2
4 x 256Mb
4M x 4bank x 16bit
128MB
2 x 512Mb, 2 CS
4M x 4bank x 32bit
12
13
11
10
2
2
1
4 x 256Mb
8M x 4bank x 8bit
128MB
2 x 512Mb
8M x 4bank x 16bit
1 x 1Gb
8M x 4bank x 32bit
2
4 x 512Mb
8M x 4bank x 16bit
256MB
2 x 1Gb
8M x 4bank x 32bit
MPC5200B User’s Manual, Rev. 3
8-6
Freescale Semiconductor
SDRAM Memory Controller
Table 8-1. 32-Bit External Data Width Legal Memory Configurations (Sheet 2 of 6)
Row Bits
Column Bits
Bank Bits
12
13
12
11
2
2
Spaces
(CS)
1
Physical
Address Range
4 x 512Mb
16M x 4bank x 8bit
256MB
2 x 1Gb
16M x 4bank x 16bit
1 x 2Gb
16M x 4bank x 32bit
2
4 x 1Gb
16M x 4bank x 16bit
512MB
2 x 2Gb
16M x 4bank x 32bit
11
8
2
1
1 x 64Mb
512K x 4bank x 32bit
24MB
+
12
8
2
1
1 x 128Mb
1M x 4bank x 32bit
11
8
2
1
1 x 64Mb
512K x 4bank x 32bit
40MB
+
12
13
9
8
2
1
1 x 256Mb
2M x 4bank x 32bit
11
8
2
1
1 x 64Mb
512K x 4bank x 32bit
72MB
+
12
13
10
9
2
1
1 x 512Mb
4M x 4bank x 32bit
11
8
2
1
1 x 64Mb
512K x 4bank x 32bit
136MB
+
12
13
11
10
2
1
1 x 1Gb
8M x 4bank x 32bit
11
8
2
1
1 x 64Mb
512K x 4bank x 32bit
264MB
+
12
13
12
11
2
1
1 x 2Gb
16M x 4bank x 32bit
12
8
2
1
2 x 64Mb
1M x 4bank x 16bit
48MB
+
12
13
9
8
2
1
2 x 128Mb
2M x 4bank x 16bit
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-7
SDRAM Memory Controller
Table 8-1. 32-Bit External Data Width Legal Memory Configurations (Sheet 3 of 6)
Row Bits
Column Bits
Bank Bits
Spaces
(CS)
12
8
2
1
Physical
Address Range
2 x 64Mb
1M x 4bank x 16bit
80MB
+
12
13
10
9
2
1
2 x 256Mb
4M x 4bank x 16bit
12
8
2
1
2 x 64Mb
1M x 4bank x 16bit
144MB
+
12
13
11
10
2
1
2 x 512Mb
8M x 4bank x 16bit
12
8
2
1
2 x 64Mb
1M x 4bank x 16bit
272MB
+
12
13
12
11
2
1
2 x 1Gb
16M x 4bank x 16bit
12
8
2
1
1 x 128Mb
1M x 4bank x 32bit
48MB
+
12
13
9
8
2
1
1 x 256Mb
2M x 4bank x 32bit
12
8
2
1
1 x 128Mb
1M x 4bank x 32bit
80MB
+
12
13
10
9
2
1
1 x 512Mb
4M x 4bank x 32bit
12
8
2
1
1 x 128Mb
1M x 4bank x 32bit
144MB
+
12
13
11
10
2
1
1 x 1Gb
8M x 4bank x 32bit
12
8
2
1
1 x 128Mb
1M x 4bank x 32bit
272MB
+
12
13
12
11
2
1
1 x 2Gb
16M x 4bank x 32bit
12
9
2
1
2 x 128Mb
2M x 4bank x 16bit
96MB
+
12
10
2
1
2 x 256Mb
4M x 4bank x 16bit
MPC5200B User’s Manual, Rev. 3
8-8
Freescale Semiconductor
SDRAM Memory Controller
Table 8-1. 32-Bit External Data Width Legal Memory Configurations (Sheet 4 of 6)
Row Bits
Column Bits
Bank Bits
Spaces
(CS)
13
8
2
1
Physical
Address Range
2 x 128Mb
2M x 4bank x 16bit
96MB
+
13
9
2
1
2 x 256Mb
4M x 4bank x 16bit
12
9
2
1
2 x 128Mb
2M x 4bank x 16bit
160MB
+
12
11
2
1
2 x 512Mb
8M x 4bank x 16bit
13
8
2
1
2 x 128Mb
2M x 4bank x 16bit
160MB
+
13
10
2
1
2 x 512Mb
8M x 4bank x 16bit
12
9
2
1
2 x 128Mb
2M x 4bank x 16bit
288MB
+
12
12
2
1
2 x 1Gb
16M x 4bank x 16bit
13
8
2
1
2 x 128Mb
2M x 4bank x 16bit
288MB
+
13
11
2
1
2 x 1Gb
16M x 4bank x 16bit
12
9
2
1
1 x 256Mb
2M x 4bank x 32bit
96MB
+
12
10
2
1
1 x 512Mb
4M x 4bank x 32bit
13
8
2
1
1 x 256Mb
2M x 4bank x 32bit
96MB
+
13
9
2
1
1 x 512Mb
4M x 4bank x 32bit
12
9
2
1
1 x 256Mb
2M x 4bank x 32bit
160MB
+
12
11
2
1
1 x 1Gb
8M x 4bank x 32bit
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-9
SDRAM Memory Controller
Table 8-1. 32-Bit External Data Width Legal Memory Configurations (Sheet 5 of 6)
Row Bits
Column Bits
Bank Bits
Spaces
(CS)
13
8
2
1
Physical
Address Range
1 x 256Mb
2M x 4bank x 32bit
160MB
+
13
10
2
1
1 x 1Gb
8M x 4bank x 32bit
12
9
2
1
1 x 256Mb
2M x 4bank x 32bit
288MB
+
12
12
2
1
1 x 2Gb
16M x 4bank x 32bit
13
8
2
1
1 x 256Mb
2M x 4bank x 32bit
288MB
+
13
11
2
1
1 x 2Gb
16M x 4bank x 32bit
12
10
2
1
2 x256Mb
4M x 4bank x 16bit
192MB
+
12
11
2
1
2 x 512Mb
8M x 4bank x 16bit
13
9
2
1
2 x256Mb
4M x 4bank x 16bit
192MB
+
13
10
2
1
2 x 512Mb
8M x 4bank x 16bit
12
10
2
1
2 x256Mb
4M x 4bank x 16bit
320MB
+
12
12
2
1
2 x 1Gb
16M x 4bank x 16bit
13
9
2
1
2 x256Mb
4M x 4bank x 16bit
320MB
+
13
11
2
1
2 x 1Gb
16M x 4bank x 16bit
12
10
2
1
1 x 512Mb
4M x 4bank x 32bit
192MB
+
12
11
2
1
1 x 1Gb
8M x 4bank x 32bit
MPC5200B User’s Manual, Rev. 3
8-10
Freescale Semiconductor
SDRAM Memory Controller
Table 8-1. 32-Bit External Data Width Legal Memory Configurations (Sheet 6 of 6)
Row Bits
Column Bits
Bank Bits
Spaces
(CS)
13
9
2
1
Physical
Address Range
1 x 512Mb
4M x 4bank x 32bit
192MB
+
13
10
2
1
1 x 1Gb
8M x 4bank x 32bit
12
10
2
1
1 x 512Mb
4M x 4bank x 32bit
320MB
+
12
12
2
1
1 x 2Gb
16M x 4bank x 32bit
13
9
2
1
1 x 512Mb
4M x 4bank x 32bit
320MB
+
13
11
2
1
1 x 2Gb
16M x 4bank x 32bit
12
10
2
1
2 x 512Mb
8M x 4bank x 32bit
384MB
+
12
12
2
1
2 x 1Gb
16M x 4bank x 32bit
13
9
2
1
2 x 512Mb
8M x 4bank x 32bit
384MB
+
13
11
2
1
2 x 1Gb
16M x 4bank x 32bit
12
11
2
1
1 x 1Gb
8M x 4bank x 32bit
384MB
+
12
12
2
1
1 x 2Gb
16M x 4bank x 32bit
13
10
2
1
1 x 1Gb
8M x 4bank x 32bit
384MB
+
13
11
2
1
1 x 2Gb
16M x 4bank x 32bit
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-11
SDRAM Memory Controller
Table 8-2. 16-Bit External Data Width Legal Memory Configurations (Sheet 1 of 4)
Row Bits
Column Bits
Bank Bits
Spaces
(CS)
12
10
2
1
Physical
Address Range
2 x 128Mb
4M x 4bank x 8bit
32MB
1 x 256Mb
4M x 4bank x 16bit
2
4 x 64Mb
1M x 4bank x 16bit
32MB
2 x 128Mb
1M x 4bank x 32bit
12
9
2
1
2 x 64Mb
2M x 4bank x 8bit
16MB
1 x 128Mb
2M x 4bank x 16bit
2
4 x 64Mb
2M x 4bank x 8bit
32MB
2 x 128Mb
2M x 4bank x 16bit
12
10
2
1
2 x 128Mb
4M x 4bank x 8bit
32MB
1 x 256Mb
4M x 4bank x 16bit
2
4 x 128Mb
4M x 4bank x 8bit
64MB
2 x 256Mb
4M x 4bank x 16bit
13
10
2
1
2 x 256Mb
8M x 4bank x 8bit
64MB
1 x 512Mb
8M x 4bank x 16bit
2
4 x 256Mb
8M x 4bank x 8bit
128MB
2 x 512Mb
8M x 4bank x 16bit
13
11
2
1
2 x 512Mb
16M x 4bank x 8bit
128MB
1 x 1Gb
16M x 4bank x 16bit
2
4 x 512Mb
16M x 4bank x 8bit
256MB
2 x 1Gb
16M x 4bank x 16bit
12
9
2
1
2 x 64Mb
2Mx 4bank x 8bit
32MB
+
12
9
2
1
1 x 128Mb
2M x 4bank x 16bit
MPC5200B User’s Manual, Rev. 3
8-12
Freescale Semiconductor
SDRAM Memory Controller
Table 8-2. 16-Bit External Data Width Legal Memory Configurations (Sheet 2 of 4)
Row Bits
Column Bits
Bank Bits
Spaces
(CS)
12
9
2
12
10
12
9
Physical
Address Range
1
2 x 64Mb
2Mx 4bank x 8bit
48MB
2
1
2 x 128Mb
4M x 4bank x 8bit
2
1
2 x 64Mb
2Mx 4bank x 8bit
+
48MB
+
13
9
2
1
1 x 256Mb
4M x 4bank x 16bit
12
9
2
1
2 x 64Mb
2Mx 4bank x 8bit
80MB
+
13
10
2
1
2 x 256Mb
8M x 4bank x 8bit
12
9
2
1
2 x 64Mb
2Mx 4bank x 8bit
80MB
+
13
10
2
1
1 x 512Mb
8M x 4bank x 16bit
12
9
2
1
2 x 64Mb
2M x 4bank x 8bit
13
11
2
1
2 x 512Mb
16M x 4bank x 8bit
12
9
2
1
2 x 64Mb
2M x 4bank x 8bit
144MB
+
144MB
+
13
11
2
1
1 x 1Gb
16M x 4bank x 16bit
12
9
2
1
1 x 128Mb
2M x 4bank x 16bit
48MB
+
13
9
2
1
1 x 256Mb
4M x 4bank x 16bit
12
9
2
1
1 x 128Mb
2M x 4bank x 16bit
80MB
+
13
10
2
1
2 x 256Mb
8M x 4bank x 8bit
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-13
SDRAM Memory Controller
Table 8-2. 16-Bit External Data Width Legal Memory Configurations (Sheet 3 of 4)
Row Bits
Column Bits
Bank Bits
Spaces
(CS)
12
9
2
13
10
12
9
Physical
Address Range
1
1 x 128Mb
2M x 4bank x 16bit
80MB
2
1
1 x 512Mb
8M x 4bank x 16bit
2
1
1 x 128Mb
2M x 4bank x 16bit
+
144MB
+
13
11
2
1
2 x 512Mb
16M x 4bank x 8bit
12
9
2
1
1 x 128Mb
2M x 4bank x 16bit
144MB
+
13
11
2
1
1 x 1Gb
16M x 4bank x 16bit
12
10
2
1
2 x 128Mb
4M x 4bank x 8bit
64MB
+
13
9
2
1
1 x 256Mb
4M x 4bank x 16bit
12
10
2
1
2 x 128Mb
4M x 4bank x 8bit
13
10
2
1
2 x 256Mb
8M x 4bank x 8bit
12
10
2
1
2 x 128Mb
4M x 4bank x 8bit
64MB
+
80MB
+
13
10
2
1
1 x 512Mb
8M x 4bank x 16bit
12
10
2
1
2 x 128Mb
4M x 4bank x 8bit
160MB
+
13
11
2
1
2 x 256Mb
16M x 4bank x 8bit
12
10
2
1
2 x 128Mb
4M x 4bank x 8bit
160MB
+
13
11
2
1
1 x Gb
16M x 4bank x 16bit
MPC5200B User’s Manual, Rev. 3
8-14
Freescale Semiconductor
SDRAM Memory Controller
Table 8-2. 16-Bit External Data Width Legal Memory Configurations (Sheet 4 of 4)
Row Bits
Column Bits
Bank Bits
Spaces
(CS)
13
9
2
13
10
13
9
Physical
Address Range
1
1 x 256Mb
4M x 4bank x 16bit
96MB
2
1
1 x 512Mb
8M x 4bank x 16bit
2
1
1 x 256Mb
4M x 4bank x 16bit
+
160MB
+
13
11
2
1
2 x 512Mb
16M x 4bank x 8bit
13
9
2
1
1 x 256Mb
4M x 4bank x 16bit
160MB
+
13
11
2
1
1 x 1Gb
16M x 4bank x 16bit
13
10
2
1
2 x 256Mb
8M x 4bank x 8bit
128MB
+
13
10
2
1
1 x 512Mb
8M x 4bank x 16bit
13
10
2
1
2 x 256Mb
8M x 4bank x 8bit
13
11
2
1
2 x 512Mb
16M x 4bank x 8bit
13
10
2
1
2 x 256Mb
8M x 4bank x 8bit
192MB
+
192MB
+
13
11
2
1
1 x 1Gb
16M x 4bank x 16bit
13
10
2
1
1 x 512Mb
8M x 4bank x 16bit
192MB
+
13
11
2
1
1 x 1Gb
16M x 4bank x 16bit
13
11
2
1
2 x 512Mb
16M x 4bank x 8bit
256MB
+
13
11
2
1
1 x 1Gb
16M x 4bank x 16bit
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-15
SDRAM Memory Controller
Figure 8-1 shows an example memory configuration of 1 space (CS) of 4 devices of 128Mbit (4M x 4
banks x 8bit) DDR SDRAM, for a total memory size of 64MB.
7:0
Glue
A_CS
D_CS
SDRAM
Memory Controller
A_CS
D_CS
R/W
DM[0:7]
R/W
DM_I[0:7]
REG_CS
REG_CS
REGD_CS
processor bus
DQ[31:0]
BA[1:0]
CLK
CLK
CKE
0
0
DQ[7:0]
BA[1:0]
15:8
DQ[7:0]
BA[1:0]
CLK
CLK
CLK
CKE
CS
RAS
CLK
CKE
CS
RAS
CAS
DQS
DM
A[11:0]
1
1
WE
CAS
DQS
DM
A[11:0]
WE
REGD_CS
DI[0:63]
ADDR[4:29]
AACK
ARTRY
TBST
DO[0:63]
TA
RESET
CLK
CS[0]
CS[1]
RAS
CAS
DQS[3:0]
DM[3:0]
MA[11:0]
A[11:0]
WE
DQ[31:0]
23:16
Note: For 16-Bit External Data Width,
mem_ps = 1, only DQ[31:16] should
be connected to the external memories.
2
2
31:24
DQ[7:0]
BA[1:0]
DQ[7:0]
BA[1:0]
CLK
CLK
CLK
CKE
CS
RAS
CLK
CKE
CS
RAS
CAS
DQS
DM
A[11:0]
WE
3
3
CAS
DQS
DM
A[11:0]
WE
Figure 8-1. Block Diagram—SDRAM Subsystem Example
Both chip selects contribute together to access the whole memory. Each CS base address and size are
programmed independently. Each CS base address must be size-aligned.
The MPC5200B does not support DIMM memory modules, however it can support a DIMM-compatible
EEPROM using an on-chip I2C chip interface (with appropriate configuration of pin functions).
MPC5200B User’s Manual, Rev. 3
8-16
Freescale Semiconductor
SDRAM Memory Controller
8.4
Functional Description
8.4.1
External Signals (SDRAM Side)
Table 8-3. SDRAM External Signals
Signal Name
Description
Outputs
MEM_CLK
Memory Clock (frequency is the same as the internal XL bus clock). Maximum allowed value is
132 MHz.
MEM_CLK
Inverted Memory Clock, used for DDR-SDRAM devices.
Internally generated “DQS” for SDR-SDRAM devices.
MEM_CLK_EN
MEM_CS[0],
MEM_CS[1]
Memory Clock Enable (CKE). When low, the SDRAM is disabled. Used to switch memory into and
out of self-refresh/power-down modes.
Memory Command Select. Each space has a command select to enable commands
MEM_RAS
Memory Row Address Select
MEM_CAS
Memory Column Address Select
MEM_WE
Memory Write Enable
MEM_MA[12:0]
Memory Multiplexed Address. These are used as row address, column address, or
Mode(Extended Mode) register data, depending on the command issued.
Row address during Active command.
Column address during Read and Write commands. MEM_MA10 is used as a control signal
instead of an address line, to control Auto Precharge operation. The Auto Precharge control bit is
not counted as a column address bit. The Memory Controller does not use Auto Precharge.
Mode register data during Load Mode Register and Load Extended Mode Register (DDR only)
commands.
MEM_MBA[1:0]
Memory Bank Address, or Mode register select, depending on the command issued.
Bank address during Precharge Selected, Active, Read, and Write commands. The Memory
Controller does not use the Precharge Selected command.
Mode register select during Load Mode Register and Load Extended Mode Register (DDR only)
commands. Although SDR memory only has a single internal Mode register, the Bank Address
bits must still be valid.
MEM_DQM[3:0]
Memory Data Mask. Addressing = 0:3
0 Data byte read/write is enabled
1 Data byte read/write is inhibited
SDR memories 3-state inhibited data during reads; DDR memories ignore Data Mask during
reads. The memory controller never masks read data.
Bidirectional Signals
MEM_MDQ[31:0]
Memory Data. Addressing = 0:3.
MEM_MDQS[3:0]
Memory Data Strobe, DDR only. Addressing = 0:3.
Note: Signals MEM_RAS, MEM_CAS, MEM_WE, and MEM_CLK_EN encode the SDRAM commands to control the different
SDRAM operations.
Note: For 16-bit mode external pull-down devices are required on MEM_MDQS[1:0].
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-17
SDRAM Memory Controller
8.4.2
Block Diagram
Figure 8-2 shows the SDRAM MC block diagram. It is important to notice:
• the internal XL bus is 64 bits wide
• the external interface to the SDRAM is only 32 bits wide
Internal XL bus
The SDRAM row, column, and bank address bits are extracted from internal address XLA[4:29];
XLA[29:31], TSIZ[0:2], and TBST control the data path (MDQ, DQM).
Col
Col
ADDR[4:29]
Bk
Address
Input
MUX
Row
Address
Pipeline
Latches
Bk
Row
Sel
A_CS
Address
Output
MUX
A[12:0]
BA[1:0]
CS
MUX
External Interface
CS[1:0]
RAS
SDRAM
Memory Controller
State Machine
D_CS
ADDR[30:31]
WE
CKE
DQM[3:0]
OUT_EN[3:0]
TSIZ[0:2]
DQSOUT
TBST
Internal XL bus
CAS
DQSIN
DIN[0:63]
Write Data Buffer
DOUT[0:63]
MDOUT[31:0]
MDIN[31:0]
Read Data Buffer
Note: For 16-Bit External Data Width,
mem_ps = 1, only MDOUT[31:16] and
MDIN[31:16] should be connected to
the external memories.
Figure 8-2. Block Diagram—SDRAM Memory Controller
MPC5200B User’s Manual, Rev. 3
8-18
Freescale Semiconductor
SDRAM Memory Controller
8.4.3
Transfer Size
All SDRAMs are “burst oriented” for read and write operations. The memory will move a full burst of data
for every Read and Write command unless the command is interrupted by a new command, explicitly
terminated, or the data is masked. (Data mask does not shorten the command, it only inhibits data capture.)
The Memory Controller can interrupt certain commands, by supporting the explicit Burst Terminate
command.
The Memory Controller supports Burst and Non-Burst, or Single, transfers corresponding to the
homonymous XL bus transfer types. A Burst transfer is a 32 Byte block, 4 XLB data beats (8 memory data
beats), spanning a modulo 32 address range. The starting address can be any modulo 8 boundary within
the modulo 32 range; the address “wraps” from the highest address to the lowest address of the range if
the starting address is not aligned at the beginning of the range. No data is masked during a burst.
The beat address order of the XL bus is sequential. Based on the start address issued by the internal master,
the address order of the 4 XLD beats in a burst transfer is one of the following:
• 0x00, 0x08, 0x10, 0x18 (memory data address order 0x00, 0x04, 0x08, 0x0c, ...)
• 0x08, 0x10, 0x18, 0x00
• 0x10, 0x18, 0x00, 0x08
• 0x18, 0x00, 0x08, 0x10
To implement single-beat transfers, the Memory Controller uses DM[3:0] to mask unwanted bytes or
words. The Memory Controller supports all single-beat transfer sizes from 1 to 8 contiguous bytes within
a single modulo 8 address range.
A Single transfer is exactly 1 beat on the XLD bus. The relevant data for a Single transfer is always within
the first 2 beats on the memory bus, allowing the command to be aborted (interrupt) as soon as possible.
8.4.4
Commands
When an internal bus master accesses SDRAM address space, the Memory Controller generates the
corresponding SDRAM command. Table 8-4 lists SDRAM commands supported by the Memory
Controller.
Table 8-4. SDRAM Commands
Function
Symbol
CKE
CS
RAS
CAS
WE
BA[1:0]
A10
Other A
Command Inhibit
INH
H
H
X
X
X
X
X
X
No Operation
NOP
H
L
H
H
H
X
X
X
Read
READ
H
L
H
L
H
V
L
V
Write
WRIT
H
L
H
L
L
V
L
V
Row and Bank Active
ACT
H
L
L
H
H
V
V
V
Burst Terminate
BST
H
L
H
H
L
X
X
X
Precharge All Banks
PALL
H
L
L
H
L
X
H
X
Load Mode Register
LMR
H
L
L
L
L
LL
V
V
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-19
SDRAM Memory Controller
Table 8-4. SDRAM Commands (continued)
Function
Symbol
CKE
CS
RAS
CAS
WE
BA[1:0]
A10
Other A
Load Extended Mode Register
LEMR
H
L
L
L
L
LH
V
V
CBR Auto Refresh
AREF
H
L
L
L
H
X
X
X
Self Refresh
SREF
H→L
L
L
L
H
X
X
X
Power Down
PDWN
H→L
H
X
X
X
X
X
X
Note:
1.
2.
3.
4.
H = High
L = Low
V = Valid
X = Don’t care
Many commands require a delay before the next command may be issued; sometimes the delay depends
on the type of the next command. These delay requirements are managed by the values programmed in the
Memory Controller Configuration registers.
8.4.4.1
Load Mode/Extended Mode Register Command
The Load Mode Register (LMR) and Load Extended Mode Register (LEMR) commands are used during
SDRAM initialization only.
When a bus master writes to the Memory Controller Mode register, the Memory Controller generates the
LMR or LEMR command to forward the data to the memory. In these two operations, data written to the
Memory Controller is put on the SDRAM address and bank select busses. The bank select data selects the
Mode or Extended Mode register.
The Memory Controller Mode register must be enabled before writing, and disabled after all memory
Mode register operations are complete. This is done by setting or clearing the Control register mode_en
bit. See Section 8.6.1.1, “Memory Controller Mode Register.”
Some of the configuration parameters required by the memory are also needed by the Memory Controller
for command generation. The parameters are:
• burst length
• latency
These must be programmed in the Memory Controller Configuration registers separately from setting the
memory Mode register.
MPC5200B User’s Manual, Rev. 3
8-20
Freescale Semiconductor
SDRAM Memory Controller
8.4.4.2
Precharge All Banks Command
The Memory Controller issues the Precharge command only when necessary for one of the following
conditions:
• Access to a new row
• Refresh interval elapsed
• Software commanded Precharge
NOTE
DRAMs also have a maximum bank open period, after which a precharge is
required. The Memory Controller does not time the bank open period
because the refresh interval is always less.
The Precharge command puts SDRAM into an idle state. In this state, the following commands can be
issued:
• Refresh
• Bank Active
• Load Mode/Extended Mode Register
NOTE
The Memory Controller does not support the Precharge Selected Bank
memory command.
8.4.4.3
Row and Bank Active Command
SDRAM devices have 4 internal banks. A particular row and bank of memory must be activated to allow
read and write accesses. For page mode support, the Memory Controller keeps the active row and bank(s)
open as long as possible.
In an SDRAM device each internal bank can have one active row. The Bank Active command activates a
row of one bank. The Memory Controller only supports the same active row in all banks of each CS space
independently. The page size of a CS space is equal to the space size divided by the number of rows; but
the page may not be contiguous in the XLB address space because the XLA bits for memory column
address bits [11:8] and memory column address [7:0] are not consecutive. The size of a contiguous page
segment is 4KB, corresponding to 8 CA bits plus 2 BA bits times 4Bytes of data.
Each CS space almost always has an active row. If no row is already active, any read or write access will
activate one; and the only reasons that a row is deactivated are to activate a different one instead, or to
perform a refresh.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-21
SDRAM Memory Controller
8.4.4.4
Read Command
When the Memory Controller receives a read request via the XL bus, it first checks the row and bank of
the new access. If the address falls within the active row of an active bank, it is a page hit, and the Read
command is issued as soon as possible (pending any delays required by previous commands). If the
address is within the active row, but the needed bank is inactive, or if there is no active row, the Memory
Controller will issue a Bank Active command followed by the Read command. If the address is not within
the active row, the Memory Controller will issue a Precharge command to close the active row, followed
by a Bank Active command to activate the necessary bank and row for the new access, followed finally by
the Read command.
The Precharge and Bank Active commands (if necessary) can sometimes be issued in parallel with an
on-going data movement.
All Reads, whether Burst or Single, must be allowed to complete the entire burst length on the memory
bus. With SDR memory, the Data Masks are negated throughout the entire Read burst length. With DDR
memory, the Data Masks are asserted throughout the entire Read burst length; but DDR memory ignores
the Data Masks during Reads.
8.4.4.5
Write Command
When the Memory Controller receives a write request via the XL bus, it first checks the row and bank of
the new access. If the address falls within the active row of an active bank, it is a page hit, and the Write
command is issued as soon as possible (pending any delays required by previous commands). If the
address is within the active row but the needed bank is inactive, or if there is no active row, the Memory
Controller will issue a Bank Active command followed by the Write command. If the address is not within
the active row, the Memory Controller will issue a Precharge command to close the active row, followed
by a Bank Active command to activate the necessary row and bank for the new access, followed finally by
the Write command.
The Precharge and Bank Active commands (if necessary) can sometimes be issued in parallel with an
on-going data movement.
With both SDR and DDR memory, a Read command can be issued overlapping the masked beats at the
end of a previous Single Write of the same CS; the Read command aborts the remaining (unnecessary)
Write beats. With DDR memory, a Read of one CS can even overlap the masked beats at the end of a
previous Single Write of the other CS. The Write is not aborted, but the masks remain asserted. This is not
possible with SDR memory, because SDR memory cannot be read with the masks asserted.
8.4.4.6
Burst Terminate Command
SDRAMs are burst-only devices, but they provide mechanisms to truncate a burst if not all of the beats are
needed. The burst terminate command is used to truncate read bursts (SDR and DDR) and write bursts
(SDR). The most recently registered read or write command prior to the burst terminate command will be
truncated. The open page which the read or write burst was terminated from remains open.
MPC5200B User’s Manual, Rev. 3
8-22
Freescale Semiconductor
SDRAM Memory Controller
8.4.4.7
Auto Refresh Command
The Memory Controller issues Auto Refresh commands according to the ref_interval value specified in
the Memory Controller Control register. Each time the programmed refresh interval elapses, the Memory
Controller issues a Precharge All Banks command followed by an Auto Refresh command.
If a memory access is in progress at the time the refresh interval elapses, the Memory Controller schedules
the refresh after the transfer is finished; but the interval timer continues counting so that the average refresh
rate is constant.
After refresh, the SDRAM is in an idle state and waits for an Active command.
8.4.4.8
Self Refresh and Power Down Commands
The Memory Controller issues either a Power Down or a Self Refresh command if the Control register cke
bit is changed from asserted to negated. If the ref_en bit of the same register is asserted when cke is
negated, the controller issues a Self Refresh command; if the ref_en bit is negated, the controller issues a
Power Down command. The ref_en bit may be changed in the same register write that changes the cke bit;
the controller will act upon the new value of the ref_en bit.
Unlike an Auto Refresh, the controller does not automatically issue a Precharge command before the Self
Refresh command. It is a software responsibility to command a Precharge, using the Control register
soft_pre bit, by a separate write before negating the cke bit.
The memory is reactivated from Power Down or Self Refresh mode by reasserting the cke bit.
If a normal refresh interval elapses while the memory is in Self Refresh mode, a Precharge and Auto
Refresh will be performed as soon as the memory is reactivated. If the memory is put into and brought out
of Self Refresh all within a single refresh interval, the next automatic refresh will occur on schedule.
In Self Refresh mode, the memory does not require an external clock. The MEM_CLK can be stopped for
maximum power savings by negating the Memory Controller Clock Enable bit of the CDM Clock Enable
register. See Section 5.5.1.6, “CDM Clock Enable Register.” If the Memory Controller clock is stopped,
the refresh interval timer must be reset before the memory is reactivated (if periodic refresh is to be
resumed). The refresh interval timer is reset by negating the Control register ref_en bit. This can be done
at any time while the memory is in Self Refresh mode, before or after the Memory Controller clock is
stopped/restarted, but not with the same Control register write that negates cke; this would put the memory
in Power Down mode. To restart periodic refresh when the memory is reactivated, the ref_en bit must be
reasserted; this can be done before the memory is reactivated, or in the same Control register write that cke
is reasserted.
NOTE
As soon as the CKE signal is negated (set to a logical 0) a SDRAM memory
device does NOT answer any longer to any command (all its input but the
CKE are ignored) until the CKE is re-asserted and a minimum time has
elapsed (as specified by the memory vendor).
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-23
SDRAM Memory Controller
8.5
8.5.1
Operation
Power-Up Initialization
The SDRAM and SDRAM MC must be initialized after power-up. SDRAM parameters may be read from
an I2C serial EEPROM, or compiled into the boot ROM. See Section 18.1, Overview if using serial
EEPROM.
The steps below should be followed to initialize the memory system.
NOTE
The sequence might change slightly from device to device. Refer to the
device data sheet for the most up-to-date information. In any case of conflict
between this document and the device data sheet, the data sheet shall
prevail.
Step 1. After reset is deactivated, pause for the amount of time indicated in the SDRAM specification.
Usually 100 μs or 200 μs.
Step 2. Determine the number of SDRAM CS spaces. If using both CS spaces, configure
GPIO_WKUP6/CS1 for CS1 mode.
If all the memory and controller register values have been precalculated and stored in ROM, skip
step 3 and go directly to step 4. Otherwise, continue with step 3.
Step 3. Read the SDRAM parameters (type, size, address muxing, timing), and determine the memory
clock frequency. (The memory clock frequency is always equal to the XLB frequency.) Using the
SDRAM parameters and the clock frequency, calculate all the memory and controller register
values now. Certain register fields are mandatory:
— Memory Mode register Burst Mode = Sequential
— Memory Mode register Burst Length = 8
— Controller Configuration register 2 burst_length = 7
— Controller Control register cke = 1
Do not write any registers yet. Use these register values as default values for the following
operations. An operation can override the default, but overrides do not carry forward to subsequent
operations.
Step 4. Write the SDRAMCS Configuration registers and the controller Config registers 1 & 2.
Step 5. Write the controller Control register with these overrides:
— assert the mode_en bit (1).
— negate ref_en (0).
Step 6. (DDR only) Write the controller Control register to issue a Precharge All Banks command
(soft_pre=1); maintain mode_en=1, ref_en=0, all other bits default.
Step 7. (DDR only) Write to the memory Extended Mode register to enable the DLL.
Step 8. (DDR only) Write to the memory Mode register to reset the DLL.
MPC5200B User’s Manual, Rev. 3
8-24
Freescale Semiconductor
SDRAM Memory Controller
Step 9. (DDR only) Pause for the DLL lock time specified by the memory (roughly 100 μs. See memory
data sheet for detailed time).
Step 10.Write to the controller Control register to issue a Precharge All Banks command (soft_pre=1);
maintain mode_en=1, ref_en=0.
Step 11.Write to the controller Control register to issue 2 or more Auto Refresh commands (soft_ref=1);
maintain mode_en=1, ref_en=0. Each command requires a separate write.
Step 12.Write to the memory Mode register to specify normal operation.
Step 13.Write to the controller Control register to specify normal operation.
8.5.2
Read Clock
The MPC5200B implements a self-calibrating, software adjustable, read clock recovery circuit. A 400 tap
master delay chain, continuously measures either the half or full period delay of the memory clock. The
master tap value is used to derive a 1/4 period tap value, for use in 4 independent, 256 tap, slave delay
chains. In DDR mode, the MDQS signal is used to generate the 1/4 period delayed read clock. In SDR
mode, an internally generated “DQS” signal is used to generate the 1/4 period delayed read clock. For both
DDR and SDR memories, the delayed read clock is used to latch the data from the memories.
8.6
Programming the SDRAM Controller
The Memory Controller registers consist of:
• Memory Controller Mode Register / SDRAM MC Extended Mode Register (MBAR+0x0100),
write only
• Memory Controller Control Register (MBAR+0x0104)
• Memory Controller Configuration Register 1 (MBAR+0x0108)
• Memory Controller Configuration Register 2 (MBAR+0x010C)
All registers are 32bit-aligned in memory (modulo 4 address boundary).
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-25
SDRAM Memory Controller
8.6.1
Memory Controller Registers
8.6.1.1
Memory Controller Mode Register
Each time the 32-bit write-only mode register (mode[0:31]) is written (and cmd is set to 1), the controller
generates a Load Mode Register or Load Extended Mode Register command to memory.
The memory Mode/Extended Mode registers must be initialized during the system boot sequence; but
before writing to the controller Mode register, the mode_en and cke bits in the Control register must be set
to 1. After memory initialization is complete, the Control register mode_en bit should be cleared to prevent
subsequent access to the controller Mode register.
Address MBAR + 0x0100
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
W
Reset
Rsvd
MEM_MBA
[1:0]
MEM_MA[11:0]
cmd
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 8-3. Memory Controller Mode Register
Table 8-5. Memory Controller Mode Register Field Descriptions
Bit
Name
Description
0:1
MEM_MBA
[1:0]
See SDRAM data sheet. Select either the memory device Mode register or the memory device
Extended Mode register, if present.
2:13
MEM_MA[11:0]
14
—
15
cmd
16:31
—
See SDRAM data sheet. MPC5200B supports:
Read CAS Latency, SDR: 2, 3
Read CAS Latency, DDR: 2, 2.5
Burst type: Sequential only
Burst length: 8 only
Other fields: As appropriate
Specific bit allocation can vary from device to device. All devices in all CS spaces must have
compatible format(s), because all are written at the same time with the same value.
Reserved
1 Generate a (Extended) Mode Register Set memory command. Applied to all CS at once.
0 Do not generate any memory command.
Reserved
MPC5200B User’s Manual, Rev. 3
8-26
Freescale Semiconductor
SDRAM Memory Controller
8.6.1.2
Memory Controller Control Register
The 32-bit read/write Control register controls specific operations and generates some SDRAM
commands. This register is reset only by a power-up reset signal.
Address MBAR + 0x0104
0
1
2
3
cke
ddr
ref
_en
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
R mode
W _en
Reset
4
5
6
7
8
9
10
11
hi_
drive
Rsvd
addr
_rule
Rsvd
12
13
14
15
0
0
0
29
30
31
soft
_ref
soft
_pre
Rsvd
0
0
0
ref_interval[0:5]
R
W
Reset
Reserved
0
mem_
Rsvd
ps
0
0
0
dqs_oe
0
0
0
Reserved
0
0
0
0
0
0
Figure 8-4. Memory Controller Mode Register
Table 8-6. Memory Controller Control Register Field Descriptions
Bit
Name
Description
0
mode_en
1
cke
0 MEM_CLK_EN negated (low).
1 MEM_CLK_EN asserted (high).
cke must be set to 1 to perform normal read and write operations. Set cke to 0 to put the memory
in Self Refresh or Power Down mode.
2
ddr
0 SDR mode.
1 DDR mode.
3
ref_en
4:6
—
7
hi_addr
8
—
9
drive_rule
0 Mode register locked, cannot be written.
1 Mode register enabled, can be written.
0 Automatic refresh disabled.
1 Automatic refresh enabled.
In general, refresh must be enabled, unless the system is known to access memory in a pattern
that is guaranteed to open every row in every bank within every refresh period tREF. Some
memory data sheets do not spec tREF, but spec tREFI instead. In this case, tREF = tREFI x #rows.
NOTE: The number of Refresh commands required in tREF is #rows; if refresh is disabled, the
number of Read/Write commands required in tREF is #rows x 4banks.
Reserved
Control the use of internal address bits XLA[4:7] as row or column bits on the MEM_MA bus.
See Table 8-7.
Reserved (must be written 0)
0 “Tri-state except to write” mode: MPC5200B drives the MDQ and MDQS lines only when
necessary to perform write commands.
1 “Drive except to read” mode: MPC5200B tri-states the MDQ and MDQS lines only when
necessary to perform read commands.
“Drive except to read” mode prevents unterminated memory signals from floating for extended
periods. However, terminated routing is always recommended over unterminated.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-27
SDRAM Memory Controller
Table 8-6. Memory Controller Control Register Field Descriptions (continued)
Bit
Name
Description
10:15
ref_interval[0:5]
The average periodic interval at which the controller generates refresh commands to memory;
measured in increments of 64 x MEM_CLK period.
1) Multiply tREFI by the MEM_CLK frequency. (If the memory data sheet does not define tREFI,
it can be calculated by tREFI = tREF / #rows.)
Example: Assume tREF = 64ms, #rows = 4K, MEM_CLK = 133MHz. Then:
tREFI = 64ms / 4K = 15.625μs; 15.625μs x 133MHz = 2078.1
2) Divide the previous result by 64, rounding toward 0
2078.1 / 64 = 32.471; discard the fractional part.
3) Subtract 1 from the previous result. The new result is ref_interval.
32 - 1 = 31 = 0x1f
16:17
—
18
mem_ps
19
—
20:23
dqs_oe[3:0]
24:28
—
29
soft_ref
0 No operation.
1 Generate a non-periodic Auto Refresh command as soon as possible.
This is a write-only bit; always returns 0 on a read. A software requested refresh is completely
independent of the periodic refresh interval counter. Software refresh is only possible when
mode_en==1.
30
soft_pre
0 No operation.
1 Generate a Precharge All command as soon as possible.
This is a write-only bit; always returns 0 on a read. Software precharge is only possible when
mode_en==1.
31
—
Reserved
Memory data port size.
0 32-bit data bus.
1 16-bit data bus (upper two data bytes, MEM_MDQ[31:16]).
Reserved
Each bit individually controls one MEM_MDQS output.
0 The corresponding MEM_MDQS pin is never driven, regardless of memory operation and
drive_rule. Always set to 0000 for SDR.
1 The corresponding MEM_MDQS pin can be driven, depending on memory operations and
drive_rule. DDR only.
Reserved
Reserved
The Table 8-7 indicates how the internal address bits XLA[4:7] are multiplexed internally to support
higher column or row address bits.
Table 8-7. High Address Usage
XL Bus Address Line Mapping to Column or Row Address
hi_addr
4
5
6
7
0
CA12
CA11
CA9
CA8
1
CA11
CA9
CA8
RA12
0
CA13
CA12
CA11
CA9
1
CA12
CA11
CA9
RA8
32-Bit Data Bus
16-Bit Data Bus
MPC5200B User’s Manual, Rev. 3
8-28
Freescale Semiconductor
SDRAM Memory Controller
Table 8-8. 32-Bit SDRAM Address Multiplexing
Device
64Mbit
128Mbit
Row bits ×
Col bits ×
Bank bits
hi_
addr
2Mx32bit
11x8x2
4M×16bit
8M×8bit
Structure
4
5
6
7
8
9:19
20:21
22:29
0
—1
—
—
—
—
RA
[10:0]
BA
[1:0]
CA
[7:0]
12×8×2
0
—
—
—
—
12×9×2
0
—
—
—
CA8
13×8×2
1
—
—
—
RA12
4M×32bit
12×8×2
0
—
—
—
—
RA[11:0]
8M×16bit
12×9×2
0
—
—
—
CA8
BA
[1:0]
CA
[7:0]
13×8×2
1
—
—
—
RA12
12×10×2
0
—
—
CA9
CA8
13×9×2
1
—
—
CA8
RA12
12×9×2
0
—
—
—
CA8
RA[11:0]
13×8×2
1
—
—
—
RA12
BA
[1:0]
CA
[7:0]
12×10×2
0
—
—
CA9
CA8
13×9×2
1
—
—
CA8
RA12
12×11×2
0
—
CA11
CA9
CA8
13×10×2
1
—
CA9
CA8
RA12
12×10×2
0
—
—
CA9
CA8
RA[11:0]
13×9×2
1
—
—
CA8
RA12
BA
[1:0]
CA
[7:0]
12×11×2
0
—
CA11
CA9
CA8
13×10×2
1
—
CA9
CA8
RA12
12×12×2
0
CA12
CA11
CA9
CA8
13×11×2
1
CA11
CA9
CA8
RA12
12×11×2
0
—
CA11
CA9
CA8
RA[11:0]
13×10×2
1
—
CA9
CA8
RA12
BA
[1:0]
CA
[7:0]
12×12×2
0
CA12
CA11
CA9
CA8
13×11×2
1
CA11
CA9
CA8
RA12
12×12×2
0
CA12
CA11
CA9
CA8
RA[11:0]
13×11×2
1
CA11
CA9
CA8
RA12
BA
[1:0]
CA
[7:0]
16M×8bit
256Mbit
8M×32bit
16M×16bit
32M×8bit
512Mbit
16M×32bit
32M×16bit
64M×8bit
1Gbit
32Mx32bit
64Mx16bit
2Gbit
1
Internal XLA[4:29]
64Mx32bit
RA[11:0]
All MEM_MA pins are driven in all cases, but only the bits used by memory are listed.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-29
SDRAM Memory Controller
Table 8-9. 16-Bit SDRAM Address Multiplexing
Device
Structure
hi_
addr
Internal XLA[4:30]
4
5
6
7
8
9:19
20:21
22:30
64Mbit
8Mx8bit
12x9x2
0
—1
—
—
—
RA[11:0]
BA
[1:0]
CA
[8:0]
128Mbit
8Mx16bit
12x9x2
0
—
—
—
—
RA[11:0]
16Mx8bit
12x10x2
0
—
—
—
CA9
BA
[1:0]
CA
[8:0]
13x9x2
1
—
—
—
RA12
8Mx32bit
12x9x2
0
—
—
—
—
RA[11:0]
16Mx16bit
12x10x2
0
—
—
—
CA9
BA
[1:0]
CA
[8:0]
13x9x2
1
—
—
—
RA12
12x11x2
0
—
—
CA11
CA9
13x10x2
1
—
—
CA9
RA12
12x10x2
0
—
—
—
CA9
RA[11:0]
13x9x2
1
—
—
—
RA12
BA
[1:0]
CA
[8:0]
12x11x2
0
—
—
CA11
CA9
13x10x2
1
—
—
CA9
RA12
12x12x2
0
—
CA12
CA11
CA9
13x11x2
1
—
CA11
CA9
RA12
12x11x2
0
—
—
CA11
CA9
RA[11:0]
13x10x2
1
—
—
CA9
RA12
BA
[1:0]
CA
[8:0]
12x12x2
0
—
CA12
CA11
CA9
13x11x2
1
—
CA11
CA9
RA12
12x12x2
0
—
CA12
CA11
CA9
RA[11:0]
13x11x2
1
—
CA11
CA9
RA12
BA
[1:0]
CA
[8:0]
256Mbit
32Mx8bit
512Mbit
16Mx32bit
32Mx16bit
64Mx8bit
1Gbit
32Mx32bit
64Mx16bit
2Gbit
1
Row bits ×
Col bits ×
Bank bits
64Mx32bit
All MEM_MA pins are driven in all cases, but only the bits used by memory are listed.
8.6.1.3
Memory Controller Configuration Register 1
The 32-bit read/write Configuration register 1 stores delay values necessary between specific SDRAM
commands. During initialization, software loads values to the register according to the SDRAM
information obtained from the data sheet. This register is reset only by a power-up reset signal.
The Read and Write Latency fields govern the relative timing of commands and data, and must be exact
values. All other fields govern the relative timing from one command to another, they have minimum
values but any larger value is also legal (but with decreased performance). The “suggested values” are
based on the maximum routing delay of memory signals and the MPC5200B maximum memory frequency
MPC5200B User’s Manual, Rev. 3
8-30
Freescale Semiconductor
SDRAM Memory Controller
of 133MHz; they do not guarantee maximum performance for actual board routing delay or operating
frequency.
The minimum values of certain fields can be different for SDR and DDR SDRAM, even if the data sheet
timing is the same, because:
• In SDR mode, the Memory Controller counts the delay in MEM_CLK
• In DDR mode, the Memory Controller counts the delay in 2xMEM_CLK (also referred to as
MEM_CLK2)
MEM_CLK—Memory Controller clock—is the speed of the SDRAM interface and is equal to the internal
XL bus clock. MEM_CLK is fixed at boot time along with the XL bus clock, via the HW RESET WORD
setting. It is an integer multiple of the external reference clock (e.g., 66MHz, 99MHz or 132MHz if a
33MHz reference is used).
MEM_CLK2—double frequency of MEM_CLK—DDR uses both edges of the bus-frequency clock
(MEM_CLK) to read/write data.
Address MBAR + 0x0108
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
srd2rwp
swt2rwp
rd_latency
Rsvd
act2rw
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Rsvd
pre2act
ref2act
Rsvd
wr_latency
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 8-5. Memory Controller Configuration Register 1
Table 8-10. Memory Controller Configuration Register 1 Field Descriptions
Bit
Name
0:3
srd2rwp
Description
Single Read to Read/Write/Precharge delay. Limiting case is Read to Write:
For DDR: CL + round trip delay + tHz; round up.
If round trip delay = 1 clk and tHz = 0.75 ns::
If CL==2: 2 + 1 + 0.75 ns = 3 clk + 0.75 ns, round to 0x3.
If CL==2.5: 2.5 + 1 + 0.75 ns = 3.5 clk + 0.75ns, round to 0x4
For SDR: CL + round trip delay + tHz + 1; round up.
If round trip delay = 1 clk and tHz = 5.4 ns:
If CL==2: 2 + 1 + 5.4ns + 1 = 4 clk + 5.4ns, round to 0x5.
If CL==3: 3 + 1 + 5.4ns + 1 = 5 clk + 5.4ns, round to 0x6.
4
—
4:7
swt2rwp
Reserved
Single Write to Read/Write/Precharge delay. Limiting case is Write to Precharge.
For DDR, suggested value = 0x3 (tWR + 1 clk)
For SDR, suggested value = 0x2 (tWR)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-31
SDRAM Memory Controller
Table 8-10. Memory Controller Configuration Register 1 Field Descriptions
Bit
Name
8:11
rd_latency
Description
Read CAS Latency.
For DDR:
If CL==2, write 0x6
If CL==2.5, write 0x7
For SDR:
If CL==2, write 0x2
If CL==3, write 0x3
Note: NOTE: CL=2.5 is not supported for SDR.
12
—
13:15
act2rw
Reserved
Active to Read/Write delay.
Suggested value at 132 MHz = 0x02
Rule: tRCD/MEM_CLK-1. Round up to nearest integer.
EXAMPLE:
If tRCD = 20ns and MEM_CLK = 99 MHz
20ns / 10.1 ns = 1.98; round to 2; write 0x1.
If tRCD = 20 ns and MEM_CLK = 132 MHz
20ns / 7.5 ns = 2.66; round to 3; write 0x2.
16
—
17:19
pre2act
Reserved
Precharge to Active or Refresh delay.
Suggested value at 132 MHz = 0x02
Rule: tRP/MEM_CLK-1. Round up to nearest integer.
EXAMPLE:
If tRP = 20ns and MEM_CLK = 99 MHz
20ns / 10.1 ns = 1.98; round to 2; write 0x1.
If tRP = 20 ns and MEM_CLK = 132 MHz
20ns / 7.5 ns = 2.66; round to 3; write 0x2.
20:23
ref2act
Refresh to Active delay.
Suggested value at 132 MHz = 0x9
Rule: tRFC/MEM_CLK - 1. Round up to nearest integer.
EXAMPLE:
If tRFC = 75ns and MEM_CLK = 99 MHz
75ns / 10.1ns = 7.425; round to 8; write 0x7.
If tRFC = 75ns and MEM_CLK = 132 MHz
75ns / 7.5ns = 10; round to 9; write 0x9.
24
—
25:27
wr_latency
28:31
—
Reserved
Write latency.
For DDR, write 0x3
For SDR, write 0x0
Reserved
MPC5200B User’s Manual, Rev. 3
8-32
Freescale Semiconductor
SDRAM Memory Controller
8.6.1.4
Memory Controller Configuration Register 2
The 32-bit read/write Configuration register 2 stores delay values necessary between specific SDRAM
commands. During initialization, software loads values to the register according to the SDRAM
information obtained from the data sheet. This register is reset only by a power-up reset signal.
The Burst Length field must be exact. All other fields govern the relative timing from one command to
another, they have minimum values but any larger value is also legal (but with decreased performance).
All delays in this register are expressed in MEM_CLK.
Address MBAR + 0x010C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
brd2rp
bwt2rwp
brd2wt
burst_length
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 8-6. Memory Controller Configuration Register 2
Table 8-11. Memory Controller Configuration Register 2 Field Descriptions
Bit
Name
0:3
brd2rp
4:7
bwt2rwp
8:11
brd2wt
Description
Burst Read to Read/Precharge delay. Limiting case is Read to Read.
For DDR, suggested value = 0x4 (BurstLength/2)
For SDR, suggested value = 0x8 (BurstLength)
Burst Write to Read/Write/Precharge delay. Limiting case is Write to Precharge.
For DDR, suggested value = 0x6 (BurstLength/2 + tWR)
For SDR, suggested value = 0x8 (BurstLength + tWR - 2)
Burst Read to Read/Write/Precharge delay. Limiting case is Read to Write:
For DDR: CL + burstlength/2 + round trip delay + tHz - 1.5 clk; round up.
If round trip delay = 1 clk and tHz = 0.75 ns:
If CL==2: 2 + 4 + 1 + 0.75ns -1.5 = 5.5clk + 0.75ns, round to 0x6.
If CL==2.5: 2.5 + 4 + 1 + 0.75ns + 1.5 = 6clk + 0.75ns, round to 0x7.
For SDR: CL + burstlength + round trip delay + tHz - 1 clk:
If CL==2: 2 + 8 + 1 + 5.4ns - 1 = 10clk + 5.4ns, round to 0xB.
If CL==3: 3 + 8 + 1 + 5.4ns - 1 = 11clk + 5.4ns, round to 0xC.
12:15
burst_length
16:31
—
Write 0x07 (Burst Length - 1)
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-33
SDRAM Memory Controller
Figure 8-7 shows the timings which can be programmed by the two Controller Configuration Register. The
timing diagram uses the suggested values for a DDR memory and a 132 MHz memory clock. The
displayed Commands are the limiting cases.
MEM_CLK
Single Read to Read/Write/Precharge
(srd2rwp +1)
Read
Bstrm
Write
wr_latency/3
CL
Data
(srd2rwp +1) or (brd2wt + 1)
Read
Burst Read to Write/Precharge
Write
CL
wr_latency/3
Data
brd2rp + 1
Burst Read to Read
Read
Read
swt2rwp + 1
Single Write to Read/Write/Precharge
Write
Prech
bwt2rwp + 1
Write
Burst Write to Read/Write/Precharge
Prech
pre2act + 1
Prech
Precharge to Active/Refresh
Active
act2rw + 1
Active
Active to Read/Write
Read
ref2act + 1
Ref
Refresh to Active
Active
Figure 8-7. Programmable Command Timings
MPC5200B User’s Manual, Rev. 3
8-34
Freescale Semiconductor
SDRAM Memory Controller
8.6.1.5
Special Configuration Delay Register
This Special Configuration Delay Register (SDelay) MUST be written to a value of 0x0000 0004.
Address MBAR + 0x0190
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
sdelay
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 8-8. Special Configuration Delay Register
Table 8-12. Special Configuration Delay Register Field Descriptions
Bit
Name
28:31
sdelay
Description
Special Configuration Delay—Must be written to 0x00000004
This register must be written to a value of 0x00000004. This is required to account for changes in delay
caused during normal wafer processing.
For more information, see AN3221, MPC5200B SDRAM Initialization and Configuration.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-35
SDRAM Memory Controller
8.7
Address Bus Mapping
This is an illustration of how the XL bus address enters the Memory Controller and is broken down into Row, Column, and
Bank Address fields. Shown below is the 32-bit XL bus address. The Memory Controller uses bits 4:31.
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Can be used as most significant row or column address bits:
{CA12, CA11, CA9, CA8} or {CA11, CA9, CA8, RA12}
XL bus address bits 29:31
control the data mask pins,
MEM_DQM[3:0].
The Memory Controller extracts the Row Address from the XL bus address.
The Row Address is presented on the MPC5200B MEM_MA[12:0] pins during SDRAM Active commands.
Row Address bit 12 depends on the Control register hi_addr bit.
0
8
9 10 11 12 13 14 15 16 17
17 18 19 Internal XL address bus
hi_addr = 0
12 11 10 9 8 7 6 5 4 3 2 1 0 Ext MEM_MA pins, row
7
8
9 10 11 12 13 14 15 16 17 18 19 Internal XL address bus
hi_addr = 1
12 11 10 9 8 7 6 5 4 3 2 1 0 Ext MEM_MA pins, row
XL bus address bits 20:21 select the internal bank of an SDRAM device. Each SDRAM
device has 4 internal banks.
XL bus address bits 20:21 are presented on the MPC5200B MEM_BA[1:0] pins during
SDRAM Active, Read, and Write commands.
The Memory Controller extracts the Column Address from the XL bus address. The Column Address is presented on the
MPC5200B MEM_MA[12:0] pins during SDRAM Read and Write commands.
Column Address bits 12:8 depend on the Control register hi_addr bits. Auto Precharge (MEM_MA[10])is always inhibited
(0).
4
5
0
6
7 22 23 24 25 26 27 28 29
12 11 10 9
8
0
6 22 23 24 25 26 27 28 29
4
0
5
12 11 10 9
8
7
7
6
6
5
5
4
4
3
3
2
2
1
1
0
0
Internal XL address bus
hi_addr = 0
External MEM_MA pins, column
Internal XL address bus
hi_addr = 1
External MEM_MA pins, column
Figure 8-9. Address Bus Mapping (32-Bit External Data Width)
MPC5200B User’s Manual, Rev. 3
8-36
Freescale Semiconductor
SDRAM Memory Controller
This is an illustration of how the XL bus address enters the Memory Controller and is broken down into Row, Column, and
Bank Address fields. Shown below is the 32-bit XL bus address. The Memory Controller uses bits [27:0].
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Can be used as most significant row or column address bits:
{CA13, CA112, CA11, CA9} or {CA12, CA11, CA9, RA12}
XL bus address bits 30:31
control the data mask pins,
MEM_DQM[3:2].
The Memory Controller extracts the Row Address from the XL bus address.
The Row Address is presented on the MPC5200B MEM_MA[12:0] pins during SDRAM Active commands.
Row Address bit 12 depends on the Control register hi_addr bit.
0
8
9 10 11 12 13 14 15 16 17 18 19 Internal XL address bus
hi_addr = 0
12 11 10 9 8 7 6 5 4 3 2 1 0 Ext MEM_MA pins, row
7
8
9 10 11 12 13 14 15 16 17 18 19 Internal XL address bus
hi_addr = 1
12 11 10 9 8 7 6 5 4 3 2 1 0 Ext MEM_MA pins, row
XL bus address bits 20:21 select the internal bank of a SDRAM device. Each SDRAM
device has 4 internal banks.
XL bus address bits 20:21 are presented on the MPC5200 MEM_BA[1:0] pins during
SDRAM Active, Read, and Write commands.
The Memory Controller extracts the Column Address from the XL bus address. The Column Address is presented on the
MPC5200B MEM_MA[12:0] pins during SDRAM Read and Write commands.
Column Address bits 12:8 depend on the Control register hi_addr bits. Auto Precharge (MEM_MA[10])is always inhibited
(0).
5
6
0
7 22 23 24 25 26 27 28 29 30
12 11
10 9
4
0
5
12 11
8
7
6
5
4
3
2
1
0
6 22 23 24 25 26 27 28 29 30
10 9
8
7
6
5
4
3
2
1
0
Internal XL address bus
hi_addr = 0
External MEM_MA pins, column
Internal XL address bus
hi_addr = 1
External MEM_MA pins, column
Figure 8-10. Address Bus Mapping (16-Bit External Data Width)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
8-37
SDRAM Memory Controller
8.7.1
Example—Physical Address Multiplexing
The mapping of XL address bus to memory address bus is shown in Figure 8-9. The default mapping is:
• Row address comes from XLA[8:19]
• Column address comes from XLA[4:7, 22:29]
• Bank address comes from XLA[20:21]
Using the MT46V32M16 DDR SDRAM memory from Micron as an example, the device holds 512Mb
organized as 8M x 16bit x 4banks. 2 devices are required to support the MPC5200B 32bit memory data
bus, giving a total 128MB of address space (assuming just one CS).
The Micron data sheet shows the following requirements:
• 13 row address bits
• 10 column address bits
• 2 bank select bits
By default, the Memory Controller only provides 12 row address bits and 12 column address bits. To
enable the 13th row address bit, the hi_addr bit of the Control register must be set to 1 (MBAR+0x0104,
Control[7]). This also reduces the column address width to 11 bits.
MPC5200B User’s Manual, Rev. 3
8-38
Freescale Semiconductor
Chapter 9
LocalPlus Bus (External Bus Interface)
9.1
Overview
The LocalPlus Bus is the external bus interface of the MPC5200B. This multi-function bus system
supports interfacing to external Boot ROM or Flash memories, external SRAM memories or other memory
mapped devices. The following sections are contained herein:
• Overview
• Features
• Interface
— External Signals
— Block Diagram
• Modes of Operation
— Non-MUXed Mode
— MUXed Mode
• Configuration
— Boot Configuration
— Chip Selects Configuration
— Reset Configuration
• DMA (BestComm) Interface (SCLPC)
• Programmer’s Model
— Chip Select/LPC Registers
— Chip Select/LPC Registers
— SCLPC Registers
— SCLPC FIFO Registers
The MPC5200B offers a shared external 32-bit address/data bus, which supports connections to PCI and
ATA compliant devices, as well as memory mapped devices such as Flash memories, ROM, SRAM,
gate-array logic, or other simple target (slave) devices with little or no additional circuitry. Separate control
signals are used by each interface. The on-chip arbiter (called PCI Arbiter) controls the access to the shared
AD bus for the different clients.
NOTE
If the PCI interface is NOT used (and internally disabled) the PCI control
pins must be terminated as indicated by the PCI Local Bus specification.
PCI control signals always require pull-up resistors on the motherboard (not
the expansion board) to ensure that they contain stable values when no agent
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-1
LocalPlus Bus (External Bus Interface)
is actively driving the bus. This includes PCI_FRAME, PCI_TRDY,
PCI_IRDY, PCI_DEVSEL, PCI_STOP, PCI_SERR, PCI_PERR, and
PCI_REQ.
The PCI signals, which are not used as address in Large Flash mode, are
drive low during a Large Flash access. This includes PCI_SERR,
PCI_PERR, PCI_IDSEL, PCI_REQ, PCI_GNT and PCI_RESET.
The PCI interface is described in Chapter 10, “PCI Controller”. The ATA compliant interface is described
in Chapter 11, “ATA Controller”. The interface for memory mapped devices, called LocalPlus Bus, is
described in this chapter. The MPC5200B LocalPlus Controller (LPC) module implements the LocalPlus
Bus interface.
The LocalPlus Bus interface provides a high flexibility and all its different operating modes can be selected
by means of software configuration and in some cases minimal external logic (in multiplexed mode).
9.2
Features
LocalPlus has the following features:
• Interface to memory mapped or chip selected devices
• Two main modes of operation:
— non-MUXed Modes
Legacy Modes (Address 8, 16, or 24 bits, Data 8 or 16 bits)
Most Graphics Mode (Address 24 bits, Data 32 bits)
Large Flash Mode (Address 26 bits, Data 8 or 16 bits)
— MUXed Modes
– (Address 8, 16, 24 or 25 bits, Data 8,16 or 32 bits, 2 Bank Selects)
• 8 Chip Select (CS) signals
— Programmable Wait States per CS
— Programmable Deadcycles per CS
— Programmable Byte Swapping per CS
• Configurable Boot interface supporting PowerPC architecture code execution
• Dynamic bus sizing on some interfaces
• Support of BURST MODE FLASH devices
• DMA (BestComm) support allows data movement independently from the CPU
• NO support of misaligned accesses
MPC5200B User’s Manual, Rev. 3
9-2
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
9.3
Interface
The LocalPlus interface consists of:
• Address bus
• Data bus
• Chip select signals CS0-7
• Control signals:
— R/W (Read/Write)
— ALE (Address Latch Enable)
— ACK (Acknowledge)
— TS (Transfer Start)
— OE (Output Enable)
— TSIZ bits (Transfer Size)
— Bank Select bits
• Reference clock PCI_CLOCK
The reference clock PCI_CLOCK is always running, even if the PCI Controller is disabled.
9.3.1
External Signals
The external I/O bus is shared with the PCI AD bus and the ATA bus and requires arbitration for access to
the external bus.
Table 9-1. LocalPlus External Signals
Signal
I/O
Definition
CS [7:0]
O
Chip Selects (active low), CS[4] and CS[5] shared with ATA, CS[6] and CS[7] shared with PSC3.
R/W
O
Read/Write. 1 = Read, 0 = Write
EXT_AD[31:0]
I/O
AD Address / Data bus (bi-directional when used as data; bit 31=msb)
ACK
I/O
External Acknowledge input (non-burst transactions),
BURST indication for Most Graphics or Large Flash Modes (Open Drain)
TS
O
Transfer Start
OE
O
Output Enable
TSIZ[1:2]
O
Transfer Size
Note: TSIZ bits are available in non-muxed modes on GPIO_WKUP_7 and TEST_SEL_1 pins, if
the LPTZ bit is set in Section 7.3.2.1.1, “GPS Port Configuration Register”
Note: The MUXed Mode provides 3 bits TSIZ[0:2], which are available on EX_AD[30:28].
ALE
O
Address Latch Enable
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-3
LocalPlus Bus (External Bus Interface)
9.3.2
Block Diagram
The block diagram of the LocalPlus Controller (LPC) is shown in Figure 9-1. This diagram shows the
non-multiplexed implementation of address and data lines.
The LPC is driven by the internal IP bus clock and the PCI_CLOCK. The supported ratios of the IP bus
clock to the reference clock PCI_CLOCK (the one externally seen by peripherals) are 4:1, 2:1 and 1:1.
The reference clock is the PCI_CLOCK and all clock counts are referred to this clock. All transitions are
synchronized to the rising edge of the PCI_CLOCK.
Start/Stop registers to define the CS address range for each CS output are contained in the MPC5200B
MMAP register group, see Section 3.3.3.2, “Boot and Chip Select Addresses”. Registers in the LPC are
accessed through the address range specified in the MPC5200B Internal Register Map. For more
information, see Section 9.7, Programmer’s Model”. These registers control the operation of a particular
CS and peripheral, when a hit occurs in the MMAP module for the corresponding CS space.
XL Bus
IP Bus Data
IPBI
Registers
Variable Width
R/W Data
Shared Data
MMAP
8
cs “hit”
32
ext_add
Variable Width
Address
AD[31:0]
multiplexed
with PCI, ATA
R/W
ACK
LPC
ALE
PCI Arbiter
AD bus Request
TS
AD bus Grant
OE
IPB_CLK
2
TSIZ[1:2]
8
CS[0:7]
CDM
PCI_CLOCK
Figure 9-1. LPC Concept Diagram
NOTE
BestComm Interface + FiFo not shown
Not all pins are used in all modes.
MPC5200B User’s Manual, Rev. 3
9-4
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
For multiplexed bus implementation, external logic is required to capture the address phase as shown in
Figure 9-2.
Peripheral
MPC5200
DATA[31:0]
AD[31:0]
Bank Bits
AD Bus
Address
ALE
External
Logic
ADD[6:5]
ADD[31:7]
TSIZ[0:2]
LPC Interface
TS
CS
TS
CS
ACK
ACK
Figure 9-2. Muxed Mode Address Latching
9.4
Modes of Operation
There are 2 primary modes of operation:
• MUXed
• non-MUXed (Legacy, Large Flash, Most/Graphic modes, Burst and Non-Burst)
Within each mode, there is considerable flexibility to control the operation.
Each CS can be programmed to a different mode of operation (MUXed, non-MUXed, number of wait
states, byte swapping etc.).
The MPC5200B always begins execution from the release of HRESET on the LocalPlus Bus and from the
memory device connected to CS0.
If an ATA Disk drive is present in the system, 2 CS signals may be taken up by the ATA interface. The
ATA CSs can also be programmed to appear on other signals. For more information, see Chapter 11, “ATA
Controller”.
MUXed mode allows devices with a larger address range be attached to the LocalPlus bus. In this mode
the same 32-bit local bus presents an Address in an address tenure and Data in a data tenure, in a
multiplexed fashion (similar to PCI protocol).
MUXed mode provides an ALE during the address phase and a TS during a separate data phase. This mode
requires external logic to latch the address during the address tenure. An ACK input is provided and can
be asserted to shorten (but not extend) wait states. The MUXed mode is available for all CSs, including
CS0 (i.e., Boot Device).
The LocalPlus Bus on MPC5200B provides an Output Enable signal OE to achieve a complete glue less
interface for most devices.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-5
LocalPlus Bus (External Bus Interface)
The logic equation for the internal generation of the OE signal is:
OE = CSx + (NOT R/W)
CSx
OE
R/W
Figure 9-3. Output Enable Signal
MUXed and non MUXed modes support a variety of device configurations and are configurable on a per
CS basis.
9.4.1
Non-MUXed Mode
In Non-MUXed mode the 32-bit address/data bus is divided into address and data lines. Eight different
partitionings of address and data lines can be configured.
Table 9-2. Non-Muxed Mode Options
Category
Address Size
Data Size
Pins used
Memory size
Comments
Small
8
8
16
256 Bytes
Legacy Mode
Small
8
16
24
256 Bytes
Legacy Mode
Small
16
8
24
64 kBytes
Legacy Mode
Small
16
16
32
64 kBytes
Legacy Mode (BOOT OPTION)
Medium
24
8
32
16 MBytes
Legacy Mode (BOOT OPTION)
MOST/G
24
32
56
16 MBytes
MOST Graphics (BOOT OPTION)
Burst support. No PCI or ATA support
Large
26
8
34
64 MBytes
Large Flash Mode (BOOT OPTION). Burst
support. No PCI support.
Large
26
16
42
64 MBytes
Large Flash Mode (BOOT OPTION) Burst
support. No PCI support
NOTE
The 24-bit data width is not supported.
The total pin number requires also the addition of the control signals CS,
R/W, ACK, OE, TS (MOST/Graphis and Large Flash mode) and TSIZ
(MOST/Graphics mode) where available.
The total supported memory size has been calculated taking into account
that when accessing 16/32 bit devices A1 and/or A0 can NOT be used.
The above options defined as BOOT Option are selectable via the reset configuration word. Other
configurations are possible via software configuration (e.g., 8-bit data and 16-bit address). Figure 9-4
shows the operation of Non-MUXed Read/Write accesses.
MPC5200B User’s Manual, Rev. 3
9-6
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
TSIZ bits are available in all non-muxed modes. They appear on GPIO_WKUP_7 (TSIZ most significant
bit, TSIZ 1) and TEST_SEL_1 (TSIZ least significant bit, TSIZ 2), if the LPTZ bit is set in the GPS Port
Configuration Register. Only TSIZEs of 1, 2, or 4 are supported.
TSIZ[1:2] are driven as follows:
01 = Transaction is 1 byte.
10 = Transaction is 2 bytes.
00 = Transaction is 4 bytes.
Other values are invalid and should not be required by the external peripheral!
Table 9-3 describes the various combinations of TSIZ, address and byte lanes for MOST/Graphis mode.
Table 9-3. Non-Muxed Aligned Data Transfers
Data lanes
Transfer
Size
TSIZ[1:2]
1 Byte
01
2 Bytes
4 Bytes
10
00
Addr[1:0]
AD[31:24]
AD[23:16]
AD[15:8]
AD[7:0]
00
Data
—
—
—
01
—
Data
—
—
10
—
—
Data
—
11
—
—
—
Data
00
Data
Data
—
—
10
—
—
Data
Data
00
Data
Data
Data
Data
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-7
LocalPlus Bus (External Bus Interface)
CS[x]
ADDR
Valid Address
OE
R/W
DATA (wr)
Valid write Data
ValidRread Data
DATA (rd)
ACK
TS
TSIZ[1:2]
NOTE:
1.
ACK can shorten the CS pulse width.
2.
TS is only available in Large Flash and MOST Graphics mode.
Figure 9-4. Timing Diagram—Non-MUXed Mode
MPC5200B User’s Manual, Rev. 3
9-8
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
PCI CLK
CS[x]
ADDR
Valid Address
OE
R/W
Valid Read Data
DATA (rd)
ACK
TS
NOTE:
1.
Burst Mode is only available for Large Flash and MOST Graphics mode.
2.
ACK is output and indicates the burst.
Figure 9-5. Timing Diagram—Burst Mode
In this mode, the peripheral address and data lines are limited to a total of 32 in Legacy Modes, to 40 or
48 in Large Flash or to 56 in MOST Graphics mode. They are driven/read simultaneously on the external
AD bus. A single dedicated R/W pin is driven to indicate read or write. An individually dedicated CS pin
is driven low while an external access is active.
Wait states are programmable and simply select how many PCI clocks the CS pin (and related signals)
remain asserted. Separate values are available for Read cycles versus Write Cycles. These values can be
combined to create extremely long (up to 16 bits) Write cycles. Byte lane swapping is separately
programmable between Reads versus Writes and can be used to perform Endian conversions. The 24-bit
data width is not supported.
Peripherals can be marked as read-only or write-only by setting a control bit in the appropriate LPC
register. Attempted accesses in violation of this setting are prevented and result in either a Bus Error and/or
an Interrupt as controlled by corresponding Enable bits. Each CS pin can be individually enabled/disabled
and the entire LPC module has a Master Enable bit. No software reset bit is provided or needed.
The non-multiplexed mode requires no external logic for interfacing to simple devices such as Flash ROM,
E2PROM or SRAM. It is faster than the multiplexed mode because data and address are provided in a
single tenure. The supported address space is limited by the 26 address lines.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-9
LocalPlus Bus (External Bus Interface)
9.4.2
MUXed Mode
In MUXed mode the addresses and data are multiplexed using dual tenure. First, the address is put on the shared
address/data bus and ALE is asserted. Then the data is driven when the chip select is asserted. Twelve different
modes of address and data sizes can be configured:
Table 9-4. MUXed Mode Options
Category
Address Size
Data Size
Memory Size
per Bank
Memory Size
Total
Legacy
8
8
256 Bytes
1 kBytes
Legacy
8
16
256 Bytes
1 kBytes
A0 not used.
Legacy
8
32
256 Bytes
1 kBytes
A0, A1 not used.
Legacy
16
8
64 kBytes
256 kBytes
Legacy
16
16
64 kBytes
256 kBytes
A0 not used.
Legacy
16
32
64 kBytes
256 kBytes
A0, A1 not used.
Legacy
24
8
16 MBytes
64 MBytes
Legacy
24
16
16 MBytes
64 MBytes
A0 not used.
Legacy
24
32
16 MBytes
64 MBytes
A0, A1 not used.
Legacy
25
8
32 MBytes
128 MBytes
Legacy
25
16
32 MBytes
128 MBytes
BOOT
Legacy
25
32
32 MBytes
128 MBytes
BOOT
Comments
NOTE
The 24-bit data width is not supported.
The total supported Memory space consists of four banks.
Bank select bits are written in a register by the e300 processor. They can be used as individual selects or
as encoded values. They are presented on the bus during the address tenure as additional upper address bits.
In this mode, an address tenure is generated that can be up to 25bits of active address. The additional
address bits drive:
• a TSIZE value (3 bits)
• a Bank Select value (2 bits)
An ALE signal is asserted (active lo) during this address tenure. ALE width is always one PCI bus clock.
The dedicated R/W output is also driven with ALE (and throughout the cycle). One clock after ALE
negates, the appropriate CS pin asserts (low) and the AD bus enters the data tenure. The CS pin and this
data tenure remain active until the programmed wait states expire, or the peripheral responds with an ACK
assertion. ACK polarity is active low, but can be programmed to be ignored. The data tenure can contain
up to the full 32-bit width. However, the data width is programmable to support dynamically bus-sized
transactions.
MPC5200B User’s Manual, Rev. 3
9-10
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
The MUXed mode requires external logic to latch the address during the address tenure and to decode bank
selects if they are encoded. This mode is slower than the non-MUXed mode because data and address are
multiplexed in time. The supported address space is limited by the 25 address lines. In MUXed mode,
LocalPlus can access up to 128 MBytes of data divided into four banks each of 32 MBytes maximum.
9.4.2.1
Address Tenure
The address is presented on the corresponding AD bus bits up to a maximum of 25bits (i.e., AD[24:0]).
Smaller devices (with address ranges at 8, 16, or 24 respectively) must use the corresponding AD bits,
beginning with AD[0]. AD[0] is the least significant address bit. Regardless of address size, the entire AD
bus is driven during the address phase.
The Bank Select bits appear on AD[26] (Bank Select most significant bit) and AD[25] (Bank Select least
significant bit). These bit values are pre-programmed into the corresponding LPC control register prior to
initiating an external transaction.
The TSIZ bits appear on AD[30] (TSIZ most significant bit) to AD[28] (TSIZ least significant bit). These
bits are calculated and driven by the LPC based on the internal Byte Lane enables on the IP bus.
NOTE
Only TSIZs of 1, 2, or 4 are supported.
TSIZ [0:2]/AD[30:28] are driven as follows:
001 = Transaction is 1 byte.
010 = Transaction is 2 bytes.
100 = Transaction is 4 bytes.
NOTE
Other values are invalid and should not be required by the external
peripheral!
Table 9-5 describes the various combinations of TSIZ, address and byte lanes for 32 bit wide data bus.
Table 9-5. Muxed Aligned Data Transfers
Transfer
Size
Data lanes
TSIZ[0:2]
1 Byte
2 Bytes
4 Bytes
001
010
100
AD[1:0]
AD[31:24]
AD[23:16]
AD[15:8]
AD[7:0]
00
Data
—
—
—
01
—
Data
—
—
10
—
—
Data
—
11
—
—
—
Data
00
Data
Data
—
—
10
—
—
Data
Data
00
Data
Data
Data
Data
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-11
LocalPlus Bus (External Bus Interface)
The ALE signal is active low and remains asserted for 1 external PCI bus clocks. When active any external
latch should be transparent.
AD[31] & AD[27] are unused and are driven low by the LPC during the address tenure, they are used as
data lines during the data phase in 32-bit modes.
9.4.2.2
Data Tenure
During Data Tenure, the following occurs:
• In the case of a write to the peripheral, the LPC drives the indicated AD data bits.
• In the case of a read, the indicated AD bits are tri-stated by the LPC.
NOTE
AD[0] is treated as the least significant data bit. Any unused data bits (as
indicated by the Data Size field in the associated control register) are driven
low by the LPC. Therefore, they should NOT be driven by the peripheral or
glue chip.
At the first PCI clock edge where the ACK input is detected as asserted, the LPC terminates the transaction
and releases the bus on the next PCI Bus clock. AD bus control reverts to the PCI Controller, which is then
responsible for driving default values on the bus. Obviously, any peripheral device must tri-state the AD
bus when it is not in use.
Figure 9-6 shows a MUXed transaction type timing diagram.
9.5
Configuration
The LPC supports several options in terms of modes, address and data sizes, speed, and configuration
which are described below.
9.5.1
Boot Configuration
After power-on reset (POR) the e300 processor accesses the local bus to fetch initial code sequences. Chip
Select Boot (CS Boot) is dedicated for this purpose. CS Boot and CS0 are physically the same pins. The
difference is that CS Boot is impacted by the reset configuration and is enabled after reset.
Several options are also available for boot code fetches. The boot configuration is determined during POR
using the reset_configuration word.
The following boot code configuration options are available, see Table 9-6.
• MUXed or non-MUXed mode.
— In MUXed mode Data bus can be 16- or 32-bits wide.
— In non-MUXed Legacy mode Data bus can be 8- or 16-bits wide.
— In non-MUXed MOST Graphics mode Data bus can be 32-bits wide.
— In non-MUXed Large Flash modes Data bus can be 8- or 16-bits wide.
• The number of wait states during boot can be 4 or 48 PCI bus clock cycles.
• The boot address/exception table can be located at 0x0000 0100 or 0xfff0 0100.
MPC5200B User’s Manual, Rev. 3
9-12
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
PCI CLK
AD[31,27] (wr)
Valid Wrtie Data
AD[30:28] (wr)
TSIZ[0:2] bits
Valid Wrtie Data
AD[26:25] (wr)
Bank[0:1] bits
Valid Wrtie Data
AD[24:0] (wr)
Address[7:31]
Valid Wrtie Data
Valid Read Data
AD[31:0] (rd)
ALE
TS
CSx
OE
RW
ACK
Address Tenure
Data Tenure
NOTE:
1.
ACK can shorten the CS pulse width.
2.
Address should be latched with the rising edge of ALE.
Figure 9-6. Timing Diagram—MUXed Mode
The PowerPC architecture compatible processor core requires 64-bit instruction fetches. During boot code
accesses from CS Boot space on-chip logic is provided to perform enough LocalPlus accesses to
accumulate 64-bit instructions to be given to the e300 processor. For example, before passing the resulting
64-bit instruction to the e300 processor, LocalPlus logic does either:
• 8 accesses to an 8-bit device
• 4 accesses to a 16-bit device
• 2 accesses to a 32-bit device
NOTE
The Boot space supports cached instruction reads and critical double word
first transactions.
The Boot space does NOT support an 8-bit wide MUXed mode
configuration during boot.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-13
LocalPlus Bus (External Bus Interface)
After boot, CS Boot space can be programmed to act as other MPC5200B Chip Select spaces (CS0-7).
This capability is described in the sections below.
9.5.2
Chip Selects Configuration
All Chip Selects CS0-7 have the same functionality. Only one CS can be active at any given time. Multiple
CS windows should not overlap. In the case that an address hit is located in multiple CS windows, only
one CS, the one with the highest priority, becomes active. The CS with the lowest number has the highest
priority (CS0 highest priority, CS7 lowest priority).
CS Boot and CS0 are identical with the exception of their control registers contained in the MPC5200B
MMAP register group, see Section 3.3.3.2, “Boot and Chip Select Addresses”. CS Boot and CS0 are
physically the same pins. The difference is that CS Boot is impacted by the reset configuration and is
enabled after reset, so boot is always performed only at CS Boot.
To change from CS Boot to CS0 the CS0 start and stop addresses must be configured and the disable of
CS Boot must occur together with the Enable of CS0 (see example).
ipbi->control_reg = (ipbi->control_reg & ~CSCTRL_BOOT_EN) | CSCTRL_CS0_EN;
Deadcycles from 0 to 3 can be added to any CS read access and will occur in addition to any cycles which
already exist. The configuration of Dead cycles are done by the Chip Select Deadcycle Control Register.
Burst Mode operations are supported on all CS and can be configured by the Chip Select Burst Control
Register.
The e300 processor can execute code from all CSs of the LP bus.
CS0-CS7 in MUXed mode:
• Supports 8-, 16- and 32-bit data reads and writes.
• Support of Dynamic bus sizing. This means read and write transactions greater than the defined
port size are possible (up to a maximum of 32 bits).
• The LPC Controller creates multiple transactions at the defined port size to satisfy the transaction
size requested up to a maximum of 32 bits. Transactions less than the defined port size are
supported only if the peripheral can decode the TSIZE[0:2] bits, which indicate the current
transaction size.
• 64-bit access is not supported. Internal logic is limited to 32-bits accesses.
• Support of Code execution
CS0-CS7 non-MUXed mode:
• In non-MUXed mode the data port size can be 8, 16 or 32bits.
• Dynamic Bus Sizing for read and write transactions are supported at the defined port sizes.
However, transactions that are less than the port size fail because no control signals exist to alert
the peripheral to the current transaction size. TSIZE[1:2] bits are available in all non-muxed modes
on separate pins, if the LPTZ bit is set in the GPS Port Configuration Register—MBAR + 0x0B00.
• Support of Burst access
MPC5200B User’s Manual, Rev. 3
9-14
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
9.5.3
Reset Configuration
The mode of the LocalPlus interface at boot is controlled by bits in the RST_CONFIG word described in
Chapter 4, “Resets and Reset Configuration”. The following 6 RST_CONFIG bits control boot device
operation from reset:
• BootType
• BootSize
• BootMostGraphics
• BootLargeFlash
• BootWait
• BootSwap
Table 9-6 describes possible boot settings.
Table 9-6. BOOT_CONFIG (RST_CONFIG) Options
Parameter
If Pulled Down (0)
If Pulled Up (1)
Notes
BootType
non-MUXed boot mode
MUXed boot mode
—
BootSize
non-MUXed type:
8-bit data
non-MUXed type:
16-bit data
—
24-bit address
16-bit address
MUXed type:
16-bit data
(25 bit address)
MUXed type:
32-bit data
(25 bit address)
—
—
BootMostGra
phics
—
MostGraphics boot mode.
LargeFlash
—
Large Flash boot mode
when active BootSize defines data size
(8/16)
BootWait
Minimum Wait states
4 pci_clk cycles
Maximum Wait states:
48 pci_clk cycles
The ACK input can shorten wait states,
if BootDevice supports it.
BootSwap
no Endian swapping applied to
read from Boot Device
Standard Endian swapping
performed on reads from Boot
Device
If swap indicated:
8-bit access = no swap
16-bit access = 2Byte swap
32-bit access = 4Byte swap
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-15
LocalPlus Bus (External Bus Interface)
9.6
DMA (BestComm) Interface (SCLPC)
The SCLPC interface provides a separate path from BestComm directly (on CommBus) to any peripheral.
The supported transactions are limited to 1, 2, 4, or 8 bytes only.
A single FIFO with a size of 512 bytes (32 x 128 bits) supports half duplex operation (Transmit or Receive)
only. If software configures a Transmit Packet, the Packet must be complete before a Receive operation
can be configured and started.
9.7
Programmer’s Model
Figure 9-7 through Figure 9-12 describe in detail the registers and bit meanings for configuring CS
operation. There are eight identical chip select configuration registers, one for each CS output. However,
the CS Boot ROM Configuration Register has active defaults for use by BOOTROM on CS0. All other
configuration registers power-up disabled and require software intervention before the corresponding CS
operates. The Chip Select Control Register is the enable register and the Chip Select Status Register serves
as a status register. For Burst Mode the Chip Select Burst Control Register exists and the configuration of
Dead cycles are done by the Chip Select Deadcycle Control Register.
NOTE
The address range registers for each CS reside in the MMAP register set
rather than in the LPC register set. See Section 3.3.3.2, “Boot and Chip
Select Addresses”.
9.7.1
Chip Select/LPC Registers
There are 12 32-bit Chip Select/LocalPlus (CS/LP) registers. These registers are located at an offset from
MBAR of 0x0300. Register addresses are relative to this offset. Therefore, the actual register address is:
MBAR + 0x0300 + register address
The following registers are available:
• Chip Select 0/Boot Configuration Register (0x0300)
• Chip Select 1–7 Configuration Register (0x0304)
• Chip Select Control Register (0x0318)
• Chip Select Status Register (0x031C)
• Chip Select Burst Control Register (0x0328)
• Chip Select Deadcycle Control Register (0x032C)
MPC5200B User’s Manual, Rev. 3
9-16
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
9.7.1.1
Chip Select 0/Boot Configuration Register
Address MBAR + 0x0300
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
WaitP
WaitX
W
Reset
0
0
0
0
0
0
0
0
cfg
cfg
cfg
cfg
cfg
cfg
cfg
cfg
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
MX
Rsvd
AA
CE
WS
RS
WO
RO
cfg
1
1
1
0
0
0
1
R
AS
DS
Bank
WTyp
W
Reset
cfg
cfg
cfg
cfg
0
0
0
0
Figure 9-7. Chip Select 0/Boot Configuration Register
Table 9-7. Chip Select 0/Boot Configuration Register Field Descriptions (Sheet 1 of 3)
Bits
Name
Description
0:7
WaitP
Number of wait states to insert. Can be applied as a prescale to WaitX or used by itself, as specified
by WTyp bits below. Wait states control how many PCI clocks the corresponding CS pin remains
active.
8:15
WaitX
Base number of wait states to insert, or combined with WaitP as specified by WTyp bits below.
cfg operation—If rstcfg[11] (on pad_eth_03) is zero then 4 wait states are in effect, else 48 wait
states are in effect. Wait States equals the number of PCI clocks from CS assertion to when data
must be valid from boot device.
16
MX
MX bit specifies whether a transaction operates as multiplexed or non-multiplexed. A multiplexed
transaction presents address and data in different tenures. During the address tenure, ALE is
asserted. At the end of ALE, AD bus is switched to data tenure and CSx pin is asserted.
0 = Non-multiplexed
1 = Multiplexed
cfg operation—If rstcfg[14] on pad_eth_06 is low, boot operation is non-multiplexed (single
tenure), else boot operation is multiplexed (dual tenure).
17
—
Reserved
18
AA
ACK Active. This bit defines whether ALK input is active or not. If AA is 1, programmed wait states
can be overridden when/if the external device drives the ACK input low. If AA is 0, the ACK input is
ignored.
Wait states are still in effect. If no ACK is received, cycle terminates at end of wait state period.
Note: Bit must be set to 0, to use ACK as burst indication signal during a burst transaction.
19
CE
An individual Enable bit—allows CS operation for the corresponding CS pin. CE must be high to
allow operation. Chip Select Control Register ME bit must also be high, except when CS[0] is used
for boot ROM.
1 = Enable
0 = Disabled, register writes can occur but no external access is generated.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-17
LocalPlus Bus (External Bus Interface)
Table 9-7. Chip Select 0/Boot Configuration Register Field Descriptions (Sheet 2 of 3)
Bits
Name
Description
20:21
AS
Address Size field—defines size of peripheral Address bus (in bytes) and must be consistent with
physical connections.
00 = 8 bits
01 = 16 bits
10 = 24 bits
11 = > 25 bits
See documentation for Physical Connection requirements.
The combination of address size, data size, and transaction type (MX) must be consistent with the
peripheral physical connection. In case of a multiplexed transaction, the entire address is driven
regardless of address size field.
cfg operation—If rstcfg[13] on pad_eth_05 is low, then the address size for non-multiplexed boot
device is set to 24 bits (AS=10), else the boot device is treated as a 16 bit address (AS=01) device.
For multiplexed mode boot devices the maximum 25 bits of address is always driven. This rstcfg bit
more particularly affects the DS field below, and can be thought of as the “small” or “big” data size
config bit.
22:23
DS
Data Size field—represents the peripheral data bus size (in bytes):
00 =1Byte
01 = 2 Bytes
10 = 3 Bytes (Not Supported)
11 = 4Bytes
cfg operation—If rstcfg[13] on pad_eth_05 is low, then the data size for non-multiplexed boot
device is set to 8 bits (DS=00), else the boot device is treated as a 16 bit (DS=01) device. For
multiplexed mode boot device the selection is 16 bit data or 32 bit data respectively.
24:25
Bank
Bank bits—are reflected on external AD lines (AD[26:25]) during Address tenure of a multiplexed
transaction. Register bit 24 is the msb and appears on AD[26].
26:27
WTyp
Wait state Type bits—define the application of wait states contained in WaitP and WaitX fields, as
follows:
00 = WaitX is applied to read and write cycles (WaitP is ignored).
01 = WaitX is applied to Read cycles, WaitP is applied to Write cycles.
10 = WaitX is applied to Reads, WaitP/WaitX (16-bit value) is applied to Writes.
11 = WaitP/Waitx (as a full 16-bit value) is applied to Reads and Writes.
28
WS
Write Swap bit—If high, Endian byte swapping occurs during writes to a peripheral.
• For 8-bit peripherals, this bit has no effect.
• For 16-bit peripherals, byte swapping can occur.
• For 32-bit peripherals (possible in MUXed mode only) byte swap can occur.
1 = swap
0 = NO swap
2-byte swap is AB to BA, 4-byte swap is ABCD to DCBA.
Note: Transactions at less than the defined port size (i.e., data size) apply swap rules as above,
according to the current transaction size.
29
RS
Read Swap bit—Same as WS, but swapping is done when reading data from a peripheral.
1 = swap
0 = NO swap
cfg operation—If rstcfg[12] on pad_eth_04 is low, data from the boot device is Endian swapped
when read. This only has effect for boot devices configured as 16- or 32-bit data size.
MPC5200B User’s Manual, Rev. 3
9-18
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
Table 9-7. Chip Select 0/Boot Configuration Register Field Descriptions (Sheet 3 of 3)
Bits
Name
Description
30
WO
Write Only bit—If bit is high, the peripheral is treated as a write-only device. An attempted read
access results in a bus error (as dictated by Chip Select Control Register EBEE bit) and/or an
interrupt (as dictated by Chip Select Control Register IE bit). In any case, no transaction is
presented to the peripheral.
A bus error means the internal cycle is terminated with a transfer error acknowledge (ips_xfr_err
assertion to IP bus, TEA assertion to XL bus).
31
RO
Read Only bit—If bit is high, the peripheral is treated as a read-only device. An attempted write
access results in a bus error (as specified by Chip Select Control Register EBEE bit) and/or an
interrupt (as specified by Chip Select Control Register IE bit). In any case, no transaction is
presented to the peripheral.
NOTE: This bit is high from Reset, indicating Boot Device is Read-Only.
Note:
1. The reset values defined as cfg depends on the Reset Configuration.
2. Large Flash mode is used, if AS is set to 11 and DS is set to 00 or 01.
3. MOST/Graphics mode is used, if AS is set to 10 and DS is set to 11.
9.7.1.2
Chip Select 1–7 Configuration Register
Address MBAR + 0x0304, 0x0308, 0x030C, 0x310, 0x0314, 0x0320, 0x0324
0
1
2
R
R
W
Reset
4
5
6
7
8
9
10
11
WaitP
W
Reset
3
12
13
14
15
WaitX
0
0
0
0
0
0
0
0
cfg
cfg
cfg
cfg
cfg
cfg
cfg
cfg
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
MX
Rsvd
AA
CE
WS
RS
WO
RO
cfg
1
1
1
0
0
0
1
AS
cfg
DS
cfg
cfg
Bank
cfg
0
WTyp
0
0
0
Figure 9-8. Chip Select 1–7 Configuration Register
Table 9-8. Chip Select 1–7 Configuration Register Field Descriptions (Sheet 1 of 3)
Bits
Name
Description
0:7
WaitP
Number of Wait States to insert. Can be applied as a prescale to Wait X or used by itself, as dictated
by the WTyp bits (see below). Wait States control how many PCI clocks the corresponding CS pin
remains active.
8:15
WaitX
The base number of wait states to insert, or combined with WaitP as dictated by the WTyp bits
below.
16
MX
MX bit specifies whether transaction operates as multiplexed or non-multiplexed. A multiplexed
transaction presents address and data in different tenures. During the address tenure, ALE is
asserted. At the end of ALE, AD bus is switched to data tenure and CSx pin is asserted.
0 = Non-multiplexed
1 = Multiplexed
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-19
LocalPlus Bus (External Bus Interface)
Table 9-8. Chip Select 1–7 Configuration Register Field Descriptions (Sheet 2 of 3)
Bits
Name
Description
17
—
Reserved
18
AA
ACK Active. This bit defines whether ALK input is active or not. If AA is 1, programmed wait states
can be overridden when/if the external device drives the ACK input low. If AA is 0, the ACK input is
ignored.
Wait states are still in effect. If no ACK is received, cycle terminates at end of wait state period.
Note: Bit must be set to 0, to use ACK as burst indication signal during a burst transaction.
19
CE
Chip Enable—bit allows CS operation for the corresponding CS pin. Must be high to allow operation.
Chip Select Control Register ME bit must also be high.
Enabled.
0 = Disabled, register writes can occur but no external access is generated.
20:21
AS
Address Size field—defines the peripheral address bus size in bytes, and must be consistent with
the physical connections.
00 = 8 bits
01 = 16 bits
10 = 24 bits
11 = > 25 bits
Note: The combination of address size, data size, and transaction type (MX) must be consistent
with the physical peripheral connection. In a multiplexed transaction, the entire address is
driven, regardless of the address size field.
22:23
DS
Data Size field—represents the peripheral data bus size (in bytes):
00 =1Byte
01 = 2 Bytes
10 = 3 Bytes (Not Supported)
11 = 4Bytes
24:25
Bank
Bank bits—are reflected on external AD lines (AD[26:25]) during address tenure of a multiplexed
transaction. Register bit 24 is the msb and appears on AD[26].
26:27
WTyp
Wait state Type bits—define application of wait states contained in WaitP and WaitX fields, as
follows:
00 = WaitX is applied to Read and Write cycles (WaitP is ignored)
01 = WaitX is applied to Read cycles, WaitP is applied to Write cycles
10 = WaitX is applied to Reads, WaitP/WaitX (16-bit value) is applied to Writes
11 = WaitP/Waitx (as a full 16-bit value) is applied to Reads and Writes
28
WS
Write Swap bit—If high, Endian byte swapping occurs during writes to a peripheral.
• For 8-bit peripherals, this bit has no effect.
• For 16-bit peripherals, byte swapping can occur.
• For 32-bit peripherals (possible in MUXed mode only) byte swap can occur.
1 = swap
0 = NO swap
2-byte swap is AB to BA, 4-byte swap is ABCD to DCBA.
Note: Transactions at less than the defined port size (i.e., data size) apply swap rules as above,
according to the current transaction size.
MPC5200B User’s Manual, Rev. 3
9-20
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
Table 9-8. Chip Select 1–7 Configuration Register Field Descriptions (Sheet 3 of 3)
Bits
Name
29
RS
Description
Read Swap bit—Same as WS, but swapping is done when reading data from a peripheral.
1 = swap
0 = NO swap
Note: Transactions at less than the defined port size (i.e., data size) apply swap rules as above,
according to the current transaction size.
30
WO
Write Only bit—If high peripheral is treated as a write-only device. An attempted Read access
results in a bus error (as specified by Chip Select Control Register EBEE bit) and/or an interrupt
(as dictated by Chip Select Control Register IE bit). In any case, no transaction is presented to the
peripheral.
A bus error means the internal cycle is terminated with a transfer error acknowledge (ips_xfr_err
assertion to IP bus, TEA assertion to XL bus).
31
RO
Read Only bit—If high, peripheral is treated as a read-only device. An attempted Write access
results in a bus error (as specified by Chip Select Control Register EBEE bit) and/or an interrupt (as
dictated by Chip Select Control Register IE bit). In any case, no transaction is presented to the
peripheral.
Note:
1. Large Flash mode is used, if AS is set to 11 and DS is set to 00 or 01.
2. MOST Graphics mode is used, if AS is set to 10 and DS is set to 11.
9.7.1.3
Chip Select Control Register
Address MBAR +
0x0318
0
1
2
R
4
5
6
Reserved
W
Reset:
3
8
9
10
ME
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 9-9. Chip Select Control Register
Table 9-9. Chip Select Control Register Field Descriptions
Bits
Name
Description
0:6
—
Reserved
7
ME
Master Enable bit—a global module enable bit. If this bit is low, register access can still occur, but
no external transactions are accepted. However, ME does not affect boot ROM operation on CS[0].
If software wishes to disable CS[0], it must write 0 to the Chip Select Boot ROM Configuration
Register enable bit (CE).
8:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-21
LocalPlus Bus (External Bus Interface)
9.7.1.4
Chip Select Status Register
Address MBAR + 0x031C
0
1
2
3
4
Reserved
8
9
10
11
12
13
14
15
ROerr
7
Rsvd
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
W
Reset
6
WOerr
R
5
CSxerr
Reserved
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 9-10. Chip Select Status Register
Table 9-10. Chip Select Status Register Field Descriptions
Bits
Name
Description
0:1
—
2
WOerr
Write Only error—If 1, it indicates a Read access was attempted on a peripheral marked as
write-only.
This is a sticky bit and must be written with 1 to be cleared. This status bit is always active regardless
of bus error enable bit. The CS number that relates to the error is reflected in the CSxerr field.
3
ROerr
Read Only error—If 1, it indicates a Write access was attempted on a peripheral marked as
read-only.
This is a sticky bit and must be written with 1 to be cleared. This status bit is always active regardless
of bus error enable bit. The CS number that relates to the error is reflected in the CSxerr field.
4
—
5:7
CSxerr
8:31
—
Reserved
Reserved
Chip Select error—Indicates CS number associated with WOerr or ROerr.
Reserved
MPC5200B User’s Manual, Rev. 3
9-22
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
9.7.1.5
Chip Select Burst Control Register
Address MBAR + 0x0328
CW7 SLB7 Rsvd
W
6
CW6 SLB6 Rsvd
7
8
9
10
CW5 SLB5 Rsvd
11
12
13
14
CW4 SLB4 Rsvd
15
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
CW3 SLB3 Rsvd
W
0
0
0
0
CW2 SLB2 Rsvd
0
0
0
0
CW1 SLB1 Rsvd
0
0
0
0
CW0 SLB0 Rsvd
0
0
0
BRE0
0
BRE1
0
BRE2
0
R
Reset
5
0
BRE3
Reset:
4
BRE4
R
3
BRE5
2
BRE6
1
BRE7
0
0
Figure 9-11. Chip Select Burst Control Register
Table 9-11. Chip Select Burst Control Register Field Descriptions (Sheet 1 of 3)
Bits
Name
Description
0
CW7
Chip Select 7 Cache Wrap capable, set if peripheral burst can perform PPC cache wrap. This bit
setting only applies in Large Flash or MOST Graphics Mode.
1
SLB7
Chip Select 7 Short/Long Burst, 0 for Short Burst only, 1 for Long Burst capable. Short burst is
8-bytes, used for Instruction fetches, and CDWF cache line bursts on XLB if cache wrap not capable.
Long Burst capable means that peripheral can do 32-byte burst which hardware will generate for
cache line aligned XLB bursts (and CDWF if peripheral tagged as cache wrap capable also).
This bit setting only applies in Large Flash or MOST Graphics Mode.
2
—
3
BRE7
Chip Select 7 Burst Read Enable, 1 to enable peripheral bursting for given chip select. Must be set
to enable any Bursting reads.
This bit setting only applies in Large Flash or MOST Graphics Mode.
4
CW6
Chip Select 6 Cache Wrap capable, set if peripheral burst can perform PPC cache wrap. This bit
setting only applies in Large Flash or MOST Graphics Mode.
5
SLB6
Chip Select 6 Short/Long Burst, 0 for Short Burst only, 1 for Long Burst capable. Short burst is
8-bytes, used for Instruction fetches, and CDWF cache line bursts on XLB if cache wrap not capable.
Long Burst capable means that peripheral can do 32-byte burst which hardware will generate for
cache line aligned XLB bursts (and CDWF if peripheral tagged as cache wrap capable also).
This bit setting only applies in Large Flash or MOST Graphics Mode.
6
—
7
BRE6
Chip Select 6 Burst Read Enable, 1 to enable peripheral bursting for given chip select. Must be set
to enable any Bursting reads.
This bit setting only applies in Large Flash or MOST Graphics Mode.
8
CW5
Chip Select 5 Cache Wrap capable, set if peripheral burst can perform PPC cache wrap. This bit
setting only applies in Large Flash or MOST Graphics Mode.
Reserved
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-23
LocalPlus Bus (External Bus Interface)
Table 9-11. Chip Select Burst Control Register Field Descriptions (Sheet 2 of 3)
Bits
Name
Description
9
SLB5
Chip Select 5 Short/Long Burst, 0 for Short Burst only, 1 for Long Burst capable. Short burst is
8-bytes, used for Instruction fetches, and CDWF cache line bursts on XLB if cache wrap not capable.
Long Burst capable means that peripheral can do 32-byte burst which hardware will generate for
cache line aligned XLB bursts (and CDWF if peripheral tagged as cache wrap capable also).
This bit setting only applies in Large Flash or MOST Graphics Mode.
10
—
11
BRE5
Chip Select 5 Burst Read Enable, 1 to enable peripheral bursting for given chip select. Must be set
to enable any Bursting reads.
This bit setting only applies in Large Flash or MOST Graphics Mode.
12
CW4
Chip Select 4 Cache Wrap capable, set if peripheral burst can perform PPC cache wrap. This bit
setting only applies in Large Flash or MOST Graphics Mode.
13
SLB4
Chip Select 4 Short/Long Burst, 0 for Short Burst only, 1 for Long Burst capable. Short burst is
8-bytes, used for Instruction fetches, and CDWF cache line bursts on XLB if cache wrap not capable.
Long Burst capable means that peripheral can do 32-byte burst which hardware will generate for
cache line aligned XLB bursts (and CDWF if peripheral tagged as cache wrap capable also).
This bit setting only applies in Large Flash or MOST Graphics Mode.
14
—
15
BRE4
Chip Select 4 Burst Read Enable, 1 to enable peripheral bursting for given chip select. Must be set
to enable any Bursting reads.
This bit setting only applies in Large Flash or MOST Graphics Mode.
16
CW3
Chip Select 3 Cache Wrap capable, set if peripheral burst can perform PPC cache wrap. This bit
setting only applies in Large Flash or MOST Graphics Mode.
17
SLB3
Chip Select 3 Short/Long Burst, 0 for Short Burst only, 1 for Long Burst capable. Short burst is
8-bytes, used for Instruction fetches, and CDWF cache line bursts on XLB if cache wrap not capable.
Long Burst capable means that peripheral can do 32-byte burst which hardware will generate for
cache line aligned XLB bursts (and CDWF if peripheral tagged as cache wrap capable also).
This bit setting only applies in Large Flash or MOST Graphics Mode.
18
—
19
BRE3
Chip Select 3 Burst Read Enable, 1 to enable peripheral bursting for given chip select. Must be set
to enable any Bursting reads.
This bit setting only applies in Large Flash or MOST Graphics Mode.
20
CW2
Chip Select 2 Cache Wrap capable, set if peripheral burst can perform PPC cache wrap. This bit
setting only applies in Large Flash or MOST Graphics Mode.
21
SLB2
Chip Select 2 Short/Long Burst, 0 for Short Burst only, 1 for Long Burst capable. Short burst is
8-bytes, used for Instruction fetches, and CDWF cache line bursts on XLB if cache wrap not capable.
Long Burst capable means that peripheral can do 32-byte burst which hardware will generate for
cache line aligned XLB bursts (and CDWF if peripheral tagged as cache wrap capable also).
This bit setting only applies in Large Flash or MOST Graphics Mode.
22
—
23
BRE2
Chip Select 2 Burst Read Enable, 1 to enable peripheral bursting for given chip select. Must be set
to enable any Bursting reads.
This bit setting only applies in Large Flash or MOST Graphics Mode.
24
CW1
Chip Select 1 Cache Wrap capable, set if peripheral burst can perform PPC cache wrap. This bit
setting only applies in Large Flash or MOST Graphics Mode.
Reserved
Reserved
Reserved
Reserved
MPC5200B User’s Manual, Rev. 3
9-24
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
Table 9-11. Chip Select Burst Control Register Field Descriptions (Sheet 3 of 3)
Bits
Name
Description
25
SLB1
Chip Select 1 Short/Long Burst, 0 for Short Burst only, 1 for Long Burst capable. Short burst is
8-bytes, used for Instruction fetches, and CDWF cache line bursts on XLB if cache wrap not capable.
Long Burst capable means that peripheral can do 32-byte burst which hardware will generate for
cache line aligned XLB bursts (and CDWF if peripheral tagged as cache wrap capable also).
This bit setting only applies in Large Flash or MOST Graphics Mode.
26
—
27
BRE1
Chip Select 1 Burst Read Enable, 1 to enable peripheral bursting for given chip select. Must be set
to enable any Bursting reads.
This bit setting only applies in Large Flash or MOST Graphics Mode.
28
CW0
Chip Select 0 Cache Wrap capable, set if peripheral burst can perform PPC cache wrap. This bit
setting only applies in Large Flash or MOST Graphics Mode.
29
SLB0
Chip Select 0 Short/Long Burst, 0 for Short Burst only, 1 for Long Burst capable. Short burst is
8-bytes, used for Instruction fetches, and CDWF cache line bursts on XLB if cache wrap not capable.
Long Burst capable means that peripheral can do 32-byte burst which hardware will generate for
cache line aligned XLB bursts (and CDWF if peripheral tagged as cache wrap capable also).
This bit setting only applies in Large Flash or MOST Graphics Mode.
30
—
31
BRE0
Reserved
Reserved
Chip Select 0 Burst Read Enable, 1 to enable peripheral bursting for given chip select. Must be set
to enable any Bursting reads.
This bit setting only applies in Large Flash or MOST Graphics Mode.
Note:
1. CDWF is defined as critical double word first.
2. The bits for Chip Select 0 (CS0) control CS Boot too.
3. With a clock ratio 1:1:1 (66:66:66 MHz) it is not possible to burst in Large Flash mode.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-25
LocalPlus Bus (External Bus Interface)
9.7.1.6
Chip Select Deadcycle Control Register
Address MBAR + 0x032C
0
R
W
Reset
R
W
Reset
1
2
Reserved
3
DC7
4
5
6
Reserved
7
DC6
8
9
10
Reserved
11
DC5
12
13
14
Reserved
15
DC4
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Reserved
0
0
DC3
1
Reserved
1
0
0
DC2
1
Reserved
1
0
0
DC1
1
Reserved
1
0
0
DC0
1
1
Figure 9-12. Chip Select Deadcycle Control Register
Table 9-12. Chip Select Deadcycle Control Register Field Descriptions
Bits
Name
0:1
—
2:3
DC7
4:5
—
6:7
DC6
8:9
—
10:11
DC5
12:13
—
14:15
DC4
16:17
—
18:19
DC3
20:21
—
22:23
DC2
24:25
—
Description
Reserved
Deadcycles can be specified as 0 to 3. Dead cycles will be added to the end of Chip Select 7 read
access and will occur in addition to any cycles which may already exist. These cycles are to provide
peripheral additional time to tri-state it's bus after a read operation. This is for all access types.
Reserved
Deadcycles can be specified as 0 to 3. Dead cycles will be added to the end of Chip Select 6 read
access and will occur in addition to any cycles which may already exist. These cycles are to provide
peripheral additional time to tri-state it's bus after a read operation. This is for all access types.
Reserved
Deadcycles can be specified as 0 to 3. Dead cycles will be added to the end of Chip Select 5 read
access and will occur in addition to any cycles which may already exist. These cycles are to provide
peripheral additional time to tri-state it's bus after a read operation. This is for all access types.
Reserved
Deadcycles can be specified as 0 to 3. Dead cycles will be added to the end of Chip Select 4 read
access and will occur in addition to any cycles which may already exist. These cycles are to provide
peripheral additional time to tri-state it's bus after a read operation. This is for all access types.
Reserved
Deadcycles can be specified as 0 to 3. Dead cycles will be added to the end of Chip Select 3 read
access and will occur in addition to any cycles which may already exist. These cycles are to provide
peripheral additional time to tri-state it's bus after a read operation. This is for all access types.
Reserved
Deadcycles can be specified as 0 to 3. Dead cycles will be added to the end of Chip Select 2 read
access and will occur in addition to any cycles which may already exist. These cycles are to provide
peripheral additional time to tri-state it's bus after a read operation. This is for all access types.
Reserved
MPC5200B User’s Manual, Rev. 3
9-26
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
Table 9-12. Chip Select Deadcycle Control Register Field Descriptions (continued)
Bits
Name
Description
26:27
DC1
Deadcycles can be specified as 0 to 3. Dead cycles will be added to the end of Chip Select 1 read
access and will occur in addition to any cycles which may already exist. These cycles are to provide
peripheral additional time to tri-state it's bus after a read operation. This is for all access types.
28:29
—
30:31
DC0
Reserved
Deadcycles can be specified as 0 to 3. Dead cycles will be added to the end of Chip Select 0 read
access and will occur in addition to any cycles which may already exist. These cycles are to provide
peripheral additional time to tri-state it's bus after a read operation. This is for all access types.
NOTE
Deadcycle counter is only used, if no arbitration to an other module (ATA
or PCI) of the shared local bus happens. If an arbitration happens the bus can
be driven within 4 IPB clocks by an other module.
9.7.2
SCLPC Registers
There are 6 32-bit BestComm Registers for the LocalPlus (SCLPC). These registers are located at an offset
from MBAR of 0x3C00. Register addresses are relative to this offset. Therefore, the actual register address
is: MBAR + 0x3C00 + register address
The following registers are available:
•
•
•
•
•
SCLPC Packet Size Register (0x3C00)
SCLPC Start Address Register (0x3C04)
SCLPC Control Register (0x3C08)
SCLPC Enable Register (0x3C0C)
SCLPC Bytes Done Status Register (0x3C14)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-27
LocalPlus Bus (External Bus Interface)
9.7.2.1
SCLPC Packet Size Register
Address MBAR + 0x3C00
0
1
2
3
4
5
6
8
9
10
11
12
13
14
15
0
W
Restart
R
Reset:
7
Reserved
Packet Size
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Packet Size
W
Reset
0
0
0
0
0
0
0
0
0
Figure 9-13. SCLPC Packet Size Register
Table 9-13. SCLPC Packet Size Register Field Descriptions
Bits
Name
Description
0:6
—
7
Restart
Once all registers have been programmed, software writes a 1 to this bit to begin a transfer.
It will auto-clear and always reads back as zero.
8:31
Packet Size
This 24-bit field represents the number of bytes SCLPC is to transact before going idle and
waiting for a Restart.
Note: The co-location of Restart bit and Packet_Size field allows Software to both Restart
a transaction AND change the Packet_Size in a single write. Maximum packet size is
16M-1 bytes.
Reserved
MPC5200B User’s Manual, Rev. 3
9-28
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
9.7.2.2
SCLPC Start Address Register
Address MBAR + 0x3C04
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Start Address
W
Reset:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Start Address
W
Reset
0
0
0
0
0
0
0
0
0
Figure 9-14. SCLPC Start Address Register
Table 9-14. SCLPC Start Address Register Field Descriptions
Bits
Name
Description
0:31
Start Address
Address of the first byte in the packet to be sent. This value must be aligned with the BPT
(Bytes Per Transaction) field, described below. This address will appear directly at the
peripheral and is completely independent of XLB address decoding logic.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-29
LocalPlus Bus (External Bus Interface)
9.7.2.3
SCLPC Control Register
Address MBAR + 0x3C08
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Flush
RWb
0
0
R
Reserved
CSX
Reserved
W
Reset:
0
16
0
17
0
18
0
19
0
20
0
21
0
22
0
23
0
24
0
25
0
26
0
27
0
28
0
29
30
31
R
Reserved
DAI
Reserved
BPT
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 9-15. SCLPC Control Register
Table 9-15. SCLPC Control Register Field Descriptions
Bits
Name
Description
0:4
—
5:7
CSX
8:13
—
14
Flush
If set to 1, enables the assertion of SCLPC requestor at the completion of a *Read* Packet,
regardless of the actual state of the physical fifo ALarm. Requestor will de-assert once the
fifo goes empty. This is the fix for the familiar Stale Read Data fifo problem.
15
RWb
Read - Write bar. Controls direction of DMA transaction.
1 = SCLPC will read from the peripheral, i.e. Fifo Receive
Reserved
This field should be written with the Chip Select number associated with each DMA
transaction.
Note: LPC configuration registers associated with this CS also affect SCLPC transactions.
The two work together.
Reserved
0 = SCLPC will write to the peripheral, i.e. Fifo Transmit
16:22
—
23
DAI
24:27
—
28:31
BPT
Reserved
Disable Auto Increment. Normally, SCLPC and LPC will present sequential incrementing
addresses to the peripheral as the Packet proceeds. If the peripheral is operating as a single
address Fifo, then the DAI bit should be set to 1. When set, addresses to the peripheral will
be stuck at Start_Address for every transaction.
For DAI operation, the BPT field *MUST* be set to the port size of the peripheral.
Reserved
Bytes Per Transaction. Indicates number of bytes per transaction. The only valid entries in
this field are decimal/hex 1, 2, 4, or 8 bytes (i.e. binary 0001, 0010, 0100, 1000). BPT should
not be set to less than the peripheral port size, but certainly can be set to larger than the
peripheral port size. The higher the BPT value, the greater the throughput.
Note: Start_Address and Packet_Size values *must* be aligned/multiples of BPT. For DAI
operation, BPT must be set to the peripheral port size.
MPC5200B User’s Manual, Rev. 3
9-30
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
9.7.2.4
SCLPC Enable Register
Address MBAR + 0x3C0C
0
1
2
R
5
6
7
8
9
10
RC
11
12
13
14
Reserved
15
RF
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
AIE
NIE
0
0
R
Reserved
W
Reset
4
Reserved
W
Reset:
3
0
0
0
0
0
0
Reserved
0
0
0
0
ME
0
0
0
0
Figure 9-16. SCLPC Enable Register
Table 9-16. SCLPC Enable Register Field Descriptions
Bits
Name
Description
0:6
—
Reserved
7
RC
Reset Controller. This bit allows for a Software reset of the SCLPC state machine. Writing
a 1 to this bit will reset the SCLPC state machine. Reset will be maintained as long as this
bit is high. Software must write this bit low to release the reset and start operation.
Note:
1. Although RC does *not* reset this register interface, it does clear interrupt and interrupt
status conditions.
2. Never reset the SCLPC Controller during a transaction (tx or rx).
8:14
—
Reserved
15
RF
Reset Fifo. This is the Fifo software reset bit. Writing a 1 to this bit will reset the SCLPC Fifo.
The Fifo must not be in reset for normal operation. Software reset of the Fifo will clear the
fifo of data, reset its read/write pointers, but *not* disturb previously programmed Alarm and
Granularity settings.
Note: Good Practice would be for software to set and clear the RC and RF bits prior to
programming and starting a Packet.
16:21
—
Reserved
22
AIE
Abort Interrupt Enable. If set, and a fifo error occurs during packet transmission, a cpu
interrupt from SCLPC will be generated. In any case, the Packet will be terminated and an
Abort Status bit will be set.
Note: This bit does *not* affect the Requestor to BestComm in any way.
23
NIE
Normal Interrupt Enable. This bit, if set enables a cpu interrupt to occur at the end of a
normally terminated Packet. There is also a NT status bit which sets in any case.
Note: This bit does *not* affect the Requestor to BestComm in any way.
24:30
—
Reserved
31
ME
Master Enable. This bit must be set to 1 to allow a Restart to be generated to the SCLPC
state machine. Restart is achieved by writing 1 to Byte 0 of the Packet_Size register. This
ME bit must also be set for a Restart to occur.
Note: ME being low (inactive) will also clear Interrupt and Interrupt status. But it does *NOT*
affect the BestComm Requestor.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-31
LocalPlus Bus (External Bus Interface)
9.7.2.5
SCLPC Bytes Done Status Register
Address MBAR + 0x3C14
0
1
2
R
3
4
6
AT
Reserved
7
8
10
11
12
NT
Bytes Done
rwc
rwc
Read Only
13
14
15
0
0
0
0
0
0
0
0
X
X
X
X
X
X
X
X
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
X
X
X
X
X
X
X
R
Bytes Done
W
Read Only
Reset
9
Reserved
W
Reset
5
X
X
X
X
X
X
X
X
X
Note: X: Bit does not reset to a defined value.
Figure 9-17. SCLPC Bytes Done Status Register
Table 9-17. SCLPC Bytes Done Status Register Field Descriptions
Bits
Name
Description
0:2
—
Reserved
3
AT
Abort Termination. This bit will be set to 1 if the Packet has terminated abnormally (which is
only possible if a fifoError occurred).
Note: This bit is ANDed with the AIE bit above to generate a single CPU interrupt signal to
the core. This bit is sticky write to 1" for clearing the bit and clearing the interrupt.
Note: This bit (and any interrupt) is also cleared if; 1) RC bit is set, 2) ME bit is clear, or 3)
Restart occurs.
4:6
—
Reserved
7
NT
Normal Termination. This bit is set to 1 whenever a complete Packet has been transferred
successfully.
Note: This bit is ANDed with the NIE bit above to generate a single CPU interrupt signal to
the core. This bit is sticky write to 1 for clearing the bit and clearing the interrupt.
8:31
Bytes Done
Bytes Done is updated dynamically by the SCLPC state machine to represent the actual
number of bytes transmitted at a given point in time. At the normal conclusion of a Packet,
the bytes_done field should match the Packet_Size field.
MPC5200B User’s Manual, Rev. 3
9-32
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
9.7.3
SCLPC FIFO Registers
LPC uses a single FIFO that changes direction based on the Rx/Tx mode. Software controls direction
change and flushes FIFO before changing directions. FIFO memory is 512Bytes (32 x 128).
LPC FIFO is controlled by six 32-bit registers. These registers are located at an offset from MBAR of
0x3C40. Register addresses are relative to this offset. Therefore, the actual register address is: MBAR +
0x3C40 + register address
Hyperlinks to the LPC FIFO registers are provided below:
• LPC Rx/Tx FIFO Data Word Register (0x3C40)
• LPC Rx/Tx FIFO Status Register (0x3C44)
• LPC Rx/Tx FIFO Control Register (0x3C48)
• LPC Rx/Tx FIFO Alarm Register (0x3C4C)
• LPC Rx/Tx FIFO Read Pointer Register (0x3C50)
• LPC Rx/Tx FIFO Write Pointer Register (0x3C54)
9.7.3.1
LPC Rx/Tx FIFO Data Word Register
LPC_rx/tx_fifo_data_word_register
Address MBAR + 0x3C14
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
FIFO_Data_Word
W
Reset
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
X
X
X
X
X
X
R
FIFO_Data_Word
W
Reset
X
X
X
X
X
X
X
X
X
X
Note: X: Bit does not reset to a defined value.
Figure 9-18. LPC Rx/Tx FIFO Data Word Register
Table 9-18. LPC Rx/Tx FIFO Data Word Register Field Descriptions
Bits
Name
Description
0:31
FIFO_Data_Word
The FIFO data port. Reading from this location “pops” data from the FIFO, writing “pushes”
data into the FIFO. During normal operation the BestComm Controller pushes data here.
Note: ONLY full word access is allowed. If all byte enables are not asserted when accessing
this location, a FIFO error flag is generated.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-33
LocalPlus Bus (External Bus Interface)
9.7.3.2
LPC Rx/Tx FIFO Status Register
Address MBAR + 0x3C44
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Err
UF
OF
Full
HI
LO
Emty
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Table 9-19. LPC Rx/Tx FIFO Status Register
Table 9-20. LPC Rx/Tx FIFO Status Register Field Descriptions
Bits
Name
Description
0:8
—
Reserved
9
Err
Error—flag bit is essentially the logical OR of other flag bits and can be polled for detection of any
FIFO error. After clearing the offending condition, writing 1 to this bit clears flag.
10
UF
UnderFlow—flag indicates read pointer has surpassed the write pointer. FIFO was read beyond
empty. Resetting FIFO clears this condition; writing 1 to this bit clears flag.
11
OF
OverFlow—flag indicates write pointer surpassed read pointer. FIFO was written beyond full.
Resetting FIFO clears this condition; writing 1 to this bit clears flag.
12
Full
FIFO full—this is NOT a sticky bit or error condition. Full indication tracks with FIFO state.
13
HI
High—FIFO requests attention, because high level alarm is asserted. To clear this condition, FIFO
must be read to a level below the setting in granularity bits.
14
LO
Low—FIFO requests attention, because Low level alarm is asserted. To clear this condition, FIFO
must be written to a level in which the space remaining is less than the granularity bit setting.
15
Emty
16:31
—
FIFO empty—this is NOT a sticky bit or error condition. Full indication tracks with FIFO state.
Reserved
MPC5200B User’s Manual, Rev. 3
9-34
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
9.7.3.3
LPC Rx/Tx FIFO Control Register
Address MBAR + 0x3C48
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
WFR
Reserved
GR
Reserved
W
Reset
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Table 9-21. LPC Rx/Tx FIFO Control Register
Table 9-22. LPC Rx/Tx FIFO Control Register Field Descriptions
Bits
Name
Description
0:1
—
2
WFR
3:4
—
Reserved
5:7
GR
Granularity—bits control high “watermark” point at which FIFO negates Alarm condition (i.e.,
request for data). It represents the number of free bytes times 4.
000 = FIFO waits to become completely full before stopping data request.
Reserved
When bit sets, FIFO Controller assumes next data write is End of Frame (EOF).
Note: This module does not support Framing. This bit should remain low.
001 = FIFO stops data request when only one long word of space remains.
8:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-35
LocalPlus Bus (External Bus Interface)
9.7.3.4
LPC Rx/Tx FIFO Alarm Register
Address MBAR + 0x3C4C
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
R
Reserved
W
Reset
9
Reserved
W
Reset:
8
0
0
0
0
Alarm
0
0
0
0
0
0
0
0
Table 9-23. LPC Rx/Tx FIFO Alarm Register
Table 9-24. LPC Rx/Tx FIFO Alarm Register Field Descriptions
Bits
Name
0:22
—
23:31
Alarm
9.7.3.5
Description
Reserved
User writes these bits to set low level “watermark”, which is the point where FIFO asserts request
for BestComm Controller data filling. Value is in bytes. For example, with Alarm = 32, alarm condition
occurs when FIFO contains 32Bytes or less. Once asserted, alarm does not negate until high level
mark is reached, as specified by FIFO control register granularity bits.
LPC Rx/Tx FIFO Read Pointer Register
Address MBAR + 0x3C50
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
0
ReadPtr
0
0
0
0
0
0
0
0
Table 9-25. LPC Rx/Tx FIFO Read Pointer Register
Table 9-26. LPC Rx/Tx FIFO Read Pointer Register Field Descriptions
Bits
Name
0:22
—
23:31
ReadPtr
Description
Reserved
Value is maintained by FIFO hardware and is NOT normally written. It can be adjusted in special
cases, but this disrupts data flow integrity. Value represents the Read address presented to the
FIFO RAM.
MPC5200B User’s Manual, Rev. 3
9-36
Freescale Semiconductor
LocalPlus Bus (External Bus Interface)
9.7.3.6
LPC Rx/Tx FIFO Write Pointer Register
Address MBAR + 0x3C54
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
R
Reserved
WritePtr
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
Table 9-27. LPC Rx/Tx FIFO Write Pointer Register
Table 9-28. LPC Rx/Tx FIFO Write Pointer Register Field Descriptions
Bits
Name
0:22
—
23:31
WritePtr
Description
Reserved
Value is maintained by FIFO hardware and is NOT normally written. It can be adjusted in special
cases, but this disrupts data flow integrity. Value represents the Read address presented to the
FIFO RAM.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
9-37
LocalPlus Bus (External Bus Interface)
MPC5200B User’s Manual, Rev. 3
9-38
Freescale Semiconductor
Chapter 10
PCI Controller
10.1
Overview
The Peripheral Component Interface (PCI) Bus is a high-performance bus with multiplexed address and
data lines. It is especially suitable for high data-rate applications.
The MPC5200B PCI Controller module supports a 32-bit PCI initiator and target interface. As a target,
access to the internal XL bus is supported. As an initiator, the PCI controller is coupled directly to the XL
bus (as a slave) and available on the Communication Sub-System as a Multi-Channel DMA peripheral.
The 32-bit multiplexed address/data is shared with the ATA Controller and LocalPlus Controllers.
However, control signals are on separate pins and only one operation (PCI, ATA, or LocalPlus) can be
done at any given time.
The LocalPlus Large Flash and Most/Graphic interfaces are not compatible with any PCI operation. When
these interfaces are needed, the PCI internal controller must be disabled by setting bit 16 (PCI_DIS) of the
GPS Configuration register. See Section 7.3.2.1.1, “GPS Port Configuration Register.”
The MPC5200B contains PCI central resource functions such as the PCI Arbiter (see Section 10.5, “PCI
Arbiter”) and PCI reset control. The PCI bus clock is always sourced from the MPC5200B and either equal
to 1, 1/2 the frequency of the Slave bus clock (IP bus clock) or 1/4 the frequency of the XL Bus clock.
Even when the PCI internal controller is disabled, the PCI clock is sourced by the MPC5200B.
A PCI reset signal is provided and implemented as an open-drain pin. An external (on board) pull-up
resistor (e.g. 5.6 kOhm) is then required to ensure proper operation.
NOTE
If the PCI interface is NOT used (and internally disabled) the PCI control
pins must be terminated as indicated by the PCI Local Bus specification.
PCI control signals always require pull-up resistors to ensure that they
contain stable values when no agent is actively driving the bus. This
includes PCI_FRAME, PCI_TRDY, PCI_IRDY, PCI_DEVSEL,
PCI_STOP, PCI_SERR, PCI_PERR, and PCI_REQ.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-1
PCI Controller
10.1.1
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Features
Supports system clock: Slave (IP) bus (internal peripheral slave bus) to PCI bus frequency ratios
1:1, 2:1. Or the XL Bus to PCI bus frequency ratio 4:1 (e.g. PCI runs at 33 MHz while the XL Bus
bus runs at 132 MHz).
Compatible with PCI 2.2 specification
PCI initiator and target operation
Fully synchronous design
32-bit PCI Address/Data bus
PCI 2.2 Type 0 Configuration Space header
Supports the PCI 16/8 clock rule
PCI master Multi-Channel DMA or CPU access to PCI Bus
High transfer rates at 66Mhz PCI clock, 512 byte buffer
PCI to system bus address translation
Target response is medium DEVSEL generation
Initiator latency time-outs are NOT supported.
Automatic retry of target disconnects
Fast Back-to-Back transactions are NOT supported.
NOTE
The corresponding FC bit in the Configuration Status Register is fixed to ‘1’
indicating the opposite. Nonetheless no Fast Back-to-Back transaction is
supported.
MPC5200B User’s Manual, Rev. 3
10-2
Freescale Semiconductor
PCI Controller
10.1.2
Block Diagram
PCI
Arbiter
External REQ/GNT
Req/Gnt
PCI Controller Block
PCI
Controller
Config
CommBus
XL Bus
Slave Bus
Master
Bus Target
Master
Bus/
CommBus
Initiator
Config
Interface
External
PCI Bus
Target
Interface
Initiator
Interface
Figure 10-1. PCI Block Diagram
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-3
PCI Controller
10.2
PCI External Signals
Table 10-1. PCI External Signals
Signal
I/O
Definition
AD[31:0]
I/O
Multiplexed Address and Data Bus (Shared with ATA and LPC). AD31 is the most significant
bit while AD0 is the least significant as per the PCI specification. The entire PCI external bus
is little Endian ordered.
PCI_CBE[3:0]
I/O
Command/Bytes Enables
PCI_DEVSEL
I/O
Device Select
PCI_FRAME
I/O
Frame
PCI_IDSEL
I
Initialization Device Select
PCI_IRDY
I/O
Initiator Ready
PCI_PAR
I/O
Parity
PCI_CLK
O
PCI Clock
PCI_PERR
I/O
Parity Error
PCI_RST
O
PCI Reset
PCI_SERR
I/O
System Error
PCI_STOP
I/O
Stop
PCI_TRDY
I/O
Target Ready
For detailed description of the PCI bus signals, see the PCI Local Bus Specification, Revision 2.2.
10.2.1
PCI_AD[31:0] — Address/Data Bus
The PCI_AD[31:0] lines are a time multiplexed address data bus. The address is presented on the bus
during the address phase while the data is presented on the bus during one or more data phases.
10.2.2
PCI_CBE[3:0] — Command/Byte Enables
The PCI_CBE[3:0] lines are time multiplexed. The PCI command is presented during the address phase
and the byte enables are presented during the data phase.
10.2.3
PCI_DEVSEL — Device Select
The PCI_DEVSEL signal is asserted active low when MPC5200B decodes that it is the target of a PCI
transaction from the address presented on the PCI bus during the address phase.
10.2.4
PCI_FRAME — Frame
The PCI_FRAME signal is asserted by a PCI initiator to indicate the beginning of a transaction. It is
deasserted when the initiator is ready to complete the final data phase.
MPC5200B User’s Manual, Rev. 3
10-4
Freescale Semiconductor
PCI Controller
10.2.5
PCI_IDSEL — Initialization Device Select
The PCI_IDSEL signal is asserted during a PCI Type 0 Configuration Cycle to address the PCI
Configuration header.
10.2.6
PCI_IRDY — Initiator Ready
The PCI_IRDY signal is asserted to indicate that the PCI initiator is ready to transfer data. During a write
operation, assertion indicates that the master is driving valid data on the bus. During a read operation,
assertion indicates that the master is ready to accept data.
10.2.6.1
PCI_PAR — Parity
The PCI_PAR signal indicates the parity of data on the PCI_AD[31:0] and PCI_CBE[3:0] lines.
10.2.7
PCI_CLK — PCI Clock
The PCI_CLK signal is the clock for the internal PCI Controller and the external PCI system. The PCI
clock is also used as reference clock for the LocalPlus synchronous interfaces (Burst Flash, ATA). The
PCI_CLK is always sourced by the MPC5200B.
10.2.8
PCI_PERR — Parity Error
The PCI_PERR signal, if enabled, is asserted when a data phase parity error is detected.
10.2.9
PCI_RST — Reset
The PCI_RST signal is asserted active low by MPC5200B to reset the PCI bus. This signal is asserted after
MPC5200B reset and must be negated to enable usage of the PCI bus. An external shared pull-up resistor
is required on this pin.
10.2.10 PCI_SERR — System Error
The PCI_SERR signal, if enabled, is asserted by the MPC5200B only when an address phase parity error
is detected.
10.2.11 PCI_STOP — Stop
The PCI_STOP signal is asserted by the currently addressed target to indicate that it wishes to stop the
current transaction.
10.2.12 PCI_TRDY — Target Ready
The PCI_TRDY signal is asserted by the currently addressed target to indicate that it is ready to complete
the current data phase.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-5
PCI Controller
10.3
Registers
MPC5200B has several sets of registers that control and report status for the different interfaces to the PCI
controller: PCI Type 0 Configuration Space Registers, General Status/Control Registers, and
Communication Sub-System Interface Registers. All of these registers are accessible as offsets of MBAR
(the PCI interface is located starting at offset 0x0D00 relative to the MBAR register’s value, while the
BestComm interface starts at offset 0x3800). As an XL bus master, an external PCI bus master can access
MBAR space for register updates and the internal SRAM.
NOTE
PCI_RST is controlled by a bit in the register space and must first be cleared
before external PCI devices wake-up. In other words, an external PCI
master cannot load configuration software across the PCI bus until this bit
is cleared by internal means.
All registers are accessible at an offset of MBAR in the memory space. There are two module offsets for
PCI configuration space. One is allocated to the Communication Sub-System Interface registers and the
other to all other PCI Controller Registers including the standard Type 0 PCI Configuration Space.
Software reads from unimplemented registers return 0x00000000 and writes have no effect. See
Section 3.2, “Internal Register Memory Map” for module offsets and descriptions of module responses.
Table 10-2. PCI Register Map
Register
Offset
Mnemonic
Name
PCI Type 0 Configuration Registers
0x00
PCIIDR
Device ID/Vendor ID
0x04
PCISCR
Status/Command
0x08
PCICCRIR
Class Code/Revision ID
0x0C
PCICR1
Configuration 1Register
0x10
PCIBAR0
Base Address Register 0
0x14
PCIBAR1
Base Address Register 1
0x18
...
Reserved
0x24
0x28
PCICCPR
Cardbus CIS Pointer
0x2C
PCISID
Subsystem ID/Subsystem Vendor ID
0x30
PCIERBAR
Expansion ROM
0x34
PCICPR
0x3C
Capabilities Pointer
Reserved
0x38
PCICR2
Configuration 2 Register
0x40
...
Reserved
0x5C
MPC5200B User’s Manual, Rev. 3
10-6
Freescale Semiconductor
PCI Controller
Table 10-2. PCI Register Map (continued)
Register
Offset
Mnemonic
Name
General Control/Status Registers
0x60
PCIGSCR
Global Status/Control Register
0x64
PCITBATR0
Target Base Address Translation Register 0
0x68
PCITBATR1
Target Base Address Translation Register 1
0x6C
PCITCR
Target Control Register
0x70
PCIIW0BTAR
Initiator Window 0 Base/Translation Address Register
0x74
PCIIW1BTAR
Initiator Window 1 Base/Translation Address Register
0x78
PCIIW2BTAR
Initiator Window 2 Base/Translation Address Register
Reserved
0x7C
0x80
PCIIWCR
Initiator Window Configuration Register
0x84
PCIICR
Initiator Control Register
0x88
PCIISR
Initiator Status Register
0x8C
PCIARB
PCI Arbiter Register
0x90
...
Reserved
0xF4
0xF8
PCICAR
Configuration Address Register
Reserved
0xFC
Table 10-3. PCI Communication System Interface Register Map
Register
Offset
Mnemonic
Name
0x00
PCITPSR
Tx Packet Size
0x04
PCITSAR
Tx Start Address
0x08
PCITTCR
Tx Transaction Control Register
0x0C
PCITER
Tx Enables
0x10
PCITNAR
Tx Next Address
0x14
PCITLWR
Tx Last Word
0x18
PCITDCR
Tx Bytes Done Counts
0x1C
PCITSR
Tx Status
0x20
PCITPDCR
Tx Packets Done Counts
0x24
...
Reserved
0x3C
0x40
PCITFDR
Tx FIFO Data
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-7
PCI Controller
Table 10-3. PCI Communication System Interface Register Map (continued)
Register
Offset
Mnemonic
Name
0x44
PCITFSR
Tx FIFO Status
0x48
PCITFCR
Tx FIFO Control
0x4C
PCITFAR
Tx FIFO Alarm
0x50
PCITFRPR
Tx FIFO Read Pointer
0x54
PCITFWPR
Tx FIFO Write Pointer
0x58
...
Reserved
0x7C
0x80
PCIRPSR
Rx Packet Size
0x84
PCIRSAR
Rx Start Address
0x88
PCIRTCR
Rx Transaction Control Register
0x8C
PCIRER
Rx Enables
0x90
PCIRNAR
Rx Next Address
0x94
PCIRLWR
Rx Last Word
0x98
PCIRDCR
Rx Bytes Done Counts
0x9C
PCIRSR
Rx Status
0xA0
PCIRPDCR
Rx Packets Done Counts
0xA4
...
Reserved
0xBC
0xC0
PCIRFDR
Rx FIFO Data
0xC4
PCIRFSR
Rx FIFO Status
0xC8
PCIRFCR
Rx FIFO Control
0xCC
PCIRFAR
Rx FIFO Alarm
0xD0
PCIRFRPR
Rx FIFO Read Pointer
0xD4
PCIRFWPR
Rx FIFO Write Pointer
0xD8
...
Reserved
0xFC
MPC5200B User’s Manual, Rev. 3
10-8
Freescale Semiconductor
PCI Controller
10.3.1
PCI Controller Type 0 Configuration Space
MPC5200B supplies a type 0 PCI Configuration Space header. These registers are accessible as an offset
from MBAR (Section 3.2, “Internal Register Memory Map”) or through externally mastered PCI
Configuration Cycles.
NOTE
The internal PCI controller can discover itself (by means of connecting an
AD line [preferably AD24 to AD31]to the PCI _IDSEL input). It is
essential, when the PCI interface is used as a Target, to enable the internal
PCI controller to access via the external PCI bus its own PCI registers. This
is the only available way in order to clear any error flag RWC bit
(Read/Write/Clear bit).
Reg
Addr
PCI
DWord
Offset
Reg
0x100
0x00
PCIIDR
Device ID
Vendor ID
0x104
0x01
PCISCR
Status
Command
0x108
0x02
PCICCRIR
0x10C
0x03
PCICR1
0x110
0x04
PCIBAR0
BAR0
0x114
0x05
PCIBAR0
BAR1
0x118
0x06
...
...
0x124
0x09
0x128
0x0A
PCICCPR
0x12C
0x0B
PCISID
0x130
0x0C
Expansion ROM Base Address
0x134
0x0D
Reserved
0x138
0x0E
0x13C
0x0F
na
0x10
na
...
na
0x3F
[31:24]
[23:16]
[15:8]
[7:0]
Class Code
BIST
Revision ID
Header Type
Latency Timer
Cache Line Size
Reserved
CardBus CIS Pointer
Subsystem ID
Subsystem Vendor ID
Cap_Ptr
Reserved
PCICR2
Min_Gnt
Max_Lat
Int Pin
Int Line
Reserved
PCI Dword Reserved space (0x10–0x3F) can be accessed only from an external PCI Configuration access.
NOTE
A PCI Double Word (DWORD) is a 32 bit long word. A PowerPC Double
Word is instead a 64 bit word (according to the EABI rule) while a Word is
a 32 bit value. In the following PCI Configuration space a DWORD refers
always to a 32 bit word.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-9
PCI Controller
10.3.1.1
Device ID/ Vendor ID Registers PCIIDR(R)
MBAR + 0x0D00
0
1
2
3
4
5
6
7
R
8
9
10
11
12
13
14
15
25
26
27
28
29
30
31
Device ID
W
Reset
0x5809
16
17
18
19
20
21
22
23
R
24
Vendor ID
W
Reset
0x1057
Figure 10-2. Device ID/Vendor ID Registers PCIIDR(R)
Table 10-4. Device ID/Vendor ID Registers PCIIDR(R) Field Descriptions
Bits
Name
0:15
Device ID
This field is read-only and represents the PCI Device Id assigned to MPC5200B
Its value is: 0x5809.
16:31
Vendor ID
This field is read-only and represents the PCI Vendor Id assigned to MPC5200B
Its value is: 0x1057.
10.3.1.2
Description
Status/Command Registers PCISCR(R/RW/RWC)
MBAR + 0x0D04
0
1
2
3
4
5
6
R
PE
SE
MA
TR
TS
W
rwc
rwc
rwc
rwc
rwc
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
F
S
MW
Sp
B
M
0
0
0
0
0
0
DT
7
8
9
10
11
DP
FC
R
66M
C
12
13
14
15
Reserved
Reset
rwc
R
St
Reserved
V
PER
IO
W
Reset
0
0
0
0
0
0
0
0
0
0
Figure 10-3. Status/Command Registers PCISCR(R/RW/RWC)
Bits 31-27 and 24 are read-write-clear (RWC).
• Hardware can set RWC bits, but cannot clear them.
• Only PCI configuration cycles can clear RWC bits that are currently set by writing a 1 to the bit
location. Writing a 1 to a RWC bit that is currently a 0 or writing a 0 to any RWC bit has no effect.
MPC5200B User’s Manual, Rev. 3
10-10
Freescale Semiconductor
PCI Controller
Table 10-5. Status/Command Registers PCISCR (R/RW/RWC) Field Descriptions
Bits
Name
Description
0
Parity Error
Detected
(PE)
This bit is set when a parity error is detected, even if the Parity Error Response bit in the Command
Register (bit 6) is disabled. A CPU interrupt will be generated if the PCIGSCR[PEE] bit is set. This
register is read-write-clear (RWC) via PCI configuration cycles.
1
System Error
Signalled
(SE)
This bit is set whenever MPC5200B generates a PCI System Error on the SERR line. This register
is read-write-clear (RWC) via PCI configuration cycles.
2
Master Abort
Received
(MA)
This bit is set whenever MPC5200B is the PCI master and terminates a transaction (except for
Special Cycle) with a Master-Abort. This register is read-write-clear (RWC) via PCI configuration
cycles.
3
Target Abort
Received
(TR)
This bit is set whenever MPC5200B is the PCI master and a transaction is terminated by a Target
Abort from the currently-addressed target. This register is read-write-clear (RWC) via PCI
configuration cycles.
4
Target Abort
Signalled
(TS)
This bit is set whenever MPC5200B is the PCI target and it terminates a transaction with a Target
Abort. This register is read-write-clear (RWC) via PCI configuration cycles.
5:6
DEVSEL#
Timing
(DT)
Fixed to 01. These bits encode a medium DEVSEL timing. This defines the slowest DEVSEL timing
when MPC5200B is the PCI target (except configuration accesses).
7
Master Data
Parity
Error
(DP)
This bit applies only when MPC5200B is PCI master and is set only if the following conditions are
met:
• MPC5200B-as-master sets PERR itself during a read or detected it asserted by the target
during a write
• The Parity Error Response bit in the Command Register, bit 6, is set to 1
This register is read-write-clear (RWC) via PCI configuration cycles.
8
Fast
Back-to-Back
Capable
(FC)
Fixed to 1. The MPC5200B PCI controller does NOT support Fast Back-to-Back transactions.
9
Reserved
(R)
Fixed to 0. Prior to the 2.2 PCI Spec, this was the UDF (User Defined Features) Supported bit.
1 = Supported User Defined Features
0 = Does not support UDF
10
66 MHz
Capable
(66M)
11
Capabilities
List
(C)
12:21
Reserved
22
Fast
Back-to-Back
Transfer Enable
(F)
23
SERR enable
(S)
Fixed to 1. This bit indicates that the PCI controller is 66 MHz capable.
Fixed to 0. This bit indicates that the PCI controller does not implement the New Capabilities List
Pointer Configuration Register in DWORD 13 of the Configuration Space.
These bits are reserved.
The MPC5200B PCI controller does NOT support Fast Back-to-Back transactions.
Setting this bit has no effect.
This bit is an enable bit for the SERR driver. A value of zero disables the SERR driver. A value of
1 enables the SERR driver. Note: Address parity errors are reported only if this bit and bit 6 are 1.
This bit is programmable (read/write from both the IP bus and PCI bus Configuration cycles).
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-11
PCI Controller
Table 10-5. Status/Command Registers PCISCR (R/RW/RWC) Field Descriptions (continued)
Bits
Name
Description
24
Address and
Data Stepping
(St)
Fixed to 0. This bit indicates that the PCI controller never uses address/data stepping. Initialization
software should write a 0 to this bit location.
25
Parity Error
Response
(PER)
This bit controls the device’s response to parity errors. When set and a parity error is detected, the
PCI controller asserts PERR. When the bit is “0”, the device sets its Detected Parity Error status
bit (bit 0) in the event of a parity error, but does not assert PERR.
This bit is programmable (read/write from both the IP bus and PCI bus Configuration cycles).
26
VGA Palette
Snoop Enable
(V)
Fixed to 0. This bit indicates that the PCI controller is not VGA compatible. Initialization software
should write a 0 to this bit location.
27
Memory Write
and Invalidate
Enable
(MW)
This bit is an enable for using the Memory Write and Invalidate command. When this bit is 1,
MPC5200B-as-master may generate the command. When it is 0, Memory Write must be used
instead. This bit is programmable (read/write from both the IP bus and PCI bus Configuration
cycles).
28
29
30
31
Special Cycle This bit is to determine whether or not to ignore PCI Special Cycles. Since MPC5200B-as-target
Monitor or Ignore does not recognize messages delivered via the Special Cycle operation, a value of 1 should never
(Sp)
be programmed to this register. This bit, however, is programmable (read/write from both the IP bus
and PCI bus Configuration cycles).
Bus Master
Enable
(B)
This bit indicates whether or not MPC5200B has the ability to serve as a master on the PCI bus. A
value of 1 indicates this ability is enabled. If MPC5200B is used as a master on the PCI bus (via
XL bus or CommBus), a 1 should be written to this bit during initialization. Even if set to 0, a
transaction initiated by an internal master (the core, BestComm) is allowed to take place. It is meant
to be read by configuration software.
This bit is programmable (read/write from both the IP bus and PCI bus Configuration cycles).
Memory Access This bit controls the PCI controller’s response to Memory Space accesses. A value of 0 disables
Control
the response. A value of 1 allows the controller to recognize a Memory access.
(M)
This bit is programmable (read/write from both the IP bus and PCI bus Configuration cycles).
IO access
Control
(IO)
Fixed to 0. This bit is not implemented because there is no MPC5200B IO type space accessible
from the PCI bus. The PCI base address registers are Memory address ranges only. Initialization
software should write a 0 to this bit location.
MPC5200B User’s Manual, Rev. 3
10-12
Freescale Semiconductor
PCI Controller
10.3.1.3
Revision ID/ Class Code Registers PCICCRIR(R)
MBAR + 0x0D08
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
25
26
27
28
29
30
31
Class Code
W
Reset
0x0680
16
17
R
18
19
20
21
22
23
24
Class Code (continued)
Revision ID
0x00
0x00
W
Reset
Figure 10-4. Revision ID/ Class Code Registers PCICCRIR(R)
Table 10-6. Revision ID/ Class Code Registers PCICCRIR(R) Field Descriptions
Bits
Name
Description
0:23
Class Code
This field is read-only and represents the PCI Class Code assigned to MPC5200B
Its value is: 0x068000. (Other bridge device)
24:31
Revision ID
This field is read-only and represents the PCI Revision Id for this version of MPC5200B. Its value
is: 0x00.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-13
PCI Controller
10.3.1.4
Configuration 1 Register PCICR1(R/RW)
MBAR + 0x0D0C
0
1
2
3
R
4
5
6
7
8
9
10
BIST
11
12
13
14
15
Header Type
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
W
Reset
Lat Timer[2:0]
Lat timer[7:3]
0
0
0
0
0
0
0
0
Reserved
0
0
0
Cache Line Size
0
0
0
0
0
Figure 10-5. Configuration 1 Register PCICR1(R/RW)
Table 10-7. Configuration 1 Register PCICR1(R/RW) Field Descriptions
Bits
0:7
Name
Built-In Self Test Fixed to 0x00. The PCI controller does not implement the Built-In Self Test register. Initialization
(BIST)
software should write a 0x00 to this register location.
8:15
Header Type
16:23
Latency Timer
28:31
Description
Fixed to 0x00. The PCI controller implements a Type 0 PCI Configuration Space Header.
Initialization software should write a 0x00 to this register location.
This register contains the latency timer value, in PCI clocks, used when MPC5200B is the PCI
master. The lower three bits of the register are hardwired low and the upper five bits are
programmable (read/write from both the IP bus and PCI bus Configuration cycles).
Note: The MPC5200B does NOT support initiator latency time-outs, the internal PCI Arbiter does
not support preemption of the internal masters XIPCI or SCPCI. The internal master is
granted until the transaction has been completed. The Latency Timer (LT) cannot terminate
any transfer.
Cache Line Size The four lower bits of this register are programmable (read/write from both the IP bus and PCI bus
Configuration cycles). The value programmed specifies the cacheline size in units of DWORDs.
MPC5200B User’s Manual, Rev. 3
10-14
Freescale Semiconductor
PCI Controller
10.3.1.5
Base Address Register 0 PCIBAR0(RW)
MBAR + 0x0D10
0
1
2
3
4
5
R
7
8
9
10
11
12
13
Base Address 0
W
Reset
6
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
pref
Reserved
IO/M
#
range
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-6. Base Address Register 0 PCIBAR0(RW)
Table 10-8. Base Address Register 0 PCIBAR0(RW) Field Descriptions
Bits
Name
Description
0:13
Base Address
Register 0
(BAR0)
MPC5200B PCI Base Address Register 0 (256Kbyte). Applies only when MPC5200B is target.
These bits are programmable (read/write from both the IP bus and PCI bus Configuration cycles).
This BAR register should be used to point at the internal MPC5200B register space (MBAR)
14:27
Reserved
28
prefetchable
access
(pref)
29:30
range
Fixed to 00. This register indicates that base address 0 is 32 bits wide and can be mapped
anywhere in 32-bit address space. Configuration software should write 00 to these bit locations.
31
IO or Memory
Space
(IO/M#)
Fixed to 0. This bit indicates that BAR0 is for memory space. Configuration software should write
a 0 to this bit location.
0 = Memory
These bits are reserved.
Fixed to 0. This bit indicates that the memory space defined by BAR0 is NOT prefetchable.
Configuration software should write a 0 to this bit location.
1 = I/O
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-15
PCI Controller
10.3.1.6
Base Address Register 1 PCIBAR1(RW)
MBAR + 0x0D14
0
R
W
Reset
1
2
3
4
5
6
7
Base
Address 1
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
pref
IO/M
#
range
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-7. Base Address Register 1 PCIBAR1(RW)
Table 10-9. Base Address Register 1 PCIBAR1(RW) Field Descriptions
Bits
Name
Description
0:1
Base Address
Register 1
(BAR1)
MPC5200B PCI Base Address Register 1 (1Gbyte). Applies only when MPC5200B is target. These
bits are programmable (read/write from both the IP bus and PCI bus Configuration cycles). This
BAR register shall be used to point at the local SDRAM/DDR Memory Space.
Note: The address ‘Window’ is much larger than the maximum theoretically supported physical
memory.
Note: This register should not point to the LocalPlus Memory Space. This is not supported.
2:27
Reserved
28
prefetchable
access
(pref)
Fixed to 1. This bit indicates that the memory space defined by BAR1 is prefetchable. Configuration
software should write a 1 to this bit location.
29:30
range
Fixed to 00. This register indicates that base address 1 is 32 bits wide and can be mapped
anywhere in 32-bit address space. Configuration software should write 00 to these bit locations.
31
IO or Memory
Space
(IO/M#)
Fixed to 0. This bit indicates that BAR1 is for memory space. Configuration software should write
a 0 to this bit location.
0 = Memory
These bits are reserved.
1 = I/O
MPC5200B User’s Manual, Rev. 3
10-16
Freescale Semiconductor
PCI Controller
10.3.1.7
CardBus CIS Pointer Register PCICCPR(RW)
MBAR + 0x0D28
This optional register contains the pointer to the Card Information Structure (CIS) for the CardBus card.
All 32 bits of the register are programmable by the Slave bus. It can only be read from the PCI Bus. Its
reset value is 0x00000000.
10.3.1.8
Subsystem ID/ Subsystem Vendor ID Registers PCISID(R)—MBAR +
0x0D2C
The Subsystem Vendor ID register contains the 16-bit manufacturer identification number of the add-in
board or subsystem that contains this PCI device. The Subsystem ID register contains the 16-bit subsystem
identification number of the add-in board or subsystem that contains this PCI device. A value of zero in
these registers indicates there isn’t a Subsystem Vendor and Subsystem ID associated with the device. If
used, software must write to these registers before any PCI bus master reads them.
All 32 bits of the register are programmable by the Slave bus. They can only be read from the PCI Bus.
The reset value is 0x00000000.
10.3.1.9
Expansion ROM Base Address PCIERBAR(R)
MBAR + 0x0D30
Not implemented. Fixed to 0x00000000.
10.3.1.10 Capabilities Pointer (Cap_Ptr) PCICPR(R)
MBAR + 0x0D34
Not implemented. Fixed to 0x00000000.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-17
PCI Controller
10.3.1.11 Configuration 2 Register PCICR2 (R/RW)
MBAR + 0x0D3C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Maximum Latency
Minimum Grant
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Interrupt Pin
Interrupt Line
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-8. Configuration 2 Register PCICR2 (R/RW)
Table 10-10. Configuration 2 Register PCICR2 (R/RW) Field Descriptions
Bits
Name
Description
0:7
Maximum
Latency
(Max_Lat)
Specifies how often, in units of 1/4 microseconds, the PCI controller would like to have access to
the PCI bus as master. A value of zero indicates the device has no stringent requirement in this
area. The register is read/write to/from the Slave bus, but read only from the PCI bus.
Note: The MPC5200B does NOT support initiator latency time-outs, the internal PCI Arbiter does
not support preemption of the internal masters XIPCI or SCPCI. The internal master is
granted until the transaction has been completed. The Latency Timer (LT) cannot terminate
any transfer.
8:15
Minimum Grant
(Min_Gnt)
The value programmed to this register indicates how long the PCI controller as master would like
to retain PCI bus ownership whenever it initiates a transaction. The register is programmable from
the Slave bus, but read only from the PCI bus.
16:23
Interrupt Pin
Fixed to 0x00. Indicates that this device does NOT use an interrupt request pin.
24:31
Interrupt Line
Fixed to 0x00. The Interrupt Line register stores a value that identifies which input on a PCI
interrupt controller the function’s PCI interrupt request pin. Since no interrupt request pin is used,
as specified in the Interrupt Pin register, this register has no function.
10.3.2
General Control/Status Registers
The General Control/Status Registers primarily address the configurability of the XL bus Initiator and
Target Interfaces, though some also address global options which affect the Multi-Channel DMA interface
(BestComm). These registers are accessed primarily internally as offsets of MBAR, but can also be
accessed by an external PCI master if PCI base and Target base address registers are configured to access
the space. See Section 10.6.2, “Address Maps” on configuring address windows.
MPC5200B User’s Manual, Rev. 3
10-18
Freescale Semiconductor
PCI Controller
10.3.2.1
Global Status/Control Register PCIGSCR(RW)
MBAR + 0x0D60
0
1
2
3
4
5
R
W
Reset
8
9
10
11
12
13
14
15
ipg_clk to PCI_CLK
differential
PE
SE
rwc
rwc
rwc
0
0
0
0
0
x
x
x
0
0
0
0
0
x
x
x
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Rsvd
BME
PEE
SEE
0
0
0
0
W
R
7
BM
Rsvd
Reset
6
XL Bus_clk
to PCI_CLK
differential
Rsvd
Reserved
Reserved
0
0
0
0
0
0
PR
0
0
0
0
0
0
Figure 10-9. Global Status/Control Register PCIGSCR(RW)
Table 10-11. Global Status/Control Register PCIGSCR(RW) Field Descriptions
Bits
Name
Description
0
Reserved
1
Broken Master
Detected
(BM)
This bit is set when the PCI Arbiter detects a broken external PCI master.
Note: In case of broken master detection the external PCI request will be ignored until external
deassertion of PCI request or until a software reset (PCI Arbiter Softreset) or by Hardreset
is detected. After broken master detection (PCI bus idle for 16 clocks) the arbiter will ignore
any FRAME# assertion.
A CPU interrupt will be generated if the PCIGSCR[BME] bit is set. This is a RWC
(Read/WriteClear) bit: to clear it, software must write a ‘1’ at this position.
2
PERR
Detected
(PE)
This bit is set when the PCI Parity Error line, PERR, asserts (any device). A CPU interrupt will be
generated if the PCIGSCR[PEE] bit is set. This is a RWC (Read/WriteClear) bit: to clear it,
software must write a ‘1’ at this position.
3
SERR
Detected
(SE)
This bit is set when a PCI System Error line, SERR, asserts (any device). A CPU interrupt will be
generated if the PCIGSCR[SEE] bit is set. This is a RWC (Read/WriteClear) bit: to clear it,
software must write a ‘1’ at this position.
4
Reserved
Unused bit. Software should write zero to this register.
5:7
XL Bus_clk to
PCI_CLK
differential
(read only)
8:12
Reserved
Unused bits. Software should write zero to this register.
13:15
ipg_clk to
PCI_CLK
differential
(read only)
This bit field stores the Slave bus clock to the PCI clock divide ratio. This field is read-only and
the reset value is determined by the PLL multiplier (either 1, 2, or 4). Software can read these bits
to determine a valid ratio. If the register contains a differential value that does not reflect the PLL
settings, the PCI controller could malfunction.
16
Reserved
Unused bit. Software should write zero to this register.
17
Broken Master
Interrupt Enable
(BME)
Unused bit. Software should write zero to this register.
This bit field stores the XL bus clock to the PCI clock divide ratio. This field is read-only and the
reset value is determined by the PLL multiplier (either 1, 2, or 4). Software can read these bits to
determine a valid ratio. If the register contains a differential value that does not reflect the PLL
settings, the PCI controller could malfunction.
This bit enables CPU Interrupt generation when a broken Master is detected. When enabled,
software must clear the BM status bit to clear the interrupt condition.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-19
PCI Controller
Table 10-11. Global Status/Control Register PCIGSCR(RW) Field Descriptions (continued)
Bits
Name
18
Parity Error
Interrupt Enable
(PEE)
This bit enables CPU Interrupt generation when the PCI Parity Error signal, PERR, is sampled
asserted. When enabled and PERR asserts, software must clear the PE status bit to clear the
interrupt condition.
19
System Error
Interrupt Enable
(SEE)
This bit enables CPU Interrupt generation when a PCI System Error is detected on the SERR
line. When enabled and SERR asserts, software must clear the SE status bit to clear the interrupt
condition.
20:30
Reserved
31
PCI
Reset
(PR)
10.3.2.2
Description
Unused bits. Software should write zero to this register.
This bit controls the external PCI RST. When this bit is cleared, the external PCI RST deasserts.
Setting this bit does not reset the internal PCI controller. The application software must not initiate
PCI transactions while this bit is set. It is recommended that this bit be programmed last.
The reset value of the bit is 1 (PCI RST asserted).
Note: A global PCI reset should be asserted just by the MPC5200B controller. Any external
common reset controller signal will be ignored by the internal PCI controller.
Target Base Address Translation Register 0 PCITBATR0(RW)
MBAR + 0x0D64
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Base Address Translation 0
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
En
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-10. Target Base Address Translation Register 0 PCITBATR0(RW)
Table 10-12. Target Base Address Translation Register 0 PCITBATR0(RW) Field Descriptions
Bits
Name
Description
0:13
Base Address
Translation 0
This base address register corresponds to a hit on the BAR0 in MPC5200B PCI Type 0
Configuration space register from PCI space. When there is a hit on MPC5200B PCI BAR0
(MPC5200B as Target), the upper 14 bits of the external PCI address (256Kbyte boundary) are
written over by this register value to address some space in MPC5200B. In normal operation,
this value should be written during the initialization sequence only to point to the internal
Register space.
14:30
Reserved
Unused bits. Software should write zero to this register.
31
Enable 0
This bit enables a transaction in BAR0 space. If this bit is zero and a hit on MPC5200B PCIBAR0
occurs, the target interface gasket will abort the PCI transaction.
MPC5200B User’s Manual, Rev. 3
10-20
Freescale Semiconductor
PCI Controller
10.3.2.3
Target Base Address Translation Register 1 PCITBATR1(RW)
MBAR + 0x0D68
0
1
2
3
4
5
6
7
R Base Address
W Translation 1
Reset
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
En
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-11. Target Base Address Translation Register 1 PCITBATR1(RW)
Table 10-13. Target Base Address Translation Register 1 PCITBATR1(RW) Field Descriptions
Bits
Name
Description
0:1
Base Address
Translation 1
This base address register corresponds to a hit on the BAR1 in MPC5200B PCI Type 0
Configuration space register (PCI space). When there is a hit on MPC5200B PCI BAR1
(MPC5200B as Target), the upper 2 bits of the external PCI address (1Gbyte boundary) are
written over by this register value to address some 1Gbyte space in MPC5200B. This register can
be reprogrammed to move the window of MPC5200B address space accessed during a hit in
PCIBAR1. It should be written by software during initialization to point to the internal SDR/DDR
memory space.
Note: This register should not point to the LocalPlus Memory Space. This is not supported.
2:30
Reserved
Unused bits. Software should write zero to this register.
31
Enable 1
This bit enables a transaction in BAR1 space. If this bit is zero and a hit on MPC5200B PCI BAR1
occurs, the target interface gasket will abort the PCI transaction.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-21
PCI Controller
10.3.2.4
Target Control Register PCITCR(RW)
MBAR + 0x0D6C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
LD
Reserved
P
W
RESET
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
R
Reserved
WCD
Write Combine Timer [7:0]
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-12. Target Control Register PCITCR(RW)
Table 10-14. Target Control Register PCITCR(RW) Field Descriptions
Bits
Name
Description
0:6
Reserved
7
Latrule
Disable
(LD)
8:14
Reserved
15
Prefetch Reads
(P)
16:22
Reserved
23
Write Combine
Disable
(WCD)
This control bit applies only when MPC5200 is Target. When set, it prevents the PCI Controller from
automatically combining write data to be sent out on the XL bus as a burst, if possible. Instead, data
is transferred as soon as possible on the XL bus as single-beat transactions.
Better target write performance is achieved when this bit cleared.
24:31
Write Combine
Timer (WCT)
This register contains the timer value, in PCI clocks, used when a partial burst has been buffered
in the target write data path and write data stops being transferred to local memory from the
external PCI device. Every time a sequential beat of write data is stored in the buffer, the counter
is reset with this value.
If partial burst data has been buffered, thereby activating the count-down counter, and this field is
reprogrammed to a value less than the current counter value, the counter will jump down to the new
write combine timer value. This way, software can force the write buffer to flush data to the XL bus
more quickly than when the counter was initialized.
The reset value of the write combine timer is 0x08. All 8 bits are programmable.
Unused bits. Software should write zero to this register.
This control bit applies only when MPC5200B is Target. When set, it prevents the PCI Controller
from automatically issuing a retry disconnect due to the PCI 16/8 clock rule.
The bit must be set before the 15th PCI clock for the first transfer and before the 7th clock for other
transfers.
Unused bits. Software should write zero to this register.
This bit controls fetching a line from memory in anticipation of a request from the external master.
The target interface will continue to prefetch lines from memory as long as PCI_FRAME is asserted
and there is space to store the data in the target read buffer.
Note: This bit only applies to PCI reads in the address range for BAR 1 (prefetchable memory).
Note: Prefetching is performed in response to a PCI memory-read-multiple command even if this
bit is cleared.
Unused bits. Software should write zero to this register.
MPC5200B User’s Manual, Rev. 3
10-22
Freescale Semiconductor
PCI Controller
10.3.2.5
Initiator Window 0 Base/Translation Address Register PCIIW0BTAR(RW)
MBAR + 0x0D70
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Window 0 Base Address
Window 0 Address Mask
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Window 0 Translation Address
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-13. Initiator Window 0 Base/Translation Address Register PCIIW0BTAR(RW)
Table 10-15. Initiator Window 0 Base/Translation Address Register PCIIW0BTAR(RW) Field Descriptions
Bits
Name
Description
0:7
Window 0 Base
Address
One of three base address registers to determine an XL bus hit on PCI. At most, the upper byte
of the address is decoded. The Window 0 Address Mask register determines what bits of this
register to compare the XL bus address against to generate the hit.
Note: The smallest possible Window is a 16 MByte block.
8:15
Window 0 Address The Window 0 Address Mask Register masks the corresponding XL bus base address bit of the
Mask
base address for Window 0 (Window 0 Base Address) to instruct the address decode logic to
ignore or “don’t care” the bit. If the base address mask bit is set, the associated base address bit
of Window 0 is ignored when generating the PCI hit. Bit 16 masks bit 24, bit 17 masks bit 25, and
so on.
0 Corresponding address bit is used in address decode
1 Corresponding address bit is ignored in address decode
For XL Bus accesses to Window 0 address range, this byte also determines which upper 8 bits
of the XL Bus address to pass on for presentation as a PCI address. Any address bit used to
decode the XL Bus address, indicated by a “0”, will be translated. This provides a way to overlay
a PCI page address onto the XL Bus address. A “1” in the Address Mask byte indicates that the
XL Bus address bit will be passed to PCI unaltered.
16:23
Window 0
Translation
Address
For any translated bit (described above), the corresponding value here will be driven onto the PCI
address bus for the XL bus Window 0 address hit.
Note: The Window Translation operation can not be turned off. If a direct mapping from XL Bus
to PCI space is desired, program the same value to both the Window Base Address
Register and Window Translation Address Register.
24:31
Reserved
Unused bits. Software should write zero to this register.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-23
PCI Controller
10.3.2.6
Initiator Window 1 Base/Translation Address Register PCIIW1BTAR(RW)
MBAR + 0x0D74
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Window 1 Base Address
Window 1 Address Mask
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Window 1 Translation Address
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-14. Initiator Window 1 Base/Translation Address Register PCIIW1BTAR(RW)
10.3.2.7
Initiator Window 2 Base/Translation Address Register
PCIIW2BTAR (RW)
MBAR + 0x0D78
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Window 2 Base Address
Window 2 Address Mask
W
RESET
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Reserved
Window 2 Translation Address
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-15. Initiator Window 2 Base/Translation Address Register PCIIW2BTAR(RW)
MPC5200B User’s Manual, Rev. 3
10-24
Freescale Semiconductor
PCI Controller
10.3.2.8
Initiator Window Configuration Register PCIIWCR(RW)
MBAR + 0x0D80
0
R
3
4
5
6
7
8
9
Window 0
Control
10
11
12
13
14
15
Window 1
Control
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Window 2
Control
Reserved
W
Reset
2
Reserved
W
Reset
1
0
0
0
0
0
0
0
Reserved
0
0
0
0
0
0
Figure 10-16. Initiator Window Configuration Register PCIIWCR(RW)
Table 10-16. Initiator Window Configuration Register PCIIWCR(RW) Field Descriptions
Bits
Name
0:3
Reserved
4:7
Description
Reserved register. Write a zero to this register.
Window 0 Control Bit[3] - IO/M#.
[3:0]
0 = Window is mapped to PCI memory
1 = Window is mapped to PCI I/O
Bit[2:1] - PCI Read Command (PRC).
If bit[3] is programmed memory, “0”, then these bits are used to determine the type of PCI
memory command to issue. See <Cross Refs Helv 9>Table 10-63. If bit[3] is set to “1”, the value
of these bits are meaningless.
00 = PCI Memory Read
01 = PCI Memory Read Line
10 = PCI Memory Read Multiple
11 = Reserved
Note: A PCI write command is automatically detected and needs not to be explicitly configured.
No PCI Write and Invalidate command is allowed in any case with this interface.
Bit[0] - Enable.
This bit is set to indicate the address registers that control the XL Bus initiator interface access
to PCI initialized and will be used. The PCI Controller can begin to decode XL Bus PCI accesses.
0 = Do not decode XL Bus PCI accesses to Window
1 = Registers initialized - decode accesses to Window
8:11
Reserved
12:15
Window 1Control
[3:0]
16:19
Reserved
20:23
24:31
Reserved register. Write a zero to this register.
Bit[3] - IO/M#.
Bit[2:1] - PRC.
Bit[0] - Enable.
Reserved register. Write a zero to this register.
Window 0 Control Bit[3] - IO/M#.
[3:0]
Bit[2:1] - PRC.
Bit[0] - Enable.
Reserved
Reserved register. Write a zero to this register.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-25
PCI Controller
10.3.2.9
Initiator Control Register PCIICR(RW)
MBAR + 0x0D84
0
1
2
3
4
5
6
7
REE
IAE
TAE
8
9
10
11
12
13
14
15
R
Reserved
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
1
R
Reserved
Maximum Retries
W
Reset
0
0
0
0
0
0
0
0
1
1
1
1
1
Figure 10-17. Initiator Control Register PCIICR(RW)
Table 10-17. Initiator Control Register PCIICR(RW) Field Descriptions
Bits
Name
Description
0:4
Reserved
5
Retry Error
Enable
(RE)
This bit enables CPU Interrupt generation in the case of Retry Error termination of a packet
transmission. It may be desirable to mask CPU interrupts, but in such a case, software should poll
the status bits to prevent a possible lock-up condition.
6
Initiator Abort
Enable
(IAE)
This bit enables CPU Interrupt generation in the case of Initiator Abort termination of a packet
transmission. It may be desirable to mask CPU interrupts, but in such a case, software should poll
the status bits to prevent a possible lock-up condition.
7
Target Abort
Enable
(TAE)
This bit enables CPU Interrupt generation in the case of Target Abort termination of a packet
transmission. It may be desirable to mask CPU interrupts, but in such a case, software should poll
the status bits to prevent a possible lock-up condition.
8:23
Reserved
Unused bits. Software should write zero to this register.
24:31
Maximum
Retries
This bit field controls the maximum number of automatic PCI retries to permit per transaction. The
retry counter is reset at the beginning of each transaction (i.e. it is not cumulative). Setting the
Maximum Retries to 0x00 allows infinite automatic retry cycles.
A finite (0x01 to 0xff) Maximum Retries value will detect the maximum PCI retries and the next retry
will abort the transaction. For a Write transaction an interrupt will be generated, for a Read
transaction an interrupt and a TEA on the XL Bus will be generated.
Unused bits. Software should write zero to this register.
MPC5200B User’s Manual, Rev. 3
10-26
Freescale Semiconductor
PCI Controller
10.3.2.10 Initiator Status Register PCIISR(RWC)
MBAR + 0x0D88
0
1
2
3
4
R
5
6
7
RE
IA
TA
rwc
rwc
rwc
8
9
10
Reserved
12
13
14
15
Reserved
W
Reset
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-18. Initiator Status Register PCIISR(RWC)
Table 10-18. Initiator Status Register PCIISR(RWC) Field Descriptions
Bits
Name
Description
0:4
Reserved
5
Retry
Error
(RE)
This flag is set if Max_Retries is set to a finite value (0x01 through 0xff) and the Target has
performed Max_Retries number of retry disconnects for a single transaction. A retry error would
generally indicate a broken or improperly accessed Target. A CPU interrupt will be generated if
PCIICR[RE] bit is set. This is a RWC (Read/WriteClear) bit: to clear it, software must write a ‘1’ at
this position.
6
Initiator Abort
(IA)
This flag bit is set if the PCI controller issues an Initiator Abort flag. This indicates that no Target
responded by asserting DEVSEL within the time allowed for subtractive decoding. A CPU interrupt
will be generated if the PCIICR[IAE] bit is set. This is a RWC (Read/WriteClear) bit: to clear it,
software must write a ‘1’ at this position.
7
Target Abort
(TA)
This flag bit is set if the addressed PCI Target has signalled an Abort. A CPU interrupt will be
generated if the PCIICR[TAE] bit is set. It is up to application software to query the Target’s status
register and determine the source of the error. This is a RWC (Read/WriteClear) bit: to clear it,
software must write a ‘1’ at this position.
8:31
Reserved
Unused bits. Software should write zero to this register.
Unused bits. Software should write zero to this register.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-27
PCI Controller
10.3.2.11 PCI Arbiter Register PCIARB(RW)
MBAR + 0x0D8C
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
ASR
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-19. PCI Arbiter Register PCIARB(RW)
Table 10-19. PCI Arbiter Register PCIARB(RW) Field Descriptions
Bits
Name
0:6
Reserved
7
PCI Arbiter Soft
Reset (ASR)
Description
Unused bits. Software should write zero to this register.
This bit puts the PCI Arbiter in a reset condition.
1 = reset the PCI Arbiter
0 = release the PCI Arbiter
Note: Resetting the PCI arbiter will disrupt any related transaction in progress and should be
reserved only for error conditions, or when it is known that no PCI or AD bus transactions
are in progress.
8:31
Reserved
Unused bits. Software should write zero to this register.
MPC5200B User’s Manual, Rev. 3
10-28
Freescale Semiconductor
PCI Controller
10.3.2.12 Configuration Address Register PCICAR(RW)
MBAR + 0x0DF8
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
E
Reserved
Bus Number
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Device Number
Function Number
dword
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-20. Configuration Address Register PCICAR (RW)
Table 10-20. Configuration Address Register PCICAR (RW) Field Descriptions
Bits
Name
Description
0
Enable
(E)
The enable flag that controls configuration space mapping. When enabled, subsequent access to
initiator window space defined as I/O in the PCIIWCR is translated into a PCI configuration access
using the Configuration Address Register information (<Cross Refs Helv 9>Section 10.6, <Cross
Refs Helv Italic 9>Application Information). When disabled, a read or write to the window is passed
through to the PCI bus as an I/O transaction using the.
1 = Enabled
0 = Disabled
1:7
Reserved
Unused bits. Software should write zero to this register.
8:15
Bus
Number
This register field is an encoded value used to select the target bus of the configuration access. For
target devices on the PCI bus connected to MPC5200B, this field should be set to 0x00.
16:20
Device
Number
This field is used to select a specific device on the target bus.
21:23
Function
Number
This field is used to select a specific function in the requested device. Single-function devices
should respond to function number 0b000.
24:29
dword
30:31
Reserved
This field is used to select the dword address offset in the configuration space of the target device.
Unused bits. Software should write zero to this register.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-29
PCI Controller
10.3.3
Communication Sub-System Interface Registers
The Communication Sub-System/Multi-Channel DMA interface (also shortly referred to as SCPCI) has
separate control registers for transmit and receive operations.
10.3.3.1
Multi-Channel DMA Transmit Interface
PCI Tx is controlled by 14 ‘32-bit’ registers. These registers are located at an offset 0x3800 from MBAR.
Register addresses are relative to this offset.
10.3.3.1.1
Tx Packet Size PCITPSR(RW)
MBAR + 0x3800
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Packet_Size[31:16]
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
PacketSize[1:0]
Packet_Size[15:2]
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Table 10-21. Tx Packet Size PCITPSR(RW)
Table 10-22. Tx Packet Size PCITPSR(RW) Field Descriptions
Bits
Name
Description
0:31
Packet_Size
User writes the number of bytes for transmit controller to send over PCI.The two low bits are
hardwired low; only 32-bit data transfers to the FIFO are allowed. Writing to this register also
completes a Restart Sequence as long as the Master Enable bit, PCITER[ME], is high and Reset
Controller bit, PCITER[RC], is low.
MPC5200B User’s Manual, Rev. 3
10-30
Freescale Semiconductor
PCI Controller
10.3.3.1.2
Tx Start Address PCITSAR(RW)
MBAR + 0x3804
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Start_Add
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Start_Add
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-21. Tx Start Address PCITSAR(RW)
Table 10-23. Tx Start Address PCITSAR(RW) Field Descriptions
Bits
Name
0:31
Start_Add
Description
User writes the PCI address to be presented for the first DWORD (32 bit) of a PCI packet. The
PCI Tx controller will track and calculate the necessary address for subsequent transactions
(addressing is assumed to be sequential from the start address).
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-31
PCI Controller
10.3.3.1.3
Tx Transaction Control Register PCITTCR(RW)
MBAR + 0x3808
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
PCI_cmnd
Max_Retries
W
Reset
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
Max_Beats
Reserved
W
Reserved
DI
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-22. Tx Transaction Control Register PCITTCR(RW)
Table 10-24. Tx Transaction Control Register PCITTCR(RW) Field Descriptions
Bits
Name
Description
0:3
Reserved
Unused. Software should write zero to these bits.
4:7
PCI_cmd
The user writes this field with the desired PCI command to present during the address phase of
each PCI transaction. The default is Memory Write. This field is not checked for consistency and
if written to an illegal value, unpredictable results will occur. If not using the default value, the user
should write this register only once prior to any packet Restart.
8:15
Max_Retries
The user writes this field with the maximum number of retries to permit per packet. The retry
counter is reset when the packet completes normally or is terminated by a master abort, target
abort, or an abort due to exceeding the retry limit. A slow or malfunctioning Target might issue
infinite disconnects and therefore permanently tie up the PCI bus.
A finite (0x01 to 0xff) Max_Retries value will detect this condition and generate an interrupt.
Setting Max_Retries to 0x00 will not generate any interrupt.
16:20
Reserved
21:23
Max_Beats
24:26
Reserved
27
Word Transfer
(W)
28:30
Reserved
31
Disable address
Incrementing
(DI)
Unused bits. Software should write zero to these bits.
The user writes this register with the desired number of PCI data beats to attempt on each PCI
transaction. The default setting of 0 represents the maximum of eight beats per transaction. The
transmit controller will wait until sufficient bytes are in the Transmit FIFO to support the indicated
number of beats (NOTE: Each beat is four bytes). In the case that a packet is nearly complete and
less than the Max_Beats number of bytes remain to complete the packet, the Transmit Controller
will issue single-beat transactions automatically until the packet is finished.
Unused. Software should write zero to these bits.
The user writes this register to disable the two high byte enables of the PCI bus during SCPCI
initiated write transactions. The default setting is 0, enable all 4 byte enables.
Unused. Software should write zero to these bits.
The user writes this register to disable PCI address incrementing between transactions. The
default setting is 0, incrementing the address by 4 (4 byte data bus).
Note: This feature is recommended when an external FIFO (with a fixed address) must be written.
MPC5200B User’s Manual, Rev. 3
10-32
Freescale Semiconductor
PCI Controller
10.3.3.1.4
Tx Enables PCITER(RW)
MBAR + 0x380C
0
1
2
3
4
5
6
7
8
RC
RF
Rsvd
CM
BE
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
9
10
11
12
13
14
15
FEE
SE
RE
TAE
IAE
NE
0
0
0
0
0
0
0
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
ME
Reserved
W
Reset
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-23. Tx Enables PCITER(RW)
Table 10-25. Tx Enables PCITER(RW) Field Descriptions
Bits
Name
Description
0
Reset
Controller
(RC)
User writes this bit high to put Transmit Controller in a reset state. Other register bits are not
affected. This Reset is intended for recovery from an error condition or to reload the Start Address
when Continuous mode is selected. This Reset bit does not prohibit register access but it must be
negated in order to initiate a Restart sequence (i.e. writing the Packet_Size register). If it is used
to reload a Start Address then the Start_Add register must be written prior to asserting this Reset
bit.
Setting the Reset Controller bits in either PCITER or PCIRER can cause the PCI interface and the
PCI bus to hang if these bits are set while the PCI interface is currently executing a PCI transaction.
To terminate PCI data transfers across the PCI communication sub-system Tx and/or Rx
interface(s) safely, follow steps 1 through 5 in order.
1. Kill the DMA task associated with the appropriate channel (PCI Tx or PCI Rx) to stop the internal
transfer of data to or from the PCI FIFOs
2. Reprogram the Max_Beats field of the appropriate PCI interface register, PCITTCR or PCIRTCR, to 1
3. Wait for the FIFO to fill (Rx) or empty (Tx) by polling the FIFO status registers.
4. Assert Reset Controller bit for the appropriate interface.
5. Assert Reset FIFO bit for the appropriate interface.
1
Reset
FIFO
(RF)
The FIFO will be reset and flushed of any existing data when set high. The Reset Controller bit and
the Reset FIFO bit operate independently but clearly both must be low for normal operation.
2
Reserved
3
Continuous
mode
(CM)
User writes this bit high to activate Continuous mode. In Continuous mode the Start_Add value is
ignored at each packet restart and the PCI address is auto-incremented from one packet to the
next. Also, the Packets_Done status byte will become active, indicating how many packets have
been transmitted since the last Reset Controller condition. If the Continuous bit is low, software is
responsible for updating the Start_Add value at each packet Restart.
4
Bus error
Enable
(BE)
User writes this bit high to enable Bus Error indications. <Cross Refs Helv 9>Section 10.3.3.1.9,
<Cross Refs Helv Italic 9>Tx Status PCITSR(RWC) for Bus Error descriptions. Normally this bit will
be low (negated) since illegal Slave bus accesses are not destructive to register contents (although
it may indicate broken software). This bit does not affect interrupt generation.
5:6
Reserved
Unused. Software should write zero to these bits.
Unused bit. Software should write a zero to this bit.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-33
PCI Controller
Table 10-25. Tx Enables PCITER(RW) Field Descriptions (continued)
Bits
Name
Description
7
Master
Enable
(ME)
This is the Transmit Controller master enable signal. User must write it high to enable operation. It
can be toggled low to permit out-of-order register updates prior to generating a Restart sequence
(in which case transmission will begin when Master Enable is written back high), but it should not
be used as such in Continuous mode because it has the side effect of resetting the Packets_Done
status counter.
8:9
Reserved
Unused. Software should write zero to these bits.
10
FIFO Error
Enable
(FEE)
User writes this bit high to enable CPU Interrupt generation in the case of FIFO error termination
of a packet transmission. It may be desirable to mask CPU interrupts in the case that Multi-Channel
DMA is controlling operation, but in such a case software should poll the status bits to prevent a
possible lock-up condition.
11
System error
Enable
(SE)
User writes this bit high to enable CPU Interrupt generation in the case of system error termination
of a packet transmission. It may be desirable to mask CPU interrupts in the case that Multi-Channel
DMA is controlling operation, but in such a case someone should be polling the status bits to
prevent a possible lock-up condition.
12
Retry abort
Enable
(RE)
User writes this bit high to enable CPU Interrupt generation in the case of retry abort termination
of a packet transmission. It may be desirable to mask CPU interrupts in the case that Multi-Channel
DMA is controlling operation, but in such a case software should poll the status bits to prevent a
possible lock-up condition.
13
Target Abort
Enable
(TAE)
User writes this bit high to enable CPU Interrupt generation in the case of target abort termination
of a packet transmission. It may be desirable to mask CPU interrupts in the case that Multi-Channel
DMA is controlling operation, but in such a case software should poll the status bits to prevent a
possible lock-up condition.
14
Initiator Abort
Enable
(IAE)
User writes this bit high to enable CPU Interrupt generation in the case of initiator abort termination
of a packet transmission. It may be desirable to mask CPU interrupts in the case that Multi-Channel
DMA is controlling operation, but in such a case software should poll the status bits to prevent a
possible lock-up condition.
15
Normal
termination
Enable (NE)
User writes this bit high to enable CPU Interrupt generation at the conclusion of a normally
terminated packet transmission. This may or may not be desirable depending on the nature of
program control by Multi-Channel DMA or the processor core.
16:31
Reserved
Unused. Software should write zero to these bits.
MPC5200B User’s Manual, Rev. 3
10-34
Freescale Semiconductor
PCI Controller
10.3.3.1.5
Tx Next Address PCITNAR(R)
MBAR + 0x3810
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
Next_Address
W
Reset
0
0
0
0
0
0
0
16
17
18
19
20
21
22
R
0
0
0
0
0
0
0
0
0
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
Next_Address
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-24. Tx Next Address PCITNAR(R)
Table 10-26. Tx Next Address PCITNAR(R) Field Descriptions
Bits
Name
0:31
Next_Address
10.3.3.1.6
Description
This status register contains the next (unwritten) PCI address and is updated at the successful
completion of each PCI data beat. It represents a byte address and is updated with the
user-written Start_Add value whenever the Start_Add is reloaded. It is intended to be accurate
even in the case of abnormal terminations on the PCI bus.
Tx Last Word PCITLWR(R)
MBAR + 0x3814
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
Last_Word
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Last_Word
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-25. Tx Last Word PCITLWR(R)
Table 10-27. Tx Last Word PCITLWR(R) Field Descriptions
Bits
Name
Description
0:31
Last_Word
This status register indicates the last 32-bit data fetched from the FIFO and is designed for the
case in which an abnormal PCI termination has corrupted the integrity of the FIFO data (for that
word).
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-35
PCI Controller
10.3.3.1.7
Tx Bytes Done Counts PCITDCR(R)
MBAR + 0x3818
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
Bytes_Done
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Bytes_Done
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-26. Tx Bytes Done Counts PCITDCR(R)
Table 10-28. Tx Bytes Done Counts PCITDCR(R) Field Descriptions
Bits
Name
Description
0:31
Bytes_Done
This status register indicates the number of bytes transmitted since the start of a packet. It is
updated at the end of each successful PCI data beat. For normally terminated packets the
Bytes_Done value and the Packet_Size values will be equal. If Continuous Mode is active the
Bytes_Done value will read zero at the end of a successful packet and the Packets_Done field will
be incremented.
10.3.3.1.8
Tx Packets Done Counts PCITPDCR(R)
MBAR + 0x3820
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
Packets_Done
W
Reset
0
0
0
0
0
0
0
16
17
18
19
20
21
22
R
0
0
0
0
0
0
0
0
0
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
Packets_Done
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-27. Tx Packets Done Counts PCITPDCR(R)
Table 10-29. Tx Packets Done Counts PCITPDCR(R) Field Descriptions
Bits
Name
Description
0:31
Packets_Done
This status register indicates the number of packets transmitted and is active only if continuous
mode is in effect. The counter is reset if the following occurs:
• Reset Controller bit, PCITER[RC], is asserted (normal way to restart continuous mode)
• Master Enable bit, PCITER[ME], becomes negated
Master enable can reset Packets_Done status without disturbing continuous mode addressing. At
any point in time, the total number of Bytes transmitted can be calculated as:
(Packets_Done x Packet_Size) + Bytes_Done
assuming Packet_Size is the same for all restart sequences
MPC5200B User’s Manual, Rev. 3
10-36
Freescale Semiconductor
PCI Controller
10.3.3.1.9
Tx Status PCITSR(RWC)
MBAR + 0x381C
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
NT
BE3
BE2
BE1
FE
SE
RE
TA
IA
rwc
rwc
rwc
rwc
rwc
rwc
rwc
rwc
rwc
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-28. Tx Status PCITSR(RWC)
Table 10-30. Tx Status PCITSR(RWC) Field Descriptions
Bits
Name
0:6
Reserved
7
Normal
Termination
(NT)
This flag is set when any packet terminates normally. It is NOT set for abnormally terminated packets.
Note: Flag does not require clearing, but does not clear until 1 is written, in which case 0 is read back
(i.e., negated). The following flag bits operate similarly.
8
Bus Error
type 3
(BE3)
This flag is set whenever a Slave bus transaction attempts to write to a Read-Only register. This flag
bit is set regardless of the Bus error Enable bit (BE). If software is polling this Byte and wishes to
disregard this error it must mask this bit out.
No register bit corruption occurs for this (or any other) bus error case.
9
Bus Error
type 2
(BE2)
This flag is set whenever a Slave bus transaction attempts to write to a Reserved register (an entire
32-bit register, not just a Reserved bit or byte). This flag bit is set regardless of the Bus error Enable
bit (BE). If software is polling this Byte and wishes to disregard this error it must mask this bit out.
10
Bus Error
type 1
(BE1)
This flag is set whenever a Slave bus transaction attempts to read a Reserved register (an entire 32-bit
register, not just a Reserved bit or byte). This flag bit is set regardless of the Bus error Enable bit (BE).
If software is polling this Byte and wishes to disregard this error it must mask this bit out.
11
FIFO Error
(FE)
This flag is set whenever the Transmit FIFO asserts its FIFO Error output. A CPU interrupt will be
generated if the FIFO Error Enable (FEE) bit is set. The source of the error must be determined by
reading the FIFO Error status register. Also, the error condition must be cleared at the FIFO prior to
clearing this Sticky bit or this flag will continue to assert.
12
13
Description
Unused. Software should write zero to these bits.
System Error This flag is set in response to the Transmit Controller entering an illegal state. A CPU interrupt will be
(SE)
generated if the System error Enable (SE) bit is set. In normal operation this should never occur. The
only recovery is to assert the Reset Controller bit, PCITER[RC], and clear this flag.
Retry Error
(RE)
This flag is set if Max_Retries is set to a finite value (0x01 to 0xff) and the PCI transaction has
performed retries in excess of the setting. A CPU interrupt will be generated if the Retry error Enable
(RE) bit is set. The retry counter is reset at the beginning of each transaction (i.e. it is not cumulative
throughout a packet) and would generally indicate a broken or improperly accessed Target.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-37
PCI Controller
Table 10-30. Tx Status PCITSR(RWC) Field Descriptions (continued)
Bits
Name
Description
14
Target Abort
(TA)
This flag bit is set if the PCI controller has issued a Target Abort (which means the addressed PCI
Target has signalled an Abort). A CPU interrupt will be generated if the Target Abort Enable (TAE) bit
is set. It is up to application software to query the Target’s status register and determine the source of
the error. The coherency of the Transmit FIFO data and the Transmit Controller’s status registers
(Next_Address, Bytes_Done, etc.) should remain valid.
15
Initiator Abort This flag bit is set if the PCI controller issues an Initiator Abort flag. This indicates that no Target
(IA)
responded but further status information can be read from the PCI Configuration interface. A CPU
interrupt will be generated if the Initiator Abort error Enable (IAE) bit is set. The coherency of the
Transmit FIFO data and the Transmit Controller’s status registers (Next_Address, Bytes_Done, etc.)
should remain valid.
16:31
Reserved
Unused. Software should write zero to these bits.
10.3.3.1.10 Tx FIFO Data Register PCITFDR(RW)
MBAR + 0x3840
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
27
28
29
30
31
R
FIFO_Data_Word
W
Reset
Uninitialized random 16 bit value
16
17
18
19
20
21
22
23
24
25
26
R
FIFO_Data_Word
W
Reset
Uninitialized random 16 bit value
Figure 10-29. Tx FIFO Data Register PCITFDR(RW)
Table 10-31. Tx FIFO Data Register PCITFDR(RW) Field Descriptions
Bits
Name
Description
0:31
FIFO_Data_Word
This is the data port to the FIFO. Reading from this location will “pop” data from the FIFO,
writing data will “push” data into the FIFO. During normal operation the Multi-Channel DMA
controller will be pushing data here. The PCI controller will pop data for transmission from a
dedicated peripheral port, so the user program should not be reading here. At reset any
uninitialized random 32 bit value is read at this address. A FIFO reset must be always
performed before first accessing the FIFO.
Note: Only full 32-bit accesses are allowed. If all Byte enables are not asserted when
accessing this location, FIFO data will be corrupted.
MPC5200B User’s Manual, Rev. 3
10-38
Freescale Semiconductor
PCI Controller
10.3.3.1.11 Tx FIFO Status Register PCITFSR(R/RWC)
MBAR + 0x3844
0
1
2
3
4
5
6
7
8
R
9
10
11
12
RXW
UF
OF
FR
rwc
rwc
rwc
13
14
15
Full Alarm Empty
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-30. Tx FIFO Status Register PCITFSR(R/RWC)
Table 10-32. Tx FIFO Status Register PCITFSR(R/RWC) Field Descriptions
Bits
Name
Description
0:8
Reserved
9
Receive Wait
Condition
(RXW)
This flag bit indicates that the ipf_rcv bus is incurring wait states because there is not enough room
in the FIFO to accept the data without causing overflow. This bit will cause the error outputs (fifoError,
ipf_rcv_error, ipf_xmit_error) to assert unless the RXW_MASK bit in the FIFO Control register is set.
Resetting the FIFO will clear this condition and the flag bit is cleared by writing a one to its bit
position.
10
UnderFlow
(UF)
This flag bit indicates that the read pointer has surpassed the write pointer. In other words the FIFO
has been read beyond Empty. Resetting the FIFO will clear this condition and the flag bit is cleared
by writing a one to its bit position.
11
OverFlow
(OF)
This flag bit indicates that the write pointer has surpassed the read pointer. In other words the FIFO
has been written beyond Full. Resetting the FIFO will clear this condition and the flag bit is cleared
by writing a one to its bit position.
12
Frame Ready
(FR)
13
Full
The FIFO is Full. This is not a sticky bit or error condition. The Full indication tracks with the state of
the FIFO.
14
Alarm
When the FIFO pointer is at or below the Alarm “watermark”, as written by the user according to the
Alarm and Control registers settings, this bit is set, automatically signalling to the DMA engine the
need to re-fill the FIFO. By writing a ‘1’ to this bit software can enforce a re-evaluation of the ‘alarm’
condition.
15
Empty
The FIFO is empty. This is not a sticky bit or error condition.
16:31
Reserved
Unused. Software should write zero to these bits.
The FIFO has a complete Frame of data ready for transmission. This module
does not provide support for Data Framing applications, so this bit should be ignored.
Unused. Software should write zero to these bits.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-39
PCI Controller
10.3.3.1.12 Tx FIFO Control Register PCITFCR(RW)
MBAR + 0x3848
5
6
7
9
10
11
12
13
14
15
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
GR
W
Reset
8
OF_MASK
4
UF_MASK
3
RXW_MASK
2
FAE_MASK
1
IP_MASK
0
Reserved
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-31. Tx FIFO Control Register PCITFCR(RW)
Table 10-33. Tx FIFO Control Register PCITFCR(RW) Field Descriptions
Bits
Name
Description
0:4
Reserved
Unused. Software shall write zero to these bits. (R/W)
5:7
Granularity
(GR)
Granularity bits control high “watermark” point at which FIFO negates Alarm condition (i.e., request
for data). It represents the number of free Bytes, which is given by the granularity value multiplied
by 4.
Note: A granularity setting of zero should be avoided because it means the Alarm bit (and the
Requestor signal) will not negate until the FIFO is completely full. The Multi-Channel DMA
module may perform up to 2 additional data writes after the negation of a Requestor due to
its internal pipelining
Note: This field must be set to a value of 4 or higher. When the FIFO granularity is 0 - 3, read data
can be corrupted with no error indication when the PCI controller simultaneously writes to the
same location that the BestComm is reading from. The workaround is to use a FIFO
granularity of 4 or greater.
8
IP_MASK
Illegal Pointer Mask
When this bit is set, the FIFO controller masks the Status register’s IP bit from generating an error.
9
FAE_MASK
When this bit is set, the FIFO controller masks the Status Register’s FAE bit from generating an
error.
10
RXW_MASK
When this bit is set, the FIFO controller masks the Status Register’s RXW bit from generating an
error. (To help with backward compatibility, this bit is asserted at reset.)
11
UF_MASK
When this bit is set, the FIFO controller masks the Status Register’s UF bit from generating an error.
12
OF_MASK
When this bit is set, the FIFO controller masks the Status Register’s OF bit from generating an error.
13:15
Reserved
Unused. Software should write zero to these bits.
16:31
Reserved
Unused. Software should write zero to these bits. (R/W)
MPC5200B User’s Manual, Rev. 3
10-40
Freescale Semiconductor
PCI Controller
10.3.3.1.13 Tx FIFO Alarm Register PCITFAR(RW)
MBAR + 0x384C
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Alarm
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
0
0
0
0
Alarm
0
0
0
0
0
0
Figure 10-32. Tx FIFO Alarm Register PCITFAR(RW)
Table 10-34. Tx FIFO Alarm Register PCITFAR(RW) Field Descriptions
Bits
Name
0:19
Reserved
20:31
Alarm
Description
Unused. Software should write zero to these bits.
User writes these bits to set low level “watermark”, which is the point where FIFO asserts request
for Multi-Channel DMA controller data filling. Value is in Bytes. For example, with Alarm = 32, alarm
condition occurs when FIFO contains less than 32Bytes. Once asserted, alarm does not negate
until high level mark is reached, as specified by FIFO control register granularity (GR) bits.
Note: An Alarm setting less than the value of Max_Beats x 4 should be avoided. The transmit
operation waits for the data to be stored in the FIFO before transmission onto the PCI bus.
(e.g. A Max_setting of 0 represents eight beats (32-bits each) per transaction. The value of
Alarm is in bytes. Ex: the value programmed to the Alarm register should be at least 0x20 (32
bytes) for the Multi-Channel DMA to continue to write enough data to complete at least one
PCI burst.)
Note: TX PCI FIFO is 512 bytes deep.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-41
PCI Controller
10.3.3.1.14 Tx FIFO Read Pointer Register PCITFRPR(RW)
MBAR + 0x3850
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
R
Reserved
W
Reset
9
Reserved
W
Reset
8
0
0
0
ReadPtr
0
0
0
0
0
0
0
0
Figure 10-33. Tx FIFO Read Pointer Register PCITFRPR(RW)
Table 10-35. Tx FIFO Read Pointer Register PCITFRPR(RW) Field Descriptions
Bits
Name
0:19
Reserved
20:31
ReadPtr
Description
Unused. Software should write zero to these bits.
This value is maintained by FIFO hardware and is NOT normally written. It can be adjusted in special
cases, but this disrupts data flow integrity. The value represents the Read address presented to the
FIFO RAM.
10.3.3.1.15 Tx FIFO Write Pointer Register PCITFWPR(RW)
MBAR + 0x3854
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
WritePtr
0
0
0
0
0
0
0
0
Figure 10-34. Tx FIFO Write Pointer Register PCITFWPR(RW)
Table 10-36. Tx FIFO Write Pointer Register PCITFWPR(RW) Field Descriptions
Bits
Name
0:19
Reserved
20:31
WritePtr
Description
Unused bits. Software should write zero to these bits.
Value is maintained by FIFO hardware and is NOT normally written. It can be adjusted in special
cases, but this disrupts data flow integrity. Value represents the Write address presented to the FIFO
RAM.
This marks the end of the PCI Multi-Channel DMA Transmit Interface description.
MPC5200B User’s Manual, Rev. 3
10-42
Freescale Semiconductor
PCI Controller
10.3.3.2
Multi-Channel DMA Receive Interface
PCI Rx is controlled by 13 32-bit registers. These registers are located at an offset from MBAR. Register
addresses are relative to this offset.
10.3.3.2.1
Rx Packet Size PCIRPSR(RW)
MBAR + 0x3880
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
Packet_Size[31:16]
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Packet_Siz[1:0
]
Packet_Size[15:2]
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-35. Rx Packet Size PCIRPSR(RW)
Table 10-37. Rx Packet Size PCIRPSR(RW) Field Descriptions
Bits
Name
Description
0:31
Packet_Size
The user writes this register with the number of bytes for Receive Controller to fetch over PCI. The
two low bits are hardwired low; only 32-bit data transfers to the FIFO are allowed.
Writing to this register also completes a Restart Sequence as long as Master Enable bit,
PCIRER[ME], is high and Reset Controller bit, PCIRER[RC], is low.
10.3.3.2.2
Rx Start Address PCIRSAR(RW)
MBAR + 0x3884
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Start_Add
W
Reset
8
Start_Add
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 10-36. Rx Start Address PCIRSAR (RW)
Table 10-38. Rx Start Address PCIRSAR (RW) Field Descriptions
Bits
Name
Description
0:31
Start_Add
The user writes this register with the desired Starting Address for the current packet. This is the
address which will be first presented on the external PCI bus and then auto-incremented as
necessary. This register will not increment as the PCI packet proceeds.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-43
PCI Controller
10.3.3.2.3
Rx Transaction Control Register PCIRTCR(RW)
MBAR + 0x3888
0
R
3
4
5
6
7
8
9
10
PCI_cmnd
11
12
13
14
15
Max_Retries
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
FB
R
0
0
R
Reserved
W
Reset
2
Reserved
W
Reset
1
0
0
0
Max_Beats
0
0
Reserved
0
0
0
W
0
0
Reserved
0
0
DI
0
0
Figure 10-37. Rx Transaction Control Register PCIRTCR(RW)
Table 10-39. Rx Transaction Control Register PCIRTCR(RW) Field Descriptions
Bits
Name
Description
0:3
Reserved
Unused. Software should write zero to these bits.
4:7
PCI_cmd
The user writes this field with the desired PCI command to present during the address phase of
each PCI transaction. The default is Memory Read Multiple. This field is not checked for
consistency and if written to an illegal value, unpredictable results will occur. If not using the default
value, the user should write this register only once prior to any packet Restart.
8:15
Max_Retries
The user writes this field with the maximum number of retries to permit “per packet”. The retry
counter is reset when the packet completes normally or is terminated by a master abort, target
abort, or an abort due to exceeding the retry limit. A slow or malfunctioning Target might issue
infinite disconnects and therefore permanently tie up the PCI bus.
A finite (0x01 to 0xff) Max_Retries value will detect this condition and generate an interrupt. Setting
Max_Retries to 0x00 will not generate any interrupt.
16:18
Reserved
Unused. Software should write zero to these bits.
19
Full Burst
(FB)
This is the Full Burst bit. If Full Burst is set, no check of the Receive Fifo emptiness is done and the
PCI transaction is immediately started when Packet_Size register is written (and SCPCI RX gains
the PCI bus).
The PCI transaction will continue with multiple data beats UNTIL THE FULL PACKET IS
TRANSFERRED (up to 4G bytes). The Full Burst operation avoids latency time-out and will not
relinquish the bus until all Packet Bytes are received.
Note: All FIFO checks (by scpci Rx) are disabled in this mode. It is up to the Multi-Channel DMA
to keep the Rx FIFO from being overrun by the continuous incoming PCI burst data.
Note: It is recommended to use the Full Burst mode only for transactions where more than 32
Bytes should be received.
Note: Max_Beats must be set to 0.
20
Reserved
Unused. Software should write zero to this bit.
21:23
Max_Beats
24:26
Reserved
The user writes this register with the desired number of PCI data beats to attempt on each PCI
transaction. The default setting of 0 represents the maximum of eight beats per transaction. The
receive controller will wait until sufficient space is in the Receive FIFO to support the indicated
number of beats (Note: Each beat is four bytes). In the case that a packet is nearly complete and
less than the Max_Beats number of bytes remain to complete the packet, the Receive Controller
will issue single-beat transactions automatically until the packet is finished.
Unused. Software should write zero to these bits.
MPC5200B User’s Manual, Rev. 3
10-44
Freescale Semiconductor
PCI Controller
Table 10-39. Rx Transaction Control Register PCIRTCR(RW) Field Descriptions (continued)
Bits
Name
27
Word Transfer
(W)
28:30
Reserved
31
Description
The user writes this register to disable the two high byte enables of the PCI bus during initiated
read transactions. The default setting is 0, enable all 4 byte enables.
Unused. Software should write zero to these bits.
Disable address The user writes this register to disable PCI address incrementing between transactions. The
Incrementing
default setting is 0, increment address by 4 (4 byte data bus).
(DI)
Note: This feature is recommended when reading from an external FIFO (having a fixed address).
10.3.3.2.4
Rx Enables PCIRER(RW)
MBAR + 0x388C
0
1
2
3
4
5
6
7
8
RC
RF
FE
CM
BE
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
9
10
11
12
13
14
15
FEE
SE
RE
TAE
IAE
NE
0
0
0
0
0
0
0
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
ME
Reserved
W
Reset
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-38. Rx Enables PCIRER (RW)
Table 10-40. Rx Enables PCIRER (RW) Field Descriptions
Bits
Name
Description
0
Reset
Controller
(RC)
User writes this bit high to put Receive Controller in a reset state. Note that other register bits are
not affected. This Reset is intended for recovery from an error condition or to reload the Start
Address when Continuous mode is selected. This Reset bit does not prohibit register access but it
must be negated in order to initiate a Restart sequence (i.e. writing the Packet_Size register). If it
is used to reload a Start Address then the Start_Add register must be written prior to asserting this
Reset bit.
1
Reset
FIFO
(RF)
The FIFO will be reset and flushed of any existing data when set high. The Reset Controller bit and
the Reset FIFO bit operate independently, but clearly both must be low for normal operation.
2
FE
Flush enable. This is an important bit which causes a flush signal to be generated to the Receive
FIFO Controller when the end of the current packet occurs. This Flush is necessary to insure that
the Multi-Channel DMA will get all data left in the Receive FIFO. FE is active high.
3
Continuous
mode
(CM)
User writes this bit high to activate Continuous mode. In Continuous mode the Start_Add value is
ignored at each packet restart and the PCI address is auto-incremented from one packet to the
next. Also, the Packets_Done status byte will become active, indicating how many packets have
been received since the last Reset Controller condition. If the Continuous bit is low, software is
responsible for updating the Start_Add value at each packet Restart.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-45
PCI Controller
Table 10-40. Rx Enables PCIRER (RW) Field Descriptions (continued)
Bits
Name
Description
4
Bus error
Enable
(BE)
User writes this bit high to enable Bus Error indications. Section 10.3.3.2.9, “Rx Status
PCIRSR(R/sw1)” for Bus Error descriptions. Normally this bit will be 0 since illegal Slave bus
accesses are not destructive to register contents, although it may indicate broken software. Note
that this bit does not affect interrupt generation.
5:6
Reserved
Unused. Software should write zero to these bits.
7
Master
Enable
(ME)
8:9
Reserved
Unused. Software should write zero to these bits.
10
FIFO Error
Enable
(FEE)
User writes this bit high to enable CPU Interrupt generation in the case of FIFO error termination
of a packet transmission. It may be desirable to mask CPU interrupts in the case that Multi-Channel
DMA is controlling operation, but in such a case software should poll the status bits to prevent a
possible lock-up condition.
11
System error
Enable
(SE)
User writes this bit high to enable CPU Interrupt generation in the case of system error termination
of a packet transmission. It may be desirable to mask CPU interrupts in the case that Multi-Channel
DMA is controlling operation, but in such a case software should be polling the status bits to prevent
a possible lock-up condition.
12
Retry abort
Enable
(RE)
User writes this bit high to enable CPU Interrupt generation in the case of retry abort termination
of a packet transmission. It may be desirable to mask CPU interrupts in the case that Multi-Channel
DMA is controlling operation, but in such a case, software should poll the status bits to prevent a
possible lock-up condition.
13
Target Abort
Enable
(TAE)
User writes this bit high to enable CPU Interrupt generation in the case of target abort termination
of a packet transmission. It may be desirable to mask CPU interrupts in the case that Multi-Channel
DMA is controlling operation, but in such a case software should poll the status bits to prevent a
possible lock-up condition.
14
Initiator Abort
error
Enable
(IAE)
User writes this bit high to enable CPU Interrupt generation in the case of initiator abort error
termination of a packet transmission. It may be desirable to mask CPU interrupts in the case that
Multi-Channel DMA is controlling operation, but in such a case software should poll the status bits
to prevent a possible lock-up condition.
15
Normal
termination
Enable (NE)
User writes this bit high to enable CPU Interrupt generation at the conclusion of a normally
terminated packet transmission. This may or may not be desirable depending on the nature of
program control by Multi-Channel DMA or the processor core.
16:31
Reserved
This is the Receive Controller master enable signal. User must write it high to enable operation. It
can be toggled low to permit out-of-order register updates prior to generating a Restart sequence
(in which case transmission will begin when Master Enable is written back high), but it should not
be used as such in Continuous mode because it has the side effect of resetting the Packets_Done
status counter.
Unused. Software should write zero to these bits.
MPC5200B User’s Manual, Rev. 3
10-46
Freescale Semiconductor
PCI Controller
10.3.3.2.5
Rx Next Address PCIRNAR(R)
MBAR + 0x3890
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Next_Address
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Next_Address
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-39. Rx Next Address PCIRNAR(R)
Table 10-41. Rx Next Address PCIRNAR(R) Field Descriptions
Bits
Name
Description
0:31
Next_Address
This status register contains the next (unread) PCI address and is updated at the successful
completion of each PCI data beat. It represents a Byte address and is updated with a user-written
Start_Add value when Start_Add is reloaded. This register is intended to be accurate even if an
abnormal PCI bus termination occurs.
10.3.3.2.6
Rx Last Word PCIRLWR(R)
MBAR + 0x3894
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
Last_Word
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Last_Word
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-40. Rx Last Word PCIRLWR(R)
Table 10-42. Rx Last Word PCIRLWR(R) Field Descriptions
Bits
Name
Description
0:31
Last_Word
This status register indicates the last 32-bit data fetched from the FIFO and is designed for the
case in which an abnormal PCI termination has corrupted the integrity of the FIFO data (for that
word).
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-47
PCI Controller
10.3.3.2.7
Rx Bytes Done Counts PCIRDCR(R)
MBAR + 0x3898
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Bytes_Done
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Bytes_Done
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-41. Rx Bytes Done Counts PCIRDCR(R)
Table 10-43. Rx Bytes Done Counts PCIRDCR(R) Field Descriptions
Bits
Name
Description
0:31
Bytes_Done
This status register indicates the number of Bytes received since the start of a packet. It is
updated at the end of each successful PCI data beat. For normally terminated packets, the
Bytes_Done value and the Packet_Size values are equal. If continuous mode is active, the
Bytes_Done value reads 0 at the end of a successful packet and the Packets_Done field
is incremented.
MPC5200B User’s Manual, Rev. 3
10-48
Freescale Semiconductor
PCI Controller
10.3.3.2.8
Rx Packets Done Counts PCIRPDCR(R)
MBAR + 0x38A0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Packets_Done
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Packets_Done
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-42. Rx Packets Done Counts PCIRPDCR(R)
Table 10-44. Rx Packets Done Counts PCIRPDCR(R) Field Descriptions
Bits
Name
Description
0:31
Packets_Done
This status register indicates the number of packets received. It is active only if continuous mode
is in effect. If the following occurs, the counter is reset:
• Reset Controller bit, PCIRER[RC], is asserted (normal way to restart continuous mode)
• Master Enable bit, PCIRER[ME], is negated
In this way, master enable can be used to reset Packets_Done status without disturbing
continuous mode addressing. At any point in time the total number of Bytes received can be
calculated as:
(Packets_Done x Packet_Size) + Bytes_Done
This assumes Packet_Size is the same for all restart sequences.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-49
PCI Controller
10.3.3.2.9
Rx Status PCIRSR(R/sw1)
MBAR + 0x389C
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
NT
BE3
BE2
BE1
FE
SE
RE
TA
IA
rwc
rwc
rwc
rwc
rwc
rwc
rwc
rwc
rwc
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-43. Rx Status PCIRSR (R/sw1)
Table 10-45. Rx Status PCIRSR (R/sw1) Field Descriptions
Bits
Name
Description
0:6
Reserved
7
Normal
Termination
(NT)
This flag is set when any packet terminates normally. It is not set in the case of an abnormally
terminated packet. It does not require clearing but will not clear until it is written to a one (in which
case it will now read back as zero, i.e. negated).
>ALL THE FOLLOWING FLAG BITS OPERATE SIMILARLY<
8
Bus Error
type 3
(BE3)
This flag is set whenever a Slave bus transaction attempts to write to a Read-Only register. This
flag bit is set regardless of the Bus error Enable bit (BE). If software is polling this Byte and wishes
to disregard this error it must mask this bit out. No corruption of the register bits occur for this (or
any other) Bus Error case.
9
Bus Error
type 2
(BE2)
This flag is set whenever a Slave bus transaction attempts to write to a Reserved register (an entire
32-bit register, not just a Reserved bit or byte). This flag bit is set regardless of the Bus error Enable
bit (BE). If software is polling this Byte and wishes to disregard this error it must mask this bit out.
10
Bus Error
type 1
(BE1)
This flag is set whenever a Slave bus transaction attempts to read a Reserved register (an entire
32-bit register, not just a Reserved bit or byte). This flag bit is set regardless of the Bus error Enable
bit (BE). If software is polling this Byte and wishes to disregard this error it must mask this bit out.
11
FIFO Error
(FE)
This flag is set whenever the Receive FIFO asserts its FIFO Error output. A CPU interrupt will be
generated if the FIFO Error Enable (FEE) bit is set. The source of the error must be determined by
reading the FIFO Error status register. Also, the error condition must be cleared at the FIFO prior
to clearing this Sticky bit or this flag will continue to assert.
12
System Error
(SE)
This flag is set in response to the Transmit Controller entering an illegal state. A CPU interrupt will
be generated if the System error Enable (SE) bit is set. In normal operation this should never occur.
The only recovery is to assert the Reset Controller bit, PCIRER[RC], and clear this flag.
13
Retry Error
(RE)
This flag is set if Max_Retries is set to a finite value (0x01 to 0xff) and the PCI transaction has
performed retries in excess of the setting. A CPU interrupt will be generated if the Retry error
Enable (RE) bit is set. The retry counter is reset at the beginning of each transaction (i.e. it is not
cumulative throughout a packet) and would generally indicate a broken or improperly accessed
Target.
Unused. Software should write zero to these bits.
MPC5200B User’s Manual, Rev. 3
10-50
Freescale Semiconductor
PCI Controller
Table 10-45. Rx Status PCIRSR (R/sw1) Field Descriptions (continued)
Bits
Name
Description
14
Target Abort
(TA)
This flag bit is set if the PCI controller has issued a Target Abort (which means the addressed PCI
Target has signalled an Abort). A CPU interrupt will be generated if the Target Abort Enable (TAE)
bit is set. It is up to application software to query the Target’s status register and determine the
source of the error. The coherency of the Receive FIFO data and the Receive Controller’s status
registers (Next_Address, Bytes_Done, etc.) should remain valid.
15
Initiator Abort
(IA)
This flag bit is set if the PCI controller issues an Initiator Abort flag. This indicates that no Target
responded but further status information can be read from the PCI Configuration interface. A CPU
interrupt will be generated if the Initiator Abort error Enable (IAE) bit is set. The coherency of the
Receive FIFO data and the Receive Controller’s status registers (Next_Address, Bytes_Done, etc.)
should remain valid.
16:31
Reserved
Unused. Software should write zero to these bits.
10.3.3.2.10 Rx FIFO Data Register PCIRFDR(RW)
MBAR + 0x38C0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
27
28
29
30
31
R
FIFO_Data_Word
W
Reset
Uninitailized random 16 bit value
16
17
18
19
20
21
22
23
24
25
26
R
FIFO_Data_Word
W
Reset
Uninitalized random 16 bit value
Figure 10-44. Rx FIFO Data Register PCIRFDR(RW)
Table 10-46. Rx FIFO Data Register PCIRFDR(RW) Field Descriptions
Bits
Name
Description
0:31
FIFO_Data_Word
FIFO data port—Reading from this location “pops” data from the FIFO; writing “pushes” data
into the FIFO. During normal operation the Multi-Channel DMA controller pops data here. The
receive controller pushes data. Therefore, user programs should not write here. At power on
reset an uninitialized random value is read at this register. A FIFO reset must be always
performed before first accessing the FIFO.
Note: Only full 32-bit accesses are allowed. If all Byte enables are not asserted when
accessing this location, FIFO data will be corrupted.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-51
PCI Controller
10.3.3.2.11 Rx FIFO Status Register PCIRFSR(R/sw1)
MBAR + 0x38C4
0
1
2
3
4
5
6
7
8
R
9
10
11
12
13
RXW
UF
OF
FR
Full
rwc
rwc
rwc
14
15
Alarm Empty
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-45. Rx FIFO Status Register PCIRFSR(R/sw1)
Table 10-47. Rx FIFO Status Register PCIRFSR(R/sw1) Field Descriptions
Bits
Name
Description
0:8
Reserved
9
Receive Wait
Condition
(RXW)
This flag bit indicates that the ipf_rcv bus is incurring wait states because there is not
enough room in the FIFO to accept the data without causing overflow. This bit will cause the
error outputs (fifoError, ipf_rcv_error, ipf_xmit_error) to assert unless the RXW_MASK bit in
the FIFO Control register is set. Resetting the FIFO will clear this condition and the flag bit
is cleared by writing a one to its bit position.
10
UnderFlow
(UF)
This flag bit indicates that the read pointer has surpassed the write pointer. In other words
the FIFO has been read beyond Empty. Resetting the FIFO will clear this condition and the
flag bit is cleared by writing a one to its bit position.
11
OverFlow
(OF)
This flag bit indicates that the write pointer has surpassed the read pointer. In other words
the FIFO has been written beyond Full. Resetting the FIFO will clear this condition and the
flag bit is cleared by writing a one to its bit position.
12
Frame Ready
(FR)
13
Full
The FIFO is Full. This is not a sticky bit or error condition. The Full indication tracks with the
state of the FIFO.
14
Alarm
When the FIFO pointer is at or above the Alarm “watermark”, as written by the user
according to the Alarm and Control registers settings, the Alarm bit is asserted, thus
automatically signalling to the DMA engine that the FIFO needs to be ‘emptied’. By writing
a ‘1’ to this location software can enforce re-evaluation of the alarm condition.
15
Empty
The FIFO is empty. This is not a sticky bit or error condition.
16:31
Reserved
Unused byte. Software should write zero to these bits.
The FIFO has a complete Frame of data ready for transmission. This module
does not provide support for Data Framing applications, so this bit should be ignored.
Unused. Software should write zero to these bits.
MPC5200B User’s Manual, Rev. 3
10-52
Freescale Semiconductor
PCI Controller
10.3.3.2.12 Rx FIFO Control Register PCIRFCR(RW)
MBAR + 0x38C8
5
6
7
9
10
11
12
13
14
15
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
GR
R
Reset
8
OF_MASK
4
UF_MASK
3
RXW_MASK
2
FAE_MASK
1
IP_MASK
0
Reserved
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 10-46. Rx FIFO Control Register PCIRFCR(RW)
Table 10-48. Rx FIFO Control Register PCIRFCR(RW) Field Descriptions
Bits
Name
Description
0:4
Reserved
Unused. Software shall write zero to these bits. (R/W)
5:7
Granularity
(GR)
Granularity bits control high “watermark” point at which FIFO negates Alarm condition (i.e., request
for data). It represents the number of free Bytes times 4.
Note: A granularity setting of zero should be avoided because it means the Alarm bit (and the
Requestor signal) will not negate until the FIFO is completely full. The Multi-Channel DMA
module may perform up to 2 additional data writes after the negation of a Requestor due to
its internal pipelining.
Note: This field must be set to a value of 4 or higher. When the FIFO granularity is 0 - 3, read data
can be corrupted with no error indication when the PCI controller simultaneously writes to the
same location that the BestComm is reading from. The workaround is to use a FIFO
granularity of 4 or greater.
8
IP_MASK
Illegal Pointer Mask
When this bit is set, the FIFO controller masks the Status register’s IP bit from generating an error.
9
FAE_MASK
When this bit is set, the FIFO controller masks the Status Register’s FAE bit from generating an
error.
10
RXW_MASK
When this bit is set, the FIFO controller masks the Status Register’s RXW bit from generating an
error. (To help with backward compatibility, this bit is asserted at reset.)
11
UF_MASK
When this bit is set, the FIFO controller masks the Status Register’s UF bit from generating an error.
12
OF_MASK
When this bit is set, the FIFO controller masks the Status Register’s OF bit from generating an error.
13:15
Reserved
Unused. Software should write zero to these bits.
16:31
Reserved
Unused. Software shall write zero to these bits. (R/W)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-53
PCI Controller
10.3.3.2.13 Rx FIFO Alarm Register PCIRFAR(RW)
MBAR + 0x38CC
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
Reserved
W
RESET
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Alarm
Reserved
Alarm
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 10-47. Rx FIFO Alarm Register PCIRFAR(RW)
Table 10-49. Rx FIFO Alarm Register PCIRFAR(RW) Field Descriptions
Bits
Name
0:19
Reserved
20:31
Alarm
[11:0]
Description
Unused. Software should write zero to these bits.
User writes these bits to set the low level watermark, which is the point at which the FIFO asserts
its request for data emptying to the Multi-Channel DMA controller. This value is in bytes. For
example, with Alarm = 32, the alarm condition will occur when the FIFO has 32 or less free bytes in
it. The alarm, once asserted, will not negate until the high level mark is reached, as specified by the
Granularity bits in the Rx FIFO Control Register.
Note: The PCI RX FIFO is 512 bytes deep.
MPC5200B User’s Manual, Rev. 3
10-54
Freescale Semiconductor
PCI Controller
10.3.3.2.14 Rx FIFO Read Pointer Register PCIRFRPR(RW)
MBAR + 0x38D0
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
R
Reserved
W
Reset
9
Reserved
W
Reset
8
0
0
0
ReadPtr
0
0
0
0
0
0
0
0
Figure 10-48. Rx FIFO Read Pointer Register PCIRFRPR(RW)
Table 10-50. Rx FIFO Read Pointer Register PCIRFRPR(RW) Field Descriptions
Bits
Name
0:19
Reserved
20:31
ReadPtr
Description
Unused. Software should write zero to these bits.
This value is maintained by the FIFO hardware and is not normally written. It can be adjusted in
special cases but will disrupt the integrity of the data flow. This value represents the Read address
being presented to the FIFO RAM.
10.3.3.2.15 Rx FIFO Write Pointer Register PCIRFWPR(RW)
MBAR + 0x38D4
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
R
Reserved
W
RESET
8
Reserved
W
Reset
7
0
0
0
WritePtr
0
0
0
0
0
0
0
0
Figure 10-49. Rx FIFO Read Pointer Register PCIRFRPR(RW)
Table 10-51. Rx FIFO Read Pointer Register PCIRFRPR(RW) Field Descriptions
Bits
Name
12:19
Reserved
20:31
WritePtr
Description
Unused. Software should write zero to these bits.
This value is maintained by the FIFO hardware and is not normally written. It can be adjusted in
special cases but will of course disrupt the integrity of the data flow. This value represents the Write
address being presented to the FIFO RAM.
This marks the end of the PCI Multi-Channel DMA Receive Interface description.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-55
PCI Controller
10.4
Functional Description
The MPC5200B PCI module provides both master and target PCI bus interfaces as shown in Figure 10-1.
The internal PCI master, or initiator, interface is accessible by any XL bus master such as the processor
core and also provides a DMA interface (for BestComm) through the Communication Sub-System, which
can be accessed by the Multi-Channel DMA engine. The internal PCI target interface provides external
PCI masters access into two memory windows of MPC5200B address space. PCI arbitration is handled
external to this module, by the MPC5200B internal PCI arbiter.
NOTE
Only the internal PCI arbiter of the MPC5200B can be used as PCI arbiter
for the PCI bus. An external PCI arbiter cannot be used.
The registers, described in Section 10.3, “Registers,” control and provide information about these multiple
interfaces. An additional Configuration interface allows internal access through the Slave bus(also referred
to as IP bus) to the PCI Type 0 Configuration registers, which are accessible to both MPC5200B and
external masters through the PCI bus.
The following sections describe the operation of the PCI module.
10.4.1
PCI Bus Protocol
This section will provide a simple overview of the PCI bus protocol, including some details of MPC5200B
implementation. For details regarding PCI bus operation, refer to the PCI Local Bus Specification,
Revision 2.2.
10.4.1.1
PCI Bus Background
The PCI interface is synchronous and is best used for bursting data in large chunks. Its maximum
theoretical bandwidth approaches 266 Megabytes per second for the 32-bit implementation running at
66MHz. A system will contain one device that is responsible for configuring all other devices on the bus
upon reset. Each device has 256 bytes of configuration space that define individual requirements to the
system controller. These registers are read and written through a “configuration access” command. A PCI
transfer is started by the master and is directed toward a specific target. A provision is made for
broadcasting to several targets through the “special command.” Data is transferred through the use of
memory and IO read and write commands.
.
Table 10-52. PCI Command Encoding
C/BE[3:0]
Command Type
0000
Interrupt Acknowledge
0001
Special Cycle
0010
I/O Read
0011
I/O Write
0100
Reserved
0101
Reserved
MPC5200B User’s Manual, Rev. 3
10-56
Freescale Semiconductor
PCI Controller
Table 10-52. PCI Command Encoding (continued)
10.4.1.2
C/BE[3:0]
Command Type
0110
Memory Read
0111
Memory Write
1000
Reserved
1001
Reserved
1010
Configuration Read
1011
Configuration Write
1100
Memory Read Multiple
1101
Dual Address Cycle
1110
Memory Read Line
1111
Memory Write and Invalidate
Basic Transfer Control
The basic PCI bus transfer mechanism is a burst. A burst is composed of an address phase followed by one
or more data phases. Fundamentally, all PCI data transfers are controlled by three signals FRAME, IRDY,
and TRDY. An initiator asserts FRAME to indicate the beginning of a PCI bus transaction and negates
FRAME to indicate the end of a PCI bus transaction. An initiator negates IRDY to force wait cycles. A
target negates TRDY to force wait cycles.
The PCI bus is considered idle when both FRAME and IRDY are negated. The first clock cycle in which
FRAME is asserted indicates the beginning of the address phase. The address and bus command code are
transferred in that first cycle. The next cycle begins the first of one or more data phases. Data is transferred
between initiator and target in each cycle that both IRDY and TRDY are asserted. Wait cycles may be
inserted in a data phase by the initiator (by negating IRDY) or by the target (by negating TRDY).
Once an initiator has asserted IRDY, it cannot change IRDY or FRAME until the current data phase
completes regardless of the state of TRDY. Once a target has asserted TRDY or STOP, it cannot change
DEVSEL,TRDY, or STOP until the current data phase completes. In simpler terms, once an initiator or
target has committed to the data transfer, it cannot back out.
When the initiator intends to complete only one more data transfer (which could be immediately after the
address phase), FRAME is negated and IRDY is asserted (or kept asserted) indicating the initiator is ready.
After the target indicates the final data transfer (by asserting TRDY), the PCI bus may return to the idle
state (both FRAME and IRDY are negated).
NOTE
No Fast Back-to-Back transactions are supported by the MPC5200B.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-57
PCI Controller
10.4.1.3
PCI Transactions
The figures in this section show the basic “memory read” and “memory write” command transactions.
Figure 10-50 shows a PCI burst read transaction (2-beat). The signal FRAME is driven low to initiate the
transfer. Cycle 1 is the address phase with valid address information driven on the AD bus and a PCI
command driven on the C/BE bus. In cycle 2, the AD bus is in a turnaround cycle because of the read on
a muxed bus. The byte enables, which are active low, are driven onto the C/BE bus in this clock. Any
combination of byte enables can be asserted (none may be asserted). A target will respond to an address
phase by driving the DEVSEL signal. The specification allows for four types of decode operations. The
target can drive DEVSEL in 1, 2 or 3 clocks depending on whether the target is a fast, medium or slow
decode device. A single device is allowed to drive DEVSEL should another agent fail to respond by the
fourth clock. This is called “subtractive decoding” in PCI terminology.
A valid transfer occurs when both IRDY and TRDY are asserted. If either are negated during a data phase,
it is considered a wait state. The target asserts a wait state in cycles 3 and 5 of Figure 10-50. A master
indicates that the final data phase is to occur by negating FRAME. The final data phase occurs in cycle 6.
Another agent cannot start an access until cycle 8.
1
2
3
4
5
6
7
8
CLK
FRAME
AD
C/BE
A1
CMD
D1
D2
Byte Enables
IRDY
TRDY
(wait)
(wait)
DEVSEL
Address
Phase
Data Phase 1
Data Phase 2
Figure 10-50. PCI Read Terminated by Master
MPC5200B User’s Manual, Rev. 3
10-58
Freescale Semiconductor
PCI Controller
Figure 10-51 shows a write cycle which is terminated by the target. In this diagram the target responds as
a slow device, driving DEVSEL in cycle 4. The first data is transferred in cycle 4. The master inserts a
wait state at cycle 5. The target indicates that it can accept only one more transfer by asserting both TRDY
and STOP at the same time in cycle 5. The signal STOP must remain asserted until FRAME negates. The
final data phase does not have to transfer data. If STOP and IRDY are both asserted while TRDY is
negated, it is considered a target disconnect without a transfer. See the PCI specification for more details.
1
2
3
4
5
6
7
8
CLK
FRAME
AD
C/BE
A1
CMD
D2
D1
Byte Enables
IRDY
TRDY
(wait)
DEVSEL
STOP
Address
Phase
Data Phase 1
Data Phase 2
Figure 10-51. PCI Write Terminated by Target
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-59
PCI Controller
10.4.1.4
PCI Bus Commands
PCI supports a number of different commands. These commands are presented by the initiator on the
C/BE[3:0] lines during the address phase of a PCI transaction.
Table 10-53. PCI Bus Commands
C/BE[3:0]
PCI Bus
Command
MPC5200B
Supports
as Initiator
MPC5200B
Supports
as Target
Definition
0000
Interrupt
acknowledge
Yes
No
The interrupt acknowledge command is a read (implicitly
addressing an external interrupt controller). Only one device on the
PCI bus should respond to the interrupt acknowledge command.
0001
Special Cycle
Yes
No
The Special Cycle command provides a mechanism to broadcast
select messages to all devices on the PCI bus.
0010
I/O-read
Yes
No
The I/O-read command accesses agents mapped into the PCI I/O
space.
0011
I/O-write
Yes
No
The I/O-write command accesses agents mapped into the PCI I/O
space.
0100
Reserved
No
No
—
0101
Reserved
No
No
—
0110
Memory-read
Yes
Yes
The memory read command accesses agents mapped into PCI
memory space.
0111
Memory-write
Yes
Yes
The memory write command accesses agents mapped into PCI
memory space.
1000
Reserved
No
No
—
1001
Reserved
No
No
—
1010
Configuration
read
Yes
Yes
The configuration read command accesses the 256 byte
configuration space of a PCI agent.
1011
Configuration
write
Yes
Yes
The configuration read command accesses the 256 byte
configuration space of a PCI agent.
1100
Memory read
multiple
Yes
Yes
For MPC5200B, the memory read multiple command functions the
same as the memory read command. Cache line wrap is
implemented when XL Bus is the transaction initiator and it also
wraps.
1101
Dual address
cycle
No
No
The dual address cycle command is used to transfer a 64-bit
address (in two 32-bit address cycles) to 64-bit addressable
devices. MPC5200B device does not respond to this command.
MPC5200B User’s Manual, Rev. 3
10-60
Freescale Semiconductor
PCI Controller
Table 10-53. PCI Bus Commands (continued)
C/BE[3:0]
PCI Bus
Command
MPC5200B
Supports
as Initiator
MPC5200B
Supports
as Target
Definition
1110
Memory
read line
Yes
Yes
The memory read line command indicates that an initiator is
requesting the transfer of an entire cache line.For MPC5200B, the
memory read line functions the same as the memory read
command. Cache line wrap is not implemented.
1111
Memory write
and invalidate
Yes (DMA
access only)
Yes
The memory write and invalidate command indicates that an
initiator is transferring an entire cache line, and, if this data is in any
cacheable memory, that cache line needs to be invalidated. The
memory write and invalidate functions the same as the memory
write command. Cache line wrap is implemented.
Software must make sure that the cache line register and
max_beats register are set to the same value and the packet size
must be a multiple of the cache line size.
This instruction is supported only by the TX SCPCI initiator
interface and when the MPC5200B acts as a target.
Though MPC5200B supports many PCI commands as an initiator, the Communication Sub-System
Initiator interface is intended to use PCI Memory Read, and Memory Write commands.
10.4.1.5
Addressing
PCI defines three physical address spaces: PCI memory space, PCI I/O space, and PCI configuration
space. Address decoding on the PCI bus is performed by every device for every PCI transaction. Each
agent is responsible for decoding its own address. PCI supports two types of address decoding: positive
decoding and subtractive decoding. The address space which is accessed depends primarily on the type of
PCI command that is used.
10.4.1.5.1
Memory Space Addressing
For memory accesses, PCI defines two types of burst ordering controlled by the two low-order bits of the
address: linear incrementing(AD[1:0] = 0b00) and cache wrap mode (AD[1:0] = 0b10). The other two
AD[1:0] encodings (0b01 and 0b11) are reserved.
For linear incrementing mode, the memory address is encoded/decoded using AD[31:2]. Thereafter, the
address is incremented by 4 bytes after each data phase completes until the transaction is terminated or
completed (a 4 byte data width per data phase is implied). Note, the two low-order bits of the address are
still included in all the parity calculations.
MPC5200B supports both linear incrementing and cache wrap mode as an initiator. For memory
transactions, when an XL Bus burst transaction is wrapped, the cache wrap mode is automatically
generated. For zero-word-aligned bursts and single-beat transactions, MPC5200B drives AD[1:0] to 0b00.
As a target, the MPC5200B treats cache wrap mode as a reserved memory mode. MPC5200B will return
the first beat of data and then signal a disconnect without data on the second data phase.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-61
PCI Controller
10.4.1.5.2
I/O Space Addressing
For PCI I/O accesses, all 32 address signals are used to provide an address with granularity of a single byte.
Once a target has claimed an I/O access, it must determine if it can complete the entire access as indicated
by the byte enable signals. If all the selected bytes are not in the address range of the target, the entire
access cannot complete. In this case, the target does not transfer any data, and terminates the transaction
with a target-abort.
Table 10-54. PCI I/O Space Byte Decoding
Access Size
AD[1:0]
C/BE[3:0]
Data
8-bit
00
xxx0
AD[7:0]
01
xx01
AD[15:8]
10
x011
AD[23:16]
11
0111
AD[31:24]
00
xxx0
AD[15:0]
01
xx01
AD[23:8]
10
x011
AD[31:16]
00
xxx0
AD[23:0]
01
xx01
AD[31:8]
00
xxx0
AD[31:0]
16-bit
24-bit
32-bit
10.4.1.5.3
Configuration Space Addressing and Transactions
PCI supports two types of configuration accesses. Their primary difference is the format of the address on
the AD[31:0] signals during the address phase. The two low-order bits of the address indicate the format
used for the configuration address phase: type 0 (AD[1:0] = 0b00) or type 1 (AD[1:0] = 0b01). Both
address formats identify a specific device and a specific configuration register for that device.
Type 0 configuration accesses are used to select a device on the local PCI bus. They do not propagate
beyond the local PCI bus and are either claimed by a local device or terminated with a master-abort. Type 1
configuration accesses are used to target a device on a subordinate bus through a PCI-to-PCI bridge.
Type 1 accesses are ignored by all targets except PCI-to-PCI bridges that pass the configuration request to
another PCI bus.
When the controller initiates a configuration access on the PCI bus, it places the configuration address
information on the AD bus and the configuration command on the C/BE[3:0] bus. A Type 0 configuration
transaction is indicated by setting AD[1:0] to 0b00 during the address phase. The bit pattern tells the
community of devices on the PCI bus that the bridge that “owns” that bus has already performed the bus
number comparison and verified that the request targets a device on its bus. Figure 10-52 shows the
contents of the AD bus during the address phase of the Type 0 configuration access.
MPC5200B User’s Manual, Rev. 3
10-62
Freescale Semiconductor
PCI Controller
Target configuration double word number
31
11 10
87
2 1 0
DW
Number
Function
Number
Reserved
0 0
Figure 10-52. Contents of the AD Bus During Address Phase of a Type 0 Configuration Transaction
Address bits [10:8] identify the target function and bits AD[7:2] select one of the 64 configuration dwords
within the target function’s configuration space. For Type 0 configuration transactions, the target device’s
IDSEL pin must be asserted. The upper 21 address lines are commonly used as IDSELs since they are not
used during the address phase of a type 0 configuration transaction.
If the target bus is a bus that is subordinate to the local PCI bus (bus 0), the configuration transaction is
still initiated on bus 0, but indicates that none of the devices on this bus are the target of the transaction.
Rather, only PCI-to-PCI bridges residing on the bus should pay attention to the transaction because it
targets a device on a bus further out in the hierarchy beyond a PCI-to-PCI bridge that is attached to the
local PCI bus (bus 0). This is accomplished by initiating a Type 1 configuration transaction (setting
AD[1:0] to 01b during the address phase). This pattern instructs all functions other than PCI-to-PCI
bridges that the transaction is not for any of them. Figure 10-53 illustrates the contents of the AD bus
during the address phase of the Type 1 configuration access.
Double word number in the device’s configuration space
31
24 23
Reserved
16 15
Bus
Number
11 10
Device
Number
Function
Number
8 7
2 1 0
DW
Number
0 1
Figure 10-53. Contents of the AD Bus During Address Phase of a Type 1 Configuration Transaction
During the address phase of a Type 1 configuration access, the information on the AD bus if formatted as
follows:
• AD[1:0] contain a 01b, identifying this as a Type 1 configuration access.
• AD[7:2] identifies one of 64 configuration dwords within the target devices’s configuration space.
• AD[10:8] identifies one of the eight functions within the target physical device.
• AD[15:11] identifies one of 32 physical devices. This field is used by the bridge to select which
device’s IDSEL line to assert.
• AD[23:16] identifies one of 256 PCI buses in the system.
• AD[31:24] are reserved and are cleared to zero.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-63
PCI Controller
During a Type 1 configuration access, PCI devices ignore the state of their IDSEL inputs. When any
PCI-to-PCI bridge latches a Type 1 configuration access (command = configuration read or write and
AD[1:0] = 01b) on its primary side, it must determine whether the bus number field on the AD bus matches
the number of its secondary bus or if it’s within the range of its subordinate buses. If the bus number
matches, it should claim and pass the configuration access onto its secondary bus as a Type 0 configuration
access, decoding the device number to select one of the IDSEL lines. If the bus number isn’t equal to its
secondary bus, but is within the range of buses that are subordinate to the bridge, the bridge claims and
passes that access through as a Type 1 access.
10.4.1.5.4
Address Decoding
For positive address decoding, an address hits when the address on the address bus matches an assigned
address range. Multiple devices on the same PCI bus may use positive address decoding, though there can
not be any overlap in the assigned address ranges.
For subtractive address decoding, an address hits when the address on the address bus does not match any
address range for any of the PCI devices on the bus. Only one device on a PCI bus may use subtractive
address decoding, and its use is optional.
10.4.2
Initiator Arbitration
There are three possible internal initiator sources - CommBus Transmit, CommBus Receive, or the XL bus
(from Internal System Arbiter). Custom interface logic arbitrates and provides mux select control for these
sources to the PCI controller. Figure 10-54 illustrates the arbitration block connection.
PCI
request/grant
(to PCI Arbiter)
XL Bus
Arbiter
XL Bus
Initiator
PCI
Initiator
Arbiter
PCI Controller
External
PCI bus
tx_req
Multi-Channel DMA
Controller
Comm
Bus
Initiator
tx_gnt
rx_req
Initiator
Interface
rx_gnt
Figure 10-54. Initiator Arbitration Block Diagram
MPC5200B User’s Manual, Rev. 3
10-64
Freescale Semiconductor
PCI Controller
10.4.2.1
Priority Scheme
The PCI Initiator arbiter uses the following fixed priority scheme.
1. XL bus Initiator
2. CommBus Transmit (Tx)
3. CommBus Receive (Rx) (lowest)
10.4.3
Configuration Interface
The PCI bus protocol requires the implementation of a standardized set of registers for most devices on
the PCI bus. MPC5200B implements a Type 0 Configuration register set or header. They are described in
Section 10.3.1, “PCI Controller Type 0 Configuration Space.” These registers are primarily intended to be
read or written by the PCI configuring master at initialization time through the PCI bus. MPC5200B
provides internal access to these registers through a Slave bus interface. As with most MPC5200B
registers, they are accessible by software in the address space at offsets of MBAR. Internal accesses to the
Type 0 Configuration header do not require PCI arbitration when they are accessed as offsets of MBAR
and are allowed to execute regardless of whether any write data is posted in the PCI Controller.
If MPC5200B is the configuring master, the Slave bus interface should be used to configure the PCI
Controller. An external master would configure the PCI controller through the external PCI bus.
More information on the standard PCI Configuration register can be found in the PCI 2.2 specification.
10.4.4
XL bus Initiator Interface
The XL bus Initiator Interface provides access to the PCI bus for XL bus masters, primarily the processor
core. This interface is accessed through three windows in MPC5200B address space set up by base address
and base address mask registers (Initiator Window 0 Base/Translation Address Register
PCIIW0BTAR(RW)). The base address registers must be enabled by setting their respective Enable bits in
the Initiator Window Configuration Register PCIIWCR(RW). Accesses to this area are translated into PCI
transactions on the PCI bus. See Section 10.6.2, Address Maps for examples on setting up address
windows.
The particular type of PCI transaction generated is determined by the PCI configuration bits associated
with the address window (PCIIWCR). For example, the user might set one window to do PCI memory read
multiple accesses, one window for PCI I/O accesses, and the other window to do non-prefetchable
(memory-mapped I/O) PCI memory accesses. Table 10-63 for command translation.
In addition to the configurable address window mapping logic, the register interface provides a
Configuration Address Register, which provides the ability to generate Configuration, Interrupt
Acknowledge and Special Cycles. External PCI devices should be configured through this interface.
Section 10.4.4.2, “Configuration Mechanism” for configuration, interrupt acknowledge, and special cycle
command support.
The PCI XL Bus Initiator interface supports all XL Bus transactions, including single-beat transfers and
bursts (32 bytes). Single-beat 64-bit data transactions are automatically translated into 2-beats burst
transfers on the PCI bus. Standard XL bus burst transactions are supported as well, however, buffering is
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-65
PCI Controller
implemented to boost performance during writes and avoid deadlock scenario for all reads and memory
writes. If the target for an XL bus read from PCI disconnects part way through the burst, MPC5200B may
have to handle a local memory access from an alternate PCI master before the disconnected transfer can
continue.
XL Bus initiator read requests are decoded into four types: PCI Memory, I/O, Configuration, and Interrupt
Acknowledge. The PCI Controller must first gain access to the PCI bus before acknowledging the XL Bus
read request. The specific timing of the address acknowledge is dependent upon the type of transfer.
When the XL bus requests burst data from PCI space, the data received from PCI is stored in a buffer until
all requested data has been latched. The PCI Controller does not terminate the address tenure of the XL
Bus transaction until all requested data is latched. This is because PCI targets are allowed to disconnect in
the middle of a transfer, and the XL bus requires burst transfers to be atomic. If the PCI target disconnects
in the middle of the data transfer and an alternate PCI master acquires the bus and initiates a local memory
access, the Controller retries the internal read transaction on the XL bus. The PCI Controller continues to
request mastership of the PCI bus until the original request is completed.
For example, if the XL bus initiates a burst read, and the PCI target disconnects after transferring the first
half of the burst, MPC5200B re-arbitrates for the PCI bus, and when granted, initiates a new transaction
with the address of the third beat of the burst (4-beat XL Bus bus bursts). If an alternate PCI master
requests data from local memory while the PCI Controller is waiting for the PCI bus grant, the PCI
controller retries the XL Bus bus transaction to allow the PCI-initiated transaction to complete and the read
buffer will be emptied.
PCI critical-word-first (CWF) burst operation (i.e. cache line wrap burst) is supported and the 2-bit cache
line wrap address mode is driven on the address bus when the XL Bus bus starts the burst at a
non-zero-word-first address. Note that this option is only provided as a means to support memory targets
that support cache-line wrap.
NOTE
A processor is not permitted to cache from any external memory targets
residing on the PCI bus. This was allowed previously in the PCI spec. 2.1.
The PCI spec. 2.2. took this requirements away.
XL bus writes are decoded into PCI memory, PCI I/O, PCI configuration, or special cycles. If the
transaction decodes into an I/O, configuration, or special cycle, the write is connected. The PCI controller
gains access to the PCI bus and successfully transfers the data before it asserts address acknowledge to the
XL bus. If the address maps to PCI memory space, the XL Bus address tenure is immediately
acknowledged and write data is posted.
A 32-byte buffer is used to post memory writes from XL Bus to PCI. Buffering minimizes the effect of the
slower PCI bus on the higher-speed XL bus. It may contain single-beat XL Bus write transactions or a
single burst. After the XL bus write data is latched internally, the bus is available for subsequent
transactions without having to wait for the write to the PCI target to complete. If a subsequent XL Bus
write request to the PCI bus comes in, the data transfer is delayed until all previous writes to the PCI bus
are completed. Only when the write buffer is empty can burst data from the XL bus be posted.
MPC5200B User’s Manual, Rev. 3
10-66
Freescale Semiconductor
PCI Controller
10.4.4.1
Endian Translation
The PCI bus is inherently little endian in its byte ordering. The internal XLB bus, however, is big endian.
XLB bus transactions are limited to 1, 2, 3, 4, 5, 6, 7, 8, or 32 byte (burst) transactions within the data bus
byte lanes on any 32-bit address boundary for burst transfers. Table 10-55 shows the byte lane mapping
between the two buses.
Table 10-55. XLB bus to PCI Byte Lanes for Memory1 Transactions
XL bus
PCI Bus
Data Bus Byte Lanes
A
TSIZ
AD
BE
[29:31]
[0:2]
[3:0]
31:2
4
23:1
6
15:8
7:0
7
[2:0]
0
1
2
3
4
5
6
000
001
OP7
—
—
—
—
—
—
—
000
1110
—
—
—
OP7
001
001
—
OP7
—
—
—
—
—
—
000
1101
—
—
OP7
—
010
001
—
—
OP7
—
—
—
—
—
000
1011
—
OP7
—
—
011
001
—
—
—
OP7
—
—
—
—
000
0111
OP7
—
—
—
100
001
—
—
—
—
OP7
—
—
—
100
1110
—
—
—
OP7
101
001
—
—
—
—
—
OP7
—
—
100
1101
—
—
OP7
—
110
001
—
—
—
—
—
—
OP7
—
100
1011
—
OP7
—
—
111
001
—
—
—
—
—
—
—
OP7
100
0111
OP7
—
—
—
000
010
OP6
OP7
—
—
—
—
—
—
000
1100
—
—
OP7
OP6
001
010
—
OP6
OP7
—
—
—
—
—
000
1001
—
OP7
OP6
—
010
010
—
—
OP6
OP7
—
—
—
—
000
0011
OP7
OP6
—
—
011
010
—
—
—
OP6
OP7
—
—
—
000
0111
OP6
—
—
—
100
1110
—
—
—
OP7
100
010
—
—
—
—
OP6
OP7
—
—
100
1100
—
—
OP7
OP6
101
010
—
—
—
—
—
OP6
OP7
—
100
1001
—
OP7
OP6
—
110
010
—
—
—
—
—
—
OP6
OP7
100
0011
OP7
OP6
—
—
000
011
OP5
OP6
OP7
—
—
—
—
—
000
1000
—
OP7
OP6
OP5
001
011
—
OP5
OP6
OP7
—
—
—
—
000
0001
OP7
OP6
OP5
—
010
011
—
—
OP5
OP6
OP7
—
—
—
000
0011
OP6
OP5
—
—
100
1110
—
—
—
OP7
000
0111
OP5
—
—
—
100
1100
—
—
OP7
OP6
011
011
—
—
—
OP5
OP6
OP7
—
—
100
011
—
—
—
—
OP5
OP6
OP7
—
100
1000
—
OP7
OP6
OP5
101
011
—
—
—
—
—
OP5
OP6
OP7
00
0001
OP7
OP6
OP5
—
000
100
OP4
OP5
OP6
OP7
—
—
—
—
00
0000
OP7
OP6
OP5
OP4
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-67
PCI Controller
Table 10-55. XLB bus to PCI Byte Lanes for Memory1 Transactions (continued)
XL bus
Data Bus Byte Lanes
A
TSIZ
[29:31]
[0:2]
0
1
2
3
4
5
6
001
100
—
OP4
OP5
OP6
OP7
—
—
010
011
100
100
—
—
—
—
OP4
—
OP5
OP4
OP6
OP5
OP7
OP6
—
OP7
AD
BE
[3:0]
31:2
4
23:1
6
15:8
7:0
7
[2:0]
—
000
0001
OP6
OP5
OP4
—
100
1110
—
—
—
OP7
000
0011
OP5
OP4
—
—
100
1100
—
—
OP7
OP6
000
0111
OP4
—
—
—
100
1000
—
OP7
OP6
OP5
—
—
100
100
—
—
—
—
OP4
OP5
OP6
OP7
100
0000
OP7
OP6
OP5
OP4
000
101
OP3
OP4
OP5
OP6
OP7
—
—
—
000
0000
OP6
OP5
OP4
OP3
100
1110
—
—
—
OP7
000
0001
OP5
OP4
OP3
—
100
1100
—
—
OP7
OP6
000
0011
OP4
OP3
—
—
100
1000
—
OP7
OP6
OP5
000
0111
OP3
—
—
—
100
0000
OP7
OP6
OP5
OP4
000
0000
OP5
OP4
OP3
OP2
100
1100
—
—
OP7
OP6
000
0001
OP4
OP3
OP2
—
100
1000
—
OP7
OP6
OP5
000
0011
OP3
OP2
—
—
100
0000
OP7
OP6
OP5
OP4
000
0000
OP4
OP3
OP2
OP1
100
1000
—
OP7
OP6
OP5
000
0001
OP3
OP2
OP1
—
100
0000
OP7
OP6
OP5
OP4
000
0000
OP3
OP2
OP1
OP0
100
0000
OP7
OP6
OP5
OP4
001
010
011
000
001
010
000
001
000
1
PCI Bus
101
101
101
110
110
110
111
111
000
—
—
—
OP2
—
—
OP1
—
OP0
OP3
—
—
OP3
OP2
—
OP2
OP1
OP1
OP4
OP3
—
OP4
OP3
OP2
OP3
OP2
OP2
OP5
OP4
OP3
OP5
OP4
OP3
OP4
OP3
OP3
OP6
OP5
OP4
OP6
OP5
OP4
OP5
OP4
OP4
OP7
OP6
OP5
OP7
OP6
OP5
OP6
OP5
OP5
—
OP7
OP6
—
OP7
OP6
OP7
OP6
OP6
—
—
OP7
—
—
OP7
—
OP7
OP7
The byte lane translation will be similar for other types of transactions. However, the PCI address may be different as explained
in Section 10.4.1.5, “Addressing.”
MPC5200B User’s Manual, Rev. 3
10-68
Freescale Semiconductor
PCI Controller
10.4.4.2
Configuration Mechanism
In order to support both Type 0 and Type 1 configuration transactions, MPC5200B provides the 32 bit
Configuration Address Register (CAR), located at module address 0x1F8. The register specifies the target
PCI bus, device, function, and configuration register to be accessed. A read or a write to the MPC5200B
window defined as PCI I/O space, in PCIIWCR, causes the host bridge to translate the access into a PCI
configuration cycle if the enable bit in the Configuration Address Register is set and the device number
does not equal 0b1_1111. For space to be defined as I/O space, the accessed space (one of the initiator
Windows) must be programmed as I/O, not memory. Section 10.3.2.8, “Initiator Window Configuration
Register PCIIWCR(RW).”
The format of the Configuration Address Register is shown in Section 10.3.2.12, “Configuration Address
Register PCICAR(RW).” When MPC5200B detects an access to an I/O Window, it checks the enable flag
and the device number in the Configuration Address Register. If the enable bit is set, and the device
number is not 0b1_1111, the MPC5200B performs a configuration cycle translation function and runs a
configuration read or configuration write transaction on the PCI bus. The device number 0b1_1111 is used
for performing interrupt acknowledge and Special Cycle transactions. See Section 10.4.4.2.3, “Interrupt
Acknowledge Transactions” and Section 10.4.4.2.4, “Special Cycle Transactions” for more information.
If the bus number corresponds to the local PCI bus (bus number = 0x00), a Type 0 configuration cycle
transaction is performed. If the bus number indicates a remote PCI bus, MPC5200B performs a Type 1
configuration cycle translation. If the enable bit is not set, the access to the Configuration Window is
passed through to the PCI bus as a I/O space transaction at the internal address (window translation
applies).
Note that the PCI data byte enables (C/BE[3:0]) are determined by the size access to the Window.
10.4.4.2.1
Type 0 Configuration Translation
Figure 10-55 shows the Type 0 translation function performed on the contents of the Configuration
Address Register to the AD[31:0] signals on the PCI bus during the address phase of the configuration
cycle (only applies when the Enable bit in the Configuration Address Register is set).
Reserved
Contents of Configuration Address Register
31 30
E
24 23
0000000
16 15
Bus Number
11 10
Device Number
Function Number
8 7
dword
2 1 0
00
AD[31:0] Signals During Address Phase
See Table 10-56
31
11 10
IDSEL (only one signal high)
Function Number/dword
2 1 0
00
Figure 10-55. Type 0 Configuration Translation
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-69
PCI Controller
For Type 0 configuration cycles, MPC5200B translates the device number field of the Configuration
Address Register into a unique IDSEL line shown in Table 10-56. (allows for 21 different devices).
Table 10-56. Type 0 Configuration
Device Number to IDSEL Translation
Device Number
IDSEL
Binary
Decimal
0b0_0000-0b0_1001
0-9
-
0b0_1010
10
AD31
0b0_1011
11
AD11
0b0_1100
12
AD12
0b0_1101
13
AD13
0b0_1110
14
AD14
0b0_1111
15
AD15
0b1_0000
16
AD16
0b1_0001
17
AD17
0b1_0010
18
AD18
0b1_0011
19
AD19
0b1_0100
20
AD20
0b1_0101
21
AD21
0b1_0110
22
AD22
0b1_0111
23
AD23
0b1_1000
24
AD24
0b1_1001
25
AD25
0b1_1010
26
AD26
0b1_1011
27
AD27
0b1_1100
28
AD28
0b1_1101
29
AD29
0b1_1110
30
AD30
0b1_1111
31
-
Note: Device numbers 0b0_0000 to 0b0_1001 are reserved.
Programming to these values and issuing a configuration
transaction will result in a PCI configuration cycle with
AD31-AD11 driven low.
MPC5200B User’s Manual, Rev. 3
10-70
Freescale Semiconductor
PCI Controller
MPC5200B can issue PCI configuration transactions to itself. A Type 0 configuration initiated by
MPC5200B can access its own configuration space by asserting its IDSEL input signal. This is the only
way MPC5200B can clear its own status register bits (read-write-clear).
For Type 0 translations, the function number and dword fields are copied without modification onto the
AD[10:2] signals and AD[1:0] are driven low during the address phase.
10.4.4.2.2
Type 1 Configuration Translation
For Type 1 translations, the 30 high-order bits of the Configuration Address Register are copied without
modification onto the AD[31:2] signals during the address phase. The AD[1:0] signals are driven to 0b01
during the address phase to indicate a Type 1 configuration cycle.
10.4.4.2.3
Interrupt Acknowledge Transactions
When MPC5200B detects a read from an I/O-defined Window (Section 10.3.2.8, “Initiator Window
Configuration Register PCIIWCR(RW)”), it checks the enable flag, bus number, and the device number in
the Configuration Address Register (Section 10.3.2.12, “Configuration Address Register
PCICAR(RW)”). If the enable bit is set, the bus number corresponds to the local PCI bus (bus number =
0x00), and the device number is all 1’s (device number = 0b1_1111), then an interrupt acknowledge
transaction is initiated. If the bus number indicates a subordinate PCI bus (bus number != 0x00), a Type 1
configuration cycle is initiated, similar to any other configuration cycle for which the bus number does not
match. The function number and dword values are ignored.
The interrupt acknowledge command (0b0000) is driven on the C/BE[3:0] signals and the address bus is
driven with a stable pattern during the address phase, but a valid address is not driven. The address of the
target device during an interrupt acknowledge is implicit in the command type. Only the system interrupt
controller on the PCI bus should respond to the interrupt acknowledge and return the interrupt vector on
the data bus during the data phase. The size of the interrupt vector returned is indicated by the value driven
on the C/BE[3:0] signals.
10.4.4.2.4
Special Cycle Transactions
When the MPC5200B detects a write to an I/O-defined Window (Section 10.3.2.8, “Initiator Window
Configuration Register PCIIWCR(RW)”), it checks the enable flag, bus number, and the device number in
the Configuration Address Register (Section 10.3.2.12, “Configuration Address Register
PCICAR(RW)”). If the enable bit is set, the bus number corresponds to the local PCI bus (bus number =
0x00), and the device number is all 1’s (device number = 0b1_1111), then a Special Cycle transaction is
initiated. If the bus number indicates a subordinate PCI bus (bus number != 0x00), a Type 1 configuration
cycle is initiated, similar to any other configuration cycle for which the bus number does not match. The
function number and dword values are ignored.
The Special Cycle command (0b0001) is driven on the C/BE[3:0] signals and the address bus is driven
with a stable pattern during the address phase, but contains no valid address information. The Special
Cycle command contains no explicit destination address, but broadcast to all agents on the same bus
segment. Each receiving agent must determine whether the message is applicable to it. PCI agent will
never assert DEVSEL in response to a Special Cycle command. Master Abort is the normal termination
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-71
PCI Controller
for a Special Cycle and no errors are reported for this case of Master Abort termination. This command is
basically a broadcast to all agents, and interested agents accept the command and process the request.
NOTE
Special Cycle commands do not cross PCI-to-PCI bridges. If a master wants
to generate a Special Cycle command on a specific bus in the hierarchy that
is not its local bus, it must use a Type 1 configuration write command to do
so. Type 1 configuration write commands can traverse PCI-to-PCI bridges
in both directions for the purpose of generating Special Cycle commands on
any bus in the hierarchy and are restricted to a single data phase in length.
However, the master must know the specific bus on which it desires to
generate the Special Cycle command and cannot simply do a broadcast to
one bus and expect it to propagate to all buses.
During the data phase, AD[31:0] contain the Special Cycle message and an optional data field. The Special
Cycle message is encoded on the 16 least significant bits (AD[15:0]) and the optional data field is encoded
on the most significant bits (AD[31:16]). The Special Cycle message encodings are assigned by the PCI
SIG Steering Committee. The current list of defined encodings are provided in Table 10-57.
Table 10-57. Special Cycle Message Encodings
AD[15:0]
0x0000
SHUTDOWN
0x0001
HALT
0x0002
x86 architecture-specific
0x0003-0xFFFF
10.4.4.3
Message
reserved
Transaction Termination
If the PCI cycle Master Aborts, interface will return 0xFFFFFFFF as read data, but complete without error.
It will issue an interrupt to the internal interrupt controller if enabled.
For abnormal transaction termination during an XL bus-initiated transaction (unsupported transfer types,
retry limit reached, or target abort), an error is generated. It will issue an interrupt to the MPC5200B
Interrupt controller if such interrupts are enabled.
Transfers that cross the 32-bit boundary (greater than 4 bytes) to a PCI non-memory address range result
in a transfer error. The space is defined as non-memory if the IO/M# configuration bit associated with that
window is programmed “0”.
Table 10-58. Unsupported XL Bus Transfers
XL Bus Transaction
PCI Address Space
Burst (32-byte)
Nonmemory
> 4 byte Single Beat
Nonmemory
4 byte Single Beat at a[29:31] 001, 010, or 011
Nonmemory
3 byte Single Beat at a[29:31] 010 or 011
Nonmemory
2 byte Single Beat at a[29:31] 011
Nonmemory
MPC5200B User’s Manual, Rev. 3
10-72
Freescale Semiconductor
PCI Controller
10.4.5
•
•
•
•
•
•
XL bus Target Interface
The target interface can issue target abort, target retry, and target disconnect terminations.
The target interface does NOT support fast back-to-back cycles.
No support of dual address cycles as a PCI target.
Target transactions are not snooped by the processor.
Medium device selection timing
Three 32-byte buffers enhance data throughput.
The XL Bus Target Interface provides access for external PCI masters to two windows of MPC5200B
address space. Target Base Address Translation Registers 0 and 1 allow the user to map PCI address hits
on MPC5200B PCI Base Address Registers to areas in the internal address space. All of these registers
must be enabled for this interface to operate.
Upon detection of a PCI address phase, the PCI controller decodes the address and bus command to
determine if the transaction is for local memory (BAR0 or BAR1hit). If the transaction falls within
MPC5200B PCI space (a PCI memory space only), the PCI Controller target interface asserts DEVSEL,
latches the address, decodes the PCI bus command, and forwards them to the internal control unit. On
writes, data is forwarded along with the byte enables to the internal gasket. On reads, four bytes of data
are provided to the PCI bus and the byte enables determine which byte lanes contain meaningful data. If
no byte enables are asserted, MPC5200B completes a read access with valid data and completes a write
access by discarding the data internally. All target transactions will be translated into XL bus master
transactions.
There are two address translation registers that must be initialized before data transfer can begin. These
address registers correspond to BAR0 and BAR1 in MPC5200B PCI Type 00h Configuration space
register (PCI space). When there is a hit on MPC5200B PCI base address ranges (0 or 1), the upper bits of
the address are written over by this register value to address some space in MPC5200B. One 256Kbyte
base address range (BAR0) maps to non-prefetchable local memory and one 1Gbyte range (BAR1)
targeted to prefetchable memory.
10.4.5.1
Reads from Local Memory
MPC5200B can provide continuous data to a PCI master using two 32-byte buffers. The PCI controller
bursts reads internally at each 32-byte PCI address boundary. The data is stored in the first 32-byte buffer
until either the PCI master flushes the data or the transaction terminates (FRAME deasserts). For
prefetchable memory (BAR1 space), the next line can be fetched from memory in anticipation of the next
PCI request (speculative read) and stored in the second buffer. Prefetching is performed for
BAR1-addressed transactions if the PCI command is a Memory-Read-Multiple or the prefetch bit is set in
the Target Control Register PCITCR(RW).
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-73
PCI Controller
10.4.5.2
Local Memory Writes
A 32-byte write buffer is implemented to improve data throughput. This allows a write operation to be
“posted”, that is to successfully complete even when the PCI internal controller is requesting access to the
local memory. In other words, data is latched while waiting for internal access to local memory to
complete. While PCI burst transactions are accepted, writes are sent out on the internal bus as single-beat.
NOTE
Before a read from XL Bus to PCI or PCI to XL Bus can complete, all
posted writes are flushed.
If the PCI controller aborts the transaction in the middle of PCI burst due to internal conflicts, the external
master recognizes some of the data as transferred. (Subsequent transfers of a burst will be aborted on PCI
bus). The external PCI master must query the “Target abort signalled” bit in the PCI Type 00h
configuration status register to determine if a target abort occurred.
10.4.5.3
Data Translation
The XL bus supports misaligned operations, however, it is strongly recommended that software attempt to
transfer contiguous code and data where possible. Non-contiguous transfers degrade performance.
PCI-to-XL Bus transaction data translation is shown in Table 10-59 and Table 10-60.
Table 10-59. Aligned PCI to XL Bus Transfers
PCI Bus
XL bus
Data Bus Byte Lanes
BE
[3:0]
AD[2:0]
1110
000
1101
000
1011
000
0111
000
1110
100
1101
100
1011
100
0111
100
1100
000
1001
000
0011
000
1100
100
1001
100
0011
100
1000
000
0001
000
1000
100
31:24
23:16
15:8
7:0
A[29:31]
0
OP3
OP3
OP3
6
100
OP3
OP3
OP3
111
OP3
OP3
OP2
OP2
OP3
OP2
001
OP2
OP3
OP2
010
OP3
OP3
000
OP2
OP2
OP3
OP2
OP3
100
OP2
101
OP2
OP3
OP2
110
OP3
OP2
OP2
OP1
OP3
OP2
OP1
000
000
OP1
7
OP3
110
OP3
OP3
5
101
OP3
OP3
4
OP3
011
OP3
3
OP3
010
OP3
2
OP3
001
OP3
OP3
000
1
OP3
OP2
OP1
OP2
OP3
OP1
OP2
100
OP3
OP3
OP1
OP2
OP3
MPC5200B User’s Manual, Rev. 3
10-74
Freescale Semiconductor
PCI Controller
Table 10-59. Aligned PCI to XL Bus Transfers (continued)
PCI Bus
XL bus
Data Bus Byte Lanes
BE
[3:0]
AD[2:0]
0001
100
OP3
OP2
OP1
0000
000
OP3
OP2
OP1
OP0
000
0000
100
OP3
OP2
OP1
OP0
100
31:24
23:16
15:8
7:0
A[29:31]
0
1
2
3
4
101
OP0
OP1
OP2
5
6
7
OP1
OP2
OP3
OP1
OP2
OP3
6
7
OP3
OP0
Table 10-60. Non-contiguous PCI to XL Bus Transfers
(requires two XL Bus bus accesses)
PCI Bus
XL bus
Data Bus Byte Lanes
BE
[3:0]
AD[2:0]
1010
000
31:24
23:16
15:8
7:0
A[29:31]
0
OP3
OP2
000
1
100
OP3
OP2
3
4
5
OP2
010
1010
2
OP3
100
OP2
110
0110
000
OP3
OP2
000
OP3
OP2
011
0110
100
OP3
OP2
OP3
100
OP2
111
0101
000
OP3
OP2
OP3
001
OP2
011
0101
100
OP3
OP2
OP3
101
OP2
111
0010
000
OP3
OP2
OP1
000
OP3
OP1
010
0010
100
OP3
OP2
OP1
OP2
OP3
100
OP1
110
0100
000
OP3
OP2
OP1
000
OP2
OP1
OP2
011
0100
100
OP3
OP2
OP1
OP3
100
111
OP3
OP1
OP2
OP3
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-75
PCI Controller
10.4.5.4
Target Abort
A target abort will occur if the PCI address falls within a base address window (BAR0 or BAR1) that has
not been enabled. See Section 10.3.2.2, “Target Base Address Translation Register 0 PCITBATR0(RW)”
and Section 10.3.2.3, “Target Base Address Translation Register 1 PCITBATR1(RW).”
10.4.5.5
Latrule Disable
The latrule disable bit in the interface control register, Section 10.3.2.4, “Target Control Register
PCITCR(RW),” prevents the PCI controller from automatically disconnecting a target transaction due to
the PCI 16/8 clock rule. With this bit set, it is possible to hang the PCI bus if the internal bus does not
complete the data transfer.
10.4.6
Communication Sub-System Initiator Interface
This interface provides for high-speed, autonomous DMA transactions to PCI with the PCI Controller
operating as a standard Communication Sub-System peripheral. Full duplex operation is supported and
direct XL bus transactions can also be interleaved while CommBus transactions are in progress. Internal
arbitration will occur continuously to support transaction interleaving. (See Section 10.4.2, “Initiator
Arbitration.”) Multi-Channel DMA operation operates independently of the XL bus. Non-PCI transactions
on the XL bus will have 100% bandwidth available to them during PCI Multi-Channel DMA activities. In
general, this block will be used by functions in the Multi-Channel DMA API.
The Communication Sub-System Initiator Interface consists of Receive and Transmit FIFOs, integrated as
separate Multi-Channel DMA peripherals. Therefore, it is generally controlled by the Multi-Channel
DMA controller through a pre-described program loop. As with all Communication Sub-System
peripherals, it can be accessed and controlled directly through the Slave bus interface if desired, but this
path does not generally lend itself to high throughput.
The Transmit and Receive FIFOs are 512 bytes deep and support PCI bursts up to 8 beats, each beat being
a 32 bit word. The burst size is programmable. The general approach is to write a PCI command and
address to the control register along with the number of bytes to be transmitted (Packet_Size).
When transmitting data, the module will wait for the Transmit FIFO to fill at least to the minimum number
of bytes required to perform the programmed burst; then it begins transmitting the data onto the PCI bus.
Multi-Channel DMA must handle filling the Transmit FIFO to support the specified number of bytes.
Transmission will continue until the specified number of bytes have been sent.
When reading data, the module will check that enough space is available in the Receive FIFO and
immediately begin PCI read transactions. Multi-Channel DMA must handle emptying the Receive FIFO
to support the specified number of bytes. Transmission will continue until the specified number of bytes
have been received. To avoid stale data while receiving the last burst flushing of the RX FIFO can be
forced with the set of the flush bit FE. See Section 10.3.3.2.4, “Rx Enables PCIRER(RW).”
At this point, software must restart the procedure by at least re-writing the Packet_Size register. Each
transmission of the specified number of bytes is considered a “packet”. A new packet can be instructed to
continue at the last valid PCI address or software may choose to write a new starting address. The largest
MPC5200B User’s Manual, Rev. 3
10-76
Freescale Semiconductor
PCI Controller
burst size is 8 PowerPC words and the largest Packet_Size is 4 Gbytes, so a packet will typically consist
of many PCI data bursts.
The Transmit Controller will wait until sufficient bytes are in the Transmit FIFO to support a full burst and
will continue in this mode until the entire packet is transmitted. Similarly, the Receive Controller will stall
until sufficient space is available in the Receive FIFO to support a full burst. If the packet is nearly done
and the number of bytes remaining to complete the packet is less than Max_beats, the remaining data will
be performed as single-beat PCI transactions.
10.4.6.1
Access Width
This Multi-Channel DMA module primarily performs 32-bit data accesses to and from PCI, even though
some signals are referred to in bytes. The two least significant bits of the PCITPSR and PCIRPSR value
are ignored. All PCI byte enables are enabled during these types of accesses. Additionally, the FIFOs
should only be accessed using 32-bit accesses.
The Communication Sub-System interface optionally supports 16 bit accesses on the PCI bus. Since reads
and writes to and from the FIFO require 32-bit accesses, using this option requires padding the remaining
16 bits of data.
10.4.6.2
Addressing
The Communication Sub-System Initiator interface does not use the addressing windows that are set up
for the XL bus Initiator Interface. Instead, the Tx Start Address register and Rx Start Address register are
used. Software programs these registers with the initial starting address for the packet. The module
contains an internal counter which will present the incremented PCI address at the beginning of each
successive burst for packet transfers.
10.4.6.3
Data Translation
The PCI bus is inherently little endian in its byte ordering. The Comm bus however is big endian.
Table 10-61 shows the byte lane mapping between the two buses. Since this interface only allows 32-bit
accesses, there is only one entry.
Table 10-61. Comm bus to PCI Byte Lanes for Memory1 Transactions
Comm bus
Transfer cAddress
[1:0]
long
1
00
PCI data bus
Data Bus
cByte
Enable
[3:0]
31:
24
23:
16
15:8
1111
OP0
OP1
OP2
Data Bus
7:0
PCI_
AD
[1:0]
BE
[3:0]
31:24
23:16
15:8
7:0
OP3
00
0000
OP3
OP2
OP1
OP0
The byte lane translation will be similar for other types of transactions. However, the PCI address may be different as
explained in Section 10.4.1.5, “Addressing.”
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-77
PCI Controller
10.4.6.4
Initialization
The following list is the recommended procedure for setting up either the Transmit or Receive controller.
1. Set the Start Address
2. Set the PCI command, Max_Retries, and Max_Beats
3. Set mode, Continuous or Non-continuous
4. Reset the FIFO
5. Set the FIFO Alarm and Granularity fields
6. Set the Master Enable bit (eventually enable the wanted interrupt in case of errors or even of a
normal termination)
7. Set the Reset Controller bit low
8. Setup the BestComm (eventually passing the parameters to the task if needed, enabling, if required,
the Task to interrupt the Core when finished, etc.)
9. Start the Task(s). It is not strictly necessary to start a PCI RX or TX task before starting the PCI to
transmit/receive as one will ‘wait’ for the other to fill the data in or out of the FIFO.
10. Write the Packet Size value to fire off the transfer
10.4.6.5
Restart and Reset
A Restart sequence (namely writing of the Packet Size register) is required whenever the controller ends
a packet transmission, either normally or abnormally. In non-continuous mode, a new Start_Add address
is generally required since this value is re-used as the start of the next packet once it is Restarted. In
Continuous mode, the Start_Add value is not reused. Instead, the next packet begins where the last one left
off, but a Restart sequence is still required to get this next packet started.
Writing a non-zero value to the Packet_Size register generates a Restart pulse to the controller. Depending
on the desired mode of operation other register accesses may be required, as described in the following
paragraphs.
If Continuous mode is not selected, operation is fairly straight forward. Upon packet termination, Restart
will not occur until Packet_Size is written with a non-zero value, even if the packet size is the same it must
be re-written. Master Enable bit was previously high and can remain so. Reset Controller bit was
previously low and can remain so. Toggling the Master Enable or Reset bit is unnecessary but would not
disrupt the transmit controller. If any other Control values, e.g. Start_Add, are to be changed they should
be written either prior to writing the Packet_Size value or written while the Master Enable bit is negated
and the Reset Controller bit is negated. The recommended approach is to write the control values in order
(Packet_Size must be last) and not toggle the Master Enable bit. The Reset bit should remain negated.
If Continuous mode is active, basic operation is still straight forward. A Restart is achieved by writing the
Packet_Size register to a non-zero value (just as before). However, the Master Enable and Reset bits must
not toggle in this case. If the Master Enable bit goes low the Packets_Done counter will be reset. If the
Reset bit goes high the Start_Add value will be re-loaded and subsequent transactions will begin at this
address. Therefore, the Master Enable bit can be used to reset the Packets_Done counter but without
disturbing the current PCI address. The Reset Controller bit will reset the counter and reload the Start_Add
MPC5200B User’s Manual, Rev. 3
10-78
Freescale Semiconductor
PCI Controller
value into the transmit controller, thus achieving a total restart of a continuous mode sequence. In any
case, it is still required that the Packet_Size register be written to complete a Restart sequence.
The Master Enable bit, if negated, will prevent a Restart sequence but allows Control values to be updated
without order dependency. A side effect is to reset the Packets_Done counter and status, which is a concern
in continuous mode only.
The Reset bit (RC bit of the RX/TX Enables register, NOT the external PCI RESET line), if asserted, will
force a Reset of the controller. All continuous mode effects will be reset and the Start_Add value is
re-loaded. However, the Reset bit must be negated while the required write to the Packet_Size register is
accomplished. The Reset bit provides the only means to re-load the Start_Add value into the transmit
controller while Continuous mode is active. In either mode it provides a means to clear the transmit
controller in cases of abnormal termination. Note, a new Start_Add value must be written prior to setting
the Reset bit.
10.4.6.6
PCI Commands
The expected PCI commands are Memory Write for transmit and Memory Read for receive. These are
independent of cache or line size. This permits the number of data beats per transaction to be flexible. If
any requirements exist on number of data beats, then the software must carefully consider the possibilities.
If the Max_Beats setting does not divide properly into the Packet_Size setting then the packet will end up
with one or more single-beat transaction(s). Setting Max_Beats to 1 will force all transactions to be
single-beat but will affect throughput.
In normal operation, all PCI byte enables will be asserted for PCI transactions through this interface,
except if the 16-bit Word register bit is set in the Tx Transaction Control Register PCITTCR(RW) or Rx
Transaction Control Register PCIRTCR(RW), in which case BE[3:0] = 1100.
Configuration writes to an external target should be handled exclusively by the XL bus Initiator interface.
10.4.6.7
FIFO Considerations
Careful consideration must also be given to filling and counting bytes of the Transmit FIFO and emptying
and counting bytes of the Receive FIFO. This operation is expected to be accomplished through
Multi-Channel DMA which can also perform the register writes to the controller, including necessary
Restart sequences.
10.4.6.8
Alarms
The FIFO alarm registers allow software to control when the DMA fills or empties the appropriate FIFO.
10.4.6.9
Bus Errors
Since Bus Errors are particular to the module register set and that register set includes both Transmit and
Receive Controller and FIFO settings, the Bus Error status bits and Bus error Enable bit(s) are duplicated
in the Transmit and Receive register groupings. Clearing or setting one will clear or set the other. From a
software point of view, then, they can be treated separately or together, as desired.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-79
PCI Controller
10.4.7
PCI - Supported Clock Ratios
MPC5200B supports the following XL Bus:IP:PCI clock ratios.
Table 10-62. XL Bus:IP:PCI Clock Ratios
10.4.8
XL Bus:IP:PCI
XL Bus
CLK
IP CLK
PCI CLK
4:4:2
132 MHz
132 MHz
66 MHz
4:4:1
132 MHz
132 MHz
33 MHz
4:2:2
132 MHz
66 MHz
66 MHz
4:2:1
132 MHz
66 MHz
33 MHz
2:2:2
66 MHz
66 MHz
66 MHz
2:2:1
66 MHz
66 MHz
33 MHz
2:1:1
66 MHz
33 MHz
33 MHz
Interrupts
10.4.8.1
PCI Bus Interrupts
MPC5200B does not generate interrupts on the PCI bus interrupt lines INTA - INTD.
10.4.8.2
Internal Interrupt
The PCI module is capable of generating 3 interrupts to MPC5200B interrupt controller in MPC5200B
SIU. Each interrupt can be enabled for a variety of conditions, mostly error conditions. For the XL bus
Initiator interface, the internal interrupt can be enabled for Retry errors, Target Aborts and Initiator
(Master) Aborts. See Section 10.3.2.9, “Initiator Control Register PCIICR(RW)” and Section 10.3.2.10,
“Initiator Status Register PCIISR(RWC)” for more information. For the Comm bus Initiator interface, an
internal interrupt can be enabled for FIFO errors and Normal Termination of a packet transfer for either
the Receive (rx) or Transmit (tx) interface. For more information, see the Enable and Status registers for
the Comm bus Transmit and Receive interfaces, Section 10.3.3.1, “Multi-Channel DMA Transmit
Interface” and Section 10.3.3.2, “Multi-Channel DMA Receive Interface.”
10.5
PCI Arbiter
The PCI Arbiter is a separate module, it is not part of the PCI Controller module. The 32-bit multiplexed
PCI A/D bus is shared with the ATA Controller and LocalPlus Controller. The on-chip arbiter (called PCI
Arbiter) controls the access to the AD bus for the different clients:
• PCI clients
— XIPCI (XL Bus-PCI interface)
— SCPCI (BestComm-PCI interface)
— external PCI
• non-PCI clients
— LPC (LocalPlus bus interface)
— SCLPC (BestComm LocalPlus bus interface)
— ATA
MPC5200B User’s Manual, Rev. 3
10-80
Freescale Semiconductor
PCI Controller
One pair only of external PCI REQ#/GNT# signals is supported by the PCI Arbiter. By an external Priority
Encoder multiple external masters could be connected. The PCI bus clock is always sourced from the
MPC5200B.
The PCI Arbiter accepts inputs from the external PCI bus, XL bus, LocalPlus bus, and ATA. The
arbitration priority is fixed and it operates in a Round-Robin manner. The round-robin fairness algorithm
avoids the domination of the bus by high-priority masters and exclusion of low-priority masters.
The last PCI bus master to win arbitration is parked on the internal PCI bus until another master requests
the bus. For instance, if ATA was the last PCI bus requestor to be granted the bus, ATA does not have to
re-arbitrate for the bus if it is the next requestor.
NOTE
The XL bus arbitrator can be programmed to park the PCI module on the
XL bus. This should not be confused with the parking of the PCI requestors
on the internal PCI bus.
The PCI Arbiter runs independently. The programmability consists of a Soft Reset, which allows to reset
the PCI Arbiter, and one status bit to detect the Broken Master condition. and a corresponding enable bit
for the generation of a CPU interrupt for the Broken Master condition. All these register bits are located
in registers of the PCI Controller.
In case of broken master detection the external PCI REQ# will be disconnected internally and will be
re-connected after external deassertion of PCI REQ# or by software (Softreset) or by Hardreset. After
broken master detection (bus idle for 16 clocks) the arbiter will ignore any PCI FRAME# assertion.
The PCI Arbiter does not support preemption of the internal masters XIPCI or SCPCI. The internal master
is granted until the transaction has been completed. The Latency Timer (LT) cannot terminate any transfer.
10.6
Application Information
This section provides example usage of some of the features of the PCI module.
10.6.1
XL bus Initiated Transaction Mapping
The use of the PCI Configuration Address Register along with the initiator window registers provide many
possibilities for PCI command and address generation. Table 10-63 shows how the PCI Controller accepts
read and write requests from a XLB bus master and decodes them to different address ranges resulting in
the generation of memory, I/O, configuration, interrupt acknowledge and special cycles on the PCI bus.
The Window Registers are defined in Section 10.3.2.6, “Initiator Window 1 Base/Translation Address
Register PCIIW1BTAR(RW)” through Section 10.3.2.8, “Initiator Window Configuration Register
PCIIWCR(RW).”
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-81
PCI Controller
Table 10-63. Transaction Mapping: XL Bus -> PCI
Initiator Register Settings
XL bus Transaction
(XL Bus Slave Interface)
Cache Line Size
Register = 8
Initiator Window
Configuration bits
Configuration
Address
Register
IO/M#
PRC
En
device
number
==
b1_1111
PCI Transaction
Controller (XL Bus
Initiator Interface) ->
PCI Target
Single-Beat 1 -> 8 byte Read
x
0
b00
x
x
Memory Read
Burst Read (32 bytes)
x
0
b00
x
x
Memory Read
Single-Beat 1 -> 8 byte Read
x
0
b01
x
x
Memory Read
Burst Read
false
0
b01
x
x
Memory Read
Burst Read
true
0
b01
x
x
Memory Read Line
Single-Beat 1 -> 8 byte Read
x
0
b10
x
x
Memory Read Multiple
Burst Read
x
0
b10
x
x
Memory Read Multiple
Single-Beat 1 -> 8 byte, or Burst
Write
x
0
x
x
x
Memory Write
Single-Beat 1 -> 4 byte Read
x
1
x
0
x
I/O Read
Single-Beat 1 -> 4 byte Write
x
1
x
0
x
I/O Write
Single-Beat 1 -> 4 byte Read
x
1
x
1
false
Configuration Read
Single-Beat 1 -> 4 byte Write
x
1
x
1
false
Configuration Write
Single-Beat 1 -> 4 byte Read
x
1
x
1
true
Interrupt acknowledge
Single-Beat 1 -> 4 byte Write
x
1
x
1
true
Special Cycle
Note:
1. Dual Address Cycles and Memory Write and Invalidate Commands are not supported
2. x means “don’t care”
10.6.2
Address Maps
The address mapping in MPC5200B system is setup by software through a number of base address
registers. (Section 3.2, “Internal Register Memory Map” for more detail). The internal CPU writes the base
address value to module base address register MBAR. MBAR holds the base address for the 256 Kbyte
space allocated to internal registers.
10.6.2.1
10.6.2.1.1
Address Translation
Inbound Address Translation
The MPC5200B-as-Target occupies 2 memory target address windows on the PCI bus. The location is
determined by the values programmed to BAR0 and BAR1 of the PCI Type 00h Configuration space.
These inbound memory window sizes are fixed to one 256 Kbyte window (BAR0) and one 1 Gbyte
window (BAR1).
MPC5200B User’s Manual, Rev. 3
10-82
Freescale Semiconductor
PCI Controller
PCI inbound address translation allows address translation to any space in the MPC5200B space (4 Gbyte
of address space). The target base address translation registers TBATR0 and TBATR1 specify the location
of the inbound memory window. These registers are described in Section Section 10.4.3, Configuration
Interface. Address translation occurs for all enabled inbound transactions. If the enable bit of the Target
Base Address Translation Registers is cleared, MPC5200B aborts all PCI memory transactions to that base
address window.
Note, the PCI configuring master can program BAR0 to overlap BAR1. The default address translation
value is TBATR0 in that case. It is not recommended to program overlapping BAR0 and BAR1 or
overlapping TBATR0 and TBATR1. An overlap of TBATRs can cause data write-over of BAR0 data.
The Initiator Window Base Address Registers are used to decode XL bus addresses for PCI bus
transactions. The base address and base address mask values define the upper byte of address to decode.
The XL bus address space in MPC5200B dedicated to PCI transactions can be mapped to two 16-Mbyte
or larger address spaces in MPC5200B. In normal operation, software should not program either Target
Address Window Translation Register to address Initiator Window space. In that event,
MPC5200B-as-Target transaction would propagate through MPC5200B’s internal bus and request PCI bus
access as the PCI Initiator. The PCI arbiter could see the PCI bus as busy (target read transaction in
progress) and only a time-out would free the PCI bus.
MPC5200B
PCI Space (Memory View)
0
0
Inbound Translation
base address 0
Register Space
TBATR0 Address
Translation
1G
System Memory
1G
MPC5200B
BAR1
Not Recommended
Initiator
Window(s)
MPC5200B
memory
PCI Space
TBATR1 Address
Translation
Inbound Translation2G
base address 1
2G
MPC5200B
memory
Sdram Space
3G
3G
4G
4G
MPC5200B
BAR0
Figure 10-56. Inbound Address Map
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-83
PCI Controller
10.6.2.1.2
Outbound Address Translation
Figure 10-57 shows example XL Bus Initiator Window configurations. Overlapping the inbound memory
window (MPC5200B Memory) and the outbound translation window is not supported and can cause
unpredictable behavior.
This figure doesn’t show configuration mechanism.
0
MBAR
PCI Space (Memory View)
0
MPC5200B Space
Window 0
Translation
Window 0
XL Bus
Initiator
Windows
2G
Window 1
PCI Space (Configuration View)
0
Window 0
Register Space
1G
PCI Space (IO View)
0
1G
1G
1G
Not Recommended
Window 1
Translation
MPC5200B
memory
2G
2G
Window 1
2G
MPC5200B memory
Window 2
Not Recommended
Window 2
Translation
3G
3G
3G
3G
4G
4G
Window 2
4G
4G
Associated with PCI Prefetchable Memory
Associated with PCI I/O
Associated with PCI Non-Prefetchable Memory
Window 0 Base Address = 0x40
Window 0 Address Mask = 0x1F
Window 0 Translation Address = 0x00
Window 2 Base Address = 0x80
Window 2 Address Mask = 0x3F
Window 2 Translation Address = 0xC0
Window 1 Base Address = 0x70
Window 1 Address Mask = 0x0F
Window 1 Translation Address = 0x70
Figure 10-57. Outbound Address Map
MPC5200B User’s Manual, Rev. 3
10-84
Freescale Semiconductor
PCI Controller
10.6.2.1.3
Base Address Register Overview
Table 10-63 shows the available accessibility for all PCI associated base address and translation address
registers in MPC5200B.
Base Address
Register
Register Function
PCI Bus Configuration
Access
Processor
Access
Any XL bus Master
Access
BAR0
PCI Base Address Register 0
(256 Kbyte)
X
X
X
BAR1
PCI Base Address Register 1 (1
Gbyte)
X
X
X
TBATR0
Target Base Address
Translation Register 0
(256Kbyte)
X
X
TBATR1
Target Base Address
Translation Register 0 (1 Gbyte)
X
X
IMWBAR
Initiator Window
Base/Translation Address
Registers
X
X
10.6.3
XL bus Arbitration Priority
When the XL Bus Arbiter Master Priority Register (Section 16.2.1.1, “Arbiter Configuration Register
(R/W)”) is set to any configuration except all-master fair-share (all masters have the same priority), live
lock can occur on the shared PCI bus and the XL Bus, which results in system-wide live lock.
The only resolution that guarantees that this live lock scenario will not occur is to set all the XL Bus Arbiter
master priorities to be equal. Additionally, it is usually preferable that all master priorities are not set to
zero, as this can generate an interrupt by the XL Bus Arbiter, if enabled.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
10-85
PCI Controller
MPC5200B User’s Manual, Rev. 3
10-86
Freescale Semiconductor
Chapter 11
ATA Controller
11.1
Overview
The following sections are contained in this document:
• BestComm Key Features
— ATA Register Interface, includes:
— ATA Host Registers
— ATA FIFO Registers
— ATA Drive Registers
• ATA Host Controller Operation
• Signals and Connections
• ATA Interface Description
• ATA Bus Background
• ATA RESET/Power-Up
• ATA I/O Cable Specifications
The Advanced Technology Attachment (ATA) Controller provides full functional compatibility with
ATA-4 documentation, supporting Ultra-33. For more ATA Standards information, refer to American
National Standard for Information Technology—AT Attachment with Packet Interface Extension
(ATA/ATAPI-4).
A dedicated MPC5200B pin for ATA reset is not provided. An appropriate signal on the board should be
routed to the reset input on the ATA connector. If ATA reset is tied to HRESET or SRESET on MPC5200B
pins, they are asserted and internally held low for an appropriate period of time to satisfy ATA reset. An
MPC5200B GPIO may be used to drive ATA reset independently if special software control is needed.
Figure 11-1 shows the ATA Controller Interface.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-1
ATA Controller
PCI Handshake
ATA Host
Controller
Ultra DMA
Channel
BestComm
(higher priority)
IP bus
Rx/Tx FIFO
Interface
Multiword
DMA
Channel
ARB
IPBI
IPBI
Program
Registers
(Host/Driver)
Local Bus
PIO
Channel
Figure 11-1. ATA Controller Interface
11.2
11.2.1
BestComm Key Features
BestComm Read
1. microprocessor sets up descriptors in BestComm RAM and initiates a transfer.
2. BestComm hits on an ATA command FIFO space and writes a command (ATA drive register
address, transfer size) into FIFO.
3. ATA Controller reads data from the drive and puts data in FIFO.
4. As FIFO fills, BestComm is interrupted and moves data from FIFO to an internal destination.
11.2.2
BestComm Write
1. microprocessor sets up descriptors in BestComm RAM and initiates a transfer.
2. BestComm hits on an ATA command FIFO space and writes a command (ATA drive register
address, transfer size) into FIFO.
3. BestComm reads data from internal source and puts data in FIFO
4. ATA Controller transfers data from FIFO and writes to drive.
NOTE
Any DMA transfer, where source and destination are both on the local bus,
requires internal BestComm SRAM buffering.
MPC5200B User’s Manual, Rev. 3
11-2
Freescale Semiconductor
ATA Controller
11.3
ATA Register Interface
The IPBI module contains all software-programmable ATA Controller registers and the IPB glue logic
needed to read and write these registers. The IPBI registers are listed below. Unless otherwise noted, each
register is written and read from the same address.
11.3.1
ATA Host Registers
ATA is controlled by 10 32-bit registers. These registers are located at an offset from MBAR of 0x3A00.
Register addresses are relative to this offset. Therefore, the actual register address is: MBAR + 0x3A00 +
register address
Hyperlinks to the ATA Host registers are provided below:
• ATA Host Configuration Register (0x3A00)
• ATA Host Status Register (0x3A04)
• ATA PIO Timing 1 Register (0x3A08)
• ATA PIO Timing 2 Register (0x3A0C)
• ATA Multiword DMA Timing 1 Register (0x3A10)
• ATA Multiword DMA Timing 2 Register (0x3A14)
• ATA Ultra DMA Timing 1 Register (0x3A18)
• ATA Ultra DMA Timing 2 Register (0x3A1C)
• ATA Ultra DMA Timing 3 Register (0x3A20)
• ATA Ultra DMA Timing 4 Register (0x3A24)
• ATA Ultra DMA Timing 5 Register (0x3A28)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-3
ATA Controller
11.3.1.1
ATA Host Configuration Register
Address MBAR + 0x3A00
R
W
Reset
0
1
2
3
4
SMR
FR
0
0
0
0
0
16
17
18
19
20
5
6
7
IE
IORDY
0
0
0
0
0
0
0
21
22
23
24
25
26
0
0
Reserved
R
9
10
11
12
13
14
15
0
0
0
0
27
28
29
30
31
0
0
0
0
0
Reserved
Reserved
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 11-2. ATA Host Configuration Register
Table 11-1. ATA Host Configuration Register Field Descriptions
Bits
Name
Description
0
SMR
1
FR
FIFO Reset—bit can be used to reset FIFO when bit 0 of this register is set to reset the ATA state
machine. During normal ATA transaction, FIFO can be reset by setting ATA Drive Command
Register FR bit (see Table 11-30.)
2:5
—
Reserved
6
IE
Enables drive interrupt to pass to CPU in PIO modes.
7
IORDY
16:31
—
State Machine Reset—bit resets ATA state machine to IDLE state for PIO, DMA and UDMA
read/write.
Set by software when the drive supports IORDY. Required for PIO mode 3 and above.
Reserved
MPC5200B User’s Manual, Rev. 3
11-4
Freescale Semiconductor
ATA Controller
11.3.1.2
ATA Host Status Register
Address MBAR + 0x3A04
R
W
Reset
0
1
2
3
4
5
TIP
UREP
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
0
0
0
Reserved
6
8
9
10
RERR WERR
R
11
12
13
14
15
0
0
0
0
27
28
29
30
31
0
0
0
0
0
Reserved
Reserved
W
Reset
7
0
0
0
0
0
0
0
0
Figure 11-3. ATA Host Status Register
Table 11-2. ATA Host Status Register Field Descriptions
Bits
Name
Description
0
TIP
Transaction in Progress—indicator bit MUST be polled by software before PIO access. System bus
(XL bus) locks up if PIO access is attempted while this bit is set. This bit is read-only.
1
UREP
UDMA Read Extended Pause—bit sets when drive stops strobing for an extended period without
initiating burst termination by negating DMARQ, during an UDMA read burst. Software may initiate
an Ultra DMA read burst termination, in this case by setting ATA Drive Device Command Register
HUT bit (see Table 11-30.).
2:5
—
6
RERR
Read Error—An un-implemented register read.
7
WERR
Write Error—An un-implemented register write.
8:31
—
Reserved
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-5
ATA Controller
11.3.1.3
ATA PIO Timing 1 Register
Address MBAR + 0x3A08
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
pio_t2_8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
pio_t2_16
W
Reset
4
pio_t0
W
Reset
3
0
0
0
0
0
Reserved
0
0
0
0
0
0
0
0
Figure 11-4. ATA PIO Timing 1 Register
Table 11-3. ATA PIO Timing 1 Register Field Descriptions
Bits
Name
0:7
pio_t0
8:15
pio_t2_8
PIO read/write pulse width for 8-bit transfers. Count value is based on system clock operating
frequency.
16:23
pio_t2_16
PIO read/write pulse width for 16-bit transfers. Count value is based on system clock operating
frequency.
24:31
—
11.3.1.4
Description
PIO cycle time count value is based on system clock operating frequency.
Reserved
ATA PIO Timing 2 Register
Address MBAR + 0x3A0C
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
pio_t1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
pio_ta
W
Reset
4
pio_t4
W
Reset
3
0
0
0
0
Reserved
0
0
0
0
0
0
0
0
0
Figure 11-5. ATA PIO Timing 2 Register
Table 11-4. ATA PIO Timing 2 Register Field Descriptions
Bits
Name
Description
0:7
pio_t4
PIO write (DIOW) data hold time. Count value is based on system clock operating frequency.
8:15
pio_t1
Address valid to DIOR/DIOW setup. Count value is based on system clock operating frequency.
16:23
pio_ta
IORDY setup time. Count value is based on system clock operating frequency.
24:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
11-6
Freescale Semiconductor
ATA Controller
11.3.1.5
ATA Multiword DMA Timing 1 Register
Address MBAR + 0x3A10
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
dma_td
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
dma_tk
W
Reset
4
dma_t0
W
Reset
3
0
0
0
0
dma_tm
0
0
0
0
0
0
0
0
0
Figure 11-6. ATA Multiword DMA Timing 1 Register
Table 11-5. ATA Multiword DMA Timing 1 Register Field Descriptions
Bits
Name
Description
0:7
dma_t0
Multiword DMA cycle time. Count value is based on system clock operating frequency.
8:15
dma_td
Multiword DMA read/write (DIOR/DIOW) asserted pulse width. Count value is based on system
clock operating frequency.
16:23
dma_tk
Multiword DMA read/write (DIOR/DIOW) negated pulse width. Count value is based on system
clock operating frequency.
24:31
dma_tm
CS[0], CS[1] valid to DIOR/DIOW. Count value is based on system clock operating frequency.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-7
ATA Controller
11.3.1.6
ATA Multiword DMA Timing 2 Register
Address MBAR + 0x3A14
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
dma_tj
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
dma_tn
W
Reset
4
dma_th
W
Reset
3
0
0
0
0
0
Reserved
0
0
0
0
0
0
0
0
Figure 11-7. ATA Multiword DMA Timing 2 Register
Table 11-6. ATA Multiword DMA Timing 2 Register Field Descriptions
Bits
Name
Description
0:7
dma_th
Multiword DMA write (DIOW) data hold time. Count value is based on system clock operating
frequency.
8:15
dma_tj
Multiword DMA read/write (DIOR/DIOW) asserted pulse width. Count value is based on system
clock operating frequency.
16:23
dma_tn
CS[0], CS[1] hold. Count value is based on system clock operating frequency.
24:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
11-8
Freescale Semiconductor
ATA Controller
11.3.1.7
ATA Ultra DMA Timing 1 Register
Address MBAR + 0x3A18
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
udma_tcyc
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
udma_tds
W
Reset
4
udma_t2cyc
W
Reset
3
0
0
0
0
0
udma_tdh
0
0
0
0
0
0
0
0
Figure 11-8. ATA Ultra DMA Timing 1 Register
Table 11-7. ATA Ultra DMA Timing 1 Register Field Descriptions
Bits
Name
Description
0:7
udma_t2cyc
Ultra DMA sustained average two cycle time. Count value is based on system clock operating
frequency.
8:15
udma_tcyc
Ultra DMA strobe edge to strobe edge cycle time. Count value is based on system clock operating
frequency.
16:23
udma_tds
Ultra DMA read data setup time. Count value is based on system clock operating frequency.
24:31
udma_tdh
Ultra DMA read data hold time. Count value is based on system clock operating frequency.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-9
ATA Controller
11.3.1.8
ATA Ultra DMA Timing 2 Register
Address MBAR + 0x3A1C
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
udma_tdvh
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
udma_tfs
W
Reset
4
udma_tdvs
W
Reset
3
0
0
0
0
0
udma_tli
0
0
0
0
0
0
0
0
Figure 11-9. ATA Ultra DMA Timing 2 Register
Table 11-8. ATA Ultra DMA Timing 2 Register Field Descriptions
Bits
Name
Description
0:7
udma_tdvs
Ultra DMA write data setup time. Count value is based on system clock operating frequency.
8:15
udma_tdvh
Ultra DMA write data hold time. Count value is based on system clock operating frequency.
16:23
udma_tfs
First strobe time during the initiation of ultra DMA data transfer. Count value is based on system
clock operating frequency.
24:31
udma_tli
Limited interlock time with a defined maximum, when drive or host are waiting for response from
each other. Count value is based on system clock operating frequency.
MPC5200B User’s Manual, Rev. 3
11-10
Freescale Semiconductor
ATA Controller
11.3.1.9
ATA Ultra DMA Timing 3 Register
Address MBAR + 0x3A20
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
udma_taz
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
udma_tenv
W
Reset
4
udma_tmli
W
Reset
3
0
0
0
0
0
udma_tsri
0
0
0
0
0
0
0
0
Figure 11-10. ATA Ultra DMA Timing 3 Register
Table 11-9. ATA Ultra DMA Timing 3 Register Field Descriptions
Bits
Name
Description
0:7
udma_tmli
Limited interlock time with a defined minimum, when drive or host are waiting for response from
each other. Count value is based on system clock operating frequency.
8:15
udma_taz
Maximum time allowed for output drivers to release from being driven. Count value is based on
system clock operating frequency.
16:23
udma_tenv
Envelope time from DMACK to STOP and HDMARDY during data-out burst initiation. Count value
is based on system clock operating frequency.
24:31
udma_tsr
Strobe to DMARDY time. If DMARDY is negated before this long after strobe edge the recipient
receives no more than one additional data word. Count value is based on system clock operating
frequency.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-11
ATA Controller
11.3.1.10 ATA Ultra DMA Timing 4 Register
Address MBAR + 0x3A24
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
udma_trfs
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
udma_trp
W
Reset
4
udma_tss
W
Reset
3
0
0
0
0
0
udma_tac
0
0
0
0
0
0
0
0
Figure 11-11. ATA Ultra DMA Timing 4 Register
Table 11-10. ATA Ultra DMA Timing 4 Register Field Descriptions
Bits
Name
Description
0:7
udma_tss
Time from strobe edge to negation of DMARQ (when drive terminates burst) or assertion of STOP
(when host terminates burst). Count value is based on system clock operating frequency.
8:15
udma_trfs
Ready-to-final-strobe time. No strobe edges are sent this long after negation of DMARDY. Count
value is based on system clock operating frequency.
16:23
udma_trp
Ready-to-pause time. The time that recipient waits to initiate pause after negating DMARDY.
Count value is based on system clock operating frequency.
24:31
udma_tack
Setup and hold times for DMACK before negation or assertion. Count value is based on system
clock operating frequency.
MPC5200B User’s Manual, Rev. 3
11-12
Freescale Semiconductor
ATA Controller
11.3.1.11 ATA Ultra DMA Timing 5 Register
Address MBAR + 0x3A28
0
1
2
R
4
5
6
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
udma_tzah
W
Reset
3
0
0
0
0
0
0
0
0
0
Figure 11-12. ATA Ultra DMA Timing 5 Register
Table 11-11. ATA Ultra DMA Timing 5 Register Field Descriptions
Bits
Name
Description
0:7
udma_tzah
Minimum delay time required for output drivers to assert or negate from release state. Count value
is based on system clock operating frequency.
8:31
—
Reserved
11.3.1.12 ATA Share Count Register
Address MBAR + 0x3A2C
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
8
ata_share_cnt
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 11-13. ATA Share Count Register
Table 11-12. ATA Share Count Register Field Descriptions
Bits
Name
0:15
ata_share_cnt
16:31
—
Description
This 16-bit value controls the length of the “time slot” assigned to ATA transactions when PCI
arbiter provides a grant to the ATA device. This is in IPB clocks. The arbiter will maintain the grant
to ATA for (at least) the ata_share_cnt value. When this value has expired, ATA may be
interrupted (paused) by the arbiter, to service other pending requests for the AD bus.
Default value at reset is 128
Note: The maximal allowed setting is 0xFFFE.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-13
ATA Controller
11.3.2
ATA FIFO Registers
ATA uses a single FIFO that changes direction based on the Rx/Tx mode. Software controls direction
change and flushes FIFO before changing directions. FIFO memory is 512Bytes (Four 8 x 128 memories).
ATA FIFO is controlled by 32-bit registers. These registers are located at an offset from MBAR of 0x3a00.
Register addresses are relative to this offset. Therefore, the actual register address is: MBAR + 0x3A00
+ register address
Hyperlinks to the ATA FIFO registers are provided below:
• ATA Rx/Tx FIFO Data Word Register (0x3A3C)
• ATA Rx/Tx FIFO Status Register (0x3A40)
• ATA Rx/Tx FIFO Control Register (0x3A44)
• ATA Rx/Tx FIFO Alarm Register (0x3A48)
• ATA Rx/Tx FIFO Read Pointer Register (0x3A4C)
• ATA Rx/Tx FIFO Write Pointer Register (0x3A50)
11.3.2.1
ATA Rx/Tx FIFO Data Word Register
Address MBAR + 0x3A3C
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
R
FIFO_Data_Word
W
Reset
8
FIFO_Data_Word
W
Reset
7
0
0
0
0
0
0
0
0
0
0
Figure 11-14. ATA Rx/Tx FIFO Data Word Register
Table 11-13. ATA Rx/Tx FIFO Data Word Register Field Descriptions
Bits
Name
Description
0:31
FIFO_Data_Word
The FIFO data port. Reading from this location “pops” data from the FIFO, writing “pushes”
data into the FIFO. During normal operation the BestComm Controller pushes data here.
Note: ONLY full long-word access is allowed. If all byte enables are not asserted when
accessing this location, a FIFO error flag is generated.
MPC5200B User’s Manual, Rev. 3
11-14
Freescale Semiconductor
ATA Controller
11.3.2.2
ATA Rx/Tx FIFO Status Register
Address MBAR + 0x3A40
0
1
2
3
R
5
6
8
9
10
11
12
13
14
15
Err
UF
OF
Full
HI
LO
Emty
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
Reserved
W
Reset
4
0
0
0
0
0
0
0
0
0
Figure 11-15. ATA Rx/Tx FIFO Status Register
Table 11-14. ATA Rx/Tx FIFO Status Register Field Descriptions
Bits
Name
Description
0:8
—
Reserved
9
Err
Error—flag bit is essentially the logical OR of other flag bits and can be polled for detection of any
FIFO error. After clearing the offending condition, writing 1 to this bit clears flag.
10
UF
UnderFlow—flag indicates read pointer has surpassed the write pointer. FIFO was read beyond
empty. Resetting FIFO clears this condition; writing 1 to this bit clears flag.
11
OF
OverFlow—flag indicates write pointer surpassed read pointer. FIFO was written beyond full.
Resetting FIFO clears this condition; writing 1 to this bit clears flag.
12
Full
FIFO full—this is NOT a sticky bit or error condition. Full indication tracks with FIFO state.
13
HI
High—FIFO requests attention, because high level alarm is asserted. To clear this condition, FIFO
must be read to a level below the setting in granularity bits.
14
LO
Low—FIFO requests attention, because Low level alarm is asserted. To clear this condition, FIFO
must be written to a level in which the space remaining is less than the granularity bit setting.
15
Emty
16:31
—
FIFO empty—this is NOT a sticky bit or error condition. Full indication tracks with FIFO state.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-15
ATA Controller
11.3.2.3
ATA Rx/Tx FIFO Control Register
Address MBAR + 0x3A44
0
R
W
Reset
1
Reserved
2
3
WFR
4
5
Reserved
6
8
9
10
GR
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 11-16. ATA Rx/Tx FIFO Control Register
Table 11-15. ATA Rx/Tx FIFO Control Register Field Descriptions
Bits
Name
Description
0:1
—
2
WFR
3:4
—
Reserved
5:7
GR
Granularity—bits control high “watermark” point at which FIFO negates Alarm condition (i.e.,
request for data). It represents the number of free bytes times 4.
000 = FIFO waits to become completely full before stopping data request.
Reserved
Write End of Frame (EOF) This bit should remain low.
001 = FIFO stops data request when only one long word of space remains.
8:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
11-16
Freescale Semiconductor
ATA Controller
11.3.2.4
ATA Rx/Tx FIFO Alarm Register
Address MBAR + 0x3A48
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
Alarm
0
0
0
0
0
0
0
0
Figure 11-17. ATA Rx/Tx FIFO Alarm Register
Table 11-16. ATA Rx/Tx FIFO Alarm Register Field Descriptions
Bits
Name
0:19
—
20:31
Alarm
11.3.2.5
Description
Reserved
User writes these bits to set low level “watermark”, which is the point where FIFO asserts request
for BestComm Controller data filling. Value is in bytes. For example, with Alarm = 32, alarm condition
occurs when FIFO contains 32Bytes or less. Once asserted, alarm does not negate until high level
mark is reached, as specified by FIFO control register granularity bits.
ATA Rx/Tx FIFO Read Pointer Register
Address MBAR + 0x3A4C
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
ReadPtr
0
0
0
0
0
0
0
0
Figure 11-18. ATA Rx/Tx FIFO Read Pointer Register
Table 11-17. ATA Rx/Tx FIFO Read Pointer Register Field Descriptions
Bits
Name
0:19
—
20:31
ReadPtr
Description
Reserved
Value is maintained by FIFO hardware and is NOT normally written. It can be adjusted in special
cases, but this disrupts data flow integrity. Value represents the Read address presented to the
FIFO RAM.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-17
ATA Controller
11.3.2.6
ATA Rx/Tx FIFO Write Pointer Register
Address MBAR + 0x3A50
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
WritePtr
0
0
0
0
0
0
0
0
Figure 11-19. ATA Rx/Tx FIFO Write Pointer Register
Table 11-18. ATA Rx/Tx FIFO Write Pointer Register Field Descriptions
Bits
Name
0:19
—
20:31
WritePtr
Description
Reserved
Value is maintained by FIFO hardware and is NOT normally written. It can be adjusted in special
cases, but this disrupts data flow integrity. Value represents the Read address presented to the
FIFO RAM.
MPC5200B User’s Manual, Rev. 3
11-18
Freescale Semiconductor
ATA Controller
11.3.3
ATA Drive Registers
The ATA drive registers are physically located inside the drive controller on the ATA disk drive. The
MPC5200B ATA Host Controller provides access to these registers using the chip selects and address bits.
ATA Drive is controlled by 32-bit registers. These registers are located at an offset from MBAR of
0x3A00. Register addresses are relative to this offset. Therefore, the actual register address is: MBAR +
0x3A00 + register address
Hyperlinks to the ATA Drive registers are provided below:
• ATA Drive Device Control Register (0x3A5C), write-only
• ATA Drive Alternate Status Register (0x3A5C), read-only
• ATA Drive Data Register (0x3A60), R/W
• ATA Drive Features Register (0x3A64), write-only
• ATA Drive Error Register (0x3A64), read-only
• ATA Drive Sector Count Register (0x3A68), R/W
• ATA Drive Sector Number Register (0x3A6C), R/W
• ATA Drive Cylinder Low Register (0x3A70), R/W
• ATA Drive Cylinder High Register (0x3A74), R/W
• ATA Drive Device/Head Register (0x3A78), R/W
• ATA Drive Device Command Register (0x3A7C), write-only
• ATA Drive Device Status Register (0x3A7C), read-only
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-19
ATA Controller
11.3.3.1
ATA Drive Device Control Register
Address MBAR + 0x3A5C
0
1
R
3
4
Reserved
W
Reset
2
5
6
8
9
10
11
12
13
14
15
Reserved
SRST nIEN
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 11-20. ATA Drive Device Control Register
Table 11-19. ATA Drive Device Control Register Field Descriptions
Bits
Name
Description
0:4
—
5
SRST
Software Reset—Host controlled software reset bit. Drive executes software reset protocol when bit
is set to 1 by host.
6
nIEN
Interrupt Enable—Host controlled interrupt enable. INTRQ is enabled when this bit is cleared to 0.
Note: For MPC5200B ATA Host Controller, enabling INTRQ is mandatory for DMA/UDMA data
transfer modes.
7:31
—
Reserved
Reserved
MPC5200B User’s Manual, Rev. 3
11-20
Freescale Semiconductor
ATA Controller
11.3.3.2
ATA Drive Alternate Status Register
Address MBAR + 0x3A5C
R
0
1
BSY
DRDY
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
0
0
W
Reset
2
3
4
5
DRQ
Reserved
6
Rsvd
R
8
9
10
11
12
13
14
15
0
0
0
0
27
28
29
30
31
0
0
0
0
0
13
14
15
Reserved
Reserved
W
Reset
7
ERR
0
0
0
0
0
0
0
0
0
Figure 11-21. ATA Drive Alternate Status Register
Table 11-20. ATA Drive Alternate Status Register Field Descriptions
Bits
Name
0
BSY
1
DRDY
2:3
—
4
DRQ
5:6
—
7
ERR
8:31
—
11.3.3.3
Description
Drive Busy—Transactions internal to drive are in progress. Host must wait.
Drive Ready
Reserved
Set to 1 indicates drive is ready to transfer a word of data.
Reserved
Indicates an error during the execution of the previous command.
Reserved
ATA Drive Data Register
Address MBAR + 0x3A60
0
1
2
R
4
5
6
8
9
10
11
12
Data L
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
Data H
W
Reset
3
0
0
0
0
0
0
0
0
0
Figure 11-22. ATA Drive Data Register
Table 11-21. ATA Drive Data Register Field Descriptions
Bits
Name
Description
0:7
Data H
Upper byte of drive data (read/write)
8:15
Data L
Lower byte of drive data (read/write)
16:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-21
ATA Controller
11.3.3.4
ATA Drive Features Register
Address MBAR + 0x3A64
0
1
2
3
4
5
6
7
8
9
10
R
W
Reset
12
13
14
15
Reserved
Data
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
11
0
0
0
0
0
0
0
0
0
Figure 11-23. ATA Drive Features Register
Table 11-22. ATA Drive Features Register Field Descriptions
Bits
Name
0:7
Data
8:31
—
Description
Register content is command dependent. Contents become command parameters when the ATA
drive command register is written.
Reserved
MPC5200B User’s Manual, Rev. 3
11-22
Freescale Semiconductor
ATA Controller
11.3.3.5
ATA Drive Error Register
Address MBAR + 0x3A64
0
1
R
2
3
4
Data
5
6
ABRT
7
8
9
10
Data
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
12
Reserved
W
Reset
11
0
0
0
0
0
0
0
0
0
Figure 11-24. ATA Drive Error Register
Table 11-23. ATA Drive Error Register Field Descriptions
Bits
Name
Description
0:4
Data
Register content is command dependent. Contents become command parameters when the ATA
drive command register is written.
Register content is valid when BSY and DRQ bits are set to 0 and ERR bit is set to 1 in the ATA drive
status register. Register content is not valid when drive is in sleep mode.
5
ABRT
Bit is set to 1 to indicate requested command has been aborted, because command code or a
command parameter is invalid or some other error occurred.
0:7
Data
Register content is command dependent. Contents become command parameters when the ATA
drive command register is written.
Register content is valid when BSY and DRQ bits are set to 0 and ERR bit is set to 1 in the ATA drive
status register. Register content is not valid when drive is in sleep mode.
8:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-23
ATA Controller
11.3.3.6
ATA Drive Sector Count Register
Address MBAR + 0x3A68
0
1
2
R
4
5
6
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
Data
W
Reset
3
0
0
0
0
0
0
0
0
0
Figure 11-25. ATA Drive Sector Count Register
Table 11-24. ATA Drive Sector Count Register Field Descriptions
Bits
Name
Description
0:7
Data
Bit content is command dependent. For most read/write commands, this register indicates the total
number of sectors requested for transfer.
Register is written only when ATA drive status register bits BSY and DRQ equal 0 and DMACK is
not asserted. If register is written when BSY and DRQ bits are set to 1, the result is indeterminate.
Register content is not valid when drive is in sleep mode.
8:31
—
11.3.3.7
Reserved
ATA Drive Sector Number Register
Address MBAR + 0x3A6C
0
1
2
R
4
5
6
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
Data
W
Reset
3
0
0
0
0
0
0
0
0
0
Figure 11-26. ATA Drive Sector Number Register
Table 11-25. ATA Drive Sector Number Register Field Descriptions
Bits
Name
Description
0:7
Data
Bit content is command dependent. For most commands, this register indicates the data transfer
starting sector number for when CHS addressing is enabled. This register indicates part of the LBA
address when the LBA addressing is enabled.
Register is written only when ATA drive status register bits BSY and DRQ equal 0 and DMACK is
not asserted. If register is written when BSY and DRQ bits are set to 1, the result is indeterminate.
Register content is not valid when drive is in sleep mode.
8:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
11-24
Freescale Semiconductor
ATA Controller
11.3.3.8
ATA Drive Cylinder Low Register
Address MBAR + 0x3A70
0
1
2
R
4
5
6
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
Data
W
Reset
3
0
0
0
0
0
0
0
0
0
Figure 11-27. ATA Drive Cylinder Low Register
Table 11-26. ATA Drive Cylinder Low Register Field Descriptions
Bits
Name
Description
0:7
Data
Bit content is command dependent. For most commands, this register indicates the data transfer
starting sector number for when CHS addressing is enabled. This register indicates part of the LBA
address when the LBA addressing is enabled.
Register is written only when ATA drive status register bits BSY and DRQ equal 0 and DMACK is
not asserted. If this register is written when BSY and DRQ bits are set to 1, the result is
indeterminate.
Register content is not valid when drive is in sleep mode.
8:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-25
ATA Controller
11.3.3.9
ATA Drive Cylinder High Register
Address MBAR + 0x3A74
0
1
2
R
4
5
6
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
Data
W
Reset
3
0
0
0
0
0
0
0
0
0
Figure 11-28. ATA Drive Cylinder High Register
Table 11-27. ATA Drive Cylinder High Register Field Descriptions
Bits
Name
Description
0:7
Data
Bit content is command dependent. For most commands, this register indicates the data transfer
starting sector number for when CHS addressing is enabled. This register indicates part of the LBA
address when the LBA addressing is enabled.
This register is written only when ATA drive status register bits BSY and DRQ equal 0 and DMACK
is not asserted. If this register is written when BSY and DRQ bits are set to 1, the result is
indeterminate.
Register content is not valid when drive is in sleep mode.
8:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
11-26
Freescale Semiconductor
ATA Controller
11.3.3.10 ATA Drive Device/Head Register
Address MBAR + 0x3A78
0
R
W
Reset
1
Rsvd
2
3
4
5
Data Rsvd DEV
6
7
9
10
11
Data
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 11-29. ATA Drive Device/Head Register
Table 11-28. ATA Drive Device/Head Register Field Descriptions
Bits
Name
Description
0
—
1
Data
2
—
Reserved
3
—
Reserved
4:7
Data
8:31
—
Reserved
Bit is command dependent. In LBA addressing mode, this bit is set to 1 to indicate LBA addressing
is chosen for data transfer.
Bit content is command dependent. For most commands, this register indicates the data transfer
starting sector number for when CHS addressing is enabled. This register indicates part of the LBA
address when the LBA addressing is enabled.
This register is written only when ATA drive status register bits BSY and DRQ equal 0 and DMACK
is not asserted. If this register is written when BSY and DRQ bits are set to 1, the result is
indeterminate.
Register content is not valid when drive is in sleep mode.
Reserved
11.3.3.11 ATA Drive Device Command Register
Address MBAR + 0x3A7C
0
1
2
3
4
5
6
7
R
W
Reset
Data
9
10
11
12
Rsvd
HUT
FR
FE
IE
13
14
UDMA READ
15
WRITE
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 11-30. ATA Drive Device Command Register
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-27
ATA Controller
Table 11-29. ATA Drive Device Command Register Field Descriptions
Bits
Name
Description
0:7
Data
8
—
9
HUT
Host UDMA burst Terminate—Software can terminate UDMA burst prematurely by setting this bit.
Bits 15 through 10 are unaffected and retain previous values.
10
FR
FIFO Reset—Hardware resets FIFO when the direction is switched from Tx to Rx. No hardware
reset is done for Rx to Tx switch. Software must verify FIFO is empty before filling it for Tx. When
bit 10 is set, FIFO is being reset and bits 15, 14, 13, 12, 11, 9 and 8 are invalid.
11
FE
Enable FIFO flush in Rx mode—For all commands except DEVICE RESET, this register is written
only when the ATA drive status register bits BSY and DRQ equal 0 and DMACK is not asserted. If
this register is written when BSY or DRQ bits are set to 1, the result is indeterminate except for the
DEVICE RESET command.
Register content is not valid when drive is in sleep mode.
12
IE
Enables drive interrupt to pass to CPU in DMA/UDMA modes. Software writes to this register as
follows:
• FE (bit 11) and IE (bit 12)
• Clear IE and set FE if SDMA task loop count is the same as the data transfer requested from the
drive.
The following is a typical sequence if the BestComm task loop is a larger count than data request
programmed for the drive:
1. Start transaction with IE set and FE cleared.
2. Repeat until task loop count expires.
3. Start last transaction with IE clear and FE set.
• Controller issues flush at end.
• Task loop completes and interrupts CPU.
• CPU responds to SDMA interrupt instead of drive interrupt.
• UDMA (bit 13)—Set when UDMA protocol is selected for data transfer, cleared for DMA protocol.
• READ (bit 14)—Set when read command for DMA/UDMA protocols is written to drive command
register, cleared otherwise.
• WRITE (bit 15)—Set when write command for DMA/UDMA protocols is written to drive
command register, cleared otherwise.
MANDATORY—Be Aware: Drive interrupt must be enabled by clearing bit 1 of drive control register
for DMA/UDMA mode transfers.
13
UDAMA
14
READ
Bit is set when READ DMA command is issued.
15
WRITE
Bit is set when WRITE DMA command is issued.
16:31
—
Register contains the command code sent to the drive. When this register is written, command
execution begins immediately. Writing this register clears any pending interrupt condition.
Reserved
Bit is set when UDMA protocol is selected, cleared when multiword DMA protocol is selected.
Reserved
MPC5200B User’s Manual, Rev. 3
11-28
Freescale Semiconductor
ATA Controller
11.3.3.12 ATA Drive Device Status Register
Address MBAR + 0x3A7C
R
0
1
BSY
DRDY
2
3
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
Data
4
DRQ
W
Reset
5
6
Reserved
7
R
9
10
11
12
13
14
15
FR
FE
IE
UDMA
Read
Write
0
0
0
0
0
0
0
25
26
27
28
29
30
31
0
0
0
0
0
0
0
Rsvd HUT
Reserved
W
Reset
8
ERR
0
0
0
0
0
0
0
0
0
Figure 11-31. ATA Drive Device Status Register
Table 11-30. ATA Drive Device Status Register Field Descriptions
Bits
Name
Description
0
BSY
1
DRDY
2:3
Data
Command dependent—Register is written only when ATA drive status register bits BSY and DRQ
equal 0 and DMACK is not asserted. If this register is written when BSY and DRQ bits are set to 1,
the result is indeterminate.
Register content is not valid when drive is in sleep mode.
4
DRQ
Indicates drive is ready to transfer a data word.
5:6
—
7
ERR
8
—
9
HUT
Host UDMA burst Terminate—Software can terminate UDMA burst prematurely by setting this bit.
Bits 15 through 10 are unaffected and retain previous values.
10
FR
FIFO Reset—Hardware resets FIFO when the direction is switched from Tx to Rx. No hardware
reset is done for Rx to Tx switch. Software must verify FIFO is empty before filling it for Tx. When
bit 10 is set, FIFO is being reset and bits 15, 14, 13, 12, 11, 9 and 8 are invalid.
11
FE
Enable FIFO flush in Rx mode—For all commands except DEVICE RESET, this register is written
only when the ATA drive status register bits BSY and DRQ equal 0 and DMACK is not asserted. If
this register is written when BSY or DRQ bits are set to 1, the result is indeterminate except for the
DEVICE RESET command.
Register content is not valid when drive is in sleep mode.
Indicates drive is busy processing a command.
Indicates drive is ready to accept executable commands.
Reserved
Set to 1 indicates ATA drive error register bits are valid.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-29
ATA Controller
Table 11-30. ATA Drive Device Status Register Field Descriptions (continued)
Bits
Name
Description
12
IE
Enables drive interrupt to pass to CPU in DMA/UDMA modes. Software writes to this register as
follows:
• FE (bit 11) and IE (bit 12)
• Clear IE and set FE if SDMA task loop count is the same as the data transfer requested from the
drive.
The following is a typical sequence if the SDMA task loop is a larger count than data request
programmed for the drive:
1. Start transaction with IE set and FE cleared.
2. Repeat until task loop count expires.
3. Start last transaction with IE clear and FE set.
• Controller issues flush at end.
• Task loop completes and interrupts CPU.
• CPU responds to BestComm interrupt instead of drive interrupt.
• UDMA (bit 13)—Set when UDMA protocol is selected for data transfer, cleared for DMA protocol.
• READ (bit 14)—Set when read command for DMA/UDMA protocols is written to drive command
register, cleared otherwise.
• WRITE (bit 15)—Set when write command for DMA/UDMA protocols is written to drive
command register, cleared otherwise.
MANDATORY—Be Aware: Drive interrupt must be enabled by clearing bit 1 of drive control register
for DMA/UDMA mode transfers.
13
UDAMA
14
READ
Bit is set when READ DMA command is issued.
15
WRITE
Bit is set when WRITE DMA command is issued.
16:31
—
Bit is set when UDMA protocol is selected, cleared when multiword DMA protocol is selected.
Reserved
MPC5200B User’s Manual, Rev. 3
11-30
Freescale Semiconductor
ATA Controller
11.4
ATA Host Controller Operation
With the asynchronous ATA interface, an interface must be implemented that meets the timing
specifications, given an input clock from the processor that is not fixed among all applications. The
challenge is to meet the minimum ATA specifications while minimizing wasted time. Time is wasted
because of differences between the minimum specification and the number of clock-cycles, multiplied by
the clock-cycle period. This indicates the counter compare value depends on:
• The data transfer mode
• The clock frequency driving the ATA state machine (IPB clock)
• The minimum data transfer mode cycle-time passed in the INDENTIFY block from the drive to
the ATA Host Controller
Software requirements for setting up the Host Controller are as follows:
1. Write into ata_config register to enable (ata_config[7] == 1) support for IORDY for PIO modes
3 and 4.
2. Software determines ATA mode timing based on the operating clock frequency
ATA_mode_timing_spec + ipbi_clock_period – 1
Count = ------------------------------------------------------------------------------------------------------------------------------clock_period
This rounds up to the smallest integer number of clock counts that meet the minimum specification.
In the case of counters that control duration of a read strobe (pio_t2_8, pio_t2_16 and dma_td), the
added transceiver propagation delay must be taken into account so the read data meets setup time
to the rising edge of the strobe. Therefore:
ATA_mode_timing_spec + 2 × XCVR_PROP_DLY + clock_period – 1
Count = --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------clock_period
udma_t2cyc is another special case. Unlike the name implies, this register does not control 2
UDMA timing cycles. Rather, it controls how long the host continues to accept data after it has
de-asserted HDMARDY–. According to the ATA-4 specification—if tSR is met, the host should
accept 0–1 more data words, or if tSR is exceeded, 0–2 more data words. A safe value to ensure
the host accepts these data words after HDMARDY– de-asserts is:
4 + t2CYC_sec[mode] + clock_period – 1
Count = -----------------------------------------------------------------------------------------------------------clock_period
3. Write the calculated count in the timing registers provided in the ATA host register memory map.
4. Write ATA drive registers per ATA-4 specification using Host Controller register memory map to
the setup drive for desired operation.
5. Read/Write to unimplemented registers or read of a write-only or vice versa errors set flag bits in
the ATA Host Controller status register. The status register is cleared by writing 1 to the flag bit set
to indicate an error.
6. Write ata_dma_mode register to indicate UDMA/DMA READ/WRITE operations for
UDMA/DMA data transfer modes.
7. Initiate and complete data transfers according to protocols described in ATA-4 specification.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-31
ATA Controller
ATA host hardware does data transfers per chosen protocol. Hardware also maintains proper handshaking
with the MPC5200B system.
The ATA state machine is a combination of several small state machines. The data transfers is initiated by
the software. The software chooses the mode of operation and sets up needed registers in the ATA Host
Controller IPBI module.
The ATA drive registers are also set up by the software through ATA IPBI module using PIO mode. The
ATA drive command and control block registers are mapped into ATA Host Controller register memory
map.
The software writes a command to be executed in the ATA drive command register. The command code is
decoded by the drive electronics. The software, at the same time indicates to the host if UDMA/DMA
protocol is used for READ/WRITE of the data. This is done by setting proper bits in the ata_dma_mode
register in the ATA IPBI module.
11.4.1
PIO State Machine
In the ATA-4 spec, 16 timing characteristics must be met for a PIO data or register access:
• 9 are driven by the ATA drive controller—2 (t1 and ta) are counted by the Host Controller for
checking/latching purposes.
• 7 are driven by the ATA Host Controller
To simplify Host Controller design, the following implementation is used:
• Counter—The counter used to count this timing spec (pio_<name>_counter). All non-zero
counters count down from an initial value to 1 (end)
• Start from—Where this counter is initialized.
• Activity at end—What activity to perform when counter reaches 1
• Dependencies—When counter reaches 0, what signals must be checked before counter is finished
(cleared to 0)
Table 11-31. PIO Timing Requirements
Counter
Start from
Activity at end
Dependencies
t0
t1
go to IDLE
t2=0, t2i=0, t4=0
t1 1
N/A (Use t1 instead)
—
—
t2
t1
Latch Read_Data
IORDY_reg=1
t2i
t2
—
—
N/A (Use t2 instead)
—
—
t3
write_enable=0
—
address_enable=0
—
t3
2
t4
t5
N/A (Timing controlled by drive controller)
—
—
t6
N/A (Timing controlled by drive controller)
—
—
t6z
N/A (Timing controlled by drive controller)
—
—
MPC5200B User’s Manual, Rev. 3
11-32
Freescale Semiconductor
ATA Controller
Table 11-31. PIO Timing Requirements (continued)
Counter
Start from
Activity at end
Dependencies
t9 3
N/A (Use t4 instead)
—
—
tA
t1
Check IORDY
IORDY=1
tB
N/A (Timing controlled by drive controller)
—
—
tC
N/A (Timing controlled by drive controller)
—
—
1
Since t1 and t1 are both minimum specs, and t1 <= t1 for PIO modes 0–2, and t1 >= t1 for PIO modes 3–4, t1 is used to
count both, by loading in an initial value that depends on the PIO mode being used. This is the responsibility of software.
2
Since t3 (WDATA setup time) is a minimum, and t3 <= t2 for all PIO modes, t2 is used to determine when to drive Write_Data
on DD.
3
Since t4 and t9 are both minimum specs, and t4 >= t9 for all PIO modes, t4 is used to count from DIOR/DIOW negate to
CS[1]FX/CS[3]FX/ADDR negate.
If ATA drive address space is accessed by CPU, the ATA IPBI module generates:
• a signal to enable the PIO mode state machine
• a wait state to the IPBI module to hold off any further IPBI module access
The PIO state machine indicates transfer is in progress to the IPBI module. This extends the transfer wait
to the IPBI module until the PIO transaction is complete.
11.4.2
DMA State Machine
The interface between the ATA Controller DMA channel and the rest of the system is through a standard
Type 1 BestComm FIFO interface. Table 11-32 shows the timing requirements specified in the ATA-4 spec
for multiword DMA data transfers.
Table 11-32. Multiword DMA Timing Requirements
Counter
Start from
Activity at end
Dependencies
TM
START (Negate CS0, CS1,
set DMA_In_Progress flag)
Assert DMACK,
Assert DIOR/DIOW,
Write Data ready
DMARQ asserted by drive
TE
N/A (Timing controlled
by drive controller)
—
—
TD
TM
Negate DIOR/DIOW,
Latch Read Data/Drive Write Data
DMARQ=1
TK
TD
Assert DIOR/DIOW
DMARQ=1
TH
TD
Ready for new write data
DMARQ=1
T0
TD
Begin next cycle
DMARQ=1
Start TJ, Start TN
DMARQ=0
TJ
T0
Negate DMACK,
Go to Idle
DMARQ Negated,
DMACK asserted, T0=0
TN
T0
Clear DMA_In_Progress flag.
Allow CS0, CS1 to be driven
DMARQ Negated,
DMACK asserted, T0=0
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-33
ATA Controller
11.4.2.1
Software Requirements
Software calculates the appropriate values of TD and TK based on information reported for the cycle time
(T0) in the drive’s IDENTIFY DEVICE data and the operating clock frequency. Cycle time (T0) must be
greater than the sum of TD and TK.
11.5
Signals and Connections
Table 11-33. MPC5200B External Signals
Signal
I/O
DATA[15:0]
I/O
SA[2:0]
O
Address—3-bit address, when combined with the two chip-selects, CS1FX and CS3FX, is used
to address Control and Command Block Registers in an ATA drive controller (DA2, DA1 and DA0
on ATA cable, respectively).
CS[1]FX
O
Chip select connected to CS[0] on ATA cable.
CS[3]FX
O
Chip select connected to CS[1] on ATA cable.
IOW
O
I/O Write—Active low signal that denotes a WRITE transaction (DIOW on ATA cable).
IOR
O
I/O Read—Active low signal that denotes a READ transaction (DIOR on ATA cable).
DACK
O
DMA Acknowledge (DMACK on ATA cable).
INTRQ
O
ATA interrupt.
ATA_ISOLATION
O
ATA Write Enable to allow sharing of the ATA DD bus with PCI Bus.
IOCHRDY
I
I/O Channel Ready (IORDY pin on ATA cable)
DRQ
I
RESET
1
NC
Description
Data—16-bit Data Bus (DD pins on ATA cable).
DMA Request (DMARQ pin on ATA cable)
1
Reset—Handled at the board level
NC = No connection
NOTE
The ATA_ISOLATION output is an active high signal to control external
ATA transceiver devices and to isolate the ATA bus from the Local Plus
(shared) bus. The ATA_ISOLATION pin is driven low immediately after the
positive edge of HRESET for 4 PCI_CLK cycles.
This note is only a warning about the behavior of this pin.
Normally, the ATA_ISOLATION pin is used to control an isolation buffer
between the LocalPlus Bus and the ATA bus. Even though this glitch will
cause the ATA Isolation Buffer to drive the LocalPlus Bus for four PCI
Clock Cycles, the LocalPlus Bus cannot initiate a bus cycle for
approximately 10 cycles after the positive edge of HRESET. Therefore, bus
conflict will not occur.
MPC5200B User’s Manual, Rev. 3
11-34
Freescale Semiconductor
ATA Controller
Cable
System Board
See Notes
MPC5200
ATA Controller
Pin1
N/A–GPIO Optional
RESET
GND
DD[15:0]
33 Ohms
ATA_DATA[15:0]
82 Ohms
ATA_DRQ
22 Ohms
ATA_IOW
22 Ohms
ATA_IOR
82 Ohms
ATA_IOCHRDY
DMACK
GND
INTRQ
Reserved
22 Ohms
ATA_DACK
82 Ohms
ATA_INTRQ
DA[1]
PDIAG
22 Ohms
ATA_SA[1]
DA[0]
DA[2]
CS[0]
CS[1]
DASP
GND
22 Ohms
22 Ohms
22 Ohms
22 Ohms
ATA_SA[0]
ATA_SA[2]
ATA_CS[1]FX(CS[4])
ATA_CS[3]FX(CS[5])
GND
KEY
DMARQ
GND
DIOW:STOP
GND
DIOR:HDMARDY:HSTROBE
GND
IORDY:DDMARDY:DSTROBE
CSEL
Pin 40
Note: On system board:
1. All outgoing signals need 3.3V to 5V level shifters.
2. All incoming signals need 5V to 3.3V level shifters or 5V
tolerant input buffers on MPC5200B ATA signals.
LEGEND
Bidirectional
Output
Input
Figure 11-32. Connections—Controller Cable, System Board, MPC5200B
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-35
ATA Controller
11.6
ATA Interface Description
Pin#
Cable
I/O
System Board
I/O
MPC5200B
1
RESET
O
RESET:Reset
—
N/A—GPIO optional
2
GND
—
—
—
—
3–18
DD[15:0]
3,5,7,9,11,13,15,17→DD[7:0]
18,16,14,12,10,8,6,4→DD[15:8]
I/O
DD[0:15]
I/O
ATA_DATA[15:0]
19
GND
—
—
—
—
20
KEY
—
No Signal:Alignment key
—
—
2
DMARQ
I
DMARQ:DMA Request
I
ATA_DRQ
22
GND
—
—
—
—
23
DIOW:STOP
O
DIOW
O
ATA_IOW
24
GND
—
—
—
—
25
DIOR:HDMARDY:HSTROBE
O
DIOR
O
ATA_IOR
26
GND
—
—
—
—
27
IORDY:DDMARDY:DSTROBE
I
IORDY
I
ATA_IOCHRDY
28
CSEL
—
NC
—
—
29
DMACK
O
DMACK
O
ATA_DACK
30
GND
—
—
—
—
31
INTRQ
I
INTRQ
I
ATA_INTRQ
32
Reserved
—
—
—
—
33
DA[1]
O
DA[1]:Address Bus Bit1
O
ATA_SA[1]
34
PDIAG
—
NC
—
—
35
DA[0]
O
DA[0]:Address Bus Bit0
O
ATA_SA[0]
36
DA[2]
O
DA[2]:Address Bus Bit2
O
ATA_SA[2]
37
CS[0]
O
CS[1]FX:Chip Select 0
O
ATA_CS[1]FX(CS[4])
38
CS[1]
O
CS[3]FX:Chip Select 1
O
ATA_CS[3]FX(CS[5])
39
DASP
—
NC
—
—
40
GND
—
—
—
—
Table 11-34. ATA Controller External Connections
NOTE
MPC5200B provides the ATA_ISOLATION output signal. This signal is
shared with the A22 output of the LocalPlus Most/Graphics mode.
The ATA_ISOLATION is not a signal defined by the ATA Standard. It is provided to support an external
ATA transceiver. ATA_ISOLATION is an active high signal to control external transceiver devices and to
‘isolate’ the ATA bus from the LocalPlus (shared) bus.
MPC5200B User’s Manual, Rev. 3
11-36
Freescale Semiconductor
ATA Controller
It can force the transceiver direction -> MPC5200 disk drive. Only during an ATA read is this signal
allowed to go low, forcing transceiver direction disk drive ->MPC5200B.
The ATA_ISOLATION should be connected to the Direction input of the transceiver.
• High = Write to drive
• Low = Read from drive
HOST
DEVICE
CS[0], CS[1]
Chip Select to select Command Block registers.
DA[2:0]
Address to access drive registers or data ports.
DD[15:0]
DIOR:HDMARDY:HSTROBE
8-, 16-bit data interface.
DIORÆAsserted by host to read drive registers or data ports.
HDMARDYÆHost ready to receive UDMA data in bursts. Negated to pause.
HSTROBEÆHost signal for UDMA data out bursts. Data latched in drive registers from DD[15:0]
on both edges of HSTROBE. Host stops generating HSTROBE edges to pause.
DIOW:STOP
DIOWÆAsserted by host to write drive registers or data ports. Negated by host before initiation of UDMA.
STOPÆNegated by host before UDMA burst. Assertion by host signals termination of UDMA.
DMACK
Host response to DMARQ by drive to initiate DMA transfers.
DMARQ
Asserted by drive for DMA data transfers from/to host. For multiword DMA, data direction is
controlled by DIOR and DIOW. MARQ is negated by drive when DMACK is received from
host.drivere-asserts DMARQ for more DMA transfers.
INTRQ
INTRQ used by selected drive to interrupt host. If (nIEN bit == 0 && drive is selected),
INTRQ must be enabled through tri-state and must be driven asserted or negated.
If (nIEN == 1 || drive is not selected), INTRQ = 1'bz.
When INTRQ asserted, drive must negate it within 400ns of negation of DIOR that reads
STATUS register or within 400ns of negation of DIOW that writes the COMMAND register.
When drive is selected by writing to Device/Head register and interrupt is pending, INTRQ
must be asserted within 400ns of negation of DIOW that writes the Device/Head register.
When drive is de-selected by writing to Device/Head register and interrupt is pending, INTRQ
must be negated within 400ns of negation of DIOW that writes the Device/Head register.
IORDY:DDMARDY:DSTROBE
IORDY is negated by drive to extend host transfer cycle (read or write) for PIO modes 3 and above.
DDMARDYÆdrive ready to receive UDMA data out bursts. Negated to pause.
DSTROBEÆdrive signal from UDMA data in bursts. Data latched in host registers from
DD[15:0] on both edges of DSTROBE. Drive stops generating DSTROBE edges to pause.
PDIAG:CBLID
PDIAGÆis asserted by drive 1 to indicate to drive 0 that it has completed diagnostics.
CBLIDÆHost may sample CBLID after Power-ON or hardware reset is completed for all drives on
the cable, to detect presence or absence of 80 conductor cable. If CBLID is detected as connected
to ground then 80-conductor cable is present.
If drive 1 is present, Host should issue IDENTIFY DEVICE or IDENTIFY PACKET DEVICE
and use returned data to determine if drive is compliant with ATA-3 or subsequent standards.
Drives compliant with ATA-3 or above, release PDIAG no later than after the first command
following a Power-ON or hardware reset sequence.
RESET
CSEL
RESET used by host to reset drive.
CSEL negated, drive address is 0
CSEL asserted, drive address is 1
Figure 11-33. Pin Description—ATA Interface
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-37
ATA Controller
11.7
ATA Bus Background
11.7.1
Terminology
The most popular interface used in modern hard disks is the Integrated Drive Electronics (IDE) interface,
also known by various other names such as: ATA, EIDE, ATA-2, Fast ATA, Ultra ATA, etc.
• Western Digital ® used the term IDE when they first integrated the drive controller logic board on
the disk drive.
• Quantum ® and Seagate ® used the term ATA (Advanced Technology Attachment) or
AT-Attachment, because it has a 16-bit data interface like original AT machines.
ATA is the interface name adopted by the American National Standards Institute (ANSI). Thus far, ANSI
has published ATA, ATA-2, ATA-3 and ATA-4 interfaces. More work is underway for ATA-5 and future
extensions of the ATA interface. Table 11-35 summarizes the different ATA standards.
MPC5200B is compliant with the latest officially published ANSI ATA-4 interface.
Table 11-35. ATA Standards
Interface
Standard
Standard
Type
PIO Modes
IDE/ATA
ANSI
0,1,2
Single word—0,1,2
Multiword—0
—
ATA-2
ANSI
0,1,2,3,4
Single word—0,1,2
Multiword—0,1,2
Block transfers, logical block addressing, improved
identify drive command
FAST ATA
Marketing
0,1,2,3
Single word—0,1,2
Multiword 0,1
Same as ATA-2
Fast ATA-2
Marketing
0,1,2,3,4
Single word—0,1,2
Multiword—0,1,2
Same as ATA-2
ATA-3
Unofficial
0,1,2,3,4
Single word—0,1,2
Multiword—0,1,2
Same as ATA-2, plus improved reliability, SMART
Ultra ATA
Unofficial
0,1,2,3,4
Single word—0,1,2
Multiword—0,1,2,3
Same as ATA-3
ATAPI
ANSI
0,1,2,3,4
Single word—0,1,2
Multiword—0,1,2
Support for non-hard-disk devices CD-ROM, Tape
drives, etc.
EIDE
Marketing
0,1,2,3,4
Single word—0,1,2
Multiword—0,1,2
Same as ATA-2, plus ATAPI and dual host adapters
ATA-4
ANSI
0,1,2,3,4
Multiword—0,1,2
Ultra DMA—0,1,2
Same as ATA-3, Single word DMA retired
DMA Modes
Special Features or Enhancements introduced
Relative to IDE/ATA
MPC5200B User’s Manual, Rev. 3
11-38
Freescale Semiconductor
ATA Controller
11.7.2
ATA Modes
Table 11-36. ATA Physical Level Modes
Mode
Cycle Time (ns)
Transfer Rate (MB/s)
Standard
PIO mode 0
600
3.3
ATA
PIO mode 1
383
5.2
ATA
PIO mode 2
240
8.3
ATA
PIO mode 3
180
11.1
ATA-2 (IORDY required)
PIO mode 4
120
16.7
ATA-2 (IORDY required)
DMA mode 0 (Multiword)
480
4.2
ATA
DMA mode 1 (Multiword)
150
13.3
ATA-2
DMA mode 2 (Multiword)
120
16.7
ATA-2
Ultra DMA mode 0
114
16.7
ATA-4
Ultra DMA mode 1
75
25
ATA-4
Ultra DMA mode 2
55
33
ATA-4
11.7.3
ATA Addressing
In the ATA interface, there are two aspects of addressing that are present: register addressing and sector
addressing. These are discussed in the next sections.
11.7.3.1
ATA Register Addressing
The address used to reference an ATA drive register. This is the actual address (CS[1]FX, CS[3]FX,
DA[2:0]) present on the physical ATA interface. Table 11-37 gives details.
Table 11-37. ATA Register Address/Chip Select Decoding
Address
Function
READ (DIOR)
WRITE (DIOW)
System
Address
CS[1]FX
—
1
1
x
x
x
Data bus high impedance
Not used
03F0–03F3
1
0
0
x
x
Data bus high impedance
Not used
03F4–03F5
1
0
1
0
x
Data bus high impedance
Not used
03F6
1
0
1
1
0
Alternate status
Device control
03F7
1
0
1
1
1
Obsolete
Not used
CS[3]FX
DA[2]
DA[1]
DA[0]
Control Block Registers
Command Block Registers
01F0
0
1
0
0
0
Data
Data
01F1
0
1
0
0
1
Error register
Features
01F2
0
1
0
1
0
Sector count
Sector count
01F3
0
1
0
1
1
Sector number
Sector number
1
1
LBA bits 0–71
01F3
0
1
0
1
LBA bits 0–7
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-39
ATA Controller
Table 11-37. ATA Register Address/Chip Select Decoding (continued)
Address
1
Function
WRITE (DIOW)
READ (DIOR)
System
Address
CS[1]FX
01F4
0
CS[3]FX
DA[2]
DA[1]
DA[0]
Control Block Registers
1
1
0
0
Cylinder low
Cylinder low
1
01F4
0
1
1
0
0
LBA bits 8–15
01F5
0
1
1
0
1
Cylinder high
LBA bits 8–151
Cylinder high
1
01F5
0
1
1
0
1
LBA bits 16–23
LBA bits 16–231
01F6
0
1
1
1
0
Drive/head
Drive/head
1
01F6
0
1
1
1
0
LBA bits 24–27
LBA bits 24–271
01F7
0
1
1
1
1
Status
Command
—
0
0
x
x
x
Invalid address
Invalid address
LBA mode register mapping—system addresses are for a single channel, accommodating two drives only.
11.7.3.2
Drive Interrupt
A pending drive interrupt is cleared by the following actions:
• Read of status (not the alternate status) register
• Write to command register
11.7.3.3
Sector Addressing
Sector addressing is the address used to reference data on the drive. It is the address used by the low-level
drivers to access a particular piece of data and to place it into one or more ATA registers as part of a
command block. To understand the data addressing, it is necessary to understand the physical organization
of data in a drive, as presented in Figure 11-1. Each drive contains a number of disks, each with one or two
heads (one head per surface). Each disk is divided into concentric tracks that are then divided into a number
of sectors. A sector is the smallest unit of data that can be written or read by a drive. The collections of
tracks that can be accessed by the heads at a single position is called a cylinder. Therefore, a sector can be
uniquely identified by a sector number, a head number and a cylinder number. From this addressing
scheme there are two ways to address an individual sector: physical addressing and logical block
addressing, which are described in the next two sections.
NOTE
LBA mode is only available in ATA-2 or later specifications.
A block mode exists (not to be confused with logical block addressing), in
which sectors are grouped into a unit, called a block, for purposes of data
transfer. The number of sectors is set with SET MULTIPLE MODE
command and is used by the READ MULTIPLE and WRITE MULTIPLE
commands. When specifying sectors within a block, either CHS or LBA
mode may be used.
MPC5200B User’s Manual, Rev. 3
11-40
Freescale Semiconductor
ATA Controller
11.7.3.4
Physical/Logical Addressing Modes
Addressing is done by referencing the sector, head and cylinder for a particular sector. Using a physical
addressing mode, there are two mappings available:
• Natural—Sector, head and cylinder numbers represent actual physical sectors, heads and cylinders
on the drive.
• Logical—Sector, head and cylinder numbers map to different physical sectors, heads and cylinders
on the drive.
Most modern hard disks usually have 2, 3 or 4 platters. All platters are connected together on a common
spindle to spin as a single assembly. Each platter has two surfaces and two heads to access each surface.
The platter is a collection of concentric circles called tracks, to store data. Each track is subdivided into
sectors. Each sector can hold 540Bytes of information, with 512Bytes being used for data and 28Bytes
being used for error correction code (ECC). A set of tracks under each head at the same track position is
called a cylinder. So to get to the disk read/write data point, a cylinder address, a head address and a sector
address is needed. Hence the basic addressing mode is called cylinder head sector (CHS) addressing.
In this mode, the address is written into the ATA registers as follows:
• Cylinder→{Cylinder High (0x01F5), Cylinder Low (0x01F4)}
• Head→Drive/Head (0x01F6)
• Sector→Sector Number (0x01F3)
To most efficiently use the drive for data storage, the physical geometry is translated into logical geometry
by the hard disk manufacturers. The BIOS or overlay software from the disk manufacturer translates the
logical geometry to physical geometry to get to the physical location of the data written/read on/from the
disk.
The CHS method is limited to 1024 cylinders, 16 heads and 63 sectors. This limits the hard disk
recognition to a maximum of 504MBytes. This limit is increased for larger disks by enhancing the CHS
translation. BIOS limits cylinder size to 1024 (10bits allocated), but allows the number of heads to be 256
(8bits allocated). Therefore, a 3.1GByte hard disk with 6136 cylinders and 16 heads is translated by
dividing the cylinders by 8 (6136 ÷ 8 = 767). The number of heads is then multiplied by the same number
(16 x 8 = 128). This fits well within the limits set by the BIOS and a larger disk is recognized for its true
size (767 x 128 x 63 x 512 = 3.1GBytes).
Another form of addressing is called logical block addressing (LBA). This uses 28bits in the ATA standard
to address a particular sector on a hard disk. A sum total of sectors on a drive is available and each unique
sector is addressed using LBA.
Mapping from physical organization to logical block numbers is done using the following formula:
LBA→(Cylinder# x HeadCount + Head#) x SectorCount + Sector# –1
In this mode, the address is written in the ATA Registers as follows:
LBA→{LBA[0:7](0x01F3), LBA[8:15](0x01F4), LBA[16:23](0x01F5), LBA[24:27]
(0x01F6)}
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-41
ATA Controller
GAP1
VFO Sync
Sync
GAP1
Sync
Cylinder
Header
Cylinder
Header
Write Splice
Head Sector
GAP2
Head Sector
Sync
VFO Sync
512 Bytes data
CRC
512 Bytes data
ECC
GAP3
Soft-Sector Format
GAP3
ECC
CRC
Hard-Sector Format
Figure 11-34. ATA Sector Format
11.7.4
ATA Transactions
ATA Transactions are divided into three types:
• PIO Mode
• Multiword DMA
• Ultra DMA
11.7.4.1
PIO Mode Transactions
PIO mode transactions are the simplest transaction available on the ATA interface. They essentially consist
of single word accesses across the ATA interface. There are currently 6 PIO modes available, which are
summarized in Table 11-36. Timing and sequence information are given in the MPC5200B data sheet.
Three classes of ATA commands use PIO Mode:
•
•
•
Class 1—PIO Read
Class 2—PIO Write
Class Non-Data Command
MPC5200B User’s Manual, Rev. 3
11-42
Freescale Semiconductor
ATA Controller
11.7.4.1.1
Class 1—PIO Read
Figure 11-35 shows the PIO Read process.
• PIO Single sector read [identify drive, read buffer, read sector(s)]
• Interrupt is generated after each sector is read into the sector buffer:
1.
2.
3.
4.
5.
6.
7.
8.
9.
HOST: Write to ATA control/command block registers to setup for data read.
HOST: Write to ATA command register to execute read command.
HOST: Poll drive to see if it is ready.
DRIVE: Read sector from physical medium to sector buffer.
DRIVE: Interrupt HOST when done.
HOST: Read ATA control/command block registers to get status
DRIVE: Clear interrupt after reading status register.
HOST: Read ATA data register 256 times to get all 512Bytes from sector buffer.
Repeat steps 4–8 for multiple sectors.
— PIO Block mode read [read multiple]
— Interrupt is generated after each block is read into sector buffer:
1.
2.
3.
4.
5.
6.
7.
8.
HOST: Write to ATA control/command block registers to setup for data read.
HOST: Write to ATA command register to execute read command.
HOST: Poll drive to see if it is ready.
DRIVE: Read block of sectors from physical medium to sector buffer.
DRIVE: Interrupt HOST when done.
HOST: Read ATA control/command block registers to get status.
DRIVE: Clear interrupt after reading status register.
HOST: Read ATA data register to get all sectors from sector buffer.
Host
Set Up
Register
Block
Drive
Send
Command
Read
Status
Read
Sector
Read
Sector
Buffer
Read
Status
Read
Sector
Buffer
Read
Sector
DRDY
BSY
DRQ
INTRQ
Figure 11-35. Timing Diagram—PIO Read Command (Class 1)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-43
ATA Controller
11.7.4.1.2
Class 2—PIO Write
The PIO single sector write command [format, write buffer, write sector(s)] is as follows:
1. HOST: Write to ATA control/command block registers to setup for data write.
2. HOST: Write to ATA command register to execute write command.
3. HOST: Poll drive to see if it is ready.
4. HOST: Write ATA data register 256 times to get all 512Bytes into sector buffer.
5. DRIVE: When sector buffer is filled, write sector to physical medium.
6. DRIVE: Interrupt HOST when done.
7. HOST: Read ATA control/command block registers to get status.
8. DRIVE: Clear interrupt after reading status register.
9. Repeat steps 4–8 for multiple sector writes.
The PIO block mode write command (write multiple) is as follows:
1. HOST: Write to ATA control/command block registers to set up for data write.
2. HOST: Write to ATA command register to execute write command.
3. HOST: Poll drive to see if it is ready.
4. HOST: Write ATA data register 256 times to get all sectors into sector buffer.
5. DRIVE: When sector buffer is filled, write sector to physical medium.
6. DRIVE: Interrupt HOST when done.
7. HOST: Read ATA control/command block registers to get status.
8. DRIVE: Clear interrupt after reading status register.
Figure 11-36 shows the PIO Write process.
Host
Drive
Set Up
Register
Block
Send
Command
Write
Sector
Buffer
Read
Status
Write
Sector
Write
Sector
Buffer
Read
Status
Write
Sector
DRDY
BSY
DRQ
INTRQ
Figure 11-36. Timing Diagram—PIO Write Command (Class 2)
MPC5200B User’s Manual, Rev. 3
11-44
Freescale Semiconductor
ATA Controller
11.7.4.1.3
Class 3—Non-Data Command
The Non-Data Command is as follows:
1. HOST: Write to ATA control/command block registers to setup for data read.
2. HOST: Write to ATA command register to execute read command.
3. DRIVE: Execute command.
Figure 11-37 shows the Non-Data Command.
Host
Set Up
Register
Block
Drive
Set Up
Register
Block
Send
Command
Execute
Command
Send
Command
Execute
Command
DRDY
BSY
DRQ
INTRQ
Figure 11-37. Timing Diagram—Non-Data Command (Class 3)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-45
ATA Controller
11.7.4.2
DMA Protocol
The DMA protocol has the following commands:
• READ DMA
• WRITE DMA
The Host selects the multiword DMA protocol as follows:
1. Write 00100b to upper 5 bits ([7:3]) of sector count register to select multiword DMA protocol.
Write desired mode value to lower 3 bits ([2:0]) of sector count register to set multiword DMA
transfer mode (mode 0=000b, mode 1=001b, etc.).
2. Write sub-command code 0x03 to features register to set transfer mode, based on value in sector
count register.
3. Write command code 0xEF to command register to execute SET FEATURES command. This sets
the data transfer protocol to multiword DMA with desired mode.
Data transfers into DMA differ from a PIO transfer in that:
• Data is transferred using the DMA channel.
• A single interrupt is issued at command completion.
The Host initializes the DMA channel prior to issuing DMA mode commands. The drive asserts an
interrupt when data transfer is complete. The DMA command protocol is as follows:
1. HOST: Read status or alternate status register until BSY and DRQ are both 0. (ATA-4, 41, 48).
2. HOST: Write device/head register with appropriate DEV bit value to select drive. (ATA-4, 45).
3. HOST: Wait 400 ns, read status or alternate status register until BSY & DRQ are set to 0. The
required drive is then assured to be selected.
4. HOST: Write required command parameters to the features, sector count, sector number, cylinder
high, cylinder low, and device/head registers. (ATA-4, chapter 7).
5. HOST: Write command code to command register for drive to start processing command using
parameters from the command block registers. (ATA-4, 41).
6. DRIVE: If no drive error exists, set BSY=1 and begin processing command.
7. HOST: Wait 400ns, read status or alternate status register to ensure valid contents.
8. DRIVE: Set BSY=1 or BSY=0 && DRQ=1.
9. DRIVE: Assert DMARQ when ready, transfer data per multiword DMA timing or ultra DMA
protocol.
10. HOST: Assert DMACK, negate CS [0] and CS [1] when ready to transfer data per multiword DMA
timing or ultra DMA protocol. Transfers are 16-bit wide from the data port. DMA data out
(drive→host) transfers are processed by a series of reads to the data port. Each read transfers the
data that follows the previous read. DMA in data (host→drive) transfers are processed by a series
of writes to this port. Each write transfers the data that follows the previous write. Results are
indeterminate if data port is written during a DMA data out or data port is read during a DMA data
in transfers.
MPC5200B User’s Manual, Rev. 3
11-46
Freescale Semiconductor
ATA Controller
11. DRIVE: Negate DMARQ when transfer is complete.
12. DRIVE: Set error status in error register if error exists.
13. DRIVE: Clear BSY and DRQ.
14. DRIVE: Assert INTRQ if Host has enabled nIEN (set to 0) in command control register. This
register is written by the host to enable interrupt from the drive by clearing nIEN bit to 0. INTRQ
is in a high impedance state if nIEN bit is set to 1.
When host sets command control register bit SRST to 1, software can reset selected drive. However, the
command control register must be written while DMACK is not asserted. Bit 0 must be cleared to 0.
1. HOST: To clear pending interrupt, read status register (regardless of nIEN status).
2. DRIVE: If enabled by nIEN (nIEN = 0), negate INTRQ.
3. DMA command completes.
Table 11-38. DMA Command Parameters
Parameters Used (Registers)
DMA
Command
Command
Code
READ DMA
WRITE DMA
Features
Sector
Count
Sector
Number/LBA
Cylinder
HI/LO/LBA
Device/Head/LBA
C8h
Yes
Yes
Yes
Yes
D/H Both
CAh
Yes
Yes
Yes
Yes
D/H Both
Figure 11-38 shows the DMA command protocol flow diagram.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-47
ATA Controller
START
Drive: Assert DMARQ when
ready to transfer data
Host: Read Status or
Alternate Status register
Host:
BSY = 0 &
DRQ = 0
Host: Assert DMACK when
ready to transfer data
No
Yes
Drive:
Transfer
Done
Host: Write Device/Head
register to select drive
No
Yes
Host: Read Status or
Alternate Status register
Drive:
Error
No
Yes
Host:
BSY = 0 &
DRQ = 0
No
Drive: Set Error Status
Yes
Drive: Clear BSY = 0 and DRQ = 0
Write Control/Command block
registers to setup data transfer
No
Write Command Code
to Command register
Yes
Drive: Set BSY = 1 and
begin command execution
Drive: Assert INTRQ
Host: Read Status Register
Drive:
Error
Drive:
nIEN = 0
Host: Read Status Register
Yes
Drive: Negate INTRQ
No
END
Drive: Set BSY = 1, or
BSY = 0 & DRQ = 1
Figure 11-38. Flow Diagram—DMA Command Protocol
MPC5200B User’s Manual, Rev. 3
11-48
Freescale Semiconductor
ATA Controller
11.7.4.3
Multiword DMA Transactions
Multiword DMA transactions differ from PIO mode transactions in three ways:
1. Data transfers are done using a drive DMA and a host DMA (optional).
2. Handshaking is done with DMARQ and DMACK, no address is necessary.
3. Interrupts do not occur after every sector for multi-sector transfers
11.7.4.3.1
Class 4—DMA Command
Figure 11-39 shows the DMA timing diagram. The DMA command (Read DMA, Write DMA) is as
follows:
1. HOST: Set up HOST DMA (in ATA Host Controller or system DMA).
2. HOST: Write to ATA control/command block registers to setup drive DMA.
3. HOST: Write to ATA control/command block registers to set up data read/write.
4. HOST: Write to ATA command register to execute the read/write command.
5. DRIVE: Assert DMARQ.
6. HOST: When DMARQ is asserted, assert DMACK.
7. DRIVE: Read sector from physical medium to sector buffer.
8. DRIVE: Transfer data to HOST using DMA handshaking.
9. Repeat steps 7–8 as needed for multiple sectors.
10. DRIVE: De-assert DMARQ.
11. HOST: De-assert DMACK.
12. DRIVE: Interrupt HOST.
13. HOST: Stop HOST DMA.
14. HOST: Read ATA control/command block registers to get status.
15. DRIVE: Clear interrupt after reading status register.
Host
Set Up
DMA
Drive
DRDY
BSY
Set Up
Command
/Registers
Carry out DMA
Read
Sector
Reset
DMA
Reset
Status
Read
Sector
UNDEFINED
UNDEFINED
IEN
Figure 11-39. Timing Diagram—DMA Command (Class 4)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-49
ATA Controller
11.7.4.4
Ultra DMA Protocol
The Ultra DMA protocol has the following commands:
• READ DMA
• WRITE DMA
The host selects the Ultra DMA protocol as follows:
• Write 01000b to upper 5 bits ([7:3]) of sector count register to select ultra DMA protocol. Write
desired mode value to lower 3 bits ([2:0]) of sector count register to set ultra DMA transfer mode
(mode 0=000b, mode 1=001b, etc.).
• Write sub-command code 03h to features register to set transfer mode based on value in sector
count register.
• Write command code EFh to command register to execute SET FEATURES command, which sets
the data transfer protocol to ultra DMA with desired mode.
When enabled, the ultra DMA protocol is used instead of the multiword DMA protocol.
NOTE
Ultra DMA mode 2 (UDMA2) requires that the ip bus clock speed is at least
66MHz.
Table 11-39 lists the redefined ultra DMA protocol signal lines. These lines provide new functions during
the ultra DMA mode. At termination of an ultra DMA burst, the host negates DMACK and the lines revert
to the definitions used for non-ultra DMA transfers.
Table 11-39. Redefinition of Signal Lines for Ultra DMA Protocol
Non-Ultra DMA Modes
Ultra DMA Modes
DIOR
HDMARDY
Host DMA ready during Ultra DMA data in bursts
HSTROBE
Host data strobe during Ultra DMA data out bursts
DDMARDY
Drive DMA ready during Ultra DMA data out bursts
DSTROBE
Drive data strobe during Ultra DMA data in bursts
IORDY
DIOW
STOP
Description
Host stop ultra DMA bursts
Both the host and drive do a CRC function during an ultra DMA burst:
• The host sends CRC data to the drive.
• The drive does a CRC data comparison.
If the CRC comparison fails, the error register ERR bit is set. The drive always reports the first error that
occurs.
MPC5200B User’s Manual, Rev. 3
11-50
Freescale Semiconductor
ATA Controller
11.8
ATA RESET/Power-Up
11.8.1
Hardware Reset
The host asserts RESET for a minimum of 25µs after power has stabilized within system specified
tolerance. A signal assertion less than 20ns is not recognized by the drive.
The host should not do the following:
• set the device control register bit SRST to 1 to enable the drive for software reset
• issue a DEVICE RESET command while the status register BSY bit is set to 1.
NOTE
Hardware reset is a board requirement, not an MPC5200B function unless
GPIO is used.
11.8.2
Software Reset
The host sets the device control register bit SRST to 1. Any subsequent setting and clearing of the SRST
bit must be at least 5µs apart.
Figure 11-40 shows the Reset timing diagram. Table 11-40 gives timing characteristics.
tM
RESET
tN
Can set BSY=0 if Drive 1 not present
BSY
Drive 0
tP
tR Drive 0
Can assert DASP to indicate
active if Drive 1 not present
DASP
Control
Registers
tN
BSY
Drive 1
tP
tQ
PDIAG
tS
tR Drive 1
DASP
Figure 11-40. Timing Diagram—Reset Timing
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
11-51
ATA Controller
Table 11-40. Reset Timing Characteristics
Name
Min/Max
Timing
tM
Reset pulse width
Min
25µs
tN
Reset negated to BSY active setup
Max
400ns
tP
Reset negated to DASP inactive setup
Max
1ms
tQ
DASP active to PDIAG active setup
Max
30s
tR
Drive 0—Reset negated to DASP active setup
Max
450ms
Drive 1—Reset negated to DASP active setup
Max
400ms
DASP active to PDIAG inactive setup
Max
30.5s
tS
11.9
PIO Timing Parameter
ATA I/O Cable Specifications
For reference, the standard ATA cable specifications affects stem integrity and should not exceed 18inches
or 0.46m. Total cable capacitance should not exceed 35pF.
MPC5200B User’s Manual, Rev. 3
11-52
Freescale Semiconductor
Chapter 12
Universal Serial Bus (USB)
12.1
Overview
The following sections are contained in this document:
• Section 12.2, “Data Transfer Types”
• Section 12.4, “Host Control (HC) Operational Registers”, includes:
— Section 12.4.2, “Control and Status Partition”
— Section 12.4.3, “Memory Pointer Partition”
— Section 12.4.4, “Frame Counter Partition”
— Section 12.4.5, “Root Hub Partition”
The Universal Serial Bus (USB) is an external bus standard that supports data transfer rates of 12Mbps.
Figure 12-1 shows the four main areas of a USB system, which are:
• Client software/USB driver—software implemented
• Host Controller Driver (HCD)—software implemented
• Host Controller (HC)—hardware implemented
• USB device—hardware implemented
Client Software
USB Driver
Software
Host Controller Driver
Scope of OHCI
Host Controller
Hardware
USB Device
Figure 12-1. USB Focus Areas
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-1
Universal Serial Bus (USB)
The Open Host Controller Interface (OHCI) is a register-level description of a HC for the Universal Serial
Bus (USB). OHCI specifies the interface between and the fundamental HCD operation and the HC.
The HCD and HC work in tandem to transfer data between client software and a USB device. Data is
translated from shared-memory data structures at the client software end, to USB signal protocols at the
USB device end, and vice-versa.
12.2
Data Transfer Types
Four data transfer types are defined in the USB. Each type is optimized to match the service requirements
between client software and the USB device. These types are:
• Interrupt Transfers—Small data transfers used to communicate information from the USB
device to the client software. The HCD polls the USB device by issuing tokens to the device at a
periodic interval sufficient for the requirements of the device.
• Isochronous Transfers—Periodic data transfers with a constant data rate. Data transfers are
correlated in time between the sender and receiver.
• Control Transfers—Non-periodic data transfers used to communicate
configuration/command/status type information between client software and the USB device.
• Bulk Transfers—Non-periodic data transfers used to communicate large amounts of information
between client software and the USB device.
In OpenHCI the data transfer types are classified into two categories: periodic and nonperiodic. Periodic
transfers are interrupt and isochronous since they are scheduled to run at periodic intervals. Non-periodic
transfers are control and bulk since they are not scheduled to run at any specific time, but rather on a
time-available basis.
12.3
12.3.1
Host Controller Interface
Communication Channels
There are two communication channels between the HC and HCD.
1. The first channel uses a set of operational registers located on the HC. The HC is the target for all
communication on this channel. The operational registers contain control, status, and list pointer
registers. Within the operational register set is a pointer to a location in shared memory named the
HC Communications Area (HCCA).
2. The HCCA is the second communication channel. The HC is the master for all communication on
this channel. The HCCA contains the head pointers to the interrupt endpoint descriptor lists, the
head pointer to the done queue, and status information associated with start-of-frame processing.
MPC5200B User’s Manual, Rev. 3
12-2
Freescale Semiconductor
Universal Serial Bus (USB)
Device Enumeration
OpenHCI
Operational
Registers
Host Controller Communications Area
Mode
Interrupt 0
HCCA
Interrupt 1
Status
Interrupt 2
Event
Frame Int
. . .
Interrupt 31
. . .
Ratio
Control
Bulk
. . .
Done
Device Register in
Memory Space
Shared RAM
Figure 12-2. Communication Channels
NOTE
The Open Host Controller Interface (OHCI) specification describes the Host
Controller Communication Area (HCCA), which is located in memory (as
opposed to the USB module register). The start address (base address) of
that memory area is defined by the USB controller register HC
Communication Register.
The HCCA includes the “virtual” registers HccaFrameNumber and
HccaPad1. The offsets shall be 0x80 (for HccaFrameNumber) and 0x82 (for
HccaPad1).
In the USB module of the MPC5200B these two “virtual” registers are
swapped. The HccaFrameNumber is a copy of the Frame Number field at
the USB HC Timing Reference Register.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-3
Universal Serial Bus (USB)
12.3.2
Data Structures
The basic building blocks for communication across the interface are the endpoint descriptor (ED) and
transfer descriptor (TD).
The HCD assigns an endpoint descriptor to each endpoint in the system. The endpoint descriptor contains
the information necessary for the HC to communicate with the endpoint. The fields include the maximum
packet size, the endpoint address, the speed of the endpoint, and the direction of data flow. Endpoint
descriptors are linked in a list.
A queue of transfer descriptors is linked to the endpoint descriptor for the specific endpoint. The transfer
descriptor contains the information necessary to describe the data packets to be transferred. The fields
include data toggle information, shared memory buffer location, and completion status codes. Each
transfer descriptor contains information that describes one or more data packets. The data buffer for each
transfer descriptor ranges in size from 0 to 8192 Bytes with a maximum of one physical page crossing.
Transfer descriptors are linked in a queue; the first one queued is the first one processed.
Each data transfer type has its own linked list of endpoint descriptors to be processed. Figure 12-3 shows
the data structure relationship.
Head Ptr
ED
ED
ED
ED
TD
TD
TD
TD
TD
TD
TD
Figure 12-3. Typical List Structure
The head pointers to the bulk and control endpoint descriptor lists are maintained within the operational
registers in the HC. The HCD initializes these pointers prior to the HC gaining access to them. Should
these pointers need to be updated, the HCD may need to stop the HC from processing the specific list,
update the pointer, then re-enable the HC.
The head pointers to the interrupt endpoint descriptor lists are maintained within the HCCA. There is no
separate head pointer for isochronous transfers. The first isochronous endpoint descriptor simply links to
the last interrupt endpoint descriptor. There are 32 interrupt head pointers. The head pointer used for a
particular frame is determined by using the last five bits of the frame counter as an offset into the interrupt
array within the HCCA.
The interrupt endpoint descriptors are organized into a tree structure with the head pointers being the leaf
nodes. The desired interrupt endpoint polling rate is achieved by scheduling the endpoint descriptor at the
appropriate depth in the tree. The higher the polling rate, the closer to the root of the tree the endpoint
descriptor is placed. Figure 12-4 shows the interrupt endpoint structure. The Interrupt endpoint descriptor
MPC5200B User’s Manual, Rev. 3
12-4
Freescale Semiconductor
Universal Serial Bus (USB)
placeholder indicates where zero or more endpoint descriptors may be queued. The numbers on the left are
the index into the HCCA interrupt head pointer array.
Interrupt
Headpointers
0
16
8
24
4
20
12
28
2
18
10
26
6
22
14
30
1
17
9
25
5
21
13
29
3
19
11
27
7
23
15
31
Interrupt
Endpoint
Descriptor
Placeholder
32 16
8
4
2
1
Endpoint Poll Interval (ms)
Figure 12-4. Interrupt ED Structure
Figure 12-5 shows a sample interrupt endpoint schedule. The schedule shows:
•
•
•
•
•
•
Two endpoint descriptors at a 1ms poll interval
Two endpoint descriptors at a 2ms poll interval
One endpoint descriptor at a 4ms poll interval
Two endpoint descriptors at an 8ms poll interval
Two endpoint descriptors at a 16ms poll interval
Two endpoint descriptors at a 32ms poll interval.
NOTE
Unused interrupt endpoint placeholders are bypassed and the link is
connected to the next available endpoint in the hierarchy.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-5
Universal Serial Bus (USB)
Interrupt
Headpointers
0
16
8
24
4
20
12
28
2
18
10
26
6
22
14
30
1
17
9
25
5
21
13
29
3
19
11
27
7
23
15
31
Interrupt
Endpoint
Descriptor
32 16
8
4
2
1
Endpoint Poll Interval (ms)
Figure 12-5. Sample Interrupt Endpoint Schedule
12.4
Host Control (HC) Operational Registers
Host Control contains a set of on-chip operational registers which are mapped into a non-cacheable portion
of the system addressable space. These registers are used by the HCD. According to the function of these
registers, they are divided into four partitions, specifically for control and status, memory pointer, frame
counter and root hub. All of the registers should be read and written as 32-bit words.
Reserved bits may be allocated in future releases of this specification. To ensure interoperability, the HCD
that does not use a reserved field should not assume the reserved field contains 0. In addition, HCD should
always preserve the reserved field value(s).
When a R/ W register is modified, the HCD should first read the register and modify the bits desired. Then,
HCD should write the register with the reserved bits still containing the read value. Alternatively, HCD
can maintain an in-memory copy of previously written values that can be modified and written to the HC
register. When a write to the set/clear register is written, bits written to reserved fields should be 0.
MPC5200B User’s Manual, Rev. 3
12-6
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.1
Programming Note
Programmers should observe the following notes:
1. The CDM 48MHz Fractional Divider Configuration Register must be initialized before you can
access any USB registers. If this register is not initialized, every USB register access will cause a
machine check interrupt.
For Example: If the SYS_XTAL_IN frequency is 33 MHz and the RST_CFG6 pin is low
(multiplier 16), than the four phase divide ratios must be set to 0x5,fractional counter divide ration
of fsystem /11. 33 MHz * 16 / 11 = 48 MHz (USB frequency)
2. The GPS Port Configuration Register must be initialized to communicate over the muxed USB
port. It configures USB for Differential or SE0 mode, the port to be used for USB2 and if the
IrDA/USB 48 MHz clock is generated internally or externally.
12.4.2
Control and Status Partition
This HC partition uses 6 32-bit registers. These registers are located at an offset from MBAR of 0x1000.
Register addresses are relative to this offset. Therefore, the actual register address is: MBAR + 0x1000 +
register address
The following registers are available:
• USB HC Revision Register (0x1000)
• USB HC Control Register (0x1004)
• USB HC Command Status Register (0x1008)
• USB HC Interrupt Status Register (0x100C)
• USB HC Interrupt Enable Register (0x1010)
• USB HC Interrupt Disable Register (0x1014)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-7
Universal Serial Bus (USB)
12.4.2.1
USB HC Revision Register
Address MBAR + 0x1000
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
0
0
REV
0
0
0
0
0
0
1
Figure 12-6. USB HC Revision Register
Table 12-1. USB HC Revision Register Field Descriptions
Bits
Name
0:23
–
24:31
REV
Description
Reserved
Revision—a read-only field containing the BCD representation of the HCI specification version
implemented by this HC. For example, a value of 11h corresponds to version 1.1. All HC
implementations compliant with this specification have a value of 10h.
MPC5200B User’s Manual, Rev. 3
12-8
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.2.2
USB HC Control Register
The HC Control register defines HC operating modes. Except for HostController FunctionalState and
RemoteWakeUpConnected, most fields in this register are modified only by the HCD.
Address MBAR + 0x1004
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
BLE
CLE
IE
PLE
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
RWE RWC
0
0
0
0
IR
0
HCFS
0
0
CBSR
0
0
Figure 12-7. USB HC Control Register
Table 12-2. USB HC Control Register Field Descriptions
Bits
Name
Description
0:20
—
21
RWE
RemoteWakeUpEnable—HCD uses bit to enable or disable the remote WakeUp feature on
detection of upstream resume signaling.
When this bit is set and the ResumeDetected bit in HcInterruptStatus is set, a remote WakeUp is
signaled to the host system. Setting this bit has no impact on the generation of hardware interrupt.
22
RWC
RemoteWakeUpConnected—bit indicates whether HC supports remote WakeUp signaling. If
remote WakeUp is supported and used by the system it is the responsibility of system firmware to
set this bit during BOOT UP.
HC clears bit on a hardware reset, but does not alter it on a software reset. Host system remote
WakeUp signaling is host-bus-specific and not described in this specification.
23
IR
InterruptRouting—bit determines routing of interrupts generated by events registered in
HcInterruptStatus.
The IR Bit is ignored by the MPC5200B. It is here to maintain OHCI compliancy. The interrupt from
the USB module is routed to the interrupt controller in the SIU where it can be routed to the SMI or
NORMAL interrupt.
24:25
HCFS
HostControllerFunctionalState—a USB field:
00 USBRESET
01 USBRESUME
10 USBOPERATIONAL
11 USBSUSPEND
Transition to USBOPERATIONAL from another state causes SOF generation to begin 1ms later.
HCD may determine if HC has begun sending SOFs by reading the StartofFrame field of
HcInterruptStatus. This field may be changed by HC, only when in the USBSUSPEND state. HC
may move from the USBSUSPEND state to the USBRESUME state after detecting resume
signaling from a downstream port. HC enters USBSUSPEND after a software reset, whereas it
enters USBRESET after a hardware reset. A hardware reset also resets the Root Hub and asserts
subsequent reset signaling to downstream ports.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-9
Universal Serial Bus (USB)
Table 12-2. USB HC Control Register Field Descriptions (continued)
Bits
Name
26
BLE
BulkListEnable—setting bit enables Bulk list processing in next Frame.
• If cleared by HCD, Bulk list processing does not occur after next SOF. HC checks this bit
whenever it determines to process the list. When disabled, HCD may modify the list.
• If HcBulkCurrentED points to an ED to be removed, HCD advances pointer by updating
HcBulkCurrentED before re-enabling list processing.
27
CLE
ControlListEnable—setting bit enables Control list processing in next Frame.
• If cleared by HCD, Control list processing does not occur after next SOF. HC checks this bit
whenever it determines to process the list. When disabled, HCD may modify the list.
• If HcControlCurrentED points to an ED to be removed, HCD advances pointer by updating
HcControlCurrentED before re-enabling list processing.
28
IE
IsochronousEnable—HCD uses bit to enable/disable isochronous EDs processing. While
processing the periodic list in a Frame, HC checks bit status when it finds an Isochronous ED (F=1).
• If set (enabled), HC continues processing the EDs.
• If cleared (disabled), HC halts periodic list processing, which now contains only isochronous
EDs, and begins processing Bulk/Control lists.
Setting this bit is guaranteed to take effect in the next Frame, not the current Frame.
29
PLE
PeriodicListEnable—setting bit enables periodic list processing in next Frame. If cleared by HCD,
periodic list processing does not occur after the next SOF. HC checks this bit prior to starting list
processing.
30:31
CBSR
ControlBulkServiceRatio—field specifies the service ratio between Control and Bulk EDs. Before
processing non-periodic lists, HC compares the ratio specified with its internal count on how many
non-empty Control EDs have been processed, in determining whether to continue serving another
Control ED or switching to Bulk EDs. When crossing the frame boundary, the internal count is
retained. In case of reset, HCD is responsible for restoring this value.
CBSR=Number of Control EDs Over Bulk EDs Served
0 1:1
1 2:1
2 3:1
3 4:1
12.4.2.3
Description
USB HC Command Status Register
HC uses the HC Command Status register to receive (Rx) commands issued by HCD. It reflects the current
HC status. To HCD, it appears to be a write-to-set register. HC ensures bits written as 1 are set in the
register, while bits written as 0 remain unchanged in the register. HCD may issue multiple distinct
commands to HC without concern for corrupting previously issued commands. HCD has normal read
access to all bits.
The SchedulingOverrunCount field indicates the number of frames in which HC detects scheduling
overrun errors. This occurs when the Periodic list does not complete before EOF. When a scheduling
overrun error is detected, HC increments the counter and sets SchedulingOverrun field in
HcInterruptStatus register.
MPC5200B User’s Manual, Rev. 3
12-10
Freescale Semiconductor
Universal Serial Bus (USB)
Address MBAR + 0x1008
0
1
2
3
4
5
R
8
9
10
11
12
13
14
15
SOC
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
OCR
BLF
CLF
HCR
0
0
0
0
R
Reserved
W
Reset
7
Reserved
W
Reset
6
0
0
0
0
0
0
0
0
0
0
0
0
Figure 12-8. USB HC Command Status Register
Table 12-3. USB HC Command Status Register Field Descriptions
Bits
Name
Description
0:13
—
14:15
SOC
16:27
—
28
OCR
OwnershipChangeRequest—OS HCD sets this bit to request an HC change of control. When set,
HC sets the OwnershipChange field in HcInterruptStatus. After changeover, this bit is cleared and
remains clear until the next OS HCD request.
29
BLF
BulkListFilled—bit indicates whether there are Bulk List TDs. HCD sets this bit when it adds a TD
to a Bulk List ED. When HC begins processing the Bulk List head, it checks BF.
• If BLF is 0, HC does not start Bulk List processing.
• If BLF is 1, HC starts Bulk List processing and sets BF to 0.
• If HC finds a Bulk List TD, HC sets BLF to 1, causing Bulk List processing to continue.
• If HC does not find a Bulk List TD and HCD does not set BLF, then BLF remains 0 when HC
completes processing and Bulk List processing stops.
30
CLF
ControlListFilled—bit indicates whether there are Control List TDs. HCD sets this bit when it adds
a TD to a Control List ED. When HC begins processing the Control List head, it checks CLF.
• If CLF is 0, HC does not start Control List processing.
• If CF is 1, HC starts Control List processing and sets CLF to 0.
• If HC finds a Control List TD, CLF is set to 1, causing Control List processing to continue.
• If HC does not find a Control List TD and HCD does not set CLF, then CLF remains 0 when HC
completes processing and Control List processing stops.
31
HCR
HostControllerReset—HCD sets bit to initiate a software reset of HC. Regardless of the HC
functional state, it moves to the USBSUSPEND state in which most of the operational registers are
reset except those stated otherwise. For example, HcControl Interrupt Routing field and no Host bus
access is allowed.
On completion of the reset operation, HC clears this bit. Completion must be within 10ms. When
set, this bit should not cause a root hub reset and no subsequent reset signaling should be asserted
to downstream ports.
Reserved
SchedulingOverrunCount—bits are incremented on each scheduling overrun error. SOC is
initialized to 00 and wraps at 11. SOC increments when a scheduling overrun is detected, even if
SchedulingOverrun in HcInterruptStatus has already been set. HCD uses SOC to monitor any
persistent scheduling problems.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-11
Universal Serial Bus (USB)
12.4.2.4
USB HC Interrupt Status Register
This register provides status on various events that cause hardware interrupts. When an event occurs, HC
sets the corresponding register bit. When a bit is set, a hardware interrupt is generated, if the interrupt is
enabled in the HcInterruptEnable register and the MasterInterruptEnable bit is set. HCD may clear specific
bits in this register by writing 1 to bit positions to be cleared. HCD may not set any of these bits. HC never
clears the bit.
Address MBAR + 0x100C
R
W
Reset
0
1
2
3
Rsvd
OC
5
6
7
8
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
R
Reserved
0
0
9
10
11
12
13
14
15
0
0
0
0
0
0
0
25
26
27
28
29
30
31
RHSC
FNO
UE
RD
SF
WDH
SO
0
0
0
0
0
0
0
Reserved
W
Reset
4
0
0
0
0
0
0
0
Figure 12-9. USB HC Interrupt Status Register
Table 12-4. USB HC Interrupt Status Register Field Descriptions
Bits
Name
Description
0
—
Reserved
1
OC
OwnershipChange—HC sets this bit when HCD sets the HcCommandStatus
OwnershipChangeRequest field. This event, when unmasked, always generate an immediate System
Management Interrupt (SMI).
When the SMI pin is not implemented, the OC bit is tied to 0.
2:24
—
Reserved
25
RHSC
26
FNO
FrameNumberOverflow—bit is set when HcFmNumber msb (bit 15) changes value (from 0 to 1, or
from 1 to 0) and after HccaFrameNumber is updated.
27
UE
UnrecoverableError—bit is set when HC detects a system error not related to USB. HC should not
proceed with processing or signaling prior to the system error being corrected. HCD clears this bit
after HC is reset.
28
RD
ResumeDetected—bit is set when HC detects a USB device asserting a resume signal. It is the
transition from no resume signaling to resume signaling that causes this bit to be set. This bit is not
set when HCD sets the USBRESUME state.
29
SF
StartofFrame—bit is set by HC at each start of a frame and after updating the HccaFrameNumber.
HC also generates an SOF token at the same time.
30
WDH
WritebackDoneHead—bit is set immediately after HC writes HcDoneHead to HccaDoneHead.
Further HccaDoneHead updates do not occur until this bit is cleared. HCD should only clear this bit
after saving HccaDoneHead contents.
31
SO
RootHubStatusChange—bit is set when HcRhStatus content or content of any
HcRhPortStatus[Number of Downstream Port] changes.
SchedulingOverrun—bit is set when USB schedule for the current Frame overruns and after an
HccaFrameNumber update. A scheduling overrun also causes the HcCommandStatus SOC to
increment.
MPC5200B User’s Manual, Rev. 3
12-12
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.2.5
USB HC Interrupt Enable Register
Each enable bit in the HC Interrupt Enable register corresponds to an associated interrupt bit in the
HcInterruptStatus register. The HcInterruptEnable register is used to control which events generate a
hardware interrupt. When:
1. Abit is set in the HcInterruptStatus register, and
2. The corresponding bit is set in the HcInterruptEnable register, and
3. The MasterInterruptEnable bit is set, then
4. Ahardware interrupt is requested on the host bus.
Writing 1 to a bit in this register sets the corresponding bit, whereas writing 0 to a bit in this register leaves
the corresponding bit unchanged. On read, the current value of this register is returned.
Address MBAR + 0x1010
R
W
Reset
0
1
2
3
MIE
OC
5
6
7
8
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
R
Reserved
0
9
10
11
12
13
14
15
0
0
0
0
0
0
0
25
26
27
28
29
30
31
RHSC
FNO
UE
RD
SF
WDH
SO
0
0
0
0
0
0
0
Reserved
W
Reset
4
0
0
0
0
0
0
0
0
Figure 12-10. USB HC Interrupt Enable Register
Table 12-5. USB HC Interrupt Enable Register Field Descriptions
Bits
Name
Description
0
MIE
Master Interrupt Enable—used by HCD.
0 Writing to this bit is ignored by HC.
1 Writing to this bit enables interrupt generation, due to events specified in other bits of this register.
1
OC
OwnershipChange
0 Writing to this bit is ignored by HC.
1 Writing to this bit enables interrupt generation, due to ownership.
2:24
—
Reserved
25
RHSC
RootHubStatusChange
0 Ignore
1 Enable interrupt generation due to root hub status change.
26
FNO
FrameNumberOverflow
0 Ignore
1 Enable interrupt generation due to frame number overflow.
27
UE
UnrecoverableError
0 Ignore
1 Enable interrupt generation due to unrecoverable error.
28
RD
ResumeDetected
0 Ignore
1 Enable interrupt generation due to resume detect.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-13
Universal Serial Bus (USB)
Table 12-5. USB HC Interrupt Enable Register Field Descriptions (continued)
Bits
Name
29
SF
30
WDH
31
SO
12.4.2.6
Description
StartofFrame
0 Ignore
1 Enable interrupt generation due to start of frame.
WritebackDoneHead
0 Ignore
1 Enable interrupt generation due to HcDoneHead writeback.
SchedulingOverrun
0 Ignore
1 Enable interrupt generation due to scheduling overrun.
USB HC Interrupt Disable Register
Each disable bit in the HC Interrupt Disable register corresponds to an associated interrupt bit in the
HcInterruptStatus register. The HcInterruptDisable register is coupled with the HcInterruptEnable register.
Thus, writing a ‘1’ to a bit in this register clears the corresponding bit in the HcInterruptEnable register,
whereas writing a ‘0’ to a bit in this register leaves the corresponding bit in the HcInterruptEnable register
unchanged. On read, the current value of the HcInterruptEnable register is returned.
Address MBAR + 0x1014
R
W
Reset
0
1
2
3
MIE
OC
5
6
7
8
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
Reserved
W
0
0
9
10
11
12
13
14
15
0
0
0
0
0
0
0
25
26
27
28
29
30
31
RHSC
FNO
UE
RD
SF
WDH
SO
0
0
0
0
0
0
0
Reserved
R
Reset
4
0
0
0
0
0
0
0
Figure 12-11. USB HC Interrupt Disable Register
Table 12-6. USB HC Interrupt Disable Register Field Descriptions
Bits
Name
Description
0
MIE
Master Interrupt Enable—bit is set after a hardware or software reset.
0 Written to this bit is ignored by HC.
1 Written to this bit disables interrupt generation, due to events specified in other bits of this register.
1
OC
OwnershipChange
0 Ignore
1 Disable interrupt generation due to Ownership Change
2:24
—
Reserved
25
RHSC
RootHubStatusChange
0 Ignore
1 Disable interrupt generation due to root hub status change.
26
FNO
FrameNumberOverflow
0 Ignore
1 Disable interrupt generation due to frame number overflow.
MPC5200B User’s Manual, Rev. 3
12-14
Freescale Semiconductor
Universal Serial Bus (USB)
Table 12-6. USB HC Interrupt Disable Register Field Descriptions (continued)
Bits
Name
Description
27
UE
UnrecoverableError
0 Ignore
1 Disable interrupt generation due to unrecoverable error.
28
RD
ResumeDetected
0 Ignore
1 Disable interrupt generation due to resume detect.
29
SF
StartofFrame
0 Ignore
1 Disable interrupt generation due to start of frame.
30
WDH
31
SO
WritebackDoneHead
0 Ignore
1 Disable interrupt generation due to HcDoneHead writeback.
SchedulingOverrun
0 Ignore
1 Disable interrupt generation due to scheduling overrun.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-15
Universal Serial Bus (USB)
12.4.3
Memory Pointer Partition
This HC partition uses 7 32-bit registers. These registers are located at an offset from MBAR of 0x1018.
Register addresses are relative to this offset. Therefore, the actual register address is: MBAR + 0x1018 +
register address
The following registers are available:
• USB HC HCCA Register (0x1018)
• USB HC Period Current Endpoint Descriptor Register (0x101C)
• USB HC Control Head Endpoint Descriptor Register (0x1020)
• USB HC Control Current Endpoint Descriptor Register (0x1024)
• USB HC Bulk Head Endpoint Descriptor Register (0x1028)
• USB HC Bulk Current Endpoint Descriptor Register (0x102C)
• USB HC Done Head Register (0x1030)
12.4.3.1
USB HC HCCA Register
The HC HCCA register contains the physical address of the Host Controller Communication Area. HCD
determines alignment restrictions by writing all 1s to HcHCCA and reading the HcHCCA content.
Alignment is evaluated by examining the number of 0s in the lower order bits. Minimum alignment is
256Bytes. Bits 0 through 7 must always return 0 when read. This area holds control structures and the
interrupt table, which are accessed by both the HC and HCD.
Address MBAR + 0x1018
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Reserved
HCCA
W
Reset
9
HCCA
W
Reset
8
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 12-12. USB HC HCCA Register
Table 12-7. USB HC HCCA Register Field Descriptions
Bits
Name
0:23
HCCA
24:31
—
Description
Host Controller Communication Area—base address.
Reserved
MPC5200B User’s Manual, Rev. 3
12-16
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.3.2
USB HC Period Current Endpoint Descriptor Register
The HC Period Current Endpoint Descriptor (ED) register contains the physical address of the current
isochronous or interrupt endpoint descriptor.
Address MBAR + 0x101C
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
PCED
W
Reset
9
PCED
W
Reset
8
0
0
0
0
0
0
0
Reserved
0
0
0
0
0
0
0
0
0
Figure 12-13. USB HC Period Current Endpoint Descriptor Register
Table 12-8. USB HC Period Current Endpoint Descriptor Register Field Descriptions
Bits
Name
Description
0:27
PCED
PeriodCurrentED—HC uses this field to point to the head of one of the Periodic lists, which is
processed in the current Frame. HC updates register content after a periodic ED is processed. HCD
may read the content in determining which ED is currently being processed at the time of reading.
28:31
—
12.4.3.3
Reserved
USB HC Control Head Endpoint Descriptor Register
The HC Control Head Endpoint Descriptor register contains the physical address of the first endpoint
descriptor of the Control list.
Address MBAR + 0x1020
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
CHED
W
Reset
9
CHED
W
Reset
8
0
0
0
0
0
0
0
Reserved
0
0
0
0
0
0
0
0
0
Figure 12-14. USB HC Control Head Endpoint Descriptor Register
Table 12-9. USB HC Control Head Endpoint Descriptor Register Field Descriptions
Bits
Name
Description
0:27
CHED
ControlHeadED—HC traverses the control list starting with the HcControlHeadED pointer. Content
is loaded from HCCA during HC initialization.
28:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-17
Universal Serial Bus (USB)
12.4.3.4
USB HC Control Current Endpoint Descriptor Register
The HC Control Current Endpoint Descriptor register contains the physical address of the current control
list endpoint descriptor.
Address MBAR + 0x1024
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
CCED
W
Reset
9
CCED
W
Reset
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 12-15. USB HC Control Current Endpoint Descriptor Register
Table 12-10. USB HC Control Current Endpoint Descriptor Register Field Descriptions
Bits
Name
Description
0:27
CCED
ControlCurrentED—pointer is advanced to next ED after serving the present one. HC continues
processing the list from where it left off in the last frame. When it reaches the control list end, HC
checks the HcCommandStatus ControlListFilled.
• If set, CCED copies HcControlHeadED content to HcControlCurrentED and clears bit.
• If not set, it does nothing.
HCD is allowed to modify this register only when the ControlListEnable of HcControl is cleared. When
set, HCD only reads the instantaneous value of this register. Initially, this is set to 0 to indicate the end
of the Control List.
28:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
12-18
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.3.5
USB HC Bulk Head Endpoint Descriptor Register
The HC Head Endpoint Descriptor register contains the physical address of the first bulk list endpoint
descriptor.
Address MBAR + 0x1028
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
BHED
W
Reset
9
BHED
W
Reset
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 12-16. USB HC Bulk Head Endpoint Descriptor Register
Table 12-11. USB HC Bulk Head Endpoint Descriptor Register Field Descriptions
Bits
Name
0:27
BHED
28:31
—
Description
BulkHeadED—HC traverses the Bulk List starting with the HcBulkHeadED pointer. The content is
loaded from HCCA during the HC initialization.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-19
Universal Serial Bus (USB)
12.4.3.6
USB HC Bulk Current Endpoint Descriptor Register
The HC Bulk Current Endpoint Descriptor register contains the physical address of the current endpoint
of the bulk list. The bulk list is served in a round-robin fashion, therefore endpoints are ordered according
to their insertion into the list.
Address MBAR + 0x102C
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
BCED
W
Reset
9
BCED
W
Reset
8
0
0
0
0
0
0
0
Reserved
0
0
0
0
0
0
0
0
0
Figure 12-17. USB HC Bulk Current Endpoint Descriptor Register
Table 12-12. USB HC Bulk Current Endpoint Descriptor Register Field Descriptions
Bits
Name
Description
0:27
BHED
BulkCurrentED—advances to the next ED after HC has served the present ED.
HC continues processing the list from where it left off in the last Frame. When it reaches the end of the
Bulk List, HC checks the HcCommandStatus BulkListFilled.
• If set, BHED copies HcBulkHeadED content to HcBulkCurrentED and clears bit.
• If not set, it does nothing.
HCD is only allowed to modify this register when HcControl BulkListEnable is cleared. When set, HCD
only reads the instantaneous value of this register. This is initially set to 0 to indicate the end of the Bulk
List.
28:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
12-20
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.3.7
USB HC Done Head Register
The HC Done Head register contains the physical address of the last completed transfer descriptor that was
added to the done queue. In normal operation, HCD does not need to read this register as its content is
periodically written to the HCCA.
Address MBAR + 0x1030
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
DH
W
Reset
9
DH
W
Reset
8
0
0
0
0
0
0
Reserved
0
0
0
0
0
0
0
0
0
0
Figure 12-18. USB HC Done Head Register
Table 12-13. USB HC Done Head Register Field Descriptions
Bits
Name
Description
0:27
DH
DoneHead—When a TD is complete, HC writes the HcDoneHead content to the TD NextTD field. HC
then overwrites the HcDoneHead content with the TD address. This is set to 0 when HC writes the
register content to HCCA. HcInterruptStatus WritebackDoneHead is also set.
28:31
—
Reserved
12.4.4
Frame Counter Partition
This HC partition uses 5 32-bit registers. These registers are located at an offset from MBAR of 0x1034.
Register addresses are relative to this offset. Therefore, the actual register address is: MBAR + 0x1034 +
register address
The following registers are available:
• USB HC Frame Interval Register Field Descriptions (0x1034)
• USB HC Frame Remaining Register (0x1038)
• USB HC Frame Number Register (0x103C)
• USB HC Periodic Start Register (0x1040)
• USB HC LS Threshold Register (0x1044)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-21
Universal Serial Bus (USB)
12.4.4.1
USB HC Frame Interval Register
The HC Frame Interval register contains a 14-bit value that indicates:
• The bit-time interval in a Frame. For example, between two consecutive SOFs.
• A 15-bit value that indicates the full speed maximum packet size the HC may transmit or receive
without causing scheduling overruns.
HCD may carry out minor adjustment on the frame interval by writing a new value over the present one
at each SOF. This provides the programmability necessary for the HC to synchronize with an external
clocking resource and to adjust any unknown local clock offset.
Address MBAR + 0x1034
0
R
W
Reset
R
W
Reset
1
2
3
4
5
6
7
FIT
8
9
10
11
12
13
14
15
FSMPS
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
Reserved
0
0
FI
0
0
0
0
0
0
0
0
Figure 12-19. USB HC Frame Interval Register
Table 12-14. USB HC Frame Interval Register Field Descriptions
Bits
Name
Description
0
FIT
1:15
FSMPS
16:17
—
Reserved
18:31
FI
FrameInterval—specifies the bit-time interval between two consecutive SOFs. Nominally, this value is
set to 11,999. HCD should store the field’s current value before resetting HC. Setting the
HcCommandStatus HostControllerReset field causes the HC to reset this field to its nominal value.
HCD may choose to restore the stored value when the reset sequence completes.
FrameIntervalToggle—HCD toggles this bit when it loads a new value to the frame interval.
FSLargestDataPacket—specifies a value that is loaded into the largest data packet counter at the
beginning of each frame. The counter value represents the largest amount of data in bits that the HC
can send or received in a single transaction at any given time without causing scheduling overrun.
HCD calculates this field value.
MPC5200B User’s Manual, Rev. 3
12-22
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.4.2
USB HC Frame Remaining Register
This register is a 14-bit count-down counter containing the remaining current Frame bit-time.
Address MBAR + 0x1038
0
R
W
Reset
R
W
Reset
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Reserved
FRT
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
Reserved
0
FR
0
0
0
0
0
0
0
0
0
Figure 12-20. USB HC Frame Remaining Register
Table 12-15. USB HC Frame Remaining Register Field Descriptions
Bits
Name
Description
0
FRT
1:17
—
Reserved
18:31
FR
FrameRemaining—is a counter that is decremented at each bit-time. When it reaches 0, it is reset by
loading the FrameInterval value specified in HcFmInterval at the next bit-time boundary.
When entering the USBOPERATIONAL state, HC reloads the content with the HcFmInterval
Frame Interval and uses the updated value from the next SOF.
FrameRemainingToggle—bit is loaded from the HcFmInterval FrameIntervalToggle field when
FrameRemaining reaches 0. HCD uses this bit for synchronization between FrameInterval and
FrameRemaining.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-23
Universal Serial Bus (USB)
12.4.4.3
USB HC Frame Number Register
The HC Frame Number register is a 16-bit counter. It provides a timing reference among events happening
in the HC and HCD. The HC driver may use the 16-bit value specified in this register and generate a 32-bit
frame number without requiring frequent access to the register.
Address MBAR + 0x103C
0
1
2
3
4
5
6
R
8
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
FN
W
Reset
9
Reserved
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 12-21. USB HC Frame Number Register
Table 12-16. USB HC Frame Number Register Field Descriptions
Bits
Name
Description
16:31
FN
FrameNumber—is incremented when HcFmRemaining is re-loaded. FN rolls over to 0 after ffff.
When entering the USBOPERATIONAL state, this is automatically incremented. Content is written to
HCCA after HC has incremented the FN at each frame boundary and sent a SOF, but before HC reads
the first ED in that frame. After writing to HCCA, HC sets the HcInterruptStatus StartofFrame.
0:15
—
Reserved
MPC5200B User’s Manual, Rev. 3
12-24
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.4.4
USB HC Periodic Start Register
This register has a 14-bit programmable value that determines when is the earliest time HC should start
processing the periodic list.
Address MBAR + 0x1040
0
1
2
3
4
5
6
R
R
W
Reset
8
9
10
11
12
13
14
15
Reserved
W
Reset
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
Reserved
0
0
PS
0
0
0
0
0
0
0
0
Figure 12-22. USB HC Periodic Start Register
Table 12-17. USB HC Periodic Start Register Field Descriptions
Bits
Name
Description
0:17
—
Reserved
18:31
PS
PeriodicStart—field is cleared after a hardware reset. PS is then set by HCD during HC initialization.
PS value is calculated roughly as 10% off from HcFmInterval. A typical value is 3E67.
When HcFmRemaining reaches the value specified, processing of periodic lists has priority over
Control/Bulk processing. HC then starts processing the Interrupt list after completing the current
Control or Bulk transaction in progress.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-25
Universal Serial Bus (USB)
12.4.4.5
USB HC LS Threshold Register
This register contains an 11-bit value used by the HC to determine whether to commit to the transfer of a
maximum 8-Byte LS packet before EOF. Neither the HC nor HCD are allowed to change this value.
Address MBAR + 0x1044
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Reserved
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
R
Reserved
W
Reset
0
0
0
LST
0
0
0
0
0
0
0
0
Figure 12-23. USB HC LS Threshold Register
Table 12-18. USB HC LS Threshold Register Field Descriptions
Bits
Name
0:19
—
20:31
LST
Description
Reserved
LSThreshold—field contains a value which is compared to the FrameRemaining field prior to initiating
a low speed transaction. The transaction is started only if FrameRemaining is greater than or equal
to this field. HCD calculates this value with the consideration of transmission and setup overhead.
MPC5200B User’s Manual, Rev. 3
12-26
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.5
Root Hub Partition
This HC partition uses 5 32-bit registers. These registers are located at an offset from MBAR of 0x1048.
Register addresses are relative to this offset. Therefore, the actual register address is: MBAR + 0x1048 +
register address
The following registers are available:
• USB HC Rh Descriptor A Register (0x1048)
• USB HC Rh Descriptor B Register Field Descriptions (0x104C)
• USB HC Rh Status Register Field Descriptions (0x1050)
• USB HC Rh Port1 Status Register (0x1054)
• USB HC Rh Port2 Status Register (0x1058)
All registers included in this partition are dedicated to the USB root hub, which is an integral part of the
HC though still a functionally separate entity. HCD emulates USBD access to the root hub via a register
interface. HCD maintains many USB-defined hub features which are not required to be supported in
hardware. For example, the hub’s device, configuration, interface, and endpoint descriptors are maintained
only in the HCD and some class descriptor static fields. HCD also maintains and decodes the root hub
device address as well as other trivial operations better suited to software than hardware.
The root hub register interface is otherwise developed to maintain similarity of bit organization and
operation to typical hubs which are found in the system. Each register is read and written as a 32-bit word.
These registers are only written during initialization to correspond with the system implementation.
• HcRhDescriptorA and HcRhDescriptorB registers should be implemented such that they are
writeable regardless of the HC USB state.
• HcRhStatus and HcRhPortStatus must be writeable during the USBOPERATIONAL state.
NOTE
IS denotes an implementation-specific reset value for that field.
12.4.5.1
USB HC Rh Descriptor A Register
This register is the first of two registers describing the root hub characteristics. Reset values are
implementation-specific. The HCD emulates the following hub class descriptor fields:
• Descriptor length (11)
• Descriptor type (TBD)
• Hub controller current (0)
All other fields are located in the HcRhDescriptorA and HcRhDescriptorB registers.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-27
Universal Serial Bus (USB)
Address MBAR + 0x1048
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
1
0
R
Reserved
W
Reset
4
POTPGT
W
Reset
3
0
0
NOCP OCPM
0
1
0
DT
0
NPS PSM
1
0
NDP
0
0
0
0
0
Figure 12-24. USB HC Rh Descriptor A Register
Table 12-19. USB HC Rh Descriptor A Register Field Descriptions
Bits
Name
Description
0:7
POTPGT
8:18
—
19
NOCP
NoOverCurrentProtection—describes how the Root Hub port overcurrent status is reported. When
NOCP is cleared, OCPM specifies global or per-port reporting.
0 Overcurrent status is reported collectively for all downstream ports.
1 No overcurrent protection supported.
20
OCPM
OverCurrentProtectionMode—describes how the Root Hub port overcurrent status is reported.
At reset, OCPM should reflect the same mode as PowerSwitchingMode. OCPM is valid only if
NoOverCurrentProtection is cleared.
0 Overcurrent status is reported collectively for all downstream ports.
1 Overcurrent status is reported on a per-port basis.
21
DT
DeviceType—specifies Root Hub is not a compound device. Root Hub is not permitted to be a
compound device. DT should always read/write 0.
22
NPS
NoPowerSwitching—specifies whether power switching is supported or ports are always powered.
NPS is implementation specific. When this bit is cleared, PSM specifies global or per-port switching.
0 Ports are power switched.
1 Ports are always powered on when HC is powered on.
23
PSM
PowerSwitchingMode—specifies how the root hub port power switching is controlled. PSM is
implementation-specific and is only valid if the NoPowerSwitching field is cleared.
0 All ports are powered at the same time.
1 Each port is powered individually. This mode lets port power be controlled by either the global
switch or per-port switching.
• If PortPowerControlMask bit is set, port responds only to port power commands
(Set/ClearPor tPower).
• If port mask is cleared, port is controlled only by the global power switch
(Set/ClearGlobalPower).
24:31
NDP
NumberDownstreamPorts—specifies the number of downstream ports supported by the Root Hub.
NDP is implementation-specific.
• Minimum number of ports is 1.
• Maximum number of ports (supported by OpenHCI) is 15.
PowerOnToPowerGoodTime—specifies the duration HCD must wait before accessing a Root Hub
powered-on port. POTPGT is implementation-specific.
The time unit is 2ms. Duration is calculated as POTPGT x 2ms.
Reserved
MPC5200B User’s Manual, Rev. 3
12-28
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.5.2
USB HC Rh Descriptor B Register
This register is the second of two registers describing the Root Hub characteristics. These fields are written
during initialization to correspond with the system implementation. Reset values are
implementation-specific.
Address MBAR + 0x104C
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
DR
W
Reset
9
PPCM
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 12-25. USB HC Rh Descriptor B Register
Table 12-20. USB HC Rh Descriptor B Register Field Descriptions
Bits
Name
0:15
PPCM
16:31
DR
Description
PortPowerControlMask—each bit indicates whether a port is affected by a global power control
command when PSM is set.
• When set, port power state is only affected by per-port power control (Set/ClearPortPower).
• When cleared, port is controlled by the global power switch (Set/ClearGlobalPower).
If device is configured to Global Switching Mode (PSM=0), this field is not valid.
bit 0—Reserved
bit 1—Ganged-power mask on Port #1
bit 2—Ganged-power mask on Port #2
…
bit15—Ganged-power mask on Port #15
NDeviceRemovable—each bit is dedicated to a Root Hub port. When cleared, the attached device is
removable. When set, the attached device is not removable.
bit 0—Reserved
bit 1—Device attached to Port #1
bit 2—Device attached to Port #2
…
bit15—Device attached to Port #15
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-29
Universal Serial Bus (USB)
12.4.5.3
USB HC Rh Status Register
This register is divided into two parts. The lower 16 bits of a 32-bit word represents the hub status field;
the upper word represents the hub status change field. Reserved bits should always be written 0.
Address MBAR + 0x1050
0
R
W
Reset
R
W
Reset
1
2
3
4
5
6
CRWE
7
8
9
10
11
12
13
Reserved
14
15
OCIC
LPSC
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
OCI
LPS
0
0
Reserved
DRWE
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Figure 12-26. USB HC Rh Status Register
Table 12-21. USB HC Rh Status Register Field Descriptions
Bits
Name
Description
0
CRWE
1:13
—
14
OCIC
OverCurrentIndicatorChange—is set by hardware when a change occurs to the OCI field of this
register.
• Writing 1 causes HCD to clear this bit.
• Writing 0 has no effect.
15
LPSC
LocalPowerStatusChange (read)—Root Hub does not support the local power status feature. Thus,
this bit is always read as 0.
SetGlobalPower (write)
• In global power mode (PSM=0), LPSC is written to 1 to turn on power to all ports (clear
PortPowerStatus).
• In per-port power mode, LPSC sets PortPowerStatus only on ports whose PPCM bit is not set.
Writing 0 has no effect.
16
DRWE
DeviceRemoteWakeUpEnable (write)—enables a ConnectStatusChange bit as a resume event,
causing a USBSUSPEND to USBRESUME state transition and setting the ResumeDetected
interrupt.
0 ConnectStatusChange is not a remote WakeUp event.
1 ConnectStatusChange is a remote WakeUp event.
SetRemoteWakeUpEnable (read).
1 Sets DRWE.
0 Has no effect.
17:29
—
ClearRemoteWakeUpEnable (write)
• Writing 1 clears DRWE.
• Writing 0 has no effect.
Reserved
Reserved
MPC5200B User’s Manual, Rev. 3
12-30
Freescale Semiconductor
Universal Serial Bus (USB)
Table 12-21. USB HC Rh Status Register Field Descriptions
Bits
Name
30
OCI
OverCurrentIndicator—reports overcurrent conditions when global reporting is implemented.
When set, an overcurrent condition exists.
When cleared, all power operations are normal.
If per-port overcurrent protection is implemented this bit is always 0.
31
LPS
LocalPowerStatus—Root Hub does not support the local power status feature. This bit is always read
as 0 (write) ClearGlobalPower.
In global power mode (PSM=0), bit is written to 1 to turn off power to all ports (clear
PortPowerStatus).
In per-port power mode, bit clears PortPowerStatus only on ports whose PPCM bit is not set.
Writing 0 has no effect.
12.4.5.4
Description
USB HC Rh Port1 Status Register
This register is controls and reports port events on a per-port basis. The Number of Downstream Ports
(NDP) represents the number of HcRhPortStatus registers that are implemented in hardware. The lower
16-bits is used to reflect the port status; the upper 16-bits reflects the status change bits. MPC5200B has
NDP = 2, therefore, HcRhPort1Status (MBAR + 1054) and HcRhPort2Status (MBAR + 1058).
Some status bits are implemented with special write behavior. If a transaction (token through handshake)
is in progress when a write to change port status occurs, the resulting port status change is postponed until
the transaction completes. Reserved bits should always be written 0.
Address MBAR + 0x1054
0
1
2
3
4
R
7
8
9
10
11
PRSC
12
13
14
OCIC PSSC PESC
15
CSC
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
PRS
POCI
PSS
PES
CCS
0
0
0
0
0
R
Reserved
W
Reset
6
Reserved
W
Reset
5
0
0
0
0
LSDA PPS
0
0
0
0
Reserved
0
0
0
Figure 12-27. USB HC Rh Port1 Status Register
Table 12-22. USB HC Rh Port1 Status Register Field Descriptions (Sheet 1 of 4)
Bits
Name
0:10
—
11
PRSC
Description
Reserved
PortResetStatusChange—bit is set at the end of the 10ms port reset signal.
• Writing 1 causes HC to clear this bit.
• Writing 0 has no effect.
0 Port reset not complete
1 Port reset complete
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-31
Universal Serial Bus (USB)
Table 12-22. USB HC Rh Port1 Status Register Field Descriptions (Sheet 2 of 4)
Bits
Name
Description
12
OCIC
PortOverCurrentIndicatorChange—bit is valid only if overcurrent conditions are reported on a
per-port basis. This bit is set when Root Hub changes the PortOverCurrentIndicator bit.
• Writing 1 causes HC to clear this bit.
• Writing 0 has no effect.
0 No change in POCI
1 POCI has changed
13
PSSC
PortSuspendStatusChange—bit is set when the full resume sequence completes. Sequence includes
a 20s resume pulse, LS EOP, and 3ms resychronization delay.
• Writing 1 causes HC to clear this bit.
• Writing 0 has no effect.
This bit is also cleared when ResetStatusChange is set.
0 Resume not complete
1 Resume complete
14
PESC
PortEnableStatusChange—bit is set when hardware events cause the PES bit to be cleared.
Changes from HCD writes do not set this bit.
• Writing 1 causes HC to clear this bit.
• Writing 0 has no effect.
0 No change in PES
1 Change in PES
15
CSC
16:21
—
22
LSDA
ConnectStatusChange—bit is set whenever a connect or disconnect event occurs.
• Writing 1 causes HC to clear this bit.
• Writing 0 has no effect.
If CCS is cleared when a SetPortReset, SetPortEnable, or SetPortSuspend write occurs, this bit is
set to force the driver to re-evaluate the connection status since these writes should not occur if the
port is disconnected.
0 No change in CCS
1 Change in CCS
If the DeviceRemovable[NDP] bit is set, this bit is set only after a Root Hub reset to notify the system
that the device is attached.
Reserved
LowSpeedDeviceAttached (read)—bit indicates the speed of the device attached to this port.
0 Full speed device attached
1 Low speed device attached
This field is valid only when CurrentConnectStatus is set.
ClearPortPower (write)
• Writing 1 causes HC to clear the PortPowerStatus bit.
• Writing 0 has no effect.
MPC5200B User’s Manual, Rev. 3
12-32
Freescale Semiconductor
Universal Serial Bus (USB)
Table 12-22. USB HC Rh Port1 Status Register Field Descriptions (Sheet 3 of 4)
Bits
Name
Description
23
PPS
PortPowerStatus (read)—bit reflects the port power status, regardless of the type of power switching
implemented.
If an overcurrent condition is detected, this bit is cleared. HCD sets this bit by writing SetPortPower or
SetGlobalPower. HCD clears this bit by writing ClearPortPower or ClearGlobalPower. Which power
control switches are enabled is determined by PowerSwitchingMode and
PortPortControlMask[NDP].
In global switching mode (PSM=0), only Set/ClearGlobalPower controls this bit.
In per-port power switching (PSM=1), if the PortPowerControlMask[NDP] bit for the port is set, only
Set/ClearPortPower commands are enabled.
If the mask is not set, only Set/ClearGlobalPower commands are enabled.
If port power is disabled, CurrentConnectStatus, PortEnableStatus, PortSuspendStatus, and
PortResetStatus should be reset.
0 Port power is off
1 Port power is on
SetPortPower (write)
• Writing causes HC to set the PortPowerStatus bit.
• Writing 0 has no effect.
If power switching is not supported, this bit always reads ‘1b’.
24:26
—
27
PRS
PortResetStatus (read)—When this bit is set by a write to SetPortReset, port reset signaling is
asserted. When reset is completed, this bit is cleared when PortResetStatusChange is set. This bit
cannot be set if CurrentConnectStatus is cleared.
0 Port reset signal is not active
1 Port reset signal is active
SetPortReset (write)
• Writing 1 causes HC to set port reset signaling.
• Writing 0 has no effect.
If CurrentConnectStatus is cleared, a write does not set PortResetStatus. Instead, it sets
ConnectStatusChange. This notifies the driver that an attempt was made to reset a disconnected
port.
28
POCI
PortOverCurrentIndicator (read)—bit is only valid when root hub is configured in such a way that
overcurrent conditions are reported on a per-port basis.
If per-port overcurrent reporting is not supported, this bit is set to 0.
If cleared, all power operations are normal for this port.
If set, an overcurrent condition exists on this port. This bit always reflects the overcurrent input signal
0 No overcurrent condition.
1 Overcurrent condition detected.
ClearSuspendStatus (write)
• Writing 1 causes HC to initiate a resume.
• Writing 0 has no effect.
A resume is initiated only if PSS is set.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-33
Universal Serial Bus (USB)
Table 12-22. USB HC Rh Port1 Status Register Field Descriptions (Sheet 4 of 4)
Bits
Name
Description
29
PSS
PortSuspendStatus (read)—bit indicates port is suspended or in resume sequence. It is set by a
SetSuspendState write and cleared when PortSuspendStatusChange is set at the end of the resume
interval.
This bit cannot be set if CCS. This bit is cleared when:
• PortResetStatusChange is set at the end of the port reset, or
• when HC is placed in the USBRESUME state.
If an upstream resume is in progress, it should propagate to the HC.
0 Port is not suspended
1 Port is suspended
SetPortSuspend (write)
• Writing 1 causes HC to set PSS bit.
• Writing 0 has no effect.
If CurrentConnectStatus is cleared, this write does not set PSS. Instead it sets
ConnectStatusChange. This notifies the driver an attempt was made to suspend a disconnected port.
30
PES
PortEnableStatus (read)—indicates whether the port is enabled or disabled.
The Root Hub may clear this bit when the following conditions are detected:
• An overcurrent condition
• Disconnect event
• Switched-off power
• Operational bus error (such as babble)
This change causes PESC to be set. HCD sets this bit by writing SetPortEnable and clears it by
writing ClearPortEnable.
PES cannot be set when CurrentConnectStatus is cleared. If not already set, PES is set at the
completion of a port reset when ResetStatusChange is set or port suspend when
SuspendStatusChange is set.
0 Port is disabled
1 Port is enabled
SetPortEnable (write)—HCD sets PES by writing 1. Writing 0 has no effect.
If CCS is cleared, this write does not set PES, but instead sets CSC. This notifies the driver that an
attempt was made to enable a disconnected port.
31
CCS
CurrentConnectStatus (read)—reflects current state of downstream port.
0 No device connected
1 Device connected
ClearPortEnable (write)—HCD writes 1 to this bit to clear PortEnableStatus bit. Writing 0 has no
effect. CCS is not affected by any write.
Note: This bit is always read ‘1b’ when the attached device is non-removable
(DeviceRemovable[NDP]).
MPC5200B User’s Manual, Rev. 3
12-34
Freescale Semiconductor
Universal Serial Bus (USB)
12.4.5.5
USB HC Rh Port2 Status Register
This register is controls and reports port events on a per-port basis. The Number of Downstream Ports
(NDP) represents the number of HcRhPortStatus registers that are implemented in hardware. The lower
word is used to reflect the port status; the upper word reflects the status change bits. MPC5200B has
NDP = 2, therefore, HcRhPort1Status (MBAR + 1054) and HcRhPort2Status (MBAR + 1058).
Some status bits are implemented with special write behavior. If a transaction (token through handshake)
is in progress when a write to change port status occurs, the resulting port status change is postponed until
the transaction completes. Reserved bits should always be written 0.
Address MBAR + 0x1058
0
1
2
3
4
R
7
8
9
10
11
PRSC
12
13
14
OCIC PSSC PESC
15
CSC
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
PRS
POCI
PSS
PES
CCS
0
0
0
0
0
R
Reserved
W
Reset
6
Reserved
W
Reset
5
0
0
0
0
LSDA PPS
0
0
0
0
Reserved
0
0
0
Figure 12-28. USB HC Rh Port2 Status Register
Table 12-23. USB HC Rh Port2 Status Register Field Descriptions (Sheet 1 of 4)
Bits
Name
Description
0:10
—
11
PRSC
PortResetStatusChange—bit is set at the end of the 10ms port reset signal.
• Writing 1 clears this bit.
• Writing 0 has no effect.
0 Port reset not complete
1 Port reset complete
12
OCIC
PortOverCurrentIndicatorChange—bit is valid only if overcurrent conditions are reported on a
per-port basis. This bit is set when Root Hub changes the PortOverCurrentIndicator bit.
• Writing 1 clears this bit.
• Writing 0 has no effect.
0 No change in POCI
1 POCI has changed
13
PSSC
PortSuspendStatusChange—bit is set when the full resume sequence completes. Sequence includes
a 20s resume pulse, LS EOP, and 3ms resychronization delay.
• Writing 1 clears this bit.
• Writing 0 has no effect.
This bit is also cleared when ResetStatusChange is set.
0 Resume not complete
1 Resume complete
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-35
Universal Serial Bus (USB)
Table 12-23. USB HC Rh Port2 Status Register Field Descriptions (Sheet 2 of 4)
Bits
Name
Description
14
PESC
15
CSC
16:21
—
22
LSDA
LowSpeedDeviceAttached (read)—bit indicates the speed of the device attached to this port.
0 Full speed device attached
1 Low speed device attached
This field is valid only when CurrentConnectStatus is set.
ClearPortPower (write)
• Writing 1 causes HC to clear the PortPowerStatus bit.
• Writing 0 has no effect.
23
PPS
PortPowerStatus (read)—bit reflects the port power status, regardless of the type of power switching
implemented.
If an overcurrent condition is detected, this bit is cleared. HCD sets this bit by writing SetPortPower or
SetGlobalPower. HCD clears this bit by writing ClearPortPower or ClearGlobalPower. Which power
control switches are enabled is determined by PowerSwitchingMode and
PortPortControlMask[NDP].
In global switching mode (PSM=0), only Set/ClearGlobalPower controls this bit.
In per-port power switching (PSM=1), if the PortPowerControlMask[NDP] bit for the port is set, only
Set/ClearPortPower commands are enabled.
If the mask is not set, only Set/ClearGlobalPower commands are enabled.
If port power is disabled, CurrentConnectStatus, PortEnableStatus, PortSuspendStatus, and
PortResetStatus should be reset.
0 Port power is off
1 Port power is on
SetPortPower (write)
• Writing causes HCD to set the PortPowerStatus bit.
• Writing 0 has no effect.
If power switching is not supported, this bit always reads ‘1b’.
24:26
—
PortEnableStatusChange—bit is set when hardware events cause the PES bit to be cleared.
• Writing 1clears this bit.
• Writing 0 has no effect.
0 No change in PES
1 Change in PES
ConnectStatusChange—bit is set whenever a connect or disconnect event occurs.
• Writing 1 clears this bit.
• Writing 0 has no effect.
If CCS is cleared when a SetPortReset, SetPortEnable, or SetPortSuspend write occurs, this bit is
set to force the driver to re-evaluate the connection status since these writes should not occur if the
port is disconnected.
0 No change in CCS
1 Change in CCS
If the DeviceRemovable[NDP] bit is set, this bit is set only after a Root Hub reset to notify the system
that the device is attached.
Reserved
Reserved
MPC5200B User’s Manual, Rev. 3
12-36
Freescale Semiconductor
Universal Serial Bus (USB)
Table 12-23. USB HC Rh Port2 Status Register Field Descriptions (Sheet 3 of 4)
Bits
Name
Description
27
PRS
PortResetStatus (read)—When this bit is set by a write to SetPortReset, port reset signaling is
asserted. When reset is completed, this bit is cleared when PortResetStatusChange is set. This bit
cannot be set if CurrentConnectStatus is cleared.
0 Port reset signal is not active
1 Port reset signal is active
SetPortReset (write)
• Writing 1 causes HCD to set port reset signaling.
• Writing 0 has no effect.
If CurrentConnectStatus is cleared, a write does not set PortResetStatus. Instead, it sets
ConnectStatusChange. This notifies the driver that an attempt was made to reset a disconnected
port.
28
POCI
PortOverCurrentIndicator (read)—bit is only valid when root hub is configured in such a way that
overcurrent conditions are reported on a per-port basis.
If per-port overcurrent reporting is not supported, this bit is set to 0.
If cleared, all power operations are normal for this port.
If set, an overcurrent condition exists on this port. This bit always reflects the overcurrent input signal
0 No overcurrent condition.
1 Overcurrent condition detected.
ClearSuspendStatus (write)
• Writing 1 causes HC to initiate a resume.
• Writing 0 has no effect.
A resume is initiated only if PSS is set.
29
PSS
PortSuspendStatus (read)—bit indicates port is suspended or in resume sequence. It is set by a
SetSuspendState write and cleared when PortSuspendStatusChange is set at the end of the resume
interval.
This bit cannot be set if CCS. This bit is cleared when:
• PortResetStatusChange is set at the end of the port reset, or
• when HC is placed in the USBRESUME state.
If an upstream resume is in progress, it should propagate to the HC.
0 Port is not suspended
1 Port is suspended
SetPortSuspend (write)
• Writing 1 causes HCD to set PSS bit.
• Writing 0 has no effect.
If CurrentConnectStatus is cleared, this write does not set PSS. Instead it sets
ConnectStatusChange. This notifies the driver an attempt was made to suspend a disconnected port.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
12-37
Universal Serial Bus (USB)
Table 12-23. USB HC Rh Port2 Status Register Field Descriptions (Sheet 4 of 4)
Bits
Name
Description
30
PES
PortEnableStatus (read)—indicates whether the port is enabled or disabled.
The Root Hub may clear this bit when the following conditions are detected:
• An overcurrent condition
• Disconnect event
• Switched-off power
• Operational bus error (such as babble)
This change causes PESC to be set. HCD sets this bit by writing SetPortEnable and clears it by
writing ClearPortEnable.
PES cannot be set when CurrentConnectStatus is cleared. If not already set, PES is set at the
completion of a port reset when ResetStatusChange is set or port suspend when
SuspendStatusChange is set.
0 Port is disabled
1 Port is enabled
SetPortEnable (write)—HCD sets PES by writing 1. Writing 0 has no effect.
If CCS is cleared, this write does not set PES, but instead sets CSC. This notifies the driver that an
attempt was made to enable a disconnected port.
31
CCS
CurrentConnectStatus (read)—reflects current state of downstream port.
0 No device connected
1 Device connected
ClearPortEnable (write)—HCD writes 1 to this bit to clear PortEnableStatus bit. Writing 0 has no
effect. CCS is not affected by any write.
Note: This bit is always read ‘1b’ when the attached device is non-removable
(DeviceRemovable[NDP]).
MPC5200B User’s Manual, Rev. 3
12-38
Freescale Semiconductor
Chapter 13
BestComm
13.1
Overview
The following sections are contained in this document:
• Section 13.2, “BestComm Functional Description”
• Section 13.15, “BestComm DMA Registers”
• Section 13.16, “On-Chip SRAM”
BestComm provides an efficient, integrated approach to gathering and manipulating data sets from a broad
range of communication interfaces. The DMA controller reduces the workload on the microprocessor,
allowing it to continue execution of system software. The DMA microcode engine is tailored to efficiently
transfer data across the internal bus architecture to memory and peripheral devices.
The DMA controller processes microcode tasks that are stored in local memory (SRAM 16 kBytes). A task
is a sequence of instructions, referred to as descriptors, that specifies a series of data movements or
manipulations. The DMA controller steps through the descriptors and executes the specified function in a
similar fashion to a CPU executing a program.
For the MPC5200B, BestComm consists of SDMA and the following peripheral interfaces:
• 10/100 Fast Ethernet Controller (FEC)
• I2C
• PCI
• ATA
• LocalPlus
• PSC—Peripheral Serial Controller (implementing a different mix of functionalities such as SPI,
UART, CODEC 8-16-32 bits, AC97 controller, I2S, IrDA controller)
Many of the peripherals’ port pins serve multiple functions, allowing flexibility in optimizing the system
to meet a specific set of integration requirements. For a description of the pin multiplexing scheme and
supported functions, refer to Chapter 2, “Signal Descriptions”.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-1
BestComm
Other peripheral functions are included in MPC5200B, but are not directly supported by BestComm.
These peripherals include:
• A separate Serial Peripheral Interface (SPI), which:
— Supports a 6.25MHz rate as a master
— Supports a 12.5MHz rate as a slave
• USB Host/Hub controller
• MSCAN controller
• General Purposes Timers
13.2
BestComm Functional Description
The BestComm I/O subsystem consists of the following:
• A BestComm DMA Controller
• An on-chip 16 kBytes SRAM
• A set of peripheral interface modules with DMA controllable:
— Transmit (Tx)
— Receive (Rx)
The BestComm unit provides an interrupt control and data movement interface. The Interface is on a
separate peripheral bus to several on-chip peripheral functions. This independent control of data
movement leaves the e300 core free to concentrate on higher level activities, which increases overall
system performance.
BestComm DMA can control data movement on the following peripherals and interfaces:
• PCI bus
• ATA Controller
• Ethernet
• PSC
• I2C
• IrDA
• LP bus interface
NOTE
It is possible for the BESTComm DMA to produce misaligned word
addresses on its Slave and Comm bus. These accesses occur due to incorrect
program code executed by the BestComm unit. Any misaligned access will
be incorrectly processed on the internal SRAM bus and the Comm bus.
The work around is to avoid using misaligned accesses. That is, BestComm
program code must be written such that misaligned word accesses will not
occur.
BestComm DMA performs general purpose DMA transfers. Most data transactions are between the
peripheral/interface (typically a FIFO) and the system SDRAM.
MPC5200B User’s Manual, Rev. 3
13-2
Freescale Semiconductor
BestComm
BestComm allows up to 16 tasks to run simultaneously under the control of up to 32 DMA hardware
requestors, user selectable from a possible 64 DMA request sources.
A hardware logic unit capable of basic logic operations (boolean arbitrary operations, shift, byte swap)
plus some precoded CRC (CRC-16, CRC-CCITT, CRC-32, Internet Checksum) is also integrated in the
SDMA engine.
BestComm uses internal buffers to prefetch reads and post writes such that bursting is used whenever
possible. This optimizes both internal and external bus activity.
Speculative reads from system SDRAM may also be enabled to increase performance.
FIFO interfaces are implemented between the DMA and each peripheral/interface. As FIFOs are filled or
emptied, automatic requests are made to the DMA unit. Based on programmable water mark levels (called
ALARM and GRANULARITY level), the DMA unit moves data to and from the FIFOs. This method
insures uninterrupted data movement at the given peripheral/interface rate.
13.3
•
•
•
•
•
•
•
•
•
•
•
•
13.4
Features Summary
A programmatic, deterministic capability for managing bus resources while servicing many data
streams with individual latency and processing requirements.
Single cycle access of peripheral and memory data.
Support for up to 16 simultaneously enabled tasks (channels).
Support for up to 32 separate DMA requestors at a time, user selectable from a possible 64 DMA
request sources.
Support for operations with up to 12 sources, or 11 sources and 1 destination.
Simultaneous 32-bit reads and writes.
Checksum generation.
Endian conversion.
Chaining/Scatter-gather capability.
Support for packet-based I/O protocols (limitation might be dictated by performance when too
much control is implemented within the task).
External DMA Request.
External DMA breakpoint.
Descriptors
The DMA controller interprets a series of descriptors that specifies a sequence of data movements and
manipulations. A collection of these descriptors is much like a program. The two types of descriptors are
Loop Control Descriptors (LCDs) and Data Routing Descriptors (DRDs). These descriptors allow a
“for”-loop programming style for the SDMA engine.
The LCDs specify the index variables (memory pointers, byte counters, etc.) along with the termination
and increment values, while the DRDs specify the nature of the operation to perform.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-3
BestComm
13.5
Tasks
A task is a microcode program that embodies a desired function. An example could be to gather an ethernet
frame, store it in memory and interrupt the processor when done. The multi-channel DMA supports sixteen
simultaneously enabled tasks. By dynamically swapping task pointers in the task table, an unlimited
number of tasks could be supported.
13.6
Memory Map/ Register Definitions
Memory organization is described in the register array pointed to by the Task Base Address Register
(TaskBAR).
The TaskBAR identifies a location for a table of pointers to multi-channel DMA tasks (Task TABLE or
Entry Table).
Each task has an entry (8 long words) that contains information about the microcode’s location (start
address and stop address) in memory as well as pointers to the variable table to be used in the task, the
Function Descriptor Table for the logic functions used within the task, the Context Save area used during
task switch/swap and some specific flags to enable performance affecting modes such as speculative reads,
prefetch enable, readline and combined write.
A task’s code should always be loaded into SRAM as the SDMA engine can fetch its descriptors from this
internal memory with one cycle access per instruction. It is not recommended to place the code in SDRAM
as there will then be a few overhead clocks which are needed to load the SDMA instruction unit.
13.7
Task Table (Entry Table)
The Task Table (or Entry Table) is a memory region containing pointers to each SDMA task. A Task Table
Base Address Register (taskBAR) sets the location of the Task Table itself. Each entry in the Task Table
contains pointers to the task’s first descriptor, last descriptor, Variable Table, and other task-specific
information.
13.8
Task Descriptor Table
Each Task Descriptor Table is a memory region containing the descriptors that comprise the task. The
pointers in the Task Table define the beginning and end of each Task Descriptor Table.
13.9
Variable Table
Each task has a private 32-word Variable Table, where a word is four bytes (32 bits). According to the
application requirements, the user initializes some of the words in the Variable Table as follows. The first
24 words are for pointers, counter values and initial data. The DMA Engine manipulates these variables
as it executes loops. The next 8 words hold words-aligned, two-byte (“short word” or 16 bit word)
increment variables.
MPC5200B User’s Manual, Rev. 3
13-4
Freescale Semiconductor
BestComm
13.10 Function Descriptor Table
An area of 256 bytes divided in 4 groups of 64 bytes. Each group can represent a set of 16 different Logic
Functions belonging to a single execution unit. Every function is encoded with a single word (32 bits).
The implemented SDMA engine uses only one out of four potential Execution Units, execution unit 3, so
all the functions needed by the task will be encoded in the third group (starting at offset 0xC0 from the
start address of the Function Descriptor Table). The other words are reserved and must be written to ‘0’ to
maintain memory alignment.
For space optimization, tasks which use the same logic functions could share a single Function Descriptor
Table avoiding the redundancy of re-writing the same table many times in SRAM.
13.11 Context Save Area
This is an area allocated for each task to allow the SDMA engine to save vital data (such as index values,
etc.) during a task switch operation to allow later restoration.
The context save area should never be used or modified by the user as it is managed directly by the SDMA
engine.
13.12 External DMA Request
BestComm supports 64 user selectable request sources. 32 of them are controllable via GPIO pins, see
SDMA Request MuxControl Register. This GPIO group is split up into two different kind of GPIO’s, 24
simple and 8 simple interrupt GPIO’s. The differences are:
• Simple GPIO’s: The external request event must be kept asserted until the first, intended data
transaction is executed.
• Simple interrupt GPIO’s: The external request event can be deasserted before the first, intended
data transaction has started. Additionally, the external request can generate an interrupt for the e300
core.
The GPIO, which is intended to generate a DMA request, must be enabled and set up as input, in both cases
(see Section 7.3, “General Purpose I/O (GPIO)”).
NOTE
MPC5200B doesn’t support external DMA Acknowledge.
13.13 External DMA Breakpoint
The SDMA engine can be halted if the Enable Breakpoint (EB) and the Enable External Breakpoint (E)
bits of the SDMA Debug Module Control Register are set and the 603e e300 core hits an Instruction
Address Breakpoint or a Data Address Breakpoint.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-5
BestComm
13.14 BestComm XLB Address Snooping
BestComm prefetches data from the XLB into 4 32-Byte wide Read Line Buffers. A buffer will be
invalidated, if the BestComm XLB Address Snooping (BSDIS) is enabled, see Chapter 16, “XLB
Arbiter”, and a write operation on the XLB to the prefetched data address happens. No invalidation of the
buffer will happen if the BSDIS bit is set. BestComm will still use the old prefetched data.
13.15 BestComm DMA Registers
A register overview is provided in Section 3.2, “Internal Register Memory Map”.
13.15.1 Register Descriptions
Hyperlinks to the BestComm DMA registers are provided below:
• SDMA Task Bar Register (0x1200)
• SDMA Current Pointer Register (0x1204)
• SDMA End Pointer Register (0x1208)
• SDMA Variable Pointer Register (0x120C)
• SDMA Interrupt Vector, PTD Control Register Field Descriptions (0x1210)
• SDMA Interrupt Pending Register (0x1214)
• SDMA Interrupt Mask Register (0x1218)
• SDMA Task Control 0 and 1 Registers (0x121C)
• SDMA Task Control 2 and 3 Registers (0x1220)
• SDMA Task Control 4 and 5 Registers (0x1224)
• SDMA Task Control 6 and 7 Registers (0x1228)
• SDMA Task Control 8 and 9 Registers (0x122C)
• SDMA Task Control A and B Registers (0x1230)
• SDMA Task Control C and D Registers (0x1234)
• SDMA Task Control E and F Registers (0x1238)
• SDMA Initiator Priority 0, 1, 2, and 3 Registers (0x123C)
• SDMA Initiator Priority 4, 5, 6, and 7 Registers (0x1240)
• SDMA Initiator Priority 8, 9, 10, and 11 Registers (0x1244)
• SDMA Initiator Priority 12, 13, 14, and 15 Registers (0x1248)
• SDMA Initiator Priority 16, 17, 18, and 19 Registers (0x124C)
• SDMA Initiator Priority 20, 21, 22, and 23 Registers (0x1250)
• SDMA Initiator Priority 24, 25, 26, and 27 Registers (0x1254)
• SDMA Initiator Priority 28, 29, 30, and 31 Registers (0x1258)
• SDMA Request MuxControl (0x125C)
• SDMA Task Size 0/1 Field Descriptions (0x1260)
• SDMA Task Size 0/1 Field Descriptions (0x1264)
MPC5200B User’s Manual, Rev. 3
13-6
Freescale Semiconductor
BestComm
•
•
•
•
SDMA Debug Module Comparator 1, Value1 Register (0x1270)
SDMA Debug Module Comparator 2, Value2 Register (0x1274)
SDMA Debug Module Control Register (0x1278)
SDMA Debug Module Status Register (0x127C)
13.15.1.1 SDMA Task Bar Register
Address MBAR + 0x1200
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
taskBar
W
Reset
9
taskBar
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-1. SDMA Task Bar Register
Table 13-1. SDMA Task Bar Register Field Description
Bit
Name
0:31
taskBar
Description
TaskBAR is the pointer to the base address of the Task Table (Entry Table)
13.15.1.2 SDMA Current Pointer Register
Address MBAR + 0x1204
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
CurrentPointer
W
Reset
8
CurrentPointer
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 13-2. SDMA Current Pointer Register
Table 13-2. SDMA Current Pointer Register Field Description
Bit
Name
0:31
CurrentPointer
Description
CurrentPointer contains the address of the currently executing DMA descriptor.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-7
BestComm
13.15.1.3 SDMA End Pointer Register
Address MBAR + 0x1208
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R
EndPointer
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
EndPointer
W
Reset
0
0
0
0
0
0
0
0
0
Figure 13-3. SDMA End Pointer Register
Table 13-3. SDMA End Pointer Register Field Descriptions
Bit
Name
0:31
endPointer
Description
EndPointer contains the address of the last descriptor in the currently executing SDMA task.
13.15.1.4 SDMA Variable Pointer Register
Address MBAR + 0x120C
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
VariablePointer
W
Reset
8
VariablePointer
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 13-4. SDMA Variable Pointer Register
Table 13-4. SDMA Variable Pointer Register Field Descriptions
Bit
Name
0:31
variablePointer
Description
VariablePointer contains the starting address of the variable table for the currently executing
task.
MPC5200B User’s Manual, Rev. 3
13-8
Freescale Semiconductor
BestComm
13.15.1.5 SDMA Interrupt Vector, PTD Control Register
Address MBAR + 0x1210
0
1
R
R
W
Reset
3
4
Vector A[7:6]
W
Reset
2
5
6
7
8
9
INA[3:0]
10
11
12
13
Vector B[7:6]
14
15
INB[3:0]
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
T/I
TEA
HE
0
0
0
Reserved
0
0
0
0
0
0
0
PE
0
0
0
0
0
0
Figure 13-5. SDMA Interrupt Vector, PTD Control Register
Table 13-5. SDMA Interrupt Vector, PTD Control Register Field Descriptions
Bit
Name
Description
0:7
IntVect1
The Interrupt Vector register is used during interrupt acknowledge read cycles. The high order four
bits are programmed by the user, and the low order four bits are decoded from either the current
task number or execution unit. If any task interrupts are asserted, Interrupt Vector 1 is driven
during the interrupt acknowledge cycle. If the task interrupts are negated and the execution unit
interrupts are asserted, Interrupt Vector 2 is driven during the interrupt acknowledge cycle. The
registers are set to the uninitialized vector $0F by system reset.
The interrupt A number is prioritized with IPR[15] the highest and IPR[0] the lowest. If all interrupt
mask bits are set, then INA[3:0] = 1111 is read from this location.
The interrupt B number is prioritized with the dbgInterrupt as the highest and euInterrupt[0] the
lowest. If all interrupt mask bits are set, then INB[3:0] = 1111 is read from this location.
8:15
IntVect2
See above
16
T/I
17
TEA
TEA: If set to ‘1’ a TEA received by BestComm will be ignored and the task will NOT be halted.
TEA indication can still trigger an interrupt if the proper mask bit is cleared in the Interrupt Mask
Register and the TEA status bit plus the TASK number of the task which received the TEA are still
updated in the Interrupt Pending Register.
18
HE
HE = 1; allows smartDMA higher task number same request priority to block current task, and
allow arbitration.
HE = 0; disables higher task number from blocking. This bit is cleared by reset.
19:30
—
Reserved
31
PE
Prefetch Disable: set to ‘1’ to disable prefetch. Set to ‘0’ to enable prefetch on CommBus
T/I: Task/Iniator priority. Set to ‘1’ to switch to “TASK priority” control; set to ‘0’ to revert to
INITIATOR (Requestor) Priority mode.
The priority level of either the TASK or the initiator is set in the register IPR0 through IPR31
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-9
BestComm
13.15.1.6 SDMA Interrupt Pending Register
Address MBAR + 0x1214
0
R
W
Reset
1
2
3
Rsvd
DBG
4
TEA
5
6
8
9
10
Etn[3:0]
11
12
13
14
15
EU[7:0]
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
TASK[15:0]
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 13-6. SDMA Interrupt Pending Register
Table 13-6. SDMA Interrupt Pending Register Field Descriptions
Bit
Name
Description
0
DBG
1:2
—
3
TEA
4:7
Etn[3:0]
Error Task Number: when a TEA is received by the currently executing task its
corresponding number is indicated here. If the TEA bit of the PtdControl register
is set then the task will not be halted. If the TEA Msk bit in the Mask register is
set then no interrupt to the core will be generated.
8:15
EU[7-0]
Execution Unit: only EU3 is valid for MPC5200B
16:31
TASK[15:0]
Debug
Reserved
A TEA has been received by the currently running task. The corresponding
task number is written in the Error Task Number field
Each bit corresponds to an interrupt source defined by the task number or execution unit. This
register contains a registered copy of the interrupt signal that the interrupting source generates.
The corresponding bit in the register reflects the state of the interrupt signal even if the
corresponding mask bit is set. An interrupt is masked by setting the corresponding bit in the
IntMask register. A bit is cleared by writing 1 to that bit location. Writing 0 has no effect. At system
reset, all bits are initialized to logic 0.
0 The corresponding interrupt source is not pending.
1 The corresponding interrupt source is pending.
MPC5200B User’s Manual, Rev. 3
13-10
Freescale Semiconductor
BestComm
13.15.1.7 SDMA Interrupt Mask Register
Address MBAR + 0x1218
0
R
W
Reset
1
DBG
2
3
Reserved
4
TEA
Msk
5
6
8
9
10
Reserved
11
12
13
14
15
EU[7:0]
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
1
1
1
1
1
R
TASK[15:0]
W
Reset
7
1
1
1
1
1
1
1
1
1
Figure 13-7. SDMA Interrupt Mask Register
Table 13-7. SDMA Interrupt Mask Register Field Descriptions
Bit
Name
0
DBG
1:2
—
3
TEA Msk
4:7
—
8:15
EU[x]
16:31
TASK[15:0]
Description
Debug: set to ‘1’ to mask the “debug” interrupt (see the SDMA Debug Control Register)
Reserved
TEA Mask: set to ‘1’ to mask the TEA. If set to ‘1’ and a TEA is received in the currently executing
Task an interrupt is generated.
Reserved
Execution Unit: Only EU3 is present in MPC5200B
Each bit corresponds to an interrupt source defined by the task number or execution unit.
An interrupt is masked by setting the corresponding bit. At system reset, all bits are initialized to
logic 1.
0 The corresponding interrupt source is not masked.
1 The corresponding interrupt source is masked (no interrupt is generated).
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-11
BestComm
13.15.1.8 SDMA Task Control 0 Register
SDMA Task Control 1 Register
Address MBAR + 0x121C, 0x121E
R
W
Reset
0
1
2
3
4
5
En
Val
Alw
Init
0
0
0
0
0
0
0
16
17
18
19
20
21
22
7
8
9
10
11
Auto
Start
High
En
Hold
Rsvd
0
0
0
0
0
0
0
0
0
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
IN[4:0]
R
12
13
14
15
AS [3:0]
TCR1 (same as for TCR0)
W
Reset
6
0
0
0
0
0
0
0
0
0
0
Figure 13-8. SDMA Task Control 0 and 1 Registers
Table 13-8. SDMA Task Control 0 and 1 Register Field Descriptions
Bit
Name
Description
0
EN
Each of the sixteen tasks has an associated task control register. Only one register is shown. At
system reset, all bits are initialized to logic zeros.
Enable =Task Enable
0 Disabled
1 Enabled
This bit can be set or cleared by the programmer at any time when a task is enabled or disabled.
This bit is also set by the PTD logic if the auto-restart bit is set and the task completes.
1
Val
Valid—Initiator Number is Valid
0 Initiator is not valid
1 Initiator is valid
This bit is set by the engine logic when it obtains the requestor value from the first DRD that is
parsed. This bit is cleared by the logic when the task completes. At system reset, this bit is cleared.
2
Alw Init
Always Init—Decode of the always initiator
0 The always initiator is not being used
1 The always initiator is being used
This bit is a status bit only and is set and cleared by writing the initiator number into the Task
Control Register.
3:7
IN[4:0]
InitNum[4:0]—Initiator number from task descriptor
These bits are registered when the SDMA engine has parsed the first DRD to obtain the requestor
number. These bits are cleared by system reset. These bits can be written by the programmer
when the Hold Init Num bit is set or being set and the task is not enabled.
At system reset, these bits are cleared.
8
Auto Start
Auto-Start—Task Start
0Task will not restart within program control
1 Task will restart at end of task automatically.
This bit can be set or cleared by the programmer at any time. This bit is also cleared if the SDMA
engine encounters an error in the task. At system reset, this bit is cleared.
MPC5200B User’s Manual, Rev. 3
13-12
Freescale Semiconductor
BestComm
Table 13-8. SDMA Task Control 0 and 1 Register Field Descriptions (continued)
Bit
Name
Description
9
High En
High-Enable—High Priority Task Enable
0 Normal task enable control
1 High priority task enable control
This bit can be set or cleared by the programmer at any time. This bit enables the SDMA to give
priority to the enabled task function over running a task. At system reset, this bit is cleared.
10
Hold
Hold Init Num- Hold initiator number
0 Allow the SDMA engine to update initiator number for task
1 Keep current initiator number.
This bit allows the initiator number to be set by the programmer and held for the complete task.
The SDMA can not overwrite the programmed initiator except for the use of the always initiator
which is contained in a separate control bit.
11
—
12-15
AS[3:0]
16:31
TCR1
Reserved
ASNum[3:0]—Auto-Start Task Number
These four bits contain the task number which will be auto-started when the Auto-Start control bit
is set. At system reset, these bits are cleared.
Task control register for task 1. Same bit layout as for TCR0
13.15.1.9 SDMA Task Control 2 Register
SDMA Task Control 3 Register
Address MBAR + 0x1220,
0x1222
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
TCR3
W
Reset
9
TCR2
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-9. SDMA Task Control 2 and 3 Registers
Table 13-9. SDMA Task Control 2 and 3 Register Field Descriptions
Bit
Name
Description
0:15
TCR2
Task control register for task 2. Same bit layout as for TCR0
16:31
TCR3
Task control register for task 3. Same bit layout as for TCR0
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-13
BestComm
13.15.1.10 SDMA Task Control 4 Register
SDMA Task Control 5 Register
Address MBAR + 0x1224, 0x1226
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
TCR5
W
Reset
9
TCR4
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-10. SDMA Task Control 4 and 5 Registers
Table 13-10. SDMA Task Control 4 and 5 Register Field Descriptions
Bit
Name
Description
0:15
TCR4
Task control register for task 4. Same bit layout as for TCR0
16:31
TCR5
Task control register for task 5. Same bit layout as for TCR0
13.15.1.11 SDMA Task Control 6 Register
SDMA Task Control 7 Register
Address MBAR + 0x1228, 0x122A
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TCR6
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
TCR7
W
Reset
0
0
0
0
0
0
0
0
0
Figure 13-11. SDMA Task Control 6 and 7 Registers
Table 13-11. SDMA Task Control 6 and 7 Register Field Descriptions
Bit
Name
Description
0:15
TCR6
Task control register for task 6. Same bit layout as for TCR0
16:31
TCR7
Task control register for task 7. Same bit layout as for TCR0
MPC5200B User’s Manual, Rev. 3
13-14
Freescale Semiconductor
BestComm
13.15.1.12 SDMA Task Control 8 Register
SDMA Task Control 9 Register
Address MBAR + 0x122C, 0x122E
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
TCR9
W
Reset
9
TCR8
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-12. SDMA Task Control 8 and 9 Registers
Table 13-12. SDMA Task Control 8 and 9 Register Field Descriptions
Bit
Name
Description
0:15
TCR8
Task control register for task 8. Same bit layout as for TCR0
16:31
TCR9
Task control register for task 9. Same bit layout as for TCR0
13.15.1.13 SDMA Task Control A Register
SDMA Task Control B Register
Address MBAR + 0x1230, 0x1232
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
TCRB
W
Reset
9
TCRA
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-13. SDMA Task Control A and B Registers
Table 13-13. SDMA Task Control A and B Register Field Description
Bit
Name
Description
0:15
TCRA
Task control register for task 10. Same bit layout as for TCR0
16:31
TCRB
Task control register for task 11. Same bit layout as for TCR0
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-15
BestComm
13.15.1.14 SDMA Task Control C Register
SDMA Task Control D Register
Address MBAR + 0x1234, 0x1236
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
TCRD
W
Reset
9
TCRC
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-14. SDMA Task Control C and D Registers
Table 13-14. SDMA Task Control C and D Register Field Descriptions
Bit
Name
Description
0:15
TCRC
Task control register for task 12. Same bit layout as for TCR0
16:31
TCRD
Task control register for task 13. Same bit layout as for TCR0
13.15.1.15 SDMA Task Control E Register
SDMA Task Control F Register
Address MBAR + 0x1238, 0x123A
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
TCRF
W
Reset
9
TCRE
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-15. SDMA Task Control E and F Registers
Table 13-15. SDMA Task Control E and F Registers
Bit
Name
Description
0:15
TCRE
Task control register for task 14. Same bit layout as for TCR0
16:31
TCRF
Task control register for task 15. Same bit layout as for TCR0
MPC5200B User’s Manual, Rev. 3
13-16
Freescale Semiconductor
BestComm
13.15.1.16 SDMA Initiator Priority 0 Register
SDMA Initiator Priority 1 Register
SDMA Initiator Priority 2 Register
SDMA Initiator Priority 3 Register
Address MBAR + 0x123C, 0x123D, 0x128E, 0x123F
0
R
W
Reset
1
IPR0
Hold
2
4
5
Reserved
6
7
8
9
10
11
Prior [2:0]
12
13
14
15
IPR1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
IPR2
W
Reset
3
0
0
0
0
IPR3
0
0
0
0
0
0
0
0
0
Figure 13-16. SDMA Initiator Priority 0, 1, 2, and 3 Registers
Table 13-16. SDMA Initiator Priority 0, 1, 2, and 3 Register Field Descriptions
Bit
Name
Description
Each of the thirty-two initiators has an associated priority level. Only one register is shown. All bits are set to ‘0 at reset.
0
IPR0 Hold
Hold—Keep current priority of initiator
0 = Allow higher priority initiator to block current initiator
1 = Hold current initiator priority level
This bit can be set or cleared by the programmer at any time. This bit allows the current initiator
to hold priority until the initiator has negated or the task has finished. When this bit is cleared, an
initiator with a higher priority will block the current initiator and force arbitration. At system reset,
this bit is cleared.
1:4
—
Reserved
5:7
Prior[2:0]
8:15
IPR1
Initiator Priority register for initiator 1 (or Task1 if PtdControl[16]=1).
Same bit layout as IPR0
16:23
IPR2
Initiator Priority register for initiator 2.(or Task2 if PtdControl[16]=1)
Same bit layout as IPR0
24:31
IPR3
Initiator Priority register for initiator 3.(or Task3 if PtdControl[16]=1)
Same bit layout as IPR0
InitPrior[2:0]—Initiator/Task priority level.
These bits can be set by the programmer at any time. These bits control the priority of the
requestor/task which will be serviced next depending on the setting of the T/I bit in the PtdControl
register.
The highest priority is level 7. The lower priority is level 0. If more than one initiator/task contains
the same priority then the order of the task within the Task table (task 7 highest to task 0 lowest)
will set the priority.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-17
BestComm
13.15.1.17 SDMA Initiator Priority 4 Register
SDMA Initiator Priority 5 Register
SDMA Initiator Priority 6 Register
SDMA Initiator Priority 7 Register
Address MBAR + 0x1240, 0x1241, 0x1242, 0x1243
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
IPR5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
IPR6
W
Reset
4
IPR4
W
Reset
3
0
0
0
0
IPR7
0
0
0
0
0
0
0
0
0
Figure 13-17. SDMA Initiator Priority 4, 5, 6, and 7 Registers
Table 13-17. SDMA Initiator Priority 4, 5, 6, and 7 Register Field Descriptions
Bit
Name
Description
0:7
IPR4
Initiator Priority register for initiator 4 (or Task4 if PtdControl[16]=1)
Same bit layout as IPR0
8:15
IPR5
Initiator Priority register for initiator 5 (or Task5 if PtdControl[16]=1)
Same bit layout as IPR0
16:23
IPR6
Initiator Priority register for initiator 6 (or Task6 if PtdControl[16]=1)
Same bit layout as IPR0
24:31
IPR7
Initiator Priority register for initiator 7 (or Task7 if PtdControl[16]=1)
Same bit layout as IPR0
MPC5200B User’s Manual, Rev. 3
13-18
Freescale Semiconductor
BestComm
13.15.1.18 SDMA Initiator Priority 8 Register
SDMA Initiator Priority 9 Register
SDMA Initiator Priority 10 Register
SDMA Initiator Priority 11 Register
Address MBAR + 0x1244, 0x1245, 0x1246, 0x1247
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
IPR9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
IPR10
W
Reset
4
IPR8
W
Reset
3
0
0
0
0
IPR11
0
0
0
0
0
0
0
0
0
Figure 13-18. SDMA Initiator Priority 8, 9, 10, and 11 Registers
Table 13-18. SDMA Initiator Priority 8, 9, 10, and 11 Register Field Descriptions
Bit
Name
Description
0:7
IPR8
Initiator Priority register for initiator 8 (or Task8 if PtdControl[16]=1)
Same bit layout as IPR0
8:15
IPR9
Initiator Priority register for initiator 9 (or Task9 if PtdControl[16]=1)
Same bit layout as IPR0
16:23
IPR10
Initiator Priority register for initiator 10 (or Task10 if PtdControl[16]=1)
Same bit layout as IPR0
24:31
IPR11
Initiator Priority register for initiator 11 (or Task11 if PtdControl[16]=1)
Same bit layout as IPR0
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-19
BestComm
13.15.1.19 SDMA Initiator Priority 12 Register
SDMA Initiator Priority 13 Register
SDMA Initiator Priority 14 Register
SDMA Initiator Priority 15 Register
Address MBAR + 0x1248, 0x1249, 0x124A, 0x124B
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
IPR13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
IPR14
W
Reset
4
IPR12
W
Reset
3
0
0
0
0
IPR15
0
0
0
0
0
0
0
0
0
Figure 13-19. SDMA Initiator Priority 12, 13, 14, and 15 Registers
Table 13-19. SDMA Initiator Priority 12, 13, 14, and 15 Register Field Descriptions
Bit
Name
Description
0:7
IPR12
Initiator Priority register for initiator 12 (or Task12 if PtdControl[16]=1)
Same bit layout as IPR0
8:15
IPR13
Initiator Priority register for initiator 13 (or Task13 if PtdControl[16]=1)
Same bit layout as IPR0
16:23
IPR14
Initiator Priority register for initiator 14 (or Task14 if PtdControl[16]=1)
Same bit layout as IPR0
24:31
IPR15
Initiator Priority register for initiator 15 (or Task15 if PtdControl[16]=1)
Same bit layout as IPR0
MPC5200B User’s Manual, Rev. 3
13-20
Freescale Semiconductor
BestComm
13.15.1.20 SDMA Initiator Priority 16 Register
SDMA Initiator Priority 17 Register
SDMA Initiator Priority 18 Register
SDMA Initiator Priority 19 Register
Address MBAR + 0x124C, 0x124D, 0x124E, 0x124F
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
IPR17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
IPR18
W
Reset
4
IPR16
W
Reset
3
0
0
0
0
IPR19
0
0
0
0
0
0
0
0
0
Figure 13-20. SDMA Initiator Priority 16, 17, 18, and 19 Registers
Table 13-20. SDMA Initiator Priority 16, 17, 18, and 19 Register Field Descriptions
Bit
Name
Description
0:7
IPR16
Initiator Priority register for initiator 16.
Same bit layout as IPR0
8:15
IPR17
Initiator Priority register for initiator 17.
Same bit layout as IPR0
16:23
IPR18
Initiator Priority register for initiator 18.
Same bit layout as IPR0
24:31
IPR19
Initiator Priority register for initiator 19.
Same bit layout as IPR0
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-21
BestComm
13.15.1.21 SDMA Initiator Priority 20 Register
SDMA Initiator Priority 21 Register
SDMA Initiator Priority 22 Register
SDMA Initiator Priority 23 Register
Address MBAR + 0x1250, 0x1251, 0x1252, 0x1253
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
IPR21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
IPR22
W
Reset
4
IPR20
W
Reset
3
0
0
0
0
IPR23
0
0
0
0
0
0
0
0
0
Figure 13-21. SDMA Initiator Priority 20, 21, 22, and 23 Registers
Table 13-21. SDMA Initiator Priority 20, 21, 22, and 23 Register Field Descriptions
Bit
Name
Description
0:7
IPR20
Initiator Priority register for initiator 20.
Same bit layout as IPR0
8:15
IPR21
Initiator Priority register for initiator 21.
Same bit layout as IPR0
16:23
IPR22
Initiator Priority register for initiator 22.
Same bit layout as IPR0
24:31
IPR23
Initiator Priority register for initiator 23.
Same bit layout as IPR0
MPC5200B User’s Manual, Rev. 3
13-22
Freescale Semiconductor
BestComm
13.15.1.22 SDMA Initiator Priority 24 Register
SDMA Initiator Priority 25 Register
SDMA Initiator Priority 26 Register
SDMA Initiator Priority 27 Register
Address MBAR + 0x1254, 0x1255, 0x1256, 0x1257
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
IPR25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
IPR26
W
Reset
4
IPR24
W
Reset
3
0
0
0
0
IPR27
0
0
0
0
0
0
0
0
0
Figure 13-22. SDMA Initiator Priority 24, 25, 26, and 27 Registers
Table 13-22. SDMA Initiator Priority 24, 25, 26, and 27 Register Field Descriptions
Bit
Name
Description
0:7
IPR24
Initiator Priority register for initiator 24.
Same bit layout as IPR0
8:15
IPR25
Initiator Priority register for initiator 25.
Same bit layout as IPR0
16:23
IPR26
Initiator Priority register for initiator 26.
Same bit layout as IPR0
24:31
IPR27
Initiator Priority register for initiator 27.
Same bit layout as IPR0
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-23
BestComm
13.15.1.23 SDMA Initiator Priority 28 Register
SDMA Initiator Priority 29 Register
SDMA Initiator Priority 30 Register
SDMA Initiator Priority 31 Register
Address MBAR + 0x1258, 0x1259, 0x125A, 0x125B
0
1
2
R
5
6
7
8
9
10
11
12
13
14
15
IPR29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
IPR30
W
Reset
4
IPR28
W
Reset
3
0
0
0
0
IPR31
0
0
0
0
0
0
0
0
0
Figure 13-23. SDMA Initiator Priority 28, 29, 30, and 31 Registers
Table 13-23. SDMA Initiator Priority 28, 29, 30, and 31 Register Field Descriptions
Bit
Name
Description
0:7
IPR28
Initiator Priority register for initiator 28.
Same bit layout as IPR0
8:15
IPR29
Initiator Priority register for initiator 29.
Same bit layout as IPR0
16:23
IPR30
Initiator Priority register for initiator 30.
Same bit layout as IPR0
24:31
IPR31
Initiator Priority register for initiator 31.
Same bit layout as IPR0
MPC5200B User’s Manual, Rev. 3
13-24
Freescale Semiconductor
BestComm
13.15.1.24 SDMA Requestor MuxControl
Address MBAR + 0x125C
0
R
W
Reset
R
W
Reset
1
Req31
2
3
Req30
4
5
Req29
6
7
8
Req28
9
10
Req27
11
Req26
12
13
14
Req25
15
Req24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Req23
0
Req22
0
0
0
Req21
0
0
Req20
0
0
Req19
0
0
Req18
0
Req17
0
0
0
Req16
0
0
Figure 13-24. SDMA Request MuxControl
Table 13-24. SDMA Request MuxControl Field Descriptions
Bit
Name
Description
0:1
Req31
00
01
10
11
Requestor (RESERVED)
GPIO_PSC2_3
GPIO_IRDA_1
Always Requestor 31
2:3
Req30
00
01
10
11
Requestor (RESERVED)
GPIO_PSC2_2
GPIO_IRDA_0
Always Requestor 30
4:5
Req29
00
01
10
11
Requestor (RESERVED)
GPIO_PSC2_1
GPIO_ETH_3
Always Requestor 29
6:7
Req28
00
01
10
11
Requestor (RESERVED)
GPIO_PSC2_0
GPIO_ETH_2
Always Requestor 28
8:9
Req27
00
01
10
11
Requestor (RESERVED)
GPIO_PSC1_3
GPIO_ETH_1
Always Requestor 27
10:11
Req26
00
01
10
11
Requestor IrDA TX (PSC_6)
GPIO_PSC1_2
GPIO_ETH_0
Always Requestor 26
12:13
Req25
00
01
10
11
Requestor IrDA RX (PSC_6)
GPIO_PSC1_1
GPIO_USB_3
Always Requestor 25
14:15
Req24
00
01
10
11
Requestor I2C1_TX
GPIO_PSC1_0
GPIO_USB_2
Always Requestor 24
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-25
BestComm
Table 13-24. SDMA Request MuxControl Field Descriptions (continued)
Bit
Name
Description
16:17
Req23
00
01
10
11
Requestor I2C1_RX
GPIO_SINT_7
GPIO_USB_1
Always Requestor 23
18:19
Req22
00
01
10
11
Requestor I2C2_TX
GPIO_SINT_6
GPIO_USB_0
Always Requestor 22
20:21
Req21
00
01
10
11
Requestor I2C2_RX
GPIO_SINT_5
GPIO_PSC3_5
Always Requestor 21
22:23
Req20
00
01
10
11
Requestor PSC4_TX
GPIO_SINT_4
GPIO_PSC3_4
Always Requestor 20
24:25
Req19
00
01
10
11
Requestor PSC4_RX
GPIO_SINT_3
GPIO_PSC3_3
Always Requestor 19
26:27
Req18
00
01
10
11
Requestor PSC5_TX
GPIO_SINT_2
GPIO_PSC3_2
Always Requestor 18
28:29
Req17
00
01
10
11
Requestor PSC5_RX
GPIO_SINT_1
GPIO_PSC3_1
Always Requestor 17
30:31
Req16
00
01
10
11
Requestor LP
GPIO_SINT_0
GPIO_PSC3_0
Always Requestor 16
MPC5200B User’s Manual, Rev. 3
13-26
Freescale Semiconductor
BestComm
The remaining 16 requestors are fixed as follows:
Table 13-25. FIxed Requestors Table
Requestor
Peripheral
REQ15
(RESERVED)
REQ14
PSC1_TX
REQ13
PSC1_RX
REQ12
PSC2_TX
REQ11
PSC2_RX
REQ10
PSC3_TX
REQ9
PSC3_RX
REQ8
PCI TX
REQ7
PCI RX
REQ6
ATA TX
REQ5
ATA RX
REQ4
FEC TX
REQ3
FEC RX
REQ2
(RESERVED)
REQ1
(RESERVED)
REQ0
ALWAYS
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-27
BestComm
13.15.1.25 SDMA Task Size0
SDMA Task Size 1
Address MBAR + 0x1260, 0x1264
Bits
R
W
0,4,8,12,
16,20,24,28
1,5,9,13,
17,21,25,29
2,6,10,14,
18,22,26,30
3,7,1115
19,23,27,31
srcSize[1]
srcSize[0]
dstSize[1]
dstSize[0]
Reset
At reset all Bits are set to 0
Figure 13-25. SDMA Task Size 0/1
Table 13-26. SDMA Task Size 0/1 Field Descriptions
Bit
Name
Description
srcSize[1:0]
Each of the 16 tasks can be programmed to use the source and destination sizes contained in one
of the Task Size Registers. The task size information is used by the SDMA module to determine
the source and destination transfer size of the operands. When the size contained the task
descriptor is set to 2’b11 then the size field from the Task Size Control register is selected.
srcSize[1:0]—source size
00 Word (32 bit)
01 Byte
10 Word
11 Word
destSize[1:0]—destination size
00 Word (32 bit)
01 Byte
10 Word
11 Word
13.15.1.25.1 SDMA Task 0 and Task Size 1 Map
Offset
Register Name
Byte 0
Byte 1
Byte 2
Byte 3
Access
0x1260
Task Size 0
TS[0:1]
TS[2:3]
TS[4:5]
TS[5:7]
R/W
0x1264
Task Size 1
TS[8:9]
TS[10:11]
TS[12:13]
TS[14:15]
R/W
Figure 13-26. SDMA Task Size Map
See Figure 13-33 for details. Each task has 4 bits allocated (2 for source and 2 for destination size).
MPC5200B User’s Manual, Rev. 3
13-28
Freescale Semiconductor
BestComm
13.15.1.26 SDMA Reserved Register 1
Address MBAR + 0x1268
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
res1
W
Reset
9
res1
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-27. SDMA Reserved Register 1
Table 13-27. SDMA Reserved Register 1 Field Descriptions
Bit
Name
0:31
res1
Description
Reserved
13.15.1.27 SDMA Reserved Register 2
Address MBAR + 0x126C
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
res2
W
Reset
9
res2
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-28. SDMA Reserved Register 2
Table 13-28. SDMA Reserved Register 2 Field Descriptions
Bit
Name
0:31
res2
Description
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-29
BestComm
13.15.1.28 SDMA Debug Module Comparator 1, Value1 Register
Address MBAR + 0x1270
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Value1
W
Reset
9
Value1
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-29. SDMA Debug Module Comparator 1, Value1 Register
Table 13-29. SDMA Debug Module Comparator 1, Value1 Register Field Descriptions
Bit
Name
0:31
Value1
Description
Debug Module Comparator 1 Value.
13.15.1.29 SDMA Debug Module Comparator 2, Value2 Register
Address MBAR + 0x1274
0
1
2
3
4
5
6
7
R
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Value2
W
Reset
9
Value2
W
Reset
8
0
0
0
0
0
0
0
0
0
Figure 13-30. SDMA Debug Module Comparator 2, Value2 Register
Table 13-30. SDMA Debug Module Comparator 2, Value2 Register Field Descriptions
Bit
Name
0:31
Value2
Description
Debug Module Comparator 2 Value.
MPC5200B User’s Manual, Rev. 3
13-30
Freescale Semiconductor
BestComm
13.15.1.30 SDMA Debug Module Control Register
Address MBAR + 0x1278
0
1
2
3
4
5
6
7
R
R
W
Reset
9
10
11
12
13
14
15
Block Tasks
W
Reset
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
AA
B
E
I
B
0
0
0
0
0
Comparator
Type 1
0
0
Comparator
Type 2
0
0
0
and/
or
0
0
EU breakpoints
0
0
0
0
Figure 13-31. SDMA Debug Module Control Register
Table 13-31. SDMA Debug Module Control Register Field Descriptions
Bit
Name
Description
0:15
Block Tasks
Specify for each of tasks 15-0, whether to block that task with detection of a breakpoint (bit 0 halts
TASK 15, bit 1 halts TASK 14, etc)
0 Do not block task
1 Block the task
16
AA
AutoArm—specifies whether or not the triggered bit dbgStatusReg[16] will be automatically reset
to 0 following the saving of context for a breakpoint. This bit is set to 0 at reset.
0 Triggered bit will not be automatically reset
1 Triggered bit will be automatically reset
17
B
18:20
Comparator
Type 1
Comparator 1 type—These bits specify the type of data that has been loaded into comparator 1;
refer to Table 13-32 for the bit encoding.
21:23
Comparator
Type 2
Comparator 2 type—These bits specify the type of data that has been loaded into comparator 2;
refer to Table 13-33 for the bit encoding.
24
and / or
AND/OR—This specifies what type of operation is to be used with the comparators. This bit is set
to 0 at reset.
0 Indicates an OR’ing of the comparators
1 Indicates an AND’ing of the comparators
25:28
EU breakpoints
euBreakpoint: These bits indicate that a breakpoint has occurred in one of the four execution units.
Each execution unit has one bit dedicated to it. A 1 in any of these bits indicates that the
associated execution unit has issued breakpoint. These bits are sticky and must be overwritten to
continue. These bits are cleared to zero at reset. See Table 13-35 for the bit encoding.
MPC5200B has integrated only EU3
29
E
Breakpoint—This bit specifies whether or not to take a breakpoint. This bit is set to 0 at reset.
0 Disable breakpoints
1 Enable breakpoints
Enable External Breakpoint.
0 Do not enable external breakpoint to cause a halt condition
1 Allow external breakpoint to cause a halt condition
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-31
BestComm
Table 13-31. SDMA Debug Module Control Register Field Descriptions (continued)
Bit
Name
30
I
31
EB
Description
Enable Internal Breakpoint
0 Do not enable internal breakpoint to cause a halt condition
1 Allow internal breakpoint to cause a halt condition
Enable Breakpoint (this bit must be always set to allow any kind of breakpoint to halt the task)
0 Disable breakpoint
1 Enable breakpoint
Table 13-32. Comparator 1 Type Bit Encoding
Encoding
Comparator Type 1
000
uninitialized
001
write address
010
read address
011
current pointer
100
task #
101
reserved
110
reserved
111
reserved
Table 13-33. Comparator 2 Type Bit Encoding
Encoding
Comparator Type 2
000
uninitialized
001
write address
010
read address
011
current pointer
100
task #
101
counter value
110
reserved
111
reserved
NOTE
The reserved encodings are set to 0 indicating an uninitialized state.
Table 13-34. EU Breakpoint Encoding
Reset
EU3
EU2
EU1
EU0
0
0
0
0
It must be noted that even if a breakpoint is issued at a specific address the SDMA engine will halt ONLY
at a “data aligned” boundary (for instance, if the task moves 32 bits of data per transaction and a breakpoint
is set at address 0x02 then the task will be halted at offset 0x04).
MPC5200B User’s Manual, Rev. 3
13-32
Freescale Semiconductor
BestComm
13.15.1.31 SDMA Debug Module Status Register
Address MBAR + 0x127C
0
1
2
3
4
5
R
8
9
10
11
12
13
14
15
I
E
T
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
R
dbgStatusReg[15:0]
W
Reset
7
Reserved
W
Reset
6
0
0
0
0
0
0
0
0
0
0
Figure 13-32. SDMA Debug Module Status Register
Table 13-35. SDMA Debug Module Status Register Field Descriptions
Bit
Name
0:12
Reserved
13
I
Interrupt—This bit indicates whether or not an interrupt has been taken. This bit is set to 0 at
reset. It can be written by the user or the SDMA engine.
0 No Interrupt
1 Interrupt taken
14
E
External Breakpoint—This bit indicates detection of an external breakpoint. Status bit is sticky
and requires a one (1) to be written to it to clear it. The writing of a zero (0) to this bit has no
effect. This bit is set to zero (0) at reset.
0 No external breakpoint detected
1 External breakpoint detected
15
T
Triggered (dbgStatusReg[16])—This bit indicates that a SmartDMA breakpoint has occurred
with the current settings. Status bit is sticky and requires a one (1) to be written to it to clear it.
The writing of a zero (0) to this bit has no effect. This bit is set to zero (0) at reset.
0 Armed or normal operation
1 Triggered or debug mode
16:31
Description
Reserved
dbgStatusReg[15:0] dbgTaskBlock (dbgStatusReg[15:0])—Each bit corresponds to one of the 16 task numbers.
The value of the register bit reflects the debug state of the task number. A bit is cleared by
writing a one to that bit location; writing a zero (0) has no effect. At system reset, all bits are
initialized to logic zeros (0).
0 Unblocked or normal operation
1 Blocked, task has been blocked due to a breakpoint
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-33
BestComm
13.16 On-Chip SRAM
MPC5200B contains 16KBytes of on-chip SRAM. This memory is directly accessible by the BestComm
DMA unit. It is used primarily as storage for task table and buffer descriptors used by BestComm DMA
to move peripheral data to and from SDRAM or other locations. These descriptors must be downloaded to
the SRAM at boot.
This SRAM resides in the MPC5200B internal register space and is also accessible by the processor core.
As such it can be used for other purposes, such as scratch pad storage. The 16kBytes SRAM starts at
location MBAR + 0x8000.
13.17 Programming Model
The SDMA engine expects the programmer to initialize several things in memory including the Task Table
and the Variable Table(s). These are described and illustrated in the following sub-sections. The various
descriptors used in each task are also described below.
13.17.1 Task Table
The programmer must initialize the taskBAR register in the IPB Interface Module (offset 0x1200). The
Task Table (sometime also referred to as Entry Table), whose format is shown in Figure 13-33, should
reside at the address specified by taskBAR.
The Task Table base address must be aligned to a 512-byte boundary. There are sixteen tasks, each of
which has its own unique Task Descriptor Table (TDT) start pointer, TDT end pointer, Variable Table
pointer, control information, and status information. The TDT start pointer is a 32-bit value that points to
the first descriptor, an LCD, of that particular task. The remaining descriptors (LCDs and DRDs) should
consecutively follow the first one in memory, except in special branching cases. The TDT end pointer is a
32-bit value that points to the last descriptor, which must be a DRD, of that particular task.
The 32-bit Variable Table pointer points to the top of the 32-word (128 byte) memory space where this
task’s Variable Table resides. The Variable Table format is explained later in more detail.
The control information is located in the fourth word of each task’s Task Table information as shown in
Figure 13-33. Bits 0 through 23 contain the base address for this task’s function descriptors. Control bits
24 through 31 are for precise increment, not resetting the error code, whether to pack data, integer mode,
complex data mode, to enable speculative reads and whether bursting is allowed on reads and writes.
The fifth and sixth word of the task table are reserved.
The seventh word is a pointer to the Context Save Area where important data is saved and later restored
in case of a task switch.
The last word is used by the SDMA engine in conjunction with Literal Initialization of LCD (to save
variable usage). The user should not modify the values stored there.
MPC5200B User’s Manual, Rev. 3
13-34
Freescale Semiconductor
BestComm
0
1 1
4 5
4 5
1 2
9 0
3
1
Task Descriptor Start Pointer
Task Descriptor End Pointer
Variable Table Pointer
Function Descriptor Base Address
R P E P I S C R
S I
P W L
V
R
Task 0
Reserved
Reserved
Base Address for Context Save Space
Literal
Base 0
Reserved
Literal
Base 1
Reserved
....................
Task Descriptor Start Pointer
Task Descriptor End Pointer
Variable Table Pointer
Function Descriptor Base Address
R P E P I S C R
S I
P W L
V
R
Task n
Reserved
Reserved
Base Address for Context Save Space
Literal
Base 0
Reserved
Literal
Base 1
Reserved
Note: For each task, the start pointer, end pointer, and variable table pointer are 32-bit values. For the task control
bits, bits 0 through 23 are for the Function Descriptor Base Address, and bits 24 through 31 are:
RSV = Reserved,
PI = Precise Increment,
E = do not reset error code if ‘1’
P = Pack data if ‘1’
I = Integer mode if ‘1’ (else fractional)
SPR = speculative enable
CW = Combined Write Enable if ‘1’
RL = Read Line Buffer Enable if ‘1’ speculative Reads if ‘1’
Figure 13-33. Task Table
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-35
BestComm
Table 13-36. Behavior of Task Table Control Bits
Control Function
Precise Increment
No Error Code Reset
Pack
Integer Mode
Speculative Reads
Combined Write Enable
Read Line Buffer Enable
Value
Meaning
0
Increments are allowed at any time the SDMA can do it
1
Only increment at the end of an iteration
0
Reserved
1
Reserved
0
Do not pack data
1
Pack data
0
Fractional data representation
1
Integer data representation
0
Disabled
1
Enabled
0
Do not enable combined writes
1
Enable combined writes
0
Do not enable line reads
1
Enable line reads
13.17.1.1 Integer Mode
This input signal is only valid if the pack signal is negated (set to ‘0’). This signal indicates if the SDMA
engine should operate in integer mode or fractional mode. During integer mode, the engine sign-extends
read data and the it reads the write size amount of data starting from the MSB position and drives it to the
proper destination byte lanes as indicated by the write address.
During fractional mode, the engine zero-extends read data and the ADS reads the write size amount of data
starting from the LSB position and drives it to the proper write byte lanes as indicated by the write address.
13.17.1.2 Pack
This input signal indicates that packing or unpacking of data should occur if the read size does not equal
the write size. The pack signal has precedence over the integerMode signal.
This signal indicates to the SmartDMA that it should pack data when the source size does not match the
destination size. When this signal is asserted, the SmartDMA should pack data, and the integerMode signal
is ignored. Otherwise, the SmartDMA should not pack data. Packing data refers to the case where the
SmartDMA will wait for a full word of data before passing the data to one of the memory interfaces.
13.17.2 Variable Table
Table 13-37 shows the Variable Table format to which each task must adhere. The Variable Table pointer
that is located in the Task Table in Figure 13-33 points to the first location in this 32-word (128-byte)
memory space.
If restoring, and the Variable Table has been modified, then the new Variable Table pointer is located at the
end of the context save space for the corresponding task. The Variable Table for each task must be aligned
MPC5200B User’s Manual, Rev. 3
13-36
Freescale Semiconductor
BestComm
to a 16-byte boundary (to aid in address calculation). Before executing a particular task, that task’s Variable
Table must be initialized with the appropriate data. Specifically, any constants, initial values, and
increment values must be written to the Variable Table before executing the corresponding task.
Variables may be loaded into words 0 through 23.Increment values 0 through 7 may be loaded into words
24 through 31, respectively.
Any of the eight increment values may be used as normal Loop-Index Variables or Constants if they are
not needed as increment values. All of these variables and increment values may be used to initialize
loop-index registers. However, only variables 0 through 31 may be written by the ADS. At this time, if
variables 24 through 31 are written, it is assumed that these variables should be treated as normal
Loop-Index Variables or Constants and not as increment values. Also, note that Variable Tables may
overlap if sharing the last eight variables with another task’s Variable Table is desired. In addition, if a task
does not use the last 16 variables, another Variable Table could start immediately after that task’s increment
values, so as to not waste memory.
Table 13-37. Variable Table per Task
#
Hex
Offset
0
00
Loop-Index Variable or Constant 0
1
04
Loop-Index Variable or Constant 1
2
08
Loop-Index Variable or Constant 2
3
0c
Loop-Index Variable or Constant 3
4
10
Loop-Index Variable or Constant 4
5
14
Loop-Index Variable or Constant 5
6
18
Loop-Index Variable or Constant 6
7
1c
Loop-Index Variable or Constant 7
8
20
Loop-Index Variable or Constant 8
9
24
Loop-Index Variable or Constant 9
10
28
Loop-Index Variable or Constant 10
11
2c
Loop-Index Variable or Constant 11
12
30
Loop-Index Variable or Constant 12
13
34
Loop-Index Variable or Constant 13
14
38
Loop-Index Variable or Constant 14
15
3c
Loop-Index Variable or Constant 15
16
40
Loop-Index Variable or Constant 16
17
44
Loop-Index Variable or Constant 17
18
48
Loop-Index Variable or Constant 18
19
4c
Loop-Index Variable or Constant 19
20
50
Loop-Index Variable or Constant 20
21
54
Loop-Index Variable or Constant 21
22
58
Loop-Index Variable or Constant 22
23
5c
Loop-Index Variable or Constant 23
Contents
Comments
These twenty-four words (32 bits)
are used for constant operands to
the EUs, for initialization values, or
for a place to write results straight
to a variable in this table. These are
typically preloaded by the CPU
unless you are writing directly to a
variable.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
13-37
BestComm
Table 13-37. Variable Table per Task (continued)
#
Hex
Offset
24
60
Compare Type[31:29], Reserved[28:16], Increment Variable 0[15:0]
25
64
Compare Type[31:29], Reserved[28:16], Increment Variable 1[15:0]
26
68
Compare Type[31:29], Reserved[28:16], Increment Variable 2[15:0]
27
6c
Compare Type[31:29], Reserved[28:16], Increment Variable 3[15:0]
28
70
Compare Type[31:29], Reserved[28:16], Increment Variable 4[15:0]
29
74
Compare Type[31:29], Reserved[28:16], Increment Variable 5[15:0]
30
78
Compare Type[31:29], Reserved[28:16], Increment Variable 6[15:0]
31
7c
Compare Type[31:29], Reserved[28:16], Increment Variable 7[15:0]
Contents
Comments
Variables 24–31 may be increment
variables of the format shown to
the left. Any of these variables may
be used as normal Loop-Index
Variables or Constants (like
variables 0–23) instead.
When the user writes a program, or when the assembler converts the user’s programs, the SDMA engine
will use the initialization variables and constants that the user or processor should have loaded into the
Variable Table. The initial index variables in the LCD tells the engine to allocate space for the resulting
variables in the loop registers. The space will be allocated consecutively, so the user knows with which
register each variable will be associated. This is important when the user’s program tries to reference one
of these previously allocated variables. Also, the eight increment variables in positions 24 through 31 of
Table 13-37 are preloaded by the processor, as programmed by the user.
MPC5200B User’s Manual, Rev. 3
13-38
Freescale Semiconductor
Chapter 14
Fast Ethernet Controller (FEC)
14.1
Overview
The fast Ethernet controller (FEC) is an Ethernet MAC plus two 1 Kbyte FIFOs that work under the control
of the processor and BestComm DMA engine to support 10/100 Mbps Ethernet/802.3 networks.
Figure 14-1 shows a block diagram.
A brief introduction and overview of the major functional blocks aid in understanding and programming
the FEC.
The FEC is controlled by writing through the system interface (SIF) module into control registers located
in each block. The control/status register (CSR) block provides global control and interrupt handling
registers. User programming of the CSR is the primary focus of this chapter.
The RISC based Ethernet controller provides the following functions:
• Initialization
• Address recognition for receive frames
• Random number generation for transmit collision backoff timer
The FIFO controller is the focal point of all data flow in the FEC. The FIFO is divided into a transmit and
receive FIFO of 1Kbyte each. Transmit data flows from the CommBus into the transmit FIFO and through
the transmit block to the physical layer device (PHY). Receive data flows from the PHY to the receive
block and is pulled out of the FIFO by BestComm. BestComm data transfers are interrupt driven. Interrupt
driven data movement from the processor is not supported.
The bus controller decides which block is to be the T-bus master for each cycle. All the blocks receive their
control information over the T-bus and provide status information over this same internal bus.
The media independent interface (MII) block provides a serial channel for control/status communication
with the external physical layer device (transceiver or PHY). The serial channel consists of the MDC
(clock) and MDIO (bidirectional data I/O) lines of the MII interface.
The transmit and receive blocks provide the Ethernet MAC functionality (with some assistance from the
BestComm unit). Internal to these blocks are clock domain boundaries between the system clock and the
network clocks supplied by the PHY.
The management information base (MIB) block maintains the counters for a variety of network events and
statistics. The counters support the RMON (RFC 1757) Ethernet statistics group and some of the IEEE
802.3 counters.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-1
Fast Ethernet Controller (FEC)
The FEC supports several standard MAC-PHY interfaces to connect to an external Ethernet transceiver.
One is the 10/100 Mbps MII (18-wire) interface. Another is the 10-Mbps only 7-Wire interface, which uses
a subset of the MII pins.
CLK/CNTL
CommBus
IP Bus
Interrupt
FEC
SIF
tbus_addr
tbus
Requests
Bus
Controller
tbus_addr
CSR
tbusd_addr
FIFO Controller
Tx FIFO (1KByte)
Rx FIFO (1KByte)
RISC
Controller
(RISC +
Microcode)
T-bus
MIB
Counters
MII
MDO
MDEN
Transmit
Receive
MDI
I/O
Pad
MDIO
TX_EN
TXD[3:0]
TX_ER
MDC
TX_CLK
CRS,COL
RX_CLK
RX_DV
RXD[3:0]
RX_ER
MII/7-Wire Data
Option
Figure 14-1. Block Diagram—FEC
MPC5200B User’s Manual, Rev. 3
14-2
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.1.1
Features
The FEC incorporates several features/design goals that are key to its use:
• Support for different Ethernet physical interfaces:
— 100 Mbps IEEE 802.3 MII
— 10 Mbps IEEE 802.3 MII
— 10 Mbps 7-wire interface (industry standard)
• IEEE 802.3 full-duplex flow control
• Programmable max frame length supports IEEE 802.1 VLAN tags and priority
• Support for full-duplex operation (200 Mbps throughput) with a minimum system clock rate of
50 MHz.
• Support for half-duplex operation (100 Mbps throughput) with a minimum system clock rate of
25 MHz.
• Large (1 Kbyte) on-chip transmit and receive FIFOs to support a variety of bus latencies.
• Retransmission from transmit FIFO following a collision (no processor bus utilization).
• Automatic internal flushing of the Rx FIFO for runts (collision fragments) and address recognition
rejects (no processor bus utilization).
• Address recognition
— Frames with broadcast address may be always accepted or always rejected
— Exact match for single 48-bit individual (unicast) address
— Hash (64-bit hash) check of individual (unicast) addresses
— Hash (64-bit hash) check of group (multicast) addresses
— Promiscuous mode
14.2
Modes of Operation
The primary operational modes are described in this section.
14.2.1
Full- and Half-Duplex Operation
This is determined by the X_CNTRL register FDEN bit. Full-duplex mode is intended for use on point to
point links between switches or end node to switch. Half-duplex mode is used in connections between an
end node and a repeater or between repeaters.
Full-duplex flow control is an option that may be enabled in full-duplex mode.
14.2.2
10Mbps and 100Mbps MII Interface Operation
The MAC-PHY interface operates in MII mode by asserting the R_CNTRL register MII_MODE bit. MII
is the media independent interface defined by the 802.3 standard for 10/100 Mbps operation.
Speed of operation is determined by the TX_CLK and RX_CLK pins, which are driven by the transceiver.
The transceiver either auto-negotiates the speed or it may be controlled by software using the serial
management interface (MDC/MDIO pins) to the transceiver.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-3
Fast Ethernet Controller (FEC)
14.2.3
10Mbps 7-Wire Interface Operation
If the external transceiver supports 10 Mbps only and uses a 7-wire style interface then deassert the
R_CNTRL register MII_MODE bit in the R_CNTRL register. This style of interface is not defined by the
802.3 standard, but instead is an industry standard.
14.2.4
Address Recognition Options
The options supported are promiscuous, broadcast reject, individual address hash or exact match and
multicast hash match. Refer to the R_CNTRL register for address recognition programming.
14.2.5
Internal Loopback
Internal loopback mode is selected using the R_CNTRL register LOOP bit.
14.3
I/O Signal Overview
This section defines the FEC-to-chip pin I/O. The FEC network interface supports multiple options. One
is the MII option that requires 18 I/O pins and supports both data and an out-of-band serial management
interface to the PHY (transceiver) device. The MII option supports both 10 and 100 Mbps Ethernet rates.
The second is referred to as the 7-wire interface and supports only 10 Mbps Ethernet data. The 7-wire
interface uses a subset of the MII signals.
Table 14-1 shows the network interface signals and lists 18 signals, all of which are used for the 10/100
MII interface.
NOTE
The MDIO pin is bidirectional and corresponds to the FEC block MDI,
MDO and MDIO pins. The 7-wire interface option uses a subset of these
signals.
Table 14-1. Signal Properties
Signal Name
Chip Pin
Function
Reset State
tx_en
ETH0
MII—transmit data valid output
7-wire—transmit data valid output
0
tdata[0]
ETH1
MII—transmit data bit 0 output
7-wire—transmit data output
—
tdata[1]
ETH2
MII—transmit data bit 1 output
—
tdata[2]
ETH3
MII—transmit data bit 2 output
—
tdata[3]
ETH4
MII—transmit data bit 3 output
—
tx_er
ETH5
MII—transmit error output
0
mdc
ETH6
MII—management clock output
0
mdi
mdo
md_en
ETH7
MII—management data bidirect
Hi-Z (input)
MPC5200B User’s Manual, Rev. 3
14-4
Freescale Semiconductor
Fast Ethernet Controller (FEC)
Table 14-1. Signal Properties (continued)
14.3.1
14.3.1.1
Signal Name
Chip Pin
Function
Reset State
rx_dv
ETH8
MII—Rx data valid input
7-wire—rena input
—
rx_clk
ETH9
MII—Rx clock input
7-wire—Rx clock input
—
col
ETH10
MII—collision input
10 Mbps 7-wire—collision input
—
tx_clk
ETH11
MII—transmit clock input
7-wire—transmit clock input
—
rdata[0]
ETH12
MII—Rx data bit 0 input
7-wire—Rx data input
—
rdata[1]
ETH13
MII—Rx data bit 1 input
—
rdata[2]
ETH14
MII—Rx data bit 2 input
—
rdata[3 ]
ETH15
MII—Rx data bit 3 input
—
rx_er
ETH16
MII—Rx error input
—
crs
ETH17
MII—carrier sense input
—
Detailed Signal Descriptions
MII Ethernet MAC-PHY Interface
This section gives a detailed description of the Media-Independent Interface (MII). An overview of the
MII is presented followed by a description of the MII signals. Two different types of MII frames are
described. A brief MII management function overview is given.
The MII interface has 18 signals. Tx and Rx functions require 7 signals each:
• 4 data signals
• 1 delimiter
• 1 error
• 1 clock
Media status is indicated by 2 signals:
• 1 signal indicates a carrier is present.
• 1 signal indicates a collision occurred.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-5
Fast Ethernet Controller (FEC)
Management interface is provided by 2 signals.
MII signals are described below.
Tx_CLK
A continuous clock that provides a timing reference for Tx_EN, TxD, and Tx_ER. The
frequency of Tx_CLK is 25% of the transmit data rate, ± 100 ppm. Duty cycle shall be
35%-65% inclusive.
Rx_CLK
A continuous clock that provides a timing reference for Rx_DV, RxD, and Rx_ER. The
frequency of Rx_CLK is 25% of the receive data rate, with a duty cycle between 35% and
65%.
Tx_EN
Assertion of this signal indicates valid nibbles are being presented on the MII. This signal
is asserted with the first nibble of preamble and is negated prior to the first Tx_CLK
following the final nibble of the frame.
TxD
TxD[0:3] represent a nibble of data when Tx_EN is asserted and have no meaning when
Tx_EN is de-asserted. Table 14-2 summarizes the permissible encoding of TxD.
Tx_ER
Rx_DV
RxD
Rx_ER
CRS
COL
MDC
MDIO
Assertion of this signal for one or more clock cycles while Tx_EN is asserted causes PHY
to transmit one or more illegal symbols. Asserting Tx_ER has no affect when operating at
10 Mbps or when Tx_EN is de-asserted This signal transitions synchronously with respect
to Tx_CLK.
When this signal is asserted, PHY is indicating a valid nibble is present on the MII. This
signal remains asserted from the first recovered nibble of the frame through the last nibble.
Assertion of Rx_DV must start no later than the SFD, and exclude any EOF.
RxD[0:3] represents a nibble of data to be transferred from the PHY to the MAC when
Rx_DV is asserted. A completely formed SFD must be passed across the MII. When
Rx_DV is not asserted, RxD has no meaning. There is an exception to this which is
explained later. Table 14-3 summarizes the permissible encoding of RxD.
When Rx_ER and Rx_DV are asserted, the PHY has detected an error in the current frame.
When Rx_DV is not asserted, Rx_ER shall have no affect. This signal transitions
synchronously with Rx_CLK.
Signal is asserted when Tx or Rx medium is not idle. If a collision occurs, CRS remains
asserted through the duration of the collision. This signal is not required to transition
synchronously with Tx_CLK or Rx_CLK.
Signal is asserted on a collision detection and remains asserted while the collision persists.
The signal behavior is not specified when in full-duplex mode. This signal is not required
to transition synchronously with Tx_CLK or Rx_CLK.
Signal provides a timing reference to the PHY for data transfers on the MDIO signal. MDC
is aperiodic and has no maximum high or low times. The minimum high and low times is
160 ns with the minimum period being 400 ns.
Signal transfers control/status information between the PHY and MAC. It transitions
synchronously to MDC. The MDIO pin is a bidirectional pin. The internal FEC signals that
connect to this pad are: MDI (data in), MDO (data out), and MD_EN (direction control,
high for output).
MPC5200B User’s Manual, Rev. 3
14-6
Freescale Semiconductor
Fast Ethernet Controller (FEC)
Table 14-2 lists the interpretation of possible encodings for Tx_EN and Tx_ER.
Table 14-2. MII: Valid Encoding of TxD, Tx_EN and Tx_ER
TX_EN
TX_ER
TXD
Indication
0
0
0000 through 1111
Normal inter-frame
0
1
0000 through 1111
Reserved
1
0
0000 through 1111
Normal data transmission
1
1
0000 through 1111
Transmit error propagation
A false carrier condition occurs if the PHY detects a bad start-of-stream delimiter. This condition signals
the MII by asserting Rx_ER and placing 1110 on RxD. Rx_DV must also be de-asserted. Valid Rx_DV,
Rx_ER and RxD[3:0] encodings are shown in Table 14-3.
Table 14-3. MII: Valid Encoding of RxD, Rx_ER and Rx_DV
14.3.1.2
RX_DV
RX_ER
RXD
Indication
0
0
0000 through 1111
Normal inter-frame
0
1
0000
Normal inter-frame
0
1
0001 through 1101
Reserved
0
1
1110
False Carrier
0
1
1111
Reserved
1
0
0000 through 1111
Normal data reception
1
1
0000 through 1111
Data reception with errors
MII Management Frame Structure
A transceiver management frame transmitted on the MII management interface uses the MDIO and MDC
pins. A transaction or frame on this serial interface has the following format:
<preamble><st><op><phyad><regad><ta><data><idle>
Table 14-4. MMI Format Definitions
Name
<preamble>
Description
Optional—consists of a sequence of 32 continuous logic 1s.
<st>
Start of frame—indicated by a <01> pattern.
<op>
Operation code:
Read instruction is <10>
Write instruction is <01>
<phyad>
A 5-bit field that lists up to 32 PHYs be addressed. The first address bit transmitted is the msb of the
address.
<regad>
A 5-bit field that lets 32 registers be addressed within each PHY. The first register bit transmitted is
the msb of the address.
<ta>
A 2-bit field that provides spacing between the register address field and the data field to avoid
contention on the MDIO signal during a read operation.
<data>
Data field is 16 bits wide. Data bit 15 is first bit transmitted and received.
<idle>
During idle condition, MDIO is in the high impedance state.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-7
Fast Ethernet Controller (FEC)
14.3.1.2.1
MII Management Register Set
The MII management register set located in the PHY may consist of a basic register set and an extended
register set as defined in Table 14-5.
Table 14-5. MII Management Register Set
14.4
Register Address
Register Name
Basic/Extended
0
Control
B
1
Status
B
2:3
PHY Identifier
E
4
Auto-Negotiation Advertisement
E
5
AN Link Partner Ability
E
6
AN Expansion
E
7
AN Next Page Transmit
E
8:15
Reserved
E
16:31
Vendor Specific
E
FEC Memory Map and Registers
The FEC device is programmed by a combination of control/status registers (CSRs) and BestComm task
loops. Since the FEC software model is BestComm-based, there is no similarity with existing CPM-based
products’ coding.
The CSRs are used for mode control, interrupts and extraction of status information. BestComm tasks are
used to pass data buffers and related buffer or frame information between the hardware and software.
All access via microprocessor to and from the registers must be 32-bit accesses. There is no support for
accesses other than 32-bit. All access via BestComm to and from the registers may be byte, word or
longword (32-bit) accesses. Top Level Module Memory Map
The FEC implementation requires a 2KByte memory map space. This is divided into two sections of 512
Bytes and an additional 1KBytes of reserved space. The first 512 Bytes is used for Control and Status
Registers. The second contains event/statistic counters held in the MIB block. Table 14-6 defines the top
level memory map.
Table 14-6. Module Memory Map
Address
Function
000–1FF
Control/Status Registers
200–3FF
MIB Block Counters, see Table 14-8
400–7FF
Reserved
MPC5200B User’s Manual, Rev. 3
14-8
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.1
Control and Status (CSR) Memory Map
Table 14-7. CSR Counters
Address
Mnemonic
000
FEC_ID
FEC_ID Register
004
IEVENT
Interrupt Event Register
008
IMASK
Interrupt Enable Register
00C
Name
Reserved
010
R_DES_ACTIVE
Receive Ring Updated Flag
014
X_DES_ACTIVE
Transmit Ring Updated Flag
018-020
024
Reserved
ECNTRL
028-03C
Reserved
040
MII_DATA
044
MII_SPEED
04C-060
064
Ethernet Control Register
MII Data Register
MII Speed Register
Reserved
MIB_CONTROL
068-080
MIB Control/Status Register
Reserved
084
R_CNTRL
Receive Control Register
088
R_HASH
Receive Hash
08C-0C0
0C4
Reserved
X_CNTRL
0C8-0E0
Transmit Control Register
Reserved
0E4
PADDR1
Physical Address Low
0E8
PADDR2
Physical Address High+ Type Field
0EC
OP_PAUSE
0F0-114
Opcode + Pause Duration
Reserved
118
IADDR1
Upper 32 bits of individual Hash Table
11C
IADDR2
Lower 32 bits of individual Hash Table
120
GADDR1
Upper 32 bits of Group Hash Table
124
GADDR2
Lower 32 bits of Group Hash Table
128-140
144
Reserved
X_WMRK
148-180
Transmit FIFO Watermark
Reserved
184
RFIFO_DATA
Receive FIFO Data
188
RFIFO_STATUS
Receive FIFO Status
18C
RFIFO_CONTROL
Receive FIFO Control
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-9
Fast Ethernet Controller (FEC)
Table 14-7. CSR Counters (continued)
Address
Mnemonic
Name
190
RFIFO_LRF_PTR
Receive FIFO Last Read Frame Pointer
194
RFIFO_LWF_PTR
Receive FIFO Last Write Frame Pointer
198
RFIFO_ALARM
Receive FIFO Alarm Pointer
19C
RFIFO_RDPTR
Receive FIFO Read Pointer
1A0
RFIFO_WRPTR
Receive FIFO Write Pointer
1A4
TFIFO_DATA
1A8
TFIFO_STATUS
Transmit FIFO Status
1AC
TFIFO_CONTROL
Transmit FIFO Control
1B0
TFIFO_LRF_PTR
Transmit FIFO Last Read Frame Pointer
1B4
TFIFO_LWF_PTR
Transmit FIFO Last Write Frame Pointer
1B8
TFIFO_ALARM
Transmit FIFO Alarm Pointer
1BC
TFIFO_RDPTR
Transmit FIFO Read Pointer
1C0
TFIFO_WRPTR
Transmit FIFO Write Pointer
1C4
RESET_CNTRL
Reset Control
1C8
XMIT_FSM
Transmit FSM
Transmit FIFO Data
1CC-1FF
14.4.2
MIB Block Counters Memory Map
Table 14-8 defines the MIB Counters memory map which defines the MIB RAM space locations where
hardware-maintained counters reside. These fall in the 3200-33FF address range. Counters are divided into
two groups.
1. RMON counters—are included which cover Ethernet statistics counters defined in RFC 1757. In
addition to Ethernet statistics group counters, a counter is included to count truncated frames as
FEC only supports frame lengths up to 2047bytes. RMON counters are implemented
independently for Tx and Rx, to ensure accurate network statistics when operating in full-duplex
mode.
2. IEEE counters—are included which support the mandatory and recommended counter packages
defined in Section 5 of ANSI/IEEE Standard 802.3 (1998 edition). FEC supports IEEE Basic
Package objects, but does not require MIB block counters. In addition, some recommended
package objects supported do not require MIB counters. Counters for Tx and Rx full-duplex flow
control frames are included.
MPC5200B User’s Manual, Rev. 3
14-10
Freescale Semiconductor
Fast Ethernet Controller (FEC)
Table 14-8. MIB Counters
Address
Mnemonic
Description
200
RMON_T_DROP
204
RMON_T_PACKETS
208
RMON_T_BC_PKT
RMON Tx Broadcast Packets
20C
RMON_T_MC_PKT
RMON Tx Multicast Packets
210
RMON_T_CRC_ALIGN
RMON Tx Packets with CRC/Align error
214
RMON_T_UNDERSIZE
RMON Tx Packets less than 64bytes, good CRC
218
RMON_T_OVERSIZE
21C
RMON_T_FRAG
220
RMON_T_JAB
RMONTxPackets greater than MAX_FL bytes, bad CRC
224
RMON_T_COL
RMON Tx collision count
228
RMON_T_P64
RMON Tx 64Byte packets
22C
RMON_T_P65TO127
RMON Tx 65 to 127Byte packets
230
RMON_T_P128TO255
RMON Tx 128 to 255Byte packets
234
RMON_T_P256TO511
RMON Tx 256 to 511Byte packets
238
RMON_T_P512TO1023
RMON Tx 512 to 1023Byte packets
23C
RMON_T_P1024TO2047
RMON Tx 1024 to 2047Byte packets
240
RMON_T_P_GTE2048
244
RMON_T_OCTETS
248
IEEE_T_DROP
24C
IEEE_T_FRAME_OK
250
IEEE_T_1COL
Frames Transmitted with Single Collision
254
IEEE_T_MCOL
Frames Transmitted with Multiple Collisions
258
IEEE_T_DEF
Frames Transmitted after Deferral Delay
25c
IEEE_T_LCOL
Frames Transmitted with Late Collision
260
IEEE_T_EXCOL
264
IEEE_T_MACERR
Frames Transmitted with Tx FIFO Underrun
268
IEEE_T_CSERR
Frames Transmitted with Carrier Sense Error
26C
IEEE_T_SQE
270
T_FDXFC
274
IEEE_T_OCTETS_OK
278–27C
rsvd
280
RMON_R_DROP
284
RMON_R_PACKETS
288
RMON_R_BC_PKT
RMON Rx Broadcast Packets
28C
RMON_R_MC_PKT
RMON Rx Multicast Packets
Count of Frames Not Correctly Counted
RMON Tx Packet Count
RMON Tx Packets greater than MAX_FL bytes, good CRC
RMON Tx Packets less than 64bytes, bad CRC
RMON Tx packets with greater than 2048Bytes
RMON Tx Octets
Count of Frames Not Counted Correctly
Frames Transmitted OK
Frames Transmitted with Excessive Collisions
Frames Transmitted with SQE Error
Flow Control Pause Frames Transmitted
Octet Count for Frames Transmitted w/o Error
Reserved
Count of frames Not Counted Correctly
RMON Rx Packet Count
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-11
Fast Ethernet Controller (FEC)
Table 14-8. MIB Counters (continued)
Address
Mnemonic
Description
290
RMON_R_CRC_ALIGN
RMON Rx Packets with CRC/Align error
294
RMON_R_UNDERSIZE
RMON Rx Packets less than 64Bytes, good CRC
298
RMON_R_OVERSIZE
29C
RMON_R_FRAG
2A0
RMON_R_JAB
2A4
RMON_R_RESVD_0
2A8
RMON_R_P64
2AC
RMON_R_P65TO127
RMON Rx 65 to 127Byte packets
2B0
RMON_R_P128TO255
RMON Rx 128 to 255Byte packets
2B4
RMON_R_P256TO511
RMON Rx 256 to 511Byte packets
2B8
RMON_R_P512TO1023
RMON Rx 512 to 1023Byte packets
2BC
RMON_R_P1024TO2047
RMON Rx 1024 to 2047Byte packets
2C0
RMON_R_P_GTE2048
2C4
RMON_R_OCTETS
2C8
IEEE_R_DROP
2CC
IEEE_R_FRAME_OK
2D0
IEEE_R_CRC
2D4
IEEE_R_ALIGN
2D8
IEEE_R_MACERR
2DC
R_FDXFC
2E0
IEEE_R_OCTETS_OK
2E4–2FC
rsvd
Reserved
300–3FF
rsvd
Reserved
RMON Rx Packets greater than MAX_FL bytes, good CRC
RMON Rx Packets less than 64Bytes, bad CRC
RMONRxPackets greater than MAX_FL bytes, bad CRC
Reserved
RMON Rx 64Byte packets
RMON Rx packets with greater than 2048Bytes
RMON Rx Octets
Count of frames not counted correctly
Frames received OK
Frames received with CRC error
Frames received with alignment error
Rx FIFO overflow count
Flow Control Pause frames received
Octet count for frames received without error
MPC5200B User’s Manual, Rev. 3
14-12
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3
FEC Registers
The FEC uses 37 32-bit registers. These registers are located at an offset from MBAR of 0x3000. Register
addresses are relative to this offset. Therefore, the actual register address is MBAR + 0x3000 + register
address.
Hyperlinks to the FEC registers are provided below:
• FEC ID Register (0x3000)
• FEC Interrupt Event Register (0x3004)
• FEC Interrupt Enable Register (0x3008)
• FEC Rx Descriptor Active Register (0x3010)
• FEC Tx Descriptor Active Register (0x3014)
• FEC Ethernet Control Register (0x3024)
• FEC MII Management Frame Register (0x3040)
• FEC MII Speed Control Register (0x3044)
• FEC MIB Control Register (0x3064)
• FEC Receive Control Register (0x3084)
• FEC Hash Register (0x3088)
• FEC Tx Control Register (0x30C4)
• FEC Physical Address Low Register (0x30E4)
• FEC Physical Address High Register (0x30E8)
• FEC Opcode/Pause Duration Register (0x30EC)
• FEC Descriptor Individual Address 1 Register (0x3118)
• FEC Descriptor Individual Address 2 Register (0x311C)
• FEC Descriptor Group Address 1 Register (0x3120)
• FEC Descriptor Group Address 2 Register (0x3124)
• FEC Tx FIFO Watermark Register (0x3144)
• FEC Rx FIFO Data Register FEC Tx FIFO Data Register (0x3184)
• FEC Rx FIFO Status Register FEC Tx FIFO Status Register (0x31A4)
• FEC Rx FIFO Control Register FEC Tx FIFO Control Register (0x3188)
• FEC Rx/Tx FIFO Status Register (0x31A8)
• FEC Rx/Tx FIFO Control Register (0x318C)
• FEC Rx/Tx FIFO Last Read Frame Pointer Register (0x3190)
• FEC Rx/Tx FIFO Last Write Frame Pointer Register (0x3194)
• FEC Rx/Tx FIFO Alarm Pointer Register (0x3198)
• FEC Rx/Tx FIFO Alarm Pointer Register (0x31B8)
• FEC Rx/Tx FIFO Read Pointer Register (0x319C)
• FEC Rx/Tx FIFO Write Pointer Register (0x31A0)
• FEC Reset Control Register (0x31C4)
• FEC Transmit FSM Register (0x31C8)
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-13
Fast Ethernet Controller (FEC)
14.4.3.1
FEC ID Register
The read-only FEC ID Register (FEC_ID) identifies the FEC block and revision.
Address MBAR + 0x3000
0
1
2
3
4
5
6
7
R
8
9
10
11
12
13
14
15
FEC_ID
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
R
Reset
DMA FIFO
Reserved
W
0
0
0
0
0
0
FEC_REV
Rsvd
0
0
0
0
0
0
0
Figure 14-2. FEC ID Register
Table 14-9. FEC ID Register Field Descriptions
Bits
Name
0:15
FEC_ID
16:20
—
21
DMA
DMA function is included in the FEC
0 FEC does not include DMA (BestComm is the DMA engine)
22
FIFO
FIFO function included in the FEC
1 FEC does include a FIFO
24:31
FEC_REV
14.4.3.2
Description
Value identifying the FEC
Reserved
Value identifies the FEC revision
FEC Interrupt Event Register
When an event occurs that sets a bit in the IEVENT register, an interrupt is generated if the corresponding
bit in the interrupt enable register (IMASK) is also set. The IEVENT register bit is cleared if 1 is written
to that bit position. A 0 write has no effect. A hardware reset clears this register.
These interrupts can be divided into operational interrupts, transceiver/network error interrupts and
internal error interrupts. Interrupts that may occur in normal operation are:
• GRA
• TFINT
• MII
Interrupts resulting from errors/problems detected in the network or transceiver are:
• HBERR
• BABR
• BABT
• LATE_COL
• COL_RETRY_LIM
MPC5200B User’s Manual, Rev. 3
14-14
Freescale Semiconductor
Fast Ethernet Controller (FEC)
Interrupts resulting from FIFO errors are:
• XFIFO_UN
• XFIFO_ERROR
• RFIFO_ERROR
Some error interrupts are independently counted in the MIB block counters. Software may choose to mask
these interrupts, since the errors are visible to network management via the MIB counters.
• HBERR – IEEE_T_SQE
• BABR – RMON_R_OVERSIZE (good CRC), RMON_R_JAB (bad CRC)
• BABT – RMON_T_OVERSIZE (good CRC), RMON_T_JAB (bad CRC)
• LATE_COL – IEEE_T_LCOL
• COL_RETRY_LIM – IEEE_T_EXCOL
• XFIFO_UN – IEEE_T_MACERR
Address MBAR + 0x3004
10
11
12
13
14
15
MII
Rsvd
RFIFO_
ERROR
9
XFIFO_
ERROR
8
XFIFO_UN
7
COL_
RETRY_LIM
6
LATE_COL
5
TFINT
4
GRA
3
BABT
2
BABR
1
HBERR
0
Rsvd
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
W
Reset
Reserved
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 14-3. FEC Interrupt Event Register
Table 14-10. FEC Interrupt Event Register Field Descriptions
Bits
Name
Description
0
HBERR
Heartbeat Error— interrupt bit indicates HBC is set in the X_CNTRL register and COL input
was not asserted within the heartbeat window following a transmission.
1
BABR
Babbling Receive Error—bit indicates frame was received with a length in excess of
R_CNTRL.MAX_FL bytes.
2
BABT
Babbling Transmit Error—bit indicates transmitted frame length exceeded
R_CNTRL.MAX_FL bytes. This condition is usually caused by a frame that is too long being
placed into the transmit data buffer(s).
Truncation does not occur.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-15
Fast Ethernet Controller (FEC)
Table 14-10. FEC Interrupt Event Register Field Descriptions (continued)
Bits
Name
Description
3
GRA
Graceful Stop Complete—interrupt bit is asserted for one of three reasons.
1 A graceful stop initiated by setting X_CNTRL.GTS bit is complete.
2 A graceful stop initiated by setting X_CNTRL.FC_PAUSE bit is complete.
3 A graceful stop initiated by reception of a valid full duplex flow control “pause” frame is
complete. Refer to “Full-Duplex Flow Control” section of the Ethernet Operation chapter.
A graceful stop means the transmitter is put into a pause state after completion of the frame
currently being transmitted.
4
TFINT
5
—
Reserved
6
—
Reserved
7
—
Reserved
8
MII
MII Interrupt—bit indicates MII completed the data transfer requested.
9
—
Reserved
10
LATE_COL
11
COL_RETRY_LIM
Collision Retry Limit—bit indicates a collision occurred on each of 16 successive attempts to
transmit the frame. The frame is discarded without being transmitted and transmission of the
next frame begins.
Only occurs in half-duplex mode.
12
XFIFO_UN
Transmit FIFO Underrun—bit indicates the transmit FIFO became empty before the complete
frame was transmitted. A bad CRC is appended to the frame fragment and remainder of
frame is discarded.
13
XFIFO_ERROR
Transmit FIFO Error—indicates an error occurred within the transmit FIFO. When
XFIFO_ERROR bit is set, ECNTRL.ETHER_EN is cleared, halting FEC frame processing.
When this occurs, software must ensure both the FIFO Controller and BestComm are
soft-reset.
14
RFIFO_ERROR
Receive FIFO Error—indicates error occurred within the RX FIFO. When RFIFO_ERROR bit
is set, ECNTRL.ETHER_EN is cleared, halting FEC frame processing. When this occurs,
software must ensure both the FIFO Controller and BestComm are soft-reset.
15:31
—
Transmit frame interrupt. This bit indicates that a frame has been transmitted.
Late Collision bit indicates a collision occurred beyond the collision window (slot time) in
half-duplex mode. The frame is truncated with a bad CRC. Remainder of the frame is
discarded.
Reserved.
MPC5200B User’s Manual, Rev. 3
14-16
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3.3
FEC Interrupt Enable Register
The IMASK register provides control over the interrupt events allowed to generate an interrupt. All
implemented bits in this CSR are R/W. This register is cleared by a hardware reset. If corresponding bits
in both the IEVENT and IMASK registers are set, the interrupt is signalled to the CPU. The interrupt signal
remains asserted until 1 is written to the IEVENT bit (write 1 to clear) or a 0 is written to the IMASK bit.
Address MBAR + 0x3008
11
12
13
14
15
Rsvd
RFERREN
10
XFERREN
9
XFUNEN
8
CRLEN
7
LCEN
6
MIIEN
5
TFIEN
4
GRAEN
3
BTEN
2
BREN
1
HBEEN
R
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
Reserved
Rsvd
W
Reset
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 14-4. FEC Interrupt Enable Register
Table 14-11. FEC Interrupt Enable Register Field Descriptions
Bits
Name
Description
0
HBEEN
1
BREN
Babbling Receiver Interrupt Enable
2
BTEN
Babbling Transmitter Interrupt Enable
3
GRAEN
4
TFIEN
5
—
Reserved
6
—
Reserved
7
—
Reserved
8
MIIEN
9
—
10
LCEN
Late Collision Enable
11
CRLEN
Late Collision Enable
12
XFUNEN
13
XFERREN
Transmit FIFO Error Enable
14
RFERREN
Receive FIFO Error Enable
15:31
—
Heartbeat Error Interrupt Enable
Graceful Stop Interrupt Enable
Transmit Frame Interrupt Enable
MII Interrupt Enable
Reserved
Transmit FIFO Underrun Enable
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-17
Fast Ethernet Controller (FEC)
14.4.3.4
FEC Rx Descriptor Active Register
The FEC descriptor active register is a command register which should be written by the user to indicate
that the receive descriptor ring has been updated (empty receive buffers have been produced by the driver
with the E bit set).
Whenever the register is written the R_DES_ACTIVE bit is set. This is independent of the data actually
written by the user. When set, the FEC will poll the receive descriptor ring and process receive frames
(provided ETHER_EN is also set). Once the FEC polls a receive descriptor whose ownership bit is not set,
then the FEC will clear the R_DES_ACTIVE bit and cease receive descriptor ring polling until the user
sets the bit again, signifying additional descriptors have been placed into the receive descriptor ring.
The R_DES_ACTIVE bit is cleared at reset and by the clearing of ETHER_EN.
Address MBAR + 0x3010
1
2
3
4
5
6
R
W
Reserved
Reset
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
R_DES_ACTIVE
0
0
0
0
0
0
0
0
0
0
Figure 14-5. FEC Rx Descriptor Active Register
Table 14-12. FEC Rx Descriptor Active Register Field Descriptions
Bits
Name
0:6
—
7
R_DES_ACTIVE
8:31
—
Description
Reserved
Set to one when this register is written, regardless of the value written. Cleared by the FEC
device whenever no additional “ready” descriptors remain in the receive ring.
Reserved
MPC5200B User’s Manual, Rev. 3
14-18
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3.5
FEC Tx Descriptor Active Register
The FEC descriptor active register is a command register which should be written by the user to indicate
that the transmit descriptor ring has been updated (transmit buffers have been produced by the driver with
the R bit set in the buffer descriptor).
Whenever the register is written the X_DES_ACTIVE bit is set. This is independent of the data actually
written by the user. When set, the FEC will poll the transmit descriptor ring and process transmit frames
(provided ETHER_EN is also set). Once the FEC polls a transmit descriptor whose ownership bit is not
set, then the FEC will clear the X_DES_ACTIVE bit and cease transmit descriptor ring polling until the
sets the bit again, signifying additional descriptors have been placed into the transmit descriptor ring.
The X_DES_ACTIVE bit is cleared at reset and by the clearing of ETHER_EN.
Address MBAR + 0x3014
1
2
3
4
5
6
R
W
Reserved
Reset
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
X_DES_ACTIVE
0
0
0
0
0
0
0
0
0
0
Figure 14-6. FEC Tx Descriptor Active Register
Table 14-13. FEC Tx Descriptor Active Register Field Descriptions
Bits
Name
0:6
—
7
X_DES_ACTIVE
8:31
—
Description
Reserved
Set to one when this register is written, regardless of the value written. Cleared by the FEC
device whenever no additional “ready” descriptors remain in the transmit ring.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-19
Fast Ethernet Controller (FEC)
14.4.3.6
FEC Ethernet Control Register
The ECNTRL register is a read/write user register that can enable/disable the FEC. Some fields may be
altered by hardware.
Address MBAR + 0x3024
1
2
3
4
R
7
8
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
RESET
Reserved
ETHER_EN
Reset
6
FEC_OE
W TAG0 TAG1 TAG2 TAG3 Rsvd
5
TESTMD
0
0
0
0
0
0
0
0
0
0
R
W
Reset
Reserved
0
0
0
0
0
0
0
Figure 14-7. FEC Ethernet Control Register
Table 14-14. FEC Ethernet Control Register Field Descriptions
Bits
Name
Description
0:3
TAG[0:3]
This field allows programming and reading the TBUS tag bits. This field is used for debug/test
only, and is implemented in two separate 4-bit registers. The tags_in register is written to when
a write to this register takes place. This field (tags_in) resets to 1111. During a write cycle to any
FEC register other than ECNTRL the tags_in value is driven onto the tbus data bus tag field.
During a read cycle the tbus tag field bits is latched and saved in the tags_out register. When
the ECNTRL register is read the value from tags_out shows in the TAG field.
4
—
5
TESTMD
6:28
—
29
FEC_OE
30
ETHER_EN
Ethernet Enable—When this bit is set, FEC is enabled and Rx/Tx can occur. When bit is
cleared, Rx stops immediately; Tx stops after a bad CRC is appended to any frame currently
being transmitted. The ETHER_EN bit is altered by hardware under the following conditions:
• If ECNTRL.RESET is written to 1 by software, ETHER_EN is cleared.
• If error conditions causing the IEVENT.EBERR, XFIFO_ERROR or RFIFO_ERROR bits to
set occur ETHER_EN is cleared.
31
RESET
Ethernet Controller Reset—When this bit is set, the equivalent of a hardware reset is done, but
it is local to the FEC. ETHER_EN is cleared and all other FEC registers take their reset values.
Also, any Tx/Rx currently in progress is abruptly aborted. This bit is automatically cleared by
hardware during the reset sequence. The reset sequence takes approximately 8 clock cycles
after RESET is written with 1.
Reserved
Test Mode—used for manufacturing test only. TESTMD resets to 0. This bit forces the bus
controller to ignore all bus requests except the one from the SIF.
Reserved
FEC Output Enable—It is a spare bit and has no affect on internal operation.
MPC5200B User’s Manual, Rev. 3
14-20
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3.7
FEC MII Management Frame Register
This MII_DATA register does not reset to a defined value. The MII_DATA register is used to communicate
with the attached MII compatible PHY device(s), providing read/write access to the MII registers.
Writing to the MII_DATA register causes a management frame to be sourced unless the MII_SPEED
register has been programmed to 0. When writing to MII_DATA when MII_SPEED = 0, if the
MII_SPEED register is then written to a non-zero value, an MII frame is generated with the data previously
written to the MII_DATA register. This let MII_DATA and MII_SPEED be programmed in either order if
MII_SPEED is currently 0.
Address MBAR + 0x3040
0
R
2
ST
W
Reset
1
3
4
5
OP
6
7
9
10
PA
11
12
13
14
RA
15
TA
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
X
X
X
X
X
X
X
R
DATA
W
Reset
8
X
X
X
X
X
X
X
X
X
Note: X: Bit does not reset to a defined value.
Figure 14-8. FEC MII Management Frame Register
Table 14-15. FEC MII Management Frame Register Field Descriptions
Bits
Name
Description
0:1
ST
Start of Frame Delimiter—bits must be programmed to 01 for a valid MII management frame.
2:3
OP
Operation Code—field must be programmed to 10 (read) or 01 (write) to generate a valid MII
management frame.
• A value of 11 causes a “read” frame operation.
• A value of 00 causes a “write” frame operation. However, these frames are not MII compliant.
4:8
PA
PHY Address—specifies 1 of up to 32 attached PHY devices.
9:13
RA
Register Address—specifies 1 of up to 32 registers within the specified PHY device.
14:15
TA
TurnAround—must be programmed to 10 to generate a valid MII management frame.
16:31
DATA
Management Frame Data—used for data written to or read from PHY register.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-21
Fast Ethernet Controller (FEC)
To do a read or write operation the MII management interface writes to the MII_DATA register. To
generate a valid read or write management frame:
• the ST field must be written with a 01
• the OP field must be written with either:
— 01 (management register write frame), or
— 10 (management register read frame), and
• the TA field must be written with a 10
If other patterns are written to these fields, a frame is generated, but it does not comply to the IEEE 802.3
MII definition:
• OP field = 1x produces a “read” frame operation, while
• OP field = 0x produces a “write” frame operation.
To generate an IEEE 802.3 compliant MII management interface write frame (write to a PHY register), the
user must write the following to the MII_DATA register:
{01 01 PHYAD REGAD 10 DATA}
Writing this pattern causes control logic to shift out the data in the MII_DATA register following a
preamble generated by the control state machine. During this time, the MII_DATA register contents are
altered as the contents are serially shifted, and is unpredictable if read by the user. When the write
management frame operation is complete, the MII_DATAIO_COMPL interrupt is generated. At this time
the MII_DATA register contents match the original value written.
To generate an MII Management Interface read frame (read a PHY register) the user must write the
following to the MII_DATA register (DATA field content is don’t care):
{01 10 PHYAD REGAD 10 XXXX}
Writing this pattern causes control logic to shift out data in the MII_DATA register following a preamble
generated by the control state machine. During this time, the MII_DATA register contents are altered as
the contents are serially shifted, and is unpredictable if read by the user. When the read management frame
operation is complete, the MII_DATAIO_COMPL interrupt is generated. At this time the MII_DATA
register contents matches the original value written, except for the DATA field whose contents have been
replaced by the value read from the PHY register.
If the MII_DATA register is written while frame generation is in progress, frame contents are altered.
Software should use the MII_STATUS register and/or the MII_DATAIO_COMPL interrupt to avoid
writing to the MII_DATA register while frame generation is in process.
MPC5200B User’s Manual, Rev. 3
14-22
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3.8
FEC MII Speed Control Register
The MII_SPEED register provides MII clock (MDC pin) frequency control. This allows dropping the MII
management frame preamble and provides observability (intended for manufacturing test) of an internal
counter used in generating an MDC clock signal.
Address MBAR + 0x3044
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
DIS_
PREAMBLE
0
R
W
Reset
8
Reserved
W
Reset
7
Reserved
0
0
0
0
0
0
0
0
0
MII_SPEED
0
0
0
0
Rsvd
0
0
0
Figure 14-9. FEC MII Speed Control Register
Table 14-16. FEC MII Speed Control Register Field Descriptions
Bits
Name
Description
0:23
—
24
DIS_PREAMBLE
Asserting this bit causes preamble (32 1s) to not be prepended to the MII management
frame. The MII standard allows the preamble to be dropped, if not required by the attached
PHY device(s).
Reserved
25:30
MII_SPEED
Controls the frequency of the MII management interface clock (MDC) relative to ipb_clk. A 0
value in this field “turns off” the MDC and leaves it in low voltage state. Any non-zero value
results in the MDC frequency of
1/(MII_SPEED*2) of the ipb_clk frequency.
The MII_SPEED field must be programmed with a value to provide an MDC frequency of less
than or equal to 2.5 MHz to be compliant with the IEEE MII characteristic. The MII_SPEED
must be set to a non-zero value in order to source a read or write management frame. After
the management frame is complete, the MII_SPEED register may optionally be set to 0 to
turn off the MDC. The MDC generated has a 50% duty cycle except when MII_SPEED is
changed during operation (change takes affect following either a rising or falling edge of
MDC).
If the ipb_clk is 25MHz, programming MII_SPEED field to 0x5 results in a MDC frequency of
25MHz * 1/(5*2) = 2.5 MHz. Table 14-17 shows MII_SPEED optimum values as a function of
the ipb_clk frequency.
31
—
Reserved
Table 14-17. Programming Examples for MII_SPEED Register
ipb_clk Frequency
MII_SPEED (Field in Register)
MDC Frequency
25MHz
$5
2.5MHz
33MHz
$7
2.36MHz
40MHz
$8
2.5MHz
50MHz
$A
2.5MHz
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-23
Fast Ethernet Controller (FEC)
14.4.3.9
FEC MIB Control Register
The MIB_CONTROL register is a read/write register used to provide control of and to observe the state
of the MIB block. This register is accessed by user software if there is a need to disable the MIB block
operation. For example, to clear all MIB counters in RAM the user should disable the MIB block, clear all
MIB RAM locations, then enable the MIB block. The MIB_DISABLE bit is reset to 1.
Address MBAR + 0x3064
Reset
2
3
4
5
6
8
9
10
11
12
13
14
15
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
Reserved
R
Reserved
W
Reset
7
MIB_IDLE
W
1
MIB_DISABLE
R
0
0
0
0
0
0
0
0
0
0
Figure 14-10. FEC MIB Control Register
Table 14-18. FEC MIB Control Register Field Descriptions
Bits
Name
Description
0
MIB_DISABLE
A read/write control bit. If set, MIB logic halts and MIB counters do not update.
1
MIB_IDLE
A read-only status bit. If set, MIB block is not currently updating MIB counters.
2:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
14-24
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3.10 FEC Receive Control Register
The R_CNTRL register is user programmable. It controls the operational mode of the receive block and
should be written only when ETHER_EN = 0 (initialization time).
Address MBAR + 0x3084
0
1
R
3
4
5
6
7
8
9
Reserved
10
12
13
14
15
0
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
FCE
PROM
MII_MODE
MAX_FL
DRT
LOOP
0
0
0
0
0
1
R
W
Reset
11
BC_REJ
W
Reset
2
Reserved
0
0
0
0
0
0
0
0
0
0
Figure 14-11. FEC Receive Control Register
Table 14-19. FEC Receive Control Register Field Descriptions
Bits
Name
Description
0:4
—
5:15
MAX_FL
16:25
—
26
FCE
Flow Control Enable—If asserted, the receiver detects PAUSE frames. On PAUSE frame detection,
transmitter stops transmitting data frames for a given duration.
27
BC_REJ
Broadcast Frame Reject—If asserted, frames with DA (destination address) = FFFF_FFFF_FFFF
are rejected, unless PROM bit is set. If both BC_REJ and PROM = 1, frames with broadcast DA are
accepted and M (MISS) bit is set in the Rx buffer descriptor.
28
PROM
Promiscuous mode—All frames are accepted regardless of address matching.
29
MII_MODE
Selects External Interface Mode—controls the interface mode for Tx/Rx blocks.
• Setting bit to 1 selects MII mode.
• Setting bit to 0 selects 7wire mode (used only for serial 10Mbps).
30
DRT
Reserved
Maximum Frame Length—User R/W field. Resets to decimal 1518. The length is measured starting
at DA and includes CRC at End Of Frame (EOF). Tx frames longer than MAX_FL causes the BABT
interrupt to occur. Rx Frames longer than MAX_FL causes BABR interrupt to occur and sets the
EOF Receive Frame Status Word LG bit. The recommended user programmed default value is
1518, or if VLAN Tags are supported, 1522.
Reserved
Disable Receive on Transmit
0 = Rx path operates independently of Tx
(use for full-duplex or to monitor Tx activity in half-duplex mode).
1 = Disable frames reception while transmitting
(normally used for half-duplex mode).
31
LOOP
Internal Loopback—If set, transmitted frames are looped back internal to the device and transmit
output signals are not asserted. The system clock is substituted for TX_CLK when LOOP is
asserted. DRT must be set to 0 when asserting LOOP.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-25
Fast Ethernet Controller (FEC)
14.4.3.11 FEC Hash Register
The read-only R_HASH register provides address recognition information from the Rx block about the
frame currently being received. These bits provide information used in the address recognition subroutine.
Address MBAR + 0x3088
R
0
1
2
3
4
5
6
7
8
9
10
FCE_DC
MULTI
CAST
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
0
0
HASH
11
12
13
14
15
0
0
0
0
27
28
29
30
31
0
0
0
0
0
Reserved
W
Reset
R
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
Figure 14-12. FEC Hash Register
Table 14-20. FEC Hash Register Field Descriptions
Bits
Name
0
FCE_DC
1
MULTICAST
2:7
HASH
8:31
—
Description
This is a read-only view of the R_CNTRL register FCE bit.
Set if current Rx frame contained a multi-cast destination address, indicating DA LSB was set.
Cleared if current Rx frame does not correspond to a multi-cast address.
Corresponds to “hash” value of current Rx frame’s destination address. Hash value is a 6-bit field
extracted from least significant portion of CRC register.
Reserved
MPC5200B User’s Manual, Rev. 3
14-26
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3.12 FEC Tx Control Register
This X_CNTRL register is read/write and is written to configure the transmit block. This register is cleared
at system reset. Bits 29:30 should be modified only when ETHER_EN = 0.
Address MBAR + 0x30C4
0
1
2
3
4
5
6
R
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
RFC_PAUSE
TFC_PAUSE
W
Reset
7
0
0
R
W
Reset
Reserved
0
0
0
0
0
0
0
0
0
0
0
FDEN HBC
0
0
GTS
0
Figure 14-13. FEC Tx Control Register
Table 14-21. FEC Tx Control Register Field Descriptions
Bits
Name
Description
0:26
—
27
RFC_PAUSE
This read-only status bit is asserted when a full-duplex flow control pause frame is received. The
transmitter is paused for the duration defined in this pause frame. Bit automatically clears when
the pause duration is complete.
28
TFC_PAUSE
Assert to transmit a PAUSE frame. When this bit is set, the MAC stops transmission of data
frames after the current transmission is complete. At this time, the INTR_EVENT register GRA
interrupt is asserted. With transmission of data frames stopped, the MAC transmits a MAC
Control PAUSE frame. Next, the MAC clears the TFC_PAUSE bit and resumes transmitting data
frames.
Note: If the transmitter is paused due to user assertion of GTS or reception of a PAUSE frame,
MAC may still transmit a MAC Control PAUSE frame.
29
FDEN
Full Duplex Enable—If set, frames are transmitted independent of Carrier Sense and Collision
inputs.
This bit should only be modified when ETHER_EN is deasserted.
30
HBC
Heartbeat Control—If set, the heartbeat check is done following End Of Transmission (EOT)
and the Event Status Register HB bit is set if the collision input does not assert within the
heartbeat window.
This bit should only be modified when ETHER_EN is deasserted.
31
GTS
Graceful Transmit Stop—When this bit is set, the MAC stops transmission after any frame that
is currently being transmitted is complete and the INTR_EVENT register GRA interrupt is
asserted.
If frame transmission is not currently underway, the GRA interrupt is immediately asserted.
Once transmission completes, a “restart” can be done by clearing the GTS bit. The next frame
in the transmit FIFO is then transmitted.
If an early collision occurs during transmission when GTS = 1, transmission stops after the
collision. The frame is transmitted again once GTS is cleared.
Note: Old frames may exist in the transmit FIFO and be transmitted when GTS is reasserted.
To avoid this, deassert ETHER_EN after the GRA interrupt.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-27
Fast Ethernet Controller (FEC)
14.4.3.13 FEC Physical Address Low Register
The PADDR1 register is written by the user. This register contains the lower 32bits (Bytes 0,1,2,3) of the
48-bit address used in the address recognition process to compare with the destination address (DA) field
of receive frames with an individual DA. In addition, this register is used in Bytes0:3 of the 6-Byte source
address field when transmitting PAUSE frames. This register is not reset and must be initialized.
Address MBAR + 0x30E4
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
X
X
X
X
X
X
X
R
PADDR1
W
Reset
8
PADDR1
W
Reset
7
X
X
X
X
X
X
X
X
X
Note: X: Bit is not reset and must be initialized.
Figure 14-14. FEC Physical Address Low Register
Table 14-22. FEC Physical Address Low Register Field Descriptions
Bits
Name
0:31
PADDR1
Description
Bytes 0 (bits 31:24), 1 (bits 23:16), 2 (bits 15:8) and 3 (bits 7:0) of the 6-byte individual address
used for an exact match, and the Source Address field in PAUSE frames.
MPC5200B User’s Manual, Rev. 3
14-28
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3.14 FEC Physical Address High Register
The PADDR2 register is written by the user. This register contains the upper 16 bits (bytes 4 and 5) of the
48-bit address used in the address recognition process to compare with the destination address (DA) field
of receive frames with an individual DA. In addition, this register is used in Bytes 4 and 5 of the 6-Byte
source address field when transmitting PAUSE frames. Bits 16:31 of XMIT.PADDR2 contain a constant
type field (hex 8808) used for transmission of PAUSE frames. This register is not reset and bits 0:15 must
be initialized.
Address MBAR + 0x30E8
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
PADDR2
W
Reset
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
1
0
0
0
R
TYPE
W
Reset
1
0
0
0
1
0
0
0
0
Note: X: Bit is not reset and must be initialized.
Figure 14-15. FEC Physical Address High Register
Table 14-23. FEC Physical Address High Register Field Descriptions
Bits
Name
Description
0:15
PADDR2
Bytes 4 (bits 31:24) and 5 (bits 23:16) of the 6-byte individual address used for an exact match,
and the Source Address field in PAUSE frames.
16:31
TYPE
These 16 bits are a constant value, hex 8808.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-29
Fast Ethernet Controller (FEC)
14.4.3.15 FEC Opcode/Pause Duration Register
The OP_PAUSE register is read/write accessible. This register contains the 16-bit opcode, and 16-bit
pause duration fields used in transmission of a PAUSE frame. The opcode field is a constant value, hex
0001. When another node detects a PAUSE frame, that node pauses transmission for the duration specified
in the pause duration field. This register is not reset and bits 16:31 must be initialized.
Address MBAR + 0x30EC
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
OPCODE
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
X
X
X
X
X
X
X
R
PAUSE_DUR
W
Reset
X
X
X
X
X
X
X
X
X
Note: X: Bit is not reset and must be initialized.
Figure 14-16. FEC Opcode/Pause Duration Register
Table 14-24. FEC Opcode/Pause Duration Register Field Descriptions
Bits
Name
0:15
OPCODE
16:31
PAUSE_DUR
Description
Opcode field used in PAUSE frames. Bits are a constant value, hex 0001.
Pause Duration field used in PAUSE frames.
MPC5200B User’s Manual, Rev. 3
14-30
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3.16 FEC Descriptor Individual Address 1 Register
The IADDR1 register is written by the user. This register contains the upper 32 bits of the 64-bit individual
address hash table used in the address recognition process to check for possible match with the DA field
of receive frames with an individual DA. This register is not reset and must be initialized.
Address MBAR + 0x3118
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
X
X
X
X
X
X
X
R
IADDR1
W
Reset
8
IADDR1
W
Reset
7
X
X
X
X
X
X
X
X
X
Note: X: Bit is not reset and must be initialized.
Figure 14-17. FEC Descriptor Individual Address 1 Register
Table 14-25. FEC Descriptor Individual Address 1 Register Field Descriptions
Bits
Name
Description
0:31
IADDR1
The upper 32 bits of the 64-bit hash table used in the address recognition process for receive frames
with a unicast address.
• Bit 31 contains hash index bit 63.
• Bit 0 contains hash index bit 32.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-31
Fast Ethernet Controller (FEC)
14.4.3.17 FEC Descriptor Individual Address 2 Register
The IADDR2 register is written by the user. This register contains the lower 32 bits of the 64-bit individual
address hash table used in the address recognition process to check for possible match with the DA field
of receive frames with an individual DA. This register is not reset and must be initialized.
Address MBAR + 0x311C
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
X
X
X
X
X
X
X
R
IADDR2
W
Reset
8
IADDR2
W
Reset
7
X
X
X
X
X
X
X
X
X
Note: X: Bit is not reset and must be initialized.
Figure 14-18. FEC Descriptor Individual Address 2 Register
Table 14-26. FEC Descriptor Individual Address 2 Register Field Descriptions
Bits
Name
Description
0:31
IADDR2
The lower 32bits of the 64-bit hash table used in the address recognition process for receive frames
with a unicast address.
• Bit 31 contains hash index bit 31.
• Bit 0 contains hash index bit 0.
MPC5200B User’s Manual, Rev. 3
14-32
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3.18 FEC Descriptor Group Address 1 Register
The GADDR1 register is written by the user. This register contains the upper 32bits of the 64-bit hash table
used in the address recognition process for receive frames with a multicast address. This register must be
initialized.
Address MBAR + 0x3120
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
X
X
X
X
X
X
X
R
GADDR1
W
Reset
8
GADDR1
W
Reset
7
X
X
X
X
X
X
X
X
X
Note: X: Bit is not reset and must be initialized.
Figure 14-19. FEC Descriptor Group Address 1 Register
Table 14-27. FEC Descriptor Group Address 1 Register Field Descriptions
Bits
Name
0:31
GADDR1
Description
The GADDR1 register contains the upper 32bits of the 64-bit hash table used in the address
recognition process for receive frames with a multicast address.
• Bit 31 contains hash index bit 63.
• Bit 0 contains hash index bit 32.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-33
Fast Ethernet Controller (FEC)
14.4.3.19 FEC Descriptor Group Address 2 Register
The GADDR2 register is written by the user. The GADDR2 register contains the lower 32bits of the 64-bit
hash table used in the address recognition process for receive frames with a multicast address. This register
must be initialized.
Address MBAR + 0x3124
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
X
X
X
X
X
X
X
R
GADDR2
W
Reset
8
GADDR2
W
Reset
7
X
X
X
X
X
X
X
X
X
Note: X: Bit is not reset and must be initialized.
Figure 14-20. FEC Descriptor Group Address 2 Register
Table 14-28. FEC Descriptor Group Address 2 Register Field Descriptions
Bits
Name
0:31
GADDR2
Description
The GADDR2 register contains the lower 32bits of the 64-bit hash table used in the address
recognition process for receive frames with a multicast address.
• Bit 31 contains hash index bit 31.
• Bit 0 contains hash index bit 0.
MPC5200B User’s Manual, Rev. 3
14-34
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.3.20 FEC Tx FIFO Watermark Register
The X_WMRK register is a user programmable 4-bit read/write register that controls the amount of data
required in the transmit FIFO before transmission of a frame can begin. This lets the user minimize
transmit latency (X_WMRK = 0000) or allows for larger bus access latency (X_WMRK = 1111) due to
contention for the system bus. Setting the watermark to a high value minimizes the risk of transmit FIFO
underrun due to contention for the system bus. The X_WMRK register resets to 0.
NOTE
This register value may need to be customized by software for specific FEC
applications to be compatible with specific FIFO/system bus access latency
requirements.
Address MBAR + 0x3144
0
1
2
3
4
5
6
R
7
8
9
10
11
12
13
14
15
Reserved
W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
R
Reserved
W
Reset
0
0
0
0
0
0
0
X_WMRK
0
0
0
0
0
0
0
0
0
Figure 14-21. FEC Tx FIFO Watermark Register
Table 14-29. FEC Tx FIFO Watermark Register Field Descriptions
Bits
Name
0:28
—
28:31
X_WMRK
Description
Reserved
Transmit FIFO Watermark—Frame transmission begins:
• If the number of bytes selected by this field are written into the transmit FIFO, or
• if an EOF is written to the FIFO, or
• if the FIFO is full before the selected number of bytes are written.
Options are:
0000 64Bytes written to FIFO
0001 128Bytes written to FIFO
0010 192Bytes written to FIFO
0011 256Bytes written to FIFO
0100 320Bytes written to FIFO
0101 384Bytes written to FIFO
0110 448Bytes written to FIFO
0111 512Bytes written to FIFO
1000 576Bytes written to FIFO
1001 640Bytes written to FIFO
1010 704Bytes written to FIFO
1011 768Bytes written to FIFO
1100 832Bytes written to FIFO
1101 896Bytes written to FIFO
1110 960Bytes written to FIFO
1111 1024Bytes written to FIFO
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-35
Fast Ethernet Controller (FEC)
14.4.4
FIFO Interface
The programming interface to the FIFO allows access to Data, Status, Control, Last Write Pointer, Last
Read Pointer, Alarm, Read and Write Pointers for Transmit and Receive configurations. The FIFO can be
accessed by byte, word, or longword, but all accesses must be aligned with the most significant byte (big
endian) of the data port. BestComm supports byte, word or longword accesses. The processor supports
longword access only. All register name access is longword aligned
.
Table 14-30. FIFO Interface Register Map
Address
byte0
byte1
byte2
byte3
0x184
Data
Data
Data
Data
0x188
Stat
Stat
0x18C
Ctl
Description
Receive FIFO Data
Receive FIFO Status
Receive FIFO Control
0x190
LRF
LRF
Receive Last Read Frame Pointer
0x194
LWF
LWF
Receive Last Write Frame Pointer
0x198
Alarm
Alarm
Receive (High/Low) Alarm Pointer
0x19C
Read
Read
Receive FIFO Read Pointer
0x1A0
Write
Write
Receive FIFO Write Pointer
Data
Data
Transmit FIFO Data
0x1A4
Data
Data
0x1A8
Stat
Stat
0x1AC
Ctl
Transmit FIFO Status
Transmit FIFO Control
0x1B0
LRF
LRF
Transmit Last Read Frame Pointer
0x1B4
LWF
LWF
Transmit Last Write Frame Pointer
0x1B8
Alarm
Alarm
Transmit (High/Low) Alarm Pointer
0x1BC
Read
Read
Transmit FIFO Read Pointer
0x1C0
Write
Write
Transmit FIFO Write Pointer
MPC5200B User’s Manual, Rev. 3
14-36
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.4.1
FEC Rx FIFO Data Register
FEC Tx FIFO Data Register
The RFIFO_DATA (MBAR + 0x3184) and TFIFO_DATA (MBAR + 0x31A4) registers are the main
interface port for the transmit and receive FIFO. Data which is to be buffered in the FIFO, or has been
buffered in the FIFO, is accessed through this register.
14.4.4.2
FEC Rx FIFO Status Register
FEC Tx FIFO Status Register
The RFIFO_STATUS and TFIFO_STATUS registers contain bits which provide information about the
status of the FIFO controller. The bits marked sticky are cleared by writing a “1” to their positions.
Address MBAR + 0x3188, 0x31A8
R
W
Reset
0
1
2
3
4
5
6
IP
TXW
0
0
0
0
0
0
0
16
17
18
19
20
21
22
8
9
10
11
FAE
RXW
UF
OF
0
0
0
0
23
24
25
0
Frame[0:3]
TYPE TYPE
[1]
[0[
R
12
13
14
15
FR
Full
0
0
0
1
1
26
27
28
29
30
31
0
0
0
0
1
1
Alarm Empty
Reserved
W
Reset
7
0
0
0
0
0
0
0
0
0
Figure 14-22. FEC Rx/Tx FIFO Status Register
Table 14-31. FEC Rx/Tx FIFO Status Register Field Descriptions
Bits
Name
Description
0:3
—
4:7
Frame[0:3]
8
—
9
Error
FIFO Error – Sticky, Write To Clear.
This bit signifies that an error has occurred in the FIFO controller. Errors can be caused by
underflow, overflow, or pointers being out of bounds. This bit will remain set until this bit of the FIFO
status register has been written with a 1.
10
UF
UF FIFO Underflow – Sticky, Write To Clear
This bit signifies the read pointer has surpassed the write pointer. This bit will remain set until this
bit of the FIFO status register has been written with a 1.
11
OF
OF FIFO Overflow – Sticky, Write To Clear
This bit signifies the write pointer has surpassed the read pointer. This bit will remain set until this
bit of the FIFO status register has been written with a 1.
Reserved
Frame Indicator – READ ONLY
This bus provides a frame status indicator for non-DMA applications.
Frame[0] = A frame boundary has occurred on the [31:24] byte of the data bus.
Frame[1] = A frame boundary has occurred on the [23:16] byte of the data bus.
Frame[2] = A frame boundary has occurred on the [15:8] byte of the data bus.
Frame[3] = A frame boundary has occurred on the [7:0] byte of the data bus.
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-37
Fast Ethernet Controller (FEC)
Table 14-31. FEC Rx/Tx FIFO Status Register Field Descriptions (continued)
Bits
Name
Description
12
FR
FR Frame Ready – Read Only
The FIFO has requested attention because there is framed data ready. All complete frames must
be read from the FIFO to clear this alarm. This alarm will only be asserted while in frame mode.
13
Full
Full Alarm – Read Only
The FIFO has requested attention because it is full. The FIFO must be read to clear this alarm.
14
Alarm
FIFO Alarm – Read Only
The FIFO has requested attention because it has determined an alarm condition. The specific alarm
condition detected is dependent upon the FIFO direction (Transmit or Receive); if it is a Transmit
FIFO, then the FIFO alarm output pin provides indication of a low level, asserting when there is less
than alarm bytes of data remaining in the FIFO, and deasserting when there are less than 4*
granularity free bytes remaining. When the FIFO is configured to Receive, the FIFO alarm provides
high level indication, asserting when there are less than alarm bytes free in the FIFO, and
deasserting when there are less than granularity bytes of data remaining. This signal can be cleared
by reading or writing (as appropriate) the FIFO, or manipulating the FIFO pointers.
15
Empty
Empty – Read Only
The FIFO has requested attention because it is empty. The FIFO must be written to clear this alarm.
16:31
—
Reserved
MPC5200B User’s Manual, Rev. 3
14-38
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.4.3
FEC Rx FIFO Control Register
FEC Tx FIFO Control Register
The RFIFO_CONTROL and TFIFO_CONTROL registers provide programmability of many FIFO
behaviors, from last transfer granularity to frame operation. Last transfer granularity allows the user to
control when the FIFO controller stops requesting data transfers through the FIFO alarm. When the alarm
is configured as a Receive FIFO, the granularity value is the GR[2:0] value. When the alarm is configured
as a Transmit FIFO, the granularity value is four times the GR[2:0] value, or the pipeline depth. The frame
bit of the control register provides a capability to enable and control the FIFO controller’s ability to view
data on a packetized basis. The FIFO controller also has the programmable capability to not request
attention after it has received a complete frame until Ethernet has reported completion of transmission.
Frame mode supersedes the FIFO granularity bits, through the assertion of a hardware signal to
BestComm.
Address MBAR + 0x318C, 0x31AC
2
4
5
6
8
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
IP
FAE RXW UF
OF
TXW
MASK MASK MASK MASK MASK MASK
GR[2:0]
R
Reserved
Reserved
W
Reset
7
0
W Shadow WFR[1:0]
Reset
3
FRAME
1
COMP
0
R
0
0
0
0
0
0
0
0
0
Figure 14-23. FEC Rx/Tx FIFO Control Register
Table 14-32. FEC Rx/Tx FIFO Control Register Field Descriptions
Bits
Name
Description
0
—
1:2
WFR[1:0]
3
COMP
COMP Re-enable Requests on Frame Transmission Completion.
When this bit is set, the FIFO controller will not request attention between receiving the last data
of the frame from the BestComm until the peripheral acknowledges transmission of the frame.
4
FRAME
Frame Mode Enable.
When this bit is set, the FIFO controller monitors frame done information from the peripheral or
BestComm. Setting this bit also enables the other frame control bits in this register, as well as
other frame functions. This bit must be set to use frame functions.
5:7
GR[2:0]
Last Transfer Granularity.
These bits define the deassertion point for the “high” service request and also define the
deassertion point for the “low” service request. A “high” service request is deasserted when there
are less than GR[2:0] data bytes remaining in the FIFO. A “low” service request is deasserted
when there are less than (4 * GR[2:0]) free bytes remaining in the FIFO.
Reserved
Write Frame
01 The FIFO controller assumes the next write to its data port is the next to last write.
10 The FIFO controller assumes the next write to its data port is status / control information.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-39
Fast Ethernet Controller (FEC)
14.4.4.4
FEC Rx FIFO Last Read Frame Pointer Register
FEC Tx FIFO Last Read Frame Pointer Register
The RFIFO_LRF_PTR and TFIFO_LRF_PTR are a FIFO-maintained pointer which indicates the location
of the start of the most recently read frame, or the start of the frame currently in transmission. The LRFP
updates on FIFO read data accesses to a frame boundary. The LRFP can be read and written for debug
purposes. For the frame retransmit function, the LRFP indicates which point to begin retransmission of the
data frame. The LRFP carries validity information, however, there are no safeguards to prevent
retransmitting data which has been overwritten. When FRAME is not set, then this pointer has no meaning.
Address MBAR + 0x3190, 0x31B0
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
0
LRFP[9:0]
0
0
0
0
0
0
0
0
Figure 14-24. FEC Rx/Tx FIFO Last Read Frame Pointer Register
Table 14-33. FEC Rx/Tx FIFO Last Read Frame Pointer Register Field Descriptions
Bits
Name
0:21
—
22:31
LRFP[9:0]
Description
Reserved
LRFP Last Read Frame Pointer.
This pointer indicates the start of the last data frame read from the FIFO by the peripheral.
MPC5200B User’s Manual, Rev. 3
14-40
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.4.5
FEC Rx FIFO Last Write Frame Pointer Register
FEC Tx FIFO Last Write Frame Pointer Register
The RFIFO_LWF_PTR and TFIFO_LWF_PTR are a FIFO maintained pointer which indicates the
location of the start of the last frame written into the FIFO. The LWFP updates on FIFO write data accesses
which create a frame boundary, whether that be by setting the WFC control bit or by feeding a frame bit
in on the appropriate bus. The LWFP can be read and written for debug purposes. For the frame discard
function, the LWFP divides the valid data region of the FIFO (the area in-between the read and write
pointers) into framed and unframed data. Data between the LWFP and write pointer constitutes an
incomplete frame, while data between the read pointer and the LWFP has been received as whole frames.
When FRAME is not set, then this pointer has no meaning.
Address MBAR + 0x3194, 0x31B4
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
0
LRFP[9:0]
0
0
0
0
0
0
0
0
Figure 14-25. FEC Rx/Tx FIFO Last Write Frame Pointer Register
Table 14-34. FEC Rx/Tx FIFO Last Write Frame Pointer Register Field Descriptions
Bits
Name
0:21
—
22:31
LWFP[9:0]
Description
Reserved
LRFP Last WriteFrame Pointer.
This pointer indicates the start of the last data frame written into the FIFO by the peripheral.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-41
Fast Ethernet Controller (FEC)
14.4.4.6
FEC Rx FIFO Alarm Pointer Register
FEC Tx FIFO Alarm Pointer Register
RFIFO_ALARM and TFIFO_ALARM include pointer which provide high/low level alarm information
to the user integration logic and the BestComm interface. A low level alarm reports lack of data; a high
level alarm reports lack of space. The alarm pointer is interpreted depending on the state of the FIFO
transmit input pin: if FIFO transmit = “1”, then the alarm is represented in terms of data bytes, if FIFO
Transmit = “0”, the alarm is represented in terms of free bytes. This programmable alarm can warn the
system when the FIFO is almost full of data (FIFO Transmit = “0”), or when the FIFO is almost out of data
(FIFO Transmit = “1”). This register is programmed to the upper limit for the number of bytes in the FIFO
of data, when FIFO transmit is negated, or space, when FIFO transmit is asserted, before an internal alarm
is set. Any time the amount of data or space in the FIFO is above the indicated amount, the alarm will be
set. The alarm is cleared when there is less data or space than is defined as the FIFO granularity or pipeline
depth. The number of bits in the alarm pointer register will vary with the address space of the FIFO
memory, and the alarm pointer is initialized to zero.
Address MBAR + 0x3198, 0x31B8
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
0
Alarm[9:0]
0
0
0
0
0
0
0
0
Figure 14-26. FEC Rx/Tx FIFO Alarm Pointer Register
Table 14-35. FEC Rx/Tx FIFO Alarm Pointer Register Field Descriptions
Bits
Name
0:21
—
22:31
Alarm[9:0]
Description
Reserved
Alarm Pointer.
This pointer indicates the point at (or below) which to assert the FIFO alarm signal. This value is
compared with data or free bytes, depending upon the state of FIFO Transmit (FIFO Transmit = “1”,
alarm measures data bytes).
MPC5200B User’s Manual, Rev. 3
14-42
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.4.7
FEC Rx FIFO Read Pointer Register
FEC Tx FIFO Read Pointer Register
The RFIFO_RDPTR and TFIFO_RDPTR are a FIFO-maintained pointer which point to the next FIFO
location to be read. The read pointer can be both read and written.
Address MBAR + 0x319C, 0x31BC
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
0
READ[9:0]
0
0
0
0
0
0
0
0
Figure 14-27. FEC Rx/Tx FIFO Read Pointer Register
Table 14-36. FEC Rx/Tx FIFO Read Pointer Register Field Descriptions
Bits
Name
0:21
—
22:31
READ[9:0]
Description
Reserved
Read Pointer.
This pointer indicates the next location to be read by the FIFO controller.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-43
Fast Ethernet Controller (FEC)
14.4.4.8
FEC Rx FIFO Write Pointer Register
FEC Tx FIFO Writer Pointer Register
The RFIFO_WRPTR and TFIFO_WRPTR are a FIFO-maintained pointer which point to the next FIFO
location to be written. The write pointer can be both read and written.
Address MBAR + 0x31A0, 0x31C0
0
1
2
3
4
5
6
R
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
R
Reserved
W
Reset
8
Reserved
W
Reset
7
0
0
0
0
WRITE[9:0]
0
0
0
0
0
0
0
0
Figure 14-28. FEC Rx/Tx FIFO Write Pointer Register
Table 14-37. FEC Rx/Tx FIFO Write Pointer Register Field Descriptions
Bits
Name
0:21
—
22:31
WRITE[9:0]
Description
Reserved
WRITE Pointer.
This pointer indicates the next location to be written by the FIFO controller.
MPC5200B User’s Manual, Rev. 3
14-44
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.4.4.9
FEC Reset Control Register
The RESET_CNTRL register allows reset of the FIFO controllers.
Address MBAR + 0x31C4
0
1
R
3
4
5
6
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
RCTL RCTL
[1]
[0]
Reserved
W
Reset
2
0
0
0
0
0
0
0
0
0
Figure 14-29. FEC Reset Control Register
Table 14-38. FEC Reset Control Register Field Descriptions
Bits
Name
Description
0:5
—
6
RCTL[1]
0 Do not Reset FIFO controllers.
1 Reset FIFO controllers.
7
RCTL[0]
0 Disable fec_enable as a reset to FIFO controllers.
1 Enable fec_enable as a reset to FIFO controllers.
8:31
—
Reserved
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-45
Fast Ethernet Controller (FEC)
14.4.4.10 FEC Transmit FSM Register
The transmit finite state machine register (XMIT_FSM) controls operation of appending CRC. Typical use
is enabled and CRC is appended.
Address MBAR + 0x31C8
0
1
R
3
4
5
6
8
9
10
11
12
13
14
15
Reserved
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
0
0
R
Reserved
W
Reset
7
XFSM XFSM
[1]
[0]
Reserved
W
Reset
2
0
0
0
0
0
0
0
0
0
Figure 14-30. FEC Transmit FSM Register
Table 14-39. FEC Transmit FSM Register Field Descriptions
Bits
Name
0:5
—
6
XFSM[1]
0 Do not append CRC.
1 Append CRC (typical use).
7
XFSM[0]
0 Disable CRC FSM.
1 Enable CRC FSM (typical use is enabled).
8:31
—
14.5
Description
Reserved
Reserved
Initialization Sequence
This section describes which registers are hardware reset, which are reset by the FEC and what locations
the user must initialize prior to enabling the FEC.
14.5.1
Hardware Controlled Initialization
Some registers in the FEC are reset by internal logic. Specifically those registers are control logic that
generate interrupts, cause outputs to be asserted and, in general, configuration control bits.
Other registers are reset when the ETHER_EN bit is not asserted (i.e., cleared). To halt operation
ETHER_EN is deasserted by either a hard reset or by software. By deasserting ETHER_EN configuration
control registers such as X_CNTRL and R_CNTRL are not reset, but the entire data path is reset.
MPC5200B User’s Manual, Rev. 3
14-46
Freescale Semiconductor
Fast Ethernet Controller (FEC)
Table 14-40 shows the effect deasserting ETHER_EN has on Ethernet MAC operation and registers.
Table 14-40. ETHER_EN De-Assertion Affect on FEC
14.5.2
Register/Machine
Reset Value
XMIT block
Transmission Aborted (bad CRC appended)
RECV block
Receive activity aborted
Tx/Rx FIFO
Reset control logic dependent on reset_cntrl
User Initialization (Prior to Asserting ETHER_EN)
The user needs to initialize portions of the FEC prior to setting the ETHER_EN bit. The exact values
depend on the particular application; the sequence of writing the registers is not important. Ethernet MAC
registers requiring initialization are defined in Table 14-41.
Table 14-41. User Initialization (Before ETHER_EN)
Description
Initialize IMASK
Clear IEVENT (write FFFF_FFFF)
X_WMRK (optional)
IADDR2/IADDR1
GADDR1/GADDR2
PADDR1/PADDR2
OP_PAUSE (only needed for FDX flow control)
R_CNTRL
X_CNTRL
MII_SPEED (optional)
Clear MIB_RAM (locations 200–2FC)
14.5.2.1
Microcontroller Initialization
In the FEC the descriptor control RISC initializes some registers after ETHER_EN is asserted. After the
microcontroller initialization sequence is complete, hardware is ready for operation.
Table 14-42 shows RISC initialization operations common to the FEC.
Table 14-42. Microcontroller Initialization (FEC)
Description
Initialize BackOff random number seed
Activate Receiver
Activate Transmit
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-47
Fast Ethernet Controller (FEC)
14.5.3
Frame Control/Status Words
In the FEC transmit frame control words and receive frame status words cross the following the end of
frame data. These words are marked with a type value of 10 and have the following formats.
14.5.3.1
Receive Frame Status Word
Figure 14-31 below defines the format for the receive frame status word.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
0
0
0
1
(Last)
0
0
0
BC
MC
LG
NO
0
CR
OV
TR
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
0
FRAME_LENGTH
Figure 14-31. Receive Frame Status Word Format
Bits 31-28, 26-25, 19 and 15-11—Reserved
Table 14-43. Receive Frame Status Word Format Field Descriptions
Bits
Name
0:3
—
Reserved
4
L
Last in Frame, written by the FEC
The buffer is not the last in a frame.
The buffer is the last in a frame.
5:7
Description
Reserved
8
BC
Will be set if the DA is broadcast (FF-FF-FF-FF-FF-FF)
9
MC
Will be set if the DA is multicast and not BC
10
LG
Rx Frame Length Violation, written by the FEC.
A frame length greater than R_CNTRL.MAX_FL was recognized. This bit is valid only if the L-bit
is set. The receive data is not altered in any way unless the length exceeds 2047 bytes.
11
NO
Rx Non-octet Aligned Frame, written by the FEC.
A frame that contained a number of bits not divisible by 8 was received and the CRC check that
occurred at the preceding byte boundary generated an error. This bit is valid only if the L-bit is
set. If this bit is set the CR bit will not be set.
12
Reserved
13
CR
Rx CRC Error, written by the FEC.
This frame contains a CRC error and is an integral number of octets in length. This bit is valid
only if the L-bit is set.
14
OV
Overrun, written by the FEC.
A receive FIFO overrun occurred during frame reception. If this bit is set, the other status bits, M,
LG, NO, SH, CR, and CL lose their normal meaning and will be zero. This bit is valid only if the
L-bit is set.
15
TR
Rx Frame Truncated
Will be set if the receive frame is truncated (frame length > 2047 bytes). If the TR bit is set the
frame should be discarded and the other error bits should be ignored as they may be incorrect.
MPC5200B User’s Manual, Rev. 3
14-48
Freescale Semiconductor
Fast Ethernet Controller (FEC)
Table 14-43. Receive Frame Status Word Format Field Descriptions (continued)
Bits
Name
Description
16:20
21:31
14.5.3.2
Reserved
FRAME_
LENGTH
Length of Received Frame
Transmit Frame Control Word
The only requirement for this control word is to have the TC and ABC bits valid. The TC bit defines
whether the transmit block should append the CRC (TC = 1) or not (TC = 0) for the current frame. The
ABC bit defines whether the transmit block should append a bad CRC (ABC = 1), independent of the TC
value. Refer to Figure 14-32 below for the format of the transmit frame control word.
0
16
1
2
17
18
3
4
19
20
5
6
TC
ABC
21
22
7
8
9
0
11
12
13
14
15
23
24
25
26
27
28
29
30
31
Figure 14-32. Transmit Frame Control Word Format
Bits 31-27, 24-0—Reserved
Table 14-44. Transmit Frame Control Word Format Field Descriptions
Bits
Name
0:4
—
Reserved
5
TC
Transmit CRC, written by user
0 End transmission immediately after the last data byte.
1 Transmit the CRC sequence after the last data byte.
6
ABC
7:31
Description
Append Bad CRC, written by user
0 No affect
1 Transmit the CRC sequence inverted after the last data bye (regardless of TC value).
Reserved
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-49
Fast Ethernet Controller (FEC)
14.5.4
Network Interface Options
The FEC supports both an MII interface for 10/100 Mbps Ethernet and a 7-wire serial interface for 10
Mbps Ethernet. The interface mode is selected by the MII_MODE bit in the R_CNTRL register. In MII
mode (R_CNTRL.MII_MODE = 1) there are 18 signals defined by the 802.3 standard and supported by
the FEC. These are shown in Table 14-1.
The 7-Wire serial interface (R_CNTRL.MII_MODE = 0) operates in what is generally referred to as the
“AMD” mode.
The Ethernet transmitter is designed to work with almost no intervention from software. Once
ETHER_EN is asserted and data appears in the transmit FIFO the Ethernet MAC is able to transmit onto
the network.
When the transmit FIFO fills to the watermark (defined by the X_WMRK register), the MAC transmit
logic will assert TX_EN and start transmitting the preamble sequence, the start frame delimiter, and then
the frame information from the FIFO. However, the controller defers the transmission if the network is
busy (carrier sense is asserted). Before transmitting, the controller waits for carrier sense to become
inactive, then determines if carrier sense stays inactive for 60 bit times. If so, then the transmission begins
after waiting an additional 36 bit times (96 bit times after carrier sense originally became inactive).
If a collision occurs during transmission of the frame (half-duplex mode), the Ethernet controller follows
the specified backoff procedures and attempts to retransmit the frame until the retry limit is reached. The
transmit FIFO stores at least the first 64 bytes of the transmit frame, so that they do not have to be retrieved
from system memory in case of a collision. This improves bus utilization and latency in case immediate
retransmission is necessary.
When all the frame data has been transmitted, the FCS (32-bit CRC) bytes are appended if the TC bit is
set in the transmit frame control word. If the ABC bit is set in the transmit frame control word, a bad CRC
will be appended to the frame data regardless of the TC bit value. Following the transmission of the CRC,
the Ethernet controller writes the frame status information to the MIB block. Short frames are
automatically padded by the transmit logic (if the TC bit in the transmit buffer descriptor for the end of
frame buffer = 1).
The FEC frame interrupts may be generated as determined by the settings in the IMASK register.
Transmit error interrupts are HBERR, BABT, LATE_COL, COL_RETRY_LIM, XFIFO_UN and
XFIFO_ERROR. If the transmit frame length exceeds MAX_FL bytes the BABT interrupt will be
asserted, however the entire frame will be transmitted (no truncation).
To pause transmission, set the GTS (Graceful Transmit Stop) bit in the X_CNTRL register. When the GTS
is set the FEC transmitter stops immediately if transmission is not in progress; otherwise, it continues
transmission until the current frame either finishes or terminates with a collision. After the transmitter has
stopped the GRA (Graceful Stop Complete) interrupt is asserted. If GTS is cleared, the FEC resumes
transmission with the next frame.
The Ethernet controller transmits bytes least significant bit first.
MPC5200B User’s Manual, Rev. 3
14-50
Freescale Semiconductor
Fast Ethernet Controller (FEC)
14.5.5
FEC Frame Reception
The FEC receiver is designed to work with almost no intervention from the host and can perform address
recognition, CRC checking, short frame checking and maximum frame length checking.
When the driver enables the FEC receiver by asserting ETHER_EN it will immediately start processing
receive frames. When RX_DV asserts, the receiver will first check for a valid PA/SFD header. If the
PA/SFD is valid it will be stripped and the frame will be processed by the receiver. If a valid PA/SFD is
not found the frame will be ignored.
In 7-wire serial mode, the first 16 bit times of RX_D0 following assertion of RX_DV (RENA) are ignored.
Following the first 16 bit times the data sequence is checked for alternating 1s and 0s. If a 11 or 00 data
sequence is detected during bit times 17 to 21, the remainder of the frame is ignored. After bit time 21, the
data sequence is monitored for a valid SFD (11). If a 00 is detected, the frame is rejected. When a 11 is
detected, the PA/SFD sequence is complete.
In MII mode the receiver checks for at least one byte matching the SFD. Zero or more PA bytes may occur,
but if a 00 bit sequence is detected prior to the SFD byte, the frame is ignored.
After the first 6 bytes of the frame have been received, the FEC performs address recognition on the frame.
Once a collision window (64 bytes) of data has been received and if address recognition has not rejected
the frame, the receive FIFO is signalled that the frame is “accepted” and may be passed on to the DMA.
If the frame is a runt (due to collision) or is rejected by address recognition, the receive FIFO is notified
to “reject” the frame. Thus, no collision fragments are presented to the user except late collisions, which
indicate serious LAN problems.
During reception, the Ethernet controller checks for various error conditions and once the entire frame is
written into the FIFO, a 32-bit frame status word is written into the FIFO. This status word contains the
M, BC, MC, LG, NO, SH, CR, OV and TR status bits, and the frame length.
The Ethernet controller receives serial data LSB first.
14.5.6
Ethernet Address Recognition
The FEC filters the received frames based on destination address (DA) type — individual (unicast), group
(multicast) or broadcast (all-ones group address). The difference between an individual address and a
group address is determined by the I/G bit in the destination address field. A flowchart for address
recognition on received frames is illustrated in the figures below.
Address recognition is accomplished through the use of the receive block and microcode running on the
microcontroller. The flowchart shown in Figure 14-33 illustrates the address recognition decisions made
by the receive block, while Figure 14-34 illustrates the decisions made by the microcontroller.
If the DA is a broadcast address and broadcast reject (R_CNTRL.BC_REJ) is deasserted, then the frame
will be accepted unconditionally as shown in Figure 14-33. Otherwise, if the DA in not a broadcast address
the microcontroller runs the address recognition subroutine as shown in Figure 14-34.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-51
Fast Ethernet Controller (FEC)
Accept/Reject
Frame
True
Broadcast Addr
?
False
Receive
Address
Recognition
False
Receive Frame
Set BC bit in RCV BD
True
AR_HM_B = 0
?
BC_REJ = 1
?
False
True
Receive Frame
Set MC bit in RCV BD if multicast
AR_EM_B = 0
?
True
False
Pause Frame True
?
False
Reject Frame
Flush from FIFO
PROM = 1
?
True
Receive Frame
Set M (Miss) bit in Rcv BD
Set MC bit in Rcv BD if multicast
Set BC bit in Rcv BD if broadcast
False
Reject Frame
Flush from FIFO
Receive Frame
NOTES:
BC_REJ - field in R_CNTRL register (BroadCast REJect)
Check Address - microcode Address Recognition subroutine; returns AR_HM_B and AR_EM_B
AR_EM_B - bit in RECV.AR_DONE register (address recognition exact match bar)
AR_HM_B - bit in RECV.AR_DONE register (address recognition hash match bar)
PROM - field in R_CNTRL register (PROMiscous mode)
Pause Frame - valid PAUSE frame received
Figure 14-33. Ethernet Address Recognition—Receive Block Decisions
If the DA is a group (multicast) address and flow control is disabled the microcontroller will perform a
group hash table lookup using the 64-entry hash table programmed in GADDR1 and GADDR2. If a hash
match occurs AR_HM_B (address recognition hash match bar) is set to 0 and the receiver accepts the
frame. If flow control is enabled the microcontroller will do an exact address match check between the DA
and the designated PAUSE DA in registers XMIT.FDXFC_DA1 and XMIT.FDXFC_DA2. In the case
where a PAUSE DA exact match occurs AR_EM_B (address recognition exact match bar) is set to 0. If
the receive block determines that the received frame is a valid PAUSE frame the frame will be rejected.
Note the receiver will detect a PAUSE frame with the DA field set to either the designated PAUSE DA or
the unicast physical address.
MPC5200B User’s Manual, Rev. 3
14-52
Freescale Semiconductor
Fast Ethernet Controller (FEC)
Receive Address
Recognition
Group
False
True
FCE
?
False
Individual
I/G Address
?
False
Pause Address
?
Hash Search
Group Table
Match
?
False
ar_em_b = 1
ar_hm_b = 1
Exact Match
?
True
Hash Search
Individual Table
ar_em_b = 0
ar_hm_b = 1
ar_em_b = 0
ar_hm_b = 1
True
True
True
Match
?
False
ar_em_b = 1
ar_hm_b = 0
ar_em_b = 1
ar_hm_b = 0
ar_em_b = 1
ar_hm_b = 1
NOTES:
FCE - field in R_CNTRL register (Flow Control Enable)
AR_EM_B - bit in RECV.AR_DONE register (address recognition exact match bar)
AR_HM_B - bit in RECV.AR_DONE register (address recognition hash match bar)
I/G - Individual/Group bit in Destination Address (least significant bit in first byte received in MAC frame)
Figure 14-34. Ethernet Address Recognition—Microcode Decisions
If the DA is the individual (unicast) address the microcontroller performs an individual exact match
comparison between the DA and 48-bit physical address that the user programs in the PADDR1 and
PADDR2 registers. If an exact match occurs AR_EM_B is set to 0; otherwise, the microcontroller does an
individual hash table lookup using the 64-entry hash table programmed in registers IADDR1 and
IADDR2. In the case of an individual hash match AR_HM_B is set to 0. Again, the receiver will accept
or reject the frame based on PAUSE frame detection, shown in Figure 14-33.
If neither a hash match (group or individual) nor an exact match (group or individual) occur both
AR_HM_B and AR_EM_B are set to 1. In this case, if promiscuous mode is enabled
(R_CNTRL.PROM = 1), then the frame will be accepted and the MISS bit in the receive buffer descriptor
is set; otherwise, the frame will be rejected and the MISS bit will be cleared.
Similarly, if the DA is a broadcast address, broadcast reject (R_CNTRL.BC_REJ) is asserted and
promiscuous mode is enabled. Then the frame will be accepted and the MISS bit in the receive buffer
descriptor is set; otherwise, the frame will be rejected and the MISS bit will be cleared.
In general, when a frame is rejected it is flushed from the FIFO.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-53
Fast Ethernet Controller (FEC)
The hash table algorithm used in the group and individual hash filtering operates as follows. The 48-bit
destination address is mapped into one of 64 bits which are represented by 64 bits stored in GADDR1,2
(group address hash match) or IADDR1,2 (individual address hash match). This mapping is performed by
passing the 48-bit address through the on-chip 32-bit CRC generator and selecting the 6 most significant
bits of the CRC-encoded result to generate a number between 0 and 63. The MSB of the CRC result selects
GADDR1 (MSB = 1) or GADDR2 (MSB = 0). The least significant 5 bits of the hash result select the bit
within the selected register. If the CRC generator selects a bit that is set in the hash table, the frame is
accepted; otherwise, it is rejected.
For example, if eight group addresses are stored in the hash table and random group addresses are received,
the hash table prevents roughly 56/64 (or 87.5%) of the group address frames from reaching memory.
Those that do reach memory must be further filtered by the processor to determine if they truly contain
one of the eight desired addresses.
The effectiveness of the hash table declines as the number of addresses increases.
The hash table registers must be initialized by the user. The user may compute the hash for a particular
address in software. The CRC32 polynomial to use in computing the hash is:
X 32 + X 26 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1
A table of example Destination Addresses and corresponding hash values is included below for reference.
Table 14-45. Destination Address to 6-Bit Hash (Sheet 1 of 3)
48-Bit DA
6-Bit Hash (in hex)
Hash Decimal Value
65:ff:ff:ff:ff:ff
0x0
0
55:ff:ff:ff:ff:ff
0x1
1
15:ff:ff:ff:ff:ff
0x2
2
35:ff:ff:ff:ff:ff
0x3
3
b5:ff:ff:ff:ff:ff
0x4
4
95:ff:ff:ff:ff:ff
0x5
5
d5:ff:ff:ff:ff:ff
0x6
6
f5:ff:ff:ff:ff:ff
0x7
7
db:ff:ff:ff:ff:ff
0x8
8
fb:ff:ff:ff:ff:ff
0x9
9
bb:ff:ff:ff:ff:ff
0xa
10
8b:ff:ff:ff:ff:ff
0xb
11
0b:ff:ff:ff:ff:ff
0xc
12
3b:ff:ff:ff:ff:ff
0xd
13
7b:ff:ff:ff:ff:ff
0xe
14
5b:ff:ff:ff:ff:ff
0xf
15
27:ff:ff:ff:ff:ff
0x10
16
07:ff:ff:ff:ff:ff
0x11
17
57:ff:ff:ff:ff:ff
0x12
18
77:ff:ff:ff:ff:ff
0x13
19
MPC5200B User’s Manual, Rev. 3
14-54
Freescale Semiconductor
Fast Ethernet Controller (FEC)
Table 14-45. Destination Address to 6-Bit Hash (Sheet 2 of 3)
48-Bit DA
6-Bit Hash (in hex)
Hash Decimal Value
f7:ff:ff:ff:ff:ff
0x14
20
c7:ff:ff:ff:ff:ff
0x15
21
97:ff:ff:ff:ff:ff
0x16
22
a7:ff:ff:ff:ff:ff
0x17
23
99:ff:ff:ff:ff:ff
0x18
24
b9:ff:ff:ff:ff:ff
0x19
25
f9:ff:ff:ff:ff:ff
0x1a
26
c9:ff:ff:ff:ff:ff
0x1b
27
59:ff:ff:ff:ff:ff
0x1c
28
79:ff:ff:ff:ff:ff
0x1d
29
29:ff:ff:ff:ff:ff
0x1e
30
19:ff:ff:ff:ff:ff
0x1f
31
d1:ff:ff:ff:ff:ff
0x20
32
f1:ff:ff:ff:ff:ff
0x21
33
b1:ff:ff:ff:ff:ff
0x22
34
91:ff:ff:ff:ff:ff
0x23
35
11:ff:ff:ff:ff:ff
0x24
36
31:ff:ff:ff:ff:ff
0x25
37
71:ff:ff:ff:ff:ff
0x26
38
51:ff:ff:ff:ff:ff
0x27
39
7f:ff:ff:ff:ff:ff
0x28
40
4f:ff:ff:ff:ff:ff
0x29
41
1f:ff:ff:ff:ff:ff
0x2a
42
3f:ff:ff:ff:ff:ff
0x2b
43
bf:ff:ff:ff:ff:ff
0x2c
44
9f:ff:ff:ff:ff:ff
0x2d
45
df:ff:ff:ff:ff:ff
0x2e
46
ef:ff:ff:ff:ff:ff
0x2f
47
93:ff:ff:ff:ff:ff
0x30
48
b3:ff:ff:ff:ff:ff
0x31
49
f3:ff:ff:ff:ff:ff
0x32
50
d3:ff:ff:ff:ff:ff
0x33
51
53:ff:ff:ff:ff:ff
0x34
52
73:ff:ff:ff:ff:ff
0x35
53
23:ff:ff:ff:ff:ff
0x36
54
13:ff:ff:ff:ff:ff
0x37
55
3d:ff:ff:ff:ff:ff
0x38
56
0d:ff:ff:ff:ff:ff
0x39
57
5d:ff:ff:ff:ff:ff
0x3a
58
7d:ff:ff:ff:ff:ff
0x3b
59
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-55
Fast Ethernet Controller (FEC)
Table 14-45. Destination Address to 6-Bit Hash (Sheet 3 of 3)
14.5.7
48-Bit DA
6-Bit Hash (in hex)
Hash Decimal Value
fd:ff:ff:ff:ff:ff
0x3c
60
dd:ff:ff:ff:ff:ff
0x3d
61
9d:ff:ff:ff:ff:ff
0x3e
62
bd:ff:ff:ff:ff:ff
0x3f
63
Full-Duplex Flow Control
Full-duplex flow control allows the user to transmit pause frames and to detect received pause frames.
Upon detection of a pause frame, MAC data frame transmission stops for a given pause duration.
To enable pause frame detection, the FEC must operate in full-duplex mode (X_CNTRL.FDEN asserted)
and flow control enable (R_CNTRL.FCE) must be asserted. The FEC detects a pause frame when the
fields of the incoming frame match the pause frame specifications as shown in the table below. In addition,
the receive status associated with the frame should indicate that the frame is valid
Table 14-46. PAUSE Frame Field Specification
48-Bit Destination
Address
0180_c200_0001
or Physical Address
48-bit Source Address
any
16-bit type
8808
16-bit opcode
0001
16-bit PAUSE duration
0000 to ffff
Pause frame detection is performed by the receiver and microcontroller modules. The microcontroller runs
an address recognition subroutine to detect the specified pause frame destination address, while the
receiver detects the type and opcode pause frame fields. On detection of a pause frame, graceful transmit
stop is asserted by the FEC internally. When transmission has paused, the GRA (Graceful Stop complete)
interrupt is asserted and the pause timer begins to increment. Note that the pause timer makes use of the
transmit backoff timer hardware which is used for tracking the appropriate collision backoff time in
half-duplex mode. The pause timer increments once every slot time until PAUSE_DURATION slot times
have expired. On PAUSE_DURATION expiration, graceful transmit stop is deasserted allowing MAC
data frame transmission to resume. Note that the receive flow control pause (X_CNTRL.RFC_PAUSE)
status bit is asserted while the transmitter is paused due to reception of a pause frame.
To transmit a pause frame the FEC must operate in full-duplex mode and the user must assert flow control
pause (X_CNTRL.TFC_PAUSE). On assertion of transmit flow control pause (X_CNTRL.TFC_PAUSE)
the transmitter asserts graceful transmit stop internally. When the transmission of data frames stops the
GRA (Graceful Stop complete) interrupt asserts. Following GRA assertion the Pause frame is transmitted.
On completion of pause frame transmission flow control pause (X_CNTRL.TFC_PAUSE) and graceful
transmit stop are deasserted internally.
MPC5200B User’s Manual, Rev. 3
14-56
Freescale Semiconductor
Fast Ethernet Controller (FEC)
During pause frame transmission the transmit hardware places data into the transmit data stream from the
registers shown in the table below.
Table 14-47. Transmit Pause Frame Registers
PAUSE FRame Fields
FEC Register
Register Contents
48-bit destination address
{FDXFC_DA1[0:31], FDXFC_DA2[0:15]}
0180_c200_0001
48-bit Source Address
{PADDR1[0:31], PADDR2[0:15]}
physical address
16-bit type
PADDR2[16:31]
8808
16-bit opcode
OP_PAUSE[0:15]
0001
16-bit PAUSE duration
OP_PAUSE[16:31]
0000 to ffff
The user must specify the desired pause duration in the OP_PAUSE register.
Note that when the transmitter is paused due to receiver/microcontroller pause frame detection, transmit
flow control pause (X_CNTRL.TFC_PAUSE) still may be asserted and will cause the transmission of a
single pause frame. In this case the GRA interrupt will not be asserted.
14.5.8
Inter-Packet Gap Time
The minimum inter packet gap time for back-to-back transmission is 96 bit times. After completing a
transmission or after the backoff algorithm completes the transmitter waits for carrier sense to be negated
before starting its 96 bit time IPG counter. Frame transmission may begin 96 bit times after carrier sense
is negated if it stays negated for at least 60 bit times. If carrier sense asserts during the last 36 bit times it
will be ignored and a collision will occur.
The receiver receives back-to-back frames with a minimum spacing of at least 28 bit times. If an
inter-packet gap between receive frames is less than 28 bit times the following frame may be discarded by
the receiver.
14.5.9
Collision Handling
If a collision occurs during frame transmission the Ethernet controller will continue the transmission for
at least 32 bit times, transmitting a JAM pattern consisting of 32 one’s. If the collision occurs during the
preamble sequence the JAM pattern will be sent after the end of the preamble sequence.
If a collision occurs within 64 byte times the retry process is initiated. The transmitter waits a random
number of slot times. A slot time is 512 bit times. If a collision occurs after 64 byte times no retransmission
is performed and the end of frame buffer is closed with an LC error indication.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-57
Fast Ethernet Controller (FEC)
14.5.10 Internal and External Loopback
Both internal and external loopback are supported by the Ethernet controller. In loopback mode both of the
FIFOs are used and the FEC actually operates in a full-duplex fashion. Both internal and external loopback
are configured using combinations of the LOOP and DRT bits in the R_CNTRL register and the FDEN bit
in the X_CNTRL register.
For both internal and external loopback set FDEN = 1.
For internal loopback set LOOP = 1 and DRT = 0. TX_EN and TX_ER will not assert during internal
loopback. During internal loopback the transmit/receive data rate is higher than in normal operation
because the internal system clock is used by the transmit and receive blocks instead of the clocks from the
external transceiver. This will cause an increase in the required system bus bandwidth for transmit and
receive data being transferred to/from external memory. It may be necessary to pace the frames on the
transmit side and/or limit the size of the frames to prevent transmit FIFO underrun and receive FIFO
overflow.
For external loopback set LOOP = 0, DRT = 0 and configure the external transceiver for loopback.
14.5.11 Ethernet Error-Handling Procedure
The Ethernet controller reports frame reception and transmission error conditions using the FEC BDs
(receive), the IEVENT register and the MIB block counters.
14.5.11.1 Transmission Errors
Transmitter Underrun — If this error occurs the FEC sends 32 bits that ensure a CRC error and stops
transmitting. All remaining buffers for that frame are then flushed and closed. The UN bit is set in the
X_STATUS register. The FEC will then continue to the next transmit buffer descriptor and begin
transmitting the next frame.
The XFIFO_UN interrupt will be asserted if enabled in the IMASK register.
Carrier Sense Lost During Frame Transmission — When this error occurs and no collision is detected
in the frame the FEC sets the CSL bit in X_STATUS register. The frame is transmitted normally. No
retries are performed as a result of this error.
No interrupt is generated as a result of this error.
Retransmission Attempts Limit Expired — When this error occurs the FEC terminates transmission.
All remaining buffers for that frame are then flushed and closed and the RL bit is set in the X_STATUS
register. The FEC will then continue to the next transmit buffer descriptor and begin transmitting the
next frame.
The COL_RETRY_LIM interrupt will be asserted if enabled in the IMASK register.
Late Collision — When a collision occurs after the slot time (512 bits starting at the Preamble), the FEC
terminates transmission. All remaining buffers for that frame are then flushed and closed and the LC
bit is set in the X_STATUS register. The FEC will then continue to the next transmit buffer descriptor
and begin transmitting the next frame.
The LATE_COL interrupt will be asserted if enabled in the IMASK register.
MPC5200B User’s Manual, Rev. 3
14-58
Freescale Semiconductor
Fast Ethernet Controller (FEC)
Heartbeat — Some transceivers have a self-test feature called “heartbeat” or “signal quality error.” To
signify a good self-test the transceiver indicates a collision to the FEC within 20 clocks after
completion of a frame transmitted by the Ethernet controller. This indication of a collision does not
imply a real collision error on the network but is rather an indication that the transceiver still seems to
be functioning properly. This is called the heartbeat condition.
If the HBC bit is set in the X_CNTRL register and the heartbeat condition is not detected by the FEC
after a frame transmission a heartbeat error occurs. When this error occurs the FEC closes the buffer,
sets the HB bit in the X_STATUS register and generates the HBERR interrupt if it is enabled.
14.5.11.2 Reception Errors
Overrun Error — If the receive block has data to put into the receive FIFO and the receive FIFO is full,
the FEC sets the OV bit in the receive status word. All subsequent data in the frame will be discarded
and subsequent frames may also be discarded until the receive FIFO is serviced by the DMA and space
is made available. At this point the receive frame/status word is written into the FIFO with the OV bit
is set. This frame must be discarded by the driver.
Non-Octet Error (Dribbling Bits) — The Ethernet controller handles up to seven dribbling bits when the
receive frame terminates nonoctet aligned and it checks the CRC of the frame on the last octet
boundary. If there is a CRC error, then the frame nonoctet aligned (NO) error is reported in the Receive
Frame Status Word. If there is no CRC error, then no error is reported.
CRC Error — When a CRC error occurs with no dribble bits, the FEC closes the buffer and sets the CR
bit in the Receive Frame Status Word. CRC checking cannot be disabled, but the CRC error can be
ignored if checking is not required.
Frame Length Violation — When the receive frame length exceeds MAX_FL bytes the BABR interrupt
will be generated and the LG bit in the end of frame Receive Frame Status Word will be set. The frame
is not truncated (truncation occurs if the frame length exceeds 2047 bytes).
Truncation — When the receive frame length exceeds 2047 bytes the frame is truncated and the TR bit is
set in the receive BD.
NOTE
There is an issue with receive buffer overrum errors and data size errors.
When an incoming packet does not have “line alignment,” there is a
possibility that the FEC will write two lines of data to memory. There is also
an issue with data size error where a descriptor indicates a data length
greater than the programmed maximum packet size.
The FEC must work in conjunction with the BestComm controller. Both of
these problems are solved using BestComm API 2.2 or later.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
14-59
Fast Ethernet Controller (FEC)
MPC5200B User’s Manual, Rev. 3
14-60
Freescale Semiconductor
Chapter 15
Programmable Serial Controller (PSC)
15.1
Overview
The following sections are contained in this document:
• Section 15.2, “Memory Map and Register Definitions”
• Section 15.3, “PSC Operation Modes”
• Section 15.4, “PSC FIFO System”
The MPC5200 has these independent Programmable Serial Controllers (PSCs):
• PSC1 = MBAR + 0x2000
• PSC2 = MBAR + 0x2200
• PSC3 = MBAR + 0x2400
• PSC4 = MBAR + 0x2600
• PSC5 = MBAR + 0x2800
• PSC6 = MBAR + 0x2C00
The internal configuration registers and the functional behavioral is equal for all PSC modules. Because
of a pinout limitation, not all functions are available for all PSCs on every port. Table 15-1 shows which
PSC supports which mode.
.
Table 15-1. PSC Mode Overview
PSC1
PSC2
PSC3
PSC4
PSC5
PSC6
UART
Yes
Yes
Yes
Yes
Yes
Yes
/ ESAI
Yes
Yes
Yes
No
No
Yes
Mclk Generation output
Yes
Yes
Yes
No
No
No
AC97
Yes
Yes
No
No
No
No
IrDA
No
No
No
No
No
Yes
Master
Slave
slave
No
No
Slave
Modem / SPI /
I2S
Cell Phone
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
15-1
Programmable Serial Controller (PSC)
Each PSC can be clocked by an internal clock source or an external clock source. Figure 15-1 shows a
simplified PSC block diagram. In addition, each PSC module interfaces directly to the CPU and consists
of the following:
• Serial Communication Channel
• Programmable Transmit (Tx) Receive (Rx) Clock Generation
• Internal Channel Control Logic
• Interrupt Control Logic
• FIFO System
In addition the PSC provide an Mclk for the external Codec, eliminating the need for an external crystal
for the external device. For more information about the Codec mode see Section 15.3.2, “PSC in Codec
Mode.”
System Integration
Unit (SIU)
Interrupt Controller
Internal C-/ IP
Bus System
Interrupt
Control Logic
FIFO System
Internal Channel
Control Logic
Serial
Communications
Channel
Control Lines
RxD
TxD
Programmable
Tx/Rx Clock
Generation
Internal Clock
Source
External Clock
Source
PSC
Figure 15-1. Block Diagram
MPC5200B User’s Manual, Rev. 3
15-2
Freescale Semiconductor
Programmable Serial Controller (PSC)
15.1.1
PSC Functions Overview
The PSC module of the MPC5200 provide different groups of interfaces to connect the MPC5200 to other
devices. Figure 15-2.shows the groups of interfaces:
PSC
Codec
“Soft
Modem”
ESAI
SPI
IrDA
I2S
AC97
UART
SIR
MIR
FIR
Figure 15-2. PSC Functions Overview
1. PSC Codec Mode: In this section, the name Codec mode is used as a collective term for the “normal
soft Modem” the SPI, I2S, and ESAI mode. This interfaces are provide by one internal block of the
PSC. The interface consist of serial TX and RX lines, a bit clock line and a FrameSync signal. For
these modes the clock configuration is similar and use the same configuration registers. The
transmitter converts the parallel data from the CPU to a serial bit-stream, the receiver converts the
serial data from the RX line to parallel data. The PSCs support Codec mode with 8, 16, 24 and 32
bit data width, with active high or active low FrameSync signal and with programmable bit clock
polarity. All Codec modes can work as an Codec master (PSC dive the bit clock and FrameSync
signals) or as a Codec Slave (PSC receive the bit clock and frame sync signal). For more
information about the Codec mode see Section 15.3.2, “PSC in Codec Mode.”
2. AC97 Mode: When programmed as AC97, the PSC works as an AC97 Controller, it’s means that
the PSC receive the BitClk from the external AC97 Codec and provide the FrameSync signal to
the external Codec. Only PSC1 and PSC2 support the AC97 functionality. In the legacy AC97
mode, the data words for all AC97 slots must be in the TX FIFO including the slot 0,1 and slot
2data. The PSC is not able to modify the control slot data. Also all data words from the RX line
will be in the FIFO. Only if the PSC detect a “codec not ready” status the PSC will stop sending
and receiving data. In the normal AC97 mode, only the data slots must be in the FIFO. The PSC
generate the slot0, slot1, and slot2 values depend on data to send. In both AC97 modes the PSC
reads only 32 bits from the FIFO. For more information about the AC97 mode, see Section 15.3.3,
“PSC in AC97 Mode.”
3. PSC UART Mode: When programmed as a UART, the PSC serial communication channel
provides a full-duplex asynchronous receiver and transmitter deriving an operating frequency from
an internal clock. The transmitter converts parallel data from the CPU to a serial bit-stream,
inserting appropriate start, stop, and parity bits. It outputs the resulting stream on the channel
transmitter serial data output (TxD). The receiver converts serial data from the channel receiver
serial data input (RxD) to parallel format, checks for start, stop, and parity bits, or line break
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
15-3
Programmable Serial Controller (PSC)
conditions, and transfers the assembled character onto the bus during read operations. The receiver
may be poll-driven or interrupt-driven. For more information about the UART mode see
Section 15.3.1, “PSC in UART Mode.”
4. PSC IrDA Mode: When programmed as an IrDA interface, the PSC provides an full-duplex
asynchronous communication which is optimized for Infrared transmission. The in this
configuration the SIR, MIR and FIR modes are supported. The transmitter converts the parallel
data from the CPU to a serial bit-stream and add some control characters, the receiver checks the
control characters and converts the serial data from the RX line to parallel data. For more
information about the UART mode see Section 15.3.4, “PSC in IrDA Mode.”
15.1.2
Features
General Features:
• 512-byte receiver (Rx) FIFO
• 512-byte transmitter (Tx) FIFO
• Each channel is programmable to normal (full-duplex), automatic echo, local loop-back, or remote
loop-back mode
• Automatic Wake-up mode for multidrop applications
• 6 maskable interrupt conditions
• PSC Tx and Rx FIFOs can be programmed to interrupt either the BestComm or the CPU when they
require filling or emptying, respectively.
PSC UART Mode:
• Each is clocked by an internal clock source (IPB clock), eliminating the need for an external crystal
• Full-duplex asynchronous receiver/transmitter channel
• Programmable data format:
— Five to eight data bits plus parity
— Odd, even, no parity, or force parity
— One, one-and-a-half, or two STOP bits
• Parity, framing, and overrun error detection
• False-start bit detection
• Line-break detection and generation
• Detection of breaks originating in the middle of a character
• Start/end break interrupt/status
PSC Codec Mode:
• Programmable to interface to an 8-, 16-, 24-, or 32-bit Codec for “soft modem” support
• Support master mode, driving clock and FrameSync signals
• Support slave mode, receiving clock and the FrameSync from the external Codec
• Supports full duplex SPI interface
• Supports I2S interface
MPC5200B User’s Manual, Rev. 3
15-4
Freescale Semiconductor
Programmable Serial Controller (PSC)
•
•
•
•
•
•
No parity error, framing error, or line break detection in Codec mode
Ability to generate a master clock (Mclk) for an external Codec device, independent from the mode
(master or slave)
Programmable width of the FrameSync signal
FrameSync and bit clock frequencies are independently programmable
Frame sync and bit clock polarity are programmable
Support “digital cell phone” interface
AC97 Mode:
• PSC1 and PSC2 support an AC97 interface
• Support “normal” and “legacy” mode
IrDA SIR Mode:
•
•
Baud rate: 2400 to 115200 bps
Selectable pulse width: either 3/16 bit duration or 1.6 μs
IrDA MIR Mode:
• Baud rate: 0.576 Mbps to 1.152 Mbps
IrDA FIR Mode:
• Baud rate: 4 Mbps
15.2
Memory Map and Register Definitions
The PSCs are located at an address as indicated below:
• PSC1 BASE = MBAR + 0x2000
• PSC2 BASE = MBAR + 0x2200
• PSC3 BASE = MBAR + 0x2400
• PSC4 BASE = MBAR + 0x2600
• PSC5 BASE = MBAR + 0x2800
• PSC6 BASE = MBAR + 0x2C00
Each PSC uses 42 registers. The register address is calculated as base address for the regarding PSC plus
the offset value. Table 15-2 shows the list with all implemented registers and the associated offset value.
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
15-5
Programmable Serial Controller (PSC)
15.2.1
Memory Map
Table 15-2. PSC Memory Map
Offset
Register Name
Register
Width
Access
00
Mode Register 1 (MR1)
8
R/W
00
Mode Register 2 (MR2)
8
R/W
04
Status Register (SR)
16
R
04
Clock Select Register (CSR)
16
W
08
Command Register (CR)
8
R/W
0C
Rx Buffer Register (RB)
32
R
0C
Tx Buffer Register (TB)
32
W
10
Input Port Change Register (IPCR)
8
R
10
Auxiliary Control Register (ACR)
8
W
14
Interrupt Status Register (ISR)
16
R
14
Interrupt Mask Register (IMR)
16
W
18
Counter Timer Upper Register (CTUR)
8
W
1C
Counter Timer Lower Register (CTLR)
8
W
20
Codec Clock Register (CCR)
32
R/W
24
AC97 Slots Register (AC97Slots)
32
W
28
AC97 Command Register (AC97CMD)
32
R/W
2C
AC97 Status Data Register (AC97Data)
32
R
30
Interrupt Vector Register (IVR) - Reserved
8
R/W
34
Input Port Register (IP)
8
R
38
Output Port 1 Bit Set (OP1)
8
W
3C
Output Port 0 Bit Set (OP0)
8
W
40
Serial Interface Control Register (SICR)
32
R/W
44
Infrared Control 1 (IRCR1)
8
R/W
48
Infrared Control 2 (IRCR2)
8
R/W
4C
Infrared SIR Divide Register (IRSDR)
8
R/W
50
Infrared MIR Divide Register (IRMDR)
8
R/W
54
Infrared FIR Divide Register (IRFDR)
8
R/W
58
Rx FIFO Number of Data (RFNUM)
16
R
5C
Tx FIFO Number of Data (TFNUM)
16
R
60
Rx FIFO Data (RFDATA)
32
R/W
64
Rx FIFO Status (RFSTAT)
16
R/W
68
Rx FIFO Control (RFCNTL)
8
R/W
6E
Rx FIFO Alarm (RFALARM)
16
R/W
72
Rx FIFO Read Pointer (RFRPTR)
16
R/W
76
Rx FIFO Write Pointer (RFWPTR)
16
R/W
7A
Rx FIFO Last Read Frame (RFLRFPTR) - Reserved
16
R/W
7C
Rx FIFO Last Write Frame PTR (RFLWFPTR) - Reserved
16
R/W
MPC5200B User’s Manual, Rev. 3
15-6
Freescale Semiconductor
Programmable Serial Controller (PSC)
Table 15-2. PSC Memory Map (continued)
Offset
Register Name
Register
Width
Access
80
Tx FIFO Data (TFDATA)
32
R/W
84
Tx FIFO Status (TFSTAT)
16
R/W
88
Tx FIFO Control (TFCNTL)
8
R/W
8E
Tx FIFO Alarm (TFALARM)
16
R/W
92
Tx FIFO Read Pointer (TFRPTR)
16
R/W
96
Tx FIFO Write Pointer (TFWPTR)
16
R/W
9A
Tx FIFO Last Read Frame (TFLRFPTR) - Reserved
16
R/W
9C
Tx FIFO Last Write Frame PTR (TFLWFPTR) - Reserved
16
R/W
PSC module operation is controlled by writing control bytes into the appropriate registers.
15.2.2
15.2.2.1
Register Descriptions
Mode Register 1 (MR1)
The Mode registers (MR1) control configuration. MR1 can be read or written when the Mode register
pointer points to it, at reset or after a reset Mode register pointer command using CR[MISC]. After MR1
is read or written, the pointer points to MR2.
Address MBAR + 0x00
R
W
Reset
0
1
2
RxRTS
RxIRQ/
FFULL
Reserved
0
0
1
3
4
5
PM
0
6
PT
0
0
7
B/C
0
0
5
6
7
0
1
1
5
6
7
0
1
1
Figure 15-3. Mode Register 1 for UART Mode
Address MBAR + 0x00
R
W
Reset
0
1
RxRTS
RxIRQ/
FFULL
0
0
2
3
4
Reserved
1
1
0
Figure 15-4. Mode Register 1 for SIR Mode
Address MBAR + 0x00
R
W
Reset
0
1
Reserved
RxIRQ/
FFULL
0
0
2
3
4
Reserved
1
1
0
Table 15-3. Mode Register 1 for Other Modes
MPC5200B User’s Manual, Rev. 3
Freescale Semiconductor
15-7
Programmable Serial Controller (PSC)
Table 15-4. Mode Register 1 Field Descriptions
Bit
Name
Description
0
RxRTS
UART / SIR—Receiver request-to-send—Allows RTS output to control the CTS input of the transmitting
device to prevent receiver overrun. If both the receiver and transmitter are incorrectly programmed for RTS
control, RTS control is disabled for both. Transmitter RTS control is configured in MR2[TxRTS]. Not used in
Codec mode.
0 Receiver has no effect on RTS.
1 When