The S3C24A0 is a 16/32-bit RISC microprocessor, which is designed to provide a cost-effective, low power, and
high performance micro- controller solution for mobile phones and general applications. To provide a sufficient H/W
performance for the 2.5G & 3G communication services, the S3C24A0 adopts dual-32-bit bus architecture and
includes many powerful hardware accelerators for the motion video processing, serial communications, and etc.
For the real time video conferencing, an optimized MPEG4 H/W Encoder/Decoder is integrated. To reduce total
system cost and enhance ov erall functionality, the S3C24A0 also includes following c om ponent s : separate 16KB
Instruction and 16KB Data Cache, MMU to handle virtual memory management, LCD controller (TFT), C amer a
Interface, MPEG-4 ME, MC, DCTQ, NAND Flash Boot loader, System Manager (power management & etc.),
SDRAM controller, 2-ch UART, 4-ch DMA, 4-ch Timers, General I/O Ports, IIC-BUS interface, USB Host, SD Host
& Multi-Media Card Interface, Memory Stick Interface, PLL for clock generation & etc. The S3C24A0 can be used
as a most powerful Application Processor for mobiles phones. For this application, the S3C24A0 has a Modem
Interface to communicate with various Modem Chips.
The S3C24A0 is developed using an ARM926EJ-S cor e , advanced 0.13um CMOS standard cells and memory
compliers. Its low-power, simple, elegant and fully static-design scheme is particularly suitable for cost-sensitive
and power-sensitive applications. Also, the S3C24A0 adopts a de-facto standard bus architecture – the AMBA
(Advanced Microcontroller Bus Architecture).
One of outstanding features of the S3C24A0 is its CPU core, a 16/32-bit ARM926EJ-S RISC processor designed
by ARM, Ltd. The ARM926EJ-S is a single chip MCU and Java enabled microprocessor. The ARM926EJ-S also
implements the MMU, the AMBA BUS, and the Harvard cache architecture with separate 16KB instruction and
16KB data caches, each cache with an 8-word line length.
By providing a complete set of common system peripherals, the S3C24A0 minimizes overall system costs and
eliminates the need to configure additional components.
1.2 FEATURES
This section summarizes the features of the S3C24A0. Figure 1-1 is an overall block diagram of the S3C24A0.
1.2.1 Microprocessor and Overall Architecture
• SoC (System-on-Chip) for mobile phones and general embedded applications.
• 16/32-Bit RISC architecture and powerful instruction set with ARM926EJ- S CPU core.
• ARM’s Jazelle Java technology
• Enhanced ARM architecture MMU to support WinCE, Symbian 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
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
phbst12smBi-directional pad, LVCMOS schmitt-trigger, pull-up resistor with
control, tri-state, Io=12mA
pbusb1USB pad
Rtc-oscrtc X-tal
phob1-abbAnalog pad
phiar10_abbAnalog input pad with 10-ohm resistor
phia_abbAnalog input pad
phsoscm26_shm ittOscillator cell with enable and feedback resistor
phbsu100ct8smBi-directional pad, LVCMOS schmitt-trigger, 100Kohm pull-up resistor with
• Shared Memory Bus (ROM/SRAM/NOR Flash/NAND Flash/External Bus)
SignalI/ODescription
XrADDR[25:0]OXrADDR[25:0] (Address Bus for shared memory) outputs the memory address of the
corresponding bank .
XrDATA[15:0]IOXrDATA[15:0] (Data Bus) inputs data during memory read and outputs data during
memory write. The bus width is programmable among 8/16-bit.
XrCSn[2:0]OXrCSn[2:0] (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.
XrWEnOXrWEn (Write Enable) indicates that the current bus cycle is a write cycle.
XrOEnOXrOEn (Output Enable) indicates that the current bus cycle is a read cycle.
XrWAIT nIXrWAITn requests to prolong a current bus cycle. As long as XrWAITn n is L, the
current bus cycle cannot be completed.
XrnWBE[1:0 ]OWrite Byte Enable
XfCLEONand Flash Command Latch Enable
XfALEONand Flash Address Latch Enable
XfNFPSINand Flash Page Size (0:256HWord, 1:512Byte)
or Advanced Address step(0:4-step, 1:5-step)
XfNFADVITo Support adv anced 2G Nand Flash
XfRnB[1:0]INand Flash Ready and Busy
• SDRAM Bank 0
SignalI/ODescription
XpCSN[1:0]OSDRAM bank 0 Chip Select
XpCASnOSDRAM bank 0 Column Address Strobe
XpRASnOSDRAM bank 0 Row Address Strobe
XpWEnOSDRAM bank 0 Write Enable
XpCKEOSDRAM bank 0 Clock Enable
XpDQM[3:0]OSDRAM bank 0 Data Mask
XpSCLKIOSDRAM bank 0 Clock
XpADDR[14:0]OSDRAM bank 0 Address bus
XpDATA[31:0]OSDRAM bank 0 Data bus
1-32
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
XuCLKIUART 0 clock signal
XuRXD0IU AR T 0 receives data input
XuCTSn0IU A R T 0 clear to send input signal
XuTXD0OUART 0 transmits data output
XuRTSn0OU A RT 0 request to send output signal
• IIC Bus
SignalI/ODescription
X2cSDAIOIIC-bus data
X2cSCLIOIIC-bus clock
• IIS Bus
SignalI/ODescription
X2sLRCKIOIIS-bus channel select clock
X2sDOOIIS-bus serial data output
X2sDIIIIS-bus serial data input
X2sCLKIOIIS-bus serial clock
X2sCDCLKOCODEC system clock
• SPI Bus
SignalI/ODescription
XspiSSIn[1:0]ISPI chip select(only for slave mode)
XspiCLKIOSPI clock for channel 0
XspiMISOIOXspiMISO 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. For channel 0
XspiMOSIIOXspiMOSI 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. For channel 0
•
•
AC97
SignalI/ODescription
X97BITCLKIAC-Link bit clock(12.288MHz) from AC97 Codec
X97SDIIAC-link Serial Data input from AC97 Codec
X97RESETnOAC- link Reset to Codec
X97SYNCOAC-link Frame Synchronization (Sampling Frequency 48Khz) from AC97 Controllor
X97SDOOAC-link Serial Data output to AC97 Codec
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
XusDN[1:0]IODATA (–) from USB host
XusDP[1:0]IODATA(+) from USB host
• USB Device
SignalI/ODescription
XudDNIODATA(–) for USB peripheral dev ice
XudDPIODATA(+) for USB peripheral device
1.3.1.3 Parallel Communication
• GPIO
SignalI/ODescription
XgpIO[31:0]IOGeneral input/output ports
• Modem Interface (8-bit Parallel)
SignalI/ODescription
XmiCSnIChip select, driven by the Modem chip
XmiW EnIWrite enable, driven by the Modem chip
XmiOEnIRead enable, driven by the Modem chip
XmiADR[10:0]IAddress bus, driven by the Modem chip
XmiDATA[7:0]IOData bus, driven by the Modem chip
XmiIRQnOInterrupt request to the Modem chip
1.3.1.4 Image/Video Processing
• Camera Interface
SignalI/ODescription
XciPCLKIPixel Clock, driven by the Camera processor
XciVSYNCIVertical Sync, driven by the Camera processor
XciHREFIHorizontal Sync, driven by the Camera processor
XciCDATA[7:0]IPixel Data for CbCr in 16-bit mode, driven by the Camera processor
XciYDATA[7:0]IPixel Data for YCbCr in 8-bit mode or for Y in 16-bit mode, driven by the Camera
processor
XciCLKOMaster Clock to the Camera processor
XciRSTnOSoftware Reset to the Camera processor
1-34
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
XvVD[17:0]OLCD pixel data output ports
XvVCLKOPixel clock signal
XvVSYNCOVertical synchronous signal
XvHSYNCOHorizontal synchronous signal
XvDENOData enable signal
1.3.1.6 Input Devices
• Analog-to-Digital Converter and Touch Screen Interface
SignalI/ODescription
XadcAVREFAIADC Reference top
XadcAIN[7:0]AIADC Analog Input
1.3.1.7 Storage Devices
• Secure Digital (SD) and Memory Stick Interface
SignalI/ODescription
XsdDAT[3:0]IOSD/MMC card receive/transmit Data
XmsPIIInput port used for insertion/extraction detect of Memory stick
XmsSDIOIO
SD/MMC card command signal port (default). If MemoryStick card enable, Memory
stick Serial data in/out port
XmsSCLKOO
XmsBSO
SD/MMC card Clock (default). If MemoryStick card enable, MemoryStick Clock
MemoryStick Serial bus control signal
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
XsRESETnIXsRESETn suspends any operation in progress and places S3C24A0 into a known
reset state. For a reset, XsRESE Tn must be held to L level for at least 4 External clock
after the processor power has been stabilized.
XsWRESETnI
System Warm Reset. Reset the whole system while preserves the SDRAM contents
XsRSTOUTnOFor external device reset control (XsRS T O UT n = XsRESETn & nWDTRST
& SW_RESET & XsWRESETn)
• Clock
SignalI/ODescription
XsMPLLCAPAOLoop filter capacitor for main clock.
XsUPLLCAPAOLoop filter capacitor for USB clock.
XrtcXTIAI32 KHz crystal input for RTC.
XrtcXTOAO32 KHz crystal output for RTC.
XsXTINICrystal Input for internal osc circuit.
XsXTOUTOCrystal Input for internal osc circuit.
XsEXTCLKIExternal clock source.
• JTAG
SignalI/ODescription
XjTRSTnIXjTRSTn (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, TRSTn pin must be issued by a low active
pulse(Typically connected to XsRESETn)
XjTMSIXjTMS (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.
XjTCKIXjTCK (TAP Controller Clock) provides the clock input for the JTAG logic.
A 10K pull-up resistor must be connected to TCK pin.
XjRTCKOX jRTCK (TAP Controller Returned Clock) provides the clock output for the JTAG logic.
XjTDIIXjTDI (TAP Controller Data Input) is the serial input for test instructions and data.
A 10K pull-up resistor must be connected to TDI pin.
XjTDOOXjTDO (TAP Controller Data Output) is the serial output for test instructions and data.
1-36
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
XgREFCLKSEL[0] - ‘0’ : Main clock source is from XsX TI N ,
‘1’ : Main clock source is from XsEXTC LK
XgREFCLKSEL[1] - ‘0’ : USB clock source is from XsXTIN
‘1’ : USB clock source is from XsEXT CLK
XgTMODE[3]
I‘0’ : PAD JTAG(Selection of ARM core boundary scan)
‘1’ : ARM JTAG(Selection of S3C24A0 boundary scan)
XgTMODE[2:1]
IThese signals must be reserved ‘00 ’
XgTMODE[0]
‘0’ : Normal Operation without NAND BOOT
‘1’ : Normal Operation with NAND BOOT
XgBATFLTn
IProbe for battery state (Does not wake up at Stop and Sleep mode in case of low
battery state)
XgPWROF F nO1.2V core power on-off control signal
XgMONHCLK
OHCLK clock monitoring. HCLK clock can be monitored through this pin when the
ClkMonOn bit in the CLKCON register is set.
1.3.1.9 Power -supply Groups
• VDD
SignalI/ODescription
XxVDDlogicPCore logic VDD (1.2V) for internal logic
XxVDDalivePS3C24A0 reset block and port status register VDD (1.2V).
It should be always supplied whether in normal mode or in Stop and Sleep mode.
XxVDDarmPCore logic VDD (1.2V) for CPU
XxVDDMpllPS3C24A0 MPLL analog and digital VDD (1.2 V).
XxVDDUpllPS3C24A0 UPLL analog and digital VDD (1.2V)
XxVDDpadIOPS3C24A0 I/O port VDD (3.3V)
XxVDDpadSDRAMPS3C24A 0 SDRAM memory IO VDD (3.3V)
XxVDDpadFlashPS3C24A0 NFLASH memory IO VDD (3.3V)
XxVDDpadUSBPS3C24A0 USB IO VDD (3.3V)
XrtcVDDPRTC VDD (3.3V)
(Although RTC function is not used, this pin should be conne cted to power)
XadcVDDPS3C24A0 ADC VDD(3.3V)
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
The base of all devices internal registers = 0x4000_0000
1.4.3.1 External Memory Interface
• NAND Flash Controller
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
NFCONF0x0C0_0000WR/WNAND Flash Configuration
NFCONT0x0C0_0004NAND Flash Control
NFCMMD0x0C0_0008NAND Flash Co mma nd
NFADDR0x0C0_000CNAND Flash Address
NFDATA0x0C0_0010NAND Flash Data
NFMECCDATA00x0C0_ 0014NAND Flash Main area ECC Data
reg.0
NFMECCDATA10x0C0_ 0018NAND Flash Main area ECC Data
reg.1
NFMECCDATA20x0C0_001CNAND Flash Main area ECC Data
reg.2
NFMECCDATA30x0C0_ 0020NAND Flash Main area ECC Data
reg.3
NFSECCDATA00x0C0_0024NAND Flash Spare area ECC Data
reg.1
NFSECCDATA10x0C0_0028NAND Flash Spare area ECC Data
reg.2
NFSTAT0x0C0_002CRNAND Flash Status
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
NFESTAT00x0C0_0030NAND Flash ECC Status 0 for I/O[7:0]
NFESTAT10x0C0_0034NAND Flash ECC Status 1 for
I/O[15:8]
NFMECC00x0C0_0038NAND Flash Main Area ECC reg.0
NFMECC10x0C0_003CNAND Flash Main Area ECC reg.1
NFSECC0x0C0_ 0040NAND Flash Spare area ECC reg.
NFSBLK0x0C0_0044R/WNAND Flash Start Block Address
NFEBLK0x0C0_0048NAND Flash End Block Address
• SROM Controller
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
SROM_BW0x0C2_0000WR/WSROM Bus width & wait control
SROM_BC00x0C2_0004SROM Bank0 Control register
SROM_BC10x0C2_0008SROM Bank1 Control register
SROM_BC20x0C2_000 CSROM Bank2 Control register
• SDRAM Controller
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
SDRAM_BANKCFG0x0C4_0000WR/WSDRAM Configuration
SDRAM_BANKCON0x0C4_0004SDRAM Control
SDRAM_REFRESH0x0C4_0008SDRAM Refresh Control
• BUS Matrix
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
PRIORITY00x0CE_0000WR/WPriority Control for SROMC/NFLASHC
PRIORITY10x0CE_0004Priority Control for SDRAMC
1.4.3.2 General Peripherals
• Interrupt Controller
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
SRCPND0x020_0000WR/WInterrupt Request Status
INTMOD0x020_0004Interrupt Mode Control
INTMSK0x020_0008Interrupt Mask Control
PRIORITY0x020_000CIRQ Priority Control
1-42
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
RTCCON0x420_0040BR/WRTC Control
TICINT0x420_0044Tick time count
RTCALM0x420_0050RTC Alarm Con trol
ALMSEC0x420_0054Alarm Second
ALMMIN0x420_0058Alarm Minute
ALMHOUR0x420_005CAlarm Hour
ALMDATE0x420_0060Alarm Day
ALMMON0x420_0064Alarm Month
ALMYEAR0x420_0068Alarm Year
RTCRST0 x420_006CRTC Round Reset
BCDSEC0x420_0070BCD Second
BCDMIN0x420_0074BCD Minute
BCDHOUR0x420_0078BCD Hour
BCDDATE0x420_007CBCD Day
BCDDAY0x420_0080BCD Date
BCDMON0x420_0084BCD Month
Function
BCDYEAR0x420_0088BCD Year
1.4.3.3 Serial Communication
• UART
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
ULCON00x440_000 0WR/ WUART 0 Line Control
UCON00x440_0004UART 0 Control
UFCON00x440_0008UART 0 FIFO Control
UMCON00x440_000CUART 0 Modem Control
UTRSTAT00x440_0010RUART 0 Tx/Rx Status
UERSTAT00 x440_001 4UART 0 Rx Error Status
UFSTAT00x440_0018UART 0 FIFO Status
UMSTAT00x440_001CUART 0 Modem Status
UTXH00x440_0020BWUART 0 Transmission Hold
URXH00x440_0024RUART 0 Receive Buffer
UBRDIV00x440_0028WR/ WUART 0 Baud Rate Divisor
ULCON10x440_400 0WR/ WUART 1 Line Control
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
UCON10x440_4004UART 1 Control
UFCON10x440_4008UART 1 FIFO Control
UMCON10x440_400CUART 1 Modem Control
UTRSTAT10x440_4010RUART 1 Tx/Rx Status
UERSTAT10 x440_4 014UART 1 Rx Error Status
UFSTAT10x440_4018UART 1 FIFO Status
UMSTAT10x440_401CUART 1 Modem Status
UTXH10x440_402 0BWUART 1 Transmission Hold
URXH10x440_402 4RUART 1 Receiv e Buffer
UBRDIV10x440_4028WR/ WUART 1 Baud Rate Divisor
• IIC-Bus Interface
Register Name
Offset
Acc.
Unit
Read/
Write
IICCON0x460_0000WR/ WIIC Control
IICSTAT0x460_0004IIC Status
IICADD0x460_0008IIC Address
IICDS0x460_000CIIC Data Shift
IICSDADLY0x460_00101-bitSDA Output Delay
• IIS-Bus Interface
Register Name
Offset
Acc.
Unit
Read/
Write
IISCON0x470_0000WR/WIIS Control
IISMOD0x470_0004WIIS Mode
IISPSR0x470_0008WIIS Prescaler
IISFCON0x470_000CWIIS FIFO Control
IISFIFO0x470_0010HWIIS FIFO Entry
• SPI Interface
Function
Function
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
SPCON00x45 0_0000WR/ WSPI Channel 0 Control
SPSTA00x450_0004RSPI Channel 0 Status
SPPIN00x450_0008R/WSPI Channel 0 Pin Control
SPPRE00x450_000CSPI Channel 0 Baud Rate Prescaler
SPTDAT00x450_0010SPI Channel 0 Tx Data
SPRDAT00x450_0014RSPI Channel 0 Rx Data
1-46
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
SPCON10x45 0_0020R /WSPI Channel 1 Control
SPSTA10x450_0024RSPI Channel 1 Status
SPPIN10x450_0028R/WSPI Channel 1 Pin Control
SPPRE10x450_002CSPI Channel 1 Baud Rate Prescaler
SPTDAT10x450_0030SPI Channel 1 Tx Data
SPRDAT10x450_0034RSPI Channel 1 Rx Data
• AC97 Audio-CODEC Interface
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
AC_GLBCTRL0x500_0000WR/ WAC97 Global Control
AC_GLBSTAT0x500_0004RAC97 Global Status
AC_CODEC_CMD0x500_0008R/WAC97 Codec Command
AC_CODEC_STAT0x500_0 00CRAC97 Codec Status
AC_PCM_ADDR0x500_0010RAC97 PCM Out/In Channel FIFO Address
AC_MICADDR0x500_001 4RAC97 Mic In Channel FIFO Address
AC_PCMDATA0x500_0018R/WAC97 PCM Out/In Channel FIFO Data
AC_MICDATA0x500_001CR/WAC97 Mic In Channel FIFO Data
• USB Host
Register Name
Offset
Acc.
Unit
Read/
Write
Function
HcRevision0x100_0000WControl and Status Group
HcControl0x100_0004
HcCommonStatus0x100_0008
HcInterruptStatus0x100_000C
HcInterruptEnable0x100_0010
HcInterruptDisable0x100_0014
HcHCCA0x100_0018Memory Pointer Group
HcPeriodCuttentED0x100_001C
HcControlHeadED0x100_0020
HcControlCurrentED0x100_0024
HcBulkHeadED0x100_0028
HcBulkCurrentED0x100_002C
HcDoneHead0x100_0030
HcRmInterval0x100_0034Frame Counter Group
HcFmRemaining0x100_0038
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
HcLSThreshold0x100_0044
HcRhDescriptorA0x100_0048Root Hub Group
HcRhDescriptorB0x100_004C
HcRhStatus0x100_0050
HcRhPortStatus10x100_0054
HcRhPortStatus20x100_0058
• USB Device
Register Name
Offset
Acc.
Unit
Read/
Write
Function
FUNC_ADDR_REG0x4A0_0140BR/WFunction Address
PWR_REG0x4A0_0144Power Management
EP_INT_REG0x4A0_0148EP Interrupt Pending and Clear
USB_INT_REG0x4A0_0158USB Interrupt Pending and Clear
EP_INT_EN_REG0x4A0_015CInterrupt Enable
USB_INT_EN_REG0x4A0_016CI nterrupt Enbale
FRAME_NUM1_REG0x4A0_017 0RFrame Number Lower Byte
INDEX_REG0x4A0_0178R/WRegister Index
EP0_CSR0x4A0_0184Endpoint 0 Status
IN_CSR1_REG0x4A0_0184In Endpoint Control Status
IN_CSR2_REG0x4A0_0188In Endpoint Control Status
MAXP_REG0x4A0_0180Endpoint Max Packet
OUT_CSR1_REG0x4A0_0190Out Endpoint Control Status
OUT_CSR2_REG0x4A0_0194Out Endpoint Control Status
OUT_FIFO_CN T1_REG0x4A0_0198REndpoint Out Write Count
OUT_FIFO_CN T2_REG0x4A0_019CEndpoint Out Write Count
EP0_FIFO0x4A0_01C0R/ WEndpoint 0 FIFO
EP1_FIFO0x4A0_01C4Endpoint 1 FIFO
EP2_FIFO0x4A0_01C8Endpoint 2 FIFO
EP3_FIFO0x4A0_01CCEndpoint 3 FIFO
EP4_FIFO0x4A0_01D0Endpoint 4 FIFO
EP1_DMA_CON0x4A0_0200EP1 DMA Interface Control
EP1_DMA_UNIT0x4A0_0204EP1 DMA Tx Unit Counter
EP1_DMA_FIFO0x4A0_0208EP1 DMA Tx FIFO Counter
EP1_DMA_TTC_L0x4A0_020CEP1 DMA Total Tx Counter
1-48
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
EP1_DMA_TTC_M0x 4A 0_021 0EP1 DMA Total Tx Counter
EP1_DMA_TTC_H0x4A0_0214EP1 DMA Total Tx Counter
EP2_DMA_CON0x4A0_0218BR/WEP2 DMA Interface Control
EP2_DMA_UNIT0x4A0_021CEP2 DMA Tx Unit Counter
EP2_DMA_FIFO0x4A0_0220EP2 DMA Tx FIFO Counter
EP2_DMA_TTC_L0x4A0_0224EP2 DMA Total Tx Counter
EP2_DMA_TTC_M0x 4A 0_022 8EP2 DMA Total Tx Counter
EP2_DMA_TTC_H0x4A0_022CEP2 DMA Total Tx Counter
EP3_DMA_CON0x4A0_0240EP3 DMA Interface Control
EP3_DMA_UNIT0x4A0_0244EP3 DMA Tx Unit Counter
EP3_DMA_FIFO0x4A0_0248EP3 DMA Tx FIFO Counter
EP3_DMA_TTC_L0x4A0_024CEP3 DMA Total Tx Counter
EP3_DMA_TTC_M0x 4A 0_025 0EP3 DMA Total Tx Counter
EP3_DMA_TTC_H0x4A0_0254EP3 DMA Total Tx Counter
EP4_DMA_CON0x4A0_0258EP4 DMA Interface Control
EP4_DMA_UNIT0x4A0_025CEP4 DMA Tx Unit Counter
EP4_DMA_FIFO0x4A0_0260EP4 DMA Tx FIFO Counter
EP4_DMA_TTC_L0x4A0_0264EP4 DMA Total Tx Counter
EP4_DMA_TTC_M0x 4A 0_026 8EP4 DMA Total Tx Counter
EP4_DMA_TTC_H0x4A0_026CEP4 DMA Total Tx Counter
• IrDA
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
IrDA _CNT0x180_000 0WR/WIrDA Control r
IrDA_MDR0x180_0004IrDA Mode Definition
IrDA_CNF0x180_0008IrDA Interrupt / DMA Configuration
IrDA _IER0x180_000CIrDA Interrupt Enable
IrDA _IIR0x 180_0010RI rDA Interrupt Identification
IrDA _LSR0x180_0014IrDA Line Status
IrDA _FCR0x180_0018R/WIrDA FIFO Control
IrDA _PLR0x180 _001CIrDA Preamble Length
IrDA_RBR0x180_0020IrDA Receiver & Transmitter Buf fer
IrDA_TXNO0x180_0024RThe total number of data bytes remained in Tx
FIFO
IrDA_RXNO0x180_0028The total number of data bytes remained in Rx
IrDA _RXFLH0x180_0038IrDA Receive Frame-Length Register High
1.4.3.4 Parallel Communication
• Modem Interface
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
INT2AP0x 118_0 000WR/WInterrupt Request to AP Register
INT2MDM0 x118_0 004Interrupt request to MODEM Register
• GPIO
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
GPCON_U0x480_0000WR/WGPIO Ports Configuration Register
GPCON_M0x480_0004GPIO Ports Configuration Register
GPCON_L0x480_0008GPIO Ports Configuration Register
GPDAT0x480_000CGPIO Ports Data Register
GPPU0x480_0010GPIO Ports Pull-up Control Register
EXTINTC00x480_0018External Interrupt Control Register 0
EXTINTC10x480_001CExternal Interrupt Control Register 1
EXTINTC20x480_0020External Interrupt Control Register 2
EINTFLT00x480_0024External Interrupt Filter Control Register 0
EINTFLT10x480_0028External Interrupt Filter Control Register 1
EINTMASK0x480_0034External interupt mask Register
EINTPEND0x480_0038External Interupt Pending Register
PERIPU0x480_0040Peri. Ports Pull-up Control Register
ALIVECON0x480_0044Alive Control Register
GPDAT_SLEEP0x480_0048GPIO Output Data for Sleep Mode
GPOEN_SLEEP0x480_004CGPIO Output Enable Control for Sleep Mode
GPPU_SLEEP0x480_0050GPIO Pull-up Control Register for Sleep Mode
PERIDAT_SLEEP00x480_0054Peri. Ports Out put Data Control Register 0 for
sleep mode
PERIDAT_SLEEP10x480_0058Peri. Ports Out put Data Control Register 1 for
sleep mode
PERIOEN_SLEEP00x480_005CPeri. Ports Output Control Register 0 for sleep
mode
PERIOEN_SLEEP10x480_0060Peri. Ports Output Control Register 1 for sleep
mode
1-50
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
DMA
CIPRTRGFMT0x800_007CTarget image format of preview DMA
CIPRCTRL0x800_0080Preview DMA control related
CIPRSCPRERATIO0x800_0084Preview pre-scaler ratio control
CIPRSCPREDST0x800_0088Preview pre-scaler destination format
CIPRSCCTRL0 x800_ 008CPreview main-scaler control
CIPRTAREA0x800_0090Preview pre-scaler destination format
CIPRSTATUS0x800_0098RPreview path status
CIIMGCPT0 x800_00A0R/ WImage capture enable command
• Video POST
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
MODE0xA10_0000WR/WMode Register [9:0]
PreScale_Ratio0xA10_0004Pre-Scale ratio for vertical and horizontal.
PreScaleImgSize0xA10_0008Pre-S caled image size
SRCImgSize0xA10_000CSource image size
MainScale_H_Ratio0xA10_0010Main scale ratio along to horizontal direction
MainScale_V_Ratio0xA10_0014Main scale ratio along to vertical direction
DSTImgSize0xA10_0018Destination image size
PreScale_SHFactor0xA10_001CPre-scale shift factor
ADDRStart_Y0xA10_0020DMA Start address for Y or RGB component
ADDRStart_Cb0xA10_0024DMA Start address for Cb component
ADDRStart_Cr0xA10_0 028DMA Start address for Cr component
ADDRStart_RGB0xA10_0 02CDMA Start address for RGB component
ADDREnd_Y0xA10_0030DMA End address for Y or RGB component
ADDREnd_Cb0xA10_0034DMA End address for Cb component
ADDREnd_Cr0xA10_0038DMA End address for Cr component
ADDREnd_RGB0xA10_003CDMA End address for RGB component
Offset_Y0xA10_0040Offset of Y component for fetching source image
Offset_Cb0xA10_0044Offset of Cb component for fetching source image
Offset_Cr0xA10_0048Offset of Cr component for fetching source image
Offset_RGB0xA10_004COffset of RGB component for restoring destination
image
1-52
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
VLC_CON30x940_0018VLC result extern al address
VLC_CON40x940_001CReserved
VLD_CON10x940_0020Control register in VLD mode
VLD_CON20x940_0024VLCed bit stream start address
VLD_CON30x940_0028Reserved
VLX_OUT10x940_002CRVLX output information register 1
VLX_OUT20x940_0030VLX output information register 2
1.4.3.6 Display Control
• TFT LCD Controller
RegisterOffsetAcc.
R/W
Function
Unit
LCDCON10xA00_0000WR/WLCD Control 1
LCDCON20xA00_0004R/WLCD Control 2
LCDTCON10xA00_0008R/ WLCD Time Control 1
LCDTCON20xA00_000CR/WLCD Time Control 2
LCDTCON30xA00_0010R/ WLCD Time Control 3
LCDOSD10xA00_0014R/WLCD OSD Control Register
LCDOSD20xA00_0018R/WForeground image(OSD Image) Left top position set
LCDOSD30xA00_001CR/WForeground image(OSD Image) Right Bottom position
LCDKEYVAL0xA00_0058R/WCOLOR KEY Control 2
LCDBGCON0xA00_00 5CR/WBack-ground color Control
LCDFGCON0xA00_0060R/ WFore-ground color Control
LCDDITHCON0xA00_0064R/WLCD Dithering Control for Active Matrix
1.4.3.7 Input Devices
• Keypad Interface
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
KEYDAT0x490_0000WR/WThe data register for KEYPAD input
KEYINTC0x490_0004KEYPAD input ports Interrupt Control
KEYFLT00x490_0008KEY PAD Input Filter Control
KEYFLT10x490_000CKEY PAD Input Filter Control
KEYMAN0x490_0010KEYPAD manual scan control
• Analog-to-Digital Converter and Touch Screen Interface
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
ADCCON0x580_0000WR /WADC Control
ADCTSC0x580_0004ADC Touch Screen Control
ADCDLY0x580_0008ADC Start or Interval Delay
ADCDAX0x580_000CRADC Conversion Data Register X
ADCDAY0x580_0010ADC Conversion Data Register Y
1.4.3.8 Storage Devices
• SD and SDIO / MMC
Register Name
Offset
Acc.
Unit
Read/
Write
Function
SDICON0 x600_000 0WR/WSDI Control
SDIPRE0x600_ 0004SDI Buad Rate Prescaler
SDICARG0x600_0008SDI Command Argument
SDICCON0x60 0_000CSDI Command Control
SDICSTA0x600_0010R/(C)SDI Command Status
SDIRSP00x600_0014RSDI Response
SDIRSP10x600_0018SDI Response
SDIRSP20x600_001CSDI Response
SDIRSP30x600_0020SDI Response
SDIDTIMER0x600_0024R/ WSDI Data / Busy Timer
1-56
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
SDIDCNT0x600_0030RSDI Data Remain Counter
SDIDSTA0x600_0034R/(C)SDI Data Status
SDIFSTA0x600_0038R/(C)SDI FIFO Status
SDIIMSK0x600_003CR/WSDI Interrupt Mask
SDIDAT00x600_0040B,HW,WSDI Data0
SDIDAT10x600_0044WSDI Data1
SDIDAT20x600_0048SDI Data2
SDIDAT30x600_004CSDI Data3
• Memory Stick
Register Name
Offset
Acc.
Unit
Read/
Write
Function
MSPRE0x610_0000WR/WPrescaler Control
MSFINTCON0x610_0004FIFO Interrupt Control
TP_CMD0x610_8000Transfer Protocol Command
CTRL_STA0x610_8004Command and Status
DAT_FIFO0x610_8008Data FIFO
INTCTRL_STA0x610_800CInterrupt Control and Status
INS_CON0x610_8010INS Port Control
ACMD_CON0x61 0_8014Auto Command and Polarity Control
ATP_CMD0x610_ 8018Auto Transfer Protocol Command
1.4.3.8 System Management
• PLL Clock Control and Power Management
Register
Name
Offset
Acc.
Unit
Read/
Write
Function
LOCKTIME0x000_ 0000WR/WPLL Lock Time Counter
OSCWSE T0x000_0004OSC settle-down wait time setting
MPLLCON0x000_0010MPLL Configuration
UPLLCON0x000_0014UPLL Configuration
CLKCON0x000_0020Clock Generator Control
CLKSRC0x000_ 0024Slow Clock Control
CLKDIVN0x0 00_0028Clock divider Control
PWRMAN0x000_0030Power Management
SOFTRESET0x0 00_0038Software Reset
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
1. The special registers have to be accessed by the recommended access unit.
2. All registers except ADC registers, RTC registers and UART registers must be read/written in word unit (32bit)
at little/big endian.
3. It is very important that the ADC registers, RTC registers and UART registers be read/written by the specified
access unit and the specified address. Moreover, one must carefully consider which endian mode is used.
4. W : 32-bit register, which must be accessed by LDR/STR or int type pointer(int *).
HW : 16-bit register, which must be accessed by LDRH/STRH or short int type pointer(short int *).
B : 8-bit register, which must be accessed by LDRB/STRB or char type pointer(char int *).
.
1-58
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORSROM CONTROLLER
SROM CONTROLLER(Preliminary)
OVERVIEW
S3C24A0 support external 16-bit bus for NAND Flash/ NOR Flash/ PROM/ SRAM external memory. It’s not
shared with SDRAM bus and support up to 3 Bank for one controller. From now on, we call this controller as
SROM Controller.
Below figure show the Address Map configuration of S3C24A0 SROM Controller. S3C24A0 SROM Controller
has 3 kinds of configuration. If user want to use NAND boot loader, it’ll be selected the third configuration
which stepping stone (SRAM 4KB) is on the 0x00000000. And If user want to use ROM type boot, it’ll be
selected the first or second configuration by selecting SFR (Special Function Register) of SROM Controller. In
this case user can use NAND Flash Memory for other usage. At the first configuration, Stepping Stone is us ed
just for buffer of any master.
0xFFFF_FFFF
0x5000_0000
0x4000_0000
0x2000_0000
0x1000_0000
0x0c00_0000
0x0800_0000
0x0400_0000
0x0000_0000
SROM_BW[9] = 0
TMODE[2:0] = 000
Reserved
AHB/APB SFRs
ReservedReservedReserved
SDRAM
(BANK0/1)
SRAM Buffer
(4KB, No CS)
SROM
(BANK2, XrCSn2)
SROM
(BANK1, XrCSn1)
SROM
(BANK0, XrCSn0)
[Not using NAND flash for boot R OM]
SROM_BW[9] = 1
TMODE[2:0] = 000
ReservedReserved
AHB/APB SFRsAHB/APB SFRs
SDRAMSDRAM
(BANK0/1)(BANK0/1)
ReservedReserved
Stepping stone
(4KBytes)
SROM
(BANK1, XrCSn1)(BANK1, XrCSn1)
SROM
(BANK0, XrCSn0)
NOTES:
1. SROM means ROM or SRAM type memory.
2. SFR means Special Function Register.
TMODE[2:0] = 001
(BANK2, XrCSn2)
[Using NAND flash for boot ROM]
SROM
SROM
Stepping stone
(4KBytes)
256MB
256MB
64MB
64MB
64MB
64MB
Assigned
for
Special Function
Registers
Assigned
for
SDRAM Bank0/1
Accessible Region
Assigned
for
SROM Bank0/1/2
Accessible Region
Figure 2-1. SROM Controller Address Mapping
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
2-1
BSW rv0.1-0417-N01
SROM CONTROLLERS3C24A0 RISC MICROPROCESSOR
FEATURE
-Supports SRAM, v arious RO Ms and NOR flash memory
-Supports only 8 or 16-bit data bus
-Address s pac e : Up to 64MB per Bank
-Supports 3 bank s (XrCSn[2:0])
Boot by NAND Flash Memory : XrCSn0’s owner is not SROM Controller but NAND Controller.
Boot by other Memory (Nor Flash or ROM): XrCSn2’s owner is either SROM Controller or NAND
Controller (User can choose it by setting SFR).
-Fixed memory bank start addres s
-External wait to extend the bus c yc le
-Support byte, half-word and word access for external memory
BLOCK DIAGRAM
AHB I/F for SROM SFR
AHB I/F for SROM MEM
SFR
SROM
DECODER
CONTROL &
STATE MACHINE
Figure 2-2 SROM Controller Block Diagram
SROM I/F
SINGAL
GENERATO
N
SROM MEM I/F
2-2
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORSROM CONTROLLER
FUNCTION DESCRIPTION
SROM Controller support SROM interface for Bank0 to Bank2. In case of NAND boot, SROM controller can’t
control Bank0 because of its mastership is on NAND Flash Controller. In c ase of ROM boot, as it mentioned
before, it is possibl e that Bank2’s master is NAND Flash Controller by setting of users.
Address-bus : 26-bit
Data-bus : 8/16
SRAM/ROM/
NOR FLASH/
NAND FLASH
BANK0
SROM
CONTROLLER
Figure 2-3 Memory Interface Block Diagram
SRAM/ROM/
NOR FLASH
MEMORY BUS #1
SRAM/ROM/
NOR FLASH
/NAND FLASH
BANK1
BANK2
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
2-3
BSW rv0.1-0417-N01
SROM CONTROLLERS3C24A0 RISC MICROPROCESSOR
XrWAITn PIN OPERATION
If the WAIT corresponding to each memory bank is enabled, the XrOEn duration should be prolonged by the
external Xr WAITn pin while the memory bank is active. XrWAITn is checked from Tacc-1.
The XrOEn will be deasserted at the next clock after s ampling XrWAITn is high. The XrWEn signal have the same
relation with XrOEn.
HCLK
XrADDR
[25:0]
XrCSn
[2:0]
XrOEn
XrWAITn
XrDATA
[15:0]
(R)
Tacs
Tacc=4
Tcos
Figure 2-4 XrWAITn pin operation
Delayed
Sampling XrWAITn
2-4
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORSROM CONTROLLER
PROGRAMMABLE ACCESS CYCLE WRITE TO READ WAVEFORM
HCLK
XrADDR
[25:0]
XrCSn
[2:0]
Tacs
Tcos
Tcah
XrOEn
XrWEn
XrnWBE
[1:0]
XrDATA
[15:0]
(R)
XrDATA
[15:0]
(W)
T
acc
Tacs = 1 cycle
Tcos = 1 cycle
Tacc = 2 cycles
Tcoh = 1 cycle
Tcah = 2 cycles
Figure 2-4 Programmable access cycle
Tcoh
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
2-5
BSW rv0.1-0417-N01
SROM CONTROLLERS3C24A0 RISC MICROPROCESSOR
SPECIAL FUNCTION REGISTERS
SROM BUS WIDTH & WAIT CONTRL REGISTER(SROM_BW)
RegisterAddressR/WDescriptionReset Value
SROM_BW
0x40C20000R/W
SROM_BWBitDescriptionInitial State
Reserved
BankNum
[15:9]
[9]
Reserved
0 = XrCSn2’s owner is SROM Controller (In this case Stepping
Stone is just used as 4KB SRAM buffer)
1 = XrCSn2’s owner is NAND Flas h Controller
ST2
[8]
This bit determines SRAM for using UB/LB for bank2
SROM Bus width & wait control
0x000x
0x00
0x00
0
WS2
DW2
ST1
WS1
DW1
ST0
WS0
DW0
[7]
[6]
[5]
[4]
[3]
[2]
[1]
[0]
0 = Not using UB/LB (XrnWBE[1:0] is dedicated nWBE[1:0])
1 = Using UB/LB (XrnWBE[1:0] is dedicated nBE[1:0]
This bit determines WAIT status for bank2
0 = WAIT disable1 : WAIT enable
Indicates data bus width for bank2
0 = 8-bit1 : 16-bit
This bit determines SRAM for using UB/LB for bank1
0 = Not using UB/LB (XrnWBE[1:0] is dedicated nWBE[1:0])
1 = Using UB/LB (XrnWBE[1:0] is dedicated nBE[1:0]
This bit determines WAIT status for bank1
0 = WAIT disable1 : WAIT enable
Indicates data bus width for bank1
0 = 8-bit1 : 16-bit
This bit determines SRAM for using UB/LB for bank0
0 = Not using UB/LB (XrnWBE[1:0] is dedicated nWBE[1:0])
1 = Using UB/LB (XrnWBE[1:0] is dedicated nBE[1:0]
This bit determines WAIT status for bank0
0 = WAIT disable1 : WAIT enable
Indicates data bus width for bank0 (read only)
0
0
0
0
0
0
0
H/W Set
0 : 8-bit1 : 16-bit
* DW0 is read only. The value is written by external configuration pin(XfNFBW)
2-6
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORSROM CONTROLLER
SROM BANK CONTROL REGISTER (SROM_BC : XrCSn0 ~ XrCSn2)
RegisterAddressR/WDescriptionReset Value
SROM_BC0
0x40C20004R/W
SROM Bank0 control register
0x0700
SROM_BC1
SROM_BC2
0x40C20008R/W
0x40C2000CR/W
SROM Bank1 control register
SROM Bank2 control register
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
2-7
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORSDRAM CONTROLLER
3SDRAM CONTROLLER (Preliminary)
OVERVIEW
The S3C24A0 SDRAM Controller has the following features:
• SDRAM
− Supports 16-bit or 32-bit data bus
− Supports 2 banks: XpCSN[1:0]
− 16-bit Refresh Timer
− Self Refresh Mode
− Programmable CAS Latency
− Provide Write buffer (4word size x2)
− Provide long burst(INCR8,16 & WRAP8,16) transfer
− Provide Power Down Mode
− Support mobile SDRAM
− Support extended MRS set (EMRS)
- DS , TSCR, PASR
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
3-1
BSW rv0.1-0417-N01
SDRAM CONTROLLERS3C24A0 RISC MICROPROCESSOR
SELECTION OF SDRAM
We recommanded select one of the SDRAM configurations in Table 3-1. And, each two banks should have same
bus width.
Table 3- 1. Supported SDRAM configuration
Total SizeBus WidthBase ComponentMemory ConfigurationBank Address
4MBx3216Mb(512Kbit x 16bit x 2Bank) x 2eaA13
8MB64Mb(512K x 32 x 4) x 1A[14:13]
16Mb(1M x 8 x 2) x 4A13
16MB128Mb(1M x 32 x 4) x 1A[14:13]
64Mb(1M x 16 x 4) x 2A[14:13]
32MB256Mb(2M x 32 x 4) x 1A[14:13]
128Mb(2M x 16 x 4) x 2A[14:13]
64Mb(2M x 8 x 4) x 4A[14:13]
64MB256Mb(4M x 16 x 4) x 2A[14:13]
128Mb(4M x 8 x 4) x 4A[14:13]
512Mb(4M x 32 x 4) x 1A[14:13]
128MB256Mb(8M x 8 x 4) x 4A[14:13]
512Mb(8M x 16 x 4) x 2A[14:13]
2MBx1616Mb(512K x 16 x 2) x 1A13
4MB16Mb(1M x 8 x 2) x 2A13
8MB64Mb(1M x 16 x 4) x 1A[14:13]
16MB128Mb(2M x 16 x 4) x 1A[14:13]
64Mb(2M x 8 x 4) x 2A[14:13]
32MB256Mb(4M x 16 x 4) x 1A[14:13]
128Mb(4M x 8 x 4) x 2A[14:13]
64MB256Mb(8M x 8 x 4) x 2A[14:13]
512Mb(8M x 16 x 4) x 1A[14:13]
SELF REFRESH
The S3C24A0 provides the auto refresh and self refresh command to sustain the contents of SDRAM. The auto
refresh is issued to SDRAM periodically when refresh timer is expired. The self refresh is entered and exited by
request of on-chip power manager.
3-2
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORSDRAM CONTROLLER
SDRAM INITIALIZATION SEQUENCE
On power-on reset, software must initialize the memory controller and each of the SDRAM connected to the
controller. Refer to the SDRAM data sheet for the start up procedure, and examples sequence is given below:
1.Wait 200us to allow SDRAM power and clock stabilize.
2.Program the INIT[1:0] to ‘01b’. This automatically issues a PALL(pre-charge all) cammand to the
SDRAM.
3.Write ‘0x20’ into the refresh timer register. This provides a refresh cycle every 32-clock cycles.
4.Wait for a time period equivalent to 128-clock cycles (4 refresh cycles).
5.Program the normal operational value into the refresh timer..
6.Program the configuration registers to their normal operation values.
7.Program the INIT[1:0] to ‘10b’. This automatically issues a MRS command to the SDRAM.
8.Mobile only Program the INIT[1:0] to ‘11b’. This automatically issues a EMRS command to the SDRAM.
9.Program the INIT[1:0] to ‘00b’. The controller enters the normal mode.
10. The SDRAM is now ready for normal operation.
Note : If you issue MRS after issuing EMRS, EMRS value will be reset . So you have to issue EMRS after
issuing MRS.
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
10 = 128Mbit11 = 256Mbit and 512Mbit
SDRAM base component density of bank 0
DENSITY0[5:4]
00 = 16Mbit01 = 64Mbit
00b
10 = 128Mbit11 = 256Mbit and 512Mbit
CL[3:2]
AP[1]
DW[0]
Note: SDRAM_BANKCFG register should not be written when the SDRAM controller is busy. The controller status bit, BUSY
in SDRAM_BANKCON register, can be used to check if the controller is idle.
Auto pre-charge control
0 = enable auto pre-charge1 = disable auto pre-charge
Determine data bus width
0 = 32-bit1 = 16-bit
11b
10b
00b
SDRAM CONTROL REGISTER
RegisterAddressR/WDescriptionReset Value
SDRAM_BANKCON0x40C40004R/WPort 1 SDRAM control register0x00
SDRAM_BANKCONBitDescriptionInitial State
Reserved[31:4]Reserved0b
BUSY[3]
SDRAM controller status bit (read only)
0 = IDLE1 = BUSY
0b
Write buffer control
0 = Disable1 = Enable
WBUF[2]
Note:
buffer is disabled, data is written to the external SDRAM memory
immediately. If write buffer is enabled, data is flushed to the external
SDRAM memory when write buffer is full.
Write buffer mentioned above is in SDRAM controller. If write
SDRAM_REFRESH0x40C40008R/ WSDRAM refresh control register0x0020
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
3-7
BSW rv0.1-0417-N01
SDRAM CONTROLLERS3C24A0 RISC MICROPROCESSOR
SDRAM_REFRESHB itDescriptionInitial State
SDRAM refresh cycle.
Example: Refresh period is 15.6us, and HCLK is 66MHz. The
REFCYC
[15:0]
value of REFCYC is as follows:
REFCYC = 15.6 x 10
-6
x 66 x 106= 1029
100000b
NOTES
3-8
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORNAND FLASH CONTROLLER
NAND FLASH CONTROLLER (PRELIMINARY)
OVERVIEW
Recently, a NOR flash memory gets high in price while an SDRAM and a NAND flash memory get moderate,
motivating some users to execute the boot code on a NAND flash and execute the main code on an SDRAM.
S3C24A0 boot code can be executed on an external NAND flash memory. In order to support NAND flash boot
loader, the S3C24A0 is equipped with an internal SRAM buffer called ‘Steppingstone’. When booting, the first 4
KBytes of the NAND flash memory will be loaded into Steppingstone and the boot code loaded into Steppingstone
will be executed.
Generally, the boot code will copy NAND flash content to SDRAM. Using hardware ECC, the NAND flash data
validity will be checked. Upon the completion of the copy, the main program will be executed on the SDRAM.
FEATURES
— Support up to 2Gbit Nand Flash Memory.
— Support 256/512/1K/2K byte page, 3,4 or 5 address cycle NAND Flash memory
— Auto boot mode : The boot code is transferred into Steppingstone during reset. After the transfer, the boot
code will be executed on the Steppingstone.
— Auto load mode : Support automatically one or more page load from Flash Memory to Steppingstone
— Auto store mode : Support automatically one page store to Flash Memory from Steppingstone
— Software mode : User can directly ac c es s NAND flas h memory, for example this feature c an be us ed in
read/erase/program NAND flash memory
— Memory bus interfac e : 8 / 16-bit NAND flash memory interface bus
— Hardware ECC generation, detection and indication (Software correction)
— SFR I/F : Support Little Endian Mode, Byte/half word/word access
— SteppingStone I/F : Support Little Endian, Byte/half word/word access
— The Steppingstone 4-KB internal SRAM buffer can be used for another purpose after NAND flash booting
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
4-1
BSW rv0.1-0417-N01
NAND FLASH CONTROLLERS3C24A0 RISC MICROPROCESSOR
PIN CONFIGURATION
Here is a configuration of NAND Flash Controller of S3C24A0. Users can select configuration of NAND Flash
Memory according to the table below. There is some differences between conventional NAND Flash Memory and
New Advance Flash Memory. So users have to select the configuration properly.
Table 4-1 Advance NAND Flash Controller Configuration (word means 16-bit in this table)
4-2
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORNAND FLASH CONTROLLER
BLOCK DIAGRAM
nCE
ECC Gen.
NAND FLASH
SFR
CONTROL &
AHB
Slave I/F
SYSTEM BUS
STATE MACHINE
INTERFACE
CLE
ALE
nRE
nWE
R/nB0
R/nB1
I/O0~I/O15
SteppingStone
Controller
SteppingStone
(SRAM : 4KB)
Figure 4-1 NAND Flash Controller Block Diagram
BOOT LOADER FUNCTION
When power-on or system reset is occurred, the NAND Flash c ontroller loads automatically the 4-KBytes boot
loader codes. After loading the boot loader codes, the boot loader code is executed on the steppingstone.
Figure 4-3 des c ribes all op eration modes of the NAND Flash controller. The NAND Flash controller controls the
Auto load and store page(s) by using the steppingstone automatically in auto load or s tore mode. In s oftware
mode, you can access the NAND Flash Memory directly using the command, addres s an d data regis t er.
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
ADDRESS
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORNAND FLASH CONTROLLER
AUTO LOAD MODE
Auto load function supports automatically load the page(s) of the NAND Flash Memory to steppings tone up to
4KBytes. You can specify the load start address of the steppingstone and how many pages are loaded.
AUTO LOAD PROGRAMMING GUIDE
1) Set command (read command), address (of the page you read), and configuration and control value.
2) Set the MODE bit of the controller register to 0b01(auto load start)
3) Once you set the MODE bit to auto mode, the NAND Flash controller automatically load the page(s) you
specify from the NAND Flash Memory.
4) When auto loading is completed, the MODE is reset to 0b00 and the LoadDone bit of the status register
is set. Also you can know this event by using auto load done interrupt
NOTE: The NAND Flash Controller only load main area data (256 or 512 bytes), not the spare area data. So
you need to access the spare area, you have to use the software mode (refer to the Software mode).
Auto store function supports automatically store a page from the steppingstone to the NAND Flash Mem ory. You
can specify the store start address of the steppingstone. In auto s tore mode, only one page store is supported.
AUTO STORE PROGRAMMING GUIDE
1) Set command (1
2) Set MODE bit of the controller register to 0b10(auto store start)
3) Once you set MODE bit to the auto store mode, the NAND Flash controller automatically store a page to
the NAND Flash Memory.
st
program command), address (of the page you store), configuration and control value.
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
4-5
BSW rv0.1-0417-N01
NAND FLASH CONTROLLERS3C24A0 RISC MICROPROCESSOR
4) When auto storing is completed, the MODE is reset to 0b00 and the StoreDone bit of the status register
is set. Also you can know this event by using auto store done interrupt
NOTE: The NAND Flash Controller only store main area data (256 or 512 bytes), not the spare area data. So
you need to access the spare area, you have to use the software mode (refer to the Software mode).
HCLK
Flash_nWE
Flash_I/O
Flash_RnB
TWRPH0TWRPH1
1st DATA2nd DATAN-1th DATANth DATA
TWRPH0TWRPH0TWRPH1TWRPH0TWRPH1
Figure 4-6 NAND Flash Controller Auto Store Timing Diagram (TWRPH0 =0, TWRPH1 = 0)
SOFTWARE MODE
In the software mode, you can fully access the NAND Flash controller. The NAND Flash Controller supports
direct access interface with the NAND Flash Controller.
1) The writing to the command register = the NAND Flash Memory command cycle
2) The writing to the address register = the NAND Flash Memory the address cycle
3) The writing to the data register = write data to the NAND Flash Memory (write cycle)
4) The reading from the data register = read data from the NAND Flash Memory (read cycle)
5) The reading main ECC registers and Spare ECC registers = read data from the NAND Flash Memory
NOTE: In the software mode, you have check the Flash_RnB status input pin by using polling or interrupt.
4-6
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORNAND FLASH CONTROLLER
STEPPING STONE (4K-Byte SRAM)
The NAND Flash controller uses Steppingstone as the buffer in the auto load and store mode. Also you can use
this area for another purpose, if you don’t use auto load and store function.
For the best performance, if you need to move the content of the NAND Flash Memory to SDRAM, We
recommend that you use DMA burst transfer(source address : Steppingstone, destination address : SDRAM).
The NAND Flash Controller supports that the NAND Flash controller and other masters can access the
steppingstone concurrently.
For example, 1K-byte of the steppingstone area have valid data, and the NAND Flash Controller is moving data
from the NAND Flash Memory to Steppingstone(Area : 1K ~ 4K-Byte). You can move 0 ~ 1K-Byte data to the
other memory area using DMA burst transfer(DMA burst tranfer is the best solution for the high speed).
ERROR CORRECTION CODE
NAND Flash controller has four ECC (Error Correction Code) modules. The two ECC modules (one for data[7:0]
and the other for data[15:8]) can be used for (up to) 2048 bytes ECC Parity code generation, and the others(one
for data[7:0] and the other for data[15:8]) can be used for (up to) 16 bytes ECC Parity code generation.
1) In auto load & auto store mode, ECC module generates automatically ECC parity code.
2) In software mode, ECC generation is controlled by the ECC Lock (MainECCLock, SpareECCLock) bit of
the Control register.
ECC PROGRAMMING GUIDE
1) In auto store mode
In auto store mode, ECC module generates automatically ECC parity code for main data(256 or 512
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
4-7
BSW rv0.1-0417-N01
NAND FLASH CONTROLLERS3C24A0 RISC MICROPROCESSOR
bytes), not for spare area data. After auto store is completed, you may need to recode the ECC parity
code generated to the spare area of NAND Flash Memory. In this case, you just do read the first, second
and third ECC status registers and writes to the spare area.
2) In auto load mode
In auto load mode, ECC module also generates automatic ally ECC parity c ode for main data. After auto
load is completed, you may need to check that the content of NAND flash memory have no bit error. In
this case, you just do read the first, second and third ECC value from the spare area through the main
data area ecc0, ecc1 and ecc2 register.
3) In Software mode
A.In software mode, ECC module generates ECC parity code for all read / write data. So you have to
reset ECC value before read or write data using the InitECC bit of the Control register and have to
set the MainECCLock bit of the control register to ‘0’. MainECCLock and SpareECCLock bit control
whether ECC Parity code is generated or not.
B.After you reset ECC parity code. Whenev er you read or write data, the ECC module generate ECC
parity code on this data.
C.After you finished read or write all page data. Set the MainECCLock bit to ‘1’. ECC Parity code is
locked and the value of the ECC status register isn’t changed. From now as described in auto s tore
& load mode, you can use these values to rec ord to the spare area or c hec k the bit error.
NAND FLASH MEMORY CONFIGURATIONS
Figure 4-7 ~ Figure 4-9 discribe the configuration of NAND flash memory. If you use NAND flash memory as a
boot memroy, you can use one of the these memory configruration. But if you use NAND flash memory as a I/O
memory not a boot memory, you have to connect nGCS[0] signal to Boot ROM memory. In these case you can
use NF_RnB[1] signal which is used as a selection signal of NAND flash memory. Also the NF_RnB[1] is
internally fixed ‘H’.
0 : NAND flash chip enable(Active LOW)
1 : NAND flash chip disable
(After AUTO Load / Store, nCE will be inactive)
Note: It is controlled automatically in Auto Load / Store
mode. You must control this value in Software mode. But
if HW_nCE is set to 1, also controlled by H/W.
00
00 = Disable all mode01 = Auto load mode
10 = Auto store mode11 = Software Mode
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
4-11
BSW rv0.1-0417-N01
NAND FLASH CONTROLLERS3C24A0 RISC MICROPROCESSOR
COMMAND REGISTER
RegisterAddressR/WDescriptionReset Value
NFCMMD0x40C00008R/WNAND Flash command set regist er0x00
NFCMMDBitDescriptionInitial State
NFCMMD1[15:8]NAND Flash memory 2ndcommand value-
NFCMMD0[7:0]NAND Flash memory command value0x00
NOTE: When you use Advance Flash memory, it has 2ndcycle read command (h30). So If you want to do auto
load you have to set the value at the REG_CMMD1.
ADDRESS REGISTER
RegisterAddressR /WDescriptionR eset Value
NFADDR0x40C0000CR/W NAND Flash address s et register0x0000XX00
NFADDRBitDescriptionInitial State
NFADDR3[31:24]NAND Flash memory address value3
(This value is only used at 4
th
or 5thaddress cycle)
0x00
NFADDR 2[23:16]NAND Flash memory addres s v alue20x00
In Software mode, Only this value is used for Flas h_IO
NOTE: Advance Flash’s 1stand 2ndaddress is always column address. It means you don’t need to care about 1
and 2ndaddress. So, When you want to do auto load or store, you can set the address from REG_ADDR1 to
REG_ADDR2 for 4 cycle address memory and from REG_ADDR1 to REG_ADDR3 for 5 cycle address memory.
DATA REGISTER
RegisterAddressR/WDescriptionReset Value
NFDATA0x40C00010R/WNAND Flash data register0xXXXX
NF_DATABitDescriptionInitial State
NFDATA1[15:8]NAND Flash read/program data value for I/O[15:8]0xXX
NFDATA0[7:0]NAND Flash read/program data value for I/O[7:0]
0xXX
In case of write: Programming data
In case of read: Reading data.
These valu es are only used in Software mode.
st
4-12
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORNAND FLASH CONTROLLER
MAIN DATA AREA ECC0 REGISTER
RegisterAddressR/WDescriptionReset Value
NFMECCDATA0 0x40C00014R/WNAND Flash ECC regis te r for main data read0x 00 00 00 00
NFMECCDATA0BitDescriptionInitial State
ECCData0_1[15:8]1stECC for I/O[15:8]0x00
ECCData0_0[7:0]1stECC for I/O[ 7:0]
NOTE: In Software mode, Read this register when you
need to read 1
st
ECC value from NAND flash memory
0x00
MAIN DATA AREA ECC1 REGISTER
RegisterAddressR/WDescripti onReset Value
NFMECCDATA10x40C 00 01 8R/W NAND Flash ECC register for main data read0x00000000
NFMECCDATA1BitDescriptionInitial State
ECCData1_1[15:8]2ndECC for I/O[15:8]0x00
ECCData1_0[7:0]2ndECC for I/O[ 7:0]
NOTE: In Software mode, Read this register when you
need to read 2
nd
ECC value from NAND flash memory
0x00
MAIN DATA AREA ECC2 REGISTER
RegisterAddressR/WDescriptionReset Value
NFMECCDATA2 0x40C0001C R/W NAND Flash ECC register for main data read0x00000000
NFMECCDATA2BitDescriptionInitial State
ECCData2_1[15:8]3rdECC for I/O[15:8]0x00
ECCData2_0[7:0]3rdECC for I/O[ 7:0]
NOTE: In Software mode, Read this register when you
need to read 3
rd
ECC value from NAND flash memory
0x00
MAIN DATA AREA ECC3 REGISTER
RegisterAddressR/WDescriptionReset Value
NFMECCDATA3 0x40C00 02 0 R/W NAND Flash ECC register for main data read( Advance
0x00000000
Flash memory have 4byte ECC code )
NFMECCDATA3BitDescriptionInitial State
ECCData3_1[15:8]4thECC for I/O[15:8]0x00
ECCData3_0[7:0]4thECC for I/O[ 7:0]
NOTE: In Software mode, Read this register when you
need to read 4
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
th
ECC value from NAND flash memory
0x00
4-13
BSW rv0.1-0417-N01
NAND FLASH CONTROLLERS3C24A0 RISC MICROPROCESSOR
SPARE AREA ECC0 REGISTER
RegisterAddressR/WDescriptionReset Value
NFSECCDATA0 0x40C00024 R/W NAND Flash ECC register for spare area data read0x00000000
NFSECCDATA0BitDescriptionInitial State
SPARE ECCData0_1[15:8]1stECC for I/O[15:8]0x00
SPARE ECCData0_0[7:0]1stECC for I/O[ 7:0]
NOTE: In Software mode, Read this register when you
need to read 1
st
ECC value from NAND flash memory
0x00
SPARE AREA ECC1 REGISTER
RegisterAddressR/WDescriptionR eset Value
NFSECCDATA1 0x40000028 R/W NAND Flash ECC register for spare area data read0x00000000
NFSECCDATA1BitDescriptionInitial State
SPARE ECCData1_1[15:8]2ndECC for I/O[15:8]0x00
SPARE ECCData1_0[7:0]2ndECC for I/O[ 7:0]
NOTE: In Software mode, Read this register when you
need to read 2
nd
ECC value from NAND flash memory
0x00
4-14
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORNAND FLASH CONTROLLER
NF_CONF STATUS REGISTER
RegisterAddressR/WDescriptionReset Value
NFSTAT0x40C0002CR/W NAND Flash operation status regis ter0xXX00
NFSTATBitDescriptionInitial State
IllegalAccess[16]Once Lock or Lock-tight is enabled, The illegal access
0
(program, erase …) to the memory makes this bit set.
To clear this value write ‘1’
0 : Illegal access is not detected
1 : Illegal access is detected
AutoLoadDone[15]When Auto load operation is completed, this value set and
0
issue interrupt if enabled.
To clear this value write ‘1’
0 : Auto load completion is not detected
1 : Auto load completion is detected
AutoStoreDone[14]When Auto store operation is c ompleted, this v alue s et
0
and issue interrupt if enabled.
To clear this value write ‘1’
0 : Auto store completion is not detected
1 : Auto store completion is detected
RnB_TransDetect[13]When RnB transition is occurred, this value set and issue
0
interrupt if enabled.
To clear this value write ‘1’
0 : RnB transition is not detected
1 : RnB transition is detected
Flash_nCE[12]The status of Flash_ nCE output pin (Read-onl y)1
Flash_RnB1[11]The status of Flash_RnB1 input pin (Read-only)
This address indicates which part of the memory is
accessed by the NAND Flash controller and is valid in
auto load / store mode
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
4-15
BSW rv0.1-0417-N01
NAND FLASH CONTROLLERS3C24A0 RISC MICROPROCESSOR
ECC0 STATUS REGISTER
RegisterAddressR/WDescriptionReset Value
NFESTAT00x40C00030R/WNAND Flash ECC Status register for I/O [7:0]0x00000000
NFESTAT0BitDescriptionInitial State
SErrorDataNo[24:21]In spare area, Indicates which number data is error00
SErrorBitNo[20:18]In spare area, Indicates which bit is error000
MErrorDataNo[17:7]In main data area, Indicates which number data is error0x00
MErrorBitNo[6:4]In main data area, Indicates which bit is error000
SpareError[3:2]Indicates whether spare area bit fail error occurred
00
00 : No Error01 : 1-bit error(correctable)
10 : Multiple error11 : ECC area error
MainError[1:0]Indicates whether main data area bit fail error occurred
00
00 : No Error01 : 1-bit error(correctable)
10 : Multiple error11 : ECC area error
NOTE: The above values are only valid when both NFMECCDATAn(NFSECCDATAn) and NFMECCn(NFSECC)
have valid value.
ECC1 STATUS REGISTER
RegisterAddressR/WDescriptionReset Value
NFESTAT10x40C00034R/WNAND Flash ECC Status register for I/O [15:8]0x00000000
NFESTAT1BitDescriptionInitial State
SErrorDataNo[24:21]In spare area, Indicates which number data is error00
SErrorBitNo[20:18]In spare area, Indicates which bit is error000
MErrorDataNo[17:7]In main data area, Indicates which number data is error0x00
MErrorBitNo[6:4]In main data area, Indicates which bit is error000
SpareError[3:2]Indicates whether spare area bit fail error occurred
00
00 : No Error01 : 1-bit error(correctable)
10 : Multiple error11 : ECC area error
MainError[1:0]Indicates whether main data area bit fail error occurred
00
00 : No Error01 : 1-bit error(correctable)
10 : Multiple error11 : ECC area error
NOTE: The above values are only valid when both NFMECCDATAn(NFSECCDATAn) and NFMECCn(NFSECC)
have valid value.
4-16
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORNAND FLASH CONTROLLER
MAIN DATA AREA ECC0 STATUS REGISTER
RegisterAddressR/WDescriptionReset Value
NFMECC00x40C00038RNAND Flash ECC register for I/O [7:0]0xXXXXXX
NFSECC0x40C00040RNAND Flash ECC register for I/O [15:0]0xXXXXXX
NFSECCBitDescriptionInitial State
SECC1_1[31:24]Spare area ECC1 Status for I/O[15:8]0xXX
SECC1_0[23:16]Spare area ECC0 Status for I/O[15:8]0xXX
SECC0_1[15:8]Spare area ECC1 Status for I/O[7:0]0xXX
SECC0_0[7:0]Spare area ECC0 Status for I/O[7:0]0xXX
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
SBLK_ADDR2[23:16]The 3rdblock address of the block erase operation0x0 0
SBLK_ADDR1[15:8]The 2ndblock address of the block erase operation0x00
SBLK_ADDR0[7:0]The 1stblock address of the block erase operation
0x00
(Only bit [7:5] are valid when External Memory is old version and
Only bit [7:6] are valid when External Memory is new version)
NOTE: Advance Flash’s block Addres s s tarts from 3 address cycle. So Block addres s regis ter only need 3Byte
.
END BLOCK ADDRESS REGISTER
RegisterAddressR/WDescriptionReset Value
NFEBLK0x40C00048R/WNAND Flash programmable end block address0x000000
NFEBLKBitDescriptionInitial State
EBLK_ADDR2[23:16]The 3rdblock address of the block erase operation0x0 0
EBLK_ADDR1[15:8]The 2ndblock address of the bloc k erase operation0x0 0
EBLK_ADDR0[7:0]The 1stblock address of the block erase operation
0x00
(Only bit [7:5] are valid when External Memory is old version and
Only bit [7:6] are valid when External Memory is new version)
NOTE: Advance Flash’s block Addres s s t arts from 3 addres s c yc le. So Block addres s regis ter only need 3Byte
.
4-18
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORNAND FLASH CONTROLLER
NOTES
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
4-19
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORBUS MATRIX
BUS MATRIX
OVERVIEW
S3C24A0 MATRIX provides the interface between dual AHB bus and Memory sub-system. It is used for achieving
high system performance by accessing various kinds of memory (SDRAM, SRAM, Flash Memory, ROM etc) from
different AHB bus (one is for system and the other is for imag e) at the same time. S3C24A0 have two MATRIX cores
because it has two memory ports, and each MATRIX can select the priority between rotation type and fixed type.
User can select which one is excellent for improving system performance.
Figure 5-1 shows the configuration of MATRIX and Memory sub-system of S3C24A0. It also shows the model of
external memory. Both AHB bus can access all MATRIX core and MATRIX core is dedicated each memory port
respectively. So it can operate separately at the same time. It’s a key of MATRIX.
AHB-S
AHB-I
SFR
SROMC/
MATRIX
CORE0
MATRIX
CORE1
MATRIX
NFLASHC
SDRAMC
External memory
interface
Figure 5-1 Configuration of MATRIX and Memory sub-system
External Memory
SROM/
NFCON
SROM
SROM
SDRAM
SDRAM
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
PRIORITY00X40CE0000 R/W priority control register0x0000_0000
PRIORITY0BitDescriptionInitial State
FIX_PRI_TYP
PRI_TYP
[1]
[0]
SDRAMC ARBITER PRIORITY REGISTER (PRIORITY1)
RegisterAddr essR/WDescriptionReset Value
PRIORITY10X40CE0004 R/W priority control register0x0000_0000
Priority type
0: Provide higher priority to S-Bus when user set fixed priority
1: Provide higher priority to I-Bus when user set fixed priority
Priority type
0: Fixed priority1: Rotating priority
0
0
PRIORITY1BitDescriptionInitial State
FIX_PRI_TYP
[1]
Priority type
0
0: Provide higher priority to S-Bus when user set fixed priority
1: Provide higher priority to I-Bus when user set fixed priority
PRI_TYP
[0]
Priority type
0
0: Fixed priority1: Rotating priority
5-2
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORINTERRUPT CONTROLLER
INTERRUPT CONTROLLER
OVERVIEW
The interrupt controller in S3C24A0 receives the requests for interrupt services from 61 interrupt sources.
These interrupt sources are provided by internal peripherals such as a DMA controller, UART and IIC, etc. Among
these interrupt sources, the UART0 and UART1 error interrupts are 'OR'ed to the interrupt controller. And, two
interrupts from a Display/Post processor , two interrupts from Timer3/Timer4, and four interrupts from DMA
controller are individually ‘OR’ed to the interrupt controller. Also, the IrDA/Memory stick interrupts, two interrupts
from ADC/PENUP/PENDN are individually ‘OR’ed to the interrupt controller.
The role of the interrupt controller is to ask for the FIQ or IRQ interrupt requests to the ARM926EJ core after the
arbitration process when there are multiple interrupt requests from internal peripherals and external interrupt
request pins.
The arbitration process is performed by the hardware priority logic and the result is written to the interrupt pending
register and users notice that register to know which interrupt has been requested.
FUNCTIONAL DESCRIPTION
F-BIT AND I-BIT OF PSR (PROGRAM STATUS REGISTER)
If the F-bit of PSR (program status register in ARM926EJ CPU) is set to 1, the CPU does not accept the FIQ
(fast interrupt request) from the interrupt controller. If I-bit of PSR (program status register in ARM926EJ CPU) is
set to 1, the CPU does not accept the IRQ (interrupt request) from the interrupt controller. So, to enable the
interrupt reception, the F-bit or I-bit of PSR has to be cleared to 0 and also the corresponding bit of INTMSK has
to be set to 0.
INTERRUPT MODE
ARM926EJ has 2 types of interrupt mode, FIQ or IRQ. All the interrupt sources determine the mode of interrupt
to be used at interrupt request.
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
6-1
BSW rv0.1-0417-N01
INTERRUPT CONTROLLERS3C24A0 RISC MICROPROCESSOR
INTERRUPT PENDING REGISTER
S3C24A0 has two interrupt pending resisters. The one is source pending register(SRCPND), the other is
interrupt pending register(INTPND). These pending registers indicate whether or not an interrupt request is
pending. When the interrupt sources request interrupt service the corresponding bits of SRCPND register are set
to 1, at the same time the only one bit of INTPND register is set to 1 automatically after arbitration process. If
interrupts are masked, the corresponding bits of SRCPND register are set to 1, but the bit of INTPND register is
not changed. When a pending bit of INTPND register is set, the interrupt service routine starts whenever the I-flag
or F-flag is cleared to 0. The SRCPND and INTPND registers can be read and written, so the service routine must
clear the pending condition by writing a 1 to the corresponding bit in SRCPND register first and then clear the
pending condition in INTPND registers same method.
INTERRUPT MASK REGISTER
Indicates that an interrupt has been disabled if the corresponding mask bit is 1. If an interrupt mask bit of INTMSK
is 0, the interrupt will be serviced normally. If the corresponding mask bit is 1 and the interrupt is generated, the
source pending bit will be set.
6-2
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORINTERRUPT CONTROLLER
INTERRUPT SOURCES
Interrupt controller supports 61 interrupt sources as shown in below table.
Among the 32 interrupt sources, each interrupt source corresponding to INT_ADC, INT_PCM_MSTICK,
INT_AC97_NFLASH, INT_DMA_PBUS, INT_DMA_GBUS, INT_DMA_MBUS, INT_UART0, INT_UART1, and
INT_CAMPRO is an ‘OR’ed interrupt which combines multiple subinterrupt sources connected to the
corresponding interrupt sources, and provides a single interrupt source to interrupt controller.
SourcesDescriptionsArbiter Group
INT_ADC_ PENUP_DOWNADC EOC/Pen up/Pen down interruptARB5
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
BSW rv0.1-0417-N01
S3C24A0 RISC MICROPROCESSORINTERRUPT CONTROLLER
Interrupt Priority
Each arbiter can handle six interrupt requests based on the one bit arbiter mode control(ARB_MODE) and two
bits of selection control signals(ARB_SEL) as follows:
If ARB_SEL bits are 00b, the priority order is REQ0, REQ1, REQ2, REQ3, REQ4, and REQ5.
If ARB_SEL bits are 01b, the priority order is REQ0, REQ2, REQ3, REQ4, REQ1, and REQ5.
If ARB_SEL bits are 10b, the priority order is REQ0, REQ3, REQ4, REQ1, REQ2, and REQ5.
If ARB_SEL bits are 11b, the priority order is REQ0, REQ4, REQ1, REQ2, REQ3, and REQ5.
Note that REQ0 of an arbiter is always the highest priority, and REQ5 is the lowest one. In addition, by changing
the ARB_SEL bits, we can rotate the priority of REQ1 - REQ4.
Here, if ARB_MODE bit is set to 0, ARB_SEL bits are not automatically changed, thus the arbiter operates in the
fixed priority mode. (Note that even in this mode, we can change the priority by manually changing the ARB_SEL
bits.). On the other hand, if ARB_MODE bit is 1, ARB_SEL bits are changed in rotation fashion, e.g., if REQ1 is
serviced, ARB_SEL bits are changed to 01b automatically so as to make REQ1 the lowest priority one. The
detailed rule of ARB_SEL change is as follows.
If REQ0 or REQ5 is serviced, ARB_SEL bits are not changed at all.
If REQ1 is serviced, ARB_SEL bits are changed to 01b.
If REQ2 is serviced, ARB_SEL bits are changed to 10b.
If REQ3 is serviced, ARB_SEL bits are changed to 11b.
If REQ4 is serviced, ARB_SEL bits are changed to 00b.
VECTORED INTERRUPT MODE (ONLY FOR IRQ)
S3C24A0 has a vectored interrupt mode, to reduce the interrupt latency time.
If ARM926EJ receives the IRQ interrupt request from the interrupt controller, it executes an instruction at
0x00000018. The LDR instruction which loads to PC the address written in Vector Address Register, one of
special function registers in Interrupt controller, is located at 0x00000018. That is,
@0x0000_0018 : LDR PC, [VAR]
where, VAR is the special function register at 0x4020_002c of interrupt controller.
Preliminary product information describes products that are in development,
for which full characterization data and associated errata are not yet available.
Specifications and information herein are subject to change without notice.
6-5
BSW rv0.1-0417-N01
INTERRUPT CONTROLLERS3C24A0 RISC MICROPROCESSOR
The LDR instruction lets the program counter be the vector table address corresponding to each interrupt source.
The user program code must locate the branch instruction, which branches to the corresponding ISR (interrupt
service routine) at each vector table address.
For example, If TIMER1 is IRQ, the LDR instruction at 0x00000018 which lets PC be 0x0000004c, is executed .
0x0000004c is automatically written to Vector Address Register by hardware logic.
And the branch instruction, which jumps to the ISR, is located at 0x0000004c.