NXP MSC8112 Reference guide

  • Hello! I am an AI chatbot trained to assist you with the NXP MSC8112 Reference guide. I’ve already reviewed the document and can help you find the information you need or explain it in simple terms. Just ask your questions, and providing more details will help me assist you more effectively!
MSC8112 Reference Manual
Dual Core 16-Bit Digital Signal Processor
MSC8112RM
Rev 0, May 2008
Information in this document is provided solely to enable system and software
implementers to use Freescale Semiconductor products. There are no express or
implied copyright licenses granted hereunder to design or fabricate any integrated
circuits or integrated circuits based on the information in this document.
Freescale Semiconductor reserves the right to make changes without further notice
to any products herein. Freescale Semiconductor makes no warranty,
representation or guarantee regarding the suitability of its products for any particular
purpose, nor does Freescale Semiconductor assume any liability arising out of the
application or use of any product or circuit, and specifically disclaims any and all
liability, including without limitation consequential or incidental damages. “Typical”
parameters which may be provided in Freescale Semiconductor data sheets and/or
specifications can and do vary in different applications and actual performance may
vary over time. All operating parameters, including “Typicals” must be validated for
each customer application by customer’s technical experts. Freescale
Semiconductor does not convey any license under its patent rights nor the rights of
others. Freescale Semiconductor products are not designed, intended, or
authorized for use as components in systems intended for surgical implant into the
body, or other applications intended to support or sustain life, or for any other
application in which the failure of the Freescale Semiconductor product could create
a situation where personal injury or death may occur. Should Buyer purchase or use
Freescale Semiconductor products for any such unintended or unauthorized
application, Buyer shall indemnify and hold Freescale Semiconductor and its
officers, employees, subsidiaries, affiliates, and distributors harmless against all
claims, costs, damages, and expenses, and reasonable attorney fees arising out of,
directly or indirectly, any claim of personal injury or death associated with such
unintended or unauthorized use, even if such claim alleges that Freescale
Semiconductor was negligent regarding the design or manufacture of the part.
Freescale, the Freescale logo, StarCore, CodeWarrior, and StarCore are
trademarks of Freescale Semiconductor, Inc. All other product or service names are
the property of their respective owners.
© Freescale Semiconductor, Inc. 2008.
MSC8112RM
Rev. 0
5/2008
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
Asia/Pacific:
Freescale Semiconductor China Ltd.
Exchange Building 23F
No. 118 Jianguo Road
Chaoyang District
Beijing 100022
China
+86 010 5879 8000
For Literature Requests Only:
Freescale Semiconductor
Literature Distribution Center
P.O. Box 5405
Denver, Colorado 80217
+1-800 441-2447 or
+1-303-675-2140
Fax: +1-303-675-2150
LDCForFreescaleSemiconductor
@hibbertgroup.com
1
MSC8112 Overview
2
SC140 Core Overview
4
System Interface Unit (SIU)
7
Clocks
12
Memory Controller
13
System Bus
14
Direct Slave Interface (DSI)
17
Interrupt Processing
18
Debugging
21
A
Programming Reference
B
MSC8112 Dictionary
I
Index
Universal Asynchronous Receiver/Transmitter (UART)
External Signals
Reset
Boot Program
Memory Map
Extended Core
Hardware Semaphores
Direct Memory Access (DMA) Controller
Internal Peripheral Bus (IPBus)
Time-Division Multiplexing (TDM) Interface
Timers
General-Purpose Input/Output (GPIO)
3
5
6
8
9
15
16
19
20
22
23
MQBus and M2 Memory
10
SQBus
11
I
2
C Software Module
24
Ethernet Controller
25
C
MSC8112 Boot Code
1
MSC8112 Overview
2
SC140 Core Overview
4
System Interface Unit (SIU)
7
Clocks
12
Memory Controller
13
System Bus
14
Direct Slave Interface (DSI)
17
Interrupt Processing
18
Debugging
21
A
Programming Reference
B
MSC8112 Dictionary
I
Index
Universal Asynchronous Receiver/Transmitter (UART)
External Signals
Reset
Boot Program
Memory Map
Extended Core
Hardware Semaphores
Direct Memory Access (DMA) Controller
Internal Peripheral Bus (IPBus)
Time-Division Multiplexing (TDM) Interface
Timers
General-Purpose Input/Output (GPIO)
3
5
6
8
9
15
16
19
20
22
23
MQBus and M2 Memory
10
SQBus
11
I
2
C Software Module
24
Ethernet Controller
25
C
MSC8112 Boot Code
MSC8112 Reference Manual, Rev. 0
Freescale Semiconductor v
Contents
About This Book
Before Using This Manual—Important Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
Audience and Helpful Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
Notational Conventions and Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
Conventions for Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
Other MSC8112 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
1 MSC8112 Overview
1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
1.2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
1.2.1 Extended Core. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
1.2.1.1 SC140 Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
1.2.1.2 M1 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
1.2.1.3 Instruction Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
1.2.1.4 QBus System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
1.2.2 Power Saving Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
1.2.2.1 Extended Core Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
1.2.2.2 Extended Core Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
1.2.3 M2 Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
1.2.4 System Interface Unit (SIU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
1.2.4.1 60x-Compatible System Bus Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
1.2.4.2 Memory Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
1.2.5 Direct Slave Interface (DSI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
1.2.6 Direct Memory Access (DMA) Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
1.2.7 Internal and External Bus Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19
1.2.8 TDM Serial Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21
1.2.9 Ethernet Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22
1.2.10 Universal Asynchronous Receiver/Transmitter (UART) . . . . . . . . . . . . . . . . 1-23
1.2.11 Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
1.2.12 GPIOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24
1.2.13 Reset and Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24
1.2.14 Interrupt Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25
1.2.15 Signal Multiplexing Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25
1.3 Internal Communication and Semaphores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26
MSC8112 Reference Manual, Rev. 0
vi Freescale Semiconductor
Contents
1.3.1 Internal Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26
1.3.2 Atomic Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27
1.3.3 Hardware Semaphores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27
2 SC140 Core Overview
2.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.1.1 Data Arithmetic Logic Unit (Data ALU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.1.1.1 Data Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.1.1.2 Multiply-Accumulate (MAC) Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.1.1.3 Bit-Field Unit (BFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.1.2 Address Generation Unit (AGU). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.1.2.1 Stack Pointer Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.1.2.2 Bit Mask Unit (BMU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.1.3 Program Sequencer Unit (PSEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.1.4 Enhanced On-Chip Emulation (EOnCE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
2.2 Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
2.2.1 AGU Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
2.2.2 Data Arithmetic Logic Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
2.2.3 Program Control Unit Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
2.3 Instruction Set Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
2.4 Additional Programming Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
3 External Signals
3.1 Power Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.2 Clock Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.3 Reset and Configuration Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.4 Direct Slave Interface, System Bus, Ethernet, and Interrupt Signals . . . . . . . . . 3-4
3.5 Memory Controller Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
3.6 GPIO, TDM, UART, and Timer Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
3.7 Dedicated Ethernet Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27
3.8 EOnCE Event and JTAG Test Access Port Signals. . . . . . . . . . . . . . . . . . . . . . 3-27
3.9 Reserved Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
4 System Interface Unit (SIU)
4.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.1.1 Bus Monitors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
4.1.2 Timers Clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.1.3 Time Counter (TMCNT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.1.4 Periodic Interrupt Timer (PIT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
4.1.5 SIU and General Software Watchdog Timers. . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
4.1.6 SIU Multiplexing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
MSC8112 Reference Manual, Rev. 0
Freescale Semiconductor vii
Contents
4.2 SIU Programming Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
4.2.1 System Configuration and Protection Registers . . . . . . . . . . . . . . . . . . . . . . . 4-10
4.2.2 Periodic Interrupt Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
5 Reset
5.1 Power-On Reset (PORESET) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.2 Reset Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
5.2.1 Reset Configuration Through the DSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
5.2.2 Reset Configuration Through the System Bus . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
5.3 Hard Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
5.4 Soft Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
5.5 Reset Configuration Writes Through the System Bus. . . . . . . . . . . . . . . . . . . . . 5-9
5.5.1 Single MSC8112 System Configuration From EPROM. . . . . . . . . . . . . . . . . . 5-9
5.5.2 Single Slave MSC8112 Configuration by System Bus Host . . . . . . . . . . . . . 5-10
5.5.3 Multi-MSC8112 System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
5.5.4 Multiple MSC8112 Devices in a System With No EPROM . . . . . . . . . . . . . 5-13
5.6 Reset Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
5.6.1 Hard Reset Configuration Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
5.6.2 Reset Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
6 Boot Program
6.1 Boot Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.2 Booting From an External Memory Device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
6.3 Booting from an External Host (DSI or System Bus) . . . . . . . . . . . . . . . . . . . . . 6-4
6.4 Booting From the TDM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
6.4.1 Initializing the TDM Physical Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
6.4.1.1 Receiver Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6
6.4.1.2 Transmitter Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
6.4.2 TDM Logical Layer Handshake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
6.4.2.1 Messages Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
6.4.2.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
6.5 Booting From a UART Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
6.6 Booting from I²C Slave Memory Device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
6.6.1 Procedure Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
6.6.2 I
2
C System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
7 Clocks
7.1 Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
7.2 Board-Level Clock Distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
7.2.1 Single Master Mode Board-Level Clock Distribution . . . . . . . . . . . . . . . . . . . 7-3
7.2.2 Multi-Master Mode Board-Level Clock Distribution. . . . . . . . . . . . . . . . . . . . 7-5
MSC8112 Reference Manual, Rev. 0
viii Freescale Semiconductor
Contents
7.3 Clock Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
7.4 Clocks Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
8 Memory Map
8.1 SC140 Core Internal Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8
8.2 QBus Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9
8.3 MQBus Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11
8.4 SQBus Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12
8.5 IPBus Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12
8.6 Local Bus Address Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27
8.7 System Bus Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-55
8.8 DSI Address Map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-61
8.9 Pseudo Command Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-79
8.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-79
9 Extended Core
9.1 SC140 DSP Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
9.2 Extended Core Memory (M1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
9.2.1 Memory Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
9.2.1.1 Memory Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
9.2.1.2 Memory Contention and Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
9.2.2 Errors and Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
9.2.2.1 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
9.2.2.2 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
9.3 Extended QBus System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7
9.3.1 Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8
9.3.1.1 Fetch Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9
9.3.2 QBus Execution Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11
9.3.3 QBus Banks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11
9.3.4 Bank Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
9.3.5 Bank Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
9.3.6 Reservation Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14
9.3.7 Setting a Data Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15
9.3.8 Instruction Cacheable Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17
9.3.9 EQBS Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18
9.4 Instruction Cache (ICache) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24
9.4.1 ICache Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28
9.4.2 Debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-29
9.4.3 Multi-Task Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-32
9.4.4 ICache Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33
9.4.4.1 Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-34
MSC8112 Reference Manual, Rev. 0
Freescale Semiconductor ix
Contents
9.4.4.2 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-34
9.4.4.3 Reads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-35
9.4.4.4 Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-35
9.4.4.5 ICache Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-36
9.5 Programmable Interrupt Controller (PIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-38
9.6 Local Interrupt Controller (LIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-38
9.7 Extended Core Power Saving Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-39
9.7.1 Extended Core Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-39
9.7.2 Extended Core Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-39
10 MQBus and M2 Memory
10.1 MQBus Arbitration Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
10.2 M2 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3
10.3 Reservation Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3
11 SQBus
11.1 System Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
11.2 Reservation (Atomic) Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
11.2.1 Reservation Operation in the SQBus Arbiter . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
11.2.2 Reservation Operation on the System Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
11.2.3 Conditions for Failure of the Reservation Operation . . . . . . . . . . . . . . . . . . . 11-3
12 Memory Controller
12.1 Basic Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3
12.1.1 Address and Address Space Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8
12.1.2 Page Hit Checking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8
12.1.3 Parity Generation and Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8
12.1.4 Transfer Error Acknowledge (TEA
) Generation . . . . . . . . . . . . . . . . . . . . . . 12-9
12.1.5 Machine Check Interrupt (MCP
) Generation . . . . . . . . . . . . . . . . . . . . . . . . . 12-9
12.1.6 Data Buffer Controls (BCTL[0–1]
). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9
12.1.7 Atomic Bus Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10
12.1.8 Partial Data Valid Indication (PSDVAL
) . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10
12.1.9 ECC/Parity Byte-Select (PPBS
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-11
12.1.10 Data Pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-11
12.1.11 60x-Compatible Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12
12.1.12 External Memory Controller Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12
12.1.13 External Address Latch Enable Signal (ALE) . . . . . . . . . . . . . . . . . . . . . . . 12-12
12.1.14 BADDR[27–31] Signal Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12
12.2 SDRAM Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-13
12.2.1 Supported SDRAM Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14
12.2.2 SDRAM Power-On Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14
MSC8112 Reference Manual, Rev. 0
x Freescale Semiconductor
Contents
12.2.3 JEDEC-Standard SDRAM Interface Commands . . . . . . . . . . . . . . . . . . . . . 12-16
12.2.4 Page-Mode Support and Pipeline Accesses . . . . . . . . . . . . . . . . . . . . . . . . . 12-16
12.2.5 Bank Interleaving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-17
12.2.6 BNKSEL Signals in Single-MSC8112 Bus Mode . . . . . . . . . . . . . . . . . . . . 12-18
12.2.7 SDRAM Address Multiplexing (SDAM and BSMA) . . . . . . . . . . . . . . . . . 12-18
12.2.8 SDRAM Read/Write Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-20
12.2.9 SDRAM Refresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-20
12.2.10 SDRAM Signals: Device-Specific Parameters . . . . . . . . . . . . . . . . . . . . . . . 12-20
12.2.11 SDRAM Signals: General Interface Timing. . . . . . . . . . . . . . . . . . . . . . . . . 12-25
12.2.12 SDRAM Signals: mode-set Command Timing. . . . . . . . . . . . . . . . . . . . . . . 12-28
12.2.13 SDRAM Signals: Refresh Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-28
12.2.14 SDRAM Configuration Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-29
12.2.14.1 SDRAM Configuration Example (Page-Based Interleaving) . . . . . . . . . . 12-29
12.2.14.2 SDRAM Configuration Example (Bank-Based Interleaving) . . . . . . . . . . 12-31
12.3 General-Purpose Chip-Select Machine (GPCM). . . . . . . . . . . . . . . . . . . . . . . 12-33
12.3.1 GPCM Signals: Timing Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-34
12.3.1.1 Chip-Select Assertion Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-34
12.3.1.2 Chip-Select and Write Enable Deassertion Timing . . . . . . . . . . . . . . . . . . 12-36
12.3.1.3 Relaxed Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-37
12.3.1.4 Output Enable (POE
) Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-38
12.3.1.5 Programmable Wait State Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 12-38
12.3.1.6 Extended Hold Time on Read Accesses. . . . . . . . . . . . . . . . . . . . . . . . . . . 12-40
12.3.2 GPCM Signals: External Access Termination . . . . . . . . . . . . . . . . . . . . . . . 12-42
12.3.3 Boot Chip-Select Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-44
12.3.4 Differences Between MPC8xx GPCM and MSC8112 GPCM. . . . . . . . . . . 12-44
12.4 User-Programmable Machines (UPMs). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-45
12.4.1 Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-46
12.4.1.1 Memory Access Requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-47
12.4.1.2 UPM Refresh Timer Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-48
12.4.1.3 Software Requests—run Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-48
12.4.1.4 Exception Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-48
12.4.2 Programming the UPMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-49
12.4.3 Clock Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-49
12.4.4 RAM Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-50
12.4.4.1 RAM Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-51
12.4.4.2 Last Word (LAST) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-59
12.4.4.3 Address Multiplexing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-59
12.4.4.4 Data Valid and Data Sample Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-59
12.4.4.5 Disable Timer Mechanism (TODT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-60
12.4.4.6 Signal Deassertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-60
12.4.4.7 Wait Mechanism. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-60
MSC8112 Reference Manual, Rev. 0
Freescale Semiconductor xi
Contents
12.4.4.8 Extended Hold Time on Read Accesses. . . . . . . . . . . . . . . . . . . . . . . . . . . 12-61
12.4.5 DRAM Configuration Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-62
12.4.6 Interface Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-63
12.4.6.1 Memory System Interface Example Using UPM. . . . . . . . . . . . . . . . . . . . 12-63
12.4.6.2 EDO Interface Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-74
12.4.7 Differences Between MPC8xx UPM and MSC8112 UPM . . . . . . . . . . . . . 12-82
12.5 Handling Devices With Slow or Variable Access Times . . . . . . . . . . . . . . . . 12-82
12.5.1 Hierarchical Bus Interface Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-83
12.5.2 Slow Devices Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-83
12.6 External Master Support (60x-Compatible Mode) . . . . . . . . . . . . . . . . . . . . . 12-83
12.6.1 Strict 60x-Compatible External Masters. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-84
12.6.2 MSC8112-Type External Masters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-84
12.6.3 Extended Controls in 60x-Compatible Mode . . . . . . . . . . . . . . . . . . . . . . . . 12-84
12.6.4 Address Incrementing for External Bursting Masters. . . . . . . . . . . . . . . . . . 12-85
12.6.5 External Masters Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-85
12.7 Internal SRAM and IPBus Peripherals Support. . . . . . . . . . . . . . . . . . . . . . . . 12-92
12.7.1 UPM Programming Example — Internal SRAM . . . . . . . . . . . . . . . . . . . . . 12-92
12.7.2 GPCM Programming Example, IPBus Peripherals. . . . . . . . . . . . . . . . . . . . 12-94
12.7.3 Flyby Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-94
12.8 Memory Controller Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-95
13 System Bus
13.1 System Bus Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
13.1.1 Address Arbitration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-3
13.1.2 Address Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5
13.1.3 Address Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5
13.1.4 Address Transfer Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6
13.1.5 Address Transfer Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8
13.1.6 Data Arbitration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-9
13.1.7 Data Transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-10
13.1.8 Data Transfer Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-12
13.2 60x-Compatible Bus Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14
13.2.1 System Bus Operating Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14
13.2.1.1 Single MSC8112 Bus Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14
13.2.1.2 60x-Compatible Bus Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16
13.2.2 System Bus Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-17
13.2.2.1 Arbitration Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-18
13.2.2.2 Address Pipelining and Split-Bus Transactions . . . . . . . . . . . . . . . . . . . . . 13-19
13.2.2.3 Memory Coherency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-19
13.2.3 Address Tenure Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-19
13.2.3.1 Address Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-20
MSC8112 Reference Manual, Rev. 0
xii Freescale Semiconductor
Contents
13.2.3.2 Address Pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-21
13.2.3.3 Address Transfer Attribute Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-22
13.2.3.4 Burst Ordering During Data Transfers. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-24
13.2.3.5 Effect of Alignment on Data Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-24
13.2.3.6 Effect of Port Size on Data Transfers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-26
13.2.3.7 60x-Compatible System Bus Mode—Size Calculation . . . . . . . . . . . . . . . 13-30
13.2.3.8 Extended Transfer Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-31
13.2.3.9 Address Transfer Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-33
13.2.3.10 Address Retried With ARTRY
Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-33
13.2.3.11 Address Tenure Timing Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-34
13.2.3.12 Pipeline Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-35
13.2.4 Data Tenure Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-36
13.2.4.1 Data Bus Arbitration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-36
13.2.4.2 Data Streaming Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-36
13.2.4.3 Data Bus Transfers and Normal Termination . . . . . . . . . . . . . . . . . . . . . . 13-37
13.2.4.4 Effect of ARTRY
Assertion on Data Transfer and Arbitration . . . . . . . . . 13-38
13.2.4.5 Port Size Data Bus Transfers and PSDVAL
Termination . . . . . . . . . . . . . 13-38
13.2.4.6 Data Bus Termination by Assertion of TEA
Signal. . . . . . . . . . . . . . . . . . 13-40
14 Direct Slave Interface (DSI)
14.1 Data Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-3
14.1.1 Data Bus Width. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-3
14.1.2 DCR[BEM] Bit Access Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4
14.2 Address Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6
14.2.1 Sliding Window Addressing Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6
14.2.2 Full Address Addressing Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-8
14.2.3 Host Chip ID Signals (HCID[0–3]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10
14.2.4 DSI Endian Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10
14.3 Host Access Modes and Timings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-11
14.3.1 Single Strobe Versus Dual Strobe Access Modes. . . . . . . . . . . . . . . . . . . . . 14-11
14.3.2 Synchronous Versus Asynchronous Access Mode. . . . . . . . . . . . . . . . . . . . 14-12
14.3.2.1 Burst Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-12
14.3.2.2 DSI Access Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-13
14.3.3 Asynchronous Mode Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-13
14.3.3.1 Asynchronous Write Using Dual Strobe Mode . . . . . . . . . . . . . . . . . . . . . 14-13
14.3.3.2 Asynchronous Write Using Single Strobe Mode . . . . . . . . . . . . . . . . . . . . 14-15
14.3.3.3 Asynchronous Read Using Dual Strobe Mode. . . . . . . . . . . . . . . . . . . . . . 14-16
14.3.3.4 Asynchronous Read Using Single Strobe Mode . . . . . . . . . . . . . . . . . . . . 14-17
14.3.4 Synchronous Mode Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-18
14.3.4.1 Synchronous Single Write Using Dual Strobe Mode. . . . . . . . . . . . . . . . . 14-18
14.3.4.2 Synchronous Single Write Using Single Strobe Mode . . . . . . . . . . . . . . . 14-19
MSC8112 Reference Manual, Rev. 0
Freescale Semiconductor xiii
Contents
14.3.4.3 Synchronous Single Read Using Dual Strobe Mode . . . . . . . . . . . . . . . . . 14-20
14.3.4.4 Synchronous Single Read Using Single Strobe Mode . . . . . . . . . . . . . . . . 14-21
14.3.4.5 Synchronous Burst Write Using Dual Strobe Mode . . . . . . . . . . . . . . . . . 14-22
14.3.4.6 Synchronous Burst Write Using Single Strobe Mode . . . . . . . . . . . . . . . . 14-23
14.3.4.7 Synchronous Burst Read Using Dual Strobe Mode . . . . . . . . . . . . . . . . . . 14-24
14.3.4.8 Synchronous Burst Read Using Single Strobe Mode. . . . . . . . . . . . . . . . . 14-25
14.3.5 Broadcast Accesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-26
14.4 DSI Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-27
14.4.1 Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-28
14.4.2 DSI Reset During Host Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-28
14.5 DSI Programming Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-29
14.5.1 Control Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-29
14.5.2 Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-35
15 Hardware Semaphores
16 Direct Memory Access (DMA) Controller
16.1 DMA Signals: Requestor Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3
16.1.1 Signal Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3
16.1.2 Peripheral Access Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-4
16.2 DMA Operating Modes: Transfer Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-8
16.2.1 DMA Transfer Size and Peripheral Port Size . . . . . . . . . . . . . . . . . . . . . . . . . 16-8
16.2.2 DMA Access Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-8
16.2.3 Application Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-10
16.2.3.1 External Memory and an External Peripheral on the System Bus . . . . . . . 16-10
16.2.3.2 External Peripheral to Internal Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . 16-11
16.2.3.3 External Peripheral to External Peripheral. . . . . . . . . . . . . . . . . . . . . . . . . 16-12
16.2.3.4 External Memory and External Memory on the System Bus. . . . . . . . . . . 16-13
16.2.3.5 External Memory to Internal Memory on the System Bus. . . . . . . . . . . . . 16-14
16.2.3.6 Internal Memory to Internal Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-15
16.2.3.7 Flyby Transfer from External Peripheral to External Memory . . . . . . . . . 16-16
16.2.3.8 Flyby Transfers Between Internal Memories, M2 and M1 . . . . . . . . . . . . 16-17
16.2.3.9 Transfers Between Internal Memories M1 and M1 (Flyby Mode) . . . . . . 16-18
16.2.4 DMA Operating Modes: Buffer Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-18
16.2.4.1 Simple Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-21
16.2.4.2 Cyclic Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-22
16.2.4.3 Incremental Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-23
16.2.4.4 Chained Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-24
16.2.4.5 Complex Buffers—Dual Cyclic Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . 16-25
16.2.5 2D Data Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-26
16.3 DMA Transfer Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-29
MSC8112 Reference Manual, Rev. 0
xiv Freescale Semiconductor
Contents
16.3.1 DMA Priority Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-30
16.3.1.1 Fixed-Priority Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-30
16.3.1.2 Round-Robin Priority Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-30
16.3.1.3 DMA Arbitration Device Level Considerations. . . . . . . . . . . . . . . . . . . . . 16-32
16.3.2 DMA Data Transfer Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-33
16.3.3 Terminating a DMA Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-33
16.4 DMA Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-34
16.4.1 Configuration Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-35
16.4.2 DMA Status and Interrupt Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-42
16.4.3 Bus Error Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-43
17 Interrupt Processing
17.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4
17.1.1 Global Interrupt Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4
17.1.1.1 INT_OUT
Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6
17.1.1.2 NMI
or NMI_OUT Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7
17.1.1.3 Virtual Interrupt Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7
17.1.1.4 Virtual NMI
Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-8
17.1.1.5 GIC Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-8
17.1.2 Local Interrupt Controller (LIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-9
17.1.2.1 Resolving LIC Interrupts by the SC140 Cores. . . . . . . . . . . . . . . . . . . . . . 17-11
17.1.2.2 Level Interrupt Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-12
17.1.2.3 Edge Interrupt Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-13
17.1.2.4 DMA Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-13
17.1.2.5 LIC Interrupt Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-13
17.1.3 Programmable Interrupt Controller (PIC). . . . . . . . . . . . . . . . . . . . . . . . . . . 17-17
17.1.4 Peripheral Bus (QBus) Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-18
17.1.4.1 Interrupt Request Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-18
17.1.5 Interrupt Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-18
17.2 Interrupt Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-21
17.2.1 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-21
17.2.2 LIC and PIC Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-22
17.2.3 Clearing Pending Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-23
17.3 Interrupts Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-23
17.3.1 GIC Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-23
17.3.2 LIC Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-29
17.3.2.1 LIC Interrupt Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-30
17.3.2.2 LIC Interrupt Enable Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-37
17.3.2.3 LIC Interrupt Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-38
17.3.3 PIC Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-40
17.3.3.1 Edge/Level-Triggered Interrupt Priority Registers . . . . . . . . . . . . . . . . . . 17-40
MSC8112 Reference Manual, Rev. 0
Freescale Semiconductor xv
Contents
17.3.3.2 Interrupt Priority Structure and Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-40
17.3.3.3 Interrupt Pending Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-43
18 Debugging
18.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2
18.2 TAP Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-4
18.3 Instruction Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5
18.4 Multi-Core JTAG and EOnCE Module Concept. . . . . . . . . . . . . . . . . . . . . . . . 18-8
18.4.1 Enabling the EOnCE Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9
18.4.2 DEBUG_REQUEST and ENABLE_EOnCE Commands . . . . . . . . . . . . . . 18-10
18.4.3 Reading/Writing EOnCE Registers Through JTAG. . . . . . . . . . . . . . . . . . . 18-10
18.5 Signalling a Debug Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-11
18.5.1 EE_CTRL Modifications for the MSC8112 . . . . . . . . . . . . . . . . . . . . . . . . . 18-12
18.5.2 Event Selector Register Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-13
18.5.3 EDCA1_CTRL Register Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-13
18.5.4 Real-Time Debug Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-14
18.5.5 Exiting Debug Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-15
18.5.6 Accessing EOnCE Registers Through JTAG in Real Time . . . . . . . . . . . . . 18-15
18.5.7 External Debug Exception Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-15
18.5.8 Generating a Debug Exception From an EDCA PC Detection Event . . . . . 18-16
18.6 Tracing in the MSC8112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-16
18.7 General JTAG Mode Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-17
18.8 JTAG and EOnCE Module Programming Model . . . . . . . . . . . . . . . . . . . . . . 18-18
18.8.1 Identification Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-18
18.8.2 Boundary Scan Register (BSR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-18
18.8.3 Shift Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-21
18.8.3.1 Bypass Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-21
18.8.3.2 Identification Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-21
18.8.3.3 General-Purpose Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-22
18.8.3.4 Parallel Input Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-22
19 Internal Peripheral Bus (IPBus)
19.1 TDM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1
19.2 UART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-2
19.3 Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-2
19.4 GPIOs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-2
19.5 Hardware Semaphore Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-2
19.6 Global Interrupt Controller (GIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-2
19.7 Direct Slave Interface (DSI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3
19.8 Ethernet Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3
19.9 IPBus Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-4
MSC8112 Reference Manual, Rev. 0
xvi Freescale Semiconductor
Contents
19.10 Stop Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-4
19.11 IPBus Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-5
20 TDM Interface
20.1 Typical Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-5
20.2 TDM Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-6
20.2.1 Common Signals for the TDM Modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-8
20.2.2 Receiver and Transmitter Independent or Shared Operation . . . . . . . . . . . . 20-10
20.2.3 TDM Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-13
20.2.4 Serial Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-15
20.2.4.1 Sync Out Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-15
20.2.4.2 Sync In Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-16
20.2.4.3 Serial Interface Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-18
20.2.4.4 Reverse Data Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-20
20.2.5 TDM Local Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-21
20.2.6 Buffers Mapped on the Local Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-22
20.2.6.1 Data Buffer Size and A/m-law Channels . . . . . . . . . . . . . . . . . . . . . . . . . . 20-22
20.2.6.2 Data Buffer Address. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-23
20.2.6.3 Threshold Pointers and Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-26
20.2.6.4 Unified Buffer Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-28
20.2.7 Adaptation Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-29
20.3 TDM Power Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-31
20.4 Channel Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-31
20.5 Loopback Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-32
20.6 TDM Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-33
20.7 TDM Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-34
20.7.1 Configuration Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-36
20.7.2 Control Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-53
20.7.3 Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-62
20.7.4 System Bus Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-69
21 UART
21.1 Transmitter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
21.1.1 Character Transmission. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7
21.1.2 Break Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-9
21.1.3 Idle Characters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10
21.1.4 Parity Bit Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10
21.2 Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-10
21.2.1 Character Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-11
21.2.2 Data Sampling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-12
21.2.3 Framing Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-17
MSC8112 Reference Manual, Rev. 0
Freescale Semiconductor xvii
Contents
21.2.4 Parity Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-18
21.2.5 Break Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-18
21.2.6 Baud-Rate Tolerance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-18
21.2.6.1 Slow Data Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-19
21.2.6.2 Fast Data Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-20
21.2.7 Receiver Wake-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-20
21.2.7.1 Idle Input Line Wake-Up (WAKE = 0) . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-21
21.2.7.2 Address Mark Wake-Up (WAKE = 1). . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-21
21.3 Reset Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-21
21.4 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-22
21.4.1 Run Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-22
21.4.2 Single-Wire Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-22
21.4.3 Loop Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-23
21.4.4 Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-23
21.4.5 Receiver Standby Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-23
21.5 Interrupt Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-24
21.6 UART Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-24
22 Timers
22.1 Timers Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-8
22.1.1 Configuration Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-9
22.1.2 Control Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-16
22.1.3 Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-17
23 GPIO
23.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-1
23.2 GPIO Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-2
23.3 Ethernet Functionality of GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-4
23.4 GPIO Connection Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-6
23.5 GPIO Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-9
24 I²C Software Module
24.1 i2c_txrx_bit Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-3
24.2 i2c_txrx_byte Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-5
24.3 i2c_read_SequentialData Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-7
24.4 i2c_sample_gpio Routine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-9
24.5 i2c_assert_start Routine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-10
24.6 i2c_assert_stop Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-11
24.7 i2c_WaitFor_StartCond_BusFreeTime Routine . . . . . . . . . . . . . . . . . . . . . . . 24-12
24.8 i2c_write_SequentialData Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-13
MSC8112 Reference Manual, Rev. 0
xviii Freescale Semiconductor
Contents
25 Ethernet Controller
25.1 Ethernet Basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-1
25.2 Media-Independent Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-5
25.3 MSC8112 Ethernet Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-5
25.4 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-6
25.4.1 MII Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-7
25.4.2 RMII Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-7
25.4.3 SMII Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-7
25.4.4 Special Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-8
25.4.4.1 Loopback Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-8
25.4.4.2 Echo Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-9
25.4.4.3 Low-Power Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-9
25.4.5 Management Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-9
25.5 External Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-10
25.6 Ethernet Controller Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-12
25.6.1 MII. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-13
25.6.1.1 MII Transmit Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-13
25.6.1.2 MII Receive Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-14
25.6.2 RMII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-14
25.6.2.1 RMII Transmit Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-15
25.6.2.2 RMII Receive Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-16
25.6.3 SMII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-16
25.6.3.1 SMII Transmit Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-17
25.6.3.2 SMII Receive Flow Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-19
25.7 MAC Control of CSMA/CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-21
25.7.1 Handling Packet Collisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-21
25.7.2 Controlling Packet Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-22
25.7.3 Controlling PHY Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-22
25.8 RMON Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-23
25.9 Frame Recognition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-23
25.9.1 Pattern Matching Recognition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-23
25.9.2 Destination Address Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-25
25.9.3 Hash Table Algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-27
25.10 Buffer Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-28
25.10.1 Data Buffer Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-28
25.10.2 Receive Frame Processing with Pattern Matching . . . . . . . . . . . . . . . . . . . . 25-30
25.10.3 Receive Pattern Matching Filing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-31
25.10.4 Filing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-35
25.10.5 Transmit Frame Processing with Insertion . . . . . . . . . . . . . . . . . . . . . . . . . . 25-36
25.11 Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-38
25.12 Interrupt Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-39
MSC8112 Reference Manual, Rev. 0
Freescale Semiconductor xix
Contents
25.13 Error-Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-41
25.14 Inter-Packet Gap Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-42
25.15 Connecting to Physical Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-42
25.16 Initialization and Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-46
25.17 Ethernet Controller Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-49
25.17.1 General Control and Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-53
25.17.2 FIFO Control and Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-62
25.17.3 Transmit Control and Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-69
25.17.4 Receive Control and Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-78
25.17.5 MAC Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-84
25.17.6 MII Management Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-92
25.17.7 MIIGSK Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-96
25.17.8 RMON Management Information Base (MIB). . . . . . . . . . . . . . . . . . . . . . 25-105
25.17.9 Hash Function Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-131
25.17.10 Pattern Matching Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-133
25.17.11 Data Structures (Buffer Descriptors). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-137
A Programming Reference
A.1 Register Addressing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
A.2 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-2
A.3 Programming Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-7
B MSC8112 Dictionary
C MSC8112 Boot Code
MSC8112 Reference Manual, Rev. 0
xx Freescale Semiconductor
Contents
/