ARM Subystem Reference Guide

TMS320DM335 Digital Media System-on-Chip
(DMSoC)
ARM Subsystem
User's Guide
Literature Number: SPRUFX7A
July 2008 – Revised July 2010
2
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Contents
......................................................................................................................................
Introduction ......................................................................................................................
1.1
Device Overview ...........................................................................................................
1.2
Block Diagram .............................................................................................................
1.3
ARM Subsystem in DM335 ..............................................................................................
ARM Subsystem Overview ..................................................................................................
2.1
Purpose of the ARM Subsystem ........................................................................................
2.2
Components of the ARM Subsystem ...................................................................................
2.3
References .................................................................................................................
ARM Core .........................................................................................................................
3.1
Introduction .................................................................................................................
3.2
Operating States/Modes ..................................................................................................
3.3
Processor Status Registers ..............................................................................................
3.4
Exceptions and Exception Vectors ......................................................................................
3.5
The 16-BIS/32-BIS Concept .............................................................................................
3.5.1 16-BIS/32-BIS Advantages ......................................................................................
3.6
Coprocessor 15 (CP15) ...................................................................................................
3.6.1 Addresses in an ARM926EJ-S System ........................................................................
3.6.2 Memory Management Unit ......................................................................................
3.6.3 Caches and Write Buffer ........................................................................................
3.7
Tightly Coupled Memory ..................................................................................................
3.8
Embedded Trace Support ................................................................................................
Memory Mapping ...............................................................................................................
4.1
Memory Map ...............................................................................................................
4.1.1 ARM Internal Memories ..........................................................................................
4.1.2 External Memories ...............................................................................................
4.1.3 Peripherals ........................................................................................................
4.2
Memory Interfaces Overview .............................................................................................
4.2.1 DDR2 EMIF .......................................................................................................
4.2.2 External Memory Interface ......................................................................................
Device Clocking ................................................................................................................
5.1
Overview ....................................................................................................................
5.2
Peripheral Clocking Considerations .....................................................................................
5.2.1 Video Processing Back End Clocking .........................................................................
5.2.2 USB Clocking .....................................................................................................
PLL Controllers (PLLCs) .....................................................................................................
6.1
PLL Controller Module ....................................................................................................
6.2
PLLC1 .......................................................................................................................
6.3
PLLC2 .......................................................................................................................
6.4
PLLC Functional Description .............................................................................................
6.4.1 Multipliers and Dividers ..........................................................................................
6.4.2 Bypass Mode ......................................................................................................
6.4.3 PLL Mode ..........................................................................................................
6.5
PLL Configuration .........................................................................................................
Preface
15
1
19
2
3
4
5
6
SPRUFX7A – July 2008 – Revised July 2010
Contents
Copyright © 2008–2010, Texas Instruments Incorporated
19
19
20
21
21
21
22
23
23
24
24
25
25
25
26
26
27
27
29
30
31
31
32
32
32
35
35
35
37
37
39
39
39
41
41
42
43
44
44
44
44
45
3
www.ti.com
6.6
7
Power and Sleep Controller
7.1
7.2
7.3
7.4
7.5
7.6
7.7
4
6.5.1 PLL Mode and Bypass Mode ...................................................................................
6.5.2 Changing Divider / Multiplier Ratios ............................................................................
6.5.3 PLL Power Down and Wakeup .................................................................................
PLL Controller Register Map .............................................................................................
6.6.1 Introduction ........................................................................................................
6.6.2 Peripheral ID Register (PID) ....................................................................................
6.6.3 PLL Control (PLLCTL) ...........................................................................................
6.6.4 PLL Multiplier Control Register (PLLM) ........................................................................
6.6.5 PLL Pre-Divider Control Register (PREDIV) ..................................................................
6.6.6 PLL Controller Divider 1 Register (PLLDIV1) .................................................................
6.6.7 PLL Controller Divider 2 Register (PLLDIV2) .................................................................
6.6.8 PLL Controller Divider 3 Register (PLLDIV3) .................................................................
6.6.9 PLL Post-Divider Control Register (POSTDIV) ...............................................................
6.6.10 Bypass Divider Register (BPDIV) .............................................................................
6.6.11 PLL Controller Command Register (PLLCMD) ..............................................................
6.6.12 PLL Controller Status Register (PLLSTAT) ..................................................................
6.6.13 PLL Controller Clock Align Control Register (ALNCTL) ....................................................
6.6.14 PLLDIV Ratio Change Status Register (DCHANGE) .......................................................
6.6.15 Clock Enable Control Register (CKEN) ......................................................................
6.6.16 Clock Status Register (CKSTAT) ..............................................................................
6.6.17 SYSCLK Status Register (SYSTAT) ..........................................................................
6.6.18 PLL Controller Divider 4 Register (PLLDIV4) ................................................................
45
45
47
47
47
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
................................................................................................ 67
Introduction .................................................................................................................
Power Domain and Module Topology ..................................................................................
Power Domain and Module States Defined ............................................................................
7.3.1 Power Domain States ............................................................................................
7.3.2 Module States .....................................................................................................
Executing State Transitions ..............................................................................................
7.4.1 Power Domain State Transitions ...............................................................................
7.4.2 Module State Transitions ........................................................................................
IcePick Emulation Support in the PSC .................................................................................
PSC Interrupts .............................................................................................................
7.6.1 Interrupt Events ...................................................................................................
7.6.2 Interrupt Registers ................................................................................................
7.6.3 Interrupt Handling ................................................................................................
PSC Registers .............................................................................................................
7.7.1 Peripheral Revision and Class Information (PID) ............................................................
7.7.2 Interrupt Evaluation Register (INTEVAL) ......................................................................
7.7.3 Module Error Pending Register 0 (mod 0 - 31) (MERRPR0) ...............................................
7.7.4 Module Error Pending Register 1 (mod 32-41) (MERRPR1) ...............................................
7.7.5 Module Error Clear Register 0 (mod 0-31) (MERRCR0) ....................................................
7.7.6 Module Error Clear Register 1 (mod 32-41) (MERRCR1) ..................................................
7.7.7 Power Error Pending Register (PERRPR) ....................................................................
7.7.8 Power Error Clear Register (PERRCR) .......................................................................
7.7.9 External Power Control Pending Register (EPCPR) .........................................................
7.7.10 External Power Control Clear Register (EPCCR) ...........................................................
7.7.11 Power Domain Transition Command Register (PTCMD) ..................................................
7.7.12 Power Domain Transition Status Register (PTSTAT) ......................................................
7.7.13 Power Domain Status Register 0 (PDSTATn) ...............................................................
7.7.14 Power Domain Control n Register 0 (PDCTLn) .............................................................
7.7.15 Module Status n Register 0-32 (MDSTATn) .................................................................
7.7.16 Module Control n Register 0-51 (MDCTLn) ..................................................................
Contents
67
67
70
70
70
71
71
71
71
72
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
www.ti.com
8
9
............................................................................................................ 93
8.1
Introduction ................................................................................................................. 93
8.2
Interrupt Mapping .......................................................................................................... 93
8.3
INTC Methodology ........................................................................................................ 94
8.3.1 Interrupt Mapping ................................................................................................. 95
8.3.2 Interrupt Prioritization ............................................................................................ 95
8.3.3 Vector Table Entry Address Generation ....................................................................... 96
8.3.4 Clearing Interrupts ................................................................................................ 96
8.3.5 Enabling and Disabling Interrupts .............................................................................. 97
8.4
INTC Registers ............................................................................................................ 98
8.4.1 Fast Interrupt Request Status Register 0 (FIQ0) ............................................................. 99
8.4.2 Fast Interrupt Request Status Register 1 (FIQ1) ........................................................... 100
8.4.3 Interrupt Request Status Register 0 (IRQ0) ................................................................. 101
8.4.4 Interrupt Request Status Register 1 (IRQ1) ................................................................. 102
8.4.5 Fast Interrupt Request Entry Address Register (FIQENTRY) ............................................. 103
8.4.6 Interrupt Request Entry Address Register (IRQENTRY) .................................................. 104
8.4.7 Interrupt Enable Register 0 (EINT0) .......................................................................... 105
8.4.8 Interrupt Enable Register 1 (EINT1) .......................................................................... 106
8.4.9 Interrupt Operation Control Register (INTCTL) ............................................................. 107
8.4.10 EABASE ......................................................................................................... 108
8.4.11 Interrupt Priority Register 0 (INTPRI0) ...................................................................... 109
8.4.12 Interrupt Priority Register 1 (INTPRI1) ...................................................................... 110
8.4.13 Interrupt Priority Register 2 (INTPRI2) ...................................................................... 111
8.4.14 Interrupt Priority Register 3 (INTPRI3) ...................................................................... 112
8.4.15 Interrupt Priority Register 4 (INTPRI4) ...................................................................... 113
8.4.16 Interrupt Priority Register 5 (INTPRI5) ...................................................................... 114
8.4.17 Interrupt Priority Register 6 (INTPRI6) ...................................................................... 115
8.4.18 Interrupt Priority Register 7 (INTPRI7) ...................................................................... 116
System Control Module .................................................................................................... 117
9.1
Overview of the System Control Module .............................................................................. 117
9.2
Device Identification ..................................................................................................... 117
9.3
Device Configuration .................................................................................................... 117
9.3.1 Pin Multiplexing Control ........................................................................................ 117
9.3.2 Device Boot Configuration Status ............................................................................. 118
9.4
ARM Interrupt and EDMA Event Multiplexing Control .............................................................. 118
9.5
Special Peripheral Status and Control ................................................................................ 118
9.5.1 Timer64+ Control ............................................................................................... 118
9.5.2 USB PHY Control ............................................................................................... 119
9.5.3 VPSS Clock and DAC Control and Status ................................................................... 119
9.5.4 DDR I/O Timing Control and Status .......................................................................... 119
9.6
Clock Out Configuration Status ........................................................................................ 119
9.7
GIO De-Bounce Control ................................................................................................. 119
9.8
Power Management ..................................................................................................... 119
9.8.1 Deep Sleep Control ............................................................................................. 119
9.9
Bandwidth Management ................................................................................................ 120
9.9.1 Bus Master DMA Priority Control ............................................................................. 120
9.10 System Control Register Descriptions ................................................................................ 122
9.10.1 Introduction ..................................................................................................... 122
9.10.2 PINMUX0 - Pin Mux 0 (Video In) Pin Mux Register ....................................................... 123
9.10.3 PINMUX1 - Pin Mux 1 (Video Out) Pin Mux Register ..................................................... 125
9.10.4 PINMUX2 - Pin Mux 2 (AEMIF) Pin Mux Register ........................................................ 127
9.10.5 PINMUX3 - Pin Mux 3 (GIO/Misc) Pin Mux Register ..................................................... 129
9.10.6 PINMUX4 - Pin Mux 4 (Misc) Pin Mux Register ........................................................... 131
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Contents
Copyright © 2008–2010, Texas Instruments Incorporated
5
www.ti.com
9.10.7
9.10.8
9.10.9
9.10.10
9.10.11
9.10.12
9.10.13
9.10.14
9.10.15
9.10.16
9.10.17
9.10.18
9.10.19
9.10.20
9.10.21
9.10.22
10
.............................................................................................................................. 149
10.1
10.2
10.3
Reset Overview ..........................................................................................................
Reset Pins ................................................................................................................
Types of Reset ...........................................................................................................
10.3.1 Power-On Reset (POR) .......................................................................................
10.3.2 Warm Reset ....................................................................................................
10.3.3 Max Reset ......................................................................................................
10.3.4 System Reset ...................................................................................................
10.3.5 Module Reset ...................................................................................................
Default Device Configurations ..........................................................................................
10.4.1 Device Configuration Pins ....................................................................................
10.4.2 PLL Configuration ..............................................................................................
10.4.3 Module Configuration ..........................................................................................
10.4.4 ARM Boot Mode Configuration ...............................................................................
10.4.5 AEMIF Configuration ..........................................................................................
Boot Modes
11.1
11.2
12
12.4
12.5
12.6
149
149
150
150
150
151
151
151
151
151
152
152
152
153
..................................................................................................................... 155
Boot Modes Overview ...................................................................................................
11.1.1 Features .........................................................................................................
11.1.2 Functional Block Diagram .....................................................................................
ARM ROM Boot Mode ..................................................................................................
11.2.1 SPI Boot Mode .................................................................................................
11.2.2 NAND Boot Mode ..............................................................................................
11.2.3 MMC/SD Boot Mode ...........................................................................................
11.2.4 UART Boot Mode ..............................................................................................
Power Management
12.1
12.2
12.3
6
132
133
134
135
136
137
138
139
140
142
142
142
144
145
145
147
Reset
10.4
11
BOOTCFG - Boot Configuration .............................................................................
ARM_INTMUX - ARM Interrupt Mux Control Register ....................................................
EDMA_EVTMUX - EDMA Event Mux Control Register ...................................................
DDR_SLEW - DDR Slew ....................................................................................
CLKOUT - CLKOUT Divisor / Output Control ............................................................
DEVICE_ID - Device ID .....................................................................................
VDAC_CONFIG - Video Dac Configuration ...............................................................
TIMER64_CTL - Timer64+ Input Control ..................................................................
USB_PHY_CTRL - USB PHY Control .....................................................................
MISC - Miscellaneous Control ..............................................................................
MSTPRI0 - Master Priorities 0 ..............................................................................
Master Priorities 1 (MSTPRI1) Register ...................................................................
VPSS_CLK_CTRL - VPSS Clock Mux Control ...........................................................
Deep Sleep Mode Configuration (DEEPSLEEP) Register ..............................................
DEBOUNCE[8] - De-bounce for GIO[n] Input ............................................................
VTPIOCR - VTP IO Control Register ......................................................................
155
155
157
157
158
159
170
175
.......................................................................................................... 179
Overview ..................................................................................................................
PSC and PLLC Overview ...............................................................................................
Clock Management ......................................................................................................
12.3.1 Module Clock Disable .........................................................................................
12.3.2 Module Clock Frequency Scaling ............................................................................
12.3.3 PLL Bypass and Power Down ...............................................................................
ARM Sleep Mode Management ........................................................................................
12.4.1 ARM Wait-For-Interrupt Sleep Mode ........................................................................
System Sleep Modes ....................................................................................................
12.5.1 Deep Sleep Mode ..............................................................................................
I/O Management .........................................................................................................
12.6.1 USB Phy Power Down ........................................................................................
Contents
179
179
180
180
180
180
180
180
181
181
181
181
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
www.ti.com
12.6.2 Video DAC Power Down ...................................................................................... 182
12.6.3 DDR Self-Refresh and Power Down ........................................................................ 182
A
Revision History
.............................................................................................................. 183
SPRUFX7A – July 2008 – Revised July 2010
Contents
Copyright © 2008–2010, Texas Instruments Incorporated
7
www.ti.com
List of Figures
1-1.
Functional Block Diagram ................................................................................................ 20
2-1.
ARM Subsystem Block Diagram
5-1.
6-1.
6-2.
6-3.
6-4.
6-5.
6-6.
6-7.
6-8.
6-9.
6-10.
6-11.
6-12.
6-13.
6-14.
6-15.
6-16.
6-17.
6-18.
6-19.
6-20.
7-1.
7-2.
7-3.
7-4.
7-5.
7-6.
7-7.
7-8.
7-9.
7-10.
7-11.
7-12.
7-13.
7-14.
7-15.
7-16.
7-17.
7-18.
8-1.
8-2.
8-3.
8-4.
8-5.
8-6.
8
........................................................................................
Clocking Architecture .....................................................................................................
PLLC1 Configuration ......................................................................................................
PLLC2 Configuration ......................................................................................................
Clock Ratio Change and Alignment with Go Operation ..............................................................
Peripheral ID Register (PID) .............................................................................................
PLL Control Register (PLLCTL) .........................................................................................
PLL Multiplier Control Register (PLLM).................................................................................
PLL Pre-Divider Control Register (PREDIV) ...........................................................................
PLL Controller Divider 1 Register (PLLDIV1) ..........................................................................
PLL Controller Divider 2 Register (PLLDIV2) ..........................................................................
PLL Controller Divider 3 Register (PLLDIV3) ..........................................................................
PLL Post-Divider Control Register (POSTDIV) ........................................................................
Bypass Divider Register (BPDIV) .......................................................................................
PLL Controller Command Register (PLLCMD) ........................................................................
PLL Controller Status Register (PLLSTAT) ............................................................................
PLL Controller Clock Align Control Register (ALNCTL) ..............................................................
PLLDIV Ratio Change Status (DCHANGE) ............................................................................
Clock Enable Control Register (CKEN).................................................................................
Clock Status Register (CKSTAT) ........................................................................................
SYSCLK Status Register (SYSTAT) ....................................................................................
PLL Controller Divider 4 Register (PLLDIV4) ..........................................................................
Power and Sleep Controller (PSC) ......................................................................................
Power Domain and Module Topology ..................................................................................
Peripheral Revision and Class Information Register (PID) ..........................................................
Interrupt Evaluation Register (INTEVAL) ...............................................................................
Module Error Pending Register 0 (mod 0 - 31) (MERRPR0) ........................................................
Module Error Pending Register 1 (mod 32-41) (MERRPR1) ........................................................
Module Error Clear Register 0 (mod 0-31) (MERRCR0) .............................................................
Module Error Clear Register 1 (mod 32-41) (MERRCR1) ...........................................................
Power Error Pending Register (PERRPR) .............................................................................
Power Error Clear Register (PERRCR) ................................................................................
External Power Control Pending Register (EPCPR) ..................................................................
External Power Control Clear Register (EPCCR) .....................................................................
Power Domain Transition Command Register (PTCMD) ............................................................
Power Domain Transition Status Register (PTSTAT) ................................................................
Power Domain Status n Register (PDSTATn) .........................................................................
Power Domain Control n Register (PDCTLn)..........................................................................
Module Status n Register (MDSTATn) .................................................................................
Module Control n Register 0-41 (MDCTLn) ............................................................................
AINTC Functional Diagram ..............................................................................................
Interrupt Entry Table .....................................................................................................
Immediate Interrupt Disable / Enable ...................................................................................
Delayed Interrupt Disable ................................................................................................
Interrupt Status of INT[31:0] (if mapped to FIQ) .......................................................................
Interrupt Status of INT[63:32] (if mapped to FIQ) ....................................................................
List of Figures
22
38
43
44
46
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
67
68
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
95
96
97
97
99
100
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
www.ti.com
8-7.
Interrupt Status of INT[31:0] (if mapped to IRQ) ..................................................................... 101
8-8.
Interrupt Status of INT[31:0] (if mapped to IRQ) ..................................................................... 102
8-9.
Fast Interrupt Request Entry Address Register (FIQENTRY)...................................................... 103
8-10.
Interrupt Request Entry Address Register (IRQENTRY)
8-11.
8-12.
8-13.
8-14.
8-15.
8-16.
8-17.
8-18.
8-19.
8-20.
8-21.
8-22.
9-1.
9-2.
9-3.
9-4.
9-5.
9-6.
9-7.
9-8.
9-9.
9-10.
9-11.
9-12.
9-13.
9-14.
9-15.
9-16.
9-17.
9-18.
9-19.
9-20.
9-21.
11-1.
11-2.
11-3.
11-4.
11-5.
11-6.
11-7.
11-8.
11-9.
11-10.
11-11.
11-12.
...........................................................
Interrupt Enable Register 0 (EINT0) ...................................................................................
Interrupt Enable Register 1 (EINT1) ...................................................................................
Interrupt Operation Control Register (INTCTL) ......................................................................
EABASE ...................................................................................................................
Interrupt Priority Register 0 (INTPRI0) ................................................................................
Interrupt Priority Register 1 (INTPRI1) ................................................................................
Interrupt Priority Register 2 (INTPRI2) ................................................................................
Interrupt Priority Register 3 (INTPRI3) ................................................................................
Interrupt Priority Register 4 (INTPRI4) ................................................................................
Interrupt Priority Register 5 (INTPRI5) ................................................................................
Interrupt Priority Register 6 (INTPRI6) ................................................................................
Interrupt Priority Register 7 (INTPRI7) ................................................................................
PINMUX0 - Pin Mux 0 (Video In) Pin Mux Register .................................................................
PINMUX1 - Pin Mux 1 (Video Out) Pin Mux Register ...............................................................
PINMUX2 - Pin Mux 2 (AEMIF) Pin Mux Register...................................................................
PINMUX3 - Pin Mux 3 (GIO/Misc) Pin Mux Register................................................................
PINMUX4 - Pin Mux 4 (Misc) Pin Mux Register .....................................................................
BOOTCFG - Boot Configuration .......................................................................................
ARM_INTMUX - ARM Interrupt Mux Control Register ..............................................................
EDMA_EVTMUX - EDMA Event Mux Control Register .............................................................
DDR_SLEW - DDR Slew ...............................................................................................
CLKOUT - CLKOUT div/out Control ...................................................................................
DEVICE_ID - Device ID .................................................................................................
VDAC_CONFIG - Video Dac Configuration ..........................................................................
TIMER64_CTL - Timer64+ Input Control ............................................................................
USB_PHY_CTRL - USB PHY Control ................................................................................
MISC - Miscellaneous Control ..........................................................................................
MSTPRI0 - Master Priorities 0 .........................................................................................
Master Priorities 1(MSTPRI1) Register ...............................................................................
VPSS_CLK_CTRL - VPSS Clock Mux Control .....................................................................
Deep Sleep Mode Configuration (DEEPSLEEP) Register .........................................................
DEBOUNCE[8] - De-bounce for GIO[n] Input ........................................................................
VTP IO Control Register (VTPIOCR) ..................................................................................
Boot Modes Overview ...................................................................................................
Boot Mode Functional Block Diagram .................................................................................
SPI Boot Overview .......................................................................................................
NAND Boot Flow .........................................................................................................
4-Bit ECC Format and Bit 10 to 8-Bit Compression Algorithm .....................................................
4-Bit ECC Format for 2048+64 Byte Page Size (in Compatibility Mode) .........................................
NAND Boot Mode Code Flow ..........................................................................................
NAND Boot Mode Flow Chart ..........................................................................................
ARM NAND ROM Boot Loader Example .............................................................................
Descriptor Search for ARM NAND Boot Mode .......................................................................
MMC/SD Boot Mode Overview.........................................................................................
MMC/SD Boot Mode Flow Chart .......................................................................................
SPRUFX7A – July 2008 – Revised July 2010
List of Figures
Copyright © 2008–2010, Texas Instruments Incorporated
104
105
106
107
108
109
110
111
112
113
114
115
116
123
125
127
129
131
132
133
134
135
136
137
138
139
140
142
142
143
144
145
146
147
156
157
158
160
162
163
164
167
168
169
171
173
9
www.ti.com
11-13. ARM MMC/SD ROM Boot Loader Example .......................................................................... 174
11-14. Descriptor Search for ARM MMC/SD Boot Mode
...................................................................
175
11-15. UART Boot Mode Handshake .......................................................................................... 176
11-16. Host Utility Timing ........................................................................................................ 178
10
List of Figures
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
www.ti.com
List of Tables
3-1.
Exception Vector Table for ARM ........................................................................................ 25
3-2.
Different Address Types in ARM System
3-3.
3-4.
3-5.
4-1.
4-2.
6-1.
6-2.
6-3.
6-4.
6-5.
6-6.
6-7.
6-8.
6-9.
6-10.
6-11.
6-12.
6-13.
6-14.
6-15.
6-16.
6-17.
6-18.
6-19.
6-20.
6-21.
7-1.
7-2.
7-3.
7-4.
7-5.
7-6.
7-7.
7-8.
7-9.
7-10.
7-11.
7-12.
7-13.
7-14.
7-15.
7-16.
7-17.
7-18.
7-19.
..............................................................................
ITCM/DTCM Memory Map ...............................................................................................
ITCM/DTCM Size Encoding ..............................................................................................
ETM Part Descriptions ....................................................................................................
Memory Map ...............................................................................................................
ARM Configuration Bus Access to Peripherals ........................................................................
PLLC1 Output Clocks .....................................................................................................
PLLC2 Output Clocks .....................................................................................................
PLL and Reset Controller Module Instance Table ....................................................................
PLLC Registers ............................................................................................................
Peripheral ID Register (PID) Field Descriptions .......................................................................
PLL Control Register (PLLCTL) Field Descriptions ...................................................................
PLL Multiplier Control Register (PLLM) Field Descriptions ..........................................................
PLL Pre-Divider Control (PREDIV) Field Descriptions ...............................................................
PLL Controller Divider 1 Register (PLLDIV1) Field Descriptions....................................................
PLL Controller Divider 2 Register (PLLDIV2) Field Descriptions....................................................
PLL Controller Divider 3 Register (PLLDIV3) Field Descriptions....................................................
PLL Post-Divider Control (POSTDIV) Field Descriptions ............................................................
Bypass Divider Register (BPDIV) Field Descriptions .................................................................
PLL Controller Command Register (PLLCMD) Field Descriptions ..................................................
PLL Controller Status (PLLSTAT) Field Descriptions.................................................................
PLL Controller Clock Align Control (ALNCTL) Field Descriptions...................................................
PLLDIV Ratio Change Status (DCHANGE) Field Descriptions .....................................................
Clock Enable Control Register (CKEN) Field Descriptions ..........................................................
Clock Status Register (CKSTAT) Field Descriptions .................................................................
SYSCLK Status Register (SYSTAT) Field Descriptions ..............................................................
PLL Controller Divider 4 Register (PLLDIV4) Field Descriptions....................................................
Module Configuration .....................................................................................................
Module States ..............................................................................................................
IcePick Emulation Commands ...........................................................................................
PSC Interrupt Events .....................................................................................................
PSC Registers .............................................................................................................
Peripheral Revision and Class Information Register (PID) Field Descriptions ....................................
Interrupt Evaluation Register (INTEVAL) Field Descriptions ........................................................
Module Error Pending Register 0 (mod 0 - 31) (MERRPR0) Field Descriptions ..................................
Module Error Pending Register 1 (mod 32-41) (MERRPR1) Field Descriptions ..................................
Module Error Clear Register 0 (mod 0-31) (MERRCR0) Field Descriptions.......................................
Module Error Clear Register 1 (mod 32-41) (MERRCR1) Field Descriptions .....................................
Power Error Pending Register (PERRPR) Field Descriptions .......................................................
Power Error Clear Register (PERRCR) Field Descriptions ..........................................................
External Power Control Pending Register (EPCPR) Field Descriptions ...........................................
External Power Control Clear Register (EPCCR) Field Descriptions ...............................................
Power Domain Transition Command Register (PTCMD) Field Descriptions ......................................
Power Domain Transition Status Register (PTSTAT) Field Descriptions ..........................................
Power Domain Status n Register (PDSTATn) Field Descriptions...................................................
Power Domain Control n Register (PDCTLn) Field Descriptions ...................................................
SPRUFX7A – July 2008 – Revised July 2010
List of Tables
Copyright © 2008–2010, Texas Instruments Incorporated
26
29
30
30
31
33
42
43
47
47
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
69
70
71
72
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
11
www.ti.com
7-20.
Module Status n Register 0-32 (MDSTATn) Field Descriptions ..................................................... 90
7-21.
Module Control n Register 0-51 (MDCTLn) Field Descriptions...................................................... 91
8-1.
AINTC Interrupt Connections ............................................................................................ 93
8-2.
Interrupt Controller (INTC) Registers ................................................................................... 98
8-3.
Interrupt Status of INT[31:0] (if mapped to FIQ) Field Descriptions ................................................ 99
8-4.
Interrupt Status of INT[63:32] (if mapped to FIQ) Field Descriptions ............................................. 100
8-5.
Interrupt Status of INT[31:0] (if mapped to IRQ) Field Descriptions............................................... 101
8-6.
Interrupt Status of INT[31:0] (if mapped to IRQ) Field Descriptions............................................... 102
8-7.
Fast Interrupt Request Entry Address Register (FIQENTRY) Field Descriptions ............................... 103
8-8.
Interrupt Request Entry Address Register (IRQENTRY) Field Descriptions ..................................... 104
8-9.
Interrupt Enable Register 0 (EINT0) Field Descriptions
8-10.
8-11.
8-12.
8-13.
8-14.
8-15.
8-16.
8-17.
8-18.
8-19.
8-20.
9-1.
9-2.
9-3.
9-4.
9-5.
9-6.
9-7.
9-8.
9-9.
9-10.
9-11.
9-12.
9-13.
9-14.
9-15.
9-16.
9-17.
9-18.
9-19.
9-20.
9-21.
9-22.
9-23.
9-24.
10-1.
10-2.
10-3.
12
............................................................
Interrupt Enable Register 1 (EINT1) Field Descriptions ............................................................
Interrupt Operation Control Register (INTCTL) Field Descriptions ................................................
EABASE Field Descriptions ............................................................................................
Interrupt Priority Register 0 (INTPRI0) Field Descriptions ..........................................................
Interrupt Priority Register 1 (INTPRI1) Field Descriptions ..........................................................
Interrupt Priority Register 2 (INTPRI2) Field Descriptions ..........................................................
Interrupt Priority Register 3 (INTPRI3) Field Descriptions ..........................................................
Interrupt Priority Register 4 (INTPRI4) Field Descriptions ..........................................................
Interrupt Priority Register 5 (INTPRI5) Field Descriptions ..........................................................
Interrupt Priority Register 6 (INTPRI6) Field Descriptions ..........................................................
Interrupt Priority Register 7 (INTPRI7) Field Descriptions ..........................................................
Master IDs ................................................................................................................
Default Master Priorities.................................................................................................
System Module (SYS) Registers .......................................................................................
PINMUX0 - Pin Mux 0 (Video In) Pin Mux Register Field Descriptions ..........................................
PINMUX1 - Pin Mux 1 (Video Out) Pin Mux Register Field Descriptions ........................................
PINMUX2 - Pin Mux 2 (AEMIF) Pin Mux Register Field Descriptions ............................................
PINMUX3 - Pin Mux 3 (GIO/Misc) Pin Mux Register Field Descriptions .........................................
PINMUX4 - Pin Mux 4 (Misc) Pin Mux Register Field Descriptions ...............................................
BOOTCFG - Boot Configuration Field Descriptions .................................................................
ARM_INTMUX - ARM Interrupt Mux Control Register Field Descriptions ........................................
EDMA_EVTMUX - EDMA Event Mux Control Register Field Descriptions ......................................
DDR_SLEW - DDR Slew Field Descriptions .........................................................................
CLKOUT - CLKOUT div/out Control Field Descriptions ............................................................
DEVICE_ID - Device ID Field Descriptions ...........................................................................
VDAC_CONFIG - Video Dac Configuration Field Descriptions ....................................................
TIMER64_CTL - Timer64+ Input Control Field Descriptions .......................................................
USB_PHY_CTRL - USB PHY Control Field Descriptions ..........................................................
MISC - Miscellaneous Control Field Descriptions ...................................................................
MSTPRI0 - Master Priorities 0 Field Descriptions ...................................................................
Master Priorities 1 (MSTPRI1) Register Field Descriptions ........................................................
VPSS_CLK_CTRL - VPSS Clock Mux Control Field Descriptions ................................................
Deep Sleep Mode Configuration (DEEPSLEEP) Register Field Descriptions ...................................
DEBOUNCE[8] - De-bounce for GIO[n] Input Field Descriptions ..................................................
VTPIOCR - VTP IO Control Field Descriptions ......................................................................
Reset Types ..............................................................................................................
Reset Pins ................................................................................................................
Device Configuration ....................................................................................................
List of Tables
105
106
107
108
109
110
111
112
113
114
115
116
120
121
122
123
125
127
129
131
132
133
134
135
136
137
138
139
140
142
142
143
144
145
146
147
149
149
152
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
www.ti.com
11-1.
User Bootloader (UBL) Descriptor for SPI Mode .................................................................... 159
11-2.
NAND Layout (Compatibility Mode) ................................................................................... 159
11-3.
NAND Layout (Standard Mode) ........................................................................................ 159
11-4.
NAND UBL Descriptor ................................................................................................... 161
11-5.
UBL Signatures and Special Modes ................................................................................... 161
11-6.
NAND Parameters ....................................................................................................... 165
11-7.
NAND Devices in NAND Device ID Table ............................................................................ 169
11-8.
MMC/SD UBL Descriptor
172
11-9.
MMC/SD
172
11-10.
11-11.
11-12.
12-1.
A-1.
...............................................................................................
..................................................................................................................
UART Data Sequences .................................................................................................
Host Utility Data Format .................................................................................................
CRC32 Table Transfer ..................................................................................................
Power Management Features ..........................................................................................
Revision History ..........................................................................................................
SPRUFX7A – July 2008 – Revised July 2010
List of Tables
Copyright © 2008–2010, Texas Instruments Incorporated
177
178
178
179
183
13
14
List of Tables
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Preface
SPRUFX7A – July 2008 – Revised July 2010
Read This First
About This Manual
This document describes the operation of the ARM subsystem in the TMS320DM335 Digital Media
System-on-Chip (DMSoC).
Notational Conventions
This document uses the following conventions.
• Hexadecimal numbers are shown with the suffix h. For example, the following number is 40
hexadecimal (decimal 64): 40h.
• Registers in this document are shown in figures and described in tables.
– Each register figure shows a rectangle divided into fields that represent the fields of the register.
Each field is labeled with its bit name, its beginning and ending bit numbers above, and its
read/write properties below. A legend explains the notation used for the properties.
– Reserved bits in a register figure designate a bit that is used for future device expansion.
Related Documentation From Texas Instruments
The following documents describe the TMS320DM335 Digital Media System-on-Chip (DMSoC). Copies of
these documents are available on the internet at www.ti.com.
SPRUFX7 — TMS320DM335 Digital Media System-on-Chip (DMSoC) ARM Subsystem Reference
Guide This document describes the ARM Subsystem in the TMS320DM335 Digital Media
System-on-Chip (DMSoC). The ARM subsystem is designed to give the ARM926EJ-S (ARM9)
master control of the device. In general, the ARM is responsible for configuration and control of the
device; including the components of the ARM Subsystem, the peripherals, and the external
memories.
SPRUFX8 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Video Processing Front End
(VPFE) Reference Guide This document describes the Video Processing Front End (VPFE) in the
TMS320DM335 Digital Media System-on-Chip (DMSoC).
SPRUFX9 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Video Processing Back End
(VPBE) Reference Guide This document describes the Video Processing Back End (VPBE) in the
TMS320DM335 Digital Media System-on-Chip (DMSoC).
SPRUFY0 — TMS320DM335 Digital Media System-on-Chip (DMSoC) 64-bit Timer Reference Guide
This document describes the operation of the software-programmable 64-bit timers in the
TMS320DM335 Digital Media System-on-Chip (DMSoC). Timer 0, Timer 1, and Timer 3 are used
as general-purpose (GP) timers and can be programmed in 64-bit mode, dual 32-bit unchained
mode, or dual 32-bit chained mode; Timer 2 is used only as a watchdog timer. The GP timer modes
can be used to generate periodic interrupts or enhanced direct memory access (EDMA)
synchronization events and Real Time Output (RTO) events (Timer 3 only). The watchdog timer
mode is used to provide a recovery mechanism for the device in the event of a fault condition, such
as a non-exiting code loop.
SPRUFX7A – July 2008 – Revised July 2010
Read This First
Copyright © 2008–2010, Texas Instruments Incorporated
15
Related Documentation From Texas Instruments
www.ti.com
SPRUFY1 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Serial Peripheral Interface
(SPI) Reference Guide This document describes the serial peripheral interface (SPI) in the
TMS320DM335 Digital Media System-on-Chip (DMSoC). The SPI is a high-speed synchronous
serial input/output port that allows a serial bit stream of programmed length (1 to 16 bits) to be
shifted into and out of the device at a programmed bit-transfer rate. The SPI is normally used for
communication between the DMSoC and external peripherals. Typical applications include an
interface to external I/O or peripheral expansion via devices such as shift registers, display drivers,
SPI EPROMs and analog-to-digital converters.
SPRUFY2 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Universal Asynchronous
Receiver/Transmitter (UART) Reference Guide This document describes the universal
asynchronous receiver/transmitter (UART) peripheral in the TMS320DM335 Digital Media
System-on-Chip (DMSoC). The UART peripheral performs serial-to-parallel conversion on data
received from a peripheral device, and parallel-to-serial conversion on data received from the CPU.
SPRUFY3 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Inter-Integrated Circuit (I2C)
Peripheral Reference Guide This document describes the inter-integrated circuit (I2C) peripheral
in the TMS320DM335 Digital Media System-on-Chip (DMSoC). The I2C peripheral provides an
interface between the DMSoC and other devices compliant with the I2C-bus specification and
connected by way of an I2C-bus. External components attached to this 2-wire serial bus can
transmit and receive up to 8-bit wide data to and from the DMSoC through the I2C peripheral. This
document assumes the reader is familiar with the I2C-bus specification.
SPRUFY5 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Multimedia Card (MMC)/Secure
Digital (SD) Card Controller Reference Guide This document describes the multimedia card
(MMC)/secure digital (SD) card controller in the TMS320DM335 Digital Media System-on-Chip
(DMSoC). The MMC/SD card is used in a number of applications to provide removable data
storage. The MMC/SD controller provides an interface to external MMC and SD cards. The
communication between the MMC/SD controller and MMC/SD card(s) is performed by the MMC/SD
protocol.
SPRUFY6 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Pulse-Width Modulator (PWM)
Reference Guide This document describes the pulse-width modulator (PWM) peripheral in the
TMS320DM335 Digital Media System-on-Chip (DMSoC).
SPRUFY7 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Real-Time Out (RTO)
Controller Reference Guide This document describes the Real Time Out (RTO) controller in the
TMS320DM335 Digital Media System-on-Chip (DMSoC).
SPRUFY8 — TMS320DM335 Digital Media System-on-Chip (DMSoC) General-Purpose Input/Output
(GPIO) Reference Guide This document describes the general-purpose input/output (GPIO)
peripheral in the TMS320DM335 Digital Media System-on-Chip (DMSoC). The GPIO peripheral
provides dedicated general-purpose pins that can be configured as either inputs or outputs. When
configured as an input, you can detect the state of the input by reading the state of an internal
register. When configured as an output, you can write to an internal register to control the state
driven on the output pin.
SPRUFY9 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Universal Serial Bus (USB)
Controller Reference Guide This document describes the universal serial bus (USB) controller in
the TMS320DM335 Digital Media System-on-Chip (DMSoC). The USB controller supports data
throughput rates up to 480 Mbps. It provides a mechanism for data transfer between USB devices
and also supports host negotiation.
SPRUFZ0 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Enhanced Direct Memory
Access (EDMA) Controller Reference Guide This document describes the operation of the
enhanced direct memory access (EDMA3) controller in the TMS320DM335 Digital Media
System-on-Chip (DMSoC). The EDMA controller's primary purpose is to service user-programmed
data transfers between two memory-mapped slave endpoints on the DMSoC.
16
Read This First
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
www.ti.com
Related Documentation From Texas Instruments
SPRUFZ1 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Asynchronous External
Memory Interface (EMIF) Reference Guide This document describes the asynchronous external
memory interface (EMIF) in the TMS320DM335 Digital Media System-on-Chip (DMSoC). The EMIF
supports a glueless interface to a variety of external devices.
SPRUFZ2 — TMS320DM335 Digital Media System-on-Chip (DMSoC) DDR2/Mobile DDR
(DDR2/mDDR) Memory Controller Reference Guide This document describes the DDR2/mDDR
memory controller in the TMS320DM335 Digital Media System-on-Chip (DMSoC). The
DDR2/mDDR memory controller is used to interface with JESD79D-2A standard compliant DDR2
SDRAM and mobile DDR devices.
SPRUFZ3 — TMS320DM335 Digital Media System-on-Chip (DMSoC) Audio Serial Port (ASP)
Reference Guide This document describes the operation of the audio serial port (ASP) audio
interface in the TMS320DM335 Digital Media System-on-Chip (DMSoC). The primary audio modes
that are supported by the ASP are the AC97 and IIS modes. In addition to the primary audio
modes, the ASP supports general serial port receive and transmit operation, but is not intended to
be used as a high-speed interface.
SPRUFX7A – July 2008 – Revised July 2010
Read This First
Copyright © 2008–2010, Texas Instruments Incorporated
17
18
Read This First
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 1
SPRUFX7A – July 2008 – Revised July 2010
Introduction
1.1
Device Overview
The TMS320DM335 processor is a low cost, low power processor providing advanced graphical user
interface for display applications that do not require video compression and decompression. Coupled with
a video processing subsystem (VPSS) that provides up to 720p display, the DM335 processor is powered
by an ARM926EJ-S core so developers can create feature rich graphical user interfaces allowing
customers to interact with their portable, electronic devices such as video-enabled universal remote
controls, Internet radio, e-books, video doorbells and digital telescopes. The new DM335 is packed with
the same peripherals as its predecessor, the device, including high speed USB 2.0 on-the-go, external
memory interface (EMIF), mobile DDR/DDR2, two SDIO ports, three UART Ports, two Audio Serial Ports,
three SPI Ports and SLC/MCL NAND Flash memory support. These peripherals help customers create
DM335 processor-based designs that add video and audio excitement to a wide range of today's static
user-interface applications while keeping silicon costs and power consumption low. The new digital media
processor is completely scalable with the device processor and Digital Video Evaluation Board (DVEVM),
allowing customers to utilize their same code for their new DM335 processor focused designs.
The new DM335 device delivers a sophisticated suite of capabilities allowing for flexible image capture
and display. Through its user interface technology, such as a four-level on-screen display, developers are
able to create picture-within-picture and video-within-video as well as innovative graphic user interfaces.
This is especially important for portable products that require the use of button or touch screen, such as
portable karaoke, video surveillance and electronic gaming applications. Additional advanced capture and
imaging technologies include support for CCD/CMOS image sensors, resize capability and video
stabilization. The 1280-by-960-pixel digital LCD connection runs on a 75-MHz pixel clock and supports TV
composite output for increased expandability. This highly integrated device is packaged in a 13 x 13 mm,
337 pin , 0.65 mm pitch BGA package.
1.2
Block Diagram
The device consists of the following primary components and sub-systems:
• ARM Subsystem (ARMSS), including the ARM926 RISC CPU core and associated memories
• Video Processing Subsystem (VPSS), including the Video Processing Front End (VPFE), Image Input
and Image Processing Subsystem, and the Video Processing Back End (VPBE) Display Subsystem
• A set of I/O peripherals
• A powerful DMA Subsystem and DDR2/mDDR EMIF interface.
SPRUFX7A – July 2008 – Revised July 2010
Introduction
Copyright © 2008–2010, Texas Instruments Incorporated
19
ARM Subsystem in DM335
www.ti.com
The detailed block diagram is shown in Figure 1-1.
CCDC
CCD
C
CCD/
CMOS
Module
Digital RGB/YUV
10b
DAC
Enhanced
Enhanced DMA
64 channels
channels
3PCC /TC
(100 MHz
er
c
Composite video
IPIPE
H3A
3A
VPFE
Buffer Logic
Figure 1-1. Functional Block Diagram
Vide
Video
OS
OSD
Encod
Encoder
o
D
er
VPBE
VPSS
DMA
DDR
DDR
controller
MH
DL
DLL/
PHY
16 bit
DDR2/mDDR 16
z)
/ DMA/Data
Data and configuration
bus bus
and configuration
ARM
ARM
INTC
ARM
ARM926EJ-S_Z8
cach
l-cache
I16 eK
16KB
z)
cach
B
D-cache
D- 8K
8KBe
RA
RAM
32MK
32KB
RO
B
ROM
8MK
8KB
USB 2.0
USB2.0
PHY
Nand/SM/
Async/One Nand
(AEMIF)
ASP (2x)
MMC/SD (x2)
Speaker
microphone
SPI I/F (x3)
UART (x3)
I2C
Timer/
WDT (x4 - 64)
Clocks
GIO
PWM (x4)
RTO
64bit DMA/Data Bus
32bit Configuration Bus
JTA
JTAG
I/F
JTAG
1.3
CLOCK
CLOCK
ctrl
PLL
PLLs
Peripherals
24 MHz
27 MHz
or 36 MHz (optional)
ARM Subsystem in DM335
The ARM926EJ-S 32-bit RISC processor in the ARMSS acts as the overall system controller. The ARM
CPU performs general system control tasks, such as system initialization, configuration, power
management, user interface, and user command implementation. Chapter 2 describes the ARMSS
components and system control functions that the ARM core performs.
20
Introduction
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 2
SPRUFX7A – July 2008 – Revised July 2010
ARM Subsystem Overview
2.1
Purpose of the ARM Subsystem
The ARM Subsystem contains components required to provide the ARM926EJ-S (ARM) master control of
the overall device system, including control over the VPSS Subsystem, the peripherals, and external
memories.
The ARM is responsible for handling system functions such as system-level initialization, configuration,
user interface, user command execution, connectivity functions, etc. The ARM is master and performs
these functions because it has a large program memory space and fast context switching capability, and is
thus suitable for complex, multi-tasking, and general-purpose control tasks.
2.2
Components of the ARM Subsystem
The ARM Subsystem (ARMSS) in the device consists of the following components:
• ARM926EJ-S RISC processor, including:
– Coprocessor 15 (CP15)
– MMU
– 16KB Instruction cache
– 8KB Data cache
– Write Buffer
– Java accelerator
• ARM Internal Memories
– 32KB Internal RAM (32-bit wide access)
– 8KB Internal ROM (ARM bootloader for non-AEMIF boot options)
• Embedded Trace Module and Embedded Trace Buffer (ETM/ETB)
• System Control Peripherals
– ARM Interrupt Controller
– PLL Controller
– Power and Sleep Controller
– System Module
The ARM also manages/controls the following peripherals:
• DDR2 EMIF Controller
• AEMIF Controller, including the NAND flash interface
• Enhanced DMA (EDMA)
• UART (There are three UARTs supported in the device)
• Timers
• Real Time Out (RTO)
• Pulse Width Modulator (PWM)
• Inter-IC Communication (I2C)
• Multi-Media Card/Secure Digital (MMC/SD)
• Audio Serial Port (ASP)
• Universal Serial Bus Controller (USB)
• Serial Port Interface (SPI)
SPRUFX7A – July 2008 – Revised July 2010
ARM Subsystem Overview
Copyright © 2008–2010, Texas Instruments Incorporated
21
References
•
•
www.ti.com
Video Processing Front End (VPFE)
– CCD Controller (CCDC)
– Image Pipe (IPIPE)
– H3A Engine (Hardware engine for computing Auto-focus, Auto white balance, and Auto exposure)
Video Processing Back End (VPBE)
– On Screen Display (OSD)
– Video Encoder Engine (VENC)
Figure 2-1 shows the functional block diagram of the ARM Subsystem.
Figure 2-1. ARM Subsystem Block Diagram
Master
IF
ARM
interrupt
controller
(AINTC)
Master IF
Arbiter
Arbiter
I-AHB
D-AHB
System
control
I-TCM
D-TCM
Slave
16K I$
CP15
8K D$
MMU
Arbiter
8K
ROM
16K
RAM1
PLLC2
IF
16K
RAM0
CFG bus
DMA bus
ARM926EJ-S
PLLC1
Power
sleep
controller
(PSC)
Peripherals
...
2.3
References
See the following related documents for more information:
• DM335 Data Manual (SPRS528): Provides a high-level overview of the DM335 system.
• DM335 Peripheral Reference Guides: For various peripherals on the device.
• For more detailed information about the ARM processor core, see ARM Ltd.’s web site:
– http://www.arm.com/documentation/ARMProcessor_Cores/index.html
• Particularly, see the ARM926EJ-S Technical Reference Manual
22
ARM Subsystem Overview
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 3
SPRUFX7A – July 2008 – Revised July 2010
ARM Core
3.1
Introduction
This chapter describes the ARM core and its associated memories. The ARM core consists of the
following components:
• ARM926EJ-S - 32-bit RISC processor
• 16KB Instruction cache
• 8KB Data cache
• MMU
• CP15 to control MMU, cache, write buffer, etc.
• Java accelerator
• ARM Internal Memory
– 32KB built-in RAM
– 8KB built-in ROM (boot ROM)
• Embedded Trace Module and Embedded Trace Buffer (ETM/ETB)
• Features:
– The main write buffer has a 16-word data buffer and a 4-address buffer
– Support for 32/16-bit instruction sets
– Fixed little endian memory format
– Enhanced DSP instructions
– For maximum operating clock frequency, see the device-specific data manual.
The ARM926EJ-S processor is a member of the ARM9 family of general-purpose microprocessors. The
ARM926EJ-S processor targets multi-tasking applications where full memory management, high
performance, low die size, and low power are all important.
The ARM926EJ-S processor supports the 32-bit ARM and the 16-bit THUMB instruction sets, enabling
you to trade off between high performance and high code density. This includes features for efficient
execution of Java byte codes and providing Java performance similar to Just in Time (JIT) Java interpreter
without associated code overhead.
The ARM926EJ-S processor supports the ARM debug architecture and includes logic to assist in both
hardware and software debugging. The ARM926EJ-S processor has a Harvard architecture and provides
a complete high performance subsystem, including the following:
• An ARM926EJ-S integer core
• A memory management unit (MMU)
• Separate instruction and data AMBA AHB bus interfaces
• Separate instruction and data TCM interfaces
The ARM926EJ-S processor implements ARM architecture version 5TEJ.
The ARM926EJ-S core includes new signal processing extensions to enhance 16-bit fixed-point
performance using a single-cycle 32 x 16 multiply-accumulate (MAC) unit. The ARM subsystem also has
32 KB of internal RAM and 8 KB of internal ROM, accessible via the I-TCM and D-TCM interfaces through
an arbiter. The same arbiter provides a slave DMA interface to the rest of the DMSoC. Furthermore, the
ARM has DMA and CFG bus master ports via the AHB interface.
SPRUFX7A – July 2008 – Revised July 2010
ARM Core
Copyright © 2008–2010, Texas Instruments Incorporated
23
Operating States/Modes
3.2
www.ti.com
Operating States/Modes
The ARM can operate in two states: ARM (32-bit) mode and Thumb (16-bit) mode. You can switch the
ARM926EJ-S processor between ARM mode and Thumb mode using the BX instruction.
The ARM can operate in the following modes:
• User mode (USR): Non-privileged mode, usually for the execution of most application programs.
• Fast interrupt mode (FIQ): Fast interrupt processing
• Interrupt mode (IRQ): Normal interrupt processing
• Supervisor mode (SVC): Protected mode of execution for operating systems
• Abort mode (ABT): Mode of execution after a data abort or a pre-fetch abort
• System mode (SYS): Privileged mode of execution for operating systems
• Undefined mode (UND): Executing an undefined instruction causes the ARM to enter undefined mode.
You can only enter privileged modes (system or supervisor) from other privileged modes.
To enter supervisor mode from user mode, generate a software interrupt (SWI). An IRQ interrupt causes
the processor to enter the IRQ mode. An FIQ interrupt causes the processor to enter the FIQ mode.
Different stacks must be set up for different modes. The stack pointer (SP) automatically changes to the
SP of the mode that was entered.
NOTE: See the ARM926EJ-S TRM, downloadable from http://www.arm.com for more detailed
information.
3.3
Processor Status Registers
The processor status register (PSR) controls the enabling and disabling of interrupts and setting the mode
of operation of the processor. PSR [7:0] are the processor control bits, PSR [27:8] are reserved bits, and
PSR [31:28] are status bits. The control bits, PSR[7:0], are defined as follows:
• Bit 7 - I bit: Disable IRQ (I =1) or enable IRQ (I = 0)
• Bit 6 - F bit: Disable FIQ (F = 1) or enable FIQ (F = 0)
• Bit 5 - T bit: Controls whether the processor is in thumb mode (T = 1) or ARM mode (T = 0)
• Bits 4:0 Mode: Controls the mode of operation of the processor
– PSR [4:0] = 10000 : User mode
– PSR [4:0] = 10001 : FIQ mode
– PSR [4:0] = 10010 : IRQ mode
– PSR [4:0] = 10011 : Supervisor mode
– PSR [4:0] = 10111 : Abort mode
– PSR [4:0] = 11011 : Undefined mode
– PSR [4:0] = 11111 : System mode
The status bit, PSR[31:28], reflect the result of the most recent ALU operation. The status bits are defined
as follows:
• Bit 31 - N bit: Negative or less than
• Bit 30 - Z bit: Zero
• Bit 29 - C bit: Carry or borrow
• Bit 28 - V bit: Overflow or underflow
NOTE: See Chapter 2 of the Programmer’s Model of the ARM926EJ-S TRM, downloadable from
http://www.arm.com for more detailed information.
24
ARM Core
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Exceptions and Exception Vectors
www.ti.com
3.4
Exceptions and Exception Vectors
Exceptions arise when the normal flow of the program must be temporarily halted. The exceptions that
occur in an ARM system are given below:
• Reset exception: processor reset
• FIQ interrupt: fast interrupt
• IRQ interrupt: normal interrupt
• Abort exception: abort indicates that the current memory access could not be completed. The abort
could be a pre-fetch abort or a data abort.
• SWI interrupt: use software interrupt to enter supervisor mode.
• Undefined exception: occurs when the processor executes an undefined instruction
The exceptions in the order of highest priority to lowest priority are: reset, data abort, FIQ, IRQ, pre-fetch
abort, undefined instruction, and SWI. SWI and undefined instruction have the same priority. Depending
upon the status of VINTH signal or the register setting in CP15, the vector table can be located at address
0x00000000 (VINTH = 0) or at address 0xFFFF0000 (VINTH = 1). .
NOTE: This is a feature of the ARM926EJ-S core. However, in this DMSoC there is no memory in
the address region starting at 0xFFFF0000, so do not set VINTH.
The default vector table is shown in Table 3-1
NOTE: See ARM926EJ-S TRM, downloadable from http://www.arm.com for more detailed
information.
Table 3-1. Exception Vector Table for ARM
3.5
Vector Offset Address
Exception
Mode on entry
I Bit State on Entry
F Bit State on Entry
0h
Reset
Supervisor
Set
Set
04h
Undefined instruction
Undefined
Set
Unchanged
08h
Software interrupt
Supervisor
Set
Unchanged
0Ch
Pre-fetch abort
Abort
Set
Unchanged
10h
Data abort
Abort
Set
Unchanged
14h
Reserved
-
-
-
18h
IRQ
IRQ
Set
Unchanged
1Ch
FIQ
FIQ
Set
Set
The 16-BIS/32-BIS Concept
The key idea behind 16-BIS is that of a super-reduced instruction set. Essentially, the ARM926EJ-S
processor has two instruction sets:
• ARM mode or 32-BIS: the standard 32-bit instruction set
• Thumb mode or 16-BIS: a 16-bit instruction set
The 16-bit instruction length (16-BIS) allows the 16-BIS to approach twice the density of standard 32-BIS
code while retaining most of the 32-BIS’s performance advantage over a traditional 16-bit processor using
16-bit registers. This is possible because 16-BIS code operates on the same 32-bit register set as 32-BIS
code. 16-bit code can provide up to 65% of the code size of the 32-bit code and 160% of the performance
of an equivalent 32-BIS processor connected to a 16-bit memory system.
3.5.1 16-BIS/32-BIS Advantages
16-bit instructions operate with the standard 32-bit register configuration, allowing excellent
inter-operability between 32-BIS and 16-BIS states. Each 16-bit instruction has a corresponding 32-bit
instruction with the same effect on the processor model. The major advantage of a 32-bit architecture over
a 16-bit architecture is its ability to manipulate 32-bit integers with single instructions, and to address a
SPRUFX7A – July 2008 – Revised July 2010
ARM Core
Copyright © 2008–2010, Texas Instruments Incorporated
25
Coprocessor 15 (CP15)
www.ti.com
large address space efficiently. When processing 32-bit data, a 16-bit architecture takes at least two
instructions to perform the same task as a single 32-bit instruction. However, not all of the code in a
program processes 32-bit data (e.g., code that performs character string handling), and some instructions
(like branches) do not process any data at all. If a 16-bit architecture only has 16-bit instructions, and a
32-bit architecture only has 32-bit instructions, then the 16-bit architecture has better code density overall,
and has better than one half of the performance of the 32-bit architecture. Clearly, 32-bit performance
comes at the cost of code density. The 16-bit instruction breaks this constraint by implementing a 16-bit
instruction length on a 32-bit architecture, making the processing of 32-bit data efficient with compact
instruction coding. This provides far better performance than a 16-bit architecture, with better code density
than a 32-bit architecture. The 16-BIS also has a major advantage over other 32-bit architectures with
16-bit instructions. The advantage is the ability to switch back to full 32-bit code and execute at full speed.
Thus, critical loops for applications such as fast interrupts and DSP algorithms can be coded using the full
32-BIS and linked with 16-BIS code. The overhead of switching from 16-bit code to 32-bit code is folded
into sub-routine entry time. Various portions of a system can be optimized for speed or for code density by
switching between 16-BIS and 32-BIS execution, as appropriate.
NOTE: See the ARM926EJ-S TRM, downloadable from http://www.arm.com for more detailed
information.
3.6
Coprocessor 15 (CP15)
The system control coprocessor (CP15) is used to configure and control instruction and data caches,
Tightly-Coupled Memories (TCMs), Memory Management Units (MMUs), and many system functions. The
CP15 registers are only accessible with MRC and MCR instructions by the ARM in a privileged mode like
supervisor mode or system mode.
3.6.1 Addresses in an ARM926EJ-S System
Three different types of addresses exist in an ARM926EJ-S system. They are as follows:
Table 3-2. Different Address Types in ARM System
Domain
ARM9EJ-S
Caches and MMU
TCM and AMBA Bus
Address type
Virtual Address (VA)
Modified Virtual Address (MVA)
Physical Address (PA)
An example of the address manipulation that occurs when the ARM9EJ-S core requests an instruction is
shown in Example 3-1
Example 3-1. Address Manipulation
The VA of the instruction is issued by the ARM9EJ-S core.
The VA is translated to the MVA. The Instruction Cache (Icache) and Memory Management Unit (MMU) detect
the MVA.
If the protection check carried out by the MMU on the MVA does not abort and the MVA tag is in the Icache,
the instruction data is returned to the ARM9EJ-S core.
If the protection check carried out by the MMU on the MVA does not abort, and the MVA tag is not in the
cache, then the MMU translates the MVA to produce the PA.
NOTE: See Chapter 2 of the Programmers Model of the ARM926EJ-S TRM, downloadable from
http://www.arm.com for more detailed information.
26
ARM Core
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Coprocessor 15 (CP15)
www.ti.com
3.6.2 Memory Management Unit
The ARM926EJ-S MMU provides virtual memory features required by operating systems such as
SymbianOS, WindowsCE, and Linux. A single set of two level page tables stored in main memory controls
the address translation, permission checks, and memory region attributes for both data and instruction
accesses. The MMU uses a single unified Translation Lookaside Buffer (TLB) to cache the information
held in the page tables.
The MMU features are as follows:
• Standard ARM architecture v4 and v5 MMU mapping sizes, domains, and access protection scheme.
• Mapping sizes are 1 MB (sections), 64 KB (large pages), 4 KB (small pages) and 1 KB (tiny pages)
• Access permissions for large pages and small pages can be specified separately for each quarter of
the page (subpage permissions)
• Hardware page table walks
• Invalidate entire TLB, using CP15 register 8
• Invalidate TLB entry, selected by MVA, using CP15 register 8
• Lockdown of TLB entries, using CP15 register 10
NOTE: See Chapter 3 of the Memory Management Unit of the ARM926EJ-S TRM, downloadable
from http://www.arm.com for more detailed information.
3.6.3 Caches and Write Buffer
The ARM926EJ-S processor includes:
• An instruction cache (Icache)
• A data cache (Dcache)
• A write buffer
The size of the data cache is 8KB, instruction cache is 16KB, and write buffer is 17 bytes.
The caches have the following features:
• Virtual index, virtual tag, addressed using the Modified Virtual Address (MVA)
• Four-way set associative, with a cache line length of eight words per line (32 bytes per line), and two
dirty bits in the Dcache
• Dcache supports write-through and write-back (or copy back) cache operation, selected by memory
region using the C and B bits in the MMU translation tables
• Perform critical-word first cache refilling
• Cache lockdown registers enable control over which cache ways are used for allocation on a linefill,
providing a mechanism for both lockdown and controlling cache pollution.
• Dcache stores the Physical Address TAG (PA TAG) corresponding to each Dcache entry in the
TAGRAM for use during the cache line write-backs, in addition to the Virtual Address TAG stored in the
TAG RAM. This means that the MMU is not involved in Dcache write-back operations, removing the
possibility of TLB misses related to the write-back address.
• Cache maintenance operations to provide efficient invalidation of the following:
– The entire Dcache or Icache
– Regions of the Dcache or Icache
– The entire Dcache
– Regions of virtual memory
• They also provide operations for efficient cleaning and invalidation of the following:
– The entire Dcache
– Regions of the Dcache
– Regions of virtual memory
SPRUFX7A – July 2008 – Revised July 2010
ARM Core
Copyright © 2008–2010, Texas Instruments Incorporated
27
Coprocessor 15 (CP15)
www.ti.com
The write buffer is used for all writes to a non-cacheable bufferable region, write-through region, and write
misses to a write-back region. A separate buffer is incorporated in the Dcache for holding write-back for
cache line evictions or cleaning of dirty cache lines.
The main write buffer has a 16-word data buffer and a four-address buffer.
The Dcache write-back has eight data word entries and a single address entry.
The MCR drain write buffer enables both write buffers to be drained under software control.
The MCR wait for interrupt causes both write buffers to be drained and the ARM926EJ-S processor to be
put into a low power state until an interrupt occurs.
NOTE: See Chapter 4 of the Caches and Write Buffer of the ARM926EJ-S TRM, downloadable
from http://www.arm.com for more detailed information.
28
ARM Core
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Tightly Coupled Memory
www.ti.com
3.7
Tightly Coupled Memory
The ARM926EJ-Shas a tightly coupled memory interface enabling separate instruction and data TCM to
be interfaced to the ARM. TCMs are meant for storing real-time and performance critical code.
The device supports both instruction TCM (I-TCM) and data TCM (D-TCM). The instruction TCM is located
at 0x0000:0000 to 0x0000:7FFF. The data TCM is located at 0x0001:0000 to 0x0001:7FFF, as shown in
Table 3-3.
Table 3-3. ITCM/DTCM Memory Map
I-TCM Address
D-TCM Address
Size (Bytes)
Description
0x0000 :0000 - 0x0000 :3FFF
0x0001 :0000 - 0x0001 :3FFF
16K
IRAM0
IRAM1
0x0000 :4000 - 0x0000 :7FFF
0x0001 :4000 - 0x0001 :7FFF
16K
0x0000 :8000 - 0x0000 :BFFF
0x0001 :8000 - 0x0001 :8FFF
8K
ROM
0x0000 :C000 - 0x0000 :FFFF
0x0001 :C000 - 0x000F :FFFF
24K
Reserved
The status of the TCM memory regions can be read from the TCM status register, which is CP15 register
0. The instruction for reading the TCM status is given below:
MRC p15, #0, Rd, c0, c0, #2 ; read TCM status register
where Rd is any register where the status data is read into the register.
The format of the data in the TCM register is as shown below:
31
17
16
SBZ/UNP
DTCM
15
1
0
SBZ/UNP
ITCM
If the DTCM bit is 0, Data TCM is not present and if the DTCM bit is 1, Data TCM is present. If the ITCM
bit is 0, Instruction TCM is not present and if the ITCM bit is 1, Instruction TCM is present.
Use the ITCM / DTCM region registers to enable ITCM and DTCM.
The instructions for reading and writing to the ITCM and DTCM are shown below:
MRC p15, #0, Rd, c9, c0, #0 ; read DTCM region register MCR p15, #0, Rd, c9, c0, #0 ; write DTCM
region register MRC p15, #0, Rd, c9, c0, #1 ; read ITCM region register MCR p15, #0, Rd, c9, c0,
#1 ; write ITCM region register
Where Rd is any register where the data is read or written into the register.
The format of the data in the TCM register is shown below:
31
16
ADDRESS
15
12
11
ADDRESS
6
5
SBZ/UNP
SPRUFX7A – July 2008 – Revised July 2010
4
3
SIZE
2
1
0
ENB
ARM Core
Copyright © 2008–2010, Texas Instruments Incorporated
29
Embedded Trace Support
www.ti.com
Write 0 to the ENB bit to enable ITCM and DTCM. Write 1 to the ENB bit to enable it. The physical
address of the memory should be set to the ADDRESS field. The SIZE field reflects the size. The size
encoding is given below in Table 3-4.
Table 3-4. ITCM/DTCM Size Encoding
Binary Code
Size
0000
0 KB / absent
0001,0010
Reserved
0011
4 KB
0100
8 KB
0101
16 KB
0110
32 KB
0111
64 KB
1000
128 KB
1001
256 KB
1010
512 KB
1011
1 MB
11xx
Reserved
NOTE: See Chapter 5 of the Tightly-coupled Memory Interface of the ARM926EJ-S TRM,
downloadable from http://www.arm.com for more detailed information.
Use the values 0x00010019 to enable DTCM for the device: 0x00010000 (base address) |
0b0110 << 2 (size) | 1 (enable)
3.8
Embedded Trace Support
To support real-time trace, the ARM926EJ-S processor provides an interface to enable connection of an
Embedded Trace Macrocell (ETM). The ARM926ES-J Subsystem in the device also includes the
Embedded Trace Buffer (ETB).
The ETM consists of two parts: the trace port and triggering facilities. The two ETM parts are shown in
Table 3-5.
NOTE: The device trace port is not pinned out. Instead, it is connected to a 4KB Embedded Trace
Buffer. ETB enabled debug tools are required to read/interpret the captured trace data.
Table 3-5. ETM Part Descriptions
ETM Part
Description
Trace Port:
The trace port allows you to debug the processor. The trace port has a protocol that has been
developed to provide a real-time trace capability for processor cores that are deeply embedded in
large ASIC designs. This is beneficial to developers and manufacturers when it is not possible to
determine how the processor core is operating by only observing the pins of the ASIC.
Triggering Facilities:
An extensible ETM specification exists to specify the exact set of trigger resources required for a
particular application. Resources include address and data comparators, counters, and
sequencers.
The ETM is used to compress the trace information and export it through a narrow trace port. An external
Trace Port Analyzer (TPA) is used to capture the trace information.
NOTE: See Chapter 10 of the Embedded Trace Macro-cell Support of the ARM926EJ-S TRM,
downloadable from http://www.arm.com for more detailed information.
30
ARM Core
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 4
SPRUFX7A – July 2008 – Revised July 2010
Memory Mapping
4.1
Memory Map
The device memory map is shown in Table 4-1. The multiple columns represent the memory map of each
of the masters on the chip. The ARM, EDMA, USB, and VPSS are all masters with access to the regions
shown in the table. The table’s memory size column shows the size of the decoded block; it may not show
the physical memory range. There may be replication of the contents within the block (as with the 8K ARM
ROM) or unused address space within the block.
Table 4-1. Memory Map
Start Address
End Address
Size (Bytes)
ARM
Mem Map
EDMA
Mem Map
USB
Mem Map
0x0000 0000
0x0000 3FFF
16K
ARM RAM0
(Instruction)
0x0000 4000
0x0000 7FFF
16K
ARM RAM1
(Instruction)
Reserved
Reserved
0x0000 8000
0x0000 FFFF
32K
ARM ROM
(Instruction)
- only 8K used
0x0001 0000
0x0001 3FFF
16K
0x0001 4000
0x0001 7FFF
16K
ARM RAM0 (Data)
ARM RAM0
ARM RAM0
ARM RAM1 (Data)
ARM RAM1
ARM RAM1
0x0001 8000
0x0001 FFFF
32K
ARM ROM (Data)
- only 8K used
ARM ROM
ARM ROM
0x0002 0000
0x000F FFFF
896K
Reserved
0x0010 0000
0x01BB FFFF
26M
0x01BC 0000
0x01BC 0FFF
4K
0x01BC 1000
0x01BC 17FF
2K
ARM ETB Reg
0x01BC 1800
0x01BC 18FF
256
ARM IceCrusher
0x01BC 1900
0x01BC FFFF
59136
Reserved
0x01BD 0000
0x01BF FFFF
192K
0x01C0 0000
0x01FF FFFF
4M
CFG Bus
Peripherals
CFG Bus
Peripherals
0x0200 0000
0x09FF FFFF
128M
ASYNC EMIF
(Data)
ASYNC EMIF
(Data)
0x0A00 0000
0x11EF FFFF
127M - 16K
Reserved
Reserved
DDR EMIF Control
Regs
DDR EMIF Control
Regs
0x11F0 0000
0x11F1 FFFF
128K
0x11F2 0000
0x1FFF FFFF
141M-64K
0x2000 0000
0x2000 7FFF
32K
0x2000 8000
0x41FF FFFF
544M-32K
0x4200 0000
0x49FF FFFF
128M
0x4A00 0000
0x7FFF FFFF
864M
VPSS
Mem Map
ARM ETB Mem
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
0x8000 0000
0x8FFF FFFF
256M
DDR EMIF
DDR EMIF
DDR EMIF
DDR EMIF
0x9000 0000
0xFFFF FFFF
1792M
Reserved
Reserved
Reserved
Reserved
SPRUFX7A – July 2008 – Revised July 2010
Memory Mapping
Copyright © 2008–2010, Texas Instruments Incorporated
31
Memory Map
www.ti.com
4.1.1 ARM Internal Memories
The ARM has access to the following ARM internal memories:
• 32KB ARM Internal RAM on TCM interface, logically separated into two 16KB pages to allow
simultaneous access on any given cycle, if there are separate accesses for code (I-TCM bus) and data
(D-TCM) to the different memory regions.
• 8KB ARM Internal ROM
NOTE: By default, ARM access to internal memory is with one wait-state. However, if the ARM
clock frequency is less than or equal to 150 MHz, you may configure ARM access to internal
memory to be zero wait-state. To configure the wait-state use the bit AIM_WAIST in the
Miscellaneous Control register (MISC) in the System Control Module. MISC is described in
Section 9.10.16.
4.1.2 External Memories
The ARM has access to the following external memories:
• DDR2 / mDDR Synchronous DRAM
• Asynchronous EMIF/OneNand
• NAND Flash
• External host devices
Additionally, the ARM has access to the various common media storage card interfaces.
4.1.3 Peripherals
The ARM and EDMA have access to the registers and memories of the following peripherals (see
Table 4-2):
• EDMA Controller
• Three UARTs
• I2C (Inter-IC Communication)
• Three 64-bit timers (each configurable as one 64-bit timer or two 32 bit timers) and one WDT
• PWM (Pulse Width Modulator)
• USB (Universal Serial Bus Controller)
• Two Audio Serial Ports (ASP)
• Three SPI serial interfaces
• General-Purpose Input/Output (GPIO)
• Video Processing Subsystem (VPSS)
• Asynchronous EMIF (AEMIF) Controller
• Real Time Out (RTO)
The ARM and EDMA also has access to the following internal peripherals:
• ETM/ETB
• ICEcrusher
• System Module
• PLL Controllers
• Power Sleep Controller
• ARM Interrupt Controller
The ARM and EDMA also has access to the following internal peripherals:
32
Memory Mapping
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Memory Map
www.ti.com
Table 4-2. ARM Configuration Bus Access to Peripherals
Address
Accessibility
Region
Start
End
Size
ARM
EDMA
EDMA CC
0x01C0 0000
0x01C0 FFFF
64K
√
√
EDMA TC0
0x01C1 0000
0x01C1 03FF
1K
√
√
EDMA TC1
0x01C1 0400
0x01C1 07FF
1K
√
√
Reserved
0x01C1 0800
0x01C1 9FFF
38K
√
√
Reserved
0x01C1 A000
0x01C1 FFFF
24K
√
√
UART0
0x01C2 0000
0x01C2 03FF
1K
√
√
UART1
0x01C2 0400
0x01C2 07FF
1K
√
√
Timer4/5
0x01C2 0800
0x01C2 0BFF
1K
√
√
Real-time out
0x01C2 0C00
0x01C2 0FFF
1K
√
√
I2C
0x01C2 1000
0x01C2 13FF
1K
√
√
Timer0/1
0x01C2 1400
0x01C2 17FF
1K
√
√
Timer2/3
0x01C2 1800
0x01C2 1BFF
1K
√
√
WatchDog Timer
0x01C2 1C00
0x01C2 1FFF
1K
√
√
PWM0
0x01C2 2000
0x01C2 23FF
1K
√
√
PWM1
0x01C2 2400
0x01C2 27FF
1K
√
√
PWM2
0x01C2 2800
0x01C2 2BFF
1K
√
√
PWM3
0x01C2 2C00
0x01C2 2FFF
1K
√
√
System Module
0x01C4 0000
0x01C4 07FF
2K
√
√
PLL Controller 0
0x01C4 0800
0x01C4 0BFF
1K
√
√
PLL Controller 1
0x01C4 0C00
0x01C4 0FFF
1K
√
√
Power/Sleep Controller
0x01C4 1000
0x01C4 1FFF
4K
√
√
Reserved
0x01C4 2000
0x01C4 7FFF
24K
√
√
ARM Interrupt Controller
0x01C4 8000
0x01C4 83FF
1K
√
√
Reserved
0x01C4 8400
0x01C6 3FFF
111K
√
√
USB OTG 2.0 Regs / RAM
0x01C6 4000
0x01C6 5FFF
8K
√
√
SPI0
0x01C6 6000
0x01C6 67FF
2K
√
√
SPI1
0x01C6 6800
0x01C6 6FFF
2K
√
√
GPIO
0x01C6 7000
0x01C6 77FF
2K
√
√
SPI2
0x01C6 7800
0x01C6 FFFF
2K
√
√
VPSS Subsystem
0x01C7 0000
0x01C7 FFFF
64K
√
√
VPSS Clock Control
0x01C7 0000
0x01C7 007F
128
√
√
Hardware 3A
0x01C7 0080
0x01C7 00FF
128
√
√
Image Pipe (IPIPE)
Interface
0x01C7 0100
0x01C7 01FF
256
√
√
On Screen Display
0x01C7 0200
0x01C7 02FF
256
√
√
Reserved
0x01C7 0300
0x01C7 03FF
256
√
√
Video Encoder
0x01C7 0400
0x01C7 05FF
512
√
√
CCD Controller
0x01C7 0600
0x01C7 07FF
256
√
√
VPSS Buffer Logic
0x01C7 0800
0x01C7 08FF
256
√
√
Reserved
0x01C7 0900
0x01C7 09FF
256
√
√
Image Pipe (IPIPE)
0x01C7 1000
0x01C7 3FFF
12K
√
√
Reserved
0x01C7 4000
0x01CD FFFF
432K
√
√
Multimedia / SD 1
0x01E0 0000
0x01E0 1FFF
8K
√
√
ASP0
0x01E0 2000
0x01E0 3FFF
8K
√
√
ASP1
0x01E0 4000
0x01E0 5FFF
8K
√
√
UART2
0x01E0 6000
0x01E0 63FF
1K
√
√
Reserved
0x01E0 6400
0x01E0 FFFF
39K
√
√
SPRUFX7A – July 2008 – Revised July 2010
Memory Mapping
Copyright © 2008–2010, Texas Instruments Incorporated
33
Memory Map
www.ti.com
Table 4-2. ARM Configuration Bus Access to Peripherals (continued)
Address
34
Accessibility
4K
√
√
0x01E1 FFFF
60K
√
√
0x01FF FFFF
1792K
√
√
0x0200 0000
0x03FF FFFF
32M
√
√
0x0400 0000
0x05FF FFFF
32M
√
√
ASYNC EMIF Control
0x01E1 0000
0x01E1 0FFF
Multimedia / SD 0
0x01E1 1000
Reserved
0x01E2 0000
ASYNC EMIF Data (CE0)
ASYNC EMIF Data (CE1)
Reserved
0x0600 0000
0x09FF FFFF
64M
√
√
Reserved
0x0A00 0000
0x0BFF FFFF
32M
√
√
Reserved
0x0C00 0000
0x0FFF FFFF
64M
√
√
Memory Mapping
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Memory Interfaces Overview
www.ti.com
4.2
Memory Interfaces Overview
This section describes the different memory interfaces.
The device supports several memory and external device interfaces, including the following:
• DDR2 / mDDR Synchronous DRAM
• Asynchronous EMIF
• NAND Flash
• OneNAND flash
4.2.1 DDR2 EMIF
The DDR2 EMIF interface, sometimes referred to as EMIF3.0 in the device documentation, is a dedicated
interface to DDR and MDDR SDRAM. It supports JESD79D-2A standard compliant DDR2 SDRAM
devices and supports only 16-bit interfaces.
DDR SDRAM plays a key role in a DM335-based system. Such a system is expected to require a
significant amount of high-speed external memory for the following:
• Buffering input image data from sensors or video sources,
• Intermediate buffering for processing/resizing of image data in the VPFE,
• Numerous OSD display buffers
• Intermediate buffering for large raw Bayer data image files while performing still camera processing
functions
• Buffering for intermediate data while performing video encode and decode functions
• Storage of executable firmware for the ARM
4.2.2 External Memory Interface
The external memory interface (EMIF) provides an 8-bit or 16-bit data bus, an address bus width of up to
14-bits, and 2 dedicated chip selects, along with memory control signals. The EMIF module supports:
• Asynchronous memories (SRAM, Linear flash, etc.)
• NAND flash memories
• OneNAND flash memories
4.2.2.1
Asynchronous EMIF (AEMIF)
The asynchronous EMIF (AEMIF) mode supports the following features:
• SRAM on up to two asynchronous chip selects
• Supports 8-bit or 16-bit data bus widths
• Programmable asynchronous cycle timings
• Supports extended waits
• Supports Select Strobe mode
• Supports booting the device ARM processor from CE0 (e.g., SRAM) via direct execution
SPRUFX7A – July 2008 – Revised July 2010
Memory Mapping
Copyright © 2008–2010, Texas Instruments Incorporated
35
Memory Interfaces Overview
4.2.2.2
www.ti.com
NAND (NAND, SmartMedia, xD)
The NAND mode supports the following features:
• NAND Flash on up to two asynchronous chip selects
• Supports 8-bit and 16-bit data bus widths
• Programmable cycle timings
• Performs 1-bit and 4-bit ECC calculation (does not perform error correction)
• NAND Mode also supports SmartMedia/SSFDC (Solid State Floppy Disk Controller) and xD memory
cards
• ARM ROM supports booting of the device ARM processor from NAND-Flash located at CE0
4.2.2.3
OneNAND
The OneNAND mode supports the following features:
• OneNAND Flash on up to two chip selects
• Supports only 16-bit data bus widths
• Supports asynchronous writes and reads
• Supports synchronous reads with continuous linear burst mode
• Does not support synchronous reads with wrap burst modes
• Programmable cycle timings for each chip select in asynchronous mode
• Supports booting of the device ARM processor from OneNAND-Flash located at CE0 via direct
execution
36
Memory Mapping
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 5
SPRUFX7A – July 2008 – Revised July 2010
Device Clocking
5.1
Overview
The device requires one primary reference clock. The reference clock frequency may be generated either
by crystal input or by external oscillator. The reference clock is the clock at the pins named MXI1/MXO1.
The reference clock drives two separate PLL controllers (PLLC1 and PLLC2). PLLC1 generates the clocks
required by the ARM, VPBE, VPSS, and peripherals. PLL2 generates the clock required by the DDR PHY.
A block diagram of the clocking architecture is shown in Figure 5-1. The PLLs are described further in
Chapter 6.
NOTE: Refer to the device-specific data manual for information on supported device clocking
configurations (e.g. supported PLL configurations).
SPRUFX7A – July 2008 – Revised July 2010
Device Clocking
Copyright © 2008–2010, Texas Instruments Incorporated
37
Overview
www.ti.com
Figure 5-1. Clocking Architecture
38
Device Clocking
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Peripheral Clocking Considerations
www.ti.com
5.2
Peripheral Clocking Considerations
5.2.1 Video Processing Back End Clocking
The Video Processing Back End (VPBE) is a sub-module of the Video Processing Subsystem (VPSS).
The VPBE is designed to interface with a variety of LCDs and an internal DAC module. There are two
asynchronous clock domains in the VPBE: an internal clock domain and an external clock domain. The
internal clock domain is driven by the VPSS clock (PLL1 SYSCLK4). The external clock domain is
configurable; you can select one of five sources:
•
•
•
•
•
24 MHz crystal input at MXI1
27 MHz crystal input at MXI2 (optional feature)
PLL1 SYSCLK3
EXTCLK pin (external VPBE clock input pin)
PCLK pin (VPFE pixel clock input pin)
For complete information on VPBE clocking, see the TMS320DM335 Digital Media System-on-Chip
(DMSoC) Video Processing Back End (VPBE) Reference Guide (SPRUFX9).
5.2.2 USB Clocking
The USB Controller is driven by two clocks: an output clock of PLL1 and an output clock of the USB Phy.
The USB Phy clock is configurable by the USB Phy clock source bits (PHYCLKSRC) in the USB Phy
control register (USB_PHY_CTL) in the System Control Module. USBPHY_CTL is described in Chapter 9.
When a 24-MHz crystal is used at MXI1/MXO1, set PHYCLKSRC to 0. This will present a 24-MHz clock to
the USB Phy. When a 36-MHz crystal is used at MXI1/MXO1, set PHYCLKSRC to 1. This will present a
12-MHz (36 MHz divided by three) crystal to the USB Phy. The USB Phy is capable of accepting only 24
MHz and 12 MHz; thus for USB support you must use either a 24-MHz or 36-MHz crystal at MXI1/MXO1.
For more information, see the TMS320DM335 Digital Media System-on-Chip (DMSoC) Universal Serial
Bus (USB) Controller Reference Guide (SPRUFY9).
SPRUFX7A – July 2008 – Revised July 2010
Device Clocking
Copyright © 2008–2010, Texas Instruments Incorporated
39
40
Device Clocking
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 6
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
6.1
PLL Controller Module
Two PLL controllers provide clocks to different components of the chip. PLL controller 1 (PLLC1) provides
clocks to most of the components of the chip. PLL controller 2 (PLLC2) provides clocks to the DDR PHY.
As
•
•
•
•
•
a module, the PLL controller provides the following:
Glitch-free transitions (on changing PLL settings)
Domain clocks alignment
Clock gating
PLL bypass
PLL power down
The various clock outputs given by the PLL controller are as follows:
• Domain clocks: SYSCLKn
• Bypass domain clock: SYSCLKBP
• Auxiliary clock from reference clock: AUXCLK
Various dividers that can be used are as follows:
• Pre-PLL divider: PREDIV
• Post-PLL divider: POSTDIV
• SYSCLK divider: PLLDIV1, …, PLLDIVn
• SYSCLKBP divider: BPDIV
Multipliers supported are as follows:
• PLL multiplier control: PLLM
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
41
PLLC1
6.2
www.ti.com
PLLC1
PLLC1 provides most of the device clocks. Software controls PLLC1 operation through the PLLC1
registers. The following list, Table 6-1, and Figure 6-1 describe the customizations of PLLC1.
• Provides primary device system clock
• Software configurable
• Accepts clock intput or internal oscillator input
• PLL pre-divider value is fixed to (/8)
• PLL multiplier value is programmable
• PLL post-divider value is programmable to either (/1) or (/2). See the data manual for all supported
configurations.
• Only SYSCLK[4:1] are used
• SYSCLK1 divider value is fixed to (/2)
• SYSCLK2 divider value is fixed to (/4)
• SYSCLK3 divider value is programmable
• SYSCLK4 divider value is programmable (program to (/4) or (/2). See the data manual for all supported
configurations.
• SYSCLKBP divider value is fixed to (/3)
• SYSCLK1 is routed to the ARM Subsystem
• SYSCLK2 is routed to peripherals
• SYSCLK3 is routed to the VPBE module
• SYSCLK4 is routed to the VPSS module
• AUXCLK is routed to peripherals with fixed clock domain and also to the output pin CLKOUT1
• SYSCLKBP is routed to the output pin CLKOUT2
Table 6-1. PLLC1 Output Clocks
42
Output Clock
Used By
PLLDIV
Divider
Notes
SYSCLK1
ARM Subsystem
/2
Fixed divider
SYSCLK2
Peripherals
/4
Fixed divider
SYSCLK3
VPBE (VENC module)
/n
Programmable divider (used to get
27 MHz for VENC)
SYSCLK4
VPSS
/4 or /2
Programmable divider
AUXCLK
Peripherals, CLKOUT1
none
No divider
SYSCLKBP
CLKOUT2
/3
Fixed divider
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLLC2
www.ti.com
Figure 6-1. PLLC1 Configuration
6.3
PLLC2
PLLC2 provides the DDR PHY clock and CLKOUT3. Software controls PLLC2 operation through the
PLLC2 registers. The following list, Table 6-2, and Figure 6-2 describe the customizations of PLLC2.
• Provides DDR PHY clock and CLKOUT3
• Software configurable
• Accepts clock input or internal oscillator input (same input as PLLC1)
• PLL pre-divider value is programmable
• PLL multiplier value is programmable
• PLL post-divider value is fixed to (/1)
• Only SYSCLK[1] is used
• SYSCLK1 divider value is fixed to (/1)
• SYSCLKBP divider value is fixed to (/8)
• SYSCLK1 is routed to the DDR PHY
• SYSCLKBP is routed to the output pin CLKOUT3
• AUXCLK is not used.
Table 6-2. PLLC2 Output Clocks
Output Clock
Used by
PLLDIV Divider
Notes
SYSCLK1
DDR PHY
/1
Fixed divider
SYSCLKBP
CLKOUT3
/8
Fixed divider
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
43
PLLC Functional Description
www.ti.com
Figure 6-2. PLLC2 Configuration
CLKMODE
PLLEN
CLKIN
OSCIN
1
Pre-DIV
(programmable)
PLL
Post-DIV
(/1)
1
0
PLLDIV1 (/1)
SYSCLK1
(DDR PHY)
BPDIV (/8)
SYSCLKBP
(CLKOUT3)
0
PLLM
(programmable)
6.4
PLLC Functional Description
This section describes the multiplier and dividers in the PLL controller as well as the bypass and PLL
modes of operation.
6.4.1 Multipliers and Dividers
The PLL controller is capable of programming the PLL controller through the PLL multiplier control register
(PLLM), PLL pre-divider control register (PREDIV), PLL post-divider control register (POSTDIV), and the
PLL system clock divider control registers (PLLDIVn). The dividers are either fixed or programmable. Any
divider may be enabled or disabled. When a divider is disabled, no clock is output from that clock divider,
so a divider only outputs a clock when it is enabled in its corresponding divider control register.
6.4.2 Bypass Mode
The multiplier PLLM, pre-divider PREDIV, post-divider POSTDIV, and the PLL may be bypassed
altogether. The PLL enable bit (PLLEN) in the PLL control/status register (PLLCTL) determines the PLL
controller mode. When PLLEN = 1, PLL mode is enabled and PLLM, PREDIV, POSTDIV, and the PLL are
used; when PLLEN = 0, bypass mode is enabled and PLLM, PREDIV, POSTDIV, and the PLL are
bypassed. When bypass mode is enabled, the input reference clock is directly input to the system clock
dividers (PLLDIVn). The PLL controller defaults, after reset, to bypass mode.
6.4.3 PLL Mode
When in PLL mode (PLLEN = 1), the input reference clock is supplied to divider PREDIV. Divider PREDIV
must be enabled (PREDEN = 1) in PLL mode. When divider PREDIV is enabled, the input reference clock
is divided down by the value in the PLL divider ratio bits (RATIO) in PREDIV. The output from divider
PREDIV is input to the PLL. The PLL multiplies the clock by the value in the PLL multiplier bits (PLLM) in
the PLL multiplier control register (PLLM). The output from the PLL (PLLOUT) is input to the divider
POSTDIV. Divider POSTDIV must be enabled (POSTEN = 1) in PLL mode. When divider POSTDIV is
enabled, the output from the PLL (PLLOUT) is divided down by the value in the PLL divider ratio bits
(RATIO) in POSTDIV. The output from divider POSTDIV is input to the system clock dividers (PLLDIVn).
When enabled (bit DnEN = 1), a system clock divider (PLLDIVn) divides-down the output clock of the PLL
by the value in the PLL divider ratio bits (RATIO) in PLLDIVn. The system clock dividers generate 50%
duty cycle output clocks SYSCLKn.
44
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Configuration
www.ti.com
6.5
PLL Configuration
This section describes the procedures for initializing and configuring the PLL controller.
6.5.1 PLL Mode and Bypass Mode
6.5.1.1
PLL Mode (PLLEN = 1)
This section describes the sequence for PLL mode.
1. In PLLCTL, write CLKMODE = 0 (internal oscillator) or 1 (input clock) to select the type of reference
clock. Write CLKMODE = 0 for internal oscillator. Write CLKMODE = 1 for square wave input clock.
2. In PLLCTL, write PLLENSRC = 0 (enable PLL enable). The bit PLLEN in PLLCTL has no effect unless
you write PLLENSRC = 0.
3. In PLLCTL, write PLLEN = 0 (bypass mode).
4. Wait at least 4 reference clock cycles for the PLLEN mux to change.
5. In PLLCTL, write PLLRST = 1 (assert PLL reset).
6. In PLLCTL, write PLLDIS = 1 (assert PLL disable).
7. In PLLCTL, write PLLPWRDN = 0 (power up the PLL).
8. In PLLCTL, write PLLDIS = 0 (de-assert PLL disable).
9. If necessary, write PREDIV, POSTDIV, and PLLM to set divider and multiplier values.
10. If necessary, write PLLDIV to set PLLDIVn dividers. Note that you must apply the GO operation to
change these dividers to new ratios. See Section 6.5.2.1.
11. Wait at least 5 miro-seconds for the PLL reset.
12. In PLLCTL, write PLLRST = 0 (de-assert PLL reset).
13. Wait at least 8000 reference clock cycles for the PLL to lock.
14. In PLLCTL, write PLLEN = 1 to (switch from bypass mode to PLL mode).
6.5.1.2
Bypass Mode (PLLEN = 0)
This section describes the sequence for bypass mode.
1. In PLLCTL, write PLLEN = 0 (bypass mode).
2. Wait at least four reference clock cycles for the PLLEN mux to change.
3. In PLLCTL, write PLLRST = 1 (assert PLL reset).
4. It is not necessary to program PREDIV, PLLM, and POSTDIV; because they have no effect in bypass
mode.
5. If necessary, program PLLDIVn. Note that you must apply the GO operation to change these dividers
to new ratios. See Section 6.5.2.1.
6.5.2 Changing Divider / Multiplier Ratios
This section describes how to change divider and multiplier values.
6.5.2.1
PLLDIVn and GO Operation
The GO operation is required to change the divider ratios of the PLLDIVn registers. Section
Section 6.5.2.1.1 discusses the GO operation. Section 6.5.2.1.2 gives the software steps required to
change the divider ratios.
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
45
PLL Configuration
www.ti.com
6.5.2.1.1 GO Operation
Writes to the RATIO field in the PLLDIVn registers do not change the dividers’ actual divide ratios
immediately. The PLLDIVn dividers only change to the new RATIO rates during a GO operation. This
section discusses the GO operation and how the SYSCLKs are aligned. The PLL controller clock align
control register (ALNCTL) determines which SYSCLKs must be aligned. Before a GO operation, you must
program ALNCTL so that the appropriate clocks are aligned during the GO operation. Always program
ALNCTL so that all SYSCLKs are aligned. A GO operation is initiated by setting the GOSET bit in
PLLCMD to 1. During a GO operation:
• Any SYSCLKn with the corresponding ALNn bit in ALNCTL set to 1 is paused at the low edge. Then
the PLL controller restarts all these SYSCLKs simultaneously, aligned at the rising edge. When the
SYSCLKs are restarted, SYSCLKn toggles at the rate programmed in the RATIO field in PLLDIVn.
• Any SYSCLKn with the corresponding ALNn bit in ALNCTL cleared to 0 remains free-running during a
GO operation. SYSCLKn is not modified to the new RATIO rate in PLLDIVn. SYSCLKn is not aligned
to other SYSCLKs. Do not program any ALNn bit in ALNCTL to 0; always program ALNCTL so that all
SYSCLKs are aligned.
• The GOSTAT bit in PLLSTAT is set to 1 throughout the duration of a GO operation.
Figure 6-3 is an example showing how the clocks are rising-edge aligned during a GO operation. Notice
that even though the SYSCLKy ratio remains the same, it is still stopped since ALN3 = 1 in ALNCTL.
Figure 6-3. Clock Ratio Change and Alignment with Go Operation
PLLDIV.RATIO
modified, but
SYSCLKn not
changed yet
GO operation:
GOSET set,
GOSTAT
changed to 1
End of GO operation. GOSTAT automatically
clears to 0 to indicate completion of clock rate change
SYSCLKs rising edge aligned
PLLSTAT
GOSTAT
SYSCLKw
/1 to /2,
set ALN1=1
SYSCLKx
/2 to /4,
set ALN2=1
SYSCLKy
/3 to /3,
set ALN3=1
SYSCLKz
/4 to /4,
set ALN4=0
6.5.2.1.2 Software Steps to Modify PLLDIVn Ratios
To modify the PLLDIVn ratios, perform the following steps:
1. Check that the GOSTAT bit in PLLSTAT is cleared to 0 to show that no GO operation is currently in
progress.
2. Program the RATIO field in PLLDIVn to the desired new divide-down rate. If the RATIO field changed,
the PLL controller will flag the change in the corresponding bit of DCHANGE.
3. Set the respective ALNn bits in ALNCTL to 1 to align any SYSCLKs after the GO operation.
4. Set the GOSET bit in PLLCMD to 1 to initiate the GO operation to change the divide values and align
the SYSCLKs as programmed.
5. Read the GOSTAT bit in PLLSTAT to make sure the bit goes back to 0 to indicate that the GO
operation has completed.
46
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Controller Register Map
www.ti.com
6.5.2.2
Pre-Divider (PREDIV), PLL Multiplier (PLLM), and Post-Divider (POSTDIV)
To change the values of PREDIV, PLLM, or POSTDIV; the PLL controller must first be placed in bypass
mode. Perform the following steps to modify PREDIV, PLLM, or POSTDIV ratios.
1. In PLLCTL, write PLLEN = 0 to place the PLL in bypass mode.
2. Wait at least 4 reference clock cycles for the PLLEN mux to change.
3. In PLLCTL, write PLLRST = 1 (assert PLL).
4. Modify PREDIV, PLLM, and/or POSTDIV ratios.
5. Wait at least 5 miro-seconds for the PLL reset.
6. In PLLCTL, write PLLRST = 0 (de-assert PLL reset)
7. Wait at least 8000 reference clock cycles for the PLL to lock.
8. In PLLCTL, write PLLEN = 1 (switch from bypass mode to PLL mode).
6.5.3 PLL Power Down and Wakeup
The PLL may be powered down, in which case the PLL controller is in bypass mode and the device runs
from input reference clock. The device is still able to run when the PLL is powered down because it is still
being clocked by the bypass clock.
Perform the following procedure to power down the PLL.
1. In PLLCTL, write PLLEN = 0 (bypass mode).
2. Wait at least 4 reference clock cycles for the PLLEN mux to change.
3. In PLLCTL, write PLLPWRDN = 1 to power down the PLL.
To wakeup the PLL from its power-down mode, follow the PLL sequence described in Section 6.5.1.1.
6.6
PLL Controller Register Map
6.6.1 Introduction
Table 6-3 lists the base address for the PLLC1 and PLLC2 registers. Table 6-4 lists the memory-mapped
registers for PLLC1 and PLLC2. Also, see the device memory map Table 4-2 for the base addresses of
these registers.
Table 6-3. PLL and Reset Controller Module Instance Table
Instance ID
Base Address
End Address
Size
PLLC1
0x1C4 0800
0x1C4 0BFF
0x 400
PLLC2
0x1C4 0C00
0x1C4 0FFF
0x 400
Table 6-4. PLLC Registers
Offset
Acronym
Register Description
00h
PID
Contains peripheral ID and revision information
Section 6.6.2
Section
100h
PLLCTL
Controls PLL operations
Section 6.6.3
110h
PLLM
PLL Multiplier Control
Section 6.6.4
114h
PREDIV
Pre-divider control
Section 6.6.5
118h
PLLDIV1
Divider 1 control-divider for SYSCLK1
Section 6.6.6
11Ch
PLLDIV2
Divider 2 control-divider for SYSCLK2
Section 6.6.7
120h
PLLDIV3
Divider 3 control-divider for SYSCLK3
Section 6.6.8
128h
POSTDIV
Post-divider control
Section 6.6.9
12Ch
BPDIV
Bypass divider control
Section 6.6.10
138h
PLLCMD
PLL controller command register
Section 6.6.11
13Ch
PLLSTAT
PLL controller status register
Section 6.6.12
140h
ALNCTL
SYSCLKn divider ratio change and align control register
Section 6.6.13
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
47
PLL Controller Register Map
www.ti.com
Table 6-4. PLLC Registers (continued)
Offset
48
Acronym
Register Description
144h
DCHANGE
PLL divider ratio change status register
Section 6.6.14
Section
148h
CKEN
Clock enable control AUXCLK
Section 6.6.15
14Ch
CKSTAT
Clock status for SYSCLKBP and AUXCLK
Section 6.6.16
150h
SYSTAT
Clock status for SYSCLKn clocks
Section 6.6.17
160h
PLLDIV4
Divider 4 control-divider for SYSCLK4
Section 6.6.18
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Controller Register Map
www.ti.com
6.6.2 Peripheral ID Register (PID)
The peripheral ID register (PID) is shown in Figure 6-4 and described in Table 6-5 for PLLC1 and PLLC2.
Note that bit field descriptions shown in Figure 6-4 are given for PLLC1 (top) and PLLC2 (bottom). This
format is used in the bit description figures throughout this section.
Figure 6-4. Peripheral ID Register (PID)
31
24
23
16
15
8
7
0
Reserved
TYPE
CLASS
REV
R-0
R-1
R-8
R-D
LEGEND: R = Read, W = Write, n = value at reset
Table 6-5. Peripheral ID Register (PID) Field Descriptions
Bit
Field
Value
0
Description
31-24
Reserved
23-16
TYPE
0-FFh
Reserved
Peripheral Type: 0x01 to identify as PLLC
15-8
CLASS
0-FFh
Peripheral Class: 0x08
7-0
REV
0-FFh
Peripheral Revision: 0x0D
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
49
PLL Controller Register Map
www.ti.com
6.6.3 PLL Control (PLLCTL)
The PLL control register is shown in Figure 6-5 and described in Table 6-6 for PLLC1 and PLLC2.
Figure 6-5. PLL Control Register (PLLCTL)
31
16
Reserved
R-0
15
9
Reserved
8
7
6
5
4
3
2
CLKM Reserv Reserv PLLEN PLLDI PLLRS Reserv
ODE
ed
ed
SRC
S
T
ed
R-0
R/W-0
R-0
R-1
R/W-1
R/W-1
R/W-1
R-0
1
0
PLLPWRDN
PLLEN
R/W-1
R/W-0
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 6-6. PLL Control Register (PLLCTL) Field Descriptions
Bit
31-9
8
7-6
5
4
3
Value
Reserved
0
CLKMODE
Reserved
Internal oscillator
1
CLKIN square wave
0
Reserved
PLL enable source. This bit must be cleared to 0 before PLLCTL.PLLEN will have any effect.
0
PLL enable is controlled by the register bit PLLCTL.PLLEN
1
PLL enable is controlled by internal test hardware
PLL disable
0
PLL disable de-assert
1
PLL disable assert
PLLRST
1
PLLPWRDN
Reserved
0
PLLDIS
Reserved
Description
Reference Clock Selection. This bit has no effect for PLLC2. In the device, a single oscillator or
CLKIN square wave is input to both PLLC1 and PLLC2.
PLLENSRC
2
0
50
Field
PLL reset
0
PLL reset de-assert
1
PLL reset assert
0
Reserved
PLL power-down
0
PLL operating, not powered down
1
PLL power-down
PLLEN
PLL Mode Enable. Bit PLLCTL.PLLENSRC must be cleared to 0 before PLLCTL.PLLEN will have
any effect.
0
Bypass mode
1
PLL mode, not bypassed
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Controller Register Map
www.ti.com
6.6.4 PLL Multiplier Control Register (PLLM)
The PLL multiplier control register (PLLM) is shown in Figure 6-6 and described in Table 6-7 for PLLC1
and PLLC2. For PLLC1, the default multiplier value is 180. For PLLC2, the default multiplier value is 92.
You may change the multiplier value from 92 to 184.
Figure 6-6. PLL Multiplier Control Register (PLLM)
31
8
7
0
Reserved
PLLM
R-0
R/W0xB3 (1)/0x5B (2)
LEGEND: R = Read, W = Write, n = value at reset
(1)
(2)
Reset value of the field of register belonging to PLLC1.
Reset value of the field of register belonging to PLLC2.
Table 6-7. PLL Multiplier Control Register (PLLM) Field Descriptions
Bit
Field
31-8
Reserved
7-0
PLLM
Value
0
5BhB7h
Description
Reserved
PLL Multiplier. Multiplier value = PLLM + 1
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
51
PLL Controller Register Map
www.ti.com
6.6.5 PLL Pre-Divider Control Register (PREDIV)
The PLL pre-divider control register (PREDIV) is shown in Figure 6-7 and described in Table 6-8 for
PLLC1 and PLLC2. For PLLC1, the pre-divider ratio is fixed (cannot be changed) to 8. For PLLC2, the
pre-divider ratio defaults to 8, however, it may be changed to allow for lower frequencies.
Figure 6-7. PLL Pre-Divider Control Register (PREDIV)
31
16
15
14
5
4
0
Reserved
PREDEN
Reserved
RATIO
R-0
R-1
R-0
R-7 (1)/R/W-7 (2)
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
(1)
Reset value of the field of register belonging to PLLC1.
Reset value of the field of register belonging to PLLC2.
(2)
Table 6-8. PLL Pre-Divider Control (PREDIV) Field Descriptions
Bit
Field
31-16
Reserved
15
PREDEN
52
14-5
Reserved
4-0
RATIO
Value
0
Description
Reserved
Pre-divider enable. For PLLC1 and PLLC2, this bit must always be set to 1.
0
Disable
1
Enable
0
Reserved
0-1Fh
Divider ratio for post divider. Ratio value = RATIO + 1
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Controller Register Map
www.ti.com
6.6.6 PLL Controller Divider 1 Register (PLLDIV1)
The PLL controller divider 1 register (PLLDIV1) is shown in Figure 6-8 and described in Table 6-9 for
PLLC1 and PLLC2. PLLDIV1 controls the divider for SYSCLK1. The divider for PLLC1 SYSCLK1 is fixed
(cannot be changed) to (/2). The divider for PLLC2 SYSCLK1 is fixed (cannot be changed) to (/1). For
PLLC1 the divider must always be endabled (bit D1EN=1).
Figure 6-8. PLL Controller Divider 1 Register (PLLDIV1)
31
16
15
14
5
4
0
Reserved
D1EN
Reserved
RATIO
R-0
R/W-1 (1)/-0 (2)
R-0
R-1 (1)/-0 (2)
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
(1)
(2)
Reset value of the field of register belonging to PLLC1.
Reset value of the field of register belonging to PLLC2.
Table 6-9. PLL Controller Divider 1 Register (PLLDIV1) Field Descriptions
Bit
31-16
15
Field
Reserved
Value
0
D1EN
14-5
Reserved
4-0
RATIO
Description
Reserved
Divider enable for SYSCLK1. For PLLC1, this bit must always be set to 1. For PLLC2, this bit may
be set to 0 or 1.
0
Disable
1
Enable
0
Reserved
0-1Fh
Divider ratio for SYSCLK1. Ratio value = RATIO + 1
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
53
PLL Controller Register Map
www.ti.com
6.6.7 PLL Controller Divider 2 Register (PLLDIV2)
The PLL controller divider 2 register (PLLDIV2) is shown in Figure 6-9 and described in Table 6-10 for
PLLC1 and PLLC2. PLLDIV2 controls the divider for SYSCLK2. The divider for PLLC1 SYSCLK2 is fixed
(cannot be changed) to (/4). The divider for PLLC2 SYSCLK2 is fixed (cannot be changed) to (/2). For
PLLC1 and PLLC2, the divider must always be enabled (bit D2EN=1).
Figure 6-9. PLL Controller Divider 2 Register (PLLDIV2)
31
16
15
14
5
4
0
Reserved
D2EN
Reserved
RATIO
R-0
R/W-1
R-0
R-3 (1)/-1 (2)
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
(1)
Reset value of the field of register belonging to PLLC1.
Reset value of the field of register belonging to PLLC2.
(2)
Table 6-10. PLL Controller Divider 2 Register (PLLDIV2) Field Descriptions
Bit
31-16
15
54
Field
Value
Reserved
0
D2EN
14-5
Reserved
4-0
RATIO
Description
Reserved
Divider enable for SYSCLK2. For PLLC1 and PLLC2, this bit must always be set to 1.
0
Disable
1
Enable
0
Reserved
0-1Fh
Divider ratio for SYSCLK2. Ratio value = RATIO + 1
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Controller Register Map
www.ti.com
6.6.8 PLL Controller Divider 3 Register (PLLDIV3)
The PLL controller divider 3 register (PLLDIV3) is shown in Figure 6-10 and described in Table 6-11 for
PLLC1 and PLLC2. PLLDIV3 controls the divider for SYSCLK3. The divider for PLLC1 SYSCLK3 is
programmable. The default value is (/10). For PLLC1, the divider must always be enabled (bit D3EN=1).
The PLLDIV3 register is not applicable to PLLC2, therefore all PLLDIV3 bit fields are reserved for PLLC2.
Figure 6-10. PLL Controller Divider 3 Register (PLLDIV3)
31
16
15
14
5
4
0
Reserved
D3EN
Reserved
RATIO
R-0
R/W-1
R-0
R/W-0x0F
LEGEND: R = Read only; -n = value after reset
Table 6-11. PLL Controller Divider 3 Register (PLLDIV3) Field Descriptions
Bit
31-16
15
Field
Reserved
Value
0
D3EN
14-5
Reserved
4-0
RATIO
Description
Reserved
Divider enable for SYSCLK3. For PLLC1, this bit must always be set to 1.
0
Disable
1
Enable
0
Reserved
0-1Fh
Divider ratio for SYSCLK3. Ratio value = RATIO + 1
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
55
PLL Controller Register Map
www.ti.com
6.6.9 PLL Post-Divider Control Register (POSTDIV)
The PLL post-divider control register (POSTDIV) is shown in Figure 6-11 and described in Table 6-12 for
PLLC1 and PLLC2. POSTDIV is a read only register. The post divider ratio for PLLC1 may be changed by
the bit PLL1_POSTDIV in the miscellaneous control register (MISC) in the System Control module. See
Section 9.10.16 for a description of MISC register. By default, PLL1_POSTDIV is configured such that the
post divider is equal to 2. Therefore, in order to enable higher frequencies, you must change bit
PLL1_POSTDIV such that the post divider is equal to 1. But for 135Mhz devices it is not possible to
change the post divider from the default value of 2, and thus the frequencies are limited. The post divider
for PLLC2 is always fixed (cannot be changed) to 1.
Figure 6-11. PLL Post-Divider Control Register (POSTDIV)
31
16
15
14
5
4
0
Reserved
POSTDEN
Reserved
RATIO
R-0
R-1
R-0
R-0
LEGEND: R = Read only; -n = value after reset
Table 6-12. PLL Post-Divider Control (POSTDIV) Field Descriptions
Bit
Field
31-16
Reserved
15
POSTDEN
56
14-5
Reserved
4-0
RATIO
Value
0
Description
Reserved
Post-divider enable. This bit must always be set to 1.
0
Disable
1
Enable
0
Reserved
0-1Fh
Divider ratio for post divider. Ratio value = RATIO + 1
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Controller Register Map
www.ti.com
6.6.10 Bypass Divider Register (BPDIV)
The bypass divider register (BPDIV) is shown in Figure 6-12 and described in Table 6-13 for PLLC1 and
PLLC2. BPDIV controls the divider for SYSCLKBP. The divider for PLLC1 SYSCLKBP is fixed (cannot be
changed) to 3. The divider for PLLC2 SYSCLKBP is fixed (cannot be changed) to 8. For PLLC1 and
PLLC2, the divider must always be enabled (bit BPDEN=1).
Figure 6-12. Bypass Divider Register (BPDIV)
31
16
15
14
5
4
0
Reserved
BPDEN
Reserved
RATIO
R-0
R/W-1
R-0
R-2 (1)/-7 (2)
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
(1)
(2)
Reset value of the field of register belonging to PLLC1.
Reset value of the field of register belonging to PLLC2.
Table 6-13. Bypass Divider Register (BPDIV) Field Descriptions
Bit
31-16
15
Field
Reserved
Value
0
BPDEN
14-5
Reserved
4-0
RATIO
Description
Reserved
Divider enable for bypass clock. This bit must always be set to 1.
0
Disable
1
Enable
0
Reserved
0-1Fh
Divider ratio for bypass clock
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
57
PLL Controller Register Map
www.ti.com
6.6.11 PLL Controller Command Register (PLLCMD)
The PLL controller command register (PLLCMD) is shown in Figure 6-13 and described in Table 6-14 for
PLLC1 and PLLC2. PLLCMD is used to initiate a GO operation for SYSCLKn ratio change and/or phase
alignment.
Figure 6-13. PLL Controller Command Register (PLLCMD)
31
1
0
Reserved
GOSET
R-0
R/W-0
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 6-14. PLL Controller Command Register (PLLCMD) Field Descriptions
Bit
31-1
0
58
Field
Value
Reserved
0
GOSET
Description
Reserved
GO operation command for SYSCLKn ratio change and/or phase alignment. Before setting this bit
to 1 to initiate a GO operation, check the GOSTAT bit in the PLLSTAT register to ensure all
previous GO operations have completed.
0
Clear bit. Write of 0 clears bit to 0.
1
Initiates GO operation. Write of 1 initiates GO operation. Once set, GOSET remains set but further
writes of 1 can initiate the GO operation.
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Controller Register Map
www.ti.com
6.6.12 PLL Controller Status Register (PLLSTAT)
The PLL controller status register (PLLSTAT) is shown in Figure 6-14 and described in Table 6-15 for
PLLC1 and PLLC2. PLLSTAT shows the status of changing SYSCLKn divider ratios and/or phase
alignment.
Figure 6-14. PLL Controller Status Register (PLLSTAT)
31
1
0
Reserved
GOSTAT
R-0
R-0
LEGEND: R = Read, n = value at reset
Table 6-15. PLL Controller Status (PLLSTAT) Field Descriptions
Bit
Field
31-1
Reserved
0
GOSTAT
Value
0
Description
Reserved
GO status
0
GO operation is not in progress. SYSCLK divider ratios and/or phase alignment are not being
changed.
1
GO operation is in progress. SYSCLK divider ratios and/or phase alignment are changing.
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
59
PLL Controller Register Map
www.ti.com
6.6.13 PLL Controller Clock Align Control Register (ALNCTL)
The PLL controller clock align control register (ALNCTL) is shown in Figure 6-15 and described in
Table 6-16 for PLLC1 and PLLC2. ALNCTL controls SYSCLK divider ratio change and alignment when
GOSET bit in PLLCMD is set to 1. All SYSCLKn must be aligned. You should not change the defaults
values of this register.
Figure 6-15. PLL Controller Clock Align Control Register (ALNCTL)
31
8
7
0
Reserved
ALNn
R-0
R/W
-0x1F (1)/-0x0 (2)
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
(1)
(2)
Reset value of the field of register belonging to PLLC1.
Reset value of the field of register belonging to PLLC2.
Table 6-16. PLL Controller Clock Align Control (ALNCTL) Field Descriptions
Bit
Field
31-8
Reserved
7-0
ALNn
Value
0
0-1Fh
Description
Reserved
SYSCLKn divider ratio change and alignment enable. Do not change the default values of these
fields.
ALN0 is divider ratio change and alignment enable for SYSCLK1
ALN1 is divider ratio change and alignment enable for SYSCLK2
ALN2 is divider ratio change and alignment enable for SYSCLK3 (this bit is reserved for PLLC2)
ALN3 is divider ratio change and alignment enable for SYSCLK4 (this bit is reserved for PLLC2)
ALN[7:4] Reserved
Do not change SYSCLKn divide ratio nor align SYSCLKn to other SYSCLKs during GO operation.
SYSCLKn is left free-running when the GOSET bit in PLLCMD is set to 1.
Change SYSCLKn ratio programmed in the RATIO bit in PLLDIVn and align SYSCLKn to other
SYSCLKs selected in ALNCTL when the GOSET bit in PLLCMD is set to 1.
60
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Controller Register Map
www.ti.com
6.6.14 PLLDIV Ratio Change Status Register (DCHANGE)
The PLLDIV ratio change status register (DCHANGE) is shown in Figure 6-16 and described in Table 6-17
for PLLC1 and PLLC2. Whenever a different ratio is written to the PLLDIVn registers, the PLLC flags the
change in DCHANGE. During the GO operation, the PLL controller will only change the divide ratio of the
SYSCLKs with the bit set in DCHANGE. Note that the ALNCTL register determines if that clock also
needs to be aligned to other clocks.
Figure 6-16. PLLDIV Ratio Change Status (DCHANGE)
31
8
7
0
Reserved
SYSn
R-0
R-0
LEGEND: R = Read, n = value at reset
Table 6-17. PLLDIV Ratio Change Status (DCHANGE) Field Descriptions
Bit
Field
31-8
Reserved
7-0
SYSn
Value
0
0-1Fh
Description
Reserved
SYSCLKn divider ratio has been modified status. When SYSn is 1, this bit indicates SYSCLKn ratio
will be modified during GO operation.
SYS0 shows divider ratio has been modified for SYSCLK1
SYS1 shows divider ratio has been modified for SYSCLK2
SYS2 shows divider ratio has been modified for SYSCLK3 (this bit is reserved for PLLC2)
SYS3 shows divider ratio has been modified for SYSCLK4 (this bit is reserved for PLLC2)
SYS[7:4] Reserved
SYSCLKn divider ratio has not been modified. When PLLCMD.GOSET is set, SYSCLKn is not
affected.
SYSCLKn divider ratio has been modified. When PLLCMD.GOSET is set, SYSCLKn divider ratio
will get updated.
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
61
PLL Controller Register Map
www.ti.com
6.6.15 Clock Enable Control Register (CKEN)
The clock enable control register (CKEN) is shown in Figure 6-17 and described in Table 6-18 for PLLC1
and PLLC2. The CKEN register is used to enable the PLL auxiliary clock (AUXCLK). The auxiliary clock
should always be enabled, so you must always set this bit to 1. PLLC2 does not use the auxiliary clock, so
the CKEN register is not applicable to PLLC2 and all CKEN bit fields are reserved for PLLC2.
Figure 6-17. Clock Enable Control Register (CKEN)
31
1
0
Reserved
AUXEN
R-0
R/W-1
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 6-18. Clock Enable Control Register (CKEN) Field Descriptions
Bit
31-1
0
62
Field
Value
Reserved
0
AUXEN
Description
Reserved
Auxiliary clock (AUXCLK) enable. For PLLC1, this bit should always be set to 1.
0
Disable
1
Enable
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Controller Register Map
www.ti.com
6.6.16 Clock Status Register (CKSTAT)
The clock status (CKSTAT) register is shown in Figure 6-18 and described in Table 6-19 for PLLC1 and
PLLC2. CKSTAT shows the on/off status of the bypass clock (SYSCLKBP) and the auxiliary clock
(AUXCLK). PLLC2 does not use the auxiliary clock, so the AUXEN bit field is reserved for PLLC2.
Figure 6-18. Clock Status Register (CKSTAT)
31
4
3
2
1
0
Reserved
BPON
Reserved
AUXEN
R-0
R-1
R-0
R-1
LEGEND: R = Read, n = value at reset
Table 6-19. Clock Status Register (CKSTAT) Field Descriptions
Bit
31-4
3
2-1
0
Field
Reserved
Value
0
BPON
Reserved
Description
Reserved
SYSCLKBP status. Shows the clock on/off status for SYSCLKBP.
0
Bypass clock is off
1
Bypass clock is on
0
Reserved
AUXEN
AUXCLK status. Shows the clock on/off status for AUXCLK.
0
Aux clock is off
1
Aux clock is on
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
63
PLL Controller Register Map
www.ti.com
6.6.17 SYSCLK Status Register (SYSTAT)
The SYSCLK status register (SYSTAT) is shown in Figure 6-19 and described in Table 6-20 for PLLC1
and PLLC2. SYSTAT shows the on/off status of the SYSCLKn clocks.
Figure 6-19. SYSCLK Status Register (SYSTAT)
31
8
7
0
Reserved
SYSONn
R-0
R-7 (1)/-2 (2)
LEGEND: R = Read, n = value at reset
(1)
(2)
Reset value of the field of register belonging to PLLC1.
Reset value of the field of register belonging to PLLC2.
Table 6-20. SYSCLK Status Register (SYSTAT) Field Descriptions
Bit
Field
Value
31-8
Reserved
0
7-0
SYSONn
0-1Fh
Description
Reserved
SYSCLKn status. Shows the clock on/off status for SYSCLKn.
SYSON0 shows clock on/off status for SYSCLK1
SYSON1 shows clock on/off status for SYSCLK2
SYSON2 shows clock on/off status for SYSCLK3 (this bit is reserved for PLLC2)
SYSON3 shows clock on/off status for SYSCLK4 (this bit is reserved for PLLC2)
SYSON[7:4] Reserved
SYSCLKn is off
SYSCLKn is on
64
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PLL Controller Register Map
www.ti.com
6.6.18 PLL Controller Divider 4 Register (PLLDIV4)
The PLL controller divider 4 register (PLLDIV4) is shown in Figure 6-20 and described in Table 6-21 for
PLLC1 and PLLC2. PLLDIV4 controls the divider for SYSCLK4. The divider for PLLC1 SYSCLK4 is
programmable. See the data manual for all supported configurations. For PLLC1, the divider must always
be enabled (bit D4EN=1). The PLLDIV4 register is not applicable to PLLC2, therefore all PLLDIV4 bit
fields are reserved for PLLC2 .
Figure 6-20. PLL Controller Divider 4 Register (PLLDIV4)
31
16
15
14
5
4
0
Reserved
D4EN
Reserved
RATIO
R-0
R/W-0
R-0
R/W-3
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 6-21. PLL Controller Divider 4 Register (PLLDIV4) Field Descriptions
Bit
31-16
15
Field
Reserved
Value
0
D4EN
14-5
Reserved
4-0
RATIO
Description
Reserved
Divider enable for SYSCLK4. For PLLC1, this bit must always be set to 1.
0
Disable
1
Enable
0
Reserved
0-1Fh
Divider ratio for SYSCLK4. Ratio value = RATIO + 1
SPRUFX7A – July 2008 – Revised July 2010
PLL Controllers (PLLCs)
Copyright © 2008–2010, Texas Instruments Incorporated
65
66
PLL Controllers (PLLCs)
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 7
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
7.1
Introduction
In the DM335 system, the Power and Sleep Controller (PSC) is responsible for managing transitions of
system power on/off, clock on/off, and reset. A block diagram of the PSC is shown in Figure 7-1. Many of
the operations of the PSC are transparent to software, such as power-on-reset operations. However, the
PSC provides you with an interface to control several important clock and reset operations. The clock and
reset operations are the focus of this chapter.
The PSC includes the following features:
• Manages chip power-on/off, clock on/off, and resets
• Provides a software interface to:
– Control module clock ON/OFF
– Control module resets
• Supports IcePick emulation features: power, clock, and reset
Figure 7-1. Power and Sleep Controller (PSC)
DMSoC
PLLC
clks
PSC
Interrupt
arm_clock
arm_mreset
arm_power
ARM
AINTC
Emulation
RESETN
VDD
7.2
Always on
domain
module_clock MODx
module_mreset
module_power
Power Domain and Module Topology
The DM335 system includes one power domain and forty-one separate modules, as shown in Figure 7-2
and summarized in Table 7-1. The device's power domain is always on when the chip is on, and it is
referred to as the AlwaysOn power domain. The AlwaysOn domain is powered by the VDD pins of the
device chip (see the device-specific Data Manual). All of the device modules lie within the AlwaysOn
power domain.
Table 7-1 shows the default state of each module after reset (power-on-reset, warm reset, and max reset).
These states are defined in the following sections. The default state of some modules is determined by the
boot select pins BTSEL[1:0]. For example, if UART boot mode is selected (BTSEL[1:0]=11), then the
default state for the UART module is Enable. See Chapter 10 and Chapter 11 for additional information on
reset, default configurations, and booting.
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
67
Power Domain and Module Topology
www.ti.com
Figure 7-2. Power Domain and Module Topology
UART 0
UART 1
RTO
I2C
Timer 0
CLKIN
domain
Timer 1
PWM 3
Timer 2
Timer 3
PWM 2
PWM 0
PWM 1
ARM
subsystem
CLKDIV 2
domain
Always on
power domain
IcePick
USB
AEMIF
ASP1
Power
ASP0
CLDIV 4
domain
Sys Logic
MMC1
MMC0
Bus Logic
GPIO
SPI1
PSC
DDR
EDMA
VPSS
CLKDIV 2
domain
(PLL1)
68
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Power Domain and Module Topology
www.ti.com
Table 7-1. Module Configuration
Default States
Module
Number
Module Name
Power Domain
Power Domain State
Module State
0
VPSS Master
AlwaysOn
ON
SyncRst
1
VPSS Slave
AlwaysOn
ON
SyncRst
2
EDMA (CC)
AlwaysOn
ON
BTSEL[1:0] = 00 – Enable (NAND, SPI)
3
EDMA (TC0)
AlwaysOn
ON
4
EDMA (TC1)
AlwaysOn
ON
5
Timer3
AlwaysOn
ON
SyncRst
6
SPI1
AlwaysOn
ON
SyncRst
7
MMC/SD1
AlwaysOn
ON
SyncRst
8
ASP1
AlwaysOn
ON
SyncRst
9
USB
AlwaysOn
ON
SyncRst
10
PWM3
AlwaysOn
ON
SyncRst
11
SPI2
AlwaysOn
ON
SyncRst
12
RTO
AlwaysOn
ON
SyncRst
13
DDR EMIF
AlwaysOn
ON
SyncRst
14
AEMIF
AlwaysOn
ON
BTSEL[1:0] = 00 – Enable (NAND, SPI)
BTSEL[1:0] = 01 – Enable (OneNAND)
BTSEL[1:0] = 10 – SyncRst (MMC/SD)
BTSEL[1:0] = 11 – Enable (UART)
BTSEL[1:0] = 01 – Enable (OneNAND)
BTSEL[1:0] = 10 – SyncRst (MMC/SD)
BTSEL[1:0] = 11 – Enable (UART)
15
MMC/SD0
AlwaysOn
ON
BTSEL[1:0] = 00 – SyncRst (NAND,
SPI)
BTSEL[1:0] = 01 – SyncRst (OneNAND)
BTSEL[1:0] = 10 – Enable (MMC/SD)
BTSEL[1:0] = 11 – SyncRst (UART)
16
Reserved
Reserved
Reserved
Reserved
17
ASP
AlwaysOn
ON
SyncRst
18
I2C
AlwaysOn
ON
19
UART0
AlwaysOn
ON
SyncRst
BTSEL[1:0] = 00 – SyncRst (NAND,
SPI)
BTSEL[1:0] = 01 – SyncRst (OneNAND)
BTSEL[1:0] = 10 – SyncRst (MMC/SD)
BTSEL[1:0] = 11 – Enable (UART)
20
UART1
AlwaysOn
ON
21
UART2
AlwaysOn
ON
SyncRst
SyncRst
22
SPI0
AlwaysOn
ON
BTSEL[1:0] = 00 – Enable (NAND, SPI)
BTSEL[1:0] = 01 – SyncRst (OneNAND)
BTSEL[1:0] = 10 – Enable (MMC/SD)
BTSEL[1:0] = 11 – Enable (UART)
23
PWM0
AlwaysOn
ON
SyncRst
24
PWM1
AlwaysOn
ON
SyncRst
25
PWM2
AlwaysOn
ON
SyncRst
26
GPIO
AlwaysOn
ON
SyncRst
27
TIMER0
AlwaysOn
ON
BTSEL[1:0] = 00 – Enable (NAND, SPI)
BTSEL[1:0] = 01 – Enable (OneNAND)
BTSEL[1:0] = 10 – Enable (MMC/SD)
BTSEL[1:0] = 11 – Enable (UART)
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
69
Power Domain and Module States Defined
www.ti.com
Table 7-1. Module Configuration (continued)
Default States
28
7.3
TIMER1
AlwaysOn
ON
SyncRst
29
TIMER2
AlwaysOn
ON
Enable
30
System Module
AlwaysOn
ON
Enable
31
ARM
AlwaysOn
ON
Enable
32
BUS
AlwaysOn
ON
Enable
33
BUS
AlwaysOn
ON
Enable
34
BUS
AlwaysOn
ON
Enable
35
BUS
AlwaysOn
ON
Enable
36
BUS
AlwaysOn
ON
Enable
37
BUS
AlwaysOn
ON
Enable
38
BUS
AlwaysOn
ON
Enable
39-40
Reserved
Reserved
Reserved
Reserved
41
VPSS DAC
Always On
ON
SyncRst
Power Domain and Module States Defined
7.3.1 Power Domain States
A power domain can only be in one of two states: ON or OFF, defined as follows:
• ON: power to the power domain is on.
• OFF: power to the power domain is off.
In the device system, the AlwaysOn Power Domain is always in the ON state when the chip is
powered-on.
7.3.2 Module States
A module can be in one of four states: Disable, Enable, SwRstDisable, or SyncReset. These four states
correspond to combinations of module reset asserted or de-asserted and module clock on or off, as
shown in Table 7-2.
NOTE: Reset of a module is defined to completely reset the module hardware, such that all module
hardware returns to its default state. See Chapter 10 and Chapter 11 for more information on
module reset.
Table 7-2. Module States
70
Module State
Module Reset
Module Clock
Enable
De-asserted
On
Disable
De-asserted
Off
Sync Reset
Asserted
On
SwRstDisable
Asserted
Off
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Executing State Transitions
www.ti.com
The module states are defined as follows:
Module State
Module State Definition
Enable
A module in the enable state has its module reset de-asserted and it has its clock on.
This is the normal run-time state for a given module.
Disable
A module in the disable state has its module reset de-asserted and it has its clock off.
This state is typically used for disabling a module clock to save static power. The
device is designed in full static CMOS, so when you stop a module clock, it retains the
module's state. When the clock is restarted, the module resumes operating from the
stopping point.
SyncRst
A module in the SyncReset state has its module reset asserted and it has its clock on.
After initial power-on, most modules are in the SyncRst state by default (see
Table 7-1). Generally, software is not expected to initiate this state.
SwRstDisable
7.4
A module in the SwResetDisable state has its module reset asserted and it has its
clock set to off. Generally, software is not expected to initiate this state.
Executing State Transitions
This section describes how to execute state transitions for power domains and modules.
7.4.1 Power Domain State Transitions
The AlwaysOn Power Domain is automatically transitioned to the ON state upon power-on-reset. No
software intervention is required; the transition is automatically handled by the hardware.
7.4.2 Module State Transitions
This section describes the procedure for transitioning the module state. The procedure for module state
transitions is as follows (‘x’ corresponds to the module):
• Wait for the GOSTATx bit in PTSTAT to clear to 0x0. You must wait for any previously initiated
transitions to finish before initiating a new transition.
• Set the NEXT bit in MDCTL[x] to SwRstDisable (0x0), SyncReset (0x1), Disable (0x2), or Enable (0x3).
NOTE: You may set transitions in multiple NEXT bits in MDCTL[x] in this step.
•
•
7.5
Set the GOx bit in PTCMD to 0x1 to initiate the transition(s).
Wait for the GOSTATx bit in PTSTAT to clear to 0x0. The module is only safely in the new state after
the GOSTATx bit in PTSTAT clears to 0x0.
IcePick Emulation Support in the PSC
The PSC supports IcePick commands that allow IcePick aware emulation tools to have some control over
the state of power domains and modules.
In particular, the PSC supports the following IcePick emulation commands:
Table 7-3. IcePick Emulation Commands
Power On and Enable Features
Power On and Enable Descriptions
Inhibit Sleep
Allows emulation to prevent software from Assert Reset
transitioning the power domain out of the
on state and to prevent software from
transitioning the module out of the enable
state
Reset Features
Allows emulation to assert
the module’s local reset.
Force Power
Allows emulation to force the power
domain into an on state
Allows emulation to keep
local reset asserted for an
extended period of time
after software initiates local
reset de-assert.
Wait Reset
SPRUFX7A – July 2008 – Revised July 2010
Reset Descriptions
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
71
PSC Interrupts
www.ti.com
Table 7-3. IcePick Emulation Commands (continued)
Power On and Enable Features
Power On and Enable Descriptions
Reset Features
Reset Descriptions
Force Active
Allows emulation to force the power
domain into an on state and force the
module into the enable state.
Block Reset
Allows emulation to block
software initiated local and
module resets.
NOTE: When emulation tools assert the ForcePower or ForceActive states, state transition is
dependent on the ARM applying power and notifying the PSC. If the ARM does not complete
the process, then the state transition does not complete and the emulation tools may hang.
When emulation tools remove the above commands, the PSC immediately executes a state
transition based on the current values in the NEXT bit in PDCTL and the NEXT bit in MDCTL
register fields, as set by software.
7.6
PSC Interrupts
The PSC has an interrupt that is tied to the ARM Interrupt Controller. This interrupt is named PSCINT in
the ARM interrupt map. The PSC interrupt is generated when certain IcePick emulation events occur.
7.6.1 Interrupt Events
The PSC interrupt is generated when any of the following events occur:
• Power Domain Emulation Event
• Module State Emulation Event
• Module Local Reset Emulation Event
• External Power Control Pending Event
These interrupt events are summarized in Table 7-4 and described in more detail in this section.
Table 7-4. PSC Interrupt Events
Interrupt Enable Bits
7.6.1.1
Interrupt Condition
Control Register
Status Bit
PDCTLx
EMUIHB
MDCTLx
EMUIHB
Interrupt occurs when the emulation alters the power domain state
Interrupt occurs when the emulation alters the module state
MDCTLx
EMURST
Interrupt occurs when the emulation alters the module's local reset
EPCPR
EPCx
Interrupt occurs during the power domain on/off sequence
Power Domain Emulation Events
A power domain emulation event occurs when emulation alters the state of a power domain. Status is
reflected in the EMUIHB bit in PDSTATx. In particular, a power domain emulation event occurs under the
following conditions:
• When inhibit sleep is asserted by emulation and software attempts to transition the module out of the
on state
• When force power is asserted by emulation and power domain is not already in the on state
• When force active is asserted by emulation and power domain is not already in the on state
7.6.1.2
Module State Emulation Events
A module state emulation event occurs when emulation alters the state of a module. Status is reflected in
the EMUIHB bit in the MDSTAT[x]. In particular, a module state emulation event occurs under the
following conditions:
• When inhibit sleep is asserted by emulation and software attempts to transition the module out of the
enable state
72
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PSC Interrupts
www.ti.com
•
7.6.1.3
When force active is asserted by emulation and module is not already in the enable state
Local Reset Emulation Events
A local reset emulation event occurs when emulation alters the local reset of a module. Status is reflected
in the EMRST bit in MDSTAT[x]. In particular, a module local reset emulation event occurs under the
following conditions:
• When assert reset is asserted by emulation although software de-asserted the local reset
• When wait reset is asserted by emulation
• When block reset is asserted by emulation and software attempts to change the state of local reset
7.6.1.4
External Power Control Pending Event
An external power control pending event occurs during the power domain power on or power off
sequences. The PSC triggers this interrupt as an indication that it is ready for software to apply or remove
power during a power on or power off transition sequence, respectively. Status for this interrupt is
reflected in the EPCx bit in EPCPR. See Section 7.4.1 for more information.
The external power control pending event occurs when the PSC is pending confirmation that power was
applied to or removed from the power pins. See Section 7.4.1 for more information.
7.6.2 Interrupt Registers
The PSC interrupt enable bits are: the EMUIHB bit in PDCTLx, the EMUIHB bit in MDCTL[x], the
EMURSTIE bit in MDCTL[x], and the EPx bit in EPCPR.
NOTE: To interrupt the ARM, the ARM’s power and sleep controller interrupt (PSCINT) must also
be enabled in the ARM interrupt controller. See Chapter 8 for more information on the ARM’s
power and sleep controller interrupt and the ARM interrupt controller.
The PSC interrupt status bits are the Mx bit in MERRPR0, the Mx bit in MERRPR1, the Px bit in PERRPR,
the EMUIHB bit in PDSTATx, the EMUIHB bit in MDSTAT[x], the EMURST bit in MDSTAT[x], and the EP
bit in EPCPR. The status bits in MERRPR0, MERRPR1, and PERRPR are read by software to determine
which power domain or which module has generated an emulation interrupt, and then software can read
the corresponding status bits in PDSTATx and MDSTATx to determine which event caused the interrupt.
The PSC interrupt clear bits are the Mx bit in MERRCRx, the Mx bit in PERRCRx, and the EPx bit in
EPCCR.
The PSC interrupt evaluation bit is the ALLEV bit in INTEVAL. When set, this bit forces the PSC interrupt
logic to re-evaluate event status. If any events are still active (if any status bits are set) when the ALLEV
bit in INTEVAL is set to 0x1, the PSCINT is re-asserted to the ARM interrupt controller. Set the ALLEV bit
in INTEVAL before exiting your PSCINT interrupt service routine to ensure that you do not miss any PSC
interrupts while the ARM interrupts are globally disabled.
See Section 7.7 for complete descriptions of all PSC registers.
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
73
PSC Interrupts
www.ti.com
7.6.3 Interrupt Handling
Handle the PSC interrupts as described in the following procedure:
First, enable the interrupt.
1. Set the EMUIHB bit in PDCTLx, the EMUIHB bit in MDCTL[x], and / or the EMURSTIE bit in MDCTL[x]
to enable the interrupt events that you want.
NOTE: There is no enable bit for the external power control pending interrupt event, so effectively
this event is always enabled. The PSC interrupt is sent to the ARM interrupt controller when
at least one enabled event becomes active.
2. Enable the ARM’s power and sleep controller interrupt (PSCINT) in the ARM interrupt controller. To
interrupt the ARM, PSCINT must be enabled in the ARM interrupt controller. See Chapter 8 for more
information.
The ARM enters the interrupt service routine (ISR) when it receives the interrupt.
1. Read the Px bit in PERRPR, the Mx bit in MERRPR0, the Mx bit in MERRPR1, and / or the EP bit in
EPCPR to determine the source of the interrupt(s).
2. For each active event that you want to service:
• Read the event status bits in PDSTATx and MDSTAT[x], depending on the status bits read in the
previous step to determine the event that caused the interrupt.
• Service the interrupt as required by your application
• Write the Mx bit in MERRCRx, the Mx bit in PERRCRx, and the EPx bit in EPCCR to clear
corresponding status.
• Set the ALLEV bit in INTEVAL. Setting this bit reasserts the PSCINT to the ARM’s interrupt
controller, if there are still any active interrupt events.
74
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PSC Registers
www.ti.com
7.7
PSC Registers
Table 7-5 lists the memory-mapped registers for the PSC. See the device memory map Table 4-2 for the
memory address of these registers. The default, after reset, PSC configurations are shown in Table 7-1 .
NOTE: You must not read or write reserved PSC register fields. In particular, registers associated
with module 39 are reserved and must not be read or written.
Table 7-5. PSC Registers
Offset
Register
Description
0h
PID
Peripheral Revision and Class Information
Section 7.7.1
Section
18h
INTEVAL
Interrupt Evaluation Register
Section 7.7.2
40h
MERRPR0
Module Error Pending Register 0
Section 7.7.3
44h
MERRPR1
Module Error Pending Register 1
Section 7.7.4
50h
MERRCR0
Module Error Clear Register 0
Section 7.7.5
54h
MERRCR1
Module Error Clear Register 1
Section 7.7.6
60h
PERRPR
Power Error Pending Register
Section 7.7.7
68h
PERRCR
Power Error Clear Register
Section 7.7.8
70h
EPCPR
External Power Error Pending Register
Section 7.7.9
78h
EPCCR
External Power Control Clear Register
Section 7.7.10
120h
PTCMD
Power Domain Transition Command Register
Section 7.7.11
128h
PTSTAT
Power Domain Transition Status Register
Section 7.7.12
200h
PDSTAT[1]
Power Domain Status Register
Section 7.7.13
300h
PDCTL[1]
Power Domain Control Register
Section 7.7.14
800h
MDSTAT[52]
Module Status Registers
Section 7.7.15
A00h
MDCTL[52]
Module Control Registers
Section 7.7.16
NOTE: After reset default PSC configurations are shown in Table 7-1 .
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
75
PSC Registers
www.ti.com
7.7.1 Peripheral Revision and Class Information (PID)
The peripheral revision and class information (PID) register is shown in Figure 7-3 and described in
Table 7-6.
Figure 7-3. Peripheral Revision and Class Information Register (PID)
31
30
29
28
27
16
SCHEME
Reserved
FUNC
R-1
R-0
R- 208
15
11
10
8
7
6
5
0
RTL
MAJOR
CUSTOM
MINOR
R-0
R-1
R-0
R-5
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 7-6. Peripheral Revision and Class Information Register (PID) Field Descriptions
Bit
76
Field
Value
31-30
SCHEME
0-3h
29-28
Reserved
0
27-16
FUNC
15-11
RTL
10-8
MAJOR
7-6
CUSTOM
5-0
MINOR
Description
Scheme
Reserved
0-FFFh
0-1Fh
Software compatible
RTL Version.
0-7h
Major Revision.
0-3h
Indicates a special version for a particular device.
0-3Fh
Minor Revision.
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PSC Registers
www.ti.com
7.7.2 Interrupt Evaluation Register (INTEVAL)
The interrupt evaluation register (INTEVAL) is shown in Figure 7-4 and described in Table 7-7.
Figure 7-4. Interrupt Evaluation Register (INTEVAL)
31
1
0
Reserved
ALLEV
R-0
W-0
LEGEND: R = Read, W = Write, n = value at reset
Table 7-7. Interrupt Evaluation Register (INTEVAL) Field Descriptions
Bit
31-1
0
Field
Reserved
Value
0
ALLEV
Description
Reserved
Re-evaluate PSC interrupt.
0
A write of 0 has no effect.
1
Write 1 to re-evaluate the interrupt condition.
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
77
PSC Registers
www.ti.com
7.7.3 Module Error Pending Register 0 (mod 0 - 31) (MERRPR0)
The module error pending register 0 (mod 0 - 31) is shown in Figure 7-5 and described in Table 7-8.
Figure 7-5. Module Error Pending Register 0 (mod 0 - 31) (MERRPR0)
31
0
M0[32]
R-0
LEGEND: R = Read, n = value at reset
Table 7-8. Module Error Pending Register 0 (mod 0 - 31) (MERRPR0) Field Descriptions
Bit
31-0
78
Field
Value
M0[32]
Description
Module interrupt status bit for modules 0-31.
0
Power domain interrupt is not active.
1
Power domain interrupt is active.
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PSC Registers
www.ti.com
7.7.4 Module Error Pending Register 1 (mod 32-41) (MERRPR1)
The module error pending register 1 (mod 32 - 41) (MERRPR1) is shown in Figure 7-6 and described in
Table 7-9.
Figure 7-6. Module Error Pending Register 1 (mod 32-41) (MERRPR1)
31
16
Reserved
R-0
15
9
R-0
8
0
Reserved
M[9]
R-0
R-0
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 7-9. Module Error Pending Register 1 (mod 32-41) (MERRPR1) Field Descriptions
Bit
Field
31-9
Reserved
8-0
M[9]
Value
0
Description
Reserved
Module interrupt status bit for modules 32-41.
0
Power domain interrupt is not active.
1
Power domain interrupt is active.
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
79
PSC Registers
www.ti.com
7.7.5 Module Error Clear Register 0 (mod 0-31) (MERRCR0)
The module error clear 0 (mod 0-31) register (MERRCR0) is shown in Figure 7-7 and described in
Table 7-10.
Figure 7-7. Module Error Clear Register 0 (mod 0-31) (MERRCR0)
31
0
M0[32]
R-0
LEGEND: R = Read, n = value at reset
Table 7-10. Module Error Clear Register 0 (mod 0-31) (MERRCR0) Field Descriptions
80
Bit
Field
31-0
M[32]
Value
Description
Clears the interrupt bit set in the corresponding MERRPRO register bit field
and the MDSTAT interrupt bit fields. This pertains to modules 0-31.
0
A write of 0 has no effect.
1
Clears module interrupt.
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PSC Registers
www.ti.com
7.7.6 Module Error Clear Register 1 (mod 32-41) (MERRCR1)
The module error clear 1 (mod 32-41) register (MERRCR1) is shown in Figure 7-8 and described in
Table 7-11.
Figure 7-8. Module Error Clear Register 1 (mod 32-41) (MERRCR1)
31
16
Reserved
R-0
15
9
R-0
8
0
Reserved
M[9]
R-0
R-0
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 7-11. Module Error Clear Register 1 (mod 32-41) (MERRCR1) Field Descriptions
Bit
Field
31-9
Reserved
8-0
M[9]
Value
0
Description
Reserved
Clears the interrupt bit set in the corresponding MERRPR1 register bit field
and the MDSTAT interrupt bit fields. This pertains to modules 32-41.
0
A write of 0 has no effect.
1
Clears module interrupt.
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
81
PSC Registers
www.ti.com
7.7.7 Power Error Pending Register (PERRPR)
The power error pending register (PERRPR) is shown in Figure 7-9 and described in Table 7-12.
Figure 7-9. Power Error Pending Register (PERRPR)
31
1
0
Reserved
P[1]
R-0
R-0
LEGEND: R = Read, n = value at reset
Table 7-12. Power Error Pending Register (PERRPR) Field Descriptions
Bit
31-1
0
82
Field
Reserved
Value
0
P[1]
Description
Reserved
Power domain interrupt status.
0
Power domain interrupt is not active
1
Power domain interrupt is active.
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PSC Registers
www.ti.com
7.7.8 Power Error Clear Register (PERRCR)
The power error clear register (PERRCR) is shown in Figure 7-10 and described in Table 7-13.
Figure 7-10. Power Error Clear Register (PERRCR)
31
1
0
Reserved
P[1]
R-0
W-0
LEGEND: R = Read, W = Write, n = value at reset
Table 7-13. Power Error Clear Register (PERRCR) Field Descriptions
Bit
31-1
0
Field
Reserved
Value
0
P[1]
Description
Reserved
Clears the power domain interrupt.
0
A write of 0 has no effect.
1
Clears the power domain interrupt.
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
83
PSC Registers
www.ti.com
7.7.9 External Power Control Pending Register (EPCPR)
The external power control pending register (EPCPR) is shown in Figure 7-11 and described in
Table 7-14.
Figure 7-11. External Power Control Pending Register (EPCPR)
31
1
0
Reserved
EPC[1]
R-0
R-0
LEGEND: R = Read, n = value at reset
Table 7-14. External Power Control Pending Register (EPCPR) Field Descriptions
Bit
31-1
0
84
Field
Reserved
Value
0
EPC[1]
Description
Reserved
External power control pending bit.
The PSC sets this bit, indicating it is ready for an external controller to apply
power to the external power pins of the power domain.
0
The PSC is not requesting external power control.
1
The PSC requests external power control.
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PSC Registers
www.ti.com
7.7.10 External Power Control Clear Register (EPCCR)
The external power control clear register (EPCCR) is shown in Figure 7-12 and described in Table 7-15.
Figure 7-12. External Power Control Clear Register (EPCCR)
31
1
0
Reserved
EPC[1]
R-0
W-0
LEGEND: R = Read, W = Write, n = value at reset
Table 7-15. External Power Control Clear Register (EPCCR) Field Descriptions
Bit
31-1
0
Field
Reserved
Value
0
EPC[1]
Description
Reserved
External power control clear bit.
0
A write of 0 has no effect.
1
Set this bit to clear the EPCPR interrupt.
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
85
PSC Registers
www.ti.com
7.7.11 Power Domain Transition Command Register (PTCMD)
The power domain transition command register (PTCMD) is shown in Figure 7-13 and described in
Table 7-16.
Figure 7-13. Power Domain Transition Command Register (PTCMD)
31
1
0
Reserved
GO[1]
R-0
W-0
LEGEND: R = Read, W = Write, n = value at reset
Table 7-16. Power Domain Transition Command Register (PTCMD) Field Descriptions
Bit
31-1
0
86
Field
Reserved
Value
0
GO[1]
Description
Reserved
Power domain GO transition command
0
A write of 0 has no effect.
1
Writing 1 causes the state transition interrupt generation block to evaluate the new PTNEXT and
the NEXT states in MDCTL as the desired states of the application.
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PSC Registers
www.ti.com
7.7.12 Power Domain Transition Status Register (PTSTAT)
The power domain transition status register (PTSTAT) is shown in Figure 7-14 and described in
Table 7-17 .
Figure 7-14. Power Domain Transition Status Register (PTSTAT)
31
1
0
Reserved
GOSTAT[1]
R-0
R-0
LEGEND: R = Read, n = value at reset
Table 7-17. Power Domain Transition Status Register (PTSTAT) Field Descriptions
Bit
31-1
0
Field
Value
Reserved
0
GOSTAT[1]
Description
Reserved
Power domain transition status
0
No transition in progress
1
Power domain is transitioning (i.e., either the power domain is transitioning or
modules in this power domain are transitioning).
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
87
PSC Registers
www.ti.com
7.7.13 Power Domain Status Register 0 (PDSTATn)
The power domain status n register (PDSTATn) is shown in Figure 7-15 and described in Table 7-18.
Figure 7-15. Power Domain Status n Register (PDSTATn)
31
16
Reserved
R-0
15
11
10
9
8
Reserved
12
EMUIHB
Reserved
PORDONE
POR
7
Reserved
1
STATE
0
R-0
R-0
R-0
R-0
R-0
R-0
R-0
LEGEND: R = Read; n = value at reset
Table 7-18. Power Domain Status n Register (PDSTATn) Field Descriptions
Bit
Reserved
11
EMUIHB
10
Reserved
9
PORDONE
8
7-1
0
88
Field
31-12
Value
0
Reserved
Emulation alters domain state.
0
Interrupt is not active.
1
Interrupt is active.
0
Reserved
Power_On_Reset (POR) Done status
0
Power domain POR is not done.
1
Power domain POR is done.
POR
Reserved
Description
Power Domain Power_On_Reset (POR) status.
This bit reflects the POR status for this power domain including all modules in the domain.
0
Power domain POR is asserted.
1
Power domain POR is de-asserted.
0
Reserved
STATE
Power Domain Status
0
Power domain is in the off state.
1
Power domain is in the on state.
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PSC Registers
www.ti.com
7.7.14 Power Domain Control n Register 0 (PDCTLn)
The power domain control n register (PDCTLn) is shown in Figure 7-16 and described in Table 7-19. In
the device, only PDCTL0 is applicable because there is only one power domain, the AlwaysOn power
domain. The AlwaysOn power domain is always on when voltage is applied to the device; it is not possible
to use PDCTL0 turn off power to the AlwaysOn power domain.
Figure 7-16. Power Domain Control n Register (PDCTLn)
31
16
Reserved
R-0
15
9
8
Reserved
10
EMUIHBIE
EPCGOOD
7
Reserved
1
NEXT
0
R-0
R/W-0
R/W-0
R-0
R/W-0
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 7-19. Power Domain Control n Register (PDCTLn) Field Descriptions
Bit
Field
31-10
Reserved
9
EMUIHBIE
8
7-1
0
Value
0
Reserved
Emulation alters power domain state interrupt enable.
0
Disable interrupt.
1
Enable interrupt.
EPCGOOD
Reserved
Description
External power control power good indication.
0
External power control has turned off power to this domain.
1
External power control has turned on power to this domain.
0
Reserved
NEXT
Power domain next state.
0
Power domain off.
1
Power domain on.
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
89
PSC Registers
www.ti.com
7.7.15 Module Status n Register 0-32 (MDSTATn)
The module status 0 register (MDSTATn) is shown in Figure 7-17 and described in Table 7-20. See
Table 7-1 for after reset default module states.
Figure 7-17. Module Status n Register (MDSTATn)
31
18
15
13
17
16
Reserved
EMUIHB
EMURST
R-0
R-0
R-0
12
11
10
Reserved
MCKOUT
MRSTDONE
MRST
9
Reserved
6
5
STATE
0
R-0
R-0
R-0
R-0
R-0
R-0
LEGEND: R = Read; n = value at reset
Table 7-20. Module Status n Register 0-32 (MDSTATn) Field Descriptions
Bit
Field
31-18
Reserved
17
EMUIHB
16
Reserved
12
MCKOUT
10
0
Interrupt not active
1
Interrupt active
Emulation alters module reset interrupt active
0
Interrupt not active
1
Interrupt active
0
Reserved
Module clock output status.
Shows status of module clock ON / OFF.
0
Module clock is off.
1
Module clock is on.
Module reset done.
Software is responsible for checking that mode reset is done before accessing the module.
0
Module reset is not done.
1
Module reset is done.
MRST
Reserved
5-0
STATE
Module reset status.
Reflects actual state of module reset.
0
Module reset is asserted.
1
Module reset is de-asserted.
0
Reserved
Module state status: indicates current module status.
0
SwRstDisable state
1
SyncReset state
2
Disable state
3
Enable state. Others: indicates transition.
Others
90
Reserved
Emulation alters modules state interrupt active
MRSTDONE
9-6
Description
0
EMURST
15-13
11
Value
Indicates a transition
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
PSC Registers
www.ti.com
7.7.16 Module Control n Register 0-51 (MDCTLn)
The module control n register 0-41 (MDCTLn) is shown in Figure 7-18 and described in Table 7-21. See
Table 7-1 for after reset default module states. It is not possible to change the module states for modules
29 through 38. The states of these modules are taken care of by internal hardware and are primarily for
internal chip infrastructure. Module 39 is reserved and you must not try to change the state of module 39.
It is possible to change the state of other modules: 0-27, 40, and 41.
Figure 7-18. Module Control n Register 0-41 (MDCTLn)
31
16
Reserved
R-0
15
10
9
Reserved
11
EMUIHBIE
EMURSTIE
8
Reserved
5
4
NEXT
0
R-0
R/W- 0
R/W- 0
R-0
R/W- 0
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 7-21. Module Control n Register 0-51 (MDCTLn) Field Descriptions
Bit
Field
31-11
Reserved
10
EMUIHBIE
9
Value
0
Reserved
4-0
NEXT
Reserved
Interrupt enable for emulation alters module state.
0
Disable interrupt.
1
Enable interrupt.
EMURSTIE
8-5
Description
Interrupt enable for emulation alters reset.
0
Disable interrupt.
1
Enable interrupt.
0
Reserved
Module next state
0
SwRstDisable state
1h
SyncReset state
2h
Disable state
3h
Enable state
SPRUFX7A – July 2008 – Revised July 2010
Power and Sleep Controller
Copyright © 2008–2010, Texas Instruments Incorporated
91
92
Power and Sleep Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 8
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
8.1
Introduction
The device ARM Interrupt Controller (AINTC) has the following features:
• Supports up to 64 interrupt channels (16 external channels)
• Interrupt mask for each channel
• Each interrupt channel is mappable to a Fast Interrupt Request (FIQ) or to an Interrupt Request (IRQ)
type of interrupt.
• Hardware prioritization of simultaneous interrupts
• Configurable interrupt priority (2 levels of FIQ and 6 levels of IRQ)
• Configurable interrupt entry table (FIQ and IRQ priority table entry) to reduce interrupt processing time
The ARM core supports two interrupt types: FIQ and IRQ. See the ARM926EJ-S Technical Reference
Manual for detailed information about the ARM’s FIQ and IRQ interrupts. Each interrupt channel is
mappable to an FIQ or to an IRQ type of interrupt, and each channel can be enabled or disabled. The
INTC supports user-configurable interrupt-priority and interrupt entry addresses. Entry addresses minimize
the time spent jumping to interrupt service routines (ISRs). When an interrupt occurs, the corresponding
highest priority ISR’s address is stored in the INTC’s ENTRY register. The IRQ or FIQ interrupt routine can
read the ENTRY register and jump to the corresponding ISR directly. Thus, the ARM does not require a
software dispatcher to determine the asserted interrupt.
8.2
Interrupt Mapping
The AINTC takes up to 64 ARM device interrupts and maps them to either the IRQ or to the FIQ of the
ARM. Each interrupt is also assigned one of 8 priority levels (2 for FIQ, 6 for IRQ). For interrupts with the
same priority level, the priority is determined by the hardware interrupt number (the lowest number has the
highest priority).
Table 8-1 shows the connection of device interrupts to the ARM.
NOTE: The total number of interrupts in the device exceeds 64, which is the maximum value of the
AINTC module. Therefore, several interrupts are multiplexed and you must use the register
ARM_INTMUX in the system module to select the interrupt source for multiplexed interrupts.
Refer to the Chapter 9 for more information on the system module register ARM_INTMUX.
Table 8-1. AINTC Interrupt Connections
Interrupt
Number
Acronym
Source
0
VPSSINT0
VPSS - INT0,
Configurable via
VPSSBL register:
INTSEL
1
VPSSINT1
2
VPSSINT2
3
4
5
Interrupt
Number
Acronym
Source
32
TINT0
Timer 0 - TINT12
VPSS - INT1
33
TINT1
Timer 0 - TINT34
VPSS - INT2
34
TINT2
Timer 1 - TINT12
VPSSINT3
VPSS - INT3
35
TINT3
Timer 1 - TINT34
VPSSINT4
VPSS - INT4
36
PWMINT0
PWM0
VPSSINT5
VPSS - INT5
37
PWMINT1
PWM1
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
93
INTC Methodology
www.ti.com
Table 8-1. AINTC Interrupt Connections (continued)
8.3
Interrupt
Number
Acronym
Source
Interrupt
Number
Acronym
Source
6
VPSSINT6
7
VPSSINT7
VPSS - INT6
38
PWMINT2
PWM2
VPSS - INT7
39
I2CINT
8
VPSSINT8
I2C
VPSS - INT8
40
UARTINT0
9
UART0
Reserved
41
UARTINT1
UART1
10
Reserved
42
SPINT0-0
SPI0
11
Reserved
43
SPINT0-1
SPI0
12
USBINT
USB OTG Collector
44
GPIO0
GPIO
13
RTOINT or
TINT4
RTO or
Timer 2 - TINT12
SYS.ARM_INTMUX
45
GPIO1
GPIO
14
UARTINT2 or
TINT5
UART2 or
Timer 2 - TINT34
46
GPIO2
GPIO
15
TINT6
Timer 3 TINT12
47
GPIO3
GPIO
16
CCINT0
EDMA CC Region 0
48
GPIO4
GPIO
17
SPINT1-0 or
CCERRINT
SPI1 or
EDMA CC Error
49
GPIO5
GPIO
18
SPINT1-1 or
TCERRINT0
SPI1 or
EDMA TC0 Error
50
GPIO6
GPIO
19
SPINT2-0 or
TCERRINT1
SPI2 or
EDMA TC1 Error
51
GPIO7
GPIO
20
PSCINT
PSC - ALLINT
52
GPIO8
GPIO
21
SPINT2-1
SPI2
53
GPIO9
GPIO
22
TINT7
Timer3 - TINT34
54
GPIOBNK0
GPIO
23
SDIOINT0
SDIO(MMC/SD0)
55
GPIOBNK1
GPIO
24
MBXINT0 or
MBXINT1
ASP0 or
ASP1
56
GPIOBNK2
GPIO
25
MBRINT0 or
MBRINT1
ASP0 or
ASP1
57
GPIOBNK3
GPIO
26
MMCINT0
MMC/SD0
58
GPIOBNK4
GPIO
27
MMCINT1
MMC/SD1
59
GPIOBNK5
GPIO
28
PWMINT3
PWM3
60
GPIOBNK6
GPIO
29
DDRINT
DDR EMIF
61
COMMTX
ARMSS
30
AEMIFINT
Async EMIF
62
COMMRX
ARMSS
31
SDIOINT1
SDIO(MMC/SD1)
63
EMUINT
E2ICE
INTC Methodology
INTC methodology is illustrated in Figure 8-1 and described below.
• When an interrupt occurs, the status is reflected in either the FIQn or the IRQn registers, depending
upon the interrupt type selected.
• Interrupts are enabled or disabled (masked) by setting the EINTn register.
NOTE:
•
•
94
Even if an interrupt is masked, the status interrupt is still reflected in the FIQn and the IRQn
registers.
When an interrupt from any interrupt channel occurs (for which interrupt is enabled), an IRQ or FIQ
interrupt generates to the ARM926 core (depending on whether the interrupt channel is mapped to IRQ
or FIQ interrupt). The ARM then branches to the IRQ or FIQ interrupt routine.
The INTC generates the entry address of the pending interrupt with the highest priority and stores the
entry address in the FIQENTRY or the IRQENTRY register, depending on whether the interrupt is
mapped to IRQ or FIQ interrupt. The IRQ or FIQ ISR can then read the entry address and its branch to
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Methodology
www.ti.com
the ISR of the interrupt.
Figure 8-1. AINTC Functional Diagram
INTn
0−63
IRQ/FIQ
map 00
INTPRIn[2:1]
IRQn
FIQn
EINTn
INT
enable
IRQn
Prioritizer
To ARM IRQz
FIQn
EABASE
Prioritizer
Entry
address
generator
Entry
address
generator
IRQENTRY
FIQENTRY
FIQz To ARM
8.3.1 Interrupt Mapping
Each event input is mapped to either the ARM IRQ or to the FIQ interrupt based on the priority level
selected in the INTPRIn register. Events with a priority of 0x0 or 0x1 are designated as FIQs. Those with
priorities of 0x2-0x7 are designated as IRQs. The appropriate IRQ / FIQ registers capture interrupt events.
Each event causes an IRQ or FIQ to generate only if the corresponding EINT bit enables it. The EINT bit
enables or disables the event regardless of whether it is mapped to IRQ or to FIQ. The IRQ / FIQ register
always captures each event, regardless of whether the interrupt is actually enabled.
8.3.2 Interrupt Prioritization
Event priority is determined using both a fixed and a programmable prioritization scheme. The AINTC has
8 different programmable interrupt priorities. Priority 0 and priority 1 are mapped to the FIQ interrupt with
priority 0 being the highest priority. Priorities 2-7 are mapped to the IRQ interrupt (priority 2 is the highest,
priority 7 is the lowest). Each interrupt is mapped to a priority level using the INTPRIn registers. When
simultaneous events occur (multiple enabled events captured in IRQ or FIQ registers), the event with the
highest priority is the one whose entry table address is generated when sending the interrupt signal to the
ARM. When events of identical priority occur, the event with the lowest event number is treated as having
the higher priority.
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
95
INTC Methodology
www.ti.com
8.3.3 Vector Table Entry Address Generation
To help speed up the ISR, the AINTC provides two vectors into the ARM’s interrupt entry table, which
correspond to the highest priority effective IRQ and FIQ interrupts. This vector is generated by modifying a
base address with a priority index. The priority index takes the size of each interrupt entry into account
using the following formulas:
IRQENTRY = EABASE + ((highest priority IRQ EVT# + 1) * SIZE)
FIQENTRY = EABASE + ((highest priority FIQ EVT# + 1) * SIZE)
The EABASE base address is contained in a register. The SIZE value is a programmable register field,
which selects 4, 8, 16, or 32 bytes for each interrupt table entry. The IRQENTRY or FIQENTRY register is
read by the ARM, depending on which type of interrupt it is servicing. The ARM interrupt entry table format
is shown in Figure 8-2.
Figure 8-2. Interrupt Entry Table
Address
EABASE
Interrupt entry table
Return from INT
EABASE + (1*SIZE)
Branch to INT
EABASE + (2*SIZE)
Branch to INT1
EABASE + (64*SIZE)
Branch to INT63
The highest priority effective IRQ or FIQ interrupt includes only those interrupts that are enabled by their
corresponding EINT bit by default. However, the IERAW and FERAW register bits, if set, allow the highest
priority event of any of those captured in the IRQ or FIQ register to be used in calculating IRQENTRY and
FIQENTRY, respectively (regardless of the EINT state).
The IRQENTRY and FIQENTRY values are generated in real time as the interrupt events occur. Thus,
their values may change from the time that the IRQ or FIQ is sent to the ARM to the time the ARM reads
the register. They may also change immediately after a read by the ARM if a higher priority event occurs.
If no IRQ mapped effective interrupt is pending, then the IRQENTRY value reflects the EABASE value.
Similarly, if no FIQ mapped effective interrupt is pending, then the FIQENTRY value reflects the EABASE
value.
1. For the FIQENTRY:
• If FERAW is 0, FIQENTRY reflects the state of the highest priority pending enabled FIQ interrupt. If
the active FIQ interrupt is cleared in FIQn, then FIQENTRY is immediately updated with the vector
of the next highest priority pending enabled FIQ interrupt.
• If FERAW is 1, FIQENTRY reflects the state of the highest priority pending FIQ interrupt (enabled
or not). If the active FIQ interrupt is cleared in FIQn, then FIQENTRY is immediately updated with
the vector of the next highest priority pending interrupt (enabled or not).
2. For the IRQENTRY:
• If IERAW is 0, IRQENTRY reflects the state of the highest priority pending enabled IRQ interrupt. If
the active IRQ interrupt is cleared in IRQn, then IRQENTRY is immediately updated with the vector
of the next highest priority pending enabled IRQ interrupt.
• If IERAW is 1, IRQENTRY reflects the state of the highest priority pending IRQ interrupt (enabled
or not). If the active IRQ interrupt is cleared in IRQn, then IRQENTRY is immediately updated with
the vector of the next highest priority pending IRQ interrupt (enabled or not).
8.3.4 Clearing Interrupts
Events cause their matching bit in the FIQ or IRQ register (depending on the event priority) to be cleared
to 0. An event is cleared by writing a 1 to the corresponding bit in the FIQ or IRQ register. Writing a 1 to
the corresponding bit sets the bit back to a 1. Writing a 0 to an event bit does not affect its value.
96
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Methodology
www.ti.com
8.3.5 Enabling and Disabling Interrupts
The AINTC has two methods for enabling and disabling interrupts: immediate or delayed, based on the
setting of the IDMODE bit in the INTCTL register. When 0 (default), clearing an interrupt's EINT bit has an
immediate effect. The prioritizer removes the disabled interrupt from consideration and adjusts the
IRQ/FIQENTRY value correspondingly. If no other interrupts are pending, then the IRQz/FIQz output to
the ARM may also go inactive. Enabling the interrupt if it is already pending takes immediate affect. This is
shown in Figure 8-3.
Figure 8-3. Immediate Interrupt Disable / Enable
CLK
Event pulse
INTn
Enabled
EINTn
Disabled
IRQn/FIQn
Cleared
IRQz/FIQz
ENTRY
EABASE
VECTORn
EABASE
VECTORn
If IDMODE is 1, then the EINT effect is delayed. Essentially, the active interrupt status is latched until
cleared by the ARM. If EINT is cleared, the prioritizer continues to use the interrupt and the IRQz/FIQz
remains active. Once the ARM clears the pending interrupt, further interrupts are disabled. In the same
way, setting EINT does not cause the previously pending interrupt event to become enabled until it has
been cleared first. The disable operation is shown in Figure 8-4.
Figure 8-4. Delayed Interrupt Disable
CLK
Event pulse
INTn
EINTn
Disabled
IRQn/FIQn
Cleared
IRQz/FIQz
ENTRY
EABASE
VECTORn
SPRUFX7A – July 2008 – Revised July 2010
EABASE
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
97
INTC Registers
8.4
www.ti.com
INTC Registers
Table 8-2 lists the memory-mapped registers for the INTC. See the device memory mapTable 4-2 for the
memory address of these registers.
Table 8-2. Interrupt Controller (INTC) Registers
Offset
98
Acronym
Register Description
00h
FIQ0
Interrupt Status of INT [31:0] (if mapped to FIQ)
Section 8.4.1
Section
04h
FIQ1
Interrupt Status of INT [63:32] (if mapped to FIQ)
Section 8.4.2
08h
IRQ0
Interrupt Status of INT [31:0] (if mapped to IRQ)
Section 8.4.3
0Ch
IRQ1
Interrupt Status of INT [63:32] (if mapped to IRQ)
Section 8.4.4
10h
FIQENTRY
Entry Address [28:0] for valid FIQ interrupt
Section 8.4.5
14h
IRQENTRY
Entry Address [28:0] for valid IRQ interrupt
Section 8.4.6
18h
EINT0
Interrupt Enable Register 0
Section 8.4.7
1Ch
EINT1
Interrupt Enable Register 1
Section 8.4.8
20h
INTCTL
Interrupt Operation Control Register
Section 8.4.9
24h
EABASE
Interrupt Entry Table Base Address
Section 8.4.10
30h
INTPRI0
Interrupt 0-7 Priority select
Section 8.4.11
34h
INTPRI1
Interrupt 8-15 Priority select
Section 8.4.12
38h
INTPRI2
Interrupt 16-23 Priority select
Section 8.4.13
3Ch
INTPRI3
Interrupt 24-31 Priority select
Section 8.4.14
40h
INTPRI4
Interrupt 32-29 Priority select
Section 8.4.15
44h
INTPRI5
Interrupt 40-47 Priority select
Section 8.4.16
48h
INTPRI6
Interrupt 48-55 Priority select
Section 8.4.17
4Ch
INTPRI7
Interrupt 56-63 Priority select
Section 8.4.18
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Registers
www.ti.com
8.4.1 Fast Interrupt Request Status Register 0 (FIQ0)
The fast interrupt request status register 0 (FIQ0) is shown in Figure 8-5 and described in Table 8-3.
Figure 8-5. Interrupt Status of INT[31:0] (if mapped to FIQ)
31
0
FIQ[31:0]
R/W-1
LEGEND: R/W = Read/Write; n = value at reset
Table 8-3. Interrupt Status of INT[31:0] (if mapped to FIQ) Field Descriptions
Bit
31-0
Field
Value
FIQ[31:0]
Description
Interrupt status of INTx, if mapped to FIQ.
0
Rd: Interrupt occurred
1
Wr: Acknowledge interrupt
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
99
INTC Registers
www.ti.com
8.4.2 Fast Interrupt Request Status Register 1 (FIQ1)
The fast interrupt request status register 1 (FIQ1) is shown in Figure 8-6 and described in Table 8-4.
Figure 8-6. Interrupt Status of INT[63:32] (if mapped to FIQ)
31
0
FIQ[63:32]
R/W-1
LEGEND: R/W = Read/Write; n = value at reset
Table 8-4. Interrupt Status of INT[63:32] (if mapped to FIQ) Field Descriptions
Bit
31-0
100
Field
Value
FIQ[63:32]
Description
Interrupt status of INTx, if mapped to FIQ.
0
Rd: Interrupt occurred.
1
Wr: Acknowledge interrupt.
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Registers
www.ti.com
8.4.3 Interrupt Request Status Register 0 (IRQ0)
The interrupt request status register 0 (IRQ0) is shown in Figure 8-7 and described in Table 8-5.
Figure 8-7. Interrupt Status of INT[31:0] (if mapped to IRQ)
31
0
IRQ[31:0]
R/W-1
LEGEND: R/W = Read/Write; n = value at reset
Table 8-5. Interrupt Status of INT[31:0] (if mapped to IRQ) Field Descriptions
Bit
31-1
Field
Value
IRQ[31:0]
Description
Interrupt status of INTx, if mapped to IRQ.
0
Rd: Interrupt occurred.
1
Wr: Acknowledge interrupt.
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
101
INTC Registers
www.ti.com
8.4.4 Interrupt Request Status Register 1 (IRQ1)
The interrupt request status register 1 (IRQ1) is shown in Figure 8-8 and described in Table 8-6.
Figure 8-8. Interrupt Status of INT[31:0] (if mapped to IRQ)
31
0
IRQ[63:32]
R/W-1
LEGEND: R/W = Read/Write; n = value at reset
Table 8-6. Interrupt Status of INT[31:0] (if mapped to IRQ) Field Descriptions
Bit
Field
31-0
IRQ
102
Value
Description
Interrupt status of INTx, if mapped to IRQ.
0
Rd: Interrupt occurred.
1
Wr: Acknowledge interrupt.
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Registers
www.ti.com
8.4.5 Fast Interrupt Request Entry Address Register (FIQENTRY)
The fast interrupt request entry address register (FIQENTRY) is shown in Figure 8-9 and described in
Table 8-7.
Figure 8-9. Fast Interrupt Request Entry Address Register (FIQENTRY)
31
0
FIQENTRY
R-0
LEGEND: R = Read only; n = value at reset
Table 8-7. Fast Interrupt Request Entry Address Register (FIQENTRY) Field Descriptions
Bit
31-0
Field
FIQENTRY
Value
0-FFFF FFFFh
Description
Interrupt entry table address (of the current highest-priority FIQ.
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
103
INTC Registers
www.ti.com
8.4.6 Interrupt Request Entry Address Register (IRQENTRY)
The interrupt request entry address register (IRQENTRY) is shown in Figure 8-10 and described in
Table 8-8.
Figure 8-10. Interrupt Request Entry Address Register (IRQENTRY)
31
0
IRQENTRY
R-0
LEGEND: R = Read only; n = value at reset
Table 8-8. Interrupt Request Entry Address Register (IRQENTRY) Field Descriptions
Bit
31-0
104
Field
IRQENTRY
Value
0-FFFF FFFFh
Description
Interrupt entry table address of the current highest-priority IRQ.
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Registers
www.ti.com
8.4.7 Interrupt Enable Register 0 (EINT0)
The interrupt enable register 0 (EINT0) is shown in Figure 8-11 and described in Table 8-9.
Figure 8-11. Interrupt Enable Register 0 (EINT0)
31
0
EINT[31:0]
R/W-0
LEGEND: R/W = Read/Write; n = value at reset
Table 8-9. Interrupt Enable Register 0 (EINT0) Field Descriptions
Bit
31-0
Field
Value
EINT[31:0]
Description
Interrupt enable for INTx.
0
Mask interrupt
1
Enable interrupt
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
105
INTC Registers
www.ti.com
8.4.8 Interrupt Enable Register 1 (EINT1)
The interrupt enable register 1 (EINT1) is shown in Figure 8-12 and described in Table 8-10.
Figure 8-12. Interrupt Enable Register 1 (EINT1)
31
0
EINT[63:32]
R/W-0
LEGEND: R/W = Read/Write; n = value at reset
Table 8-10. Interrupt Enable Register 1 (EINT1) Field Descriptions
Bit
31-0
106
Field
Value
EINT[63:32]
Description
Interrupt enable for INTx.
0
Mask interrupt
1
Enable interrupt
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Registers
www.ti.com
8.4.9 Interrupt Operation Control Register (INTCTL)
The interrupt operation control register (INTCTL) is shown in Figure 8-13 and described in Table 8-11.
Figure 8-13. Interrupt Operation Control Register (INTCTL)
31
2
1
0
Reserved
3
IDMODE
IERAW
FERAW
R-0
R/W-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write, R = Read only; n = value at reset
Table 8-11. Interrupt Operation Control Register (INTCTL) Field Descriptions
Bit
Field
31-3
Reserved
2
IDMODE
1
0
Value
0
Description
Reserved
Interrupt disable mode.
0
Disable immediately.
1
Disable after ack
IERAW
Masked interrupt reflected in the IRQENTRY register.
0
Disable reflect.
1
Enable reflect.
FERAW
Masked interrupt reflect in FIQENTRY register.
0
Disable reflect.
1
Enable reflect.
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
107
INTC Registers
www.ti.com
8.4.10 EABASE
The EABASE register is shown in Figure 8-14 and described in Table 8-12.
Figure 8-14. EABASE
31
29
28
3
2
1
0
Reserved
EABASE
Reserved
SIZE
R-0
R/W-0
R-0
R/W-0
LEGEND: R/W = Read/Write, R = Read only; n = value at reset
Table 8-12. EABASE Field Descriptions
Bit
Field
Value
Description
31-29
Reserved
0
28-3
EABASE
0-3FF FFFFh
2
Reserved
0
1-0
108
SIZE
Reserved
Interrupt entry table base address (8-byte aligned)
Reserved
Size of each entry in the interrupt entry table.
0
4 bytes
1h
8 bytes
2h
16 bytes
3h
32 bytes
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Registers
www.ti.com
8.4.11 Interrupt Priority Register 0 (INTPRI0)
The interrupt priority register 0 (INTPRI0) is shown in Figure 8-15 and described in Table 8-13.
Figure 8-15. Interrupt Priority Register 0 (INTPRI0)
31
30
28
27
26
24
23
22
20
19
18
16
Reserved
INT7
Reserved
INT6
Reserved
INT5
Reserved
INT4
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
15
14
12
11
10
8
7
6
4
3
2
0
Reserved
INT3
Reserved
INT2
Reserved
INT1
Reserved
INT0
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 8-13. Interrupt Priority Register 0 (INTPRI0) Field Descriptions
Bit
Field
31
Reserved
30-28
27
26-24
23
22-20
19
18-16
15
14-12
11
10-8
7
6-4
3
2-0
INT7
Reserved
INT6
Reserved
INT5
Reserved
INT4
Reserved
INT3
Reserved
INT2
Reserved
INT1
Reserved
INT0
Value
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
Description
Reserved
Selects INT7 priority level.
Reserved
Selects INT6 priority level.
Reserved
Selects INT5 priority level.
Reserved
Selects INT4 priority level.
Reserved
Selects INT3 priority level.
Reserved
Selects INT2 priority level.
Reserved
Selects INT1 priority level.
Reserved
Selects INT0 priority level.
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
109
INTC Registers
www.ti.com
8.4.12 Interrupt Priority Register 1 (INTPRI1)
The interrupt priority register 1 (INTPRI1) is shown in Figure 8-16 and described in Table 8-14.
Figure 8-16. Interrupt Priority Register 1 (INTPRI1)
31
30
28
27
26
24
23
22
20
19
18
16
Reserved
INT15
Reserved
INT14
Reserved
INT13
Reserved
INT12
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
15
14
12
11
10
8
7
6
4
3
2
0
Reserved
INT11
Reserved
INT10
Reserved
INT9
Reserved
INT8
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 8-14. Interrupt Priority Register 1 (INTPRI1) Field Descriptions
Bit
Field
31
Reserved
30-28
27
26-24
23
22-20
19
18-16
15
14-12
11
10-8
7
6-4
3
2-0
110
INT15
Reserved
INT14
Reserved
INT13
Reserved
INT12
Reserved
INT11
Reserved
INT10
Reserved
INT9
Reserved
INT8
Value
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
Description
Reserved
Selects INT15 priority level.
Reserved
Selects INT14 priority level.
Reserved
Selects INT13 priority level.
Reserved
Selects INT12 priority level.
Reserved
Selects INT11 priority level.
Reserved
Selects INT10 priority level.
Reserved
Selects INT9 priority level.
Reserved
Selects INT8 priority level.
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Registers
www.ti.com
8.4.13 Interrupt Priority Register 2 (INTPRI2)
The interrupt priority register 2 (INTPRI2) is shown in Figure 8-17 and described in Table 8-15.
Figure 8-17. Interrupt Priority Register 2 (INTPRI2)
31
30
28
27
26
24
23
22
20
19
18
16
Reserved
INT23
Reserved
INT22
Reserved
INT21
Reserved
INT20
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
15
14
12
11
10
8
7
6
4
3
2
0
Reserved
INT19
Reserved
INT18
Reserved
INT17
Reserved
INT16
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 8-15. Interrupt Priority Register 2 (INTPRI2) Field Descriptions
Bit
Field
31
Reserved
30-28
27
26-24
23
22-20
19
18-16
15
14-12
11
10-8
7
6-4
3
2-0
INT23
Reserved
INT22
Reserved
INT21
Reserved
INT20
Reserved
INT19
Reserved
INT18
Reserved
INT17
Reserved
INT16
Value
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
Description
Reserved
Selects INT23 priority level.
Reserved
Selects INT22 priority level.
Reserved
Selects INT21 priority level.
Reserved
Selects INT20 priority level.
Reserved
Selects INT19 priority level.
Reserved
Selects INT18 priority level.
Reserved
Selects INT17 priority level.
Reserved
Selects INT16 priority level.
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
111
INTC Registers
www.ti.com
8.4.14 Interrupt Priority Register 3 (INTPRI3)
The interrupt priority register 3 (INTPRI3) is shown in Figure 8-18 and described in Table 8-16.
Figure 8-18. Interrupt Priority Register 3 (INTPRI3)
31
30
28
27
26
24
23
22
20
19
18
16
Reserved
INT31
Reserved
INT30
Reserved
INT29
Reserved
INT28
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
15
14
12
11
10
8
7
6
4
3
2
0
Reserved
INT27
Reserved
INT26
Reserved
INT25
Reserved
INT24
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 8-16. Interrupt Priority Register 3 (INTPRI3) Field Descriptions
Bit
Field
31
Reserved
30-28
27
26-24
23
22-20
19
18-16
15
14-12
11
10-8
7
6-4
3
2-0
112
INT31
Reserved
INT30
Reserved
INT29
Reserved
INT28
Reserved
INT27
Reserved
INT26
Reserved
INT25
Reserved
INT24
Value
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
Description
Reserved
Selects INT31 priority level.
Reserved
Selects INT30 priority level.
Reserved
Selects INT29 priority level.
Reserved
Selects INT28 priority level.
Reserved
Selects INT27 priority level.
Reserved
Selects INT26 priority level.
Reserved
Selects INT25 priority level.
Reserved
Selects INT24 priority level.
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Registers
www.ti.com
8.4.15 Interrupt Priority Register 4 (INTPRI4)
The interrupt priority register 4 (INTPRI4) is shown in Figure 8-19 and described in Table 8-17.
Figure 8-19. Interrupt Priority Register 4 (INTPRI4)
31
30
28
27
26
24
23
22
20
19
18
16
Reserved
INT39
Reserved
INT38
Reserved
INT37
Reserved
INT36
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
15
14
12
11
10
8
7
6
4
3
2
0
Reserved
INT35
Reserved
INT34
Reserved
INT33
Reserved
INT32
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 8-17. Interrupt Priority Register 4 (INTPRI4) Field Descriptions
Bit
Field
31
Reserved
30-28
27
26-24
23
22-20
19
18-16
15
14-12
11
10-8
7
6-4
3
2-0
INT39
Reserved
INT38
Reserved
INT37
Reserved
INT36
Reserved
INT35
Reserved
INT34
Reserved
INT33
Reserved
INT32
Value
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
Description
Reserved
Selects INT39 priority level.
Reserved
Selects INT38 priority level.
Reserved
Selects INT37 priority level.
Reserved
Selects INT36 priority level.
Reserved
Selects INT35 priority level.
Reserved
Selects INT34 priority level.
Reserved
Selects INT33 priority level.
Reserved
Selects INT32 priority level.
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
113
INTC Registers
www.ti.com
8.4.16 Interrupt Priority Register 5 (INTPRI5)
The interrupt priority register 5 (INTPRI5) is shown in Figure 8-20 and described in Table 8-18.
Figure 8-20. Interrupt Priority Register 5 (INTPRI5)
31
30
28
27
26
24
23
22
20
19
18
16
Reserved
INT47
Reserved
INT46
Reserved
INT45
Reserved
INT44
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
15
14
12
11
10
8
7
6
4
3
2
0
Reserved
INT43
Reserved
INT42
Reserved
INT41
Reserved
INT40
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 8-18. Interrupt Priority Register 5 (INTPRI5) Field Descriptions
Bit
Field
31
Reserved
30-28
27
26-24
23
22-20
19
18-16
15
14-12
11
10-8
7
6-4
3
2-0
114
INT47
Reserved
INT46
Reserved
INT45
Reserved
INT44
Reserved
INT43
Reserved
INT42
Reserved
INT41
Reserved
INT40
Value
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
Description
Reserved
Selects INT47 priority level.
Reserved
Selects INT46 priority level.
Reserved
Selects INT45 priority level.
Reserved
Selects INT44 priority level.
Reserved
Selects INT43 priority level.
Reserved
Selects INT42 priority level.
Reserved
Selects INT41 priority level.
Reserved
Selects INT40 priority level.
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
INTC Registers
www.ti.com
8.4.17 Interrupt Priority Register 6 (INTPRI6)
The interrupt priority register 6 (INTPRI6) is shown in Figure 8-21 and described in Table 8-19.
Figure 8-21. Interrupt Priority Register 6 (INTPRI6)
31
30
28
27
26
24
23
22
20
19
18
16
Reserved
INT55
Reserved
INT54
Reserved
INT53
Reserved
INT52
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
15
14
12
11
10
8
7
6
4
3
2
0
Reserved
INT51
Reserved
INT50
Reserved
INT49
Reserved
INT48
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 8-19. Interrupt Priority Register 6 (INTPRI6) Field Descriptions
Bit
Field
31
Reserved
30-28
27
26-24
23
22-20
19
18-16
15
14-12
11
10-8
7
6-4
3
2-0
INT55
Reserved
INT54
Reserved
INT53
Reserved
INT52
Reserved
INT51
Reserved
INT50
Reserved
INT49
Reserved
INT48
Value
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
Description
Reserved
Selects INT55 priority level.
Reserved
Selects INT54 priority level.
Reserved
Selects INT53 priority level.
Reserved
Selects INT52 priority level.
Reserved
Selects INT51 priority level.
Reserved
Selects INT50 priority level.
Reserved
Selects INT49 priority level.
Reserved
Selects INT48 priority level.
SPRUFX7A – July 2008 – Revised July 2010
Interrupt Controller
Copyright © 2008–2010, Texas Instruments Incorporated
115
INTC Registers
www.ti.com
8.4.18 Interrupt Priority Register 7 (INTPRI7)
The interrupt priority register 7 (INTPRI7) is shown in Figure 8-22 and described in Table 8-20.
Figure 8-22. Interrupt Priority Register 7 (INTPRI7)
31
30
28
27
26
24
23
22
20
19
18
16
Reserved
INT63
Reserved
INT62
Reserved
INT61
Reserved
INT60
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
15
14
12
11
10
8
7
6
4
3
2
0
Reserved
INT59
Reserved
INT58
Reserved
INT57
Reserved
INT56
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
R-0
R/W-7
LEGEND: R/W = Read/Write, R = Read; n = value at reset
Table 8-20. Interrupt Priority Register 7 (INTPRI7) Field Descriptions
Bit
Field
31
Reserved
30-28
27
26-24
23
22-20
19
18-16
15
14-12
11
10-8
7
6-4
3
2-0
116
INT63
Reserved
INT62
Reserved
INT61
Reserved
INT60
Reserved
INT59
Reserved
INT58
Reserved
INT57
Reserved
INT56
Value
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
0
0-7h
Description
Reserved
Selects INT63 priority level.
Reserved
Selects INT62 priority level.
Reserved
Selects INT61 priority level.
Reserved
Selects INT60 priority level.
Reserved
Selects INT59 priority level.
Reserved
Selects INT58 priority level.
Reserved
Selects INT57 priority level.
Reserved
Selects INT56 priority level.
Interrupt Controller
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 9
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
9.1
Overview of the System Control Module
The device’s system control module is a system-level module containing status and top-level control logic
required by the device. The system control module consists of a miscellaneous set of status and control
registers, accessible the ARM and supporting all of the following system features and operations:
• Device Identification
• Device Configuration
– Pin multiplexing control
– Device boot configuration status
• ARM Interrupt and EDMA Event multiplexing control
• Special Peripheral Status and Control
– Timer64+ control
– USB PHY control
– VPSS clock and Video DAC control and status
– DDR I/O timing control and status
– DDR VTP control
– Clock out circuitry
– GIO de-bounce control
• Power Management
– Deep Sleep Control
• Bandwidth Management
– Bus master DMA priority control
This chapter describes the system control module.
9.2
Device Identification
The DEVICE_ID register of the System Control Module contains a software readable version of the JTAG
ID device. Software can use this register to determine the version of the device on which it is executing.
The register format and description are shown in Table 9-11 and Table 9-14, respectively.
9.3
Device Configuration
The system control module contains registers for controlling pin multiplexing and registers that reflect the
boot configuration status.
9.3.1 Pin Multiplexing Control
The device makes extensive use of pin multiplexing to accommodate the large number of peripheral
functions in the smallest possible package. A combination of hardware configuration (at device reset) and
program control controls pin multiplexing to accomplish this. Hardware does not attempt to ensure that the
proper pin multiplexing is selected for the peripherals or that interface mode is being used.
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
117
ARM Interrupt and EDMA Event Multiplexing Control
9.3.1.1
www.ti.com
Hardware Controlled Default Pin Multiplexing
There are configuration input signals that can set some of the default pin mux and hardware
configurations that may be needed for device boot. Use pins AECFG[3:0] to configure the pins of the
AEMIF.
9.3.1.2
Program Controlled Pin Multiplexing
All pin multiplexing options other than those mentioned above are controlled by software via five pin mux
registers. The format of the registers and a description of the pins they control are in the following
sections.
9.3.1.2.1 PinMux0 Register
The PINMUX0 register controls pin multiplexing for the VPFE pins. The register format is shown in
Table 9-4. A brief description of each field is shown in Table 9-4.
9.3.1.2.2 PinMux1 Register
The PINMUX1 register controls pin multiplexing for the VPBE pins. The register format is shown in
Figure 9-2 with descriptions in Table 9-5.
9.3.1.2.3 PinMux2 Register
The PINMUX2 register controls pin multiplexing for the AEMIF pins. The register format is shown in
Figure 9-3. A brief description of each field is shown in Table 9-6.
9.3.1.2.4 PinMux3 Register
The PINMUX3 register controls pin multiplexing for the GIO pins. The register format is shown in
Figure 9-4. A brief description of each field is shown in Table 9-7.
9.3.1.2.5 PinMux4 Register
The PINMUX4 register controls pin multiplexing for SPI0 and MMC/SD0. The register format is shown in
Figure 9-5. A brief description of each field is shown in Table 9-8.
9.3.2 Device Boot Configuration Status
The device boot configuration (the state of the BTSEL[1:0] and AECFG[3:0] signals are captured in the
BOOTCFG register), as shown in Figure 9-6and Table 9-9.
9.4
ARM Interrupt and EDMA Event Multiplexing Control
The ARM_INTMUX and EDMA_EVTMUX registers are read/write registers containing the multiplexing
control for interrupts and events to the ARM and EDMA, respectively. These registers are necessary
because the total number of interrupts and events in the chip exceeds the maximum value of 64 which the
AINTC and EDMA support. See Figure 9-7and Figure 9-8.
9.5
Special Peripheral Status and Control
Several of the device’s peripheral modules require additional system-level control logic. Those registers
are discussed in detail in Section 9.10.
9.5.1 Timer64+ Control
The TIMER64_CTL register controls the GIO input selection. See Figure 9-13 and Table 9-16.
118
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Clock Out Configuration Status
www.ti.com
9.5.2 USB PHY Control
The USB_PHY_CTL register controls various features of the USB PHY, as shown in Figure 9-14 and
Table 9-17.
9.5.3 VPSS Clock and DAC Control and Status
Clocks for the video processing subsystem are controlled via the VPSS_CLK_CTRL register. Video DAC
configuration is controlled by VDAC.
9.5.4 DDR I/O Timing Control and Status
The DDR_SLEW register reflects the DDR I/O timing, as programmed in the eFuse device. See
Figure 9-9.
9.6
Clock Out Configuration Status
The device supports three clock out pins (CLKOUT[3:1]). The purpose of these pins is to provide input
clock to external components which are CCD clock to the AFE/TG, audio clock, and clock for motor
control. The CCD clock is the input crystal clock fed undivided, directly to the pin (CLKOUT1), the audio
clock is a divide by 3 clock (CLKOUT2), and the motor control is a divide by 8 clock (CLKOUT3). The
register CLKOUT is the CLK_OUT[3:1] divisor and output control register. In the device, this register is
read only. See Figure 9-10.
9.7
GIO De-Bounce Control
The DEBOUNCE registers control whether GIO0-GIO7 pin inputs are de-bounced or not. The de-bounce
logic cancels the chattering caused by mechanical switch or slow slope input. See Figure 9-20.
9.8
Power Management
9.8.1 Deep Sleep Control
Register DEEPSLEEP contains bits for the Deep Sleep power mode. See Figure 9-19.
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
119
Bandwidth Management
9.9
www.ti.com
Bandwidth Management
9.9.1 Bus Master DMA Priority Control
In order to determine allowed connections between masters and slaves, each master request source must
have a unique master ID (mstid) associated with it. The master ID for each device master is shown in
Table 9-1.
Table 9-1. Master IDs
120
MSTID
Master
0
ARM Instruction
1
ARM Data
2
Reserved
3
Reserved
4-7
Reserved
8
VPSS
9
Reserved
10
EDMA
11-15
Reserved
16
EDMA Channel 0 read
17
EDMA Channel 0 write
18
EDMA Channel 1 read
19
EDMA Channel 1 write
20-31
Reserved
32
Reserved
33
Reserved
34
USB
35
Reserved
36
Reserved
37
Reserved
38-63
Reserved
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Bandwidth Management
www.ti.com
Prioritization within each switched central resource (SCR) is selected to be either fixed or dynamic.
Dynamic prioritization is based on an incoming priority signal from each master. On the device, only the
VPSS and EDMA masters actually generate priority values. For all other masters, the value is
programmed in the chip-level MSTRPRI registers. The default priority level for each device bus master is
shown in Table 9-2. Application software is expected to modify these values to obtain the desired system
performance.
Table 9-2. Default Master Priorities
(1)
(2)
Master
Default Priority
VPSS
0 (1)
EDMA Ch 0
0 (2)
EDMA Ch 1
0 (2)
ARM (DMA)
1
ARM (CFG)
1
Reserved
-
Reserved
-
Reserved
-
Reserved
-
USB
4
Reserved
-
Reserved
-
Reserved
-
Reserved
-
Default value in VPSS PCR register
Default value for EDMA CC is in the QUEPRI register of the EDMA module.
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
121
System Control Register Descriptions
www.ti.com
9.10 System Control Register Descriptions
9.10.1 Introduction
Table 9-3 lists the memory-mapped registers for the System Module (SYS). See the device memory map
for Table 4-2 the memory address of these registers.
Table 9-3. System Module (SYS) Registers
122
Offset
Acronym
Register Description
0h
PINMUX0
PINMUX0 - Pin Mux 0 (Video In) Pin Mux Register
Section 9.10.2
Section
4h
PINMUX1
PINMUX1 - Pin Mux 1 (Video Out) Pin Mux Register
Section 9.10.3
8h
PINMUX2
PINMUX2 - Pin Mux 2 (AEMIF) Pin Mux Register
Section 9.10.4
Ch
PINMUX3
PINMUX3 - Pin Mux 3 (GIO/Misc) Pin Mux Register
Section 9.10.5
10h
PINMUX4
PINMUX4 - Pin Mux 4 (Misc) Pin Mux Register
Section 9.10.6
14h
BOOTCFG
Boot Configuration
Section 9.10.7
18h
ARM_INTMUX
Multiplexing Control for Interrupts
Section 9.10.7
1Ch
EDMA_EVTMUX
Multiplexing Control for EDMA Events
Section 9.10.9
20h
DDR_SLEW
DDR Slew Rate
Section 9.10.10
24h
CLKOUT
CLKOUT div/out Control
Section 9.10.11
28h
DEVICE_ID
Device ID
Section 9.10.12
2Ch
VDAC_CONFIG
Video DAC Configuration
Section 9.10.13
30h
TIMER64_CTL
TIMER64_CTL - Timer64+ Input Control
Section 9.10.14
34h
USB_PHY_CTRL
USB PHY Control
Section 9.10.15
38h
MISC
Miscellaneous Control
Section 9.10.16
3Ch
MSTPRI0
Master Priorities Reg0
Section 9.10.17
40h
MSTPRI1
Master Priorities Reg1
Section 9.10.18
44h
VPSS_CLK_CTRL
VPSS Clock Mux Control
Section 9.10.19
48h
DEEPSLEEP
DEEPSLEEP Configuration
Section 9.10.20
50h
DEBOUNCE0
DEBOUNCE - Debounce for GIO0 Input
Section 9.10.21
54h
DEBOUNCE1
DEBOUNCE - Debounce for GIO1 Input
Section 9.10.21
58h
DEBOUNCE2
DEBOUNCE - Debounce for GIO2 Input
Section 9.10.21
5Ch
DEBOUNCE3
DEBOUNCE - Debounce for GIO3 Input
Section 9.10.21
60h
DEBOUNCE4
DEBOUNCE - Debounce for GIO4 Input
Section 9.10.21
64h
DEBOUNCE5
DEBOUNCE - Debounce for GIO5 Input
Section 9.10.21
68h
DEBOUNCE6
DEBOUNCE - Debounce for GIO6 Input
Section 9.10.21
6Ch
DEBOUNCE7
DEBOUNCE - Debounce for GIO7 Input
Section 9.10.21
70h
VTPIOCR
VTP IO Control Register
Section 9.10.22
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.2 PINMUX0 - Pin Mux 0 (Video In) Pin Mux Register
The PINMUX0 register controls pin multiplexing for the VPFE pins.
Figure 9-1. PINMUX0 - Pin Mux 0 (Video In) Pin Mux Register
31
24
Reserved
R-0
23
16
Reserved
R-0
15
14
13
12
11
10
9
8
Reserved
PCLK
CAM_WEN
CAM_VD
CAM_HD
YIN_70
CIN_10
CIN_32
R-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
6
5
4
3
2
1
7
0
CIN_4
YCIN_5
CIN_6
CIN_7
R/W-0
R/W-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 9-4. PINMUX0 - Pin Mux 0 (Video In) Pin Mux Register Field Descriptions
Bit
31-15
14
13
12
11
10
9
8
7-6
Field
Reserved
Value
0
PCLK
Description
Reserved.
Enable the PCLK (Video In Pin Mux)
0
GIO[82]
1
PCLK
CAM_WEN
Enable the CAM_WEN (Video In Pin Mux)
0
GIO[83]
1
CAM_WEN
CAM_VD
Enable the CAM_VD (Video In Pin Mux)
0
GIO[84]
1
CAM_VD
CAM_HD
Enable the CAM_HD (Video In Pin Mux)
0
GIO[85]
1
CAM_HD
YIN_70
Enable the YIN[7:0] (Video In Pin Mux)
0
GIO[93:86]
1
YIN[7:0]
CIN_10
Enable the CIN[1:0] (Video In Pin Mux)
0
GIO[95:94]
1
CIN[1:0]
CIN_32
Enable the CIN[3:2] (Video In Pin Mux)
0
GIO[97:96]
1
CIN[3:2]
CIN_4
Enable the CIN[4] (Video In Pin Mux)
0
GIO[98]
1
CIN[4]
2
SPI[2]_SDI
3
SPI[2]_SDENA[1]
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
123
System Control Register Descriptions
www.ti.com
Table 9-4. PINMUX0 - Pin Mux 0 (Video In) Pin Mux Register Field Descriptions (continued)
Bit
Field
5-4
YCIN_5
3-2
1-0
124
Value
Description
Enable the CIN[5] (Video In Pin Mux)
0
GIO[99]
1
CIN[5]
2
SPI[2]_SDENA[0]
3
Reserved
CIN_6
Enable the CIN[6] (Video In Pin Mux)
0
GIO[100]
1
CIN[6]
2
SPI[2]_SDO
3
Reserved
CIN_7
Enable the CIN[7] (Video In Pin Mux)
0
GIO[101]
1
CIN[7]
2
SPI[2]_SCLK
3
Reserved
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.3 PINMUX1 - Pin Mux 1 (Video Out) Pin Mux Register
The PINMUX1 register controls pin multiplexing for the VPBE pins.
Figure 9-2. PINMUX1 - Pin Mux 1 (Video Out) Pin Mux Register
31
23
15
14
22
21
20
19
18
17
16
Reserved
VCLK
EXTCLK
FIELD
DLCD
HVSYNC
R-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
13
12
11
10
9
8
7
6
5
4
3
2
1
0
COUT_0
COUT_1
COUT_2
COUT_3
COUT_4
COUT_5
COUT_6
COUT_7
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write, R = Read only; n = value at reset
Table 9-5. PINMUX1 - Pin Mux 1 (Video Out) Pin Mux Register Field Descriptions
Bit
31-23
22
21-20
19-18
17
16
15-14
13-12
11-10
Field
RESERVED
Value
0
VCLK
Description
Reserved Must be set to 0
Enable VCLK (Video Out Pin Mux)
0
VCLK
1
GI0[68]
EXTCLK
Enable EXTCLK (Video Out Pin Mux)
0
GIO[69]
1
EXTCLK
2
B2
3
PWM3
FIELD
Enable FIELD (Video Out Pin Mux)
0
GIO[70]
1
FIELD
2
R2
3
PWM3
DLCD
Enable DLCD Signal (Video Out Pin Mux)
0
LCD_OE or BRIGHT
1
GIO[71]
HVSYNC
Enable HVSYNC (Video Out Pin Mux)
0
HSYNC & VSYNC
1
GIO[73:72]
COUT_0
Enable COUT[0] (Video Out Pin Mux)
0
GIO[74]
1
COUT[0]
2
PWM3
3
Reserved
COUT_1
Enable COUT[1] (Video Out Pin Mux)
0
GIO[75]
1
COUT[1]
2
PWM3
3
Reserved
COUT_2
Enable COUT[2] (Video Out Pin Mux)
0
GIO[76]
1
COUT[2]
2
PWM2
3
RTO3
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
125
System Control Register Descriptions
www.ti.com
Table 9-5. PINMUX1 - Pin Mux 1 (Video Out) Pin Mux Register Field Descriptions (continued)
Bit
Field
9-8
COUT_3
7-6
5-4
3-2
1-0
126
Value
Description
Enable COUT[3] (Video Out Pin Mux)
0
GIO[77]
1
COUT[3]
2
PWM2
3
RTO2
COUT_4
Enable COUT[4] (Video Out Pin Mux)
0
GIO[78]
1
COUT[4]
2
PWM2
3
RTO1
COUT_5
Enable COUT[5] (Video Out Pin Mux)
0
GIO[79]
1
COUT[5]
2
PWM2
3
RTO0
COUT_6
Enable COUT[6] (Video Out Pin Mux)
0
GIO[80]
1
COUT[6]
2
PWM1
3
Reserved
COUT_7
Enable COUT[7] (Video Out Pin Mux)
0
GIO[81]
1
COUT[7]
2
PWM0
3
Reserved
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.4 PINMUX2 - Pin Mux 2 (AEMIF) Pin Mux Register
The PINMUX2 register controls pin multiplexing for the AEMIF pins. Some of the register fields have
default values set by external pins that allow control of the AEMIF configuration to match the boot mode.
Figure 9-3. PINMUX2 - Pin Mux 2 (AEMIF) Pin Mux Register
31
24
Reserved
R-0
23
16
Reserved
R-0
15
11
10
9
8
Reserved
12
EM_CLK
EM_ADV
EM_WAIT
EM_WE_OE
R-0
R/W-0
R/W-1
R/W-0
R/W-0
7
6
5
4
1
0
EM_CE1
EM_CE0
EM_D7_0
EM_D15_8
3
EM_BA0
2
EM_A0_BA1
EM_A13_3
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 9-6. PINMUX2 - Pin Mux 2 (AEMIF) Pin Mux Register Field Descriptions
Bit
Field
31-12
Reserved
11
EM_CLK
10
9
8
7
6
5
Value
0
Description
Reserved Must be set to 0.
Enable EM_CLK (AEMIF Pin Mux)
0
EM_CLK
1
GIO[31]
EM_ADV
Enable EM_ADV (AEMIF Pin Mux)
0
EM_ADV - Address Valid Detect for OneNAND
1
GIO[32]
EM_WAIT
Enable EM_WAIT (AEMIF Pin Mux)
0
EM_WAIT
1
GIO[33]
EM_WE_OE
Enable EM_WE_OE (AEMIF Pin Mux)
0
EM_WE & EM_OE
1
GIO[35:34]
EM_CE1
Enable EM_CE1 (AEMIF Pin Mux)
0
EM_AO
1
GIO[36]
EM_CEO
Enable EM_CE0 (AEMIF Pin Mux)
0
EM_CE0
1
GIO[37]
EM_D7_0
Enable EM_D[7:0] (AEMIF Pin Mux)
0
EM_D[7:0]
1
GIO[45:38]
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
127
System Control Register Descriptions
www.ti.com
Table 9-6. PINMUX2 - Pin Mux 2 (AEMIF) Pin Mux Register Field Descriptions (continued)
Bit
4
Field
Value
EM_D15_8
Description
Enable EM_D[15:8] (AEMIF Pin Mux)
Reset value set by AECFG[3] - sets AEMIF bus width for boot
OneNAND operation requires PINMUX2[4:1] = AECFG[3:0] = 0010b; i.e.,
- 16_bit data bus,
- full AEMIF address bus,
- plus EM_A[14], EM_BA1 used as 16_bit address
This puts the AEMIF module in "Half Rate" mode required for OneNAND
3-2
0
EM_D[15:8]
1
GIO[53:46]
EM_BA0
Enable EM_BA0 (AEMIF Pin Mux)
Reset value set by AECFG[2:1] - sets AEMIF address usage for boot
OneNAND operation requires PINMUX2[4:1] = AECFG[3:0] = 0010b; i.e.,
- 16_bit data bus,
- full AEMIF address bus,
- plus EM_A[14], EM_BA1 used as 16_bit address
This puts the AEMIF module in "Half Rate" mode required for OneNAND
1
0
EM_BA0 - Byte address for 8-bit data bus
1
EM_A14 - Address MSB, required for OneNAND
2
GIO[54]
3
Reserved
EM_A0_BA1
Enable EM_A0 BA1 (AEMIF Pin Mux)
Reset value set by AECFG[0] - sets AEMIF address width for boot
OneNAND operation requires PINMUX2[4:1] = AECFG[3:0] = 0010b; i.e.,
- 16_bit data bus,
- full AEMIF address bus,
- plus EM_A[14], EM_BA1 used as 16_bit address
This puts the AEMIF module in "Half Rate" mode required for OneNAND
0
0
EM_A0 & EM_BA1
1
GIO[56:55]
EM_A13_3
Enable EM_A13_3 (AEMIF Pin Mux)
Reset value set by AECFG[0] - sets AEMIF address width for boot
128
0
EM_A[13:3]
1
GIO[64:57]
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.5 PINMUX3 - Pin Mux 3 (GIO/Misc) Pin Mux Register
The PINMUX3 register controls pin multiplexing for the GIO pins.
Figure 9-4. PINMUX3 - Pin Mux 3 (GIO/Misc) Pin Mux Register
31
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Reserved
GIO7
GIO8
GIO9
GIO10 GIO11 GIO12 GIO13 GIO14 GIO15 GIO16 GIO17 GIO18
R-0
R/W-0
R/W-0
R/W-0
R/W-0
12
11
15
14
13
10
9
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
7
6
5
4
3
2
1
0
8
GIO19
GIO20
GIO21
GIO22
GIO23 GIO24 GIO25 GIO26 GIO27 GIO28 GIO29 GIO30
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write; -n = value after reset
Table 9-7. PINMUX3 - Pin Mux 3 (GIO/Misc) Pin Mux Register Field Descriptions
Bit
31-29
28
27
26-25
24
23
22
21
20
19
18
17
Field
Reserved
Value
0
GIO7
Description
Reserved
Enable GIO[7] (GPIO Pin Mux)
0
GIO[7]
1
SPI0_SDENA[1]
GIO8
Enable GIO[8] (GPIO Pin Mux)
0
GIO[8]
1
SPI1_SDO
GIO9
Enable GIO[9] (GPIO Pin Mux)
0
GIO[9]
1
SPI0_SDI
2
SPI0_SDENA[1]
3
Reserved
GIO10
Enable GIO[10] (GPIO Pin Mux)
0
GIO[10]
1
SPI1_SCLK
GIO11
Enable GIO[11] (GPIO Pin Mux)
0
GIO[11]
1
SPI1_SDENA[0]
GIO12
Enable GIO[12] (GPIO Pin Mux)
0
GIO[12]
1
UART1_TXD
GIO13
Enable GIO[13] (GPIO Pin Mux)
0
GIO[13]
1
UART1_RXD
GIO14
Enable GIO[14] (GPIO Pin Mux)
0
GIO[14]
1
I2C_SCL
GIO15
Enable GIO[15] (GPIO Pin Mux)
0
GIO[15]
3
I2C_SDA
GIO16
Enable GIO[16] (GPIO Pin Mux)
0
GIO[16]
3
CLKOUT3
GIO17
Enable GIO[17](GPIO Pin Mux)
0
GIO[17]
1
CLKOUT2
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
129
System Control Register Descriptions
www.ti.com
Table 9-7. PINMUX3 - Pin Mux 3 (GIO/Misc) Pin Mux Register Field Descriptions (continued)
Bit
Field
16
GIO18
15-14
13-12
11-10
9-8
7
6
5
4
3
2
1
0
130
Value
Description
Enable GIO[18](GPIO Pin Mux)
0
GIO[18]
1
CLKOUT1
GIO19
Enable GIO[19](GPIO Pin Mux)
0
GIO[19]
1
SD1_DATA0
2
UART2_TXD
3
Reserved
GIO20
Enable GIO[20](GPIO Pin Mux)
0
GIO[20]
1
SD1_DATA1
2
UART2_RXD
3
Reserved
GIO21
Enable GIO[21](GPIO Pin Mux)
0
GIO[21]
1
SD1_DATA2
2
UART2_CTS
3
Reserved
GIO22
Enable GIO[22](GPIO Pin Mux)
0
GIO[22]
1
SD1_DATA3
2
UART2_RTS
3
Reserved
GIO23
Enable GIO[23](GPIO Pin Mux)
0
GIO[23]
1
SD1_CMD
GIO24
Enable GIO[24](GPIO Pin Mux)
0
GIO[24]
1
SD1_CLK
GIO25
Enable GIO[25](GPIO Pin Mux)
0
GIO[25]
1
ASP0_FSR
GIO26
Enable GIO[26](GPIO Pin Mux)
0
GIO[26]
1
ASP0_CLKR
GIO27
Enable GIO[27] (GPIO Pin Mux)
0
GIO[27]
1
ASP0_DR
GIO28
Enable GIO[28](GPIO Pin Mux)
0
GIO[28]
1
ASP0_FSX
GIO29
Enable GIO[29](GPIO Pin Mux)
0
GIO[29]
1
ASP0_CLKX
GIO30
Enable GIO[30](GPIO Pin Mux)
0
GIO[30]
1
ASP0_DX
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.6 PINMUX4 - Pin Mux 4 (Misc) Pin Mux Register
The PINMUX4 register controls pin multiplexing for SPI0 and MMC/SD0.
Figure 9-5. PINMUX4 - Pin Mux 4 (Misc) Pin Mux Register
31
3
2
1
0
Reserved
MMCSD0
SPI0_SDI
SPI0_SDENA
R-0
R/W-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write, R = Read only; n = value at reset
Table 9-8. PINMUX4 - Pin Mux 4 (Misc) Pin Mux Register Field Descriptions
Bit
Field
31-3
Reserved
2
MMCSD0
1
0
Value
0
Description
Reserved
Enable MMCSD0
0
MMC/SD[0] - SD0_CLK,SD0_CMD & SD0_DATA[3:0]
1
Reserved
SPI0_SDI
Enable SPI0_SDI
0
SPI0_SDI
1
GIO[102]
SPI0_SDENA
Enable SPI0_SDENA0
0
SPI0_SDENA[0]
1
GIO[103]
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
131
System Control Register Descriptions
www.ti.com
9.10.7 BOOTCFG - Boot Configuration
The device boot configuration (the state of the BTSEL[1:0] and AECFG[3:0] signals are captured in the
BOOTCFG register.
Figure 9-6. BOOTCFG - Boot Configuration
31
16
Reserved
R-0
15
9
8
7
6
5
4
3
0
Reserved
GIO0_RESET
BTSEL
Reserved
AECFG
R-0
R-0
R-0
R-0
R-1101
LEGEND: R = Read only; -n = value after reset
Table 9-9. BOOTCFG - Boot Configuration Field Descriptions
Bit
31-9
8
7-6
Field
Value
Reserved
0
Description
Reserved
GIO0_RESET
GIO0 Value Sampled at Reset Sampled prior to debounce circuit
BTSEL[1:0]
Configuration at boot of BTSEL[1:0] pins
Take care that AECFG[3:0] settings, which configure AEMIF pin mux settings in PINMUX2[4:0], are
compatible with the boot mode:
- OneNAND boot requires AECFG[3:0] = 0010b
- Only 8_bit NAND boot is supported - AECFG[3:0] = 1XXXb
5-4
Reserved
3-0
AECFG[3:0]
0
Boot from ROM - NAND/SPI0 Flash boot mode
1
Boot from AEMIF - OneNAND
2
Boot from ROM - SD0 boot mode
3
Boot from ROM - UART0 boot mode
0
Reserved
AEMIF Configuration settings for boot by AECFG[3:0] pins
[3] - AEMIF Data Bus width (0 = 16-bit, 1 = 8-bit)
[2:1] - Configuration of EM_AN pin
- 00 = BA0, needed for 8-bit ASYNC memories or devices
- 01 = A[14], required for OneNAND operation and AEMIF in Half_Rate mode
- 10 = GIO[54], usable in NAND mode only
- 11 = reserved
[0] - AEMIF Address bus width (0 = A{13:3] and A[0], BA1
Take care that AECFG[3:0] settings, which configure AEMIF pin mux settings in PINMUX2[4:0], are
compatible with the boot mode:
- OneNAND boot requires AECFG[3:0] = 0010b
- Only 8_bit NAND boot is supported _ AECFG[3:0] = 1XXXb
132
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.8 ARM_INTMUX - ARM Interrupt Mux Control Register
The ARM_INTMUX register provides multiplexing control for interrupts to the ARM since the Interrupt
Controller (INTC) can only support 64 discrete events.
Figure 9-7. ARM_INTMUX - ARM Interrupt Mux Control Register
31
16
Reserved
R-0
15
7
6
5
4
3
2
1
0
Reserved
8
INT20
INT25
INT24
INT19
INT18
INT17
INT14
INT13
R-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 9-10. ARM_INTMUX - ARM Interrupt Mux Control Register Field Descriptions
Bit
31-8
7
6
5
4
3
2
1
0
Field
Reserved
Value
0
INT20
Description
Reserved
INT20 - PSC or Reserved
0
Power Sleep Controller
1
Reserved
INT25
INT25 - ASP0 RINT or ASP1 RINT
0
ASP0 RINT
1
ASP1 RINT
INT24
INT24 - ASP0 XINT or ASP1 XINT
0
ASP0 XINT
1
ASP1 XINT
INT19
INT19 - SPI2_INT0 or EDMA TC1 Error Interrupt
0
SPINT2_0
1
EDMA TC1 Error
INT18
INT18 - SPI1_INT1 or EDMA TC0 Error Interrupt
0
SPINT1_1
1
EDMA TC0 Error
INT17
INT17 - SPI1_INT0 or EDMA CC Error Interrupt
0
SPI1 INT0
1
EDMA CC Error
INT14
INT14 - UART2 or TIMER2:TINT5
0
UART2
1
TIMER2:TINT5
INT13
INT13 - RTO or Timer2:TINT4
0
RTO
1
TIMER2:TINT4
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
133
System Control Register Descriptions
www.ti.com
9.10.9 EDMA_EVTMUX - EDMA Event Mux Control Register
The EDMA_EVTMUX register controls multiplexing for EDMA Events due to the limited number of events
supported by the EDMA.
Figure 9-8. EDMA_EVTMUX - EDMA Event Mux Control Register
31
2
1
0
Reserved
3
EVT26
EVT9
EVT8
R-0
R/W-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 9-11. EDMA_EVTMUX - EDMA Event Mux Control Register Field Descriptions
Bit
31-3
2
1
0
134
Field
Reserved
Value
0
EVT26
Description
Reserved.
EVT26 - MMC/SD[0] Receive
0
MMC/SD[0] Receive Event
1
Reserved
EVT9
EVT9 - ASP1 Receive or Timer2:TINT5
0
ASP1 Receive Event
1
TIMER2:TINT5
EVT8
EVT9 - ASP1 transmit or Timer2:TINT4
0
ASP1 Transmit Event
1
TIMER2:TINT4
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.10 DDR_SLEW - DDR Slew
The DDR_SLEW register allows the CMOSEN field to configure the DDR I/O cells into an LVCMOS input
buffer and makes it Mobile DDR compatible.
Figure 9-9. DDR_SLEW - DDR Slew
31
16
Reserved
R-0
15
5
4
3
0
Reserved
CMOSEN
Reserved
R-038h
R-0
R-Fh
LEGEND: R = Read only; -n = value after reset
Table 9-12. DDR_SLEW - DDR Slew Field Descriptions
Bit
Field
Value
Description
31-16
RESERVED
0
Reserved
15-5
RESERVED
038h
Reserved
4
3-0
CMOSEN
RESERVED
Selects Mobile DDR LVCMOS or SSTL18 differential Receiver. A '1' configures the DDR I/O
cells into an LVCMOS input buffer and makes it Mobile DDR compatible.
0
SSTL18 receiver
1
LVCMOS receiver
0-Fh
Reserved
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
135
System Control Register Descriptions
www.ti.com
9.10.11 CLKOUT - CLKOUT Divisor / Output Control
The CLKOUT register provides control of divisors and output enables for CLKOUT[3:1]. In the device, this
register is read only. The CLKOUT[3:1] pins are multiplexed. Use the PINMUX3 register in the system
control module to control the pin multiplexing for CLKOUT[3:1]. See Section 9.3.1.2.4 for information on
the PINMUX3 register.
Figure 9-10. CLKOUT - CLKOUT div/out Control
31
2
1
0
Reserved
3
CRYS_DIV8
CRYS_DIV3
CRYS_DIV1
R-0
R-1
R-1
R-1
LEGEND: R = Read only; n = value at reset
Table 9-13. CLKOUT - CLKOUT div/out Control Field Descriptions
Bit
Field
Value
Description
31-3
RESERVED
0
2
CRYS_DIV8
0-1h
CLKOUT3 Enable (CLKOUT3 is crystal frequency (reference clock) divided by 8)
1
CRYS_DIV3
0-1h
CLKOUT2 Enable (CLKOUT2 is crystal frequency (reference clock) divided by 3)
0
CRYS_DIV1
0-1h
CLKOUT1 Enable (CLKOUT1 is crystal frequency (reference clock) divided by 1)
136
Reserved
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.12 DEVICE_ID - Device ID
The DEVICE_ID register provides the identifying information for the TI ARM processor.
Figure 9-11. DEVICE_ID - Device ID
31
28
27
12
11
1
0
DEVREV
PARTNUM
MFGR
Reserved
R-0
R-0xB73B
R-0x017
R-1
LEGEND: R = Read only; n = value at reset
Table 9-14. DEVICE_ID - Device ID Field Descriptions
Bit
Field
31-28
DEVREV
27-12
PARTNUM
11-1
MFGR
0
RESERVED
Value
0-7h
0-FFFFh
0-7FFh
1h
Description
Device Revision
Part Number/Device JTAG ID (Uniquely Defined)
Manufacturer's JTAG ID Texas Instruments' Mfg ID
Reserved (Always 1)
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
137
System Control Register Descriptions
www.ti.com
9.10.13 VDAC_CONFIG - Video Dac Configuration
the VDAC_CONFIG register provides control of the Video DAC.
Figure 9-12. VDAC_CONFIG - Video Dac Configuration
31
30
29
26
Reserved
R-0
23
R-0
22
25
24
TRESB4R4
TRESB4R2
R/W-0xC
R/W-0x8
21
18
17
16
TRESB4R2
TRESB4R1
TRIMBITS
R/W-0x8
R/W-0xC
R/W-0x37
15
11
7
10
9
8
TRIMBITS
PWD_BGZ
SPEED
TVINT
R/W-0x37
R/W-0
R/W-1
R-x
3
2
1
0
PWD_VBFUZ
6
VREFSET
4
ACCUP_EN
DINV
Reserved
Reserved
R/W-0
R/W-3
R/W-1
R/W-1
R-1
R-0
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 9-15. VDAC_CONFIG - Video Dac Configuration Field Descriptions
Bit
Field
Value
31-30
Reserved
29-26
TRESB4R4
0-Fh
Resistance trimming control bit for VREF
25-22
TRESB4R2
0-Fh
Resistance trimming control bit for VREF
21-18
TRESB4R1
0-Fh
Resistance trimming control bit for VREF
17-11
TRIMBITS
0-7Fh
PNP transistor trimming control bit for VREF
10
PWD_BGZ
9
8
7
6-4
3
2
138
0
Description
Power Down of VREFF
0
Power down
1
Power up
SPEED
Faster operation of VREF transfer
0
Normal
1
Faster
TVINT
TV cable connect status from DAC
0
Cable connected
1
Cable disconnected
PWD_VBFUZ
VREFSET
Reserved
Power down of video buffer
0
Power down
1
Power up
0-7h
ACCUP_EN
VREF setting to video buffer
AC capacitor coupling externally to video buffer
0
Disable the coupling
1
Enable the coupling
DINV
Data invert from VENC (inside the DAC)
0
No inversion - use only when VDAC is used without VREF and buffer
1
Inversion - When VDAC is used with VFEF and buffer
1
Reserved
1
Reserved
0
Reserved
0
Reserved
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.14 TIMER64_CTL - Timer64+ Input Control
The TIMER64_CTL register provides Timer64+ input control.
Figure 9-13. TIMER64_CTL - Timer64+ Input Control
31
2
1
0
Reserved
GIO3_4
GIO1_2
R-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write, R = Read only; n = value at reset
Table 9-16. TIMER64_CTL - Timer64+ Input Control Field Descriptions
Bit
31-2
1
0
Field
Reserved
Value
0
GIO3_4
Description
Reserved
GIO3 OR GIO4 for input
0
gio3 for input
1
gio4 for input
GIO1_2
GIO1 OR GIO2 for input
0
gio1for input
1
gio2 for input
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
139
System Control Register Descriptions
www.ti.com
9.10.15 USB_PHY_CTRL - USB PHY Control
The USB_PHY_CTL register controls various features of the USB PHY.
Figure 9-14. USB_PHY_CTRL - USB PHY Control
31
24
Reserved
R-0
23
16
Reserved
R-0
15
14
13
12
11
10
9
8
Reserved
DATAPOL
PHYCLKSRC
PHYCLKGD
R-0
R/W-0
R/W-0
R-0
7
6
5
4
3
2
1
0
SESNDEN
VBDTCTEN
VBUSENS
PHYPLLON
Reserved
VPSS_OSCPDWN
OTGPDWN
PHYPDWN
R/W-1
R/W-1
R-0
R/W-0
R-0
R/W-1
R/W-1
R/W-1
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 9-17. USB_PHY_CTRL - USB PHY Control Field Descriptions
Bit
31-12
11
10-9
8
7
6
5
4
140
Field
RESERVED
Value
0
DATAPOL
0
USB PHY data polarity no inversion
1
USB PHY data polarity inversion
USB PHY input clock source
0
24MHz directly from crystal
1
12MHz (after dividing 36 MHz crystal by 3)
2
PLLC1.sysclk3 (backup in case 27MHz crystal is used)
3
Reserved
PHYCLKGD
USB PHY Power and Clock Good
0
Phy power not ramped or PLL not locked
1
Phy power is good and PLL is locked
SESNDEN
Session End Comparator enable
0
comparator disabled
1
comparator enabled
VBDTCTEN
vbus comparator enable
0
comparators (except session end) disabled
1
comparators (except session end) enabled
VBUSENS
OTG analog block VBUSSENSE output status
0
vbus not present (<0.5V)
1
vbus present (>0.5V)
PHYPLLON
Reserved
2
VPSS_OSCPDW
N
Reserved
USB PHY data polarity inversion
PHYCLKSRC
3
Description
USB PHY PLL suspend override
0
Normal PLL operation
1
Override PLL suspend state
0
Reserved
VPSS oscillator power down control
0
VPSS MXI2 powered
1
VPSS MXI2 power off
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
Table 9-17. USB_PHY_CTRL - USB PHY Control Field Descriptions (continued)
Bit
1
0
Field
Value
OTGPDWN
Description
USB OTG analog block power down control
0
OTG analog block powered
1
OTG analog block power off
PHYPDWN
USB PHY power down control
0
PHY powered
1
PHY power off
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
141
System Control Register Descriptions
www.ti.com
9.10.16 MISC - Miscellaneous Control
The MISC register include miscellaneous control functions.
Figure 9-15. MISC - Miscellaneous Control
31
8
Reserved
R-0
7
1
0
Reserved
6
5
TIMER2_WDT
4
3
Reserved
2
PLL1_POSTDIV
AIM_WAIST
R-0
R/W-1
R-0-3h
R/W-1
R/W-0
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 9-18. MISC - Miscellaneous Control Field Descriptions
Bit
31-5
4
3-2
1
0
Field
Value
RESERVED
0
TIMER2_WDT
Description
Reserved.
TIMER2 Definition (Normal vs. WDT).
RESERVED
0
TIMER2 is normal Timer.
1
TIMER2 is WDT.
0-3h
PLL1_POSTDIV
Reserved.
PLL1 post-divider selection.
0
Sets PLL1 post-divider equal to 1. Only used in >135Mhz speed grade devices.
1
Sets PLL1 post-divider equal to 2.
AIM_WAIST
ARM Internal Memory Wait States.
0
1 wait state to IRAM.
1
0 wait state to IRAM. Set this bit for zero wait-state only if the ARM clock frequency is less than or
equal to 150 MHz.
9.10.17 MSTPRI0 - Master Priorities 0
The MSTPRI0 registers provides control of the bus masters' DMA priorities.
Figure 9-16. MSTPRI0 - Master Priorities 0
31
7
6
4
3
2
0
Reserved
ARM_CFGP
Reserved
ARM_DMAP
R-0
R/W-0x1
R-0
R/W-0x1
LEGEND: R/W = Read/Write, R = Read only; n = value at reset
Table 9-19. MSTPRI0 - Master Priorities 0 Field Descriptions
Bit
Field
31-7
Reserved
6-4
ARM_CFGP
3
2-0
Reserved
ARM_DMAP
Value
0
0-7h
0
0-7h
Description
Reserved
ARM CFG bus priority
Reserved
ARM DMA priority
9.10.18 Master Priorities 1 (MSTPRI1) Register
The master priorities 1 (MSTPRI1) register is shown in Figure 9-17 and discussed in Table 9-20. It
provides control of the bus masters' DMA priorities.
142
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
Figure 9-17. Master Priorities 1(MSTPRI1) Register
31
11
10
8
7
0
Reserved
USBP
Reserved
R-0
R/W-0x4
R-0
LEGEND: R/W = Read/Write, R = Read only; n = value at reset
Table 9-20. Master Priorities 1 (MSTPRI1) Register Field Descriptions
Bit
Field
31-11
Reserved
10-8
USBP
7-0
Reserved
Value
0
0-7h
0
Description
Reserved
USB bus priority
Reserved
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
143
System Control Register Descriptions
www.ti.com
9.10.19 VPSS_CLK_CTRL - VPSS Clock Mux Control
The VPSS Clock multiplexing control is provided by the VPSS_CLK_CTRL register.
Figure 9-18. VPSS_CLK_CTRL - VPSS Clock Mux Control
31
16
Reserved
R-0
15
4
3
2
Reserved
7
VENC_CLK_SRC
6
5
DACCLKEN
VENCLKEN
PCLK_INV
VPSS_MUXSEL
1
0
R-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 9-21. VPSS_CLK_CTRL - VPSS Clock Mux Control Field Descriptions
Bit
Field
31-7
Reserved
6-5
VENC_CLK_SRC
4
3
2
1-0
144
Value
0
Description
Reserved
27MHz Input Source
0
PLL1 divided down (SYSCLK3)
1
External crystal 2 (MXI2/MXO2)
2
External crystal 1 (MXI1/MXO1)
3
Reserved
DACCLKEN
Video DAC clock enable.
0
disable
1
enable
VENCLKEN
Video Encoder clock enable.
0
disable
1
enable
PCLK_INV
Invert VPFE pixel clock (PCLK)
0
VENC clk mux and CCDC receive normal PCLK
1
VENC clk mux and CCDC receive inverted PCLK
VPSS_MUXSEL
VPSS clock selection.
0
Use clock from PLL1 SYSCLK3, MXI2, or MXI1. Selection is determined by bit VENC_CLK_SRC.
(DAC clock = selected clock: PLL1 SYSCLK3, MXI2, or MXI1).
1
Reserved
2
Use external VPBE clock input, EXTCLK pin (DAC clock = EXTCLK)
3
Use pixel clock from VPFE, PCLK pin (DAC clock = off)
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.20 Deep Sleep Mode Configuration (DEEPSLEEP) Register
The deep sleep mode configuration (DEEPSLEEP) register is shown in Figure 9-19 and described in
Table 9-22 .
Figure 9-19. Deep Sleep Mode Configuration (DEEPSLEEP) Register
31
30
SLEEPENABLE
SLEEPCOMPLETE
29
Reserved
16
R/W-0
R-1
R-0
15
3
2
1
0
COUNT
4
Reserved
DRVVBUS_FORCE
DRVVBUS_OVERRIDE
Reserved
R/W-0x176
R-1
R/W-0
R/W-1
R-1
LEGEND: R/W = Read/Write, R = Read only; n = value at reset
Table 9-22. Deep Sleep Mode Configuration (DEEPSLEEP) Register Field Descriptions
Bit
Field
31
SLEEPENABLE
30
Value
Description
Enable Deep Sleep Mode
When enabled, driving GIO[0] low will initiate Deep Sleep and driving GIO[0] high
will initiate wakeup from Deep Sleep.
NOTE: After wakeup, Deep Sleep Mode must be disabled to reset the
SLEEPCOMPLETE bit.
0
Disable Deep Sleep mode - normal operation
1
Enable Deep Sleep Mode
SLEEPCOMPLETE
Deep Sleep Wakeup Completed.
This bit must be reset to 0 before enabling or initiating Deep Sleep. The ARM should
1) Prepare the device / system for shutdown by placing DDR in auto_refresh and
other powerdown housekeeping as necessary and then
2) Enable Deep Sleep Mode (SLEEPENABLE=1) shut down
3) Inform the PMU/MCU it is ready for Deep Sleep
4) Go into a loop polling for this SLEEPCOMPLETE bit to be set, indicating it can
proceed with restarting the DDR and other device modules.
NOTE: After wakeup, Deep Sleep Mode must be disabled via SLEEPENABLE to
reset this bit.
29-16
Reserved
15-4
COUNT
0
Normal operation or still asleep
1
Device is awake after Deep Sleep Mode
0
0-FFFh
Reserved
Wakeup Delay Counter.
Number of clock cycles (x 16) to count prior to enabling clocks. Used to insure
oscillator is stable before enabling clocks.
3
Reserved
2
DRVVBUS_FORCE
1
DRVVBUS_OVERRID
E
0
Reserved
USB_DRVVBUS Force Value
When DRVVBUS_OVERRIDE is enabled
0
Reserved
USB_DRVVBUS Override
Overrides USB_DRVVBUS signal from USB controller and output
DRVVBUS_FORCE instead
0
(NORMAL) USB Controller outputs USB_DRVVBUS
1
(OVERRIDE) Override USB_DRVVBUS
0
Reserved
9.10.21 DEBOUNCE[8] - De-bounce for GIO[n] Input
The DEBOUNCE[8] array of registers provide the controls for enabling and configuring Debounce for
GIO[7:0] inputs.
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
145
System Control Register Descriptions
www.ti.com
Figure 9-20. DEBOUNCE[8] - De-bounce for GIO[n] Input
31
30
21
20
0
ENABLE
Reserved
INTERVAL
R/W-0
R-0
R/W-0
LEGEND: R/W = Read/Write, R = Read only; n = value at reset
Table 9-23. DEBOUNCE[8] - De-bounce for GIO[n] Input Field Descriptions
Bit
Field
31
ENABLE
30-21
RESERVED
20-0
INTERVAL
146
Value
Description
Debounce Enable
0
Debounce Enable
1
Debounce Disable
0
Reserved
0-1F FFFFh
Interval count for the debounce circuit
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Control Register Descriptions
www.ti.com
9.10.22 VTPIOCR - VTP IO Control Register
VTPIOCR is used to calibrate the DDR2/mDDR I/O's. For information on how to calibrate the
DDR2/mDDR I/O's using this register, refer to the TMS320DM335 DDR2/mDDR Peripheral Reference
Guide (SPRUFZ2).
Figure 9-21. VTP IO Control Register (VTPIOCR)
31
16
Reserved
R-0
15
14
13
8
7
6
READY
VTPIOREADY
CLR
12
Reserved
9
PWRSAVE
LOCK
PWRDN
5
Reserved
0
R-0
RW-0
RW-1
N-0
R/W-0
RW-0
RW-1
N-0x37
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset
Table 9-24. VTPIOCR - VTP IO Control Field Descriptions
Bit
31-16
15
14
13
Field
RESERVED
PWRSAVE
5-0
VTP not ready
1
VTP ready
VTP IO Ready. Write 1 when VTP IO is ready.
0
VTP IO not ready
1
VTP IO ready
VTP Clear. Write 0 to clear VTP flops.
0
Clear VTP
1
Un-clear VTP
0
Reserved
VTP Power Save Mode
0
Disable power save mode
1
Enable power save mode
LOCK
VTP Impedance Lock
0
Unlock impedance
1
Lock impedance
PWRDN
RESERVED
Reserved
0
CLR
8
Description
VTP Ready Status
VTPIOREADY
RESERVED
6
0
READY
12-9
7
Value
VTP Power Down
0
Disable power down
1
Enable power down
0
Reserved
SPRUFX7A – July 2008 – Revised July 2010
System Control Module
Copyright © 2008–2010, Texas Instruments Incorporated
147
148
System Control Module
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 10
SPRUFX7A – July 2008 – Revised July 2010
Reset
10.1 Reset Overview
There are five types of reset in the device. The types of reset differ by how they are initiated and/or by
their effect on the chip. Each type is briefly described in Table 10-1 and further described in the following
sections.
Table 10-1. Reset Types
Type
Initiator
Effect
POR (Power-On-Reset)
RESETN pin low and TRSTN low
Total reset of the chip (cold reset). Resets all
modules including memory and emulation.
Warm Reset
RESETN pin low and TRSTN high (initiated by
ARM emulator).
Resets all modules including memory, except ARM
emulation.
Max Reset
ARM emulator or Watchdog Timer (WDT).
Same effect as warm reset.
System Reset
ARM emulator
Resets all modules except memory and ARM
emulation. It is a soft reset that maintains memory
contents and does not affect or reset clocks or
power states.
Module Reset
ARM software
Resets a specific module. Allows the ARM software
to independently reset a module. Module reset is
intended as a debug tool not as a tool to use in
production.
10.2 Reset Pins
Power-On-Reset (POR) and warm reset are initiated by the RESETN and TRSTN pins. The RESETN and
TRSTN pins are briefly described in Table 10-2.
For more information, see the device-specific data manual.
Table 10-2. Reset Pins
Pin Name
Type [Input/Output]
Description
RESETN
Input
Active low global reset pin
TRSTN
Input
JTAG test-port reset pin
SPRUFX7A – July 2008 – Revised July 2010
Reset
Copyright © 2008–2010, Texas Instruments Incorporated
149
Types of Reset
www.ti.com
10.3 Types of Reset
10.3.1 Power-On Reset (POR)
POR totally resets the chip, including all modules, memories, and emulation circuitry.
The following steps describe the POR sequence:
1. Apply power and clocks to the chip and drive TRSTN and RESETN low to initiate POR.
2. Drive RESETN high after a required minimum number of MXI clock cycles.
3. Hardware latches the device configuration pins on the rising edge of RESETN. The device
configuration pins allow you to set several options at reset. See Section 10.4.1 for more information.
4. Hardware resets all of the modules, including memory and emulation circuitry.
5. POR finishes, all modules are now in their default configurations, and hardware begins the boot
process.
See the device-specific data manual for power sequencing and reset timing requirements.
10.3.2 Warm Reset
Warm reset is like POR, except the ARM emulation circuitry is not reset. Warm reset allows an ARM
emulator to initiate chip reset using TRSTN and RESETN while remaining active during and after the reset
sequence.
The following steps describe the warm reset sequence:
1. Emulator drives TRSTN high and RESETN low to initiate warm reset.
2. Emulator drives RESETN high after a required minimum number of MXI clock cycles.
3. Hardware latches the device configuration pins on the rising edge of RESETN. The device
configuration pins allow you to set several options at reset. See Section 10.4.1 below for more
information.
4. Hardware resets all of the modules including memories, but not ARM emulation circuitry.
5. Warm reset finishes, all modules except ARM emulation are in their default configurations, and
hardware begins the boot process.
For reset timing requirements, see the device-specific data manual.
150
Reset
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Default Device Configurations
www.ti.com
10.3.3 Max Reset
Max reset is like warm reset, except max reset is initiated by the Watchdog Timer (WDT) or by an IcePick
emulation command. For debug, max reset allows an ARM emulator to initiate chip reset using an IcePick
emulation command while remaining active during and after the reset sequence.
The following steps describe the max reset sequence:
1. To initiate max reset, the WDT expires (indicating a runaway condition) or the ARM emulator initiates a
max reset command via the IcePick emulation module.
2. Hardware latches the device configuration pins on the rising edge of RESETN. The device
configuration pins allow you to set several options at reset. See Section 10.4.1 for more information.
3. Hardware resets all modules including memories, but not ARM emulation circuitry.
4. Warm reset finishes, all modules except ARM emulation are in their default configurations, and
hardware begins the boot process.
NOTE: Max reset may be blocked by an emulator command. This allows an emulator to block a
WDT initiated max reset for debug purposes.
For information on the WDT, see the TMS320DM335 Digital Media System-on-Chip (DMSoC) Timer /
Watchdog Timer Reference Guide (SPRUFY0) . See Chapter 3 for information on IcePick emulation.
10.3.4 System Reset
The emulator initiates system reset via the ICECrusher emulation module. It is considered a soft reset
(i.e., memory is not reset). None of the following modules are reset: DDR EMIF, PLL Controller (PLLC),
Power and Sleep Controller (PSC), and emulation.
The following steps describe the system reset sequence:
1. The emulator initiates system reset.
2. The proper modules are reset.
3. The system reset finishes, the proper modules are reset, and the CPU is out of reset.
10.3.5 Module Reset
Module reset allows you to independently reset a module using the ARM software. You can use module
reset to return a module to its default state (i.e., its state as seen after POR, warm reset, and max reset).
Module reset is intended as a debug tool; it is not necessarily intended as a tool for use in production.
The procedures for asserting and de-asserting module reset are fully described in Chapter 7.
10.4 Default Device Configurations
After POR, warm reset, and max reset, the chip is in its default configuration. This section highlights the
default configurations associated with PLLs, clocks, ARM boot mode, and AEMIF.
NOTE: Default configuration is the configuration immediately after POR, warm reset, and max reset
and just before the boot process begins. The boot ROM updates the configuration. See
Chapter 11 for more information on the boot process.
10.4.1 Device Configuration Pins
The device configuration pins are described in Table 10-3. The device configuration pins are latched at
reset and allow you to configure all of the following options at reset:
• ARM Boot Mode
• Asynchronous EMIF pin configuration
These pins are described further in the following sections.
SPRUFX7A – July 2008 – Revised July 2010
Reset
Copyright © 2008–2010, Texas Instruments Incorporated
151
Default Device Configurations
www.ti.com
NOTE: The device configuration pins are multiplexed with AEMIF pins. After the device
configuration pins are sampled at reset, they automatically change to function as AEMIF
pins. Pin multiplexing is described in Chapter 9.
Table 10-3. Device Configuration
Device
Configuration
Input
Function
Sampled
Pin
Default Setting
(by internal
pull-up/
pull-down)
Device Configuration Affected
BTSEL[1:0]
Selects ARM boot mode
00 = Boot from ROM (NAND
with SPI EEPROM boot
option)
01 = Boot from AEMIF
10 = Boot from ROM
(MMC/SD)
11 = Boot from ROM
(UART)
EM_A[13:12]
00
(NAND)
If any ROM boot mode is selected,
GIO61 is used to indicated boot status.
If NAND boot is selected, CE0 is used
for NAND and SPI0 is used for SPI. Use
AECFG[3:0] to configure AEMIF pins for
NAND.
If AEMIF boot is selected, CE0 is used
for AEMIF device (OneNAND, ROM).
Use AECFG[3:0] to configure AEMIF
pins for NAND.
If MMC/SD boot is selected, MMC/SD0
is used.
AECFG[3:0]
Selects the AEMIF pin
configuration.
EM_A[11:8]
1101
(NAND)
AEMIF pin configuration. Refer to
pin-muxing information in Chapter 9.
Note that AECFG[3:0] affects pin
configuration for both AEMIF
(BTSEL[1:0]=01) and NAND
(BTSEL[1:0]=00) boot modes.
10.4.2 PLL Configuration
After POR, warm reset, and max reset, the PLLs and clocks are set to their default configurations. The
PLLs are in bypass mode and disabled by default. This means that the input reference clock at MXI1
(typically 24 MHz) drives the chip after reset. For more information, see Chapter 5 and Chapter 6. The
default state of the PLLs is reflected by the default state of the register bits in the PLLC registers.
10.4.3 Module Configuration
Only a subset of modules are enabled after reset by default. Table 7-1 in Chapter 7 shows which modules
are enabled after reset. Furthermore, as shown in Table 7-1, the following modules are enabled
depending on the sampled state of the device configuration pins: EMDA (CC and TC0), AEMIF,
MMC/SD0, UART0, and Timer0. For example, UART0 is enabled after reset when the device
configuration pins (BTSEL[1:0] = 11 - Enable UART) select UART boot mode.
10.4.4 ARM Boot Mode Configuration
The input pins BTSEL[1:0] determine whether the ARM will boot from its ROM or from the Asynchronous
EMIF (AEMIF). When ROM boot is selected (BTSEL[1:0] = 00, 10, or 11), a jump to the start of internal
ROM (address 0x0000: 8000) is forced into the first fetched instruction word. The embedded ROM boot
loader code (RBL) then performs certain configuration steps, reads the BOOTCFG register to determine
the desired boot method, and branches to the appropriate boot routine (i.e., a NAND, MMC/SD, or UART
loader routine) .
If AEMIF boot is selected (BTSEL[1:0] = 01), a jump to the start of AEMIF (address 0x0200: 0000) is
forced into the first fetched instruction word. The ARM then continues executing from external
asynchronous memory using the default AEMIF timings until modified by software.
NOTE:
For AEMIF boot, OneNAND must be connected to the first AEMIF chip select space
(EM_CE0). The AEMIF does not support direct execution from NAND Flash.
Boot modes are further described in Chapter 11.
152
Reset
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Default Device Configurations
www.ti.com
10.4.5 AEMIF Configuration
For more information on the AEMIF, see the TMS320DM335 Digital Media System-on-Chip (DMSoC)
Asynchronous External Memory Interface (EMIF) Reference Guide (SPRUFZ1)
10.4.5.1 AEMIF Pin Configuration
The input pins AECFG[3:0] determine the AEMIF configuration immediately after reset. Use AECFG[3:0]
to properly configure the pins of the AEMIF. Refer to the section on pin multiplexing in Chapter 9.
10.4.5.2 AEMIF Timing Configuration
When AEMIF is enabled, the wait state registers are reset to the slowest possible configuration, which is
88 cycles per access (16 cycles of setup, 64 cycles of strobe, and 8 cycles of hold). Thus, with a 24 MHz
clock at MXI/MXO, the AEMIF is configured to run at (6 MHz)/(88) which equals approximately 68 kHz.
SPRUFX7A – July 2008 – Revised July 2010
Reset
Copyright © 2008–2010, Texas Instruments Incorporated
153
154
Reset
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 11
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
11.1 Boot Modes Overview
The device ARM can boot from either Async EMIF (AEMIF/OneNand) or from ARM ROM, as determined
by the setting of the device configuration pins BTSEL[1:0]. The BTSEL[1:0] pins can define the ROM boot
mode further as well. These ROM boot modes are described in more detail in the following sections.
The boot selection pins (BTSEL[1:0]) determine the ARM boot process. After reset (POR, warm reset, or
max reset), ARM program execution begins in ARM ROM at 0x0000: 8000, except when BTSEL[1:0] = 01,
indicating AEMIF (AEMIF/OneNand) boot. See Chapter 10 for information on the boot selection pins.
11.1.1 Features
The ARM ROM boot loader (RBL) executes when the BOOTSEL[1:0] pins indicate a condition other than
the normal ARM EMIF boot.
• If BTSEL[1:0] = 01 - Asynchronous EMIF (AEMIF boot. This mode is handled by hardware control and
does not involve the ROM. In the case of OneNAND, the user is responsible for putting any necessary
boot code in the OneNAND's boot page. This code shall configure the AEMIF module for the
OneNAND device. After the AEMIF module is configured, booting will continue immediately after the
OneNAND’s boot page with the AEMIF module managing pages thereafter.
• The RBL supports three distinct boot modes:
– BTSEL[1:0] = 00 - ARM NAND/SPI Boot
– BTSEL[1:0] = 10 - ARM MMC/SD Boot
– BTSEL[1:0] = 11 - ARM UART Boot
• In NAND boot mode if SPI boot fails, then NAND mode is tried.
• If NAND boot fails, then MMC/SD mode is tried.
• If MMC/SD boot fails, then MMC/SD boot is tried again.
• If UART boot fails, then UART boot is tried again.
• RBL uses GIO61 to indicate boot status (can use to blink LED):
– After reset, GIO61 is initially driven low (e.g LED off)
– If NAND boot fails and then MMC/SD boot fails, then GIO61 shall toggle at 4Hz while MMC/SD
boot is retried.
– If MMC/SD boot fails, then GIO61 shall toggle at 4Hz while MMC/SD boot is retried.
– If UART boot fails, then GIO61 shall toggle at 2Hz while UART boot is retried.
– When boot is successful, just before program control is given to UBL, GIO61 is driven high (e.g.
LED on).
– Timer 0 shall be used to accurately toggle GIO61 at 4 Hz and 2 Hz.
• ARM ROM Boot - SPI boot from ERPROM in NAND Boot Mode
– No support for a full firmware boot. Instead, copies a second stage User Boot Loader (UBL) from
SPI to ARM Internal RAM (AIM) and transfers control to the user software.
– Support for 16 and 24 bit SPI EEPROMs.
– Support for up to 30KB UBL (32KB - ~2KB for RBL stack).
– RBL will copy UBL to ARM Internal RAM (AIM) via SPI interface from a SPI peripheral like SPI
EEPROM. RBL will then transfer control to the UBL.
• ARM ROM Boot - NAND Mode
The device supports two modes of operations for NAND boot mode: Standard mode and Compatibility
mode. The mode of operation is automatically selected by the magic number read from the UBL
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
Copyright © 2008–2010, Texas Instruments Incorporated
155
Boot Modes Overview
•
•
www.ti.com
descriptor (see Table 11-4)
– No support for a full firmware boot. Instead, copies a second stage user boot loader (UBL) from
NAND flash to ARM internal RAM (AIM) and transfers control to the user-defined UBL.
– Support for NAND with page sizes up to 8192 bytes in Standard mode (2048 bytes in Compatibility
mode).
Note: At the time this document was prepared only 4K devices were available so 8K has not yet
been tested but should function properly.
– Support for magic number error detection and retry (up to 24 times) when loading UBL.
– Support for up to 30KB UBL (32KB IRAM - ~2KB for RBL stack). For NANDs with page size 4KB,
28KB UBL size is supported and for NANDs with page size 8KB, 24KB UBL size is supported.
– Optional, user-selectable, support for use of DMA and I-cache during RBL execution (i.e.,while
loading UBL)
– Supports booting from 8-bit NAND devices (16-bit NAND devices are not supported)
– Uses/Requires 4-bit HW ECC (NAND devices with ECC requirements ≤ 4 bits per 512 bytes are
supported)
– Supports NAND flash that requires chip select to stay low during the tR read time
ARM ROM Boot - MMC/SD Mode
– No support for a full firmware boot. Instead, copies a second stage Uwer Boot Loader (UBL) from
MMC/SD to ARm Internal RAM (AIM) and transfers control to the user software.
– Support for MMC/SD Native protocol (MMC/SD SPI protocol is not supported)
– Support for descriptor error detection and retry (up to 24 times) when loading UBL
– Support for up to 30KB UBL (32KB - ~2KB for RBL stack)
ARM ROM Boot - UART mode
– No support for a full firmware boot. Instead, loads a second stage user boot loader (UBL) via UART
to ARM internal RAM (AIM) and transfers control to the user software.
– Support for up to 30KB UBL (32KB - ~2KB for RBL stack).
Figure 11-1. Boot Modes Overview
NAND Boot
BTSEL[1:0] = 00
Try
SPI
Boot
Try
NAND
Boot
Try
MMC/SD
Boot
Try MMC/SD Boot
Try MMC/SD Boot
Try MMC/SD Boot
Try MMC/SD Boot
Try MMC/SD Boot
Try MMC/SD Boot
Try MMC/SD Boot
GIO61
MMC/SD
BTSEL[1:0] = 10
Try MMC/SD Boot
GIO61
UART
BTSEL[1:0] = 11
Try UART Boot
Try UART Boot
Try UART Boot
Try UART Boot
GIO61
156
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
11.1.2 Functional Block Diagram
The general boot sequence is shown in Figure 11-2.
Figure 11-2. Boot Mode Functional Block Diagram
Reset
Boot
mode
?
Internal ROM
Boot
mode
?
Boot from
SPI flash
Yes
Boot from
UART
Boot OK ?
No
Boot OK ?
Boot from
NAND flash
No
Yes
Boot OK ?
Yes
No
Boot from
MMC/SD
Boot OK ?
No
Yes
Invoke
OneNAND
Invoke loaded
Program
11.2 ARM ROM Boot Mode
DM335’s ARM ROM boot loader (RBL) executes when the BOOTSEL[1:0] pins indicate a condition other
than the normal ARM EMIF boot (BTSEL[1:0] ≠ 01). In this case, control is passed to the ROM boot loader
(RBL). The RBL then executes the proper mode after reading the state of the BTSEL[1:0] pins from the
BOOTCFG register.
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
Copyright © 2008–2010, Texas Instruments Incorporated
157
ARM ROM Boot Mode
www.ti.com
11.2.1 SPI Boot Mode
If the value in BTSEL[1:0] from the BOOTCFG register is 00, the SPI mode executes (before NAND is
executed if needed). The operations followed in the SPI boot mode are described in Figure 11-3.
Figure 11-3. SPI Boot Overview
Run the ROM Boot
Loader in ROM
Copy User
Boot Loader to IRAM
from Serial Device
ROM Boot Loader
Pass Control to
User Boot Loader
Setup DDR2 and Other
Interfaces
Wait While Ext. Host
Copies User MAIN
Program to DDR2
User Boot Loader
Run MAIN Program
in DDR2
DM335 loads the UBL data in the following locations, ARM TCM RAM received via SPI0. The UBL data is
received from a serial device like serial EEPROM.
11.2.1.1 SPI Key Features
The key features for SPI are as follows:
• Master interface to a serial EEPROM / Flash for initial code load
• Support for fast boot mode through UBL descriptor
• Support for prescaler through UBL descriptor
• Support for 16-bit and 24-bit addressable EEPROMs through the UBL descriptor
• Support for 4-pin SPI (CS, CLK, serial input, serial output)
11.2.1.2 SPI Boot - Detailed Flow
The following list describes the flow of the SPI boot:
• RBL configures the pin-multiplexing settings to bring out the SPI0 signals
• RBL configures the EEPROM initially in 24-bit addressable mode and reads the first byte. Based on
the first byte it will configure the EEPROM to 16-bit or 24-bit addressable modes.
• Bootloader reads entire UBL descriptor and finds out the properties of slave EEPROM. The UBL
descriptor contains the prescalar value, which is the divider used to generate the SPI clock. The
FAST_READ flag is used to indicate fast / normal mode, RBL will use FAST_READ command if the
flag is set else uses standard READ command.
• RBL validates the other UBL header parameters
• Downloads the UBL to ARM internal memory
• RBL updates the boot status and then passes control to the entry point given in the UBL descriptor
158
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
Table 11-1. User Bootloader (UBL) Descriptor for SPI Mode
Byte Range
32-bits
8-11
0xA1AC ED0X
12-15
Entry Point
Description
Magic number
0xA1ACED00 - 24 bit
0xA1ACED01 - 16 bit
Entry point address for the user bootloader (absolute address) in
ARM internal memory
16-19
UBL size
Size of UBL in bytes
20
Prescaler
Prescaler value to be used for dividing the clock for SPI
21
(1)
(1)
Flag for enabling fast read (1 - fast read enables, 0- fast read
disabled)
Note: FAST READ option may not be valid for a specific
EEPROM. Please read the EEPROM specifications before
setting this parameter.
FASTREAD
22-23
0X0000
24-27
Start address of UBL
Dummy bytes
28-31
Load address
Start address of UBL in EEPROM
Load address of UBL in ARM internal memory
The first 8 bytes might be used for MAC address and is not used by RBL/UBL
11.2.2 NAND Boot Mode
If the value in BTSEL[1:0] from the BOOTCFG register is 00 and the SPI boot fails, the NAND mode
executes. The outline of operations followed in the NAND mode is described in Figure 11-2. The NAND
boot mode assumes the NAND is located on the EM_CE0 interface, whose bus configuration is configure
by the pins AECFG[3:0]. The pins AECFG[3:0] must be configured such that the proper EMIF signals are
available for the NAND device.
For NAND boot there are two supported data layout modes: Standard mode and Compatibility mode. For
details see Table 11-2 and Table 11-3. Both modes uses a variety of methods are used to determine
NAND parameters/geometry. The methods to determine NAND Geometry are detailed in Section 11.2.2.1.
Table 11-2. NAND Layout (Compatibility Mode)
512 Byte Page Size
2048 Byte Page Size
512 bytes Data
512 bytes Data
16 bytes ECC Data
16 bytes ECC Data
512 bytes Data
16 bytes ECC Data
512 bytes Data
16 bytes ECC Data
512 bytes Data
16 bytes ECC Data
Table 11-3. NAND Layout (Standard Mode)
512 Byte Page Size
2048 Byte Page Size
512 bytes Data
2048 bytes Data
4096 Byte Page Size
4096 bytes Data
16 bytes ECC Data
64 bytes ECC Data
128 bytes ECC Data
After the NAND parameters/geometry is determined using any of the used methods, the RBL searches for
the UBL descriptor in page 0 of the block after CIS/IDI block (block 1).
If a valid UBL is not found here, as determined by reading a valid UBL magic number, the next block is
searched. Searching continues for up to 24 blocks. This provision for additional searching is made in case
the first few consecutive blocks have been marked as bad (i.e., they have errors). Searching 24 blocks is
sufficient to handle the errors found in virtually all NAND devices.
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
Copyright © 2008–2010, Texas Instruments Incorporated
159
ARM ROM Boot Mode
www.ti.com
When a valid UBL signature is found, the corresponding block number (from 1 to 24) is written to the last
32 bits of ARM internal memory (0x7ffc-0x8000). This feature is provided as a basic debug mechanism.
By reading these 32 bits of memory, via JTAG for example, you can determine in which block the RBL
found a valid UBL signature. If no valid UBL signature is found after searching 24 blocks, the RBL will try
to boot via MMC/SD.
If a valid UBL is found, the UBL descriptor is read and processed. The descriptor gives the information
required for loading and control transfer to the UBL. The UBL is then read and processed. The RBL may
enable any combination of faster EMIF and I-Cache operations based on information in the UBL descriptor
first. Additionally, the descriptor provides information on whether or not DMA should be used during UBL
copying. Once the user-specified start-up conditions are set, the RBL copies the UBL into ARM internal
RAM, starting at address 0x0000: 0020.
NOTE: The actual copying is performed on the lower 30KB of the TCM data area: 0x10020 0x1781F.
The NAND RBL uses the hardware 4-bit ECC to determine if a read error occurs while reading the UBL
into ARM IRAM. If a 4-bit ECC read error is detected, the UBL will correct the error via the ECC correction
algorithm. If the read fails for any other reason, the copy will immediately halt for that instance on magic
number and then the RBL will continue to search the next block following the block in which the magic
number was found for another instance of a magic number. When another magic number is found, the
process is repeated. Using this retry process, the magic number and UBL can be duplicated up to 24
times, giving significant redundancy and error resilience to NAND read errors.
Figure 11-4. NAND Boot Flow
Power on
Run the ROM boot
loader in ROM
Copy the user boot loader
in NAND memory to IRAM
ROM boot loader
Jump to user boot loader
entry point in IRAM
Copy user MAIN program
in NAND memory to DDR
User boot loader
Run MAIN program
in DDR
160
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
The NAND User boot loader UBL descriptor format is described in Table 11-4.
Table 11-4. NAND UBL Descriptor
Page 0 Address
(1)
32-Bits
Description
0
0xA1BC EDxx (1)
Magic number (0xA1BCEDxx)
4
Entry Point Address of UBL
Entry point address for the user boot-loader (absolute address)
8
Number of pages in UBL
Number of pages (size of user boot-loader in number of pages)
12
Starting Block # of UBL
Block number where user boot-loader is present
16
Starting Page # of UBL
Page number where user boot-loader is present
Will be 0xA1AC EDxx in Compatibility mode.
NOTE: The first 32-bytes of AIM are the ARM’s system interrupt vector table (IVT) (8 vectors,
4-bytes each). The UBL copy starts after the 32-byte IVT.
Different NAND boot mode options can be setting different MAGIC IDs in the UBL descriptor. Table 11-5
lists the UBL signatures.
Table 11-5. UBL Signatures and Special Modes
Mode
Value
(1)
Description
UBL_MAGIC_SAFE
0x A1AC ED00
Safe boot mode
UBL_MAGIC_DMA
0x A1AC ED11
DMA boot mode
UBL_MAGIC_IC
0x A1AC ED22
I Cache boot mode
UBL_MAGIC_FAST
0x A1AC ED33
Fast EMIF boot mode
UBL_MAGIC_DMA_IC
0x A1AC ED44
DMA + I Cache boot mode
UBL_MAGIC_DMA_IC_FAST
0x A1AC ED55
DMA + I Cache + Fast EMIF boot mode
UBL_MAGIC_SPI_PARAMS
0xA1AC EDAA
NAND parameters from SPI EEPROM
(1)
In Standard mode these numbers (except for UBL_MAGIC_SPI_PARAMS) will follow the form 0xA1BC EDxx.
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
Copyright © 2008–2010, Texas Instruments Incorporated
161
ARM ROM Boot Mode
www.ti.com
Figure 11-5. 4-Bit ECC Format and Bit 10 to 8-Bit Compression Algorithm
0
Algorithm to store
10 bit codes in 8 bit words
1
2
Data
//Convert eight 10-bit codes to ten 8-bit words:
User defined
Syndrome0 = syndromes10[0] & 0xFF;
Syndrome1 = ((syndromes10[1] & 0x3F) << 2)
| ((syndromes10[0] & 0x300) >> 8);
Syndrome2 = ((syndromes10[2] & 0x0F) << 4)
| ((syndromes10[1] & 0x3C0) >> 6);
Syndrome3 = ((syndromes10[3] & 0x03) << 6)
| ((syndromes10[2] & 0x3F0) >> 4);
Syndrome4 = ((syndromes10[3] & 0x3FC) >> 2);
Syndrome5 = syndromes10[4] & 0xFF;
Syndrome6 = ((syndromes10[5] & 0x3F) << 2)
| ((syndromes10[4] & 0x300) >> 8);
Syndrome7 = ((syndromes10[6] & 0x0F) << 4)
| ((syndromes10[5] & 0x3C0) >> 6);
Syndrome8 = ((syndromes10[7] & 0x03) << 6)
| ((syndromes10[6] & 0x3F0) >> 4);
Syndrome9 = ((syndromes10[7] & 0x3FC) >> 2);
510
511
512
513
514
515
516
517
162
518
Syndrome0
519
Syndrome1
520
Syndrome2
521
Syndrome3
522
Syndrome4
523
Syndrome5
524
Syndrome6
525
Syndrome7
526
Syndrome8
527
Syndrome9
Syndromex : Write to NAND flash(8bit Data)
syndromes10[x] : Calculated by IP
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
Figure 11-6. 4-Bit ECC Format for 2048+64 Byte Page Size (in Compatibility Mode)
Data
512+16
byte
Syndrome
Data
512+16
byte
1 Page
(2048+64
byte)
Syndrome
Data
512+16
byte
Syndrome
Data
512+16
byte
Syndrome
11.2.2.1 Methods to Determine NAND Geometry
A
•
•
•
•
variety of methods are used to determine NAND parameters/geometry. The methods used are:
NAND parameters from SPI EEPROM (see Section 11.2.2.1.1)
ONFI (see Section 11.2.2.1.2)
Table lookup
4th ID byte in legacy and Samsung format
The NAND boot mode code flow in silicon revision 1.4 is illustrated in Figure 11-7.
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
Copyright © 2008–2010, Texas Instruments Incorporated
163
ARM ROM Boot Mode
www.ti.com
Figure 11-7. NAND Boot Mode Code Flow
NAND Mode
Starts Executing
SPI
mode
fails?
No
Boot from
SPI
Yes
Start NAND boot
Method 1
Param from SPI
EEPROM
Success?
Yes
No
Method 2
ONFI
Success?
Yes
No
Read Manufacturer
and Device ID
Method 3
Table Look-up
Success?
Yes
No
Method4
th
4 ID Byte
Yes
Use the NAND
parameters to
start reading the
UBL from NAND
11.2.2.1.1 NAND Parameters from SPI EEPROM
To provide more flexibility to obtain the correct NAND parameters, the NAND parameters can be read
from a user written EEPROM over SPI. The format of the NAND parameters in EEPROM (as expected by
RBL) is defined in Table 11-6.
164
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
Table 11-6. NAND Parameters
Offset (in bytes) from Base
(1)
(1)
Parameter
8
Magic number (0xA1AC EDAA)
12
Page count (Number of pages per block)
16
Number of address cycles
20
Page size (Number of bytes in a page)
24
Spare size (Number of spare bytes in a page)
28
Block shift (Number of bits by which block address is to be shifted)
NAND parameters format in EEPROM *Please note that the first 8 bytes might be used for MAC address and is not used by
RBL/UBL.
11.2.2.1.2 ONFI Support
ONFI format is used by many NAND manufacturers including Micron, Numonyx and Hynix. It provides a
standard parameter format as compared to the varying 4th ID byte across vendors and NAND
generations. If a NAND is detected to be ONFI compatible, the information from the ONFI parameter page
is used to interface with NAND.
11.2.2.1.3 4th ID Byte in Legacy and Samsung Format
If the NAND device is not found in the look-up table, then the RBL will read the fourth byte of the NAND ID
table and attempt to decode this to obtain the necessary parameters.
For the purpose of determining NAND block size and page size the information from the fourth byte is
considered as follows:
• Bits 5 and 4 determine the block size
– Bits 5,4 = 00: 64KB
– Bits 5,4 = 01: 128KB
– Bits 5,4 = 10: 256KB
– Bits 5,4 = 11: 512KB
• Bits 1 and 0 determine the page size
– Bits 1,0 = 00: 1KB
– Bits 1,0 = 01: 2KB
– Bits 1,0 = 10: 4KB
– Bits 1,0 = 11: 8KB
In silicon revision 1.4, the latest Samsung (manufacturer ID: 0xEC) 4th ID definition has been added which
is as follows:
• Bits 5 and 4 determine the block size
– Bits 5,4 = 00: 128KB
– Bits 5,4 = 10: 256KB
– Bits 5,4 = 01: 512KB
– Bits 5,4 = 11: 1024KB
• Bits 1 and 0 determine the page size
– Bits 1,0 = 00: 2KB
– Bits 1,0 = 01: 3KB
– Bits 1,0 = 10: 4KB
– Bits 1,0 = 11: reserved
11.2.2.2 NAND Boot Detailed Flow
An overview of the NAND Boot process is shown in the flow chart in Figure 11-8 and exemplified in
Figure 11-9. The following steps describe the NAND Boot process:
• Initialize the stack in the upper ~2K of RAM1 (RAM1 ' 0x7800-0x7FFF). Do not use the last 32-bits of
IRAM (0x7ffc-0x8000) for stack, because these will be written with valid block number.
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
Copyright © 2008–2010, Texas Instruments Incorporated
165
ARM ROM Boot Mode
•
•
•
•
•
•
•
166
www.ti.com
Disable all interrupts, IRQ and FIQ
The external pin DEEPSLEEPZ/GIO0 must be driven high during chip reset in order for NAND boot
mode to work.
SPI boot is tried. If the SPI boot fails, NAND boot starts.
In NAND boot, a variety of methods are used to determine the NAND geometry/parameters
(Section 11.2.2.1).
Search for the User Bootloader magic number in the blocks after CIS/IDI page (CIS/IDI is generally
block 0, page 0). See Figure 11-10. The magic number is detected based on reading 0xA1BC EDxx
(0xA1AC EDxx for Compatibility mode) in the first 32-bits of page 0 in a block. Only Page 0 of blocks 1
to 24 will be read and searched for the magic number. The magic number for all blocks will be read to
ascertain that the block is not an invalid block. For debug purposes, when a valid UBL magic number
is found, the corresponding block number (from 1 to 24) shall be written to the last 32 bits of ARM
internal memory (0x7ffc-0x8000). The UBL Descriptor provides the necessary details of the user
boot-loader. See Table 11-4 and Table 11-5 for details of the UBL Descriptor. The UBL Descriptor
consists of the following parameters (all UBL parameters are 32-bits wide):
– Entry Point Address: absolute entry point AFTER loading UBL
• Must be in range 0x0020 - 0x781C
– Number of NAND pages in UBL:
• Must be contiguous pages
• May span multiple blocks
• Total bytes must be less than or equal to 30KByte total (size of IRAM - ~2KB stack space)
– Starting Block of UBL:
• May be the same block as UBL descriptor
– Starting Page of UBL
• May not be the same page as UBL descriptor since full pages must be loaded
Copy the User boot-loader from NAND flash to IRAM with hardware ECC error detection enabled. If a
4-bit ECC read error is detected, the UBL will correct the error via the ECC correction algorithm. If the
read fails due to any other error, the descriptor search process begins anew in the next block after that
in which the UBL descriptor was found for up to the first 24 blocks. If no valid UBL descriptor is found
after searching 24 blocks, the RBL will try to boot via MMC/SD.
" Give control to User boot loader at UBL Entry Address. .
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
Figure 11-8. NAND Boot Mode Flow Chart
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
Copyright © 2008–2010, Texas Instruments Incorporated
167
ARM ROM Boot Mode
www.ti.com
Figure 11-9. ARM NAND ROM Boot Loader Example
Block
Page
0
0
CIS/IDI
1
Found magic number
2
User boot loader (UBL) definition
...
N
Block
Page
1
0
Page 0 addr
32-bits
0
UBL magic number ID
0xA1ACED00
4
Entry point addr of UBL
0x00002100
UBL start addr
8
Number of pages in UBL
0x00000013
19 pages
12
Starting block # of UBL
0x00000001
Block 1
16
Starting page # of UBL
0x00000002
Page 2
UBL Def
1
2
UBL page 1
3
UBL page 2
4
UBL page 3
5
UBL page 4
6
UBL page 5
7
UBL page 6
8
UBL page 7
9
UBL page 8
10
UBL page 9
(A)
11 UBL page 10
12 UBL page 11
13 UBL page 12
14 UBL page 13
IVT
15 UBL page 14
Block
Page
2
0
UBL page 16
1 UBL page 17
2
UBL page 18
3
UBL page 19
ITCM
DTCM
0x0000
0x100000
0x0020
ROM bootloader
copies UBL into
IRAM0
Then transfers control
to UBL entry point
IRAM0
0x3FFF
0x13FFF
0x4000
0x14000
0x781F
0x1781F
0x7FFF
0x17FFF
IRAM0
4
5
6
7
8
9
10
RBL stack space
(last 32 bits reserved for block
number of valid descriptor)
11
12
13
14
15
Block
Page
3
0
...
N
...
Block
N
Page
0
1
2
...
N
A
168
The magic number is 0xA1AC EDxx compatibility mode and 0xA1BC EDxx for standard mode.
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
Figure 11-10. Descriptor Search for ARM NAND Boot Mode
Block
Page 0
0
CIS/IDI
1
2
...
Block
N
Page 0
1
Start searching at Block 1, Page 0
1
2
...
Block
N
Page 0
2
If no magic number found or
NAND read error detected
1
2
...
Block
N
Page 0
3
If no magic number found or
NAND read error detected
1
2
...
Block
N
Page 0
4
If no magic number found or
NAND read error detected
1
2
...
N
...
Block
24
Page 0
1
2
...
If no magic number found or
NAND read error on boot,
go to MMC/SD Boot
N
...
Block
N
Page 0
1
2
...
N
11.2.2.3 NAND Device IDs Supported
The list of IDs supported by ROM boot loader is shown in Table 11-7 with its characteristics.
Table 11-7. NAND Devices in NAND Device ID Table
DEVICE ID
PAGES PER BLOCK
BYTES PER PAGE
BLOCK SHIFT VALUE
FOR ADDRESS
NUMBER OF
ADDRESS CYCLES
0xE3
16
512+16
12
3
0xE5
16
512+16
12
3
0xE6
16
512+16
12
3
Boot Modes 169
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
Table 11-7. NAND Devices in NAND Device ID Table (continued)
0x39
(1)
(1)
16
512+16
13
3
0x6B
16
512+16
13
3
0x73
32
512+16
13
3
0x33
32
512+16
13
3
0x75
32
512+16
13
3
0x35
32
512+16
13
3
0x43
32
512+16
13
4
0x45
32
512+16
13
4
0x53
32
512+16
13
4
0x55
32
512+16
13
4
0x76
32
512+16
13
4
0x36
32
512+16
13
4
0x79
32
512+16
13
4
0x71
32
512+16
13
4
0x46
32
512+16
13
4
0x56
32
512+16
13
4
0x74
32
512+16
13
4
0xF1
64
2048+64
22
4
0xA1
64
2048+64
22
4
0xAA
64
2048+64
22
5
0xDA
64
2048+64
22
5
0xAC
64
2048+64
22
5
0xDC
64
2048+64
22
5
0xB1
64
2048+64
22
5
0xC1
64
2048+64
22
5
Present only on silicon revision 1.1.
11.2.3 MMC/SD Boot Mode
If the value is BTSEL[1:0] from the BOOTCFG register is '10', the MMC/SD Boot mode will be executed.
The outline of operations followed in the MMC/SD mode is depicted in the figure below.
MMC/SD card needs to be powered on for boot up. After the boot up is finished, a GIO may be used as a
power switch to the MMC/SD card.
Initialization information, such as block size, is read from the CID and CSD registers of the MMC/SD
device. The CID and CSD registers of the MMC/SD device are read by the MMC/SD module in native
mode. All initialization and data transfers are done in native mode. SPI mode is not supported.
After performing the MMC/SD initialization sequence, the RBL searches for the UBL Descriptor starting in
block 0. If a valid UBL is not found in block 0, as determined by reading a proper UBL magic number, the
next block will be searched. Searching will continue for up to 24 blocks. This provision for additional
searching is made in case the first few consecutive blocks have errors. When a valid UBL descriptor is
found, the corresponding block number (from 1 to 24) shall be written to the last 32 bits of ARM internal
memory (0x7ffc-0x8000). This feature is provided as a basic debug mechanism. By reading these 32 bits
of memory, via JTAG for example, you can determine in which block the RBL found a valid UBL signature.
If no valid UBL signature is found after searching 24 blocks, MMC/SD boot will be tried.
The UBL descriptor, which gives the information required for loading and control transfer to the UBL, will
then be read and processed. Based on information in the UBL descriptor, the RBL may first enable
I-Cache operation. Once the user specified startup conditions are set, the RBL will copy the UBL into ARM
Internal RAM, starting at 0x0000:0020. Note that the actual copy will be done to the lower 30KB of the
TCM Data area: 0x10020 0x1781F.
170
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
The MMC/SD RBL will use the hardware CRC error detection capability to determine if a read error occurs
when reading the UBL including the UBL descriptor. If a read error occurs, the UBL copy will immediately
halt for that instance of magic number but the RBL will continue to search the block following that block in
which the magic number was found for another instance of a magic number. When a magic number is
found, the process is repeated. Using this retry process, the magic number and UBL can be duplicated up
to 24 times, giving significant redundancy and error resilience to MMC/SD read errors.
Figure 11-11. MMC/SD Boot Mode Overview
Power on
Run the ROM boot
loader in ROM
Copy the user
boot loader in
MMC/SD
to IRAM
ROM boot loader
Jump to user boot
loader entry point
in IRAM
Copu user MAIN
program in
MMC/SD
to DDR
User boot loader
Run MAIN program
in DDR
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
Copyright © 2008–2010, Texas Instruments Incorporated
171
ARM ROM Boot Mode
www.ti.com
The MMC/SD User boot loader UBL descriptor format is described in Table 11-8.
Table 11-8. MMC/SD UBL Descriptor
Page 0 Address
(1)
32-Bits
Description
0
0xA1BC EDxx (1)
Magic number (0xA1BCEDxx)
4
Entry Point Address of UBL
Entry point address for the user boot-loader (absolute address)
8
Number of blocks in UBL
Number of blocks (size of user boot-loader in number of blocks)
12
Starting Block # of UBL
Block number where user boot-loader is located
Will be 0xA1AC EDxx in Compatibility Mode
Table 11-9. MMC/SD
Mode
Value
Description
UBL_MAGIC_SAFE
0x A1BC ED00
Safe boot mode
UBL_MAGIC_IC
0x A1BC ED22
I Cache boot mode
UBL_MAGIC_SAFE
0x A1AC ED00
Safe boot mode (compatiblity mode)
UBL_MAGIC_IC
0x A1AC ED22
I Cache boot mode (compatibility mode)
11.2.3.1 MMC/SD Boot Detailed Flow
An overview of the MMC/SD Boot process is shown in the flow chart in Figure 11-12 and exemplified in
Figure 11-13. The following steps describe the MMC/SD Boot process:
• There are two instantiations of the MMC/SD Controller in the device: MMCSD0 and MMCSD1.
MMC/SD boot shall use only MMCSD0.
• Initialize the stack in the upper 2K of RAM1 in IRAM (RAM1 ' 0x7800-0x7FFF). Do not use the last
32-bits of IRAM (0x7ffc-0x8000) for stack, since these will be written with the block number
corresponding to the valid block number.
• Disable all interrupts, IRQ and FIQ
• Read CID and CSD registers of MMC/SD and initialize the MMC/SD module in Native mode.
• Search for the magic number in the UBL descriptor starting in block 0 (see Figure 11-14). The magic
number is of the format 0xA1BCEDxx (or 0xA1AC EDxx when in compatibility mode) and is in the first
32-bits of the block. CRC error detection shall be enabled when reading the UBL Descriptor. If a CRC
read error is detected or the magic number is not valid, the descriptor search process shall begin anew
in the next block after that in which the UBL descriptor was just searched for up to the first 24 blocks.
When a valid UBL signature is found, the corresponding block number (from 1 to 24) shall be written to
the last 32 bits of ARM internal memory (0x7ffc-0x8000). The UBL Descriptor provides the needed
details of the user boot-loader. See Figure 6 and Figure 7 for details of the UBL Descriptor. The UBL
Descriptor consists of the following parameters (all UBL parameters are 32-bits wide):
– Entry Point Address: absolute entry point AFTER loading UBL
• Must be in range 0x0020 - 0x781C
– Number of MMC/SD blocks in UBL:
• Must be contiguous blocks
• Total bytes must be less than or equal to 30KByte total (size of IRAM - ~2KB stack space)
– Number of MMC/SD blocks in UBL:
• Cannot be same block as UBL Definition
• Copy the User boot-loader from MMC/SD to IRAM with hardware CRC error detection enabled. If a
CRC read error is detected, the descriptor search process begins anew in the next block after that in
which the UBL descriptor was found for up to the first 24 blocks. Detected CRC errors will not be
corrected. If no valid magic number is found after searching 24 blocks, MMC/SD boot will be tried.
• Give control to User boot loader at UBL Entry Address.
172
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
Figure 11-12. MMC/SD Boot Mode Flow Chart
MMC/SD boot mode
Read block M
(M++)
No
Start searching for valid magic number block M=1.
If a failure has occured, read next consecutive
block up to M=24
CRC
OK
?
Yes
No
Magic
number OK
?
Yes
When a valid UBL signature is found, the
corresponding block number (M=1, 2, 3,,,24)
will be written to the last 32 bits of ARM internal
memory (0x7FFC)
Write block
number M to
AIM 0x7FFC
Configure the following based on boot descriptor:
- I-Cache
- Starting block of UBL
- Number of blocks of UBL - blocks will be consecutive
- Entry point address - absolute entry point address after
loading UBL
Configure
based on
boot descriptor
Copy block N
of UBL to AIM
(N++)
No
Copy N consecutive blocks of UBL to AIM until entire UBL
is copied from MMC/SD to AIM. The starting block and the
number of blocks are specified in the descriptor
CRC
OK
?
Yes
No
M<=24
Yes
All
UBL blocks
coppied
?
If a failure has occured,
read next consecutive
Yes
block up to block M=24
Try MMC/SD
boot
No
Branch to UBL
entry address
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
Copyright © 2008–2010, Texas Instruments Incorporated
173
ARM ROM Boot Mode
www.ti.com
Figure 11-13. ARM MMC/SD ROM Boot Loader Example
User boot loader (UBL) definition
Found magic number
Block
0
Byte addr
32-bits
0
UBL magic number ID
UBL def
1
0xA1ACED00
(A)
UBL start addr
4
Entry point addr of UBL
2
UBL block 1
8
Number of blocks in UBL
0x00000013
19 blocks
3
UBL block 2
12
Starting block # of UBL
0x00000002
Block 2
4
UBL block 3
5
UBL block 4
6
UBL block 5
7
UBL block 6
8
UBL block 7
9
UBL block 8
10
UBL block 9
11
UBL block 10
12
UBL block 11
13
UBL block 12
14
UBL block 13
15
UBL block 14
16
UBL block 15
17
UBL block 16
18
UBL block 17
19
UBL block 18
IVT
ITCM
DTCM
0x0000
0x10000
0x0020
ROM bootloader
copies UBL into
IRAM0
Then transfers control
to UBL entry point
IRAM0
0x3FFF
0x13FFF
0x4000
0x14000
0x781F
0x1781F
0x7FFF
0x17FFF
IRAM1
20
21
22
23
24
RBL stack space
(last 32 bits reserved for block
number of valid descriptor)
25
26
27
28
29
...
N
A
174
The magic number is 0xA1AC EDxx for compatibility mode and 0xA1BC EDxx for standard mode.
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
Figure 11-14. Descriptor Search for ARM MMC/SD Boot Mode
Start searching at block 0
Block
0
If no magic number found or
MMC/SD read error detected
Block
1
If no magic number found or
MMC/SD read error detected
Block
2
If no magic number found or
MMC/SD read error detected
Block
3
...
...
Block
24
...
If no magic number found or
MMC/SD error on boot,
restart MMC/SD boot
...
Block
N
11.2.4 UART Boot Mode
If the state of BTSEL[1:0] pins at reset is 11, then the UART boot mode executes.
This mode enables a small program, referred to here as a user boot loader (UBL), to be downloaded to
the on-chip ARM internal RAM via the on-chip serial UART and executed. A host program, (referred to as
serial host utility program), manages the interaction with RBL and provides a means for operator feedback
and input.
The UART boot mode execution assumes the following UART settings:
Time-Out
500 ms, one-shot
Serial RS-232 port
115.2 Kbps, 8-bit, no parity, one stop bit
Command, data, and checksum format
Everything sent from the host to the device UART RBL must be
in ASCII format.
SPRUFX7A – July 2008 – Revised July 2010
Boot Modes
Copyright © 2008–2010, Texas Instruments Incorporated
175
ARM ROM Boot Mode
www.ti.com
11.2.4.1 Serial Host Handshake
If the state of BTSEL[1:0] pins reset is 11, then the UART boot mode executes as shown in Figure 11-15.
The state of BTSEL[1:0] pins at reset is captured and stored in the bits BTSEL in the BOOTCFG register
in the System Control module. The RBL reads this register to determine if to execute UART boot.
Figure 11-15 shows the handshake between the device and a serial host utility program. After
initialization, there are three main receive sequences: ACK, 1KB CRC32 table, and user boot loader
(UBL). For each receive sequence, a time-out check is done in the RBL. This means that if a timeout
value is reached during the sequence, the serial boot mode restarts from the beginning at which the RBL
sends out the BOOTME message. The error checking behavior for the UART receive mode is the same.
For each byte received, if there is an error, RBL restarts from the beginning. In UART boot mode, the RBL
copies the UBL code starting at address 0x0100. Note that for all other boot modes (e.g., NAND and
MMCSD boot modes) the UBL code is copied starting at address 0x0020. So, UART boot mode is
different in terms of starting copy address. The starting address of the UBL is at 0x0100.
The check sum method used for UBL data is CRC 32 check sum. The lookup table that is used for the
CRC 32 calculation (1KB) must be sent by the host serial utility. Check sum8 is used as the check sum
methodology for the CRC 32 lookup table.
The check sum8 value for the lookup table when calculated results in a value of 0. Since this value
remains the same, it is checked by the RBL before downloading the UBL data from the host serial utility.
Whenever a wrong ACK, CRC 32 table or UBL is received, the serial boot process restarts. GIO61 will
toggle while retrying UART boot, as discussed previously.
Figure 11-15. UART Boot Mode Handshake
ROM boot loader
RBL sends BOOTME,
Waits for ACK sequence
while polling timer INT flag
for timeout
RBL checks for valid ACK
sequence. If valid, sends
BEGIN to start receiving
CRC−32 table.
RBL calculates checksum8.
If good checksum8
sends DONE and starts
receiving UBL.
If bad checksum8
sends CORRUPT,
returns to BOOTME state.
Host serial utility program
Host waits for BOOTME
Host sends ACK sequence,
waits for ”BEGIN sequence
to start transmit”.
Host sends the CRC−32
lookup table, which is of
1 KB length. The checksum8
value is 0.
Host sends UBL
RBL calculates checksum.
If good checksum, sends
DONE, jumps to UBL.
If bad checksum, sends
CORRUPT, returns to
BOOTME state.
176
Host utility can interact with
user to quit, reverts to waiting
for BOOTME or performs
further handshake with UBL
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
11.2.4.2 UART Boot Loader Data Sequences
The serial bootloader data sequences consist of handshake messages, UBL header, and the UBL payload
itself. The messages use a fixed 8-byte ASCII string including a null string terminator. Short messages
have leading spaces besides the null.
Table 11-10 lists the values for the handshake sequences and header for UBL.
Table 11-10. UART Data Sequences
Sequence
Sequence
Usage
BOOTME
^BOOTME/0
Notify host utility serial boot mode begins. This is an 8-byte ASCII value. ^ is
a space.
^^^^ACK/0
For the host utility to respond within the time out period by sending a 28-byte
header to prepare for reception of user boot loader. The check sum is a
32-bit check sum. Note that the RBL jumps the program counter to the start
address (i.e. UBL entry point) after the downloading process.
ACK
UBL 8-byte check sum
UBL 4-byte count
UBL 4-byte ARM physical
start address
TBD 4-byte zeros
BEGIN
^^BEGIN/0
RBL to signal host utility to begin transmission of user boot loader
DONE
^^^DONE/0
RBL to signal host utility that data received is OK and the transfer can be
terminated
BAD ADDR
BADADDR/0
Bad start address received
BAD COUNT
^BADCNT/0
Bad count received
CORRUPT
CORRUPT/0
RBL to signal host utility that there is an error with the transmission. The host
utility asks you to reset the board.
UBL
Variable
The format for UBL is the same as NAND boot.
The CRC 32 check sum value is calculated for the UBL data and passed by the host serial utility. The
polynomial used for CRC32 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+X^0.
11.2.4.3 Host Utility Data Format
The RBL expects the data sent from the host utility to be in a particular format. This section describes the
data format for the ACK, 1KB CRC32 table, and UBL sequences.
All data sent from the host to the RBL must be in ASCII format. The host utility must transfer the ACK
sequence as shown in Table 11-11, CRC32 table as shown in Table 11-12, and UBL in the same format
as the CRC32 table (Table 11-12). The check sum8 is calculated as shown in Table 11-12. The check
sum8 is calculated after each transfer completes. Also note that since eight bytes are necessary to do the
check sum8 calculation, the host utility must be sure to send a multiple of eight bytes of total data.
Example 11-1. Host Serial Utility Transmission of Characters
For a given UBL data, let the check sum (CRC32) value calculated be 0x FFAA 10A1. Then, instead of the
host utility transmitting “ascii (0xff) ascii (0xaa) ascii (0x10) ascii (a1)” , it will transmit “ffaa 10a1”. These 8
characters (bytes) are appropriately interpreted by the RBL.
You can generate the user boot loader using any ARM code generation tools, but the final format is expected
in binary memory image format with no headers, etc.
Boot Modes 177
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
ARM ROM Boot Mode
www.ti.com
Table 11-11. Host Utility Data Format
Start Byte ——→
"^^^^ACK/0" Transfer
D3
D4
"^"
"A"
D0
"^"
D1
"^"
D2
"^"
D5
"C"
D6
"K"
D7
"/0"
D0
9
D1
a
Checksum "9af944c9" Transfer
D2
D3
D4
D5
f
9
4
4
D6
c
D7
9
crc32_table[1024] = {0x01234567L, 0x89ABCDEFL....}
D1
D2
D3
D4
D5
D6
"1"
"2"
"3"
"4"
"5"
"6"
D7
"7"
——→
Table 11-12. CRC32 Table Transfer
D0
"0"
Start Byte ——→
D0
D1
D2
D3
D4
D5
D6
"8"
"9"
"A"
"B"
"C"
"D"
"E"
0x67 + 0x45 + 0x32 + 0x01 + 0xFE + 0xCD + 0xAB + 0x89 + ... =>checksum8
D7
"F:
——→
11.2.4.4 Host Utility Timing Requirements
The UART host utility must allow the RBL time to process commands and data. When sending characters
from the host to the UART RBL, the host utility must insert a delay between each byte character equal to
1 ms. Furthermore, 5 ms delay must be inserted for each of the timing parameters shown in Figure 11-16.
① ②
③
④
⑤
⑥
⑦
External
HOST
CRC32 table
BOOTME
DONE
UBL
DONE
ACK
DM350
(1)
The delay time from "BOOTME" received until "^^^ACK" sent.
(2)
The delay time from "ACK" sent to CRC32 table data sent.
(3)
The delay time from CRC32-table data sent to next CRC32-table data sent.
(4)
The delay time from final CRC32-table data sent to "DONE" or "CORREPT" received.
(5)
The delay time from "DONE" or "CORREPT" received until UBL data sent.
(6)
The delay time from UBL data sent until next UBL data sent.
(7)
The delay time from final UBL data sent until "DONE" or "CORREPT" received.
Figure 11-16. Host Utility Timing
178
Boot Modes
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Chapter 12
SPRUFX7A – July 2008 – Revised July 2010
Power Management
12.1 Overview
The device is designed for minimal power consumption. There are two components to power
consumption: active power and leakage power. Active power is the power consumed to perform work and
scales with clock frequency and the amount of computations being performed. Active power can be
reduced by controlling the clocks in such a way as to either operate at a clock setting just high enough to
complete the required operation in the required timeline or to run at a clock setting until the work is
complete and then drastically cut the clocks (e.g., to PLL bypass mode) until additional work must be
performed. Leakage power is due to static current leakage and occurs regardless of the clock rate.
Leakage, or standby power, is unavoidable while power is applied and scales roughly with the operating
junction temperatures. Leakage power can only be avoided by removing power completely from a device
or subsystem.
The device includes several power management features which are briefly described in Table 12-1 and
detailed in the following sections.
Table 12-1. Power Management Features
Power Management Features
Description
Clock Management
Module clock disable
Module clocks can be disabled to reduce switching power
Module clock frequency scaling
Module clock frequency can be scaled to reduce switching
power
PLL power-down
The PLLs can be powered-down when not in use to reduce
switching power
ARM Sleep Mode
ARM Wait-for-Interrupt sleep mode
Disable ARM clock to reduce active power
System Sleep Modes
Deep Sleep Mode
Stop all device clocks and power down internal oscillators to
reduce active power to a minimum. Registers and memory are
preserved.
I/O Management
USB Phy power-down
The USB Phy can be powered-down to reduce USB I/O power
DAC power-down
The DAC's can be powered-down to reduce DAC power
DDR self-refresh and power down
The DDR device can be put in self-refresh and power down
states
12.2 PSC and PLLC Overview
The power and sleep controller (PSC) plays an important role in managing system power on/off, clock
on/off, and reset. Similarly, the PLL controller (PLLC) plays an important role in device clock generation.
The PSC and the PLLC are mentioned throughout this chapter. For detailed information on the PSC, see
Chapter 7. For detailed information on the PLLC, see Chapter 5 and Chapter 6.
SPRUFX7A – July 2008 – Revised July 2010
Power Management
Copyright © 2008–2010, Texas Instruments Incorporated
179
Clock Management
www.ti.com
12.3 Clock Management
12.3.1 Module Clock Disable
The module clock disable feature allows software to disable individual module clocks, in order to reduce a
module's active power consumption to 0. The device is designed in full static CMOS; thus, when a module
clock stops, the module's state is preserved. When the clock is restarted, the module resumes operating
from the stopping point.
NOTE: Stopping clocks to a module only affects active power consumption, it does not affect
leakage power consumption.
The power and sleep controller (PSC) controls module clock disable/enable. The procedure to
disable/enable module clocks is described in Chapter 7.
12.3.2 Module Clock Frequency Scaling
Module clock frequency is scalable by bypassing the PLL's or by programming the PLL's multiply and
divide parameters. Reducing the clock frequency reduces the active switching power consumption linearly
with frequency. It has no impact on leakage power consumption.
Chapter 5 and Chapter 6 describe how to bypass the PLL's and how to program PLL frequency.
12.3.3 PLL Bypass and Power Down
You can bypass the PLLs in the device. Bypassing the PLLs sends the PLL reference clock to the post
dividers of the PLLC instead of to the PLL VCO output clock. The PLL reference clock is typically at 24
MHz; therefore, you can use this mode to reduce the core and module clock frequencies to very low
maintenance levels without using the PLL during periods of very low system activity. Furthermore, you can
power-down the PLL when bypassing it to save additional active power.
Chapter 5 and Chapter 6 describe PLL bypass and PLL power down.
12.4 ARM Sleep Mode Management
12.4.1 ARM Wait-For-Interrupt Sleep Mode
The ARM module cannot have its clock turned off/on via the PSC module like other modules. However,
the ARM includes a special sleep mode called “wait-for-interrupt”. When the wait-for-interrupt mode is
enabled, the clock to the CPU core is shut off and the ARM9 is completely inactive and only resumes
operation after receiving an interrupt. This mode does not affect leakage consumption.
You can enable the wait-for-interrupt mode via the CP15 register #7 using the following instruction:
• mcr p15, #0, rd, c7, c0, #4
The following sequence exemplifies how to enter wait-for-interrupt mode:
• Enable any interrupt (e.g., an external interrupt).
• Enable wait-for-interrupt mode using the following CP15 instruction:
– mcr p15, #0, rd, c7, c0, #4
The following sequence describes the procedure to wake up from the wait-for-interrupt mode:
• To wake up from the wait-for-interrupt mode, trigger any enabled interrupt (e.g., an external interrupt).
• The ARM’s PC jumps to the IRQ vector and you must handle the interrupt in an interrupt service
routine (ISR).
Exit the ISR and continue normal program execution starting from the instruction immediately following the
instruction that enabled wait-for-interrupt mode: mcr p15, #0, r3, c7, c0, #4.
180
Power Management
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
System Sleep Modes
www.ti.com
NOTE: The ARM interrupt controller and the module sourcing the wakeup interrupt (e.g., GIO or
WDT) must not be disabled, or the device will never wake up.
For more information on this sleep mode, refer to the ARM926EJ-S Technical Reference
Manual, which is available from ARM Ltd. at www.arm.com.
12.5 System Sleep Modes
12.5.1 Deep Sleep Mode
Deep Sleep mode is a special power down mode in which all device clocks are stopped and the internal
oscillators are powered down. Registers and software are preserved. Thus, upon recovery, the program
may continue from where it left off with minimal overhead involved.
The Deep Sleep power down process works as follows:
•
•
•
•
•
•
•
The ARM prepares for power down, typically after an external microcontroller notifies the ARM to
prepare for power down via an interrupt or serial communication.
The ARM puts DRR in its self-refresh state. Program in DDR is preserved while DDR is in its
self-refresh state. In the case of mDDR, you may utilize Partial Array Self Refresh (PASR) for
additional power savings.
To reduce the chip stand by power, it is advised to power down all the analog blocks (PLL cores, DDR
PHY DLL, DDR PHY, USB PHY, and Video DAC).
The ARM sets SLEEPENABLE in register DEEPSLEEP in the System module.
The ARM informs the microcontroller that it has initiated Deep Sleep and begins polling
SLEEPCOMPLETE in DEEPSLEEP. During the recovery process, the ARM will wake up and detect
that SLEEPCOMPLETE has changed.
The microcontroller transitions GIO0 from high to low and then continues to hold GIO0 low (for a
minimum of 500 ns) until it desires to exit Deep Sleep mode. The transition of GIO0 from high to low
creates a clock pulse advancing the Deep Sleep state machine. After this transition, all clocks are
stopped and then the internal oscillators are powered down.
At this point, the device is in Deep Sleep mode; power is reduced to a minimum.
The Deep Sleep wake up process works as follows:
•
•
•
•
•
To initiate the wake up process, the microcontroller transitions GIO0 from low to high. This transition
creates a clock pulse advancing the Deep Sleep state machine. After this transition, the oscillators are
powered up and allowed to stabilize and then all clocks are restarted.
The ARM detects that SLEEPCOMPLETE has changed
The ARM clears SLEEPENABLE in register DEEPSLEEP
The ARM brings DDR out of self refresh.
At this point the ARM resumes normal operation. The ARM may branch to program code preserved in
DDR. Register states are preserved.
12.6 I/O Management
12.6.1 USB Phy Power Down
You can power-down the USB Phy when it is not in use. The USB Phy is powered-down via the
PHYPWDN bit in the USB_PHY_CTL register of the system control module. USB_PHY_CTL is described
in Chapter 9.
Also, see the TMS320DM335 DMSoC Universal Serial Bus (USB) Controller Reference Guide (SPRUFY9)
for more information.
SPRUFX7A – July 2008 – Revised July 2010
Power Management
Copyright © 2008–2010, Texas Instruments Incorporated
181
I/O Management
www.ti.com
12.6.2 Video DAC Power Down
The VPBE includes one video digital-to-analog converter (DAC) to drive analog displays, such as NTSC
and PAL television displays. The Video Encoder (VENC) module of the VPBE includes registers for
enabling/disabling the DAC. You can use the VIE bit in VMOD to force the analog output of the DAC to a
low level, regardless of the video signal. Furthermore, you can use the DACCLKEN in register
VPSS_CLK_CTRL to disable each DAC clock.
See the TMS320DM335 Video Processing Back End (VPBE) Peripheral Reference Guide (SPRUFX9) for
detailed information on DAC power-down.
12.6.3 DDR Self-Refresh and Power Down
The DDR controller supports self-refresh and power down. This allows you to put the DDR device in its
self-refresh or power down states for power savings.
See the TMS320DM335 DMSoC DDR2/Mobile DDR (DDR2/mDDR) Memory Controller Reference Guide
(SPRUFZ2) for detailed information on DDR self-refresh and power down.
182
Power Management
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
Appendix A
SPRUFX7A – July 2008 – Revised July 2010
Revision History
This document has been revised from SPRUFX7 to SPRUFX7A because of the following technical
change(s).
Table A-1. Revision History
Location
Additions, Deletions, Changes
Global
Changed 16KB ROM to 8KB ROM
Section 1.1
Changed 2nd sentence, first paragraph.
Figure 1-1
Removed LD.CM from VPFE block in figure.
Section 2.2
Removed CFALD bullet.
Table 3-3
Changed I-TCM Address 0x0000 :C000 - 0x0000 :FFFF from 16K to 24K.
Figure 6-4
Changed REV bit Read value from R-2 to R-D in table.
Figure 6-5
Changed bit 7 to Reserved.
Figure 6-6
Added table notes.
Figure 6-7
Added table notes.
Figure 6-8
Added table notes.
Figure 6-9
Added table notes.
Figure 6-10
Changed R/W value on RATIO bit 4-0.
Figure 6-12
Added table notes.
Figure 6-15
Added table notes.
Figure 6-19
Added table notes.
Figure 7-2
Removed HPI and Mem Stick from figure.
Table 7-1
Corrected Module State for Module Numbers 2, 14, 15, 19, 22, and 27.
Table 9-2
Added table note.
Table 9-7
Corrected GIO12 bit description.
Section 9.10.6
Changed bit 2 name from MMCSD0_MS to MMCSD0.
Table 9-9
Changed bit 7-6
• Field name from BTSEL[2:0] to BTSEL[1:0]
• Description for value 0 from NAND to NAND/SPI0
Table 9-9
Corrected bit name for bits 3-0.
Section 9.10.10
Corrected register.
Table 9-13
Added values to table.
Table 10-3
Added SPI boot option to NAND.
Table 9-14
Added value to Reserved bit 0.
Section 9.10.16
Changed bits 3-2 to Reserved.
Section 11.1.1
Changed bullets:
• Added SPI to ARM NAND boot mode in 3rd bullet
• Added 6th bullet
• Added bullets 17, 18, 19, 20, and 21.
Figure 11-1
Updated figure.
Section 11.2.1
Added section and two subsections.
Section 11.2.2
Updated section.
Section 11.2.2.1
Added subsection.
SPRUFX7A – July 2008 – Revised July 2010
Revision History
Copyright © 2008–2010, Texas Instruments Incorporated
183
Appendix A
www.ti.com
Table A-1. Revision History (continued)
Location
Additions, Deletions, Changes
Section 11.2.2.1.1
Added subsection.
Section 11.2.2.2
Corrected bullets 4 and 5.
184
Revision History
SPRUFX7A – July 2008 – Revised July 2010
Copyright © 2008–2010, Texas Instruments Incorporated
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements,
and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should
obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are
sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard
warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where
mandated by government requirements, testing of all parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and
applications using TI components. To minimize the risks associated with customer products and applications, customers should provide
adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right,
or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information
published by TI regarding third-party products or services does not constitute a license from TI to use such products or services or a
warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual
property of the third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of TI information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied
by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive
business practice. TI is not responsible or liable for such altered documentation. Information of third parties may be subject to additional
restrictions.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all
express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not
responsible or liable for any such statements.
TI products are not authorized for use in safety-critical applications (such as life support) where a failure of the TI product would reasonably
be expected to cause severe personal injury or death, unless officers of the parties have executed an agreement specifically governing
such use. Buyers represent that they have all necessary expertise in the safety and regulatory ramifications of their applications, and
acknowledge and agree that they are solely responsible for all legal, regulatory and safety-related requirements concerning their products
and any use of TI products in such safety-critical applications, notwithstanding any applications-related information or support that may be
provided by TI. Further, Buyers must fully indemnify TI and its representatives against any damages arising out of the use of TI products in
such safety-critical applications.
TI products are neither designed nor intended for use in military/aerospace applications or environments unless the TI products are
specifically designated by TI as military-grade or "enhanced plastic." Only products designated by TI as military-grade meet military
specifications. Buyers acknowledge and agree that any such use of TI products which TI has not designated as military-grade is solely at
the Buyer's risk, and that they are solely responsible for compliance with all legal and regulatory requirements in connection with such use.
TI products are neither designed nor intended for use in automotive applications or environments unless the specific TI products are
designated by TI as compliant with ISO/TS 16949 requirements. Buyers acknowledge and agree that, if they use any non-designated
products in automotive applications, TI will not be responsible for any failure to meet such requirements.
Following are URLs where you can obtain information on other Texas Instruments products and application solutions:
Products
Applications
Amplifiers
amplifier.ti.com
Audio
www.ti.com/audio
Data Converters
dataconverter.ti.com
Automotive
www.ti.com/automotive
DLP® Products
www.dlp.com
Communications and
Telecom
www.ti.com/communications
DSP
dsp.ti.com
Computers and
Peripherals
www.ti.com/computers
Clocks and Timers
www.ti.com/clocks
Consumer Electronics
www.ti.com/consumer-apps
Interface
interface.ti.com
Energy
www.ti.com/energy
Logic
logic.ti.com
Industrial
www.ti.com/industrial
Power Mgmt
power.ti.com
Medical
www.ti.com/medical
Microcontrollers
microcontroller.ti.com
Security
www.ti.com/security
RFID
www.ti-rfid.com
Space, Avionics &
Defense
www.ti.com/space-avionics-defense
RF/IF and ZigBee® Solutions www.ti.com/lprf
Video and Imaging
www.ti.com/video
Wireless
www.ti.com/wireless-apps
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2010, Texas Instruments Incorporated