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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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