HMS30C7110 Multipurpose Network Processor (ARM Based 32-Bit Microprocessor) Datasheet Version 1.5 MagnaChip Semiconductor Ltd. HMS30C7110 Copyright. 2002 Magnachip Semiconductor Inc. ALL RIGHTS RESERVED. No part of this publication may be copied in any form, by photocopy, microfilm, retrieval system, or by any other means now known or hereafter invented without the prior written permission of Magnachip Semiconductor Inc. Magnachip Semiconductor Inc. #1, Hyangjeong-dong, Heungduk-gu, Cheongju-si, Chungcheonbuk-do, Republic of Korea Homepage: http://www.Magnachip.com Technical Support Homepage: will be construction as soon as possible H.Q. of Magnachip Semiconductor Inc. Marketing Site Sales in Korea Telephone: 82-(0)43-270-4070 Telephone: 82-(0)43-270-4085 Telephone: 82-(0)2-3459-3738 Facsimile: 82-(0)43-270-4099 Facsimile: 82-(0)43-270-4099 Facsimile: 82-(0)2-3459-3945 World Wide Sales Network U.S.A. Taiwan Hong Kong Telephone: 1-408-232-8757 Telephone: 886-(0)2-2500-8357 Telephone: 852-2971-1640 Facsimile: 1-408-232-8135 Facsimile: 886-(0)2-2509-8977 Facsimile: 852-2971-1622 HMS30C7110 Datasheet, ver1.5 28 July. 03 Magnachip Semiconductor, Corp. may make changes to specification and product description at any time without notice. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 2 Version 1.5 HMS30C7110 Revision History Rev. 0.1 2002-07-31 First draft Rev. 1.01 2002-10-31 Rev. 1.1 2002-12-31 Rev. 1.2 2003-03-17 Correction on I/O and Register Map Rev. 1.3 2003-04-13 Correction on Register Description Rev. 1.4 2003-07-18 Correction on Register Description Rev. 1.5 2003-07-28 Add I/O Pin Description and add Detail address Add PLL register Map © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 3 Version 1.5 HMS30C7110 Contents 1. 2. Product Overview ...................................................................................................................................12 1.1. Summary of HMS30C7110® features .....................................................................................................13 1.2. Block Diagram .........................................................................................................................................16 1.3. Pin Assignments.......................................................................................................................................17 1.4. Package Pin Diagram (PQ208) ................................................................................................................25 1.5. Pin Description.........................................................................................................................................26 Functional Description ...........................................................................................................................30 2.1. System Configuration ..............................................................................................................................32 2.1.1. Power-up Configuration..................................................................................................................32 2.1.2. System Memory Map .....................................................................................................................32 2.1.3. Registers Map .................................................................................................................................35 2.1.4. ARM7TDMI Core ..........................................................................................................................41 2.2. Cache .......................................................................................................................................................42 2.2.1. Architecture ....................................................................................................................................42 2.2.2. User Accessible Registers (Base = 0x1950_0000)..........................................................................42 2.3. Clock/Watchdog Timer ............................................................................................................................46 2.3.1. Block Diagram................................................................................................................................46 2.3.2. User Accessible Registers (Base = 0x1830_0000)..........................................................................47 2.4. Memory Controller (Flash/ROM) ............................................................................................................52 2.4.1. Block Diagram................................................................................................................................52 2.4.2. User Accessible Registers (Base = 0x1900_0000)..........................................................................53 2.4.3. Timing Diagram..............................................................................................................................56 2.5. Memory Controller (SDRAM).................................................................................................................57 2.5.1. Block Diagram................................................................................................................................57 2.5.2. User Accessible Registers (Base = 0x1908_0000)..........................................................................58 2.5.3. Timing Diagram..............................................................................................................................63 2.6. Ethernet MAC..........................................................................................................................................67 2.6.1. Block Diagram................................................................................................................................67 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 4 Version 1.5 HMS30C7110 2.6.2. 2.7. User Accessible Registers (Base = 0x1920_0000)..........................................................................70 UART.......................................................................................................................................................95 2.7.1. Block Diagram................................................................................................................................96 2.7.2. User Accessible Registers (Base = 0x1800_0000)..........................................................................97 2.8. TIMER ...................................................................................................................................................108 2.8.1. 2.9. User Accessible Registers (Base = 0x1810_0000)........................................................................108 GPIO ......................................................................................................................................................113 2.9.1. 2.10. User Accessible Registers (Base = 0x1820_0000)........................................................................113 SPI..........................................................................................................................................................117 2.10.1. Block Diagram..............................................................................................................................117 2.10.2. User Accessible Registers (Base = 0x1840_0000)........................................................................119 2.11. DMA ......................................................................................................................................................123 2.11.1. 2.12. INTC ......................................................................................................................................................128 2.12.1. 2.13. User Accessible Registers (Base = 0x1930_0000)........................................................................131 PCMCIA Controller ...............................................................................................................................137 2.13.1. 3. User Accessible Registers (Base = 0x1910_0000)........................................................................123 User Accessible Registers (Base = 0x1940_0000)........................................................................137 Electrical Characteristics .....................................................................................................................150 3.1. Absolute Maximum Ratings...................................................................................................................150 3.2. Recommended Operating Conditions ....................................................................................................150 3.3. DC Characteristics .................................................................................................................................151 3.4. AC Characteristics .................................................................................................................................152 3.4.1. Clocks ...........................................................................................................................................152 3.4.2. SDRAM Timing ...........................................................................................................................153 3.4.3. Ethernet Timing (MII/100Mbps) ..................................................................................................154 3.4.4. Ethernet Timing (MII/10Mbps) ....................................................................................................155 3.4.5. Ethernet Timing (RMII)................................................................................................................156 3.4.6. SPI Timing....................................................................................................................................157 4. Mechanical Characteristics ..................................................................................................................160 5. Ordering Information...........................................................................................................................161 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 5 Version 1.5 HMS30C7110 Figures Figure 1.1 HMS30C7110® Block Diagram ................................................................. 16 Figure 1.2 HMS30C7110® 208-Pin PQFP Assignment (top view)........................... 25 Figure 2.1 Block Diagram of Clock Module ............................................................... 46 Figure 2.2 Block Diagram of External controller ...................................................... 53 Figure 2.3 Read cycle timing (setup = 4, access = 6, hold = 4) ............................... 56 Figure 2.4 Write timing (setup = 4, access = 6, hold = 4) ........................................ 56 Figure 2.5 Block Diagram of SDRAM controller........................................................ 58 Figure 2.6 Read/Write cycle ....................................................................................... 64 Figure 2.7 Refresh cycle ............................................................................................. 64 Figure 2.8 Initialization timing .................................................................................... 66 Figure 2.9 Block Diagram of Ethernet MAC .............................................................. 68 Figure 2.10 Block Diagram of UART Device ............................................................. 96 Figure 2.12 Block Diagram of SPI ............................................................................ 118 Figure 2.13 Arbitration Block Diagram .................................................................... 130 Figure 3.1 SDRAM Clock Timing .............................................................................. 152 Figure 3.2 MDC Timing (Ethernet) ........................................................................... 152 Figure 3.3 SPI Clock Timing ..................................................................................... 152 Figure 3.4 SDRAM Timing Diagram ......................................................................... 153 Figure 3.5 Ethernet MII Timing Diagram (100Mbps) .............................................. 154 Figure 3.6 Ethernet MII Timing Diagram (10Mbps)................................................. 155 Figure 3.7 Ethernet RMII Timing Diagram ............................................................... 156 Figure 3.8 SPI Timing Diagram................................................................................. 157 Figure 4.1 Mechanical Characteristics ..................................................................... 160 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 6 Version 1.5 HMS30C7110 Tables Table 1.1 PQFP Pin List .............................................................................................. 17 Table 1.2 Pin Description............................................................................................ 26 Table 2.1 Power-up Configuration............................................................................. 32 Table 2.2 System Memory Map : SDRAM_REMAP = 0 ............................................. 33 Table 2.3 System Memory Map : SDRAM_REMAP = 1 ............................................. 34 Table 2.4 Register Map at AMBA Peri-Bus............................................................... 35 Table 2.5 Register Map at AMBA Host-Bus.............................................................. 37 Table 2.6 Cache and Write Buffer Control Register ................................................. 42 Table 2.7 Registers for PLL & Watchdog Timer....................................................... 47 Table 2.8 PLL control.................................................................................................. 47 Table 2.9 Watch Dog Timer control ........................................................................... 48 Table 2.10 Watch Dog Timer Interval........................................................................ 48 Table 2.11 Main PLL Control...................................................................................... 49 Table 2.12 PLL Status................................................................................................. 50 Table 2.13 Registers for ROM controller................................................................... 54 Table 2.14 Configuration Registers Bit Definition..................................................... 54 Table 2.15 Registers for SDRAM controller .............................................................. 59 Table 2.16 Configuration register .............................................................................. 59 Table 2.17 Timing register ......................................................................................... 60 Table 2.18 Refresh Interval ........................................................................................ 61 Table 2.19 INIT Control register................................................................................ 62 Table 2.20 Address Control register.......................................................................... 63 Table 2.21 Initialization Sequence.............................................................................. 65 Table 2.22 Registers for Ethernet MAC..................................................................... 71 Table 2.23 MAC Mode Register Bit Definition .......................................................... 73 Table 2.24 Interrupt Source Bit Definition................................................................. 75 Table 2.25 Interrupt Enable Bit Definition ................................................................. 76 Table 2.26 Inter-Frame Gap Register........................................................................ 79 Table 2.27 Collision Configuration Definition ............................................................ 80 Table 2.28 Transmit Buffer Address.......................................................................... 80 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 7 Version 1.5 HMS30C7110 Table 2.29 Transmit Buffer Length............................................................................ 81 Table 2.30 Receive Buffer Address ........................................................................... 81 Table 2.31 Receive Frame Status............................................................................... 82 Table 2.32 Receive Buffer Level................................................................................ 82 Table 2.33 RX Address Return ................................................................................... 83 Table 2.34 Control Mode Register Bit Definition ...................................................... 83 Table 2.35 MII Mode Register Bit Definition ............................................................. 84 Table 2.36 MII Command Register Definition ............................................................ 85 Table 2.37 MII Transmit Data Register...................................................................... 87 Table 2.38 MII Receive Data Register ....................................................................... 87 Table 2.39 Length Register ........................................................................................ 87 Table 2.40 Multicast Address (Most Significant) ...................................................... 88 Table 2.41 Multicast Address (Least Significant) ..................................................... 88 Table 2.42 MAC Address 0 (Control & Byte 5, 4) .................................................... 89 Table 2.43 MAC Address 1 (Byte 3, 2, 1, 0) ............................................................. 89 Table 2.44 Pause Frame Address 0 ........................................................................... 90 Table 2.45 Pause Frame Address 1 ........................................................................... 91 Table 2.46 Pause Frame Type ID and OP Code ........................................................ 91 Table 2.47 Pause frame delay value .......................................................................... 92 Table 2.48 TX High Priority Queue Base Address.................................................... 92 Table 2.49 TX High Priority Queue Length ............................................................... 92 Table 2.50 TX Low Priority Queue Level .................................................................. 93 Table 2.51 TX Low Priority Queue Address Return ................................................. 93 Table 2.52 TX High Priority Queue Level ................................................................. 94 Table 2.53 TX High Priority Queue Address Return................................................. 94 Table 2.54 Registers for UART .................................................................................. 97 Table 2.55 RHR Bit Definition..................................................................................... 98 Table 2.56 THR Bit Definition .................................................................................... 98 Table 2.57 IER Bit Definition ...................................................................................... 99 Table 2.58 IIR Bit Definition ....................................................................................... 99 Table 2.59 Interrupt Control Functions.................................................................... 100 Table 2.60 FCR Bit Definition ................................................................................... 101 Table 2.61 LCR Bit Definition ................................................................................... 102 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 8 Version 1.5 HMS30C7110 Table 2.62 MCR Bit Definition .................................................................................. 103 Table 2.63 Autoflow Control Configuration ............................................................. 103 Table 2.64 LSR Bit Definition ................................................................................... 104 Table 2.65 MSR Bit Definition .................................................................................. 105 Table 2.66 DLL Bit Definition ................................................................................... 106 Table 2.67 DLM Bit Definition .................................................................................. 107 Table 2.68 Registers for TIMER............................................................................... 108 Table 2.69 Clock Selection Register Bit Definition ................................................. 109 Table 2.70 Timer Control Register Bit Definition ................................................... 110 Table 2.71 Timer Interval Register Bit Definition ................................................... 110 Table 2.72 Current Timer Value Register Bit Definition ........................................ 111 Table 2.73 Interrupt Source Register Bit Definition................................................ 111 Table 2.74 Interrupt Enable ...................................................................................... 112 Table 2.75 Registers for GPIO.................................................................................. 113 Table 2.76 GPO Data Register Bit Definition........................................................... 114 Table 2.77 GPI Data Register Bit Definition ............................................................ 114 Table 2.78 GPIO Direction Register Bit Definition .................................................. 115 Table 2.79 Interrupt Source Register Bit Definition................................................ 115 Table 2.80 The Bit Definition of the Interrupt Enable Register ............................. 116 Table 2.81 Interrupt Mode Register Bit Definition .................................................. 116 Table 2.82 Interrupt Level Register Bit Definition .................................................. 116 Table 2.89 Registers for SPI..................................................................................... 119 Table 2.90 SPI Control Register Bit Definition........................................................ 120 Table 2.91 Configuration Register Bit Definition .................................................... 120 Table 2.92 Tx Data Register Bit Definition ............................................................. 121 Table 2.93 Rx Data Register Bit Definition.............................................................. 121 Table 2.94 Interrupt Source Register Bit Definition................................................ 121 Table 2.95 Interrupt Mask Register Bit Definition .................................................. 122 Table 2.96 SPI Status Register Bit Definition.......................................................... 122 Table 2.97 DMA Initial Source Register................................................................... 123 Table 2.98 DMA Initial Destination Register ........................................................... 124 Table 2.99 DMA Control Register ............................................................................ 124 Table 2.100 DMA Status Register ............................................................................ 125 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 9 Version 1.5 HMS30C7110 Table 2.101 DMA Mask Trigger Register................................................................ 126 Table 2.102 Interrupt Source Register..................................................................... 129 Table 2.103 Source Pending Register ...................................................................... 132 Table 2.104 Interrupt Mode Register ....................................................................... 133 Table 2.105 Interrupt Mask Register ....................................................................... 133 Table 2.106 Priority Register ................................................................................... 134 Table 2.107 Interrupt Pending Register................................................................... 135 Table 2.108 Interrupt Offset Register ...................................................................... 136 Table 2.109 Registers for PCMCIA .......................................................................... 137 Table 2.110 Registers for CardBus .......................................................................... 138 Table 2.111 IDR Bit Definition .................................................................................. 138 Table 2.112 ISR Bit Definition .................................................................................. 139 Table 2.113 ICR Bit Definition .................................................................................. 139 Table 2.114 GCR Bit Definition................................................................................. 140 Table 2.115 CSCR Bit Definition .............................................................................. 141 Table 2.116 IER Bit Definition .................................................................................. 141 Table 2.117 Setup Bit Definition .............................................................................. 142 Table 2.118 Command Bit Definition........................................................................ 142 Table 2.119 Recovery Bit Definition ........................................................................ 143 Table 2.120 Start Address Bit Definition ................................................................. 144 Table 2.121 End Address Bit Definition................................................................... 144 Table 2.122 GPIO direction registers Bit Definition ............................................... 145 Table 2.123 GPO registers Bit Definition ................................................................ 145 Table 2.124 GPI registers Bit Definition.................................................................. 145 Table 2.125 GPIO muxing table ................................................................................ 146 Table 2.126 Command Bit Definition........................................................................ 147 Table 2.127 Status Bit Definition.............................................................................. 148 Table 2.128 Retry time register Bit Definition ........................................................ 149 Table 2.129 Clk select register Bit Definition ......................................................... 149 Table 3.1 Absolute maximum ratings ....................................................................... 150 Table 3.2 Recommended operating conditions ........................................................ 150 Table 3.3 DC Characteristics.................................................................................... 151 Table 3.4 A.C. Electrical Characteristics................................................................. 158 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 10 Version 1.5 HMS30C7110 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 11 Version 1.5 HMS30C7110 1. Product Overview The HMS30C7110® is a low-cost and high performance network processor for telecommunication equipments such as IP sharer, Wireless Local Area Network Access Point (WLAN-AP), Managed switch/Bridge/Hub, routers, and other devices that provide high-speed data networking. The HMS30C7110® includes an ARM7TDMI processor with unified cache, and common network functions such as dual Ethernet MAC, PCMCIA, and other common peripherals. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 12 Version 1.5 HMS30C7110 1.1. Summary of HMS30C7110® features System ■ 32-bit ARM7 Processor Core with cache ■ High Speed System Bus & Peripheral Bus ■ Supports both Big-Endian / Little-Endian modes ■ JTAG-based debug solution Cache ■ 4K Byte unified (data + instruction) ■ 4-way set associative ■ Write back policy ■ Read miss fill up ■ 8 word write buffer Ethernet MAC ■ Dual MAC with 10/100Base T ■ MII, RMII and 7-wire interface ■ 8 Ethernet MAC addresses ■ Internal loop-back mode ■ Allows programming of PHY active level signal ■ Pad insertion for minimum frame size (64 bytes) ■ Programmable maximum frame length (up to 2000 bytes) DMA Controller ■ 2-channel programmable DMA ■ UART DMA support UART ■ Independent 2-channel Tx/Rx ■ Full duplex mode ■ Hardware flow control for one channel © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 13 Version 1.5 HMS30C7110 ■ 16 byte internal Rx/Tx FIFOs to reduce data latency ■ Even, odd, forced one, and forced zero parity mode Interrupt Controller ■ Handles up to 32 interrupt sources ■ Supports hardware priority function ■ Programmable IRQ/FIQ mode ■ Operates as master mode ■ Configurable address and data width SPI Timer ■ Three channels of 32-bit timer ■ Selectable channel clock speed GPIO ■ Up to 13 GPI, 9 GPO (General Purpose Input Output) ports ■ Supports external interrupt inputs Memory Controller ■ Supports up to three 4MB banks (Flash/ROM) and one 128MB bank (SDRAM) ■ Supports all major SDRAM/ROM/Flash memories ■ Supports 32-bit data width for SDRAM ■ Supports 8-bit, 16-bit, and 32-bit data width for Flash/ROM PCMCIA Controller ■ Supports 16-bit PC Card host interface ■ Supports CardBus Note: 16-bit PCMCIA is designated as “16-bit PC Card” and 32-bit PCMCIA as “CardBus”. PC card is the card suitable for insertion in PCMCIA slot. Physical Characteristics © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 14 Version 1.5 HMS30C7110 ■ Operating Voltage: Core 2.5V, I/O 3.3V ■ Technology: 0.25um CMOS ■ Operating Temperature: 0 ~ 70° C ■ Operating Frequency: 70 MHz ■ Package Type: 208 PQFP © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 15 Version 1.5 HMS30C7110 1.2. Block Diagram ARM7 TDMI JTAG IIC SP I PL CL L K Arbite Decode r r TIME R CPU I/F Cache Bus I/F Interrup t Controller Arbite Decode r r MEMC GPIO Peripheral Bus System Bus DMA 0 PC card Controller (16-bits , 32-bits) DMA 1 Bu s Bridge UART 0 UART 1 ENET 0 ENET 1 Figure 1.1 HMS30C7110® Block Diagram © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 16 Version 1.5 HMS30C7110 1.3. Pin Assignments Table 1.1 PQFP Pin List Pin # Pin Name IO Pad Description Type 1 MODE I PICD Operation Mode MODE TESTSE Contents 0 0 Normal Operation 0 1 NANDTREE/BIST/PLL Test 1 0 Parallel Capture for ATPG 1 1 Scan Shift for ATPG 2 TESTSE I PICD Test Scan Enable. Refer to the description for Pin 1 3 nRESET I PICS System Reset, active low 4 VSSP P 5 MCLK I PICS 6 SCLK O POC8A 7 VSSI P 8 ADDR21/Endian BD VSS for IO SDRAM Memory Feedback Clock SDRAM clock VSS for core PBCD8A Address Bus/Endian at Reset period. . Pulled down internally over 50 Kohm. 0: Little Endian (Default) 1: Big Endian 9 ADDR20/Boot32 BD PBCD8A Address Bus/Boot32 at Reset period. Pulled down internally over 50 Kohm. 0: 16-bit booting(Default) 1: 32-bit booting 10 ADDR19/Boot16-8 BU PBCU8A Address Bus/Boot16-8 at Reset. Pulled up internally over 50 Kohm. 0: 8-bit booting 1: 16-bit booting(Default) 11 ADDR18/Bypass BU PBCU8A Address Bus/Bypass Internal Power-On-Reset Circuit. Pulled up internally over 50 Kohm. The active output width is over 1.5 Sec when 10MHz main clock is used. 0: Use internal Power-On-Reset ciruit 1: Bypass internal Power-On-Reset circuit (Default) © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 17 Version 1.5 HMS30C7110 Provide external 10 Kohm pull-down to use internal RESET 12 ADDR17 O POC8A Address Bus 13 VCCI P 14 ADDR16 O POC8A Address Bus 15 ADDR15 O POC8A Address Bus 16 ADDR14/BA1 O POC8A Address Bus/SDRAM Bank Address 1 17 ADDR13/BA0 O POC8A Address Bus/SDRAM Bank Address 0 18 ADDR12 O POC8A Address Bus 19 ADDR11 O POC8A Address Bus 20 VCCP P 21 ADDR10 O POC8A Address Bus 22 ADDR9 O POC8A Address Bus 23 ADDR8 O POC8A Address Bus 24 ADDR7 O POC8A Address Bus 25 ADDR6 O POC8A Address Bus 26 VSSP P 27 ADDR5 O POC8A Address Bus 28 ADDR4 O POC8A Address Bus 29 ADDR3 O POC8A Address Bus 30 ADDR2 O POC8A Address Bus 31 ADDR1 O POC8A Address Bus 32 ADDR0 O POC8A Address Bus 33 VSSI P 34 DATA31 BU PBCU8A Data Bus 35 DATA30 BU PBCU8A Data Bus 36 DATA29 BU PBCU8A Data Bus 37 DATA28 BU PBCU8A Data Bus 38 DATA27 BU PBCU8A Data Bus 39 DATA26 BU PBCU8A Data Bus 40 VSSP P 41 DATA25 BU PBCU8A Data Bus 42 DATA24 BU PBCU8A Data Bus VDD for core VDD for IO VSS for IO VSS for core VSS for IO © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 18 Version 1.5 HMS30C7110 43 DATA23 BU PBCU8A Data Bus 44 DATA22 BU PBCU8A Data Bus 45 DATA21 BU PBCU8A Data Bus 46 DATA20 BU PBCU8A Data Bus 47 VCCP P 48 DATA19 BU PBCU8A Data Bus 49 DATA18 BU PBCU8A Data Bus 50 DATA17 BU PBCU8A Data Bus 51 DATA16 BU PBCU8A Data Bus 52 DATA15 BU PBCU8A Data Bus 53 VSSP P 54 DATA14 BU PBCU8A Data Bus 55 DATA13 BU PBCU8A Data Bus 56 DATA12 BU PBCU8A Data Bus 57 DATA11 BU PBCU8A Data Bus 58 DATA10 BU PBCU8A Data Bus 59 DATA9 BU PBCU8A Data Bus 60 VCCI P 61 DATA8 BU PBCU8A Data Bus 62 DATA7 BU PBCU8A Data Bus 63 DATA6 BU PBCU8A Data Bus 64 DATA5 BU PBCU8A Data Bus 65 DATA4 BU PBCU8A Data Bus 66 DATA3 BU PBCU8A Data Bus 67 VSSI P 68 DATA2 BU PBCU8A Data Bus 69 DATA1 BU PBCU8A Data Bus 70 DATA0 BU PBCU8A Data Bus 71 nSCS O POC8A SDRAM Chip Select 72 nRAS O POC8A Row Address Strobe 73 nCAS O POC8A Column Address Strobe 74 nSWE O POC8A SDRAM Write Enable VDD for IO VSS for IO VDD for core VSS for core © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 19 Version 1.5 HMS30C7110 75 VCCP P VDD for IO 76 DQM3 O POC8A SDRAM Data Mask 3 77 DQM2 O POC8A SDRAM Data Mask 2 78 DQM1 O POC8A SDRAM Data Mask 1 79 DQM0 O POC8A SDRAM Data Mask 0 80 GPI[11] B PBC4A GPIO input bit 11 81 GPI[12] B PBC4A GPIO input bit 12 82 VCCI P 83 nRCS2 O POC4A ROM/FLASH Chip Select 84 nRCS1 O POC4A ROM/FLASH Chip Select 85 nRCS0 O POC4A ROM/FLASH Chip Select 86 nROE O POC8A ROM/FLASH Output Enable 87 nRWE O POC8A ROM/FLASH Write Enable 88 VCCP P 89 E0_COL/ /GPI[3] I PIC Collision/GPI[3] 90 E0_CRS/E0_CRSDV I PIC Carrier Sense from the Ethernet PHY 91 E0_TXD3/ GPO[5] O POC4A Transmit Data from the Ethernet PHY/GPO[5] 92 E0_TXD2/GPO[4] O POC4A Transmit Data from the Ethernet PHY/GPO[4] 93 E0_TXD1/ E0_TXD1 O POC4A Transmit Data from the Ethernet PHY/ 94 E0_TXD0/ E0_TXD0 O POC4A Transmit Data from the Ethernet PHY 95 E0_TXEN/ E0_TXEN O POC4A Transmit Data Enable to the Ethernet PHY 96 VSSP P 97 E0_TXCLK I PICS 98 E0_TXER/ GPO[3] O POC4A 99 E0_RXER/ E0_RXER I PIC 100 E0_RXCLK/E0_CLK I PICS 101 E0_RXDV/ GPI[6] I PIC Receive Data Valid from the Ethernet PHY/GPI[6] 102 E0_RXD0 /E0_RXD0 I PIC Receive Data from the Ethernet PHY 103 E0_RXD1/ E0_RXD1 I PIC Receive Data from the Ethernet PHY 104 E0_RXD2/ GPI[4] I PIC Receive Data from the Ethernet PHY/GPI[4] 105 E0_RXD3/ GPI[5] I PIC Receive Data from the Ethernet PHY/GPI[5] 106 E0_MDC O POC4A VDD for core VDD for IO VSS for IO Transmit Clock from the Ethernet PHY Transmit Data Error to the Ethernet PHY/GPO[3] Receive Data Error from the Ethernet PHY Receive Clock from the Ethernet PHY Receive Data from the Ethernet PHY © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 20 Version 1.5 HMS30C7110 107 E0_MDIO B PBCC4A Receive Data from the Ethernet PHY 108 PLLVCC P 109 CLKI I POSC1 Main Clock In for crystal (10~20MHz) 110 CLKO O POSC1 Main Clock Out for crystal (10~20MHz) 111 PLLVSS P 112 E1_COL/ GPI[7] I PIC Collision/GPI[7] 113 E1_CRS/E1_CRSDV I PIC Carrier Sense from the Ethernet PHY 114 E1_TXD3/ GPO[8] O POC4A Transmit Data from the Ethernet PHY/GPO[8] 115 E1_TXD2/ GPO[7] O POC4A Transmit Data from the Ethernet PHY/GPO[7] 116 E1_TXD1/ E1_TXD1 O POC4A Transmit Data from the Ethernet PHY 117 E1_TXD0/ E1_TXD0 O POC4A Transmit Data from the Ethernet PHY 118 E1_TXEN/ E1_TXEN O POC4A Transmit Data Enable to the Ethernet PHY 119 E1_TXCLK I PICS 120 E1_TXER/ GPO[6] O POC4A 121 VSSP P 122 E1_RXER/ E1_RXER I PIC 123 E1_RXCLK/ E1_CLK I PICS 124 E1_RXDV/ GPI[10] I PIC Receive Data Valid from the Ethernet PHY/GPI[10] 125 E1_RXD0/ E1_RXD0 I PIC Receive Data from the Ethernet PHY 126 E1_RXD1/ E1_RXD1 I PIC Receive Data from the Ethernet PHY 127 E1_RXD2/ GPI[8] I PIC Receive Data from the Ethernet PHY/GPI[8] 128 E1_RXD3/ GPI[9] I PIC Receive Data from the Ethernet PHY/GPI[9] 129 VCCP P 130 UTXD O POC4A UART channel Tx Data 131 URXD I PIC UART channel Rx Data 132 nCCD_02/CDO B PBC4A CD1 input/ SPI Data Output 133 nCCD_01/CCLK B PBC4A CD2 input/ SPI Clock Output 134 CVS2/nCCS B PBC4A VS 1/ SPI Chip Select 135 CVS1/CDI B PBC4A VS 1/ SPI Data Input 136 RESET_nCRST O POC8A Card Reset 137 VSSP P 138 nWAIT_nCSERR/RxD BU VDD for PLL VSS for PLL Transmit Clock from the Ethernet PHY Transmit Data Error to the Ethernet PHY/GPO[6] VSS for IO Receive Data Error from the Ethernet PHY Receive Clock from the Ethernet PHY VDD for IO VSS for IO PBCU4A Wait from 16-bit PC Card / RxData for UART 1 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 21 Version 1.5 HMS30C7110 139 nCE2_CAD10 BU PBCU4A Chip enable 0 for 16-bit PC Card/CardBus Address Data 140 nCE1_nCBE0 BU PBCU4A Chip enable for 16-bit PC Card/CardBus CBE0 141 nWE_nCGNT BU PBCU4A Write enable for 16-bit PC Card /CardBus CGNT 142 nOE_CAD11 BU PBCU4A Read enable for 16-bit PC Card /CardBus Address Data 143 WP/nIOIS16_nCCLKRU BU PBCU4A Write Protect / IO Size 16 (*DMA Request for IO mode 3)/CardBus CCLKRUN PBCU4A Attribute Memory Select for 16-bit PC Card / DMA Acknowledge N 144 nREG_nCBE3 / DACK BU 145 VCCI P 146 nIORD_CAD13 BU PBCU4A I/O Read for 16-bit PC Card /CardBus Address Data 147 nIOWR_CAD15 BU PBCU4A I/O Write for 16-bit PC Card /CardBus Address Data 148 nINPACK_nCREQ BU PBCU4A Input Acknowledge for 16-bit PC Card (*DMA Request for IO mode 2)/CardBus VDD for core CREQ 149 nSTSCHG_CSTSCHG BU PBCU4A Status Change from 16-bit PC Card / CTS for UART 1 150 READY/nIREQ_nCINT BU PBCU4A Initialization Ready from 16-bit PC Card/CardBus Interrupt Request 151 D15_CAD8 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 152 VSSI P 153 D14 BU PBCU4A 16-bit PC CARD Data 154 D13_CAD6 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 155 D12_CAD4 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 156 D11_CAD2 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 157 D10_CAD31 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 158 D9_CAD30 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 159 VCCP P 160 D8_CAD28 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 161 D7_CAD7 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 162 D6_CAD5 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 163 D5_CAD3 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 164 D4_CAD1 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 165 D3_CAD0 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 166 VSSI P 167 D2 BU PBCU4A 16-bit PC CARD Data 168 D1_CAD29 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data VSS for core VDD for IO VSS for core © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 22 Version 1.5 HMS30C7110 169 D0_CAD27 BU PBCU4A 16-bit PC CARD Data/CardBus Address Data 170 A25_CAD19/TXD1 BU PBCU4A 16-bit Pc Card Address/CardBus Address Data / TxData for UART 1 171 A24_CAD17 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 172 VSSP P 173 A23_nCFRAME BU PBCU4A 16-bit PC Card Address/CardBus Frame 174 A22_nCTRDY BU PBCU4A 16-bit PC Card Address/CardBus TRDY 175 A21_nCDEVSEL BU PBCU4A 16-bit PC Card Address/CardBus Dev Sel 176 A20_nCSTOP BU PBCU4A 16-bit PC Card Address/CardBus STOP 177 A19_nCBLOCK BU PBCU4A 16-bit PC Card Address/CardBus CBLOCK 178 A18 B PBC4A 179 A17_CAD16 BU PBCU4A 180 VCCP P 181 A16_CCLK B PBC8A 16-bit PC Card Address/CCLK 182 A15_nCIRDY BU PBCU4A 16-bit PC Card Address/CIRDY 183 A14_nCPERR BU PBCU4A 16-bit PC Card Address/CPERR 184 A13_CPAR BU PBCU4A 16-bit PC Card Address/CPAR 185 A12_nCCBE2 BU PBCU4A 16-bit PC Card Address/CCBE2 186 VCCI P 187 A11_CAD12 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 188 A10_CAD9 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 189 A9_CAD14 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 190 A8_nCCBE1 BU PBCU4A 16-bit PC Card Address/CardBus CCBE1 191 A7_CAD18 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 192 A6_CAD20 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 193 VSSP P 194 A5_CAD21 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 195 A4_CAD22 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 196 A3_CAD23 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 197 A2_CAD24 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 198 A1_CAD25 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 199 A0_CAD26 BU PBCU4A 16-bit PC Card Address/CardBus Address Data 200 VCCP P VSS for IO 16-bit PC Card Address 16-bit PC Card Address/CardBus Address Data VDD for IO VDD for core VSS for IO VDD for IO © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 23 Version 1.5 HMS30C7110 201 TMS ID PICDD JTAG Test Mode 202 TCK I PICS JTAG Clock 203 TRST ID PICSD JTAG Reset 204 TDI IU PICDU JTAG Data In 205 TDO O POC4A JTAG Data Out 206 GPIO2/Wait B PBC4A GPIO port/Wait Input 207 GPIO1 B PBC4A GPIO port 208 GPIO0 B PBC4A GPIO port Note: IO classification (weak pull-up and weak pull-down is pull-up/down with over 50 Kohm.) B: Bidirectional, I: Input, O:Output, BU:Bidirectional with weak pull-up IU: Input with weak pull-up, OU: Output with weak pull-up, ID: Input with weak pull-down, BD: Bidirectional with weak pull-down © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 24 Version 1.5 HMS30C7110 208 207 206 205 204 203 202 201 200 199 198 197 196 195 194 193 192 191 190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171 170 169 168 167 166 165 164 163 162 161 160 159 158 157 GPIO[0] GPIO[1] GPIO[2] TDO TDI TRST TCK TMS VDDP RADDR[0]/CAD[26] RADDR[1]/CAD[25] RADDR[2]/CAD[24] RADDR[3]/CAD[23] RADDR[4]/CAD[22] RADDR[5]/CAD[21] VSSP RADDR[6]/CAD[20] RADDR[7]/CAD[18] RADDR[8]/nBE1 RADDR[9]/CAD[14] RADDR[10]/CAD[9] RADDR[11]/CAD[12] VDDI RADDR[12]/nBE2 RADDR[13]/nCPAR RADDR[14]/nCPERR RADDR[15]/nCIRDY RADDR[16]/CCLK VDDP RADDR[17]/CAD[16] RADDR[18]/RFU RADDR[19]/nCBLOCK RADDR[20]/nCSTOP RADDR[21]/nCDEVSEL CTS/nCTRDY RTS/nCFRAME VSSP RXD[1]/CAD[17] TXD[1]/CAD[19] RDATA[0]/CAD[27] RDATA[1]/CAD[29] RDATA[2] VSSI RDATA[3]/CAD[0] RDATA[4]/CAD[1] RDATA[5]/CAD[3] RDATA[6]/CAD[5] RDATA[7]/CAD[7] RDATA[8]/CAD[28] VDDP RDATA[9]/CAD[30] RDATA[10]/CAD[31] 1.4. Package Pin Diagram (PQ208) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 HMS30C7110 PQ208 XXXX 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 RDATA[11]/CAD[2] RDATA[12]/CAD[4] RDATA[13]/CAD[6] RDATA[14] VSSI RDATA[15]/CAD[8] nIREQ, READY/nCINT nSTSCHG nDREQ, nINPACK/nCREQ nIOWR/CAD15 nIORD/CAD13 VDDI nREG/nBE3 nIOIS16/nCCLKRUN nOE/CAD11 nWE/nCGNT nCE2/nBE0 nCE1/CAD10 nWAIT/nCSERR VSSP nRESETOUT CDI/VS1 nCCS/VS2 CCLK/CD1 CDO/CD2 URXD UTXD VDDP E1_RXD[3]/GPI[9] E1_RXD[2]/GPI[8] E1_RXD[1] E1_RXD[0]] E1_RXDV/GPI[10] E1_RXCLK/E1_REFCLK E1_RXER VSSP E1_TXER/GPO[6] E1_TXCLK E1_TXEN E1_TXD[0] E1_TXD[1] E1_TXD[2]/GPO[7] E1_TXD[3]/GPO[8] E1_CRS/E0_CRS_DV E1_COL/GPI[7] PLLVSS CLKO CLKI PLLVDD E0_MDIO E0_MDC E0_RXD[3]/GPI[5] VSSP DATA[14] DATA[13] DATA[12] DATA[11] DATA[10] DATA[9] VDDI DATA[8] DATA[7] DATA[6] DATA[5] DATA[4] DATA[3] VSSI DATA[2] DATA[1] DATA[0] nSCS nRAS nCAS nSWE VDDP DQM[3] DQM[2] DQM[1] DQM[0] SDA SCL VDDI nRCS[2] nRCS[1] nRCS[0] nROE nRWE VDDP E0_COL/GPI[3] E0_CRS/E0_CRS_DV E0_TXD[3]/GPO[5] E0_TXD[2]/GPO[4] E0_TXD[1] E0_TXD[0] E0_TXEN VSSP E0_TXCLK E0_TXER/GPO[3] E0_RXER E0_RXCLK/E0_REFCLK E0_RXDV/GPI[6] E0_RXD[0] E0_RXD[1] E0_RXD[2]/GPI[4] 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 MODE TESTSE nRESET VSSP MCLK SCLK VSSI ADDR[21]/Endian ADDR[20]/Boot32 ADDR[19]/Boot16-8 ADDR[18]/Bypass ADDR[17] VDDI ADDR[16] ADDR[15] ADDR[14] ADDR[13] ADDR[12] ADDR[11] VDDP ADDR[10] ADDR[9] ADDR[8] ADDR[7] ADDR[6] VSSP ADDR[5] ADDR[4] ADDR[3] ADDR[2] ADDR[1] ADDR[0] VSSI DATA[31] DATA[30] DATA[29] DATA[28] DATA[27] DATA[26] VSSP DATA[25] DATA[24] DATA[23] DATA[22] DATA[21] DATA[20] VDDP DATA[19] DATA[18] DATA[17] DATA[16] DATA[15] Figure 1.2 HMS30C7110® 208-Pin PQFP Assignment (top view) © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 25 Version 1.5 HMS30C7110 1.5. Pin Description Table 1.2 Pin Description Block Port Direction Description System MODE I Operation Mode Configuration TESTSE I Test Scan Enable (5) nRESET I System Reset, active low CLKI I Main Clock In for crystal (10~20MHz) CLKO O Main Clock Out for crystal (10~20MHz) Ethernet MTXCLK I Transmit Nibble or Symbol Clock from the PHY MAC MTXD[3:0] O Transmit Data Nibble (53) MTXEN O Transmit Enable MTXERR O Transmit Coding Error MRXCLK I Receive Nibble or Symbol Clock from the PHY MRXDV I Receive Data Valid from the PHY MRXD[3:0] I Receive Data Nibble MRXERR I Receive Error from the PHY MCOLL I Collision Detected from the PHY MCRS I Carrier Sense from the PHY MDC I Management Data Clock MDIO I/O E0_COL I Collision from the Ethernet PHY0 E0_CRS I Carrier Sense from the Ethernet PHY0 E0_TXD[3-0] O Transmit Data from the Ethernet PHY0 E0_TXEN O Transmit Data Enable to the Ethernet PHY0 E0_TXCLK I Transmit Clock from the Ethernet PHY0 E0_TXER O Transmit Data Error to the Ethernet PHY0 E0_RXER I Receive Data Error from the Ethernet PHY0 E0_RXCLK I Receive Clock from the Ethernet PHY0 E0_RXDV I Receive Data Valid from the Ethernet PHY0 E0_RXD[3-0] I Receive Data from the Ethernet PHY0 Management Data Input/Output © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 26 Version 1.5 HMS30C7110 E0_MDC O Receive Data from the Ethernet PHY0 E0_MDIO B Receive Data from the Ethernet PHY0 E1_COL I Collision from the Ethernet PHY1 E1_CRS I Carrier Sense from the Ethernet PHY E1_TXD[3-0] O Transmit Data from the Ethernet PHY1 E1_TXEN O Transmit Data Enable to the Ethernet PHY1 E1_TXCLK I Transmit Clock from the Ethernet PHY1 E1_TXER O Transmit Data Error to the Ethernet PHY1 E1_RXER I Receive Data Error from the Ethernet PHY1 E1_RXCLK I Receive Clock from the Ethernet PHY1 E1_RXDV I Receive Data Valid from the Ethernet PHY1 E1_RXD[3-0] I Receive Data from the Ethernet PHY1 SDRAM MCLK I SDRAM Memory Feedback Clock Controller SCLK O SDRAM clock (64) nSCS O SDRAM Chip Select nRAS O Row Address Strobe nCAS O Column Address Strobe NSWE O SDRAM Write Enable DQM3 O SDRAM Data Mask 3 DQM2 O SDRAM Data Mask 2 DQM1 O SDRAM Data Mask 1 DQM0 O SDRAM Data Mask 0 ADDR[21-0] B Address Bus DATA[31-0] B Data Bus Flash/ROM nRCS[2-0] O ROM/FLASH Chip Select Controller nROE O ROM/FLASH Output Enable (59) nRWE O ROM/FLASH Write Enable ADDR[21-0] B Address Bus DATA[31-0] B Data Bus PCMCIA nWAIT_nCSERR I Wait from 16-bit PC Card / CardBus CSERR Controller nCE2_CAD10 O Chip enable 0 for 16-bit PC Card/CardBus Address (53) Data © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 27 Version 1.5 HMS30C7110 nCE1_nCBE0 I Chip enable 1 for 16-bit PC Card/CardBus CBE0 nWE_nCGNT O Write enable/CardBus CGNT nOE_CAD11 B Read enable/CardBus Address Data WP/nIOIS16_nCCLKRUN I Write Protect / IO Size 16 (*DMA Request for IO mode 3) nREG_nCBE3 / DACK O Attribute Memory Select / DMA Acknowledge nIORD_CAD13 B I/O Read for 16-bit PC Card/CardBus Address Data nIOWR_CAD15 B I/O Write for 16-bit PC Card/CardBus Address Data nINPACK_nCREQ I Input Acknowledge (*DMA Request for IO mode 2) nSTSCHG_CSTSCHG I Status Change from 16-bit PC Card / CTS for UART 1 READY/nIREQ_nCINT I Initialization Ready from 16-bit PC Card / CardBus Interrupt Request D15_CAD8 B 16-bit PC CARD Data/CardBus Address Data D14 B 16-bit PC CARD Data D13_CAD6 B 16-bit PC CARD Data/CardBus Address Data D12_CAD4 B 16-bit PC CARD Data/CardBus Address Data D11_CAD2 B 16-bit PC CARD Data/CardBus Address Data D10_CAD31 B 16-bit PC CARD Data/CardBus Address Data D9_CAD30 B 16-bit PC CARD Data/CardBus Address Data D8_CAD28 B 16-bit PC CARD Data/CardBus Address Data D7_CAD7 B 16-bit PC CARD Data/CardBus Address Data D6_CAD5 B 16-bit PC CARD Data/CardBus Address Data D5_CAD3 B 16-bit PC CARD Data/CardBus Address Data D4_CAD1 B 16-bit PC CARD Data/CardBus Address Data D3_CAD0 B 16-bit PC CARD Data/CardBus Address Data D2 B 16-bit PC CARD Data D1_CAD29 B 16-bit PC CARD Data/CardBus Address Data D0_CAD27 B 16-bit PC CARD Data/CardBus Address Data A25_CAD19/TXD1 B 16-bit PC Card Address/CardBus Address Data / TxData for UART 1 A24_CAD17 B 16-bit PC Card Address/CardBus Address Data A23_nCFRAME B 16-bit PC Card Address/CardBus Frame © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 28 Version 1.5 HMS30C7110 A22_nCTRDY B 16-bit PC Card Address/CardBus TRDY A21_nCDEVSEL B 16-bit PC Card Address/CardBus Dev Sel A20_nCSTOP B 16-bit PC Card Address/CardBus STOP A19_nCBLOCK B 16-bit PC Card Address/CardBus CBLOCK A18 B 16-bit PC Card Address A17_CAD16 B 16-bit PC Card Address/CardBus Address Data A16_CCLK B 16-bit PC Card Address/ CardBus CCLK A15_nCIRDY B 16-bit PC Card Address/ CardBus CIRDY A14_nCPERR B 16-bit PC Card Address/ CardBus CPERR A13_CPAR B 16-bit PC Card Address/ CardBus CPAR A12_nCCBE2 B 16-bit PC Card Address/ CardBus CCBE2 A11_CAD12 B 16-bit PC Card Address/CardBus Address Data A10_CAD9 B 16-bit PC Card Address/CardBus Address Data A9_CAD14 B 16-bit PC Card Address/CardBus Address Data A8_nCCBE1 B 16-bit PC Card Address/ CardBus CCBE1 A7_CAD18 B 16-bit PC Card Address/CardBus Address Data A6_CAD20 B 16-bit PC Card Address/CardBus Address Data A5_CAD21 B 16-bit PC Card Address/CardBus Address Data A4_CAD22 B 16-bit PC Card Address/CardBus Address Data A3_CAD23 B 16-bit PC Card Address/CardBus Address Data A2_CAD24 B 16-bit PC Card Address/CardBus Address Data A1_CAD25 B 16-bit PC Card Address/CardBus Address Data A0_CAD26 B 16-bit PC Card Address/CardBus Address Data UART UTXD O Tx Data for UART channel0 (6) URXD I Rx Data for UART channel0 A25_CAD19/TXD1 O Tx Data for UART channel1 nWAIT_nCSERR/RxD I Rx Data for UART channel1 nINPACK_nCREQ I CTS for UART 1 nSTSCHG_CSTSCHG O RTS for UART 1 GPIO GPI12-3 B GPIO input (21) GPO12-3 B GPIO output GPIO2-0 B GPIO inout © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 29 Version 1.5 HMS30C7110 SPI CCLK O SPI Clock Output (4) CDO O SPI Data Output CDI O SPI Data Input nCCS I SPI Chip Select 2. Functional Description The following internal functions will be covered in this section: © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 30 Version 1.5 HMS30C7110 System Configuration ARM7TDMI Core Cache Clock/Watch-dog Timer Memory Controller (FLASH/SRAM/PCMCIA) Memory Controller (SDRAM) Ethernet UART TIMER GPIO SPI DMA INTC PCMCIA Controller © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 31 Version 1.5 HMS30C7110 2.1. System Configuration This section describes system memory map and power-up configuration of HMS30C7110®. 2.1.1. Power-up Configuration The following table shows power-up configuration mapping based on mode configuration pins (MODE, TESTSE). Table 2.1 Power-up Configuration MODE TESTSE 0 0 Normal Operation 0 1 NANDTREE/BIST/PLL Test 1 0 Parallel Capture for ATPG 1 1 Scan Shift for ATPG 2.1.2. Contents System Memory Map The system memory map can be one of the following two configurations: 1. Memory Maps A. SDRAM_REMAP = 0 B. SDRAM_REMAP = 1 Two different memory maps can be selected by one of MEMC (SDRAM) registers. Refer to MEMC for details. Note 1: This address range is repeated in 0x4000_0000 ~ 0x7FFF_FFFF, 0x8000_0000 ~ 0xBFFF_FFFF, and 0xC000_0000 ~ 0xFFFF_FFFF. Note 2: 0x0000_0000 ~ 0x7FFF_FFFF is cacheable area and 0x8000_0000 ~ 0xFFFF_FFFF is non© 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 32 Version 1.5 HMS30C7110 cacheable area. Table 2.2 System Memory Map : SDRAM_REMAP = 0 Base Address Size Function 0x3e00_0000 32MB CardBus special cycle 0x3c00_0000 32MB CardBus configuration 0x3800_0000 64MB CardBus I/O 0x3000_0000 128MB CardBus memory 0x2c00_0000 64MB Reserved 0x2800_0000 64MB Attribute memory of PCMCIA 0x2400_0000 64MB Common memory of PCMCIA 0x2000_0000 64MB I/O area of PCMCIA 0x1960_0000 106MB Reserved 0x1950_0000 1MB 0x1948_0000 0.5MB CardBus Bridge registers 0x1940_0000 0.5MB PCMCIA Interface registers 0x1930_0000 1MB 0x1920_1000 996KB ENET MAC1 registers 0x1920_0000 4KB ENET MAC0 registers 0x1910_0000 1MB DMA registers 0x1908_0000 0.5MB SDRAMC registers 0x1900_0000 0.5MB ROMC registers 0x1860_0000 10MB Reserved 0x1850_0000 1MB Reserved 0x1840_0000 1MB SPI registers 0x1830_0000 1MB WDT/CLKRST registers 0x1820_0000 1MB GPIO registers 0x1810_0000 1MB TIMER registers 0x1808_0000 0.5MB UART1 registers 0x1800_0000 0.5MB UART0 registers 0x1000_0000 128MB SDRAM memory 0x0800_0000 128MB Reserved 0x0200_0000 96MB Reserved 0x0100_0000 16MB Flash/IO/SRAM bank-1 0x0000_0000 16MB Flash/IO/SRAM bank-0 CACHE registers INTC registers © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 33 Version 1.5 HMS30C7110 Table 2.3 System Memory Map : SDRAM_REMAP = 1 Base Address Size Function 0x3e00_0000 32MB CardBus special cycle 0x3c00_0000 32MB CardBus configuration 0x3800_0000 64MB CardBus I/O 0x3000_0000 128MB CardBus memory 0x2c00_0000 64MB Reserved 0x2800_0000 64MB Attribute memory of PCMCIA 0x2400_0000 64MB Common memory of PCMCIA 0x2000_0000 64MB I/O area of PCMCIA 0x1960_0000 106MB Reserved 0x1950_0000 1MB CACHE registers 0x1940_0000 1MB CARD Interface registers 0x1930_0000 1MB INTC registers 0x1920_0000 1MB ENET MAC registers 0x1910_0000 1MB DMA registers 0x1900_0000 1MB MEMC registers 0x1860_0000 10MB Reserved 0x1850_0000 1MB Reserved 0x1840_0000 1MB SPI registers 0x1830_0000 1MB WDT/CLKRST registers 0x1820_0000 1MB GPIO registers 0x1810_0000 1MB TIMER registers 0x1808_0000 0.5MB UART1 registers 0x1800_0000 0.5MB UART0 registers 0x1200_0000 96MB Reserved 0x1100_0000 16MB Flash/IO/SRAM bank-1 0x1000_0000 16MB Flash/IO/SRAM bank-0 0x0800_0000 128MB Reserved 0x0000_0000 128MB SDRAM memory © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 34 Version 1.5 HMS30C7110 2.1.3. Registers Map Table 2.4 Register Map at AMBA Peri-Bus BLOCK UART0 ADDRESS NAME R/W Reset Value 1800_0000 DATA FIFO R/W xxxx_xxxx _0004 Interrupt enable register R/W 0000_0000 _0008 Interrupt Identification register R/W 0000_0001 _000c Line control register R/W 0000_0000 _0010 Modem control Register R/W 0000_0000 _0014 Line Status Register R/W 0000_0000 _0018 Modem Status Register R/W 0000_0000 0001c – 7fffc RESERVED 0000_0000 1808_0000 DATA FIFO UART1 R/W xxxx_xxxx _0004 Interrupt enable register R/W 0000_0000 _0008 Interrupt Identification register R/W 0000_0001 _000c Line control register R/W 0000_0000 _0010 Modem control Register R/W 0000_0000 _0014 Line Status Register R/W 0000_0000 _0018 Modem Status Register R/W 0000_0000 8001c – ffffc RESERVED 0000_0000 1810_0000 Input clock selection for 3 channels Timer R/W 0000_0000 _0004 Channel enable R/W 0000_0000 _0008 Timer Interval For ch0 R/W 0000_0000 _000c Timer Interval For ch1 R/W 0000_0000 _0010 Timer Interval For ch2 R/W 0000_0000 _0014 Current Timer value For ch0 R 0000_0000 _0018 Current Timer value For ch1 R 0000_0000 _001c Current Timer value For ch2 R 0000_0000 _0020 Interrupt Pending Register R/W 0000_0000 _0024 Interrupt Enable R/W 0000_0000 00028 – ffffc RESERVED GPIO Interrupt Enable 1820_0000 General purpose output R/W 0000_0000 _0004 General purpose input R/W 0000_0000 _0008 GPIO direction (Output enable) R/W 0000_0000 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 35 Version 1.5 HMS30C7110 _000c Interrupt pending register R/W 0000_0000 _0010 Interrupt enable register R/W 0000_0000 _0014 Interrupt mode register R/W 0000_0000 _0018 Interrupt level register R/W 0000_0000 0001c – ffffc RESERVED 0000_0000 1830_0000 PLL control CLOCKRST R/W 0000_0008 _0004 WDT control R/W 0000_0000 _0008 WDT counter R/W 0000_0000 _000c PLL Control R/W a006_0080 R 0000_0000 _0010 PLL Status 00014 – ffffc RESERVED SPI 0011_0000 1840_0000 SPI Control R/W 0000_0000 _0004 SPI Mode 0 R/W 0000_0000 _0008 Reserved R/W _000c Reserved R/W _0010 Reserved R/W _0014 Reserved R/W _0018 SPI Tx Data W N/a _001c SPI Rx Data (R) / Rx Flush (W) R/W 0000_00xx _0020 SPI Interrupt Pending Register R/W 0000_0000 _0024 SPI Interrupt Enable Register R/W 0000_0000 R 0000_0001 _0028 SPI Status Register 0002c – ffffc RESERVED 0000_0000 1850_0000 IIC Control Register IIC R/W 0000_0000 _0004 IIC Buffer Register R/W Xxxx_xxxx _0008 IIC Baud Rate Register R/W 0000_0000 R 0000_0000 R/W 0000_0000 _000c IIC Data Length (in Byte) _0010 IIC Device Address 00014 – ffffc RESERVED 0000_0000 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 36 Version 1.5 HMS30C7110 Table 2.5 Register Map at AMBA Host-Bus BLOCK ROM Controller ADDRESS NAME R/W Reset Value 1900_0000 ROM Timing Control for Bank 0 R/W 0333_00ff _0004 ROM Timing Control for Bank 1 R/W 03ff_ffff _0008 ROM Timing Control for Bank 2 R/W 03ff_ffff 0000c – 7fffc RESERVED 0000_0000 1908_0000 SDRAM Configuration R/W 0000_003f _0010 SDRAM timing parameters R/W 7777_ff71 _0014 Refresh interval value & MCLK timing R/W 1303_0000 _0018 Initialize start register R/W 0000_0000 _001c Booting Control Register R/W 0000_0000 _0004 Reserved _0008 Reserved SDRAM Controller _000c Reserved 80020 – 7fffc RESERVED 0000_0000 1910_0000 DMA Initial Source Register for channel 0 R/W 0000_0000 _0004 DMA Initial Destination Register for CH0 R/W 0000_0000 _0008 DMA Control Register for CH0 R/W 0000_0000 _000c DMA Status Register for CH0 R 0000_0000 _0010 DMA Current Source Register for CH0 R 0000_0000 _0014 DMA Current Destination Register for CH0 R 0000_0000 R/W 0000_0000 _0020 DMA Initial Source Register for channel 1 R/W 0000_0000 _0024 DMA Initial Destination Register for CH 1 R/W 0000_0000 _0028 DMA Control Register for CH 1 R/W 0000_0000 _002c DMA Status Register for CH 1 R 0000_0000 _0030 DMA Current Source Register for CH 1 R 0000_0000 _0034 DMA Current Destination Register for CH 1 R 0000_0000 R/W 0000_0000 _0018 DMA Mask Trigger Register for CH0 DMA Controller _001c Reserved _0038 DMA Mask Trigger Register for CH 1 0003c – ffffc RESERVED 0000_0000 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 37 Version 1.5 HMS30C7110 Enet Mac 0 Controller 1920_0000 MAC mode register R/W 0002_0630 _0004 Interrupt Source register R/W 0000_0000 _0008 Interrupt Mask register R/W 0000_0000 _000c Inter-frame gap register R/W 0000_0018 _0010 Collision control register R/W 000f_2010 _0014 Transmit buffer base address Low R/W 0000_0000 _0018 Transmit buffer length Low R/W 0000_0000 _001c Receive buffer base address R/W 0000_0000 _0020 Receive buffer status R 0000_0000 _0024 Receive buffer level R/W 0000_0000 _0028 Receive buffer base address return R/W 0000_0000 _002c Control mode register R/W 0000_0000 _0030 MII mode register R/W 00f3_6400 _0034 MII command register R/W 0000_0000 _0038 MII transmit data R/W 0000_0000 _003c MII receive data R/W 0000_0000 _0040 Reserved R/W 0000_0000 _0044 Max, Min, burst length register R/W 05dc_2e90 _0048 Multicast Address (Most significant) R/W 0000_0000 _004c Multicast Address (Least significant) R/W 0000_0000 _0050 MAC address 0 (Higher 2 bytes) R/W 0000_0000 _0054 MAC address 0 (Lower 4 bytes) R/W 0000_0000 _0058 MAC address 1 (Higher 2 bytes) R/W 0000_0000 _005c MAC address 1 (Lower 4 bytes) R/W 0000_0000 _0060 MAC address 2 (Higher 2 bytes) R/W 0000_0000 _0064 MAC address 2 (Lower 4 bytes) R/W 0000_0000 _0068 MAC address 3 (Higher 2 bytes) R/W 0000_0000 _006c MAC address 3 (Lower 4 bytes) R/W 0000_0000 _0070 MAC address 4 (Higher 2 bytes) R/W 0000_0000 _0074 MAC address 4 (Lower 4 bytes) R/W 0000_0000 _0078 MAC address 5 (Higher 2 bytes) R/W 0000_0000 _007c MAC address 5 (Lower 4 bytes) R/W 0000_0000 _0080 MAC address 6 (Higher 2 bytes) R/W 0000_0000 _0084 MAC address 6 (Lower 4 bytes) R/W 0000_0000 _0088 MAC address 7 (Higher 2 bytes) R/W 0000_0000 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 38 Version 1.5 HMS30C7110 _008c MAC address 7 (Lower 4 bytes) R/W 0000_0000 _0090 Pause frame address (Higher 2 bytes) R/W 0000_0180 _0094 Pause frame address (Lower 4 bytes) R/W c200_0001 _0098 Pause frame Type / Op. code R/W 8808_0001 _009c Pause frame delay value R/W 0000_0018 _00a0 Transmit buffer base address (High priority) R/W 0000_0000 _00a4 Transmit buffer length (High priority) R/W 0000_0000 _00a8 TX queue buffer level (Low) R 0000_0000 _00ac TX address return (Low) R 0000_0000 _00b0 TX queue buffer level (High) R 0000_0000 _00b4 TX address return (High) R 0000_0000 000b8 – 00ffc RESERVED 0000_0000 1920_1000 Enet Mac 1 Controller Same Configuration as ... Enet Mac 0 Controller _10c8 010cc – ffffc RESERVED 0000_0000 1930_0000 Source Pending Register R/W 0000_0000 W 0000_0000 _0008 Interrupt Enable Mask Register R/W ffff_ffff _000c Interrupt Priority Control Register W 0000_003f R/W 0000_0000 R 0000_0020 _0004 Interrupt Mode Register Interrupt Controller _0010 Interrupt Pending Register _0014 Interrupt Offset Register 00018 – ffffc RESERVED PCMCIA Controller Prev_Read_value 1940_0000 Identification Register R 0000_0082 R 0000_0000 _0008 Interface Control Register (VS_out) R/W 0000_0000 _000c General Control Register R/W 0000_0001 _0004 Interface Status Register (VS_in) _0010 Card Status Change Register R _0014 Card Status Change Enable Register R/W 0000_0000 _0018 Setup Timing 0 Register for Bank 0 R/W 0000_000f _001c Command Timing 0 Register for Bank 0 R/W 0000_000f _0020 Recovery Timing 0 Register for Bank 0 R/W 0000_000f _0024 Setup Timing 1 Register for Bank 1 R/W 0000_000f _0028 Command Timing 1 Register for Bank 1 R/W 0000_000f _002c Recovery Timing 1 Register for Bank 1 R/W 0000_000f © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 39 Version 1.5 HMS30C7110 _0030 Setup Timing 2 Register for Bank 2 R/W 0000_000f _0034 Command Timing 2 Register for Bank 2 R/W 0000_000f _0038 Recovery Timing 2 Register for Bank 2 R/W 0000_000f _003c Reserved _0040 I/O Start Address 0 R/W _0044 I/O End Address 0 R/W N/a _0048 I/O Start Address 1 R/W 0000_0000 _004c I/O End Address 1 R/W 0000_0000 _0050 Direction control for GPIO-0 (Low) R/W 0000_0000 _0054 Direction control for GPIO-1 (High) R/W 0000_0000 _0058 Output value for GPIO-0 (Low) R/W 0000_0000 _005c Output value for GPIO-1 (High) R/W 0000_0000 _0060 Input value of GPI-0 (Low) R/W 0000_0000 _0064 Input value of GPI-1 (High) R/W 0000_0000 00068 – 7fffc RESERVED 0000_0000 1948_0000 CardBus Bridge Command Register CardBus Controller R/W 0000_0000 _0004 CardBus Bridge Status Register R/W 0000_0000 _0008 Retry Time Control Register R/W 0000_0000 _000c Clock Speed Selection Register R/W 0000_0000 80020 – ffffc RESERVED Cache 0000_0000 1950_0000 Cache Control Register 00004 – ffffc RESERVED R/W 0000_0000 Cache_con_reg © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 40 Version 1.5 HMS30C7110 2.1.4. ARM7TDMI Core Please refer to ARM7TDMI manual. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 41 Version 1.5 HMS30C7110 2.2. Cache This section describes the cache system of HMS30C7110®. 2.2.1. Architecture The cache of HMS30C7110® has the following characteristics. 1. 4K byte unified (data + instruction) 2. 4-way set associative 3. 64 sets 4. Write back policy 5. Read miss line fill up 6. 8 words depth write buffer This cache uses “write back policy” for high performance in write accesses to cacheable area. To ensure the memory consistency between cache and main memory it supports user controllable line flush mechanism. The 8 word-depth write-buffer is used to further boost up the performance. The bit position 31 of address (most significant bit) determines whether the access is cacheable or non-cacheable. Value of 0 at the 31st address bit (0x00000000H to 0x0fffffffH) is for cacheable area, while 1 (0x10000000H to 0x1fffffffH) is for non-cacheable area. The write buffer receives and keeps write accesses to cacheable/non-cacheable area and performs actual memory accesses when the bus is idle, program flow (dependency) forces, or user forces. Accesses to cacheable/non-cacheable area originally do not go into write buffer, i.e., directly go to main memory. However, user can change this by programming user controllable registers. 2.2.2. User Accessible Registers (Base = 0x1950_0000) There is one 32bit register to control the cache and write buffer operations (offset = 0x0). Table 2.6 Cache and Write Buffer Control Register Address : Bits 1950_0000 Access Default Description 31:20 RW 0x0 Reserved and should be set to 0. 19 0x0 This bit controls Burst Selection. RW © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 42 Version 1.5 HMS30C7110 0 – Out HBURST as 3’b011 (Increment 4) 1 – Out HBURST as 3’b001 (Increment) 18 RW 0x0 This bit controls the use of cache. 0 – Cache is used for Data and Instruction (Unified) 1 – Cache is used only for Instruction (I-Cache) 17 RW 0x0 This bit controls the “bufferability” of write accesses to cacheable areas. 0 – accesses to cacheable area are not stored into the write buffer. 1 – accesses to cacheable area are stored into the write buffer. Buffering write accesses to cacheable area can increase the performance, but in some cases it may cause problems. So it should be used with care. We recommend using the default value (non-bufferable) if user is not sure how to handle the consistency problem. 16 W 0x0 This bit flushes the current contents of the write buffer to the main memory (1 – flush). This is recommended to be used only when the cache is off. Normally it is better to read the same address of the previous write to flush the write buffer. 15:13 RW 0x0 These 3 bits control the burst length of the write buffer’s write operation. Value 0-7 means 1-8 burst length. As an example, burst length 1 means that write buffer tries to write the content of the buffer as soon as at least one access comes into the buffer, and only one write access will be performed at a time. On the other hand, burst length 8 means that the write buffer will wait till there comes 8 write accesses into write buffer, and those accesses will be written to main memory in a single burst access. Generally, the larger the burst length, the higher the bus efficiency. But the latency (from the time CPU writes a data to the actual writing to main memory) will increase as you use larger burst length. 12 RW 0x0 This bit controls the “bufferability” of write accesses to non-cacheable areas. 0 – accesses to non-cacheable area are not stored into the write buffer. 1 – accesses to non-cacheable area are stored into the write buffer. Buffering write accesses to non-cacheable area can increase the performance, but in some cases it may cause problems. So it should be © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 43 Version 1.5 HMS30C7110 used with care. For example, write to control registers may require the “read again” the same address to flush the write buffer. 11:6 RW 0x0 Specify the set to invalid or flush (write back) – 0 to 63 5:4 RW 0x0 Specify the way to invalid or flush (write back) – 0 to 3 3 W 0x0 Line flush (write back) This bit flushes (write back) a cache line (4 words) corresponding to a specific way and a set specified in bit [5:4] and [11:6], respectively. It checks the dirty bit of a given line, write back if necessary, and then clears the valid bit. This should be activated only when the cache is off. This bit is automatically cleared to 0 as soon as the write back finishes. (Actually when cache is off, it finishes immediately even before to execute the next following instruction.) This bit is used for the consistency between the cache and the main memory after the cache is off – i.e., writes the contents of the cache if they are different (new) from those of main memory (old). 2 W 0x0 Line invalidate This bit invalidates a cache line (4 words) corresponding to a specific way and a set specified in bit [5:4] and [11:6], respectively. This clears the valid bit of a given line without writing the contents of the line to main memory. This should be activated only when the cache is off. This bit is automatically cleared to 0 as soon as the invalidation finishes. (Actually when cache is off, invalidation finishes immediately even before to execute the next following instruction.) 1 RW 0x0 Parallel/Sequential control (0 – parallel, 1 – sequential) This bit controls the access sequence of tag RAM and data RAM. Parallel access of tag RAM and data RAM is for high performance, while sequential access is for low power operations. 0 RW 0x0 Cache on/off (0 – off, 1 – on) This bit controls the on and off the cache. After reset, all the valid bits of cache are cleared to 0. So there are no required procedures to turn on the cache in the initial state. However, there should be some caution when turn off the cache since even if the cache is turned off, all the operations of the cache except the line fill is performed as usual. For example, a © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 44 Version 1.5 HMS30C7110 cache read hit can occur, and the corresponding data/inst from the cache goes to CPU. Similarly, a write hit can occur, and the corresponding data write to cache follows. So, after turn off the cache, user should flush all the cache lines (preferably using codes in a non-cacheable area) if he/she wants to get(put) data/inst from(to) main memory directly. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 45 Version 1.5 HMS30C7110 2.3. Clock/Watchdog Timer The HMS30C7110® integrates a clock module, which is composed of the clock generator, the reset de-bouncing circuit, and watchdog timer (WDT). The clock generator provides the system clock. The main PLL multiplies the incoming external crystal clock input by 7(default). Assuming 10 MHz external clock is used and 70MHz of the CPU speed is intended, the register setting is to be “multiplying by 7”. An internal register also provides a method to determine the ratio between CPU clock and bus clock. It can be either 1:1 or 2:1. To run CPU with maximum performance, set the PLL output frequency to 70MHz and set the ratio to 1:1, then CPU runs in 70MHz and all others run at 70 MHz. Watchdog Timer generates the reset signal internally when the timer reaches the end value. So, the controlling software must reload the preset value to the timer before the timer expires during normal operation. Complete descriptions of these registers are given in the Register Section. 2.3.1. Block Diagram The Clock Module consists of several blocks such as a register file, a reset de-bouncer, a clock generator, and a watchdog timer. system clock Clock Generator Register File ( slave ) DLL Peripheral bus Reset Debounce RESET_IN HRESETn Figure 2.1 Block Diagram of Clock Module © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 46 Version 1.5 HMS30C7110 2.3.2. User Accessible Registers (Base = 0x1830_0000) This section describes the registers in the Clock Module. The address value on the table shows the relative address in hexadecimal. The width describes the number of bits in the register. The access field specifies the valid access type for the register, where ‘RW’ stands for read and writes access, and ‘RO’ for read only access, respectively. ‘C’ following ‘RW’ or ‘RO’ means the corresponding bit is cleared after writing “1” in the matching position. Table 2.7 Registers for PLL & Watchdog Timer Name Address Width Access Description PLL Enable 0x00 32 RW Enable for PLL clocks WDT control 0x04 32 RW Control for watch dog timer WDT interval 0x08 32 RW Time interval for watch dog timer Main PLL Control 0x0c 32 RW Control for main PLL PLL Reset 0x10 32 R Status of PLL 2.3.2.1. PLL Enable This register is used to select internal three clocks between external low frequency clock and internal PLL output clock. Table 2.8 PLL control Address : 1830_0000 Bits Access Default Description 31:4 3 RW 0x00 Reserved 0x1 Bus Clock Ratio vs. CPU clock. SCLK is from the Bus Clock. 0 = Bus Clock is Divided by 2 from CPU clock 1 = Bus Clock is delibered directly from CPU clock 2:1 0x0 Reserved © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 47 Version 1.5 HMS30C7110 0 RW 0x0 Main PLL enable When this bit is set to logic 1, internal CPU and system clock is made from PLL output. If this is set to logic 0, the internal CPU and system clock is made directly from external clock pin. The system clock is same to the Bus Clock or System Bus Clock. 2.3.2.2. Watch Dog Timer (WDT) Control The Watch Dog control register selects the operation mode of watchdog timer. Table 2.9 Watch Dog Timer control Address : 1830_0004 Bits Access Default Description 31:5 4 RW 0x00 Reserved 0x0 Enable 0 = Watch dog timer disable 1 = Watch dog timer enable 3:2 1: 0 RW 0x0 Reserved 0x0 Pre-scaler 00 = System Bus Clock 01 = System Bus Clock/ 4 10 = System Bus Clock/ 8 11 = System Bus Clock/ 256 2.3.2.3. Watch Dog Timer (WDT) Interval This register contains the watchdog timer interval value. The input clock is the output clock of the pre-scaler described in Watch Dog Timer (WDT) Control Table 2.10 Watch Dog Timer Interval Address : 1830_0008 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 48 Version 1.5 HMS30C7110 Bits Access Default Description 31: 0 RW 0x0 Interval (Write) or Current WDT counter value (Read) This 32-bit field contains the interval value that will be loaded to down counter periodically. 2.3.2.4. Main PLL Control The main PLL control register selects the operating mode of PLL. Refer to H25PL12S Data sheet for more detailed information about PLL control. Table 2.11 Main PLL Control Address : 1830_000C Bits Access Default Description 31:29 RW 0x5 lfm : loop filter mode selector. ** Use default value for normal operation, set 0x7 only if external filter logic is used for lower frequency (< 150KHz). 28:15 RW 0x0c m : Feedback divisor 14:7 0x1 n : Reference divisor RW VCO clock frequency will be determined with M and N based on following equation: Fvco = Fref x (m+2) / (n+1) As a default, Fvco = 10MHz x (12+2) / (1+1) = 70MHz. 6:5 RW 0x0 p : Post divisor This field defines division factor after VCO. For example, if p=1 and vco output frequency is 20MHz, final PLL output frequency will be 10MHz (Fpll = Fvco / (p+1) ) 4 RW 0x0 pd : PLL power down mode except VCO If set to “1”, PLL will not generate clock though VCO is still working. 3:2 RW 0x1 vc : VCO range control vector This field defines operation range of VCO. 00 : 40MHz – 100MHz 01 : 60MHz – 120MHz 10 : 80MHz – 140MHz © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 49 Version 1.5 HMS30C7110 11 : 100MHz – 160MHz 1 RW 0x0 vcoinit : VCO initialize signal During power-up sequence, vcoinit is recommended to be activated for more than 100ns just after deactivation of the vcopd signal. 0 RW 0x0 vcopd : VCO power down mode If set to “1”, PLL will not generate clock and VCO will stop. Fck = Fref × (m+2) / (n + 1) 2.3.2.5. PLL Status This register controls Software reset of PLL and some of control signals of PLL module and indicates PLL locking status. Table 2.12 PLL Status Address : 1830_0010 Bits Access Default Description 31 RW 0x0 BYPASS, PLL bypass mode “active high” 30 RW 0x0 Cnttest, PLL counter toggle test “active high” 29 RW 0x0 Lfo, PLL External loop filter port “ analog” 28:25 RW 0xa ICP, PLL charge pump bias current control vector 24 RW 0x0 Tdm, PLL digital part test mode “active high” 23:22 RW 0x0 Tpdud, PLL charge pump test mode (Normal mode ‘00’) 21:5 0x0 Reserved 0x0 PLL Software RESET “active high” 0x0 Reserved 0x0 Main PLL locking end: high active 4 RW 3:1 0 R Refer MAGNACHIP PLL User guide © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 50 Version 1.5 HMS30C7110 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 51 Version 1.5 HMS30C7110 2.4. Memory Controller (Flash/ROM) The HMS30C7110® has integrated External Bus controller that supports 8-bit/16-bit/32-bit data bus width. The space is divided into 3 static memory (FLASH/ROM) banks. Each bank has fixed size of 4MB. The operating clock of external bus controller is the internal system bus clock. The bus timing exclusively depends on the register programming. The external bus controller is fully configurable through a set of control register. Complete descriptions of these registers are given in the Register Section. The twenty-two address lines, RA [21:0], allow HMS30C7110® to support up to 1M×32 bit, 2Mx16 bit, or 4Mx8 bit space. Three nRCS lines make three times bigger space. Each block can be configured independently for the bus style, the wait enable, the shaping of bus control signal. 2.4.1. Block Diagram The external bus controller of HMS30C7110® consists of several blocks such as main state machine, register file, data-path, signal generator and address generator. Commands fed via system bus are interpreted in the main state machine and the main state machine generates control signals to all of the signal generation blocks (address generator, signal generator and data-path) using the state signal. The data-path block makes DATAOUT signal using HWDATA and makes HRDATA using DATAIN signal according to state signal. In write operation, the data-path block asserts the direction signal to enable output path of data pads. The signal generator makes nRCS, nOE, and nWE. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 52 Version 1.5 HMS30C7110 ADDRESS CONTROL SYSTEM BUS ADDR CONFIGRUATION REGISTERS nRCS0-2 SIGNALS GENERATOR nOE nWE MAIN CONTROL LOGIC DATA PATH DATA nCS0,1 nIORD nIOWR PCMCIA CONTROL READY/nIRQ nREG/DACK INT nSTSCHG IOIS16/nDREQ Figure 2.2 Block Diagram of External controller 2.4.2. User Accessible Registers (Base = 0x1900_0000) This section describes the bit assignment of the configuration registers of the ROM controller. The address field indicates a relative address in hexadecimal. Width specifies the number of bits in the register and access specifies the valid access types of the register. Where RW stands for read access and write access, ‘RO’ for read only access. A ‘C’ appended to ‘RW’ or ‘RO’, indicates that some or all of the bits can be cleared after writing ‘1’ in corresponding bit. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 53 Version 1.5 HMS30C7110 Table 2.13 Registers for ROM controller Name Address Width Access Description Configuration 0 0x00 32 RW Timing configuration of bank 0 Configuration 1 0x04 32 RW Timing configuration of bank 1 Configuration 2 0x08 32 RW Timing configuration of bank 2 2.4.2.1. Configuration 0~3 These registers include timing information for all banks. Table 2.14 Configuration Registers Bit Definition Address : 1900_0000, 1900_0004, 1900_0008 Bits Access Default Description 31:30 0 Reserved 29:28 RW 0 BUS MODE 00 = A/D non-mux style 01 = A/D mux Intel style 10 = A/D mux, Motorola style 11 = Reserved 27 RW 0 WAIT ENABLE This 1 bit field accepts/denies the external wait (GPIO2/Wait) signal pin expending the access time. 0 = disable 1 = enable 26 RW 0 This bit selects the active level of wait signal, which would be connected to GPIO2/Wait on pin 206. Each setting for each Configuration register affect only on assigned address range. 0 = active low input 1 = active high input 25:24 RW 0x3 DATA BUS WIDTH 00 = 8 bit wide bus 01 = 16 bit wide bus © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 54 Version 1.5 HMS30C7110 10 = 32 bit wide bus 11 = Reserved External pull-up/downs on ADDR19 and ADDR18 applies for booting configuration. Boot program should be appeared on nRCS0. Can be changed by Configuration 0 afterward. 23:20 RW 0x3 ASTB TIME 0xf This 4-bit field selects the pulse width of the address strobe signal when A/D mux bus mode is on. 19:16 RW 0x3 ADDR TIME 0xf This 4-bit field selects the address phase interval when A/D mux bus mode is on. 15:12 RW 0x0 RECOVERY TIME 0xf This 4-bit field selects the recovery time delay, this value guarantee the interval from the end of one chip select assertion to the start of another chip select assertion. 11: 8 RW 0x0 SETUP TIME 0xf This 4-bit field selects the setup time duration, this value guarantees the interval from chip select assertion to read enable or write enable assertion. 7: 4 RW 0xf ACCESS TIME This 4-bit field selects the access time and this value guarantees the asserted pulse width of read enable or write enable signal. 3: 0 RW 0xf HOLD TIME This 4-bit field selects the hold time duration and this value guarantees the interval from read enable or write enable de-assertion to chip select de-assertion. Note: The first value in the boxes with two defaults values show the default for ROM Bank0 and the second value for the remaining two Banks, Bank1 and Bank2. Note: All units are based on the main clock period. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 55 Version 1.5 HMS30C7110 2.4.3. Timing Diagram 2.4.3.1. Read Access CLK RA address nRCS SETUP HOLD ACCESS + 1 nWE nOE DATA Data 0 Figure 2.3 Read cycle timing (setup = 4, access = 6, hold = 4) 2.4.3.2. Write Access CLK RA nRCS address SETUP ACCESS + 1 HOLD nWE nOE DATA Data 0 Figure 2.4 Write timing (setup = 4, access = 6, hold = 4) © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 56 Version 1.5 HMS30C7110 2.5. Memory Controller (SDRAM) The HMS30C7110® integrates a SDRAM controller (SDRAMC) that supports a 32-bit SDRAM array. EDO or FPM type DRAM is not supported. The operating clock is directly related to the internal system bus speed. When the system bus clock runs at 70MHz, the SDRAMC runs at 70MHz. When the system bus clock runs at 35MHz, the SDRAMC runs at 35MHz. The system clock can be selected by PLL output clock or half of PLL output clock. The SDRAMC is fully configurable through a set of control register. Complete descriptions of these registers are given in the Register Section. The operating clock of SDRAMC is shown on SCLK. Note: SDRAM space works either in 32-bit wide or in 16-bit wide. So, any design using the SDRAM space as program memory space, it can be either 32-bit wide memory structure or 16-bit wide structure. Being used as data memory space, SDRAM may be connected to 8-bit wide data bus sacrificing the address corresponding to unconnected data bus. The thirteen multiplexed address lines, MA[12:0], and two bank select signals, A13 and A14, allow the HMS30C7110® to support 1M, 2M, 4M, 8M, 16M and 32M×32 bit arrays or 1M, 2M, 4M, 8M, 16M, 32M and 64M×16 bit arrays. Both symmetric (Number of row addresses and number of column addresses are same) and asymmetric addressing (Number of row addresses and number of column addresses are different) is supported. The HMS30C7110® has one nSCS pin. The maximum block size is 128Mbytes. For write operations of less than word in size, the HMS30C7110® supports byte-wise write. The HMS30C7110® provides refresh functionality with programmable rate (normally SDRAM refresh rate is 1 / 64ms). 2.5.1. Block Diagram The SDRAM controller of HMS30C7110® consists of several blocks such as main state machine, register file, refresh block, data-path, signal generator and address generator. Commands come in via system bus will be interpreted in the main state machine and the main state machine controls all of the signal generation blocks (address generator, signal generator and data- © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 57 Version 1.5 HMS30C7110 path) using state information of main state machine. The refresh block makes bus request signal to system bus arbiter to start refresh operation and when the system bus arbiter gives bus grant signal to SDRAM controller, the main control logic detects this signal and makes refresh command to signal generator. The data-path block makes DATAOUT signal using system write data bus and makes system read data bus using DATAIN signal according to state signal. In write operation, the data-path block asserts the direction signal to enable output path of data pads. ADDRESS CONTROL SYSTEM BUS ADDR CONFIGRUATION REGISTERS nSCS nRAS SIGNALS GENERATOR nCAS DQM MAIN CONTROL LOGIC nSWE DATA PATH DATA REFRESH CONTROLLER Figure 2.5 Block Diagram of SDRAM controller 2.5.2. User Accessible Registers (Base = 0x1908_0000) This section describes all base, control and status register inside the SDRAM controller. The address field indicates a relative address in hexadecimal. Width specifies the number of bits in the register and access specifies the valid access types that register. Where ‘RW’ stands for read and © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 58 Version 1.5 HMS30C7110 write access, ‘RO’ for read only access. A ‘C’ appended to ‘RW’ or ‘RO’, indicates that some or all of the bits can be cleared after a write ‘1’ in corresponding bit. Table 2.15 Registers for SDRAM controller Name Address Width Access Description Configuration 0x00 32 RW SDRAM Configuration Reserved 0x04 32 Reserved Reserved 0x08 32 Reserved Reserved 0x0C 32 Reserved Timing 0x10 32 RW SDRAM timing parameters Refresh Interval 0x14 32 RW Refresh interval value & MCLK Timing Init control 0x18 32 RW Initialize start register Address Map 0x1c 32 RW Select address area (Flash or SDRAM) 2.5.2.1. Configuration These registers include the information of memory size of each bank. Table 2.16 Configuration register Address : 1908_0000 Bits Access Default Description 31:22 0x0 Reserved 21:20 RW 0x0 ROW WIDTH 00 = 10-bit row width 01 = 11-bit row width 10 = 12-bit row width 11 = 13-bit row width 19:18 0x0 Reserved 17:16 RW 0x0 COLUMN WIDTH 00 = 8-bit column width 01 = 9-bit column width © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 59 Version 1.5 HMS30C7110 10 = 10-bit column width 11 = Reserved 15:14 13: 8 RW 7: 6 5: 0 RW 0x0 Reserved 0x0 START ADDRESS (Reserved for future usage) 0x0 Reserved 0x3f END ADDRESS (Reserved for future usage) 2.5.2.2. Timing This register includes the timing information for all banks. Table 2.17 Timing register Address : 1908_0010 Bits Access Default Description 31 WO 0x0 NOP When writing 1 at this bit, it will make NOP command to SDRAM 30:28 RW 0x7 TMODE (Mode Register Set to Active Delay) This 3-bit field specifies the number of cycles guaranteed between mode register set command at the end of the initialization sequence and the first activate command. 27 0x0 Reserved. 26:24 RW 0x7 DPL (Write to Pre-charge Delay) This 3-bit field specifies the number of cycles guaranteed between write command and a pre-charge command. 23 0x0 Reserved. 22:20 RW 0x7 RCD (RAS to CAS Delay) This 3-bit field specifies the number of cycles between RAS and CAS. 19 0x0 Reserved 18:16 RW 0x7 RP (Row Pre-charge Time) This 3-bit field specifies the number of cycles needed for the pre-charge command. A RP value of zero results in a RAS pre-charge of two clocks, as if RP was selected to 1. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 60 Version 1.5 HMS30C7110 15:12 RW 0xf RAS (Row Active Time) This 4-bit field specifies the number of cycles guaranteed between an activate command and a pre-charge command. 11: 8 RW 0xf RC (Row Cycle Time) This 4-bit field specifies the number of cycles for a refresh command. It also specifies the number of cycles between bank activation commands to the same bank. 7: 6 5: 4 RW 0x0 Reserved 0x7 CL (CAS Latency) This value is used to program the SDRAM devices during the Initialization sequence, and internally by the SDRAM controller. 0 = 1 clock 1 = 2 clocks 2 = 3 clocks 3 = Reserved 3: 2 0 RW 0x0 Reserved 0x1 Row Hit Enable This value is used to enable the checking of the row address from internal logic matched with row address of destination SDRAM. It may cause one or two clock delay in accessing SDRAM but will make sure that correct operation will be happening. 0 : Do not check whether row address is HIT or not. 1 : Check whether row address is HIT or not. 2.5.2.3. Refresh Interval This register includes refresh interval value and MCLK tuning control reginter. Table 2.18 Refresh Interval Address : 1908_0014 Bits 31:29 Access Default Description 0x0 Reserved. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 61 Version 1.5 HMS30C7110 28 0x1 Clock Select for SDRAM Read. 1 : Clock Source = SCLK output 0 : Clock Source = MCLK input 27:24 0x3 Delay for SDRAM Read Clock (0-15ns). 23:21 0x0 Reserved. 20 0x0 Clock Select for SDRAM Write. 1 : Clock Source = SCLK output 0 : Clock Source = MCLK input 19:16 0x3 Delay for SDRAM Write Clock (0-15ns). 15:13 0x0 Reserved 12: 0 0x0 Refresh Interval This 13-bit field is used to enable refresh and set the refresh period. When set to zero, refresh cycles are disabled. When set to non-zero, refresh cycles are enabled, and are requested internally based on this programmed value. RP and RC control the timing waveform of refresh cycle. This field is set to zero on the hard reset, so refreshes are disabled after a hard reset. This field is a one-based number, and is programmed in CLK period.(1/CLK) tREFINT = (REFINT + 1) /CLK 2.5.2.4. INIT Control This register includes init bit. Table 2.19 INIT Control register Address : 1908_0018 Bits Access Default Description 31:1 0 Reserved. WO 0 INIT This bit when set invokes an SDRAM power up initialization sequence. All other fields in this register must be programmed with valid values before or at the same time init is set. Once the initialization sequence is © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 62 Version 1.5 HMS30C7110 complete, hardware clears this bit, so it may be polled by software to determine when the SDRAM(s) is (are) available for use. 2.5.2.5. Address Map Control This register includes data bus width selection/memory re-map bits. Table 2.20 Address Control register Address : 1908_001C Bits Access Default Description 31:2 1 Reserved. RW 0 32/16Bit Data bus width selection 0 = 32 bit 1 = 16 bit 0 RW 0 SDRAM_REMAP 0 = Address 0x0000_0000 is located at Flash memory area (SDRAM will be 0x1000_0000) 1 = Address 0x0000_0000 is located at SDRAM area 2.5.3. Timing Diagram 2.5.3.1. Read/Write Access © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 63 Version 1.5 HMS30C7110 CLK MA ROW COL COL COL COL PRE ROW COL COL COL COL PRE D0 D1 D2 COL COL PRE D0 D1 D2 RC + 1 nRAS RAS + 1 RP + 1 RCD + 1 nCAS DPL +1 nWE CL DATA D0 D1 D2 D3 D3 Figure 2.6 Read/Write cycle 2.5.3.2. Refresh Access CLK MA PRE ROW RP + 1 COL COL RC + 1 nRAS RCD + 1 nCAS nWE CL DATA D3 Figure 2.7 Refresh cycle © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 64 Version 1.5 HMS30C7110 2.5.3.3. Initialization Table 2.21 Initialization Sequence Sequence SDRAM requirement Comments 1 Apply power and start clock MCLK operates during RESET period 2 Maintain stable power and clock Power on reset normally takes longer than 1 ms for at least 1 ms 3 NOP command (optional) Software asserts NOP command using command register 4 Waiting for min 200 us Software waits for 200 us using for-loop or while-loop 5 Software sets valid values in Timing registers 6 Software sets the refresh interval 7 Pre-charge all banks of all blocks 8 Perform 20 times refresh cycles 9 Program SDRAM mode register 10 Software sets the init bit of command register Polling the init bit and if init bit is cleared, then initialization is finish © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 65 Version 1.5 HMS30C7110 CLK MA PRE MOD RC + 1 RP + 1 nCS 1st CBR NOP ROW TMODE 20th CBR 200 us nRAS nCAS nWE init Figure 2.8 Initialization timing © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 66 Version 1.5 HMS30C7110 2.6. Ethernet MAC HMS30C7110® provides an Ethernet Media Access Controller (MAC) that operates at either 10 Mbps or 100 Mbps in half-duplex or full-duplex mode. In half-duplex mode, the controller supports the IEEE 802.3 Carrier Sense Multiple Access with Collision Detection (CSMA/CD) protocol. It supports the IEEE 802.3 MAC control layer, including the pause operation for flow control for fullduplex mode. The Ethernet MAC layer supports both Media Independent Interface (MII) / Reduced MII (RMII) and 7-wire interface. The host side supports DMA interface to the system bus. The MAC layer itself consists of the Receive and the Transmit blocks, a flow control block, multiple network address storage, and a number of commands, and status registers. The Transmit and Receive clocks will be supplied either from Physical layer devices or external clock sources. They are either 2.5MHz at the 10 Mbps or 25MHz at the 100 Mbps. The external clock for RMII is 50MHz regardless of data rate. The MII conforms to the ISO/IEC 802-3 standard for a media-independent layer which separates physical layer issues form the MAC layer. It also provides MAC address filtering, which is to drop frames with designated MAC addresses while all other frames are received. 2.6.1. Block Diagram HMS30C7110® Ethernet MAC module consists of several sub-modules such as MII management, physical layer interface, Receive, Transmit, Control, and Host Interface. Frames come in via either 7-wire interface (bit-wide) or MII (nibble-wide) / RMII (di-bit-wide) and Receive module will detect Start of Frame. Once it verifies a valid sync pattern, a frame will be stored in the MAC Receive FIFO starting from the destination address field. The state machine also monitors total number of bytes in a frame by looking at data length field. When the level of the MAC Receive FIFO is more than the threshold value, the stored frame will be read to the System Receive FIFO at system clock speed. Another state machine running at the system clock speed will detect destination address, data length, and CRC for validity of the frame. The destination address is sent to Address Compare Block for comparison with the stored MAC addresses. If the destination address is found to be a valid address, then the frame will be written into the System Receive FIFO. If the received address is a multicast © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 67 Version 1.5 HMS30C7110 address, then CRC will be calculated over 48-bit destination address, and 5 most significant bits are used to locate one of 64 bits of the multicast address register. If the bit to be pointed by the 5 most significant bits is set, then the frame will be received. With sufficient number of bytes held in the System Receive FIFO, the DMA engine will start transfer the stored frame to the system memory space that is pre-programmed by the CPU. An interrupt will be asserted to notify that a frame transfer is completed and the CPU should write the start address of the next buffer for the next incoming frame. In transmit operation, the CPU prepares a frame and notify the MAC that a frame is ready to transfer. The MAC DMA engine moves the frame from the system memory to System Transmit FIFO. When the state machine detects there is a frame being stored in the System Transmit FIFO and that carrier sense is not detected, the frame will be transferred. Pad byte (0x00) may be inserted if required, and CRC will be appended at the end of the frame. Preamble will be added before the frame, jam signaling will be asserted when collision occurs. The data stream will be either serialized for the 7-wire interface or converted to nibbles/bi-bits for MII/RMII. D M A Frame Mux FIFO CTRL SYS TX FIFO P H Y Pad Insert / Mux S Y S T E M B U S CONFIG STATUS SyS RX FIFO I / F CRC CRC ADDR FIFO CTRL TIMER MAC RX FIFO SFD Check (R) M I I Figure 2.9 Block Diagram of Ethernet MAC © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 68 Version 1.5 HMS30C7110 Below Table show the PHY interface I/O signals Port Width Direction Description MTXCLK 1 I Transmit Nibble or Symbol Clock. The PHY provides the MTXCLK signal. It operates at the frequency of 25MHz (100Mbps) or 2.5MHz (10Mbps). The clock is used as a timing reference for the transfer of MTXD[3:0], MTXEN, and MTXERR. MTXD[3:0] 4 O Transmit Data Nibble. Signals are the transmit data nibble. They are synchronized to the rising edge of MTXCLK. When MTXEN is asserted, PHY accepts the MTXD. If 7-wire interface is selected, MTXD[0] will carry data bits, all others will be tri-stated. MTXEN 1 O Transmit Enable. When asserted, signal indicates to the PHY that the data MTXD[3:0] is valid and the transmission can start. Then transmission starts with the first nibble of the preamble. Signal remains asserted until all nibbles to be transmitted are presented to the PHY. It is deasserted prior to the first MTXCLK following the final nibble of a frame. MTXERR 1 O Transmit Coding Error. When asserted for on e MTXCLK clock period while MTXEN is also asserted, it causes the PHY to transmit one or more symbols that are not part of the valid data or delimiter set somewhere in the frame being transmitted to indicate that there has been a transmit coding error. MRXCLK 1 I Receive Nibble or Symbol Clock. The PHY provides the MTXCLK signal. It operates at the frequency of 25MHz (100Mbps) or 2.5MHz (10Mbps). The clock is used as a timing reference for the reception of MRXD[3:0], MRXDV and MRXERR. MRXDV 1 I Receive Data Valid. The PHY asserts this signal to indicate to the RX MAC that it is presenting the valid nibbles on the MRXD[3:0] signals. Signal is asserted synchronously to the MRXCLK. MRXDV is asserted from the first recovered nibble of the frame to the final recovered nibble. It is then deasserted © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 69 Version 1.5 HMS30C7110 prior to the first MRXCLK that follows the final nibble. MRXD[3:0] 4 I Receive Data Nibble. Signals are the receive data nibble. They are synchronized to the rising edge of MRXCLK. When MRXDV is asserted, the PHY sends a data nibble to the RX MAC. For a correctly interpreted frame, seven bytes of a preamble and a completely formed SFD must be passed across the interface. If 7-wire interface is selected, MRXD[0] will carry data bits, all others will be unused. MRXERR 1 I Receive Error. PHY asserts this signal to indicate to the RX MAC that a media error was detected during the transmission of the current frame. MRXERR is synchronous to the MRXCLK and is asserted for one or more MRXCLK clock periods and then deasserted. MCOLL 1 I Collision Detected. The PHY asynchronously asserts the collision signal MCOLL after the collision is detected on the media. When deasserted, no collision is detected on the media. MCRS 1 I Carrier Sense. The PHY asynchronously asserts the carrier sense MCRS signal after the medium is detected in a non-idle state. When deasserted, signal indicates that the media is in the idle state (and the transmission can start). MDC 1 I Management Data Clock. Clock for the MDIO serial data channel. MDIO 1 I/O Management Data Input/Output. Bi-directional serial data channel for PHY/STA communication. PHY Interface Signals 2.6.2. User Accessible Registers (Base = 0x1920_0000) This section describes registers inside the Ethernet MAC. The address field in the following table indicates an address offset in hexadecimal from Ethernet Base Address defined in the CPU section. Width specifies the number of bits in the register and access specifies the valid access types of the register. Where ‘RW’ stands for read and write access, ‘RO’ for read only access. A ‘C’ indicates © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 70 Version 1.5 HMS30C7110 that some or all of the bits are auto cleared. Base address of Ethernet MAC 1 is 0x1920_1000. Table 2.22 Registers for Ethernet MAC Name Address Width Access Description MAC_MODE 0x00 32 RW MAC mode register INT_SRC 0x04 32 RW Interrupt source register INT_ENABLE 0x08 32 RW Interrupt enable register IF_GAP 0x0C 32 RW Inter-frame gap register COLL_CFG 0x10 32 RW Collision control register TX_BADDR 0x14 32 RW Transmit buffer base address TX_LENGTH 0x18 32 RW Transmit buffer length RX_BADDR 0x1C 32 RW Receive buffer base address RX_BSTAT 0x20 32 RO Receive buffer status RX_BUFLVL 0x24 32 RO Address/Status buffer level RX_ADDR_BACK 0x28 32 RO Receive buffer base address return CTRL_MODE 0x2C 32 RWC Control mode register MII_MODE 0x30 32 RW MII mode register MII_CMD 0x34 32 RWC MII command register MII_TXDATA 0x38 32 RW MII transmit data MII_RXDATA 0x3C 32 RW MII receive data RESERVED 0x40 32 LENGTH 0x44 32 RW Max, Min, burst length register MCAST_ADDR_0 0x48 32 RW Multicast Address (Most significant) MCAST_ADDR_1 0x4C 32 RW Multicast Address (Least significant) MAC_ADDR_00 0x50 32 RW MAC address 0 (Most significant 2 bytes) MAC_ADDR_01 0x54 32 RW MAC address 0 (Least significant 4 bytes) MAC_ADDR_10 0x58 32 RW MAC address 1 (Most significant 2 bytes) MAC_ADDR_11 0x5C 32 RW MAC address 1 (Least significant 4 bytes) MAC_ADDR_20 0x60 32 RW MAC address 2 (Most significant 2 bytes) MAC_ADDR_21 0x64 32 RW MAC address 2 (Least significant 4 bytes) MAC_ADDR_30 0x68 32 RW MAC address 3 (Most significant 2 bytes) Reserved © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 71 Version 1.5 HMS30C7110 MAC_ADDR_31 0x6C 32 RW MAC address 3 (Least significant 4 bytes) MAC_ADDR_40 0x70 32 RW MAC address 4 (Most significant 2 bytes) MAC_ADDR_41 0x74 32 RW MAC address 4 (Least significant 4 bytes) MAC_ADDR_50 0x78 32 RW MAC address 5 (Most significant 2 bytes) MAC_ADDR_51 0x7C 32 RW MAC address 5 (Least significant 4 bytes) MAC_ADDR_60 0x80 32 RW MAC address 6 (Most significant 2 bytes) MAC_ADDR_61 0x84 32 RW MAC address 6 (Least significant 4 bytes) MAC_ADDR_70 0x88 32 RW MAC address 7 (Most significant 2 bytes) MAC_ADDR_71 0x8C 32 RW MAC address 7 (Least significant 4 bytes) P_FRM_ADDR_0 0x90 32 RW Pause frame address (Most significant 2 bytes) P_FRM_ADDR_1 0x94 32 RW Pause frame address (Least significant 4 bytes) P_FRM_ID 0x98 32 RW Pause frame Type / Op. code P_FRM_VALUE 0x9C 32 RW Pause frame delay value H_TX_BADDR 0xA0 32 RW High priority queue TX address H_TX_LENGTH 0xA4 32 RW High priority queue TX length TX_BUF_LVL_L 0xA8 32 RO TX queue buffer level TX_ADDR_BK_L 0xAC 32 RO TX address return TX_BUF_LVL_H 0xB0 32 RO TX high priority queue buffer level TX_ADDR_BK_H 0xB4 32 RO TX high priority queue address back buffer level RX_TIMER 0xB8 32 RW RX timer register RX_LEVEL 0xBC 32 RW RX level register TX_TIMER 0xC0 32 RW TX timer register TX_LEVEL_H 0xC4 32 RW TX level register High TX_LEVEL_L 0xC8 32 RO TX level register Low 2.6.2.1. MAC_MODE (offset = 0x00) This register defines general operation mode of the Ethernet MAC. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 72 Version 1.5 HMS30C7110 Table 2.23 MAC Mode Register Bit Definition MAC0 Address : 1920_0000 MAC1 Address : 1920_1000 Bits Access Default Description 31 RW 0 UNICAST_ENABLE 0 = Disable receiving unicast frames 1 = Enable receiving unicast frames 30 RW 0 MULTICAST_ENABLE 0 = Disable receiving multicast frames 1 = Enable receiving multicast frames 29 RW 0 BROADCAST_ENABLE 0 = Disable receiving broadcast frames 1 = Enable receiving broadcast frames 28 RW 0 RECEIVE_ALL_ENABLE 0 = Frames will be received based on Bits [31:29]. 1 = Enable receiving all frames. When “1”, if any MAC address is set to be valid, the frame with valid MAC address will be dropped (see valid bit of MAC address registers). 27:19 18 RW 0 Reserved 0 TX Error signaling 0 = LOW output at TX_ER pin for error signaling 1 = HIGH output at TX_ER pin for error signaling 17 RW 1 TX data valid polarity 0 = active low data valid output to PHY 1 = active high data valid output to PHY 16 RW 0 TX_EN 0 = Disable TX after the current frame is transmitted 1 = Enable TX 15:11 10 RW 0 Reserved 1 RX Error polarity 0 = active low error output to PHY 1 = active high error output to PHY © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 73 Version 1.5 HMS30C7110 9 RW 1 RX data valid polarity 0 = active low data valid input from PHY 1 = active high data valid input from PHY 8 RW 0 RX_EN 0 = Receive disabled after the current packet is received 1 = Receive enabled 7 RW 0 Speed 1 = 100Mbps 0 = 10Mbps 6 RW 0 RMII Enable 1 = RMII mode regardless of bit[1] 0 = MII or 7-wire mode according to bit[1] 5 RW 1 Collision polarity 0 = active low collision input from PHY 1 = active high collision input from PHY 4 RW 1 Carrier Sense polarity 0 = active low carrier sense input from PHY 1 = active high carrier sense input from PHY 3 RW 0 Loop-back mode 0 = normal operation 1 = Enable MAC loop-back 2 RW 0 Full / Half Duplex mode 0 = Half duplex mode 1 = Full duplex mode 1 RW 0 Interface Select 0 = 7-wire 1 = MII 0 RWC 0 Reset MAC 0 = Normal operation 1 = Reset active (auto-clear after reset is done) © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 74 Version 1.5 HMS30C7110 2.6.2.2. INT_SRC (offset = 0x04) The Ethernet MAC provides 30 interrupt sources. Table 2.24 Interrupt Source Bit Definition MAC0 Address : 1920_0004 MAC1 Address : 1920_1004 Bits Access Default Description (Write “1” to clear each bit) 31 RW 0 1 = MII PHY interrupt 30 RW 0 1 = MII Scan interrupt 29 RW 0 1 = TX error at PHY 28 RW 0 1 = RX error at PHY 27 RW 0 1 = TX address return buffer overflow. 26 RW 0 1 = TX address return buffer underflow 25 RW 0 1 = Collision Detected 24 RW 0 1 = Carrier Sense Detected 0 Reserved. 23 22 RW 0 1 = TX complete (high priority queue) 21 RW 0 1 = Late collision detected 20 RW 0 1 = TX completed (low priority queue) 19 RW 0 1 = SYS TX FIFO overflow 18 RW 0 1 = SYS TX FIFO underflow 17 RW 0 1 = MAC TX FIFO overflow 16 RW 0 1 = MAC TX FIFO underflow 15 RW 0 1 = TX length buffer overflow (low priority queue) 14 RW 0 1 = TX length buffer underflow (low priority queue) 13 RW 0 1 = TX address buffer overflow (low priority queue) 12 RW 0 1 = TX address buffer underflow (low priority queue) 11 RW 0 1 = RX status buffer overflow 10 RW 0 1 = RX status buffer underflow 9 RW 0 1 = RX address buffer overflow 8 RW 0 1 = RX address buffer underflow © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 75 Version 1.5 HMS30C7110 7 0 Reserved 6 RW 0 1 = RX frame cut due to bus busy & excessive incoming frames 5 RW 0 1 = RX frame dropped due to no buffer assigned. 4 RW 0 1 = RX completed. 3 RW 0 1 = SYS RX FIFO overflow 2 RW 0 1 = SYS RX FIFO underflow 1 RW 0 1 = MAC RX FIFO overflow 0 RW 0 1 = MAC RX FIFO underflow 2.6.2.3. INT_ENABLE (offset = 0x08) Each bit of this register can be set to enable corresponding interrupt source. Writing ‘0’ disables the source from generating interrupt. Table 2.25 Interrupt Enable Bit Definition MAC0 Address : 1920_0008 MAC1 Address : 1920_1008 Bits Access Default Description 31 RW 0 MII PHY 0 = Interrupt disabled 1 = Interrupt enabled This bit will be set whenever PHY device sends an interrupt 30 RW 0 MII Scan 0 = Interrupt disabled 1 = Interrupt enabled This bit will be set when single read is completed in scan mode. Refer to MII_CMD register (offset = 0x34). 29 RW 0 TX error occurred at PHY 0 = Interrupt disabled 1 = Interrupt enabled 28 RW 0 RX error occurred at PHY © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 76 Version 1.5 HMS30C7110 0 = Interrupt disabled 1 = Interrupt enabled. 27 RW 0 TX address return buffer overflow. 0 = Interrupt disabled 1 = Interrupt enabled. 26 RW 0 TX address return buffer underflow 0 = Interrupt disabled 1 = Interrupt enabled. 25 RW 0 Collision Detected 0 = Interrupt disabled 1 = Interrupt enabled 24 RW 0 Carrier Sense Detected 0 = Interrupt disabled 1 = Interrupt enabled 23 22 RW 0 Reserved. 0 TX complete (high priority queue) 0 = Interrupt disabled 1 = Interrupt enabled 21 RW 0 Late collision detected (TX frame dropped) 0 = Interrupt disabled 1 = Interrupt enabled 20 RW 0 TX completed 0 = Interrupt disabled 1 = Interrupt enabled 19 RW 0 SYS TX FIFO overflow. 0 = Interrupt disabled 1 = Interrupt enabled 18 RW 0 SYS TX FIFO underflow. 0 = Interrupt disabled 1 = Interrupt enabled 17 RW 0 MAC TX FIFO overflow 0 = Interrupt disabled 1 = Interrupt enabled © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 77 Version 1.5 HMS30C7110 16 RW 0 MAC TX FIFO underflow. 0 = Interrupt disabled 1 = Interrupt enabled 15 RW 0 TX length buffer overflow (low priority queue) 0 = Interrupt disabled 1 = Interrupt enabled 14 RW 0 TX length buffer underflow (low priority queue) 0 = Interrupt disabled 1 = Interrupt enabled 13 RW 0 TX address buffer overflow (low priority queue) 0 = Interrupt disabled 1 = Interrupt enabled 12 RW 0 TX address buffer underflow (low priority queue) 0 = Interrupt disabled 1 = Interrupt enabled 11 RW 0 Receive status buffer overflow 0 = Interrupt disabled 1 = Interrupt enabled 10 RW 0 Receive status buffer underflow 0 = Interrupt disabled 1 = Interrupt enabled 9 RW 0 Receive address buffer overflow 0 = Interrupt disabled 1 = Interrupt enabled 8 RW 0 Receive address buffer underflow 0 = Interrupt disabled 1 = Interrupt enabled 7 6 RW 0 Reserved 0 RX frame cut due to bus busy & excessive incoming frames 0 = Interrupt disabled 1 = Interrupt enabled 5 RW 0 Received frame is dropped due to no buffer. 0 = Interrupt disabled © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 78 Version 1.5 HMS30C7110 1 = Interrupt enabled 4 RW 0 RX completed 0 = Interrupt disabled 1 = Interrupt enabled 3 RW 0 SYS RX FIFO overflow. 0 = Interrupt disabled 1 = Interrupt enabled 2 RW 0 SYS RX FIFO underflow. 0 = Interrupt disabled 1 = Interrupt enabled 1 RW 0 MAC RX FIFO overflow 0 = Interrupt disabled 1 = Interrupt enabled 0 RW 0 MAC RX FIFO underflow. 0 = Interrupt disabled 1 = Interrupt enabled 2.6.2.4. IF_GAP (offset = 0x0C) This register defines a gap time between two back-to-back frames. Table 2.26 Inter-Frame Gap Register MAC0 Address : 1920_000C MAC1 Address : 1920_100C Bits Access Default Description 31:7 6:0 RW 0 Reserved 0x18 Back to Back Inter Packet Gap The recommended value is 0x0C (24 – 12 = 12) for MII, 0x54 (96 – 12 = 84) for 7-wire interface, which equals to 0.96us (100Mbps) or 9.6us (10Mbps). © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 79 Version 1.5 HMS30C7110 2.6.2.5. COLL_CFG (offset = 0x10) This register defines collision related parameters. Table 2.27 Collision Configuration Definition MAC0 Address : 1920_0010 MAC1 Address : 1920_1010 Bits Access Default Description 31:16 RW 0x000F Maximum Retry This field specifies the maximum number of consequential retransmission attempts after the collision is detected. When the maximum number is reached the MAC reports an error and tops transmitting the current packet. According to the Ethernet standard, the Maximum Retry default value is set to 0xF (15 in decimal) 15:8 RW 0x20 Write Allowance Define the margin in system fifo to prevent overflow. 7:0 RW 0x10 Collision Window Define the number of data from the start of transmission until collision is detected. If collision is detected before the number of data is reached this value, it will be considered as retry able collision. 2.6.2.6. TX_BADDR (offset = 0x14) The start address of outgoing frame is written in this register. Writing to TX_BADDR and TX_LENGTH will initiate transmission process. Table 2.28 Transmit Buffer Address MAC0 Address : 1920_0014 MAC1 Address : 1920_1014 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 80 Version 1.5 HMS30C7110 Bits Access Default Description 31:0 RW 0x0 Transmit buffer start address 2.6.2.7. TX_LENGTH (offset = 0x18) The total frame length (starting from destination address to the end of frame, excluding CRC field) should be written to this register. Table 2.29 Transmit Buffer Length MAC0 Address : 1920_0018 MAC1 Address : 1920_1018 Bits Access Default Description 31:16 RW 0x00 Reserved 15:0 0x00 Transmit buffer length in bytes RW 2.6.2.8. RX_BADDR (offset = 0x1C) The starting address of RX buffer to store incoming frame is written to this register. RX_BADDR can hold 15 entries of the start address of RX buffer. The number of entries not taken for RX processing can be read from bits[10:8] of RX_BUFLVL (offset = 0x24). Not assigning a buffer address in time will result in an interrupt (if enabled) with INT_SRC bit[5] and the frame will be dropped. Table 2.30 Receive Buffer Address MAC0 Address : 1920_001C MAC1 Address : 1920_101C Bits Access Default Description 31:0 RW 0x00 Receive buffer start address © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 81 Version 1.5 HMS30C7110 2.6.2.9. RX_BSTAT (offset = 0x20) This address can hold 32 entries of the status of RX frames. The number of status of frames not read can be obtained from bits[5:0] of RX_BUFLVL (offset = 0x24). Table 2.31 Receive Frame Status MAC0 Address : 1920_0020 MAC1 Address : 1920_1020 Bits Access Default Description 31:16 RO 0x0 RX frame length 15:3 0x0 Reserved 2 RO 0x0 Control frame 1 RO 0x0 CRC error 0 RO 0x0 Length error 2.6.2.10. RX_BUFLVL (offset = 0x24) This read only register provides buffer levels for both RX_BADDR and RX_BSTAT. Table 2.32 Receive Buffer Level MAC0 Address : 1920_0024 MAC1 Address : 1920_1024 Bits Access Default Description 31:16 0 Reserved 23:22 0 Reserved 21:16 RO 0x0 The number of buffer address taken for RX processing 15:13 0 Reserved 0x0 The number of buffer address not taken for RX processing 0 Reserved 13:8 7:6 RO © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 82 Version 1.5 HMS30C7110 5:0 RO 0x0 The number of RX_BSTAT available for read 2.6.2.11. RX_ADDR_RETURN (offset = 0x28) This read only register provides RX address used. Table 2.33 RX Address Return MAC0 Address : 1920_0028 MAC1 Address : 1920_1028 Bits Access Default Description 31:0 RO 0x00 RX address return 2.6.2.12. CTRL_MODE (offset = 0x2C) This register defines two operation modes: Rx preamble and control frames. For transmit pause frame format, refer to P_FRM_ADDR_0, P_FRM_ADDR_1, P_FRM_ID, and P_FRM_VALUE starting at address offset 0x90. Table 2.34 Control Mode Register Bit Definition MAC0 Address : 1920_002C MAC1 Address : 1920_102C Bits Access Default Description 31:24 RW 0 Reserved 23:20 RW 0 Reserved 19:16 RW 0 Minimum number of valid preambles for a valid RX frame 0 = No preamble byte: when SFD found, it is considered as a valid frame 1 = One preamble byte is required to be considered as a valid frame. … 7 = Seven preamble bytes are required to be considered as a valid frame. Set to 0 for RMII mode. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 83 Version 1.5 HMS30C7110 Preamble of RX packet should be byte alligned. All packets with any number of byte alligned preambles can be received as valid packets. 15:8 RW 0 Reserved 7:5 RW 0 Pause Frame Slot Request ( [7] & ([6] | [5]) ) Need more information to describe this field. 4 RW 0 Reserved 3 RW 0 TX_PAUSE Enable 0 = Disable TX Pause frame 1 = Enable TX Pause frame. 2:0 RW 0 Reserved 2.6.2.13. MII_MODE (offset = 0x30) MII_MODE register defines various operation modes of Media Independent Interface. Table 2.35 MII Mode Register Bit Definition MAC0 Address : 1920_0030 MAC1 Address : 1920_1030 Bits Access Default Description 31:28 0 Reserved 27:24 RW 0 Additional output delay on TX_EN, TX_ER, and TX_D[3:0]. 0x0 = 0ns 0x1 = 1ns …. 0xE = 14ns 0xF = 15ns 23:20 RW 0xF Inter-Transaction gap This specifies time gap (in MDC cycles) between two consecutive MII transactions when SCAN mode. Ignored when any mode other than scan. 0x0 = Reserved © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 84 Version 1.5 HMS30C7110 0x1 = (number of gap cycle = 1) 0x2 = (number of gap cycles = 2) … 0xE = (number of gap cycles = 14), 0xF= (number of gap cycles = 15) 19:18 17 RW 0 Reserved 1 Preamble 0 = No MII preamble will be used. 1 = 32-bit preamble will lead MII transaction. 16 RW 1 MDC Mode 0 = Gated MDC 1 = Continuous MDC 15:8 RW 0x64 Clock Divider This field defines a host cock divider factor. The host clock can be divided by an even number, greater than 1. The default value is 0x64 (100 in decimal). 7:1 0 RWC 0 Reserved 0 MII Reset 0 = Normal operation 1 = Reset active (auto-clear after reset is done) 2.6.2.14. MII_CMD (offset = 0x34) This register defines command operation of MII Table 2.36 MII Command Register Definition MAC0 Address : 1920_0034 MAC1 Address : 1920_1034 Bits Access Default Description 31:24 0 Reserved 23:19 0 Reserved © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 85 Version 1.5 HMS30C7110 18 RWC 0 READ 0 = no operation or read complete 1 = read operation is in progress Setting ‘1’ will initiate read operation. It will be auto cleared if read operation is completed. Data read from PHY will be stored at MII_RXDATA (offset = 0x3C) 17 RWC 0 WRITE 0 = no operation or write complete 1 = write operation is in progress Setting ‘1’ will initiate write operation. It will be auto cleared if write operation is completed. Transmit data should be written in MII_TXDATA (offset = 0x38) before setting this bit. 16 RW 0 Scan / setting ‘1’ will initiate a scan operation 0 = no operation or scan complete 1 = SCAN operation is in progress Scan operation will perform read operation throughout the entire range of PHY ID and register offsets. Interrupt will be generated (if enabled) whenever single read is completed. The first PHY ID and register offsets to start scan operation should be written in bits[12:8] and bits[4:0] before setting this bit. The CPU needs to clear this bit to stop scan operation. 15:13 12:8 RW 7:5 4:0 RW 0 Reserved 0 PHY address 0 Reserved 0 Register address in a PHY 2.6.2.15. MII_TXDATA (offset = 0x38) The CPU should write 16-bit TX data prior to send write command via MII_CMD register. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 86 Version 1.5 HMS30C7110 Table 2.37 MII Transmit Data Register MAC0 Address : 1920_0038 MAC1 Address : 1920_1038 Bits Access Default Description 31:16 15:0 RW 0 Reserved 0 Data to be written to the PHY 2.6.2.16. MII_RXDATA (offset = 0x3C) The CPU can read contents of registers from PHY by issuing read command via MII_CMD register. Table 2.38 MII Receive Data Register MAC0 Address : 1920_003C MAC1 Address : 1920_103C Bits Access Default Description 31:16 15:0 RW 0 Reserved 0 Data received from PHY 2.6.2.17. LENGTH (offset = 0x44) This register defines upper and lower bound of payload length of a MAC frame. It also defines maximum burst transfer length between Ethernet MAC and system memory. Table 2.39 Length Register MAC0 Address : 1920_0044 MAC1 Address : 1920_1044 Bits Access Default Description 31:16 RW 0x05dc Maximum payload length, default = 1500 in decimal © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 87 Version 1.5 HMS30C7110 Frames with payload of more than this value will be truncated. 15:8 RW 0x2e Minimum payload length, default = 46 in decimal 7:0 RW 0x10 Maximum burst transfer length in word on the system bus. default = 16 in decimal 2.6.2.18. MCAST_ADDR_0 (offset = 0x48) This register combined with MCAST_ADDR_1 (offset = 0x4C) provides 64-bit field to qualify multicast frame destined to this Ethernet MAC. Only one bit out of 64-bits should be set to determine valid multicast address. The bit position to be set is calculated by applying CRC over destination address field of incoming multicast frame. Table 2.40 Multicast Address (Most Significant) MAC0 Address : 1920_0048 MAC1 Address : 1920_1048 Bits Access Default Description 31:0 RW Only one bit position should be set to determine that the current 0 multicast frame is destined to this MAC 2.6.2.19. MCAST_ADDR_1 (offset = 0x4c) Table 2.41 Multicast Address (Least Significant) MAC0 Address : 1920_004C MAC1 Address : 1920_104C Bits Access Default Description 31:0 RW See Multicast Address 0 (offset = 0x48) 0 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 88 Version 1.5 HMS30C7110 2.6.2.20. MAC_ADDR_x0 (x = 0..7) (offset = 0x50, 0x58, …, 0x88) This register along with the MAC_ADDR_x1 register forms a 6-byte address field of an Ethernet frame. It also provides byte ordering and valid bits for configuration. Total of eight MAC addresses are available. Table 2.42 MAC Address 0 (Control & Byte 5, 4) MAC0 Address : 1920_0050, 1920_0058, 1920_0060, 1920_0068, 1920_0070, 1920_0078, 1920_0080, 1920_0088 MAC1 Address : 1920_1050, 1920_1058, 1920_1060, 1920_1068, 1920_1070, 1920_1078, 1920_1080, 1920_1088 Bits Access Default Description 31:24 0 Reserved 23:21 0 Reserved 0 Byte ordering 20 RW 0 = Byte 5 is the most significant byte of the address 1 = Byte 0 is the most significant byte of the address 19:17 16 RW 0 Reserved 0 VALID 0 = The address will not be compared with incoming destination address 1 = The address will be compared with incoming destination address 15:8 RW 0 Byte 5 of the Ethernet MAC address 7:0 RW 0 Byte 4 of the Ethernet MAC address 2.6.2.21. MAC_ADDR_x1 (x = 0..7) (offset = 0x54, 0x5C, …, 0x8C) Table 2.43 MAC Address 1 (Byte 3, 2, 1, 0) MAC0 Address : 1920_0054, 1920_005C, 1920_0064, 1920_006C, 1920_0074, 1920_007C, 1920_0084, 1920_008C MAC1 Address : 1920_1054, 1920_105C, 1920_1064, 1920_106C, 1920_1074, 1920_107C, 1920_1084, © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 89 Version 1.5 HMS30C7110 1920_108C Bits Access Default Description 31:24 RW 0 Byte 3 of the Ethernet MAC address 23:16 RW 0 Byte 2 of the Ethernet MAC address 15:8 RW 0 Byte 1 of the Ethernet MAC address 7:0 RW 0 Byte 0 of the Ethernet MAC address 2.6.2.22. P_FRM_ADDR_0 (offset = 0x90) This register along with the P_FRM_ADDR 1 register (offset 0x94) forms a 6-byte address field of an Ethernet Pause frame. It also provides byte ordering and valid bits for configuration. Table 2.44 Pause Frame Address 0 MAC0 Address : 1920_0090 MAC1 Address : 1920_1090 Bits Access Default Description 31:24 RW 0 Reserved 23:21 RW 0 Reserved 20 0 Byte ordering RW 0 = Byte 5 is the most significant byte of the address 1 = Byte 0 is the most significant byte of the address 19:17 RW 0 Reserved 16 0 VALID RW 0 = The address will not be compared with incoming destination address 1 = The address will be compared with incoming destination address 15:8 RW 0x01 Byte 5 of the Pause Frame Multicast address 7:0 RW 0x80 Byte 4 of the Pause Frame Multicast address © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 90 Version 1.5 HMS30C7110 2.6.2.23. P_FRM_ADDR_1 (offset = 0x94) Table 2.45 Pause Frame Address 1 MAC0 Address : 1920_0094 MAC1 Address : 1920_1094 Bits Access Default Description 31:24 RW 0xC2 Byte 3 of the Pause Frame Multicast address 23:16 RW 0x00 Byte 2 of the Pause Frame Multicast address 15:8 RW 0x01 Byte 1 of the Pause Frame Multicast address 7:0 RW 0x80 Byte 0 of the Pause Frame Multicast address 2.6.2.24. P_FRM_ID (offset = 0x98) This register holds frame type identifier and operation code of Pause frame. Table 2.46 Pause Frame Type ID and OP Code MAC0 Address : 1920_0098 MAC1 Address : 1920_1098 Bits Access Default Description 31:16 RW 0x8808 Type identifier for pause frame 15:0 0x0001 Operation code for pause frame RW 2.6.2.25. P_FRM_VALUE (offset = 0x9C) This register holds delay information of Pause frame. This field specifies the number of delay cycles to pause TX based on MAC_CLK, i.e., 25MHz for 100Mbps and 2.5 MHz for 10Mbps. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 91 Version 1.5 HMS30C7110 Table 2.47 Pause frame delay value MAC0 Address : 1920_009C MAC1 Address : 1920_109C Bits Access Default Description 31:16 15:0 0 RW Reserved 0x0018 Delay value 2.6.2.26. H_TX_BADDR (offset = 0xA0) This register holds base address of a frame to be transmitted via high priority TX queue (single entry). Table 2.48 TX High Priority Queue Base Address MAC0 Address : 1920_00A0 MAC1 Address : 1920_10A0 Bits Access Default Description 31:0 RW 0 Base address of TX frame for high priority queue 2.6.2.27. H_TX_LENGTH (offset = 0xA4) This register holds length of a frame to be transmitted via high priority TX queue (single entry). Table 2.49 TX High Priority Queue Length MAC0 Address : 1920_00A4 MAC1 Address : 1920_10A4 Bits Access Default Description 31:0 R/W 0 Length of TX frame for high priority queue © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 92 Version 1.5 HMS30C7110 2.6.2.28. TX_BUF_LVL_L (offset = 0xA8) This register displays buffer levels of TX address buffer, TX length buffer, and TX address-back buffer of low priority TX queue. Table 2.50 TX Low Priority Queue Level MAC0 Address : 1920_00A8 MAC1 Address : 1920_10A8 Bits Access Default Description 31:21 0 Reserved 20:16 RO 0 TX address-back buffer level 15:12 0 Reserved 0 TX address buffer level 0 Reserved 0 TX length buffer level 12:8 RO 7:5 4:0 RO 2.6.2.29. TX_ADDR_BK_L (offset = 0xAC) This register holds up to 15 TX addresses of low priority used in transmission. Table 2.51 TX Low Priority Queue Address Return MAC0 Address : 1920_00AC MAC1 Address : 1920_10AC Bits Access Default Description 31:0 RO 0 TX address back 2.6.2.30. TX_BUF_LVL_H (offset = 0xB0) This register displays buffer levels of TX address buffer, TX length buffer, and TX address-back © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 93 Version 1.5 HMS30C7110 buffer of high priority TX queue. Table 2.52 TX High Priority Queue Level MAC0 Address : 1920_00B0 MAC1 Address : 1920_10B0 Bits Access Default Description 31:21 0 Reserved 20:16 RO 0 TX address-back buffer level 15:12 0 Reserved 0 TX address buffer level 0 Reserved 0 TX length buffer level 12:8 RO 7:5 4:0 RO 2.6.2.31. TX_ADDR_BK_H (offset = 0xB4) This register holds up to 15 TX addresses of high priority used in transmission. Table 2.53 TX High Priority Queue Address Return MAC0 Address : 1920_00B4 MAC1 Address : 1920_10B4 Bits Access Default Description 31:0 RO 0 TX address back © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 94 Version 1.5 HMS30C7110 2.7. UART The HMS30C7110® integrates a serial interface which supports Universal Asynchronous Receiver / Transmitter (UART) function. It is compatible with the NS16550A. The universal asynchronous receiver / transmitter supports independent 1 channel Tx/Rx functionality. The UART supports full duplex and it has 16 bytes internal FIFOs to overcome interrupt latency for receiving and sending data. The serial information exchanged between host PC and serial device has a synchronization bit (start of frame), stop bit (end of frame) and error detection bit (parity bit). The supported parity is even, odd, forced one, and forced zero. The UART is designed to clear the cumulative clock jitter between host PC and UART device. When the UART detects the start bit, the clock generator synchronize internal counter to the falling edge of start bit. For this reason, the maximum tolerable jitter rate is 5 % of BAUD rate. The UART contains following features. z Full duplex z Receive FIFO of 16 bytes z 6, 7 or 8 bits per character z 1 or 2 stop bits z Odd parity, even parity, forced parity or none z Break detection and generation z Parity, overrun and framing error detection z Receiver timeout interrupt z Programmable BAUD rate generator z Two modem control signals z Auto-flow control © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 95 Version 1.5 HMS30C7110 2.7.1. Block Diagram RECEIVER FIFO RECEIVER SHIFT REGISTER LINE CONTROL REGISTER RECEIVER TIMING & CONTROL RxD APB DIVISOR LATCH REGISTER BAUD GENERATOR LINE STATUS REGISTER TRANSMITTER TIMING & CONTROL TRANSMIT FIFO TRANSMITTER SHIFT REGISTER MODEM CONTROL REGISTER TxD RTS# CTS# MODEM CONTROL LOGIC DTR# MODEM STATUS REGISTER DSR# INTERRUPT ENABLE REGISTER INTERRUPT CONTROL LOGIC IRQ INTERRUPT ID REGISTER Figure 2.10 Block Diagram of UART Device © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 96 Version 1.5 HMS30C7110 2.7.2. User Accessible Registers (Base = 0x1800_0000) This section describes all base, control and status register inside the UART. The address field indicates a relative address in hexadecimal. The base address of UART0 is 0x18000000 and UART1 is 0x18080000. Only UART1 has a hardware flow control. Width specifies the number of bits in the register and access specifies the valid access types that register. Where RW stands for read and write access, RO for read only access. A “C” appended to RW or RO, indicates that some or all of the bits can be cleared after a write ‘1’ in corresponding bit. Base address for UART 1 is 0x1808_0000. Table 2.54 Registers for UART Name Address Width Access Description RHR 0x00 8 RO Receiver Holding Register THR 0x00 8 WO Transmitter Holding Register IER 0x04 4 RW Interrupt Enable Register IIR 0x08 4 RO Interrupt Identification Register FCR 0x08 2 WO FIFO Control Register LCR 0x0c 7 RW Line Control Register MCR 0x10 4 RW MODEM Control Register LSR 0x14 8 RO Line Status Register MSR 0x18 8 RO MODEM Status Register DLL 0x00 8 WO Divisor Latch LSB Register DLM 0x04 8 WO Divisor Latch MSB Register *DLL and DLM are accessible ONLY when LCR bit-7 is set to “1” 2.7.2.1. Receiver Holding Register (RHR) This register holds the received incoming data byte. Bit 0 is the least significant bit, which is transmitted and received first. Received data is double buffered; this uses an additional shift register to receive the serial data stream and convert it to a parallel 8 bit word which is transferred to the Receive Buffer register. The shift register is not accessible. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 97 Version 1.5 HMS30C7110 Table 2.55 RHR Bit Definition Address : 1800_0000 Bits Access Default Description 31:8 7: 0 RO 0x00 Reserved. 0x00 RECEIVE DATA This 8 bit field is loaded with receive data. The receive data is stored in FIFO. RHR has the byte data first loaded in the FIFO. 2.7.2.2. Transmitter Buffer Register (THR) This register contains the data byte to be transmitted. The transmit buffer is double buffered, utilizing an additional shift register (not accessible) to convert the 8 bit data word to a serial format. This shift register is loaded from the Transmit Buffer when the transmission of the previous byte is complete. Table 2.56 THR Bit Definition Address : 1800_0000 Bits Access Default Description 31:8 7: 0 WO 0x00 Reserved. 0x00 TRANSMIT DATA This 8 bit field is loaded with transmit data. The transmit data is double buffered. THR is copied to transmit shift register to convert serial data. 2.7.2.3. Interrupt Enable Register (IER) This register enables five types of interrupts for the associated serial channel. Each interrupt can activate the interrupt request signal. It is possible to totally disable the interrupt system by resetting bits 0 through 3 of the Interrupt Enable Register (IER). Similarly, setting bits of the IER register to logic 1, enables the selected interrupt. Disabling an interrupt prevents it from being indicated as active in the IIR and from activating IRQ signal. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 98 Version 1.5 HMS30C7110 Table 2.57 IER Bit Definition Address : 1800_0004 Bits Access Default Description 31:4 3 RW 0x00 Reserved 0x0 MODEM Status Interrupt Enable When set to logic 1 this bit enables the MODEM Status Interrupt 2 RW 0x0 Receiver Line Status Interrupt Enable When set to logic 1 this bit enables the Receiver Line Status Interrupt. 1 RW 0x0 Transmitter Holing Register Empty Interrupt Enable When set to logic 1 this bit enables the Transmitter Holding Register Empty Interrupt. 0 RW 0x0 Receive Data Available Interrupt Enable When set to logic 1 this bit enables the Receive Data Available Interrupt and Timeout Interrupt in the FIFO Mode. 2.7.2.4. Interrupt Identification Register (IIR) In order to provide minimum software overhead during data character transfers, each serial channel of the UART prioritizes interrupts into four levels and records these in the Interrupt Identification Register. The four levels of interrupt conditions in order of priority are Receiver Line Status; Received Data Ready; Transmitter Holding Register Empty; and MODEM Status. Table 2.58 IIR Bit Definition Address : 1800_0008 Bits Access Default Description 31:4 0x00 Reserved 3 RO 0x0 This bit is set along with bit 2 when a timeout interrupt is pending. 2:1 RO 0x00 These two bits of the IIR identify the highest priority interrupt pending from those shown in Table 2.64. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 99 Version 1.5 HMS30C7110 0 RO 0x0 This bit can be used in a prioritized interrupt environment to indicate whether an interrupt is pending. When bit 0 is logic 0, an interrupt is pending and the IIR contents may be used as a pointer to the appropriate interrupt service routine. When bit 0 is logic 1, no interrupt is pending. Table 2.59 Interrupt Control Functions FIFO Interrupt Mode Identification Only Register Bit 3 Bit 2 Bit 1 Bit 0 Interrupt Set and Reset Functions Priority Interrupt Level Type Interrupt Source Interrupt Reset Control 0 0 0 1 - None None - 0 1 1 0 Highest Receiver Overrun Error or Parity Error or Framing Reading Line Status Error or Break Interrupt Register Received Receiver Data Available or Trigger Level Reading the Receiver Buffer Data Reached Register or the FIFO Drops 0 1 0 0 Second Available 1 1 0 0 Second the Line Status below the Trigger Level Character No Characters Have Been Removed from Reading the Receiver Buffer Timeout or Input to the RCVR FIFO During the Register Indication Last 4 Char. Times and There is at Least 1 Char. In it During This Time 0 0 0 0 1 0 0 0 Third Fourth Transmitter Transmitter Holding Register Empty Reading the IIR Register (if Holding Source of Interrupt) or Register Writing into the Transmitter Empty Holding Register MODEM Clear To Send or Data Set Ready or Ring Reading the MODEM Status Status Indicator or Data Carrier Detect Register © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 100 Version 1.5 HMS30C7110 2.7.2.5. FIFO Control Register (FCR) This is a write only register at the same location as the IIR (the IIR is a read only register). This register is used to enable the FIFOs, clear the FIFOs, set the RCVR FIFO trigger level, and select the type of DMA signaling. Table 2.60 FCR Bit Definition Address : 1800_0008 Bits Access Default Description 31:8 7:6 WO 0x00 Reserved 0x00 These two bits are used to designate the interrupt trigger level. When the number of bytes in the RCVR FIFO is equivalent to the designated interrupt trigger level, a Received Data Available Interrupt is activated. This interrupt must be enabled by setting IER0 0 = RCVR FIFO Trigger Level is 1 1 = RCVR FIFO Trigger Level is 4 2 = RCVR FIFO Trigger Level is 8 3 = RCVR FIFO Trigger Level is 14 5:3 2 WO 0x00 Reserved 0x0 Writing a 1 to FCR2 clears all bytes in the XMIT FIFO and resets its counter logic to 0. The shift register is not cleared. The 1 that is written to this bit position is self-clearing 1 WO 0x0 Writing a 1 to FCR1 clears all bytes in the RCVR FIFO and resets its counter logic to 0. The shift register is not cleared. The 1 that is written to this bit position is self-clearing. 0 2.7.2.6. 0x0 Reserved Line Control Register (LCR) The system programmer specifies the format of the asynchronous data communications exchange and sets the Divisor Latch Access bit via the Line Control Register (LCR). This is a read and write register. Details on each bit follow: © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 101 Version 1.5 HMS30C7110 Table 2.61 LCR Bit Definition Address : 1800_000C Bits Access Default Description 31:8 7 RW 0x00 Reserved 0x0 Divisor latch enable 0 = disable 1 = enable 6 RW 0x0 BREAK CONTROL It causes a break condition to be transmitted to the receiving UART. When it is set to logic 1, the serial output is forced to the Spacing state (logic 0). The break is disabled by setting this bit to logic 0. 5 RW 0x0 PARITY ENABLE When this bit is logic 1, a Parity bit is generated (transmit data) or checked (receive data) between the last data bit and Stop bit of the serial data. 4:3 RW 0x00 PARITY SELECT 0 = odd parity 1 = even parity 2 = forced one (Mark parity) 3 = forced zero (Space parity) 2 RW 0x0 STOP BIT LENGTH This bit specifies the number of Stop bits transmitted or received serial character. 0 = 1 stop bit 1 = 2 stop bit 1: 0 RW 0x00 WORD LENGTH These two bits specify the number of data bits in each transmitted or received serial character. The encoding of bits 0 and 1 is as follows: 0 = 5 bits / character 1 = 6 bits / character 2 = 7 bits / character 3 = 8 bits / character © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 102 Version 1.5 HMS30C7110 2.7.2.7. MODEM Control Register (MCR) This register controls the interface with the MODEM or data set. Details on each bit follow: Table 2.62 MCR Bit Definition Address : 1800_0010 Bits Access Default Description 31:6 5 RW 0x00 Reserved 0x0 AUTOFLOW When this bit is set, the auto-flow control is enabled. The auto-flow control can be configured by setting bit 1 and 5 of MCR as shown in Table 2.68. 4 RW 0x0 LOOPBACK Enable This bit provides a local loop-back feature for diagnostic testing of the associated serial channel. 3:2 1 RW 0x00 Reserved 0x0 RTS Control This bit controls the Request to Send (RTS#) output. Bit 1 affects the RTS# output in a manner identical to that described below for bit 0. 0 RW 0x0 DTR Control This bit controls the Data Terminal Ready (DTR#) output. When bit 0 is set to logic 1, the DTR# output is forced to a logic 0. When bit 0 is reset to logic 0, the DTR# output is forced to logic 1. Table 2.63 Autoflow Control Configuration Bit5 Bit1 Description 1 1 Auto-rts and auto-cts enabled 1 0 Auto-cts only enabled 0 X Auto-rts and auto-cts disabled © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 103 Version 1.5 HMS30C7110 2.7.2.8. Line Status Register (LSR) The Register provides status information to the CPU concerning the data transfer. Details on each bit follow: Table 2.64 LSR Bit Definition Address : 1800_0014 Bits Access Default Description 31:8 7 RO 0x00 Reserved 0x0 FIFO error This bit is set when there is at least one parity error, framing error or break indication if the FIFO. It is cleared when the CPU reads the LSR, if there are no subsequent errors in the FIFO. 6 RO 0x0 Transmitter Empty (TEMT) This bit is the Transmitter Empty indicator. Bit 6 is set to logic 1 whenever the transmitter FIFO and shift register are both empty. 5 RO 0x0 Transmitter Holding Register Empty (THRE) This bit is the Transmitter Holding Register Empty indicator. this bit is set when the XMIT FIFO is empty; it is cleared when at least 1 byte is written to the XMIT FIFO. 4 RO 0x0 Break Interrupt (BI) This bit is the Break Interrupt indicator. Bit 4 is set to logic 1 whenever the received data input is held in the Spacing (logic 0) state for longer than a full word transmission time. The BI indicator is reset whenever the CPU reads the contents of the Line Status Register or when the next valid character is loaded into the Receiver FIFO. This error is associated with the particular character in the FIFO it applies to. This error is revealed to the CPU when its associated character is at the top of the FIFO. When break occurs only one zero character is loaded into the FIFO. 3 RO 0x0 Framing Error (FE) This bit is the Framing Error indicator. Bit 3 indicates that the © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 104 Version 1.5 HMS30C7110 received character did not have a valid Stop bit. The FE bit is set to logic 1 when the serial channel detects logic 0 during the first Stop bit time. The FE indicator is reset whenever the CPU reads the contents of the Line Status Register. This error is associated with the particular character in the FIFO it applies to. This error is revealed to the CPU when its associated character is at the top of the FIFO. 2 RO 0x0 Parity Error (PE) This bit is the Parity Error (PE) indicator. Bit 2 indicates that the received data character does not have the correct even or odd parity. This error is associated with the particular character in the FIFO it applies to. This error is revealed to the CPU when its associated character is at the top of the FIFO. 1 RO 0x0 Overrun Error (OE) This bit is the Overrun Error indicator. Bit 1 indicates that the next character received was transferred into the Receiver Buffer Register before the CPU could read the previously received character. It is reset whenever the CPU reads the contents of the Line Status Register. 0 RO 0x0 Data Ready (DR) This bit is the receive Data Ready indicator. Bit 0 is set to logic 1 whenever a complete incoming character has been received and transferred into the Receiver FIFO. Bit 0 is reset to logic 0 by reading all of the data in the Receive FIFO. 2.7.2.9. MODEM Status Register (MSR) This register provides the current stat of the control lines from the MODEM. Details on each bit follow: Table 2.65 MSR Bit Definition Address : 1800_0018 Bits Access Default Description © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 105 Version 1.5 HMS30C7110 31:6 5 RO 0x00 Reserved 0x0 DSR# This bit is the complement of the Data Set Ready input. In the loopback mode, this bit is equivalent to DTR in MCR. 4 RO 0x0 CTS# This bit is the complement of the Clear to Send input. In the loopback mode, this bit is equivalent to RTS in MCR. 3:2 1 RO 0x00 Reserved 0x0 DDSR This bit is the Delta Data Set Ready indicator. It indicates that the DSR# input to the chip has changed state since the last time it was read by the CPU. 0 RO 0x0 DCTS This bit is the Delta Clear to Send indicator. It indicates that the CTS# input to the chip has changed stat since the last time it was read by the CPU. 2.7.2.10. Divisor Latch LSB Register (DLL) The UART contains a programmable Baud Generator. The output frequency of the Baud Generator is 16 × the divisor number. The output of Baud Generator drives the transmitter and receiver sections of the associated serial channel. This register contains the lower byte of the divisor number. DLL is accessible only when LCR bit-7 is set to 1. Table 2.66 DLL Bit Definition Address : 1800_0000 Bits Access Default Description 31:8 7: 0 WO 2.7.2.11. 0x00 Reserved. 0x00 Lower byte of Divisor number Divisor Latch MSB Register (DLM) This register contains the higher byte of the divisor number. DLM is accessible only when LCR bit© 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 106 Version 1.5 HMS30C7110 7 is set to 1. Table 2.67 DLM Bit Definition Address : 1800_0004 Bits Access Default Description 31:8 7: 0 WO 0x00 Reserved. 0x00 Higher byte of Divisor number *Baud rate = clock frequency ÷ (16 × (Divisor# + 1)) © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 107 Version 1.5 HMS30C7110 2.8. TIMER The HMS30C7110® integrates 3 channels of Timers and each channel has 32-bit down counter. The input clock of each channel is selectable among one of the 4 clock speeds, System Bus Clock/1, System Bus Clock/4, System Bus Clock/16, or System Bus Clock/256. When the clock of the system bus is 100MHz, the Timer input options are 100/25/6.25/0.4MHz. When the clock of the system is 80MHz, the Timer input options are 80/20/5/0.3125MHz. The Timers are fully configurable through a set of control registers. Complete descriptions of these registers are given in the Register Section. 2.8.1. User Accessible Registers (Base = 0x1810_0000) This section describes all base, control and status registers inside the Timer. The address field indicates a relative address in hexadecimal. Width specifies the number of bits in the register and access specifies the valid access types that register. Where ‘RW’ stands for read and write access, ‘RO’ for read only access. A ‘C’ appended to ‘RW’ or ‘RO’, indicates that some or all of the bits can be cleared after a write ‘1’ in corresponding bit. Table 2.68 Registers for TIMER Name Address Width Access Description Clock Selection 0x00 3x2 RW Input clock selection for 3 channels Timer Control 0x04 3x2 RW Channel enable/disable Timer Interval 0 0x08 32 RW Reload value for Timer Channel 0 Timer Interval 1 0x0c 32 RW Reload value for Timer Channel 1 Timer Interval 2 0x10 32 RW Reload value for Timer Channel 2 Timer Value 0 0x14 32 RW Channel 0 current timer value Timer Value 1 0x18 32 RW Channel 1 current timer value Timer Value 2 0x1c 32 RW Channel 2 current timer value INT SRC 0x20 3 RW Interrupt pending register INT ENABLE 0x24 3 RW Interrupt enable register © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 108 Version 1.5 HMS30C7110 2.8.1.1. Clock Selection This register contains clock division values (pre-scalar) for 3 channels. Table 2.69 Clock Selection Register Bit Definition Address : 1810_0000 Bits Access Default Description 31:10 9: 8 Reserved RW 0 Clock Select for Timer 2 0 = System Bus Clock 1 = System Bus Clock ÷ 4 2 = System Bus Clock ÷ 8 3 = System Bus Clock ÷ 256 7: 6 5: 4 Reserved RW 0 Clock Select for Timer 1 0 = System Bus Clock 1 = System Bus Clock ÷ 4 2 = System Bus Clock ÷ 8 3 = System Bus Clock ÷ 256 3: 2 1: 0 Reserved RW 0 Clock Select for Timer 0 0 = System Bus Clock 1 = System Bus Clock ÷ 4 2 = System Bus Clock ÷ 8 3 = System Bus Clock ÷ 256 2.8.1.2. Timer Control This register includes timer enable and clear bits for 3 channels. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 109 Version 1.5 HMS30C7110 Table 2.70 Timer Control Register Bit Definition Address : 1810_0004 Bits Access Default Description 31:10 9 Reserved W 0 Timer 2 clear Writing ‘1’ to this bit clears the channel 2 counter. 8 RW 0 Timer 2 enable 0 = Timer2 disable 1 = Timer2 enable 7: 6 5 Reserved W 0 Timer 1 clear Writing ‘1’ to this bit clears the channel 1 counter. 4 RW 0 Timer 1 enable 0 = Timer1 disable 1 = Timer1 enable 3: 2 1 Reserved W 0 Timer 0 Clear Writing ‘1’ to this bit clears the channel 0 counter. 0 RW 0 Timer 0 enable 0 = Timer0 disable 1 = Timer0 enable 2.8.1.3. Timer Interval 0~2 These registers include timer values. Table 2.71 Timer Interval Register Bit Definition Address : 1810_0008, 1810_000C, 1810_0010 Bits Access Default Description 31: 0 RW 0 INTERVAL This 32-bit field contains the interval value that is loaded to the down © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 110 Version 1.5 HMS30C7110 counter to recount. 2.8.1.4. Timer Value 0~2 These registers show the current values of the down counter. Table 2.72 Current Timer Value Register Bit Definition Address : 1810_0014, 1810_0018, 1810_001C Bits Access Default Description 31: 0 RO 0 CTV (Current Timer Value) This 32-bit field indicates the present value of internal down counter. 2.8.1.5. INT SRC This register has 3 timer interrupts that occur every time the counter reaches zero. Table 2.73 Interrupt Source Register Bit Definition Address : 1810_0020 Bits Access Default Description 31: 3 2 RW 0 Reserved 0 Expire timer 2 This bit indicates that the channel 2 down counter reaches zero value. 1 RW 0 Expire timer 1 This bit indicates that the channel 1 down counter reaches zero value. 0 RW 0 Expire timer 0 This bit indicates that the channel 0 down counter reaches zero value. 2.8.1.6. INT ENABLE This register includes interrupt enable bits. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 111 Version 1.5 HMS30C7110 Table 2.74 Interrupt Enable Address : 1810_0024 Bits Access Default Description 31: 3 Reserved 2 RW 0 Expire timer 2 enable 1 RW 0 Expire timer 1 enable 0 RW 0 Expire timer 0 enable © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 112 Version 1.5 HMS30C7110 2.9. GPIO The HMS30C7110® integrates a GPIO module that supports 21 GPIO (General Purpose Input / Output) ports. 3 GPIO out of 21 are dedicated to GPIO feature and others are muxed to other features. Each port is configurable with input or output mode. The initial modes of all GPIO pins are set to input, so when to use in output mode, it is highly recommended to pull-up or pull-down the ports to prevent annoying vibration caused by temporary high impedance state during reset and initialization. The GPIO is capable of interrupting the MCU when input signal triggers, and it supports one of the four kinds of interrupt source signal. Level trigger high/low and edge trigger rising/falling signal. The GPIO is fully configurable through a set of control registers. Complete descriptions of these registers are given in the Register Section. 2.9.1. User Accessible Registers (Base = 0x1820_0000) This section describes all base, control and status registers inside the GPIO module. The address field indicates a relative address in hexadecimal. Width specifies the number of bits in the register and access specifies the valid access types to that register. ‘RW’ stands for read and write access and ‘RO’ for read only access. A ‘C’ appended to ‘RW’ or ‘RO’ indicates some or all of the bits can be cleared after writing ‘1’ to the corresponding bit. Table 2.75 Registers for GPIO Name Address Width Access Description GPO Data 0x00 9 RW GPO data to I/O pins GPI Data 0x04 12 RO GPI data from I/O pins GPIO Direction 0x08 9 RW Direction for I/O pins INT SRC 0x0c 16 RW Interrupt Source INT ENABLE 0x10 16 RW Interrupt enable INT MODE 0x14 16 RW Detection mode of interrupt © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 113 Version 1.5 HMS30C7110 INT LEVEL 0x18 16 RW Detection level of interrupt 2.9.1.1. GPO Data The GPO data register has GPO output data that is put on the external pins. This value can be read also. Each GPO has nothing to do with same numbered GPI, which means independent operation. Table 2.76 GPO Data Register Bit Definition Address : 1820_0000 Bits Access Default Description 31: 9 8: 0 Reserved RW 0 GPO DATA This 9-bit field is output to the GPO pins and the GPIOs when set to output mode. 2.9.1.2. GPI Data The GPI data register shows the GPI input data on the GPIO pins. Table 2.77 GPI Data Register Bit Definition Address : 1820_0004 Bits Access Default Description 31:12 11: 0 Reserved RO 0 GPI DATA This 12-bit field shows the status of GPI pins and the stautus of GPIO pins regardless the direction of GPIOs or the mode of GPI, dedicated mode or GPI mode. 2.9.1.3. GPIO Direction The GPIO direction register controls the direction of GPIO pins and chooses the function of GPIs and GPOs. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 114 Version 1.5 HMS30C7110 Table 2.78 GPIO Direction Register Bit Definition Address : 1820_0008 Bits Access Default Description 31:9 8:3 RW 0x00 Reserved 0x00 GPO FUNCTION These pins set the coressponding pins to either dedicated function or GPO. 0 = Use for specific features 1 = Use for GPI or GPO 2:0 RW 0x00 GPIO DIRECTION This 3-bits field controls the direction of GPIO pads. 0 = input mode 1 = output mode 2.9.1.4. INT SRC The Interrupt source register indicates which input pin is triggered. Table 2.79 Interrupt Source Register Bit Definition Address : 1820_000C Bits Access 31: 16 15: 0 ROC Default Description 0x00 Reserved 0x00 INT SOURCE This 16-bits field indicates which GPI pin(s) generated interrupt(s). Bit 0 through 7 generate external interrupt 0 through 7 respectively. Bit 8 through 15 generate GPIO interrupt. 2.9.1.5. INT ENABLE The Interrupt enable register chooses the interrupt sources being used. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 115 Version 1.5 HMS30C7110 Table 2.80 The Bit Definition of the Interrupt Enable Register Address : 1820_0010 Bits Access 31: 16 15: 0 RW Default Description 0x00 Reserved 0x00 INT ENABLE This 16-bits field enables the GPI interrupts. 0 = disable 1 = enable 2.9.1.6. INT MODE The interrupt mode register chooses the interrupt mode of either level trigger or edge trigger. Table 2.81 Interrupt Mode Register Bit Definition Address : 1820_0014 Bits Access 31: 16 15: 0 RW Default Description 0x00 Reserved 0x00 INT MODE This 16-bits field controls the interrupt mode of each GPI pins. 0 = Level trigger 1 = Edge trigger 2.9.1.7. INT LEVEL The interrupt level register selects active level of interrupt sources when in level triggering mode, active low or active high. Table 2.82 Interrupt Level Register Bit Definition Address : 1820_0018 Bits Access Default Description © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 116 Version 1.5 HMS30C7110 31:16 15: 0 RW 0x00 Reserved 0x00 INT LEVEL This 16-bits field controls the active level of interrupt request on each GPI pins. 0 = Low active for Level / Falling edge for Edge trigger 1 = High active for Level / Rising edge for Edge trigger 2.10. SPI The HMS30C7110® integrates an Serial Peripheral Interface (SPI) module which is used for interfacing the Serial ROM or Serial Interface Devices such as PCM Audio codec. The SPI of HMS30C7110® generates serial clock (CCLK), serial data out (CDOUT), serial data in (CDIN) and chip select (nCCS). The clock speed is selectable by programming the internal register. The SPI also supports the 8bit, 16bit and 32bit IO devices. The complete descriptions of these registers are given in the Register Section. 2.10.1. Block Diagram The SPI of HMS30C7110® consists of several blocks such as register file and serial interface core module. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 117 Version 1.5 HMS30C7110 CDIN nCCS CDOUT Shift Register FIFO (32 Bytes) Rx Data Register File (APB slave) FSM Shift Register FIFO (32 Bytes) Register bus Tx Data Baud Generator CCLK Figure 2.11 Block Diagram of SPI © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 118 Version 1.5 HMS30C7110 2.10.2. User Accessible Registers (Base = 0x1840_0000) This section describes all base, control and status register inside SPI. The address field indicates a relative address in hexadecimal. The base address is 0x18500000. Width specifies the number of bits in the register and access specifies the valid access types that register. Where RW stands for read and write access, RO for read only access. A “C” appended to RW or RO, indicates that some or all of the bits can be cleared after a write ‘1’ in corresponding bit. Table 2.83 Registers for SPI Name Address Width Access Description SPI Control 0x00 9 RW SPI baud rate and enable control SPI Mode0 0x04 8 RW Recovery timing control & Tx start Reserved 0x08 Reserved Reserved 0x0c Reserved Reserved 0x10 Reserved Reserved 0x14 Reserved TX Data 0x18 8 RW Transmit Data RX Data 0x1c 8 RW Receive Data INT SRC 0x20 1 ROC Interrupt source INT ENABLE 0x24 1 RW Interrupt enable STATUS 0x28 1 R Rx Empty © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 119 Version 1.5 HMS30C7110 2.10.2.1. SPI Control (offset = 0x00) This register includes SPI enable bit and baud rate setting value. Table 2.84 SPI Control Register Bit Definition Address : 1840_0000 Bits Access Default Description 31:9 8 RW 0 Reserved 0 Enable 0 = SPI clock disable 1 = SPI clock enable 7:0 RW 0 Baud rate One clock period = (baudrate+1) × CLKIN 2.10.2.2. SPI Mode 0 (offset = 0x04) These registers include recovery cycle field and data width field. Table 2.85 Configuration Register Bit Definition Address : 1840_0004 Bits Access Default Description 31:12 7:4 RW 0 Reserved 0 Recovery time This 4-bit field is used for making recovery time from one access cycle to the next access cycle. 3:1 0 RW 0 Reserved 0 Tx Start This one bit field is used to start transfer of Tx FIFO data. 2.10.2.3. TX Data (offset = 0x18) This register is writing path to 32 bytes Tx FIFO. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 120 Version 1.5 HMS30C7110 Table 2.86 Tx Data Register Bit Definition Address : 1840_0018 Bits Access Default Description 31:8 7:0 RW 0 Reserved 0 Tx Data 2.10.2.4. RX Data (offset = 0x20) This register is reading path of 32 bytes Rx FIFO. Table 2.87 Rx Data Register Bit Definition Address : 1840_001C Bits Access Default Description 31:8 7: 0 RW 0 Reserved 0 Rx Data 2.10.2.5. INT SRC This register includes SPI interrupt source bits. Table 2.88 Interrupt Source Register Bit Definition Address : 1840_0020 Bits Access Default Description 31: 1 0 RW 0 Reserved 0 TX done 2.10.2.6. INT ENABLE This register includes SPI interrupt enable bits. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 121 Version 1.5 HMS30C7110 Table 2.89 Interrupt Mask Register Bit Definition Address : 1840_0024 Bits Access Default Description 31:1 0 RW 0 Reserved 0 TX done enable 2.10.2.7. STATUS This register includes SPI Rx Status bits. Table 2.90 SPI Status Register Bit Definition Address : 1840_0028 Bits Access Default Description 31: 1 0 R 0 Reserved 0 TX empty © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 122 Version 1.5 HMS30C7110 2.11. DMA HMS30C7110® supports two-channel DMA controller that is located between the system bus and the peripheral bus. Each channel of DMA controller can perform data movements between devices in the system bus and/or peripheral bus with no restrictions. In other words, each channel can handle the following four cases: 1) both source and destination are in the system bus, 2) source is in the system bus while destination is in the peripheral bus, 3) sources in the peripheral bus while destination is in the system bus, 4) both source and destination are in the peripheral bus. The main advantage of DMA is that it can transfer data without any CPU intervention. The operation of DMA can be initiated by S/W, the request from internal peripherals or the external request pins. 2.11.1. User Accessible Registers (Base = 0x1910_0000) There are seven control registers for each DMA channel (Since there are two channels, the total number of control registers is 14). Four of them are to control the DMA transfer, and other three are to see the status of DMA controller. The details of those registers for a channel are as follows. 2.11.1.1. DMA INITIAL SOURCE REGISTER (DISRC, offset = 0x00, 0x20) Table 2.91 DMA Initial Source Register DMA0 Address : 1910_0000 DMA1 Address : 1910_0020 Field Name Bit Description LOC [31] Bit 31 is used to select the location of source. 0: the source is in the system bus, 1: the source is in the peripheral bus INC [30] Bit 30 is used to select the address increment. Increment unit is determined by DS of DCON. 0 = Increment 1= Fixed © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 123 Version 1.5 HMS30C7110 S_ADDR [29:0] These bits are the base address (start address) of source data to transfer 2.11.1.2. DMA INITIAL DESTINATION REGISTER (DIDST, offset = 0x04, 0x24) Table 2.92 DMA Initial Destination Register DMA0 Address : 1910_0004 DMA1 Address : 1910_0024 Field Name Bit Description LOC [31] Bit 31 is used to select the location of destination. 0: the destination is in the system bus, 1: the destination is in the peripheral bus INC [30] Bit 30 is used to select the address increment. 0 = Increment 1= Fixed S_ADDR [29:0] These bits are the base address (start address) of destination to transfer 2.11.1.3. DMA CONTROL REGISTER (DCON, offset = 0x08, 0x28) Table 2.93 DMA Control Register DMA0 Address : 1910_0008 DMA1 Address : 1910_0028 Field Name Bit Description DMD_HS [30] Select one between demand mode and handshake mode. 0 : demand mode is selected 1 : handshake mode is selected. SYNC. [29] Select DREQ/DACK synchronization 0: DREQ and DACK are synchronized to PCLK. 1: DREQ and DACK are synchronized to HCLK. INT [28] Enable/Disable the interrupt setting for TC(terminal count) 0: TC interrupt is disabled. 1: Interrupt is generated when all the transfer is done. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 124 Version 1.5 HMS30C7110 TS [27] Select the transfer size of a transfer 0: a single transfer is performed. 1: a burst transfer of length four is performed. SERVMODE [26] Select the service mode between single service mode and whole service mode 0: single service mode 1: whole service mode HWSRCSEL [25:24] SWHW_SEL [23] Select DMA request source for each DMA. Select the DMA source between software (S/W request mode) and hardware (H/W request mode). 0: S/W request mode 1: H/W request mode RELOAD [22] Set the reload on/off option. 0: auto reload is performed. 1: channel is turned off after TC reaches. DS [21:20] Data size to be transferred. 0: 8-bit (Byte), 1 : 16-bit (Half-Word), 2: 32-bit (Word) TC [19:0] Initial transfer count (or transfer beat). Note that the actual # of bytes that are transfered is obtained bt the following equation: DSZ * TSZ * TB, where DSZ, TSZ, and TB represent data size, transfer size, and transfer beats, respectively. 2.11.1.4. DMA STATUS REGISTER (DSTAT, offset = 0x0c, 0x2c) This register shows the current value of transfer counter(TC) and whether this channel is busy or idle. Table 2.94 DMA Status Register DMA0 Address : 1910_000C DMA1 Address : 1910_002C Field Name Bit Description © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 125 Version 1.5 HMS30C7110 RSVD [30:22] Reserved STATUS [21:20] DMA Status. 0: Ready(or Idle), 1: Busy, 2: Error CTC [19:0] Current transfer count (or transfer beat). 2.11.1.5. DMA CURRENT SOURCE REGISTER (DCSRC, offset = 0x10, 0x30) This register shows the value of current source address of the transfer. So only least 30 bits are valid. DMA0 Address : 1910_0010 DMA1 Address : 1910_0030 Field Name Bit Description [29:00] Current Source Address 2.11.1.6. CURRENT DESTINATION REGISTER (DCDST, offset = 0x14, 0x34) This register shows the value of current destination address of the transfer. DMA0 Address : 1910_0014 DMA1 Address : 1910_0034 Field Name Bit Description [29:00] Current Destination Address 2.11.1.7. DMA MASK TRIGGER REGISTER (MASKTRIG, offset = 0x18, 0x38) Table 2.95 DMA Mask Trigger Register DMA0 Address : 1910_0018 DMA1 Address : 1910_0038 Field Name Bit Description © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 126 Version 1.5 HMS30C7110 STOP [2] Stop the DMA operation. 1: DMA stops as soon as the current atomic transfer ends. Note : If there is no current atomic transfer, DMA stops immediately. Due to possible current atomic transfer, "stop" may take several cycles. The finish of "stop" operation can be detected by waiting until the channel on/off bit is set to off. This stop is actual "stop". It means that if DMA starts again all the values including TC start from initial values. ON_OFF [1] DMA channel on/off bit. 0: DMA channel is turned off. (DMA request to this channel is ignored.) 1: DMA channel is turned on and the DMA request is handled. Note : This bit is automatically set to off if we set the control register (DCON) to "no auto reload" and/or this register (MASKTRIG) to "stop". Note that when "no auto reload" is set, this bit becomes "off" when TC becomes 0. On the other hand, if "stop" is set, this bit becomes "off" as soon as the current automic transfer finishes. This bit should not be changed manually during DMA operation. SW_TRIG [0] Trigger the DMA channel in S/W. 1: it requests a DMA operation to this controller. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 127 Version 1.5 HMS30C7110 2.12. INTC The interrupt controller of HMS30C7110® receives the request from 21 interrupt sources. Among 21, 8 come from outside of chip, i.e., external interrupt sources, and remaining 13 come from internal sources such as DMA controller, ENET MAC, and etc. The role of the interrupt controller is to ask for IRQ and/or NMI to the ARM7TDMI after selecting one among 21 sources based on the arbitration rule. The arbitration is performed by the hardware priority logic and the result is written to the interrupt pending register to let users to know which interrupt has been requested. Interrupt Mode INTC supports 2 types of interrupt modes, NMI and IRQ. The mode of each interrupt source can be set by programming interrupt mode register. Among 21 sources, only one, generally very urgent one such as power failure can be set to operate as NMI. Interrupt Pending Register There are two interrupt pending registers. One is source pending register (SRCPND) and the other is interrupt pending register (INTPND). These pending registers indicate whether or not an interrupt request is pending. When the interrupt sources request interrupt services the corresponding bits of SRCPND register are set to 1, and at the next clock cycle one bit of INTPND register corresponding to the highest priority one is set to 1 after the arbitration process. If some of interrupts are masked (by programming mask register), the corresponding bits of INTPND register are not set to 1, while the corresponding bits of SRCPND register are set to 1. When a pending bit of INTPND register is set, IRQ is generated and goes to CPU. The SRCPND and INTPND registers can be read and written. The interrupt service routine must clear the pending condition by writing a 1 to the corresponding bit of SRCPND register first and then clear the pending condition in INTPND registers by writing 1. The NMI shares the SRCPND register with IRQ, but it does not go through the arbitration logic and directly goes to CPU for a fast service. So, in the service routine of NMI, user needs to clear only the SRCPND register. Interrupt Mask Register © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 128 Version 1.5 HMS30C7110 This register is used to mask the requests of some interrupt sources. If a bit of the register is set to 1, it indicates that the corresponding interrupt is disabled. If it is set to 0, the corresponding interrupt will be serviced normally. This mask register actually resides after the SRCPND register and affects the effective value of SRCPND register going to arbitration logic and NMI generation logic. Therefore, even for the masked requests, SRCPND register reflects their arrival as usual. Interrupt Sources Interrupt controller supports 21 interrupt sources as shown in the below table. Table 2.96 Interrupt Source Register Sources Bit Descriptions Arbiter Group INT_UART1 29 UART1 interrupt ARB5 INT_UART0 28 UART0 interrupt ARB5 INT_SPI 27 SPI interrupt ARB4 Reserved 26 Reserved ARB4 CardBus 22 CardBus error interrupt ARB4 CARD IRQ 21 IRQ from installed Card ARB3 PCMCIA 20 PCMCIA interrupt including card ARB3 detection INT_GPIO 19 GPIO interrupt (from GPI8 ~ GPI10) ARB3 INT_DMA1 18 DMA channel 1 interrupt ARB3 INT_DMA0 17 DMA channel 0 interrupt ARB3 INT_ENET1 14 ENET MAC 1 interrupt ARB2 INT_ENET0 11 ENET MAC 0 interrupt ARB2 INT_TIMER 10 TIMER interrupt ARB2 INT_EXT7 7 External interrupt 7 (from GPI7) ARB1 INT_EXT6 6 External interrupt 6 (from GPI6) ARB1 INT_EXT5 5 External interrupt 5 (from GPI5) ARB1 INT_EXT4 4 External interrupt 4 (from GPI4) ARB1 INT_EXT3 3 External interrupt 3 (from GPI3) ARB0 INT_EXT2 2 External interrupt 2 (from GPIO2) ARB0 INT_EXT1 1 External interrupt 1 (from GPIO1) ARB0 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 129 Version 1.5 HMS30C7110 INT_EXT0 0 External interrupt 0 (from GPIO0) ARB0 Arbitration block The priority logic for 32 interrupt requests is composed of seven rotation based arbiters: six firstlevel arbiters and one second-level arbiter as shown in the following figure. ARB0 REQ1: INT_EXT0 REQ2: INT_EXT1 REQ3: INT_EXT2 REQ4: INT_EXT3 REQ0: INT_EXT4 REQ1: INT_EXT5 ARB1 REQ2: INT_EXT6 REQ3: INT_EXT7 REQ4: Reserved REQ5: Reserved REQ0: INT_TIMER REQ1: INT_ENET0 ARB2 REQ0 IRQ ARB6 REQ1 REQ2 REQ3 REQ4 REQ2: Reserved REQ3: Reserved REQ4: INT_ENET1 REQ5: Reserved REQ0: Reserved REQ1: INT_DMA0 REQ5 ARB3 REQ2: INT_DMA1 REQ3: INT_GPIO REQ4: INT_PCMCIA REQ5: INT_PCMIRQ REQ0: INT_CARDBUS REQ1: Reserved ARB4 ARB5 REQ2: Reserved REQ3: Reserved REQ4: INT_I2C REQ5: INT_SPI REQ1: INT_UART0 REQ2: INT_UART1 REQ3: Reserved REQ4: Reserved Figure 2.12 Arbitration Block Diagram Each arbiter can handle six interrupt requests based on the one bit arbiter mode control © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 130 Version 1.5 HMS30C7110 (ARB_MODE) and two bits of selection control signals (ARB_SEL) as follows: ¾ If ARB_SEL bits are 00b, the priority order is REQ0, REQ1, REQ2, REQ3, REQ4, and REQ5. ¾ If ARB_SEL bits are 01b, the priority order is REQ0, REQ2, REQ3, REQ4, REQ1, and REQ5. ¾ If ARB_SEL bits are 10b, the priority order is REQ0, REQ3, REQ4, REQ1, REQ2, and REQ5. ¾ If ARB_SEL bits are 11b, the priority order is REQ0, REQ4, REQ1, REQ2, REQ3, and REQ5. Note that REQ0 of an arbiter is always the highest priority, and REQ5 is the lowest one. In addition, by changing the ARB_SEL bits, we can rotate the priority of REQ1 - REQ4. Here, if ARB_MODE bit is set to 0, ARB_SEL bits are not automatically changed, thus the arbiter operates in the fixed priority mode. (Note that even in this mode, we can change the priority by manually changing the ARB_SEL bits.). On the other hand, if ARB_MODE bit is 1, ARB_SEL bits are changed in rotation fashion, e.g., if REQ1 is serviced, ARB_SEL bits are changed to 01b automatically so as to make REQ1 the lowest priority one. The detailed rule of ARB_SEL change is as follows. ¾ If REQ0 or REQ5 is serviced, ARB_SEL bits are not changed at all. ¾ If REQ1 is serviced, ARB_SEL bits are changed to 01b. ¾ If REQ2 is serviced, ARB_SEL bits are changed to 10b. ¾ If REQ3 is serviced, ARB_SEL bits are changed to 11b. ¾ If REQ4 is serviced, ARB_SEL bits are changed to 00b. 2.12.1. User Accessible Registers (Base = 0x1930_0000) There are five control registers in the interrupt controller: source pending register, interrupt mode register, mask register, priority register, and interrupt pending register. All the interrupt requests from the interrupt sources are first registered in the source pending register. They are divided into two groups based on the interrupt mode register, i.e., one NMI request and the remaining IRQ requests. Arbitration process is performed for the multiple IRQ requests based on the priority register. 2.12.1.1. SOURCE PENDING REGISTER (SRCPND, offset = 0x00) SRCPND register is composed of 32 bits each of which is related to an interrupt source. Each bit is © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 131 Version 1.5 HMS30C7110 set to 1 if the corresponding interrupt source generates the interrupt request and waits for the interrupt to be serviced. By reading this register, we can see the interrupt sources waiting for their requests to be serviced. Note that each bit of SRCPND register is automatically set by the interrupt sources regardless of the masking bits in the INTMASK register. In addition, it is not affected by the priority logic of interrupt controller. In the interrupt service routine for a specific interrupt source, the corresponding bit of SRCPND register has to be cleared to get the interrupt request from the same source correctly. If you return from the ISR (interrupt service routine) without clearing the bit, interrupt controller operates as if another interrupt request comes in from the same source. In other words, if a specific bit of SRCPND register is set to 1, it is always considered as a valid interrupt request waiting to be serviced. The specific time to clear the corresponding bit depends on the user's requirement. The bottom line is that if you want to receive another valid request from the same source you should clear the corresponding bit first, and then enable the interrupt. You can clear a specific bit of SRCPND register by writing a data to this register. It clears only the bit positions of SRCPND corresponding to those set to one in the data. The bit positions corresponding to those that are set to 0 in the data remains as they are with no change. Table 2.97 Source Pending Register Address : 1930_0000 Register Address SRCPND 0x00 R/W Description value R/W 0 = The interrupt has not been requested 0x00000000 1 = The interrupt source has asserted the interrupt request Bit Field Bit Field Bit Field Bit Field 31 Reserved 23 Reserved 15 Reserved 7 INT_EXT7 30 Reserved 22 INT_CARDBUS 14 INT_ENET1 6 INT_EXT6 29 INT_UART1 21 INT_PCMIRQ 13 Reserved 5 INT_EXT5 28 INT_UART0 20 INT_PCMCIA 12 Reserved 4 INT_EXT4 27 INT_SPI 19 INT_GPIO 11 INT_ENET0 3 INT_EXT3 26 Reserved 18 INT_DMA1 10 INT_TIMER 2 INT_EXT2 25 Reserved 17 INT_DMA0 9 Reserved 1 INT_EXT1 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 132 Version 1.5 HMS30C7110 24 Reserved 16 Reserved 8 Reserved 0 INT_EXT0 2.12.1.2. MODE REGISTER (INTMOD, offset = 0x04) This register is composed of 32 bits each of which is related to an interrupt source. If a specific bit is set to 1, the corresponding interrupt is processed as the NMI request. Otherwise, it is processed as a normal IRQ. Note that at most only one interrupt source can be serviced in the NMI mode. (You should use the NMI mode only for the urgent interrupt.) Thus, only one bit of INTMOD can be set to 1 at most. This register is write-only one, thus it cannot be read out. Table 2.98 Interrupt Mode Register Address : 1930_0004 Register Address INTMOD 0x04 R/W Description Reset value W 0 = IRQ mode, 1 = NMI mode 0x00000000 Each field and the corresponding bit position are the same as those of SRCPND register. 2.12.1.3. INTERRUPT MASK REGISTER (INTMSK, offset = 0x08) Each of the 32 bits in the interrupt mask register is related to an interrupt source. If you set a specific bit to 1, the interrupt request from corresponding interrupt source is not serviced by CPU. (Note that even in such a case, the corresponding bit of SRCPND register is set to 1). If the mask bit is 0, the interrupt request can be serviced. Table 2.99 Interrupt Mask Register Address : 1930_0008 Register Address R/W Description Reset value INTMSK 0x08 R/W 0 = Interrupt service is available 0xffffffff © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 133 Version 1.5 HMS30C7110 1 = Interrupt service is masked Each field and the corresponding bit position are same to those of SRCPND register. 2.12.1.4. PRIORITY REGISTER (PRIORITY, offset = 0x0c) Table 2.100 Priority Register Address : 1930_000C Register Address R/W Description Reset value PRIORITY 0x0c W IRQ priority control register 0x07f Field Bit Description Reset value ARB_SEL6 20:19 Arbiter 6 priority 00 00 = REQ 0-1-2-3-4-5 01 = REQ 0-2-3-4-1-5 10 = REQ 0-3-4-1-2-5 11 = REQ 0-4-1-2-3-5 ARB_SEL5 18:17 Arbiter 5 priority 00 00 = REQ 1-2-3-4 01 = REQ 2-3-4-1 10 = REQ 3-4-1-2 11 = REQ 4-1-2-3 ARB_SEL4 16:15 Arbiter 4 priority 00 00 = REQ 0-1-2-3-4-5 01 = REQ 0-2-3-4-1-5 10 = REQ 0-3-4-1-2-5 11 = REQ 0-4-1-2-3-5 ARB_SEL3 14:13 Arbiter 3 priority 00 00 = REQ 0-1-2-3-4-5 01 = REQ 0-2-3-4-1-5 10 = REQ 0-3-4-1-2-5 11 = REQ 0-4-1-2-3-5 ARB_SEL2 12:11 Arbiter 2 priority 00 00 = REQ 0-1-2-3-4-5 01 = REQ 0-2-3-4-1-5 10 = REQ 0-3-4-1-2-5 11 = REQ 0-4-1-2-3-5 ARB_SEL1 10:9 Arbiter 1 priority 00 00 = REQ 0-1-2-3-4-5 01 = REQ 0-2-3-4-1-5 10 = REQ 0-3-4-1-2-5 11 = REQ 0-4-1-2-3-5 ARB_SEL0 8:7 Arbiter 0 priority 00 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 134 Version 1.5 HMS30C7110 00 = REQ 1-2-3-4 01 = REQ 2-3-4-1 10 = REQ 3-4-1-2 11 = REQ 4-1-2-3 ARB_MODE6 6 Arbiter 6 rotate enable 1 0 = Priority does not rotate, 1 = Priority rotate enable ARB_MODE5 5 Arbiter 5 rotate enable 1 0 = Priority does not rotate, 1 = Priority rotate enable ARB_MODE4 4 Arbiter 4 rotate enable 1 0 = Priority does not rotate, 1 = Priority rotate enable ARB_MODE3 3 Arbiter 3 rotate enable 1 0 = Priority does not rotate, 1 = Priority rotate enable ARB_MODE2 2 Arbiter 2 rotate enable 1 0 = Priority does not rotate, 1 = Priority rotate enable ARB_MODE1 1 Arbiter 1 rotate enable 1 0 = Priority does not rotate, 1 = Priority rotate enable ARB_MODE0 0 Arbiter 0 rotate enable 1 0 = Priority does not rotate, 1 = Priority rotate enable 2.12.1.5. INTERRUPT PENDING REGISTER (INTPND, offset = 0x10) Each of the 32 bits in the interrupt pending register shows whether the corresponding interrupt request is the highest priority one that is unmasked and waits for the interrupt to be serviced. Since INTPND is located after the priority logic, only one bit can be set to 1 at most, and that is the very interrupt request generating IRQ to CPU. In interrupt service routine for IRQ, you can read this register to determine the interrupt source to be serviced among 23 sources. Like the SRCPND, this register has to be cleared in the interrupt service routine. We can clear a specific bit of INTPND register by writing a data to this register. It clears only the bit positions of INTPND corresponding to those set to one in the data. The bit positions corresponding to those that are set to 0 in the data remains as they are with no change. Table 2.101 Interrupt Pending Register Address : 1930_0010 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 135 Version 1.5 HMS30C7110 Register Address R/W Description Reset value INTPND 0x10 R/W 0 = The interrupt has not been requested 0x00000000 1 = The interrupt source has asserted a request Each field and the corresponding bit position are the same as those of SRCPND register. 2.12.1.6. INTERRUPT OFFSET REGISTER (INTOFS, offset = 0x14) If INTPND[n] is set to 1 (due to interrupt requests from sources), number “n” is shown in this register. This is for the ease of an interrupt target address computation, i.e., target address = INTOFS << 2. Note that the valid value of this register is 0 – 31 when an interrupt occurs. If it is 32, it means that there happens no interrupts, i.e., INTPND = 0. Table 2.102 Interrupt Offset Register Address : 1930_0014 Register Address R/W Description Reset value INTOFS 0x14 R “n” in 0 – 31 if INTPND[n] is set to 1. 0x00000020 32 if there happens no interrupt. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 136 Version 1.5 HMS30C7110 2.13. PCMCIA Controller The HMS30C7110® integrates a PCMCIA controller which supports 16-bits PC card and 32-bits PC card (Cardbus) functionalities. The PCMCIA Controller supports 1 socket 16-bits PC Card or 1 socket CardBus card. 2.13.1. User Accessible Registers (Base = 0x1940_0000) This section describes all base, control and status register inside the PCMCIA. The address field indicates a relative address in hexadecimal. The base address for 16-bits PC Card is 0x19400000 and the base address for CARDBUS is 0x19480000. Width specifies the number of bits in the register and access specifies the valid access types that register. Where RW stands for read and write access, RO for read only access. A “C” appended to RW or RO, indicates that some or all of the bits can be cleared after a write ‘1’ in corresponding bit. Table 2.103 Registers for PCMCIA Name Address Width Access Description IDR 0x00 32 RO Identification Register ISR 0x04 32 RO Interface Status Register ICR 0x08 32 RW Interface Control Register GCR 0x0c 32 RW General Control Register CSCR 0x10 32 ROC Card Status Change Register IER 0x14 32 RW Interrupt Enable Register Setup0 0x18 32 RW Setup Timing 0 Register for IO Command0 0x1c 32 RW Command Timing 0 Register for IO Recovery0 0x20 32 RW Recovery Timing 0 Register for IO Setup1 0x24 32 RW Setup Timing 1 Register for common memory Command1 0x28 32 RW Command Timing 1 Register for common memory © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 137 Version 1.5 HMS30C7110 Recovery1 0x2c 32 RW Recovery Timing 1 Register for common memory Setup2 0x30 32 RW Setup Timing 2 Register for attribute memory Command2 0x34 32 RW Command Timing 2 Register for attribute memory Recovery2 0x38 32 RW Recovery Timing 2 Register for attribute memory Start0 0x40 32 RW I/O Start Address 0 End0 0x44 32 RW I/O End Address 0 Start1 0x48 32 RW I/O Start Address 1 End1 0x4c 32 RW I/O End Address 1 GPO_enable0 0x50 32 RW Direction control for GPIO-0 GPO_enable1 0x54 32 RW Direction control for GPIO-1 GPO_0 0x58 32 RW Output value for GPIO-0 GPO_1 0x5c 32 RW Output value for GPIO-1 GPI_0 0x60 32 RW Input value of GPI-0 GPI_1 0x64 32 RW Input value of GPI-1 Table 2.104 Registers for CardBus Name Address Width Access Description Command 0x00 32 RW CardBus Bridge Command Register Status 0x04 32 RO CardBus Bridge Status Register Retry time 0x08 32 RW Retry Time Control Register Clk select 0x0c 32 RW Clock Speed Selection Register 2.13.1.1. Identification Register (IDR) Table 2.105 IDR Bit Definition Address : 1940_0000 Bits Access Default Description © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 138 Version 1.5 HMS30C7110 31:8 7: 0 RO 0x00 Reserved. 0x00 ID number This 8bit field “0x82”. 2.13.1.2. Interface Status Register (ISR) Table 2.106 ISR Bit Definition Address : 1940_0004 Bits Access Default Description 31:8 7 RO 0x00 Reserved. 0 VS2 This bit reflects the state of the VS2 pin of the PCMCIA. 6 RO 0 VS1 This bit reflects the state of the VS1 pin of the PCMCIA. 5 RO 0 Ready/Busy Signal Status This bit reflects the state of the READY pin of the PCMCIA. 4 RO 0 Memory Write Protect Signal Status This bit reflects the state of the WP pin of the PCMCIA. 3 RO 0 Card Detect 2 Signal Status This bit reflects the state of the CD2 pin of the PCMCIA. 2 RO 0 Card Detect 1 Signal Status This bit reflects the state of the CD1 pin of the PCMCIA. 1 0 RO 0 Reserved 0 Status Change Signal Status This bit reflects the state of the STSCHG pin of the PCMCIA. 2.13.1.3. Interface Control Register (ICR) Table 2.107 ICR Bit Definition © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 139 Version 1.5 HMS30C7110 Address : 1940_0008 Bits Access Default Description 31:4 7 RW 0x00 Reserved. 0 VS2 Signal Output 0 = drive logic 0 value to VS2 pin 1 = input mode or pull-up to VS2 pin 6 RW 0 VS1 Signal Output 0 = drive logic 0 value to VS1 pin 1 = input mode or pull-up to VS1 pin 5:0 0x0 2.13.1.4. Reserved General Control Register (GCR) Table 2.108 GCR Bit Definition Address : 1940_000C Bits Access Default Description 31:6 6:5 RW 0x00 Reserved 0x0 PCMCIA is I/O 0 = Socket configured for the memory-only interface 1 = Socket configured for I/O and memory interface 2 = Socket configured for DMA interface 3 = Reserved 4:2 1 RW 0x0 Reserved 0x0 SPI and UART1 Mode When set to logic 1, this bit converts the CD2~1 pins and VS2~1 pins to the SPI functional pins and CTRDY, CFRAME,CAD19 and CSERR to CTS,RTS,TXD and RXD respectively for UART1 flow control . 0 RW 0x0 CardBus Mode 0 = 16-bit PC Card Mode 1 = CardBus Mode © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 140 Version 1.5 HMS30C7110 2.13.1.5. Card Status Change Register (CSCR) Table 2.109 CSCR Bit Definition Address : 1940_0010 Bits Access Default Description 31:4 3 ROC 0x00 Reserved 0x Card Detect Change Detected This bit will be set when a transition (low to high or high to low) has occurred on the CD2~1 pins. This bit is reset to 0 when this register is read. 2 ROC 0x0 Ready Change Detected This bit will be set when a transition (low to high or high to low) has occurred on the READY pin. This bit is reset to 0 when this register is read. This bit has meaning only when the socket is configured for the memory-only interface. In the I/O and memory interface it reads back as 0. 1 0 ROC 0x0 Reserved 0x0 Status Change Detected This bit will be set when a transition (low to high or high to low) has occurred on the STSCHG pin. This bit is reset to 0 when this register is read. 2.13.1.6. Interrupt Enable Register (IER) Table 2.110 IER Bit Definition Address : 1940_0014 Bits Access Default Description © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 141 Version 1.5 HMS30C7110 31:4 0x00 Reserved 3 RW 0x Interrupt Enable for Card Detect Change Detected 2 RW 0x0 Interrupt Enable for Ready Change Detected 0x0 Reserved 0x0 Interrupt Enable for Status Change Detected 1 0 RW 2.13.1.7. Setup Timing Registers (Setup0, Setup1, Setup2) Table 2.111 Setup Bit Definition Address : 1940_0018 Bits Access Default Description 31:8 7:6 RW 0x00 Reserved 0x0 Setup Timing Prescaler Select For this timing set, this field selects prescaler value to prescale the setup value to determine the number of clocks of setup time from valid address before the PCMCIA command goes active. 00 = 1 01 = 16 10 = 256 11 = 4096 5:0 RW 0x00 Setup Timing Multiplier Value For this timing set, this field selects setup value from 0 to 63 to be multiplied with prescaler value to determine the number of clocks of setup time from valid address before the PC card command goes active. 2.13.1.8. Command Timing Registers (Command0, Command1, Command2) Table 2.112 Command Bit Definition © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 142 Version 1.5 HMS30C7110 Address : 1940_001C Address : 1940_0028 Address : 1940_0034 Bits Access Default Description 31:8 7:6 RW 0x00 Reserved 0x0 Command Timing Prescaler Select For this timing set, this field selects prescaler value to prescale the command value to determine the number of clocks of command active time. 00 = 1 01 = 16 10 = 256 11 = 4096 5:0 RW 0x00 Command Timing Multiplier Value For this timing set, this field selects command value from 0 to 63 to be multiplied with prescaler value to determine the number of clocks of command active time. 2.13.1.9. Recovery Timing Registers (Recovery0, Recovery 1, Recovery 2) Table 2.113 Recovery Bit Definition Address : 1940_0020 Address : 1940_002C Address : 1940_0038 Bits Access Default Description 31:8 7:6 RW 0x00 Reserved 0x0 Recovery Timing Prescaler Select For this timing set, this field selects prescaler value to prescale the command value to determine the number of clocks of recovery time. 00 = 1 01 = 16 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 143 Version 1.5 HMS30C7110 10 = 256 11 = 4096 5:0 RW 0x00 Recovery Timing Multiplier Value For this timing set, this field selects command value from 0 to 63 to be multiplied with prescaler value to determine the number of clocks of recovery time. 2.13.1.10. Start Address for I/O (Start0, Start1) Table 2.114 Start Address Bit Definition Address : 1940_0040 Address : 1940_0048 Bits Access Default Description 31:30 0x00 Bank width 00 = 8-bit 01 = 16-bit 10 = Auto detect using IOIS16n 11 = Reserved 29:26 25:0 RW 0x0 Reserved 0x00 Start Address This 26-bit field is used for decoding start address for IO bank. 2.13.1.11. End Address for I/O (End0, End1) Table 2.115 End Address Bit Definition Address : 1940_0044 Address : 1940_004C Bits 31:26 Access Default Description 0x0 Reserved © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 144 Version 1.5 HMS30C7110 25:0 RW 0x00 End Address This 26-bit field is used for decoding end address for IO bank. 2.13.1.12. GPIO Direction Control (GPO_enable0, GPO_enable1) Table 2.116 GPIO direction registers Bit Definition Address : 1940_0050 Address : 1940_0054 Bits 31:0 Access Default Description 0x0 GPO direction 0 = input: All PCMCIA pins are used for PCMCIA feature 1 = output: All PCMCIA pins are used for GPIO feature 2.13.1.13. Output value for GPIO (GPO_0, GPO_1) Table 2.117 GPO registers Bit Definition Address : 1940_0058 Address : 1940_005C Bits 31:0 Access Default Description 0x0 GPO values 2.13.1.14. Input value of GPIO (GPI_0, GPI_1) Table 2.118 GPI registers Bit Definition Address : 1940_0060 Address : 1940_0064 Bits Access Default Description © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 145 Version 1.5 HMS30C7110 31:0 0x0 GPI values Table 2.119 GPIO muxing table Pin Name CAD0 CAD1 CAD3 CAD5 CAD7 nCBE0 CAD9 CAD11 CAD12 CAD14 nCBE1 CPAR nCPERR nCGNT CINT CCLK nIRDY nCBE2 CAD18 CAD20 GPIO GPIO-00 GPIO-01 GPIO-02 GPIO-03 GPIO-04 GPIO-05 GPIO-06 GPIO-07 GPIO-08 GPIO-09 GPIO-10 GPIO-11 GPIO-12 GPIO-13 GPIO-14 GPIO-15 GPIO-16 GPIO-17 GPIO-18 GPIO-19 Pin Name CAD21 CAD22 CAD23 CAD24 CAD25 CAD26 CAD27 CAD29 RADDR2 nCCLKRUN CD1 CAD2 CAD4 CAD6 RADDR14 CAD8 CAD10 VS1 CAD13 CAD15 GPIO GPIO-20 GPIO-21 GPIO-22 GPIO-23 GPIO-24 GPIO-25 GPIO-26 GPIO-27 GPIO-28 GPIO-29 GPIO-30 GPIO-31 GPIO-32 GPIO-33 GPIO-34 GPIO-35 GPIO-36 GPIO-37 GPIO-38 GPIO-39 Pin Name CAD16 RADDR18 nCBLOCK nCSTOP nDEVSEL nTRDY nFRAME CAD17 CAD19 VS2 nCSERR nCREQ nCBE3 nSTSCHG CAD28 CAD30 CAD31 CD2 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 146 GPIO GPIO-40 GPIO-41 GPIO-42 GPIO-43 GPIO-44 GPIO-45 GPIO-46 GPIO-47 GPIO-48 GPIO-49 GPIO-50 GPIO-51 GPIO-52 GPIO-53 GPIO-54 GPIO-55 GPIO-56 GPIO-57 Version 1.5 HMS30C7110 2.13.1.15. Command for CardBus Table 2.120 Command Bit Definition Address : 1948_0000 Bits Access Default Description 31:9 9 RO 0x0 Reserved 0x0 Fast back to back enable This 1 bit field is fixed to “0” because the bridge doesn’t support fast back to back transaction. 8 RW 0x0 CSERR enable This 1 bit field is used for enabling nCSERR pin interrupt. 7 RW 0x0 Wait cycle control (No connection to actual block) This 1 bit field is fixed to “0” because the bridge doesn’t support this function. 6 RW 0x1 Parity error response This 1 bit field is used for enabling nCPERR pin interrupt. 5 RO 0x0 VGA pallet snoop enable This 1 bit field is fixed to logic 0 because the bridge doesn’t support this functionality. 4 RO 0x0 Memory write invalidate enable This 1 bit field is used for enabling MWI and MRL command. 3 RO 0x0 Special cycle monitoring enable This 1 bit field is fixed to logic 0 because the bridge doesn’t support this functionality. 2 RO 0x1 Bus mastering enable This 1 bit field is fixed to logic 1 because the bridge always supports the master functionality. 1 RO 0x1 Memory access enable This 1 bit field is fixed to logic 1 because the bridge always supports the memory area accessing. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 147 Version 1.5 HMS30C7110 0 RO 0x1 IO access enable This 1 bit field is fixed to logic 1 because the bridge always supports the I/O area accessing. 2.13.1.16. Status for CardBus This register will be cleared when it is read. Table 2.121 Status Bit Definition Address : 1948_0004 Bits Access Default Description 31:16 15 RO 0x0 Reserved 0x0 Detected parity error This 1 bit field is set when nCPERR pin is asserted. 14 RO 0x0 Received system error This 1 bit field is set when nCSERR pin is asserted. 13 RO 0x0 Received master abort This 1 bit field is set when the bridge get the master abort signaling from the PC card. 12 RO 0x0 Received target abort This 1 bit field is set when the bridge get the target abort signaling from the PC card. 11 RO 0x0 Signaled target abort This 1 bit field is set when the bridge make a target abort signaling. 10 RO 0x1 DEVSEL timing This 1 bit field is fixed to 0x1 and that means the bridge operates as a medium slave. 9 RO 0x0 Data parity detected This bit will be set when Bridge detected parity error condition in data phase 8 RO 0x0 Fast back to back capable The CardBus bridge doesn’t support fast back to back transactions. © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 148 Version 1.5 HMS30C7110 7:0 0x00 Reserved 2.13.1.17. Retry time (Retry) Table 2.122 Retry time register Bit Definition Address : 1948_0008 Bits Access Default Description 31:9 8:4 RW 0x0 Reserved 0x0 Access time This 5-bit field is used for checking the latency of data. If slave failed to make valid data by the access time, then it enter to the target abort state. If this value is zero, then there is no checking for the latency of data. 3:0 RW 0x0 Retry time This 4-bit field is used for limiting the number of retry. If this value is zero, then there is no limit for the retry. 7:0 0x00 Reserved 2.13.1.18. Clk select (Csel) Table 2.123 Clk select register Bit Definition Address : 1948_000C Bits Access Default Description 31:1 0 RW 0x0 Reserved 0x0 Divid by 4 This 1-bit field controls the CardBus clock speed. 0 = System clock/2 1 = System clock/4 © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 149 Version 1.5 HMS30C7110 3. Electrical Characteristics 3.1. Absolute Maximum Ratings Table 3.1 Absolute maximum ratings Parameter Symbol Rating Units Supply Voltage (Core) VDDI TBD V Supply Voltage (I/O) VDDP TBD V DC Input Current IIN TBD MA Operating Temperature TOPERATING 0 to 70 °C Storage Temperature TSTORAGE °C 3.2. Recommended Operating Conditions Table 3.2 Recommended operating conditions Parameter Symbol Rating Units Supply Voltage (Core) VDDI 2.5 V Supply Voltage (I/O) VDDP 3.3 V Oscillator Frequency fOSC TBD MHz © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 150 Version 1.5 HMS30C7110 3.3. DC Characteristics TBD Table 3.3 DC Characteristics Parameter Symbol High VIH V VIL V IIH μA IIL μA VOH V VOL V Level Condition Min. Typ. Max. Unit Input Voltage Low Level Input Voltage High Level Input Current Low Level Input Current High Level Output Voltage Low Level Output Voltage Tri-state output leakage current Maximum operating current © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 151 Version 1.5 HMS30C7110 3.4. AC Characteristics 3.4.1. Clocks tSCLK tSCLKH tSCLKF tSCLKR tSCLKL 80% 80% SCLK[x] 20% 20% Figure 3.1 SDRAM Clock Timing tMDCLK tMDCLKH tMDCLKF tMDCLKR tMDCLKL 80% 80% MDC 20% 20% Figure 3.2 MDC Timing (Ethernet) tCCLK tCCLKH tCCLKF tCCLKR tCCLKL 80% 80% CCLK 20% 20% Figure 3.3 SPI Clock Timing © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 152 Version 1.5 HMS30C7110 3.4.2. SDRAM Timing SCLK[x] tSDAD ADDR[x] tSDRD tSDRD RASn tSDCD tSDCD tSDWD tSDWD CASn nWE tSDDD tSDDS tSDDH DATA[x] Figure 3.4 SDRAM Timing Diagram © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 153 Version 1.5 HMS30C7110 3.4.3. Ethernet Timing (MII/100Mbps) RX_CLK tMS100 tMH100 E[x]_RXDV tMS100 tMH100 E[x]_RXD[3:0] TX_CLK tMD100 E[x]_TXEN E[x]_TXD[3:0] Figure 3.5 Ethernet MII Timing Diagram (100Mbps) © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 154 Version 1.5 HMS30C7110 3.4.4. Ethernet Timing (MII/10Mbps) RX_CLK tMS10 tMH10 E[x]_RXDV tMS10 tMH10 E[x]_RXD[3:0] TX_CLK tMD10 E[x]_TXEN E[x]_TXD[3:0] Figure 3.6 Ethernet MII Timing Diagram (10Mbps) © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 155 Version 1.5 HMS30C7110 3.4.5. Ethernet Timing (RMII) REF_CLK tRS100 tRH100 E[x]_CRS_DV tRS100 tRH100 E[x]_RXD[1:0] REF_CLK tRD100 E[x]_TXEN E[x]_TXD[1:0] Figure 3.7 Ethernet RMII Timing Diagram © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 156 Version 1.5 HMS30C7110 3.4.6. SPI Timing CCLK tCCSND tCCSND CCSn tCCDOD tCCDOH CDOUT tCCDIS tCCDIH CDIN Figure 3.8 SPI Timing Diagram © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 157 Version 1.5 HMS30C7110 Table 3.4 A.C. Electrical Characteristics (TA = 0°C to 70°C, VDD = 3.0V to 3.3V, Unit = ns) Parameter Description Min Typ Max tSCLK Clock period for SCLK - - - tSCLKH Clock high time for SCLK - - - tSCLKL Clock low time for SCLK - - - tSCLKF Clock falling time for SCLK - - - tSCLKR Clock rising time for SCLK - - - tMDCLK Clock period for MDC - - - tMDCLKH Clock high time for MDC - - - tMDCLKL Clock low time for MDC - - - tMDCLKF Clock falling time for MDC - - - tMDCLKR Clock rising time for MDC - - - tCCLK Clock period for CCLK - - - tCCLKH Clock high time for CCLK - - - tCCLKL Clock low time for CCLK - - - tCCLKF Clock falling time for CCLK - - - tCCLKR Clock rising time for CCLK - - - tSDAD SDRAM address output delay - - - tSDRD SDRAM RAS output delay - - - tSDCD SDRAM CAS output delay - - - tSDWD SDRAM WE output delay - - - tSDDD SDRAM DATA output delay - - - tSDDS SDRAM DATA setup time - - - tSDDH SDRAM DATA hold time - - - tMS100 MII setup time for 100Mbps - - - tMH100 MII hold time for 100Mbps - - - tMD100 MII output delay for 100Mbps - - - tMS10 MII setup time for 10Mbps - - - tMH10 MII hold time for 10Mbps - - - tMD10 MII output delay for 10Mbps - - - tRS100 RMII setup time - - - © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 158 Version 1.5 HMS30C7110 tRH100 RMII hold time - - - tRD100 RMII output delay - - - tCCSND SPI delay from CCSn active to rising edge of CCLK - - - tCCDOD SPI delay from CDOUT valid to rising edge of CCLK - - - tCCDIS SPI CDIN setup time - - - tCCDIH SPI CDIN hold time - - - © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 159 Version 1.5 HMS30C7110 4. Mechanical Characteristics Figure 4.1 Mechanical Characteristics © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 160 Version 1.5 HMS30C7110 5. Ordering Information TBD © 2003 MagnaChip Semiconductor Ltd. All Rights Reserved 161 Version 1.5