Page 1
RM0082
Reference manual
SPEAr300
Introduction
This reference manual provides complete hardware information for application developers of
the SPEAr300 embedded MPU.
The SPEAr300 is a member of the SPEAr3xx family (includes SPEAr300, SPEAr310 and
SPEAr320).
SPEAr3xx devices all feature ARM926EJ-S core running up to 333 MHz, an external DDR2
Memory Interface, a common set of powerful on-chip peripherals. Each member of the
SPEAr3xx family has a specific set of IPs implemented in its Reconfigurable Array
Subsystem (RAS). In the SPEAr300, the following IPs are implemented in the RAS.
● FSMC NAND/NOR Flash interface
● SDIO controller
● Color LCD controller (CLCD)
● Telecom IP with TDM interface, camera interface, I2S, 18 GPIOs (G8 and G10), DAC,
SPI_I2C chip selects.
● Keyboard controller
For the pin out, ordering information, mechanical, electrical and timing characteristics,
please refer to the SPEAr300 Datasheet.
For information on the ARM926EJ-S core, please refer to the ARM926EJ-S Technical
Reference Manual.
April 2011 Doc ID 018672 Rev 1 1/844
www.st.com
Page 2
Contents RM0082
Contents
1 Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2 Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.1 Terms & conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.2 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.2.1 Numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.2.2 Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.2.3 Typographical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3 Reference documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4 Product overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.1 Device overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.1.1 Main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 Architecture properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3 System architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3.1 Core architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4 CPU subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.5 Multilayer bus matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.6 Dynamic memory controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.7 Basic subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.8 High speed connectivity subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.9 Low speed connectivity subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.10 Application subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.11 Reconfigurable logic array subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.12 Clock and reset system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.1 Required external components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.2 Dedicated pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3 Shared I/O pins (PL_GPIOs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.3.1 PL_GPIO pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.3.2 Alternate functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2/844 Doc ID 018672 Rev 1
Page 3
RM0082 Contents
5.3.3 Boot pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.3.4 GPIOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.3.5 Multiplexing scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.4 PL_GPIO pin sharing for debug modes . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6 Memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
7 CPU subsystem_ARM926EJ-S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.2 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.3 Main function description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.3.1 Memory management unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.3.2 Caches and write buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.3.3 Bus interface unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8 CPU subsystem_Vectored interrupt controller (VIC) . . . . . . . . . . . . . . 89
8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.3 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
8.3.1 Interrupt request logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
8.3.2 Non-vectored FIQ interrupt logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
8.3.3 Non-vectored IRQ interrupt logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.3.4 Vectored interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.3.5 Interrupt priority logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.3.6 Software interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.3.7 AHB slave interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.4 Interrupt connection table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.5 How to reduce interrupt latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
8.6 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
8.6.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
8.6.2 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.6.3 VICIRQSTATUS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.6.4 VICFIQSTATUS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.6.5 VICRAWINTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.6.6 VICINTSELECT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.6.7 VICINTENABLE register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Doc ID 018672 Rev 1 3/844
Page 4
Contents RM0082
8.6.8 VICINTENCLEAR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.6.9 VICSOFTINT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.6.10 VICSOFTINTCLEAR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.6.11 VICPROTECTION register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.6.12 VICVECTADDR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.6.13 VICDEFVECTADDR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.6.14 VICVECTADDR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.6.15 VICVECTCNTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.6.16 Peripheral identification registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.6.17 VICPERIPHID0 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8.6.18 VICPERIPHID1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8.6.19 VICPERIPHID2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8.6.20 VICPERIPHID3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.6.21 Identification registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.6.22 VICPCELLID0 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.6.23 VICPCELLID1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.6.24 VICPCELLID2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
8.6.25 VICPCELLID3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
9 Bus interconnection matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.1 ICM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10 DDR memory controller (MPMC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.2 Signal description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.3 Features overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10.4 Main block description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10.4.1 AHB-Memory controller interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
10.4.2 Arbiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.4.3 Write data queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.4.4 DRAM command processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.4.5 Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.5 Multi-port arbiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
10.5.1 Arbitration overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
10.5.2 Understanding round-robin operation . . . . . . . . . . . . . . . . . . . . . . . . . 121
10.5.3 Understanding port priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.5.4 Understanding relative priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4/844 Doc ID 018672 Rev 1
Page 5
RM0082 Contents
10.5.5 Understanding port ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
10.5.6 Weighted round-robin arbitration summary . . . . . . . . . . . . . . . . . . . . . 125
10.5.7 Priority relaxing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
10.5.8 Port pairing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.5.9 Error conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.5.10 Command queue with placement logic . . . . . . . . . . . . . . . . . . . . . . . . 131
10.6 Core command queue with placement logic . . . . . . . . . . . . . . . . . . . . . 132
10.6.1 Rules of the placement algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
10.6.2 Command execution order after placement . . . . . . . . . . . . . . . . . . . . . 134
10.7 Low power operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.7.1 Low power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.7.2 Low power mode control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.8 Additional features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
10.8.1 Out-of-range address checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
10.8.2 Mobile devices DQS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
10.8.3 Half datapath option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
10.8.4 User-defined registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
10.9 Address mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
10.9.1 DDR SDRAM address mapping options . . . . . . . . . . . . . . . . . . . . . . . 142
10.9.2 Maximum address space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
10.9.3 Memory mapping to address space . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
10.10 DCC tuning timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.11 External pin connection Of DDR interface in SPEAr300 . . . . . . . . . . . . 145
10.12 Initialization protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.13 Register interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.13.1 Register overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.13.2 MPMC base address In SPEAr300 . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.13.3 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.13.4 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
10.13.5 MEM0_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
10.13.6 MEM1_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.13.7 MEM2_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.13.8 MEM3_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.13.9 MEM4_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.13.10 MEM5_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.13.11 MEM6_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Doc ID 018672 Rev 1 5/844
Page 6
Contents RM0082
10.13.12 MEM7_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.13.13 MEM8_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.13.14 MEM9_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
10.13.15 MEM10_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
10.13.16 MEM11_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.13.17 MEM12_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.13.18 MEM13_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.13.19 MEM14_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.13.20 MEM15_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
10.13.21 MEM16_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
10.13.22 MEM17_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
10.13.23 MEM18_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
10.13.24 MEM19_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
10.13.25 MEM20_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
10.13.26 MEM21_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
10.13.27 MEM22_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.13.28 MEM23_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.13.29 MEM24_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.13.30 MEM25_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.13.31 MEM26_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
10.13.32 MEM27_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
10.13.33 MEM28_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.13.34 MEM29_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.13.35 MEM30_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10.13.36 MEM31_CTL/MEM32_CTL/MEM33_CTL register . . . . . . . . . . . . . . . 171
10.13.37 MEM34_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10.13.38 MEM35_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.13.39 MEM36_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.13.40 MEM37_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.13.41 MEM38_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
10.13.42 MEM39_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
10.13.43 MEM40_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.13.44 MEM41_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.13.45 MEM42_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.13.46 MEM43_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10.13.47 MEM44_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10.13.48 MEM45_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
6/844 Doc ID 018672 Rev 1
Page 7
RM0082 Contents
10.13.49 MEM46_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
10.13.50 MEM47_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
10.13.51 MEM48_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
10.13.52 MEM49_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.13.53 MEM50_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.13.54 MEM51_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.13.55 MEM52_CTL/MEM53_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.13.56 MEM54_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.13.57 MEM55_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.13.58 MEM56_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.13.59 MEM57_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.13.60 MEM58_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.13.61 MEM59_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.13.62 MEM60_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.13.63 MEM61_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.13.64 MEM62_CTL/MEM63_CTL/MEM64_CTL register . . . . . . . . . . . . . . . 180
10.13.65 MEM65_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.13.66 MEM66_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.13.67 MEM67_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.13.68 MEM68_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
10.13.69 MEM[69-97]_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
10.13.70 MEM[98-99]_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
10.13.71 MEM100_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.13.72 MEM101_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.13.73 MEM102_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.13.74 MEM103_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.13.75 MEM104_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.13.76 MEM105_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.13.77 MEM106_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.13.78 MEM107_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.13.79 MEM108_CTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
10.14 Summary of memory controller parameters . . . . . . . . . . . . . . . . . . . . . . 185
11 Clock & reset system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
11.1 Clock generation scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
11.1.1 Jitter at PLL output clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
11.2 Clock distribution scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Doc ID 018672 Rev 1 7/844
Page 8
Contents RM0082
11.2.1 Processor clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2.2 DDR controller clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2.3 Bus clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.4 Configurable logic clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.5 Clock synthesizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.2.6 Crystal connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.3 RTC oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.3.1 Crystal connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
12 Miscellaneous registers (Misc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
12.1 Signal description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
12.2 Overview features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
12.3 Register address map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
12.4 Miscellaneous register local space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
12.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
12.4.2 Miscellaneous register local space address map . . . . . . . . . . . . . . . . 210
12.4.3 SoC_CFG_CTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
12.4.4 DIAG_CFG_CTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
12.4.5 PLL 1/2_CTR registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
12.4.6 PLL1/2_FRQ registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
12.4.7 PLL1/2_MOD registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
12.4.8 PLL_CLK_CFG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
12.4.9 CORE_CLK_CFG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
12.4.10 PRPH_CLK_CFG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
12.4.11 PERIP1_CLK_ENB register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
12.4.12 RAS_CLK_ENB register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
12.4.13 PRSC1/2/3_CLK_CFG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
12.4.14 AMEM_CFG_CTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
12.4.15 Auxiliary clock synthesizer registers . . . . . . . . . . . . . . . . . . . . . . . . . . 233
12.4.16 Soft reset control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
12.4.17 PERIP1_SOF_RST register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
12.4.18 RAS_SOF_RST register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
12.4.19 SoC configuration basic parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 238
12.4.20 ICM1-8_ARB_CFG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
12.4.21 DMA_CHN_CFG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
12.4.22 USB2_PHY_CFG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
12.4.23 MAC_CFG_CTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
8/844 Doc ID 018672 Rev 1
Page 9
RM0082 Contents
12.4.24 Special configuration parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
12.4.25 Powerdown_CFG_CTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
12.4.26 COMPSSTL_1V8_CFG/DDR_2V5_COMPENSATION register . . . . . 244
12.4.27 COMPCOR_3V3_CFG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
12.4.28 DDR_PAD register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
12.4.29 Memory BIST execution control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
12.4.30 BIST1_CFG_CTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
12.4.31 BIST2_CFG_CTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
12.4.32 BIST3_CFG_CTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
12.4.33 BIST4_CFG_CTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
12.4.34 BIST1_STS_RES register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
12.4.35 BIST2_STS_RES register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
12.4.36 BIST3_STS_RES register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
12.4.37 BIST4_STS_RES register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
12.4.38 BIST5_RSLT_REG register (Reserved) . . . . . . . . . . . . . . . . . . . . . . . 258
12.4.39 Diagnostic functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
12.4.40 SYSERR_CFG_CTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
12.4.41 USB_TUN_PRM register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
12.4.42 PLGPIOn_PAD_PRG Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
12.5 Miscellaneous register global space . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
12.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
12.5.2 Miscellaneous register global space address map . . . . . . . . . . . . . . . 268
12.5.3 RAS1/2_GPP_INP register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
12.5.4 RAS1/2_GPP_OUT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
13 LS_Synchronous serial peripheral (SSP) . . . . . . . . . . . . . . . . . . . . . . 270
13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
13.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
13.3 Signal interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
13.4 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
13.4.1 APB slave interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
13.4.2 Register block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
13.4.3 Clock prescaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
13.4.4 Transmit FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
13.4.5 Receive FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
13.4.6 Transmit and receive logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
13.4.7 Interrupt generation logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Doc ID 018672 Rev 1 9/844
Page 10
Contents RM0082
13.4.8 DMA interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
13.4.9 Synchronizing registers and logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
13.5 SSP operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
13.5.1 Configuring the SSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
13.5.2 Enable SSP operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
13.5.3 Programming the SSPCR0 control register . . . . . . . . . . . . . . . . . . . . . 275
13.5.4 Programming the SSPCR1 control register . . . . . . . . . . . . . . . . . . . . . 275
13.5.5 Frame format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
13.6 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
13.6.1 External pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
13.6.2 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
13.6.3 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
13.6.4 SSPCR0 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
13.6.5 SSPCR1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
13.6.6 SSPDR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
13.6.7 SSPSR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
13.6.8 SSPCPSR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
13.6.9 SSPIMSC register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
13.6.10 SSPRIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
13.6.11 SSPMIS Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
13.6.12 SSPICR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
13.6.13 SSPDMACR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
13.6.14 PHERIPHID0 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
13.6.15 PHERIPHID1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
13.6.16 PHERIPHID2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
13.6.17 PHERIPHID3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
13.6.18 PCELLID0 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
13.6.19 PCELLID1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
13.6.20 PCELLID2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
13.6.21 PCELLID3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
13.7 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
13.7.1 SSPRXINTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
13.7.2 SSPTXINTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
13.7.3 SSPRORINTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
13.7.4 SSPRTINTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
13.7.5 SSPINTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
10/844 Doc ID 018672 Rev 1
Page 11
RM0082 Contents
14 BS_System controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
14.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
14.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
14.3 Main function description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
14.3.1 System mode control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
14.3.2 System control state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
14.3.3 Interrupt response mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
14.3.4 Reset control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
14.3.5 Core clock control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
14.3.6 Watchdog module clock enable generation . . . . . . . . . . . . . . . . . . . . . 291
14.4 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
14.4.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
14.4.2 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
14.4.3 SCCTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
14.4.4 SCSYSSTAT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
14.4.5 SCIMCTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
14.4.6 SCIMSTAT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
14.4.7 SCXTALCTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
14.4.8 SCPLLCTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
15 BS_Serial memory interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
15.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
15.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
15.3 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
15.3.1 Clock prescaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
15.3.2 Data processing and control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
15.4 Operation modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
15.4.1 Hardware mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
15.4.2 Software mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
15.5 Data transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
15.5.1 Read request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
15.5.2 Write request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
15.5.3 Write burst mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
15.5.4 Read while write mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
15.5.5 Erase and write status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
15.6 Timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Doc ID 018672 Rev 1 11/844
Page 12
Contents RM0082
15.6.1 Latencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
15.7 How to boot from external memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
15.8 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
15.8.1 External pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
15.8.2 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
15.8.3 SMI_CR1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
15.8.4 SMI_CR2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
15.8.5 SMI_SR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
15.8.6 SMI_TR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
15.8.7 SMI_RR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
16 BS_Watchdog timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
16.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
16.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
16.3 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
16.3.1 AMBA APB interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
16.3.2 Free running counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
16.4 Clock signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
16.5 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
16.5.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
16.5.2 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
16.5.3 WdogLoad register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
16.5.4 WdogValue register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
16.5.5 WdogControl register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
16.5.6 WdogIntClr register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
16.5.7 WdogRIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
16.5.8 WdogMIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
16.5.9 WdogLock register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
17 BS_General purpose timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
17.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
17.2 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
17.2.1 External pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
17.2.2 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
17.2.3 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
17.2.4 Timer_control register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
12/844 Doc ID 018672 Rev 1
Page 13
RM0082 Contents
17.2.5 TIMER_STATUS_INT_ACK register . . . . . . . . . . . . . . . . . . . . . . . . . . 322
17.2.6 TIMER_COMPARE register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
17.2.7 TIMER_COUNT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
17.2.8 TIMER_REDG_CAPT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
17.2.9 TIMER_FEDG_CAPT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
18 BS_General purpose input/output (GPIO) . . . . . . . . . . . . . . . . . . . . . 325
18.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
18.2 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
18.2.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
18.2.2 Signal interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
18.3 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
18.3.1 APB slave interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
18.3.2 Interrupt detection logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
18.3.3 Mode control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
18.4 How to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
18.4.1 Read from and write to input/output lines . . . . . . . . . . . . . . . . . . . . . . 327
18.4.2 Control interrupt generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
18.5 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
18.5.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
18.5.2 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
18.5.3 GPIODIR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
18.5.4 GPIODATA register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
18.5.5 GPIOIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
18.5.6 GPIOIBE register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
18.5.7 GPIOIEV register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
18.5.8 GPIOIE register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
18.5.9 GPIORIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
18.5.10 GPIOMIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
18.5.11 GPIOIC register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
19 BS_DMA controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
19.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
19.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
19.3 Signal interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
19.4 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Doc ID 018672 Rev 1 13/844
Page 14
Contents RM0082
19.4.1 AHB slave interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
19.4.2 AHB master interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
19.4.3 DMA interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
19.5 Scatter/gather . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
19.5.1 How to program the DMAC for scatter/gather DMA . . . . . . . . . . . . . . . 337
19.6 Interrupt requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
19.6.1 How to operate single combined DMACINTR interrupt request signal 338
19.7 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
19.7.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
19.7.2 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
19.7.3 DMACIntStatus register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
19.7.4 DMACIntTCStatus register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
19.7.5 DMACIntTCClear register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
19.7.6 DMACIntErrorStatus register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
19.7.7 DMACIntErrClr register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
19.7.8 DMACRawIntTCStatus register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
19.7.9 DMACRawIntErrorStatus register . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
19.7.10 DMACEnbldChns register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
19.7.11 DMACSoftBReq register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
19.7.12 DMACSoftSReq register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
19.7.13 DMACSoftLBReq register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
19.7.14 DMACSoftLSReq register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
19.7.15 DMAC configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
19.7.16 DMACSync register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
19.7.17 DMACCnSrcAddr register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
19.7.18 DMACCnDestAddr register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
19.7.19 DMACCnLLI register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
19.7.20 DMACCn control register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
19.7.21 DMAC Configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
19.7.22 DMACPeriphID register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
19.7.23 DMACPCellID register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
20 BS_Real time clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
20.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
20.2 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
20.2.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
20.2.2 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
14/844 Doc ID 018672 Rev 1
Page 15
RM0082 Contents
20.2.3 CONTROL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
20.2.4 STATUS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
20.2.5 TIME register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
20.2.6 DATE register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
20.2.7 ALARM TIME registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
20.2.8 ALARM DATE registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
20.2.9 REGxMC register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
21 AS_Cryptographic co-processor (C3) . . . . . . . . . . . . . . . . . . . . . . . . . 357
21.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
21.2 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
21.2.1 Device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
21.3 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
21.4 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
21.4.1 HIF (High speed bus interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
21.4.2 SIF (Slave bus interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
21.4.3 IDS (Instruction dispatchers sub-system) . . . . . . . . . . . . . . . . . . . . . . 360
21.4.4 Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
21.4.5 CCM (Coupling/Chaining module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
21.5 Processing overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
21.6 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
21.6.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
21.6.2 System registers (C3_SYS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
21.6.3 Register configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
21.6.4 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
21.6.5 Master interface register (C3_HIF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
21.6.6 Register configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
21.6.7 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
21.6.8 Memory page (HIF_MP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
21.6.9 Memory size register (HIF_MSIZE) . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
21.6.10 Memory base address register (HIF_MBAR) . . . . . . . . . . . . . . . . . . . . 371
21.6.11 Memory control register (HIF_MCAR) . . . . . . . . . . . . . . . . . . . . . . . . . 371
21.6.12 Memory page base address register (HIF_MPBAR) . . . . . . . . . . . . . . 373
21.6.13 Memory access address register (HIF_MAAR) . . . . . . . . . . . . . . . . . . 374
21.6.14 Memory access data register (HIF_MADR) . . . . . . . . . . . . . . . . . . . . . 375
21.6.15 Byte bucket base address register (HIF_NBAR) . . . . . . . . . . . . . . . . . 375
Doc ID 018672 Rev 1 15/844
Page 16
Contents RM0082
21.6.16 Byte bucket control register (HIF_NCR) . . . . . . . . . . . . . . . . . . . . . . . 376
21.6.17 Instruction dispatcher registers (C3_IDn) . . . . . . . . . . . . . . . . . . . . . . 377
21.6.18 Channel registers (C3_CHn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
21.6.19 Channel ID register (CH_ID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
21.7 Channel ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
21.8 DES channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
21.8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
21.8.2 Instruction set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
21.8.3 DES instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
21.8.4 DES START instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
21.8.5 ECB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
21.8.6 CBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
21.8.7 DES APPEND instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
21.8.8 ECB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
21.8.9 CBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
21.8.10 Register set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
21.8.11 DES register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
21.8.12 Data input/output registers (DES_DATAINOUT) . . . . . . . . . . . . . . . . . 386
21.8.13 Feedback registers (DES_FEEDBACK) . . . . . . . . . . . . . . . . . . . . . . . 387
21.8.14 Control and status register (DES_CONTROL_STATUS) . . . . . . . . . . . 387
21.8.15 TKey registers (DES_KEY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
21.8.16 Channel ID (DES_ID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
21.9 AES channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
21.9.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
21.9.2 Instruction set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
21.9.3 AES instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
21.9.4 AES START instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
21.9.5 ECB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
21.9.6 CBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
21.9.7 CTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
21.9.8 AES APPEND instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
21.9.9 ECB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
21.9.10 CBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
21.9.11 CTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
21.10 Register set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
21.10.1 Register configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
21.10.2 Data input/output registers (AES_DATAIN_OUT) . . . . . . . . . . . . . . . . 392
16/844 Doc ID 018672 Rev 1
Page 17
RM0082 Contents
21.10.3 Feedback registers (AES_FEEDBACK) . . . . . . . . . . . . . . . . . . . . . . . . 392
21.10.4 Counter registers (AES_COUNTER) . . . . . . . . . . . . . . . . . . . . . . . . . . 393
21.10.5 Control and status register (AES_CONTROL_STATUS) . . . . . . . . . . . 393
21.10.6 Key registers (AES_KEY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
21.10.7 Channel ID (AES_ID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
21.11 Unified hash with HMAC channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
21.11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
21.11.2 Instruction set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
21.11.3 HASH instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
21.11.4 HASH [MD5/SHA1] instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
21.11.5 INIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
21.11.6 APPEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
21.11.7 END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
21.11.8 HASH CONTEXT instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
21.11.9 SAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
21.11.10 RESTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
21.11.11 HMAC instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
21.11.12 HMAC [MD5/SHA1] instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
21.11.13 INIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
21.11.14 APPEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
21.11.15 END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
21.11.16 HMAC CONTEXT instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
21.11.17 SAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
21.11.18 RESTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
21.11.19 Register configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
21.11.20 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
21.11.21 Control and status register (UHH_CU_CONTROL_STATUS) . . . . . . . 402
21.11.22 Data input register (UHH_DATA_IN) . . . . . . . . . . . . . . . . . . . . . . . . . . 405
21.11.23 Control and status register (UHH_CB_CONTROL_STATUS) . . . . . . . 405
21.11.24 Channel ID (UHH_CH_ID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
22 HS_USB2.0 host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
22.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
22.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
22.3 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
22.3.1 AHB bus interface unit (BIU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
22.3.2 EHCI host controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Doc ID 018672 Rev 1 17/844
Page 18
Contents RM0082
22.3.3 OHCI host controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
22.4 EHCI host controller blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
22.4.1 List processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
22.4.2 Operational registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
22.4.3 Start-Of-Frame (SOF) generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
22.4.4 Packet buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
22.4.5 Root hub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
22.5 OHCI host controller blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
22.5.1 HCI master block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
22.5.2 HCI slave block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
22.5.3 List processor block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
22.5.4 RootHub and HSIE blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
22.5.5 Digital PLL block (DPLL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
22.5.6 HSIE functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
22.5.7 RootHub port configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
22.6 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
22.6.1 External pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
22.6.2 UHC interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
22.6.3 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
22.6.4 Register descriptions of EHCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
22.6.5 HCCAPBASE register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
22.6.6 HCSPARAMS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
22.6.7 HCCPARAMS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
22.6.8 USBCMD register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
22.6.9 USBSTS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
22.6.10 USBINTR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
22.6.11 FRINDEX register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
22.6.12 CTRLDSSEGMENT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
22.6.13 PERIODICLISTBASE register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
22.6.14 SYNCLISTADDR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
22.6.15 CONFIGFLAG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
22.6.16 PORTSC registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
22.6.17 INSNREG00 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
22.6.18 INSNREG01 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
22.6.19 INSNREG02 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
22.6.20 INSNREG03 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
22.6.21 INSNREG05 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
18/844 Doc ID 018672 Rev 1
Page 19
RM0082 Contents
22.6.22 Register description of OHCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
22.6.23 Operation registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
22.6.24 The control and status partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
22.6.25 HcRevision register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
22.6.26 HcControl register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
22.6.27 HcCommandStatus register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
22.6.28 HcInterruptStatus register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
22.6.29 HcInterruptEnable register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
22.6.30 HcInterruptDisable register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
22.6.31 Memory pointer partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
22.6.32 HcHCCA register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
22.6.33 HcPeriodCurrentED register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
22.6.34 HcControlHeadED register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
22.6.35 HcControlCurrentED register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
22.6.36 HcBulkHeadED register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
22.6.37 HcBulkCurrentED register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
22.6.38 HcDoneHead register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
22.6.39 Frame counter partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
22.6.40 HcFmInterval register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
22.6.41 HcFmRemaining register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
22.6.42 HcFmNumber register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
22.6.43 HcPeriodicStart register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
22.6.44 HcLSThreshold register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
22.6.45 Root hub partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
22.6.46 HcRhDescriptorA register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
22.6.47 HcRhDescriptorB register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
22.6.48 HcRhStatus register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
22.6.49 HcRhPortStatus[1:NDP] register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
23 HS_USB 2.0 device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
23.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
23.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
23.3 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
23.3.1 UTLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
23.3.2 Interrupt manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
23.3.3 SOF tracker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
23.3.4 Receive FIFO controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Doc ID 018672 Rev 1 19/844
Page 20
Contents RM0082
23.3.5 Endpoint FIFO controller (Transmit FIFO controller) . . . . . . . . . . . . . . 467
23.3.6 Control and status registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
23.3.7 AHB slave-only interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
23.3.8 DMA (AHB master interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
23.3.9 DMA transfer engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
23.3.10 DMA controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
23.3.11 AHB interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
23.3.12 CSRs slave access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
23.4 Theory of operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
23.4.1 DMA mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
23.4.2 In operation (Data transfer To USB host) . . . . . . . . . . . . . . . . . . . . . . . 471
23.4.3 Out operation (Data transfer from USB host) . . . . . . . . . . . . . . . . . . . . 473
23.4.4 Slave-only mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
23.5 Data memory structure in DMA mode . . . . . . . . . . . . . . . . . . . . . . . . . . 478
23.5.1 SETUP data memory structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
23.5.2 OUT data memory structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
23.5.3 IN data memory structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
23.6 Operation modes In DMA mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
23.6.1 Packet-per-buffer mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
23.6.2 Buffer fill mode (OUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
23.6.3 Buffer fill mode (IN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
23.6.4 Threshold enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
23.6.5 Burst split enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
23.7 USB plug detect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
23.8 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
23.8.1 External pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
23.8.2 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
23.8.3 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
23.8.4 Device configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
23.8.5 Device control register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
23.8.6 Device status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
23.8.7 Device interrupt register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
23.8.8 Device interrupt mask register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
23.8.9 Endpoint interrupt register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
23.8.10 Endpoint interrupt mask register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
23.8.11 Endpoint control register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
20/844 Doc ID 018672 Rev 1
Page 21
RM0082 Contents
23.8.12 Endpoint status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
23.8.13 Endpoint buffer size and received packet frame number register . . . . 501
23.8.14 Endpoint maximum packet size and buffer size register . . . . . . . . . . . 502
23.8.15 Endpoint setup buffer pointer register . . . . . . . . . . . . . . . . . . . . . . . . . 503
23.8.16 Endpoint data description pointer register . . . . . . . . . . . . . . . . . . . . . . 503
23.8.17 UDC20 endpoint register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
24 HS_Media independent interface (MII) . . . . . . . . . . . . . . . . . . . . . . . . 505
24.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
24.1.1 MAC core main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
24.1.2 MAC-AHB main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
24.2 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
24.2.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
24.3 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
24.3.1 AHB slave interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
24.3.2 AHB master interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
24.3.3 DMA controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
24.3.4 Transmit and receive FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
24.3.5 MAC management counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
24.3.6 Power management module (PMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
24.4 DMA descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
24.4.1 Transmit descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
24.4.2 Receive descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
24.5 How to initialize DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
24.6 Interrupt management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
24.7 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
24.7.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
24.7.2 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
24.7.3 Bus mode register (Register0, DMA) . . . . . . . . . . . . . . . . . . . . . . . . . . 521
24.7.4 Transmit poll demand register (Register1, DMA) . . . . . . . . . . . . . . . . . 523
24.7.5 Receive poll demand register (Register2, DMA) . . . . . . . . . . . . . . . . . 523
24.7.6 Receive descriptor list address register (Register3, DMA) . . . . . . . . . 523
24.7.7 Transmit descriptor list address register (Register4, DMA) . . . . . . . . . 524
24.7.8 Status register (Register 5, DMA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
24.7.9 Operation mode register (Register 6, DMA) . . . . . . . . . . . . . . . . . . . . 529
24.7.10 Interrupt enable register (Register7, DMA) . . . . . . . . . . . . . . . . . . . . . 532
Doc ID 018672 Rev 1 21/844
Page 22
Contents RM0082
24.7.11 Missed frame and buffer overflow counter register (Register8, DMA) . 533
24.7.12 Current host transmit descriptor register (Register18, DMA) . . . . . . . . 533
24.7.13 Current host receive descriptor register (Register19, DMA) . . . . . . . . 534
24.7.14 Current host transmit buffer address register (Register20, DMA) . . . . 534
24.7.15 Current host receive buffer address register (Register21, DMA) . . . . . 534
24.7.16 MAC configuration register (Register0, MAC) . . . . . . . . . . . . . . . . . . . 534
24.7.17 MAC frame filter register (Register1, MAC) . . . . . . . . . . . . . . . . . . . . . 537
24.7.18 Hash table high register (Register2, MAC) . . . . . . . . . . . . . . . . . . . . . 539
24.7.19 Hash table low register (Register3, MAC) . . . . . . . . . . . . . . . . . . . . . . 539
24.7.20 MII address register (Register4, MAC) . . . . . . . . . . . . . . . . . . . . . . . . 540
24.7.21 MII data register (Register5, MAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
24.7.22 Flow control register (Register6, MAC) . . . . . . . . . . . . . . . . . . . . . . . . 541
24.7.23 VLAN tag register (Register7, MAC) . . . . . . . . . . . . . . . . . . . . . . . . . . 543
24.7.24 Wake-up frame filter register (Register10, MAC) . . . . . . . . . . . . . . . . . 543
24.7.25 PMT control and status register (Register11, MAC) . . . . . . . . . . . . . . 544
24.7.26 Interrupt status register (Register 14, MAC) . . . . . . . . . . . . . . . . . . . . 545
24.7.27 Interrupt mask register (Register 15, MAC) . . . . . . . . . . . . . . . . . . . . . 546
24.7.28 MAC address0 high register (Register16, MAC) . . . . . . . . . . . . . . . . . 546
24.7.29 MAC address0 low register (Register17, MAC) . . . . . . . . . . . . . . . . . . 546
24.7.30 MAC address1 high register (Register18, MAC) . . . . . . . . . . . . . . . . . 547
24.7.31 MAC address1 low register (Register19, MAC) . . . . . . . . . . . . . . . . . . 548
24.8 MMC registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
24.8.1 MMC control register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
24.8.2 MMC receive interrupt register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
24.8.3 MMC transmit interrupt register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
24.8.4 MMC receive interrupt mask register . . . . . . . . . . . . . . . . . . . . . . . . . . 552
24.9 Clocks with MII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
25 LS_JPEG codec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
25.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
25.2 Signal interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
25.3 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
25.3.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
25.3.2 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
25.3.3 Codec core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
25.3.4 Codec controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
25.3.5 DMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
22/844 Doc ID 018672 Rev 1
Page 23
RM0082 Contents
25.3.6 FIFO buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
25.3.7 Internal memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
25.4 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
25.4.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
25.4.2 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
25.4.3 JPGCreg0 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
25.4.4 JPGCReg1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
25.4.5 JPGCreg2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
25.4.6 JPGCreg3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
25.4.7 JPGCreg4-7 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
25.4.8 JPGC control status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
25.4.9 JPGC bytes from Fifo to core register . . . . . . . . . . . . . . . . . . . . . . . . . 564
25.4.10 JPGC bytes from core to Fifo register . . . . . . . . . . . . . . . . . . . . . . . . . 565
25.4.11 JPGC bust count beforeInit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
25.4.12 DMAC registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
25.4.13 JPGCFifoIn register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
25.4.14 JPGCFifoOut register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
25.4.15 JPGCqmem memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
25.4.16 JPGChuffmin memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
25.4.17 JPGC huffbase memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
25.4.18 JPGChuffsymb memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
25.4.19 JPGCDHTmem memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
25.4.20 JPGChuffenc memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
26 LS_Fast IrDA controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
26.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
26.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
26.3 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
26.3.1 Synchronization unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
26.3.2 Demodulation unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
26.3.3 Wrapper unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
26.3.4 Modulation unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
26.3.5 Baud rate generation unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
26.3.6 FIFO unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
26.4 Interrupt sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
26.5 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Doc ID 018672 Rev 1 23/844
Page 24
Contents RM0082
26.5.1 External pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
26.5.2 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
26.5.3 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
26.5.4 IrDA_CON register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
26.5.5 IrDA_CONF register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
26.5.6 IrDA_PARA register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
26.5.7 IrDA_DV register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
26.5.8 IrDA_STAT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
26.5.9 IrDA_TFS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
26.5.10 IrDA_RFS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
26.5.11 IrDA_TXB register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
26.5.12 IrDA_RXB register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
26.5.13 IrDA_IMSC register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
26.5.14 IrDA_RIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
26.5.15 IrDA_MIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
26.5.16 IrDA_ICR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
26.5.17 IrDA_ISR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
26.5.18 IrDA_DMA register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
27 LS_Universal asynchronous receiver/transmitter (UART) . . . . . . . . 589
27.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
27.2 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
27.2.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
27.2.2 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
27.3 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
27.3.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
27.4 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
27.4.1 UARTDR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
27.4.2 UARTRSR/UARTECR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
27.4.3 UARTFR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
27.4.4 UARTIBRD register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
27.4.5 UARTFBRD register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
27.4.6 UARTLCR_H register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
27.4.7 UARTCR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
27.4.8 UARTIFLS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
27.4.9 UARTIMSC register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
27.4.10 UARTRIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
24/844 Doc ID 018672 Rev 1
Page 25
RM0082 Contents
27.4.11 UARTMIS Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
27.4.12 UARTICR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
27.4.13 UARTDMACR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
27.5 UART modem operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
28 LS_I2C controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
28.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
28.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
28.3 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
28.3.1 APB interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
28.3.2 I
28.3.3 DMA controller interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
28.4 Operation modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
28.4.1 Slave mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
28.4.2 Master mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
28.4.3 Multi-master mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
2
C protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
28.5 Interrupt sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
28.6 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
28.6.1 External pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
28.6.2 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
28.6.3 IC_CON register(0x000) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
28.6.4 IC_TAR register(0x004) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
28.6.5 IC_SAR register(0x008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
28.6.6 IC_HS_MADDR register(0x00C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
28.6.7 IC_DATA_CMD register(0x010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
28.6.8 IC_SS_SCL_HCNT register (0x014) . . . . . . . . . . . . . . . . . . . . . . . . . . 626
28.6.9 IC_SS_SCL_LCNT register(0x018) . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
28.6.10 IC_FS_SCL_HCNT register(0x01C) . . . . . . . . . . . . . . . . . . . . . . . . . . 628
28.6.11 IC_FS_SCL_LCNT register(0x020) . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
28.6.12 IC_HS_SCL_HCNT register(0x024) . . . . . . . . . . . . . . . . . . . . . . . . . . 629
28.6.13 IC_HS_SCL_LCNT register(0x028) . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
28.6.14 IC_INTR_STAT register(0x02C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
28.6.15 IC_INTR_MASK register(0x030) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
28.6.16 IC_RAW_INTR_STAT register(0x034) . . . . . . . . . . . . . . . . . . . . . . . . . 633
28.6.17 IC_RX_TL register(0x038) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
28.6.18 IC_TX_TL register(0x03C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Doc ID 018672 Rev 1 25/844
Page 26
Contents RM0082
28.6.19 IC_CLR_INTR register(0x040) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
28.6.20 Interrupt clearing registers(0x044 - 0x068) . . . . . . . . . . . . . . . . . . . . . 635
28.6.21 IC_ENABLE register(0x06C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
28.6.22 IC_STATUS register(0x070) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
28.6.23 IC_TXFLR and IC_RXFLR registers (0x074 - 0x078) . . . . . . . . . . . . . 637
28.6.24 IC_TX_ABRT_SOURCE register (0x080) . . . . . . . . . . . . . . . . . . . . . . 637
28.6.25 IC_DMA_CR register (0x088) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
28.6.26 IC_DMA_TDLR register (0x08C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
28.6.27 IC_DMA_RDLR register (0x090) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
28.6.28 IC_COMP_PARAM1 register (0x0F4) . . . . . . . . . . . . . . . . . . . . . . . . . 641
29 LS_Analog to digital convertor (ADC) . . . . . . . . . . . . . . . . . . . . . . . . . 643
29.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
29.2 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
29.3 Operating sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
29.3.1 Normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
29.3.2 Enhanced mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
29.4 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
29.4.1 External pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
29.5 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
29.5.1 ADC_STATUS_REG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
29.5.2 AVERAGE_REG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
29.5.3 SCAN RATE register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
29.5.4 ADC_CLK_REG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
29.5.5 CHx CTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
29.5.6 CHx DATA register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
30 RS_Reconfigurable array subsystem (RAS) registers . . . . . . . . . . . . 652
30.1 RAS configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
30.1.1 NAND mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
30.1.2 NOR mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
30.1.3 Photoframe mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
30.1.4 LEND_IP_PHONE (LOW END IP PHONE mode) . . . . . . . . . . . . . . . . 653
30.1.5 HEND_IP_PHONE MODE (HIGH END IP PHONE) . . . . . . . . . . . . . . 654
30.1.6 LEND_WIFI_PHONE MODE (LOW END WI-FI PHONE) . . . . . . . . . . 654
30.1.7 HEND_WIFI_PHONE MODE (HIGH END WI-FI PHONE) . . . . . . . . . 654
30.1.8 ATA_PABX_wI2S (ATA PABX without I2S) . . . . . . . . . . . . . . . . . . . . . . 654
26/844 Doc ID 018672 Rev 1
Page 27
RM0082 Contents
30.1.9 ATA_PABX_I2S MODE (ATA PABX with I2S) . . . . . . . . . . . . . . . . . . . . 655
30.1.10 CAMl_LCDw MODE (8 bit CAMERA without LCD) . . . . . . . . . . . . . . . 655
30.1.11 CAMu_LCD MODE (14 bit CAMERA with LCD) . . . . . . . . . . . . . . . . . 655
30.1.12 CAMu_wLCD MODE (14 bit CAMERA without LCD) . . . . . . . . . . . . . 656
30.1.13 CAMl_LCD MODE (8 bit CAMERA with LCD) . . . . . . . . . . . . . . . . . . . 656
30.2 Maximum number of GPIOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
30.3 Address map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
30.4 RAS configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
30.4.1 RAS Register 1 (0x99000000) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
30.4.2 RAS Register 2 (0x99000004) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
30.5 RAS Interrupt assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
30.6 RAS DMA configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
31 RS_Flexible static memory controller (FSMC) . . . . . . . . . . . . . . . . . . 662
31.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
31.2 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
31.2.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
31.3 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
31.3.1 AHB interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
31.3.2 NAND flash controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
31.3.3 Asynchronous SRAM and NOR parallel Flash controller . . . . . . . . . . 664
31.4 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
31.4.1 External signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
31.4.2 Address map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
31.4.3 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
31.4.4 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
31.4.5 GenMemCtrl(i) registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
31.4.6 GenMemCtrl_tim(i) registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
31.4.7 GenMemCtrl_PC(i) registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
31.4.8 GenMemCtrl_Comm(i)/GenMemCtrl_Attrib(i) registers . . . . . . . . . . . . 671
31.4.9 GenMemCtrl_ECCr(i) registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
31.4.10 GenMemCtrl peripheral identification registers (GenMemCtrlPeripID0-3) .
672
31.4.11 GenMemCtrl cell Identification registers (GenMemCtrlPCellID0-3) . . . 672
31.4.12 Calculating the FSMC timing parameters . . . . . . . . . . . . . . . . . . . . . . 673
Doc ID 018672 Rev 1 27/844
Page 28
Contents RM0082
32 RS_SDIO controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
32.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
32.2 Main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
32.3 Signal interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
32.4 Pin signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
32.5 Functional overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
32.5.1 Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
32.6 Programmer's model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
32.6.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
32.7 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
32.7.1 SDMASysAddr register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
32.7.2 BLKSize register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
32.7.3 BLKCount register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
32.7.4 CMDARG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
32.7.5 TRMode register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
32.7.6 CMD register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
32.7.7 RESP(i) registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
32.7.8 Buf data port register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
32.7.9 PRSTATE register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
32.7.10 HOSTCTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
32.7.11 PWRCTL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
32.7.12 BLKGAPCTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
32.7.13 WKUPCTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
32.7.14 CLKCTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
32.7.15 TMOUTCTRL register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
32.7.16 SWRES register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
32.7.17 NIRQSTAT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
32.7.18 ERRIRQSTAT register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
32.7.19 NIRQSTATEN register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
32.7.20 ERRIRQSTATEN register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
32.7.21 NIRQSIGEN register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
32.7.22 ERRIRQSIGEN register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
32.7.23 ACMD12ERSTS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
32.7.24 CAP1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
32.7.25 CAP2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
32.7.26 MAXCURR1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
28/844 Doc ID 018672 Rev 1
Page 29
RM0082 Contents
32.7.27 MAXCURR2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
32.7.28 ACMD12FEERSTS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
32.7.29 FEERRINTSTS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
32.7.30 ADMAERRSTS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
32.7.31 ADMAADDR1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
32.7.32 ADMAADDR2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
32.7.33 SPIIRQSUPP register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
32.7.34 SLTIRQSTS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
32.7.35 HCTRLVER register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
33 RS_Color liquid crystal display controller (CLCD) . . . . . . . . . . . . . . 735
33.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
33.1.1 Number of colors supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
33.2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
33.3 Signal interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
33.4 LCD panel signal multiplexing details . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
33.5 Main functions description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
33.5.1 AHB slave interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
33.5.2 AHB master interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
33.5.3 Dual DMA FIFOs and associated control logic . . . . . . . . . . . . . . . . . . 741
33.5.4 Pixel serializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
33.5.5 RAM palette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
33.5.6 Gray scaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
33.5.7 Upper and lower panel formatters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
33.5.8 Panel clock generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
33.5.9 Timing controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
33.5.10 Interrupt generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
33.5.11 Bus architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
33.5.12 LCD powering up and down sequences . . . . . . . . . . . . . . . . . . . . . . . 747
33.6 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
33.6.1 External pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
33.6.2 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
33.6.3 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
33.6.4 LCD timing 0 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
33.6.5 LCD timing 1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
33.6.6 LCD timing 2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
Doc ID 018672 Rev 1 29/844
Page 30
Contents RM0082
33.6.7 LCD timing 3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
33.6.8 LCDUPBASE and LCPLPBASE registers . . . . . . . . . . . . . . . . . . . . . . 754
33.6.9 LCDIMSC register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
33.6.10 LCD control register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756
33.6.11 LCDRIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
33.6.12 LCDMIS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
33.6.13 LCDICR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
33.6.14 LCDUPCURR and LCDLPCURR registers . . . . . . . . . . . . . . . . . . . . . 759
33.6.15 LCDPalette register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
33.6.16 PHERIPHID0-3 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
33.6.17 PCELLIDID0-3 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
33.7 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
33.7.1 CLCDMBEINTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
33.7.2 LCDVCOMPINTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
33.7.3 CLCDLNBUINTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
33.7.4 CLCDFUFINTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
33.7.5 LCD powering up and powering down sequence support . . . . . . . . . . 763
33.8 CLCD clock scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
34 RS_Telecom IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
34.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
34.2 Main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
34.3 Pin list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
34.4 Functional overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
34.4.1 Regs and regs_rw blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
34.4.2 TDM clock block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
34.4.3 TDM synchro block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
34.4.4 TDM block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
34.4.5 Action memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
34.4.6 Switching memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
34.4.7 Buffer memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
34.4.8 I2S block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
34.4.9 DAC block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
34.4.10 Camera interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
34.4.11 SPI-I2C block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
34.4.12 General purpose GPIOs G8 and G10 . . . . . . . . . . . . . . . . . . . . . . . . . 782
30/844 Doc ID 018672 Rev 1
Page 31
RM0082 Contents
34.4.13 IT bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
34.5 Programmer’s model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
34.5.1 Address map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
34.5.2 Register set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
34.6 Description of registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
34.6.1 Boot register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
34.6.2 TDM_conf register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
34.6.3 GPIO8_DIR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
34.6.4 GPIO10_DIR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
34.6.5 GPIO8_out register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
34.6.6 GPIO10_out register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
34.6.7 GPIO8_in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
34.6.8 GPIO10_in register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
34.6.9 IT-GEN register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
34.6.10 GPIOt register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
34.6.11 GPIOtt register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
34.6.12 PERS_time register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
34.6.13 PERS_data register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
34.6.14 TDM_timeslot_NBR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
34.6.15 TDM_frame_NBR register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
34.6.16 TDM_SYNC_GEN register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
34.6.17 SPI_I2C_usage register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
34.6.18 SPI_I2C_active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
34.6.19 I2S_CONF register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
34.6.20 I2S_CONF2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
34.6.21 I2S_CLK_CONF register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
34.6.22 Interrupt mask register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
34.6.23 Interrupt status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
34.7 Action memory content description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
34.7.1 Int block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
35 RS_Keyboard controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
35.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
35.2 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
35.2.1 General purpose input output interface . . . . . . . . . . . . . . . . . . . . . . . . 810
35.2.2 Keyboard interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
Doc ID 018672 Rev 1 31/844
Page 32
Contents RM0082
35.3 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
35.3.1 External signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
35.3.2 Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
35.3.3 Registers description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
36 RS_General Purpose Input Output (GPIO) . . . . . . . . . . . . . . . . . . . . . 815
36.1 Application Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
37 Power and clock management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
37.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
37.1.1 Power management techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
37.2 System control state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
37.2.1 SLEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
37.2.2 DOZE (reset state) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
37.2.3 SLOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
37.2.4 NORMAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
37.3 Dynamic frequency scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
37.4 Dynamic clock switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
37.5 Combining frequency scaling and clock switching techniques . . . . . . . . 821
37.6 Statiscally frequency selection and clock switching OFF . . . . . . . . . . . . 821
37.7 PLLs usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
37.8 Power consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
37.8.1 Modules power consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
37.8.2 IPs power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
38 BootROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
38.1 Boot Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
38.2 Booting Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
38.3 Hardware overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
38.3.1 eROM (Embedded ROM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
38.3.2 Shadow memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
38.3.3 System controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
38.4 Software overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
38.4.1 ARM processor modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
38.4.2 SoC peripheral interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
38.4.3 Memory Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
32/844 Doc ID 018672 Rev 1
Page 33
RM0082 Contents
38.4.4 X-Loader and U-boot Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
38.4.5 X-Loader and U-boot authentication . . . . . . . . . . . . . . . . . . . . . . . . . . 829
38.5 Boot flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
38.5.1 Serial NOR Flash boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831
38.5.2 NAND Flash boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
38.5.3 USB boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
38.5.4 Serial (UART) Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
38.5.5 Ethernet boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
39 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
Doc ID 018672 Rev 1 33/844
Page 34
List of Tables RM0082
List of Tables
Table 1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Table 2. Typographical conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Table 3. Master clock, RTC, Reset and 3.3 V comparator pin descriptions . . . . . . . . . . . . . . . . . . . 64
Table 4. Power supply pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 5. Debug pin descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 6. Serial memory interface (SMI) pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Table 7. USB pin descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Table 8. ADC pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 9. DDR pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Table 10. PL_GPIO pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Table 11. Booting pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Table 12. Available peripherals in each configuration mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Table 13. PL_GPIO multiplexing scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Table 14. Table shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Table 15. Ball sharing during debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Table 16. Main memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Table 17. Multi layer CPU subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Table 18. Low speed subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Table 19. Basic subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 20. High speed subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 21. Application subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 22. Reconfigurable array subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Table 23. Interrupt sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Table 24. Interrupt latency for different types of interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Table 25. VIC interrupt control registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Table 26. VIC vector address registers summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Table 27. VIC interrupt vector control registers summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Table 28. VIC identification registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Table 29. VICIRQSTATUS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Table 30. VICFIQSTATUS register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Table 31. VICRAWINTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Table 32. VICINTSELECT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Table 33. VICINTENABLE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Table 34. VICINTENCLEAR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Table 35. VICSOFTINT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Table 36. VICSOFTINTCLEAR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Table 37. VICPROTECTION register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Table 38. VICVECTADDR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Table 39. VICVECTCNTL registers bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Table 40. Peripheral identification registers bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Table 41. VICPERIPHID0 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Table 42. VICPERIPHID1 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Table 43. VICPERIPHID2 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Table 44. VICPERIPHID3 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Table 45. VICPCELLID0 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Table 46. VICPCELLID1 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Table 47. VICPCELLID2 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Table 48. VICPCELLID3 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
34/844 Doc ID 018672 Rev 1
Page 35
RM0082 List of Tables
Table 49. SoC interconnection matrix scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Table 50. SoC interconnection matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Table 51. ICM master layers (Initiator) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Table 52. ICM slaves (Targets) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Table 53. External memory Interface signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Table 54. Internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Table 55. Configured AHB settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Table 56. READ/WRITE data alignment - Little Endian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Table 57. READ/WRITE data alignment - Big Endian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Table 58. AHB-Memory controller translation example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Table 59. Round-Robin operation example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Table 60. Relative priority example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Table 61. Port ordering example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Table 62. System D specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Table 63. System D operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Table 64. System E specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Table 65. System E operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Table 66. System F specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Table 67. System F operation with priority relaxing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Table 68. System G specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Table 69. System G operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Table 70. Low power mode parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Table 71. Low power mode controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Table 72. Memory interface buses with Half Datapath option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Table 73. Delay parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Table 74. MT47H128M8-3 (DDR2@333 MHz cl5) initialization table. . . . . . . . . . . . . . . . . . . . . . . . 146
Table 75. MT46H6M16LF-6(Low Power DDR @166 MHz cl3) initialization table . . . . . . . . . . . . . . 147
Table 76. Parameter size to mapping conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Table 77. Registers overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Table 78. MEM0_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Table 79. MEM1_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Table 80. MEM2_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Table 81. MEM3_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Table 82. MEM4_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Table 83. MEM5_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Table 84. MEM6_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Table 85. MEM7_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Table 86. MEM8_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Table 87. MEM9_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Table 88. MEM10_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Table 89. MEM11_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Table 90. MEM12_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Table 91. MEM13_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Table 92. MEM14_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Table 93. MEM15_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Table 94. MEM16_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Table 95. MEM17_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Table 96. MEM18_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Table 97. MEM19_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Table 98. MEM20_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Table 99. MEM21_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Table 100. MEM22_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Doc ID 018672 Rev 1 35/844
Page 36
List of Tables RM0082
Table 101. MEM23_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Table 102. MEM24_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Table 103. MEM25_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Table 104. MEM26_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Table 105. MEM27_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Table 106. MEM28_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Table 107. MEM29_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Table 108. MEM30_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Table 109. MEM31_CTL/MEM32_CTL/MEM33_CTL register bit assignments . . . . . . . . . . . . . . . . . 171
Table 110. MEM34_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Table 111. MEM35_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Table 112. MEM36_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Table 113. MEM37_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Table 114. MEM38_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Table 115. MEM39_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Table 116. MEM40_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Table 117. MEM41_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Table 118. MEM42_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Table 119. MEM43_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Table 120. MEM44_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Table 121. MEM45_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Table 122. MEM46_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Table 123. MEM47_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Table 124. MEM48_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Table 125. MEM49_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Table 126. MEM50_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Table 127. MEM51_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Table 128. MEM52_CTL/MEM53_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Table 129. MEM54_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Table 130. MEM55_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Table 131. MEM56_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Table 132. MEM57_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Table 133. MEM58_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Table 134. MEM59_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Table 135. MEM60_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Table 136. MEM61_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Table 137. MEM62_CTL/MEM63_CTL/MEM64_CTL register bit assignments . . . . . . . . . . . . . . . . . 180
Table 138. MEM65_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Table 139. MEM66_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Table 140. MEM67_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Table 141. MEM68_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Table 142. MEM[69-97]_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Table 143. MEM[98-99]_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Table 144. MEM100_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Table 145. MEM101_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Table 146. MEM102_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Table 147. MEM103_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Table 148. MEM104_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Table 149. MEM105_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Table 150. MEM106_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Table 151. MEM107_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Table 152. MEM108_CTL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
36/844 Doc ID 018672 Rev 1
Page 37
RM0082 List of Tables
Table 153. Memory controller parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Table 154. Jitter at PLL output clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Table 155. APB interface signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Table 156. Miscellaneous register main memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Table 157. Miscellaneous local space registers overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Table 158. SoC_CFG_CTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Table 159. DIAG_CFG_CTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Table 160. PLL 1/2_CTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Table 161. PLL1/2_FRQ register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Table 162. PLL1/2_MOD register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Table 163. PLL_CLK_CFG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Table 164. CORE_CLK_CFG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Table 165. PRPH_CLK_CFG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Table 166. PERIP1_CLK_ENB register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Table 167. RAS_CLK_ENB register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Table 168. PRSC1/2/3_CLK_CFG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Table 169. AMEM_CFG_CTRL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Table 170. Clock Synthesizer input frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Table 171. Auxiliary clock synthesizer register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Table 172. PERIP1_SOF_RST register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Table 173. RAS_SOF_RST register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Table 174. Interconnection matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Table 175. ICM 1-9_ARB_CFG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Table 176. DMA_CHN_CFG register bit assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Table 177. USB2_PHY_CFG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Table 178. MAC_CFG_CTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Table 179. Powerdown_CFG_CTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Table 180. COMPSSTL_1V8_CFG/DDR_2V5_COMPENSATION register bit assignments. . . . . . . 244
Table 181. COMPCOR_3V3_CFG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Table 182. DDR_PAD register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Table 183. BIST1_CFG_CTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Table 184. BIST2_CFG_CTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Table 185. BIST3_CFG_CTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Table 186. BIST4_CFG_CTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Table 187. BIST1_STS_RES register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Table 188. BIST2_STS_RES register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Table 189. BIST3_STS_RES register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Table 190. BIST4_STS_RES register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Table 191. BIST5_RSLT_REG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Table 192. SYSERR_CFG_CTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Table 193. USB_TUN_PRM register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Table 194. Drive selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Table 195. Pull Up and Pull Down Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Table 196. Slew selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Table 197. PLGPIO0_PAD_PRG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Table 198. PLGPIO1_PAD_PRG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Table 199. PLGPIO2_PAD_PRG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Table 200. PLGPIO3_PAD_PRG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Table 201. PLGPIO4_PAD_PRG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Table 202. Miscellaneous global space registers overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Table 203. RAS_GPP1_IN register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Table 204. RAS_GPP2_IN register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Doc ID 018672 Rev 1 37/844
Page 38
List of Tables RM0082
Table 205. RAS_GPP_EXT_IN register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Table 206. RAS_GPP1_OUT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Table 207. RAS_GPP2_OUT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Table 208. RAS_GPP_EXT_OUT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Table 209. SSP signal interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Table 210. External CS selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Table 211. External pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Table 212. SSP registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Table 213. SSPCR0 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Table 214. SSPCR1 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Table 215. SSPDR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Table 216. SSPSR register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Table 217. SSPCPSR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Table 218. SSPIMSC register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Table 219. SSPRIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Table 220. SSPMIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Table 221. SSPICR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Table 222. SSPDMACR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Table 223. PHERIPHID0 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Table 224. PHERIPHID1 register bit assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Table 225. PHERIPHID2 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Table 226. PHERIPHID3 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Table 227. PCELLID0 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Table 228. PCELLID1 register bit assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Table 229. PCELLID2 register bit assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Table 230. PCELLID3 register bit assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Table 231. System controller control and status registers summary . . . . . . . . . . . . . . . . . . . . . . . . . 292
Table 232. System controller identification registers summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Table 233. SCCTRL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Table 234. SCIMCTRL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Table 235. SCIMSTAT register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Table 236. SCXTALCTRL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Table 237. SCPLLCTRL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Table 238. SMI supported instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Table 239. External pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Table 240. SMI registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Table 241. SMI_CR1 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Table 242. SMI_CR2 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Table 243. SMI_SR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Table 244. SMI_TR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Table 245. SMI_RR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Table 246. Watchdog module counter decremented . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Table 247. Watchdog control and status registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Table 248. Watchdog identification registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Table 249. WdogControl register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Table 250. WdogRIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Table 251. WdogMIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Table 252. WdogLock register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Table 253. External pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Table 254. GPT interface signal description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Table 255. Couple of GPTs registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Table 256. Timer_Control register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
38/844 Doc ID 018672 Rev 1
Page 39
RM0082 List of Tables
Table 257. PRESCALER configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Table 258. TIMER_STATUS_INT_ACK register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Table 259. TIMER_COMPARE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Table 260. TIMER_COUNT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Table 261. TIMER_REDG_CAPT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Table 262. TIMER_FEDG_CAPT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Table 263. GPIO signal interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Table 264. GPIO data direction register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Table 265. GPIO data register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Table 266. GPIO interrupt control registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Table 267. GPIO identification registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Table 268. GPIODIR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Table 269. GPIODATA register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Table 270. GPIOIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Table 271. GPIOIBE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Table 272. GPIOIEV register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Table 273. GPIOIE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Table 274. GPIORIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Table 275. GPIOMIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Table 276. GPIOIC register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Table 277. DMAC signal interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Table 278. DMAC global registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Table 279. DMAC channel registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Table 280. DMAC peripheral registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Table 281. DMAC cell identification registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Table 282. DMACIntStatus register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Table 283. DMACIntTCStatus register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Table 284. DMACIntTCClear register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Table 285. DMA ClntErrorStatus register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Table 286. DMACIntErrClr register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Table 287. DMACRawIntTCStatus register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Table 288. DMACRawIntErrorStatus register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Table 289. DMACEnbldChns register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Table 290. DMACSoftBReq register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Table 291. DMACSoftSReq register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Table 292. DMACSoftLBReq register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Table 293. DMACSoftLSReq register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Table 294. DMACConfiguration register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Table 295. DMACSync register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Table 296. DMACCnSrcAddr register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Table 297. DMACCnDestAddr register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Table 298. DMACCnLLI register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Table 299. DMACCnControl register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Table 300. DMAC Configuration register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Table 301. RTC functional registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Table 302. CONTROL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Table 303. STATUS register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Table 304. TIME register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Table 305. DATE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Table 306. ALARM TIME register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Table 307. ALARM DATE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Table 308. REG1MC registers bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Doc ID 018672 Rev 1 39/844
Page 40
List of Tables RM0082
Table 309. REG2MC register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Table 310. C3 device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Table 311. C3 components system register summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Table 312. C3 components system registers map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Table 313. AHB mapped registers for Master Interface (HIF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Table 314. AHB mapped registers for an Instruction Dispatcher (ID). . . . . . . . . . . . . . . . . . . . . . . . . 377
Table 315. AHB mapped registers for Channel (CH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Table 316. Channel ID Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Table 317. DES ECB start instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Table 318. DES ECB bit ‘a’ encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Table 319. DES ECB bit ‘b’ encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Table 320. DES CBC START Instruction Bit Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Table 321. DES ECB APPEND Instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Table 322. DES CBC Append Instruction Bit Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Table 323. DES registers map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Table 324. AES ECB START instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Table 325. AES ECB Bit ‘a’ encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Table 326. AES CBC START instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Table 327. AES CTR START instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Table 328. AES ECB APPEND instruction bit encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Table 329. AES CBC APPEND instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Table 330. AES CTR APPEND instruction bit encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Table 331. AES registers map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Table 332. HASH INIT Instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Table 333. HASH INIT Bit ‘aa’ encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Table 334. HASH APPEND Instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Table 335. HASH END Instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Table 336. HASH CONTEXT SAVE Instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Table 337. HASH CONTEXT RESTORE Instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Table 338. HMAC INIT Instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Table 339. HMAC APPEND Instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Table 340. HMAC END Instruction bit encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Table 341. HMAC CONTEXT SAVE Instruction bit encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Table 342. HMAC CONTEXT RESTORE instruction bit encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Table 343. UHH channel registers map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Table 344. External pin connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Table 345. UHC registers’ base address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Table 346. EHCI host controller capability registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Table 347. EHCI host controller operational registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Table 348. EHCI host controller auxiliary power well registers summary . . . . . . . . . . . . . . . . . . . . . . 419
Table 349. EHCI host controller specific registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Table 350. Host controller operational registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Table 351. HCCAPBASE register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Table 352. HCSPARAMS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Table 353. HCCPARAMS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Table 354. USBCMD register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Table 355. USBSTS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Table 356. USBINTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Table 357. FRINDEX register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Table 358. USBCMD register encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Table 359. PERIODICLISTBASE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Table 360. ASYNCLISTADDR register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
40/844 Doc ID 018672 Rev 1
Page 41
RM0082 List of Tables
Table 361. CONFIGFLAG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Table 362. PORTSC register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Table 363. INSNREG01 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Table 364. INSNREG03 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Table 365. INSNREG05 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Table 366. HcRevision register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Table 367. HcControl register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Table 368. HcCommandStatus register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Table 369. HcInterruptStatus register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Table 370. HcInterruptEnable register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Table 371. HcInterruptDisable register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Table 372. HcHCCA register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Table 373. HcPeriodCurrentED register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Table 374. HcControlHeadED register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Table 375. HcControlCurrentED register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Table 376. HcBulkHeadED register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Table 377. HcBulkCurrentED register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Table 378. HcDoneHead register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Table 379. HcFmInterval register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Table 380. HcFmRemaining register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Table 381. HcFmNumber register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Table 382. HcPeriodicStart register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Table 383. HcLSThreshold register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Table 384. HcRhDescriptorA register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Table 385. HcRhDescriptorB register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Table 386. HcRhStatus register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Table 387. HcRhPortStatus register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Table 388. Endpoints assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Table 389. SETUP data memory: status quadlet bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Table 390. Out data memory: buffer status quadlet bit assignments (for Non-Isochronous OUT). . . 480
Table 391. Out data memory: buffer status quadlet bit assignments (for Isochronous OUT). . . . . . . 481
Table 392. . . . . . . In data memory: buffer status quadlet bit assignments (for Non-Isochronous IN)482
Table 393. In data memory:buffer status quadlet bit assignments (for Isochronous) . . . . . . . . . . . . . 483
Table 394. Plug status register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Table 395. Plug pending register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Table 396. In endpoint-specific CSRs summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Table 397. Out endpoint-specific CSRs summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Table 398. Global CSRs summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Table 399. UDCl CSRs summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Table 400. Device configuration register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Table 401. Device control register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Table 402. Device status register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Table 403. Device interrupt register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Table 404. Device interrupt mask register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Table 405. Endpoint interrupt register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Table 406. Endpoint interrupt mask register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Table 407. Endpoint control register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Table 408. Endpoint status register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Table 409. Endpoint buffer size/received packet frame number register bit assignments . . . . . . . . . 501
Table 410. Endpoint maximum packet size/buffer size register bit assignments . . . . . . . . . . . . . . . . 503
Table 411. Endpoint SETUP buffer pointer register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . 503
Table 412. Endpoint data description pointer register bit assignments . . . . . . . . . . . . . . . . . . . . . . . 503
Doc ID 018672 Rev 1 41/844
Page 42
List of Tables RM0082
Table 413. Endpoint register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Table 414. Transmit descriptor 0 (TDES0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Table 415. Transmit descriptor 1 (TEDS1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Table 416. Transmit descriptor 2 (TDES2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Table 417. Transmit descriptor 3 (TDES3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Table 418. Receive descriptor 0 (RDES0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Table 419. Receive descriptor 1 (RDES1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Table 420. Receive descriptor 2 (RDES2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Table 421. Receive descriptor 3 (RDES3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Table 422. MAC-UNIV DMA registers summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Table 423. MAC-UNIV MAC global registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Table 424. MMC (MAC management counters) registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Table 425. Bus mode register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Table 426. Transmit poll demand register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Table 427. Receive poll demand register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Table 428. Receive descriptor list address register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . 524
Table 429. Transmit descriptor list address register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . 524
Table 430. Status register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Table 431. EB field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Table 432. TS filed bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Table 433. RS field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Table 434. NIS field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Table 435. AIS field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Table 436. Operation mode register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Table 437. TTC field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Table 438. RFD field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Table 439. RFA field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Table 440. RTC field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Table 441. Interrupt enable register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Table 442. Missed frame and buffer overflow counter register bit assignments. . . . . . . . . . . . . . . . . 533
Table 443. MAC configuration register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
Table 444. IFG field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Table 445. BL field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Table 446. MAC frame filter register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Table 447. PCF field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Table 448. MII address register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Table 449. CR field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Table 450. MII data register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Table 451. Flow control register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
Table 452. PLT field bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
Table 453. VLAN tag register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Table 454. 4 bit command registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Table 455. PMT CSR bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Table 456. Interrupt status register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Table 457. Interrupt mask register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
Table 458. MAC address0 high register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
Table 459. MAC Address0 low register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Table 460. MAC Address1 high register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Table 461. MAC address byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Table 462. MAC Address1 low register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Table 463. MMC control register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Table 464. MMC receive interrupt register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
42/844 Doc ID 018672 Rev 1
Page 43
RM0082 List of Tables
Table 465. MMC transmit interrupt register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Table 466. MMC receive interrupt mask register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
Table 467. GPIO signal interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Table 468. JPGC memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Table 469. JPGC codec core registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Table 470. JPGC codec controller registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Table 471. JPGC FIFO registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Table 472. JPGC internal memories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Table 473. JPGCreg0 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Table 474. JPGCreg1 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Table 475. JPGCreg2 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Table 476. JPGCReg3 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Table 477. JPGCreg4-7 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Table 478. JPGC control status register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Table 479. JPGC bytes from Fifo to core register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Table 480. JPGC bytes from core to Fifo register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Table 481. JPGCbust Count before Init register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Table 482. JPGC Fifo in register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Table 483. JPGC Fifo out register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Table 484. JPGCqmem memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Table 485. JPGCHuffMin memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Table 486. JPGC huffbase memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Table 487. JPGC huffsymb memory map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Table 488. JPGCDHTmem memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Table 489. JPGCHuffEnc memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Table 490. Location of AC huffman codes in JPGCHuffEnc memory . . . . . . . . . . . . . . . . . . . . . . . . 569
Table 491. Location of DC huffman codes in JPGCHuffEnc memory . . . . . . . . . . . . . . . . . . . . . . . . 570
Table 492. Settings of K,L and (N+1) parameters for SIR,MIR and FIR in baud rate generation unit 575
Table 493. Request signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Table 494. FIrDA controller interrupt summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Table 496. FIrDA controller control and status registers summary. . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Table 497. FIrDA controller data registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Table 498. FIrDA controller interrupt and DMA registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Table 499. IrDA_CON register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
Table 500. IrDA_CONF register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
Table 501. IrDA_PARA register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
Table 502. IrDA_DV register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Table 503. IrDA_STAT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
Table 504. IrDA_TFS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Table 505. IrDA_RFS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Table 506. IrDA_TXB register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Table 507. IrDA_RXB register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Table 508. IrDA_IMSC register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Table 509. IrDA_RIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Table 510. IrDA_MIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Table 511. IrDA_ICR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Table 512. IrDA_ISR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Table 513. IrDA_DMA register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Table 514. UART interrupt summary together with combined outputs . . . . . . . . . . . . . . . . . . . . . . . . 592
Table 515. UART base address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Table 516. UART data registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Table 517. UART error status/clear registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Doc ID 018672 Rev 1 43/844
Page 44
List of Tables RM0082
Table 518. UART control and status register summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Table 519. UART interrupts and DMA registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Table 520. UART identification register summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Table 521. UART data register summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Table 522. UARTRSR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Table 523. UARTECR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Table 524. UARTFR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
Table 525. UARTIBRD register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
Table 526. UARTFBRD register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
Table 527. Typical baud rate and divisors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Table 528. UARTLCR_H register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Table 529. Truth table for SPS, EPS and PEN bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Table 530. UARTCR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
Table 531. UARTIFLS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Table 532. UARTIMSC register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Table 533. UARTRIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Table 534. UARTMIS register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Table 535. UARTICR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Table 536. UARTDMACR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
Table 537. Meaning of UART modem input/output in DTE and DCE modes . . . . . . . . . . . . . . . . . . . 606
Table 538. First byte assignment in addressing slave protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
Table 539. I
2
C controller interrupt sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Table 540. External pin connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Table 541. I2C registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Table 542. IC_CON register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
Table 543. IC_TAR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
Table 544. IC_SAR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Table 545. IC_HS_MADDR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Table 546. IC_DATA_CMD register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Table 547. IC_SS_SCL_HCNT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
Table 548. IC_SS_SCL_HCNT sample calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
Table 549. IC_SS_SCL_LCNT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
Table 550. IC_SS_SCL_LCNT sample calculations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
Table 551. IC_FS_SCL_HCNT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
Table 552. IC_FS_SCL_HCNT sample calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
Table 553. IC_FS_SCL_LCNT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Table 554. IC_FS_SCL_LCNT sample calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Table 555. IC_HS_SCL_HCNT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Table 556. IC_HS_SCL_HCNT sample calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Table 557. IC_HS_SCL_LCNT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Table 558. IC_HS_SCL_LCNT sample calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Table 559. IC_INTR_STAT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Table 560. IC_INTR_MASK register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Table 561. IC_RAW_INTR_STAT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Table 562. IC_RX_TL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Table 563. IC_TX_TL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Table 564. IC_CLR_INTR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Table 565. Interrupt clearing registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Table 566. IC_ENABLE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Table 567. IC_STATUS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Table 568. IC_TXFLR and IC_RXFLR register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Table 569. IC_TX_ABRT_SOURCE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
44/844 Doc ID 018672 Rev 1
Page 45
RM0082 List of Tables
Table 570. IC_DMA_CR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Table 571. IC_DMA_TDLR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Table 572. IC_DMA_RDLR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Table 573. IC_COMP_PARAM register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Table 574. External pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Table 575. ADC registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Table 576. ADC_STATUS_REG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Table 577. Conversion data bits position in AVERAGE_REG (High Resolution = 0). . . . . . . . . . . . . 648
Table 578. Conversion data bits position in AVERAGE_REG (High Resolution = 1). . . . . . . . . . . . . 648
Table 579. SCAN RATE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Table 580. ADC_CLK_REG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Table 581. CHx CTRL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Table 582. CHx DATA register (normal mode) bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
Table 583. CHx DATA register (HIGH RESOLUTION mode bit assignments . . . . . . . . . . . . . . . . . . 651
Table 584. RAS address space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Table 585. FSMC address space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Table 586. APB address space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Table 587. RAS memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Table 588. RAS Register 1 description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Table 589. RAS Register 2 description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
Table 590. RAS Interrupt assignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Table 591. RAS DMA configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Table 592. Parallel NOR flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
Table 593. NAND Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
Table 594. FSMC Address Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
Table 595. FSMC control and timing registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Table 596. FSMC identification registers summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Table 597. GenMemCtrl(i) register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Table 598. GenMemCtrl_tim(i) register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
Table 599. GenMemCtrl_PC(i) register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Table 600. GenMemCtrl_Comm(i)/GenMemCtrl_Attrib(i) register bit assignments . . . . . . . . . . . . . . 671
Table 601. GenMemCtrlECCr(i) register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
Table 602. GenMemCtrlPeriphID0 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Table 603. GenMemCtrlPeriphID1 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Table 604. GenMemCtrlPeriphID2 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Table 605. GenMemCtrlPeriphID3 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Table 606. GenMemCtrlPeriphID3 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Table 607. GenMemCtrlPeriphID1 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Table 608. GenMemCtrlPCelllD2 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Table 609. GenMemCtrlPCelllD3 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Table 610. Signal interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Table 611. AHB master/Target interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
Table 612. SD2.0/SDIO2.0/MMC4.2 card interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
Table 613. System Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
Table 614. RAM Interface signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
Table 615. SDIO registers map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
Table 616. Register field types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
Table 617. SDMASysAddr register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Table 618. BLKSize register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Table 619. BLKCount register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
Table 620. ARG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
Table 621. TRMODE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
Doc ID 018672 Rev 1 45/844
Page 46
List of Tables RM0082
Table 622. Determination of transfer type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
Table 623. CMD register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Table 624. Relation between parameters and the name of response type . . . . . . . . . . . . . . . . . . . . 702
Table 625. RESP register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
Table 626. Response bit definition for each response type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
Table 627. BufDataPort register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
Table 628. PRSTATE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
Table 629. HOSTCTRL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
Table 630. PWRCTRL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
Table 631. BLKGAPCTRL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
Table 632. WKUPCTRL register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
Table 633. CLKCTRL register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
Table 634. TMOUTCTRL register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
Table 635. SWRES register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
Table 636. NIRQSTAT register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Table 637. Relation between transfer complete and data time out error . . . . . . . . . . . . . . . . . . . . . . 717
Table 638. Relation between command complete and time out error . . . . . . . . . . . . . . . . . . . . . . . . 718
Table 639. ERRIRQSTAT register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
Table 640. Relation between command CRC error end time out error. . . . . . . . . . . . . . . . . . . . . . . . 720
Table 641. NIRQSTATEN register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
Table 642. ERRIRQSTATEN register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
Table 643. NIRQSIGEN register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
Table 644. ERRIRQSIGEN register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
Table 645. ACMD12ERSTS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
Table 646. Relation between auto CMD12 CRC error and auto CMD12 timeout error . . . . . . . . . . . 724
Table 647. CAP1 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
Table 648. CAP2 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
Table 649. MAXCURR1 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
Table 650. MAXCURR2 register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
Table 651. Maximum current value definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
Table 652. ACMD12FEERSTS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
Table 653. FEERRINTSTS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
Table 654. ADMAERRSTS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
Table 655. ADMAERRSTS bits[1:0] definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
Table 656. ADMAADDR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
Table 657. 32 bit address ADMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
Table 658. 64 bit Address ADMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
Table 659. SPIIRQSUPP register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
Table 660. SLTIRQSTS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
Table 661. HCTRLVER register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
Table 662. CLCD signal interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
Table 663. LCD STN panel signal multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
Table 664. LCD TFT panel signal multiplexing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
Table 665. LBLP, DMA FIFO output bit 31 to bit 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
Table 666. LBLP, DMA FIFO output bit15 to bit 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
Table 667. BBBP, DMA FIFO output bit 31 to bit 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
Table 668. BBBP, DMA FIFO output bit15 to bit 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
Table 669. LBBP, DMA FIFO output bit 31 to bit 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
Table 670. LBBP, DMA FIFO output bit15 to bit 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
Table 671. RGB Mode data format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
Table 672. Palette data storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
Table 673. CLCD configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
46/844 Doc ID 018672 Rev 1
Page 47
RM0082 List of Tables
Table 674. Color palette register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Table 675. Identification register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Table 676. LCDTiming0 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
Table 677. LCDTiming1 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
Table 678. LCDTiming2 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
Table 679. LCDTiming3 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Table 680. LCDUPBASE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
Table 681. LCDLPBASE register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
Table 682. LCDIMSC register bit assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
Table 683. LCDControl register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756
Table 684. LCDRIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
Table 685. LCDMIS register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
Table 686. LCDICR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Table 687. LCDUPCURR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Table 688. LCDLPCURR register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Table 689. LCDPalette register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
Table 690. PHERIPHID0 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
Table 691. PHERIPHID1 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
Table 692. PHERIPHID2 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Table 693. PHERIPHID3 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Table 694. PCCELLIDIDO register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Table 696. PCELLIDID2 register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Table 698. Telecom block pin signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
Table 699. I2S interface pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
Table 700. Camera interface signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
Table 701. Telecom address map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
Table 702. Telecom registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
Table 703. Boot register (Offset 0x00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
Table 704. TDM_conf register (Offset 0x04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
Table 705. GPIO8_DIR register (Offset 0x08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
Table 706. GPIO10_DIR register (Offset 0x0C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
Table 707. GPIO8_out register (Offset 0x10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
Table 708. GPIO10_out register (Offset 0x14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
Table 709. GPIO8_in (Offset 0x18) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
Table 710. GPIO10_in register (Offset 0x1C). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
Table 711. IT_GEN register (Offset 0x24) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
Table 712. GPIOt register (Offset 0x28) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Table 713. GPIOtt register (Offset 0x2C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Table 714. PERS_time register (Offset 0x30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Table 715. PERS_data register (Offset 0x34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Table 716. TDM_timeselot_NBR register (Offset 0x38) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
Table 717. TDM_Frame_NBR register (Offset 0x3C). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
Table 718. TDM_SYNC_GEN register (Offset 0x40) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
Table 719. SPI_I2C_usage register (Offset 0x44) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
Table 720. SPI_I2C_active (Offset 0x48) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
Table 721. I2S_CONF register (Offset 0x4C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
Table 722. I2S_CONF2 register (Offset 0x6C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
Table 723. I2S_CLK_CONF register (Offset 0x50) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
Table 724. Interrupt mask register (Offset 0x54) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
Table 725. Dummy access address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
Table 726. Interrupt status register (Offset 0x58) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
Table 727. Action memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
Doc ID 018672 Rev 1 47/844
Page 48
List of Tables RM0082
Table 728. External signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
Table 729. Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
Table 730. MDCTRLREG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
Table 731. GPIODIRREG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
Table 732. .GPIODATAREG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
Table 733. STATUSREG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
Table 734. KBREG register bit assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
Table 735. Key-code table (hex values) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
Table 736. Power state for synchronous DRAM system (DRAM clocked by PLL1) . . . . . . . . . . . . . . 817
Table 737. Power state for asynchronous DRAM system (DRAM clocked by PLL2) . . . . . . . . . . . . . 818
Table 738. Techniques applicable in NORMAL state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
Table 739. Modules supporting DCS technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
Table 740. Power and current consumption for modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
Table 741. Delta power consumption for modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
Table 742. IP voltage usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
Table 743. Booting types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
Table 744. Command format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
Table 745. Device descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
Table 746. Configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
Table 747. Interface registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
Table 748. Bulk OUT endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
Table 749. Bulk In endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
Table 750. String descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
Table 751. Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
48/844 Doc ID 018672 Rev 1
Page 49
RM0082 List of figures
List of figures
Figure 1. SPEAr300 top view. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 2. SPEAr300 - Core architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figure 3. Multiplexing scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Figure 4. ARM926EJ-S block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Figure 5. VIC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Figure 6. ICM block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Figure 7. MPMC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Figure 8. Memory controller architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Figure 9. WRAPx effective transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Figure 10. Weighted round-robin priority group structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Figure 11. Memory map: Maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Figure 12. Alternate memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Figure 13. Clock generation scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Figure 14. Processor clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Figure 15. DDR Controller Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Figure 16. RAS block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Figure 17. I2S clock schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Figure 18. Telecom clock schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Figure 19. Main Crystal Connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Figure 20. RTC crystal connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Figure 21. Top view of miscellaneous registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Figure 22. SPI block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Figure 23. System controller block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Figure 24. System mode control state machine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Figure 25. SMI block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Figure 26. External SPI memory map in AHB address space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Figure 27. Watchdog module block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Figure 28. GPT block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Figure 29. GPIO block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Figure 30. GPIO signal interfaces diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Figure 31. GPIO interrupt triggering logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Figure 32. DMAC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Figure 33. DMAC signal interface diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Figure 34. DMAC-to-interrupt controller connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Figure 35. C3 block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Figure 36. UHC block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Figure 37. USB Host controller (UHOSTC) block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Figure 38. UDC-AHB subsystem block diagram within the USB 2.0 device . . . . . . . . . . . . . . . . . . . 464
Figure 39. UDC_Device block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Figure 40. RxFIFO implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Figure 41. Linked-list memory structure in DMA mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Figure 42. In transaction flow in DMA mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Figure 43. Out transaction flow in DMA mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Figure 44. In transaction flow in slave-only mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Figure 45. Out transaction flow in slave-only mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Figure 46. SETUP data memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Figure 47. Out data memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Figure 48. In data memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Doc ID 018672 Rev 1 49/844
Page 50
List of figures RM0082
Figure 49. UDC-AHB subsystem memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Figure 50. MAC-UNIV (MAC-AHB configuration) system-level block diagram . . . . . . . . . . . . . . . . . 506
Figure 51. DMA descriptor list: ring structure (left) and chain structure (right). . . . . . . . . . . . . . . . . . 509
Figure 52. DMA descriptor format (Transmit Descriptor, 32 bit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Figure 53. DMA descriptor format (Receive Descriptor, 32 bit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Figure 54. Interrupt management: sbd_intr_o and pmt_intr_o generation. . . . . . . . . . . . . . . . . . . . . 516
Figure 55. Wake-up frame filter registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Figure 56. Clocking scheme for MAC-AHB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Figure 57. JPGC signal interfaces diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Figure 58. JPGC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Figure 59. Dataflow block diagram of the FIrDA controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Figure 60. UART block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Figure 61. I
Figure 62. START and STOP conditions [from I
Figure 63. START byte procedure [from I
2
C controller functional block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
2
2
C-bus specification] . . . . . . . . . . . . . . . . . . . . . . . . 609
C-bus specification] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Figure 64. Multiple master arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Figure 65. Clock synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Figure 66. ADC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
Figure 67. FSMC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
Figure 68. SDIO controller pin diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Figure 69. Architectural block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Figure 70. SD card detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
Figure 71. SD clock supply sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Figure 72. Command issue sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
Figure 73. Command completion sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Figure 74. Data transaction sequence without DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
Figure 75. Data transaction sequence with SDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
Figure 76. Data transaction sequence with ADMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
Figure 77. Abort transaction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Figure 78. CLCD block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
Figure 79. Powering up and down sequences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
Figure 80. Power up & power down sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Figure 81. CLCD clock muxing scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
Figure 82. Telecom block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
Figure 83. TDM clock cell block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
Figure 84. SYNC0 (slave/master) and SYNC1 to SYNC3 possible shaping . . . . . . . . . . . . . . . . . . . 768
Figure 85. SYNC4 to SYNC7 generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
Figure 86. TDM cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
Figure 87. Illustration for TDM switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
Figure 88. Storage in memory during an odd switched frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
Figure 89. Storage in memory during an even switched frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
Figure 90. Various type of data carried by the TDM bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
Figure 91. Address generation and bank switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
Figure 92. Memory filling after 3 frames according narrowband cases . . . . . . . . . . . . . . . . . . . . . . . 774
Figure 93. Memory filling after 3 consecutive frames for two wideband cases . . . . . . . . . . . . . . . . . 775
Figure 94. Sample management on odd frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
Figure 95. Sample management on even frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
Figure 96. Read/write sequence during frame N of a buffer for a given channel. . . . . . . . . . . . . . . . 776
Figure 97. Buffer address generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
Figure 98. I2S data reception and transmission (8 bits) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
Figure 99. I2S data flow on 2*32 bit data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
Figure 100. DAC application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
50/844 Doc ID 018672 Rev 1
Page 51
RM0082 List of figures
Figure 101. DAC used with TDM at 8 kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
Figure 102. Camera interface block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
Figure 103. IT bus change and persistency supervision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
Figure 104. TDM CLK_GEN bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
Figure 105. I2S clock tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
Figure 106. Interrupt management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
Figure 107. Keyboard controller block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
Figure 108. Operative system control states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
Figure 109. Clock supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
Figure 110. Typical power consumption with DDR2 @ 333 MHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
Figure 111. Typical power consumption with DDR2 @ 166 MHz and mobile DDR. . . . . . . . . . . . . . . 823
Figure 112. Boot stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
Figure 113. Hardware memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
Figure 114. Boot flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831
Figure 115. Serial NOR Flash boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
Figure 116. NAND Flash boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
Figure 117. USB boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
Figure 118. Serial boot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
Figure 119. Ethernet boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
Doc ID 018672 Rev 1 51/844
Page 52
Acronyms RM0082
1 Acronyms
The below table contains acronyms and abbreviations that are used in this document.
Table 1. Acronyms
Terms Expansion
ADC Analog to Digital Convertor
AES Advanced Encryption Standard
AFE Analog Front End
ALU Arithmetic Logic Unit
ASIC Application Specific Integrated Circuit
AS Application Subsystem
AMBA Advanced Micro controller Bus Architecture
AHB AMBA High speed Bus
APB Advanced Peripheral Bus
BIST Built-In Self Test
BS Basic Subsystem
CBC Cipher Block Chaining
CTR Counter
CMOS Complimentary Metal-Oxide Semiconductor.
CRC Cyclic Redundancy Check
DAC Digital to Analog Convertor
DES Data Encryption Standard
DLL Data Link Layer
DMA Direct Memory Access
DDR Double Data Rate
ECB Electronic Code Book
EHCI Enhanced Host Controller Interface
FIFO First-In-First-Out
FPGA Field Programmable Gate Array
FSMC Flexible Static Memory Controller
GPIO General Purpose Input Output
HS High speed Subsystem
IEEE Institute of Electrical and Electronics Engineers
ISO Isochronous
JPEG Joint Photographic Experts Group
JTAG Joint Test Action Group
52/844 Doc ID 018672 Rev 1
Page 53
RM0082 Acronyms
Table 1. Acronyms (continued)
Terms Expansion
LIFO Last-In-First-Out
LS Low speed Subsystem
LSB Least Significant Bit
MAC Media Access Control
MCU Micro-Controller Unit
MD-5 Message Digest 5
MMU Memory Management Unit
MSB Most Significant Bit
OHCI Open Host Controller Interface
PHY Physical layer
RAM Random Access Memory
RAS Reconfigurable Array Subsystem
RF Radio Frequency
RFU Reserved for Future Use
RISC Reduced Instruction Set Computing
ROM Read Only Memory
RTC Real Time Clock
RX Receive
SDIO Secure Digital Input Output
SHA-1 Secure Hash Algorithm
SoC System-on-Chip
SPEAr Structured Processor Enhanced Architecture
SMI Serial Memory Interface
SSP Synchronous Serial Peripheral
TCM Tightly Coupled Memory
TX Transmit
UART Universal Asynchronous Receiver Transmitter
USB Universal Serial Bus
VIC Vectored Interrupt Controller
WDT Watchdog Timer
Doc ID 018672 Rev 1 53/844
Page 54
Preface RM0082
2 Preface
2.1 Terms & conditions
The following terms are used hereafter in this document.
● Reserved - All reserved or unused bits of registers must be written as zero, and ignored
on read unless otherwise stated in the relevant text.
2.2 Conventions
2.2.1 Numbering
The following convention of stating constant numbers is used in this document:
● [<size in bits>]’<base><number>
where:
● <size in bits>: (optional) width of bits field associated to <number>
● <base>: “b” for binary, ‘h” for hexadecimal, “o” for octal, “d” for decimal
● <number>: value of constant number, according to <base>
Examples:
‘d19 unsized decimal value
8’h2C 8 bit wide hexadecimal value of 0x2C, corresponding to b00101100
8’b011001 8 bit wide binary value of b00011001
32’hFFFF 32 bit wide hexa decimal value of 0xFFFF, corresponding to
b00000000000000001111111111111111
2.2.2 Bits
The conventions below apply to description of both bit and registry field hereafter in this
document:
● a bit is defined as “set” when its value is set to ‘b1.
● a bit is defined as “cleared” when its value is set to ‘b0.
2.2.3 Typographical
The following typographical conventions are used hereafter in this document:
Table 2. Typographical conventions
Typographic format Meaning
italic Highlights notes
bold
MONOSPACE CAPITAL BOLD Indicates signal names.
54/844 Doc ID 018672 Rev 1
Highlights important terms, definitions and names of registry
field.
Page 55
RM0082 Reference documentation
3 Reference documentation
1. ARM926EJ-S – Technical reference manual
2. AMBA specification (ARM IHI 0011A), rev. 2.0
3. USB 2.0 specification
4. OHCI specification
5. EHCI specification
6. ISO/IEC 10918-1 (International Organization for Standardization)
Doc ID 018672 Rev 1 55/844
Page 56
Product overview RM0082
4 Product overview
4.1 Device overview
An outline picture of the main SPEAr300 functional interfaces is shown in Figure 1 .
Figure 1. SPEAr300 top view
USB Devi ce
USB2 Host
DDR2/ DDR Low
Power
GPI O
TDM/BUS
I2S
Camera I /F
CLCD
Keyboard
I2C
SSP
UART
IrDA
ADC
SPEAr 300
Serial Fl ash Interface
(SMI)
SDIO I/F
FSMC
MII I/F
56/844 Doc ID 018672 Rev 1
Page 57
RM0082 Product overview
4.1.1 Main features
The following main functionalities are implemented in SPEAr300 embedded MPU device:
● ARM926EJ-S core @333 MHz, 16+16 KB-I/D cache, configurable TCM-I/D size, MMU,
TLB, JTAG and ETM trace module (multiplexed interfaces).
● Dynamic power saving features.
● High performance linked list 8-channel DMA.
● Multi-port memory controller: 8/16 bit mobileDDR@166 MHz or DDR2@333 MHz.
● USB2.0 Host (High-Full-Low speed); integrated PHY transceiver.
● USB2.0 Device (High-Full speed); integrated PHY transceiver.
● Ethernet 10/100 MAC with MII Interface (IEEE-802.3)
● I2C (High-Fast-Low speed) Master/Slave.
● Cryptographic co-processor (C3).
● IrDA controller with a data rate from 9.6 Kbps to 4 Mbps.
● Touchscreen support (using ADC).
● RTC - WDT - SYSCTR - MISC internal control registers.
● ADC (1us/1MSPS) 8 analog input channels; 10 bit resolution.
● JPEG codec accelerator single clock per pixel encoding decoding.
● 6 x 16 bits general purpose Timers with programmable prescaler (only 4 timers with
capture mode).
● 32KB ROM & up to 56 KB internal SRAM
● Flexible static memory controller (FSMC) up to 16 bit data bus width, supporting
external asynchronous SRAM, NAND/NOR Flash.
● 3 x SPI Master/Slave (Motorola-Texas_National) Master/Slave up to 50 Mbps.
● SDIO interface supporting SPI, SD1, SD4 and SD8 mode with card detect, write
protect, LED.
● I2S interface, full duplex with data buffer for left and right channels allowing up to 64 ms
of voice buffer (for 32 bit samples). The I2S and SDIO interfaces share the same RAM
resources.
● UART with HW flow control (speed rate up to 3 Mbps)
● Up to 512 timeslots, master or slave TDM. Any input timeslot can be switched to any
output timeslot, and/or can be buffered for computation (up to 16 channels of 1 to 4
timeslots buffered during 32 ms). Up to 16 buffers can be played in output timeslots.
● Up to 8 additional I2C/SPI chip selects.
● Camera interface ITU-601 with external or embedded synchronization (ITU-656 or
CSI2). Picture limit is given by the line length that must be stored in a 2048*32 buffer.
● Color LCD Controller, supports up to 1024X768 resolution, 24 bpp true colour,
STN/TFT display panels.
● 9 x 9 keyboard controller.
● 18 GPIOs for CODEC (up to 8 quad CODECS) & SLIC management.
● 1 bit DAC
● Up to 62 GPIOs (multiplexed with peripheral I/Os), up to 22 with interrupt capability.
● Possible NAND / NOR Flash booting.
● 8/16 bits parallel Flash interface allowing connection of NOR or NAND Flash.
Doc ID 018672 Rev 1 57/844
Page 58
Product overview RM0082
4.2 Architecture properties
● Power save features:
– Operating frequency SW programmable.
– Clock gating functionality.
– Low frequency operating mode.
– Automatic power saving controlled from application activity demands.
● Architecture easily extensible.
● External memory bandwidth of each master tuneable to meet the target performances
of different applications.
58/844 Doc ID 018672 Rev 1
Page 59
RM0082 Product overview
4.3 System architecture overview
4.3.1 Core architecture
The internal architecture is based on several-shared subsystem logics interconnected
through a multilayer interconnection matrix as shown in the Figure 2.
Figure 2. SPEAr300 - Core architecture overview
12
Debug
Master
clock
2
Master
1
reset
5
0÷6
2
Oscillator
0÷8
JTAG/ETM9
Basic subsystem
System
Ctrl
Flash
serial
GPIO
RTC
Timer
Timer
DMA
8 chan.
ROM
32KB
Misc.
WDT
ARM926EJS
B
16+16KB-I/D Cache
Coprocessor
TCM-I/D
1
3
4 1
3-
Multi- layer AHB interconnect matrix
2
12
1-
3
3
7-
8- 5
2
4
CPU
s ub system
Int.Ctrl
6
6-
7
ARM
SPEAr300
Timer
GPIO
cf
SDRAM
g
Ctrl DDR1-2
M
0
M
2
5-
9- 4
1
12(
2-
4)
0
1
4-
5
7 6
2
2
3
-6
M
M3M
1
4
High Speed
56
DDR
subsystem
0÷2
0÷2
0÷7
0÷6
10
8 ch.
Low Speed
subsystem
RAM
8KB
JPEG
codec
IrDA
I2C
SPI
Uart
ADC
D
74.5kB RAM
Cuts:
Half Dual Port
(AHB wired):
2048 * 32 * 1
Dual Port:
96 *128 * 1
1024 * 32 * 4
128 * 8 * 8
Single Port:
2048 * 32 * 2
1024 * 32 * 2
512 * 32 * 4
2048 * 8 * 8
Words num.
bits wide
instances number
Q P M
I E
F L
H
G
Reconfigurable Array Subsystem
(RAS)
- TDM/BUS (512 timeslots)
- Upto 8 addii tonal I2C/SPI
chip selects
- I2S
- Camera
- SDIO
- TFT/STN CLCD controller
- FSMC
- Keyboard
- GPIO
R econfigurable
Array
S
ubsystem
RI-O
102
A
USB 2.0
USB 2.0
USB 2.0
device
Ethernet
C
Application
subsystem
host
host
Mac
C3
4 USB
Host
4
USB
Host
3
USB
device
0/18
to PHY
98 GPIO, 4clk
MII
The switch matrix structure allows different subsystem dataflows to be executed in parallel
improving the core platform efficiency.
High performance master agents are directly interconnected with the memory controller
reducing the memory access latency. Three different memory paths (two of them shared
with other masters) are reserved for the programmable logic to enhance the user application
Doc ID 018672 Rev 1 59/844
Page 60
Product overview RM0082
throughput. The overall memory bandwidth assigned to each master port can be
programmed and optimized through an internal efficient weighted round-robin arbitration
mechanism.
4.4 CPU subsystem
● ARM926EJ-S running at 333 MHz with:
– MMU
– 16 Kbyte of instruction cache
– 16 Kbyte of data cache
– AMBA bus interface
–J T A G
– ETM9 (embedded trace macro-cell) for debug, large size version.
● Local timer (two channels)
● Interrupt controller managing sources which are prioritized and vectorized.
4.5 Multilayer bus matrix
The bus matrix has seven master inputs: two DMA inputs, and one input each for the
Reconfigurable Array Subsystem (RAS) block, Ethernet controller, USB device, USB host
controller and C3. There are ten slave outputs connected to almost all the system blocks:
Low Speed Subsystem, Application Subsystem, Basic Subsystem, High Speed Subsystem,
DDR Controller Port-2, RAS-F, RAS-G, RAS-I and two DDR Controller Port - 3.
4.6 Dynamic memory controller
This is a multi-port memory controller able to manage DDR mobile up to 166 MHz and
DDR2 up to 333 MHz external memory. Internally, it handles 5 ports supporting the following
masters:
● CPU
● Reconfigurable Array Subsystem (RAS)
● RAS block and one DMA channel through the multilayer bus matrix
● Ethernet MAC muxed with USB 2.0 device, C3 accelerator and the RAS block.
● USB 2.0 Host controller muxed with C3 accelerator
as well as the configuration port that can be accessed by the CPU or by the RAS logic
through the multilayer bus matrix.
The multi-port memory controller block has a programmable arbitration scheme and the
transactions happen on a different layer from the main bus. It also offers a local FIFO to
increase the throughput and reduce the latency.
60/844 Doc ID 018672 Rev 1
Page 61
RM0082 Product overview
4.7 Basic subsystem
● Eight high performance DMA channels with two AHB interfaces to parallelize the
activity when two channels are working at the same time.
● 32 Kbyte of ROM.
● Serial Flash interface capable of working up to 50 Mbps.
● Four timers with programmable prescaler.
● Watchdog timer.
● RTC with separate power supply allowing battery connection
● Upto 6 GPIOs bidirectional signals with interrupt capability
● System controller and miscellaneous registers array allowing a full configurability of the
system.
4.8 High speed connectivity subsystem
● Ethernet MAC controller that can support 10/100 Mbps with external PHY.
● One USB host controller compatible with USB 2.0 high-speed specification managing
two ports. The peripheral has dedicated channel to the multi-port memory controller
and two slave ports for CPU programming (OHCI and EHCI). The PHYs are
embedded. One host controller at a time can perform high speed transfer.
● One USB device compatible with USB 2.0 high-speed specifications.
A dedicated channel connects the peripheral with the multi-port memory controller and
registers and internal FIFO are accessible from the CPU through the main AHB bus.
An USB-Plug detector block is also available to detect the presence of the VBUS
voltage.
The port is provided with sixteen physical endpoints and proper configurations to
achieve logical endpoints.
4.9 Low speed connectivity subsystem
● One UART with a data rate up to 3 Mbps.
● IrDA controller with a data rate from 9.6 Kbps to 4 Mbps.
● One Synchronous Serial Peripheral (SSP) controller capable of operating in master
and slave (Motorola-Texas-National) with a data rate up to 40 Mbps.
● One I
● JPEG CODEC accelerator (1clk per pixel).
● 57 Kbyte of static RAM.
● ADC converter (1 µs/1 MSPS) with 8 analog input channels, 10 bit approximation.
2
C controller capable of operating in master and slave mode and covering all the
possible speeds (data rates) (high, fast and low).
Doc ID 018672 Rev 1 61/844
Page 62
Product overview RM0082
4.10 Application subsystem
Channel Control Coprocessor ( C3) that offers the following main features:
● High performance DMA based co-processor enabling the acceleration of data-driven
computationally expensive functions, such as: Cryptography, Pattern matching, Signal
Processing, etc.
● Highly programmable (instruction driven) controller.
● Four Instruction Dispatchers.
● Four hardware accelerators channels with in/out FIFO inside.
● 64 KB of internal RAM for low latency accesses.
● Coupling/Chaining Module (internal cross- bar) for inter channel direct high-speed
communications, up to 8 paths.
● Cryptographic channels library that includes:
● AES with ECB, CBC, CTR modes.
● Mode Programmable AES.
● DES/3DES with ECB, CBC modes.
● MD5, SHA-1, SHA256 with HMAC.
4.11 Reconfigurable logic array subsystem
The SPEAr300 also includes certain specific functions:
● 8/16 bits parallel Flash interface allowing connection of NOR or NAND Flash and
asynchronous SRAM.
● Possible NAND Flash or parallel NOR Flash booting.
● Color LCD Controller, supports upto 1024 x 768 resolution, 24 bpp true colour,
STN/TFT display panels.
● SDIO interface supporting SPI, SD1, SD4 and SD8 mode with card detect, write
protect, LED.
● 9 x 9 keyboard controller.
● Upto 62 GPIOs (multiplexed with peripheral I/Os), up to 22 with interrupt capability.
● Up to 512 timeslots, master or slave TDM. Any input timeslot can be switched to any
output timeslot, and/or can be buffered for computation (up to 16 channels of 1 to 4
timeslots buffered during 32 ms). Up to 16 buffers can be played in output timeslots.
● 18 GPIOs for CODEC (up to 8 quad CODECS) & SLIC management.
● 1 bit DAC.
● I2S interface, full duplex with data buffer for left and right channels allowing up to 64ms
of voice buffer (for 32 bit samples).
Note: The I2S and SDIO interfaces share the same RAM resources.
● Camera interface ITU-601 with external or embedded synchronization (ITU-656 or
CSI2). Picture limit is given by the line length that must be stored in a 2048*32 buffer.
● Upto 8 additional I
2
C/SPI chip selects.
62/844 Doc ID 018672 Rev 1
Page 63
RM0082 Product overview
4.12 Clock and reset system
● The system clocks are generated by three PLLs:
– Two of them are fully programmable (the first one generates the clock for CPU and
AMBA system; instead the second one generates the clock for the RAS block and
for the DDR Memory interface. Both the PLLs offer an EMI reduction mode
(Dithering) than can replace all traditional drop methods for Electro-Magnetic
Interference.
– The third PLL generates the clock for USB controllers.
● Several synthesizers provide different frequencies for the various IPs.
● Fully programmable control of clock and reset signals for all the slave blocks allowing
sophisticated power management.
Doc ID 018672 Rev 1 63/844
Page 64
Pin description RM0082
5 Pin description
The following tables describe the pinout of the SPEAr300 listed by functional block.
List of abbreviations:
PU = Pull Up
PD = Pull Down
5.1 Required external components
● DDR_COMP_1V8: place an external 121 k resister between ball P4 and ball R4
● USB_TX_RTUNE: connect an external 43.2 pull-down resistor to ball k5
● DIGITAL_REXT: place an external 121 k resistor between ball G4 and ball F4
5.2 Dedicated pins
Table 3. Master clock, RTC, Reset and 3.3 V comparator pin descriptions
Group Signal name Ball Direction Function Pin type
MCLK_XI P1 Input
Master Clock
MCLK_XO P2 Output
RTC
Reset MRESET#
3.3 V Comp.
1. The minimum time for which MRESET should be low to reset the device is 1 millisecond.
RTC_XI E2 Input 32 kHz crystal in
RTC_XO E1 Output 32 kHz crystal out
DIGITAL_REXT G4 Output Configuration Analog, 3.3 V capable
DIGITAL_GND_REX F4 Power Power Power
(1)
Ω
Ω
Ω
24 MHz (typical)
crystal in
24 MHz (typical)
crystal out
M17 Input Main Reset
Oscillator 2.5 V
capable
Oscillator 1.5 V
capable
TTL Schmitt trigger
input buffer, 3.3 V
tolerant
Table 4. Power supply pin description
Group Signal name Ball Value
G6, G7, G8, G9, G10, G11, H6, H7, H8, H9,
DIGITAL GROUND GND
ANALOG GROUND AGND F2, G1, J2, L1, L3, L5, N2, N4, P3, R3,N12 0 V
I/O
CORE VDD F8, F9, G12, H5, H12, J5, L11, M6, M7, M11 1.2 V
64/844 Doc ID 018672 Rev 1
VDD3
H10, H11, J6, J7, J8, J9, J10, J11, K6, K7,
K8, K9, K10, K11, L6, L7, L8, L9, L10, M8,
M9, M10
F5, F6, F7, F10, F11, F12, G5, J12, K12,
L12, M12
0 V
3.3 V
Page 65
RM0082 Pin description
Table 4. Power supply pin description (continued)
Group Signal name Ball Value
HOST0_VDDbc L2 2.5 V
USB HOST0 PHY
HOST0_VDDb3 K4 3.3 V
HOST0_VDDbs M3 1.2 V
HOST1_VDDbc K3 2.5 V
USB HOST1 PHY
HOST1_VDDb3 J1 3.3 V
HOST1_VDDbs M3 1.2 V
DEVICE_VDDbc N1 2.5 V
USB DEVICE PHY
DEVICE_VDDb3 N3 3.3 V
HOST0_VDDbs M3 1.2V
MCLK_VDD R1 1.2V
OSCI (master clock)
MCLK_VDD2v5 R2 2.5 V
PLL1 DITH1_AVDD G2 2.5 V
PLL2 DITH2_AVDD M4 2.5 V
DDR I/O SSTL_VDDe M5, N5, N6, N7, N8, N9, N10, N11 1.8 V
ADC ADC_AVDD N13 2.5 V
OSCI RTC RTC VDD F1 1.5 V
Table 5. Debug pin descriptions
Group Signal name Ball Direction Function Pin type
DEBUG
TEST_0 K16
TEST_1 K15
TEST_2 K14
TEST_3 K13
TEST_4 J15
BOOT_SEL J14
Input
Test[4:0]
configuration
ports. For
functional mode,
they have to be
set to 00110.
Reserved, to be
fixed at high level
nTRST L16 Input Test reset input
TDO L15 Output Test data output
TCK L17 Input Test clock
TDI L14 Input Test data input
TMS L13 Input Test mode select
TTL input buffer,
3.3 V tolerant, PD
TTL Schmitt
trigger input
buffer, 3.3 V
tolerant, PU
TTL output buffer,
3.3 V capable 4
mA
TTL Schmitt
trigger input
buffer, 3.3 V
tolerant, PU
Doc ID 018672 Rev 1 65/844
Page 66
Pin description RM0082
Table 6. Serial memory interface (SMI) pin description
Group Signal name Ball Direction Function Pin type
SMI_DATAIN M13 Input
SMI_DATAOUT M14 Output
SMI
SMI_CLK N17 I/O Serial Flash clock
SMI_CS_0 M15
SMI_CS_1 M16
Table 7. USB pin descriptions
Output
Serial Flash input
data
Serial Flash
output data
Serial Flash chip
select
TTL Input Buffer
3.3 V tolerant, PU
TTL output buffer
3.3 V capable 4
mA
Group Signal name Ball Direction Function Pin type
USB DEV
DEV_DP M1
I/O
DEV_DM M2 USB Device D-
DEV_VBUS G3 Input
HOST1_DP H1
I/O
HOST1_DM H2 USB HOST1 D-
USB Device D+ Bidirectional
analog buffer 5 V
tolerant
USB Device
VBUS
TTL input buffer
3.3 V tolerant, PD
USB HOST1 D+ Bidirectional
analog buffer 5 V
tolerant
TTL output buffer
HOST1_VBUS H3 Output USB Host1 VBUS
3.3 V capable, 4
mA
USB HOST
HOST1_OVRC J4 Input
HOST0_DP K1
USB Host1
Over-Current
USB Host0 D+ Bidirectional
I/O
HOST0_DM K2 USB Host0 D-
TTL input buffer
3.3 V tolerant, PD
analog buffer 5 V
tolerant
TTL output buffer
HOST0_VBUS J3 Output USB Host0 VBUS
3.3 V capable, 4
mA
HOST0_OVRC H4 Input
USB Host0
Over-current
TTL Input Buffer
3.3 V tolerant, PD
USB_TXRTUNE K5 Output Reference resistor Analog
USB_ANALOG_T
EST
L4 Output
Analog Test
Output
Analog
66/844 Doc ID 018672 Rev 1
Page 67
RM0082 Pin description
Table 8. ADC pin description
Group Signal name Ball Direction Function Pin type
AIN_0 N16
AIN_1 N15
AIN_2 P17
ADC
AIN_3 P16
ADC analog input channel
AIN_4 P15
Input
AIN_5 R17
AIN_6 R16
AIN_7 R15
ADC_VREFN N14 ADC negative voltage reference
ADC_VREFP P14 ADC positive voltage reference
Analog buffer
2.5 V tolerant
Doc ID 018672 Rev 1 67/844
Page 68
Pin description RM0082
Table 9. DDR pin description
Group Signal name Ball Direction Function Pin type
DDR_ADD_0 T2
DDR_ADD_1 T1
DDR_ADD_2 U1
DDR_ADD_3 U2
DDR_ADD_4 U3
DDR_ADD_5 U4
DDR_ADD_6 U5
DDR_ADD_7 T5
DDR_ADD_8 R5
DDR_ADD_9 P5
DDR_ADD_10 P6
DDR_ADD_11 R6
DDR
DDR_ADD_12 T6
DDR_ADD_13 U6
Output Address Line
SSTL_2/SSTL_18
DDR_ADD_14 R7
DDR_BA_0 P7
Output Bank select DDR_BA_1 P8
DDR_BA_2 R8
DDR_RAS U8 Output Row Add. Strobe
DDR_CAS T8 Output Col. Add. Strobe
DDR_WE T7 Output Write enable
DDR_CLKEN U7 Output Clock enable
DDR_CLK_P T9
Output Differential clock
DDR_CLK_N U9
Differential
SSTL_2/SSTL_18
68/844 Doc ID 018672 Rev 1
Page 69
RM0082 Pin description
Table 9. DDR pin description (continued)
Group Signal name Ball Direction Function Pin type
DDR
DDR_CS_0 P9
DDR_CS_1 R9
DDR_ODT_0 T3
DDR_ODT_1 T4
DDR_DATA_0 P11
DDR_DATA_1 R11
DDR_DATA_2 T11
DDR_DATA_3 U11
DDR_DATA_4 T12
DDR_DATA_5 R12
DDR_DATA_6 P12
DDR_DATA_7 P13
DDR_DQS_0 U10
DDR_nDQS_0 T10
DDR_DM_0 U12 Output Lower Data Mask
DDR_GATE_0 R10 I/O Lower Gate Open
DDR_DATA_8 T17
DDR_DATA_9 T16
DDR_DATA_10 U17
DDR_DATA_11 U16
DDR_DATA_12 U14
DDR_DATA_13 U13
DDR_DATA_14 T13
Output Chip Select
On-Die
I/O
I/O
Output
I/O
Termination
Enable lines
Data Lines
(Lower byte)
Lower Data
Strobe
Data Lines
(Upper byte)
SSTL_2/SSTL_18
Differential
SSTL_2/SSTL_18
SSTL_2/SSTL_18
DDR_DATA_15 R13
DDR_DQS_1 U15
DDR_nDQS_1 T15
DDR_DM_1 T14
DDR_GATE_1 R14 Upper Gate Open
DDR_VREF P10 Input Reference Voltage Analog
DDR_MEM_COM
P_GND
DDR_MEM_COM
P_REXT
DDR2_EN J13 Input Configuration
R4 Power
P4 Power Ext. Resistor Analog
Doc ID 018672 Rev 1 69/844
I/O
I/O
Upper Data
Strobe
Upper Data Mask
Return for Ext.
Resistors
Differential
SSTL_2/SSTL_18
SSTL_2/SSTL_18
Power
TTL Input Buffer
3.3 V Tolerant, PU
Page 70
Pin description RM0082
5.3 Shared I/O pins (PL_GPIOs)
SPEAr300 devices feature, in the Reconfigurable Array Subsystem (RAS), specific sets of
IPs as well as groups of software controllable GPIOs (that can be used alternatively). In the
SPEAr300 the following IPs are implemented in the RAS:
● FSMC NAND/NOR Flash interface
● GPIO/Keyboard controller
● 8-bit camera interface
● CLCD controller interface
● Digital-to-analog converter (DAC)
● I2S
● 4 SPI/I2C control signals
● TDM block
● SDIO interface
● GPIOs
The 98 PL_GPIO and 4 PL_CLK pins have the following characteristics:
– Output buffer: TTL 3.3 V capable up to 10 mA
– Input buffer: TTL, 3.3 V tolerant, selectable internal pull up/pull down (PU/PD)
The PL_GPIOs can be configured in 13 different modes. This allows SPEAr300 to be
tailored for use in various applications, see Section 30.1
5.3.1 PL_GPIO pin description
Table 10. PL_GPIO pin description
Group Signal name Ball Direction Function Pin type
PL_GPIO_97...
PL_GPIO_0
PL_GPIOs
PL_CLK1...
PL_CLK4
5.3.2 Alternate functions
Other peripheral functions are listed in the Alternate Functions column of Ta bl e 1 3:
PL_GPIO multiplexing scheme and can be individually enabled/disabled via RAS register 1.
5.3.3 Boot pins
(see the
section
Ta bl e 1 3 )
I/O
General
purpose I/O or
multiplexed pins
(see the section
Ta bl e 1 3)
programmable
logic external
clocks
(see the
introduction of
the Section 5.3
here above)
The status of the boot pins is read at startup by the BootROM.
70/844 Doc ID 018672 Rev 1
Page 71
RM0082 Pin description
Table 11. Booting pins
B3-B0 Boot device
0000 USB Device
0001 ETH - MAC address in I2C
0010 ETH - MAC address in SPI
0011 Serial NOR
0100 Parallel NOR 8bit (FSMC)
0101 Parallel NOR 16bit (FSMC)
0110 Nand 8bit
0111 Nand 16bit
1010 UART
Note: Other combinations are reserved.
5.3.4 GPIOs
Some PL_GPIO pins can be used as software controlled general purpose I/Os (GPIOs).
● 6 base GPIOs can be enabled as alternate functions on PL_GPIO.
● 18 GPIO are provided by the RAS IPs G8 and G10 on PL_GPIO.
● 18 GPIOs are available if the GPIO/ keyboard controller is configured in GPIO mode
5.3.5 Multiplexing scheme
The two multiplexers shown in Figure 3. are controlled by different registers. The first
multiplexer selects the I/O functions of the RAS IPs in one of 13 modes shown in
“Configuration mode” columns in Tab le 13 ). This selection is programmable via 4 bits in RAS
register 2.
The second multiplexer is controlled by RAS register 1 and allows you to enable the I/O
functions shown in alternate functions column of Ta b le 13 .
Doc ID 018672 Rev 1 71/844
Page 72
Pin description RM0082
Figure 3. Multiplexing scheme
Alternate functions
RAS IP configuration mode 1
PL_GPIO
RAS IP configuration mode 13
16 bits
4 bits
RAS Register 2
RAS Register 1
72/844 Doc ID 018672 Rev 1
Page 73
RM0082 Pin description
Table 12. Available peripherals in each configuration mode
GPIOs
FSMC
Modes
16-bit
1
NAND
16-bit
2
NOR
16-bit
3
NAND
4 81 1 8 89 * 96 23 881 241 4
5 4111 289 * 94 23 8 4 14
6 81 1 8 8 9*9 58 38 8 8 4 14
7 4111 289 * 94 23 8 4 14
8-bit
8
NOR
8-bit
NAND
9
/NOR
SPI/I2C
Boot pins
4
4
8 84 44 24 8 8 4 14
81 1 44 42 24 8 8 2 14
I2S
Multi slave control
1 18 28 28 22
DAC
CLCD
Camera interface
TDM No of voice
devices
SDIO/MMC
data lines
keys
Keyboard
Input only
Bidirectional
Max. no. of I/Os
18 6 12 6
18 6 12 6
Output only
Special outputs
(sync)
Max. no. of I/Os
with Interrupt
10 41 18 - b i t2 8 9 * 93 63 2 4 10
11 1 1 1 14-bit 2 8 7*5 26 26 10
12 1 1 14-bit 2 8 7*5 26 26 10
13
41118 - b i t289 * 93 22 8 4 6
TDM interfacing using GPIOs
In some configuration modes where less than 8 TDM devices are indicated in Tab le 12 ,
additional TDM devices can be supported by using GPIO pins. The TDM needs a dedicated
interrupt line, an SPI and an independent frame sync signal to interface each device. When
enough SPI chip selects signals are not available (SPI_I2C signals), the chip select can be
performed by a GPIO. In this case the number of possible TDM devices supported is:
● Modes 5, 7, 8 and 9: up to 8 devices
● Modes 3 and 10: up to 6 devices
● Modes 11 and 12: up to 4 devices
Doc ID 018672 Rev 1 73/844
Page 74
Table 13. PL_GPIO multiplexing scheme
RM0082 Pin description
Doc ID 018672 Rev 1 74/945
PL /
pin
number
Alternate
function
(enabled by
RAS
1234567891 01 11 21 3
Configuration mode (enabled by RAS register 2)
register 1)
97/H16 /E1 /E1 / E 11111/E1 / E 11111
96/H15
95/H14
94/H13
93/G17
92/G16
91/G15
90/G14
89/F17
88/F16
87/G13
86/E17
85/F15
84/D17
83/E16
82/E15
81/C17
80/D16 0
79/F14 0
78/D15 0
77/B17 0
76/F13 0
75/E14 0
74/C16 0
D0 DQ0 D0 COL0 COL0 COL0 COL0 D0 D0 COL0 COL0 COL0 COL0
D1 DQ1 D1 COL1 COL1 COL1 COL1 D1 D1 COL1 COL1 COL1 COL1
D2 DQ2 D2 COL2 COL2 COL2 COL2 D2 D2 COL2 COL2 COL2 COL2
D3 DQ3 D3 COL3 COL3 COL3 COL3 D3 D3 COL3 COL3 COL3 COL3
D4 DQ4 D4 COL4 COL4 COL4 COL4 D4 D4 COL4 COL4 COL4 COL4
D5 DQ5 D5 COL5 COL5 COL5 COL5 D5 D5 COL5 DIO0_1 DIO0_1 COL5
D6 DQ6 D6 COL6 COL6 COL6 COL6 D6 D6 COL6 DIO1_1 DIO1_1 COL6
D7 DQ7 D7 COL7 COL7 COL7 COL7 D7 D7 COL7 DIO2_1 DIO2_1 COL7
D8 DQ8 D8 COL8 COL8 COL8 COL8 G8_0 G8_0 COL8 DIO3_1 DIO3_1 COL8
D9 DQ9 D9 ROW0 ROW0 ROW0 ROW0 G8_1 G8_1 ROW0 ROW0 ROW0 ROW0
D10 DQ10 D10 ROW1 ROW1 ROW1 ROW1 G8_2 G8_2 ROW1 ROW1 ROW1 ROW1
D11 DQ11 D11 ROW2 ROW2 ROW2 ROW2 G8_3 G8_3 ROW2 ROW2 ROW2 ROW2
D12 DQ12 D12 ROW3 ROW3 ROW3 ROW3 G8_4 G8_4 ROW3 ROW3 ROW3 ROW3
D13 DQ13 D13 ROW4 ROW4 ROW4 ROW4 G8_5 G8_5 ROW4 ROW4 ROW4 ROW4
D14 DQ14 D14 ROW5 ROW5 ROW5 ROW5 G8_6 G8_6 ROW5 ROW5 ROW5 ROW5
D15 DQ15 A-1 D15 ROW6 ROW6 ROW6 ROW6 G8_7 G8_7 ROW6 ROW6 ROW6 ROW6
A0 CLD0 G8_0 (out) CLD0 0 CLD0 A0 A0 Reserved CLD0 Reserved CLD0
A1 CLD1 G8_1 (out) CLD1 0 CLD1 A1 A1 Reserved CLD1 Reserved CLD1
A2 CLD2 G8_2 (out) CLD2 0 CLD2 A2 A2 Reserved CLD2 Reserved CLD2
A3 CLD3 G8_3 (out) CLD3 0 CLD3 A3 A3 Reserved CLD3 Reserved CLD3
A4 CLD4 G8_4(out) CLD4 0 CLD4 A4 A4 Reser ved CLD4 Reserved CLD4
A5 CLD5
A6 CLD6 G8_6 (out) CLD6 0 CLD6 A6 A6 Reserved CLD6 Reserved CLD6
G8_5
(out)
CLD5 0 CLD5 A5 A5 Reserved CLD5 Reserved CLD5
Page 75
75/945 Doc ID 018672 Rev 1
Table 13. PL_GPIO multiplexing scheme (continued)
Pin description RM0082
PL /
pin
number
Alternate
function
(enabled by
RAS
1234567891 01 11 21 3
Configuration mode (enabled by RAS register 2)
register 1)
73/A17 0 A7 CLD7 G8_7 (out) CLD7 0 CLD7 A7 A7 Reserved CLD7 Reserved CLD7
72/B16 0
71/D14 0
70/C15 0
69/A16 0
68/B15 0
67/C14 0
66/E13 0
65/B14 0
64/D13 0
63/C13 0
62/A15 0
61/E12 0
60/A14 0
59/B13 0
58/D12
57/E11
56/C12
55/A13
54/E10 0 0
53/D11 0 0
52/B12 0 0
CL A22 CL
AL A23 AL
/W /W /W ROW7 ROW7 ROW7 ROW7 /W /W ROW7 VSYNC_1 VSYNC_1 ROW7
/R /G /R ROW8 ROW8 ROW8 ROW8 /R /R ROW8 HSYNC_1 HSYNC_1 ROW8
A8 CLD8 IT0 CLD8 IT0 CLD8 IT0 IT0 Reserved CLD8 Reserved CLD8
A9 CLD9 IT1 CLD9 IT1 CLD9 IT1 IT1 Reserved CLD9 Reserved CLD9
A10 CLD10 IT2 CLD10 IT2 CLD10 IT2 IT2 Reserved CLD10 Reserved CLD10
A11 CLD11 IT3 CLD11 IT3 CLD11 IT3 IT3 Reserved CLD11 Reserved CLD11
A12 CLD12 IT4 CLD12 IT4 CLD12 IT4 IT4 Reserved CLD12 Reserved CLD12
A13 CLD13 IT5 CLD13 IT5 CLD13 IT5 IT5 Reserved CLD13 Reserved CLD13
A14 CLD14 IT6 CLD14 IT6 CLD14 IT6 IT6 Reserved CLD14 Reserved CLD14
A15 CLD15 IT7 CLD15 IT7 CLD15 IT7 IT7 Reserved CLD15 Reserved CLD15
A16 CLD16 SPI_I2C4 CLD16 SPI_I2C4 CLD16 SPI_I2C4 SPI_I2C4 Reserved CLD16 Reserved CLD16
A17 CLD17 SPI_I2C5 CLD17 SPI_I2C5 CLD17 SPI_I2C5 SPI_I2C5 Reserved CLD17 Reserved CLD17
A18 CLD18 SPI_I2C6 CLD18 SPI_I2C6 CLD18 SPI_I2C6 SPI_I2C6 Reserved CLD18 Reserved CLD18
A19 CLD19 SPI_I2C7 CLD19 SPI_I2C7 CLD19
A20 CLD20
A21 CLD21
CLAC G10_9 CLAC G10_9 CLAC G10_9 G10_9 G10_9 CLAC G10_9 CLAC
CLCP G10_8 CLCP G10_8 CLCP G10_8 G10_8 G10_8 CLCP G10_8 CLCP
CLFP G10_7 CLFP G10_7 CLFP G10_7 G10_7 G10_7 CLFP G10_7 CLFP
TDM_
SYNC4
TDM_
SYNC5
TDM_
SYNC6
TDM_
SYNC7
CLD20
CLD21
CLD22
CLD23
TDM_
SYNC4
TDM_
SYNC5
TDM_
SYNC6
TDM_
SYNC7
CLD20
CLD21
CLD22
CLD23
SPI_I2C7
/DOUT
TDM_
SYNC4
TDM_
SYNC5
TDM_
SYNC6
TDM_
SYNC7
SPI_I2C7
/DOUT
TDM_
SYNC4
TDM_
SYNC5
CL Reserved
AL Reserved CLD23 Reserved CLD23
Reserved CLD19 Reserved CLD19
Reserved CLD20 Reserved CLD20
Reserved CLD21 Reserved CLD21
CLD22 Reserved CLD22
Page 76
Table 13. PL_GPIO multiplexing scheme (continued)
RM0082 Pin description
Doc ID 018672 Rev 1 76/945
PL /
pin
number
Alternate
function
(enabled by
RAS
1234567891 01 11 21 3
Configuration mode (enabled by RAS register 2)
register 1)
51/D10 0 0 CLLP G10_6 CLLP G10_6 CLLP G10_6 G10_6 G10_6 CLLP G10_6 CLLP
50/A12
49/C11
48/B11
47/C10
46/A11
45/B10
44/A10
43/E9
42/D9
41/C9
40/B9
39/A9
38/A8
37/B8
36/C8
35/D8
34/E8
33/E7 BasGPIO5 0 0
32/D7 BasGPIO4 0 0
31/C7 BasGPIO3 0 0
30/B7 BasGPIO2 0 0
TMR_CPTR4 0 0 CLLE G10_5 CLLE G10_5 CLLE G10_5 G10_5 G10_5 CLLE G10_5 CLLE
TMR_CPTR3 0 0 CLPP G10_4 CLPP G10_4 CLPP G10_4 G10_4 G10_4 CLPP G10_4 CLPP
TMR_CPTR2 B0 B0 CLD22 SPI_I2C0 SPI_I2C0 SPI_I2C0 SPI_I2C0 SPI_I2C0 SPI_I2C0 SPI_I2C0 DIO4_1 DIO4_1 SPI_I2C0
TMR_CPTR1 B1 B1 CLD23 SPI_I2C1 SPI_I2C1 SPI_I2C1 SPI_I2C1 SPI_I2C1 SPI_I2C1 SPI_I2C1 DIO5_1 DIO5_1 SPI_I2C1
TMR_CLK4 B2 B2 GPIO7 SPI_I2C2 SPI_I2C2 SPI_I2C2 SPI_I2C2 SPI_I2C2 SPI_I2C2 SPI_I2C2 DIO6_1 DIO6_1 SPI_I2C2
TMR_CLK3 B3 B3 GPIO6 SPI_I2C3 SPI_I2C3 SPI_I2C3 SPI_I2C3 SPI_I2C3 SPI_I2C3 SPI_I2C3 DIO7_1 DIO7_1 SPI_I2C3
TMR_CLK2 H0 H0 GPIO5 G10_3/O0 G10_3/O0 G10_3/O0 G10_3/O0 G10_3 DAC_O0 DAC_O0 DAC_O0 DAC_O0 DAC_O0
TMR_CLK1 H1 H1 GPIO4 G10_2/O1 G10_2/O1 G10_2/O1 G10_2/O1 G10_2 DAC_O1 DAC_O1 DAC_O1 DAC_O1 DAC_O1
UART_DT R H2 H2 GPIO3 I2S_DIN I2S_DIN I2S_DIN I2S_DIN G10_1 I2S_DIN I2S_DIN I2S_DIN I2S_DIN I2S_DIN
UART_RI H3 H3 GPIO2 I2S_ LRCK I2S_ LRCK I2S_ LRCK I2S_ LRCK G10_0 I2S_LRCK I2S_LRCK I2S_LRCK I2S_LRCK I2S_LRCK
UART_DS R H4 H4 GPIO1 I2S_CLK I2S_CLK I2S_CLK I2S_CLK
UART_DCD H5 H5 GPIO0
UART_CT S H6 H6
UART_RTS H7 H7
SSP_CS4 0 0
SSP_CS3 Reserved Reserved TDM_CLK TDM_CLK TDM_CLK TDM_CLK TDM_CLK TDM_CLK TDM_CLK TDM_CLK TDM_CLK TDM_CLK TDM_CLK
SSP_CS2 0 0 TDM_DIN TDM_DIN TDM_DIN TDM_DIN TDM_DIN TDM_DIN TDM_DIN TDM_DIN TDM_DIN TDM_DIN TDM_DIN
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
SD_CMD SD_CMD SD_CMD SD_CMD SD_CMD SD_CMD SD_CMD SD_CMD SD_CMD SD_CMD SD_CMD
SD_CLK SD_CLK SD_CLK SD_CLK SD_CLK SD_CLK SD_CLK SD_CLK SD_CLK SD_CLK SD_CLK
SD_DAT0 SD_DAT0 SD_DAT0 SD_DAT0 SD_DAT0 SD_DAT0 SD_DAT0 SD_DAT0 SD_DAT0 SD_DAT0 SD_DAT0
SD_DAT1 SD_DAT1 SD_DAT1 SD_DAT1 SD_DAT1 SD_DAT1 SD_DAT1 SD_DAT1 SD_DAT1 SD_DAT1 SD_DAT1
I2S_
DOUT
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
I2S_
DOUT
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
I2S_
DOUT
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
I2S_
DOUT
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
TDM_SYN
C3
TDM_SYN
C2
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
I2S_CLK I2S_CLK I2S_CLK I2S_CLK I2S_CLK
DOUT I2S_DOUT I2S_DOUT I2S_DOUT I2S_DOUT
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
TDM_
SYNC1
TDM_
DOUT
TDM_
SYNC0
Page 77
77/945 Doc ID 018672 Rev 1
Table 13. PL_GPIO multiplexing scheme (continued)
Pin description RM0082
PL /
pin
number
Alternate
function
(enabled by
RAS
1234567891 01 11 21 3
Configuration mode (enabled by RAS register 2)
register 1)
29/A7 BasGPIO1 0 0 SD_DAT2 SD_DAT2 SD_DAT2 SD_DAT2 SD_DAT2 SD_DAT2 SD_DAT2 SD_DAT2 SD_DAT2 SD_DAT2 SD_DAT2
28/A6 BasGPIO0 0 0
27/B6
26/A5
25/C6
24/B5
23/A4
22/D6
21/C5
20/B4
19/A3
18/D5
17/C4
16/E6
15/B3
14/A2
13/A1
12/D4
11/E5
10/C3
9/B2
8/C2
7/D3
6/B1
5/D2
MII_TX_CLK 0 0 SD_SDAT4 SD_SDAT4 SD_SDAT4 SD_SDAT4 SD_SDAT4 G8_0 G8_0 SD_SDAT4 SD_SDAT4 SD_SDAT4 SD_SDAT4
MII_TXD0 0 0 SD_SDAT5 SD_SDAT5 SD_SDAT5 SD_SDAT5 SD_SDAT5 G8_1 G8_1 SD_SDAT5 SD_SDAT5 SD_SDAT5 SD_SDAT5
MII_TXD1 0 0 SD_SDAT6 SD_SDAT6 SD_SDAT6 SD_SDAT6 SD_SDAT6 G8_2 G8_2 SD_SDAT6 SD_SDAT6 SD_SDAT6 SD_SDAT6
MII_TXD2 0 0 SD_SDAT7 SD_SDAT7 SD_SDAT7 SD_SDAT7 SD_SDAT7 G8_3 G8_3 SD_SDAT7 SD_SDAT7 SD_SDAT7 SD_SDAT7
MII_TXD3 0 0 G8_4 G8_4 G8_4 G8_4 G8_4 G8_4 G8_4 G8_4 G8_4 G8_4 G8_4
MII_TX_EN 0 0 G8_5 G8_5 G8_5 G8_5 G8_5 G8_5 G8_5 G8_5 G8_5 G8_5 G8_5
MII_TX_ER 0 0 G8_6 G8_6 G8_6 G8_6 G8_6 G8_6 G8_6 DIO7 DIO8_1 DIO8_1 DIO7
MII_RX_CLK 0 0 G8_7 G8_7 G8_7 G8_7 G8_7 G8_7 G8_7 DIO6 DIO9_1 DIO9_1 DIO6
MII_RX_DV 0 0 G10_0 G10_0 G10_0 G10_0 G10_0 G10_0 G10_0 DIO5 DIO10_1 DIO10_1 DIO5
MII_RX_ERR 0 0 G10_1 G10_1 G10_1 G10_1 G10_1 G10_1 G10_1 DIO4 DIO11_1 DIO11_1 DIO4
MII_RXD0 0 0 G10_2 G10_2 G10_2 G10_2 G10_2 G10_2 G10_2 DIO3 DIO12_1 DIO12_1 DIO3
MII_RXD1 0 0 G10_3 G10_3 G10_3 G10_3 G10_3 G10_3 G10_3 DIO2 DIO13_1 DIO13_1 DIO2
MII_RXD2 0 0 G10_4 G10_4 G10_4 G10_4 G10_4 G10_4 G10_4 DIO1 G10_4 G10_4 DIO1
MII_RXD3 0 0 G10_5 G10_5 G10_5 G10_5 G10_5 G10_5 G10_5 DIO0 G10_5 G10_5 DIO0
MII_COL 0 0 G10_6 G10_6 G10_6 G10_6 G10_6 G10_6 G10_6 VSYNC G10_6 G10_6 VSYNC
MII_CRS 0 0 G10_7 G10_7 G10_7 G10_7 G10_7 G10_7 G10_7 HSYNC G10_7 G10_7 HSYNC
MII_MDC 0 0 G10_8 G10_8 G10_8 G10_8 G10_8 G10_8 G10_8 G10_8 G10_8 G10_8 G10_8
MII_MDIO 0 0 G10_9 G10_9 G10_9 G10_9 G10_9 G10_9 G10_9 G10_9 G10_9 G10_9 G10_9
SSP_MOSI 0 0 SD_CD SD_CD SD_CD SD_CD SD_CD SD_CD SD_CD SD_CD SD_CD SD_CD SD_CD
SSP_SCLK 0 0 SD_WP SD_WP SD_WP SD_WP SD_WP SD_WP SD_WP SD_WP SD_WP SD_WP SD_WP
S S P _ S S 0000000000 0 0 0
SSP_MISO 0 0 SD_LED SD_LED SD_LED SD_LED SD_LED SD_LED SD_LED SD_LED SD_LED SD_LED SD_LED
I 2 C _ S D A 0000000000 0 0 0
SD_SDAT3 SD_SDAT3 SD_SDAT3 SD_SDAT3 SD_SDAT3 SD_SDAT3 SD_SDAT3 SD_SDAT3 SD_SDAT3 SD_SDAT3 SD_SDAT3
Page 78
Table 13. PL_GPIO multiplexing scheme (continued)
RM0082 Pin description
Doc ID 018672 Rev 1 78/945
PL /
pin
number
Alternate
function
(enabled by
RAS
1234567891 01 11 21 3
Configuration mode (enabled by RAS register 2)
register 1)
4/C1 I 2 C _ S C L 0000000000 0 0 0
3/D1
2/E4
1/E3
0/F3
CK1/K17 PL_CLK1 TCLK* TCLK*
CK2/J17 PL_CLK2 Reserved Reserved int_CLK int_CLK int_CLK int_CLK int_CLK int_CLK int_CLK int_CLK int_CLK int_CLK int_CLK
CK3/J16 PL_CLK3 Reserved Reserved \int_CLK \int_CLK \int_CLK \int_CLK \int_CLK \int_CLK \int_CLK
CK4/H17 PL_CLK4 Reserved Reserved 2.048 MHz 2.048 MHz 2.048 MHz 2.048 MHz 2.048 MHz 2.048 MHz 2.048 MHz
UART_RX /E4 /E4 / E 41111111 1 1 1
UART_TX /E3 /E3 / E 3111111 1 1 1 1
IrDA_RX /E2 /E2 / E 2111111 1 1 1 1
IrDA_TX R/B R/B R / B1111R/B R / B1111
CCLK/
TCLK*
TCLK*
CCLK/TCL
K*
TCLK*
CCLK/
TCLK*
TCLK* TCLK* TCLK*
CLK CLK CLK CLK
PCLK PCLK PCLK PCLK
CCLK/
TCLK*
TCLK*
CCLK/
TCLK*
Page 79
RM0082 Pin description
Notes/legend for Ta bl e 1 3 :
GPIO (General purpose I/O):
● basGPIO: Base GPIOs in the basic subsystem (enabled as alternate functions)
● G10 and G8: GPIOs in the telecom subsystem
● GPIOx: GPIOs in the independent GPIO block in the RAS subsystem
TDM_: DM interface signals
SD_: SDIO interface
IT pins: interrupts
Table cells filled with ‘0’ or ‘1’ are unused and unless otherwise configured as Alternate
function or GPIO, the corresponding pin is held at low or high level respectively by the
internal logic.
Table cells filled with ‘Reserved’ denote pins that must be left unconnected.
Table 14. Table shading
Shading Pin group
FSMC FSMC pins: NAND or NOR Flash
Keyboard Keyboard pins ROWs are outputs, COLs are inputs
CLCD Colur LCD controller pins
CAMERA Camera pins
UART UART pins
Ethernet MAC MII/SMII Ethernet MAC Pins
SDIO/MMC SD card controller pins
GPT Timer pins
IrDA IrDA pins
SSP SSP pins
I2C I2C pins
5.4 PL_GPIO pin sharing for debug modes
In some cases the PL_GPIO pins may be used in different ways for debugging purposes.
There are three different cases (see also Tab le 1 5 ):
1. Case 1 - All the PL_GPIO get values from Boundary scan registers during Ex-test
instruction of JTAG. Typically this configuration is used to verify correctness of the
soldering process during the production flow.
2. Case 2 - All the PL_GPIO maintain their original meaning but the JTAG Interface is
connected to the processor. This configuration is useful during the development phase
but offers only “static” debug.
3. Case 3 - Some PL_GPIO, as shown inTable 15: Ball sharing during debug, are used to
connect the ETM9 lines to an external box. This configuration is typically used only
during the development phase. It offers a very powerful debug capability. When the
processor reaches a breakpoint it is possible, by analyzing the trace buffer, to
understand the reason why the processor has reached the break.
Doc ID 018672 Rev 1 79/844
Page 80
Pin description RM0082
Table 15. Ball sharing during debug
Signal Case 1 - Board debug Case 2 - Static debug Case 3 - Full debug
Te s t [ 0 ] 0 1 0
Te s t [ 1 ] 0 0 1
Test [2] 0 0/1 0/1
Test [3] 0 0/1 0/1
Te s t [ 4 ] 1 0 0
nTRST nTRST_bscan nTRST_ARM nTRST_ARM
TCK TCK_bscan TCK_ARM TCK_ARM
TMS TSM_bscan TMS_ARM TSM_ARM
TDI TDI_bscan TDI_ARM TDI_ARM
TDO TDO_bscan TDO_ARM TDO_ARM
PL_GPIO [97] BSR Value Functional I/O ARM_TRACE_CLK
PL_GPIO [96] BSR Value Functional I/O ARM_TRACE_PKTA[0]
PL_GPIO [95] BSR Value Functional I/O ARM_TRACE_PKTA[1]
PL_GPIO [94] BSR Value Functional I/O ARM_TRACE_PKTA[2]
PL_GPIO [93] BSR Value Functional I/O ARM_TRACE_PKTA[3]
PL_GPIO [92] BSR Value Functional I/O ARM_TRACE_PKTB[0]
PL_GPIO [91] BSR Value Functional I/O ARM_TRACE_PKTB[1]
PL_GPIO [90] BSR Value Functional I/O ARM_TRACE_PKTB[2]
PL_GPIO [89] BSR Value Functional I/O ARM_TRACE_PKTB[3]
PL_GPIO [88] BSR Value Functional I/O ARM_TRACE_SYNCA
PL_GPIO [87] BSR Value Functional I/O ARM_TRACE_SYNCB
PL_GPIO [86] BSR Value Functional I/O ARM_PIPESTATA[0]
PL_GPIO [85] BSR Value Functional I/O ARM_PIPESTATA[1]
PL_GPIO [84] BSR Value Functional I/O ARM_PIPESTATA[2]
PL_GPIO [83] BSR Value Functional I/O ARM_PIPESTATB[0]
PL_GPIO [82] BSR Value Functional I/O ARM_PIPESTATB[1]
PL_GPIO [81] BSR Value Functional I/O ARM_PIPESTATB[2]
PL_GPIO [80] BSR Value Functional I/O ARM_TRACE_PKTA[4]
PL_GPIO [79] BSR Value Functional I/O ARM_TRACE_PKTA[5]
PL_GPIO [78] BSR Value Functional I/O ARM_TRACE_PKTA[6]
PL_GPIO [77] BSR Value Functional I/O ARM_TRACE_PKTA[7]
PL_GPIO [76] BSR Value Functional I/O ARM_TRACE_PKTB[4]
PL_GPIO [75] BSR Value Functional I/O ARM_TRACE_PKTB[5]
PL_GPIO [74] BSR Value Functional I/O ARM_TRACE_PKTB[6]
80/844 Doc ID 018672 Rev 1
Page 81
RM0082 Pin description
Table 15. Ball sharing during debug (continued)
Signal Case 1 - Board debug Case 2 - Static debug Case 3 - Full debug
PL_GPIO [73] BSR Value Functional I/O ARM_TRACE_PKTB[7]
PL_GPIO [72:0]
Doc ID 018672 Rev 1 81/844
Page 82
Memory map RM0082
6 Memory map
Table 16. Main memory map
Start address End address Notes
0x0000.0000 0x3FFF.FFFF DDR2 or Low Power DDR
0x4000.0000 0xBFFF.FFFF Table 22: Reconfigurable array subsystem
0xC000.0000 0xCFFF.FFFF Reserved
0xD000.0000 0xD7FF.FFFF Table 18: Low speed subsystem
0xD800.0000 0xDFFF.FFFF Table 21: Application subsystem
0xE000.0000 0xE7FF.FFFF Table 20: High speed subsystem
0xE800.0000 0xEFFF.FFFF Reserved
0xF000.0000 0xF7FF.FFFF Table 17: Multi layer CPU subsystem
0xF800.0000 0xFFFF.FFFF Table 19: Basic subsystem
Table 17. Multi layer CPU subsystem
Start address End address Peripheral Notes Bus
0xF000.0000 0xF00F.FFFF Timer APB
0xF010.0000 0xF10F.FFFF - Reserved -
0xF110.0000 0xF11F.FFFF VIC AHB
0xF120.0000 0xF7FF.FFFF - Reserved -
Table 18. Low speed subsystem
Start address End address Peripheral Notes Bus
0xD000.0000 0xD007.FFFF UART APB
0xD008.0000 0xD00F.FFFF ADC APB
0xD010.0000 0xD017.FFFF SSP APB
0xD018.0000 0xD01F.FFFF I2C APB
0xD020.0000 0xD07F.FFFF - Reserved -
0xD080.0000 0xD0FF.FFFF JPEG codec AHB
0xD100.0000 0xD17F.FFFF IrDA AHB
0xD180.0000 0xD1FF.FFFF - Reserved -
0xD280.0000 0xD7FF.FFFF SRAM
Static ram shared memory
(56 Kbyte)
AHB
82/844 Doc ID 018672 Rev 1
Page 83
RM0082 Memory map
Table 19. Basic subsystem
Start address End address Peripheral Notes
0xF800.0000 0xFBFF.FFFF Serial Flash memory
0xFC00.0000 0xFC1F.FFFF Serial Flash controller
0xFC20.0000 0xFC3F.FFFF - reserved
0xFC40.0000 0xFC5F.FFFF DMA controller
0xFC60.0000 0xFC7F.FFFF SDRAM controller
0xFC80.0000 0xFC87.FFFF Timer 1
0xFC88.0000 0xFC8F.FFFF Watch dog timer
0xFC90.0000 0xFC97.FFFF Real time clock
0xFC98.0000 0xFC9F.FFFF General purpose I/O
0xFCA0.0000 0xFCA7.FFFF System controller
0xFCA8.0000 0xFCAF.FFFF Miscellaneous registers
0xFCB0.0000 0xFCB7.0000 Timer 2
0xFCB8.0000 0xFEFF.FFFF - Reserved
0xFF00.0000 0xFFFF.FFFF Internal Rom Boot ROM
Table 20. High speed subsystem
Start address End address Peripheral Notes Bus
0xE000.0000 0xE07F.FFFF - Reserved APB
0xE080.0000 0xE0FF.FFFF Ethernet ctrl MAC AHB
0xE100.0000 0xE10F.FFFF USB2.0 device FIFO AHB
0xE110.0000 0xE11F.FFFF USB2.0 device Configuration registers AHB
0xE120.0000 0xE12F.FFFF USB2.0 device Plug detect AHB
0xE130.0000 0xE17F.FFFF - Reserved AHB
0xE180.0000 0xE18F.FFFF USB2.0 EHCI 0/1 AHB
0xE190.0000 0xE19F.FFFF USB2.0 OHCI 0 AHB
0xE1A0.0000 0xE20F.FFFF - Reserved AHB
0xE210.0000 0xE21F.FFFF USB2.0 OHCI 1 AHB
0xE220.0000 0xE27F.FFFF - Reserved AHB
0xE280.0000 0xE28F.FFFF ML USB ARB Configuration register AHB
0xE281.0000 0xE7FF.FFFF - Reserved AHB
Table 21. Application subsystem
Start address End address Peripheral Notes Bus
0xD800.0000 0xD8FF.FFFF Reserved
0xD900.0000 0xD97F.FFFF C3 coprocessor AHB
0xD980.0000 0xDFFF.FFFF Reserved
Doc ID 018672 Rev 1 83/844
Page 84
Memory map RM0082
Table 22. Reconfigurable array subsystem
Base Address Address Space IP
0x50000000 0x5000_0000 - 0x5FFF_FFFF TELECOM
0x60000000 0x6000_0000 - 0x6FFF_FFFF CLCD
0x70000000 0x7000_0000 - 0x7FFF_FFFF SDIO
0x80000000 0x8000_0000 - 0x98FF_FFFF FSMC
0x80000000 0x8000_0000 - 0x83FF_FFFF FSMC NAND on PCBank0
0x84000000 0x8400_0000 - 0x87FF_FFFF FSMC NAND on PCBank1
0x88000000 0x8800_0000 - 0x8BFF_FFFF FSMC NAND on PCBank2
0x8C000000 0x8C00_0000 - 0x8FFF_FFFF FSMC NAND on PCBank3
0x90000000 0x9000_0000 - 0x90FF_FFFF FSMC NOR 0
0x91000000 0x9100_0000 - 0x91FF_FFFF FSMC NOR 1
0x92000000 0x9200_0000 - 0x92FF_FFFF FSMC NOR 2
0x93000000 0x9300_0000 - 0x93FF_FFFF FSMC NOR 3
0x94000000 0x9400_0000 - 0x98FF_FFFF FSMC Registers
0x99000000 0x9900_0000 - 0x9FFF_FFFF RAS Registers
0xA0000000 0xA000_0000 - 0xA8FF_FFFF Keyboard
0xA9000000 0xA900_0000 - 0xAFFF_FFFF GPIO
84/844 Doc ID 018672 Rev 1
Page 85
RM0082 CPU subsystem_ARM926EJ-S
7 CPU subsystem_ARM926EJ-S
7.1 Overview
The ARM926EJ-S is a powerful processor, targeted for multi-tasking applications.
Belonging to ARM9 general purposes family microprocessor, its main outstanding feature is
its Memory management unit, which provides virtual memory features, making it also
compliant with advanced operating system, like Linux.
The ARM926EJ-S supports the 32 bit ARM and 16 bit thumb instruction sets, enabling the
user to trade off between high performance and high code density and includes features for
efficient execution of byte code Java mode.
Additionally, it has the ARM debug architecture and includes logic to assist in software
debug.
Main features are:
● Max CPU frequency 333 MHz (downward scalable).
● MMU.
● 16 Kbyte of instruction cache + 16 Kbyte of data cache.
● AMBA bus interface.
● JTAG and ETM9 (embedded trace macro-cell) for debug, large size version.
Doc ID 018672 Rev 1 85/844
Page 86
CPU subsystem_ARM926EJ-S RM0082
7.2 Functional description
Figure 4. ARM926EJ-S block diagram
External Coprocessor
Interface
CPUOUT CPUIN
ETM
interfac
e
WDATA
RDATA
ARM9EJ-S FCSE TLB
INSTR
Coprocessor
interface
CPUINST
R
DROUTE
IROUTE
DEXT
Write buffer
DCACHE
Cache
PA
TAGRAM
MMU
ICACHE
IEXT
DRDATA
IRDATA
DRWDATA
Write back
Write buffer
TCM
interface
Data
AHB
Interface
Bus
Interface
unit
Intruction
AHB
Interface
Note: Co-processor interface and TCM interface are not used.
7.3 Main function description
7.3.1 Memory management unit
A single set of two-level page tables stored in main memory is used to control the address
translation, permission checks, and memory region attributes for both data and instruction
accesses.
The Memory Management Unit (MMU) uses a single unified Translation Look aside Buffer
(TLB) to cache the information held in the page tables. To support both sections and pages,
there are two levels of address translation, and the MMU puts the translated physical
addresses into the MMU TLB.
86/844 Doc ID 018672 Rev 1
Page 87
RM0082 CPU subsystem_ARM926EJ-S
The MMU TLB consists of two parts:
● The main TLB, which is a two-way, set-associative cache for page table information. It
has 32 entries per way for a total of 64 entries.
● The lockdown TLB, which is an eight-entry fully-associative cache that contains locked
TLB entries. Locking TLB entries can ensure that a memory access to a given region
never incurs the penalty of a page table walk.
The MMU features are:
● 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 c8,
● Invalidate TLB entry selected by MVA, using CP15 c8,
● Lockdown of TLB entries using CP15 c10.
7.3.2 Caches and write buffer
The ARM926EJ-S processor includes an Instruction Cache (ICache), a Data Cache
(DCache) and a write buffer of 16 KB each. The size of the caches are 16 KB Instruction
Cache and 16 KB Data Cache.
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 32 bytes per line, and with two
dirty bits in the DCache,
● DCache supports write-through and write-back (or copyback) cache operations,
● Allocate on read-miss is supported. The caches perform critical-word first cache
refilling,
● Pseudo-random or round-robin replacement selectable,
● 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,
● The DCache stores the Physical Address (PA) tag,
● PLD data preload instruction does not cause data cache linefills,
● Maintenance operations to provide efficient invalidation of the entire DCache or
ICache, regions of the two caches or region of virtual memory,
● Provide operations for efficient cleaning and invalidation of entire DCache, regions of it
and regions of virtual memory.
The latter allows DCache coherency to be efficiently maintained when small code changes
occur, for example for self-modifying code and changes to exception vectors.
7.3.3 Bus interface unit
The ARM926EJ-S Bus Interface Unit (BIU) arbitrates and schedules the AHB requests.
Doc ID 018672 Rev 1 87/844
Page 88
CPU subsystem_ARM926EJ-S RM0082
The BIU contains separate masters for both instruction and data access, enabling multilayer AHB and multi-AHB systems to be implemented, giving the benefit of increased overall
bus bandwidth and a more flexible system architecture.
To increase system performance, write buffers are used to prevent AHB writes stalling the
ARM926EJ-S system.
88/844 Doc ID 018672 Rev 1
Page 89
RM0082 CPU subsystem_Vectored interrupt controller (VIC)
8 CPU subsystem_Vectored interrupt controller (VIC)
8.1 Overview
Acting as an interrupt controller, the VIC determines the source that is requesting service
and where its interrupt service routine (ISR) is loaded, doing that in hardware. In particular,
the VIC supplies the starting address, or vector address, of the ISR corresponding to the
highest priority requesting interrupt source.
Main features of the VIC are:
● Support for 32 standard interrupt sources.
● Generation of both Fast Interrupt reQuest (FIQ) and Interrupt ReQuest (IRQ),
according to ARM system operation. IRQ is used for general interrupts, whereas FIQ is
intended for fast, low-latency interrupt handling. In particular, using a single FIQ source
at a time in the system provides interrupt latency reduction, because the ISR can be
directly executed without determining the source of the interrupt.
● Support for 16 vectored interrupts (IRQ only).
● Hardware interrupt priority, where FIQ interrupt has the highest priority, followed by
vectored IRQ interrupts (from vector 0 to vector 15), and then non-vectored IRQ
interrupts with the lowest priority.
● Interrupt masking.
● Interrupts request status and raw interrupt status (prior to masking).
● Software interrupt generation.
● An AHB slave to connect to the CPU.
The interrupt inputs must be level sensitive, active HIGH, and held asserted until the
interrupt service routine clears the interrupt. Edge-triggered interrupts are not compatible.
The interrupt inputs do not have to be synchronous to HCLK.
Note: The VIC does not handle interrupt sources with transient behaviour.
8.2 Block diagram
Figure 5 shows the block diagram of VIC.
Doc ID 018672 Rev 1 89/844
Page 90
CPU subsystem_Vectored interrupt controller (VIC) RM0082
Figure 5. VIC block diagram
VICINTSOURCE[31:0]
nVICRQIN
VICVECTADDRIN
VICVECTADDROUT
nVICFIQIN
HCLK
HSELVIC
HRESETn
HWRITE
HREADYIN
HREADYOUT
HRESP[1:0]
Interrupt
request
logic
Daisy
Chain
FIQSTATUS
[31:0]
IRQSTATUS
[31:0]
Vector interrupt 0
Vector interrupt 1
Vector interrupt 15
VectAddrIn
VectAddrOut
AHB slave
interface
Non-vectored FIQ
Non-vectored IRQ
VectAddr0
VectAddr1
VectAddrn
VectAddr15
IRQ
interrupt logic
interrupt logic
IRQ0
IRQ1
IRQn
IRQ15
IRQ
vector
address
and
priority
logic
nVICFIQ
nVICIRQ
HTRANS
HADDR[11:2]
HRDATA[31:0]
HWDATA[31:0]
HSIZE[2:0]
HPROT
8.3 Main functions description
8.3.1 Interrupt request logic
The interrupt request logic block receive the interrupt requests from peripheral and
combines them with the software interrupt requests (see Section 8.3.6 ). After that, it masks
out the requests that are not enabled (through VICINTENABLE register, Section 8.6.7:
VICINTENABLE register) and roots the others to either IRQSTATUS or FIQSTATUS
depending on VICINTSELECT (see Section 8.6.6: VICINTSELECT register ).
FIQ interrupts have the highest priority, followed by vectored interrupts (0-15) and, finally,
non vectored interrupts.
8.3.2 Non-vectored FIQ interrupt logic
The non-vectored FIQ interrupt logic block generates the FIQ interrupt signal by combining
the FIQ interrupt requests coming from the interrupt request logic and any requests from
daisy-chained interrupt controllers.
Control logic
90/844 Doc ID 018672 Rev 1
Page 91
RM0082 CPU subsystem_Vectored interrupt controller (VIC)
8.3.3 Non-vectored IRQ interrupt logic
The non-vectored IRQ Interrupt Logic block generates the non-vectored IRQ interrupt signal
by combining the non-vectored IRQ interrupt requests coming from the interrupt request
logic. This signal is then sent to the IRQ vector address and priority logic.
8.3.4 Vectored interrupts
As depicted in Figure 5 , there are 16 vectored interrupt blocks within the VIC. Each vectored
interrupt block receives the IRQ interrupt requests from the interrupt request logic block and
it generates a vectored IRQ interrupt.
In particular, a vectored IRQ interrupt is generated only if:
● It is enabled in the VICINTENABLE register (Section 8.6.7: VICINTENABLE register ),
● It is set to generate an IRQ interrupt in the VICINTSELECT register (Section 8.6.6:
VICINTSELECT register),
● It is enabled in the relevant VICVECTCNTL register (Section 8.6.15: VICVECTCNTL
register),
● It is currently the highest requesting interrupt (vector 0 to vector 15, highest to lowest).
Besides, each vectored interrupt block is associated to the 32 bit address of the ISR to be
executed. These ISR addresses are mapped in the VICVECTADDRi (with i = 0...15)
registers (Section 8.6.14: VICVECTADDR register). The VICVECTADDR register
(Section 8.6.12: VICVECTADDR register) contains the ISR address for the currently active
IRQ interrupt.
8.3.5 Interrupt priority logic
The interrupt priority logic block organizes the following requests according to their priority:
● Non-vectored interrupt requests,
● Vectored interrupt requests,
● External interrupt requests.
If the interrupt is not currently being serviced, the highest priority request generates an IRQ
interrupt.
Note: External interrupt is not being used in SPEAr300.
8.3.6 Software interrupts
The software can control the source interrupt lines to generate software interrupts
(VICSOFTINT register, Section 8.6.9: VICSOFTINT register ). These interrupts are
generated before interrupt masking within the Interrupt Request Logic block, in the same
way as external source interrupts.
It is possible to clear software interrupts by writing to the VICSOFTINTCLEAR register
(Section 8.6.10: VICSOFTINTCLEAR register ). This is normally done at the end of the ISR.
8.3.7 AHB slave interface
The AHB Slave Interface block connects the VIC to the CPU through the AHB bus.
Doc ID 018672 Rev 1 91/844
Page 92
CPU subsystem_Vectored interrupt controller (VIC) RM0082
8.4 Interrupt connection table
Table 23. Interrupt sources
Interrupt sources IRQ #
Reserved 0
Generic Interrupt #3 from RAS 1
CPU Subsystem Timer 1_1 2
CPU Subsystem Timer 1_2 3
Basic Subsystem Timer 1_1 4
Basic Subsystem Timer 1_2 5
Basic Subsystem Timer 2_1 6
Basic Subsystem Timer 2_2 7
Basic Subsystem DMA (Direct Memory Access) 8
Basic Subsystem SMI (Serial Memory Interface) 9
Basic Subsystem RTC (Real Time Clock) 10
Basic Subsystem GPIO (General Purpose Input Output) 11
Basic Subsystem WD (WatchDog T imer) 12
DDR Controller 13
System Error 14
Wake-up FIQ from RCG 15
Low Speed Subsystem JPEG (Joint Photographic Experts Group) 16
Low Speed Subsystem IrDA (Infrar ed D ata A ssociation) 17
Low Speed Subsystem ADC (A nalog to Digital C onverter) 18
Low Speed Subsystem UART (Universal Asynchronous R eceiver and Transmitter) 19
Low Speed Subsystem SPI (Serial Peripheral I nterface bus) 20
2
Low Speed Subsystem I
High Speed Subsystem Ethernet MAC (Medium Access Control)
Power Management Event
C (Inter-Integrated Circuit) 21
22
High Speed Subsystem Ethernet MAC (Medium Access Control) 23
High Speed Subsystem USB Device (Universal Serial Bus) 24
High Speed Subsystem USB Host 1 OHCI (Open Host Controller Interface) 25
High Speed Subsystem USB Host EHCI (Enhanced Host C ontroller I nterface) 26
High Speed Subsystem USB Host 2 OHCI (Open Host Controller Interface) 27
Generic Interrupt #0 from RAS 28
Generic Interrupt #1 from RAS 29
Generic Interrupt #2 from RAS 30
Application Subsystem C3 (Channel Control C oprocessor) 31
92/844 Doc ID 018672 Rev 1
Page 93
RM0082 CPU subsystem_Vectored interrupt controller (VIC)
8.5 How to reduce interrupt latency
The interrupt latency depends on the type of interrupt, see Ta bl e 2 4 .
Table 24. Interrupt latency for different types of interrupts
Worst case (cycles)
Event
FIQ IRQ IRQ (reduced latency)
Interrupt synchronization 3 3 3
Worst case interrupt disable period 7 10 10
Entry to first instruction 2 2 2
Nesting, assuming single-state AHB - 10 -
Load IRQ vector to PC - - 5
T o t a l 1 22 52 0
To reduce interrupt latency, you can re-enable the IRQ interrupts in the processor after the
ISR is entered, so the current ISR is interrupted, and the higher-priority ISR is executed.
The VIC then only enables a higher priority interrupt than the interrupt currently being
serviced. If a higher priority interrupt goes active, the current ISR is interrupted and the
higher-priority ISR is executed. Before the interrupt enable bits in the processor can be reenabled, the LR and SPSR must be saved, preferably on a software stack. When the ISR is
exited, you must disable the interrupts, reload the LR and SPSR, and write to the vector
address register, VICVECTADDR.
8.6 Programming model
8.6.1 Register map
The VIC can be fully configured by programming its 32 bit wide registers which can be
accessed at the base addresses 0xF110_0000.
VIC registers can be logically divided in four main groups:
● Interrupt control and status registers (listed in Tab le 25 ), for interrupt configuration.
● Vector address registers (listed in Ta bl e 2 6 ), containing the address of the ISRs.
● Vector control registers (listed in Ta bl e 2 7 ), which select the interrupt source for the
vectored interrupt.
● Identification registers (listed in Ta bl e 2 8), namely eight 8 bit RO registers reporting
VIC-specific information (part number, revision number and so on). Refer to ARM
technical documentation for further details.
Note: Offset addresses from 0x300 to 0x310 are reserved for test purposes.
Table 25. VIC interrupt control registers summary
Name Offset Type Reset value Description
VICIRQSTATUS 0x000 RO 32’h0 IRQ status
VICFIQSTATUS 0x004 RO 32’h0 FIQ status
Doc ID 018672 Rev 1 93/844
Page 94
CPU subsystem_Vectored interrupt controller (VIC) RM0082
Table 25. VIC interrupt control registers summary (continued)
Name Offset Type Reset value Description
VICRAWINTR 0x008 RO - Raw interrupt status
VICINTSELECT 0x00C RW 32’h0 Interrupt select
VICINTENABLE 0x010 RW 32’h0 Interrupt enable
VICINTENCLEAR 0x014 WO - Interrupt enable clear
VICSOFTINT 0x018 RW 32’h0 Software interrupt
VICSOFTINTCLEAR 0x01C WO - Software interrupt clear
VICPROTECTION 0x020 RW 32’h0 Protection enable
Table 26. VIC vector address registers summary
Name Offset Type Reset value Description
VICVECTADDR 0x030 RW 32’h0 Vector address
VICDEFVECTADDR 0x034 RW 32’h0 Default vector address
VICVECTADDR0 0x100 RW 32’h0
VICVECTADDR1 0x104 RW 32’h0
VICVECTADDR2 0x108 RW 32’h0
VICVECTADDR3 0x10C RW 32’h0
VICVECTADDR4 0x110 RW 32’h0
VICVECTADDR5 0x114 RW 32’h0
VICVECTADDR6 0x118 RW 32’h0
VICVECTADDR7 0x11C RW 32’h0
VICVECTADDR8 0x120 RW 32’h0
VICVECTADDR9 0x124 RW 32’h0
VICVECTADDR10 0x128 RW 32’h0
VICVECTADDR11 0x12C RW 32’h0
VICVECTADDR12 0x130 RW 32’h0
VICVECTADDR13 0x134 RW 32’h0
VICVECTADDR14 0x138 RW 32’h0
VICVECTADDR15 0x13C RW 32’h0
Vector address registers
94/844 Doc ID 018672 Rev 1
Page 95
RM0082 CPU subsystem_Vectored interrupt controller (VIC)
Table 27. VIC interrupt vector control registers summary
Name Offset Type Reset value Description
VICVECTCNTL0 0x200 RW 32’h0
VICVECTCNTL1 0x204 RW 32’h0
VICVECTCNTL2 0x208 RW 32’h0
VICVECTCNTL3 0x20C RW 32’h0
VICVECTCNTL4 0x210 RW 32’h0
VICVECTCNTL5 0x214 RW 32’h0
VICVECTCNTL6 0x218 RW 32’h0
VICVECTCNTL7 0x21C RW 32’h0
VICVECTCNTL8 0x220 RW 32’h0
VICVECTCNTL9 0x224 RW 32’h0
VICVECTCNTL10 0x228 RW 32’h0
VICVECTCNTL11 0x22C RW 32’h0
VICVECTCNTL12 0x230 RW 32’h0
VICVECTCNTL13 0x234 RW 32’h0
VICVECTCNTL14 0x238 RW 32’h0
VICVECTCNTL15 0x23C RW 32’h0
Vector C o n t r o l .
Table 28. VIC identification registers summary
Name Offset Type Reset value Description
VICPERIPHID0 0xFE0 RO 8’h90
VICPERIPHID1 0xFE4 RO 8’h11
VICPERIPHID2 0xFE8 RO 8’h04
VICPERIPHID3 0xFEC RO 8’h00
VICPCELLID0 0xFF0 RO 8’h0D
VICPCELLID1 0xFF4 RO 8’hF0
VICPCELLID2 0xFF8 RO 8’h05
VICPCELLID3 0xFFC RO 8’hB1
Peripheral Identification.
Identification Registers
8.6.2 Register description
8.6.3 VICIRQSTATUS register
The VICIRQSTATUS is the RO register which provides the status of interrupts after IRQ
masking (through VICINTENABLE and VICINTSELECT registers, Section 8.6.7:
VICINTENABLE register and Section 8.6.6: VICINTSELECT register respectively), at the
output of the Interrupt Request Logic block (Section 8.3.1 ). The VICIRQSTATUS bit
assignments are given in Tab l e 2 9 .
Doc ID 018672 Rev 1 95/844
Page 96
CPU subsystem_Vectored interrupt controller (VIC) RM0082
Table 29. VICIRQSTATUS register bit assignments
Bit Name
[31:00] IRQStatus 32’h0
8.6.4 VICFIQSTATUS register
The VICFIQSTATUS is the RO register which provides the status of the interrupts after FIQ
masking (through VICINTENABLE and VICINTSELECT, Section 8.6.7: VICINTENABLE
register and Section 8.6.6: VICINTSELECT register respectively), at the output of the
interrupt request logic block (Section 8.3.1 ). The VICFIQSTATUS bit assignments are given
in Ta bl e 3 0 .
Table 30. VICFIQSTATUS register bit assignments
Bit Name
[31:00] FIQStatus 32’h0
8.6.5 VICRAWINTR register
Reset
value
Reset
value
Description
Each bit is associated to an interrupt.
If a bit is set, it indicates that the relevant interrupt is
active, and generates an interrupt to the processor.
Description
Each bit is associated to an interrupt.
If a bit is set, it indicates that the relevant interrupt is
active, and generates an interrupt to the processor.
The VICRAWINTR is a RO register, which provides the raw status of both interrupt sources
and software interrupts (before masking through enable registers, VICINTENABLE and
VICINTSELECT). The VICRAWINTR bit assignments are given in Tab le 31 .
Table 31. VICRAWINTR register bit assignments
Bit Name
[31:00] Raw Interrupt -
8.6.6 VICINTSELECT register
The VICINTSELECT is a RW register which allows to select whether the corresponding
interrupt generates an FIQ or an IRQ interrupt. The VICINTSELECT bit assignments are
given in Tab le 32 .
Reset
value
Description
Each bit is associated to an interrupt.
If a bit is set, it indicates that the relevant interrupt
request is active before masking.
96/844 Doc ID 018672 Rev 1
Page 97
RM0082 CPU subsystem_Vectored interrupt controller (VIC)
Table 32. VICINTSELECT register bit assignments
Bit Name
[31:00] IntSelect 32’h0
8.6.7 VICINTENABLE register
The VICINTENABLE is a RW register which allows to enable the interrupt request lines by
masking the interrupt sources for the IRQ interrupt. The VICINTENABLE bit assignments
are given in Ta bl e 3 3 .
Table 33. VICINTENABLE register bit assignments
Bit Name
[31:00] IntEnable 32’h0
Reset
value
Reset
value
Description
Each bit is associated to an interrupt line.
Each bit allows to select the type of interrupt for
relevant interrupt requests, according to encoding:
1‘b0 = IRQ interrupt
1‘b1 = FIQ interrupt
Description
Each bit is associated to an interrupt line.
If a bit is set, the relevant interrupt request to the
processor is enabled.
A HIGH bit sets the corresponding bit in the
VICINTENABLE Register. A LOW bit has no effect.
8.6.8 VICINTENCLEAR register
The VICINTENCLEAR is a WO register which allows to clear bits in the VICINTENABLE
register (Section 8.6.7: VICINTENABLE register ). The VICINTENCLEAR bit assignments
are given in Ta bl e 3 4 .
Table 34. VICINTENCLEAR register bit assignments
Bit Name
[31:00] IntEnableClear -
8.6.9 VICSOFTINT register
The VICSOFTINT (software interrupt) is a RW register which generates software interrupts.
The VICSOFTINT bit assignments are given in Tab l e 3 5 .
Reset
value
Description
Each bit is associated to an interrupt line.
Writing a 1‘b1 in a bit, the corresponding bit in the
VICINTENABLE register is cleared.
Writing a 1‘b0 has no effect.
Doc ID 018672 Rev 1 97/844
Page 98
CPU subsystem_Vectored interrupt controller (VIC) RM0082
Table 35. VICSOFTINT register bit assignments
Bit Name
[31:00] SoftInt 32’h0
Reset
value
8.6.10 VICSOFTINTCLEAR register
The VICSOFTINTCLEAR is a WO register which allows to clear bits in the VICSOFTINT
register (Section 8.6.9: VICSOFTINT register ). The VICSOFTINTCLEAR bit assignments
are given in Ta bl e 3 6 .
Table 36. VICSOFTINTCLEAR register bit assignments
Bit Name
[31:00] SoftIntClear -
Reset
value
8.6.11 VICPROTECTION register
Description
Each bit is associated to a source interrupt.
Setting a bit, a software interrupt for the specific source
interrupt is generated before interrupt masking.
Description
Each bit is associated to an interrupt line.
Writing a 1‘b1 in a bit, the corresponding bit in the
VICSOFTINT register is cleared.
Writing a 1‘b0 has no effect.
The VICPROTECTION is a RW register which allows to enable or disable protected register
access. The VICPROTECTION bit assignments are given in Ta bl e 3 7 .
Table 37. VICPROTECTION register bit assignments
Bit Name
[31:01] Reserved - Read: undefined. Write: should be zero.
[00] Protection 1’h0
Reset
value
Description
Enable/disable protected register access.
Setting this bit, protected register access is enabled
ensuring that only privileged mode accesses, reads
and writes, can access the interrupt controller
registers.
Clearing this bit, protected register access is disabled
allowing both user mode and privileged mode to
access the registers.
Note: This register is cleared on reset, and it can only be accessed in privileged mode. If the AHB
master cannot generate accurate protection information, this register shall leaved in its reset
state (protection disabled) in order to enable User mode access.
8.6.12 VICVECTADDR register
The VICVECTADDR (vector address) is a RW register which contains the ISR address of
the currently active interrupt. The VICVECTADDR bit assignments are given in Tab le 3 8 .
98/844 Doc ID 018672 Rev 1
Page 99
RM0082 CPU subsystem_Vectored interrupt controller (VIC)
Table 38. VICVECTADDR register bit assignments
Bit Name
[31:00] Vector Addr 32’h0
Reset
value
Description
Reading from this register provides the address of the
currently active ISR, indicating that the interrupt is
being serviced.
Writing to this register indicates that the interrupt has
been serviced and the interrupt is cleared.
Note: The ISR reads the VICVECTADDR register when an IRQ interrupt is generated. At the end
of the ISR, the VICVECTADDR register is written to, to update the priority hardware.
Reading or writing to this register at other times can cause incorrect operation.
8.6.13 VICDEFVECTADDR register
The VICDEFVECTADDR (default vector address) is a RW register which contains the
default ISR address.
8.6.14 VICVECTADDR register
Each VICVECTADDRi (with i = 0...15) is a RW register which contains the ISR address for
the relevant vectored interrupt.
8.6.15 VICVECTCNTL register
Each VICVECTCNTLi (with i = 0...15) is a RW registers which allows to select the interrupt
source for the i-th vectored interrupt. The bit assignments of VICVECTCNTLi are given in
Ta bl e 3 9 .
Table 39. VICVECTCNTL registers bit assignments
Bit Name
[31:06] Reserved - Read: undefined. Write: should be zero.
[05] E 1’h0 If set, it enables vector interrupt.
[04:00] IntSource 5’h0
Reset
value
Description
It allows to select any of the 32 interrupt sources (IRQ
only).
Note: Vectored interrupts are only generated if the interrupt is enabled. The specific interrupt is
enabled in the VICINTENABLE register (Section 8.6.7: VICINTENABLE register ), and the
interrupt is set to generate an IRQ interrupt in the VICINTSELECT register (Section 8.6.6:
VICINTSELECT register). This prevents multiple interrupts being generated from a single
request if the controller is incorrectly programmed.
8.6.16 Peripheral identification registers
The read-only VICPeriphID0-3 registers are four 8 bit registers, that span address locations
0xFE0-0xFEC. You can treat the registers conceptually as a single 32 bit register. The readonly registers provide the following options for the peripheral.Ta bl e 4 0 .
Doc ID 018672 Rev 1 99/844
Page 100
CPU subsystem_Vectored interrupt controller (VIC) RM0082
Table 40. Peripheral identification registers bit assignments
Bit Name Description
[31:24] Configuration
[23:20] Revision number
[19:12] Designer
[11:00] Part number
8.6.17 VICPERIPHID0 register
The read-only VICPERIPHID0 register, with address offset of 0xFE0, is hard-coded, and the
fields within the register determine the reset value. Tab le 41 shows the bit assignments for
this register.
Table 41. VICPERIPHID0 register bit assignments
Bit Name Description
[31:08] Read undefined
[07:00] Partnumber0 These bits read back as 0x90
This is the configuration option of the peripheral. the
configuration value is 0.
This is the revision number of the peripheral. The revision
number starts from 0.
This is the identification of the designer
12 -15 Designer 0;
16 -19 Designer 1
This identifies the peripheral. The VIC uses the three-digit
product code 0x90.
0 - 7 Part number 0;
8-11 Part number 1
8.6.18 VICPERIPHID1 register
The read-only VICPERIPHID1 register, with address offset of 0xFE4, is hard-coded, and the
fields within the register determine the reset value. Tab le 42 shows the bit assignments for
this register.
Table 42. VICPERIPHID1 register bit assignments
Bit Name Description
[31:08] Read undefined
[07:04] Designer0 These bits read back as 0x1
[03:00] Partnumber1 These bits read back as 0x1
8.6.19 VICPERIPHID2 register
The read-only VICPERIPHID2 register, with address offset of 0xFE8, is hard-coded, and the
fields within the register determine the reset value. Tab le 43 shows the bit assignments for
this register.
100/844 Doc ID 018672 Rev 1