AN1865 MEC140x System BIOS Porting Guide Author: Vicky Chen Microchip Technology Inc. INTRODUCTION This document provides BIOS engineers a quick reference to port System BIOS in support of these MEC140x I/O devices: EMI 0, 8042 Emulated Keyboard Controller, ACPI EC0, ACPI EC1, ACPI EC2, ACPI EC3, ACPI PM1, Legacy Port92/GateA20, UART 0, Mailbox Interface, LPC Interface (Configuration Port), Port 80 BIOS Debug Port 0, Port 80 BIOS Debug Port 1. References The following document should be referenced when using this application note. Please contact your MCHP representative for availability. • MEC140x Data Sheet (09-24-14) or current 2014 Microchip Technology Inc. DS00001865A-page 1 AN1865 1.0 Contents This guide consists of the following sections: • • • • • • • • • • Chapter 2.0, "Obtaining the MEC140x Configuration Base Address," on page 3 Chapter 3.0, "Host Logical Devices," on page 4 Chapter 4.0, "Basechip Logical Devices," on page 5 Chapter 5.0, "Configuration Register Programming," on page 6 Chapter 6.0, "Configuring Runtime Register Addresses," on page 7 Chapter 7.0, "SERIRQ Interrupts," on page 11 Chapter 8.0, "Logical Device Configuration/Control Registers," on page 13 Chapter 9.0, "Global Control/Configuration Registers [00h - 2Fh]," on page 16 Chapter 10.0, "Super I/O Initialization In Early Post," on page 18 Chapter 11.0, "Intel LPC Interface Bridge Register Initialization," on page 23 1.1 Terminology This document contains the following terms, defined here for the purpose of convenience and general agreement: TABLE 1-1: TERMS Term Description System Host Refers to the external CPU that communicates with this device via the LPC Interface. Logical Devices Logical Devices are LPC accessible features that are allocated a Base Address and range in LPC I/O address space. Runtime Register Configuration Registers EC_Only Registers ACPI_EC Registers are directly I/O accessible by the System Host via the LPC interface. Registers that are only accessible in CONFIG_MODE. Registers that are only accessible by the System Host. They are only accessible by an internal embedded controller. The EC host corresponding to the ACPI specification interface to the EC. The LPC host corresponding to the ACPI specification interface to the “System Host Interface to OS”. ACPI_OS DS00001865A-page 2 ACPI_OS terminology is not meant to distinguish the ACPI System Management from Operating System, but to point to the hardware path upstream towards the CPU. 2014 Microchip Technology Inc. AN1865 2.0 OBTAINING THE MEC140X CONFIGURATION BASE ADDRESS Logical devices are configured through three Configuration Access Ports (CONFIG, INDEX and DATA) (see Table 2-1, "MEC140x Configuration Access Ports"). The BIOS uses these ports to initialize the logical devices at POST. The Base Address of the Configuration Access Ports is determined by the Base Address Register (BAR) that corresponds to Logical Device Ch, the LPC Interface CR60h-CR63h. The default I/O address is 2Eh and 2Fh. The BAR (Section 6.2, "Base Address Registers," on page 7) of Configuration Port can be relocated through the Configuration Registers for LDN Ch (LPC Interface) 60h-63h, the bit[15]: Valid must be “1”. TABLE 2-1: MEC140X Configuration Access Ports Port Name Relative Address Type Port Name CONFIG PORT Configuration Access Ports Base Address + 0 Write CONFIG PORT INDEX PORT Configuration Access Ports Base Address + 0 Read/Write INDEX PORT DATA PORT Configuration Access Ports Base Address + 1 2.1 DATA PORT Example: Relocating the BAR of Logical Device 0Ch to 4Eh The following is a configuration register programming example written in Intel 8086 assembly language. ;---------------------------. ; Enter Configuration State | ;---------------------------' MOV DX, 02Eh ; Config_Port_Base_Address MOV AX, 055h ; Config Entry Key OUT DX, AL ;------------------------. ; Configure Base Address,| ; Logical Device C | ;------------------------' MOV DX, 02Eh ; Config_Port_Base_Address MOV AL, 07h OUT DX, AL ; Point to Logical Device Number Register MOV DX, 02Fh ; Config_Port_Base_Address+1 MOV AL, 0Ch OUT DX, AL ;Point to Logical Device C ;--------------------------------------------------------------------------. ; Configure both CR62 and CR63 to relocate the Base Address Register to 4Eh| ;--------------------------------------------------------------------------. MOV DX, 02Eh ; Config_Port_Base_Address MOV AL, 062h ; CR62 OUT DX, AL ; Point to Base Address Register MOV DX, 02Fh ; Config_Port_Base_Address+1 ;--------------------------------------------------------. ;Read the LPC I/O Configuration Register Port (IOCR-Port)| ;--------------------------------------------------------. IN AL,DX ; (Optional)It should be 2Eh MOV OUT AL, 04Eh DX, AL ; Update CR62 MOV MOV OUT MOV MOV OUT DX, AL, DX, DX, AL, DX, 02Eh 063h AL 02Fh 00h AL ; ; ; ; Config_Port_Base_Address CR63 Point to CR63 Config_Port_Base_Address+1 ; Update CR63 ;--------------------------. ; Exit Configuration State | ;--------------------------' MOV DX, 02Eh ; Config_Port_Base_Address MOV AX, 0AAh ; Config Exit Key OUT DX, AL Note: If you want to relocate the BAR of Logical Device 0Ch to 164Eh, use the example initialization to configure CR63 to 16h. 2014 Microchip Technology Inc. DS00001865A-page 3 AN1865 3.0 HOST LOGICAL DEVICES The Logical Devices physically located in the MEC140x are identified in Table 3-1, "Host Logical Devices on MEC140x" and Table 4-1, "Basechip Logical Devices". The base addresses of logical devices with registers located in LPC I/O space, including the Keyboard Controller, can be moved through the configuration registers located in the LPC Interface Configuration Register Space. TABLE 3-1: Host Logical Devices on MEC140X Logical Device Number Logical Devices LPC I/O Runtime Access LPC I/O Configuration Access 0h EMI 0 yes no 1h 8042 Emulated Keyboard Controller no yes 3h ACPI EC 0 yes no 4h ACPI EC 1 yes no 5h ACPI PM 1 yes no 6h Legacy Port92/GateA20 yes yes 7h UART 0 yes yes 9h Mailbox Interface yes no Ah ACPI EC 2 yes no Bh ACPI EC 3 yes no Ch LPC Interface (Configuration Port) yes yes 15h Port 80 BIOS Debug Port 0 yes yes 16h Port 80 BIOS Debug Port 1 yes yes DS00001865A-page 4 2014 Microchip Technology Inc. AN1865 4.0 BASECHIP LOGICAL DEVICES Logical devices described in this section are peripherals that are located on the MEC140x basechip and are accessible to the Host over the LPC bus. Each logical device on the MEC140x can have a set of Runtime Registers and a set of Configuration Registers. The difference between Runtime and Configuration registers is that the Host can access Runtime Registers by a direct I/O address, while it can only access Configuration Registers through a configuration port. Note: The Embedded Controller (EC) can access all Configuration Registers and all Runtime Registers directly. The Logical Device Numbers for the Logical Devices resident in the MEC140x are listed in Table 8-2, "MEC140x Configuration Register Map". TABLE 4-1: Logical Device Number Basechip Logical Devices Logical Device Logical Device Configuration Register Map in Table 8-2 on page 13 0h EMI 0 Configuration Registers for LDN 0h (EMI 0) 1h 8042 Emulated Keyboard Controller Configuration Registers for LDN 1h (Keyboard Controller (8042)) 3h ACPI EC 0 Configuration Registers for LDN 3h (ACPI EC Channel 0) 4h ACPI EC 1 Configuration Registers for LDN 4h (ACPI EC Channel 1) 5h ACPI PM 1 Configuration Registers for LDN 5h (ACPI PM 1) 6h Legacy Port92/GateA20 Configuration Registers for LDN 6h (Legacy Port92/GateA20) 7h UART 0 Configuration Registers for LDN 7h (UART 0) 9h Mailbox Interface Configuration Registers for LDN 9h (Mailbox Interface) Ah ACPI EC 2 Configuration Registers for LDN Ah (ACPI EC Channel 2) Bh ACPI EC 3 Configuration Registers for LDN Bh (ACPI EC Channel 3) Ch LPC Interface (Configuration Port) Configuration Registers for LDN Ch (LPC Interface) 15h Port 80 BIOS Debug Port 0 Configuration Registers for LDN 15h (Port 80 BIOS Debug Port 0) 16h Port 80 BIOS Debug Port 1 Configuration Registers for LDN 16h (Port 80 BIOS Debug Port 1) Note: Logical Devices EMI 0, ACPI EC0, ACPI EC1, ACPI EC2, ACPI EC3, ACPI PM1, UART 0, Mailbox Interface, Port 80 BIOS Debug Port 0 and Port 80 BIOS Debug Port 1 Base Address Registers (BARs) must be located within the Generic Decode Ranges of the Chipset. For example, see Section 11.0, "Intel LPC Interface Bridge Register Initialization", items 4 through 7. 2014 Microchip Technology Inc. DS00001865A-page 5 AN1865 5.0 CONFIGURATION REGISTER PROGRAMMING The MEC140x contains the Global Configuration Registers CR07-CR2F and the Logical Device Configuration registers. After the MEC140x device enters the Configuration State, the Configuration Registers can be programmed by first writing the register index number (0x07 - 0x2F) to the Configuration Select Register (CSR) through the INDEX PORT and then writing or reading the Configuration Register contents through the DATA PORT. The Configuration Register access remains enabled until the Configuration State is explicitly exited. CONFIGURATION SEQUENCE To program the configuration registers, the following sequence must be followed: 1. 2. 3. Enter Configuration State. Configure the Configuration Registers. Exit Configuration State. 5.1 Entering the Configuration State The INDEX and DATA ports are effective only when the chip is in the Configuration State. The device enters the Configuration State when the Config Entry Key is successfully written to the CONFIG PORT. Config Entry Key = < 55h> 5.2 Configuring the Configuration Registers Configuration registers are accessed in two steps: 1. Write the index of the Logical Device Number Configuration Register (that is, 07h) to the INDEX PORT and then write the number of the desired logical device to the DATA PORT. Write the address of the desired configuration register within the logical device to the INDEX PORT and then write or read the configuration register through the DATA PORT. 2. Note: 1. 5.3 If accessing the Global Configuration Registers, step (1) is not required. Any write to an undefined or reserved configuration register is terminated normally on the LPC bus without any modification of state in the basechip or companion device. Any read to an undefined or reserved configuration register returns FFh. Exiting the Configuration State The device exits the Configuration State when the following Config Exit Key is successfully written to the CONFIG PORT address. Config Exit Key = < AAh> 5.4 Configuration Register Programming Example Please see Section 2.1, "Example: Relocating the BAR of Logical Device 0Ch to 4Eh" to access the configuration registers. DS00001865A-page 6 2014 Microchip Technology Inc. AN1865 6.0 CONFIGURING RUNTIME REGISTER ADDRESSES 6.1 Runtime Registers Runtime Registers are registers that are accessible to the Host within the Host I/O address space. Runtime registers all reside within the first 256 bytes of a 1K Logical Device address frame. The Host accesses these registers with 8-bit LPC I/O accesses. The Host I/O addresses are determined by a block of Base Address Registers located in the LPC Logical Device. The Embedded Controller can access all the Runtime Registers as well. 6.2 Base Address Registers Each Logical Device has a Base Address Register (BAR). These BARs are located in blocks of configuration registers in Logical Device 0Ch. On every LPC bus I/O access all Base Address Registers are checked in parallel and if any matches the LPC I/O address the MEC140x device claims the bus cycle. Note 6-1 Software should ensure that no two BARs map the same LPC I/O address. Each BAR is 32-bits wide. The format of each BAR is summarized in Table 6-1, "I/O Base Address Register Format". TABLE 6-1: I/O BASE ADDRESS REGISTER FORMAT BYTE3 BIT D31 D30 BIT NAME BYTE2 BIT D29 D27 D26 D25 D24 D17 D16 D10 D9 D8 D2 D1 D0 LPC Host Address, most significant bits D23 D22 BIT NAME D21 D20 D19 D18 LPC Host Address, least significant bits BYTE1 BIT D15 D14 BIT NAME Valid Device BYTE0 BIT D7 D6 D13 D12 D11 Frame D5 BIT NAME 6.2.1 D28 D4 D3 Mask MASK These 8 bits are used to mask off address bits in the address match between an LPC I/O address and the Host Address field of BARs, as described in Section 4.8.2.1, “I/O Transactions” of the latest MEC140x data sheet. A block of up to 256 8-bit registers can be assigned to one base address. 6.2.2 FRAME These 6 bits are used to specify a logical device frame number within a bus. This field is multiplied by 400h to provide the frame address within the peripheral bus address. Frame values for frames corresponding to logical devices that are not present on the device are invalid. 6.2.3 DEVICE This bit combined with FRAME constitute the Logical Device Number. DEVICE identifies the physical location of the logical device. This bit should always be set to 0. 6.2.4 VALID If this bit is 1, the BAR is valid and participates in LPC matches. If it is 0, this BAR is ignored. 6.2.5 HOST_ADDRESS These 16 bits are used to match LPC I/O addresses. 2014 Microchip Technology Inc. DS00001865A-page 7 AN1865 6.3 Logical Device IO_BAR Description Table 6-2, "MEC140x I/O Base Address Registers Default Values", lists the IO Base Address Registers (IO_BAR) for all logical devices on the MEC140x base chip. TABLE 6-2: MEC140X I/O BASE ADDRESS REGISTERS DEFAULT VALUES Bits [D31:D16] DEFAULTLP C I/O Host Address Bits [D13:D8] Bits [D6:D0] DEVICE FRAME (Note 6-3) MASK (Note 6-4) Bits [D15] Bits [D14] VALID LPC Offset RESET Default 60h 002E_0C01h 002Eh (Note 6-2) 0 0 C 1 Logical Device 0Ch: LPC Interface (Configuration Port) 64h 0000_000Fh 0000h 0 0 0 F Logical Device 00: EMI 0 68h 0060_0104h 0060h 0 0 1 4 Logical Device 01h: 8042 Emulated Keyboard Controller 6Ch 0062_0304h 0062h 0 0 3 4 Logical Device 03h: ACPI EC 0 70h 0066_0407h 0066h 0 0 4 7 Logical Device 04h: ACPI EC 1 74h 0000_0507h 0000h 0 0 5 7 Logical Device 05h: ACPI PM 1 78h 0092_0600h 0092h 0 0 6 0 Logical Device 06h: Legacy Port92/ GateA20 7Ch 0000_0707h 0000h 0 0 7 7 Logical Device 07h: UART 0 80h 0000_0901h 0000h 0 0 9 1 Logical Device 09h: Mailbox Interface 84h 0000_0A07h 0000h 0 0 A 7 Logical Device 0Ah: ACPI EC 2 88h 0000_0B07h 0000h 0 0 B 7 Logical Device 0Bh: ACPI EC 3 8Ch 0000_1500h 0000h 0 0 15 0 Logical Device 15h: Port 80 BIOS Debug Port 0 90h 0000_1600h 0000h 0 0 16 0 Note 6-2 Description Logical Device 16h: Port 80 BIOS Debug Port 1 The default Base I/O Address of the Configuration Port can be relocated by programming the BAR register for Logical Device Ch (LPC/Configuration Port) at offset 60h. Note 6-3 The FRAME and MASK fields for these legacy devices are not used to determine which LPC I/O addresses to claim. The address range match is maintained within the blocks themselves. Note 6-4 The ACPI-ECx Mask bit field is a read/write bit field. All other MASK bit fields are read-only as defined in the register description. DS00001865A-page 8 2014 Microchip Technology Inc. AN1865 6.4 DEVICE Memory Base Address Registers (DEV_MEM_BARS) Some Logical Devices have a Memory Base Address Register. These Device Memory BARs are located in blocks of Configuration Registers in Logical Device 0Ch, in the AHB address range FF_33C0h through FF_33FFh. Note 6-5 Software should insure that no two BARs map the same LPC memory address. If two BARs do map to the same address, the BAR_Conflict bit in the Host Bus Error Register is set when an LPC access targets the BAR Conflict address. An EC interrupt can be generated. Each M-BAR is 48-bits wide. The format of each M-BAR is summarized in Table 6-3, "MEC140x Memory Base Address Register Format". An LPC memory request is translated by the M-BAR into an 8-bit read or write transaction on the AHB bus. The 32-bit LPC memory address is translated into a 24-bit AHB address The Base Address Register Table is itself part of the AHB address space. It resides in the Configuration quadrant of Logical Device Ch, the LPC Interface. TABLE 6-3: MEC140x Memory Base Address Register Format BYTE5 BIT D47 D46 D45 BIT NAME BYTE4 BIT D39 D38 D37 D31 D30 D29 D41 D40 D36 D35 D34 D33 D32 D28 D27 D26 D25 D24 D18 D17 D16 D10 D9 D8 D2 D1 D0 LPC Host Address Bits[15:08] D23 D22 D21 BIT NAME D20 D19 LPC Host Address Bits[07:00] BYTE1 BIT D15 D14 BIT NAME Valid Device BYTE0 BIT D7 D6 BIT NAME Note 6-6 D42 LPC Host Address Bits[23:16] BIT NAME BYTE2 BIT D43 LPC Host Address Bits[31:24] BIT NAME BYTE3 BIT D44 D13 D12 D11 Frame D5 D4 D3 Mask The field definitions are the same as Table 6-1, "I/O Base Address Register Format" except that the HOST_ADDRESS field LPC memory cycle address is 32-bit instead of the I/O cycle 16-bit. 2014 Microchip Technology Inc. DS00001865A-page 9 AN1865 6.5 MEC140x Memory Base Address Register Table Table 6-4, "Device Memory Base Address Registers on MEC140X", lists the Base Address Registers for logical devices that have LPC memory access in the MEC140x. • LPC Memory cycle access is controlled by LPC Memory Base Address Registers. LPC Memory BAR registers are located in LDN Ch (LPC Interface) at AHB base address FF_3300h starting at offset 3C0h. TABLE 6-4: DEVICE MEMORY BASE ADDRESS REGISTERS ON MEC140X 6.5.1 SRAM MEMORY BAR CONFIGURATION In addition to mapping LPC Memory transactions into Logical Devices, Memory transactions can be mapped into internal address space, as configured by the SRAM Memory BARs. The LPC Host Controller also has access to the SRAM data via the SRAM Memory BARs. LPC Memory cycles are single byte read or writes that occur in a 32-bit address space. The LPC block will claim LPC memory cycles that match the programmed SRAM Memory BAR Register if the bit[7]:VALID bit in the SRAM Memory BAR Configuration is set to 1. No memory cycles will be claimed if this is cleared. The LPC interface can claim up to a 4 KB block of memory addresses and map them to the internal address space. The location of the block of memory in the 32-bit internal space, as well as access to it, is controlled by the EC, using the SRAM Memory Host Configuration Register. The firmware programs the base address of internal memory space in SRAM Memory Host Configuration Register, which is mapped to the LPC memory address programmed by the Host in the SRAM Memory BAR register. The firmware also programs the size of the memory to be accessed. Please see Section, “Claiming LPC Memory Transactions,” of the latest MEC140X Data Sheet. TABLE 6-5: SRAM MEMORY BAR CONFIGURATION REGISTERS Configuration Register Offset Size SRAM Memory BAR A0h 32 SRAM Memory BAR Configuration A4h 32 Notes Note 1: See Section 4.9.4, “SRAM MEMORY BAR,” of the latest MEC140x Data Sheet. 2: See Section 4.9.5, “SRAM MEMORY CONFIGURATION,” of the latest MEC140x Data Sheet. DS00001865A-page 10 2014 Microchip Technology Inc. AN1865 7.0 SERIRQ INTERRUPTS The MEC140x can route Logical Device interrupts onto SERIRQ stream frames IRQ[0:15]. Routing is controlled by the SERIRQ Interrupt Configuration Registers. There is one SERIRQ Interrupt Configuration Register for each accessible SERIRQ Frame (IRQ); all 16 registers are listed in Table 7-2, "SERIRQ Interrupt Configuration Register Map". Each SERIRQ Interrupt Configuration Register controls a series of multiplexors that route to a single Logical Device interrupt. The format for each SERIRQ Interrupt Configuration Register is described in Table 7-1, "SERIRQ Interrupt Configuration Register Format". Each Logical Device can have up to two LPC SERIRQ interrupts. When the MEC140x is polled by the Host, each SERIRQ frame routes the level of the Logical Device interrupt (selected by the corresponding SERIRQ Interrupt Configuration Register) to the SERIRQ stream. Note: Two Logical Devices cannot share a Serial IRQ. The Host can access the SERIRQ Interrupt Configuration Registers with 8-bit accesses. The EC can access the SERIRQ Interrupt Configuration Registers as 32-bit, 16-bit across 8-bit boundary, or as individual 8-bit accesses. TABLE 7-1: SERIRQ INTERRUPT CONFIGURATION REGISTER FORMAT BYTE0 BIT D7 D6 BIT NAME Select Device Note: 7.1 D5 D4 D3 D2 D1 D0 Frame A SERIRQ interrupt is deactivated by setting an entry in the Table 7-2, "SERIRQ Interrupt Configuration Register Map" to FFh, which is the default reset value. FRAME These six bits select the Logical Device as the source for the interrupt. Note: 7.2 The LPC Logical Device (Logical Device Number 0Ch) can be used by the Embedded Controller to generate a Serial Interrupt Request to the Host under software control. DEVICE This field should always be set to 0 in order to enable a SERIRQ. 7.3 SELECT If this bit is 0, the first interrupt signal from the Logical Device is selected for the SERIRQ vector. If this bit is 1, the second interrupt signal from the Logical Device is selected. Note: 7.4 The Keyboard controller is the only Logical Device on the MEC140x that has a second interrupt signal. Most Logical Devices require only a single interrupt and ignore this field as result. SERIRQ Configuration Registers A SERIRQ interrupt is deactivated by setting an entry in the Table 7-2, "SERIRQ Interrupt Configuration Register Map" to FFh, which is the default reset value. . TABLE 7-2: SERIRQ INTERRUPT CONFIGURATION REGISTER MAP LPC Offset Type Reset 40h R/W FFh IRQ0 41h R/W FFh IRQ1 42h R/W FFh IRQ2 43h R/W FFh IRQ3 44h R/W FFh IRQ4 45h R/W FFh IRQ5 46h R/W FFh IRQ6 2014 Microchip Technology Inc. Configuration Register Name DS00001865A-page 11 AN1865 TABLE 7-2: SERIRQ INTERRUPT CONFIGURATION REGISTER MAP (CONTINUED) LPC Offset Type Reset 47h R/W FFh IRQ7 48h R/W FFh IRQ8 49h R/W FFh IRQ9 4Ah R/W FFh IRQ10 4Bh R/W FFh IRQ11 4Ch R/W FFh IRQ12 4Dh R/W FFh IRQ13 4Eh R/W FFh IRQ14 4Fh R/W FFh IRQ15 7.5 Configuration Register Name MEC140X SERIRQ Routing Each SIRQ Interrupt Configuration Register controls a series of multiplexers which route a single Logical Device interrupt.The following table defines the Serial IRQ routing for each logical device implemented in the chip. TABLE 7-3: MEC140X LOGICAL DEVICE SIRQ ROUTING TABLE SIRQ Interrupt Configuration Register Logical Device Interrupt Source Select Device Frame Logical Device Interrupt Source 0 0 0Ch LPC Interface (Configuration Port) EC_IRQ 0 0 9 Mailbox Interface MBX_Host_SIRQ 1 0 9 Mailbox Interface MBX_Host_SMI 0 0 1 8042 Emulated Keyboard Controller KIRQ 1 0 1 8042 Emulated Keyboard Controller MIRQ 0 0 3 ACPI EC 0 EC_OBF 0 0 4 ACPI EC 1 EC_OBF 0 0 0Ah ACPI EC 2 EC_OBF 0 0 0Bh ACPI EC 3 EC_OBF 0 0 7 UART 0 UART 0 0 0 EMI 0 Host Event 1 0 0 EMI 0 EC-to-Host DS00001865A-page 12 2014 Microchip Technology Inc. AN1865 8.0 LOGICAL DEVICE CONFIGURATION/CONTROL REGISTERS A separate set of control and configuration registers exist for each Logical Device and is selected with the Logical Device # Register (07h). The Logical Devices are listed in Table 4-1, "Basechip Logical Devices", and the registers within each Logical Device are listed in Section 8.2, "Configuration Register Map". 8.1 Logical Device Activation Many Logical Devices have a register, called Activate, that is used to activate the Logical Device. When a Logical Device is inactive, it is powered down. The format for the Activate Register is shown in Table 8-1, "Activate Register". Activating a Logical Device does not cause the MEC140x to claim LPC addresses associated with the device. Address matching for all Logical Devices is enabled or disabled in the LPC Logical Device. TABLE 8-1: ACTIVATE REGISTER HOST OFFSET BYTE0: 30h 8-bit HOST SIZE 00b nSYS_RST DEFAULT POWER VTR BYTE0 BIT D7 D6 D5 D4 D3 D2 D1 D0 TYPE R R R R R R R R/W Reserved BIT NAME 8.1.1 Activate ACTIVATE When this bit is 1, the logical device is powered and functional. When this bit is 0, the logical device is powered down and inactive. 8.2 Configuration Register Map Table 8-2 shows the MEC140x Configuration register map. Logical Device numbers are in hexadecimal. All Logical Devices are accessible by both the Host and the EC. Logical Devices between 00h and 3Fh are located on the basechip. TABLE 8-2: LPC CR Index MEC140X CONFIGURATION REGISTER MAP Type Note 8-1 Reset Configuration Register Name Configuration Registers for LDN 0h (EMI 0) - - - None Configuration Registers for LDN 1h (Keyboard Controller (8042)) 30h R/W 00h on nSYS_RST Activate Register Configuration Registers for LDN 3h (ACPI EC Channel 0) - - - None Configuration Registers for LDN 4h (ACPI EC Channel 1) - - - None Configuration Registers for LDN 5h (ACPI PM 1) - - - None Configuration Registers for LDN 6h (Legacy Port92/GateA20) 30h R/W 00h on nSYS_RST PORT92 Enable Register Configuration Registers for LDN 7h (UART 0) 30h R/W 00h on nSYS_RST Activate Register F0h R/W 00h on nSYS_RST Configuration Select Register 2014 Microchip Technology Inc. DS00001865A-page 13 AN1865 TABLE 8-2: LPC CR Index MEC140X CONFIGURATION REGISTER MAP (CONTINUED) Type Note 8-1 Reset Configuration Register Name Configuration Registers for LDN 9h (Mailbox Interface) - - - None Configuration Registers for LDN Ah (ACPI EC Channel 2) - - - None Configuration Registers for LDN Bh (ACPI EC Channel 3) - - - None Configuration Registers for LDN 15h (Port 80 BIOS Debug Port 0) - - - None Configuration Registers for LDN 16h (Port 80 BIOS Debug Port 1) - - - None Configuration Registers for LDN Ch (LPC Interface) 30h R/W 00h on nSYS_RST 40h R/W FFh on nSIO_RESET SIRQ IRQ0 Configuration Register 41h R/W FFh on nSIO_RESET SIRQ IRQ1 Configuration Register 42h R/W FFh on nSIO_RESET SIRQ IRQ2 Configuration Register 43h R/W FFh on nSIO_RESET SIRQ IRQ3 Configuration Register 44h R/W FFh on nSIO_RESET SIRQ IRQ4 Configuration Register 45h R/W FFh on nSIO_RESET SIRQ IRQ5 Configuration Register 46h R/W FFh on nSIO_RESET SIRQ IRQ6 Configuration Register 47h R/W FFh on nSIO_RESET SIRQ IRQ7 Configuration Register 48h R/W FFh on nSIO_RESET SIRQ IRQ8 Configuration Register 49h R/W FFh on nSIO_RESET SIRQ IRQ9 Configuration Register 4Ah R/W FFh on nSIO_RESET SIRQ IRQ10 Configuration Register 4Bh R/W FFh on nSIO_RESET SIRQ IRQ11 Configuration Register 4Ch R/W FFh on nSIO_RESET SIRQ IRQ12 Configuration Register 4Dh R/W FFh on nSIO_RESET SIRQ IRQ13 Configuration Register 4Eh R/W FFh on nSIO_RESET SIRQ IRQ14 Configuration Register 4Fh R/W FFh on nSIO_RESET SIRQ IRQ15 Configuration Register 50h - 5Fh R/W 00h on nSIO_RESET Reserved 60h - 63h R/W / R 002E_0C01h on nSIO_RESET BAR for Configuration Port 64h - 67h R/W / R 0000_000Fh on nSIO_RESET BAR for EMI 0 68h - 6Bh R/W / R 0060_0104h on nSIO_RESET BAR for 8042/Keyboard Interface 6Ch - 6Fh R/W / R 0062_0304h on nSIO_RESET BAR for ACPI EC 0 70h - 73h R/W / R 0066_0407h on nSIO_RESET BAR for ACPI EC 1 74h - 77h R/W / R 0000_0507h on nSIO_RESET BAR for ACPI PM 1 78h - 7Bh R/W / R 0092_0600h on nSIO_RESET BAR for Legacy Port92/GateA20 DS00001865A-page 14 Activate Register 2014 Microchip Technology Inc. AN1865 TABLE 8-2: MEC140X CONFIGURATION REGISTER MAP (CONTINUED) LPC CR Index Type Note 8-1 7Ch - 7Fh R/W / R 0000_0707h on nSIO_RESET BAR for UART 0 80h - 83h R/W / R 0000_0901h on nSIO_RESET BAR for Mailbox Interface 84h - 87h R/W / R 0000_0A07h on nSIO_RESET BAR for ACPI EC 2 88h - 8Bh R/W / R 0000_0B07h on nSIO_RESET BAR for ACPI EC 3 8Ch - 8Fh R/W / R 0000_1500h on nSIO_RESET BAR for Port 80 BIOS Debug Port 0 90h - 93h R/W / R 0000_1600h on nSIO_RESET BAR for Port 80 BIOS Debug Port 1 C0h - C5h R/W / R 0000_0000_000Fh on nSIO_RESET Memory BAR for EMI 0 C6h - CBh R/W / R 0000_0062_0304h on nSIO_RESET Memory BAR for ACPI EC 0 CCh - D1h R/W / R 0000_0066_0407h on nSIO_RESET Memory BAR for ACPI EC 1 D2h - D7h R/W / R 0000_0000_0901h on nSIO_RESET Memory BAR for Mailbox Interface D8h - DDh R/W / R 0000_0000_0A07h on nSIO_RESET Memory BAR for ACPI EC 2 DEh - E3h R/W / R 0000_0000_0B07h on nSIO_RESET Memory BAR for ACPI EC 3 Note 8-1 Reset Configuration Register Name R/W / R means that some parts of a register are read/write and some parts are read-only. 2014 Microchip Technology Inc. DS00001865A-page 15 AN1865 9.0 GLOBAL CONTROL/CONFIGURATION REGISTERS [00H - 2FH] The chip-level (global) registers reside in Logical Device 3Fh. The global registers are accessed in the configuration address range [00h - 2Fh] in all Logical Devices. There is no Activate associated with Logical Device 3Fh: the global configuration registers are always accessible. As with all configuration registers, the Index Port is used to select a global configuration register in the chip. The Data Port is then used to access the selected register. The Host can access all the global configuration registers at the offsets listed in Table 9-1, "Chip-Level (Global) Control/ Configuration Registers" through the Index Port and the Data Port. TABLE 9-1: CHIP-LEVEL (GLOBAL) CONTROL/CONFIGURATION REGISTERS Register Offset Description CHIP (GLOBAL) CONTROL REGISTERS Reserved Logical Device Number Reserved Device Revision 00h - 06h 07h 08h - 1Bh 1Ch Reserved - Writes are ignored, reads return 0. A write to this register selects the current logical device. This allows access to the control and configuration registers for each logical device. Note: The Activate command operates only on the selected logical device. Reserved - Writes are ignored, reads return 0. A read-only register which provides device revision information. Bits[7:0] = current revision when read Device Sub ID 1Dh Device Sub ID[7:0] Read-Only register which provides the device subidentification. The value of this register is product dependent. See Table 9-2, "DEVICE IDENTIFICATION". Device ID[7:0] 1Eh Device ID[7:0] Read-Only register which provides Device ID LSB. The value of this register is product dependent. See Table 9-2, "DEVICE IDENTIFICATION". Device ID[15:8] 1Fh Device ID[15:8] Read-Only register which provides Device ID MSB. The value of this register is product dependent. See Table 9-2, "DEVICE IDENTIFICATION". Legacy Identification 20h Legacy Identification A read-only register which provides device identification to legacy and test software. This field is hard-coded to FEh, indicating this is a MIPs product with 16-bit Device ID offsets 1Eh & 1Fh. Reserved Device Mode Test DS00001865A-page 16 21h - 23h 24h 25h - 2Fh Reserved. Bit [1:0] Reserved – writes ignored, reads return “0”. Bit[2] SerIRQ Mode = 0: Serial IRQ Disabled. = 1: Serial IRQ Enabled (Default). (Default). Bit [7:3] Reserved – writes ignored, reads return “0”. Test These register locations are reserved for Microchip use. Modifying these locations may cause unwanted results. 2014 Microchip Technology Inc. AN1865 9.1 Device Identification TABLE 9-2: DEVICE IDENTIFICATION Product Device ID[15:0] Device SUB ID[7:0] MEC1404 0002h 10h MEC1406 0004h 10h MEC1408 0006h 10h 2014 Microchip Technology Inc. DS00001865A-page 17 AN1865 10.0 SUPER I/O INITIALIZATION IN EARLY POST 10.1 LPC Interface - Logical Device C Chart and Description The following two figures show the process for MEC140x configuration registers initialization. FIGURE 10-1: MEC140X CONFIGURATION REGISTERS INITIALIZATION - PART I COLD BOOT MEC140x Configuration Register Initialization: 1. Enter the Configuration state of MEC140x. 2. Configure Logical Device C, LPC Interface. 3. Check the activate register 0x30 = 1 // Activate Bit[0] = 1. // Examples: // Set the BAR for Configuration Port, the Base I/O Address = 4Eh. 4. 0x63= 00h 5. 0x62= 4Eh 6. 0x61 Bit[7] = 1 // Valid = 1. // Set the BAR for EMI 0, the Base I/O Address = 300h. 7. 0x67= 03h 8. 0x66= 00h 9. 0x65 Bit[7] = 1 // Valid = 1. // Set the BAR for 8042/Keyboard Interface, the Base I/O Address = 60h. 10. 0x6B = 00h 11. 0x6A = 60h 12. 0x69 Bit[7] = 1 // Valid = 1. 13. 0x41 = 01h // SERIRQ, IRQ1. 14. 0x4C = 081h // SERIRQ, IRQ12. // Set the BAR for ACPI EC Interface 0, the Base I/O Address = 062h. 15. 0x6F = 00h 16. 0x6E = 62h 17. 0x6D Bit[7] = 1 // Valid = 1. // Set the BAR for ACPI EC Interface 1, the Base I/O Address = 066h. 18. 0x73 = 00h 19. 0x72 = 66h 20. 0x71 Bit[7] = 1 // Valid = 1. // Set the BAR for ACPI PM1, the Base I/O Address = 200h. 21. 0x77 = 02h 22. 0x76 = 00h 23. 0x75 Bit[7] = 1 // Valid = 1. A DS00001865A-page 18 2014 Microchip Technology Inc. AN1865 FIGURE 10-2: MEC140X CONFIGURATION REGISTERS INITIALIZATION - PART II A MEC140x Configuration Register Initialization: // Set the BAR for Legacy Port92/GateA20, the Base I/O Address = 92h. 24. 0x7B = 00h 25. 0x7A = 92h 26. 0x79 Bit[7] = 1 // Valid // Set the BAR for UART 0, the Base I/O Address = 3F8h. 27. 0x7F = 03h 28. 0x7E = F8h 29. 0x7D Bit[7] = 1 // Valid. 30. 0x44 = 07h // SERIRQ, IRQ4. // Set the BAR for Mailbox Interface, the Base I/O Address = 360h. 31. 0x83 = 03h 32. 0x82 = 60h 33. 0x81 Bit[7] = 1 // Valid. // Set the BAR for ACPI EC Interface 2, the Base I/O Address = 208h. 34. 0x87 = 02h 35. 0x86 = 08h 36. 0x85 Bit[7] = 1 // Valid = 1. // Set the BAR for ACPI EC Interface 3, the Base I/O Address = 3F0h. 37. 0x8B = 03h 38. 0x8A = F0h 39. 0x89 Bit[7] = 1 // Valid = 1. // Set the BAR for Port 80 BIOS Debug Port 0, the Base I/O Address = 150h. 40. 0x8F = 01h 41. 0x8E = 50h 42. 0x8D Bit[7] = 1 // Valid. // Set the BAR for Port 80 BIOS Debug Port 1, the Base I/O Address = 160h. 43. 0x93 = 01h 44. 0x92 = 60h 45. 0x91 Bit[7] = 1 // Valid. 46. Exit the Configuration state of MEC140x. PS: The EC can directly address both the BAR for Configuration Port and the BAR for 8042/keyboard Interface on MEC140x. B 2014 Microchip Technology Inc. DS00001865A-page 19 AN1865 Note 10-1 Both the Activate bit in Activate Register offset 30h and the Valid bit in BAR control different functionality, and do not affect each other. • Activate bit = 1, block is powered and functional. (In fact, not really powered, should be gated.) • Valid bit = 1, the MEC140x chip I/O address claiming is enabled. BIOS must set both bits to activate this module and make it functional. The following is the recommended sequence: 1. 2. 3. Configure correct I/O address in BAR if needed. Set Valid bit in BAR. Set Activate bit in the Activate register if needed. 10.2 8042 Emulated Keyboard Controller - Logical Device 1 Chart and Description CO LD BO OT M E C 1 4 0 x C o n f ig u r a t io n R e g is t e r In it ia liz a t io n : 1. 2. 3. 4. E n te r t h e C o n f ig u r a tio n s ta te o f M E C 1 4 0 x . C o n f ig u r e L o g ic a l D e v ic e 1 , 8 0 4 2 E m u la te d K e y b o a r d C o n tr o lle r . 0x30 = 1h // A c tiv a te R e g is t e r b it[0 ] = 1 , a c tiv e . E x it t h e C o n f ig u r a tio n s ta te o f M E C 1 4 0 x . END DS00001865A-page 20 2014 Microchip Technology Inc. AN1865 10.3 Legacy Port92/GateA20 - Logical Device 6 Chart and Description COLD BOOT MEC140x Configuration Register Initialization: 1. 2. 3. 4. Enter the Configuration state of MEC140x. Configure Logical Device 6, Legacy Port92/GateA20. 0x30 = 1h // Activate Register bit[0] = 1, active. Exit the Configuration state of MEC140x. END 10.4 UART - Logical Device 7 Chart and Description COLD BOOT MEC140x Configuration Register Initialization: 1. 2. 3. 4. Enter the Configuration state of MEC140x. Configure Logical Device 7, UART. 0x30 = 1h // Activate Register bit[0] = 1, active. Exit the Configuration state of MEC140x. END 2014 Microchip Technology Inc. DS00001865A-page 21 AN1865 10.5 Port80 BIOS Debug Port 0 - Logical Device 15 Chart and Description COLD BOOT MEC140x Configuration Register Initialization: 1. 2. 3. 4. Enter the Configuration state of MEC140x. Configure Logical Device 15, Port 80 BIOS Debug Port 0. 0x30 = 1h // Activate Register bit[0] = 1, active. Exit the Configuration state of MEC140x. END 10.6 Port 80 BIOS Debug Port 1 - Logical Device 16 Chart and Description COLD BOOT MEC140x Configuration Register Initialization: 1. 2. 3. 4. Enter the Configuration state of MEC140x. Configure Logical Device 16, Port 80 BIOS Debug Port 1. 0x30 = 1h // Activate Register bit[0] = 1, active. Exit the Configuration state of MEC140x. END DS00001865A-page 22 2014 Microchip Technology Inc. AN1865 11.0 INTEL LPC INTERFACE BRIDGE REGISTER INITIALIZATION This section provides the initialization of the Intel LPC Interface Bridge registers (D31:F0) to support MEC140x SIO devices in cold booting. 1. LPC_I/O_DEC-I/O Decode Ranges Register 80h - 81h = 0010h • FDD Decode Range Bit[12] = 0 // Enables the decoding of the I/O locations 3F0h - 3F5h, 3F7h (Primary) to the LPC interface. • LPT Decode Range Bits[9:8] = 00 // Enables the decoding of the I/O locations 378h - 37Fh and 778h - 77Fh for the LPT Port. • COMB Decode Range Bits[6:4] = 001 // Enables the decoding of the I/O locations 2F8h - 2FFh (COM2) for the COMB Port. • COMA Decode Range Bits[2:0] = 000 // Enables the decoding of the I/O locations 3F8h - 3FFh (COM1) for the COMA Port. 2. • • • • • • • • • • 3. LPC_I/O_DEC-I/O Decode Ranges Register 82h - 83h = 3F0Fh CNF2_LPC_EN Bit[13] = 1 // Enables the decoding of the I/O locations 4Eh and 4Fh to the LPC interface. CNF1_LPC_EN Bit[12] = 1 // Enables the decoding of the I/O locations 2Eh and 2Fh to the LPC interface. MC_LPC_EN Bit[11] = 1 // Enables the decoding of the I/O locations 62h and 66h to the LPC interface. KBC_LPC_EN Bit[10] = 1 // Enables the decoding of the I/O locations 60h and 64h to the LPC interface. GAMEH_LPC_EN Bit[9] = 1 // Enables the decoding of the I/O locations 208h and 20Fh to the LPC interface. GAMEL_LPC_EN Bit[9] = 1 // Enables the decoding of the I/O locations 200h and 207h to the LPC interface. FDD_LPC_EN Bit[3] = 1 // Enables the decoding of the FDD range to the LPC interface. LPT_LPC_EN Bit[2] = 1 // Enables the decoding of the LPT range to the LPC interface. COMB_LPC_EN Bit[1] = 1 // Enables the decoding of the COMB range to the LPC interface. COMA_LPC_EN Bit[0] = 1 // Enables the decoding of the COMA range to the LPC interface. GEN1_DEC - LPC I/F Generic Decode Range 1 Register 84h - 87h = 007C0301h • Generic I/O Decode Range Address [7:2] Mask Bits[23:18] = 7Ch • Generic I/O Decode Range 1 Base Address (GEN1_BASE) Bits[15:2] = 030h • Generic Decode Range 1 Enable (GEN1_EN) Bit[0] = 1 // Enable the GEN1 I/O range to be forwarded to the LPC I/F. 4. GEN2_DEC - LPC I/F Generic Decode Range 2 Register 88h - 8Bh = 000C0681h • Generic I/O Decode Range Address [7:2] Mask Bits[23:18] = 0Ch • Generic I/O Decode Range 2 Base Address (GEN2_BASE) Bits[15:2] = 068h • Generic Decode Range 2 Enable (GEN2_EN) Bit[0] = 1 // Access to the GEN2 I/O range is forwarded to the LPC I/F. 5. GEN3_DEC - LPC I/F Generic Decode Range 3 Register 8C - 8Fh = 007C0151h • Generic I/O Decode Range Address [7:2] Mask Bits[23:18] = 7Ch • Generic I/O Decode Range 3 Base Address (GEN3_BASE) Bits[15:2] = 015h • Generic Decode Range 3 Enable (GEN3_EN) Bit[0] = 1// Access to the GEN3 I/O range is forwarded to the LPC I/F. 2014 Microchip Technology Inc. DS00001865A-page 23 AN1865 6. GEN4_DEC - LPC I/F Generic Decode Range 4 Register 90h - 93h = 000C0361h • Generic I/O Decode Range Address [7:2] Mask Bits[23:18] = 0Ch • Generic I/O Decode Range 4 Base Address (GEN4_BASE) Bits[15:2] = 036h Generic Decode Range 4 Enable (GEN4_EN) Bit[0] = 1 // Access to the GEN4 I/O range is forwarded to the LPC I/F. DS00001865A-page 24 2014 Microchip Technology Inc. AN1865 APPENDIX A: TABLE A-1: REVISION HISTORY APPLICATION NOTE REVISION HISTORY Revision DS00001865A (12-03-14) 2014 Microchip Technology Inc. Section/Figure/Entry Correction Document Release DS00001865A-page 25 Note the following details of the code protection feature on Microchip devices: • Microchip products meet the specification contained in their particular Microchip Data Sheet. • Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. • There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. • Microchip is willing to work with the customer who is concerned about the integrity of their code. • Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as “unbreakable.” Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights. Trademarks The Microchip name and logo, the Microchip logo, dsPIC, FlashFlex, flexPWR, JukeBlox, KEELOQ, KEELOQ logo, Kleer, LANCheck, MediaLB, MOST, MOST logo, MPLAB, OptoLyzer, PIC, PICSTART, PIC32 logo, RightTouch, SpyNIC, SST, SST Logo, SuperFlash and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. The Embedded Control Solutions Company and mTouch are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, BodyCom, chipKIT, chipKIT logo, CodeGuard, dsPICDEM, dsPICDEM.net, ECAN, In-Circuit Serial Programming, ICSP, Inter-Chip Connectivity, KleerNet, KleerNet logo, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, RightTouch logo, REAL ICE, SQI, Serial Quad I/O, Total Endurance, TSHARC, USBCheck, VariSense, ViewSpan, WiperLock, Wireless DNA, and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries. GestIC is a registered trademarks of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries. All other trademarks mentioned herein are property of their respective companies. © 2014, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 9781632768209 QUALITYMANAGEMENTSYSTEM CERTIFIEDBYDNV == ISO/TS16949== DS00001865A-page 26 Microchip received ISO/TS-16949:2009 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Company’s quality system processes and procedures are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001:2000 certified. 2014 Microchip Technology Inc. Worldwide Sales and Service AMERICAS ASIA/PACIFIC ASIA/PACIFIC EUROPE Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://www.microchip.com/ support Web Address: www.microchip.com Asia Pacific Office Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: 852-2943-5100 Fax: 852-2401-3431 India - Bangalore Tel: 91-80-3090-4444 Fax: 91-80-3090-4123 Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Denmark - Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 China - Beijing Tel: 86-10-8569-7000 Fax: 86-10-8528-2104 Austin, TX Tel: 512-257-3370 China - Chengdu Tel: 86-28-8665-5511 Fax: 86-28-8665-7889 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Cleveland Independence, OH Tel: 216-447-0464 Fax: 216-447-0643 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 New York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Canada - Toronto Tel: 905-673-0699 Fax: 905-673-6509 DS00001865A-page 27 China - Chongqing Tel: 86-23-8980-9588 Fax: 86-23-8980-9500 China - Hangzhou Tel: 86-571-8792-8115 Fax: 86-571-8792-8116 China - Hong Kong SAR Tel: 852-2943-5100 Fax: 852-2401-3431 China - Nanjing Tel: 86-25-8473-2460 Fax: 86-25-8473-2470 China - Qingdao Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 China - Shanghai Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 China - Shenyang Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 China - Shenzhen Tel: 86-755-8864-2200 Fax: 86-755-8203-1760 China - Wuhan Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 China - Xian Tel: 86-29-8833-7252 Fax: 86-29-8833-7256 India - New Delhi Tel: 91-11-4160-8631 Fax: 91-11-4160-8632 India - Pune Tel: 91-20-3019-1500 Japan - Osaka Tel: 81-6-6152-7160 Fax: 81-6-6152-9310 Japan - Tokyo Tel: 81-3-6880- 3770 Fax: 81-3-6880-3771 Korea - Daegu Tel: 82-53-744-4301 Fax: 82-53-744-4302 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germany - Dusseldorf Tel: 49-2129-3766400 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Germany - Pforzheim Tel: 49-7231-424750 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Italy - Venice Tel: 39-049-7625286 Malaysia - Kuala Lumpur Tel: 60-3-6201-9857 Fax: 60-3-6201-9859 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 Malaysia - Penang Tel: 60-4-227-8870 Fax: 60-4-227-4068 Poland - Warsaw Tel: 48-22-3325737 Philippines - Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 Taiwan - Hsin Chu Tel: 886-3-5778-366 Fax: 886-3-5770-955 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Sweden - Stockholm Tel: 46-8-5090-4654 UK - Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 Taiwan - Kaohsiung Tel: 886-7-213-7830 Taiwan - Taipei Tel: 886-2-2508-8600 Fax: 886-2-2508-0102 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 China - Xiamen Tel: 86-592-2388138 Fax: 86-592-2388130 China - Zhuhai Tel: 86-756-3210040 Fax: 86-756-3210049 03/25/14 2014 Microchip Technology Inc.