This user’s manual describes SAMSUNG's S3C2440A 16/32- bit RISC m icroproc essor . SAMSUNG’s S3C2440A is
designed to provide hand-held devices and general applications with low-power, and high-performance microcontroller solution in small die size. To reduce total system cost, the S3C2440A includes the following components.
The S3C2440A is developed with ARM920T core, 0.13um CMOS standard cells and a m emory complier. Its lowpower, simple, elegant and fully static design is partic ularly suitable for cost- and power-sensitive applications. It
adopts a new bus architecture known as Advanced Micro controller Bus Architecture (AMBA).
The S3C2440A offers outstanding f eatures with its CPU core, a 16/32-bit ARM920T RISC process or designed by
Advanced RISC Machines, Ltd. The ARM920T im plements MMU, AMBA BUS, and Harvard cache architecture
with separate 16KB instruction and 16KB data caches, each with an 8-word line length.
By providing a complete set of common system peripherals , the S3C2440A minimizes overall system costs and
eliminates the need to configure additional components. The integrated on-c hip func tions that are des cribed in this
document include:
• Around 1.2V internal, 1.8V/2.5V/3.3V memory, 3.3V external I/O microprocessor with 16KB I-Cache/16KB D-
Cache/MMU
• External memory controller (SDRAM Control and Chip Select logic)
• LCD controller (up to 4K color STN and 256K color TFT) with LCD-dedicated DMA
• Power control: Normal, Slow, Idle and Sleep mode
• On-chip clock generator with PLL
1-1
PRODUCT OVERVIEW S3C2440A RISC MICROPROCESSOR
FEATURES
Architecture
• Integrated system for hand-held devices and
general embedded applications.
• 16/32-Bit RISC architecture and powerful
instruction set with ARM920T CPU core.
• Enhanced ARM architecture MMU to support
WinCE, EPOC 32 and Linux.
• Instruction cache, data cache, write buffer and
Physical address TAG RAM to reduce the effect
of main memory bandwidth and latency on
performance.
• ARM920T CPU core supports the ARM debug
architecture.
• Internal Advanced Microcontroller Bus
Architecture (AMBA) (AMBA2.0, AHB/APB).
System Manager
• Little/Big Endian support.
• Support Fast bus mode and Asynchronous bus
mode.
• Address space: 128M bytes for each bank (total
1G bytes).
• Supports programmable 8/16/32-bit data bus
width for each bank.
• Fixed bank start address from bank 0 to bank 6.
• Programmable bank start address and bank size
for bank 7.
• Eight memory banks:
– Six memory banks for ROM, SRAM, and others.
– Two memory banks for ROM/SRAM/
Synchronous DRAM.
• Complete Programmable access cycles for all
memory banks.
• Supports external wait signals to expand the bus
cycle.
NAND Flash Boot Loader
• Supports booting from NAND flash memory.
• 4KB internal buffer for booting.
• Supports storage memory for NAND flash
memory after booting.
• Supports Advanced NAND flash
Cache Memory
• 64-way set-associative cache with I-Cache
(16KB) and D-Cache (16KB).
• 8words length per line with one valid bit and two
dirty bits per line.
• Pseudo random or round robin replacement
algorithm.
• Write-through or write-back cache operation to
update the main memory.
• The write buffer can hold 16 words of data and
four addresses.
Clock & Power Manager
• On-chip MPLL and UPLL:
UPLL generates the clock to operate USB
Host/Device.
MPLL generates the clock to operate MCU at
maximum 400Mhz @ 1.3V.
• Clock can be fed selectively to each function
block by software.
•Power mode: Normal, Slow, Idle, and Sleep
mode
Normal mode: Normal operating mode
Slow mode: Low frequency clock without PLL
Idle mode: The clock for only CPU is stopped.
Sleep mode: The Core power including all
E13 DATA19 DATA19 Hi-z Hi-z,O(L) I b12s
E12 DATA20 DATA20 Hi-z Hi-z,O(L) I b12s
E16 DATA21 DATA21 Hi-z Hi-z,O(L) I b12s
F15 DATA22 DATA22 Hi-z Hi-z,O(L) I b12s
G13 DATA23 DATA23 Hi-z Hi-z,O(L) I b12s
E17 DATA24 DATA24 Hi-z Hi-z,O(L) I b12s
G12 DATA25 DATA25 Hi-z Hi-z,O(L) I b12s
F14 DATA26 DATA26 Hi-z Hi-z,O(L) I b12s
F12 DATA27 DATA27 Hi-z Hi-z,O(L) I b12s
G11 DATA28 DATA28 Hi-z Hi-z,O(L) I b12s
G16 DATA29 DATA29 Hi-z Hi-z,O(L) I b12s
H13 DATA30 DATA30 Hi-z Hi-z,O(L) I b12s
F13 DATA31 DATA31 Hi-z Hi-z,O(L) I b12s
P12 DN0 DN0 – – AI us
N11 DP0 DP0 – – AI us
N12 DN1/PDN0 DN1 –/– – AI us
U14 DP1/PDP0 DP1 –/– – AI us
N17 EINT0/GPF0 GPF0 –/– Hi-z/– I t8
M16 EINT1/GPF1 GPF1 –/– Hi-z/– I t8
L13 EINT2/GPF2 GPF2 –/– Hi-z/– I t8
M15 EINT3/GPF3 GPF3 –/– Hi-z/– I t8
M17 EINT4/GPF4 GPF4 –/– Hi-z/– I t8
L14 EINT5/GPF5 GPF5 –/– Hi-z/– I t8
L15 EINT6/GPF6 GPF6 –/– Hi-z/– I t8
L16 EINT7/GPF7 GPF7 –/– Hi-z/– I t8
N9 EINT8/GPG0 GPG0 –/– Hi-z/– I t8
T9 EINT9/GPG1 GPG1 –/– Hi-z/– I t8
J10 EINT10/nSS0/GPG2 GPG2 –/–/– Hi-z/Hi-z/– I t8
R10 EINT11/nSS1/GPG3 GPG3 –/–/– Hi-z/Hi-z/– I t8
P11 EINT12/LCD_PWREN/GPG4 GPG4 –/–/– Hi-z/O(L)/–I t8
K10 EINT13/SPIMISO1/GPG5 GPG5 –/–/– Hi-z/Hi-z/– I t8
R11 EINT14/SPIMOSI1/GPG6 GPG6 –/–/– Hi-z/Hi-z/– I t8
L10 EINT15/SPICLK1/GPG7 GPG7 –/–/– Hi-z/Hi-z/– I t8
H1 VSSiarm VSSiarm P P P si
K1 VSSiarm VSSiarm P P P si
T1 VSSiarm VSSiarm P P P si
T2 VSSiarm VSSiarm P P P si
U10 VSSiarm VSSiarm P P P si
U4 VSSiarm VSSiarm P P P si
U7 VSSiarm VSSiarm P P P si
A11 VSSMOP VSSMOP P P P so
A15 VSSMOP VSSMOP P P P so
A5 VSSMOP VSSMOP P P P so
A7 VSSMOP VSSMOP P P P so
B1 VSSMOP VSSMOP P P P so
B13 VSSMOP VSSMOP P P P so
D16 VSSMOP VSSMOP P P P so
D17 VSSMOP VSSMOP P P P so
E2 VSSMOP VSSMOP P P P so
G1 VSSOP VSSOP P P P so
N1 VSSOP VSSOP P P P so
U15 VSSOP VSSOP P P P so
U3 VSSOP VSSOP P P P so
U9 VSSOP VSSOP P P P so
H11 VSSOP VSSOP P P P so
1-18
S3C2440A RISC MICROPROCESSOR PRODUCT OVERVIEW
NOTE:
1. The @BUS REQ. shows the pin state at the external bus, which is used by the other bus master.
2. ' – ‘ mark indicates the unchanged pin state at Bus Request mode.
3. Hi-z or Pre means Hi-z or early state and it is determined by the setting of MISCCR register.
4. AI/AO means analog input/analog output.
5. P, I, and O mean power, input and output respectively.
6. The I/O state @nRESET shows the pin status in the @nRESET duration below.
@nRESET4 OSCin
nRESET
FCLK
1-19
PRODUCT OVERVIEW S3C2440A RISC MICROPROCESSOR
THE TABLE BELOW SHOWS I/O TYPES AND DESCRIPTIONS.
Input (I)/Output (O) Type Descriptions
d12i(vdd12ih) 1.2V Vdd for alive power
d12c(vdd12ih_core), si(vssih) 1.2V Vdd/Vss for internal logic
d33o(vdd33oph), so(vssoph) 3.3V Vdd/Vss for external logic
d33th(vdd33th_abb)
,sth(vssbbh_abb)
3.3V Vdd/Vss for analog circuitry
d12t(vdd12t_abb), st(vssbb_abb) 1.2V Vdd/Vss for analog circuitry
drtc(vdd30th_rtc) 3.0V Vdd for RTC power
is(phis) Input pad, LVCMOS schmitt-trigger level
us(pbusb0) USB pad
t10(phtot10cd) 5V tolerant Output pad, Tri-state .
ot(phot8) Output pad, tri-state, Io=8mA
b8(phob8) Output pad, Io=8mA
t16(phot16sm) Output pad, tri-state, medium slew rate, Io=16mA
r10(phiar10_abb) Analog input pad with 10-ohm resistor
ia(phia_abb) Analog input pad
gp(phgpad_option) Pad for analog pin
m26(phsoscm26_2440a) Oscillator cell with enable and feedback resistor
Table 1-3. S3C2440A Signal Descriptions (Sheet 1 of 6)
Signal Input/Output Descriptions
Bus Controller
OM[1:0] I OM[1:0] sets S3C2440A in the TEST mode, which is used only at fabrication.
Also, it determines the bus width of nGCS0. The pull-up/down resistor
determines the logic level during RESET cycle.
00:Nand-boot 01:16-bit 10:32-bit 11:Test mode
ADDR[26:0] O ADDR[26:0] (Address Bus) outputs the memory address of the corresponding
bank .
DATA[31:0] IO DATA[31:0] (Data Bus) inputs data during memory read and outputs data during
memory write. The bus width is programmable among 8/16/32-bit.
nGCS[7:0] O nGCS[7:0] (General Chip Select) are activated when the address of a memory is
within the address region of each bank. The number of access cycles and the
bank size can be programmed.
nWE O nWE (Write Enable) indicates that the current bus cycle is a write cycle.
nOE O nOE (Output Enable) indicates that the current bus cycle is a read cycle.
nXBREQ I nXBREQ (Bus Hold Request) allows another bus master to request control of the
local bus. BACK active indicates that bus control has been granted.
nXBACK O nXBACK (Bus Hold Acknowledge) indicates that the S3C2440A has surrendered
control of the local bus to another bus master.
nWAIT I nWAIT requests to prolong a current bus cycle. As long as nWAIT is L, the
current bus cycle cannot be completed.
SDRAM/SRAM
nSRAS O SDRAM Row Address Strobe
nSCAS O SDRAM Column Address Strobe
nSCS[1:0] O SDRAM Chip Select
DQM[3:0] O SDRAM Data Mask
SCLK[1:0] O SDRAM Clock
SCKE O SDRAM Clock Enable
nBE[3:0] O Upper Byte/Lower Byte Enable(In case of 16-bit SRAM)
nWBE[3:0] O Write Byte Enable
NAND Flash
CLE O Command Latch Enable
ALE O Address Latch Enable
nFCE O Nand Flash Chip Enable
nFRE O Nand Flash Read Enable
nFWE O Nand Flash Write Enable
NCON I Nand Flash Configuration
FRnB I Nand Flash Ready/Busy
* If NAND flash controller isn’t used, it has
to be pull-up. (3.3V)
1-21
PRODUCT OVERVIEW S3C2440A RISC MICROPROCESSOR
Table 1-3. S3C2440A Signal Descriptions (Sheet 2 of 6)
Signal Input/Output Descriptions
LCD Control Unit
VD[23:0] O
LCD_PWREN O
VCLK O
VFRAME O
VLINE O
VM O
VSYNC O
HSYNC O
VDEN O
LEND O
STV O
CPV O
LCD_HCLK O
TP O
STH O
LCD_LPCOE O
LCD_LPCREV O
LCD_LPCREVB O
STN/TFT/SEC TFT: LCD Data Bus
STN/TFT/SEC TFT: LCD panel power enable control signal
STN/TFT: LCD clock signal
STN: LCD Frame signal
STN: LCD line signal
STN: VM alternates the polarity of the row and column voltage
TFT: Vertical synchronous signal
TFT: Horizontal synchronous signal
TFT: Data enable signal
TFT: Line End signal
SEC TF T: SEC(Samsung Electronics Company) TFT LCD panel control signal
SEC TF T: SEC(Samsung Electronics Company) TFT LCD panel control signal
SEC TF T: SEC(Samsung Electronics Company) TFT LCD panel control signal
SEC TF T: SEC(Samsung Electronics Company) TFT LCD panel control signal
SEC TF T: SEC(Samsung Electronics Company) TFT LCD panel control signal
SEC TF T: Timing control signal for specific TFT LCD
SEC TF T: Timing control signal for specific TFT LCD
SEC TF T: Timing control signal for specific TFT LCD
CAMERA Interface
CAMRESET O Software Reset to the Camera
CAMCLKOUT O Master Clock to the Camera
CAMPCLK I Pixel clock from Camera
CAMHREF I Horizontal sync signal from Camera
CAMVSYNC I Vertical sync signal from Camera
CAMDATA[7:0] I Pixel data for YCbCr
Interrupt Control Unit
EINT[23:0] I External Interrupt request
DMA
nXDREQ[1:0] I External DMA request
nXDACK[1:0] O External DMA acknowledge
1-22
S3C2440A RISC MICROPROCESSOR PRODUCT OVERVIEW
Table 1-3. S3C2440A Signal Descriptions (Sheet 3 of 6)
Signal Input/Output Descriptions
UART
RxD[2:0] I UART receives data input
TxD[2:0] O UART transmits data output
nCTS[1:0] I UART clear to send input signal
nRTS[1:0] O UART request to send output signal
UEXTCLK I External clock input for UART
ADC
AIN[7:0] AI ADC input[7:0]. If it isn’t used pin, it has to be Low (Ground).
Vref AI ADC Vref
IIC-Bus
IICSDA IO IIC-bus data
IICSCL IO IIC-bus clock
IIS-Bus
I2SLRCK IO IIS-bus channel select clock
I2SSDO O IIS-bus serial data output
I2SSDI I IIS-bus serial data input
I2SSCLK IO IIS-bus serial clock
CDCLK O CODEC system clock
AC’97
AC_SYNC
AC_BIT_CLK
AC_nRESET
AC_SDATA_IN
AC_SDATA_OUT
O 48 kHz fixed rate sample sync
IO 12.288 MHz serial data clock
O AC’97 Master H/W Reset
I Serial, time division multiplexed, AC’97 input stream
O Serial, time division multiplexed, AC’97 output stream
Touch Screen
nXPON O Plus X-axis on-off control signal
XMON O Minus X-axis on-off control signal
nYPON O Plus Y-axis on-off control signal
YMON O Minus Y-axis on-off control signal
USB Host
DN[1:0] IO DATA(–) from USB host. (Need to 15K ohm pull-down)
DP[1:0] IO DATA(+) from USB host. (Need to 15K ohm pull-down)
USB Device
PDN0 IO DATA(–) for USB peripheral.
(Need to 470K ohm pull-down for power consumption in sleep mode)
PDP0 IO DATA(+) for USB peripheral. (Need to 1.5K ohm pull-up)
1-23
PRODUCT OVERVIEW S3C2440A RISC MICROPROCESSOR
Table 1-3. S3C2440A Signal Descriptions (Sheet 4 of 6)
Signal Input/Output Description
SPI
SPIMISO[1:0] IO SPIMISO is the master data input line, when SPI is configured as a master.
When SPI is configured as a slave, these pins reverse its role.
SPIMOSI[1:0] IO SPIMOSI is the master data output line, when SPI is configured as a master.
When SPI is configured as a slave, these pins reverse its role.
SPICLK[1:0] IO SPI clock
nSS[1:0] I SPI chip select(only for slave mode)
SD
SDDAT[3:0] IO SD receive/transmit data
SDCMD IO SD receive response/ transmit command
SDCLK O SD clock
General Port
GPn[129:0] IO General input/output ports (some ports are output only)
TIMMER/PWM
TOUT[3:0] O Timer output[3:0]
TCLK[1:0] I External timer clock input
JTAG TEST LOGIC
nTRST I nTRST(TAP Controller Reset) resets the TAP controller at start.
If debugger is used, A 10K pull-up resistor has to be connected.
If debugger(black ICE) is not used, nTRST pin must be issued by a low active
pulse(Typically connected to nRESET).
TMS I TMS (TAP Controller Mode Select) controls the sequence of the TAP
controller's states. A 10K pull-up resistor has to be connected to TMS pin.
TCK I TCK (TAP Controller Clock) provides the clock input for the JTAG logic.
A 10K pull-up resistor must be connected to TCK pin.
TDI I TDI (TAP Controller Data Input) is the serial input for test instructions and data.
A 10K pull-up resistor must be connected to TDI pin.
TDO O TDO (TAP Controller Data Output) is the serial output for test instructions and
data.
1-24
S3C2440A RISC MICROPROCESSOR PRODUCT OVERVIEW
Table 1-3. S3C2440A Signal Descriptions (Sheet 5 of 6)
Signal Input/Output Description
Reset, Clock & Power
XTOpll AO Crystal Output for internal osc circuit.
When OM[3:2] = 00b, XTIpll is used for MPLL CLK source and UPLL CLK
source.
When OM[3:2] = 01b, XTIpll is used for MPLL CLK source only.
When OM[3:2] = 10b, XTIpll is used for UPLL CLK source only.
If it isn't used, it has to be a floating pin.
MPLLCAP AI Loop filter capacitor for main clock.
UPLLCAP AI Loop filter capacitor for USB clock.
XTIrtc AI 32 kHz crystal input for RTC. If it isn’t used, it has to be High (3.3V).
XTOrtc AO 32 kHz crystal output for RTC. If it isn’t used, it has to be Float.
CLKOUT[1:0] O Clock output signal. The CLKSEL of MISCCR register configures the clock
output mode among the MPLL CLK, UPLL CLK, FCLK, HCLK, PCLK.
nRESET ST nRESET suspends any operation in progress and places S3C2440A into a
known reset state. For a reset, nRESET must be held to L level for at least 4
OSCin after the processor power has been stabilized.
nRSTOUT O For external device reset control(nRSTOUT = nRESET & nWDTRST &
SW_RESET)
PWREN O 1.2V/1.3V core power on-off control signal
nBATT_FLT I Probe for battery state(Does not wake up at Sleep mode in case of low battery
state). If it isn’t used, it has to be High (3.3V).
OM[3:2] I OM[3:2] determines how the clock is made.
OM[3:2] = 00b, Crystal is used for MPLL CLK source and UPLL CLK source.
OM[3:2] = 01b, Crystal is used for MPLL CLK source
and EXTCLK is used for UPLL CLK source.
OM[3:2] = 10b, EXTCLK is used for MPLL CLK source
and Crystal is used for UPLL CLK source.
OM[3:2] = 11b, EXTCLK is used for MPLL CLK source and UPLL CLK source.
EXTCLK I External clock source.
When OM[3:2] = 11b, EXTCLK is used for MPLL CLK source and UPLL CLK
source.
When OM[3:2] = 10b, EXTCLK is used for MPLL CLK source only.
When OM[3:2] = 01b, EXTCLK is used for UPLL CLK source only.
If it isn't used, it has to be High (3.3V).
XTIpll AI Crystal Input for internal osc circuit.
When OM[3:2] = 00b, XTIpll is used for MPLL CLK source and UPLL CLK
source.
When OM[3:2] = 01b, XTIpll is used for MPLL CLK source only.
When OM[3:2] = 10b, XTIpll is used for UPLL CLK source only.
If it isn't used, XTIpll has to be High (3.3V).
1-25
PRODUCT OVERVIEW S3C2440A RISC MICROPROCESSOR
Table 1-3. S3C2440A Signal Descriptions (Sheet 6 of 6)
Signal Input/Output Description
Power
VDDalive P S3C2440A reset block and port status register VDD.
It should be always supplied whether in normal mode or in Sleep mode.
VDDiarm P S3C2440A core logic VDD for ARM core.
VDDi P S3C2440A core logic VDD for Internal block.
VSSi/VSSiarm P S3C2440A core logic VSS
VDDi_MPLL P S3C2440A MPLL analog and digital VDD.
VSSi_MPLL P S3C2440A MPLL analog and digital VSS.
VDDOP P S3C2440A I/O port VDD(3.3V)
VDDMOP P S3C2440A Memory I/O VDD
3.3V : SCLK up to 135MHz
2.5V : SCLK up to 135MHz
1.8V : SCLK up to 93MHz
VSSOP P S3C2440A I/O port VSS
RTCVDD P RTC VDD (3.0V, Input range: 1.8 ~ 3.6V)
This pin must be connected to power properly if RTC isn't used.
VDDi_UPLL P S3C2440A UPLL analog and digital VDD
VSSi_UPLL P S3C2440A UPLL analog and digital VSS
VDDA_ADC P S3C2440A ADC VDD(3.3V)
VSSA_ADC P S3C2440A ADC VSS
NOTE:
1. I/O means Input/Output.
2. AI/AO means analog input/analog output.
3. ST means schmitt-trigger.
4. P means power.
1-26
S3C2440A RISC MICROPROCESSOR PRODUCT OVERVIEW
S3C2440A SPECIAL REGISTERS
Table 1-4. S3C2440A Special Registers (Sheet 1 of 14)
Register
Name
Address
(B. Endian)
Address
(L. Endian)
Acc.
Unit
Read/
Write
Function
Memory Controller
BWSCON 0x48000000
←
W R/W Bus Width & Wait Status Control
BANKCON0 0x48000004 Boot ROM Control
BANKCON1 0x48000008 BANK1 Control
BANKCON2 0x4800000C BANK2 Control
BANKCON3 0x48000010 BANK3 Control
BANKCON4 0x48000014 BANK4 Control
BANKCON5 0x48000018 BANK5 Control
BANKCON6 0x4800001C BANK6 Control
BANKCON7 0x48000020 BANK7 Control
REFRESH 0x48000024 DRAM/SDRAM Refresh Control
BANKSIZE 0x48000028 Flexible Bank Size
MRSRB6 0x4800002C Mode register set for SDRAM BANK6
MRSRB7 0x48000030 Mode register set for SDRAM BANK7
1-27
PRODUCT OVERVIEW S3C2440A RISC MICROPROCESSOR
Table 1-4. S3C2440A Special Registers (Sheet 2 of 14)