Samsung products are not designed, intended, or use of the information contained herein. authorized for use as components in systems intended Samsung reserves the right to make changes in its for surgical implant into the body, for other products or product specifications with the intent to...
(MFC) supports real-time video conferencing and Analog TV out, HDMI for NTSC, and PAL mode. S5PC110 has an interface to external memory that is capable of sustaining heavy memory bandwidths required in high-end communication services. The memory system has Flash/ ROM external memory ports for parallel access and DRAM port to meet high bandwidths.
S5PC110_UM 1 OVERVIEW OF S5PC110 1.2 BLOCK DIAGRAM OF S5PC110 shows the complete block diagram of S5PC110. Figure 1-1 System Peripheral CPU Core Multimedia CortexA8 12 MP Camera IF / MIPI CSI-2 PLL x 4 32KB/32KB I/ D cache Timer with PWM (4ch) 800MHz/1 GHz @ 1.1V/1.2V...
S5PC110_UM 1 OVERVIEW OF S5PC110 1.3 KEY FEATURES OF S5PC110 The key features of S5PC110 include: • ARM CortexTM-A8 based CPU Subsystem with NEON − 32/ 32 KB I/D Cache, 512 KB L2 Cache − Operating frequency up to 800 MHz at 1.1V, 1 GHz at 1.2V •...
S5PC110_UM 1 OVERVIEW OF S5PC110 1.3.2 MEMORY SUBSYSTEM The key features of memory subsystem include: • High bandwidth Memory Matrix subsystem • Two independent external memory ports (1 x16 Static Hybrid Memory port and 2 x32 DRAM port) • Matrix architecture increases the overall bandwidth with simultaneous access capability −...
S5PC110_UM 1 OVERVIEW OF S5PC110 1.3.4 AUDIO SUBSYSTEM The key features of audio subsystem include: • Audio processing is progressed by Reconfigurable Processor (RP) • Low power audio subsystem − 5.1ch I2S with 32-bit-width 64-depth FIFO − 128 KB audio play output buffer −...
S5PC110_UM 1 OVERVIEW OF S5PC110 1.3.6 CONNECTIVITY The key features of connectivity include: • PCM Audio Interface − 16-bit mono audio interface − Master mode only − Supports three port PCM interface • AC97 Audio Interface − Independent channels for stereo PCM In, stereo PCM Out, and mono MIC In −...
Page 17
S5PC110_UM 1 OVERVIEW OF S5PC110 • UART − Four UART with DMA-based or interrupt-based operation − Supports 5-bit, 6-bit, 7-bit, or 8-bit serial data transmit/ receive − Rx/Tx independent 256 byte FIFO for UART0, 64 byte FIFO for UART1 and 16 byte FIFO for UART2/3 −...
Page 18
S5PC110_UM 1 OVERVIEW OF S5PC110 • GPIO − 237 multi-functional input/ output ports − Controls 178 External Interrupts − GPA0: 8 in/out port – 2xUART with flow control − GPA1: 4 in/out port – 2xUART without flow control or 1xUART with flow control −...
S5PC110_UM 1 OVERVIEW OF S5PC110 1.3.7 SYSTEM PERIPHERAL The key features of system peripheral include: • Real Time Clock − Full clock features: sec, min, hour, date, day, month, and year − 32.768kHz operation − Alarm interrupt − Time-tick interrupt •...
Page 20
S5PC110_UM 1 OVERVIEW OF S5PC110 • Vectored Interrupt Controller − Software such as Interrupt device driver can mask out particular interrupt requests − Prioritization of interrupt sources for interrupt nesting • Power Management Clock-gating control for components − − Various low power modes are available such as Idle, Stop, Deep Stop, Deep Idle, and Sleep modes −...
S5PC110_UM 1 OVERVIEW OF S5PC110 1.4 CONVENTIONS 1.4.1 REGISTER R/W CONVENTIONS Symbol Definition Description Read Only The application has permission to read the Register field. Writes to read-only fields have no effect. Write Only The application has permission to write in the Register field.
S5PC110_UM 2 MEMORY MAP 2.1.1 DEVICE SPECIFIC ADDRESS SPACE Address Size Description Note Mirrored region depending on 0x0000_0000 0x1FFF_FFFF 512MB Boot area the boot mode. 0x2000_0000 0x3FFF_FFFF 512MB DRAM 0 0x4000_0000 0x7FFF_FFFF 1024MB DRAM 1 0x8000_0000 0x87FF_FFFF 128MB SROM Bank 0 0x8800_0000 0x8FFF_FFFF 128MB...
Page 24
S5PC110_UM 2 MEMORY MAP 0xD000_0000 Secure iROM (64KB) area 0xD000_FFFF 0xD001_0000 Not Available 0xD001_FFFF 0xD002_0000 Secure area iRAM(128KB) Secure area 0xD003_FFFF 0xD004_0000 Not Available 0xD800_0000 DMZ ROM Secure area 0xDFFF_FFFF Figure 2-2 Internal Memory Address Map NOTE: TZPCR0SIZE[5:0](TZPC0); (in TZPC SFR) - 4KByte chunks - Recommended value: 6'b00_0000 ~ 6'b10_0000 * if (TZPCR0SIZE[5](TZPC0) == 1'b1), the full address range in iSRAM is configured as secure.
Page 30
2.2.35 Port Group MP1_3 Control Register................... 2-111 2.2.36 Port Group MP1_4 Control Register................... 2-112 2.2.37 Port Group MP1_5 Control Register................... 2-112 2.2.38 Port Group MP1_6 Control Register................... 2-113 2.2.39 Port Group MP1_7 Control Register................... 2-113 2.2.40 Port Group MP1_8 Control Register................... 2-114 2.2.41 Port Group MP2_0 Control Register...................
Page 31
3.7.9 Other SFRs............................. 3-57 3.7.10 IEM Control SFRs......................... 3-57 3.7.11 Miscellaneous SFRs........................3-63 Power Management..................4-1 4.1 Overview of PMU ............................. 4-1 4.2 FunctionAL Description of PMU....................... 4-2 4.3 System Power Mode..........................4-4 4.3.1 Overview............................4-4 4.3.2 Normal Mode ............................ 4-7 4.3.3 IDLE Mode............................
Page 33
IEM Closed-Loop Voltage Generation Flow in HPM and APC1............. 5-14 Figure 5-5 IEM Closed-Loop Control Flow in APC1 HPM Delay ..............5-15 Figure 5-6 HPM Delay Tap structure in S5PC110 ................... 5-16 Figure 6-1 Block Diagram of Booting Time Operation ..................6-2 Figure 6-2 Total Booting Code Sequence Flow Chart ..................
Page 34
I/O Clocks in S5PC110 ........................3-13 Table 4-1 Comparison of Power Saving Techniques..................4-2 Table 4-2 S5PC110 Power Domains of Internal Logic ..................4-3 Table 4-3 Power Mode Summary ........................4-5 Table 4-4 Power Saving Mode Entering/Exiting Condition ................4-19 Table 4-5 Cortex-A8 Power Control .........................
1.1 OVERVIEW OF CHIP ID The S5PC110 includes a Chip ID block for the software (SW) that sends and receives APB interface signals to the bus system. Chip ID is placed on the first address of the SFR region (0xE0000_0000).
1.2.1.1 Product ID Register (PRO_ID, R, Address = 0xE000_0000) PRO_ID Description Initial State Product ID [31:12] Product ID 0x43110 The product ID allocated to S5PC110 is “0x43110” Reserved [11:8] Reserved bits Rev. Number [7:4] Revision Number Device ID Device ID...
GENERAL PURPOSE INPUT/ OUTPUT This chapter describes the General Purpose Input/ Output (GPIO). 2.1 OVERVIEW S5PC110 includes 237 multi-functional input/ output port pins and 142 memory port pins. There are 34 general port groups and 2 memory port groups as listed below: •...
Controls pin states in Sleep Mode except GPH0, GPH1, GPH2, and GPH3 ( GPH* pins are alive-pads) 2.1.2 INPUT/ OUTPUT CONFIGURATION Configurable Input/ Output (I/O) is subdivided into Type A and Type B. 2.1.3 S5PC110 INPUT/ OUTPUT TYPES I/O Types I/O Group...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.1.4 IO DRIVER STRENGTH 2.1.4.1 Type A IO Driver Strength ( VDD=3.3V±0.3V) Currents Parameter Worst Typical Best VDD=3.00V VDD=3.30V VDD=3.60V T=125℃ T=25℃ T=-40℃ Process=Slow Process=Nominal Process=Fast Driver Type Isink at VDD*0.2V Isink at VDD*0.2V Isink at VDD*0.2V Isource at VDD*0.8V Isource at VDD*0.8V...
Page 40
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT ( VDD=1.8V±0.15V) Currents Parameter Worst Typical Best VDD=1.65V VDD=1.80V VDD=1.95V T=12 ℃ T=25℃ T=-40℃ Process=Slow Process=Nominal Process=Fast Driver Type Isink at VDD*0.2V Isink at VDD*0.2V Isink at VDD*0.2V Isource at VDD*0.8V Isource at VDD*0.8V Isource at VDD*0.8V Isink 2.263 mA...
Page 41
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT ( VDD=2.5V±0.2V ) Currents Parameter Worst Typical Best VDD=2.30V VDD=2.50V VDD=2.70V T=125℃ T=25℃ T=-40℃ Process=Slow Process=Nominal Process=Fast Driver Type Isink at VDD*0.2V Isink at VDD*0.2V Isink at VDD*0.2V Isource at Isource at VDD*0.8V Isource at VDD*0.8V VDD*0.8V Isink 1.85mA...
Page 42
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.1.4.3 Type C IO Driver Strength ( VDD=1.8V±VDDx10% ) Currents Parameter Worst Typical Best VDD=1.65V VDD=1.80V VDD=1.95V T=125℃ T=25℃ T=-25℃ Process=Slow Process=Nominal Process=Fast Driver Type Isink at VDD*0.2V Isink at VDD*0.2V Isink at VDD*0.2V Isource at VDD*0.8V Isource at VDD*0.8V Isource at VDD*0.8V...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.1.5 INPUT/ OUTPUT DESCRIPTION 2.1.5.1 General Purpose Input/Output Block Diagram GPIO consists of two parts, namely, alive-part and off-part. In Alive-part power is supplied on sleep mode, but in off-part it is not the same. Therefore, the registers in alive-part keep their values during sleep mode. Register File Mux control Pad control...
Page 44
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.1.5.2 Pin Summary I/O Control Type Function Description Control at power down mode is possible, power down mode is released by S/W (ENABLE_GPIO bit of OTHERS register at PMU) Control at power down mode is possible, power down mode is released by S/W (ENABLE_UART_IO bit of OTHERS register at PMU) Control at power down mode is possible, power down mode is released by S/W (ENABLE_MMC_IO bit of OTHERS register at PMU)
Page 45
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.1.5.3 Pin Mux Description @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State XuRXD[0] GPA0[0] UART_0_RXD I(L) PBIDIRSE_G XuTXD[0] GPA0[1] UART_0_TXD I(L) PBIDIRSE_G XuCTSn[0] GPA0[2] UART_0_CTSn I(L) PBIDIRSE_G XuRTSn[0] GPA0[3] UART_0_RTSn I(L) PBIDIRSE_G...
Page 46
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State XpwmTOUT[3] GPD0[3] TOUT_3 I(L) PBIDIRSE_G Xi2c0SDA GPD1[0] I2C0_SDA I(L) PBIDIRSE_G Xi2c0SCL GPD1[1] I2C0_SCL I(L) PBIDIRSE_G Xi2c1SDA GPD1[2] I2C1_SDA I(L) PBIDIRSE_G Xi2c1SCL GPD1[3] I2C1_SCL I(L)
Page 47
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State XvVD[12] GPF2[0] LCD_VD[12] SYS_VD[12] V656_DATA[4] I(L) PBIDIRSE_G XvVD[13] GPF2[1] LCD_VD[13] SYS_VD[13] V656_DATA[5] I(L) PBIDIRSE_G XvVD[14] GPF2[2] LCD_VD[14] SYS_VD[14] V656_DATA[6] I(L) PBIDIRSE_G XvVD[15] GPF2[3] LCD_VD[15]...
Page 48
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State Xmmc3CMD GPG3[1] SD_3_CMD I(L) PBIDIRF_G Xmmc3CDn GPG3[2] SD_3_CDn I(L) PBIDIRF_G Xmmc3DATA[0] GPG3[3] SD_3_DATA[0] SD_2_DATA[4] I(L) PBIDIRF_G Xmmc3DATA[1] GPG3[4] SD_3_DATA[1] SD_2_DATA[5] I(L) PBIDIRF_G Xmmc3DATA[2] GPG3[5]...
Page 49
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State XEINT[30] GPH3[6] KP_ROW[6] I(L) PBIDIR_ALV XEINT[31] GPH3[7] KP_ROW[7] I(L) PBIDIR_ALV Xi2s0SCLK GPI[0] I2S_0_SCLK PCM_0_SCLK Func0 O(L) PBIDIRSE_G Xi2s0CDCLK GPI[1] I2S_0_CDCLK PCM_0_EXTCLK Func0 O(L) PBIDIRSE_G...
Page 50
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State XmsmDATA[6] GPJ2[6] MSM_DATA[6] KP_COL[7] CF_DATA[6] MHL_D13 I(L) PBIDIRSE_G XmsmDATA[7] GPJ2[7] MSM_DATA[7] KP_ROW[0] CF_DATA[7] MHL_D14 I(L) PBIDIRSE_G XmsmDATA[8] GPJ3[0] MSM_DATA[8] KP_ROW[1] CF_DATA[8] MHL_D15 I(L) PBIDIRSE_G...
Page 51
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State ONANDX Xm0FWEn MP0_3[2] NF_FWEn Func3 O(H) PBIDIRF_G L_RPn Xm0FREn MP0_3[3] NF_FREn Func3 PBIDIRF_G ONANDX Xm0FRnB[0] MP0_3[4] NF_RnB[0] Func3 PBIDIRF_G L_INT[0] ONANDX Xm0FRnB[1] MP0_3[5] NF_RnB[1]...
Page 52
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State Xm0DATA[12] MP0_7[4] EBI_DATA[12] Func0 O(L) PBIDIRF_G Xm0DATA[13] MP0_7[5] EBI_DATA[13] Func0 O(L) PBIDIRF_G Xm0DATA[14] MP0_7[6] EBI_DATA[14] Func0 O(L) PBIDIRF_G Xm0DATA[15] MP0_7[7] EBI_DATA[15] Func0 O(L) PBIDIRF_G...
Page 53
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State Xm1DATA[16] MP1_4[0] LD0_DATA[16] Func0 PBIDIR_MDDR Xm1DATA[17] MP1_4[1] LD0_DATA[17] Func0 PBIDIR_MDDR Xm1DATA[18] MP1_4[2] LD0_DATA[18] Func0 PBIDIR_MDDR Xm1DATA[19] MP1_4[3] LD0_DATA[19] Func0 PBIDIR_MDDR Xm1DATA[20] MP1_4[4] LD0_DATA[20] Func0...
Page 54
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State Xm1WEn MP1_8[4] LD0_WEn Func0 O(H) PBIDIR_MDDR Xm1GateIn MP1_8[5] LD0_IOGATE_IN Func0 PBIDIR_MDDR LD0_IOGATE_O Xm1GateOut MP1_8[6] Func0 PBIDIR_MDDR Xm2ADDR[0] MP2_0[0] LD1_ADDR[0] Func0 O(L) PBIDIR_MDDR Xm2ADDR[1] MP2_0[1]...
Page 55
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State Xm2DATA[16] MP2_4[0] LD1_DATA[16] Func0 PBIDIR_MDDR Xm2DATA[17] MP2_4[1] LD1_DATA[17] Func0 PBIDIR_MDDR Xm2DATA[18] MP2_4[2] LD1_DATA[18] Func0 PBIDIR_MDDR Xm2DATA[19] MP2_4[3] LD1_DATA[19] Func0 PBIDIR_MDDR Xm2DATA[20] MP2_4[4] LD1_DATA[20] Func0...
Page 56
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State Xm2WEn MP2_8[4] LD1_WEn Func0 O(H) PBIDIR_MDDR Xm2GateIn MP2_8[5] LD1_IOGATE_IN Func0 PBIDIR_MDDR LD1_IOGATE_O Xm2GateOut MP2_8[6] Func0 PBIDIR_MDDR XjTRSTn ETC0[0] XjTRSTn Func0 I(L) PBIDIRSE_G XjTMS ETC0[1]...
Page 57
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State XadcAIN[3] ANALOG AIN[3] Func0 PANALOGS XadcAIN[4] ANALOG AIN[4] Func0 PANALOGS XadcAIN[5] ANALOG AIN[5] Func0 PANALOGS XadcAIN[6] ANALOG AIN[6] Func0 PANALOGS XadcAIN[7] ANALOG AIN[7] Func0...
Page 58
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT @Reset Sleep Pin Name GPIO Func0 Func1 Func2 Func3 Default Pad Type State XmipiSDN2 ANALOG MIPI_SDN_2 Func0 PANALOGS XmipiSDN3 ANALOG MIPI_SDN_3 Func0 PANALOGS XmipiMDPCLK ANALOG MIPI_CLK_TX_P Func0 PANALOGS XmipiMDNCLK ANALOG MIPI_CLK_TX_N Func0 PANALOGS XmipiSDPCLK ANALOG MIPI_CLK_RX_P Func0...
Page 59
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.1.5.4 Pad Type Description Cell Name Function Description Wide-range I/O supply, programmable bi-direction I/O with cmos / schmitt PBIDIRSE_G trigger input, input disable, pull-up/down and 4-step strength output Wide-range I/O supply, programmable bi-direction Fast I/O with cmos / PBIDIRF_G schmitt trigger input, input disable, pull-up/down and 4-step strength output Wide-range I/O supply, programmable bi-direction I/O with cmos / schmitt...
Normal registers (For example, GPA0CON, GPA0DAT, GPA0PUD, and GPA0DRV) are the former, and power down registers (For example, GPA0CONPDN, and GPA0PUDPDN) are the latter. If, S5PC110 enter the power down mode, all configurations and Pull-down controls are selected by power down registers...
Page 61
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value GPC0PUD 0xE020_0068 Port Group GPC0 Pull-up/down Register 0x0155 GPC0DRV 0xE020_006C Port Group GPC0 Drive Strength Control 0x0000 Register GPC0CONPDN 0xE020_0070 Port Group GPC0 Power Down Mode 0x00 Configuration Register GPC0PUDPDN 0xE020_0074 Port Group GPC0 Power Down Mode Pull-...
Page 62
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value GPE0CONPDN 0xE020_00F0 Port Group GPE0 Power Down Mode 0x00 Configuration Register GPE0PUDPDN 0xE020_00F4 Port Group GPE0 Power Down Mode Pull- 0x00 up/down Register GPE1CON 0xE020_0100 Port Group GPE1 Configuration Register 0x00000000 GPE1DAT 0xE020_0104...
Page 63
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value GPF3CON 0xE020_0180 Port Group GPF3 Configuration Register 0x00000000 GPF3DAT 0xE020_0184 Port Group GPF3 Data Register 0x00 GPF3PUD 0xE020_0188 Port Group GPF3 Pull-up/down Register 0x0555 GPF3DRV 0xE020_018C Port Group GPF3 Drive Strength Control 0x0000 Register GPF3CONPDN...
Page 64
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value GPG3DRV 0xE020_020C Port Group GPG3 Drive Strength Control 0x0000 Register GPG3CONPDN 0xE020_0210 Port Group GPG3 Power Down Mode 0x00 Configuration Register GPG3PUDPDN 0xE020_0214 Port Group GPG3 Power Down Mode Pull- 0x00 up/ down Register GPICON...
Page 65
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value GPJ2PUDPDN 0xE020_0294 Port Group GPJ2 Power Down Mode Pull- 0x00 up/down Register GPJ3CON 0xE020_02A0 Port Group GPJ3 Configuration Register 0x00000000 GPJ3DAT 0xE020_02A4 Port Group GPJ3 Data Register 0x00 GPJ3PUD 0xE020_02A8 Port Group GPJ3 Pull-up/ down Register 0x5555...
Page 66
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value MP0_3PUD 0xE020_0328 Port Group MP0_3 Pull-up/down Register 0x0000 MP0_3DRV 0xE020_032C Port Group MP0_3 Drive Strength Control 0xAAAA Register MP0_3CONPDN 0xE020_0330 Port Group MP0_3 Power Down Mode 0x00 Configuration Register MP0_3PUDPDN 0xE020_0334 Port Group MP0_3 Power Down Mode Pull-...
Page 67
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value MP0_7CONPDN 0xE020_03B0 Port Group MP0_7 Power Down Mode 0x00 Configuration Register MP0_7PUDPDN 0xE020_03B4 Port Group MP0_7 Power Down Mode Pull- 0x00 up/down Register MP1_0CON 0xE020_03C0 Reserved (Do not use this register) 0x22222222 MP1_0DAT 0xE020_03C4...
Page 68
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value MP1_4PUDPDN 0xE020_0454 Reserved (Do not use this register) 0x00 MP1_5CON 0xE020_0460 Reserved (Do not use this register) 0x22222222 MP1_5DAT 0xE020_0464 Reserved (Do not use this register) 0x00 MP1_5PUD 0xE020_0468 Reserved (Do not use this register) 0x0000 MP1_5DRV...
Page 69
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value MP2_1PUD 0xE020_0508 Reserved (Do not use this register) 0x0000 MP2_1DRV 0xE020_050C Port Group MP2_1 Drive Strength Control 0xAAAA Register MP2_1CONPDN 0xE020_0510 Reserved (Do not use this register) 0x00 MP2_1PUDPDN 0xE020_0514 Reserved (Do not use this register) 0x00...
Page 70
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value MP2_6CONPDN 0xE020_05B0 Reserved (Do not use this register) 0x00 MP2_6PUDPDN 0xE020_05B4 Reserved (Do not use this register) 0x00 MP2_7CON 0xE020_05C0 Reserved (Do not use this register) 0x22222222 MP2_7DAT 0xE020_05C4 Reserved (Do not use this register) 0x00 MP2_7PUD...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.2 PORT GROUP GPA0 CONTROL REGISTER There are six control registers, namely, GPA0CON, GPA0DAT, GPA0PUD, GPA0DRV, GPA0CONPDN and GPA0PUDPDN in the Port Group GPA0 Control Registers. 2.2.2.1 Port Group GPA0 Control Register (GPA0CON, R/W, Address = 0xE020_0000) GPA0CON Description Initial State...
Page 79
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.2.2 Port Group GPA0 Control Register (GPA0DAT, R/W, Address = 0xE020_0004) GPA0DAT Description Initial State GPA0DAT[7:0] [7:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.3 PORT GROUP GPA1 CONTROL REGISTER There are six control registers, namely, GPA1CON, GPA1DAT, GPA1PUD, GPA1DRV, GPA1CONPDN and GPA1PUDPDN in the Port Group GPA1 Control Registers. 2.2.3.1 Port Group GPA1 Control Register (GPA1CON, R/W, Address = 0xE020_0020) GPA1CON Description Initial State...
Page 81
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.3.2 Port Group GPA1 Control Register (GPA1DAT, R/W, Address = 0xE020_0024) GPA1DAT Description Initial State GPA1DAT[3:0] [3:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.4 PORT GROUP GPB CONTROL REGISTER There are six control registers, namely, GPBCON, GPBDAT, GPBPUD, GPBDRV, GPBCONPDN and GPBPUDPDN in the Port Group GPB Control Registers. 2.2.4.1 Port Group GPB Control Register (GPBCON, R/W, Address = 0xE020_0040) GPBCON Description Initial State...
Page 83
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.4.2 Port Group GPB Control Register (GPBDAT, R/W, Address = 0xE020_0044) GPBDAT Description Initial State GPBDAT[7:0] [7:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.5 PORT GROUP GPC0 CONTROL REGISTER There are six control registers, namely, GPC0CON, GPC0DAT, GPC0PUD, GPC0DRV, GPC0CONPDN and GPC0PUDPDN in the Port Group GPC0 Control Registers. 2.2.5.1 Port Group GPC0 Control Register (GPC0CON, R/W, Address = 0xE020_0060) GPC0CON Description Initial State...
Page 85
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.5.2 Port Group GPC0 Control Register (GPC0DAT, R/W, Address = 0xE020_0064) GPC0DAT Description Initial State GPC0DAT[4:0] [4:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.6 PORT GROUP GPC1 CONTROL REGISTER There are six control registers, namely, GPC1CON, GPC1DAT, GPC1PUD, GPC1DRV, GPC1CONPDN and GPC1PUDPDN in the Port Group GPC1 Control Registers. 2.2.6.1 Port Group GPC1 Control Register (GPC1CON, R/W, Address = 0xE020_0080) GPC1CON Description Initial State...
Page 87
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.6.2 Port Group GPC1 Control Register (GPC1DAT, R/W, Address = 0xE020_0084) GPC1DAT Description Initial State GPC1DAT[4:0] [4:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.7 PORT GROUP GPD0 CONTROL REGISTER There are six control registers, namely, GPD0CON, GPD0DAT, GPD0PUD, GPD0DRV, GPD0CONPDN and GPD0PUDPDN in the Port Group GPD0 Control Registers. 2.2.7.1 Port Group GPD0 Control Register (GPD0CON, R/W, Address = 0xE020_00A0) GPD0CON Description Initial State...
Page 89
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.7.4 Port Group GPD0 Control Register (GPD0DRV, R/W, Address = 0xE020_00AC) GPD0DRV Description Initial State GPD0DRV[n] [2n+1:2n] 00 = 1x 0x0000 10 = 2x n=0~3 01 = 3x 11 = 4x 2.2.7.5 Port Group GPD0 Control Register (GPD0CONPDN, R/W, Address = 0xE020_00B0) GPD0CONPDN Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.8 PORT GROUP GPD1 CONTROL REGISTER There are six control registers, namely, GPD1CON, GPD1DAT, GPD1PUD, GPD1DRV, GPD1CONPDN and GPD1PUDPDN in the Port Group GPD1 Control Registers. 2.2.8.1 Port Group GPD1 Control Register (GPD1CON, R/W, Address = 0xE020_00C0) GPD1CON Description Initial State...
Page 91
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.8.2 Port Group GPD1 Control Register (GPD1DAT, R/W, Address = 0xE020_00C4) GPD1DAT Description Initial State GPD1DAT[5:0] [5:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.9 PORT GROUP GPE0 CONTROL REGISTER There are six control registers, namely, GPE0CON, GPE0DAT, GPE0PUD, GPE0DRV, GPE0CONPDN and GPE0PUDPDN in the Port Group GPE0 Control Registers. 2.2.9.1 Port Group GPE0 Control Register (GPE0CON, R/W, Address = 0xE020_00E0) GPE0CON Description Initial State...
Page 93
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.9.2 Port Group GPE0 Control Register (GPE0DAT, R/W, Address = 0xE020_00E4) GPE0DAT Description Initial State GPE0DAT[7:0] [7:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.10 PORT GROUP GPE1 CONTROL REGISTER There are six control registers, namely, GPE1CON, GPE1DAT, GPE1PUD, GPE1DRV, GPE1CONPDN and GPE1PUDPDN in the Port Group GPE1 Control Registers. 2.2.10.1 Port Group GPE1 Control Register (GPE1CON, R/W, Address = 0xE020_0100) GPE1CON Description Initial State...
Page 95
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.10.3 Port Group GPE1 Control Register (GPE1PUD, R/W, Address = 0xE020_0108) GPE1PUD Description Initial State GPE1PUD[n] [2n+1:2n] 00 = Pull-up/ down disabled 0x0155 01 = Pull-down enabled n=0~4 10 = Pull-up enabled 11 = Reserved 2.2.10.4 Port Group GPE1 Control Register (GPE1DRV, R/W, Address = 0xE020_010C) GPE1DRV Description...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.11 PORT GROUP GPF0 CONTROL REGISTER There are six control registers, namely, GPF0CON, GPF0DAT, GPF0PUD, GPF0DRV, GPF0CONPDN and GPF0PUDPDN in the Port Group GPF0 Control Registers. 2.2.11.1 Port Group GPF0 Control Register (GPF0CON, R/W, Address = 0xE020_0120) GPF0CON Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.12 PORT GROUP GPF1 CONTROL REGISTER There are six control registers, namely, GPF1CON, GPF1DAT, GPF1PUD, GPF1DRV, GPF1CONPDN and GPF1PUDPDN in the Port Group GPF1 Control Registers. 2.2.12.1 Port Group GPF1 Control Register (GPF1CON, S/W, Address = 0xE020_0140) GPF1CON Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.13 PORT GROUP GPF2 CONTROL REGISTER There are six control registers, namely, GPF2CON, GPF2DAT, GPF2PUD, GPF2DRV, GPF2CONPDN and GPF2PUDPDN in the Port Group GPF2 Control Registers. 2.2.13.1 Port Group GPF2 Control Register (GPF2CON, R/W, Address = 0xE020_0160) GPF2CON Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.14 PORT GROUP GPF3 CONTROL REGISTER There are six control registers, namely, GPF3CON, GPF3DAT, GPF3PUD, GPF3DRV, GPF3CONPDN and GPF3PUDPDN in the Port Group GPF3 Control Registers. 2.2.14.1 Port Group GPF3 Control Register (GPF3CON, R/W, Address = 0xE020_0180) GPF3CON Description Initial State...
Page 106
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.14.2 Port Group GPF3 Control Register (GPF3DAT, R/W, Address = 0xE020_0184) GPF3DAT Description Initial State GPF3DAT[5:0] [5:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.15 PORT GROUP GPG0 CONTROL REGISTER There are six control registers, namely, GPG0CON, GPG0DAT, GPG0PUD, GPG0DRV, GPG0CONPDN and GPG0PUDPDN in the Port Group GPG0 Control Registers. 2.2.15.1 Port Group GPG0 Control Register (GPG0CON, R/W, Address = 0xE020_01A0) GPG0CON Description Initial State...
Page 108
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.15.2 Port Group GPG0 Control Register (GPG0DAT, R/W, Address = 0xE020_01A4) GPG0DAT Description Initial State GPG0DAT[6:0] [6:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.16 PORT GROUP GPG1 CONTROL REGISTER There are six control registers, namely, GPG1CON, GPG1DAT, GPG1PUD, GPG1DRV, GPG1CONPDN and GPG1PUDPDN in the Port Group GPG1 Control Registers. 2.2.16.1 Port Group GPG1 Control Register (GPG1CON, R/W, Address = 0xE020_01C0) GPG1CON Description Initial State...
Page 110
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.16.2 Port Group GPG1 Control Register (GPG1DAT, R/W, Address = 0xE020_01C4) GPG1DAT Description Initial State GPG1DAT[6:0] [6:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.17 PORT GROUP GPG2 CONTROL REGISTER There are six control registers, namely, GPG2CON, GPG2DAT, GPG2PUD, GPG2DRV, GPG2CONPDN and GPG2PUDPDN in the Port Group GPG2 Control Registers. 2.2.17.1 Port Group GPG2 Control Register (GPG2CON, R/W, Address = 0xE020_01E0) GPG2CON Description Initial State...
Page 112
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.17.2 Port Group GPG2 Control Register (GPG2DAT, R/W, Address = 0xE020_01E4) GPG2DAT Description Initial State [6:0] When the port is configured as input port, the corresponding GPG2DAT[6:0] 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.18 PORT GROUP GPG3 CONTROL REGISTER There are six control registers, namely, GPG3CON, GPG3DAT, GPG3PUD, GPG3DRV, GPG3CONPDN and GPG3PUDPDN in the Port Group GPG3 Control Registers. 2.2.18.1 Port Group GPG3 Control Register (GPG3CON, R/W, Address = 0xE020_0200) GPG3CON Description Initial State...
Page 114
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.18.2 Port Group GPG3 Control Register (GPG3DAT, R/W, Address = 0xE020_0204) GPG3DAT Description Initial State GPG3DAT[6:0] [6:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.19 PORT GROUP GPI CONTROL REGISTER There are four control registers, namely, GPICON, GPIPUD and GPIDRV in the Port Group GPI Control Registers. This port group is used to only functional port (I2S_0 and PCM_0), not GPIO and EXT_INT. 2.2.19.1 Port Group GPI Control Register (GPICON, R/W, Address = 0xE020_0220) GPICON Description...
Page 116
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.19.4 Port Group GPI Control Register (GPIDRV, R/W, Address = 0xE020_022C) GPIDRV Description Initial State GPIDRV[n] [2n+1:2n] 00 = 1x 0x0000 10 = 2x n=0~6 01 = 3x 11 = 4x 2.2.19.5 Port Group GPI Control Register (GPICONPDN, R/W, Address = 0xE020_0230) GPICONPDN Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.20 PORT GROUP GPJ0 CONTROL REGISTER There are six control registers, namely, GPJ0CON, GPJ0DAT, GPJ0PUD, GPJ0DRV, GPJ0CONPDN and GPJ0PUDPDN in the Port Group GPJ0 Control Registers. 2.2.20.1 Port Group GPJ0 Control Register (GPJ0CON, R/W, Address = 0xE020_0240) GPJ0CON Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.21 PORT GROUP GPJ1 CONTROL REGISTER There are six control registers, namely, GPJ1CON, GPJ1DAT, GPJ1PUD, GPJ1DRV, GPJ1CONPDN and GPJ1PUDPDN in the Port Group GPJ1 Control Registers. 2.2.21.1 Port Group GPJ1 Control Register (GPJ1CON, R/W, Address = 0xE020_0260) GPJ0CON Description Initial State...
Page 121
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.21.2 Port Group GPJ1 Control Register (GPJ1DAT, R/W, Address = 0xE020_0264) GPJ1DAT Description Initial State GPJ1DAT[5:0] [5:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.22 PORT GROUP GPJ2 CONTROL REGISTER There are six control registers, namely, GPJ2CON, GPJ2DAT, GPJ2PUD, GPJ2DRV, GPJ2CONPDN and GPJ2PUDPDN in the Port Group GPJ2 Control Registers. 2.2.22.1 Port Group GPJ2 Control Register (GPJ2CON, R/W, Address = 0xE020_0280) GPJ2CON Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.23 PORT GROUP GPJ3 CONTROL REGISTER There are six control registers, namely, GPJ3CON, GPJ3DAT, GPJ3PUD, GPJ3DRV, GPJ3CONPDN and GPJ3PUDPDN in the Port Group GPJ3 Control Registers. 2.2.23.1 Port Group GPJ3 Control Register (GPJ3CON, R/W, Address = 0xE020_02A0) GPJ3CON Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.24 PORT GROUP GPJ4 CONTROL REGISTER There are six control registers, namely, GPJ4CON, GPJ4DAT, GPJ4PUD, GPJ4DRV, GPJ4CONPDN and GPJ4PUDPDN in the Port Group GPJ4 Control Registers. 2.2.24.1 Port Group GPJ4 Control Register (GPJ4CON, R/W, Address = 0xE020_02C0) GPJ4CON Description Initial State...
Page 129
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.24.2 Port Group GPJ4 Control Register (GPJ4DAT, R/W, Address = 0xE020_02C4) GPJ4DAT Description Initial State GPJ4DAT[4:0] [4:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.25 PORT GROUP MP0_1 CONTROL REGISTER There are six control registers, namely, MP0_1CON, MP0_1DAT, MP0_1PUD, MP0_1DRV, MP0_1CONPDN and MP0_1PUDPDN in the Port Group MP0_1 Control Registers. 2.2.25.1 Port Group MP0_1 Control Register (MP0_1CON, R/W, Address = 0xE020_02E0) MP0_1CON Description Initial State...
Page 131
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.25.2 Port Group MP0_1 Control Register (MP0_1DAT, R/W, Address = 0xE020_02E4) MP0_1DAT Description Initial State MP0_1DAT[7:0] [7:0] When the port is configured as input port, the 0x00 corresponding bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.26 PORT GROUP MP0_2 CONTROL REGISTER There are six control registers, namely, MP0_2CON, MP0_2DAT, MP0_2PUD, MP0_2DRV, MP0_2CONPDN and MP0_2PUDPDN in the Port Group MP0_2 Control Registers. 2.2.26.1 Port Group MP0_2 Control Register (MP0_2CON, R/W, Address = 0xE020_0300) MP0_2CON Description Initial State...
Page 133
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.26.3 Port Group MP0_2 Control Register (MP0_2PUD, R/W, Address = 0xE020_0308) MP0_2PUD Description Initial State MP0_2PUD[n] [2n+1:2n] 00 = Pull-up/ down disabled 0x0000 01 = Pull-down enabled n=0~3 10 = Pull-up enabled 11 = Reserved 2.2.26.4 Port Group MP0_2 Control Register (MP0_2DRV, R/W, Address = 0xE020_030C) MP0_2DRV Description...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.27 PORT GROUP MP0_3 CONTROL REGISTER There are six control registers, namely, MP0_3CON, MP0_3DAT, MP0_3PUD, MP0_3DRV, MP0_3CONPDN and MP0_3PUDPDN in the Port Group MP0_3 Control Registers. 2.2.27.1 Port Group MP0_3 Control Register (MP0_3CON, R/W, Address = 0xE020_0320) MP0_3CON Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.28 PORT GROUP MP0_4 CONTROL REGISTER There are six control registers, namely, MP0_4CON, MP0_4DAT, MP0_4PUD, MP0_4DRV, MP0_4CONPDN and MP0_4PUDPDN in the Port Group MP0_4 Control Registers. 2.2.28.1 Port Group MP0_4 Control Register (MP0_4CON, R/W, Address = 0xE020_0340) MP0_4CON Description Initial State...
Page 138
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.28.2 Port Group MP0_4 Control Register (MP0_4DAT, R/W, Address = 0xE020_0344) MP0_4DAT Description Initial State MP0_4DAT[7:0] [7:0] When the port is configured as input port, the 0x00 corresponding bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.29 PORT GROUP MP0_5 CONTROL REGISTER There are six control registers, namely, MP0_5CON, MP0_5DAT, MP0_5PUD, MP0_5DRV, MP0_5CONPDN and MP0_5PUDPDN in the Port Group MP0_5 Control Registers. 2.2.29.1 Port Group MP0_5 Control Register (MP0_5CON, R/W, Address = 0xE020_0360) MP0_5CON Description Initial State...
Page 140
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.29.2 Port Group MP0_5 Control Register (MP0_5DAT, R/W, Address = 0xE020_0364) MP0_5DAT Description Initial State MP0_5DAT[7:0] [7:0] When the port is configured as input port, the 0x00 corresponding bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.30 PORT GROUP MP0_6 CONTROL REGISTER There are six control registers, namely, MP0_6CON, MP0_6DAT, MP0_6PUD, MP0_6DRV, MP0_6CONPDN and MP0_6PUDPDN in the Port Group MP0_6 Control Registers. 2.2.30.1 Port Group MP0_6 Control Register (MP0_6CON, R/W, Address = 0xE020_0380) MP0_6CON Description Initial State...
Page 142
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.30.2 Port Group MP0_6 Control Register (MP0_6DAT, R/W, Address = 0xE020_0384) MP0_6DAT Description Initial State MP0_6DAT[7:0] [7:0] When the port is configured as input port, the 0x00 corresponding bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.31 PORT GROUP MP0_7 CONTROL REGISTER There are six control registers, namely, MP0_7CON, MP0_7DAT, MP0_7PUD, MP0_7DRV, MP0_7CONPDN and MP0_7PUDPDN in the Port Group MP0_7 Control Registers. 2.2.31.1 Port Group MP0_7 Control Register (MP0_7CON, R/W, Address = 0xE020_03A0) MP0_7CON Description Initial State...
Page 144
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.31.2 Port Group MP0_7 Control Register (MP0_7DAT, R/W, Address = 0xE020_03A4) MP0_7DAT Description Initial State MP0_7DAT[7:0] [7:0] When the port is configured as input port, the 0x00 corresponding bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.32 PORT GROUP MP1_0 CONTROL REGISTER There are six control registers, namely, MP1_0CON, MP1_0DAT, MP1_0PUD, MP1_0DRV, MP1_0CONPDN and MP1_0PUDPDN in the Port Group MP1_0 Control Registers. • MP1_0CON, R/W, Address = 0xE020_03C0 • MP1_0DAT, R/W, Address = 0xE020_03C4 •...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.34 PORT GROUP MP1_2 CONTROL REGISTER There are six control registers, namely, MP1_2CON, MP1_2DAT, MP1_2PUD, MP1_2DRV, MP1_2CONPDN and MP1_2PUDPDN in the Port Group MP1_2 Control Registers. • MP1_2CON, R/W, Address = 0xE020_0400 • MP1_2DAT, R/W, Address = 0xE020_0404 •...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.36 PORT GROUP MP1_4 CONTROL REGISTER There are six control registers, namely, MP1_4CON, MP1_4DAT, MP1_4PUD, MP1_4DRV, MP1_4CONPDN and MP1_4PUDPDN in the Port Group MP1_4 Control Registers. • MP1_4CON, R/W, Address = 0xE020_0440 • MP1_4DAT, R/W, Address = 0xE020_0444 •...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.38 PORT GROUP MP1_6 CONTROL REGISTER There are six control registers, namely, MP1_6CON, MP1_6DAT, MP1_6PUD, MP1_6DRV, MP1_6CONPDN and MP1_6PUDPDN in the Port Group MP1_6 Control Registers. • MP1_6CON, R/W, Address = 0xE020_0480 • MP1_6DAT, R/W, Address = 0xE020_0484 •...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.40 PORT GROUP MP1_8 CONTROL REGISTER There are six control registers, namely, MP1_8CON, MP1_8DAT, MP1_8PUD, MP1_8DRV, MP1_8CONPDN and MP1_8PUDPDN in the Port Group MP1_8 Control Registers. • MP1_8CON, R/W, Address = 0xE020_04C0 • MP1_8DAT, R/W, Address = 0xE020_04C4 •...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.42 PORT GROUP MP2_1 CONTROL REGISTER There are six control registers, namely, MP2_1CON, MP2_1DAT, MP2_1PUD, MP2_1DRV, MP2_1CONPDN and MP2_1PUDPDN in the Port Group MP2_1 Control Registers. • MP2_1CON, R/W, Address = 0xE020_0500 • MP2_1DAT, R/W, Address = 0xE020_0504 •...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.44 PORT GROUP MP2_3 CONTROL REGISTER There are six control registers, namely, MP2_3CON, MP2_3DAT, MP2_3PUD, MP2_3DRV, MP2_3CONPDN and MP2_3PUDPDN in the Port Group MP2_3 Control Registers. • MP2_3CON, R/W, Address = 0xE020_0540 • MP2_3DAT, R/W, Address = 0xE020_0544 •...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.46 PORT GROUP MP2_5 CONTROL REGISTER There are six control registers, namely, MP2_5CON, MP2_5DAT, MP2_5PUD, MP2_5DRV, MP2_5CONPDN and MP2_5PUDPDN in the Port Group MP2_5 Control Registers. • MP2_5CON, R/W, Address = 0xE020_0580 • MP2_5DAT, R/W, Address = 0xE020_0584 •...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.48 PORT GROUP MP2_7 CONTROL REGISTER There are six control registers, namely, MP2_7CON, MP2_7DAT, MP2_7PUD, MP2_7DRV, MP2_7CONPDN and MP2_7PUDPDN in the Port Group MP2_7 Control Registers. • MP2_7CON, R/W, Address = 0xE020_05C0 • MP2_7DAT, R/W, Address = 0xE020_05C4 •...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.50 PORT GROUP ETC0 CONTROL REGISTER There are two control registers, namely, ETC0PUD and ETC0DRV. ETC0 ports are dedicated as shown in table below: ETC0 Pin Name Description Initial State ETC0[0] XjTRSTn JTAG TAP Controller Reset ETC0[1] XjTMS JTAG TAP Controller Mode Select...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.51 PORT GROUP ETC1 CONTROL REGISTER There are two control registers, namely, ETC1PUD and ETC1DRV. ETC1 ports are dedicated as shown in table below: ETC1 Pin Name Description Initial State ETC1[0] XOM[0] Operating Mode control signal 0 ETC1[1] XOM[1] Operating Mode control signal 1...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.52 PORT GROUP ETC2 CONTROL REGISTER There are two control registers, namely, ETC2PUD and ETC2DRV. ETC2 ports are dedicated as shown in table below: ETC2 Pin Name Description Initial State ETC2[0] XnRESET System Reset ETC2[1] CLKOUT Clock out signal...
Page 158
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.52.2 Port Group ETC2 Control Register (ETC2DRV, R/W, Address = 0xE020_064C) ETC2DRV Description Initial State ETC2DRV[0] [1:0] Reserved(fixed) ETC2DRV[0] : 01 (3x) ETC2DRV[1] [3:2] 00 = 1x 10 = 2x 01 = 3x 11 = 4x ETC2DRV[n] [2n+1:2n] Reserved(fixed)
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.53 PORT GROUP ETC3 IS RESERVED 2.2.54 PORT GROUP ETC4 There is no registers. ETC4 ports are dedicated as shown in table below: ETC4 Pin Name Description Initial State ETC4[0] XrtcXTI 32 KHz crystal input for RTC ETC4[1] XrtcXTO 32 KHz crystal output for RTC...
Page 160
GPF0, GPF1, GPF2, GPF3, GPG0, GPG1, GPG2, GPG3, GPJ0, GPJ1, GPJ2, GPJ3 and GPJ4. In interrupt function, it is important to understand the filter operation. S5PC110 uses two types of filters to detect interrupt, namely, delay filter and digital filter. Delay filter uses delay cell.
Page 166
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT Register Address Description Reset Value GPE1_INT_FIXPRI 0xE020_0B34 GPIO Interrupt 9 Fixed Priority Control 0x00 Register GPF0_INT_FIXPRI 0xE020_0B38 GPIO Interrupt 10 Fixed Priority Control 0x00 Register GPF1_INT_FIXPRI 0xE020_0B3C GPIO Interrupt 11 Fixed Priority Control 0x00 Register GPF2_INT_FIXPRI 0xE020_0B40...
Page 167
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.1 GPIO Interrupt Control Registers (GPA0_INT_CON, R/W, Address = 0xE020_0700) GPA0_INT_CON Description Initial State Reserved [31] Reserved GPA0_INT_CON[7] [30:28] Sets the signaling method of GPA0_INT[7] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 168
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPA0_INT_CON Description Initial State 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPA0_INT_CON[1] [6:4] Sets the signaling method of GPA0_INT[1] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 169
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.2 GPIO Interrupt Control Registers (GPA1_INT_CON, R/W, Address = 0xE020_0704) GPA1_INT_CON Description Initial State Reserved [31:16] Reserved Reserved [15] Reserved GPA1_INT_CON[3] [14:12] Sets the signaling method of GPA1_INT[3] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 170
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.3 GPIO Interrupt Control Registers (GPB_INT_CON, R/W, Address = 0xE020_0708) GPB_INT_CON Description Initial State Reserved [31] Reserved GPB_INT_CON[7] [30:28] Sets the signaling method of GPB_INT[7] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 171
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPB_INT_CON Description Initial State 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPB_INT_CON[1] [6:4] Sets the signaling method of GPB_INT[1] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 172
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.4 GPIO Interrupt Control Registers (GPC0_INT_CON, R/W, Address = 0xE020_070C) GPC0_INT_CON Description Initial State Reserved [31:20] Reserved Reserved [19] Reserved GPC0_INT_CON[4] [18:16] Sets the signaling method of GPC0_INT[4] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 173
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.5 GPIO Interrupt Control Registers (GPC1_INT_CON, R/W, Address = 0xE020_0710) GPC1_INT_CON Description Initial State Reserved [31:20] Reserved Reserved [19] Reserved GPC1_INT_CON[4] [18:16] Sets the signaling method of GPC1_INT[4] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 174
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.6 GPIO Interrupt Control Registers (GPD0_INT_CON, R/W, Address = 0xE020_0714) GPD0_INT_CON Description Initial State Reserved [31:16] Reserved Reserved [15] Reserved GPD0_INT_CON[3] [14:12] Sets the signaling method of GPD0_INT[3] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 175
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.7 GPIO Interrupt Control Registers (GPD1_INT_CON, R/W, Address = 0xE020_0718) GPD1_INT_CON Description Initial State Reserved [31:24] Reserved Reserved [23] Reserved GPD1_INT_CON[5] [22:20] Sets the signaling method of GPD1_INT[5] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 176
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.8 GPIO Interrupt Control Registers (GPE0_INT_CON, R/W, Address = 0xE020_071C) GPE0_INT_CON Description Initial State Reserved [31] Reserved GPE0_INT_CON[7] [30:28] Sets the signaling method of GPE0_INT[7] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 177
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPE0_INT_CON Description Initial State 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPE0_INT_CON[1] [6:4] Sets the signaling method of GPE0_INT[1] 000 = Low level 001 = High level 010 = Falling edge triggered...
Page 178
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.9 GPIO Interrupt Control Registers (GPE1_INT_CON, R/W, Address = 0xE020_0720) GPE1_INT_CON Description Initial State Reserved [31:20] Reserved Reserved [19] Reserved GPE1_INT_CON[4] [18:16] Sets the signaling method of GPE1_INT[4] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 179
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.10 GPIO Interrupt Control Registers (GPF0_INT_CON, R/W, Address = 0xE020_0724) GPF0_INT_CON Description Initial State Reserved [31] Reserved GPF0_INT_CON[7] [30:28] Sets the signaling method of GPF0_INT[7] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 180
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPF0_INT_CON Description Initial State 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPF0_INT_CON[1] [6:4] Sets the signaling method of GPF0_INT[1] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 181
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.11 GPIO Interrupt Control Registers (GPF1_INT_CON, R/W, Address = 0xE020_0728) GPF1_INT_CON Description Initial State Reserved [31] Reserved GPF1_INT_CON[7] [30:28] Sets the signaling method of GPF1_INT[7] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 182
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPF1_INT_CON Description Initial State 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPF1_INT_CON[1] [6:4] Sets the signaling method of GPF1_INT[1] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 183
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.12 GPIO Interrupt Control Registers (GPF2_INT_CON, R/W, Address = 0xE020_072C) GPF2_INT_CON Description Initial State Reserved [31] Reserved GPF2_INT_CON[7] [30:28] Sets the signaling method of GPF2_INT[7] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 184
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPF2_INT_CON Description Initial State 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPF2_INT_CON[1] [6:4] Sets the signaling method of GPF2_INT[1] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 185
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.13 GPIO Interrupt Control Registers (GPF3_INT_CON, R/W, Address = 0xE020_0730) GPF3_INT_CON Description Initial State Reserved [31:24] Reserved Reserved [23] Reserved GPF3_INT_CON[5] [22:20] Sets the signaling method of GPF3_INT[5] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 186
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.14 GPIO Interrupt Control Registers (GPG0_INT_CON, R/W, Address = 0xE020_0734) GPG0_INT_CON Description Initial State Reserved [31:28] Reserved Reserved [27] Reserved GPG0_INT_CON[6] [26:24] Sets the signaling method of GPG0_INT[6] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 187
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPG0_INT_CON Description Initial State 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPG0_INT_CON[0] [2:0] Sets the signaling method of GPG0_INT[0] 000 = Low level 001 = High level 010 = Falling edge triggered...
Page 188
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.15 GPIO Interrupt Control Registers (GPG1_INT_CON, R/W, Address = 0xE020_0738) GPG1_INT_CON Description Initial State Reserved [31:28] Reserved Reserved [27] Reserved GPG1_INT_CON[6] [26:24] Sets the signaling method of GPG1_INT[6] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 189
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPG1_INT_CON Description Initial State 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPG1_INT_CON[0] [2:0] Sets the signaling method of GPG1_INT[0] 000 = Low level 001 = High level 010 = Falling edge triggered...
Page 190
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.16 GPIO Interrupt Control Registers (GPG2_INT_CON, R/W, Address = 0xE020_073C) GPG2_INT_CON Description Initial State Reserved [31:28] Reserved Reserved [27] Reserved GPG2_INT_CON[6] [26:24] Sets the signaling method of GPG2_INT[6] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 191
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPG2_INT_CON Description Initial State 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPG2_INT_CON[0] [2:0] Sets the signaling method of GPG2_INT[0] 000 = Low level 001 = High level 010 = Falling edge triggered...
Page 192
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.17 GPIO Interrupt Control Registers (GPG3_INT_CON, R/W, Address = 0xE020_0740) GPG3_INT_CON Description Initial State Reserved [31:28] Reserved Reserved [27] Reserved GPG3_INT_CON[6] [26:24] Sets the signaling method of GPG3_INT[6] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 193
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPG3_INT_CON Description Initial State 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPG3_INT_CON[0] [2:0] Sets the signaling method of GPG3_INT[0] 000 = Low level 001 = High level 010 = Falling edge triggered...
Page 194
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.18 GPIO Interrupt Control Registers (GPJ0_INT_CON, R/W, Address = 0xE020_0744) GPJ0_INT_CON Description Initial State Reserved [31] Reserved GPJ0_INT_CON[7] [30:28] Sets the signaling method of GPJ0_INT[7] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 195
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPJ0_INT_CON Description Initial State 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPJ0_INT_CON[1] [6:4] Sets the signaling method of GPJ0_INT[1] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 196
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.19 GPIO Interrupt Control Registers (GPJ1_INT_CON, R/W, Address = 0xE020_0748) GPJ1_INT_CON Description Initial State Reserved [31:24] Reserved Reserved [23] Reserved GPJ1_INT_CON[5] [22:20] Sets the signaling method of GPJ1_INT[5] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 197
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.20 GPIO Interrupt Control Registers (GPJ2_INT_CON, R/W, Address = 0xE020_074C) GPJ2_INT_CON Description Initial State Reserved [31] Reserved GPJ2_INT_CON[7] [30:28] Sets the signaling method of GPJ2_INT[7] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 198
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPJ2_INT_CON Description Initial State 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPJ2_INT_CON[1] [6:4] Sets the signaling method of GPJ2_INT[1] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 199
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.21 GPIO Interrupt Control Registers (GPJ3_INT_CON, R/W, Address = 0xE020_0750) GPJ3_INT_CON Description Initial State Reserved [31] Reserved GPJ3_INT_CON[7] [30:28] Sets the signaling method of GPJ3_INT[7] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 200
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPJ3_INT_CON Description Initial State 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved GPJ3_INT_CON[1] [6:4] Sets the signaling method of GPJ3_INT[1] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 201
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.22 GPIO Interrupt Control Registers (GPJ4_INT_CON, R/W, Address = 0xE020_0754) GPJ4_INT_CON Description Initial State Reserved [31:20] Reserved Reserved [19] Reserved GPJ4_INT_CON[4] [18:16] Sets the signaling method of GPJ4_INT[4] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered...
Page 202
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.23 GPIO Interrupt Control Registers (GPA0_INT_FLTCON0, R/W, Address = 0xE020_0800) GPA0_INT_FLTCON0 Description Initial State FLTEN1[3] [31] Filter Enable for GPA0_INT[3] 0 = Disables 1 = Enables FLTWIDTH1[3] [30:24] Filtering width of GPA0_INT[3] This value is valid when FLTSEL1is 1. FLTEN1[2] [23] Filter Enable for GPA0_INT[2]...
Page 203
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.24 GPIO Interrupt Control Registers (GPA0_INT_FLTCON1, R/W, Address = 0xE020_0804) GPA0_INT_FLTCON1 Description Initial State FLTEN1[7] [31] Filter Enable for GPA0_INT[7] 0 = Disables 1 = Enables FLTWIDTH1[7] [30:24] Filtering width of GPA0_INT[7] This value is valid when FLTSEL1is 1. FLTEN1[6] [23] Filter Enable for GPA0_INT[6]...
Page 204
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.25 GPIO Interrupt Control Registers (GPA1_INT_FLTCON0, R/W, Address = 0xE020_0808) GPA1_INT_FLTCON0 Description Initial State FLTEN2[3] [31] Filter Enable for GPA1_INT[3] 0 = Disables 1 = Enables FLTWIDTH2[3] [30:24] Filtering width of GPA1_INT[3] This value is valid when FLTSEL2is 1. FLTEN2[2] [23] Filter Enable for GPA1_INT[2]...
Page 205
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.27 GPIO Interrupt Control Registers (GPB_INT_FLTCON0, R/W, Address = 0xE020_0810) GPB_INT_FLTCON0 Description Initial State FLTEN3[3] [31] Filter Enable for GPB_INT[3] 0 = Disables 1 = Enables FLTWIDTH3[3] [30:24] Filtering width of GPB_INT[3] This value is valid when FLTSEL3 is 1. FLTEN3[2] [23] Filter Enable for GPB_INT[2]...
Page 206
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.28 GPIO Interrupt Control Registers (GPB_INT_FLTCON1, R/W, Address = 0xE020_0814) GPB_INT_FLTCON1 Description Initial State FLTEN3[7] [31] Filter Enable for GPB_INT[7] 0 = Disables 1 = Enables FLTWIDTH3[7] [30:24] Filtering width of GPB_INT[7] This value is valid when FLTSEL3 is 1. FLTEN3[6] [23] Filter Enable for GPB_INT[6]...
Page 207
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.29 GPIO Interrupt Control Registers (GPC0_INT_FLTCON0, R/W, Address = 0xE020_0818) GPC0_INT_FLTCON0 Description Initial State FLTEN4[3] [31] Filter Enable for GPC0_INT[3] 0 = Disables 1 = Enables FLTWIDTH4[3] [30:24] Filtering width of GPC0_INT[3] This value is valid when FLTSEL4 is 1. FLTEN4[2] [23] Filter Enable for GPC0_INT[2]...
Page 208
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.31 GPIO Interrupt Control Registers (GPC1_INT_FLTCON0, R/W, Address = 0xE020_0820) GPC1_INT_FLTCON0 Description Initial State FLTEN5[3] [31] Filter Enable for GPC1_INT[3] 0 = Disables 1 = Enables FLTWIDTH5[3] [30:24] Filtering width of GPC1_INT[3] This value is valid when FLTSEL5 is 1. FLTEN5[2] [23] Filter Enable for GPC1_INT[2]...
Page 209
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.33 GPIO Interrupt Control Registers (GPD0_INT_FLTCON0, R/W, Address = 0xE020_0828) GPD0_INT_FLTCON0 Description Initial State FLTEN6[3] [31] Filter Enable for GPD0_INT[3] 0 = Disables 1 = Enables FLTWIDTH6[3] [30:24] Filtering width of GPD0_INT[3] This value is valid when FLTSEL6 is 1. FLTEN6[2] [23] Filter Enable for GPD0_INT[2]...
Page 210
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.35 GPIO Interrupt Control Registers (GPD1_INT_FLTCON0, R/W, Address = 0xE020_0830) GPD1_INT_FLTCON0 Description Initial State FLTEN7[3] [31] Filter Enable for GPD1_INT[3] 0 = Disables 1 = Enables FLTWIDTH7[3] [30:24] Filtering width of GPD1_INT[3] This value is valid when FLTSEL7 is 1. FLTEN7[2] [23] Filter Enable for GPD1_INT[2]...
Page 211
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.37 GPIO Interrupt Control Registers (GPE0_INT_FLTCON0, R/W, Address = 0xE020_0838) GPE0_INT_FLTCON0 Description Initial State FLTEN8[3] [31] Filter Enable for GPE0_INT[3] 0 = Disables 1 = Enables FLTWIDTH8[3] [30:24] Filtering width of GPE0_INT[3] This value is valid when FLTSEL8 is 1. FLTEN8[2] [23] Filter Enable for GPE0_INT[2]...
Page 212
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.38 GPIO Interrupt Control Registers (GPE0_INT_FLTCON1, R/W, Address = 0xE020_083C) GPE0_INT_FLTCON1 Description Initial State FLTEN8[7] [31] Filter Enable for GPE0_INT[7] 0 = Disables 1 = Enables FLTWIDTH8[7] [30:24] Filtering width of GPE0_INT[7] This value is valid when FLTSEL8 is 1. FLTEN8[6] [23] Filter Enable for GPE0_INT[6]...
Page 213
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.39 GPIO Interrupt Control Registers (GPE1_INT_FLTCON0, R/W, Address = 0xE020_0840) GPE1_INT_FLTCON0 Description Initial State FLTEN9[3] [31] Filter Enable for GPE1_INT[3] 0 = Disables 1 = Enables FLTWIDTH9[3] [30:24] Filtering width of GPE1_INT[3] This value is valid when FLTSEL9 is 1. FLTEN9[2] [23] Filter Enable for GPE1_INT[2]...
Page 214
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.41 GPIO Interrupt Control Registers (GPF0_INT_FLTCON0, R/W, Address = 0xE020_0848) GPF0_INT_FLTCON0 Description Initial State FLTEN10[3] [31] Filter Enable for GPF0_INT[3] 0 = Disables 1 = Enables FLTWIDTH10[3] [30:24] Filtering width of GPF0_INT[3] This value is valid when FLTSEL10 is 1. FLTEN10[2] [23] Filter Enable for GPF0_INT[2]...
Page 215
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.42 GPIO Interrupt Control Registers (GPF0_INT_FLTCON1, R/W, Address = 0xE020_084C) GPF0_INT_FLTCON1 Description Initial State FLTEN10[7] [31] Filter Enable for GPF0_INT[7] 0 = Disables 1 = Enables FLTWIDTH10[7] [30:24] Filtering width of GPF0_INT[7] This value is valid when FLTSEL10 is 1. FLTEN10[6] [23] Filter Enable for GPF0_INT[6]...
Page 216
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.43 GPIO Interrupt Control Registers (GPF1_INT_FLTCON0, R/W, Address = 0xE020_0850) GPF1_INT_FLTCON0 Description Initial State FLTEN11[3] [31] Filter Enable for GPF1_INT[3] 0 = Disables 1 = Enables FLTWIDTH11[3] [30:24] Filtering width of GPF1_INT[3] This value is valid when FLTSEL11 is 1. FLTEN11[2] [23] Filter Enable for GPF1_INT[2]...
Page 217
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.44 GPIO Interrupt Control Registers (GPF1_INT_FLTCON1, R/W, Address = 0xE020_0854) GPF1_INT_FLTCON1 Description Initial State FLTEN11[7] [31] Filter Enable for GPF1_INT[7] 0 = Disables 1 = Enables FLTWIDTH11[7] [30:24] Filtering width of GPF1_INT[7] This value is valid when FLTSEL11 is 1. FLTEN11[6] [23] Filter Enable for GPF1_INT[6]...
Page 218
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.45 GPIO Interrupt Control Registers (GPF2_INT_FLTCON0, R/W, Address = 0xE020_0858) GPF2_INT_FLTCON0 Description Initial State FLTEN12[3] [31] Filter Enable for GPF2_INT[3] 0 = Disables 1 = Enables FLTWIDTH12[3] [30:24] Filtering width of GPF2_INT[3] This value is valid when FLTSEL12 is 1. FLTEN12[2] [23] Filter Enable for GPF2_INT[2]...
Page 219
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.46 GPIO Interrupt Control Registers (GPF2_INT_FLTCON1, R/W, Address = 0xE020_085C) GPF2_INT_FLTCON1 Description Initial State FLTEN12[7] [31] Filter Enable for GPF2_INT[7] 0 = Disables 1 = Enables FLTWIDTH12[7] [30:24] Filtering width of GPF2_INT[7] This value is valid when FLTSEL12 is 1. FLTEN12[6] [23] Filter Enable for GPF2_INT[6]...
Page 220
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.47 GPIO Interrupt Control Registers (GPF3_INT_FLTCON0, R/W, Address = 0xE020_0860) GPF3_INT_FLTCON0 Description Initial State FLTEN13[3] [31] Filter Enable for GPF3_INT[3] 0 = Disables 1 = Enables FLTWIDTH13[3] [30:24] Filtering width of GPF3_INT[3] This value is valid when FLTSEL13 is 1. FLTEN13[2] [23] Filter Enable for GPF3_INT[2]...
Page 221
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.49 GPIO Interrupt Control Registers (GPG0_INT_FLTCON0, R/W, Address = 0xE020_0868) GPG0_INT_FLTCON0 Description Initial State FLTEN14[3] [31] Filter Enable for GPG0_INT[3] 0 = Disables 1 = Enables FLTWIDTH14[3] [30:24] Filtering width of GPG0_INT[3] This value is valid when FLTSEL14 is 1. FLTEN14[2] [23] Filter Enable for GPG0_INT[2]...
Page 222
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.51 GPIO Interrupt Control Registers (GPG1_INT_FLTCON0, R/W, Address = 0xE020_0870) GPG1_INT_FLTCON0 Description Initial State FLTEN15[3] [31] Filter Enable for GPG1_INT[3] 0 = Disables 1 = Enables FLTWIDTH15[3] [30:24] Filtering width of GPG1_INT[3] This value is valid when FLTSEL15 is 1. FLTEN15[2] [23] Filter Enable for GPG1_INT[2]...
Page 223
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.53 GPIO Interrupt Control Registers (GPG2_INT_FLTCON0, R/W, Address = 0xE020_0878) GPG2_INT_FLTCON0 Description Initial State FLTEN16[3] [31] Filter Enable for GPG2_INT[3] 0 = Disables 1 = Enables FLTWIDTH16[3] [30:24] Filtering width of GPG2_INT[3] This value is valid when FLTSEL16 is 1. FLTEN16[2] [23] Filter Enable for GPG2_INT[2]...
Page 224
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.55 GPIO Interrupt Control Registers (GPG3_INT_FLTCON0, R/W, Address = 0xE020_0880) GPG3_INT_FLTCON0 Description Initial State FLTEN17[3] [31] Filter Enable for GPG3_INT[3] 0 = Disables 1 = Enables FLTWIDTH17[3] [30:24] Filtering width of GPG3_INT[3] This value is valid when FLTSEL17 is 1. FLTEN17[2] [23] Filter Enable for GPG3_INT[2]...
Page 225
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.57 GPIO Interrupt Control Registers (GPJ0_INT_FLTCON0, R/W, Address = 0xE020_0888) GPJ0_INT_FLTCON0 Description Initial State FLTEN18[3] [31] Filter Enable for GPJ0_INT[3] 0 = Disables 1 = Enables FLTWIDTH18[3] [30:24] Filtering width of GPJ0_INT[3] This value is valid when FLTSEL18 is 1. FLTEN18[2] [23] Filter Enable for GPJ0_INT[2]...
Page 226
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.58 GPIO Interrupt Control Registers (GPJ0_INT_FLTCON1, R/W, Address = 0xE020_088C) GPJ0_INT_FLTCON1 Description Initial State FLTEN18[7] [31] Filter Enable for GPJ0_INT[7] 0 = Disables 1 = Enables FLTWIDTH18[7] [30:24] Filtering width of GPJ0_INT[7] This value is valid when FLTSEL18 is 1. FLTEN18[6] [23] Filter Enable for GPJ0_INT[6]...
Page 227
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.59 GPIO Interrupt Control Registers (GPJ1_INT_FLTCON0, R/W, Address = 0xE020_0890) GPJ1_INT_FLTCON0 Description Initial State FLTEN19[3] [31] Filter Enable for GPJ1_INT[3] 0 = Disables 1 = Enables FLTWIDTH19[3] [30:24] Filtering width of GPJ1_INT[3] This value is valid when FLTSEL19 is 1. FLTEN19[2] [23] Filter Enable for GPJ1_INT[2]...
Page 228
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.61 GPIO Interrupt Control Registers (GPJ2_INT_FLTCON0, R/W, Address = 0xE020_0898) GPJ2_INT_FLTCON0 Description Initial State FLTEN20[3] [31] Filter Enable for GPJ2_INT[3] 0 = Disables 1 = Enables FLTWIDTH20[3] [30:24] Filtering width of GPJ2_INT[3] This value is valid when FLTSEL20 is 1. FLTEN20[2] [23] Filter Enable for GPJ2_INT[2]...
Page 229
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.62 GPIO Interrupt Control Registers (GPJ2_INT_FLTCON1, R/W, Address = 0xE020_089C) GPJ2_INT_FLTCON1 Description Initial State FLTEN20[7] [31] Filter Enable for GPJ2_INT[7] 0 = Disables 1 = Enables FLTWIDTH20[7] [30:24] Filtering width of GPJ2_INT[7] This value is valid when FLTSEL20 is 1. FLTEN20[6] [23] Filter Enable for GPJ2_INT[6]...
Page 230
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.63 GPIO Interrupt Control Registers (GPJ3_INT_FLTCON0, R/W, Address = 0xE020_08A0) GPJ3_INT_FLTCON0 Description Initial State FLTEN21[3] [31] Filter Enable for GPJ3_INT[3] 0 = Disables 1 = Enables FLTWIDTH21[3] [30:24] Filtering width of GPJ3_INT[3] This value is valid when FLTSEL21 is 1. FLTEN21[2] [23] Filter Enable for GPJ3_INT[2]...
Page 231
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.64 GPIO Interrupt Control Registers (GPJ3_INT_FLTCON1, R/W, Address = 0xE020_08A4) GPJ3_INT_FLTCON1 Description Initial State FLTEN21[7] [31] Filter Enable for GPJ3_INT[7] 0 = Disables 1 = Enables FLTWIDTH21[7] [30:24] Filtering width of GPJ3_INT[7] This value is valid when FLTSEL21 is 1. FLTEN21[6] [23] Filter Enable for GPJ3_INT[6]...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.65 GPIO Interrupt Control Registers (GPJ4_INT_FLTCON0, R/W, Address = 0xE020_08A8) GPJ4_INT_FLTCON0 Description Initial State FLTEN22[3] [31] Filter Enable for GPJ4_INT[3] 0 = Disables 1 = Enables FLTWIDTH22[3] [30:24] Filtering width of GPJ4_INT[3] This value is valid when FLTSEL22 is 1. FLTEN22[2] [23] Filter Enable for GPJ4_INT[2]...
Page 245
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.89 GPIO Interrupt Control Registers (GPA0_INT_PEND, R/W, Address = 0xE020_0A00) GPA0_INT_PEND Description Initial State Reserved [31:8] Reserved GPA0_INT_PEND[7] 0 = Not occur 1 = Occur interrupt GPA0_INT_PEND[6] 0 = Not occur 1 = Occur interrupt GPA0_INT_PEND[5] 0 = Not occur 1 = Occur interrupt...
Page 246
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.91 GPIO Interrupt Control Registers (GPB_INT_PEND, R/W, Address = 0xE020_0A08) GPB_INT_PEND Description Initial State Reserved [31:8] Reserved GPB_INT_PEND[7] 0 = Not occur 1 = Occur interrupt GPB_INT_PEND[6] 0 = Not occur 1 = Occur interrupt GPB_INT_PEND[5] 0 = Not occur 1 = Occur interrupt...
Page 247
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.92 GPIO Interrupt Control Registers (GPC0_INT_PEND, R/W, Address = 0xE020_0A0C) GPC0_INT_PEND Description Initial State Reserved [31:5] Reserved GPC0_INT_PEND[4] 0 = Not occur 1 = Occur interrupt GPC0_INT_PEND[3] 0 = Not occur 1 = Occur interrupt GPC0_INT_PEND[2] 0 = Not occur 1 = Occur interrupt...
Page 248
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.94 GPIO Interrupt Control Registers (GPD0_INT_PEND, R/W, Address = 0xE020_0A14) GPD0_INT_PEND Description Initial State Reserved [31:4] Reserved GPD0_INT_PEND[3] 0 = Not occur 1 = Occur interrupt GPD0_INT_PEND[2] 0 = Not occur 1 = Occur interrupt GPD0_INT_PEND[1] 0 = Not occur 1 = Occur interrupt...
Page 249
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.96 GPIO Interrupt Control Registers (GPE0_INT_PEND, R/W, Address = 0xE020_0A1C) GPE0_INT_PEND Description Initial State Reserved [31:8] Reserved GPE0_INT_PEND[7] 0 = Not occur 1 = Occur interrupt GPE0_INT_PEND[6] 0 = Not occur 1 = Occur interrupt GPE0_INT_PEND[5] 0 = Not occur 1 = Occur interrupt...
Page 250
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.98 GPIO Interrupt Control Registers (GPF0_INT_PEND, R/W, Address = 0xE020_0A24) GPF0_INT_PEND Description Initial State Reserved [31:8] Reserved GPF0_INT_PEND[7] 0 = Not occur 1 = Occur interrupt GPF0_INT_PEND[6] 0 = Not occur 1 = Occur interrupt GPF0_INT_PEND[5] 0 = Not occur 1 = Occur interrupt...
Page 251
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.100 GPIO Interrupt Control Registers (GPF2_INT_PEND, R/W, Address = 0xE020_0A2C) GPF2_INT_PEND Description Initial State Reserved [31:8] Reserved GPF2_INT_PEND[7] 0 = Not occur 1 = Occur interrupt GPF2_INT_PEND[6] 0 = Not occur 1 = Occur interrupt GPF2_INT_PEND[5] 0 = Not occur 1 = Occur interrupt...
Page 252
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.102 GPIO Interrupt Control Registers (GPG0_INT_PEND, R/W, Address = 0xE020_0A34) GPG0_INT_PEND Description Initial State Reserved [31:7] Reserved GPG0_INT_PEND[6] 0 = Not occur 1 = Occur interrupt GPG0_INT_PEND[5] 0 = Not occur 1 = Occur interrupt GPG0_INT_PEND[4] 0 = Not occur 1 = Occur interrupt...
Page 253
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.104 GPIO Interrupt Control Registers (GPG2_INT_PEND, R/W, Address = 0xE020_0A3C) GPG2_INT_PEND Description Initial State Reserved [31:7] Reserved GPG2_INT_PEND[6] 0 = Not occur 1 = Occur interrupt GPG2_INT_PEND[5] 0 = Not occur 1 = Occur interrupt GPG2_INT_PEND[4] 0 = Not occur 1 = Occur interrupt...
Page 254
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.106 GPIO Interrupt Control Registers (GPJ0_INT_PEND, R/W, Address = 0xE020_0A44) GPJ0_INT_PEND Description Initial State Reserved [31:8] Reserved GPJ0_INT_PEND[7] 0 = Not occur 1 = Occur interrupt GPJ0_INT_PEND[6] 0 = Not occur 1 = Occur interrupt GPJ0_INT_PEND[5] 0 = Not occur 1 = Occur interrupt...
Page 255
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.108 GPIO Interrupt Control Registers (GPJ2_INT_PEND, R/W, Address = 0xE020_0A4C) GPJ2_INT_PEND Description Initial State Reserved [31:8] Reserved GPJ2_INT_PEND[7] 0 = Not occur 1 = Occur interrupt GPJ2_INT_PEND[6] 0 = Not occur 1 = Occur interrupt GPJ2_INT_PEND[5] 0 = Not occur 1 = Occur interrupt...
Page 256
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.110 GPIO Interrupt Control Registers (GPJ4_INT_PEND, R/W, Address = 0xE020_0A54) GPJ4_INT_PEND Description Initial State Reserved [31:5] Reserved GPJ4_INT_PEND[4] 0 = Not occur 1 = Occur interrupt GPJ4_INT_PEND[3] 0 = Not occur 1 = Occur interrupt GPJ4_INT_PEND[2] 0 = Not occur 1 = Occur interrupt...
Page 257
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.111 GPIO Interrupt Control Registers (GPIO_INT_GRPPRI, R/W, Address = 0xE020_0B00) GPIO_INT_GRPPRI Description Initial State Reserved [31:1] Reserved GPIO_INT_GRPPRI GPIO Interrupt groups priority rotate enable 0 = Not rotate (Fixed) 2.2.55.112 GPIO Interrupt Control Registers (GPIO_INT_PRIORITY, R/W, Address = 0xE020_0B04) GPIO_INT_PRIORITY Description Initial State...
Page 258
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT GPIO_INT_PRIORITY Description Initial State GPC1_INT_PRI GPC1_INT priority rotate enable 0 = Not rotate(Fixed) GPC0_INT_PRI GPC0_INT priority rotate enable 0 = Not rotate(Fixed) GPB_INT_PRI GPB_INT priority rotate enable 0 = Not rotate(Fixed) GPA1_INT_PRI GPA1_INT priority rotate enable 0 = Not rotate(Fixed) GPA0_INT_PRI GPA0_INT priority rotate enable...
Page 259
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.113 GPIO Interrupt Control Registers (GPIO_INT_SERVICE, R/W, Address = 0xE020_0B08) GPIO_INT_SERVICE Description Initial State Reserved [31:8] Reserved SVC_Group_Num [7:3] GPIO Interrupt Service group number (GPA0_INT ~ GPJ4_INT) Non_INT: 00000 == 0x0 GPA0_INT: 00001 == 0x1 GPA1_INT: 00010 == 0x2 GPB_INT: 00011 == 0x3 GPC0_INT: 00100 == 0x4...
Page 260
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.114 GPIO Interrupt Control Registers (GPIO_INT_SERVICE_PEND, R/W, Address = 0xE020_0B0C) GPIO_INT_SERVICE_PEND Description Initial State Reserved [31:8] Reserved SVC_PEND_Num [7:0] GPIO Interrupt Service Interrupt number (0 = Not occur , 1 = Occur interrupt) (0 ~ 7bit) 0bit: 0000_0001 == 0x1 1bit: 0000_0010 == 0x2 2bit: 0000_0100 == 0x4...
Page 261
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.115 GPIO Interrupt Control Registers (GPIO_INT_GRPFIXPRI, R/W, Address = 0xE020_0B10) GPIO_INT_GRPFIXPRI Description Initial State Reserved [31:5] Reserved Highest_GRP_NUM [4:0] Group number of the highest priority when fixed group priority mode: (GPA0_INT ~ GPJ4_INT) Non_INT: 00000 == 0x0 GPA0_INT: 00001 == 0x1 GPA1_INT: 00010 == 0x2 GPB_INT: 00011 == 0x3...
Page 262
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.117 GPIO Interrupt Control Registers (GPA1_INT_FIXPRI, R/W, Address = 0xE020_0B18) GPA1_INT_FIXPRI Description Initial State Reserved [31:3] Reserved Highest_EINT_NUM [2:0] Interrupt number of the highest priority in GPA1_INT when fixed priority mode: 0~7 *For Example, if #3 is high priority, next priority interrupt is #4, not #0.
Page 263
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.119 GPIO Interrupt Control Registers (GPC0_INT_FIXPRI, R/W, Address = 0xE020_0B20) GPC0_INT_FIXPRI Description Initial State Reserved [31:3] Reserved Highest_EINT_NUM [2:0] Interrupt number of the highest priority in GPC0_INT when fixed priority mode: 0~7 *For Example, if #3 is high priority, next priority interrupt is #4, not #0.
Page 264
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.122 GPIO Interrupt Control Registers (GPD1_INT_FIXPRI, R/W, Address = 0xE020_0B2C) GPD1_INT_FIXPRI Description Initial State Reserved [31:3] Reserved Highest_EINT_NUM [2:0] Interrupt number of the highest priority in GPD1_INT when fixed priority mode: 0~7 *For Example, if #3 is high priority, next priority interrupt is #4, not #0.
Page 265
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.125 GPIO Interrupt Control Registers (GPF0_INT_FIXPRI, R/W, Address = 0xE020_0B38) GPF0_INT_FIXPRI Description Initial State Reserved [31:3] Reserved Highest_EINT_NUM [2:0] Interrupt number of the highest priority in GPF0_INT when fixed priority mode: 0~7 *For Example, if #3 is high priority, next priority interrupt is #4, not #0.
Page 266
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.128 GPIO Interrupt Control Registers (GPF3_INT_FIXPRI, R/W, Address = 0xE020_0B44) GPF3_INT_FIXPRI Description Initial State Reserved [31:3] Reserved Highest_EINT_NUM [2:0] Interrupt number of the highest priority in GPF3_INT when fixed priority mode: 0~7 *For Example, if #3 is high priority, next priority interrupt is #4, not #0.
Page 267
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.131 GPIO Interrupt Control Registers (GPG2_INT_FIXPRI, R/W, Address = 0xE020_0B50) GPG2_INT_FIXPRI Description Initial State Reserved [31:3] Reserved Highest_EINT_NUM [2:0] Interrupt number of the highest priority in GPG2_INT when fixed priority mode: 0~7 *For Example, if #3 is high priority, next priority interrupt is #4, not #0.
Page 268
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.55.134 GPIO Interrupt Control Registers (GPJ1_INT_FIXPRI, R/W, Address = 0xE020_0B5C) GPJ1_INT_FIXPRI Description Initial State Reserved [31:3] Reserved Highest_EINT_NUM [2:0] Interrupt number of the highest priority in GPJ1_INT when fixed priority mode: 0~7 *For Example, if #3 is high priority, next priority interrupt is #4, not #0.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.56 PORT GROUP GPH0 CONTROL REGISTER There are four control registers including GPH0CON, GPH0DAT, GPH0PUD and GPH0DRV in the Port Group GPH0 Control Registers. Group GPH0 is in alive area 2.2.56.1 Port Group GPH0 Control Register (GPH0CON, R/W, Address = 0xE020_0C00) GPH0CON Description Initial State...
Page 270
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.56.2 Port Group GPH0 Control Register (GPH0DAT, R/W, Address = 0xE020_0C04) GPH0DAT Description Initial State GPH0DAT[7:0] [7:0] When the port is configured as input port, the corresponding bit 0x00 is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.57 PORT GROUP GPH1 CONTROL REGISTER There are four control registers including GPH1CON, GPH1DAT, GPH1PUD and GPH1DRV in the Port Group GPH1 Control Registers Group GPH1 is in alive area 2.2.57.1 Port Group GPH1 Control Register (GPH1CON, R/W, Address = 0xE020_0C20) GPH1CON Description Initial State...
Page 272
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.57.2 Port Group GPH1 Control Register (GPH1DAT, R/W, Address = 0xE020_0C24) GPH1DAT Description Initial State GPH1DAT[7:0] [7:0] When the port is configured as input port, the corresponding 0x00 bit is the pin state. When the port is configured as output port, the pin state is the same as the corresponding bit.
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.58 PORT GROUP GPH2 CONTROL REGISTER There are four control registers, namely, GPH2CON, GPH2DAT, GPH2PUD and GPH2DRV in the Port Group GPH2 Control Registers. Group GPH2 is in alive area. 2.2.58.1 Port Group GPH2 Control Register (GPH2CON, R/W, Address = 0xE020_0C40) GPH2CON Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.59 PORT GROUP GPH3 CONTROL REGISTER There are four control registers, namely, GPH3CON, GPH3DAT, GPH3PUD and GPH3DRV in the Port Group GPH3 Control Registers. Group GPH3 is alive area 2.2.59.1 Port Group GPH3 Control Register (GPH3CON, R/W, Address = 0xE020_0C60) GPH3CON Description Initial State...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60 EXTERNAL INTERRUPT CONTROL REGISTERS External Interrupt consists of 32 bits. EXT_INT[31:0] are used for wake-up source in Power down mode. In idle mode, all interrupts can be wake-up source; the other groups of external interrupts also can be the wake-up sources.
Page 278
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT EXT_INT_0_CON Description Initial State 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved Reserved [11] Reserved EXT_INT_0_CON[2] [10:8] Sets the signaling method of EXT_INT[2] 000 = Low level 001 = High level 010 = Falling edge triggered...
Page 279
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.2 External Interrupt Control Registers (EXT_INT_1_CON, R/W, Address = 0xE020_0E04) EXT_INT_1_CON Description Initial State Reserved [31] Reserved EXT_INT_1_CON[7] [30:28] Sets the signaling method of EXT_INT[15] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 280
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT EXT_INT_1_CON Description Initial State 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved EXT_INT_1_CON[1] [6:4] Sets the signaling method of EXT_INT[9] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 281
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.3 External Interrupt Control Registers (EXT_INT_2_CON, R/W, Address = 0xE020_0E08) EXT_INT_2_CON Description Initial State Reserved [31] Reserved EXT_INT_2_CON[7] [30:28] Sets the signaling method of EXT_INT[23] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 282
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT EXT_INT_2_CON Description Initial State 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved EXT_INT_2_CON[1] [6:4] Sets the signaling method of EXT_INT[17] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 283
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.4 External Interrupt Control Registers (EXT_INT_3_CON, R/W, Address = 0xE020_0E0C) EXT_INT_3_CON Description Initial State Reserved [31] Reserved EXT_INT_3_CON[7] [30:28] Sets the signaling method of EXT_INT[31] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 284
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT EXT_INT_3_CON Description Initial State 100 = Both edge triggered 101 ~ 111 = Reserved Reserved Reserved EXT_INT_3_CON[1] [6:4] Sets the signaling method of EXT_INT[25] 000 = Low level 001 = High level 010 = Falling edge triggered 011 = Rising edge triggered 100 = Both edge triggered 101 ~ 111 = Reserved...
Page 285
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.5 External Interrupt Control Registers (EXT_INT_0_FLTCON0, R/W, Address = 0xE020_0E80) EXT_INT_0_FLTCON0 Description Initial State FLTEN_0[3] [31] Filter Enable for EXT_INT[3] 0 = Disables 1 = Enables FLTSEL_0[3] [30] Filter Selection for EXT_INT[3] 0 = Delay filter 1 = Digital filter (clock count) FLTWIDTH_0[3] [29:24]...
Page 286
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.6 External Interrupt Control Registers (EXT_INT_0_FLTCON1, R/W, Address = 0xE020_0E84) EXT_INT_0_FLTCON1 Description Initial State FLTEN_0[7] [31] Filter Enable for EXT_INT[7] 0 = Disables 1 = Enables FLTSEL_0[7] [30] Filter Selection for EXT_INT[7] 0 = Delay filter 1 = Digital filter(clock count) FLTWIDTH_0[7] [29:24]...
Page 287
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.7 External Interrupt Control Registers (EXT_INT_1_FLTCON0, R/W, Address = 0xE020_0E88) EXT_INT_1_FLTCON0 Description Initial State FLTEN_1[3] [31] Filter Enable for EXT_INT[11] 0 = Disables 1 = Enables FLTSEL_1[3] [30] Filter Selection for EXT_INT[11] 0 = Delay filter 1 = Digital filter (clock count) FLTWIDTH_1[3] [29:24]...
Page 288
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.8 External Interrupt Control Registers (EXT_INT_1_FLTCON1, R/W, Address = 0xE020_0E8C) EXT_INT_1_FLTCON1 Description Initial State FLTEN_1[7] [31] Filter Enable for EXT_INT[15] 0 = Disables 1 = Enables FLTSEL_1[7] [30] Filter Selection for EXT_INT[15] 0 = Delay filter 1 = Digital filter (clock count) FLTWIDTH_1[7] [29:24]...
Page 289
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.9 External Interrupt Control Registers (EXT_INT_2_FLTCON0, R/W, Address = 0xE020_0E90) EXT_INT_2_FLTCON0 Description Initial State FLTEN_2[3] [31] Filter Enable for EXT_INT[19] 0 = Disables 1 = Enables FLTSEL_2[3] [30] Filter Selection for EXT_INT[19] 0 = Delay filter 1 = Digital filter (clock count) FLTWIDTH_2[3] [29:24]...
Page 290
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.10 External Interrupt Control Registers (EXT_INT_2_FLTCON1, R/W, Address = 0xE020_0E94) EXT_INT_2_FLTCON1 Description Initial State FLTEN_2[7] [31] Filter Enable for EXT_INT[23] 0 = Disables 1 = Enables FLTSEL_2[7] [30] Filter Selection for EXT_INT[23] 0 = Delay filter 1 = Digital filter (clock count) FLTWIDTH_2[7] [29:24]...
Page 291
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.11 External Interrupt Control Registers (EXT_INT_3_FLTCON0, R/W, Address = 0xE020_0E98) EXT_INT_3_FLTCON0 Description Initial State FLTEN_3[3] [31] Filter Enable for EXT_INT[27] 0 = Disables 1 = Enables FLTSEL_3[3] [30] Filter Selection for EXT_INT[27] 0 = Delay filter 1 = Digital filter (clock count) FLTWIDTH_3[3] [29:24]...
Page 292
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.60.12 External Interrupt Control Registers (EXT_INT_3_FLTCON1, R/W, Address = 0xE020_0E9C) EXT_INT_3_FLTCON1 Description Initial State FLTEN_3[7] [31] Filter Enable for EXT_INT[31] 0 = Disables 1 = Enables FLTSEL_3[7] [30] Filter Selection for EXT_INT[31] 0 = Delay filter 1 = Digital filter(clock count) FLTWIDTH_3[7] [29:24]...
S5PC110_UM 2 GENERAL PURPOSE INPUT/ OUTPUT 2.2.61 EXTERN PIN CONFIGURATION REGISTERS IN POWER DOWN MODE This registers keep their values during power down mode 2.2.61.1 Extern Pin Configuration Registers in Power down Mode (PDNEN, R/W, Address = 0xE020_0F80) PDNEN Description Initial State Reserved [7:2]...
This chapter describes the clock management unit (CMU) supported by S5PC110. The system controller (SYSCON) manages CMU and power management unit (PMU) in S5PC110. 3.1 CLOCK DOMAINS S5PC110 consists of three clock domains, namely, main system (MSYS), display system (DSYS), and peripheral system (PSYS), as shown in Figure 3-1.
S5PC110_UM 3 CLOCK CONTROLLER 3.2 CLOCK DECLARATION shows the classification of clocks in S5PC110. The top-level clocks in S5PC110 include: Figure 3-2 • Clocks from clock pads, that is, XRTCXTI, XXTI, XUSBXTI, and XHDMIXTI. • Clocks from CMU (for instance, ARMCLK, HCLK, PCLK, and so on.) •...
VPLL uses SRCLK as input to generate 10MHz ~ 600MHz. This PLL generates 54MHz video clock. • USB OTG PHY uses XUSBXTI to generate 30MHz and 48MHz. In typical S5PC110 applications, • Cortex A8 and MSYS clock domain uses APLL (that is, ARMCLK, HCLK_MSYS, and PCLK_MSYS).
S5PC110_UM 3 CLOCK CONTROLLER 3.3 CLOCK RELATIONSHIP Clocks have the following relationship: • MSYS clock domain − freq(ARMCLK) = freq(APLLCLK) / n, where n = 1 ~ 8 − freq(HCLK_MSYS) = freq(ARMCLK) / n, where n = 1 ~ 8 −...
S5PC110_UM 3 CLOCK CONTROLLER • − APLL can drive MSYS domain and DSYS domain. It can generate up to 1 GHz, 49:51 duty ratio. − MPLL can drive MSYS domain and DSYS domain. It supplies clock, up to 2 GHz and 40:60 duty ratio. −...
An external crystal clock is connected to the Figure 3-3 oscillation amplifier. The PLL converts low input frequency to high-frequency clock required by S5PC110. The clock generator block also includes a built-in logic to stabilize the clock frequency after each system reset, since clock takes time before stabilizing.
CLK_DIV0 [31:0] = target value0; Change the divider values for special clocks CLK_DIV1 [31:0] = target value1; CLK_DIV2 [31:0] = target value2; 3.5.1 CLOCK GATING S5PC110 can disable the clock operation of each IP if it is not required. This reduces dynamic power. 3-11...
S5PC110_UM 3 CLOCK CONTROLLER 3.6 SPECIAL CLOCK DESCRIPTION 3.6.1 SPECIAL CLOCK TABLE Table 3-6 Special Clocks in S5PC110 Name Description Range Source SCLK_ONENAND ONE NAND operating ~166 MHz (A, M)PLL clock (SCLK_ONENAND) SCLK_G3D G3D core operating ~200 MHz (A, M, E, V)PLL...
SCLK_USBPHY means USB PHY 48 MHz output clock. SCLK_HDMI27M means HDMI PHY (27 MHz reference clock) output. SCLK_HDMIPHY means HDMI PHY (PIXEL_CLKO) output clock. SCLKMPLL, SCLKEPLL, and SCLKVPLL mean output clock of MPLL, EPLL, and EPLL, respectively. Table 3-7 I/O Clocks in S5PC110 Name Type Description IOCLK_CFCON...
S5PC110_UM 3 CLOCK CONTROLLER 3.7 REGISTER DESCRIPTION System controller controls PLL, clock generator, the power management unit (PMU), and other system dependent units. This section describes how to control these parts using Special Functional Register (SFR) within the system controller. Do not change any reserved area. Changing value of Reserved area can lead to undefined behavior. 3.7.1 REGISTER MAP Register Address...
Page 312
S5PC110_UM 3 CLOCK CONTROLLER Register Address Description Reset Value CLK_SRC_MASK1 0xE010_0284 Clock source mask 1 0xFFFF_FFFF Reserved 0xE010_0288~ Reserved 0xE010_02FC CLK_DIV0 0xE010_0300 Set clock divider ratio 0 (System Clocks) 0x0000_0000 CLK_DIV1 0xE010_0304 Set clock divider ratio 1 (Multimedia) 0x0000_0000 CLK_DIV2 0xE010_0308 Set clock divider ratio 2 (Multimedia) 0x0000_0000...
Page 314
The SFRs with address 0xE010_2XXX controls SW reset. The SFRs with address 0xE010_3XXX controls IEM block. The SFRs with address 0xE010_6XXX controls S5PC110 system. The SFRs withe address 0xE010_7XXX include miscellaneous registers. The SFRs with address 0xE010_8XXX controls the power management block.
S5PC110_UM 3 CLOCK CONTROLLER S5PC110 has four internal PLLs, namely, APLL, MPLL, EPLL, and VPLL. The four internal PLLs are controlled by the following eight special registers: 3.7.2 PLL CONTROL REGISTERS 3.7.2.1 PLL Control Registers (APLL_LOCK / MPLL_LOCK / EPLL_LOCK / VPLL_LOCK) •...
Page 316
S5PC110_UM 3 CLOCK CONTROLLER PLL_CON register controls the operation of each PLL. If ENABLE bit is set, the corresponding PLL generates output after PLL locking period. The MDIV, PDIV, and SDIV values control the output frequency of PLL. The PLL also generates the output frequency when MDIV, PDIV, and VSEL are changed.
Page 317
S5PC110_UM 3 CLOCK CONTROLLER APLL_CON1 Description Initial State AFC_ENB [31] Decides whether AFC is enabled or not. Active low. AFC selects adaptive frequency curve of VCO for wide range, high phase noise (or jitter) and fast lock time. (LOW: AFC is enabled, HIGH: AFC is disabled) Users should refer to on whether to use AFC for a 3.3.1...
Page 320
S5PC110_UM 3 CLOCK CONTROLLER 460MHz ≤ FVCO ≤ 660MHz when VSEL=HIGH. FOUT: 12MHz ≤ FOUT ≤ 660MHz Refer to for recommended PMS values. 3.3.3 Recommended PLL PMS Value for EPLL EPLL should be turned on before entering following low-power modes. Deep idle, stop, deep stop, Caution: sleep mode.
3 CLOCK CONTROLLER 3.7.3 CLOCK SOURCE CONTROL REGISTERS S5PC110 has many clock sources, which include four PLL outputs, the external oscillator, the external clock, and other clock sources from GPIO. CLK_SRCn registers control the source clock of each clock divider.
Page 323
S5PC110_UM 3 CLOCK CONTROLLER 3.7.3.2 Clock Source Control Registers (CLK_SRC1, R/W, Address = 0xE010_0204) CLK_SRC1 Description Initial State Reserved [31:29] Reserved VPLLSRC_SEL [28] Control MUXVPLLSRC, which is the source clock of VPLL (0: Oscillator clock, 1: HDMI reference clock) CSIS_SEL [27:24] Control MUXCSIS, which is the source clock of CSIS (0000: XXTI, 0001: XusbXTI, 0010: SCLK_HDMI27M, 0011:...
Page 324
S5PC110_UM 3 CLOCK CONTROLLER 3.7.3.3 Clock Source Control Registers (CLK_SRC2, R/W, Address = 0xE010_0208) CLK_SRC2 Description Initial State Reserved [31:10] Reserved G2D_SEL [9:8] Control MUXG2D, which is the source clock of G2D core (00:SCLKA2M, 01:SCLKMPLL, 10:SCLKEPLL, 11:SCLKVPLL) Reserved [7:6] Reserved MFC_SEL [5:4] Control MUXMFC, which is the source clock of MFC core...
Page 325
S5PC110_UM 3 CLOCK CONTROLLER 3.7.3.4 Clock Source Control Registers (CLK_SRC3, R/W, Address = 0xE010_020C) CLK_SRC3 Description Initial State Reserved [31:24] Reserved 0x00 FIMC_LCLK_SEL [23:20] Control MUXFIMC_LCLK, which is the source clock of FIMC2 local clock (0000: XXTI, 0001: XUSBXTI, 0010: SCLK_HDMI27M, 0011: SCLK_USBPHY0, 0100: SCLK_USBPH1, 0101: SCLK_HDMIPHY, 0110: SCLKMPLL, 0111: SCLKEPLL, 1000: SCLKVPLL, OTHERS: reserved)
Page 326
S5PC110_UM 3 CLOCK CONTROLLER 3.7.3.5 Clock Source Control Registers (CLK_SRC4, R/W, Address = 0xE010_0210) CLK_SRC4 Description Initial State UART3_SEL [31:28] Control MUXUART3, which is the source clock of UART3 (0000: XXTI, 0001: XUSBXTI, 0010: SCLK_HDMI27M, 0011: SCLK_USBPHY0, 0100: SCLK_USBPH1, 0101: SCLK_HDMIPHY, 0110: SCLKMPLL, 0111: SCLKEPLL, 1000: SCLKVPLL, OTHERS: reserved) UART2_SEL...
Page 327
S5PC110_UM 3 CLOCK CONTROLLER 3.7.3.6 Clock Source Control Registers (CLK_SRC5, R/W, Address = 0xE010_0214) CLK_SRC5 Description Initial State Reserved [31:16] Reserved PWM_SEL [15:12] Control MUXPWM, which is the source clock of PWM (0000: XXTI, 0001: XUSBXTI, 0010: SCLK_HDMI27M, 0011: SCLK_USBPHY0, 0100: SCLK_USBPH1, 0101: SCLK_HDMIPHY, 0110: SCLKMPLL, 0111: SCLKEPLL, 1000: SCLKVPLL, OTHERS: reserved) Reserved...
Page 328
S5PC110_UM 3 CLOCK CONTROLLER 3.7.3.7 Clock Source Control Registers (CLK_SRC6, R/W, Address = 0xE010_0218) CLK_SRC6 Description Initial State Reserved [31:26] Reserved 0x00 DMC0_SEL [25:24] Control MUXDMC0, which is the source clock of DMC0 (00:SCLKA2M, 01:SCLKMPLL, 10:SCLKEPLL, 11:SCLKVPLL) PWI_SEL [23:20] Control MUXPWI, which is the source clock of PWI (0000: XXTI, 0001: XUSBXTI, 0010: SCLK_HDMI27M, 0011: SCLK_USBPHY0, 0100: SCLK_USBPH1, 0101: SCLK_HDMIPHY, 0110: SCLKMPLL, 0111: SCLKEPLL, 1000:...
Page 330
S5PC110_UM 3 CLOCK CONTROLLER 3.7.3.9 Clock Source Control Registers (CLK_SRC_MASK1, Address = R/W, 0xE010_0284) CLK_SRC_MASK1 Description Initial State Reserved [31:7] Reserved 0x7FF_FFFF FIMC_LCLK_MASK Mask output clock of MUXFIMC_LCLK (0: disable, 1: enable) Should have same value as FIMC_LCLK_MASK Should have same value as FIMC_LCLK_MASK Reserved [1:0] Reserved...
3 CLOCK CONTROLLER 3.7.4 CLOCK DIVIDER CONTROL REGISTER S5PC110 has several clock dividers to support various operating clock frequency. The clock divider ratio can be controlled by CLK_DIV0, CLK_DIV1, 2, 3, 4, and 5. There are operating frequency limitations. The maximum operating frequency of SCLKAPLL, SCLKMPLL, SCLKA2M, HCLK_MSYS, and PCLK_MSYS are 800 MHz, 667 MHz, 400 MHz, 200 MHz, and 100 MHz, respectively.
Page 333
S5PC110_UM 3 CLOCK CONTROLLER 3.7.4.4 Clock Divider Control Register (CLK_DIV3, R/W, Address = 0xE010_030C) CLK_DIV3 Description Initial State Reserved [31:24] Reserved 0x00 FIMC_LCLK_RATIO [23:20] DIVFIMC_LCLK clock divider ratio, SCLKFIMC_LCLK= MOUTFIMC_LCLK / (FIMC_LCLK_RATIO + 1) [19:16] Should have same value as FIMC_LCLK_RATIO [15:12] Should have same value as FIMC_LCLK_RATIO Reserved...
S5PC110_UM 3 CLOCK CONTROLLER 3.7.5 CLOCK GATING CONTROL REGISTER There are two types of clock gating control registers for disable/enable operation, namely: • Clock gating control register by block • Clock gating register for by IP The above two registers are ANDed together to generate a final clock gating enable signal. As a result, if either of the two register field is turned OFF, the resulting clock is stopped.
Page 337
S5PC110_UM 3 CLOCK CONTROLLER CLK_GATE_IP0 Description Gated Clock Name Initial State PCLK_G2D Reserved [11:9] Reserved Reserved CLK_G3D Gating all clocks for G3D ACLK_G3D (0: mask, 1: pass) SCLK_G3D Reserved [7:6] Reserved Reserved CLK_IMEM Gating all clocks for IMEM ACLK_IMEM (0: mask, 1: pass) CLK_PDMA1 Gating all clocks for PDMA1 ACLK_PDMA1...
Page 338
S5PC110_UM 3 CLOCK CONTROLLER 3.7.5.3 Clock Gating Control Register (CLK_GATE_IP1, R/W, Address = 0xE010_0464) CLK_GATE_IP1 Description Gated Clock Name Initial State Reserved [31:29] Reserved CLK_NFCON [28] Gating all clocks for NFCON ACLK_NFCON (0: mask, 1: pass) Reserved [27] Reserved CLK_SROMC [26] Gating all clocks for SROM ACLK_SROMC...
Page 339
S5PC110_UM 3 CLOCK CONTROLLER 3.7.5.4 Clock Gating Control Register (CLK_GATE_IP2, R/W, Address = 0xE010_0468) CLK_GATE_IP2 Description Gated Clock Name Initial State CLK_TZIC3 [31] Gating all clocks for TZIC3 ACLK_TZIC3 (0: mask, 1: pass) CLK_TZIC2 [30] Gating all clocks for TZIC2 ACLK_TZIC2 (0: mask, 1: pass) CLK_TZIC1...
Page 340
S5PC110_UM 3 CLOCK CONTROLLER CLK_GATE_IP2 Description Gated Clock Name Initial State Reserved [7:2] Reserved 0x3F CLK_SDM Gating all clocks for SDM ACLK_SDM (0: mask, 1: pass) PCLK_SDM CLK_SECSS Gating all clocks for SECSS ACLK_SECSS (0: mask, 1: pass) Is should be guaranteed that S/W does not access IPs whose clock is gated. This can cause system Caution: failure.
Page 341
S5PC110_UM 3 CLOCK CONTROLLER 3.7.5.5 Clock Gating Control Register (CLK_GATE_IP3, R/W, Address = 0xE010_046C) CLK_GATE_IP3 Description Gated Clock Name Initial State Reserved [31] Reserved CLK_PCM2 [30] Gating all clocks for PCM2 PCLK_PCM2 (0: mask, 1: pass) SCLK_AUDIO2 CLK_PCM1 [29] Gating all clocks for PCM1 PCLK_PCM1 (0: mask, 1: pass) SCLK_AUDIO1...
Page 342
S5PC110_UM 3 CLOCK CONTROLLER CLK_GATE_IP3 Description Gated Clock Name Initial State CLK_SPI0 [12] Gating all clocks for SPI0 PCLK_SPI0 (0: mask, 1: pass) SCLK_SPI0 CLK_I2C_HDMI_PHY [11] Gating all clocks for I2C_HDMI_PHY PCLK_I2C_HDMI_PHY (0: mask, 1: pass) CLK_I2C_HDMI_DDC [10] Gating all clocks for I2C_HDMI_DDC PCLK_I2C_HDMI_DDC (0: mask, 1: pass) CLK_I2C2...
Page 343
S5PC110_UM 3 CLOCK CONTROLLER 3.7.5.6 Clock Gating Control Register (CLK_GATE_IP4, R/W, Address = 0xE010_0470) CLK_GATE_IP4 Description Gated Clock Name Initial State Reserved [31:9] Reserved 0x7F_FFFF CLK_TZPC3 Gating all clocks for TZPC3 PCLK_TZPC3 (0: mask, 1: pass) CLK_TZPC2 Gating all clocks for TZPC2 PCLK_TZPC2 (0: mask, 1: pass) CLK_TZPC1...
Page 344
S5PC110_UM 3 CLOCK CONTROLLER 3.7.5.7 Clock Gating Control Register (CLK_GATE_BLOCK, R/W, Address = 0xE010_0480) CLK_GATE_BLOCK Description Gated Clock Name Initial State Reserved [31:11] Reserved 0x1F_FFFF CLK_INTC [10] Gating all clocks for block-INTC ACLK_VIC0,1,2,3 (VIC0,1,2, TZIC0,1,2) ACLK_TZIC0,1,2,3 (0: mask, 1: pass) ACLK_AHB_ISFR CLK_HSMMC Gating all clocks for block-...
Page 345
S5PC110_UM 3 CLOCK CONTROLLER CLK_GATE_BLOCK Description Gated Clock Name Initial State CLK_TV Gating all clocks for block-TV (VP, ACLK_VP MIXER, TVENC) ACLK_MIXER (0: mask, 1: pass) ACLK_TVENC ACLK_AHB_TSFR ACLK_AXI_TSYS PCLK_HDMI PCLK_AXI_TSYS SCLK_MIXER SCLK_TVENC SCLK_DAC SCLK_PIXEL CLK_LCD Gating all clocks for block-LCD ACLK_FIMD (FIMD, G2D) ACLK_AHB_LSFR...
Page 346
S5PC110_UM 3 CLOCK CONTROLLER 3.7.5.8 Clock Gating Control Register (CLK_GATE_IP5, R/W, Address = 0xE010_0484) CLK_GATE_IP5 Description Gated Clock Name Initial State Reserved [31:30] Should be one for all bit CLK_JPEG [29] Gating all clocks for JPEG ACLK_JPEG (0: mask, 1: pass) Reserved [28:0] Should be one for all bit...
Page 347
S5PC110_UM 3 CLOCK CONTROLLER 3.7.5.9 Clock Gating Exceptions Some clock gating cells have exceptional conditions for gating clocks. This section summarizes this. SCLK_AUDIO0 is gated when all of the following register fields are cleared to LOW. This guarantees SCLK_AUDIO0 is running when any of the load is running. •...
S5PC110_UM 3 CLOCK CONTROLLER 3.7.8 CLOCK MUX STATUS SFRS 3.7.8.1 Clock MUX Status SFRs (CLK_MUX_STAT0, R, Address = 0xE010_1100) Clock MUX status registers show the status of glitch-free MUX logic. When CLK_SRCx SFR has been changed, it takes several clock cycles. Therefore, S/W should check the status of glitch-free MUX if the SFR values are applied.
Page 353
S5PC110_UM 3 CLOCK CONTROLLER 3.7.8.2 Clock MUX Status SFRs (CLK_MUX_STAT1, R, Address = 0xE010_1104) CLK_MUX_STAT1 Description Initial State DMC0_SEL [31:28] Selection signal status of MUXDMC0 (00x0:SCLKA2M, 00x1:SCLKMPLL, 010x:SCLKEPLL, 011x:SCLKVPLL, 1xxx: On changing) G2D_SEL [27:24] Selection signal status of MUXG2D (00x0:SCLKA2M, 00x1:SCLKMPLL, 010x:SCLKEPLL, 011x:SCLKVPLL, 1xxx: On changing) Reserved [23:19]...
S5PC110_UM 3 CLOCK CONTROLLER 3.7.9 OTHER SFRS 3.7.9.1 Other SFRs (SWRESET, R/W, Address = 0xE010_2000) SWRESET Description Initial State Reserved [31:1] Reserved SWRESET Software reset (0: no effect, 1: reset) 3.7.10 IEM CONTROL SFRS 3.7.10.1 IEM Control SFRs (DCGIDX_MAP0, R/W, Address = 0xE010_3000) DCGIDX_MAP0 Description Initial State...
Page 355
S5PC110_UM 3 CLOCK CONTROLLER 3.7.10.4 IEM Control SFRs (DCGPERF_MAP0, R/W, Address = 0xE010_3020) DCGPERF_MAP0 Description Initial State DCGPERF_MAP0 [31:0] DCG performance map[31:0] 0xFFFF_FFFF 3.7.10.5 IEM Control SFRs (DCGPERF_MAP1, R/W, Address = 0xE010_3024) DCGPERF_MAP1 Description Initial State DCGPERF_MAP1 [31:0] DCG performance map[63:32] 0xFFFF_FFFF DCGPERF_MAP0~1 are mapped to IECCFGDCGPERFMAP[63:0] of IEM_IEC input port.
Page 356
S5PC110_UM 3 CLOCK CONTROLLER 3.7.10.7 IEM Control SFRs (FREQ_CPU, R/W, Address = 0xE010_3060) FREQ_CPU Description Initial State Reserved [31:24] Reserved 0x00 FREQ_CPU [23:0] Maximum frequency of CPU in kHz 0x00_0000 The register is related to IECCFGFREQCPU[23:0] of IEM_IEC input port. FREQ_CPU[23:0] is the maximum processor of frequency in KHz, and gives the clock frequency of the processor in KHz.
Page 357
S5PC110_UM 3 CLOCK CONTROLLER 3.7.10.9 IEM Control SFRs (DVSEMCLK_EN, R/W, Address = 0xE010_3080) DVSEMCLK_EN Description Initial State Reserved [31:1] Reserved 0x0000_0000 DVSEMCLK_EN DVS emulation clock enable The register is related to IECDVSEMCLKEN of IEM_IEC input port. DVSEMCLK_EN means the enable for advancing the PWM frame time slots when in DVS emulation mode.
IC (PMIC). Therefore, the internal power to S5PC110 is powered “off” except ALIVE block. (Note: RTC power to RTC and external power to I/O pad is still "on". If wakeup event occurs, S5PC110 is initialized by wakeup reset, as though power-on reset was asserted.) ‘Deep’...
To control the switch cells, set registers NORMAL_CFG, IDLE_CFG, and STOP_CFG in SYSCON. Note that external power to S5PC110 is not "OFF". When power gating is applied, the states of normal F/Fs are lost, but the states of retention F/Fs are kept. Therefore, there can be two power-gating techniques, as listed below: •...
S5PC110_UM 4 POWER MANAGEMENT Power “OFF” means that the power to S5PC110 is externally “OFF” using regulator or Power Management IC (PMIC). In S5PC110, SYSCON generates power control signal to regulator or PMIC. When power “OFF” is applied, the states of normal F/Fs and retention F/Fs are lost. Therefore, if you want to save some important data, you should move the data to external memory and restore it when wakeup event occurs.
4 POWER MANAGEMENT 4.3 SYSTEM POWER MODE 4.3.1 OVERVIEW According to the power saving schemes and features explained in , S5PC110 provides six power Section 4.3 modes, namely, NORMAL, IDLE, DEEP-IDLE, STOP, DEEP-STOP, and SLEEP. Power modes are summarized in Table 4-3.
Page 365
S5PC110_UM 4 POWER MANAGEMENT Table 4-3 Power Mode Summary Power NORMAL IDLE DEEP-IDLE STOP DEEP-STOP SLEEP Mode Run with Core Standby Power gating Standby Power gating Power off IEM1) Cortex- Retention/ Retention/ Run with IEM Power on Power on Power off Cache Power gating Power gating...
Page 366
S5PC110_UM 4 POWER MANAGEMENT There is second option in DEEP-IDLE mode for low-power MP3 playback, i.e., TOP block and SUB block is power-gated, but Audio block is still power ”ON”. This time is measured from wakeup event assertion to ARM reset de-assertion or ARM clock supply. That is, ARM runs the next instruction this time after wakeup event is asserted.
NOTE: Use Standby mode to disable CPU clock internally. The Standby mode is one of the power modes of ARM Cortex-A8. The clock to CPU is disabled to reduce switching current in ARM Cortex-A8. When S5PC110 enters IDLE mode, CPU clock is disabled using Standby mode, where application program is not running until wakeup event occurs.
Page 368
S5PC110_UM 4 POWER MANAGEMENT There are two wakeup techniques. First technique is applied to TOP domain and System Timer domain, whereas the other is applied to SUB domains (except System Timer domain). The first technique is as follows: The logic gates in TOP and System Timer domains are turned “ON” in two steps, and then memories are turned “ON”...
S5PC110_UM 4 POWER MANAGEMENT 4.3.3 IDLE MODE If Cortex-A8 is not required to operate, the clock for Cortex-A8 can be disabled internally. This saves the dynamic power consumption. To disable clock to Cortex-A8, execute a Wait-For-Interrupt instruction. The remaining parts of the chip (except state of Cortex-A8 core) keep their operating states in NORMAL, that is, the running modules are still running, clock-gated modules are still clock-gated, and power-gated modules are still power-gated.
Page 370
S5PC110_UM 4 POWER MANAGEMENT To enter the DEEP-IDLE mode, 1. Make sure all PLLs are running before entering low-power mode. This can be done by checking APLL_CON0, MPLL_CON, EPLL_CON0, VPLL_CON register. This step is required only when TOP_LOGIC field is set to 2'b01. 2.
S5PC110_UM 4 POWER MANAGEMENT 4.3.5 STOP MODE In STOP mode, clock to modules (except RTC module), PLLs, and unnecessary oscillators are selectively disabled to minimize dynamic power consumption. In this mode, Cortex-A8 Core enters into Standby mode. Therefore, current application program that is running in NORMAL mode stops in STOP mode and waits for wakeup event to resume.
Page 372
S5PC110_UM 4 POWER MANAGEMENT To exit STOP mode, wake up sources (For more information, refer to Then Section 4.6 "Wakeup Sources"). SYSCON performs the following sequence to exit from STOP mode. 1. Enable the OSC pads if disabled and wait for the OSC stabilization (around 1ms). 2.
S5PC110_UM 4 POWER MANAGEMENT 4.3.6 DEEP-STOP MODE In DEEP-STOP mode, Cortex-A8 Core is power-gated rather than clock-gated, and the remaining parts of the chip are power-gated (except RTC module). However, TOP domain can either be power-on or power-gated by setting TOP_LOGIC field of STOP_CFG register before entry into DEEP-STOP mode.
Page 374
S5PC110_UM 4 POWER MANAGEMENT 4. Let DRAMs exit from self-refresh mode. 4-14...
S5PC110_UM 4 POWER MANAGEMENT 4.3.7 SLEEP MODE In SLEEP mode, all power domains are powered down (except ALIVE and RTC), all PLLs are disabled, and the oscillators (except RTC) are selectively disabled. To enter the SLEEP mode, 1. Set SLEEP_CFG based on the users' requirements. 2.
Page 376
S5PC110_UM 4 POWER MANAGEMENT Executing wfi instruction is a mandatory step when entering low-power mode. To make sure the Caution: processor does not ignore wfi instruction, it is recommended to make a loop statement around the wfi instruction. The loop repeatedly calls wfi instruciton until SYSCON_INT_DISABLE field of OTHERS register to become LOW, which indicates low-power mode entering sequence is completed.
S5PC110_UM 4 POWER MANAGEMENT 4.4 SYSTEM POWER MODE TRANSITION shows the state transition diagram of power mode. Figure 4-1 System Reset SLEEP wake-up sources ARM command IDLE NORMAL SLEEP ARM command IDLE wake-up sources DEEP- DEEP- IDLE STOP STOP Figure 4-1 State Transition Diagram of Power Mode The wakeup sources described in are summarized in...
S5PC110_UM 4 POWER MANAGEMENT NORMAL Write SFR IDLE/STOP PWR_MODE / STANDBYWFI Wait CLKST OPACK / Reset ARM STANDBYWFI DIS_ AR MC LK EN_ AR MCLK Mask ARMCLK IDLE Unmask ARMCLK TOP_IDLE STOP_ BU S RU N _ B US Disable BUS Enable BUS operation operation...
S5PC110_UM 4 POWER MANAGEMENT 4.4.1 TRANSITION ENTERING/ EXITING CONDITION shows the Power Saving mode state and Entering or Exiting condition. As you can see, the entering Table 4-4 conditions are set by the main ARM CPU. Table 4-4 Power Saving Mode Entering/Exiting Condition Power Mode Enter Exit...
Page 380
S5PC110_UM 4 POWER MANAGEMENT 1. External Interrupt includes OneDRAM Interrupt 2. Depends on their interrupt mask bits. Power mode exit condition is met when one of various wakeup sources occurs. For more information on wakeup sources, refer to 4.6 "Wakeup Sources".
S5PC110_UM 4 POWER MANAGEMENT 4.5 CORTEX-A8 POWER MODE 4.5.1 OVERVIEW Cortex-A8 has its own four power modes, namely, RUN, STANDBY, L2RETENTION, and POWER-OFF. In each power mode, power control of Cortex-A8 is done as follows: • In RUN mode, Core logic of Cortex-A8 is powered "ON" and clocked. The L2 cache of Cortex-A8 is power-on. •...
DEEP - STOP NORMAL SLEEP WFI instruction WFI instruction POWER - OFF L2RE TE NTION Wakeup event Wakeup event WFI instruction Wakeupevent STANDBY S5PC110 power mode IDLE, STOP Cortex - A8 power Figure 4-3 Cortex-A8 Power Mode Transition Diagram 4-22...
Page 383
S5PC110_UM 4 POWER MANAGEMENT Table 4-5 Cortex-A8 Power Control Cortex-A8 System Power Mode power mode NORMAL IDLE DEEP-IDLE STOP DEEP-STOP SLEEP transition Run with Power Cortex-A8 Core Standby Standby Power gating IEM1) gating By WFI Standby Standby N.A. N.A. command STANDBY By register setting and...
S5PC110_UM 4 POWER MANAGEMENT 4.5.3 STATE SAVE AND RESTORE The current state of power-gated modules will be lost when their power turns ”OFF”. Therefore, before the modules are power-gated, their state should be saved, and restored after wakeup reset is asserted. In case of Cortex-A8, in DEEP-IDLE, DEEP-STOP, and SLEEP mode, the state of Cortex-A8 core will be lost, therefore the current states must be saved.
RTC clock and the generated clock from SYSCON as clock input. For System Timer to operate in DEEP-IDLE, STOP, and DEEP-STOP mode, power to System Timer is not gated. The wakeup event from System Timer will wake up S5PC110 from DEEP-IDLE, STOP, and DEEP-STOP mode. 4-25...
S5PC110_UM 4 POWER MANAGEMENT 4.7 EXTERNAL POWER CONTROL shows the external power control summary. Table 4-7 Table 4-7 S5PC110 External Power Control DEEP-IDLE IDLE/ Block Controlled by NORMAL SLEEP / STOP / DEEP-IDLE DEEP-STOP Run / Keep operation Should be...
S5PC110_UM 4 POWER MANAGEMENT 4.7.1 USB OTG PHY USB OTG PHY has three power modes, namely, Run, IDLE, and Suspend mode. • In Run mode, USB OTG PHY sends and receives data normally. • In IDLE mode, there is no data transaction to and from USB OTG PHY. However, the clock is still supplied to USB OTG PHY.
S5PC110_UM 4 POWER MANAGEMENT 4.7.3 MIPI D-PHY MIPI D-PHY has three power modes, namely, Run, LP, and ULPS mode • In Run mode, MIPI D-PHY sends and receives data normally. • In LP and ULPS mode, all power MIPI D-PHY is off internally. In NORMAL mode, all three power modes can be used.
4.7.4.1 Status of PLL after Wake-Up Event When the S5PC110 wakes up from STOP mode or SLEEP mode by an External Interrupt, a RTC alarm wakeup and other wakeup events, the PLL is turned “ON” automatically. However, the clock supply scheme is quite different.
S5PC110_UM 4 POWER MANAGEMENT 4.7.6 ADC I/O In DEEP-IDLE mode where TOP block is off, and DEEP-STOP mode where TOP block is off, the output port of normal I/O keeps its driving value before entering DEEP-IDLE/ DEEP-STOP mode. Normal I/O has output retention function, and it uses latch to keep its driving value.
S5PC110_UM 4 POWER MANAGEMENT 4.8 INTERNAL MEMORY CONTROL shows the internal memory power control summary. Table 4-9 Table 4-9 S5PC110 Internal Memory Control DEEP-IDLE IDLE/ Block Controlled by NORMAL SLEEP / STOP / DEEP-IDLE DEEP-STOP Stand-by Keep operation Run /...
S5PC110_UM 4 POWER MANAGEMENT 4.8.2 ROM ROM has three power modes, namely, Run, Stand-by, and Power-down mode. • In Run mode, read access to ROM can be performed normally. • In Stand-by mode, chip selection to ROM is deactivated, so that there is no read access. •...
4 POWER MANAGEMENT 4.9 RESET CONTROL 4.9.1 RESET TYPES S5PC110 has four types of resets and reset generator can place the system into one of five reset states. There are five reset states, namely: • Hardware Reset - The hardware reset is generated when XnRESET is driven to low. It is an uncompromised, ungated, and total reset that is used to drive S5PC110 to a known initial state.
Page 394
The crystal oscillator begins oscillation Figure 4-4 within several milliseconds after the power supply supplies enough power-level to the S5PC110. Internal PLLs are disabled after power-on reset is asserted. XnRESET signal should be released after the fully settle-down of the power supply-level.
Page 395
4.9.2.1 Watchdog Reset Watchdog reset is asserted when software fails to prevent the watchdog timer from timing out. In watchdog reset all units in S5PC110 (except some blocks listed in 4-10) are reset to their predefined reset states. The Table behavior after Watchdog reset is asserted, is the same as Hardware reset case.
Page 396
S5PC110_UM 4 POWER MANAGEMENT 4.9.2.3 Warm Reset Warm reset is asserted when XnWRESET is asserted to ‘0’. During the warm reset, the following actions occur: • All units (except some blocks listed in 4-10) go into their pre-defined reset state. Table •...
S5PC110_UM 4 POWER MANAGEMENT 4.10 REGISTER DESCRIPTION Do not change any reserved area. Changing value of Reserved area can lead to undefined behavior. 4.10.1 REGISTER MAP Register Address Description Reset Value OSC_CON 0xE010_8000 Crystal oscillator control register 0x0000_0003 Reserved 0xE010_8004 ~ Reserved 0x0000_0000 0xE010_9FFC...
Page 399
S5PC110_UM 4 POWER MANAGEMENT Register Address Description Reset Value Reserved 0xE010_C118 ~ Reserved 0x0000_0000 0xE010_C1FC WAKEUP_STAT 0xE010_C200 Wakeup status registers 0x0000_0000 BLK_PWR_STAT 0xE010_C204 Block power status register 0x0000_00BF Reserved 0xE010_C208 ~ Reserved 0x0000_0000 0xE010_DFFC OTHERS 0xE010_E000 Others control register 0x0000_0000 Reserved 0xE010_E00C Reserved...
4.10.2 CLOCK CONTROL REGISTER Clock control register enables and disables all oscillators for S5PC110. OSC_CON register control all oscillators for S5PC110. Each oscillator can be controlled independently. When oscillator pad is disabled, oscillation stops and no clock is generated further.
S5PC110_UM 4 POWER MANAGEMENT 4.10.4 POWER MANAGEMENT REGISTER 4.10.4.1 Power Management Register (PWR_CFG, R/W, Address = 0xE010_C000) PWR_CFG Description Initial State Reserved [31:10] Reserved 0x00_0000 CFG_STANDBYWFI [9:8] Configure Cortex-A8 STANDBYWFI Determines what action is taken when the STANDBYWFI signal is activated by the Cortex-A8 00 = Ignore 01 = Enter IDLE mode 10 = Enter STOP mode...
Page 403
S5PC110_UM 4 POWER MANAGEMENT 4.10.4.3 Power Management Register (WAKEUP_MASK, R/W, Address = 0xE010_C008) WAKEUP_MASK Description Initial State Reserved [31:16] Reserved 0x0000 [15] Wake-up mask for HDMI-CEC (0: pass, 1: mask) [14] Wake-up mask for system timer (0: pass, 1: mask) [13] Wake-up mask for I2S within Audio sub-system (0: pass, 1: mask)
Page 404
S5PC110_UM 4 POWER MANAGEMENT 4.10.4.5 Power Management Register (NORMAL_CFG, R/W, Address = 0xE010_C010) NORMAL_CFG Description Initial State Reserved [31:21] Reserved 0x7FF IROM [20] Power gating control for I-ROM (0: LP mode (OFF), 1: Active mode (ON)) Reserved [19:8] Reserved 0xFFF AUDIO Power gating control for Audio sub-block (0: LP mode (OFF), 1: Active mode (ON))
Page 405
S5PC110_UM 4 POWER MANAGEMENT 4.10.4.6 Power Management Register (IDLE_CFG, R/W, Address = 0xE010_C020) IDLE_CFG Description Initial State TOP_LOGIC [31:30] Configure TOP logic state 01 = Retention 10 = ON Other: Reserved TOP_MEMORY [29:28] Configure TOP memory state 01 = Retention 10 = ON Other: Reserved ARM_L2CACHE...
Page 406
S5PC110_UM 4 POWER MANAGEMENT 4.10.4.7 Power Management Register (STOP_CFG, R/W, Address = 0xE010_C030) STOP_CFG Description Initial State TOP_LOGIC [31:30] Configure TOP logic state 01 = Retention 10 = ON Other: Reserved. Writing reserved values to registers can lead to unexpected behavior. When ARM_LOGIC is set to 2'b10 (STOP mode), this field should be 2'b10.
Page 407
S5PC110_UM 4 POWER MANAGEMENT 4.10.4.8 Power Management Register (STOP_MEM_CFG, R/W, Address = 0xE010_C034) STOP_MEM_CFG Description Initial State Reserved [31:9] Reserved 0x00_0000 ONENAND Memory retention control for ONENAND I/F (0: OFF, 1: Retention) MODEMIF Memory retention control for MODEM I/F (0: OFF, 1: Retention) Reserved Reserved USBOTG...
Page 408
S5PC110_UM 4 POWER MANAGEMENT 4.10.4.9 Power Management Register (SLEEP_CFG, R/W, Address = 0xE010_C040) SLEEP_CFG Description Initial State Reserved [31:2] Reserved 0x0000_0000 OSCUSB_EN Control USB X-tal Oscillator pad in SLEEP mode (0: disable, 1: enable) OSC_EN Control X-tal oscillator pad in SLEEP mode (0: Disable, 1: Enable) 4-48...
Page 409
S5PC110_UM 4 POWER MANAGEMENT 4.10.4.10 Power Management Register (OSC_FREQ, R/W, Address = 0xE010_C100) OSC_FREQ Description Initial State Reserved [31:4] Reserved 0x000_0000 OSC_FREQ_VALUE [3:0] Oscillator frequency scale counter ( OSC_FREQ_VALUE / oscillator_frequency > 200ns) 4.10.4.11 Power Management Register (OSC_STABLE, R/W, Address = 0xE010_C104) OSC_STABLE Description Initial State...
Page 410
S5PC110_UM 4 POWER MANAGEMENT MTC_STABLE counter indicates time required for power supplies to be stabilized when sub-block power is turned “ON”. Unless commented, use the default values. 4-50...
Page 411
S5PC110_UM 4 POWER MANAGEMENT 4.10.4.14 Power Management Register (CLAMP_STABLE, R/W, Address = 0xE010_C114) CLAMP_STABLE Description Initial State Reserved [31:26] Reserved 0x00 CLAMP_OFF_VALUE [25:16] Clamp OFF counter value 0x3FF Reserved [15:10] Reserved 0x00 CLAMP_ON_VALUE [9:0] Clamp ON counter value 0x3FF CLAMP_STABLE counter indicates time required for power supplies to be stabilized when Cortex processor power is turned “ON”...
Page 412
S5PC110_UM 4 POWER MANAGEMENT 4.10.4.16 Power Management Register (BLK_PWR_STAT, R, 0xE010_C204) BLK_PWR_STAT Description Initial State Reserved [31:8] Reserved AUDIO Audio block power ready (0: OFF, 1: ON) Reserved Reserved X-block power ready (0: OFF, 1: ON) T-block power ready (0: OFF, 1: ON) L-block power ready (0: OFF, 1: ON) G3D block power ready (0: OFF, 1: ON) F-block power ready (0: OFF, 1: ON)
S5PC110_UM 4 POWER MANAGEMENT 4.10.5 MISC REGISTER 4.10.5.1 MISC Register (OTHERS, R/W, Address = 0xE010_E000) OTHERS Description Initial State RELEASE_RET_GPIO [31] RELEASE_RET_GPIO is retention control signal to normal I/O pad. If you want to disable RELEASE_RET_GPIO, set to 1. After RELEASE_RET_GPIO becomes OFF, this bit will be cleared to 0.
Page 414
S5PC110_UM 4 POWER MANAGEMENT OTHERS Description Initial State For more information on list of PADs belonging to MMC I/O pad, refer to Section 4.2 PIN SUMMARY of GPIO manual. RELEASE_RET_MMC_IO [29] RELEASE_RET_MMC_IO is retention control signal to MMC I/O pad. If you want to disable RELEASE_RET_MMC_IO, set to 1.
Page 415
S5PC110_UM 4 POWER MANAGEMENT OTHERS Description Initial State 1 = RELEASE_RET_UART_IO For more information on list of PADs belonging to UART I/O pad, refer to Section 4.2 PIN SUMMARY of GPIO manual. Reserved [27:18] Reserved 0x000 ARM_PRESETn_TYPE [17] ARM_PRESETn type selection 0 = Asserted when software reset is generated.
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT INTELLIGENT ENERGY MANAGEMENT 5.1 OVERVIEW OF INTELLIGENT ENERGY MANAGEMENT The Intelligent Energy Management (IEM) solution is designed primarily for battery-powered equipment, where the major requirement is to have long battery life. The IEM solution is ideal for portable applications, for example, smartphones, feature phones, Personal Digital Assistants (PDA), hand held games consoles and portable media players.
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT The above listed components, which are part of the IEM system, co-operate with each other to optimize power consumption, without compromising on performance or responsiveness. Work flow of IEM system: • When the IEM software starts, software registers some kernel hooks with the OS. •...
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.1.2 BLOCK DIAGRAM AMBA APB Bus Maximum performance request Target Frequency Acknowledge Index ARM Core clock Clock Current Configuration Information HPM clock Management Frequency Index Unit Target Frequency Index Intelligent Power Current Frequency Index Energy Management Controller Unit...
IEC the current performance level. This protocol is specified to support interfacing across asynchronous clock domains between high-speed PLL and clock-generator and low-speed voltage scaling hardware. The IEC provides an encoded performance index to S5PC110’s CMU and APC1 blocks.
Page 422
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT The IEC also includes a Design for Test (DFT) interface. This enables easier control over the scaling hardware during production testing of the SoC device. The IEC is an AMBA compliant, SoC peripheral that is developed, tested, and licensed by ARM Limited. The IEC features are as follows: •...
Page 423
5.2.1.2 DFT interface to control the target index outputs during SoC DFT. Advanced Power Controller S5PC110 uses Advanced Power Controller (APC1) from National Semiconductor for Dynamic Voltage Control. The APC1 is an advanced power controller designed for reuse in the AMBA-based designs with a standard APB slave interface to program registers.
Page 424
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT • Supports thermometer-encoded interface for a target performance level request and a current performance level update • Parameterized design supports up to eight performance levels • Supports sleep mode (retention level) power-down • Revision identification register to port software driver compliance •...
Page 425
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.2.1.4 Power Management Unit The Power Management Unit (PMU) in S5PC110X supports IEM features. The PMU provides configuration information to IEC, for example: • Fractional index map, indicating the fractional levels supported • Performance map, providing the mapping of the performance levels onto the clock frequencies supported by the CMU •...
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.2.2 IEM SYSTEM OPERATION Loading and starting the software At an appropriate stage of system boot-up, the OS loads and initializes the modules that contain the IEM software: • On most platforms, the module loader automatically runs the initialization code for a module (if any) •...
Page 427
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.2.2.1 Handling System Events When an event occurs that might influence the optimum performance level, the OS calls the appropriate kernel hook in the IEM kernel: • The New Task hook is called whenever a new task is created. This hook generates a New Task system event for the new task that has just been created.
Page 428
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.2.2.2 Running the Fast Event Handlers The fast event handlers are run from the kernel hooks whenever a system event occurs. For each policy, the IEM kernel determines whether its fast event handler recognizes the system event. If so, the IEM kernel runs the fast event handler, passing it pointers to the IEM kernel data structures that include: •...
Page 429
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.2.2.3 Running the Standard Event Handlers The standard event handlers are run periodically by the IEM kernel. When the IEM kernel determines that it must run the standard event handlers, there are typically a number of outstanding system events in the event queue, that have not yet been processed by the standard event handlers.
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.3 IEM IMPLEMENTATION AND DRIVER SETTING 5.3.1 DEFINITION OF PERFORMANCE The maximum frequency of APLL is 2GHz. The expected frequency range of ARM Core is from 166MHz to 800MHz. AXI_MSYS bus, which is connected to ARM Core, works at 166MHz. In S5PC110X, CMU only uses clock divider to change performance.
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.3.2 HPM STRUCTURE AND CLOSED-LOOP BEHAVIOR When IEM works with closed-loop, HPM and APC1 work as shown in Figure 5-4 Figure 5-5. integral_reg[20:0] ([20:14]=closedloop_vdd) rst_filterq | integral = hpm_targetclk_c ((integral > 22’h1F_C000) integral_reg + 21’h1F_C000 creset0 &...
5-6. Figure 5-6 HPM Delay Tap structure in S5PC110 HPM has a predelay module that includes 32 delay tap-like delay elements and a delayline module that includes 32 delay taps. To correlate with ARM core, 14-th tap should be selected with setting predelay_sel[2:0] of HPM 3’b000 when HPM clock ratio is equal to 1.
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.3.2.1 Calibration Code for Closed-loop In closed-loop mode, Calibration codes are used to control voltage level, while voltage values in open-loop mode. Calibration code stands for critical path delay of ARM core. In S5PC110X, 14-th tap output of HPM has the nearly same delay to the critical path of ARM core (when HPM clock ratio is equal to 1), which can be encoded to the delay code 5’hE.
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.4 I/O DESCRIPTION Signal Description Type IEM_SCLK Bidirectional PWI clock IEM_SCLK dedicated IEM_SPWI Bidirectional PWI serial data IEM_SPWI dedicated NOTE: Type field indicates whether pads are dedicated to the signal or pads are connected to the multiplexed signals. 5-18...
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5 REGISTER DESCRIPTION 5.5.1 REGISTER MAP Register Address Description Reset Value IECDPCCR 0xE080_0000 DPC Control Register 0x000000E0 IECDVSEMSTR 0xE080_0004 DVS Emulation Slot Time Register 0x63 IECDPCTGTPERF 0xE080_0008 DPC Target Performance Register 0x80 IECDPCCRNTPERF 0xE080_000C DPC Current Performance Register System Dependent IECIMSC...
Page 437
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT Register Address Description Reset Value Register 1 IECITOP2 0xE080_0F24 Integration Test Output Read or Set 0x00 Register 2 IECITOP3 0xE080_0F28 Integration Test Output Read or Set 0x00 Register 3 IECITCR 0xE080_0F00 Integration Test Control Register IECPeriphID4 0xE080_0FD0 Peripheral Identification Register 4...
Page 438
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT Register Address Description Reset Value APC_SS_SRATE 0xE070_0058 APC Steady State Slew Rate Register 0x00 APC_IGAIN4 0xE070_005C Integrator’s Gain 4 Register 0x00 APC_IGAIN1 0xE070_0060 Integrator’s Gain 1 Register 0x00 APC_IGAIN2 0xE070_0064 Integrator’s Gain 2 Register 0x00 APC_IGAIN3 0xE070_0068 Integrator’s Gain 3 Register...
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2 IEC RELATED REGISTERS 5.5.2.1 DPC Control Register (IECDPCCR, R/W, Address = 0xE080_0000) IECDPCCR Description Initial State Reserved [31:8] Reserved, read undefined, do not modify. [7:5] When IECMAXPERF goes high, the IEC requests maximum Performance performance level which is decided by this register value.
Page 440
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2.2 DVS Emulation Slot Time Register (IECDVSEMSTR, R/W, Address = 0xE080_0004) IECDVSEMSTR Description Initial State Reserved [31:10] Reserved, read undefined, do not modify. Slot time [9:0] The time in μs for each slot of a PWM frame. This is reset 0x63 to 0x63.
Page 441
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2.6 Raw Interrupt Status Register (IECRIS, R, Address = 0xE080_0014) IECRIS Description Initial State Reserved [31:2] Reserved, read undefined, do not modify. CPU Sleep Interrupt Returns the raw interrupt state prior to masking of the Status (CSRIS) IECCPUSLPINT interrupt.
Page 442
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2.10 DPM Frequency Register (IECDPMFREQ, R, Address = 0xE080_0024) IECDPMFREQ Description Initial State Reserved [31:24] Reserved, read undefined, do not modify. DPM Frequency (DPMF) [23:0] The DPM frequency in kHz. From PMU 5.5.2.11 Configuration Fractional Index Map00 Register (IECCFGDCGIDXMAP00, R, Address = 0xE080_0040) IECCFGDCGIDXMAP00 Description...
Page 444
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2.22 DPM Channel Registers (IECDPM2LO, R, Address = 0xE080_0188) IECDPM2LO Description Initial State IECDPM2LO [31:0] Low 32-bit of DPM channel 2. 0x00000000 The reset value is 0x00000000. 5.5.2.23 DPM Channel Registers (IECDPM2HI, R, Address = 0xE080_018C) IECDPM2HI Description Initial State...
Page 445
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2.26 IEC Integration Test Control Register (IECITCR, R/W, Address = 0xE080_0F00) IECITCR Description Initial State [31:3] Reserved. Unpredictable when read. Should be written as zero. DPM Counter Test Enable or disable test mode for all DPM counters. 0 = DPM counter test mode disabled, also the reset value.
Page 446
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2.27 IEC Integration Test Input Read or Set Registers (IECITIP1, R/W, Address = 0xE080_0F10) IECITIP1 Description Initial State [31:5] Reserved. Unpredictable when read. Should be written as zero. IECSYNCMODEACK Intra-chip input. Writes to this bit, set the value to be driven onto the input IECSYNCMODEACK, in the integration test mode.
Page 447
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2.28 IEC Integration Test Input Read or Set Registers (IECITIP1, R/W, Address = 0xE080_0F14) IECITIP2 Description Initial State [31:8] Reserved, read undefined, do not modify. IECCRNTDCGIDX [7:0] Intra-chip input. 0x00 Writes to these bits set the value to be driven onto the inputs IECCRNTDCGIDX[7:0], in the integration test mode.
Page 448
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2.31 Integration Test Output Read or Set Registers (IECITOP2, R/W, Address = 0xE080_0F24) IECITOP2 Description Initial State Reserved [31:8] Reserved, read undefined, do not modify. IECTGTDCGIDX [7:0] Intra-chip outputs. Writes to these bits set the value to be 0x00 driven onto the IECTGTDCGIDX [7:0] outputs in integration test mode.
Page 449
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2.36 Peripheral Identification Register 3 (IECPeriphID3, R, Address = 0xE080_0FEC) IECPeriphID3 Description Initial State Reserved [31:8] Reserved, read undefined, do not modify. Configuration 1 [7:0] Number of DPC levels. 0x08 These bits read back as 0x08. 5.5.2.37 Peripheral Identification Register 4 (IECPeriphID4, R, Address = 0xE080_0FD0) IECPeriphID4 Description...
Page 450
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.2.41 IEC Identification Register 0 (IECID0, R, Address = 0xE080_0FF0) IECID0 Description Initial State [31:8] Reserved, read undefined, do not modify. IECID0 [7:0] These bits read back as 0x0D 0x0D 5.5.2.42 IEC Identification Register 1 (IECID1, R, Address = 0xE080_0FF4) IECID1 Description Initial State...
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3 APC1 RELATED REGISTERS 5.5.3.1 PWI Command Register (APC_PWICMD, R/W, Address = 0xE070_0000) APC_PWICMD Description Initial State PWI Slave Register Address [7:4] PWI slave Register address of the read and write register. PWI Slave Command [3:0] PWI slave command: 4’b0000 = Reset...
Page 452
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3.4 APC Control Register (APC_CONTROL, R/W, Address = 0xE070_0010) APC_CONTROL Description Initial State APC_HPM_AUTH_SET HPM is set to the ring oscillator mode for a random PC used in the authentication sequence. APC_PWRSV_EN Enables the power save mode. On setting this bit: * the apc_refclk_req signal is deasserted when the apc_refclk_c clock signal is not required * the CMU can gate off the clock signal to save the...
Page 454
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3.11 APC Interrupt Status Register (APC_ISTATUS, R, Address = 0xE070_002C) APC_ISTATUS Description Initial State Reserved Read undefined. APB Write Discard When the PWI command is active in the APC1, the new PWI commands issued by the host are discarded. This discarded status is reflected in this bit.
Page 455
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3.13 APC Undershoot Threshold and Noise Limit Register (APC_UNSHT_NOISE, R/W, Address = 0xE070_0034) APC_UNSHT_NOISE Description Initial State Reserved [7:6] Read undefined. Write as zero. Noise Limit for VDDOK [5:4] Noise limit for the VDDOK generation due to the power supply regulation errors.
Page 456
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3.16 PWI Clock Division Register (APC_CLKDIV_PWICLK, R/W, Address = 0xE070_0040) APC_CLKDIV_PWICLK Description Initial State Reserved [7:4] Read undefined. Write as zero. Programmable Clock [3:0] Programmable division to theapc_refclk_c clock frequency Division for the PWI clock. The clock division is equal to 2 * (APC_CLKDIV_PWICLK + 1).
Page 457
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3.20 Integrator’s Gain Registers (APC_IGAIN1, R/W, Address = 0xE070_0060) APC_IGAIN1 Description Initial State Reserved [7:4] Read undefined. Write as zero. Gain 1 [3:0] Default gain term for the dynamic compensator. The programmable values for this gain term are one to ten. Rest of the values are treated as zero in the closed-loop AVS operations.
Page 458
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3.24 Integration Test Control Register (APC_ITSTCTRL, R/W, Address = 0xE070_006C) APC_ITSTCTRL Description Initial State Reserved [7:2] Undefined. Write as zero. IT_OPEN Integration test output enable. The reset value is zero. 1 = APC1 is in integration test mode. 0 = APC1 is in normal mode.
Page 459
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3.26 Integration Test Input Read or Set Registers (APC_ITSTIP2, R/W, Address = 0xE070_0074) APC_ITSTIP2 Description Initial State Reserved [7:N] Read undefined. Write as zero. APC_TARGET_INDEX [N-1:0] In integration test mode: 0x00 write drives the apc_target_index inputs to the design •...
Page 460
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3.27 Integration Test Output Read or Set Registers (APC_ITSTOP1, R/W, Address = 0xE070_0078) APC_ITSTOP1 Description Initial State APC_PREDELAY [7:5] In integration test mode: _SEL[2:0] write drives the apc_predelay_selprimary outputs • read returns the register content. •...
Page 461
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3.28 Integration Test Output Read or Set Registers (APC_ITSTOP2, R/W, Address = 0xE070_007C) APC_ITSTOP2 Description Initial State Reserved [7:N] Read undefined. Write as zero. APC_CURRENT_INDEX [N-1:0] In integration test mode: 0x00 write drives the apc_current_index primary outputs •...
Page 462
S5PC110_UM 5 INTELLIGENT ENERGY MANAGEMENT 5.5.3.30 Voltage Information Registers APC1 has two types of voltage information registers. Ones are for closed-loop control, and the others are for open-loop control. Registers for closed-loop control give delay information, while registers for open-loop control give direct voltage information.
Page 463
S5PC110_UM 5.5.3.31 Retention VDD Registers (APC_RET_VDD, R/W, Address = 0xE070_00C0) APC_RET_VDD Description Initial State Reserved Read undefined. Write as zero. Retention VDD [6:0] The retention voltage level for performance level zero. 0x00 5.5.3.32 Debug Performance Registers (APC_DBG_DLYCODE, R, Address = 0xE070_00E0) APC_DBG_DLYCODE Description Initial State...
BOOTING SEQUENCE 6.1 OVERVIEW OF BOOTING SEQUENCE S5PC110 consists of 64KB ROM and 96KB SRAM as internal memory. For booting, internal 64KB ROM and internal 96KB SRAM regions can be used. S5PC110 boots from internal ROM to enable secure booting, which ensures that the image cannot be altered by unauthorized users.
S5PC110_UM 6 BOOTING SEQUENCE shows the block diagram of booting time operation. Figure 6-1 Figure 6-1 Block Diagram of Booting Time Operation • The iROM code is placed in internal 64KB ROM. It initializes basic system functions such as clock, stack, and heap.
S5PC110_UM 6 BOOTING SEQUENCE 6.2 SCENARIO DESCRIPTION 6.2.1 RESET STATUS There are several scenarios for system reset such as hardware reset, watchdog reset, software reset, and wake up from power down modes. For each scenario, the mandatory functions are summarized in Table 6-1 Table 6-1 Functions Needed for Various Reset Status...
S5PC110_UM 6 BOOTING SEQUENCE 6.2.2 BOOTING SEQUENCE EXAMPLE shows the flow chart related to total booting code sequence. Figure 6-2 Figure 6-2 Total Booting Code Sequence Flow Chart...
Page 468
7. Jump to OS code in DRAM (0x2000_0000 or 0x4000_0000) The booting sequence in DRAM is as follows: 1. If S5PC110 is powered on from SLEEP, DEEP_STOP, or DEEP_IDLE modes, then restore the previous state. 2. Jump to OS code.
S5PC110_UM 6 BOOTING SEQUENCE 6.2.3 FIXED PLL AND CLOCK SETTING To speed up first boot loader’s operation, the first boot loader initializes the PLL with fixed value. Fixed PLL setting is as follows: (SDIV-1) • APLL: M=200, P=6, S=1 FOUT = (MDIV X FIN )/ (PDIV X 2 )) = 800MHz SDIV •...
S5PC110_UM 6 BOOTING SEQUENCE 6.2.4 OM PIN CONFIGURATION shows the booting option that can be set by OM pins. Table 6-3 Table 6-3 OM Pin Setting for Various Booting Option OM[5] OM[4] OM[3] OM[2] OM[1] OM[0] OM[5] OM[4] OM[3] OM[2] OM[1] OM[0] Boot...
Page 471
S5PC110_UM 6 BOOTING SEQUENCE OM[5] OM[4] OM[3] OM[2] OM[1] OM[0] OM[5] OM[4] OM[3] OM[2] OM[1] OM[0] 1'b1 X-TAL(USB) 1'b0 X-TAL 1'b1 OnenandDemux(Audi) 1'b1 X-TAL(USB) 1'b0 X-TAL 1'b0 SD/MMC 1'b1 X-TAL(USB) 1'b1 1'b0 X-TAL 1'b1 eMMC(4-bit) 1'b1 X-TAL(USB) NOTE: The first boot loader tries to negotiate UART first. If it fails, then it tries to drive the USB device. Hence, you have to disconnect the UART device if you want to boot using USB device.
‘validate’ itself.” In S5PC110, the root of trust is implemented by iROM code in internal ROM. Therefore it cannot be modified by unauthorized users. The hardware design proves the integrity of iROM code. On the other hand, the first boot loader, the second boot loader and OS images are stored in external memory devices.
Page 477
List of Tables Table Title Page Number Number Table 2-1 Authentication Signal Rule......................... 2-6 Table 3-1 TZPC Table............................3-3 Table 3-2 TZPC Transfer Attribute........................3-4 Table 3-3 TZPC Registers..........................3-5...
1.1 OVERVIEW OF BUS CONFIGURATION This chapter describes the bus configuration in S5PC110. 1.1.1 AXI INTERCONNECT S5PC110 consists of 12 high-performance AXI interconnect. The role of AXI interconnect is to interconnect bus masters to bus slaves. 1.1.1.1 Key Features of AXI Interconnect The key features of AXI interconnect include: •...
Page 479
S5PC110_UM 1 BUS CONFIGURATION Figure 1-1 Example of ProgQoS Control for 2-1 Interconnect • Arbitration scheme In the AXI interconnect, you can configure each MI separately to contain an arbitration scheme. This scheme is further classified as: − Non-programmable RR scheme −...
Page 480
S5PC110_UM 1 BUS CONFIGURATION 1.1.1.2 Round-robin (RR) Scheme In the RR scheme, you can select the following design time: • Number of used slots • SI to which these slots are allocated • Order of slots There must be at least one slot per connected SI and up to 32 slots. By allocating multiple slots for a SI, you can allocate access to the slave on average, in proportion to the number of slots.
Page 481
1 BUS CONFIGURATION S5PC110_UM 1.1.1.3 Least Recently Granted Scheme In the Least Recently Granted (LRG) scheme, each connected SI has a single slot associated with it, but each interface also has a priority value. This priority value, whose post-reset value can be configured at design time, programmed, or interrogated through the APB programming interface, can make the arbiter behave as: •...
1 BUS CONFIGURATION S5PC110_UM 1.2.2 SYNCHRONIZER CONFIGURATION REGISTER (ASYNC_CONFIG0~10, R/W) ASYNC_CONFIG0~10 Description Initial State Reserved [31:1] Reserved HALF_SYNC_SEL Use half synchronizer for asynchronous clock domain crossing. HALF_SYNC_SEL field of ASYNC_CONFIG0~10 registers decides whether to use half or full synchronization for synchronizer, which separates two different clock domains.
S5PC110_UM 2 CORESIGHT CORESIGHT 2.1 CORESIGHT SYSTEM OVERVIEW 2.1.1 ABOUT CORESIGHT SYSTEMS GENERALS CoreSight systems provide the entire infrastructure required to debug, monitor, and optimize the performance of a complete System on Chip (SoC) design. There are historically three main ways of debugging an ARM processor based SoC: •...
S5PC110_UM 2 CORESIGHT 2.1.2 KEY FEATURES OF CORESIGHT 2.1.2.1 Debug Access You gain debug access in CoreSight systems through the Debug Access Port (DAP) that provides: • Real-time access to physical memory without halting the core and without any target resident code •...
Page 486
S5PC110_UM 2 CORESIGHT Figure 2-1 DAP Connections Inside a SoC Cross Triggering The Embedded Cross Trigger (ECT), comprising of the Cross Trigger Interface (CTI) and Cross Trigger Matrix (CTM), provides a standard interconnect mechanism to pass debug or profiling events around the SoC. The ECT provides a standard mechanism to connect different signal types.
Page 487
S5PC110_UM 2 CORESIGHT 2.1.2.3 Coresight System in S5PC110 S5PC110 is single processor system with CortexA8 core. Its main bus system is based on AMBA3 AXI interconnects. It does not support Serial Wire debug port protocol. shows configuration of debugging system.
Page 488
Figure 2-3 Debugger Register Map of S5PC110 2.1.2.4 Authentication for Secure JTAG Operation S5PC110 supports Secure JTAG by using authentication signal of cortexA8 and coresight system. To set the secure JTAG mode can program Secure JTAG key e-fuse bit. •...
Page 489
S5PC110_UM 2 CORESIGHT By writing the passwords in predefined sequence, the authentication can be done. After authentication, the authentication signals are selectively asserted as defined in Table 2-1. Table 2-1 Authentication Signal Rule JTAG JTAG Access Mode DBGEN NIDEN SPIDEN SPNIDEN Detect lock on...
S5PC110_UM 2 CORESIGHT 2.2 DEBUG ACCESS PORT 2.2.1 ABOUT DEBUG ACCESS PORT The Debug Access Port (DAP) is an implementation of ARM Debug Interface version 5 (ADIv5) comprising a number of components supplied in a single configuration. All the supplied components fit into the various architectural components for Debug Ports (DPs), which are used to access the DAP from an external debugger and Access Ports (APs), to access on-chip system resources.
Page 491
S5PC110_UM 2 CORESIGHT Figure 2-4 Structure of the Coresight DAP Components...
S5PC110_UM 2 CORESIGHT 2.3 ETB 2.3.1 ABOUT THE ETB The ETB provides on-chip storage of trace data using 32-bit RAM. shows the main ETB blocks. The Figure 2-5 ETB accepts trace data from CoreSight trace source components through an AMBA Trace Bus (ATB). The ETB contains the following blocks: •...
S5PC110_UM 2 CORESIGHT 2.3.2 ABOUT THE ECT The ECT provides an interface to the debug system as shown in This enables an ARM subsystem to Figure 2-6. interact, that is cross trigger, with each other. The debug system enables debug support for multiple cores, together with cross triggering between the cores and their respective internal embedded trace macrocells.
TZPC provides a software interface to the protection bits in a secure system in a TrustZone design. It provides system flexibility that enables to configure different areas of memory as secure or non-secure. The S5PC110 comprises of four TZPC. 3.1.1 KEY FEATURES OF ACCESS CONTROLLER (TZPC)
S5PC110_UM 3 ACCESS CONTROLLER (TZPC) 3.2 FUNCTIONAL DESCRIPTION The TZPC provides a software interface to set up memory areas as secure or non-secure. The two ways to set up memory area as secure or non-secure is as follows: • Programmable protection bits that can be allocated to memory area as determined by the external decoder. •...
S5PC110_UM 3 ACCESS CONTROLLER (TZPC) 3.4 REGISTER DISCRIPTION 3.4.1 REGISTER MAP Table 3-3 TZPC Registers Register Address Description Reset Value TZPC0 TZPCR0SIZE 0xF150_0000 Specifies the Secure RAM Region Size 0x00000000 Register TZPCDECPROT0Stat 0xF150_0800 Specifies the Decode Protection 0 Status 0x00000000 Register TZPCDECPROT0Set 0xF150_0804...
Page 499
S5PC110_UM 3 ACCESS CONTROLLER (TZPC) Register Address Description Reset Value TZPCR0SIZE 0xFAD0_0000 Not used 0x00000200 TZPCDECPROT0Stat 0xFAD0_0800 Specifies the Decode Protection 0 Status 0x00000000 Register TZPCDECPROT0Set 0xFAD0_0804 Specifies the Decode Protection 0 Set Register TZPCDECPROT0Clr 0xFAD0_0808 Specifies the Decode Protection 0 Clear Register TZPCDECPROT1Stat 0xFAD0_080C...
Page 500
S5PC110_UM 3 ACCESS CONTROLLER (TZPC) Register Address Description Reset Value TZPCDECPROT1Stat 0xE060_080C Specifies the Decode Protection 1 Status 0x00000000 Register TZPCDECPROT1Set 0xE060_0810 Specifies the Decode Protection 1 Set Register TZPCDECPROT1Clr 0xE060_0814 Specifies the Decode Protection 1 Clear Register TZPCDECPROT2Stat 0xE060_0818 Specifies the Decode Protection 2 Status 0x00000000 Register...
Page 501
S5PC110_UM 3 ACCESS CONTROLLER (TZPC) Register Address Description Reset Value TZPCDECPROT2Stat 0xE1C0_0818 Not used 0x00000000 TZPCDECPROT2Set 0xE1C0_081C Not used TZPCDECPROT2Clr 0xE1C0_0820 Not used TZPCDECPROT3Stat 0xE1C0_0824 Not used 0x00000000 TZPCDECPROT3Set 0xE1C0_0828 Not used TZPCDECPROT3Clr 0xE1C0_082C Not used TZPCPERIPHID0 0xE1C0_0FE0 Specifies the TZPC Peripheral Identification 0x00000070 Register 0 TZPCPERIPHID1...
Page 502
S5PC110_UM 3 ACCESS CONTROLLER (TZPC) 3.4.1.1 Secure RAM Region Size Register (TZPCR0SIZE(TZPC0), RW, Address = 0xF150_0000) TZPCR0SIZE Description Initial State Reserved [31:6] Read undefined. Write as zero. R0Size [5:0] Secure RAM region size in 4KB steps. 0x00000000 = no secure region 0x00000001 = 4KB secure region 0x00000002 = 8KB secure region …...
VECTORED INTERRUPT CONTROLLER 1.1 OVERVIEW OF VECTORED INTERRUPT CONTROLLER The interrupt controller in S5PC110 is composed of four Vectored Interrupt Controller (VIC), ARM PrimeCell PL192 and four TrustZone Interrupt Controller (TZIC), SP890. Three TZIC’s and three VIC’s are daisy-chained to support up to 93 interrupt sources. The TZIC provides a software interface to the secure interrupt system in a TrustZone design.
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.3 FUNCTIONAL DESCRIPTION When user clears interrupt pending, user must write 0 to all the VICADDRESS registers (VIC0ADDRESS, VIC1ADDRESS, VIC2ADDRESS, and VIC3ADDRESS).
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.4 REGISTER DESCRIPTION 1.4.1 REGISTER MAP Register Address Description Reset Value VIC0IRQSTATUS 0xF200_0000 Specifies the IRQ Status Register 0x00000000 VIC0FIQSTATUS 0xF200_0004 Specifies the FIQ Status Register 0x00000000 VIC0RAWINTR 0xF200_0008 Specifies the Raw Interrupt Status Register VIC0INTSELECT 0xF200_000C Specifies the Interrupt Select Register...
Page 515
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value VIC0VECTADDR19 0xF200_014C Specifies the Vector Address 19 Register 0x00000000 VIC0VECTADDR20 0xF200_0150 Specifies the Vector Address 20 Register 0x00000000 VIC0VECTADDR21 0xF200_0154 Specifies the Vector Address 21 Register 0x00000000 VIC0VECTADDR22 0xF200_0158 Specifies the Vector Address 22 Register 0x00000000 VIC0VECTADDR23 0xF200_015C...
Page 516
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value VIC0VECTPRIORITY23 0xF200_025C Specifies the Vector Priority 23 Register VIC0VECTPRIORITY24 0xF200_0260 Specifies the Vector Priority 24 Register VIC0VECTPRIORITY25 0xF200_0264 Specifies the Vector Priority 25 Register VIC0VECTPRIORITY26 0xF200_0268 Specifies the Vector Priority 26 Register VIC0VECTPRIORITY27 0xF200_026C Specifies the Vector Priority 27 Register...
Page 517
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value VIC1PRIORITYDAISY 0xF210_0028 Specifies the Vector Priority Register for Daisy Chain VIC1VECTADDR0 0xF210_0100 Specifies the Vector Address 0 Register 0x00000000 VIC1VECTADDR1 0xF210_0104 Specifies the Vector Address 1 Register 0x00000000 VIC1VECTADDR2 0xF210_0108 Specifies the Vector Address 2 Register 0x00000000 VIC1VECTADDR3...
Page 518
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value VIC1VECTPRIORITY2 0xF210_0208 Specifies the Vector Priority 2 Register VIC1VECTPRIORITY3 0xF210_020C Specifies the Vector Priority 3 Register VIC1VECTPRIORITY4 0xF210_0210 Specifies the Vector Priority 4 Register VIC1VECTPRIORITY5 0xF210_0214 Specifies the Vector Priority 5 Register VIC1VECTPRIORITY6 0xF210_0218 Specifies the Vector Priority 6 Register...
Page 519
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value VIC1PERIPHID3 0xF210_0FEC Specifies the Peripheral Identification 0x00 Register bit 31:24 VIC1PCELLID0 0xF210_0FF0 Specifies the PrimeCell Identification 0x0D Register bit 7:0 VIC1PCELLID1 0xF210_0FF4 Specifies the PrimeCell Identification 0xF0 Register bit 15:9 VIC1PCELLID2 0xF210_0FF8 Specifies the PrimeCell Identification...
Page 520
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value VIC2VECTADDR13 0xF220_0134 Specifies the Vector Address 13 Register 0x00000000 VIC2VECTADDR14 0xF220_0138 Specifies the Vector Address 14 Register 0x00000000 VIC2VECTADDR15 0xF220_013C Specifies the Vector Address 15 Register 0x00000000 VIC2VECTADDR16 0xF220_0140 Specifies the Vector Address 16 Register 0x00000000 VIC2VECTADDR17 0xF220_0144...
Page 521
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value VIC2VECTPRIORITY17 0xF220_0244 Specifies the Vector Priority 17 Register VIC2VECTPRIORITY18 0xF220_0248 Specifies the Vector Priority 18 Register VIC2VECTPRIORITY19 0xF220_024C Specifies the Vector Priority 19 Register VIC2VECTPRIORITY20 0xF220_0250 Specifies the Vector Priority 20 Register VIC2VECTPRIORITY21 0xF220_0254 Specifies the Vector Priority 21 Register...
Page 522
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value Register VIC3SOFTINT 0xF230_0018 Specifies the Software Interrupt Register 0x00000000 VIC3SOFTINTCLEAR 0xF230_001C Specifies the Software Interrupt Clear Register VIC3PROTECTION 0xF230_0020 Specifies the Protection Enable Register VIC3SWPRIORITYMASK 0xF230_0024 Specifies the Software Priority Mask 0xFFFF Register VIC3PRIORITYDAISY...
Page 523
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value VIC3VECTADDR28 0xF230_0170 Specifies the Vector Address 28 Register 0x00000000 VIC3VECTADDR29 0xF230_0174 Specifies the Vector Address 29 Register 0x00000000 VIC3VECTADDR30 0xF230_0178 Specifies the Vector Address 30 Register 0x00000000 VIC3VECTADDR31 0xF230_017C Specifies the Vector Address 31 Register 0x00000000 VIC3VECPRIORITY0 0xF230_0200...
Page 524
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value VIC3ADDRESS 0xF230_0F00 Specifies the Vector Address Register 0x00000000 VIC3PERIPHID0 0xF230_0FE0 Specifies the Peripheral Identification 0x92 Register bit 7:0 VIC3PERIPHID1 0xF230_0FE4 Specifies the Peripheral Identification 0x11 Register bit 15:9 VIC3PERIPHID2 0xF230_0FE8 Specifies the Peripheral Identification 0x04 Register bit 23:16...
Page 525
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value TZIC1IntSelect 0xF290_0008 Specifies the Interrupt Select Register 0x00000000 TZIC1FIQEnable 0xF290_000C Specifies the FIQ Enable Register 0x00000000 TZIC1FIQENClear 0xF290_0010 Specifies the FIQ Enable Clear Register TZIC1FIQBypass 0xF290_0014 Specifies the FIQ Bypass Register 0x00000000 TZIC1Protection 0xF290_0018...
Page 526
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER Register Address Description Reset Value Register TZIC3IntSelect 0xF2B0_0008 Specifies the Interrupt Select Register 0x00000000 TZIC3FIQEnable 0xF2B0_000C Specifies the FIQ Enable Register 0x00000000 TZIC3FIQENClear 0xF2B0_0010 Specifies the FIQ Enable Clear Register TZIC3FIQBypass 0xF2B0_0014 Specifies the FIQ Bypass Register 0x00000000 TZIC3Protection 0xF2B0_0018...
Page 527
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.4.1.1 IRQ Status Register (VICIRQSTATUS, R, Address=0xF200_0000, 0xF210_0000, 0xF220_0000, 0XF230_0000) VICIRQSTATUS Description Initial State IRQStatus [31:0] Shows the status of the interrupts after masking by the 0x00000000 VICINTENABLE and VICINTSELECT Registers: 0 = Interrupt is inactive 1 = Interrupt is active.
Page 528
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.4.1.5 Interrupt Enable Register (VICINTENABLE, R/W, Address=0xF200_0010, 0xF210_0010, 0xF220_0010, 0xF230_0010) VICINTENABLE Description Initial State IntEnable [31:0] Enables the interrupt request lines, which allows the interrupts to 0x00000000 reach the processor. Read: 0 = Disables Interrupt 1 = Enables Interrupt Use this register to enable interrupt.
Page 529
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.4.1.8 Software Interrupt Clear Register (VICSOFTINTCLEAR, W, Address=0xF200_001C, 0xF210_001C, 0xF220_001C, 0xF230_001C) VICSOFTINTCLEAR Description Initial State SoftIntClear [31:0] Clears corresponding bits in the VICSOFTINT Register: 0 = No effect 1 = Disables Software interrupt in the VICSOFTINT Register. There is one bit of the register for each interrupt source.
Page 530
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.4.1.11 Software Priority Mask Register (VICSWPRIORITYMASK, R/W, Address=0xF200_0024, 0xF210_0024, 0xF220_0024, 0xF230_0024) VICSWPRIORITYMASK Description Initial State Reserved [31:16] Reserved, read as 0, do not modify SWPriorityMask [15:0] Controls software masking of the 16 interrupt priority levels: 0xFFFF 0 = Interrupt priority level is masked 1 = Interrupt priority level is not masked...
Page 531
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.4.1.15 VICPERIPHID1 Register (VICPERIPHID1, R, Address=0xF200_0FE4, 0xF210_0FE4, 0xF220_0FE4, 0xF230_0FE4) VICPERIPHID1 Description Initial State [31:8] Reserved, read as 0, do not modify. Designer0 [7:4] These bits read back as 0x1. Partnumber1 [3:0] These bits read back as 0x1. 1.4.1.16 VICPERIPHID2 Register (VICPERIPHID2, R, Address=0xF200_0FE8, 0xF210_0FE8, 0xF220_0FE8, 0xF230_0FE8) VICPERIPHID2...
Page 532
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.4.1.19 VICPCELLID1 Register (VICPCELLID1, R, Address=0xF200_0FF4, 0xF210_0FF4, 0xF220_0FF4, 0xF230_0FF4) VICPCELLID1 Description Initial State [31:8] Reserved, read as 0, do not modify. VICPCellID1 [7:0] These bits read back as 0xF0. 0xF0 1.4.1.20 VICPCELLID2 Register (VICPCELLID2, R, Address=0xF200_0FF8, 0xF210_0FF8, 0xF220_0FF8, 0xF230_0FF8) VICPCELLID2 Description...
Page 533
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.4.1.24 Interrupt select register (TZICIntSelect, R/W, Address=0xF280_0008, 0xF290_0008, 0xF2A0_0008, 0xF2B0_0008) TZICRawIntr Description Initial State IntSelect [31:0] Selects whether the interrupt source generates an FIQ 0x00000000 interrupt or passes straight through to TZICIRQOUT. 0 = Interrupt passes through to TZICIRQOUT 1 = Interrupt is available for FIQ generation 1.4.1.25 FIQ Enable Register (TZICFIQEnable, R/W, Address=0xF280_000C, 0xF290_000C, 0xF2A0_000C, 0xF2B0_000C)
Page 534
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.4.1.28 Protection Register (TZICProtection, R/W, Address=0xF280_0018, 0xF290_0018, 0xF2A0_0018, 0xF2B0_0018) TZICProtection Description Initial State [31:1] Read undefined. Write as 0. Protection Enables or disables protected register access: 0 = Disables Protection mode 1 = Enables Protection mode. If enabled, you can only make privileged mode access (reads and writes) to the TZIC.
Page 535
S5PC110_UM 1 VECTORED INTERRUPT CONTROLLER 1.4.1.32 Peripheral Identification Register (TZICPeriphID1, R, Address=0xF280_0FE4, 0xF290_0FE4, 0xF2A0_0FE4, 0xF2B0_0FE4) TZICPeriphID1 Description Initial State [31:8] Read undefined Designer0 [7:4] These bits read back as 0x1 Partnumber1 [3:0] These bits read back as 0x8 1.4.1.33 Peripheral Identification Register (TZICPeriphID2, R, Address=0xF280_0FE8, 0xF290_0FE8, 0xF2A0_0FE8, 0xF2B0_0FE8) TZICPeriphlD2 Description...
Page 538
Table of Contents DRAM Controller ..................1-1 1.1 Overview of DRAM Controller........................1-1 1.1.1 Introduction of DRAM Controller....................... 1-1 1.1.2 Key Features of DRAM Controller ....................1-1 1.1.3 Supports Clock frequency up to 200MHz Block Diagram ..............1-2 1.2 Functional Description ..........................1-3 1.2.1 Initialization ............................
Page 539
External Bus Interface ................6-1 6.1 Overview of External bus Interface ......................6-1 6.2 Key Features of S5PC110 EBI ........................ 6-1 6.3 Block Diagram of Memory Interface through EBI ..................6-2 6.4 Clock Scheme of Memory Controllers and EBI ..................6-3...
Page 541
List of Figures Figure Title Page Number Number Figure 1-1 Overall Block Diagram ........................1-2 Figure 1-2 Linear Address Mapping........................1-7 Figure 1-3 Interleaved Address Mapping ......................1-8 Figure 1-4 Timing Diagram of Timeout Precharge................... 1-10 Figure 1-5 Adaptive DRAM QoS Scheme Configuration ................. 1-12 Figure 1-6 Timing Diagram of Read Data Capture (DDR2, zero delay, RL=3, rd_fetch=1) ......
Page 542
Figure 5-1 Block Diagram of Compact Flash Controller ..................5-2 Figure 5-2 PIO Mode Waveform ........................5-4 Figure 5-3 Flowchart for Read / Write in PIO Class................... 5-6 Figure 5-4 MDMA Timing Diagram ........................5-7 Figure 5-5 UDMA- In Operation (Terminated by Device)................... 5-9 Figure 5-6 UDMA - In Operation (Terminated by Host) ...................
Page 543
Number Number Table 1-1 Fast Qos index table ........................1-13 Table 1-2 Master Transaction ID for DMC0 in S5PC110................. 1-48 Table 1-3 Master Transaction ID for DMC1 in S5PC110................. 1-49 Table 3-1 OneNAND Controller Memory Map ....................3-6 Table 3-2 OneNAND Chip #0 (nCE[0]) Address Map (If the OneNAND device is Connected to nCE[0])..
To support high-speed memory devices, the DRAM controller uses a SEC DDR PHY interface. The controller includes an advanced embedded scheduler to utilize memory device efficiently and an optimized pipeline stage to minimize latency. S5PC110 has two independent DRAM Controllers and Ports, namely, DMC0 and DMC1. 1.1.2 KEY FEATURES OF DRAM CONTROLLER •...
S5PC110_UM 1 DRAM CONTROLLER 1.1.3 SUPPORTS CLOCK FREQUENCY UP TO 200MHZ BLOCK DIAGRAM Figure 1-1 Overall Block Diagram shows the overall block diagram of the controller. The block diagram shows the bus interface block, Figure 1-1 scheduler block, and memory interface block, which connects and interfaces with the SEC LPDDR2 PHY. The bus interface block saves the bus transactions for memory access that come from the AXI slave port to the command queue.
S5PC110_UM 1 DRAM CONTROLLER 1.2 FUNCTIONAL DESCRIPTION 1.2.1 INITIALIZATION An Initialization procedure consists of PHY DLL initialization, setting controller register and memory initialization. For memory initialization, refer to JEDEC specifications and data sheets of memory devices. There are three different memory types, namely, LPDDR, LPDDR2, and DDR2. According to the memory types, initialization sequences are as follows.
Page 547
S5PC110_UM 1 DRAM CONTROLLER 17. Issue an EMRS command using the DirectCmd register to program the operating parameters. 18. If there are two external memory chips, perform steps 14~17 for chip1 memory device. 19. Set the ConControl to turn on an auto refresh counter. 20.
Page 548
S5PC110_UM 1 DRAM CONTROLLER 17. Issue a MRS command using the DirectCmd register to reset memory device and program the operating parameters. 18. Wait for minimum 1us. 19. Issue a MRR command using the DirectCmd register to poll the DAI bit of the MRStatus register to know whether Device Auto-Initialization is completed or not.
S5PC110_UM 1 DRAM CONTROLLER 15. Wait for minimum 400ns. 16. Issue a PALL command using the DirectCmd register. 17. Issue an EMRS2 command using the DirectCmd register to program the operating parameters. 18. Issue an EMRS3 command using the DirectCmd register to program the operating parameters. 19.
Page 550
S5PC110_UM 1 DRAM CONTROLLER 1.2.2.1 Linear Mapping Figure 1-2 Linear Address Mapping As shown in 1-2, the linear mapping method maps the AXI address in the order of bank, row, column and Figure width. Since the bank address does not change for at least one bank size, applications that use linear address mapping have a high possibility to access the same bank.
S5PC110_UM 1 DRAM CONTROLLER 1.2.3.2 Dynamic Power Down The SDRAM device has an active/ precharge power down mode. This mode is entered if CKE becomes LOW. To enter active power down mode minimum one row of a bank must be open. To enter precharge power down mode CKE must be low.
Page 553
S5PC110_UM 1 DRAM CONTROLLER 1.2.4.1 Bank Selective Precharge Policy Since applications include different page policy preferences, it is hard for the engineer to decide whether to use open page policy, or close page (auto precharge) policy. Instead of applying the page policy to entire banks, the bank selective precharge policy allows the user to choose a precharge policy for each bank (Refer to PrechConfig.chip1_policy).
S5PC110_UM 1 DRAM CONTROLLER 1.2.5 QUALITY OF SERVICE The Quality of Service (QoS) is defined for the controller to increase the arbitration priority of a master that requires low latency read data. The QoS is determined if the control queue (Refer to Figure 1-1Figure 1-1) receives the command through the AXI bus and the QoS count starts depreciating at this moment.
Page 555
S5PC110_UM 1 DRAM CONTROLLER 1.2.5.2 qos_cnt_f To service latency sensitive commands faster, an adaptive DRAM QoS scheme called QoS fast can be enabled. This policy cannot be done by the memory controller itself, but the IP has to observe its FIFO level. For read transactions, for example, when the IP’s FIFO is less than 1/4th full, there is no margin of time available between the FIFO and the memory controller.
Page 556
S5PC110_UM 1 DRAM CONTROLLER If qos fast (Concontrol.qos_fast_en) is enabled, and the master that sent the command has raised the qos_fast flag of it’s specific channel index, instead of qos_cnt (QoSControl(index).qos_cnt) being applied to the command, the QoS Cycles for fast request (QoSControl(index).qos_cnt_f) is applied.
S5PC110_UM 1 DRAM CONTROLLER 1.2.6 READ DATA CAPTURE A memory device that receives a read command sends the data to the controller after a read latency (i.e. CAS latency). After clearing the DQS, the PHY uses the PHY DLL to phase shift the DQS 90 degrees. Using the shifted DQS, the PHY samples the read data and saves the data into the read data input FIFO, which is located inside the PHY.
Page 558
S5PC110_UM 1 DRAM CONTROLLER is for DDR2 having an internal DLL. An internal DLL exists which allows it to send the data after an Figure 1-6 exact amount of read latency. If we assume there are minimal or no board/ PHY input delay, if sampling the negedge (Q1, Q3 sampling), since the data gets saved into the PHY read data input FIFO, the controller sends the read data to the AXI read channel in ‘read latency + 1(read fetch)’...
Page 559
S5PC110_UM 1 DRAM CONTROLLER To calculate the DDR2 rd_fetch value: rd_fetch DDR2) = INT((Delay + 0.5T + 0.25T)/T) = INT(Delay/T + 0.75), Delay: board delay + PHY input/output delay, T: clock period, INT(x): the rounded-up integer value of x Therefore, rd_fetch must have minimum one value. Figure 1-8 Timing Diagram of Read Data Capture (LPDDR/LPDDR2, zero delay, RL=3, rd_fetch=1)
Page 560
S5PC110_UM 1 DRAM CONTROLLER Figure 1-9 Timing Diagram of Read Data Capture (LPDDR/LPDDR2, non-zero delay, RL=3, rd_fetch=2) If a delay exists as shown in 1-9, a bigger value should be assigned to rd_fetch Figure 1-17...
Page 561
S5PC110_UM 1 DRAM CONTROLLER Figure 1-10 Timing Diagram of Read Data Capture (LPDDR/LPDDR2, low frequency, RL=3, rd_fetch=0) tDQSCK + Delay is relatively small compared to the clock period during low frequencies as shown in Figure 1-10. In this situation, negedge sampling happens before read latency and therefore read fetch is set to zero. To calculate the LPDDR/LPDDR2 rd_fetch value: rd_fetch (LPDDR/LPDDR2) = INT((-1 + Delay + 0.5T + 0.25T)/T) = INT(Delay/T - 0.25), Delay: board delay + PHY input delay, T: clock period, INT(x): the rounded-up integer value of x...
S5PC110_UM 1 DRAM CONTROLLER 1.4 REGISTER DESCRIPTION 1.4.1 REGISTER MAP Register Address Description Reset Value DMC0 CONCONTROL 0xF000_0000 R/W Specifies the Controller Control Register 0x0FFF_1350 MEMCONTROL 0xF000_0004 R/W Specifies the Memory Control Register 0x0020_2100 MEMCONFIG0 0xF000_0008 R/W Specifies the Memory Chip0 Configuration Register 0x20F0_0312 MEMCONFIG1 0xF000_000C...
Page 565
S5PC110_UM 1 DRAM CONTROLLER Register Address Description Reset Value QOSCONFIG2 0xF000_0074 R/W Specifies the Quality of Service Configuration 0x0000_0000 Register 2 QOSCONTROL3 0xF000_0078 R/W Specifies the Quality of Service Control Register 3 0x0000_0000 QOSCONFIG3 0xF000_007C R/W Specifies the Quality of Service Configuration 0x0000_0000 Register 3 QOSCONTROL4...
Page 566
S5PC110_UM 1 DRAM CONTROLLER Register Address Description Reset Value QOSCONFIG15 0xF000_00DC R/W Specifies the Quality of Service Configuration 0x0000_0000 Register 15 DMC1 CONCONTROL 0xF140_0000 R/W Specifies the Controller Control Register 0x0FFF1350 MEMCONTROL 0xF140_0004 R/W Specifies the Memory Control Register 0x00202100 MEMCONFIG0 0xF140_0008 R/W Specifies the Memory Chip0 Configuration Register...
Page 567
S5PC110_UM 1 DRAM CONTROLLER Register Address Description Reset Value QOSCONTROL3 0xF140_0078 R/W Specifies the Quality of Service Control Register 3 0x00000000 QOSCONFIG3 0xF140_007C R/W Specifies the Quality of Service Configuration 0x00000000 Register 3 QOSCONTROL4 0xF140_0080 R/W Specifies the Quality of Service Control Register 4 0x00000000 QOSCONFIG4 0xF140_0084...
Page 568
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.1 Controller Control Register (ConControl, R/W, Address = 0xF000_0000, 0xF140_0000) Initial CONCONTROL Description State Reserved [31:28] Should be zero timeout_cnt [27:16] Default Timeout Cycles 0xFFF 0xn = n aclk cycles (aclk: AXI clock) This counter prevents transactions in command queue from starvation.
Page 569
S5PC110_UM 1 DRAM CONTROLLER Initial CONCONTROL Description State drv_en PHY Driving 0x0 = Disables 0x1 = Enables During the high-Z state of the memory bidirectional pins, PHY drives these pins with the zeros or pull down these pins for preventing current leakage. Set PhyControl1.drv_type register to select driving type.
Page 570
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.2 Memory Control Register (MemControl, R/W, Address = 0xF000_0004, 0xF140_0004) Initial MEMCONTROL Description State Reserved [31:23] Should be zero [22:20] Memory Burst Length 0x0 = Reserved 0x1 = 2 0x2 = 4 0x3 = 8 0x4 = 16 0x5 ~ 0x7 = Reserved In case of DDR2/ LPDDR2, the controller only supports burst length 4.
Page 571
S5PC110_UM 1 DRAM CONTROLLER Initial MEMCONTROL Description State mclk cycles to wait until timeout precharge precharges the open bank. Refer to “1.2.4.2 . Timeout Precharge”. dpwrdn_type [3:2] Type of Dynamic Power Down 0x0 = Active/ Precharge power down 0x1 = Force precharge power down 0x2 ~ 0x3 = Reserved Refer to “1.2.3.2 Dynamic Power...
Page 572
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.3 Memory Chip0 Configuration Register (MemConfig0, R/W, Address=0xF000_0008, 0xF140_0008) Initial MEMCONFIG0 Description State chip_base [31:24] AXI Base Address DMC0: 0x20 AXI base address [31:24] = chip_base DMC1: For example, if chip_base = 0x20, then AXI base address of 0X40 memory chip0 becomes 0x2000_0000.
Page 573
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.4 Memory Chip1 Configuration Register (MemConfig1, R/W, Address = 0xF000_000C, 0xF140_000C) Initial MEMCONFIG1 Description State chip_base [31:24] AXI Base Address DMC0: 0x30 AXI base address [31:24] = chip_base, DMC1: For example, if chip_base = 0x28, then AXI base address of 0x60 chip1 becomes 0x2800_0000.
Page 574
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.5 Memory Direct Command Register (DirectCmd, R/W, Address = 0xF000_0010, 0xF140_0010) Initial DIRECTCMD Description State Reserved [31:28] Should be zero. cmd_type [27:24] Type of Direct Command 0x0 = MRS/EMRS (mode register setting), 0x1 = PALL (all banks precharge), 0x2 = PRE (per bank precharge), 0x3 = DPD (deep power down), 0x4 = REFS (self refresh),...
Page 575
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.6 Precharge Policy Configuration Register (PrechConfig, R/W, Address = 0xF000_0014, 0xF140_0014) Initial PRECHCONFIG Description State tp_cnt [31:24] Timeout Precharge Cycles 0xFF 0xn = n mclk cycles, If the timeout precharge function (MemControl.tp_en) is enabled and the timeout precharge counter becomes zero, the controller forces the activated memory bank into the precharged state.
Page 576
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.7 PHY Control0 Register (PhyControl0, R/W, Address = 0xF000_0018, 0xF140_0018) Initial PHYCONTROL0 Description State ctrl_force [31:24] DLL Force Delay This field is used instead of ctrl_lock_value[9:2] from the PHY DLL when ctrl_dll_on is LOW. (i.e. If the DLL is off, this field is used to generate 270' clock and shift DQS by 90'.) ctrl_inc [23:16] DLL Delay Increment...
Page 577
S5PC110_UM 1 DRAM CONTROLLER Power up & Memory DLL Lock Memory Acess PLL lock Initialization rst_n W rite c trl _s ta rt_p o in t v al ue ctrl_start_point Wri te ctr l_ in c va lu e ctrl_inc D L L Lo ck St art ctrl_start D LL L oc ke d...
Page 578
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.8 PHY Control1 Register (PhyControl1, R/W, Address = 0xF000_001C, 0xF140_001C) Initial PHYCONTROL1 Description State Reserved [31:23] Should be zero ctrl_offsetd [22:16] This field is for debug purpose. If this field is fixed, field value must not be changed during operation.
Page 579
S5PC110_UM 1 DRAM CONTROLLER Use DQS cleaning to remove high-Z state of DQS. M e m o r y P H Y A D C T / C M D C K / C K io _ ck _o u t G A T E O io _g a t e _ ou t t D L...
Page 580
S5PC110_UM 1 DRAM CONTROLLER Delay line programming value; tDL ≈ t AC + 2*(tB+tC+tD). tDL = tF (ctrl_shiftc[2:0]) + tV (ctrl_offsetc[6:0]) If ctrl_shiftc[2:0] is 3'b100, tF is Tperiod/8 ≈ 0.9375ns. (If tCK is 7.5ns) If ctrl_offsetc[6:0] is 7'b00010_00, tV is 0.320ns(40ps * 8) @ worst case (if tFS = 40ps) Therefore tDL = tF + tV = 0.9375ns + 0.320ns = 1.2575ns Figure 1-13 DQS Cleaning for LPDDR if tAC Min Figure 1-14 DQS Cleaning for LPDDR if tAC Max...
Page 581
S5PC110_UM 1 DRAM CONTROLLER Figure 1-15 DQS cleaning for DDR2 1.4.1.9 Dynamic Power Down Configuration Register (PwrdnConfig, R/W, Address = 0xF000_0028, 0xF140_0028) Initial PWRDNCONFIG Description State dsref_cyc [31:16] Number of Cycles for Dynamic Self Refresh Entry 0xFFFF 0xn = n aclk cycles, If the command queue is empty for n+1 cycles, the controller forces the memory device into self refresh state.
Page 582
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.10 AC Timing Register for Auto Refresh of memory (TimingAref, R/W, Address = 0xF000_0030, 0xF140_0030) Initial TIMINGAREF Description State Reserved [31:16] Should be zero t_refi [15:0] Average Periodic Refresh Interval 0x40E Should be minimum memory tREFI (all bank) < t_refi * T(mclk), For example, for the all bank refresh period of 7.8us, and an mclk frequency of 133MHz, the following value should be programmed :...
Page 583
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.12 AC Timing Register for the Data of memory (TimingData, R/W, Address = 0xF000_0038, 0xF140_0038) Initial TIMINGDATA Description State t_wtr [31:28] Internal write to Read command delay, in cycles t_wtr * T(mclk) should be greater than or equal to the minimum value of memory tWTR.
Page 584
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.13 AC Timing Register for the Power mode of Memory (TimingPower, R/W, Address = 0xF000_003C, 0xF140_003C) Initial TIMINGPOWER Description State Reserved [31:30] Should be zero t_faw [29:24] Four Active Window t_faw * T(mclk) should be greater than or equal to the minimum value of memory tFAW t_xsr [23:16]...
Page 585
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.14 PHY Status Register (PhyStatus, Read Only, Address=0xF000_0040, 0xF140_0040) Initial PHYSTATUS0 Description State Reserved [31:14] Should be zero ctrl_lock_value [13:4] Locked Delay Locked delay line encoding value ctrl_lock_value[9:2]: number of delay cells for coarse lock ctrl_lock_value[1:0]: control value for fine lock Reserved Should be zero ctrl_locked...
Page 586
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.15 Memory Chip0 Status Register (Chip0Status, Read Only, Address = 0xF000_0048, 0xF140_0048) Initial CHIP0STATUS Description State bank7_state [31:28] The current state of bank 7 of memory chip0 bank6_state [27:24] The current state of bank 6 of memory chip0 bank5_state [23:20] The current state of bank 5 of memory chip0...
Page 587
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.16 Memory Chip1 Status Register (Chip1Status, Read Only, Address=0xF000_004C, 0xF140_004C) Initial CHIP1STATUS Description State bank7_state [31:28] The current state of bank 7 of SDRAM chip1 bank6_state [27:24] The current state of bank 6 of SDRAM chip1 bank5_state [23:20] The current state of bank 5 of SDRAM chip1...
Page 588
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.17 Counter Status Register for the Auto Refresh (ArefStatus, R, Address=0xF000_0050, 0xF140_0050) Initial AREFSTATUS Description State Reserved [31:16] Should be zero aref_cnt [15:0] Current Value of Auto Refresh Counter 0xFFFF Shows the current value of all bank auto refresh counter. This is updated if a new t_refi is programmed into the TimingAref register and decreases by 1 at the rising edge of mclk.
Page 589
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.20 PHY Test Register 1 (PhyTest1, R, Address = 0xF000_005C, 0xF140_005C) Initial PHYTEST1 Description State ctrl_fb_cnt3 [31:24] Count value for data3 channel ctrl_fb_cnt2 [23:16] Count value for data2 channel ctrl_fb_cnt1 [15:8] Count value for data1 channels ctrl_fb_cnt0 [7:0] Count value for data0 channel...
Page 590
S5PC110_UM 1 DRAM CONTROLLER 1.4.1.22 Quality of Service Configuration Register n (QosConfig n, R/W, Address = 0xF000_0064 + 8n (n=0~15, integer), 0xF140_0064 + 8n (n=0~15, integer) Initial QOSCONFIGn Description State qos_mask [31:16] QoS Mask Bits This is used to mask the incoming ARID/AWID to compare with the qos_id.
Page 591
S5PC110_UM 1 DRAM CONTROLLER Table 1-2 Master Transaction ID for DMC0 in S5PC110 Transaction Transaction ID Description Master 14’b000_0000_0xxx_x000 14’b000_000x_xxx0_0001 14’b000_000x_xxx1_0001 FIMC0 14’b00x_xxx0_0000_0010 FIMC1 14’b00x_xxx0_0100_0010 FIMC2 14’b00x_xxx0_1000_0010 JPEG 14’b000_0000_1100_0010 14’b000_0001_0000_0010 FIMD_W0 14’b000_0000_0001_0010 FIMD window 0 FIMD_W4 14’b000_0001_0001_0010 FIMD window 4 FIMD_W1 14’b000_0000_0101_0010...
Page 592
S5PC110_UM 1 DRAM CONTROLLER Table 1-3 Master Transaction ID for DMC1 in S5PC110 Transaction Transaction ID Description Master 14’b000_0000_0xxx_x000 14’b000_000x_xxx0_1100 14’b000_000x_xxx1_0100 FIMC0 14’b00x_xxx0_0000_1011 FIMC1 14’b00x_xxx0_0100_1011 FIMC2 14’b00x_xxx0_1000_1011 JPEG 14’b000_0000_1100_1011 14’b000_0001_0000_1011 FIMD_W0 14’b000_0000_0001_1011 FIMD window 0 FIMD_W4 14’b000_0001_0001_1011 FIMD window 4 FIMD_W1 14’b000_0000_0101_1011 FIMD window 1...
2.1 SROM CONTROLLER 2.1.1 OVERVIEW OF SROM CONTROLLER S5PC110 SROM Controller (SROMC) support external 8 / 16-bit NOR Flash/ PROM/ SRAM memory. S5PC110 SROM Controller supports 6-bank memory up to maximum 16Mbyte per bank. 2.1.2 KEY FEATURES OF SROM CONTROLLER •...
S5PC110_UM 2 SROM CONTROLLER 2.2 FUNCTIONAL DESCRIPTION SROM Controller supports SROM interface for Bank0 to Bank5. 2.2.1 NWAIT PIN OPERATION If the WAIT signal corresponding to each memory bank is enabled, the external nWAIT pin should prolong the duration of nOE while the memory bank is active. nWAIT is checked from tacc-1. nOE will be deasserted at the next clock after sampling nWAIT is high.
S5PC110_UM 2 SROM CONTROLLER 2.4 REGISTER DESCRIPTION 2.4.1 REGISTER MAP Register Address Description Reset Value SROM_BW 0xE800_0000 Specifies the SROM Bus width & wait control 0x0000_0009 SROM_BC0 0xE800_0004 Specifies the SROM Bank0 control register 0x000F_0000 SROM_BC1 0xE800_0008 Specifies the SROM Bank1 control register 0x000F_0000 SROM_BC2 0xE800_000C...
Page 598
S5PC110_UM 2 SROM CONTROLLER 2.4.1.1 SROM Bus Width & Wait Control Register (SROM_BW, R/W, Address = 0x0000_0000) SROM_BW Description Initial State Reserved [31:24] Reserved ByteEnable5 [23] nWBE / nBE(for UB/LB) control for Memory Bank5 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] WaitEnable5 [22]...
Page 599
S5PC110_UM 2 SROM CONTROLLER SROM_BW Description Initial State 1 = SROM_ADDR is byte base address (SROM_ADDR[22:0] <= HADDR[22:0]) Note: When DataWidth3 is “0”, SROM_ADDR is byte base address. (Ignored this bit.) DataWidth3 [12] Data bus width control for Memory Bank3 0 = 8-bit 1 = 16-bit ByteEnable2...
Page 600
S5PC110_UM 2 SROM CONTROLLER SROM_BW Description Initial State 1 = Enables WAIT AddrMode0 Select SROM ADDR Base for Memory Bank0 0 = SROM_ADDR is Half-word base address. (SROM_ADDR[22:0] <= HADDR[23:1]) 1 = SROM_ADDR is byte base address (SROM_ADDR[22:0] <= HADDR[22:0]) Note: When DataWidth0 is “0”, SROM_ADDR is byte base address.
ONENAND CONTROLLER 3.1 OVERVIEW OF ONENAND CONTROLLER S5PC110 supports external 16-bit bus for OneNAND and Flex-OneNAND memory devices. The OneNAND controller supports asynchronous and synchronous read/ write bus operations. It also integrates its own dedicated DMA engine to accelerate the operations of OneNAND memory device.
S5PC110_UM 3 ONENAND CONTROLLER 3.3 CONTROLLER USAGE EXPECTATIONS The OneNAND controller is designed with the following expectations: • Supported transfer types are SINGLE/ INCR4/ INCR8/ INCR16 transactions. • Supported transfer sizes are WORD/ HALFWORD transactions for the OneNAND slave. • Supported transfer sizes are WORD transactions for the register slave.
S5PC110_UM 3 ONENAND CONTROLLER 3.4 FUNCTIONAL DESCRIPTION OF ONENAND By default, the ARM processor directly accesses OneNAND. In addition, internal DMA engine can access OneNAND. For example, the internal DMA engine transfers data between OneNAND DataRAM and system main memory (like DRAM) without wasting the processing power of ARM processor. These additional hardware resources can be utilized to maximize the performance and minimize the usage of ARM processor for OneNAND read/ write/ copy operation.
3.4.3 INITIALIZATION PROTOCOL 3.4.3.1 Power On After power on, the S5PC110 and OneNAND controller are initialized. Thereafter, OneNAND controller will automatically configure itself to work with the OneNAND flash memory devices. This automatic configuration can be achieved using one of the following: •...
3 ONENAND CONTROLLER 3.5 MEMORY MAP OneNAND controller occupies 16MB address space in the system address space. The base address of OneNAND controller is configured by 0xB00000000 in S5PC110. OneNAND controller has three AHB slaves, namely: 1. OneNAND interface 2. Control registers The three AHB slaves share 16MB address space.
Page 608
S5PC110_UM 3 ONENAND CONTROLLER The corresponding commands must be issued to the device command register (Command register (device address offset: 0x1E440)). For more information about the OneNAND device memory map, refer to that Figure 3-3 shows the data path when the external AHB master accesses control registers. Table 3-1 OneNAND Controller Memory Map OneNAND Controller...
Page 609
S5PC110_UM 3 ONENAND CONTROLLER Table 3-2 OneNAND Chip #0 (nCE[0]) Address Map (If the OneNAND device is Connected to nCE[0]) OneNAND OneNAND Controller Size Controller Address (Total Description Address (End) 128KBytes) (Start) 0xB0000000 0xB00001FE 512B BootRAM Main sector0 0xB0000200 0xB00003FE 512B BootRAM Main sector1 0xB0000400...
Page 610
S5PC110_UM 3 ONENAND CONTROLLER Table 3-3 Flex-OneNAND Chip #0 (nCE[0]) Address Map (If the Flex-OneNAND device is Connected to nCE[0]) OneNAND OneNAND Size Controller Controller (Total 128KBytes) Description Address Address (Start) (End) 0xB0000000 0xB00001FE 512B BootRAM Main sector0 0xB0000200 0xB00003FE 512B BootRAM Main sector1 0xB0000400...
S5PC110_UM 3 ONENAND CONTROLLER 3.6 ONENAND INTERFACE 3.6.1 OVERVIEW OF ONENAND INTERFACE The OneNAND interface is an AHB slave module that provides an interface for the AHB master to access OneNAND devices on the internal AHB bus of OneNAND controller. For example, 1.
S5PC110_UM 3 ONENAND CONTROLLER To reduce the power consumption for OneNAND interface and drive the clock output to OneNAND device, the gated clock output is supported. If this feature is enabled, the OneNAND device clock is toggled only if the OneNAND device is accessed to perform read or write operation.
Page 615
S5PC110_UM 3 ONENAND CONTROLLER ONENAND_IF_CTRL Reg ister U pdate Start Read ONENAN D _IF_STAT US ORWB = 0 ? Write New Configu ratio n t o th e “System Con figu rat io n 1” Reg ister o f All th e On eNAND Devices Conn ect ed with th e On eN AND Cont ro ller Read One Dummy Half word...
S5PC110_UM 3 ONENAND CONTROLLER 3.6.3 ONENAND DEVICE INTERRUPT HANDLING The OneNAND interface provides two mechanisms to check the INT pin status of the OneNAND devices, namely: 1. Polling the INTD (INT Done) bits of the OneNAND Interface Status (ONENAND_IF_STATUS) register 2.
Page 618
S5PC110_UM 3 ONENAND CONTROLLER Figure 3-6 OneNAND Device INT Pin Rising Edge Wait Operations with a Polling Method Figure 3-7 OneNAND Device INT Pin Rising Edge Wait Operations with an Interrupt-Driven Method 3-16...
S5PC110_UM 3 ONENAND CONTROLLER 3.6.4 DMA ENGINE OVERVIEW To perform data transfer between internal AHB memory (such as OneNAND device) and external AHB memory (such as SDRAM), the internal dedicated DMA engine is embedded in the OneNAND controller. The DMA engine supports single transfer, 4-/ 8-/ 16-burst transfer with 8-/ 16-/ 32-bit data width on the AHB. In addition, it supports even unaligned transfers.
S5PC110_UM 3 ONENAND CONTROLLER 3.6.5 DMA OPERATION Set DMA control registers to configure the DMA operation. The DMA engine begins to transfer data after setting the Transfer Run (TR) bit of the DMA Transfer Command (DMA_TRANS_CMD) register to 1. The Transfer Busy (TB) bit of the DMA Transfer Status (DMA_TRANS_STATUS) register is maintained as 1 during the data transfer to indicate that the DMA engine is busy.
Page 622
S5PC110_UM 3 ONENAND CONTROLLER 3.6.5.2 DMA Operation With an Interrupt-driven Method The DMA engine asserts system interrupt signal for the transfer done or the transfer error event DMA Start Read INTC_DMA_MASK DMTD = 0 && DMTE = 0 ? ARM_IRQ = 1 ? Write 0 to both DMTD and ARM Processor Jumps to the Write 1 to TDC bit of...
S5PC110_UM 3 ONENAND CONTROLLER 3.7 I/O INTERFACE Signal Description Type Address Bus outputs, during memory read/ write Xm0ADDR ADDR[15:0] muxed address phase [15:0] Data Bus outputs address during memory read/ write address phase, inputs data during memory read data Xm0DATA DQ[15:0] muxed phase and outputs data during memory write data...
S5PC110_UM 3 ONENAND CONTROLLER 3.8.2 ONENAND INTERFACE REGISTER 3.8.2.1 OneNAND Interface Control Register (ONENAND_IF_CTRL, R/W, Address = 0xB060_0100) ONENAND_ Description Initial State IF_CTRL [31] 1b or 0b Mux or Demux OneNAND Type Select OneNAND interface supports both Demux and Mux type OneNAND devices.
Page 626
S5PC110_UM 3 ONENAND CONTROLLER ONENAND_ Description Initial State IF_CTRL This bit is used to select the burst read/ write latency between 3 clocks and 7 clocks. BRWL (burst read write latency) bits specify the access latency in the burst read/ write transfer for the initial access. Note that these bits are valid only for the synchronous read/ write operation.
Page 627
S5PC110_UM 3 ONENAND CONTROLLER Figure 3-12 ONENAND Interface Synchronous Read Timing C LK 2x (I nternal) C LK nC E nAVD 1 C lock 1 C lock BL C locks 3 C locks Valid AD DR A ddress BR WL C locks 1-st 2-nd 3-rd...
Page 628
S5PC110_UM 3 ONENAND CONTROLLER 3.8.2.2 OneNAND Interface Command Register (ONENAND_IF_CMD, W, Address = 0xB060_0104) ONENAND_ Description Initial State IF_CMD [31:18] Reserved INTC [17:16] OneNAND INT Done Clear When this bit is set to 1, the INTD (OneNAND INT done) bit flag of the OneNAND Interface Status Register (ONENAND_IF_STATUS) is cleared to 0.
Page 629
S5PC110_UM 3 ONENAND CONTROLLER 3.8.2.3 OneNAND Interface Async Timing Control Register (ONENAND_IF_ASYNC_TIMING_CTRL, R/W, Address = 0xB060_0108) ONENAND_IF_ ASYNC_TIMING Description Initial State _CTRL [31:16] Reserved [15:12] nWE High Length nWE signal is held to high for WHL clock time at OneNAND asynchronous read/ write execution.
Page 630
S5PC110_UM 3 ONENAND CONTROLLER Async. Read D ata Sampling Timing C LK 2x (I nternal) C LK nOE H igh Length nC E Clocks nAVD 1 C lock 1 C lock 1 C lock (nOE Low Length + 2) C locks AD D R V alid Address Valid R ead Dat a...
Page 631
S5PC110_UM 3 ONENAND CONTROLLER 3.8.2.4 OneNAND Interface Status Register (ONENAND_IF_STATUS, R, Address = 0xB060_010C) ONENAND_ Description Initial State IF_STATUS [31:24] Reserved [23:18] Reserved 111111b INTD [17:16] OneNAND INT Done This status is used to check whether the OneNAND command execution is complete or not. Check whether the OneNAND INT pin’s rising edge has been occurred or not after issuing a command to the OneNAND to notify command execution completion.
S5PC110_UM 3 ONENAND CONTROLLER 3.8.3 DMA CONTROL REGISTERS 3.8.3.1 DMA Source Address Register (DMA_SRC_ADDR, R/W, Address = 0xB060_0400) DMA_SRC_ADDR Description Initial State [31:0] 00000000h Source Address Source address on the AHB for the DMA operation. The start address for the DMA engine to perform read operation.
Page 633
S5PC110_UM 3 ONENAND CONTROLLER DMA_SRC_CFG Description Initial State memory address should be the multiple of the HSIZE (data width). If this address alignment condition is not satisfied, the actual data width on the AHB during the DMA transfer will be smaller than the access size specified in these bits.
Page 634
S5PC110_UM 3 ONENAND CONTROLLER 3.8.3.4 DMA Destination Configuration Register (DMA_DST_CFG, R/W, Address = 0xB060_040C) DMA_DST_CFG Description Initial State [31:19] Reserved [18:16] 100b Destination Burst Length Burst length during the destination memory access on the AHB for the DMA operation. This burst length is valid only when the memory address is aligned.
Page 635
S5PC110_UM 3 ONENAND CONTROLLER 3.8.3.5 DMA Transfer Size Register (DMA_TRANS_SIZE, R/W, Address = 0xB060_0414) DMA_TRANS_ Description Initial State SIZE [31:24] Reserved [23:0] 000000h Transfer Size The number of bytes to be transferred to the AHB by the DMA engine. Transfer size must be less than 16MBytes. If the DMA source or destination address is in the OneNAND interface slave address space, TS (Transfer Size) must be the multiple of 2 because OneNAND interface slave does NOT...
Page 636
S5PC110_UM 3 ONENAND CONTROLLER 3.8.3.7 DMA Transfer Status Register (A_TRANS_STATUS, R, Address = 0xB060_041C) A_TRANS_ Description Initial State STATUS [31:19] Reserved [18] Transfer Done This status is used to check whether the DMA transfer is complete or not. After the DMA transfer is successfully completed, TD bit is set to 1.
Page 637
S5PC110_UM 3 ONENAND CONTROLLER 3.8.3.8 DMA Transfer Direction Register (DMA_TRANS_DIR, R/W, Address = 0xB060_0420) DMA_TRANS_ Description Initial State [31:1] Reserved TDIR Transfer Direction This bit specifies the transfer direction of the DMA operation between the OneNAND controller’s internal AHB memory and the OneNAND controller’s external AHB memory.
S5PC110_UM 3 ONENAND CONTROLLER 3.8.4 INTERRUPT CONTROLLER REGISTERS Interrupt controller registers can be classified into following four register types: 1) interrupt pending registers, 2) interrupt status registers, 3) interrupt mask registers, and 4) interrupt clear registers. Each interrupt pending register represents the raw status of the interrupt sources such as DMA transfer done, DMA transfer error, and OneNAND INT pin done.
Page 639
S5PC110_UM 3 ONENAND CONTROLLER 3.8.4.2 Interrupt Controller OneNAND Clear Register (INTC_ONENAND_CLR, W, Address = 0xB060_1008) INTC_ONENAND Description Initial State _CLR [31:2] Reserved OCINTD [1:0] OneNAND Clear INT Done When this bit is set to 1, the corresponding OSINTD (OneNAND status INT done) bit flag of the Interrupt Controller OneNAND Status Register (INTC_ONENAND_STATUS) in the interrupt controller is cleared to 0.
Page 640
S5PC110_UM 3 ONENAND CONTROLLER 3.8.4.5 Interrupt Controller DMA Pending Register (INTC_DMA_PEND, R, Address = 0xB060_1044) INTC_DMA_PEND Description Initial State [31:25] Reserved DPTD [24] DMA Pending Transfer Done This bit is the exact copy of the TD (transfer done) bit flag of the DMA Status Register (DMA_STATUS) [13:17] Reserved...
Page 641
S5PC110_UM 3 ONENAND CONTROLLER 3.8.4.8 Interrupt Controller OneNAND Status Register (INTC_ONENAND_STATUS, R, Address = 0xB060_1068) INTC_ONENAND_ Description Initial State STATUS [31:2] Reserved OSINTD [1:0] OneNAND Status INT Done This bits are logical AND operation result of OPINTD (OneNAND pending INT done) bit flags of the interrupt controller OneNAND pending register (INTC_ONENAND_PEND) and inverse of OMINTD (OneNAND mask INT done) bit flag of the Interrupt Controller...
NAND flash and execute the main code on DRAM. The boot code in S5PC110 can be executed on external NAND flash. It will copy NAND flash data to DRAM. To validate the NAND flash data, S5PC110 comprises of hardware Error Correction Code (ECC). After the NAND flash content is copied to DRAM, main program will be executed on DRAM.
S5PC110_UM 4 NAND FLASH CONTROLLER 4.3 SOFTWARE MODE S5PC110 supports only software mode access. Use this mode to access NAND flash memory. The NAND flash controller supports direct access to interface with the NAND flash memory. • Writing to the command register (NFCMMD) specifies the NAND Flash Memory command cycle •...
S5PC110_UM 4 NAND FLASH CONTROLLER 4.3.6 1-BIT ECC PROGRAMMING GUIDE 1. To use SLC ECC in software mode, reset the ECCType to ‘0’ (enable SLC ECC)‘. ECC module generates ECC parity code for all read / write data when MainECCLock (NFCON[7]) and SpareECCLock (NFCON[6]) are unlocked(‘0’).
S5PC110_UM 4 NAND FLASH CONTROLLER 4.3.7 4-BIT ECC PROGRAMMING GUIDE (ENCODING) 1. To use 4-bit ECC in software mode, set the MsgLength to 0(512-byte message length) and the ECCType to “10”(enable 4bit ECC). ECC module generates ECC parity code for 512-byte write data. To reset ECC value write the InitMECC (NFCONT[5]) bit as ‘1’...
S5PC110_UM 4 NAND FLASH CONTROLLER 4.3.8 4-BIT ECC PROGRAMMING GUIDE (DECODING) 1. To use 4-bit ECC in software mode, set the MsgLength to 0 (512-byte message length) and the ECCType to “10” (enable 4-bit ECC). ECC module generates ECC parity code for 512-byte read data. Therefore, to reset ECC value write the InitMECC (NFCONT[5]) bit as ‘1’...
S5PC110_UM 4 NAND FLASH CONTROLLER 4.3.10 8/12/16-BIT ECC PROGRAMMING GUIDE (DECODING) 1. To use 8/ 12/ 16-bit ECC in software mode, set the MsgLength(NFECCCONF[25:16] to 511(512-byte message length) and the ECCType to “001/100/101”(enable 8/12/16-bit ECC, respectively). ECC module generates ECC parity code for 512-byte read data. Therefore, you must reset ECC value by writing the InitMECC (NFECCCONT[2]) bit as ‘1’, and clear the MainECCLock(NFCONT[7]) bit to ‘0’(Unlock) before read data.
S5PC110_UM 4 NAND FLASH CONTROLLER 4.3.11 ECC PARITY CONVERSION CODE GUIDE FOR 8/12/16-BIT ECC The ECC parity conversion codes are there to fix errors, which occur when reading a free page. Free page means the page erased. The 8/ 12/ 16-bit ECC modules support variable message size for meta data stored in spare area.
S5PC110_UM 4 NAND FLASH CONTROLLER 4.3.12 LOCK SCHEME FOR DATA PROTECTION NFCON provides a lock scheme to protect data stored in external NAND Flash memories from malicious program. For this scheme, the NFSBLK and NFEBLK registers are used to provide access control methods; only the memory area between NFSBLK and NFEBLK is erasable and programmable, but the read access is available to whole memory area.
Page 659
S5PC110_UM 4 NAND FLASH CONTROLLER 4.5.2.2 Control Register (NFCONT, R/W, Address = 0xB0E0_0004) NFCONT Description Initial State Reserved [31:24] Reserved Reg_nCE3 [23] NAND Flash Memory nRCS[3] signal control 0 = Force nRCS[3] to low (Enable chip select) 1 = Force nRCS[3] to High (Disable chip select) Reg_nCE2 [22] NAND Flash Memory nRCS[2] signal control...
Page 660
S5PC110_UM 4 NAND FLASH CONTROLLER NFCONT Description Initial State MECCLock Lock Main area ECC generation 0 = Unlock Main area ECC 1 = Lock Main area ECC Main area ECC status register is NFMECC0/NFMECC1(0xB0E0_0034/0xB0E0_0038), SECCLock Lock Spare area ECC generation. 0 = Unlock Spare ECC 1 = Lock Spare ECC Spare area ECC status register is NFSECC(0xB0E0_003C),...
Page 661
S5PC110_UM 4 NAND FLASH CONTROLLER 4.5.2.5 Data Register (NFDATA, R/W, Address = 0xB0E0_0010) NFDATA Description Initial State NFDATA [31:0] NAND Flash read/ program data value for I/O 0x00000000 Note: For more information, refer to 4.3.1 Data Register in page 4-4. Configuration 4.5.2.6 Main Data Area ECC Register (NFMECCD0, R/W, Address = 0xB0E0_0014) NFMECCD0...
Page 662
S5PC110_UM 4 NAND FLASH CONTROLLER 4.5.2.8 Only Word Access is Allowed Spare Area ECC Register (NFSECCD, R/W, Address = 0xB0E0_001C) NFSECCD Description Initial State Reserved [31:24] Reserved 0x00 SECCData1 [23:16] 0xFF Note: In software mode, read this register when you need to read 2 ECC value from NAND Flash memory Reserved...
Page 663
S5PC110_UM 4 NAND FLASH CONTROLLER 4.5.2.11 NFCON Status Register (NFSTAT, R/W, Address = 0xB0E0_0028) NFSTAT Description Initial State Flash_RnB_GRP [31:28] The status of RnB[3:0] input pin. 0 = NAND Flash memory busy 1 = NAND Flash memory ready to operate RnB_TransDetect [27:24] When RnB[3:0] low to high transition occurs, this bit is set and an...
Page 664
S5PC110_UM 4 NAND FLASH CONTROLLER 4.5.2.12 ECC0/1 Error Status Register (NFECCERR0, R, Address = 0xB0E0_002C) • When ECC Type is 1-bit ECC NFECCERR0 Description Initial State Reserved [31:25] Reserved 0x00 ECCSDataAddr [24:21] In spare area, Indicates which number data is error ECCSBitAddr [20:18] In spare area, Indicates which bit is error...
Page 665
S5PC110_UM 4 NAND FLASH CONTROLLER 4.5.2.13 ECC0/1 Error Status Register (NFECCERR1, R, Address = 0xB0E0_0030) • When ECC Type is 4-bit ECC NFECCERR1 Description Initial State Reserved [31:26] Reserved 0x00 MLCErrLocation4 [25:16] 0x00 Error byte location of 4 bit error Reserved [15:10] Reserved...
Page 666
S5PC110_UM 4 NAND FLASH CONTROLLER 4.5.2.15 Main data area ECC0 status Register (NFMECC1, R, Address = 0xB0E0_0038) • When ECCType is 4-bit ECC NFMECC1 Description Initial State Reserved [31:24] Reserved 0x00 7th Parity [23:16] 7th Check Parity generated from main area (512-byte) 0x00 6th Parity [15:8]...
S5PC110_UM 4 NAND FLASH CONTROLLER 4.5.3 ECC REGISTERS FOR 8, 12 AND 16-BIT ECC 4.5.3.1 Nand Flash ECC Configuration Register (NFECCCONF, R/W, Address = 0xB0E2_0000) NFECCCONF Description Initial State Reserved [31] Reserved Reserved [28] Reserved MsgLength [25:16] The ECC message size. For 512-byte message, you should set 511.
Page 668
S5PC110_UM 4 NAND FLASH CONTROLLER 4.5.3.3 Nand Flash ECC Status Register (NFECCSTAT, R/W, Address = 0xB0E2_0030) NFECCSTAT Description Initial State ECCBusy [31] Indicates the 8-bit ECC decoding engine is searching whether a error exists or not 0 = Idle 1 = Busy Reserved [30] Reserved...
Page 669
S5PC110_UM 4 NAND FLASH CONTROLLER 4.5.3.5 Nand Flash ECC Parity code for Page Program Register (NFECCPRGECC*, R, Address = 0xB0E2_0090 ~ 0xB0E2_00A8) NFECCPRGECC0 Description Initial State 4th Parity [31:24] 4th Check Parity for page program from main area 0x00 3rd Parity [23:16] 3rd Check Parity for page program from main area 0x00...
S5PC110_UM 5 COMPACT FLASH CONTROLLER COMPACT FLASH CONTROLLER 5.1 OVERVIEW OF COMPACT FLASH CONTROLLER A Compact Flash Controller (CFC) connects seamlessly to the AHB Bus as a Bus slave and AHB Master. The CFC subsystem recognizes AHB Bus transactions that target the compact flash card. The Master Interface initiates compact flash card requests to the CFC block requester interface.
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.3 BLOCK DIAGRAM OF COMPACT FLASH CONTROLLER FIFO Master Interface Device Internal Control Logic Interrupt Slave Control ATA Controller Figure 5-1 Block Diagram of Compact Flash Controller 5.4 FUNCTIONAL DESCRIPTION The ATAPI controller is compatible with the ATA/ATAPI-5 standard. This mode allows I/O operations to the task file and data registers.
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.5 TRUE IDE MODE PIO/ PDMA TIMING DIAGRAM The PIO transfer protocol supports 8-bit register access in driver and 16-bit PIO data access. If PIO mode 3 or 4 is the currently selected mode of operation, both hosts and devices support ATA_IORDY. The defines the Figure 5-2 relationships between host and device interface signals for data and registers transfer.
Page 676
S5PC110_UM 5 COMPACT FLASH CONTROLLER Table 5-1 describes the timing parameters of PIO modes. Table 5-1 shows the timing cycle of the true IDE PIO mode, if ATA controller is in the ATA_TRANS state. Figure 5-2 The figure indicates various timing parameters. Timing ‘t1’ indicates the time between address valid and IORD/IOWR asserted.
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.7 TRUE IDE MDMA MODE TIMING DIAGRAM The ATAPI MDMA streams data continuously across the ATA interface between the host and the target device. This transfer class allows either the driver or host to pause or terminate the data flow. To support various transfer speed classes, the CPU programs appropriate timing parameters.
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.7.1 ATA_MDMA_TIME REGISTER SETTING EXAMPLE The “td” minimum time is 215ns in the system clock 100MHz (10ns). It gives 21.5; “td” divided by 10ns. This case has residual, assigning quotient (21) to the dma_td[3:0]. If it has no residual, assign the quotient minus 1 at dma_td[3:0].
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.8 TRUE IDE UDMA MODE TIMING DIAGRAM The Ultra-DMA (UDMA) is a fast DMA protocol which supports six timing modes (mode 0 ~ 5). Mode 5 is the fastest; it operates at 100MHz. This ATAPI host controller supports upto mode 4. It operates at 66MHz. Both host and device driver perform CRC check during UDMA burst transfer.
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.8.1 ATA_UDMA_TIME REGISTER SETTING EXAMPLE The “tackenv” minimum time is 20ns in the system clock of 100MHz (10ns). It gives 2; “tackenv” divided by 10ns. This case has no residual, therefore the udma_tackenv[3:0] assigns 1 which is 2 minus 1. If it has residual, assign the quotient at udma_tackenv[3:0].
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.9 TRANSFER STATE ABORT The PIO, PDMA, MDMA or UDMA checks for abort or stop transfer state after completing one full cycle of the finite state machine (FSM). The FSM transition from IDLE state happens if ATA transfer state is in ATA_TRANS. The FSM continues the cycle while the abort is asserted.
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.10 I/O DESCRIPTION Signal Description Type CSn0 Device chip selection signal XmsmCSn muxed To select the control block registers CSn1 Device chip selection signal XmsmWEn muxed To select the command block registers DA[2:0] register address signals XmsmADDR[2:0] muxed DD_RD[15:0]...
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.11 REGISTER DESCRIPTION 5.11.1 REGISTER MAP Register Address Description Reset Value ATA_CONTROL 0xE820_0000 Specifies the ATA enable and clock down 0x00000002 status ATA_STATUS 0xE820_0004 Specifies the ATA status 0x00000008 ATA_COMMAND 0xE820_0008 Specifies the ATA command 0x00000000 ATA_SWRST 0xE820_000C...
Page 688
S5PC110_UM 5 COMPACT FLASH CONTROLLER Register Address Description Reset Value ATA_PIO_LHR 0xE820_0068 Specifies the ATA PIO device LBA high 0x00000000 register ATA_PIO_DVR 0xE820_006C Specifies the ATA PIO device register 0x00000000 ATA_PIO_CSD 0xE820_0070 Specifies the ATA PIO device command/ 0x00000000 status register ATA_PIO_DAD 0xE820_0074 Specifies the ATA PIO device control/...
Page 689
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.11.1.1 ATA Control Register (ATA_CONTROL, R/W, Address = 0xE820_0000) ATA_CONTROL Description Initial State Reserved [31:2] Reserved clk_down_ready Status for clock down This bit is asserted in idle state if ATA_CONTROL bit [0] is zero. 0 = Not ready for clock down 1 = Ready for clock down ata_enable Enables ATA...
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.11.2 ATA COMMAND REGISTER (ATA_COMMAND, R/W, ADDRESS = 0XE820_0008) ATA_COMMAND Description Initial State Reserved [31:2] Reserved xfr_command [1:0] ATA transfer command Four command types (START, STOP, ABORT and CONTINUE) are supported for data transfer control. The “START”...
Page 691
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.11.2.1 ATA Software Reset (ATA_SWRST, R/W, Address = 0xE820_000C) ATA_SWRST Description Initial State Reserved [31:1] Reserved ata_swrst Software reset for the ATAPI host 0 = No reset 1 = Resets device registers and all registers of ATAPI host controller except CPU interface registers.
Page 693
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.11.2.4 ATA Configuration Register (ATA_CFG, R/W, Address = 0xE820_0018) ATA_CFG Description Initial State Reserved [31] Reserved (This field should be 0x1) Reserved [30:13] Reserved dma_mode [12] Determines whether DMA is normal DMA 0 = Normal DMA mode 1 = Reserved.
Page 694
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.11.2.5 ATA Multi_word DMA Timing (ATA_MDMA_TIME, R/W, Address = 0xE820_0028) ATA_MDMA_TIME Description Initial State Reserved [31:20] Reserved dma_teoc [19:12] DMA timing parameter, Teoc, end of cycle time 0x2C dma_t2 [11:4] DMA timing parameter, tD, DIOR/DIOWn pulse width 0x23 dma_t1 [3:0]...
Page 695
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.11.2.8 ATA Transfer Count Number (ATA_XFR_NUM, R/W, Address = 0xE820_0034) ATA_XFR_NUM Description Initial State xfr_num [31:1] Data transfer number. 0x00000000 To transfer 1-sector (512-byte), you should set 32’h1ff. Reserved Reserved 5.11.2.9 ATA Current Transfer Count (ATA_XFR_CNT, R, Address = 0xE820_0038) ATA_XFR_CNT Description Initial State...
Page 696
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.11.2.13 Size of Source Buffer (ATA_SBUF_SIZE, R/W, Address = 0xE820_0048) ATA_SBUF_SIZE Description Initial State src_buffer_size [31:5] Size of source buffer (32byte unit) 0x0000000 This should be set to “size_of_data_in_bytes – 1”. For example, to transfer 1-sector (512-byte, 32’h200), you should set 32’h1FF ( = 32’h200 –...
Page 697
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.11.2.19 ATA PIO Device LBA Low Register (ATA_PIO_LLR, R/W, Address = 0xE820_0060) ATA_PIO_LLR Description Initial State Reserved [31:8] Reserved pio_dev_llr [7:0] 8-bit PIO device LBA low (command block) register 0x00 5.11.2.20 ATA PIO Device LBA Middle Register (ATA_PIO_LMR, R/W, Address = 0xE820_0064) ATA_PIO_LMR Description Initial State...
Page 698
S5PC110_UM 5 COMPACT FLASH CONTROLLER 5.11.2.25 ATA PIO Data Ready Register (ATA_PIO_READY, R, Address = 0xE820_0078) ATA_PIO_READY Description Initial State Reserved [31:2] Reserved dev_acc_ready Indicates whether host can start access to device register 0 = Not ready to start access ATA device register 1 = Ready to start access ATA device register pio_data_ready Indicates whether data is valid in ATA_PIO_DATA...
6.1 OVERVIEW OF EXTERNAL BUS INTERFACE The External Bus Interface (EBI) is used as a peripheral in S5PC110. It relies on memory controller to release external requests for external bus when the memory controller is idle, since it has no knowledge of when memory access will begin or complete.
S5PC110_UM 6 EXTERNAL BUS INTERFACE 6.4 CLOCK SCHEME OF MEMORY CONTROLLERS AND EBI Figure 6-2 Clock Scheme of Memory Controllers and EBI NOTE: The OneNAND Clock selection register name in Section 2-3, “Clock Controller” is OneNAND_SEL (OneNAND_Async). The register address is 0xE010_0200 (CLK_SRC0[28]).
DMA CONTROLLER 1.1 OVERVIEW OF DMA CONTROLLER S5PC110 supports two Direct Memory Access (DMA) tops: one for Memory-to-Memory (M2M) transfer (DMA_mem) and other for Peripheral-to-memory transfer and vice-versa (DMA_peri). The M2M DMA top consists of PL330 and some logics. On the other hand, Peri DMA top consists of two PL330s (DMA0 and DMA1) and dma_map.
S5PC110_UM 1 DMA CONTROLLER 1.1.1 KEY FEATURES OF DMA CONTROLLER The key features of DMA Controller are listed below as reference for DMA and for writing DMA assembly code. Key Features DMA_mem DMA_peri Supports Data Size Up to double word (64-bit) Up to word (32-bit) Word transfer: Up to 8 burst Supports Burst Size...
Page 709
S5PC110_UM 1 DMA CONTROLLER Module DMA Request Category Service Module Reserved UART3_TX UART3_RX UART2_TX System UART2_RX UART1_TX UART1_RX UART0_TX UART0_RX Peri DMA0 Reserved Reserved Reserved Reserved Others SPDIF by only DMA0 Reserved AC_PCMout AC_PCMin AC_MICin SPI1_TX SPI1_RX SPI0_TX Audio and SPI SPI0_RX Reserved Reserved...
Page 710
S5PC110_UM 1 DMA CONTROLLER Module DMA Request Category Service Module UART2_RX UART1_TX UART1_RX UART0_TX UART0_RX DMA_mem Security by M2M DMA only When PDMA0 or PDMA1 are enabled, the CLK_GATE_IP2[8] at SYSCON must be set to 1. Caution:...
Most Special Function Registers (SFRs) are read-only. The main role of SFR is to check the PL330 status. There are many SFRs for PL330. In this section, only S5PC110-specific SFRs are explained. For more information, refer to Chapter 3, “PL330 TRM”.
Page 712
S5PC110_UM 1 DMA CONTROLLER Register Address Description Reset Value 0xFA20_0060- Reserved 0xFA20_00FC Channel Status Registers. For more information, refer to page 3-24 of “PL330 TRM”. 0xFA20_0100 Specifies the Channel Status for DMA Channel 0. 0xFA20_0108 Specifies the Channel Status for DMA Channel 1. 0xFA20_0110 Specifies the Channel Status for DMA Channel 2.
Page 713
S5PC110_UM 1 DMA CONTROLLER Register Address Description Reset Value DA_3 0xFA20_0464 Specifies the Destination Address for DMA Channel DA_4 0xFA20_0484 Specifies the Destination Address for DMA Channel DA_5 0xFA20_04A4 Specifies the Destination Address for DMA Channel DA_6 0xFA20_04C4 Specifies the Destination Address for DMA Channel DA_7 0xFA20_04E4 Specifies the Destination Address for DMA Channel...
Page 714
S5PC110_UM 1 DMA CONTROLLER Register Address Description Reset Value Reserved 0xFA20_0434- Reserved 0xFA20_043C Reserved 0xFA20_0454- Reserved 0xFA20_045C Reserved 0xFA20_0474- Reserved 0xFA20_047C Reserved 0xFA20_0494- Reserved 0xFA20_049C Reserved 0xFA20_04B4- Reserved 0xFA20_04BC Reserved 0xFA20_04D4- Reserved 0xFA20_04DC Reserved 0xFA20_04F4- Reserved 0xFA20_0CFC DBGSTATUS 0xFA20_0D00 Specifies the Debug Status Register. For more information, refer to page 3-37 of “PL330 TRM”.
Page 715
S5PC110_UM 1 DMA CONTROLLER Table 1-3 DMA_peri0 Register Summary Register Address Description Reset Value 0xE090_0000 Specifies the DMA Status Register. For more information, refer to page 3-11 of “PL330 TRM”. 0xE090_0004 Specifies the DMA Program Counter Register. For more information, refer to page 3-13 of “PL330 TRM”.
Page 716
S5PC110_UM 1 DMA CONTROLLER Register Address Description Reset Value 0xE090_0120 Specifies the Channel Status for DMA Channel 4. 0xE090_0128 Specifies the Channel Status for DMA Channel 5. 0xE090_0130 Specifies the Channel Status for DMA Channel 6. 0xE090_0138 Specifies the Channel Status for DMA Channel 7. Channel Program Counter Registers.
Page 717
S5PC110_UM 1 DMA CONTROLLER Register Address Description Reset Value DA_7 0xE090_04E4 Specifies the Destination Address for DMA Channel Channel Control Registers. For more information, refer to page 3-30 of “PL330 TRM”. CC_0 0xE090_0408 Specifies the Channel Control for DMA Channel 0. CC_1 0xE090_0428 Specifies the Channel Control for DMA Channel 1.
Page 718
S5PC110_UM 1 DMA CONTROLLER Register Address Description Reset Value Reserved 0xE090_04B4- Reserved 0xE090_04BC Reserved 0xE090_04D4- Reserved 0xE090_04DC Reserved 0xE090_04F4- Reserved 0xE090_0CFC DBGSTATUS 0xE090_0D00 Specifies the Debug Status Register on page 3-37 of “TRM”. DBGCMD 0xE090_0D04 Specifies the Debug Command Register. For more information, refer to page 3-37 of “PL330 TRM”.
Page 719
S5PC110_UM 1 DMA CONTROLLER Table 1-4 DMA_peri0 Register Summary Register Address Description Reset Value 0xE090_0000 Specifies the DMA Status Register. For more information, refer to page 3-11 of “PL330 TRM”. 0xE090_0004 Specifies the DMA Program Counter Register. For more information, refer to page 3-13 of “PL330 TRM”.
Page 720
S5PC110_UM 1 DMA CONTROLLER Register Address Description Reset Value 0xE090_0120 Specifies the Channel Status for DMA Channel 4. 0xE090_0128 Specifies the Channel Status for DMA Channel 5. 0xE090_0130 Specifies the Channel Status for DMA Channel 6. 0xE090_0138 Specifies the Channel Status for DMA Channel 7. Channel Program Counter Registers.
Page 721
S5PC110_UM 1 DMA CONTROLLER Register Address Description Reset Value DA_7 0xE090_04E4 Specifies the Destination Address for DMA Channel Channel Control Registers. For more information, refer to page 3-30 of “PL330 TRM”. CC_0 0xE090_0408 Specifies the Channel Control for DMA Channel 0. CC_1 0xE090_0428 Specifies the Channel Control for DMA Channel 1.
Page 722
S5PC110_UM 1 DMA CONTROLLER Register Address Description Reset Value Reserved 0xE090_04B4- Reserved 0xE090_04BC Reserved 0xE090_04D4- Reserved 0xE090_04DC Reserved 0xE090_04F4- Reserved 0xE090_0CFC DBGSTATUS 0xE090_0D00 Specifies the Debug Status Register on page 3-37 of “TRM”. DBGCMD 0xE090_0D04 Specifies the Debug Command Register. For more information, refer to page 3-37 of “PL330 TRM”.
Page 725
S5PC110_UM 1 DMA CONTROLLER 1.2.1.3 Configuration Register0 for DMA_PERI(0,1) (CR0, R) • CR0 for DMA_PERI0, R, Address = 0xE090_0E00 • CR0 for DMA_PERI1, R, Address = 0xE0A0_0E00 Description Initial State num_events [21:17] Specifies the number of interrupt outputs that the DMAC 0x1F provides.
Page 726
S5PC110_UM 1 DMA CONTROLLER 1.2.1.4 Configuration Register1 for DMA_PERI(0,1) (CR1, R) • CR1 for DMA_PERI0, R, Address = 0xE090_0E04 • CR1 for DMA_PERI1, R, Address = 0xE0A0_0E04 Description Initial State num_i-cache_lines [7:4] The read value is always 7. It means DMA_PERI(0,1) has 8 i- cache lines.
Page 727
S5PC110_UM 1 DMA CONTROLLER 1.2.1.7 Configuration Register4 for DMA_PERI(0,1) (CR4, R) • CR4 for DMA_PERI0, R, Address = 0xE090_0E10 • CR4 for DMA_PERI1, R, Address = 0xE0A0_0E10 Description Initial State [31:0] Specifies the security state of peripheral request interfaces. 0xFFFF_FFFF Bit [N] = 1: Assigns peripheral request interface N to non- secure state.
Page 728
S5PC110_UM 1 DMA CONTROLLER 1.2.1.9 Configuration Register0 for DMA_mem (CR0, R, Address = 0xFA20_0E00) Description Initial State num_events [21:17] Specifies the number of interrupt outputs that the DMAC 0x1F provides. b11111 = 32 interrupt outputs, irq[31:0] num_periph_req [16:12] Specifies the number of peripheral request interfaces that the DMAC provides.
Page 729
S5PC110_UM 1 DMA CONTROLLER 1.2.1.11 Configuration Register2 for DMA_MEM (CR2, R, Address = 0xFA20_0E08) Description Initial State boot_addr [31:0] Specifies the value of boot_addr[31:0] when DMAC exits from reset. 32’b0 1.2.1.12 Configuration Register3 for DMA_MEM (CR3, R, Address = 0xFA20_0E0C) Description Initial State [31:0]...
Page 730
S5PC110_UM 1 DMA CONTROLLER 1.2.1.14 Configuration Register DN for DMA_MEM (CRdn, R, Address = 0xFA20_0E14) CRDn Description Initial State data_buffer_dep [29:20] Specifies the number of lines that the data buffer contains. 0x1F b000011111 = 32 lines rd_q_dep [19:16] Specifies the depth of read queue. b0111 = 8 lines rd_cap [14:12] Specifies the read issuing capability that programs the number...
S5PC110_UM 1 DMA CONTROLLER 1.3 INSTRUCTION Table 1-5 Instruction Syntax Summary Thread usage: Mnemonic Instruction Description M = DMA manager C = DMA channel DMAADDH Add Halfword See DMAADDH on page 4-5 of “PL330 TRM”. DMAEND See DMAEND on page 4-5 of “PL330 TRM”. DMAFLUSHP Flush and notify See DMAFLUSHP on page 4-6 of “PL330...
S5PC110_UM 1 DMA CONTROLLER 1.3.1 KEY INSTRUCTION To run the channel thread, you must write assembly code. The description of key instruction is listed below. For full instruction set, refer to Chapter 4, “PL330 TRM”. 1.3.1.1 DMAMOV “Move” instructs the DMAC to move 32-bits immediately into Source Address REG (SAR), Destination Address REG (DAR), and Channel Control REG (CCR).
Page 733
S5PC110_UM 1 DMA CONTROLLER 1.3.1.2 DMALD, DMALDP “Load” instructs the DMAC to perform DMA load using AXI transactions specified by SAR and CCR. For example, if you define CCR as 32-bit and burst length as 2, the DMALD generates a bus transaction of 32-bit and burst length 2.
S5PC110_UM 1 DMA CONTROLLER 1.3.2 USAGE MODEL PL330 needs its own binary. The usage model is described as follows: 1. Load DMA binary into memory. 2. Use DMA debug SFRs to start DMA controller, PL330. − A. Using debug SFRs DBGCMD, DBGINST0, and DBGINST1 (all write-only) Before writing the above three SFRs, check whether DBGSTATUS is busy or not.
Page 735
S5PC110_UM 1 DMA CONTROLLER 1.3.2.1 Security Scheme DMA_mem runs in both secure and non-secure modes, while DMA_peri runs only in non-secure mode. 1. Channel thread − A. DMA_mem: Runs in both secure (ns bit at DMAGO instruction is 0) and non-secure (ns bit at DMAGO instruction is 1) modes.
Page 736
S5PC110_UM 1 DMA CONTROLLER 1.3.2.2 Interrupts DMAC provides IRQ signals for use as level sensitive interrupts to external CPUs. If you program the Interrupt Enable Register to generate an interrupt after DMAC executes DMASEV, it sets the corresponding IRQ as high. You can clear the interrupt by writing to the Interrupt Clear Register.
Page 738
Table of Contents Pulse Width Modulation Timer..............1-1 1.1 Overview of Pulse Width Modulation Timer..................... 1-1 1.2 Key Features of Pulse Width Modulation Timer ..................1-4 1.3 PWM Operation............................1-5 1.3.1 Prescaler and Divider ........................1-5 1.3.2 Basic Timer Operation........................1-5 1.3.3 Auto-reload and Double Buffering ....................
Page 739
4.1 Overview of Real Time Clock........................4-1 4.2 Key Features of Real Time Clock ......................4-1 4.2.1 Real Time Clock Operation Description ................... 4-2 4.3 Leap Year Generator ..........................4-3 4.4 Read / Write Register..........................4-4 4.4.1 Backup Battery Operation ........................ 4-4 4.5 Alarm Function ............................
Page 740
List of Figures Figure Title Page Number Number Figure 1-1 Simple Example of a PWM Cycle ..................... 1-2 Figure 1-2 PWM TIMER Clock Tree Diagram....................1-3 Figure 1-3 Timer Operations ..........................1-5 Figure 1-4 Example of Double Buffering Feature ....................1-7 Figure 1-5 Example of a Timer Operation......................
Page 741
List of Tables Table Title Page Number Number Table 1-1 Minimum and Maximum Resolution based on Prescaler and Clock Divider Values ......1-5 Table 1-1 Tick Interrupt Resolution ........................4-5...
1.1 OVERVIEW OF PULSE WIDTH MODULATION TIMER The S5PC110 has five 32-bit Pulse Width Modulation (PWM) timers. These timers generate internal interrupts for the ARM subsystem. In addition, Timers 0, 1, 2 and 3 include a PWM function, which drives an external I/O signal.
Page 743
S5PC110_UM 1 PULSE WIDTH MODULATION TIMER shows a simple example of a PWM cycle. Figure 1-1 TOUTn Figure 1-1 Simple Example of a PWM Cycle Steps in PWM cycle: • Initialize the TCNTBn register with 159(50+109) and TCMPBn with 109. •...
S5PC110_UM 1 PULSE WIDTH MODULATION TIMER 1.2 KEY FEATURES OF PULSE WIDTH MODULATION TIMER The Features supported by the PWM include: • Five 32-bit Timers. • Two 8-bit Clock Prescalers providing first level of division for the PCLK, and five Clock Dividers and Multiplexers providing second level of division for the Prescaler clock and SCLK_PWM Programmable Clock Select Logic for individual PWM Channels.
S5PC110_UM 1 PULSE WIDTH MODULATION TIMER 1.3 PWM OPERATION 1.3.1 PRESCALER AND DIVIDER An 8-bit prescaler and 3-bit divider generates the following output frequencies: Table 1-1 Minimum and Maximum Resolution based on Prescaler and Clock Divider Values 4-bit Divider Settings Minimum Resolution Maximum Resolution Maximum Interval...
Page 747
S5PC110_UM 1 PULSE WIDTH MODULATION TIMER To generate interrupt at intervals 3cycle of XpwmTOUTn, set TCNTBn, TCMPBn and TCON register as shown in Figure 1-3. Steps to generate interrupt: 1. Set TCNTBn=3 and TCMPBn=1. 2. Set auto-reload=1 and manual update=1. If manual update bit is 1, then TCNTBn and TCMPBn values are loaded to TCNTn and TCMPn.
S5PC110_UM 1 PULSE WIDTH MODULATION TIMER 1.3.3 AUTO-RELOAD AND DOUBLE BUFFERING The PWM Timers includes a double buffering feature, which changes the reload value for the next timer operation without stopping the current timer operation. The timer value is written into TCNTBn (Timer Count Buffer register) and the current counter value of the timer is read from TCNTOn (Timer Count Observation register).
S5PC110_UM 1 PULSE WIDTH MODULATION TIMER 1.3.4 TIMER OPERATION EXAMPLE Example of timer operation is shown in Figure 1-5. TOUTn Figure 1-5 Example of a Timer Operation Steps in timer operation: 1. Enable the auto-reload feature. Set the TCNTBn as 159(50+109) and TCMPBn as 109. Set the manual update bit on and set the manual update bit off.
S5PC110_UM 1 PULSE WIDTH MODULATION TIMER 1.3.5 INITIALIZE TIMER (SETTING MANUAL-UP DATA AND INVERTER) User must define the starting value of the TCNTn, because an auto-reload operation of the timer occurs when the down counter reaches to 0. In this case, the starting value must be loaded by manual update bit. The sequence to start a timer is as follows: 1.
S5PC110_UM 1 PULSE WIDTH MODULATION TIMER 1.3.7 OUTPUT LEVEL CONTROL Inverter off Inverter on Initial State Period 1 Period 2 Timer stop Figure 1-7 Inverter on/off Steps to maintain TOUT as high or low (Assume that inverter is off). 1. Turn off the auto-reload bit. Then, TOUTn goes to high level and the timer is stopped after TCNTn reaches to 0.
S5PC110_UM 1 PULSE WIDTH MODULATION TIMER 1.3.8 DEAD ZONE GENERATOR This feature inserts the time gap between a turn-off and turn-on of two different switching devices. This time gap prohibits the two switching device turning on simultaneously even for a very short time. TOUT_0 specifies the PWM output.
S5PC110_UM 1 PULSE WIDTH MODULATION TIMER 1.4 I/O DESCRIPTION Signal Description Type TOUT_0 Output PWMTIMER TOUT[0] XpwmTOUT[0] muxed TOUT_1 Output PWMTIMER TOUT[1] XpwmTOUT[1] muxed TOUT_2 Output PWMTIMER TOUT[2] XpwmTOUT[2] muxed TOUT_3 Output PWMTIMER TOUT[3] XpwmTOUT[3] muxed NOTE: Type field indicates whether pads are dedicated to the signal or pads are connected to the multiplexed signals. 1-12...
S5PC110_UM 2 SYSTEM TIMER SYSTEM TIMER 2.1 OVERVIEW OF SYSTEM TIMER System timer provides two distinctive features, namely: It provides 1ms time tick at any power mode except sleep mode. Changeable interrupt interval without stopping reference tick timer. Figure 2-1 Overall System Timer Block Diagram...
Two Separate Timers There are two separate system timers in S5PC110. The first timer is used for tick generation, while the other is used for interrupt generation. Two independent SFR sets and logic blocks are used for tick and interrupt region.
S5PC110_UM 2 SYSTEM TIMER 2.4 DETAILED OPERATION Figure 2-3 Timer Operation with Always on of Auto-reload Usually, the tick interval is fixed after initial setting and you can change the interrupt interval at run-time. Figure 2-3 shows the detailed operation of interrupt counter (INTCNT) and interrupt counter observation SFR (ICNTO) with auto-reload.
S5PC110_UM 2 SYSTEM TIMER 2.5 TICK GENERATION WITH FRACTIONAL DIVIDER System timer uses fractional divider to generate tick with any input clock. Especially, system timer can make approximate 1ms tick with RTC input clock (32.768 kHz). The output clock from fractional divider can have local frequency error. If local frequency error is not important for some applications, you can use that output clock with low-power consumption.
Page 765
S5PC110_UM 2 SYSTEM TIMER 2. 1ms with RTC clock Write TCFG[15] as 1 Write TICNTB as 15 and any value to TFCNTB. Then you can get approximate 1ms tick. Although this tick has local error (frequency of one tick is 0.993 kHz or 1.024kHz, they are not 1ms tick), after 125 ticks, it represents exact 125ms passed.
S5PC110_UM 2 SYSTEM TIMER 2.6 USAGE MODEL Follow the restrictions given below: • TCLKB must be equal to or slower than PCLK. • Set the count value as high as possible (To improve resolution). • TCFG and tick interval must not be changed at run-time. If you want to change them, stop timers, do TICK SW reset (TCFG[16]) in advance and then change.
S5PC110_UM 2 SYSTEM TIMER 2.6.4 START TIMER 1. Reset tick generation logic (by setting TCFG[16] as 1). And TCFG[16] is auto-cleared. 2. Set TCFG SFR to make appropriate TCLK. A. Select clock source. B. Set pre-scaler and divider value. 3. Set tick counter by writing appropriate values to TICNTB and TFCNTB (if you use fractional divider) SFR. 4.
3.1 OVERVIEW OF WATCHDOG TIMER The Watchdog Timer (WDT) in S5PC110 is a timing device that resumes the controller operation after malfunctioning due to noise and system errors. WDT can be used as a normal 16-bit interval timer to request interrupt service.
S5PC110_UM 3 WATCHDOG TIMER 3.3 FUNCTIONAL DESCRIPTION OF WATCHDOG TIMER 3.3.1 WATCHDOG TIMER OPERATION shows the functional block diagram of the watchdog timer. The watchdog timer uses PCLK as its Figure 3-1 source clock. The PCLK frequency is prescaled to generate the corresponding watchdog timer clock, and the resulting frequency is divided again.
3 WATCHDOG TIMER 3.3.4 CONSIDERATION OF DEBUGGING ENVIRONMENT The watchdog timer must not operate if the S5PC110 is in debug mode using Embedded ICE. The watchdog timer determines from the CPU core signal (DBGACK signal) whether it is currently in the debug mode.
Page 778
The WTCON register allows you to enable/ disable the watchdog timer, select the clock signal from four different sources, enable/ disable interrupts, and enable/ disable the watchdog timer output. The Watchdog timer is used to restart the S5PC110 to recover from mal-function; if controller restart is not desired, the Watchdog timer should be disabled.
Page 779
S5PC110_UM 3 WATCHDOG TIMER 3.4.1.2 Watchdog Timer Data Register (WTDAT, R/W, Address = 0xE270_0004) The WTDAT register specifies the time-out duration. The content of WTDAT cannot be automatically loaded into the timer counter at initial watchdog timer operation. However, using 0x8000 (initial value) drives the first time-out. In this case, the value of WTDAT is automatically reloaded into WTCNT.
S5PC110_UM 4 REAL TIME CLOCK (RTC) REAL TIME CLOCK (RTC) 4.1 OVERVIEW OF REAL TIME CLOCK The Real Time Clock (RTC) unit can operate using the backup battery while the system power is off. Although power is off, backup battery can store the time by Second, Minute, Hour, Day of the week, Day, Month, and Year data.
Page 781
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.2.1 REAL TIME CLOCK OPERATION DESCRIPTION Figure 4-1 Real Time Clock Block Diagram...
Page 782
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.3 LEAP YEAR GENERATOR The leap year generator determines the last day of each month out of 28, 29, 30, or 31. This is calculated based on the data from BCDDAY, BCDMON, and BCDYEAR. This block considers leap year while deciding on the last day of a month.
Page 783
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.4 READ / WRITE REGISTER To write the BCD register in RTC block, set the Bit 0 of the RTCCON register. To display the second, minute, hour, day of the week, day, month, and year, the CPU should read the data in BCDSEC, BCDMIN, BCDHOUR, BCDDAYWEEK, BCDDAY, BCDMON, and BCDYEAR registers, respectively, in the RTC block.
Page 784
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.6 TICK TIME INTERRUPT The RTC tick time is used for interrupt request. The TICNT register contains an interrupt enable bit and count value for the interrupt. If the count value reaches ‘0’ if the tick time interrupt occurs. Then the period of interrupt is as follows: •...
Page 785
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.7 32.768KHZ X-TAL CONNECTION EXAMPLE shows a circuit of the RTC unit oscillation at 32.768kHz. The capacitance 20pF of the load capacitor is Figure 4-2 an example value. It should be adjusted according to the crystal load capacitance. Figure 4-2 Main Oscillator Circuit Example 4.8 RTC START...
Page 786
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.9 I/O DESCRIPTION Signal Description Type XT_RTC_I Input 32.768 kHz RTC Oscillator Clock Input XrtcXTI Dedicated XT_RTC_O Output 32.768 kHz RTC Oscillator Clock Output XrtcXTO Dedicated XRTCCLKO Output 32.768 kHz RTC Clock Output (1.8 ~ 3.3V). XRTCCLKO Dedicated This signal is turned off by default.
Page 787
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.10 REGISTER DESCRIPTION 4.10.1 REGISTER MAP Register Address Description Reset Value INTP 0xE280_0030 Specifies the Interrupt Pending Register 0x00000000 RTCCON 0xE280_0040 Specifies the RTC Control Register 0x00000000 TICCNT 0xE280_0044 Specifies the Tick Time Count Register 0x00000000 RTCALM 0xE280_0050...
Page 788
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.10.1.1 Interrupt Pending Register (INTP, R/W, Address = 0xE280_0030) You can clear specific bits of INTP register by writing 1’s to the bits that you want to clear regardless of RTCEN value. INTP Description Initial State Reserved [31:2]...
Page 789
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.10.1.2 Real Time Clock Control Register (RTCCON, R/W, Address = 0xE280_0040) The RTCCON register consists of 10 bits such as the RTCEN, which controls the read/ write enable of the BCD SEL, CNTSEL, CLKRST, TICCKSEL and TICEN for testing, and CLKOUTEN for RTC clock output control. RTCEN bit controls all interfaces between the CPU and the RTC, therefore it should be set to 1 in an RTC control routine to enable data read/ write after a system reset.
Page 790
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.10.1.3 Tick Time Count Register (TICNT, R/W, Address = 0xE280_0044) TICNT Description Initial State TICK_TIME_C [31:0] 32-bit tick time count value. 32’b0 OUNT This value must not be 0. 4.10.1.4 RTC Alarm Control Register (RTCALM, R/W, Address = 0xE280_0050) The RTCALM register determines the alarm enable and the alarm time.
Page 791
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.10.1.5 Alarm Second Data Register (ALMSEC, R/W, Address = 0xE280_0054) ALMSEC Description Initial State Reserved [31:7] Reserved SECDATA [6:4] BCD value for alarm second. 0 ~ 5 [3:0] 0 ~ 9 0000 4.10.1.6 Alarm Min Data Register (ALMMIN, R/W, Address = 0xE280_0058) ALMMIN Description Initial State...
Page 792
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.10.1.9 ALARM Month Data Register (ALMMON, R/W, Address = 0xE280_0064) ALMMON Description Initial State Reserved [31:5] Reserved MONDATA BCD value for alarm month. 0 ~ 1 [3:0] 0 ~ 9 0000 4.10.1.10 ALARM Year Data Register (ALMYEAR, R/W, Address = 0xE280_0068) ALMYEAR Description Initial State...
Page 793
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.10.1.13 BCD Hour Register (BCDHOUR, R/W, Address = 0xE280_0078) BCDHOUR Description Initial State Reserved [31:6] Reserved HOURDATA [5:4] BCD value for hour. 0 ~ 2 [3:0] 0 ~ 9 4.10.1.14 BCD Day Register (BCDDAY R/W, Address = 0xE280_007C) BCDDAY Description Initial State...
Page 794
S5PC110_UM 4 REAL TIME CLOCK (RTC) 4.10.1.17 BCD Year Register (BCDYEAR, R/W, Address = 0xE280_0088) BCDYEAR Description Initial State Reserved [31:8] Reserved YEARDATA [11:8] BCD value for year. 0 ~ 9 [7:4] 0 ~ 9 [3:0] 0 ~ 9 4.10.1.18 Tick Counter Register (CURTICCNT, R, Address = 0xE280_0090) CURTICCNT Description Initial State...
Page 796
Table of Contents Universal Asynchronous Receiver and Transmitter .......1-1 1.1 Overview of Universal Asynchronous Receiver and Transmitter ............1-1 1.2 KEY Features of Universal Asynchronous Receiver and Transmitter ............. 1-1 1.3 UART Description ............................ 1-3 1.3.1 Data Transmission..........................1-3 1.3.2 Data Reception ..........................1-3 1.3.3 Auto Flow Control (AFC) ........................
Page 797
4.3.1 Register Map ............................ 4-4 4.3.2 Implemented Specific Registers ....................... 4-6 USB2.0 HS OTG ..................5-1 5.1 Overview of USB2.0 HS OTG........................5-1 5.2 Key Features of USB2.0 HS OTG ......................5-1 5.3 Block Diagram of USB2.0 HS OTG ......................5-2 5.4 Modes of Operation ..........................
Page 798
7.4.5 SD Bus Power Control Sequence ....................7-7 7.4.6 Change Bus Width Sequence ......................7-8 7.4.7 Timeout Setting for DAT Line ......................7-9 7.4.8 SD Transaction Generation ......................7-10 7.4.9 SD Command Issue Sequence ...................... 7-11 7.4.10 Command Complete Sequence ....................7-13 7.4.11 Transaction Control with Data Transfer Using DAT Line .............
Page 799
7.10.27 HOST Controller Version Register ..................... 7-93 Transport Stream Interface ...............8-1 8.1 Overview of Transport Stream Interface....................8-1 8.1.1 Key Features of Transport Stream Interface ..................8-1 8.1.2 Broadcast Mode..........................8-2 8.1.3 Block Diagram of TS Interface......................8-4 8.1.4 I/O Description of TSI ........................8-5 8.1.5 Functional Description ........................
Page 800
List of Figures Figure Title Page Number Number Figure 1-1 Block Diagram of UART........................1-2 Figure 1-2 UART AFC Interface......................... 1-4 Figure 1-3 UART Receives the Five Characters Including Two Errors ............. 1-7 Figure 1-4 IrDA Function Block Diagram ......................1-8 Figure 1-5 Serial I/O Frame Timing Diagram (Normal UART) ................
Page 801
Figure 7-9 Timeout Setting Sequence ......................7-11 Figure 7-10 Command Complete Sequence ..................... 7-14 Figure 7-11 Transaction Control with Data Transfer Using DAT Line Sequence (Not using DMA ) ....7-16 Figure 7-12 Transaction Control with Data Transfer Using DAT Line Sequence (Using DMA) ......7-18 Figure 7-13 Block Diagram of ADMA.........................
Page 802
List of Tables Table Title Page Number Number Table 1-1 Interrupts in Connection with FIFO ....................1-6 Table 6-1 Interrupt Request and Clear Conditions .................... 6-2 Table 6-2 Modem Interface Write Timing (Standard Mode)................6-4 Table 6-3 Modem Interface Read Timing (Standard Mode) ................6-5 Table 6-4 Modem Interface Write Timing (Address Muxed mode) ..............
TRANSMITTER 1.1 OVERVIEW OF UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER The Universal Asynchronous Receiver and Transmitter (UART) in S5PC110 provide four independent asynchronous, and serial input/output (I/O) ports. All the ports operate in an interrupt-based or a DMA-based mode. The UART generates an interrupt or a DMA request to transfer data to and from the CPU and the UART.
1.3.3 AUTO FLOW CONTROL (AFC) The UART0 and UART1 in S5PC110 support auto flow control (AFC) using nRTS and nCTS signals. UART2 supports auto flow control if TxD3 and RxD3 are set as nRTS2 and nCTS2 by GPA1CON(GPIO SFR). In this case, it can be connected to external UARTs.
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER Transmission case in Reception case in UART A UART A UART A UART B UART A UART B nCTS nRTS nRTS nCTS Figure 1-2 UART AFC Interface 1.3.4 EXAMPLE OF NON AUTO-FLOW CONTROL (CONTROLLING NRTS AND NCTS BY SOFTWARE) 1.3.4.1 Rx Operation with FIFO 1.
Tx buffer. It is recommended to fill the Tx buffer first and then enable the Tx interrupt. The interrupt controllers of S5PC110 are of the level-triggered type. You must set the interrupt type as ‘Level’ if you program the UART control registers.
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER Table 1-1 Interrupts in Connection with FIFO Type FIFO Mode Non-FIFO Mode Rx interrupt Generated if Rx FIFO count is greater than or equal Generated by receive holding register to the trigger level of received FIFO. whenever receive buffer becomes full.
Page 809
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER Rx FIFO Error Status FIFO break error parity error frame error URXHn UERSTATn Error Status Generator Unit Figure 1-3 UART Receives the Five Characters Including Two Errors...
Page 810
1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.3.8.1 Infra-Red (IR) Mode The S5PC110 UART block supports both infra-red (IR) transmission and reception. It is selected by setting the Infra-red-mode bit in the UART line control register (ULCONn). illustrates how to implement the IR Figure 1-4 mode.
Page 811
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER IR Transmit Frame Data Bits Start Stop Pulse Width = 3/16 Bit Frame Time Figure 1-6 Infra-Red Transmit Mode Frame Timing Diagram IR Receive Frame Data Bits Start Stop Figure 1-7 Infra-Red Receive Mode Frame Timing Diagram...
1.4 UART INPUT CLOCK DIAGRAM DESCRIPTION Figure 1-8 Input Clock Diagram for UART S5PC110 provides UART with a variety of clocks. As described in the 1-8, the UART is able to select Figure clocks from PCLK, or SCLK_UART, which is from clock controller. You can also select SCLK_UART from PLLs.
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.5 I/O DESCRIPTION Signal Description Type UART_0_RXD Input Receives Data for UART0 XuRXD[0] muxed UART_0_TXD Output Transmits Data for UART0 XuTXD[0] muxed UART_0_CTSn Input Clears to Send(active low) for UART0 XuCTSn[0] muxed UART_0_RTSn Output Requests to Send(active low) for UART0 XuRTSn[0]...
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.6 REGISTER DESCRIPTION 1.6.1 REGISTER MAP Register Address Description Reset Value ULCON0 0xE290_0000 Specifies the UART Channel 0 Line Control 0x00000000 Register UCON0 0xE290_0004 Specifies the UART Channel 0 Control Register 0x00000000 UFCON0 0xE290_0008 Specifies the UART Channel 0 FIFO Control 0x00000000...
Page 815
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER Register Address Description Reset Value Register UFSTAT1 0xE290_0418 Specifies the UART Channel 1 FIFO Status 0x00000000 Register UMSTAT1 0xE290_041C Specifies the UART Channel 1 Modem Status 0x00000000 Register UTXH1 0xE290_0420 Specifies the UART Channel 1 Transmit Buffer Register URXH1 0xE290_0424...
Page 816
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER Register Address Description Reset Value Register UINTSP2 0xE290_0834 Specifies the UART Channel 2 Interrupt Source 0x00000000 Pending Register UINTM2 0xE290_0838 Specifies the UART Channel 2 Interrupt Mask 0x00000000 Register ULCON3 0xE290_0C00 Specifies the UART Channel 3 Line Control 0x00000000 Register UCON3...
Page 817
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.6.1.1 UART Line Control Register • ULCON0, R/W, Address = 0xE290_0000 • ULCON1, R/W, Address = 0xE290_0400 • ULCON2, R/W, Address = 0xE290_0800 • ULCON3, R/W, Address = 0xE290_0C00 There are four UART line control registers in the UART block, namely, ULCON0, ULCON1, ULCON2, and ULCON3.
Page 818
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.6.1.2 UART Control Register • UCON0, R/W, Address = 0xE290_0004 • UCON1, R/W, Address = 0xE290_0404 • UCON2, R/W, Address = 0xE290_0804 • UCON3, R/W, Address = 0xE290_0C04 There are four UART control registers in the UART block, namely, UCON0, UCON1, UCON2 and UCON3. UCONn Description Initial State...
Page 819
1.6.1.12 UART Channel Dividing Slot Register S5PC110 use a level-triggered interrupt controller. Therefore, these bits must be set to 1 for every transfer. If the UART does not reach the FIFO trigger level and does not receive data during 3 word time in DMA receive mode with FIFO, the Rx interrupt is generated (receive time out).
Page 820
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.6.1.3 UART FIFO Control Register • UFCON0, R/W, Address = 0xE290_0008 • UFCON1, R/W, Address = 0xE290_0408 • UFCON2, R/W, Address = 0xE290_0808 • UFCON3, R/W, Address = 0xE290_0C08 There are four UART FIFO control registers in the UART block, namely, UFCON0, UFCON1, UFCON2 and UFCON3.
Page 822
1 = 'L' level (Activate nRTS) NOTE: UART 2 supports AFC function, if nRxD3 and nTxD3 are set as nRTS2 and nCTS2 by GPA1CON. UART 3 does not support AFC function, because the S5PC110 has no nRTS3 and nCTS3. 1-20...
Page 823
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.6.1.5 UART Tx/Rx Status Register • UTRSTAT0, R, Address = 0xE290_0010 • UTRSTAT1, R, Address = 0xE290_0410 • UTRSTAT2, R, Address = 0xE290_0810 • UTRSTAT3, R, Address = 0xE290_0C10 There are four UART Tx/Rx status registers in the UART block, namely, UTRSTAT0, UTRSTAT1, UTRSTAT2 and UTRSTAT3.
Page 824
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.6.1.6 UART Error Status Register • UERSTAT0, R, Address = 0xE290_0014 • UERSTAT1, R, Address = 0xE290_0414 • UERSTAT2, R, Address = 0xE290_0814 • UERSTAT3, R, Address = 0xE290_0C14 There are four UART Rx error status registers in the UART block, namely, UERSTAT0, UERSTAT1, UERSTAT2 and UERSTAT3.
Page 825
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.6.1.7 Uart FIFO Status Register • UFSTAT0, R, Address = 0xE290_0018 • UFSTAT1, R, Address = 0xE290_0418 • UFSTAT2, R, Address = 0xE290_0818 UFSTAT3, R, Address = 0xE290_0C18 There are four UART FIFO status registers in the UART block, namely, UFSTAT0, UFSTAT1, UFSTAT2 and UFSTAT3 UFSTATn Description...
Page 826
Initial State Reserved [31:5] Reserved Delta CTS This bit indicates that the nCTS input to the S5PC110 has changed its state since the last time it was read by CPU. (Refer Figure 1-9) 0 = Has not changed 1 = Has changed...
Page 827
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.6.1.9 UART Transmit Buffer Register (Holding Register & FIFO Register) • UTXH0, W, Address = 0xE290_0020 • UTXH1, W, Address = 0xE290_0420 • UTXH2, W, Address = 0xE290_0820 • UTXH3, W, Address = 0xE290_0C20 There are four UART transmit buffer registers in the UART block, namely, UTXH0, UTXH1, UTXH2 and UTXH3.
Page 830
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER It is recommended to select UDIVSLOTn as described in the following table: Num of 1’s UDIVSLOTn Num of 1’s UDIVSLOTn 0x0000(0000_0000_0000_0000b) 0x5555(0101_0101_0101_0101b) 0x0080(0000_0000_0000_1000b) 0xD555(1101_0101_0101_0101b) 0x0808(0000_1000_0000_1000b) 0xD5D5(1101_0101_1101_0101b) 0x0888(0000_1000_1000_1000b) 0xDDD5(1101_1101_1101_0101b) 0x2222(0010_0010_0010_0010b) 0xDDDD(1101_1101_1101_1101b) 0x4924(0100_1001_0010_0100b) 0xDFDD(1101_1111_1101_1101b) 0x4A52(0100_1010_0101_0010b) 0xDFDF(1101_1111_1101_1111b) 0x54AA(0101_0100_1010_1010b) 0xFFDF(1111_1111_1101_1111b)
Page 831
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.6.1.13 UART Interrupt Pending Register • UINTP0, R/W, Address = 0xE290_0030 • UINTP1, R/W, Address = 0xE290_0430 • UINTP2, R/W, Address = 0xE290_0830 • UINTP3, R/W, Address = 0xE290_0C30 Interrupt pending register contains the information of the interrupts that are generated. UINTPn Description Initial State...
Page 832
S5PC110_UM 1 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER 1.6.1.15 UART Interrupt Mask Register • UINTM0, R/W, Address = 0xE290_0038 • UINTM1, R/W, Address = 0xE290_0438 • UINTM2, R/W, Address = 0xE290_0838 • UINTM3, R/W, Address = 0xE290_0C38 Interrupt mask register contains the information about which interrupt source is masked. If a specific bit is set to 1, interrupt request signal to the Interrupt Controller is not generated even though corresponding interrupt is generated.
Serial Clock Line (SCL) is used. Both SDA and SCL lines are bi-directional. In multi-master I C-bus mode, multiple S5PC110 RISC microprocessors receive or transmit serial data to or from slave devices. The master S5PC110 initiates and terminates a data transfer over the I C bus.
S5PC110_UM 2 IIC-BUS INTERFACE 2.3 I C-BUS INTERFACE OPERATION The S5PC110 I C-bus interface has four operation modes, namely: • Master Transmitter Mode • Master Receive Mode • Slave Transmitter Mode • Slave Receive Mode The functional relationships among these operating modes are described below.
S5PC110_UM 2 IIC-BUS INTERFACE 2.3.2 DATA TRANSFER FORMAT Every byte placed on the SDA line should be eight bits in length. There is no limit to transmit bytes per transfer. The first byte following a Start condition should have the address field. If the I C-bus is operating in Master mode, master transmits the address field.
S5PC110_UM 2 IIC-BUS INTERFACE 2.3.3 ACK SIGNAL TRANSMISSION To complete a one-byte transfer operation, the receiver sends an ACK bit to the transmitter. The ACK pulse occurs at the ninth clock of the SCL line. Eight clocks are required for the one-byte data transfer. The master generates clock pulse required to transmit the ACK bit.
C-bus interface waits until I2CDS register is read. Before the new data is read out, the SCL line is held low. The line is only released after the data has been read. S5PC110 holds the interrupt to identify the completion of new data reception. After the CPU receives the interrupt request, it reads the data from the I2CDS register.
S5PC110_UM 2 IIC-BUS INTERFACE 2.3.8 FLOWCHARTS OF OPERATIONS IN EACH MODE Following steps must be executed before any I C Tx/Rx operations: 1. If required, write own slave address on I2CADD register. 2. Set I2CCON register. a) Enable interrupt b) Define SCL period 3.
Page 840
S5PC110_UM 2 IIC-BUS INTERFACE START Master Rx mode has been configured. Write slave address to I2CDS. Write 0xB0 (M/R Start) to I2CSTAT. The data of the I2CDS (slave address) is transmitted. After ACK period interrupt is pending. Stop? Read a new data from Write 0x90 (M/R Stop) I2CDS.
Page 841
S5PC110_UM 2 IIC-BUS INTERFACE START Slave Tx mode has been configured. I2C detects start signal. and, I2CDS receives data. I2C compares I2CADD and I2CDS (the received slave address). Matched? The I2C address match interrupt is generated. Write data to I2CDS. Clear pending bit to resume.
Page 842
S5PC110_UM 2 IIC-BUS INTERFACE START Slave Rx mode has been configured. I2C detects start signal. and, I2CDS receives data. I2C compares I2CADD and I2CDS (the received slave address). Matched? The I2C address match interrupt is generated. Read data from I2CDS. Clear pending bit to resume.
S5PC110_UM 2 IIC-BUS INTERFACE 2.4 I/O DESCRIPTION Signal Description Type I2C0_SCL Input/Output I Xi2c0SCL muxed C-Bus Interface0 Serial Clock Line I2C0_SDA Input/Output I Xi2c0SDA muxed C-Bus Interface0 Serial Data Line I2C2_SCL Input/Output I Xi2c2SCL muxed C-BUS Interface2 Serial Clock Line I2C2_SDA Input/Output I Xi2c2SDA...
3.1 OVERVIEW OF SERIAL PERIPHERAL INTERFACE The Serial Peripheral Interface (SPI) in S5PC110 transfers serial data using various peripherals. SPI includes two 8, 16, 32-bit shift registers to transmit and receive data. During an SPI transfer, data is simultaneously transmitted (shifted out serially) and received (shifted in serially).
3.2.1 OPERATION OF SERIAL PERIPHERAL INTERFACE The SPI transfers 1-bit serial data between S5PC110 and external device. The SPI in S5PC110 supports the CPU or DMA to transmit or receive FIFOs separately and to transfer data in both directions simultaneously. SPI has two channels, TX channel and RX channel.
Page 851
SPICLK. If SPI runs at high operating frequency such as 50MHz, it is difficult to capture the MISO input because the required arrival time of MISO, which is an half cycle period in S5PC110, is shorter than the arrival time of MISO that consists of SPICLK output delay of SPI master, MISO output delay of SPI slave, and MISO input delay of SPI master.
Page 852
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE 3.2.1.8 SPI Transfer Format The S5PC110 supports four different formats for data transfer. describes four waveforms for SPICLK. Figure 3-1 CPOL = 0, CPHA = 0 (Format A) Cycle SPICLK MOSI MISO *MSB *MSB : MSB of previous frame...
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE 3.3 IO DESCRIPTION The following table lists the external signals between the SPI and external device. The unused SPI ports are used as General Purpose I/O ports. Refer to “General Purpose I/O” chapter for more information. Signal Description Type...
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE 3.4 REGISTER DESCRIPTION 3.4.1 REGISTER MAP Register Address Description Reset Value CH_CFG0 0xE1300000 Specifies the SPI Port 0 Configuration Register CLK_CFG0 0xE1300004 Specifies the SPI Port 0 Clock Configuration Register MODE_CFG0 0xE1300008 Specifies the SPI Port 0 FIFO Control Register CS_REG0 0xE130000C...
Page 855
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE Register Address Description Reset Value SWAP_CFG1 0xE1400028 Specifies the SPI Port 1 Swap Config Register FB_CLK_SEL1 0xE140002C Specifies the SPI Port 1 Feedback Clock Selection Register...
Page 856
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE 3.4.1.1 Setting Sequence of Special Function Register Steps to set Special Function Register (nCS manual mode): 1. Set Transfer Type. (CPOL & CPHA set) 2. Set Feedback Clock Selection register. 3. Set Clock configuration register. 4.
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE 3.4.2 SPECIAL FUNCTION REGISTER 3.4.2.1 SPI Configuration Register • CH_CFG0, R/W, Address = 0xE130_0000 • CH_CFG1, R/W, Address = 0xE140_0000 CH_CFGn Description Initial State HIGH_SPEED_EN Slave TX output time control bit. If this bit is enabled, slave TX output time is reduced as much as half period of SPICLKout period.
Page 859
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE 3.4.2.3 SPI FIFO Control Register • MODE_CFG0, R/W, Address = 0xE130_0008 • MODE_CFG1, R/W, Address = 0xE140_0008 MODE_CFGn Description Initial State CH_WIDTH [30:29] 00 = Byte 01 = Halfword 10 = Word 11 = Reserved TRAILING_CNT [28:19] Count value from writing the last data in RX FIFO to flush trailing bytes in FIFO...
Page 860
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE 3.4.2.4 Slave Selection Signal Control Signal • CS_REG0, R/W, Address = 0xE130_000C • CS_REG1, R/W, Address = 0xE140_000C CS_REGn Description Initial State NCS_TIME_COUNT [9:4] NSSOUT inactive time = ((nCS_time_count+3)/2) x SPICLKout Reserved [3:2] Reserved AUTO_N_MANUAL Chip select toggle manual or auto selection 0 = Manual 1 = Auto...
Page 861
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE 3.4.2.5 SPI Interrupt Enable Register • SPI_INT_EN0, R/W, Address = 0xE130_0010 • SPI_INT_EN1, R/W, Address = 0xE140_0010 SPI_INT_ENn Description Initial State INT_EN_TRAILING Interrupt Enable for trailing count to be 0 0 = Disables 1 = Enables INT_EN_RX_OVERRUN Interrupt Enable for RxOverrun 0 = Disables...
Page 862
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE 3.4.2.6 SPI Status Register • SPI_STATUS0, R, Address = 0xE130_0014 • SPI_STATUS1, R, Address = 0xE140_0014 SPI_STATUSn Description Initial State TX_DONE [25] Indication of transfer done in Shift register(master mode only) 0 = All case except blow case 1 = If Tx FIFO and shift register are empty TRAILING_BYTE [24]...
Page 863
S5PC110_UM 3 SERIAL PERIPHERAL INTERFACE 3.4.2.7 SPI TX Data Register • SPI_TX_DATA, W, Address = 0xE130_0018 • SPI_TX_DATA, W, Address = 0xE140_0018 SPI_TX_DATAn Description Initial State TX_DATA [31:0] This field contains the data to be transmitted over the SPI channel. 3.4.2.8 SPI RX Data Register •...
USB 2.0 HOST CONTROLLER 4.1 OVERVIEW OF USB 2.0 HOST CONTROLLER S5PC110 supports a single port USB host interface. The key features of this interface include: • Complies with Enhanced HCI (EHCI) Rev 1.0a and Open HCI (OHCI) Rev1.0 specifications (Both EHCI and OHCI compatible).
S5PC110_UM 4 USB 2.0 HOST CONTROLLER 4.2 BLOCK DIAGRAM OF USB SYSTEM AND USB 2.0 HOST CONTROLLER USB HOST 2.0 controller is composed of two independent blocks, namely, USB HOST 2.0 controller and USB PHY Controller. Each of these blocks has an AHB Slave interface that provides the microcontroller with read and write access to the Control and Status Registers (CSRs).
Page 869
S5PC110_UM 4 USB 2.0 HOST CONTROLLER USB 2.0 Host Controller USB 2.0 EHCI Host Controller EHCI Generation Operation Register XuhostDP XuhostDM PHY1 Root Hub Master/Slave List Porcessor Interfac Packet Buffer USB 1.1 OHCI Host Controller Figure 4-2 USB 2.0 Host Controller Block Diagram...
S5PC110_UM 4 USB 2.0 HOST CONTROLLER 4.3 REGISTER DESCRIPTION 4.3.1 REGISTER MAP The USB host controller in S5PC110X complies with both EHCI Rev 1.0a and OHCI Rev 1.0 specification. For more information, Refer to EHCI 1.0a and OHCI 1.0 specification. Register Address Description...
Page 871
S5PC110_UM 4 USB 2.0 HOST CONTROLLER Register Address Description Reset Value HcControl 0xEC30_0004 Specifies the USB Host Controller Control 0x0000_0000 Register. HcCommonStatus 0xEC30_0008 Specifies the USB Host Controller 0x0000_0000 Command Status Register. HcInterruptStatus 0xEC30_000C Specifies the USB Host Controller 0x0000_0000 Interrupt Status Register.
Page 872
S5PC110_UM 4 USB 2.0 HOST CONTROLLER 4.3.2 IMPLEMENTED SPECIFIC REGISTERS Specific registers allow you to program configurable registers such as the Packet Buffer Depth, Break Memory Transfer, Frame Length, and UTMI Control and Status Registers Access. 4.3.2.1 Programmable Microframe Base Value (INSNREG00, R/W, Address = 0xEC20_0090) INSNREG00 Description Initial State...
Page 873
S5PC110_UM 4 USB 2.0 HOST CONTROLLER INSNREG00 Description Initial State Writing 1’b1 enables the microframe length value field of this register. 4.3.2.2 Programmable Packet Buffer OUT/IN Thresholds (INSNREG01, R/W, Address = 0xEC20_0094) INSNREG01 Description Initial State [31:0] [31:16] OUT Threshold 0x00400040 [15:0] IN Threshold Specifies the number of DWORDs (32-bit entries).
Page 874
S5PC110_UM 4 USB 2.0 HOST CONTROLLER 4.3.2.3 Programmable Packet Buffer Depth (INSNREG02, R/W, Address = 0xEC20_0098) INSNREG02 Description Initial State [31:0] Specifies the number of DWORDs (32-bit entries). 0x00000100 4.3.2.4 Break Memory Transfer (INSNREG03, R/W, Address = 0xEC20_009C) INSNREG03 Description Initial State Reserved [31:13] -...
Page 875
S5PC110_UM 4 USB 2.0 HOST CONTROLLER 4.3.2.5 Used for Debug Only (INSNREG04, R/W, Address = 0xEC20_00A0) INSNREG04 Description Initial State Reserved [31:6] 0x00000000 Used only for debug purposes. 1'b0 = by default, the automatic feature is enabled. The • Suspend signal is deasserted when run/stop is reset by software, but the hchalted bit is not yet set.
Page 876
S5PC110_UM 4 USB 2.0 HOST CONTROLLER 4.3.2.6 UTMI Configuration (INSNREG05, R/W, Address = 0xEC20_00A4) INSNREG05 Description Initial State Reserved [31:18] - 0x00001000 [17] Specifies VBusy (Software RO). The hardware indicates that a write to this register has occurred and the hardware is processing the operation defined by the data written.
Page 877
USB2.0 HS OTG 5.1 OVERVIEW OF USB2.0 HS OTG Samsung USB On-The-Go (OTG) is a Dual-Role Device (DRD) controller, which supports both device and host functions. It is fully compliant with the On-The-Go Supplement to the USB 2.0 Specification, Revision 1.0a. It supports high-speed (HS, 480-Mbps), full-speed (FS, 12-Mbps), and low-speed (LS, 1.5-Mbps, Host only)
Page 878
S5PC110_UM 5 USB2.0 HS OTG 5.3 BLOCK DIAGRAM OF USB2.0 HS OTG Figure 5-1 System Level Block Diagram USB HS OTG controller is composed of two independent blocks, namely, USB 2.0 OTG and USB PHY Controller. Each of these blocks has an AHB Slave interface that provides the microcontroller with read and write access to the Control and Status Registers (CSRs).
S5PC110_UM 5 USB2.0 HS OTG 5.4 MODES OF OPERATION The end user application operates the Link in either DMA or Slave mode. It cannot operate the USB OTG controller using DMA and Slave modes simultaneously. 5.4.1 DMA MODE USB OTG host uses the AHB Master interface to transmit packet data to be fetched (AHB to USB) and receive data update (USB to AHB).
Page 880
S5PC110_UM 5 USB2.0 HS OTG 5.5 POWER MANAGEMENT UNIT SETTING A register in Power Management Unit has to be set for USB to work appropriately. For more information, refer to Power Management Unit. USB_CONTROL Description Initial State ENABLE 1 Enables USB PHY1 1'b0 0 = Disables 1 = Enables...
Page 881
S5PC110_UM 5 USB2.0 HS OTG 5.6 REGISTER MAP 5.6.1 OVERVIEW OF REGISTER MAP To control and observe the OTG PHY, access the USB PHY control registers based on the address EC10_0000h. The OTG Link Core registers is based on the address EC00_0000h, which is classified as follows: •...
Page 882
S5PC110_UM 5 USB2.0 HS OTG 5.6.2 OTG LINK CSR MEMORY MAP shows the OTG link CSR address map. Host and Device mode registers occupy different addresses. Figure 5-2 All registers are implemented in the AHB Clock domain. OTG LINK BASE + 000h Core Global CSRs OTG LINK BASE + 0400h Host Mode CSRs...
Page 884
S5PC110_UM 5 USB2.0 HS OTG shows the OTG FIFO Address Mapping. The following registers must be programmed as follows; Figure 5-3 In Host Mode • RXFSIZ[31:16] = OTG_RX_DFIFO_DEPTH • NPTXFSIZ[15:0] = OTG_RX_DFIFO_DEPTH • NPTXFSIZ[31:16] = OTG_TX_HNPERIO_DFIFO_DEPTH • HPTXFSIZ[15:0] = OTG_RX_DFIFO_DEPTH + OTG_TX_HNPERIO_DFIFO_DEPTH •...
Page 885
S5PC110_UM 5 USB2.0 HS OTG 5.6.4 APPLICATION ACCESS TO THE CSRS The Access column of each register description that follows specifies how the application and the core access the register fields of the CSRs. The following conventions are used. Read Only The application has permission to read the Register field.
Page 886
S5PC110_UM 5 USB2.0 HS OTG 5.7 I/O DESCRIPTION Signal Description Type XuotgDP Input/ Output Data Plus Signal from the USB Cable XuotgDP Dedicated XuotgDM Input/ Output Data Minus Signal from the USB Cable XuotgDM Dedicated XusbXTI Input Crystal Oscillator XI XusbXTI Dedicated XusbXTO...
Page 887
S5PC110_UM 5 USB2.0 HS OTG 5.8 REGISTER DESCRIPTION 5.8.1 REGISTER MAP Table 5-1 Register Summary of HS USB PHY Controller Register Address Description Reset Value USB PHY Control Registers UPHYPWR 0xEC10_0000 R/W Specifies the USB PHY Power Control Register 0x0000_01F9 UPHYCLK 0xEC10_0004 R/W Specifies the USB PHY Clock Control Register...
Page 888
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value Size Register DIEPTXF7 0xEC00_011C R/W Specifies the Device IN Endpoint Transmit FIFO-7 0x0300_3400 Size Register DIEPTXF8 0xEC00_0120 R/W Specifies the Device IN Endpoint Transmit FIFO-8 0x0300_3700 Size Register DIEPTXF9 0xEC00_0124 R/W Specifies the Device IN Endpoint Transmit FIFO-9 0x0300_3A00 Size Register...
Page 889
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value Register HCCHAR1 0xEC00_0520 R/W Specifies the Host Channel 1 Characteristics 0x0000_0000 Register HCSPLT1 0xEC00_0524 R/W Specifies the Host Channel 1 Spilt Control Register 0x0000_0000 HCINT1 0xEC00_0528 R/W Specifies the Host Channel 1 Interrupt Register 0x0000_0000 HCINTMSK1 0xEC00_052C...
Page 890
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value HCCHAR5 0xEC00_05A0 R/W Specifies the Host Channel 5 Characteristics 0x0000_0000 Register HCSPLT5 0xEC00_05A4 R/W Specifies the Host Channel 5 Spilt Control Register 0x0000_0000 HCINT5 0xEC00_05A8 R/W Specifies the Host Channel 5 Interrupt Register 0x0000_0000 HCINTMSK5 0xEC00_05AC...
Page 891
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value Register HCSPLT9 0xEC00_0624 R/W Specifies the Host Channel 9 Spilt Control Register 0x0000_0000 HCINT9 0xEC00_0628 R/W Specifies the Host Channel 9 Interrupt Register 0x0000_0000 HCINTMSK9 0xEC00_062C R/W Specifies the Host Channel 9 Interrupt Mask 0x0000_0000 Register HCTSIZ9...
Page 892
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value HCCHAR13 0xEC00_06A0 R/W Specifies the Host Channel 13 Characteristics 0x0000_0000 Register HCSPLT13 0xEC00_06A4 R/W Specifies the Host Channel 13 Spilt Control 0x0000_0000 Register HCINT13 0xEC00_06A8 R/W Specifies the Host Channel 13 Interrupt Register 0x0000_0000 HCINTMSK13 0xEC00_06AC...
Page 893
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value DAINT 0xEC00_0818 Specifies the Device ALL Endpoints Interrupt 0x0000_0000 Register DAINTMSK 0xEC00_081C R/W Specifies the Device ALL Endpoints Interrupt Mask 0x0000_0000 Register DVBUSDIS 0xEC00_0828 R/W Specifies the Device VBUS Discharge Time 0x0000_0B8F Register DVBUSPULSE...
Page 894
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value Register DTXFSTS2 0xEC00_0958 Specifies the Device IN Endpoint Transmit FIFO 0x0000_0100 Status Register DIEPDMAB2 0xEC00_095C Specifies the Device IN Endpoint 2 DMA Buffer 0x0000_0000 Address Register DIEPCTL3 0xEC00_0960 R/W Specifies the Device Control IN Endpoint 3 Control 0x0000_0000 Register DIEPINT3...
Page 895
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value Register DIEPINT6 0xEC00_09C8 R/W Specifies the Device IN Endpoint 6 Interrupt 0x0000_0080 Register DIEPTSIZ6 0xEC00_09D0 R/W Specifies the Device IN Endpoint 6 Transfer Size 0x0000_0000 Register DIEPDMA6 0xEC00_09D4 R/W Specifies the Device IN Endpoint 6 DMA Address 0x0000_0000 Register DTXFSTS6...
Page 896
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value Register DTXFSTS9 0xEC00_0A38 Specifies the Device IN Endpoint Transmit FIFO 0x0000_0100 Status Register DIEPDMAB9 0xEC00_0A3C Specifies the Device IN Endpoint 9 DMA Buffer 0x0000_0000 Address Register DIEPCTL10 0xEC00_0A40 R/W Specifies the Device Control IN Endpoint 10 Control 0x0000_0000 Register DIEPINT10...
Page 897
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value Register DIEPINT13 0xEC00_0AA8 R/W Specifies the Device IN Endpoint 13 Interrupt 0x0000_0080 Register DIEPTSIZ13 0xEC00_0AB0 R/W Specifies the Device IN Endpoint 13 Transfer Size 0x0000_0000 Register DIEPDMA13 0xEC00_0AB4 R/W Specifies the Device IN Endpoint 13 DMA Address 0x0000_0000 Register DTXFSTS13...
Page 898
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value DOEPDMA0 0xEC00_0B14 R/W Specifies the Device OUT Endpoint 0 DMA Address 0x0000_0000 Register DOEPDMAB0 0xEC00_0B1C Specifies the Device OUT Endpoint 0 DMA Buffer 0x0000_0000 Address Register DOEPCTL1 0xEC00_0B20 R/W Specifies the Device Control OUT Endpoint 1 0x0000_0000 Control Register DOEPINT1...
Page 899
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value DOEPDMAB4 DOEPDMAB4 Specifies the Device OUT Endpoint 4 DMA Buffer 0x0000_0000 Address Register DOEPCTL5 0xEC00_0BA0 R/W Specifies the Device Control OUT Endpoint 5 0x0000_0000 Control Register DOEPINT5 0xEC00_0BA8 R/W Specifies the Device OUT Endpoint 5 Interrupt 0x0000_0000 Register DOEPTSIZ5...
Page 900
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value DOEPCTL9 0xEC00_0C20 R/W Specifies the Device Control OUT Endpoint 9 0x0000_0000 Control Register DOEPINT9 0xEC00_0C28 R/W Specifies the Device OUT Endpoint 9 Interrupt 0x0000_0000 Register DOEPTSIZ9 0xEC00_0C30 R/W Specifies the Device OUT Endpoint 9 Transfer Size 0x0000_0000 Register DOEPDMA9...
Page 901
S5PC110_UM 5 USB2.0 HS OTG Register Address Description Reset Value DOEPINT13 0xEC00_0CA8 R/W Specifies the Device OUT Endpoint 13 Interrupt 0x0000_0000 Register DOEPTSIZ13 0xEC00_0CB0 R/W Specifies the Device OUT Endpoint 13 Transfer 0x0000_0000 Size Register DOEPDMA13 0xEC00_0CB4 R/W Specifies the Device OUT Endpoint 13 DMA 0x0000_0000 Address Register DOEPDMAB13...
Page 902
S5PC110_UM 5 USB2.0 HS OTG 5.8.2 USB PHY CONTROL REGISTERS 5.8.2.1 USB PHY Power Control Register (UPHYPWR, R/W, Address = 0xEC10_0000) UPHYPWR Description Initial State Reserved [31:9] 23’b0 Reserved Reserved, but should be 0x1 1'b1 Analog USBPHY1, Analog block power down 1'b1 _powerdown1 1'b0: Analog block power up (Normal Operation)
Page 903
S5PC110_UM 5 USB2.0 HS OTG 5.8.2.2 USB PHY Clock Control Register (UPHYCLK, R/W, Address = 0xEC10_0004) UPHYCLK Description Initial State Reserved [31:7] - 25'h0 USBPHY1, Force XO, Bias, Bandgap, and PLL to Remain 1'b0 common_on_n1 Powered During a Suspend This bit controls the power-down signals of sub-blocks in the Common block if the USB PHY1 is suspended.
Page 904
S5PC110_UM 5 USB2.0 HS OTG Figure 5-4 USB PHY Clock Path 5.8.2.3 USB Reset Control Register (URSTCON, R/W, Address = 0xEC10_0008) URSTCON Description Initial State Reserved [31:5] 29'h0 host_sw_rst USB Host LINK S/W Reset 1'b0 phy_sw_rst1 USB PHY1, USB Host LINK S/W Reset 1'b1 The phy1_sw_rst signal must by asserted for at least 10us phylnk_sw_rst...
Page 905
S5PC110_UM 5 USB2.0 HS OTG 5.8.2.4 PHY Tune Register (PHY_TUNE, R/W, Address = 0xEC10_0020, 0xEC10_0024) Caution: USB PHY1:0XEC10_0020, USB PHY0: 0XEC10_0024 UPHYTUNE0, 1 Description Initial State Reserved [31:21] - 11'h0 Reserved [20:17] Reserved, but should be 4’b0100 4'b0100 Otgtune [16:14] VBUS Valid Threshold Adjustment. This bit adjusts the 3'b100 voltage level for the VBUS Valid threshold in USBPHY-n.
Page 906
S5PC110_UM 5 USB2.0 HS OTG 5.8.3 OTG LINK CORE REGISTERS (OTG GLOBAL REGISTERS) These registers are available in both Host and Device modes, and not required to be reprogrammed to switch between these modes. 5.8.3.1 OTG Control and Status Register (GOTGCTL, R/W, Address = 0xEC00_0000) The OTG Control and Status register controls the behavior and reflects the status of the core's OTG function.
Page 907
S5PC110_UM 5 USB2.0 HS OTG GOTGCTL Description Initial State HstNegScs Host Negotiation Success 1'b0 The core sets this bit if host negotiation is successful. The core clears this bit if the HNP Request (HNPReq) bit in this register is set. 1'b0: Host negotiation failure •...
Page 908
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.2 OTG Interrupt Register (GOTGINT, R/W, Address = 0xEC00_0004) The application reads this register at the time of OTG interrupt. To clear the OTG interrupt, application clears the bits in this register. GOTGINT Description Initial State Reserved [31:20] - 12'h0...
Page 909
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.3 OTG AHB Configuration Register (GAHBCFG, R/W, Address = 0xEC00_0008) This register configures the core after power-on or a change in mode of operation. This register mainly contains AHB system-related configuration parameters. Do not change this register after the initial programming. The application must program this register before starting any transactions on either the AHB or the USB.
Page 910
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.4 OTG USB Configuration Register (GUSBCFG, R/W, Address = 0xEC00_000C) This register configures the core after power-on or a changing to Host mode or Device mode. It contains USB and USB-PHY related configuration parameters. The application must program this register before starting any transactions on either the AHB or the USB.
Page 911
S5PC110_UM 5 USB2.0 HS OTG GUSBCFG Description Initial State PHYIf PHY Interface 1'b1 The application uses this bit to configure the core to support a UTMI+ PHY with an 8- or 16-bit interface. Only 16-bit interface is supported. This bit must be set to 1. 1'b0: 8 bits •...
Page 912
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.5 Core Reset Register (GRSTCTL, R/W, Address = 0xEC00_0010) The application uses this register to reset various hardware features inside the core. GRSTCTL Description Initial State AHBIdle [31] AHB Master Idle 1'b1 Indicates that the AHB Master State Machine is in the IDLE condition.
Page 913
S5PC110_UM 5 USB2.0 HS OTG GRSTCTL Description Initial State HSftRst HClk Soft Reset R_WS 1'b0 The application uses this bit to flush the control logic in the AHB Clock domain. Only AHB Clock Domain pipelines are reset. FIFOs are not flushed with this bit. •...
Page 914
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.6 Core Interrupt Register (GINTSTS, R/W, Address = 0xEC00_0014) This register interrupts the application for system-level events in the current mode of operation (Device mode or Host mode). GINTSTS Description Initial State WkUpInt [31] Resume/ Remote Wakeup Detected Interrupt R_SS 1'b0 In Device mode, this interrupt is asserted if a resume is detected...
Page 915
S5PC110_UM 5 USB2.0 HS OTG GINTSTS Description Initial State PrtInt [24] Host Port Interrupt 1'b0 The core sets this bit to indicate a change in port status of one of the OTG core ports in Host mode. The application must read the Host Port Control and Status (HPRT) register to determine the exact event that caused this interrupt.
Page 916
S5PC110_UM 5 USB2.0 HS OTG GINTSTS Description Initial State Incompl [20] Incomplete Isochronous IN Transfer (incompISOIN) R_SS 1'b0 SOIN The core sets this interrupt to indicate that there is at least one isochronous IN endpoint on which the transfer is not completed in the current microframe.
Page 917
S5PC110_UM 5 USB2.0 HS OTG GINTSTS Description Initial State USBSusp [11] USB Suspend R_SS 1'b0 The core sets this bit to indicate that a suspend state was detected on the USB. The core enters the Suspended state if there is no activity on the line_state signal for an extended period of time.
Page 918
S5PC110_UM 5 USB2.0 HS OTG GINTSTS Description Initial State OTGInt OTG Interrupt 1'b0 The core sets this bit to indicate an OTG protocol event. The application must read the OTG Interrupt Status (GOTGINT) register to determine the exact event that caused this interrupt. The application must clear the appropriate status bit in the GOTGINT register to clear this bit.
Page 919
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.7 Core Interrupt Mask Register (GINTMSK, R/W, Address = 0xEC00_0018) This register works with the Core Interrupt register to interrupt the application. If an interrupt bit is masked, the interrupt associated with that bit will not be generated. However, the Core Interrupt (GINTSTS) register bit corresponding to that interrupt will still be set.
Page 920
S5PC110_UM 5 USB2.0 HS OTG GINTMSK Description Initial State OTGIntMsk OTG Interrupt Mask 1'b0 ModeMisMsk Mode Mismatch Interrupt Mask 1'b0 Reserved 1'b0 5.8.3.8 Receive Status Debug Read/Status Read and Pop Registers (GRXSTSR/GRXSTSP) A read to the Receive Status Debug Read register returns the contents of the top of the Receive FIFO. A read to the Receive Status Read and Pop register additionally pops the top data entry out of the RxFIFO.
Page 921
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.9 Host Mode Receive Status Debug Read/Status Read and Pop Registers (GRXSTSR/GRXSTSP, R, Address = 0xEC00_001C, 0xEC00_0020) GRXSTSR/ Description Initial State GRXSTSP Reserved [31:21] - PktSts [20:17] Packet Status Indicates the status of the received packet. 4'b0010: IN data packet received •...
Page 922
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.10 Device Mode Receive Status Debug Read/Status Read and Pop Registers (GRXSTSR/GRXSTSP, R, Address = 0xEC00_001C, 0xEC00_0020) GRXSTSR/ Description Initial State GRXSTSP Reserved [31:25] 7'h3F [24:21] Frame Number 4'hF This is the least significant 4 bits of the (micro) frame number in which the packet is received on the USB.
Page 923
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.12 Non-Periodic Transmit FIFO Size Register (GNPTXFSIZ, R/W, Address = 0xEC00_0028) The application programs the RAM size and the memory start address for the Non-Periodic TxFIFO. GNPTXFSIZ Description Initial State NPTxFDep [31:16] Non-Periodic TxFIFO Depth (For host mode) 16'h1F00 This value is in terms of 32-bit words.
Page 924
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.13 Non-Periodic Transmit FIFO/Queue Status Register (GNPTXSTS, R, Address = 0xEC00_002C) This read-only register contains the free space information for the Non-Periodic TxFIFO and the Non-Periodic Transmit Request Queue. GNPTXSTS Description Initial State Reserved [31] 1'b0 NPTxQTop [30:24] Top of the Non-Periodic Transmit Request Queue.
Page 925
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.14 Core LPM Configuration Register (GLPMCFG, R/W, Address = 0xEC00_0054) This register controls the operation of the core’s LPM and HSIC capabilities. It also contains status bits pertaining to these features. GLPMCFG Description Initial State Reserved [31:28] - 4'b0...
Page 926
S5PC110_UM 5 USB2.0 HS OTG GLPMCFG Description Initial State the timer TL1TokenRetry. has expired. To stop the PHY clock, the application must set the Port Clock Stop bit, which asserts the PHY’s Suspend input pin. The application must rely on SlpSts and not ACK in CoreL1Res to confirm transition into sleep.
Page 927
S5PC110_UM 5 USB2.0 HS OTG GLPMCFG Description Initial State EnblSlpM For UTMI+ interface: The application uses this bit to control 1'b0 utmi_sleep_n assertion to the PHY in the L1 state. For the host, this bit is valid only in Local Device mode. •...
Page 928
S5PC110_UM 5 USB2.0 HS OTG 5.8.3.15 Host Periodic Transmit FIFO Size Register (HPTXFSIZ, R/W, Address = 0xEC00_0100) This register holds the size and the memory start address of the Periodic TxFIFO. HPTXFSIZ Description Initial State PTxFSize [31:16] Host Periodic TxFIFO Depth 16'h0300 This value is in terms of 32-bit words Minimum value is 16...
Page 929
S5PC110_UM 5 USB2.0 HS OTG 5.8.4 HOST MODE REGISTERS (HOST GLOBAL REGISTERS) These registers affect the operation of the core in the Host mode. Host mode registers must not be accessed in Device mode, as the results are undefined. Host Mode registers are categorized as follows: •...
Page 930
S5PC110_UM 5 USB2.0 HS OTG 5.8.4.2 Host Frame Interval Register (HFIR, R/W, Address = 0xEC00_0404) This register stores the frame interval information for the current speed to which the core has enumerated HFNUM Description Initial State Reserved [31:16] 16’h0 FrInt [15:0] Frame Interval 16'h0B8F...
Page 931
S5PC110_UM 5 USB2.0 HS OTG 5.8.4.4 Host Periodic Transmit FIFO/QUEUE Status Register (HPTXSTS, R, Address = 0xEC00_0410) This read-only register contains the free space information for the Periodic TxFIFO and the Periodic Transmit Request Queue. HPTXSTS Description Initial State PTxQTop [31:24] Top of the Periodic Transmit Request Queue 8'h0...
Page 932
S5PC110_UM 5 USB2.0 HS OTG 5.8.4.5 Host All Channels Interrupt Register (HAINT, R, Address = 0xEC00_0414) If a significant event occurs on a channel, the Host All Channels Interrupt register interrupts the application using the Host Channels Interrupt bit of the Core Interrupt register. There is one interrupt bit per channel, up to a maximum of 16 bits.
Page 933
S5PC110_UM 5 USB2.0 HS OTG 5.8.5 HOST MODE REGISTERS ( HOST PORT CONTROL AND STATUS REGISTERS) 5.8.5.1 Host Port Control and Status Register (HPRT, R/W, Address = 0xEC00_0440) This register is available only in Host mode. Currently, the OTG Host supports only one port. A single register holds USB port-related information such as USB reset, enable, suspend, resume, connect status, and test mode for each port.
Page 934
S5PC110_UM 5 USB2.0 HS OTG HPRT Description Initial State PrtRst Port Reset 1'b0 If the application sets this bit, a reset sequence is started on this port. The application must time the reset period and clear this bit after the reset sequence is complete. 1'b0: Port not in reset •...
Page 935
S5PC110_UM 5 USB2.0 HS OTG HPRT Description Initial State PrtEnChng Port Enable/Disable Change R_SS_ 1'b0 The core sets this bit if the status of the Port Enable bit [2] of this register changes. PrtEna Port Enable R_SS_ 1'b0 A port is enabled by the core after a reset sequence, and is disabled by an overcurrent condition, a disconnect condition, or by the application clearing this bit.
Page 936
S5PC110_UM 5 USB2.0 HS OTG 5.8.6 HOST MODE REGISTERS (HOST CHANNEL-SPECIFIC REGISTERS) 5.8.6.1 Host Channel-n Characteristics Register (HCCHARn, R/W, Address = 0xEC00_0500+n*20h) Channel_number: 0 ≤ n ≤ 15 HCCHARn Description Initial State ChEna [31] Channel Enable 1'b0 S_SC This field is set by the application and cleared by the OTG host. 1'b0: Disables Channel •...
Page 937
S5PC110_UM 5 USB2.0 HS OTG HCCHARn Description Initial State Reserved [16] 1'b0 EPDir [15] Endpoint Direction Endpoint Type 1'b0 Indicates the transfer type selected. 1'b0: Out • 1'b1: In • EPNum [14:11] Endpoint Number 4'h0 Indicates the endpoint number on the device serving as the data source or sink.
Page 938
S5PC110_UM 5 USB2.0 HS OTG 5.8.6.3 Host Channel-n Interrupt Register (HCINTn, R/W, Address = 0xEC00_0508+n*20h) Channel_number: 0 ≤ n ≤ 15 This register indicates the status of a channel with respect to USB- and AHB-related events. The application must read this register if the Host Channels Interrupt bit of the Core Interrupt register is set. Before the application reads this register, it must first read the Host All Channels Interrupt register to get the exact channel number for the Host Channel-n Interrupt register.
Page 939
S5PC110_UM 5 USB2.0 HS OTG 5.8.6.4 Host Channel-n Interrupt Mask Register (HCINTMSKn, R/W, Address = 0xEC00_050C+n*20h) Channel_number: 0 ≤ n ≤ 15 This register reflects the mask for each channel status described in the previous section. • Mask interrupt : 1'b0 •...
Page 940
S5PC110_UM 5 USB2.0 HS OTG 5.8.6.5 Host Channel-n Transfer Size Register (HCTSIZn, R/W, Address = 0xEC00_0510+n*20h) Channel_number: 0 ≤ n ≤ 15 HCTSIZn Description Initial State DoPng [31] Do Ping 1'h0 Setting this field to 1 directs the host to do PING protocol. [30:29] 2'b0 The application programs this field with the type of PID to...
Page 941
S5PC110_UM 5 USB2.0 HS OTG 5.8.7 DEVICE MODE REGISTERS (DEVICE GLOBAL REGISTERS) These registers are visible only in Device mode and must not be accessed in Host mode, as the results are unknown. Some of them affect all the endpoints uniformly, while others affect only a specific endpoint. Device Mode registers fall into two categories: •...
Page 942
S5PC110_UM 5 USB2.0 HS OTG DCFG Description Initial State PerFrInt [12:11] Periodic Frame Interval 2'h0 Indicates the time within a (micro) frame at which the application must be notified using the End Of Periodic Frame Interrupt. This can be used to determine if all the isochronous traffic for that (micro) frame is complete.
Page 943
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.2 Device Control Register (DCTL, R/W, Address = 0xEC00_0804) DCTL Description Initial State Reserved [31:17] - 15'h0 NakOnBable [16] Set NAK automatically on babble (NakOnBble). The core 1'b0 sets NAK automatically for the endpoint on which babble is received IgnrFrmNum [15]...
Page 944
S5PC110_UM 5 USB2.0 HS OTG DCTL Description Initial State CGNPInNAK Clear Global Non-Periodic IN NAK 1'b0 A write to this field clears the Global Non-Periodic IN NAK. SGNPInNAK Set Global Non-Periodic IN NAK 1'b0 A write to this field sets the Global Non-Periodic IN NAK. The application uses this bit to send a NAK handshake on all non-periodic IN endpoints.
Page 945
S5PC110_UM 5 USB2.0 HS OTG DCTL Description Initial State RmtWkUpSig Remote Wakeup Signaling 1'b0 If the application sets this bit, the core initiates remote signaling to wake up the USB host. The application must set this bit to instruct the core to exit the Suspend state. As specified in the USB 2.0 specification, the application must clear this bit 1-15ms after setting it.
Page 946
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.3 Device Status Register (DSTS, R, Address = 0xEC00_0808) This register indicates the status of the core with respect to USB-related events. It must be read on interrupts from Device ALL Interrupts (DAINT) register. DSTS Description Initial State Reserved...
Page 947
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.4 Device IN Endpoint Common Interrupt Mask Register (DIEPMSK, R/W, Address = 0xEC00_0810) This register works with each of the Device IN Endpoint Interrupt registers for all endpoints to generate an interrupt per IN endpoint. The IN endpoint interrupt for a specific status in the DIEPINTn register is masked by writing to the corresponding bit in this register.
Page 948
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.5 Device OUT Endpoint Common Interrupt Mask Register (DOEPMSK, R/W, Address = 0xEC00_0814) This register works with each of the Device OUT Endpoint Interrupt registers for all endpoints to generate an interrupt per OUT endpoint. The OUT endpoint interrupts for a specific status in the DOEPINTn register is masked by writing to the corresponding bit in this register.
Page 949
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.7 Device ALL Endpoints Interrupt Mask Register (DAINTMSK, R/W, Address = 0xEC00_081C) The Device Endpoint Interrupt Mask register works with the Device Endpoint Interrupt register to interrupt the application if an event occurs on a device endpoint. However, the Device all Endpoints Interrupt register bit corresponding to that interrupt remains set.
Page 950
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.10 Device Threshold Control Register (DTHRCTL, R/W, Address = 0xEC00_0830) Thresholding is not supported in Slave mode and so this register must not be programmed in Slave mode. DTHRCTL Description Initial State Reserved [31:28] - 4'h0 ArbPrkEn [27]...
Page 951
S5PC110_UM 5 USB2.0 HS OTG DTHRCTL Description Initial State The recommended value for ThrLen is to be the same as the programmed AHB Burst Length (GAHBCFG.HBstLen). ISOThrEn ISO IN Endpoints Threshold Enable 1’b0 When this bit is set, the core enables thresholding for isochronous IN endpoints NonISOThrEn Non-ISO IN Endpoints Threshold Enable...
Page 952
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.11 Device IN Endpoint FIFO Empty Interrupt Mask Register (DIEPEMPMSK, R/W, Address = 0xEC00_0834) This register is used to control the IN endpoint FIFO empty interrupt generation (DIEPINTn.TxfEmp). • Mask interrupt: 1'b0 • Unmask interrupt: 1'b1 DVBUSPULSE Description Initial State...
Page 953
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.13 Device Control IN Endpoint 0 Control Register (DIEPCTL0, R/W, Address = 0xEC00_0900) This section describes the Control IN Endpoint 0 Control register. Nonzero control endpoints use registers for endpoints 1-15. DIEPCTL0 Description Initial State EPEna [31] Endpoint Enable...
Page 954
S5PC110_UM 5 USB2.0 HS OTG DIEPCTL0 Description Initial State NAKsts [17] NAK Status 1'b0 Indicates the following: 1'b0: The core is transmitting non-NAK handshakes based on • the FIFO status 1'b1: The core is transmitting NAK handshakes on this • endpoint If this bit is set, either by the application or core, the core stops transmitting data, even if there is data available in the TxFIFO.
Page 955
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.14 Device Control OUT Endpoint 0 Control Register (DOEPCTL0, R/W, Address =0xEC00_0B00) This section describes the Control OUT Endpoint 0 Control register. Nonzero control endpoints use registers for endpoints 1-15. DOEPCTL0 Description Initial State EPEna [31] Endpoint Enable R_WS_...
Page 956
S5PC110_UM 5 USB2.0 HS OTG DOEPCTL0 Description Initial State [17] NAK Status 1'b0 NAKsts Indicates the following: 1'b0: The core is transmitting non-NAK handshakes based • on the FIFO status 1'b1: The core is transmitting NAK handshakes on this • endpoint If application or the core sets this bit, the core stops receiving data, even if there is space in the RxFIFO to accommodate...
Page 957
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.15 Device Endpoint-n Control Register (DIEPCTLn/DOEPCTLn, R/W, Address = 0xEC00_0900+ n*20h, 0xEC00_0B00+ n*20h) Endpoint_number:1 ≤ n ≤ 15 The application uses this register to control the behavior of each logical endpoint other than endpoint 0. DIEPCTLn/ Description Initial State...
Page 958
S5PC110_UM 5 USB2.0 HS OTG DIEPCTLn/ Description Initial State DOEPCTLn DATA0. This field is applicable both for Scatter/Gather DMA mode and non- Scatter/Gather DMA mode. SetEvenFr In non-Scatter/Gather DMA mode: Set Even (micro) frame (SetEvenFr) Applies to isochronous IN and OUT endpoints only. Writing to this field sets the Even/Odd (micro) frame (EO_FrNum) field to even (micro) frame.
Page 959
S5PC110_UM 5 USB2.0 HS OTG DIEPCTLn/ Description Initial State DOEPCTLn 2'b01: Isochronous • 2'b10: Bulk • 2'b11: Interrupt • NAKsts [17] NAK Status 1'b0 Applies to IN and OUT endpoints. Indicates the following: 1’b0: The core is transmitting non-NAK handshakes based on •...
Page 960
S5PC110_UM 5 USB2.0 HS OTG DIEPCTLn/ Description Initial State DOEPCTLn SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit. Reserved [14:11] - 4'h0 [10:0] Maximum Packet Size 11'h0 Applies to IN and OUT endpoints. The application must program this field with the maximum packet size for the current logical endpoint.
Page 961
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.16 Device Endpoint-n Interrupt Register (DIEPINTn/DOEPINTn, R/W, Address = 0xEC00_0908 +n*20h, 0xEC00_0B08 +n*20h) Endpoint_number: 0 ≤ n ≤ 15 This register indicates the status of an endpoint with respect to USB- and AHB-related events. The application must read this register if the OUT Endpoints Interrupt bit or IN Endpoints Interrupt bit of the Core Interrupt register is set.
Page 962
S5PC110_UM 5 USB2.0 HS OTG DIEPINTn/ Description Initial State DOEPINTn TxFEmp Transmit FIFO Empty This bit is valid only for IN Endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).
Page 963
S5PC110_UM 5 USB2.0 HS OTG DIEPINTn/ Description Initial State DOEPINTn OUTTknEPdis OUT Token Received When Endpoint Disabled Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.
Page 964
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.17 Device Endpoint 0 Transfer Size Register (DIEPTSIZ0, R/W, Address = 0xEC00_0910) The application must modify this register before enabling endpoint 0. Once endpoint 0 is enabled using Endpoint Enable bit of the Device Control Endpoint 0 Control registers (DIEPCTL0.EPEna/DOEPCTL0.EPEna), the core modifies this register.
Page 965
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.18 Device OUT Endpoint 0 Transfer Size Register (DOEPTSIZ0, R/W, Address = 0xEC00_0B10) DOEPTSIZ0 Description Initial State Reserved [31] 1'b0 SUPCnt [30:29] SETUP Packet Count 2'h0 This field specifies the number of back-to-back SETUP data packets the endpoint can receive.
Page 966
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.19 Device Endpoint-n Transfer Size Register (DIEPTSIZn/DOEPTSIZn, R/W, Address = 0xEC00_0910 +n*20h, 0xEC00_0B10 +n*20h) Endpoint_number: 1 ≤ n ≤ 15 The application must modify this register before enabling the endpoint. Once the endpoint is enabled using Endpoint Enable bit of the Device Endpoint-n Control registers (DIEPCTLn.EPEna/DOEPCTLn.EPEna), the core modifies this register.
Page 967
S5PC110_UM 5 USB2.0 HS OTG DIEPTSIZn/ Description Initial State DOEPTSIZn (maximum size or short packet) is written to the RxFIFO. Transfer Size XferSize [18:0] 19'h0 This field contains the transfer size in bytes for the current endpoint. The core only interrupts the application after it has exhausted the transfer size amount of data.
Page 968
S5PC110_UM 5 USB2.0 HS OTG 5.8.7.21 Device IN Endpoint Transmit FIFO Status (DTXFSTSn, R/W, Address = 0xEC00_0918 +n*20h) Endpoint_number: 0 ≤ n ≤ 15 This read-only register contains the free space information for the Device IN endpoint TxFIFO DTXFSTSn Description Initial State Reserved [31:16] -...
Page 969
This chapter defines the interface between the Base-band Modem (like MSM) and the Application Processor to facilitate data-exchange between these two devices. To facilitate data-exchange, S5PC110 include a dual-ported SRAM buffer (on-chip). To access SRAM buffer, the Modem chip uses a typical asynchronous-SRAM interface.
Page 970
There are two address views for MODEMIF, namely, MSM address (ADR) for MODEM chip, and AHB address for S5PC110. AHB address is twice the size of ADR. For example, 0x3FFC at AHB bus is 0x1FFE at ADR. helps you to understand it.
Page 976
FIFO managements, and so on. The software should be responsible for required functionalities for the data exchange between the modem chip and the S5PC110, namely, data exchange protocol, data buffer managements, and so on.
Page 977
S5PC110_UM 6 MODEM INTERFACE 6.8 REGISTER DESCRIPTION 6.8.1 REGISTER MAP Register Address Description Reset Value MSBM 0xED00_0000 ~ Specifies the MODEM I/F SRAM Buffer 0xED00_3FFC Memory (AP side) INT2AP 0xED00_8000 Specifies the Interrupt Request to AP 0x00003FFE Register INT2MSM 0xED00_8004 Specifies the Interrupt Request to MSM 0x00003FFC Modem Register...
Page 978
1 to the corresponding bit field. NOTE: It is recommended that S5PC110 write data with half-word access on the interrupt port because S5PC110 overwrites the data in INT2AP if there are INT2AP and INT2MSM sharing the same word.
Page 979
S5PC110_UM 6 MODEM INTERFACE 6.8.1.3 Modem Interface Control Register (MIFCON, R/W, Address = 0xED00_8008) MIFCON Description Initial State Reserved [31:21] Fixed [20] Should write as 1 DMARXREQEN_1 [19] Enables MSM Write DMA Request (RX 1) to AP (DMA Controller) DMARXREQEN_0 [18] Enables MSM Write DMA Request (RX 0) to AP (DMA Controller)
Page 980
Write access to this register with any data will clear the interrupt pending register of MSM modem interface. NOTE: The interrupt controllers of S5PC110 receive level-triggered type interrupt requests. Therefore, interrupt requests from MSM interface are maintained until the interrupt service routine clears the interrupt pending register by writing any data into this register.
Page 981
SD/MMC CONTROLLER This chapter describes the Secure Digital (SD/ SDIO), MultiMediaCard (MMC), CE-ATA host controller and related registers supported by S5PC110 RISC microprocessor. 7.1 OVERVIEW OF SD/ MMC CONTROLLER The SD/ MMC host controller is a combo host for Secure Digital card and MultiMediaCard. This host controller is based on SD Association’s (SDA) Host Standard Specification.
Page 982
S5PC110_UM 7 SD/MMC CONTROLLER 7.3 BLOCK DIAGRAM OF SD/ MMC CONTROLLER HCLK SDCLK BaseCLK Domain Domain Status Clock Control INTREQ Status System CMDRSP packet (AHB) Line Control Control Control FIFO AHB slave I/F Control Control DPSRAM Status controller DATA AHB master packet Figure 7-1 SDMMC Clock Domain...
Page 983
S5PC110_UM 7 SD/MMC CONTROLLER 7.4 OPERATION SEQUENCE This section defines basic operation flow chart divided into several sub sequences. "Wait for interrupts" is used in the flow chart. This means the Host Driver waits until specified interrupts are asserted. If already asserted, then follow the next step in the flow chart.
Page 984
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.2 SD CLOCK SUPPLY SEQUENCE Figure 7-3 SD Clock Supply Sequence The sequence to set SD Clock to a SD card is shown in . The clock is enabled before one of the Figure 7-3 following actions: −...
Page 985
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.3 SD CLOCK STOP SEQUENCE Figure 7-4 SD Clock Stop Sequence The flow chart to stop the SD Clock is shown in The Host Driver does not stop the SD Clock if a SD Figure 7-4 transaction takes place on the SD Bus -- namely, either Command Inhibit (DAT) or Command Inhibit (CMD) in the Present State register is set to 1.
Page 986
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.4 SD CLOCK FREQUENCY CHANGE SEQUENCE START ( 1 ) SD Clock Stop ( 2 ) SD Clock Supply Figure 7-5 SD Clock Frequency Change Sequence The sequence to change SD Clock frequency is shown in .
Page 987
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.5 SD BUS POWER CONTROL SEQUENCE START (1 ) Get the support voltage of the Host Controller (2 ) Set SD Bus voltage select with supported maximum voltage (3 ) Set SD Bus Power (4 ) Get OCR value of the SD Card ( 5 ) no change...
Page 988
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.6 CHANGE BUS WIDTH SEQUENCE START (1 ) Disable Card Interrupt in Host SD Memory Only Card ? (6 ) SD Memory Only Card ? (3 ) Mask Card Interrupt in Card ( 7) Enable Card Interrupt in Card (4 ) ( 8) Change Bit Mode in Card...
Page 989
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.7 TIMEOUT SETTING FOR DAT LINE START ( 1) Calculate a Divisor for detecting Timeout ( 2) Set Timeout Detection Timer Figure 7-8 Timeout Setting Sequence In order to detect timeout errors on DAT line, the Host Driver executes the following two steps before any SD transaction.
Page 990
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.8 SD TRANSACTION GENERATION This section describes the sequence to generate and control various kinds of SD transactions. SD transactions are classified into three cases, namely: 1. Transactions that do not use the DAT line. 2. Transactions that use the DAT line for the busy signal. 3.
Page 991
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.9 SD COMMAND ISSUE SEQUENCE START CMD Line used Check Command Inhibit (CMD ) ? CMD Line free Issue the Command with the Busy ? Issue Abort Command ? DAT Line used Check Command Inhibit ( DAT ) ? DAT Line free New command can be issued Set Argument Reg...
Page 992
S5PC110_UM 7 SD/MMC CONTROLLER Steps to set Timeout: 1. Check Command Inhibit (CMD) in the Present State register. Repeat this step until Command Inhibit (CMD) is 0. If Command Inhibit (CMD) is 1, the Host Driver does not issue a SD Command. 2.
Page 993
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.10 COMMAND COMPLETE SEQUENCE The sequence to complete the SD Command is shown in . The Figure 7-7 Figure 7-8 Figure 7-9 Figure 7-10 following errors can occur during this sequence: Command Index/ End bit/ CRC/ Timeout Error. Steps to complete the SD command: 1.
Page 994
S5PC110_UM 7 SD/MMC CONTROLLER START Wait for Command Complete Int Command Complete Int occur Clear Command Complete Status Get Response Data ( 4) Command with Transfer Complete Int ? Wait for Transfer Complete Int Transfer Complete Int occur Clear Transfer Complete Status ( 7) Error Check Response Data ?
Page 995
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.11 TRANSACTION CONTROL WITH DATA TRANSFER USING DAT LINE Depending on whether DMA (optional) is used or not, there are two execution methods. The sequence without using DMA is shown in and the sequence using DMA is shown in Figure 7-11 Figure 7-12 In addition, the sequences for SD transfers are basically classified according to how the number of blocks is...
Page 996
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.12 SEQUENCE WITHOUT USING DMA START Set Block Size Reg Set Command Reg Set Block Count Reg Wait for Command Complete Interrupt Command Complete Interrupt occur Set Argument Reg Clear Command Complete Status Set Transfer Mode Reg Get Response Data write read...
Page 997
S5PC110_UM 7 SD/MMC CONTROLLER 1. Set the value corresponding to the executed data byte length of one block to Block Size register. 2. Set the value corresponding to the executed data block count to Block Count register. 3. Set the value corresponding to the issued command to Argument register. 4.
Page 998
S5PC110_UM 7 SD/MMC CONTROLLER 7.4.13 SEQUENCE USING DMA START Set System Address Reg (10) Set Block Size Reg Wait for Transfer Complete Int and DMA Interrupt Set Block Count Reg Transfer Complete (11) Interrupt occur Check Interrupt Status Set Argument Reg DMA Interrupt (12) occur...
Page 999
S5PC110_UM 7 SD/MMC CONTROLLER 7. Wait for the Command Complete Interrupt. 8. Write 1 to the Command Complete (STACMDCMPLT) in the Normal Interrupt Status register to clear this bit. 9. Read Response register and get necessary information in accordance with the issued command. 10.
Page 1000
S5PC110_UM 7 SD/MMC CONTROLLER 7.5 ABORT TRANSACTION To perform Abort transaction issue CMD12 (Stop Command) for a SD memory and issue CMD52 for a SDIO card. There are two cases where the Host Driver needs to issue an Abort Transaction. The first case is if the Host Driver stops Infinite Block Transfers.
Page 1001
S5PC110_UM 7 SD/MMC CONTROLLER 7.6 DMA TRANSACTION DMA allows a peripheral to read and write memory without intervention from the CPU. DMA executes one SD command transaction. Host Controllers that support DMA supports both single block and multiple block transfers. The System Address register points to the first data address, and data is then accessed sequentially from that address.
Need help?
Do you have a question about the S5PC110 and is the answer not in the manual?
Questions and answers