SCH3221 LPC I/O with Quad UARTs, GPIO and Wake Product Features • General Features - 3.3 Volt Operation (5 Volt Tolerant) - PC99, PC2001 Compliant - ACPI Compliant - Serial IRQ Interface Compatible with Serialized IRQ Support for PCI Systems - Two Address Options for Power On Configuration Port - System Management Interrupt (SMI) • Low Pin Count Bus (LPC) Interface • 33 General Purpose I/O pins • Programmable Wake-up Event (PME) Interface - Serial Modem RI Inputs - GPIOs - Watchdog • 4 Full Function Serial Ports - High Speed NS16C550A Compatible UARTs with Send/Receive 16-Byte FIFOs - Supports 230k and 460k Baud - Programmable Baud Rate Generator - Modem Control Circuitry - 480 Address and 15 IRQ Options • Infrared Communications Controller - IrDA v1.2 (4Mbps), HPSIR, ASKIR, Consumer IR Support - 2 IR Ports - 96 Base I/O Address, 15 IRQ, and 4 DMA Options • Two LED Drivers with Blinking Options • Watchdog Timer • Temperature Ranges Available - Industrial (+85°C to -40°C) - Commercial (+70°C to 0°C) • 64-Ball WFBGA RoHS Compliant Package 2016 Microchip Technology Inc. DS00002120A-page 1 SCH3221 TO OUR VALUED CUSTOMERS It is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchip products. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined and enhanced as new volumes and updates are introduced. If you have any questions or comments regarding this publication, please contact the Marketing Communications Department via E-mail at [email protected]. We welcome your feedback. Most Current Data Sheet To obtain the most up-to-date version of this data sheet, please register at our Worldwide Web site at: http://www.microchip.com You can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page. The last character of the literature number is the version number, (e.g., DS30000000A is version A of document DS30000000). Errata An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for current devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revision of silicon and revision of document to which it applies. To determine if an errata sheet exists for a particular device, please check with one of the following: • Microchip’s Worldwide Web site; http://www.microchip.com • Your local Microchip sales office (see last page) When contacting a sales office, please specify which device, revision of silicon and data sheet (include -literature number) you are using. Customer Notification System Register on our web site at www.microchip.com to receive the most current information on all of our products. DS00002120A-page 2 2016 Microchip Technology Inc. SCH3221 Table of Contents 1.0 Introduction ..................................................................................................................................................................................... 4 2.0 Pin Layout ....................................................................................................................................................................................... 7 3.0 Description of Pin Functions ......................................................................................................................................................... 10 4.0 3.3 Volt Operation / 5 Volt Tolerance ............................................................................................................................................ 15 5.0 Power Functionality ....................................................................................................................................................................... 16 6.0 Functional Description .................................................................................................................................................................. 19 7.0 Runtime Registers ........................................................................................................................................................................ 52 8.0 Configuration ................................................................................................................................................................................. 61 9.0 Operational Description .............................................................................................................................................................. 102 10.0 Timing Diagrams ....................................................................................................................................................................... 106 11.0 XNOR-Chain Test Mode ........................................................................................................................................................... 115 12.0 Package Outline ........................................................................................................................................................................ 117 Appendix A: Data Sheet Revision History ......................................................................................................................................... 118 The Microchip Web Site .................................................................................................................................................................... 119 Customer Change Notification Service ............................................................................................................................................. 119 Customer Support ............................................................................................................................................................................. 119 Product Identification System ........................................................................................................................................................... 120 2016 Microchip Technology Inc. DS00002120A-page 3 SCH3221 1.0 INTRODUCTION 1.1 Description The SCH3221 is a 3.3V (5V tolerant) PC99/PC2001 compliant I/O controller with an LPC interface. The SCH3221 includes 4 Full-Function Serial Ports, IrDA and Consumer IR capability, GPIOs, and extensive PME Wake support from these features. The SCH3221 is ACPI compatible and supports multiple low power-down modes. I/O functionality includes four serial ports. The serial ports are fully functional NS16550 compatible UARTs that support data rates up to 460 Kbps. They all have the full 8 pin interface. The PME Wake logic includes the ability to wake from a watchdog timer, any of the UART Ring Indicator (RI) Inputs, or GPIOs. SMI Generation is also supported. System related functionality, which offers flexibility to the system designer, includes General Purpose I/O control functions, a Watchdog Timer, and control of two LED's. CAUTION: This device contains circuits which must not be used because their pins are not brought out of the package, and are pulled to known states internally. Any features, and especially SIO blocks that are not listed in this document, must not be activated or accessed. Doing so may cause unpredictable behavior and/or excessive currents, and therefore may damage the device and/or the system. As part of this, it is also necessary to pull the GP57/nDTR2 pin low, as a strap, to disable LPC Memory cycle handling. See Note 3-12 on page 13. DS00002120A-page 4 2016 Microchip Technology Inc. SCH3221 1.2 Block Diagram FIGURE 1-1: SCH3221 BLOCK DIAGRAM CONTROL, ADDRESS, DATA GENERAL PURPOSE I/O GP[11:13]*, GP[16:17]*, GP[20:23]*, GP[30:37]*, GP[40:47]*, GP[50:57]* LED Driver LED1*, LED2* Watch Dog Timer WDT* CONFIGURATION REGISTERS nIO_PME E M P nIO_SMI* I M S ACPI BLOCK LAD0 LAD1 SCH3221 LAD2 LAD3 16C550 COMPATIBLE SERIAL PORT 1 TXD1, nRTS1, nDTR1 nCTS1, RXD1, nDSR1, nDCD1, nRI1 LFRAME# LDRQ# PCI_RESET# 16C550 COMPATIBLE SERIAL PORT 2 WITH INFRARED INTERFACE LPC BUS INTERFACE LPCPD# CLKRUN# SER_IRQ PCI_CLK Serial IRQ IRQIN1* IRQIN2* IRQIN3* CLOCK GEN CLKI32 CLOCKI 2016 Microchip Technology Inc. V Vcc Vss TR IRTX2*, IRMODE*, TXD2*, nRTS2*, nDTR2* IRRX2*, IRRX3*, RXD2*, nCTS2*, nDSR2*, nDCD2*, nRI2* 16C550 COMPATIBLE SERIAL PORT 3 nCTS3*, RXD3*, nDSR3*, nDCD3*, nRI3* 16C550 COMPATIBLE SERIAL PORT 4 nCTS4*, RXD*, nDSR4*, nDCD*, nRI4* TXD3*, nRTS3,* nDTR3* TXD4*, nRTS4*, nDTR4* * Denotes Multifunction Pins DS00002120A-page 5 SCH3221 1.3 1. 2. 3. 4. References SMSC Infrared Communications Controller (IrCC) Specification, dated 5/10/96 PCI Bus Power Management Interface Specification, Revision 1.0, Draft, March 18, 1997 Low Pin Count (LPC) Interface Specification, Revision 1.0, September 29, 1997, Intel Document Advanced Configuration and Power interface Specification, Revision 1.0 DS00002120A-page 6 2016 Microchip Technology Inc. SCH3221 2.0 PIN LAYOUT Figure 2-1 shows the ball footprint for the SCH3221. See Table 2-1 below it for the pin function assignments. FIGURE 2-1: SCH3221 FOOTPRINT DIAGRAM, TOP VIEW 2016 Microchip Technology Inc. DS00002120A-page 7 SCH3221 TABLE 2-1: BALL# SCH3221 SUMMARY FUNCTION B3 GP11 A3 TEST=VSS B5 CLOCKI D6 VSS B2 CLKI32 B1 IO_PME# F4 VTR C1 GP23 / nLED2 / IRQIN2 E2 LAD0 D2 LAD1 E1 LAD2 G1 LAD3 E4 VCC G2 LFRAME# H5 VSS B4 LDRQ# A2 PCI_RESET# J1 LPCPD# J2 CLKRUN# K1 PCI_CLK K2 SER_IRQ K3 GP30 / nRI3 L2 GP31 / nDCD3 L3 GP32 / RXD3 K4 GP33 / TXD3 H2 GP34 / nDSR3 L5 GP35 / nRTS3 K5 GP36 / nCTS3 L7 GP37 / nDTR3 G4 GP40 / nRI4 A5 GP41 / nDCD4 C2 GP42 / RXD4 L9 GP43 / TXD4 F8 GP44 / nDSR4 H6 GP45 / nRTS4 G8 GP46 / nCTS4 E8 VCC K7 GP47 / nDTR4 J11 GP12 / IO_SMI# H7 VSS L10 GP13 / IRQIN1 / nLED1 K11 GP16 K8 GP17 K9 GP20 / IRRX2 / IRQIN3 DS00002120A-page 8 2016 Microchip Technology Inc. SCH3221 TABLE 2-1: BALL# J10 SCH3221 SUMMARY (CONTINUED) FUNCTION GP21 / IRTX2 / WDT K10 GP22 / IRMODE / IRRX3 G11 RXD1 G10 TXD1 H10 nDSR1 A7 nRTS1 / SYSOPT B7 nCTS1 E10 nDTR1 B8 nRI1 E11 nDCD1 C11 GP50 / nRI2 D10 GP51 / nDCD2 B9 GP52 / RXD2 / IRRX C10 GP53 / TXD2 / IRTX B10 GP54 / nDSR2 B11 GP55 / nRTS2 A10 GP56 / nCTS2 A9 GP57 / nDTR2 D5 VCC D7 VSS 2016 Microchip Technology Inc. DS00002120A-page 9 SCH3221 3.0 DESCRIPTION OF PIN FUNCTIONS The following section describes the functionality of the pins for the SCH3221. TABLE 3-1: PIN FUNCTIONS Name Function VCC POWER PINS +3.3 Volt Supply Voltage (Note 3-8) VTR +3.3 Volt Standby Supply Voltage (Note 3-8) VSS Ground Buffer Type (Note 3-1) Power Well CLKI32 CLOCK PINS 32.768kHz Standby Clock Input (Note 3-3) IS VTR CLOCKI 14.318MHz Clock Input IS VCC SERIAL PORT 1 INTERFACE RXD1 Receive Data 1 IS VCC TXD1 Transmit Data 1 O12 VCC nDSR1 nRTS1 /SYSOPT nCTS1 nDTR1 nRI1 nDCD1 GP50 /nRI2 GP51 /nDCD2 Data Set Ready 1 Request to Send 1 /(System Option) (Note 3-4) Clear to Send 1 Data Terminal Ready 1 I VCC OP14 VCC I VCC OP14 VCC Ring Indicator 1 I VCC (Note 3-13) Data Carrier Detect 1 I VCC SERIAL PORT 2 INTERFACE General Purpose I/O /Ring Indicator 2 IO8 VCC (Note 3-13) General Purpose I/O /Data Carrier Detect 2 IO8 VCC GP52 /RXD2 /IRRX General Purpose I/O /Receive Data 2 /IRRX IS/O8 VCC GP53 /TXD2 /IRTX General Purpose I/O /Transmit Data 2 /IRTX (Note 3-6, Note 3-7) IO12 VCC GP54 /nDSR2 General Purpose I/O /Data Set Ready 2 IO8 VCC GP55 /nRTS2 General Purpose I/O /Request to Send 2 IO8 VCC General Purpose I/O /Clear to Send 2 IO8 VCC IOP14 VCC IO8 VCC (Note 3-13) GP56 /nCTS2 GP57 /nDTR2 General Purpose I/O /Data Terminal Ready 2 CAUTION: External pull-down is required on this pin (Note 3-12). GP30 /nRI3 SERIAL PORT 3 INTERFACE General Purpose I/O (Note 3-11) /Ring Indicator 3 GP31 /nDCD3 General Purpose I/O (Note 3-11) /Data Carrier Detect 3 IO8 VCC (Note 3-13) GP32 /RXD3 General Purpose I/O (Note 3-11) /Receive Data 3 IS/O8 VCC (Note 3-13) DS00002120A-page 10 2016 Microchip Technology Inc. SCH3221 TABLE 3-1: PIN FUNCTIONS (CONTINUED) Name Buffer Type (Note 3-1) Function Power Well GP33 /TXD3 General Purpose I/O (Note 3-11) /Transmit Data 3 IO12 VCC (Note 3-13) GP34 /nDSR3 General Purpose I/O (Note 3-11) /Data Set Ready 3 IO8 VCC (Note 3-13) GP35 /nRTS3 General Purpose I/O (Note 3-11) /Request to Send 3 IO8 VCC (Note 3-13) GP36 /nCTS3 General Purpose I/O (Note 3-11) /Clear to Send 3 IO8 VCC (Note 3-13) GP37 /nDTR3 General Purpose I/O (Note 3-11) /Data Terminal Ready 3 IO8 VCC (Note 3-13) IO8 VCC (Note 3-13) GP40 /nRI4 SERIAL PORT 4 INTERFACE General Purpose I/O (Note 3-11) /Ring Indicator 4 GP41 /nDCD4 General Purpose I/O (Note 3-11) /Data Carrier Detect 4 IO8 VCC GP42 /RXD4 General Purpose I/O (Note 3-11) /Receive Data 4 IS/O8 VCC GP43 /TXD4 General Purpose I/O (Note 3-11) /Transmit Data 4 IO12 VCC GP44 /nDSR4 General Purpose I/O (Note 3-11) /Data Set Ready 4 IO8 VCC GP45 /nRTS4 General Purpose I/O (Note 3-11) /Request to Send 4 IO8 VCC GP46 /nCTS4 General Purpose I/O (Note 3-11) /Clear to Send 4 IO8 VCC GP47 /nDTR4 General Purpose I/O (Note 3-11) /Data Terminal Ready 4 IO8 VCC GP20 /IRRX2 /IRQIN3 General Purpose I/O /IR Receive /IRQ Input 3 IS/O8 VCC (Note 3-13) GP21 /IRTX2 /WDT General Purpose I/O (Note 3-11) /IR Transmit (Note 3-5, Note 3-7) /Watch Dog Timer IO12 VCC (Note 3-13) IO12 VCC (Note 3-13) IR INTERFACE GP11 MISCELLANEOUS AND GPIO PINS General Purpose I/O GP12 /IO_SMI# General Purpose I/O /System Mgt. Interrupt IO12 VCC (Note 3-13) GP13 /IRQIN1 /nLED1 General Purpose I/O / IRQ Input 1 /nLED1 (Note 3-9) IO12 VCC (Note 3-13) GP16 General Purpose I/O IO8 VTR (Note 3-13) GP17 General Purpose I/O IO8 VCC IS/O8 VCC (Note 3-13) GP22 /IRMODE /IRRX3 General Purpose I/O (Note 3-11) /IR Mode /IR Receive 3 2016 Microchip Technology Inc. DS00002120A-page 11 SCH3221 TABLE 3-1: PIN FUNCTIONS (CONTINUED) Name Function GP23 /nLED2 /IRQIN2 General Purpose I/O /nLED2 (Note 3-10) /IRQ Input 2 TEST Test Input Tie to VSS except in Test modes. Buffer Type (Note 3-1) IO12 VTR (Note 3-13) IS VCC LPC AND ASSOCIATED INTERFACE PINS Power Management Event Output OD12 IO_PME# Power Well VTR PCI_CLK PCI Clock PCI_ICLK VCC SER_IRQ Serial IRQ PCI_IO VCC LAD0 Multiplexed Command Address and Data 0 PCI_IO VCC LAD1 Multiplexed Command Address and Data 1 PCI_IO VCC LAD2 Multiplexed Command Address and Data 2 PCI_IO VCC LAD3 Multiplexed Command Address and Data 3 PCI_IO VCC LFRAME# LDRQ# PCI_RESET# LPCPD# CLKRUN# Note: Frame PCI_I VCC Encoded DMA Request PCI_O VCC PCI Reset PCI_I VCC Power Down (Note 3-1) PCI_I VCC PCI_OD VCC PCI Clock Controller The "n" as the first letter of a signal name or the “#” as the suffix of a signal name indicates an "Active Low" signal. Note 3-1 Pins that have input buffers must always be held to either a logical low or a logical high state when powered. Bi-directional buses that may be tristated should have either weak external pull-ups or pulldowns to prevent the pins from floating. Note 3-2 The LPCPD# pin may be tied high. The LPC interface will function properly if the PCI_RESET# signal follows the protocol defined for the LRESET# signal in the “Low Pin Count Interface Specification”. Note 3-3 If the 32kHz input clock is not used the CLKI32 pin must be grounded. There is a bit in the configuration register at CR1E that determines whether the 32KHz clock input is used as the clock source for the WDT and the LED’s. Set this bit to ‘1’ if the clock is not connected. Note 3-4 The nRTS1/SYSOPT pin requires an external pulldown resistor to put the base I/O address for configuration at 0x02E. An external pullup resistor is required to move the base I/O address for configuration to 0x04E. Note 3-5 The GP21/IRTX2/WDT pin is tristate when VCC=0. The pin comes up as an output and low following a VCC POR and Hard Reset if configured for IRTX2 function. The GP21/IRTX2/WDT pin will remain low following a power-up (VCC POR) if configured for IRTX2 until serial port 2 is enabled by setting the UART2 Power bit to ‘1’. Once the power has been applied the pin will reflect the state of the IR transmit output of the IRCC block. If this pin is configured for GPIO function, the pin will reflect the state of the GPIO on a VCC POR. Note 3-6 The GP53/TXD2/IRTX pin defaults to tristate when the part is under VTR power (VCC=0). The pin comes up tristate following a VTR POR, VCC POR, and Hard Reset. If the pin is configured for alternate functions TXD2 or IRTX the GP53/TXD2/IRTX pin will remain tristate following a power-up (VCC POR) until the UART2 Power bit is set to ‘1’. Once the power has been applied to the UART, the pin will reflect the current state of the output transmit buffer. If this pin is configured for GPIO function, the pin will reflect the state of the GPIO on a VCC POR. Note 3-7 VTR can be connected to VCC if no wakeup functionality is required. Note 3-8 VCC must not be greater than 0.5V above VTR. Note 3-9 The nLED1 pin is powered by VCC and can only be controlled when the part is under VCC power. DS00002120A-page 12 2016 Microchip Technology Inc. SCH3221 Note 3-10 The nLED2 pin is powered by VTR so that the LED can be controlled when the part is under VTR power. Note 3-11 These GPIO pins only have push-pull buffers. They cannot be configured for open drain outputs. Note 3-12 CAUTION: This pin floats during VCC POR and must be pulled low externally during this time for correct LPC bus operation. A weak external pull-down resistor may be used for this. Failure to provide this may cause this device to improperly react to LPC Memory traffic, and this in turn can cause excessive current, unpredictable system operation, and damage to the device. Note 3-13 These pins have input buffers into the wakeup logic that are powered by VTR. Note 3-14 This buffer type is different from the buffer types shown per function because it is a pin that supports alternate functions that require additional buffer types. 3.1 Buffer Type Description I Input TTL Compatible. IS Input with Schmitt Trigger. IPD Input with 30uA Integrated Pull-Down O6 Output, 6mA sink, 3mA source. O8 Output, 8mA sink, 4mA source. OD8 Open Drain Output, 8mA sink. IO8 Input/Output, 8mA sink, 4mA source. O12 Output, 12mA sink, 6mA source. OD12 Open Drain Output, 12mA sink. IO12 Input/Output, 12mA sink, 6mA source. OD14 Open Drain Output, 14mA sink. OP14 Output, 14mA sink, 14mA source. IOP14 Input/Output, 14mA sink, 14mA source. Backdrive protected. PCI_I Input. These pins meet the PCI 3.3V AC and DC Characteristics. (Note 3-15) PCI_O Output. These pins meet the PCI 3.3V AC and DC Characteristics. (Note 3-15) PCI_OD Open Drain Output. These pins meet the PCI 3.3V AC and DC Characteristics. (Note 3-15) PCI_IO Input/Output. These pins meet the PCI 3.3V AC and DC Characteristics. (Note 3-15) PCI_ICLK Clock Input. These pins meet the PCI 3.3V AC and DC Characteristics and timing. (Note 3-16) Note 3-15 See the PCI Local Bus Specification, Revision 2.1, Section 4.2.2. Note 3-16 See the PCI Local Bus Specification, Revision 2.1, Section 4.2.2. and 4.2.3. 2016 Microchip Technology Inc. DS00002120A-page 13 SCH3221 3.2 Design Guidelines for Implemented Buffer Types The characteristics of the I/O buffers implemented in this device are defined in Section 9.2, "DC Electrical Characteristics," on page 102. Care should be taken to ensure that external devices maintain acceptable voltage levels on all inputs and open drain outputs. It is not advisable to allow input buffers to float or remain in an indeterminate state. Note: It is important not to cross power domains when attaching pull-ups to pins. Pins that are located on the VCC power well must be pulled either to ground or to VCC. This includes GPIO pins with wakeup capability that are located on the VCC power well (see Table 3-1, “Pin Functions,” on page 10). Pins that are located on the VTR power well must be pulled either to ground or to VTR. The following is a list of design guidelines to help identify which pins require external pull-up/pull-down resistors: 1. 2. 3. Input buffers that are of type I or IS must be driven to a logic high or a logic low when power is applied to the buffer. If the external device controlling the input buffer tristates while power is applied to the buffer, an external pull-up/pull-down resistor should be added to prevent the pin from floating. All output pins that are implemented as open drain outputs, must be pulled through an external resistor to the proper VCC or VTR power plane. All GPIO registers default to a GPIO input on a VTR POR. On a cold boot, a VCC POR will implement these pins as GPIO inputs. It is suggested that these pins are pulled to their inactive state (either to the proper VCC or VTR power plane or ground) depending on the function being implemented on the pin. DS00002120A-page 14 2016 Microchip Technology Inc. SCH3221 4.0 3.3 VOLT OPERATION / 5 VOLT TOLERANCE The SCH3221 is a 3.3 Volt part. It is intended solely for 3.3V applications. Non-LPC bus pins are 5V tolerant; that is, the input voltage is 5.5V max, and the I/O buffer output pads are backdrive protected. The LPC interface pins are 3.3 V only. These signals meet PCI DC specifications for 3.3V signaling. These pins are: • • • • LAD[3:0] LFRAME# LDRQ# LPCPD# The input voltage for all other pins is 5.5V max. These pins include all non-LPC Bus pins and the following pins: • • • • • PCI_RESET# PCI_CLK SER_IRQ CLKRUN# IO_PME# 2016 Microchip Technology Inc. DS00002120A-page 15 SCH3221 5.0 POWER FUNCTIONALITY The SCH3221 has two power planes: VCC and VTR. 5.1 VCC Power The SCH3221 is a 3.3 Volt part. The VCC supply is 3.3 Volts (nominal). See the Operational Description Section and the Maximum Current Values subsection. 5.2 VTR Support The SCH3221 requires a trickle supply (VTR) to provide sleep current for the programmable wake-up events in the PME interface when VCC is removed. The VTR supply is 3.3 Volts (nominal). See the Operational Description Section. The maximum VTR current that is required depends on the functions that are used in the part. See Trickle Power Functionality subsection and the Maximum Current Values subsection. If the SCH3221 is not intended to provide wake-up capabilities on standby current, VTR can be connected to VCC. The VTR pin generates a VTR Power-on-Reset signal to initialize these components. Note: 5.3 If VTR is to be used for programmable wake-up events when VCC is removed, VTR must be at its full minimum potential at least 10 s before VCC begins a power-on cycle. When VTR and VCC are fully powered, the potential difference between the two supplies must not exceed 500mV. 32.768 kHz Trickle Clock Input The SCH3221 utilizes a 32.768 kHz trickle input to supply a clock signal for the Watchdog Timer (WDT) and LED blink function. Note: LED1 has a VCC powered output pin and will only generate a signal when the device is powered by VCC. LED2 has a VTR powered output pin and may be used under VTR power. The SCH3221 has two different methods of deriving a 32.768kHz signal: • From an external single-input clock source driven on the CLKI32 pin • From an internal PLL that divides down the14MHz clock input to make the 32kHz signal If the 32kHz input clock is not used the CLKI32 pin must be grounded and the CLK32_PRSN bit should be set to '1'. This bit in the configuration register block at register index CR1E determines whether the internal 32KHz clock is derived from the CLKI32 pin or the 14MHz clock input. This clock input is used as the clock source for the WDT and the LEDs. This register is powered by VTR and reset on a VTR POR. Bit[0] (CLK32_PRSN) is defined as follows: 0=32kHz clock is connected to the CLKI32 pin (default) 1=32kHz clock is not connected to the CLKI32 pin (pin is grounded). Bit 0 controls the source of the 32kHz (nominal) clock for the LED blink logic and the WDT. When the external 32kHz clock is connected, bit[0] should be set to '0' so that the external clock will be the source for the LED blink logic and the WDT. When the external 32kHz clock is not connected, bit[0] should be set to '1' so that an internal 32kHz clock source will be derived from the 14MHz clock for the LED blink logic and the WDT. The following functions will not work under VTR power (VCC removed) if the external 32kHz clock is not connected. These functions will work under VCC power even if the external 32kHz clock is not connected. • LED blink • WDT DS00002120A-page 16 2016 Microchip Technology Inc. SCH3221 5.4 Internal PWRGOOD An internal PWRGOOD logical control is included to minimize the effects of pin-state uncertainty in the host interface as VCC cycles on and off. When the internal PWRGOOD signal is "1" (active), VCC > 2.3V (nominal), and the SCH3221 host interface is active. When the internal PWRGOOD signal is "0" (inactive), VCC 2.3V (nominal), and the SCH3221 host interface is inactive; that is, LPC bus reads and writes will not be decoded. The SCH3221 device pins IO_PME#, nRI1, nRI2, nRI3, nRI4, and most GPIOs (as input) are part of the PME interface and remain active when the internal PWRGOOD signal has gone inactive, provided VTR is powered. See Trickle Power Functionality section. 5.5 Trickle Power Functionality When the SCH3221 is running under VTR only, the PME wakeup events are active and (if enabled) able to assert the IO_PME# pin active low. The following lists the wakeup events: • • • • • • UART 1 Ring Indicator UART 2 Ring Indicator UART 3 Ring Indicator UART 4 Ring Indicator WDT GPIOs for wakeup. See below. The following requirements apply to all I/O pins that are specified to be 5 volt tolerant. • I/O buffers that are wake-up event compatible are powered by VCC. Under VTR power (VCC=0), these pins may only be configured as inputs. These pins have input buffers into the wakeup logic that are powered by VTR. • I/O buffers that may be configured as either push-pull or open drain under VTR power (VCC=0), are powered by VTR. This means they will, at a minimum, source their specified current from VTR even when VCC is present. The GPIOs that are used for PME wakeup inputs are GP11-GP13, GP16-GP17, GP20-GP23, GP30-GP37, GP40, and GP50. These GPIOs function as follows: • Buffers are powered by VCC, but in the absence of VCC they are backdrive protected (they do not impose a load on any external VTR powered circuitry). They are wakeup compatible as inputs under VTR power. These pins have input buffers into the wakeup logic that are powered by VTR. All GPIOs listed above are for PME wakeup as a GPIO function (or alternate function). See the Table in the GPIO section for more information. The following list summarizes the blocks, registers and pins that are powered by VTR. • • • • • • • PME interface block CLKI32 WDT block LED block LED2 pin Runtime register block (includes all PME, SMI, WDT, LED, and GP data registers) Pins for PME Wakeup: - GPIOs (GP11-GP13, GP16-GP17, GP20-GP23, GP30-GP37, GP40, and GP50) - IO_PME# - nRI1, nRI2, nRI3, nRI4 2016 Microchip Technology Inc. DS00002120A-page 17 SCH3221 5.6 Maximum Current Values See Section 9.0, "Operational Description" for the maximum current values. The maximum VTR current, ITR, is given with all outputs open (not loaded), and all inputs in a fixed state (i.e., 0V or 3.3V). The total maximum current for the part is the unloaded value PLUS the maximum current sourced by the pin that is driven by VTR. The pins that are powered by VTR (as output) are IO_PME#, LED2 and nPME. These pins, if configured as a push-pull output, will source a minimum of 6mA at 2.4V when driving. The maximum VCC current, ICC, is given with all outputs open (not loaded), and all inputs in a fixed state (i.e., 0V or 3.3V). 5.7 Power Management Events (PME/SCI) The SCH3221 offers support for Power Management Events (PMEs), also referred to as System Control Interrupt (SCI) events. The terms PME and SCI are used synonymously throughout this document to refer to the indication of an event to the chipset via the assertion of the nIO_PME output signal. See the "PME Support" section. DS00002120A-page 18 2016 Microchip Technology Inc. SCH3221 6.0 FUNCTIONAL DESCRIPTION 6.1 Super I/O Registers The address map, shown below in Table 6-1, shows the addresses of the different blocks of the Super I/O immediately after power up. The base addresses of the serial ports, runtime register block and configuration register block can be moved via the configuration registers. Some addresses are used to access more than one register. 6.2 Host Processor Interface The host processor communicates with the SCH3221 through a series of read/write registers via the host processor interface. The port addresses for these registers are shown in Table 6-1. Register access is accomplished through I/O cycles or DMA transfers. All registers are 8 bits wide. TABLE 6-1: SUPER I/O BLOCK ADDRESSES Address Block Name Base+(0-7) Serial Port Com 1 Base1+(0-7) Base2+(0-7) Serial Port Com 2 (IR Support) Base+(0-7) Serial Port Com 3 Base+(0-7) Serial Port Com 4 Base + (0-F) Runtime Registers Base + (0-1) Configuration Note 6-1 6.3 Refer to the configuration register descriptions for setting the base address. LPC Interface The SCH3221 communicates with the host over a Low Pin Count (LPC) interface. For a complete description of the LPC interface, see the Intel Low Pin Count Specification, Rev 1.0. The following sections define the LPC signals implemented, the cycles supported, and protocols implemented that are specific to this device. Note: 6.3.1 The LPC interface uses 3.3V signaling. For electrical specifications see the Intel Low Pin Count Specification, Rev 1.0 and the PCI Local Bus Specification, Rev 2.2. LPC INTERFACE SIGNAL DEFINITION The signals required for the LPC bus interface are described in the table below. LPC bus signals use PCI 33MHz electrical signal characteristics. TABLE 6-2: Signal Name LPC BUS INTERFACE SIGNALS Type Description LAD[3:0] I/O LPC address/data bus. Multiplexed command, address and data bus. LFRAME# Input Frame signal. Indicates start of new cycle and termination of broken cycle PCI_RESET# Input PCI Reset. Used as LPC Interface Reset. LDRQ# Output Encoded DMA/Bus Master request for the LPC interface. IO_PME# OD Power Mgt Event signal. Allows the SCH3221 to request wakeup. LPCPD# Input Powerdown Signal. Indicates that the SCH3221 should prepare for power to be shut on the LPC interface. PCI_CLK Input PCI Clock CLKRUN# I/OD Clock Run. Allows the SCH3221 to request the stopped PCI_CLK be started. IO_SMI# OD System Mgt Interrupt signal. Allows the SCH3221 to notify the host system that an event has occurred. 2016 Microchip Technology Inc. DS00002120A-page 19 SCH3221 Note 6-2 6.3.2 The IO_PME#, IO_SMI#, and PCI_CLK signals are considered part of the host interface. LPC CYCLES The following cycle types are supported by the LPC protocol. TABLE 6-3: LPC CYCLE TYPES Cycle Type (Note 6-3) Transfer Size I/O Write 1 Byte I/O Read 1 Byte DMA Write 1 Byte DMA Read 1 Byte Note 6-3 6.3.3 The SCH3221 ignores cycles that it does not support. CAUTION: A pull-down strap is necessary on the GP57/nDTR2 pin to ensure this, as well as to prevent chip damage. See Note 3-12 on page 13. LFRAME# USAGE LFRAME# is used by the host to indicate the start of cycles and the termination of cycles due to an abort or time-out condition. This signal is to be used by the SCH3221 to know when to monitor the bus for a cycle. This signal is used as a general notification that the LAD[3:0] lines contain information relative to the start or stop of a cycle, and that the SCH3221 monitors the bus to determine whether the cycle is intended for it. The use of LFRAME# allows the SCH3221 to enter a lower power state internally. There is no need for the SCH3221 to monitor the bus when it is inactive, so it can decouple its state machines from the bus, and internally gate its clocks. When the SCH3221 samples LFRAME# active, it immediately stops driving the LAD[3:0] signal lines on the next clock and monitor the bus for new cycle information. The LFRAME# signal functions as described in the Low Pin Count (LPC) Interface Specification Revision 1.0. 6.3.4 FIELD DEFINITIONS LPC transactions are defined as being comprised of multiple fields. These fields may be one or more nibbles in length (nibble=4 bits). All LPC transactions begin with a START field and a Cycle Type/Direction field. The START field is used to initiate/terminate LPC transactions. The Cycle Type/Direction field is used to define the cycle type (I/O, DMA) and direction (read/write) for LPC cycles. The remaining fields of data being transfered are based on specific fields that are used in various combinations, depending on the cycle type. These remaining fields are driven on to the LAD[3:0] signal lines to communicate address, control and data information over the LPC bus between the host and the SCH3221. See the Low Pin Count (LPC) Interface Specification Revision 1.0 from Intel, Section 4.2 for definition of these fields. The following sections describe the supported cycle types. Note: 6.3.4.1 I/O and DMA cycles use a START field of 0000. I/O Read and Write Cycles The SCH3221 is the target for I/O cycles. I/O cycles are initiated by the host for register or FIFO accesses, and will generally have minimal Sync times. The minimum number of wait-states between bytes is 1. Data transfers are assumed to be exactly 1-byte. If the CPU requested a 16 or 32-bit transfer, the host will break it up into 8-bit transfers. See the Low Pin Count (LPC) Interface Specification Reference, Section 5.2, for the sequence of cycles for the I/O Read and Write cycles. 6.3.4.2 DMA Read and Write Cycles DMA read cycles involve the transfer of data from the host (main memory) to the SCH3221. DMA write cycles involve the transfer of data from the SCH3221 to the host (main memory). Data will be coming from or going to a FIFO and will have minimal Sync times. Data transfers to/from the SCH3221 are 1 byte. See the Low Pin Count (LPC) Interface Specification Reference, Section 6.4, for the field definitions and the sequence of the DMA Read and Write cycles. DS00002120A-page 20 2016 Microchip Technology Inc. SCH3221 6.3.4.3 DMA Protocol DMA on the LPC bus is handled through the use of the LDRQ# lines from the SCH3221 and special encodings on LAD[3:0] from the host. The DMA mechanism for the LPC bus is described in the Low Pin Count (LPC) Specification Revision 1.0. 6.3.5 6.3.5.1 POWER MANAGEMENT CLOCKRUN Protocol See the Low Pin Count (LPC) Interface Specification Reference, Section 8.1. 6.3.5.2 LPCPD Protocol The SCH3221 will function properly if the LPCPD# signal goes active and then inactive again without PCI_RESET# becoming active. This is a requirement for notebook power management functions. Although the LPC Bus spec 1.0 section 8.2 states, "After LPCPD# goes back inactive, the LPC I/F will always be reset using LRST#”, this statement does not apply for mobile systems. LRST# (PCI_RESET#) will not occur if the LPC Bus power was not removed. For example, when exiting a "light" sleep state (ACPI S1, APM POS), LRST# (PCI_RESET#) will not occur. When exiting a "deeper" sleep state (ACPI S3-S5, APM STR, STD, soft-off), LRST# (PCI_RESET#) will occur. The LPCPD# pin is implemented as a “local” powergood for the LPC bus in the SCH3221. It is not used as a global powergood for the chip. It is used to reset the LPC block and hold it in reset. An internal powergood is implemented in SCH3221 to minimize power dissipation in the entire chip. Prior to going to a low-power state, the system will assert the LPCPD# signal. It will go active at least 30 microseconds prior to the LCLK# (PCI_CLK) signal stopping low and power being shut to the other LPC I/F signals. Upon recognizing LPCPD# active, the SCH3221 will drive the LDRQ# signal low or tri-state, and do so until LPCPD# goes back active. Upon recognizing LPCPD# inactive, the SCH3221 will drive its LDRQ# signal high. See the Low Pin Count (LPC) Interface Specification Reference, Section 8.2. 6.3.5.3 SYNC Protocol See the Low Pin Count (LPC) Interface Specification Reference, Section 4.2.1.8 for a table of valid SYNC values. The SYNC pattern is used to add wait states. For read cycles, the SCH3221 immediately drives the SYNC pattern upon recognizing the cycle. The host immediately drives the sync pattern for write cycles. If the SCH3221 needs to assert wait states, it does so by driving 0101 or 0110 on LAD[3:0] until it is ready, at which point it will drive 0000 or 1001. The SCH3221 will choose to assert 0101 or 0110, but not switch between the two patterns. The data (or wait state SYNC) will immediately follow the 0000 or 1001 value. The SYNC value of 0101 is intended to be used for normal wait states, wherein the cycle will complete within a few clocks. The SCH3221 uses a SYNC of 0101 for all wait states in a DMA transfer. The SYNC value of 0110 is intended to be used where the number of wait states is large. The SCH3221 uses a SYNC of 0110 for all wait states in an I/O transfer. The SYNC value is driven within 3 clocks. 6.3.5.4 SYNC Timeout The SYNC value is driven within 3 clocks. If the host observes 3 consecutive clocks without a valid SYNC pattern, it will abort the cycle. The SCH3221 does not assume any particular timeout. When the host is driving SYNC, it may have to insert a very large number of wait states, depending on PCI latencies and retries. 6.3.5.5 SYNC Patterns and Maximum Number of SYNCS If the SYNC pattern is 0101, then the host assumes that the maximum number of SYNCs is 8. If the SYNC pattern is 0110, then no maximum number of SYNCs is assumed. The SCH3221 has protection mechanisms to complete the cycle. 2016 Microchip Technology Inc. DS00002120A-page 21 SCH3221 6.3.5.6 SYNC Error Indication The SCH3221 reports errors via the LAD[3:0] = 1010 SYNC encoding. If the host was reading data from the SCH3221, data will still be transferred in the next two nibbles. This data may be invalid, but it will be transferred by the SCH3221. If the host was writing data to the SCH3221, the data had already been transferred. In the case of multiple byte cycles, such as DMA cycles, an error SYNC terminates the cycle. Therefore, if the host is transferring 4 bytes from a device, if the device returns the error SYNC in the first byte, the other three bytes will not be transferred. 6.3.5.7 Reset Policy The following rules govern the reset policy: 1. When PCI_RESET# goes inactive (high), the clock is assumed to have been running for 100usec prior to the removal of the reset signal, so that everything is stable. This is the same reset active time after clock is stable that is used for the PCI bus. When PCI_RESET# goes active (low): a) the host drives the LFRAME# signal high, tristates the LAD[3:0] signals, and ignores the LDRQ# signal. b) the SCH3221 ignores LFRAME#, tristate the LAD[3:0] pins and drive the LDRQ# signal inactive (high). 2. 6.3.6 LPC TRANSFERS 6.3.6.1 Wait State Requirements I/O Transfers For I/O transfers in which long indeterminate wait states are required (i.e., IrCC transfers) the sync pattern of 0110 is used and a large number of syncs may be inserted (up to 330 which corresponds to a timeout of 10us). Note: Wait states are required for all I/O transfers. Three wait states are required for an I/O read and two wait states are required for an I/O write. A SYNC of 0110 is used for all I/O transfers. DMA Transfers The SCH3221 inserts three wait states for a DMA read and four wait states for a DMA write cycle. A SYNC of 0101 is used for all DMA transfers. Note 6-4 Long sync cycles are always followed by one ready sync cycle (0\H). See the example timing for the LPC cycles in Section 10.0, "Timing Diagrams". 6.4 Serial Port (UART) The SCH3221 incorporates four full function UARTs. They are compatible with the 16450, the 16450 ACE registers and the 16C550A. The UARTS perform serial-to-parallel conversion on received characters and parallel-to-serial conversion on transmit characters. The data rates are independently programmable from 460.8K baud down to 50 baud. The character options are programmable for 1 start; 1, 1.5 or 2 stop bits; even, odd, sticky or no parity; and prioritized interrupts. The UARTs each contain a programmable baud rate generator that is capable of dividing the input clock or crystal by a number from 1 to 65535. The UARTs are also capable of supporting the MIDI data rate. Refer to the Configuration Registers for information on disabling, power down and changing the base address of the UARTs. The interrupt from a UART is enabled by programming OUT2 of that UART to a logic "1". OUT2 being a logic "0" disables that UART's interrupt. The second UART also supports IrDA 1.2 (4Mbps), HP-SIR, ASK-IR and Consumer IR infrared modes of operation. 6.4.1 REGISTER DESCRIPTION Addressing of the accessible registers of the Serial Port is shown below. The base addresses of the serial ports are defined by the configuration registers (see Configuration section). The Serial Port registers are located at sequentially increasing addresses above these base addresses. The SCH3221 contains two serial ports, each of which contain a register set as described below. DS00002120A-page 22 2016 Microchip Technology Inc. SCH3221 TABLE 6-4: ADDRESSING THE SERIAL PORT DLAB* A2 A1 A0 Register Name 0 0 0 0 Receive Buffer (read) 0 0 0 0 Transmit Buffer (write) 0 0 0 1 Interrupt Enable (read/write) X 0 1 0 Interrupt Identification (read) X 0 1 0 FIFO Control (write) X 0 1 1 Line Control (read/write) X 1 0 0 Modem Control (read/write) X 1 0 1 Line Status (read/write) X 1 1 0 Modem Status (read/write) X 1 1 1 Scratchpad (read/write) 1 0 0 0 Divisor LSB (read/write) 1 0 0 1 Divisor MSB (read/write Note 6-5 DLAB is Bit 7 of the Line Control Register The following section describes the operation of the registers. 6.4.1.1 Receive Buffer Register (RB) Address Offset = 0H, DLAB = 0, READ ONLY 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. 6.4.1.2 Transmit Buffer Register (TB) Address Offset = 0H, DLAB = 0, WRITE ONLY 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. 6.4.1.3 Interrupt Enable Register (IER) Address Offset = 1H, DLAB = 0, READ/WRITE The lower four bits of this register control the enables of the five interrupt sources of the Serial Port interrupt. It is possible to totally disable the interrupt system by resetting bits 0 through 3 of this register. Similarly, setting the appropriate bits of this register to a high, selected interrupts can be enabled. Disabling the interrupt system inhibits the Interrupt Identification Register and disables any Serial Port interrupt out of the SCH3221. All other system functions operate in their normal manner, including the Line Status and MODEM Status Registers. The contents of the Interrupt Enable Register are described below. Bit 0 This bit enables the Received Data Available Interrupt (and timeout interrupts in the FIFO mode) when set to logic "1". Bit 1 This bit enables the Transmitter Holding Register Empty Interrupt when set to logic "1". Bit 2 This bit enables the Received Line Status Interrupt when set to logic "1". The error sources causing the interrupt are Overrun, Parity, Framing and Break. The Line Status Register must be read to determine the source. Bit 3 This bit enables the MODEM Status Interrupt when set to logic "1". This is caused when one of the Modem Status Register bits changes state. 2016 Microchip Technology Inc. DS00002120A-page 23 SCH3221 Bits 4 through 7 These bits are always logic "0". 6.4.1.4 FIFO Control Register (FCR) Address Offset = 2H, DLAB = X, WRITE This is a write only register at the same location as the IIR. This register is used to enable and clear the FIFOs, set the RCVR FIFO trigger level. Note: DMA is not supported. The UART1 and UART2 FCR’s are shadowed in the UART1 FIFO Control Shadow Register (CR15) and UART2 FIFO Control Shadow Register (CR16). See the Configuration section for description on these registers. Bit 0 Setting this bit to a logic "1" enables both the XMIT and RCVR FIFOs. Clearing this bit to a logic "0" disables both the XMIT and RCVR FIFOs and clears all bytes from both FIFOs. When changing from FIFO Mode to non-FIFO (16450) mode, data is automatically cleared from the FIFOs. This bit must be a 1 when other bits in this register are written to or they will not be properly programmed. Bit 1 Setting this bit to a logic "1" clears all bytes in the RCVR FIFO and resets its counter logic to 0. The shift register is not cleared. This bit is self-clearing. Bit 2 Setting this bit to a logic "1" clears all bytes in the XMIT FIFO and resets its counter logic to 0. The shift register is not cleared. This bit is self-clearing. Bit 3 Writing to this bit has no effect on the operation of the UART. DMA modes are not supported in this chip. Bit 4,5 Reserved Bit 6,7 These bits are used to set the trigger level for the RCVR FIFO interrupt. 6.4.1.5 Bit 7 Bit 6 RCVR FIFO Trigger Level (Bytes) 0 0 1 0 1 4 1 0 8 1 1 14 Interrupt Identification Register (IIR) Address Offset = 2H, DLAB = X, READ By accessing this register, the host CPU can determine the highest priority interrupt and its source. Four levels of priority interrupt exist. They are in descending order of priority: 1. 2. 3. 4. Receiver Line Status (highest priority) Received Data Ready Transmitter Holding Register Empty MODEM Status (lowest priority) Information indicating that a prioritized interrupt is pending and the source of that interrupt is stored in the Interrupt Identification Register (refer to Interrupt Control Table). When the CPU accesses the IIR, the Serial Port freezes all interrupts and indicates the highest priority pending interrupt to the CPU. During this CPU access, even if the Serial Port records new interrupts, the current indication does not change until access is completed. The contents of the IIR are described below. DS00002120A-page 24 2016 Microchip Technology Inc. SCH3221 Bit 0 This bit can be used in either a hardwired prioritized or polled environment to indicate whether an interrupt is pending. When bit 0 is a logic "0", an interrupt is pending and the contents of the IIR may be used as a pointer to the appropriate internal service routine. When bit 0 is a logic "1", no interrupt is pending. Bits 1 and 2 These two bits of the IIR are used to identify the highest priority interrupt pending as indicated by the Interrupt Control Table. Bit 3 In non-FIFO mode, this bit is a logic "0". In FIFO mode this bit is set along with bit 2 when a timeout interrupt is pending. Bits 4 and 5 These bits of the IIR are always logic "0". Bits 6 and 7 These two bits are set when the FIFO CONTROL Register bit 0 equals 1. TABLE 6-5: INTERRUPT CONTROL TABLE FIFO Mode Only Interrupt Identification Register Bit 3 Bit 2 Bit 1 Bit 0 Priority Level 0 0 0 1 - 0 1 1 0 0 1 0 1 1 0 0 Interrupt Set and Reset Functions Interrupt Type Interrupt Source Interrupt Reset Control None None Highest Receiver Line Status Overrun Error, Parity Error, Framing Error or Break Interrupt Reading the Line Status Register 0 Second Received Data Available Receiver Data Available Read Receiver Buffer or the FIFO drops below the trigger level. 0 0 Second Character Timeout Indication No Characters Have Reading the Been Removed From Receiver Buffer or Input to the RCVR Register FIFO during the last 4 Char times and there is at least 1 char in it during this time 0 1 0 Third Transmitter Holding Register Empty Transmitter Holding Register Empty Reading the IIR Register (if Source of Interrupt) or Writing the Transmitter Holding Register 0 0 0 Fourth MODEM Status Clear to Send or Data Set Ready or Ring Indicator or Data Carrier Detect Reading the MODEM Status Register 2016 Microchip Technology Inc. - DS00002120A-page 25 SCH3221 6.4.1.6 Line Control Register (LCR) Address Offset = 3H, DLAB = 0, READ/WRITE FIGURE 6-1: SERIAL DATA Start LSB Data 5-8 bits MSB Parity Stop This register contains the format information of the serial line. The bit definitions are: Bits 0 and 1 These two bits specify the number of bits in each transmitted or received serial character. The encoding of bits 0 and 1 is as follows: The Start, Stop and Parity bits are not included in the word length. Bit 1 Bit 0 Word Length 0 0 1 1 0 1 0 1 5 Bits 6 Bits 7 Bits 8 Bits Bit 2 This bit specifies the number of stop bits in each transmitted or received serial character. The following table summarizes the information. Bit 2 Word Length Number of Stop Bits 0 -- 1 1 5 bits 1.5 1 6 bits 2 1 7 bits 2 1 8 bits 2 Note: The receiver will ignore all stop bits beyond the first, regardless of the number used in transmitting. Bit 3 Parity Enable bit. When bit 3 is a logic "1", a parity bit is generated (transmit data) or checked (receive data) between the last data word bit and the first stop bit of the serial data. (The parity bit is used to generate an even or odd number of 1s when the data word bits and the parity bit are summed). Bit 4 Even Parity Select bit. When bit 3 is a logic "1" and bit 4 is a logic "0", an odd number of logic "1"'s is transmitted or checked in the data word bits and the parity bit. When bit 3 is a logic "1" and bit 4 is a logic "1" an even number of bits is transmitted and checked. Bit 5 Stick Parity bit. When parity is enabled it is used in conjunction with bit 4 to select Mark or Space Parity. When LCR bits 3, 4 and 5 are 1 the Parity bit is transmitted and checked as 0 (Space Parity). If bits 3 and 5 are 1 and bit 4 is a 0, then the Parity bit is transmitted and checked as 1 (Mark Parity). If bit 5 is 0 Stick Parity is disabled. DS00002120A-page 26 2016 Microchip Technology Inc. SCH3221 Bit 6 Set Break Control bit. When bit 6 is a logic "1", the transmit data output (TXD) is forced to the Spacing or logic "0" state and remains there (until reset by a low level bit 6) regardless of other transmitter activity. This feature enables the Serial Port to alert a terminal in a communications system. Bit 7 Divisor Latch Access bit (DLAB). It must be set high (logic "1") to access the Divisor Latches of the Baud Rate Generator during read or write operations. It must be set low (logic "0") to access the Receiver Buffer Register, the Transmitter Holding Register, or the Interrupt Enable Register. 6.4.1.7 Modem Control Register (MCR) Address Offset = 4H, DLAB = X, READ/WRITE This 8 bit register controls the interface with the MODEM or data set (or device emulating a MODEM). The contents of the MODEM control register are described below. Bit 0 This bit controls the Data Terminal Ready (nDTR) output. When bit 0 is set to a logic "1", the nDTR output is forced to a logic "0". When bit 0 is a logic "0", the nDTR output is forced to a logic "1". Bit 1 This bit controls the Request To Send (nRTS) output. Bit 1 affects the nRTS output in a manner identical to that described above for bit 0. Bit 2 This bit controls the Output 1 (OUT1) bit. This bit does not have an output pin and can only be read or written by the CPU. Bit 3 Output 2 (OUT2). This bit is used to enable an UART interrupt. When OUT2 is a logic "0", the serial port interrupt output is forced to a high impedance state - disabled. When OUT2 is a logic "1", the serial port interrupt outputs are enabled. Bit 4 This bit provides the loopback feature for diagnostic testing of the Serial Port. When bit 4 is set to logic "1", the following occur: 1. 2. 3. 4. 5. 6. 7. The TXD is set to the Marking State(logic "1"). The receiver Serial Input (RXD) is disconnected. The output of the Transmitter Shift Register is "looped back" into the Receiver Shift Register input. All MODEM Control inputs (nCTS, nDSR, nRI and nDCD) are disconnected. The four MODEM Control outputs (nDTR, nRTS, OUT1 and OUT2) are internally connected to the four MODEM Control inputs (nDSR, nCTS, RI, DCD). The Modem Control output pins are forced inactive high. Data that is transmitted is immediately received. This feature allows the processor to verify the transmit and receive data paths of the Serial Port. In the diagnostic mode, the receiver and the transmitter interrupts are fully operational. The MODEM Control Interrupts are also operational but the interrupts' sources are now the lower four bits of the MODEM Control Register instead of the MODEM Control inputs. The interrupts are still controlled by the Interrupt Enable Register. Bits 5 through 7 These bits are permanently set to logic zero. 6.4.1.8 Line Status Register (LSR) Address Offset = 5H, DLAB = X, READ/WRITE Bit 0 Data Ready (DR). It is set to a logic "1" whenever a complete incoming character has been received and transferred into the Receiver Buffer Register or the FIFO. Bit 0 is reset to a logic "0" by reading all of the data in the Receive Buffer Register or the FIFO. 2016 Microchip Technology Inc. DS00002120A-page 27 SCH3221 Bit 1 Overrun Error (OE). Bit 1 indicates that data in the Receiver Buffer Register was not read before the next character was transferred into the register, thereby destroying the previous character. In FIFO mode, an overrunn error will occur only when the FIFO is full and the next character has been completely received in the shift register, the character in the shift register is overwritten but not transferred to the FIFO. The OE indicator is set to a logic "1" immediately upon detection of an overrun condition, and reset whenever the Line Status Register is read. Bit 2 Parity Error (PE). Bit 2 indicates that the received data character does not have the correct even or odd parity, as selected by the even parity select bit. The PE is set to a logic "1" upon detection of a parity error and is reset to a logic "0" whenever the Line Status Register is read. In the FIFO mode this error is associated with the particular character in the FIFO it applies to. This error is indicated when the associated character is at the top of the FIFO. Bit 3 Framing Error (FE). Bit 3 indicates that the received character did not have a valid stop bit. Bit 3 is set to a logic "1" whenever the stop bit following the last data bit or parity bit is detected as a zero bit (Spacing level). The FE is reset to a logic "0" whenever the Line Status Register is read. In the FIFO mode this error is associated with the particular character in the FIFO it applies to. This error is indicated when the associated character is at the top of the FIFO. The Serial Port will try to resynchronize after a framing error. To do this, it assumes that the framing error was due to the next start bit, so it samples this 'start' bit twice and then takes in the 'data'. Bit 4 Break Interrupt (BI). Bit 4 is set to a logic "1" whenever the received data input is held in the Spacing state (logic "0") for longer than a full word transmission time (that is, the total time of the start bit + data bits + parity bits + stop bits). The BI is reset after the CPU reads the contents of the Line Status Register. In the FIFO mode this error is associated with the particular character in the FIFO it applies to. This error is indicated when the associated character is at the top of the FIFO. When break occurs only one zero character is loaded into the FIFO. Restarting after a break is received, requires the serial data (RXD) to be logic "1" for at least 1/2 bit time. Note: Bits 1 through 4 are the error conditions that produce a Receiver Line Status Interrupt whenever any of the corresponding conditions are detected and the interrupt is enabled. Bit 5 Transmitter Holding Register Empty (THRE). Bit 5 indicates that the Serial Port is ready to accept a new character for transmission. In addition, this bit causes the Serial Port to issue an interrupt when the Transmitter Holding Register interrupt enable is set high. The THRE bit is set to a logic "1" when a character is transferred from the Transmitter Holding Register into the Transmitter Shift Register. The bit is reset to logic "0" whenever the CPU loads the Transmitter Holding Register. In the FIFO mode this bit is set when the XMIT FIFO is empty, it is cleared when at least 1 byte is written to the XMIT FIFO. Bit 5 is a read only bit. Bit 6 Transmitter Empty (TEMT). Bit 6 is set to a logic "1" whenever the Transmitter Holding Register (THR) and Transmitter Shift Register (TSR) are both empty. It is reset to logic "0" whenever either the THR or TSR contains a data character. Bit 6 is a read only bit. In the FIFO mode this bit is set whenever the THR and TSR are both empty. Bit 7 This bit is permanently set to logic "0" in the 450 mode. In the FIFO mode, this bit is set to a logic "1" when there is at least one parity error, framing error or break indication in the FIFO. This bit is cleared when the LSR is read if there are no subsequent errors in the FIFO. 6.4.1.9 Modem Status Register (MSR) Address Offset = 6H, DLAB = X, READ/WRITE This 8 bit register provides the current state of the control lines from the MODEM (or peripheral device). In addition to this current state information, four bits of the MODEM Status Register (MSR) provide change information. These bits are set to logic "1" whenever a control input from the MODEM changes state. They are reset to logic "0" whenever the MODEM Status Register is read. DS00002120A-page 28 2016 Microchip Technology Inc. SCH3221 Bit 0 Delta Clear To Send (DCTS). Bit 0 indicates that the nCTS input to the chip has changed state since the last time the MSR was read. Bit 1 Delta Data Set Ready (DDSR). Bit 1 indicates that the nDSR input has changed state since the last time the MSR was read. Bit 2 Trailing Edge of Ring Indicator (TERI). Bit 2 indicates that the nRI input has changed from logic "0" to logic "1". Bit 3 Delta Data Carrier Detect (DDCD). Bit 3 indicates that the nDCD input to the chip has changed state. Note: Whenever bit 0, 1, 2, or 3 is set to a logic "1", a MODEM Status Interrupt is generated. Bit 4 This bit is the complement of the Clear To Send (nCTS) input. If bit 4 of the MCR is set to logic "1", this bit is equivalent to nRTS in the MCR. Bit 5 This bit is the complement of the Data Set Ready (nDSR) input. If bit 4 of the MCR is set to logic "1", this bit is equivalent to DTR in the MCR. Bit 6 This bit is the complement of the Ring Indicator (nRI) input. If bit 4 of the MCR is set to logic "1", this bit is equivalent to OUT1 in the MCR. Bit 7 This bit is the complement of the Data Carrier Detect (nDCD) input. If bit 4 of the MCR is set to logic "1", this bit is equivalent to OUT2 in the MCR. 6.4.1.10 Scratchpad Register (SCR) Address Offset =7H, DLAB =X, READ/WRITE This 8 bit read/write register has no effect on the operation of the Serial Port. It is intended as a scratchpad register to be used by the programmer to hold data temporarily. 6.4.2 PROGRAMMABLE BAUD RATE GENERATOR (AND DIVISOR LATCHES DLH, DLL) The Serial Ports contains a programmable Baud Rate Generator that is capable of dividing the internal PLL clock by any divisor from 1 to 65535. The internal PLL clock is divided down to generate a 1.8462MHz frequency for Baud Rates less than 38.4k, a 1.8432MHz frequency for 115.2k, a 3.6864MHz frequency for 230.4k and a 7.3728MHz frequency for 460.8k. This output frequency of the Baud Rate Generator is 16x the Baud rate. Two 8 bit latches store the divisor in 16 bit binary format. These Divisor Latches must be loaded during initialization in order to insure desired operation of the Baud Rate Generator. Upon loading either of the Divisor Latches, a 16 bit Baud counter is immediately loaded. This prevents long counts on initial load. If a 0 is loaded into the BRG registers the output divides the clock by the number 3. If a 1 is loaded the output is the inverse of the input oscillator. If a two is loaded the output is a divide by 2 signal with a 50% duty cycle. If a 3 or greater is loaded the output is low for 2 bits and high for the remainder of the count. The input clock to the BRG is a 1.8462 MHz clock. Table 6-6 shows the baud rates possible. 6.4.3 EFFECT OF THE RESET ON REGISTER FILE The Reset Function (Table 6-7) details the effect of the Reset input on each of the registers of the Serial Port. 6.4.4 a) b) FIFO INTERRUPT MODE OPERATION When the RCVR FIFO and receiver interrupts are enabled (FCR bit 0 = "1", IER bit 0 = "1"), RCVR interrupts occur as follows: The receive data available interrupt will be issued when the FIFO has reached its programmed trigger level; it is cleared as soon as the FIFO drops below its programmed trigger level. 2016 Microchip Technology Inc. DS00002120A-page 29 SCH3221 c) The IIR receive data available indication also occurs when the FIFO trigger level is reached. It is cleared when the FIFO drops below the trigger level. The receiver line status interrupt (IIR=06H), has higher priority than the received data available (IIR=04H) interrupt. The data ready bit (LSR bit 0) is set as soon as a character is transferred from the shift register to the RCVR FIFO. It is reset when the FIFO is empty. d) e) When RCVR FIFO and receiver interrupts are enabled, RCVR FIFO timeout interrupts occur as follows: a) b) c) d) A FIFO timeout interrupt occurs if all the following conditions exist: At least one character is in the FIFO. The most recent serial character received was longer than 4 continuous character times ago. (If 2 stop bits are programmed, the second one is included in this time delay). The most recent CPU read of the FIFO was longer than 4 continuous character times ago. This will cause a maximum character received to interrupt issued delay of 160 msec at 300 BAUD with a 12 bit character. Character times are calculated by using the RCLK input for a clock signal (this makes the delay proportional to the baud rate. When a timeout interrupt has occurred it is cleared and the timer reset when the CPU reads one character from the RCVR FIFO. When a timeout interrupt has not occurred the timeout timer is reset after a new character is received or after the CPU reads the RCVR FIFO. When the XMIT FIFO and transmitter interrupts are enabled (FCR bit 0 = "1", IER bit 1 = "1"), XMIT interrupts occur as follows: a) b) The transmitter holding register interrupt (02H) occurs when the XMIT FIFO is empty; it is cleared as soon as the transmitter holding register is written to (1 of 16 characters may be written to the XMIT FIFO while servicing this interrupt) or the IIR is read. The transmitter FIFO empty indications will be delayed 1 character time minus the last stop bit time whenever the following occurs: THRE=1 and there have not been at least two bytes at the same time in the transmitter FIFO since the last THRE=1. The transmitter interrupt after changing FCR0 will be immediate, if it is enabled. Character timeout and RCVR FIFO trigger level interrupts have the same priority as the current received data available interrupt; XMIT FIFO empty has the same priority as the current transmitter holding register empty interrupt. 6.4.5 FIFO POLLED MODE OPERATION With FCR bit 0 = "1" resetting IER bits 0, 1, 2 or 3 or all to zero puts the UART in the FIFO Polled mode of operation. Since the RCVR and XMITTER are controlled separately, either one or both can be in the polled mode of operation. In this mode, the user's program will check RCVR and XMITTER status via the LSR. LSR definitions for the FIFO Polled Mode are as follows: Bit 0=1 as long as there is one byte in the RCVR FIFO. Bits 1 to 4 specify which error(s) have occurred. Character error status is handled the same way as when in the interrupt mode, the IIR is not affected since EIR bit 2=0. Bit 5 indicates when the XMIT FIFO is empty. Bit 6 indicates that both the XMIT FIFO and shift register are empty. Bit 7 indicates whether there are any errors in the RCVR FIFO. There is no trigger level reached or timeout condition indicated in the FIFO Polled Mode, however, the RCVR and XMIT FIFOs are still fully capable of holding characters. DS00002120A-page 30 2016 Microchip Technology Inc. SCH3221 TABLE 6-6: BAUD RATES Desired Baud Rate Divisor Used to Generate 16X Clock Percent Error Difference Between Desired and Actual (Note 6-6) High Speed Bit (Note 6-7) 50 2304 0.001 X 75 1536 - X 110 1047 - X 134.5 857 0.004 X 150 768 - X 300 384 - X 600 192 - X 1200 96 - X 1800 64 - X 2000 58 0.005 X 2400 48 - X 3600 32 - X 4800 24 - X 7200 16 - X 9600 12 - X 19200 6 - X 38400 3 0.030 X 57600 2 0.16 X 115200 1 0.16 X 230400 32770 0.16 1 460800 32769 0.16 Note 6-6 The percentage error for all baud rates, except where indicated otherwise, is 0.2%. Note 6-7 1 The High Speed bit is located in the Device Configuration Space. TABLE 6-7: RESET FUNCTION TABLE Register/Signal Reset Control Reset State Interrupt Enable Register RESET All bits low Interrupt Identification Reg. RESET Bit 0 is high; Bits 1 - 7 low FIFO Control RESET All bits low Line Control Reg. RESET All bits low MODEM Control Reg. RESET All bits low Line Status Reg. RESET All bits low except 5, 6 high MODEM Status Reg. RESET Bits 0 - 3 low; Bits 4 - 7 input TXD1, TXD2 RESET High INTRPT (RCVR errs) RESET/Read LSR Low INTRPT (RCVR Data Ready) RESET/Read RBR Low INTRPT (THRE) RESET/ReadIIR/Write THR Low OUT2B RESET High RTSB RESET High 2016 Microchip Technology Inc. DS00002120A-page 31 SCH3221 TABLE 6-7: RESET FUNCTION TABLE (CONTINUED) Register/Signal DTRB Reset Control RESET Reset State High OUT1B RESET High RCVR FIFO RESET/ FCR1*FCR0/_FCR0 All Bits Low XMIT FIFO RESET/ FCR1*FCR0/_FCR0 All Bits Low DS00002120A-page 32 2016 Microchip Technology Inc. REGISTER SUMMARY FOR AN INDIVIDUAL UART CHANNEL Register Address (Note 6-8) Register Name Register Symbol Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 2016 Microchip Technology Inc. ADDR = 0 DLAB = 0 Receive Buffer Register (Read Only) RBR Data Bit 0 (Note 6-9) Data Bit 1 Data Bit 2 Data Bit 3 Data Bit 4 Data Bit 5 Data Bit 6 Data Bit 7 ADDR = 0 DLAB = 0 Transmitter Holding Register (Write Only) THR Data Bit 0 Data Bit 1 Data Bit 2 Data Bit 3 Data Bit 4 Data Bit 5 Data Bit 6 Data Bit 7 ADDR = 1 DLAB = 0 Interrupt Enable Register IER Enable Received Data Available Interrupt (ERDAI) Enable Transmitter Holding Register Empty Interrupt (ETHREI) Enable Receiver Line Status Interrupt (ELSI) Enable MODEM Status Interrupt (EMSI) 0 0 0 0 ADDR = 2 Interrupt Ident. Register (Read Only) IIR "0" if Interrupt Pending Interrupt ID Bit Interrupt ID Bit Interrupt ID Bit (Note 613) 0 0 FIFOs Enabled (Note 6-13) FIFOs Enabled (Note 6-13) ADDR = 2 FIFO Control Register (Write Only) FCR (Note 6-15) FIFO Enable RCVR FIFO Reset XMIT FIFO Reset DMA Mode Select (Note 614) Reserve d Reserved RCVR Trigger LSB RCVR Trigger MSB ADDR = 3 Line Control Register LCR Word Length Select Bit 0 (WLS0) Word Length Select Bit 1 (WLS1) Number of Stop Bits (STB) Parity Enable (PEN) Even Parity Select (EPS) Stick Parity Set Break Divisor Latch Access Bit (DLAB) ADDR = 4 MODEM Control Register MCR Data Terminal Ready (DTR) Request to Send (RTS) OUT1 (Note 611) OUT2 Loop (Note 611Note 611 0 0 0 ADDR = 5 Line Status Register LSR Data Ready Overrun (DR) Error (OE) Parity Error (PE) Framing Break Error (FE) Interrupt (BI) Transmitter Holding Register (THRE) Transmitter Empty (TEMT) (Note 6-10) Error in RCVR FIFO (Note 6-13) ADDR = 6 MODEM Status Register MSR Delta Clear to Send (DCTS) Delta Data Set Ready (DDSR) Trailing Edge Ring Indicator (TERI) Delta Data Carrier Detect (DDCD) Data Set Ready (DSR) Ring Data Carrier Indicator (RI) Detect (DCD) Clear to Send (CTS) SCH3221 DS00002120A-page 33 TABLE 6-8: 2016 Microchip Technology Inc. TABLE 6-8: REGISTER SUMMARY FOR AN INDIVIDUAL UART CHANNEL (CONTINUED) Register Address (Note 6-8) Register Name Register Symbol Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 ADDR = 7 Scratch Register (Note 6-13) SCR Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 ADDR = 0 DLAB = 1 Divisor Latch (LS) DDL Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 ADDR = 1 DLAB = 1 Divisor Latch (MS) DLM Bit 8 Bit 9 Bit 10 Bit 11 Bit 12 Bit 13 Bit 14 Bit 15 Note 6-8 DLAB is Bit 7 of the Line Control Register (ADDR = 3). Note 6-9 Bit 0 is the least significant bit. It is the first bit serially transmitted or received. Note 6-10 When operating in the XT mode, this bit will be set any time that the transmitter shift register is empty. Note 6-11 This bit no longer has a pin associated with it. Note 6-12 When operating in the XT mode, this register is not available. Note 6-13 These bits are always zero in the non-FIFO mode. Note 6-14 Writing a one to this bit has no effect. DMA modes are not supported in this chip. Note 6-15 The UART1 and UART2 FCR’s are shadowed in the UART1 FIFO Control Shadow Register (CR15) and UART2 FIFO Control Shadow Register (CR16). SCH3221 DS00002120A-page 34 SCH3221 6.4.6 6.4.6.1 NOTES ON SERIAL PORT OPERATION FIFO Mode Operation General The RCVR FIFO will hold up to 16 bytes regardless of which trigger level is selected. 6.4.6.2 TX and RX FIFO Operation The Tx portion of the UART transmits data through TXD as soon as the CPU loads a byte into the Tx FIFO. The UART will prevent loads to the Tx FIFO if it currently holds 16 characters. Loading to the Tx FIFO will again be enabled as soon as the next character is transferred to the Tx shift register. These capabilities account for the largely autonomous operation of the Tx. The UART starts the above operations typically with a Tx interrupt. The chip issues a Tx interrupt whenever the Tx FIFO is empty and the Tx interrupt is enabled, except in the following instance. Assume that the Tx FIFO is empty and the CPU starts to load it. When the first byte enters the FIFO the Tx FIFO empty interrupt will transition from active to inactive. Depending on the execution speed of the service routine software, the UART may be able to transfer this byte from the FIFO to the shift register before the CPU loads another byte. If this happens, the Tx FIFO will be empty again and typically the UART's interrupt line would transition to the active state. This could cause a system with an interrupt control unit to record a Tx FIFO empty condition, even though the CPU is currently servicing that interrupt. Therefore, after the first byte has been loaded into the FIFO the UART will wait one serial character transmission time before issuing a new Tx FIFO empty interrupt. This one character Tx interrupt delay will remain active until at least two bytes have been loaded into the FIFO, concurrently. When the Tx FIFO empties after this condition, the Tx interrupt will be activated without a one character delay. Rx support functions and operation are quite different from those described for the transmitter. The Rx FIFO receives data until the number of bytes in the FIFO equals the selected interrupt trigger level. At that time if Rx interrupts are enabled, the UART will issue an interrupt to the CPU. The Rx FIFO will continue to store bytes until it holds 16 of them. It will not accept any more data when it is full. Any more data entering the Rx shift register will set the Overrun Error flag. Normally, the FIFO depth and the programmable trigger levels will give the CPU ample time to empty the Rx FIFO before an overrun occurs. One side-effect of having a Rx FIFO is that the selected interrupt trigger level may be above the data level in the FIFO. This could occur when data at the end of the block contains fewer bytes than the trigger level. No interrupt would be issued to the CPU and the data would remain in the UART. To prevent the software from having to check for this situation the chip incorporates a timeout interrupt. The timeout interrupt is activated when there is a least one byte in the Rx FIFO, and neither the CPU nor the Rx shift register has accessed the Rx FIFO within 4 character times of the last byte. The timeout interrupt is cleared or reset when the CPU reads the Rx FIFO or another character enters it. These FIFO related features allow optimization of CPU/UART transactions and are especially useful given the higher baud rate capability (256 kbaud). 6.5 Infrared Interface The SCH3221 infrared interface provides a two-way wireless communications port using infrared as the transmission medium. Several infrared protocols have been provided in this implementation including IrDA v1.2 (SIR/FIR), ASKIR, and Consumer IR (Figure 6-2). For more information, consult the Infrared Communication Controller (IRCC) specification. The IrDA v1.0 (SIR) and ASKIR formats are driven by the ACE registers found in UART2. The UART2 registers are described in “Serial Port (UART)” section. The base address for UART2 is programmed in CR25, the UART2 Base Address Register (see CR25 subsection in the Configuration section). The IrDA V1.2 (FIR) and Consumer IR formats are driven by the SCE registers. Descriptions of these registers can be found in the Infrared Communications Controller Specification. The Base Address for the SCE registers is programmed in CR2B, the SCE Base Address Register (see CR28 subsection in the Configuration section). 6.5.1 IRDA SIR/FIR AND ASKIR IrDA SIR (v1.0) specifies asynchronous serial communication at baud rates up to 115.2Kbps. Each byte is sent serially LSB first beginning with a zero value start bit. A zero is signaled by sending a single infrared pulse at the beginning of the serial bit time. A one is signaled by the absence of an infrared pulse during the bit time. Please refer to “Timing Diagrams” section for the parameters of these pulses and the IrDA waveforms. 2016 Microchip Technology Inc. DS00002120A-page 35 SCH3221 IrDA FIR (v1.2) includes IrDA v1.0 SIR and additionally specifies synchronous serial communications at data rates up to 4Mbps. Data is transferred LSB first in packets that can be up to 2048 bits in length. IrDA v1.2 includes 576Mbps and 1.152Mbps data rates using an encoding scheme that is similar to SIR. The 4Mbps data rate uses a pulse position modulation (PPM) technique. The ASKIR infrared allows asynchronous serial communication at baud rates up to 19.2Kbps. Each byte is sent serially LSB first beginning with a zero value start bit. A zero is signaled by sending a 500KHz carrier waveform for the duration of the serial bit time. A one is signaled by the absence of carrier during the bit time. Refer to “Timing Diagrams” section for the parameters of the ASKIR waveforms. 6.5.2 CONSUMER IR The SCH3221 Consumer IR interface is a general-purpose Amplitude Shift Keyed encoder/decoder with programmable carrier and bit-cell rates that can emulate many popular TV Remote encoding formats; including, 38KHz PPM, PWM and RC-5. The carrier frequency is programmable from 1.6MHz to 6.25KHz. The bit-cell rate range is 100KHz to 390Hz. 6.5.3 HARDWARE INTERFACE The SCH3221 IR hardware interface is shown in Figure 6-2. This interface supports two types of external FIR transceiver modules. One uses a mode pin (IR Mode) to program the data rate, while the other has a second Rx data pin (IRRX3). These functions are selected through CR29 as shown in Table 6-9. TABLE 6-9: FIR TRANSCEIVER MODULE-TYPE SELECT HP Mode (Note 6-16) Function 0 IR Mode 1 IRRX3 Note 6-16 HPMODE is CR29, BIT 4 (see CR29 subsection in the Configuration section). Refer to the Infrared Interface Block Diagram on the following page for HPMODE implementation. The FAST bit is used to select between the SIR mode and FIR mode receiver, regardless of the transceiver type. If FAST = 1, the FIR mode receiver is selected; if FAST = 0, the SIR mode receiver is selected (Table 6-10, "IR Rx Data Pin Selection"). TABLE 6-10: IR RX DATA PIN SELECTION Control Signal 6.5.4 Inputs Fast HP Mode RX1 RX2 0 X RX1=RXD2 RX2=IRRX2 X 0 RX1=RXD2 RX2=IRRX2 1 1 RX1=IR Mode/IRRX3 RX2=IR Mode/IRRX3 IR HALF DUPLEX TURNAROUND DELAY TIME If the Half Duplex option is chosen there is an IR Half Duplex Time-out that constrains IRCC direction mode changes. This time-out starts as each bit is transferred and prevents direction mode changes until the time-out expires. The timer is restarted whenever new data arrives in the current direction mode. For example, if data is loaded into the transmit buffer while a character is being received, the transmission will not start until the last bit has been received and the timeout expires. If the start bit of another character is received during this time-out, the timer is restarted after the new character is received. The Half Duplex Time-out is programmable from 0 to 25.5ms in 100 s increments. (See subsection CR2D in the Configuration section.) DS00002120A-page 36 2016 Microchip Technology Inc. SCH3221 FIGURE 6-2: INFRARED INTERFACE BLOCK DIAGRAM IrCC Block TX1 RAW TXD2 0 COM RX1 1 TV ASK RXD2 1 TX2 OUT MUX 1 IR RX2 2 IrDA IRTX2 0 IRRX2 TX3 FIR AUX RX3 COM G.P. Data Fast Bit IR MODE IR Mode /IRRX3 FAST HPMODE 6.5.5 IR TRANSMIT PINS The IR transmit signal may be brought out onto the GP53/TXD2/IRTX pin or the GP21/IRTX2/WDT pin. These pins, which are not powered by VTR, function as described below. The following defines the acceptable states for the GP53/TXD2/IRTX output pin following a VCC POR or Hard Reset. • If VCC=0V the GP53/TXD2/IRTX pin will be tristate. • If VCC>2.4V and TXD2/IRTX functions are selected the following states are possible. - If UART2 Power bit = 0 OR bits[7:6] IR Output Mux EQUAL ‘11’ at offset CR0A the output will be tristate - If UART2 Power bit = 1 AND bits[7:6] IR Output Mux EQUAL ‘00’ at offset CR0A AND the transmit buffer is empty the output will be set to the inactive state. - If UART2 Power bit = 1 AND bits[7:6] IR Output Mux EQUAL ‘00’ at offset CR0A AND the transmit buffer has data and is ready to transmit the output will reflect the state of the data being transmitted. - If UART2 Power bit = 1 AND bits[7:6] IR Output Mux EQUAL ‘01’ at offset CR0A the output will be low. • If VCC>2.4V and GP53 function is selected the pin will reflect the current state of GP53. The following defines the acceptable states for the GP21/IRTX2/WDT output pin following a VCC POR or Hard Reset. • If VCC=0V the GP21/IRTX2/WDT pin will be tristate. • If VCC>2.4V and IRTX2 function is selected the following states are possible. - If bits[7:6] IR Output Mux EQUAL ‘11’ at offset CR0A the output will be tristate - If UART2 Power bit = 0 AND bits[7:6] IR Output Mux NOT EQUAL ‘11’ at offset CR0A the output will be low. - If UART2 Power bit = 1 AND bits[7:6] IR Output Mux EQUAL ‘01’ at offset CR0A AND the transmit buffer is empty the output will be set to the inactive state. - If UART2 Power bit = 1 AND bits[7:6] IR Output Mux EQUAL ‘01’ at offset CR0A AND the transmit buffer has data and is ready to transmit the output will reflect the state of the data being transmitted. - If UART2 Power bit=1 AND bits[7:6] IR Output Mux EQUAL ‘00’ the output will be low. • If VCC>2.4V and GP21 function is selected the pin will reflect the current state of GP21. • If VCC>2.4 and WDT function is selected the pin will reflect the current state of the WDT. Note: The inactive state for GP53/TXD2/IRTX pin or GP21/IRTX2/WDT pin is determined by a combination of the mode selected and the function enabled on the pin. If the TXD2/IRTX or IRTX2 functions are enabled the inactive state is determined by the IR Output Mux bits located in CR0A IR MUX register and the UART Mode register located at CR0C. 2016 Microchip Technology Inc. DS00002120A-page 37 SCH3221 6.6 Watchdog Timer The SCH3221's Watchdog Timer (WDT) has a programmable time-out ranging from 1 to 255 minutes with one minute resolution, or 1 to 255 seconds with 1 second resolution. The units of the WDT timeout value are selected via bit[7] of the WDT_TIMEOUT register (Runtime Register at offset 0x11). The WDT time-out value is set through the WDT_VAL Runtime register. Setting the WDT_VAL register to 0x00 disables the WDT function (this is its power on default). Setting the WDT_VAL to any other non-zero value will cause the WDT to reload and begin counting down from the value loaded. When the WDT count value reaches zero the counter stops and sets the Watchdog time-out status bit in the WDT_CTRL Runtime register. Note: Regardless of the current state of the WDT, the WDT time-out status bit can be directly set or cleared by the Host CPU. The Watchdog Timer may be configured to generate an interrupt on the rising edge of the Time-out status bit. This interrupt can be used to generate an IO_PME#, an IO_SMI#, a signal on the WDT output pin, or it may be mapped onto the Serial IRQ stream. The following list describes the registers used to enable these events. Note: • The WDT, PME, and SMI registers are located in the Runtime Register block. • The WDT defaults to generating an active high signal. The polarity of this output may be inverted to generate an active low signal through bit[1] GP21 located in GPIO Polarity Register 2 at offset CR34. Four methods of enabling Watchdog Timer interrupt events: 1. 2. 3. 4. The WDT can generate an IO_PME#. If a watchdog timer event occurs the WDT status bit in the PME_STS2 register at offset 0x03 will be set. If bit[0] PME_En in the PME_En registers at offset 0x01 is set to ‘1’ and bit[7] WDT in the PME_EN2 register at offset 0x06 is set to ‘1’ an interrupt will be generated on the IO_PME# pin. The WDT can generate an IO_SMI#. If a watchdog timer event occurs the WDT status bit in the SMI_STS3 register at offset 0x18 will be set. If bits[5:4] GP12 Alternate Function Select in the GPIO Alternate Function Select Register 1 at offset CR44 are set to ‘01’ and bit[0]EN_WDT in the SMI_EN3 at offset 0x19 is set to ‘1’ an interrupt will be generated on the IO_SMI# pin. The WDT can generate a signal on the GP21/IRTX2/WDT pin. If a watchdog timer event occurs and bits[3:2] GP21 Alternate Function Select in the GPIO Alternate Function Select Register 3 at offset CR46 are set to ‘10’ an interrupt will be generated on the WDT pin. The WDT can generate an interrupt on the Serial IRQ stream. If a watchdog timer event occurs and bits[7:4] WDT Interrupt Mapping located in the WDT_CFG register at offset 0x13 are programmed to a value other than ‘0000’ an interrupt will be generated on the SER_IRQ output pin. See Section 6.9, "Serial IRQ," on page 39 for a description of generating interrupts on the SER_IRQ pin. The host may force a Watchdog time-out to occur by writing a "1" to bit 2 of the WDT_CTRL (Force WD Time-out) Runtime register. Writing a "1" to this bit forces the WDT count value to zero and sets bit 0 of the WDT_CTRL (Watchdog Status). Bit 2 of the WDT_CTRL is self-clearing. See Section 7.0, "Runtime Registers," on page 52 for description of these registers. 6.7 LED Functionality The SCH3221 provides LED functionality on two pins: • GP13/IRQIN1/LED1 • GP23/LED2/IRQIN2 The LED logic and supporting registers are powered by VTR. The LED1 pin is powered by VCC and the LED2 pin is powered by VTR. These pins can be configured to turn an LED on and off and blink independent of each other through the LED1 and LED2 runtime registers at offset 0x15 and 0x16, when the device is powered by VCC. See Section 7.0, "Runtime Registers" for a description of these registers. The LED2 pin (GP23) is capable of controlling an LED while the device is under VTR power with VCC removed. In order to control an LED while the part is under VTR power, the GPIO pin must have been configured for the LED2 function while the device was powered by VCC. DS00002120A-page 38 2016 Microchip Technology Inc. SCH3221 Note: • The LED2 pin will not support the blink function under VTR power (VCC removed) if an external 32kHz clock source is not connected. • LED1 and LED2 may be configured for either open drain or push-pull buffer type. In the case of open-drain buffer type, the pin is capable of sinking current to control the LED. In the case of push-pull buffer type the part will source current. 6.8 Power Management Power management capabilities are provided for UARTs 1--4. For each of these logical devices, two types of power management are provided: direct powerdown and auto powerdown. 6.8.1 UART POWER MANAGEMENT Direct power management is controlled by CR02. Refer to the Configuration section for more information. Auto Power Management may be enabled by the UART1, UART2, UART3, or UART4 enable bits in CR07. When set, these bits allow the following auto power management operations: 1. 2. The transmitter enters auto powerdown when the transmit buffer and shift register are empty. The receiver enters powerdown when the following conditions are all met: a) Receive FIFO is empty. b) The receiver is waiting for a start bit. Note: While in powerdown the Ring Indicator interrupt is still valid and transitions when the RI input changes. 6.8.1.1 Exit Auto Powerdown The transmitter exits powerdown on a write to the XMIT buffer. The receiver exits auto powerdown when RXDx changes state. 6.9 Serial IRQ The SCH3221 supports the serial interrupt to transmit interrupt information to the host system. The serial interrupt scheme adheres to the Serial IRQ Specification for PCI Systems, Version 6.0. The PCI_CLK, SER_IRQ and nCLKRUN pins are used for this interface. The Serial IRQ/CLKRUN Enable bit D7 in CR29 activates the serial interrupt interface. 6.9.1 a) TIMING DIAGRAMS FOR SER_IRQ CYCLE Start Frame timing with source sampled a low pulse on IRQ1. SL or H START FRAME H R IRQ0 FRAME IRQ1 FRAME IRQ2 FRAME T S R T S R T S R T PCI_CLK START SER_IRQ Drive Source Note: IRQ Host Controller None IRQ1 None H=Host Control; R=Recovery; T=Turn-Around; SL=Slave Control; S=Sample Note 6-17 Start Frame pulse can be 4-8 clocks wide depending on the location of the device in the PCI bridge hierarchy in a synchronous bridge design. 2016 Microchip Technology Inc. DS00002120A-page 39 SCH3221 b) Stop Frame Timing with Host using 17 SER_IRQ sampling period. IRQ14 FRAME S R T IRQ15 FRAME S R T IOCHCK# FRAME S R T STOP FRAME I H R NEXT CYCLE T PCI_CLK STOP SER_IRQ Driver Note: None IRQ15 None START Host Controller H=Host Control; R=Recovery; T=Turn-Around; S=Sample; I=Idle Note 6-18 Stop pulse is 2 clocks wide for Quiet mode, 3 clocks wide for Continuous mode. Note 6-19 There may be none, one or more Idle states during the Stop Frame. Note 6-20 The next SER_IRQ cycle’s Start Frame pulse may or may not start immediately after the turn-around clock of the Stop Frame. 6.9.1.1 SER_IRQ Cycle Control There are two modes of operation for the SER_IRQ Start Frame. 1. Quiet (Active) Mode: Any device may initiate a Start Frame by driving the SER_IRQ low for one clock, while the SER_IRQ is Idle. After driving low for one clock the SER_IRQ is immediately tri-stated without at any time driving high. A Start Frame may not be initiated while the SER_IRQ is Active. The SER_IRQ is Idle between Stop and Start Frames. The SER_IRQ is Active between Start and Stop Frames. This mode of operation allows the SER_IRQ to be Idle when there are no IRQ/Data transitions which should be most of the time. Once a Start Frame has been initiated the Host Controller will take over driving the SER_IRQ low in the next clock and will continue driving the SER_IRQ low for a programmable period of three to seven clocks. This makes a total low pulse width of four to eight clocks. Finally, the Host Controller will drive the SER_IRQ back high for one clock, then tri-state. Any SER_IRQ Device (i.e., The SCH3221) which detects any transition on an IRQ/Data line for which it is responsible must initiate a Start Frame in order to update the Host Controller unless the SER_IRQ is already in an SER_IRQ Cycle and the IRQ/Data transition can be delivered in that SER_IRQ Cycle. 2. Continuous (Idle) Mode: Only the Host controller can initiate a Start Frame to update IRQ/Data line information. All other SER_IRQ agents become passive and may not initiate a Start Frame. SER_IRQ will be driven low for four to eight clocks by Host Controller. This mode has two functions. It can be used to stop or idle the SER_IRQ or the Host Controller can operate SER_IRQ in a continuous mode by initiating a Start Frame at the end of every Stop Frame. An SER_IRQ mode transition can only occur during the Stop Frame. Upon reset, SER_IRQ bus is defaulted to Continuous mode, therefore only the Host controller can initiate the first Start Frame. Slaves must continuously sample the Stop Frames pulse width to determine the next SER_IRQ Cycle’s mode. 6.9.1.2 SER_IRQ Data Frame Once a Start Frame has been initiated, the SCH3221 will watch for the rising edge of the Start Pulse and start counting IRQ/Data Frames from there. Each IRQ/Data Frame is three clocks: Sample phase, Recovery phase, and Turn-around phase. During the Sample phase the SCH3221 drives the SER_IRQ low, if and only if, its last detected IRQ/Data value was low. If its detected IRQ/Data value is high, SER_IRQ is left tri-stated. During the Recovery phase the SCH3221 DS00002120A-page 40 2016 Microchip Technology Inc. SCH3221 drives the SER_IRQ high, if and only if, it had driven the SER_IRQ low during the previous Sample Phase. During the Turn-around Phase the SCH3221 tri-states the SER_IRQ. The SCH3221 will drive the SER_IRQ line low at the appropriate sample point if its associated IRQ/Data line is low, regardless of which device initiated the Start Frame. The Sample Phase for each IRQ/Data follows the low to high transition of the Start Frame pulse by a number of clocks equal to the IRQ/Data Frame times three, minus one. (e.g. The IRQ5 Sample clock is the sixth IRQ/Data Frame, (6 x 3) - 1 = 17th clock after the rising edge of the Start Pulse). TABLE 6-11: SER_IRQ SAMPLING PERIODS SER_IRQ Period Signal Sampled # of Clocks Past Start 1 Not Used 2 2 IRQ1 5 3 IO_SMI#/IRQ2 8 4 IRQ3 11 5 IRQ4 14 6 IRQ5 17 7 IRQ6 20 8 IRQ7 23 9 IRQ8 26 10 IRQ9 29 11 IRQ10 32 12 IRQ11 35 13 IRQ12 38 14 IRQ13 41 15 IRQ14 44 16 IRQ15 47 The SER_IRQ data frame supports IRQ2 from a logical device on Period 3, which can be used for the System Management Interrupt (nSMI). When using Period 3 for IRQ2 the user should mask off the SMI via the SMI Enable Register. Likewise, when using Period 3 for nSMI the user should not configure any logical devices as using IRQ2. SER_IRQ Period 14 is used to transfer IRQ13. Logical devices Serial Port 1, Serial Port 2, Serial Port 3, Serial Port 4, and WDT have IRQ13 as a choice for their primary interrupt. The SMI is enabled onto the SMI frame of the Serial IRQ via bit 6 of SMI Enable Register 2 and onto the IO_SMI# pin via bit 7 of the SMI Enable Register 2. The following devices may be mapped into the Serial IRQ stream. • • • • • Serial Port 1 Serial Port 2 Serial Port 3 Serial Port 4 WDT 6.9.1.3 Stop Cycle Control Once all IRQ/Data Frames have completed the Host Controller will terminate SER_IRQ activity by initiating a Stop Frame. Only the Host Controller can initiate the Stop Frame. A Stop Frame is indicated when the SER_IRQ is low for two or three clocks. If the Stop Frame’s low time is two clocks then the next SER_IRQ Cycle’s sampled mode is the Quiet mode; and any SER_IRQ device may initiate a Start Frame in the second clock or more after the rising edge of the Stop Frame’s pulse. If the Stop Frame’s low time is three clocks then the next SER_IRQ Cycle’s sampled mode is the Continuous mode; and only the Host Controller may initiate a Start Frame in the second clock or more after the rising edge of the Stop Frame’s pulse. 2016 Microchip Technology Inc. DS00002120A-page 41 SCH3221 6.9.1.4 Latency Latency for IRQ/Data updates over the SER_IRQ bus in bridge-less systems with the minimum Host supported IRQ/ Data Frames of seventeen, will range up to 96 clocks (3.84S with a 25MHz PCI Bus or 2.88uS with a 33MHz PCI Bus). If one or more PCI to PCI Bridge is added to a system, the latency for IRQ/Data updates from the secondary or tertiary buses will be a few clocks longer for synchronous buses, and approximately double for asynchronous buses. 6.9.1.5 EOI/ISR Read Latency Any serialized IRQ scheme has a potential implementation issue related to IRQ latency. IRQ latency could cause an EOI or ISR Read to precede an IRQ transition that it should have followed. This could cause a system fault. The host interrupt controller is responsible for ensuring that these latency issues are mitigated. The recommended solution is to delay EOIs and ISR Reads to the interrupt controller by the same amount as the SER_IRQ Cycle latency in order to ensure that these events do not occur out of order. 6.9.1.6 AC/DC Specification Issue All SER_IRQ agents must drive / sample SER_IRQ synchronously related to the rising edge of PCI bus clock. The SER_IRQ pin uses the electrical specification of PCI bus. Electrical parameters will follow PCI spec. section 4, sustained tri-state. 6.9.1.7 Reset and Initialization The SER_IRQ bus uses PCI_RESET# as its reset signal. The SER_IRQ pin is tri-stated by all agents while PCI_RESET# is active. With reset, SER_IRQ Slaves are put into the (continuous) IDLE mode. The Host Controller is responsible for starting the initial SER_IRQ Cycle to collect system’s IRQ/Data default values. The system then follows with the Continuous/Quiet mode protocol (Stop Frame pulse width) for subsequent SER_IRQ Cycles. It is Host Controller’s responsibility to provide the default values to 8259’s and other system logic before the first SER_IRQ Cycle is performed. For SER_IRQ system suspend, insertion, or removal application, the Host controller should be programmed into Continuous (IDLE) mode first. This is to ensure SER_IRQ bus is in IDLE state before the system configuration changes. 6.9.2 ROUTABLE IRQ INPUTS The routable IRQ input (IRQINx) functions are on the pins GP13/IRQIN1/LED1, GP23/nLED2/IRQIN2 and GP20/ IRRX2/IRQIN3. The IRQINx pin’s IRQ time slot in the Serial IRQ stream is selected via a 4-bit control register for each IRQIN function (CR29 for IRQIN1, CR2A for IRQIN2 and IRQIN3). A value of 0000 disables the IRQ function. Note: In order to use an IRQ for one of the IRQINx inputs that are muxed on the GPIO pins, the corresponding IRQ must not be used for any of the devices in the SCH3221. Otherwise contention may occur. IRQIN1, IRQIN2, and IRQIN3 are capable of generating PME wake events. If an IRQINx pin generates an event, the associated PME Wake Status bit will be set to ‘1’. The following is a list of the PME status and enable bits associated with the IRQINx pins. • IRQIN1 will generate an event on bit[3] GP13 of the PME_STS1 register at offset 0x02. If bit[3] GP13 of the PME_EN1 register at offset 0x05 is set to ‘1’ and the PME_EN bit is set to ‘1’ in the PME_EN register offset 0x01 the IO_PME# pin will be asserted. • IRQIN2 will generate an event on bit[5] GP23 of the PME_STS2 register at offset 0x03. If bit[5] GP23 of the PME_EN2 register at offset 0x06 is set to ‘1’ and the PME_EN bit is set to ‘1’ in the PME_EN register offset 0x01 the IO_PME# pin will be asserted. • IRQIN3 will generate an event on bit[2] GP20 of the PME_STS2 register at offset 0x03. If bit[2] GP20 of the PME_EN2 register at offset 0x06 is set to ‘1’ and the PME_EN bit is set to ‘1’ in the PME_EN register offset 0x01 the IO_PME# pin will be asserted. IRQIN1 and IRQIN2 are capable of generating SMI events. If an IRQINx pin generates an event, the associated SMI Status bit will be set to ‘1’. The following is a list of the SMI status and enable bits associated with the IRQINx pins. • IRQIN1 will generate an event on bit[3] GP13 of the SMI_STS1 register at offset 0x08. If bit[3] GP13 of the SMI_EN1 register at offset 0x0A is set to ‘1’ the IO_SMI# pin will be asserted. • IRQIN2 will generate an event on bit[4] GP23 of the SMI_STS2 register at offset 0x09. If bit[4] GP23 of the SMI_EN2 register at offset 0x0B is set to ‘1’ the IO_SMI# pin will be asserted. Note: IRQIN3 is not capable of generating an SMI event. The edge is programmable through the polarity bit of the GPIO control register. DS00002120A-page 42 2016 Microchip Technology Inc. SCH3221 APPLICATION NOTE: If GPIO function is selected on GP13/IRQIN1, GP23/nLED2/IRQIN2, or GP20/IRRX2/IRQIN3 pins and if IRQ is selected using the routing registers (CR29 for IRQIN1 and CR2A for IRQIN2 and IRQIN3), IRQs will be generated on the Serial IRQ stream. The state of the GPIO pins will be reflected on the serial IRQ stream. The IRQ selection bits should be ‘0000’ in the IRQ routing registers when GPIO functions are used. These IRQ selection bits default to ‘0000’ on VCC POR. 6.10 6.10.1 PCI CLKRUN Support OVERVIEW The SCH3221 supports the PCI CLKRUN# signal. CLKRUN# is used to indicate the PCI clock status as well as to request that a stopped clock be started. The SCH3221 CLKRUN# signal is on pin number 28. See Figure 6-3 for an example of a typical system implementation using CLKRUN#. If the SCH3221 SIRQ_CLKRUN_EN signal is disabled, it will disable the CLKRUN# support related to LDRQ# in addition to disabling the SER_IRQ and the CLKRUN# associated with SER_IRQ. CLKRUN# is an open drain output and an input. Refer to the PCI Mobile Design Guide Rev 1.0 for a description of the CLKRUN# function. 6.10.2 CLKRUN# FOR SERIAL IRQ The SCH3221 supports the PCI CLKRUN# signal for the Serial IRQs. If an SIO interrupt occurs while the PCI clock is stopped, CLKRUN# is asserted before the serial interrupt signal is driven active. See Section 6.10.4, "Using CLKRUN#" below for more details. 6.10.3 CLKRUN# FOR LDRQ# CLKRUN# support is also provided in the SCH3221 for the LDRQ# signal. If a device requests DMA service while the PCI clock is stopped, CLKRUN# is asserted to restart the PCI clock. This is required to drive the LDRQ# signal active. See Section 6.10.4 below for more details. 6.10.4 USING CLKRUN# If CLKRUN# is sampled “high”, the PCI clock is stopped or stopping. If CLKRUN# is sampled “low”, the PCI clock is starting or started (running). If a device in the SCH3221 asserts or de-asserts an interrupt or asserts a DMA request, and CLKRUN# is sampled “high”, the SCH3221 requests the restoration of the clock by asserting the CLKRUN# signal asynchronously (Table 6-12). The SCH3221 holds CLKRUN# low until it detects two rising edges of the clock. After the second clock edge, the SCH3221 disables the open drain driver (Figure 6-4). The SCH3221 will not assert CLKRUN# under any conditions if SIRQ_CLKRUN_EN is inactive (“0”). The SIRQ_CLKRUN_EN bit is D7 in CR29. The SCH3221 will not assert CLKRUN# if it is already driven low by the central resource; i.e., the PCI CLOCK GENERATOR in Figure 6-3. The SCH3221 will not assert CLKRUN# unless the line has been deasserted for two successive clocks; i.e., before the clock was stopped (Figure 6-4). TABLE 6-12: SCH3221 CLKRUN# FUNCTION SIRQ_CLKRUN_EN Internal Interrupts/ DMA Requests 0 X X None NO CHANGE X None CHANGE/ASSERTION (Note 6-21) 0 None 1 Assert CLKRUN# (Note 6-22) 1 CLKRUN# Action Note 6-21 “Change/Assertion” means either-edge change on any internal IRQs routed to the SIRQ block or assertion of an internal DMA request by a device in SCH3221. The “assertion” detection logic runs asynchronously to the PCI Clock and regardless of the Serial IRQ mode; i.e., “continuous” or “quiet”. Note 6-22 The CLKRUN# signal is ‘1’ for at least two consecutive clocks before SCH3221 asserts (‘0’) it. 2016 Microchip Technology Inc. DS00002120A-page 43 SCH3221 FIGURE 6-3: CLKRUN# SYSTEM IMPLEMENTATION EXAMPLE BUS TO DEVICES TARGET(S) ASSOCIATED WITH HOST CHIPSET MASTER PCI_CLK PCI CLOCK GENERATOR (Central Resource) CLKRUN# FIGURE 6-4: CLOCK START ILLUSTRATION CLKRUN# DRIVEN BY DEVICE SIRQ_CLKRUN_EN ANY IRQ CHANGE/ DRQ ASSERTION DEVICE STOPS DRIVING CLKRUN# CLKRUN# PCI_CLK 2 CLKS MIN. Note 6-23 The signal “ANY IRQ CHANGE/DRQ ASSERTION” is the same as “CHANGE/ASSERTION” in Table 6-12, "SCH3221 CLKRUN# Function". Note 6-24 The SCH3221 continually monitors the state of CLKRUN# to maintain the PCI Clock until an active “ANY IRQ CHANGE/DRQ ASSERTION” condition has been transferred to the host in a SER_IRQ/ DMA cycle. For example, if “ANY IRQ CHANGE/DRQ ASSERTION” is asserted before CLKRUN# is de-asserted (not shown in Figure 6-4), the SCH3221 must assert CLKRUN# as needed until the SER_IRQ/DMA cycle has completed. DS00002120A-page 44 2016 Microchip Technology Inc. SCH3221 6.11 General Purpose I/O The SCH3221 provides a set of flexible Input/Output control functions to the system designer through the 33 independently programmable General Purpose I/O pins (GPIO). The GPIO pins can perform basic I/O and many of them can be individually enabled to generate an SMI and a PME. 6.11.1 GPIO PINS The following pins include GPIO functionality as defined in the table below. TABLE 6-13: GPIO PIN FUNCTIONALITY Name Power Well Default on VTR POR Default on VCC POR GPIO PME/SMI Function GP11 VCC (Note 6-25) GPIO Input Programmable PME/SMI GP23/LED2/IRQIN2 VTR (Note 6-25) GPIO Input Programmable PME/SMI GP30/nRI3 VCC (Note 6-25, Note 6-26) GPIO Input Programmable PME GP31/nDCD3 VCC (Note 6-25) GPIO Input Programmable PME GP32/nRXD3 VCC (Note 6-25) GPIO Input Programmable PME GP33/nTXD3 VCC (Note 6-25) GPIO Input Programmable PME GP34/nDSR3 VCC (Note 6-25) GPIO Input Programmable PME GP35/nRTS3 VCC (Note 6-25) GPIO Input Programmable PME GP36/nCTS3 VCC (Note 6-25) GPIO Input Programmable PME GP37/nDTR3 VCC (Note 6-25) GPIO Input Programmable PME GP40/nRI4 VCC (Note 6-26) GPIO Input Programmable PME GP41/nDCD4 VCC GPIO Input Programmable - GP42/nRXD4 VCC GPIO Input Programmable - GP43/nTXD4 VCC GPIO Input Programmable - GP44/nDSR4 VCC GPIO Input Programmable - GP45/nRTS4 VCC GPIO Input Programmable - GP46/nCTS4 VCC GPIO Input Programmable - GP47/nDTR4 VCC GPIO Input Programmable - GP12/IO_SMI# VCC (Note 6-25) GPIO Input Programmable IO_SMI#/ PME/SMI GP13/IRQIN1/LED1 VCC (Note 6-25) GPIO Input Programmable PME/SMI GP16 VCC (Note 6-25) Floating nonGPIO Output Programmable PME/SMI GP17 VCC (Note 6-25) Floating nonGPIO Output Programmable PME/SMI GP20/IRRX2/IRQIN3 VCC (Note 6-25) GPIO Input Programmable PME GP21/IRTX2/WDT VCC (Note 6-25) GPIO Input Programmable PME GP22/IRMODE/IRRX3 VCC (Note 6-25) GPIO Input Programmable PME GP50/nRI2 VCC (Note 6-26) GPIO Input Programmable PME GP51/nDCD2 VCC GPIO Input Programmable - GP52/RXD2/IRRX VCC GPIO Input Programmable - GP53/TXD2/IRTX VCC GPIO Input Programmable - GP54/nDSR2 VCC GPIO Input Programmable - GP55/nRTS2 VCC GPIO Input Programmable - 2016 Microchip Technology Inc. DS00002120A-page 45 SCH3221 TABLE 6-13: GPIO PIN FUNCTIONALITY (CONTINUED) Name Power Well Default on VTR POR Default on VCC POR GPIO PME/SMI Function GP56/nCTS2 VCC GPIO Input Programmable - GP57/nDTR2 VCC GPIO Input Programmable - Note 6-25 These pins have input buffers into the wakeup logic that are powered by VTR. Note 6-26 This pin has an input buffer into the wakeup logic that are powered by VTR to support the nRI function. 6.11.2 DESCRIPTION Each GPIO port has a 1-bit data register. GPIOs are controlled by GPIO control registers located in the Configuration section. The data register for each GPIO port is represented as a bit in one of the 8-bit GPIO DATA Registers, GP1 to GP5. The bits in these registers reflect the value of the associated GPIO pin as follows. Pin is an input: The bit is the value of the GPIO pin. Pin is an output: The value written to the bit goes to the GPIO pin. Latched on read and write. The GPIO data registers are located in the Runtime Register block; see the Runtime Registers section. The GPIO ports with their alternate functions and configuration state register addresses are listed in Table 6-14. TABLE 6-14: Default Function GENERAL PURPOSE I/O PORT ASSIGNMENTS ALT. FUNC. 1 ALT. FUNC. 2 Reserved ALT. FUNC. 3 Data Register (Note 6-27) Data Register Bit No. Register Offset (HEX) GP1 0 0C GPIO 1 GPIO IO_SMI# GPIO IRQIN1 2 nLED1 3 Reserved 4 Reserved 5 Reserved GPIO 6 Reserved GPIO 7 GPIO IRRX2 IRQIN3 GPIO IRTX2 WDT 1 GPIO IRMODE IRRX3 2 GPIO nLED2 IRQIN2 3 GP2 0 Reserved 4 Reserved 5 Reserved 6 Reserved 7 GPIO nRI3 GPIO nDCD3 1 GPIO nRXD3 2 GPIO nTXD3 3 GPIO nDSR3 4 GPIO nRTS3 5 GPIO nCTS3 6 GPIO nDTR3 7 DS00002120A-page 46 GP3 0 0D 0E 2016 Microchip Technology Inc. SCH3221 TABLE 6-14: GENERAL PURPOSE I/O PORT ASSIGNMENTS (CONTINUED) Register Offset (HEX) GP4 0 0F GPIO nRI4 GPIO nDCD4 1 GPIO nRXD4 2 GPIO nTXD4 3 GPIO nDSR4 4 GPIO nRTS4 5 GPIO nCTS4 6 GPIO nDTR4 GPIO nRI5 GPIO nDCD5 1 GPIO nRXD5 2 GPIO nTXD5 3 GPIO nDSR5 4 GPIO nRTS5 5 GPIO nCTS5 6 GPIO nDTR5 7 6.11.3 ALT. FUNC. 3 Data Register Bit No. ALT. FUNC. 1 Note 6-27 ALT. FUNC. 2 Data Register (Note 6-27) Default Function 7 GP5 0 0F The GPIO Data Registers are located at the offset shown from the RUNTIME REGISTERS BLOCK address. GPIO CONTROL Each GPIO port has an 8-bit control register that controls the behavior of the pin. These registers are defined in the Configuration section of this specification. Each GPIO port may be configured as either an input or an output. If the pin is configured as an output, it can be programmed as open-drain or push-pull. Inputs and outputs can be configured as non-inverting or inverting. GPIO Direction Registers determine the port direction, GPIO Polarity Registers determine the signal polarity, and GPIO Output Type Register determines the output driver type select. The GPIO Output Type Registers (CR39, CR40, CR41) apply to certain GPIOs (GP11-GP13, GP16-GP17, GP20, GP21, GP23, and GP50-GP57). The GPIO Direction, Polarity and Output Type Registers control the GPIO pin when the pin is configured for the GPIO function and when the pin is configured for the alternate function for all pins. The basic GPIO configuration options are summarized in Table 6-15. TABLE 6-15: GPIO CONFIGURATION SUMMARY Selected Function Direction Bit Polarity Bit B0 B1 0 0 Pin is a non-inverted output. 0 1 Pin is an inverted output. 1 0 Pin is a non-inverted input. 1 1 Pin is an inverted input. GPIO 2016 Microchip Technology Inc. Description DS00002120A-page 47 SCH3221 6.11.4 GPIO OPERATION The operation of the GPIO ports is illustrated in Figure 6-5. FIGURE 6-5: GPIO FUNCTION GPIO Configuration Register bit-1 (Polarity) GPIO Configuration Register bit-0 (Input/Output) D-TYPE D Q SD-bit GPx_nIOW 0 Transparent Q D GPIO PIN 1 GPx_nIOR GPIO Data Register Bit-n Figure 6-5 is for illustration purposes only and in not intended to suggest specific implementation details. When a GPIO port is programmed as an input, reading it through the GPIO data register latches either the inverted or non-inverted logic value present at the GPIO pin. Writing to a GPIO port that is programmed as an input has no effect (Table 6-16). When a GPIO port is programmed as an output, the logic value or the inverted logic value that has been written into the GPIO data register is output to the GPIO pin. Reading from a GPIO port that is programmed as an output returns the last value written to the data register (Table 6-16). TABLE 6-16: GPIO READ/WRITE BEHAVIOR Host Operation GPIO Input Port GPIO Output Port READ LATCHED VALUE OF GPIO PIN LAST WRITE TO GPIO DATA REGISTER WRITE NO EFFECT BIT PLACED IN GPIO DATA REGISTER The SCH3221 provides 20 GPIOs that can directly generate a PME. See the table in the next section. The GPIO Polarity Registers in the Configuration section select the edge on these GPIO pins that will set the associated status bit in the PME_STS1 – PME_STS4 registers. The default is the low-to-high edge. If the corresponding enable bit in the PME_EN1 – PME_EN4 registers and the PME_EN bit in the PME_EN register is set, a PME will be generated. These registers are located in the Runtime Registers Block, which is located at the address contained in the configuration registers CR30. The PME status bits for the GPIOs are cleared on a write of ‘1’. In addition, the SCH3221 provides 6 GPIOs that can directly generate an SMI. See the table in the next section. DS00002120A-page 48 2016 Microchip Technology Inc. SCH3221 6.11.5 GPIO, PME AND SMI FUNCTIONALITY The following GPIOs are dedicated wakeup GPIOs with a status and enable bit in the PME status and enable registers: • • • • • • GP11-GP13 GP16-GP17 GP20-GP23 GP30-GP37 GP40 GP50 This following is the list of PME status and enable registers for their corresponding GPIOs: • • • • PME_STS1 and PME_EN1 for GP11-GP13 and GP16-GP17 PME_STS2 and PME_EN2 for GP20-GP23 and GP50 PME_STS3 and PME_EN3 for GP30-GP37 PME_STS4 and PME_EN4 for GP30 and GP40 The following GPIOs can directly generate an SMI and have a status and enable bit in the SMI status and enable registers. • GP11-GP13 • GP16-GP17 • GP23 The following SMI status and enable registers for these GPIOs: • SMI_STS1 and SMI_EN1 for GP11-GP13 and GP16-GP17 • SMI_STS2 and SMI_EN2 for GP23 TABLE 6-17: PME AND SMI FUNCTIONALITY FOR EACH GPIO GPIO PME SMI Output Buffer Power GP11 Yes Yes VCC GP12 Yes Yes/IO_SMI# VCC GP13 Yes Yes VCC GP16-GP17 Yes Yes VCC GP20-GP22 Yes No VCC GP23 Yes Yes VTR GP30-GP37 Yes No VCC GP40 Yes No VCC GP41-GP47 No No VCC GP50 Yes No VCC GP51-GP57 No No VCC Notes Note 6-28 Since GP12 can be used to generate an SMI and as the IO_SMI# output, do not enable GP12 to generate an SMI (by setting bit 2 of the SMI Enable Register 1) if the IO_SMI# function is selected on the GP12 pin. Use GP12 to generate an SMI event only if the SMI output is enabled on the Serial IRQ stream. Note 6-29 GP41-GP47 and GP51-GP57 should not be connected to any VTR powered external circuitry. These pins are not used for wakeup. 2016 Microchip Technology Inc. DS00002120A-page 49 SCH3221 6.12 System Management Interrupt (SMI) The SCH3221 implements a “group” IO_SMI# output pin. The System Management Interrupt is a non-maskable interrupt with the highest priority level used for OS transparent power management. The nSMI group interrupt output consists of the enabled interrupts from Super I/O Device Interrupts (Serial Ports 1, 2, 3 and 4) and many of the GPIOs pins. The GP12/IO_SMI# pin, when selected for the IO_SMI# function, can be programmed to be active high or active low via bit[2] in the GPIO Polarity Register 1 (CR32). The IO_SMI# pin function defaults to active low. The output buffer type of the pin can be programmed to be open-drain or push-pull via GPIO Output Type Register 1 (CR39). The interrupts are enabled onto the group nSMI output via the SMI Enable Registers 1, 2, and 3. The nSMI output is then enabled onto the IO_SMI# output pin via bit[7] in the SMI Enable Register 2. The SMI output can also be enabled onto the serial IRQ stream (IRQ2) via Bit[6] in the SMI Enable Register 2. 6.12.1 SMI REGISTERS There are six SMI Registers located in the Runtime Register block. They are SMI_EN1, SMI_EN2, SMI_EN3, SMI_STS1, SMI_STS2, and SMI_STS3. The SMI event bits for the GPIOs events are located in the SMI status and Enable registers 1 and 2. The polarity of the edge used to set the status bit and generate an SMI is controlled by the GPIO Polarity Registers located in the Configuration section. For non-inverted polarity (default) the status bit is set on the low-to-high edge. Status bits for the GPIOs are cleared on a write of ‘1’. The SMI logic for the GPIO events is implemented such that the output of the status bit for each event is combined with the corresponding enable bit in order to generate an SMI. The SMI event bits for the super I/O devices are located in the SMI status and enable registers 2 and 3. All of these status bits are cleared at the source; these status bits are not cleared by a write of ‘1’. The SMI logic for these events is implemented such that each event is directly combined with the corresponding enable bit in order to generate an SMI. See Section 7.0, "Runtime Registers" for the definition of the SMI status and enable registers. 6.13 PME Support The SCH3221 offers support for Power Management Events (PMEs), also referred to as System Control Interrupt (SCI) events in an ACPI system. A power management event is indicated to the chipset via the assertion of the IO_PME# signal. In the SCH3221, the IO_PME# is asserted by active transitions on the ring indicator inputs nRI1, nRI2, nRI3, and nRI4, Watchdog Timer Event (WDT), and programmable edges on GPIO pins. The nIO_PME pin can be programmed to be active high or active low via bit 5 in the GPIO Polarity Register 2 (CR34). The nIO_PME pin function defaults to active low, open-drain output. The output buffer type of the pin can be programmed to be open-drain or push-pull via bit 7 in the GPIO Output Type Register 2 (CR40). This pin is powered by VTR. See the Configuration section for description on these registers. PME functionality is controlled by the PME status and enable registers in the runtime registers block, which is located at the address programmed in register 0x30 in the Configuration section. The PME Enable bit, PME_EN, globally controls PME Wake-up events. When PME_EN is inactive, the IO_PME# signal can not be asserted. When PME_EN is asserted, any wake source whose individual PME Wake Enable register bit is asserted can cause IO_PME# to become asserted. The PME Status register indicates that an enabled wake source has occurred and if the PME_EN bit is set, asserted the IO_PME# signal. The PME Status bit is asserted by active transitions of PME wake sources. PME_STS will become asserted independent of the state of the global PME enable, PME_EN. The following pertains to the PME status bits for each event: • The output of the status bit for each event is combined with the corresponding enable bit to set the PME status bit. • The status bit for any pending events must be cleared in order to clear the PME_STS bit. Status bits are cleared on a write of ‘1’. For the GPIO events, the polarity of the edge used to set the status bit and generate a PME is controlled by the GPIO Polarity Registers in the Configuration section. For non-inverted polarity (default) the status bit is set on the low-to-high edge. Status bits are cleared on a write of ‘1’. In the SCH3221 the IO_PME# pin can be programmed to be an open drain, active low, driver. The SCH3221 IO_PME# pin is fully isolated from other external devices that might pull the IO_PME# signal low; i.e., the IO_PME# signal is capable of being driven high externally by another active device or pullup even when the SCH3221 VCC is grounded, providing VTR power is active. DS00002120A-page 50 2016 Microchip Technology Inc. SCH3221 6.13.1 PME REGISTERS There are eight PME Registers located in the Runtime Register block. They are PME_EN1, PME_EN2, PME_EN3, PME_EN4, PME_STS1, PME_STS2, PME_STS3, and PME_STS4. These registers are located in system I/O space at an offset from Runtime Registers Block, the address programmed at register 0x30 in the Configuration section. The following registers are for GPIO PME events: • • • • PME Wake Status 1 (PME_STS1), PME Wake Enable 1 (PME_EN1) PME Wake Status 2 (PME_STS2), PME Wake Enable 2 (PME_EN2) PME Wake Status 3 (PME_STS3), PME Wake Enable 3 (PME_EN3) PME Wake Status 4 (PME_STS4), PME Wake Enable 4 (PME_EN4) See PME register description in Section 7.0, "Runtime Registers". 2016 Microchip Technology Inc. DS00002120A-page 51 SCH3221 7.0 RUNTIME REGISTERS 7.1 Runtime Registers Block Summary The runtime registers are located at the address programmed in the Runtime Register Block Base Address configuration register located in CR30. The part performs 16-bit address qualification on the Runtime Register Base Address (bits[11:0] are decoded and bits[15:12] must be zero). The runtime register block may be located within the range 0x0100-0x0FFF on 16-byte boundaries. Decodes are disabled if the Runtime Register Base Address is located below 0x100. These registers are powered by VTR. TABLE 7-1: RUNTIME REGISTER BLOCK SUMMARY Register Offset (HEX) Type Hard Reset (Note 7-2) VCC POR VTR POR 00 R/W - - 0x00 Register PME_STS 01 R/W - - 0x00 PME_EN 02 R/W - - 0x00 PME_STS1 03 R/W - - 0x00 PME_STS2 04 R/W - - 0x00 PME_STS3 05 R/W - - 0x00 PME_EN1 06 R/W - - 0x00 PME_EN2 07 R/W - - 0x00 PME_EN3 08 R/W - - 0x00 SMI_STS1 09 R/W - - 0x01 SMI_STS2 0A R/W - - 0x00 SMI_EN1 0B R/W - - 0x00 SMI_EN2 0C R/W - - 0x00 GP1 0D R/W - - 0x00 GP2 0E R/W - - 0x00 GP3 0F R/W - - 0x00 GP4 10 R/W - - 0x00 GP5 11 R/W 0x00 0x00 0x00 WDT_TIME_OUT 12 R/W 0x00 0x00 0x00 WDT_VAL 13 R/W 0x00 0x00 0x00 WDT_CFG 14 R/W Note 7-1 0x00 0x00 0x00 WDT_CTRL 15 R/W - - 0x00 LED1 16 R/W - - 0x00 LED2 17 R - - 0x00 Reserved 18 R/W - - 0x00 SMI_STS3 19 R/W - - 0x00 SMI_EN3 1A R/W - - 0x00 PME_STS4 1B R/W - - 0x00 PME_EN4 Note: Reserved bits return 0 on read. Note 7-1 This register contains some bits that are read or write only. Note 7-2 Hard Reset = PCI_RESET# DS00002120A-page 52 2016 Microchip Technology Inc. SCH3221 7.2 Runtime Registers Block Description TABLE 7-2: Name/Default RUNTIME REGISTERS BLOCK DESCRIPTION Register Offset Description 00 Bit[0] PME_Status = 0 (default) = 1 Set when SCH3221 would normally assert the IO_PME# signal, independent of the state of the PME_En bit. Bit[7:1] Reserved PME_Status is not affected by Vcc POR, SOFT RESET or HARD RESET. Writing a “1” to PME_Status will clear it and cause the SCH3221 to stop asserting IO_PME#, in enabled. Writing a “0” to PME_Status has no effect. PME_STS Default = 0x00 on VTR POR (R/W) PME_EN Default = 0x00 on VTR POR 01 (R/W) PME_STS1 Default = 0x00 on VTR POR 02 (R/W) 2016 Microchip Technology Inc. Bit[0] PME_En = 0 IO_PME# signal assertion is disabled (default) = 1 Enables SCH3221 to assert IO_PME# signal Bit[7:1] Reserved PME_En is not affected by Vcc POR, SOFT RESET or HARD RESET PME Wake Status Register 1 This register indicates the state of the individual PME wake sources, independent of the individual source enables or the PME_En bit. If the wake source has asserted a wake event, the associated PME Wake Status bit will be a “1”. Bit[0] Reserved Bit[1] GP11 Bit[2] GP12 Bit[3] GP13 Bit[4] Reserved Bit[5] Reserved Bit[6] GP16 Bit[7] GP17 The PME Wake Status register is not affected by Vcc POR, SOFT RESET or HARD RESET. Writing a “1” to Bit[7:0] will clear it. Writing a “0” to any bit in PME Wake Status Register has no effect. Note: Status bits are set by an event on the pin regardless of the Alternate Function selected. DS00002120A-page 53 SCH3221 TABLE 7-2: RUNTIME REGISTERS BLOCK DESCRIPTION (CONTINUED) Name/Default PME_STS2 Default = 0x00 on VTR POR Register Offset Description 03 PME Wake Status Register 2 This register indicates the state of the individual PME wake sources, independent of the individual source enables or the PME_En bit. If the wake source has asserted a wake event, the associated PME Wake Status bit will be a “1”. Bit[0] nRI1 Bit[1] nRI2/GP50 Bit[2] GP20 Bit[3] GP21 Bit[4] GP22 Bit[5] GP23 Bit[6] Reserved Bit[7] WDT (R/W) Writing a “1” to Bit[7:0] will clear it. Writing a “0” to any bit in PME Wake Status Register has no effect. Note: PME_STS3 Default = 0x00 on VTR POR 04 (R/W) PME Wake Status Register 3 This register indicates the state of the individual PME wake sources, independent of the individual source enables or the PME_En bit. If the wake source has asserted a wake event, the associated PME Wake Status bit will be a “1”. Bit[0] GP30/nRI3 Bit[1] GP31 Bit[2] GP32 Bit[3] GP33 Bit[4] GP34 Bit[5] GP35 Bit[6] GP36 Bit[7] GP37 The PME Wake Status register is not affected by Vcc POR, SOFT RESET or HARD RESET. Writing a “1” to Bit[7:0] will clear it. Writing a “0” to any bit in PME Wake Status Register has no effect. Note: DS00002120A-page 54 Status bits are set by an event on the pin regardless of the Alternate Function selected. Status bits are set by an event on the pin regardless of the Alternate Function selected. 2016 Microchip Technology Inc. SCH3221 TABLE 7-2: Name/Default RUNTIME REGISTERS BLOCK DESCRIPTION (CONTINUED) Register Offset Description 05 PME Wake Enable Register 1 This register is used to enable individual SCH3221 PME wake sources onto the IO_PME# wake bus. When the PME Wake Enable register bit for a wake source is active (“1”), if the source asserts a wake event so that the associated status bit is “1” and the PME_En bit is “1”, the source will assert the IO_PME# signal. When the PME Wake Enable register bit for a wake source is inactive (“0”), the PME Wake Status register will indicate the state of the wake source but will not assert the IO_PME# signal. Bit[0] Reserved Bit[1] GP11 Bit[2] GP12 Bit[3] GP13 Bit[4] Reserved Bit[5] Reserved Bit[6] GP16 Bit[7] GP17 The PME Wake Enable register is not affected by Vcc POR, SOFT RESET or HARD RESET. PME_EN1 Default = 0x00 on VTR POR (R/W) PME_EN2 Default = 0x00 on VTR POR 06 (R/W) 2016 Microchip Technology Inc. PME Wake Enable Register 2 This register is used to enable individual SCH3221 PME wake sources onto the IO_PME# wake bus. When the PME Wake Enable register bit for a wake source is active (“1”), if the source asserts a wake event so that the associated status bit is “1” and the PME_En bit is “1”, the source will assert the IO_PME# signal. When the PME Wake Enable register bit for a wake source is inactive (“0”), the PME Wake Status register will indicate the state of the wake source but will not assert the IO_PME# signal. Bit[0] nRI1 Bit[1] nRI2/GP50 Bit[2] GP20 Bit[3] GP21 Bit[4] GP22 Bit[5] GP23 Bit[6] Reserved Bit[7] WDT DS00002120A-page 55 SCH3221 TABLE 7-2: RUNTIME REGISTERS BLOCK DESCRIPTION (CONTINUED) Name/Default PME_EN3 Default = 0x00 on VTR POR SMI_STS1 Default = 0x00 on VTR POR SMI_STS2 Default = 0x01 on VTR POR Bit 0 is set to ‘1’ on VCC POR, VTR POR and HARD RESET DS00002120A-page 56 Register Offset Description 07 PME Wake Enable Register 3 This register is used to enable individual SCH3221 PME wake sources onto the IO_PME# wake bus. When the PME Wake Enable register bit for a wake source is active (“1”), if the source asserts a wake event so that the associated status bit is “1” and the PME_En bit is “1”, the source will assert the IO_PME# signal. When the PME Wake Enable register bit for a wake source is inactive (“0”), the PME Wake Status register will indicate the state of the wake source but will not assert the IO_PME# signal. Bit[0] GP30/nRI3 Bit[1] GP31 Bit[2] GP32 Bit[3] GP33 Bit[4] GP34 Bit[5] GP35 Bit[6] GP36 Bit[7] GP37 The PME Wake Enable register is not affected by Vcc POR, SOFT RESET or HARD RESET. (R/W) 08 (R/W) 09 (R/W) SMI Status Register 1 This register is used to read the status of the SMI inputs. The following bits are cleared on a write of ‘1’. Bit[0] Reserved Bit[1] GP11 Bit[2] GP12 Bit[3] GP13 Bit[4] Reserved Bit[5] Reserved Bit[6] GP16 Bit[7] GP17 SMI Status Register 2 This register is used to read the status of the SMI inputs. The bits [1] and [2] must be cleared at their source. Bit[4] is cleared on a write of ‘1’. Bit[0] defaults to 1 and cannot be cleared. Bit[0] Reserved, default state =1 Bit[1] U2INT Bit[2] U1INT Bit[3] Reserved Bit[4] GP23 Bit[7:5] Reserved 2016 Microchip Technology Inc. SCH3221 TABLE 7-2: Name/Default RUNTIME REGISTERS BLOCK DESCRIPTION (CONTINUED) Register Offset Description 0A SMI Enable Register 1 This register is used to enable the different interrupt sources onto the internal group nSMI signal. 1=Enable 0=Disable Bit[0] Reserved Bit[1] GP11 Bit[2] GP12 Bit[3] GP13 Bit[4] Reserved Bit[5] Reserved Bit[6] GP16 Bit[7] GP17 SMI_EN1 Default = 0x00 on VTR POR (R/W) SMI_EN2 Default = 0x00 on VTR POR 0B (R/W) GP1 Default = 0x00 on VTR POR GP2 Default = 0x00 on VTR POR GP3 Default = 0x00 on VTR POR 2016 Microchip Technology Inc. 0C R/W 0D R/W 0E R/W SMI Enable Register 2 This register is used to enable the different interrupt sources onto the internal group nSMI signal, and the internal group nSMI signal onto the IO_SMI# GPI/O pin or the serial IRQ stream on IRQ2. 1=Enable 0=Disable Bit[0] Reserved. Default = 0, do not change. Bit[1] EN_U2INT Bit[2] EN_U1INT Bit[3] Reserved Bit[4] GP23 Bit[5] Reserved Bit[6] EN_SMI_S (Enable group nSMI signal onto serial IRQ2) Bit[7] EN_SMI (Enable group nSMI signal onto IO_SMI# pin) General Purpose I/O Data Register 1 Bit[0]Reserved Bit[1]GP11 Bit[2]GP12 Bit[3]GP13 Bit[4]Reserved Bit[5]Reserved Bit[6]GP16 Bit[7]GP17 General Purpose I/O Data Register 2 Bit[0]GP20 Bit[1]GP21 Bit[2]GP22 Bit[3]GP23 Bit[7:4]Reserved General Purpose I/O Data Register 3 Bit[0]GP30 Bit[1]GP31 Bit[2]GP32 Bit[3]GP33 Bit[4]GP34 Bit[5]GP35 Bit[6]GP36 Bit[7]GP37 DS00002120A-page 57 SCH3221 TABLE 7-2: RUNTIME REGISTERS BLOCK DESCRIPTION (CONTINUED) Name/Default GP4 Default = 0x00 on VTR POR GP5 Default = 0x00 on VTR POR Register Offset 0F R/W 10 R/W WDT_TIME_OUT 11 Default = 0x00 on VCC POR, VTR POR, and Hard Reset (R/W) WDT_VAL Default = 0x00 on VCC POR, VTR POR, and Hard Reset WDT_CFG Default = 0x00 on VCC POR, VTR POR, and Hard Reset DS00002120A-page 58 12 (R/W) 13 (R/W) Description General Purpose I/O Data Register 4 Bit[0]GP40 Bit[1]GP41 Bit[2]GP42 Bit[3]GP43 Bit[4]GP44 Bit[5]GP45 Bit[6]GP46 Bit[7]GP47 General Purpose I/O Data Register 5 Bit[0]GP50 Bit[1]GP51 Bit[2]GP52 Bit[3]GP53 Bit[4]GP54 Bit[5]GP55 Bit[6]GP56 Bit[7]GP57 Watchdog Timeout Bits[6:0] Reserved Bit[7] WDT Time-out Value Units Select = 0 Minutes (default) = 1 Seconds Watchdog Timer Time-out Value Binary coded, units = minutes (default) or seconds, selectable via Bit[7] of WDT_TIME_OUT register (0x52). 0x00 Time out disabled 0x01 Time-out = 1 minute (second) ......... 0xFF Time-out = 255 minutes (seconds) Watchdog timer Configuration Bit[3:0] Reserved Bits[7:4] WDT Interrupt Mapping 1111 = IRQ15 ......... 0011 = IRQ3 0010 = Invalid 0001 = IRQ1 0000 = Disable 2016 Microchip Technology Inc. SCH3221 TABLE 7-2: RUNTIME REGISTERS BLOCK DESCRIPTION (CONTINUED) Name/Default Register Offset WDT_CTRL Default = 0x00 on VCC POR, VTR POR, and Hard Reset 14 (R/W) Bit[2] is Write-Only Description Watchdog timer Control Bit[0] Watchdog Status Bit, R/W (Note) =1 WD timeout occurred =0 WD timer counting Bit[1] Reserved Bit[2] Force Timeout, W =1 Forces WD timeout event; this bit is self-clearing Bit[3] Reserved Bit[7:4] Reserved. Set to 0 Note: LED1 Default = 0x00 on VTR POR 15 (R/W) LED2 Default = 0x00 on VTR POR 16 (R/W) If WDT is disabled (i.e., WDT_VAL register is 00h) bit[0] is forced to ‘0’ Bit[1:0] LED1 Control 00=off 01=Blink at 1Hz rate with a 50% duty cycle (0.5 sec on, 0.5 sec off) 10=Blink at ½ HZ rate with a 25% duty cycle (0.5 sec on, 1.5 sec off) 11=on Bits[7:2] Reserved Bit[1:0] LED2 Control 00=off 01=Blink at 1Hz rate with a 50% duty cycle (0.5 sec on, 0.5 sec off) 10=Blink at ½ Hz rate with a 25% duty cycle (0.5 sec on, 1.5 sec off) 11=on Bits[7:2] Reserved Reserved 17 Reads return 0. SMI_STS3 18 SMI Status Register 3 This register is used to read the status of the SMI inputs. Bit[0] is cleared on a write of ‘1’. Default = 0x00 on VTR POR (R/W) Bit[0] WDT Bit[1] U3INT Bit[2] U4INT Bit[7:3] Reserved SMI_EN3 Default = 0x00 on VTR POR 19 (R/W) SMI Enable Register 3 This register is used to enable the different interrupt sources onto the internal group nSMI signal. 1=Enable 0=Disable Bit[0] EN_WDT Bit[1] EN_U3INT Bit[2] EN_U4INT Bit[7:3] Reserved 2016 Microchip Technology Inc. DS00002120A-page 59 SCH3221 TABLE 7-2: RUNTIME REGISTERS BLOCK DESCRIPTION (CONTINUED) Name/Default PME_STS4 Default = 0x00 on VTR POR Register Offset Description 1A PME Wake Status Register 4 This register indicates the state of the individual PME wake sources, independent of the individual source enables or the PME_En bit. If the wake source has asserted a wake event, the associated PME Wake Status bit will be a “1”. Bit[0] nRI3/GP30 Bit[1] nRI4/GP40 Bit[2] Reserved Bit[3] Reserved Bit[4] Reserved Bit[5] Reserved Bit[6] Reserved Bit[7] Reserved (R/W) Writing a “1” to Bit[1:0] will clear it. Writing a “0” to any bit in PME Wake Status Register has no effect. Note: PME_EN4 Default = 0x00 on VTR POR Note: 1B (R/W) Status bits are set by an event on the pin regardless of the Alternate Function selected. PME Wake Enable Register 4 This register is used to enable individual SCH3221 PME wake sources onto the IO_PME# wake bus. When the PME Wake Enable register bit for a wake source is active (“1”), if the source asserts a wake event so that the associated status bit is “1” and the PME_En bit is “1”, the source will assert the IO_PME# signal. When the PME Wake Enable register bit for a wake source is inactive (“0”), the PME Wake Status register will indicate the state of the wake source but will not assert the IO_PME# signal. Bit[0] nRI3/GP30 Bit[1] nRI4/GP40 Bit[2] Reserved Bit[3] Reserved Bit[4] Reserved Bit[5] Reserved Bit[6] Reserved Bit[7] Reserved Reserved bits return 0 on read except where noted. DS00002120A-page 60 2016 Microchip Technology Inc. SCH3221 8.0 CONFIGURATION The configuration of the SCH3221 is programmed through hardware selectable Configuration Access Ports that appear when the chip is placed into the configuration state. The SCH3221 logical device blocks, if enabled, will operate normally in the configuration state. 8.1 Configuration Access Ports The Configuration Access Ports are the CONFIG PORT, the INDEX PORT, and the DATA PORT (Table 8-1, "Configuration Access Ports"). The base address of these registers is controlled by the nRTS1/SYSOPT pin and by the Configuration Port Base Address registers CR12 and CR13. To determine the configuration base address at power-up, the state of the nRTS1/SYSOPT pin is latched by the trailing edge of a hardware reset (deasserting edge of PCI_RESET#). If the latched state is a 0, the base address of the Configuration Access Ports is located at address 0x02E; if the latched state is a 1, the base address is located at address 0x04E. The base address is relocatable via CR12 and CR13. TABLE 8-1: CONFIGURATION ACCESS PORTS Port Name SYSOPT = 0 SYSOPT = 1 CONFIG PORT 0x02E 0x04E WRITE INDEX PORT 0x02E 0x04E READ/WRITE (Note 8-1, Note 8-2) DATA PORT INDEX PORT + 1 Type READ/WRITE (Note 8-1) Note 8-1 The INDEX and DATA ports are active only when the SCH3221 is in the configuration state. Note 8-2 The INDEX PORT is only readable in the configuration state. 8.2 Configuration State The configuration registers are used to select programmable chip options. The SCH3221 operates in two possible states: the run state and the configuration state. After power up by default the chip is in the run state. To program the configuration registers, the configuration state must be explicitly enabled. Programming the configuration registers typically follows this sequence: 1. 2. 3. Enter the Configuration State, Program the Configuration Register(s), Exit the Configuration State. 8.2.1 ENTERING THE CONFIGURATION STATE To enter the configuration state write the Configuration Access Key to the CONFIG PORT. The Configuration Access Key is one byte of 55H data. The SCH3221 will automatically activate the Configuration Access Ports following this procedure. 8.2.2 CONFIGURATION REGISTER PROGRAMMING The SCH3221 contains configuration registers CR00-CR54. After the SCH3221 enters the configuration state, configuration registers can be programmed by first writing the register index number (00 - 54H) to the Configuration Select Register (CSR) through the INDEX PORT and then writing or reading the configuration register contents through the DATA PORT. Configuration register access remains enabled until the configuration state is explicitly exited. 8.2.3 EXITING THE CONFIGURATION STATE To exit the configuration state, write one byte of AAH data to the CONFIG PORT. The SCH3221 will automatically deactivate the Configuration Access Ports following this procedure, at which point configuration register access cannot occur until the configuration state is explicitly re-enabled. 2016 Microchip Technology Inc. DS00002120A-page 61 SCH3221 8.2.3.1 Programming Example The following is a configuration register programming example written in Intel 8086 assembly language. ;----------------------------. ; ENTER CONFIGURATION STATE | ;----------------------------' MOV DX,02EH ;SYSOPT = 0 MOV AX,055H OUT DX,AL ;----------------------------. ; CONFIGURE REGISTERS CRx | ;----------------------------' MOV DX,02EH MOV AL,24H OUT DX,AL ;Point to CR24 MOV DX,02FH MOV AL,0FEH ; UART1 Base = COM1 OUT DX,AL ;Update CR24 ; MOV DX,02EH MOV AL,25H OUT DX,AL ;Point to CR25 MOV DX,02FH MOV AL,0BEH ; UART2 Base = COM2 OUT DX,AL ;Update CR25 ; ; Repeat for other CRx registers ; ;-----------------------------. ; EXIT CONFIGURATION STATE | ;-----------------------------' MOV DX,02EH MOV AX,AAH OUT DX,AL 8.2.3.2 Configuration Select Register (CSR) The Configuration Select Register can only be accessed when the SCH3221 is in the configuration state. The CSR is located at the INDEX PORT address and must be initialized with configuration register index before the register can be accessed using the DATA PORT. DS00002120A-page 62 2016 Microchip Technology Inc. SCH3221 8.3 Configuration Registers Summary The configuration registers are set to their default values at power up and are RESET as indicated in Table 8-2. The register descriptions follow. CAUTION: This device contains circuits which must not be used because their pins are not brought out of the package, and are pulled to known states internally. Any features, and especially SIO blocks that are not listed in this document, must not be activated or accessed. Doing so may cause unpredictable behavior and/or excessive currents, and therefore may damage the device and/or the system. TABLE 8-2: CONFIGURATION REGISTERS SUMMARY Register Index Type Hard Reset (Note 8-3) VCC POR VTR POR CR00 R/W Bit[3] = 0 0x20 - Valid Config Cycle CR01 R/W bit[7]=1 Bit[2]=0 0x98 - CR Lock CR02 R/W 0x00 0x00 - UART Power CR03 R/W - 0x70 - Reserved CR04 R/W - 0x00 - UART Miscellaneous CR05 R/W - 0x00 - Reserved CR06 R/W - 0xFF - Reserved CR07 R/W bit[7:2]=0 0x00 - Auto Power Mgt CR08 R - 0x00 - Reserved Register CR09 R/W - 0x00 - Test 4 CR0A R/W bit[7:6]=0 0x00 - IR MUX CR0B R/W - 0x00 - Reserved CR0C R/W 0x02 0x02 - UART Mode CR0D R - 0x5B - Device ID CR0E R - Revision - Revision ID CR0F R/W - 0x00 - Test 1 CR10 R/W - 0x00 - Test 2 0x00 CR11 R/W - - Test 3 CR12 R/W SYSOPT=0:0x2E SYSOPT=1:0x4E - Configuration Base Address 0 CR13 R/W SYSOPT=0:0x00 SYSOPT=1:0x00 - Configuration Base Address 1 CR14 R - - - Reserved CR15 R - - - UART1 FCR Shadow CR16 R - - - UART2 FCR Shadow CR17 R/W 0x03 0x03 - Reserved CR18 R/W bit[7:6]=0 0x00 - UART 3,4 Miscellaneous CR19 R - - - UART3 FCR Shadow CR1A R - - - UART4 FCR Shadow CR1B R/W - 0x00 - UART3 Base Address CR1C R/W - 0x00 - UART4 Base Address CR1D R/W - 0x00 - UART 3,4 IRQ Select CR1E R/W - - 0x00 CR1F R/W - 0x00 - 2016 Microchip Technology Inc. Clock Register Reserved DS00002120A-page 63 SCH3221 TABLE 8-2: CONFIGURATION REGISTERS SUMMARY (CONTINUED) Register Index Type Hard Reset (Note 8-3) VCC POR VTR POR CR20 R/W - 0x3C - Reserved CR21 R/W - 0x00 - Reserved CR22 R/W 0x00 0x00 - Reserved CR23 R/W - 0x00 - Reserved CR24 R/W - 0x00 - UART1 Base Address CR25 R/W - 0x00 - UART2 Base Address CR26 R/W - 0xFF - Reserved CR27 R/W - 0x00 - Reserved CR28 R/W - 0x00 - UART IRQ Select CR29 R/W - 0x80 - IRQIN1/HPMODE/SIRQ_CLKRUN_En CR2A R/W - 0x00 - IRQIN2/IRQIN3 CR2B R/W - 0x00 - SCE (FIR) Base Address CR2C R/W - 0x0F - SCE (FIR) DMA Select CR2D R/W - 0x03 - IR Half Duplex Timeout CR2E R/W - 0x00 - Software Select A CR2F R/W - 0x00 - Software Select B Register CR30 R/W - 0x00 - CR31 R/W - - 0x00 GPIO Direction Register 1 Runtime Register Block Address CR32 R/W - - 0x00 GPIO Polarity Register 1 CR33 R/W - - 0x00 GPIO Direction Register 2 CR34 R/W - - 0x00 GPIO Polarity Register 2 CR35 R/W - - 0x00 GPIO Direction Register 3 CR36 R/W - - 0x00 GPIO Polarity Register 3 CR37 R/W - - 0x00 GPIO Direction Register 4 CR38 R/W - - 0x00 GPIO Polarity Register 4 CR39 R/W - - 0x00 CR3A R/W - 0x00 - Test 5 GPIO Output Type Register 1 CR3B R - 0x00 - Reserved CR3C R - 0x00 - Reserved CR3D R - 0x00 - Reserved CR3E R - 0x00 - Reserved CR3F R - 0x00 - Reserved CR40 R/W - - 0x80 GPIO/MISC Output Type Register 2 CR41 R/W - - 0x00 GPIO Output Type Register 5 CR42 R/W - - 0x00 GPIO Direction Register 5 CR43 R/W - - 0x00 GPIO Polarity Register 5 CR44 R/W - - 0x00 GPIO Alternate Function Select Register 1 CR45 R/W bit[7:4]= 0101 bit[7:4]= 0101 0x50 GPIO Alternate Function Select Register 2 DS00002120A-page 64 2016 Microchip Technology Inc. SCH3221 TABLE 8-2: CONFIGURATION REGISTERS SUMMARY (CONTINUED) Register Index Type Hard Reset (Note 8-3) VCC POR VTR POR CR46 R/W - - 0x00 CR47 R/W - 0x00 - CR48 R/W - - 0x00 GPIO Alternate Function Select Register 5 CR49 R/W - - 0x00 GPIO Alternate Function Select Register 6 CR4A R/W - - 0x00 GPIO Alternate Function Select Register 7 CR4B R/W - - 0x00 GPIO Alternate Function Select Register 8 CR4C R/W - - 0x00 GPIO Alternate Function Select Register 9 CR4D R/W - - 0x00 GPIO Alternate Function Select Register 10 CR4E R/W 0x00 0x00 - Reserved CR4F Register GPIO Alternate Function Select Register 3 Reserved R/W 0x01 0x01 - Reserved CR50 R/W 0x00 0x00 - Reserved CR51 R/W 0x01 0x01 - Reserved CR52 R/W 0x00 0x00 - Reserved CR53 R/W 0x8C 0x8C - Reserved CR54 R/W 0XX00000b 0XX00000b - Reserved Note: Note 8-3 Reserved registers are read-only, reads return 0. Hard Reset = PCI_RESET# 2016 Microchip Technology Inc. DS00002120A-page 65 SCH3221 8.4 Configuration Registers Description 8.4.1 CR00 CR00 can only be accessed in the configuration state and after the CSR has been initialized to 00H. TABLE 8-3: CR00 VALID CONFIGURATION CYCLE DEFAULT: 0x20 on VCC POR Bit[3] = 0 on a Hard Reset TYPE: R/W Bit No. Bit Name Description 0-2 Reserved Read Only. A read returns 0 3 Reserved Reserved. Do not alter this bit from its default. 4,5,6 Reserved Read only. A read returns bit 5 as a 1 and bits 4 and 6 as a 0. Valid A high level on this software controlled bit can be used to indicate that a valid configuration cycle has occurred. The control software must take care to set this bit at the appropriate times. Set to zero after power up. This bit has no effect on any other hardware in the chip. 7 8.4.2 CR01 CR01 can only be accessed in the configuration state and after the CSR has been initialized to 01H. TABLE 8-4: CR01 CR LOCK TYPE: R/W Bit No. 0,1 DEFAULT: 0x98 on VCC POR; Bit[7] = 1 and Bit[2]=0 on HARD RESET Bit Name Reserved Description Read Only. A read returns “0”. 2 Reserved Reserved. Do not alter this bit from its default. 3 Reserved Reserved. Do not alter this bit from its default. 4 Reserved Read Only. A read returns “1”. 5,6 Reserved Read Only. A read returns “0”. 7 Lock CRx A high level on this bit enables the reading and writing of CR00 –CR39 (Default). A low level on this bit disables the reading and writing of CR00 – CR39. Note: Once the Lock CRx bit is set to “0”, this bit can only be set to “1” by a hard reset or power-up reset. DS00002120A-page 66 2016 Microchip Technology Inc. SCH3221 8.4.3 CR02 CR02 can only be accessed in the configuration state and after the CSR has been initialized to 02H. TABLE 8-5: CR02 UART Power TYPE: R/W Bit No. Bit Name DEFAULT: 0x00 on VCC POR and Hard Reset Description 0 Reserved Read Only. A read returns “0”. 1 UART3 Power A high level on this bit, allows normal operation of the Primary Serial Port. A low level on this bit places the Primary Serial Port into Power Down Mode (Default). (Note 8-4, Note 8-5) 2 UART4 Power (Note 8-4, Note 8-5) 3 UART1 Power (Note 8-4) 4-6 7 A high level on this bit, allows normal operation of the Primary Serial Port. A low level on this bit places the Primary Serial Port into Power Down Mode (Default). A high level on this bit, allows normal operation of the Primary Serial Port. A low level on this bit places the Primary Serial Port into Power Down Mode (Default). Reserved Read Only. A read returns “0”. UART2 Power A high level on this bit, allows normal operation of the Secondary Serial Port, including the SCE/FIR block. A low level on this bit places the Secondary Serial Port including the SCE/FIR block into Power Down Mode (Default). (Note 8-4, Note 8-5) Note 8-4 Power Down bits disable the respective logical device and associated pins, however the power down bit does not disable the selected address range for the logical device. To disable the host address registers the logical device’s base address must be set below 100h. Devices that are powered down but still reside at a valid I/O base address will participate in Plug-and-Play range checking. Note 8-5 The UART pins must be configured for their alternate function prior to enabling the UART power bits. In addition, the IRCC should be configured for the appropriate mode of operation before the UART2 Power bit is set. This is to ensure the state of the transmit and receive pins are in their inactive state for the external device attached and for the internal block that has been enabled, respectively. The registers used to configure the IRCC block are IR Output Mux bits located in the IR MUX located at CR0A and the UART Mode register located at CR0C. These functions may also be configured directly in the SCE registers located in the IR block. A description of these register may be found in the Infrared Communication Controller (IRCC) specification. 2016 Microchip Technology Inc. DS00002120A-page 67 SCH3221 8.4.4 CR03 CR03 is reserved. The default value of this register after power up is 70H. Do not change this register from its default value. 8.4.5 CR04 CR04 can only be accessed in the configuration state and after the CSR has been initialized to 04H. TABLE 8-6: CR04 UART MISCELLANEOUS Bit No. 1,0 2,3 DEFAULT: 0x00 on VCC POR Description Reserved Reserved. Do not alter this field from its default. Reserved Reserved. Do not alter this field from its default. 4 MIDI 1 (Note 8-6) Serial Clock Select Port 1: A low level on this bit disables MIDI support (default). A high level on this bit enables MIDI support. 5 MIDI 2 ((Note 8-6) Serial Clock Select Port 2: A low level on this bit disables MIDI support (default). A high level on this bit enables MIDI support. 6 Reserved Reserved. Do not alter this bit from its default. 7 Reserved Reserved - Read as 0. Note 8-6 8.4.6 TYPE: R/W Bit Name MIDI Support: The Musical Instrumental Digital Interface (MIDI) operates at 31.25Kbaud (+/-1%). CR05 CR05 is reserved. The default value of this register after power up is 00H. Do not change this register from its default value. 8.4.7 CR06 CR06 is reserved. The default value of this register after power up is FFH. Do not change this register from its default value. DS00002120A-page 68 2016 Microchip Technology Inc. SCH3221 8.4.8 CR07 CR07 can only be accessed in the configuration state and after the CSR has been initialized to 07H. TABLE 8-7: CR07 AUTO POWER MANAGEMENT TYPE: R/W Bit No. 0,1 8.4.9 Bit Name DEFAULT: 0x00 on VCC POR; Bits[7:2] = 000000b on HARD RESET Description Reserved Reserved. Do not alter this field from its default. 2 UART 3 Enable This bit controls the AUTOPOWER DOWN feature of the UART3. The function is: 0 = Auto powerdown disabled (default) 1 = Auto powerdown enabled This bit is reset to the default state by VCC POR or a hardware reset. 3 UART 4 Enable This bit controls the AUTOPOWER DOWN feature of the UART4. The function is: 0 = Auto powerdown disabled (default) 1 = Auto powerdown enabled This bit is reset to the default state by VCC POR or a hardware reset. 4 Reserved Reserved. Do not alter this bit from its default. 5 UART 2 Enable This bit controls the AUTOPOWER DOWN feature of the UART2. The function is: 0 = Auto powerdown disabled (default) 1 = Auto powerdown enabled This bit is reset to the default state by VCC POR or a hardware reset. 6 UART 1 Enable This bit controls the AUTOPOWER DOWN feature of the UART1. The function is: 0 = Auto powerdown disabled (default) 1 = Auto powerdown enabled This bit is reset to the default state by VCC POR or a hardware reset. 7 Reserved Reserved. Do not alter this bit from its default. CR08 Register CR08 is reserved. The default value of this register after power up is 00H. 2016 Microchip Technology Inc. DS00002120A-page 69 SCH3221 8.4.10 CR09 CR09 can only be accessed in the configuration state and after the CSR has been initialized to 09H. CR09 is a test control register and all bits must be treated as Reserved. Note: All test modes are reserved for Microchip use. Activating test mode registers may produce undesired results. TABLE 8-8: CR09 TEST 4 TYPE: R/W Bit No. Bit Name 0 Test 24 1 Test 25 2 Test 26 3 Test 27 4 Test 28 5 Test 29 6 Test 30 7 Test 31 8.4.11 DEFAULT: 0x00 on VCC POR Description RESERVED FOR MICROCHIP USE CR0A CR0A can only be accessed in the configuration state and after the CSR has been initialized to 0AH. Bits [7:6] are the IR OUTPUT MUX bits and are reset to the default state by a POR and a hardware reset. TABLE 8-9: CR0A IR MUX TYPE: R/W Bit No. Bit Name DEFAULT: 0x00 on VCC POR; Bits[7:6] = 00 on HARD RESET Description Bit No. 0-5 Reserved Reserved. Do not alter this field from its default. 6,7 IR Output Mux These bits are used to select IR Output Mux Mode. BIT7 8.4.12 BIT6 MUX MODE 0 0 Active device to COM port (Default). That is, depending on the mode of Serial Port 2, use UART2 pins for COM signals or use RXD2 and TXD2 for IR. When Serial Port 2 is inactive (UART2 Power bit = 0), then TXD2 signal is tristate. The IRTX2 signal is low. 0 1 Active device to IR port. That is, use IRRX2, IRTX2. When Serial Port 2 is inactive (UART2 Power bit = 0), then IRTX2 signal is low. The TXD2 signal is low. 1 0 Reserved. 1 1 Outputs Inactive: TXD2/IRTX and IRTX2 are High-Z, regardless of mode of UART2 and state of UART2 powerdown bit. CR0B CR0B is reserved. The default value of this register after power up is 00H. DS00002120A-page 70 2016 Microchip Technology Inc. SCH3221 8.4.13 CR0C CR0C can only be accessed in the configuration state and after the CSR has been initialized to 0CH. CR0C controls the operating mode of the UART. This register is reset to the default state by a POR or a hardware reset. TABLE 8-10: CR0C UART MODE TYPE: R/W Bit No. Bit Name DEFAULT: 0x02 on VCC POR and HARD RESET Description 0 UART 2 RCV Polarity 0 = RX input active high (default). 1 = RX input active low. 1 UART 2 XMIT Polarity 0 = TX output active high. 1 = TX output active low (default). 2 UART 2 Duplex This bit is used to define the FULL/HALF DUPLEX operation of UART 2. 1 = Half duplex 0 = Full duplex (default) 3, 4, 5 UART 2 MODE UART 2 Mode (Note 8-7) 543 000 Standard COM Functionality (default) 001 IrDA (HPSIR) 010 Amplitude Shift Keyed IR 011 Reserved (Note 8-8) 1xx Reserved (Note 8-8) 6 UART 1 Speed This bit enables the high speed mode of UART 1. 1 = High speed enabled 0 = Standard (default) 7 UART 2 Speed This bit enables the high speed mode of UART 2. 1 = High speed enabled 0 = Standard (default) Note 8-7 The UART 2 Mode may be selected by writing bits[5:3] shown or by programming the block control bits located in Register Block One - SCE Configuration Register A of the SCE (FIR) block. See the IrCC Specification dated 5/10/96 for a detailed description of this register and the modes supported. Note 8-8 Writing these reserved bit combinations will place the IR block into an alternate mode, which is beyond the scope of this specification. Users that require these advanced options should refer to the IrCC Specification dated 5/10/96. 8.4.14 CR0D CR0D can only be accessed in the configuration state and after the CSR has been initialized to 0DH. This register is read only. CR0D contains the SCH3221 Device ID. The default value of this register after power up is 5BH on VCC POR. 8.4.15 CR0E CR0E can only be accessed in the configuration state and after the CSR has been initialized to 0EH. This register is read only. CR0E contains the current SCH3221 Chip Revision Level starting at 00H. 2016 Microchip Technology Inc. DS00002120A-page 71 SCH3221 8.4.16 CR0F CR0F can only be accessed in the configuration state and after the CSR has been initialized to 0FH. CR0F is a test control register and all bits must be treated as Reserved. Note: All test modes are reserved for Microchip use. Activating test mode registers may produce undesired results. TABLE 8-11: CR0F TEST 1 TYPE: R/W Bit No. Bit Name 0 Test 0 1 Test 1 2 Test 2 3 Test 3 4 Test 4 5 Test 5 6 Test 6 7 Test 7 8.4.17 DEFAULT: 0x00 on VCC POR Description RESERVED FOR MICROCHIP USE CR10 CR10 can only be accessed in the configuration state and after the CSR has been initialized to 10H. CR10 is a test control register and all bits must be treated as Reserved. Note: All test modes are reserved for Microchip use. Activating test mode registers may produce undesired results. TABLE 8-12: CR10 TEST 2 TYPE: R/W Bit No. Bit Name 0 Test 8 1 Test 9 2 Test 10 3 Test 11 4 Test 12 5 Test 13 6 Test 14 7 Test 15 DS00002120A-page 72 DEFAULT: 0x00 on VCC POR Description RESERVED FOR MICROCHIP USE 2016 Microchip Technology Inc. SCH3221 8.4.18 CR11 CR11 can only be accessed in the configuration state and after the CSR has been initialized to 11H. CR11 is a test control register and all bits must be treated as Reserved. Note: All test modes are reserved for Microchip use. Activating test mode registers may produce undesired results. TABLE 8-13: CR11 TEST 3 TYPE: R/W Bit No. Bit Name 0 Test 16 1 Test 17 2 Test 18 3 Test 19 4 Test 20 5 Test 21 6 Test 22 7 Test 23 8.4.19 DEFAULT: 0x00 on VCC POR Description RESERVED FOR MICROCHIP USE CR12 - CR13 CR12 and CR13 are the SCH3221 Configuration Ports base address registers ( and Table 8-15, "CR13"). These registers are used to relocate the Configuration Ports base address beyond the power-up defaults determined by the SYSOPT pin programming. CR12 contains the Configuration Ports base address bits A[7:0]. CR13 contains the Configuration Ports base address bits A[10:8]. The address bits A[15:11] must be ‘00000’ to access the configuration port. The Configuration Ports base address is relocatable on even-byte boundaries; i.e., A0 = ‘0’. At power-up the Configuration Ports base address is determined by the SYSOPT pin programming. To relocate the Configuration Ports base address after power-up, first write the lower address bits of the new base address to CR12 and then write the upper address bits to CR13. Note: Writing CR13 changes the Configuration Ports base address. TABLE 8-14: CR12 CONFIGURATION PORTS BASE ADDRESS BYTE 0 (Note 8-9) DEFAULT: 0x2E (SYSOPT=0) 0x4E (SYSOPT=1) on VCC POR and HARD RESET TYPE: R/W Bit No. Bit Name 0 Reserved 1 A1 2 A2 3 A3 4 A4 5 A5 6 A6 7 Note 8-9 Description Read Only. A read returns 0. Configuration Ports Base Address Byte 0 for decoder. A7 The Configuration Ports Base Address is relocatable on even-byte boundaries; i.e., A0 = “0”. 2016 Microchip Technology Inc. DS00002120A-page 73 SCH3221 TABLE 8-15: CR13 CONFIGURATION PORTS BASE ADDRESS BYTE 1 (Note 8-10) DEFAULT: 0x00 (SYSOPT=0) 0x00 (SYSOPT=1) on VCC POR and HARD RESET TYPE: R/W Bit No. Bit Name 0 A8 1 A9 2 A10 3-7 Reserved Note 8-10 8.4.20 Description Configuration Ports Base Address Byte 1 for decoder. Read Only. A read returns 0. Writing CR13 changes the Configuration Ports base address. CR14 CR14 is reserved. The default value of this register after power up is undefined. 8.4.21 CR15 CR15 can only be accessed in the configuration state and after the CSR has been initialized to 15H. CR15 shadows the bits in the write-only UART1 run-time FCR register. TABLE 8-16: CR15 UART1 FCR SHADOW REGISTER TYPE: R (Note 8-11) Bit No. DEFAULT: N/A Bit Name Description 0 FIFO Enable Setting this bit to a logic "1" enables both the XMIT and RCVR FIFOs 1 RCVR FIFO Reset Setting this bit to a logic "1" clears all bytes in the RCVR FIFO and resets its counter logic to 0. This bit is self clearing. 2 XMIT FIFO Reset Setting this bit to a logic "1" clears all bytes in the XMIT FIFO and resets its counter logic to 0. This bit is self-clearing. 3 DMA Mode Select Writing to this bit has no effect on the operation of the UART. 4,5 Reserved Read Only. A read returns 0. 6,7 RCVR Trigger These bits are used to set the trigger level for the RCVR FIFO interrupt. Note 8-11 BIT7 BIT6 RCVR FIFO Trigger Level (BYTES) 0 0 1 0 1 4 1 0 8 1 1 14 This is a read only register. Software may set these register bits by writing the UART1 runtime FCR register located at an offset of +2 from the UART1 Base I/O Address. See Table 8-60, "I/O Base Address Configuration Register Description". DS00002120A-page 74 2016 Microchip Technology Inc. SCH3221 8.4.22 CR16 CR16 can only be accessed in the configuration state and after the CSR has been initialized to 16H. CR16 shadows the bits in the write-only UART2 run-time FCR register. See Section 8.4.21, "CR15" for register description. Note: 8.4.23 This is a read only register. Software may set these register bits by writing the UART2 runtime FCR register located at an offset of +2 from the UART2 Base I/O Address. See Table 8-60, "I/O Base Address Configuration Register Description". CR17 CR17 is reserved. The default value of this register after power up is 03H. 8.4.24 CR18 CR18 can only be accessed in the configuration state and after the CSR has been initialized to 18H. TABLE 8-17: CR18 UART 3,4 MISCELLANEOUS TYPE: R/W Bit No. 0-3 Bit Name Reserved DEFAULT: 0x00 on VCC POR, bits[6:7] are reset on Hard Reset Description Reserved - Read as 0. 4 MIDI 3 (Note 8- Serial Clock Select Port 3: A low level on this bit disables MIDI support (default). A high 12) level on this bit enables MIDI support. 5 MIDI 4 (Note 8- Serial Clock Select Port 4: A low level on this bit disables MIDI support (default). A high 12) level on this bit enables MIDI support. 6 UART 3 Speed This bit enables the high speed mode of UART 3. 1 = High speed enabled 0 = Standard (default) 7 UART 4 Speed This bit enables the high speed mode of UART 4. 1 = High speed enabled 0 = Standard (default) Note 8-12 MIDI Support: The Musical Instrumental Digital Interface (MIDI) operates at 31.25Kbaud (+/-1%). 2016 Microchip Technology Inc. DS00002120A-page 75 SCH3221 8.4.25 CR19 CR19 can only be accessed in the configuration state and after the CSR has been initialized to 19H. CR19 shadows the bits in the write-only UART3 run-time FCR register. TABLE 8-18: CR19 UART3 FCR SHADOW REGISTER TYPE: R (Note 8-13) DEFAULT: N/A Bit No. Bit Name 0 FIFO Enable 1 RCVR FIFO Reset Setting this bit to a logic "1" clears all bytes in the RCVR FIFO and resets its counter logic to 0. This bit is self clearing. 2 XMIT FIFO Reset Setting this bit to a logic "1" clears all bytes in the XMIT FIFO and resets its counter logic to 0. This bit is self-clearing. 3 DMA Mode Select 4,5 Reserved 6,7 RCVR Trigger Note 8-13 8.4.26 Description Setting this bit to a logic "1" enables both the XMIT and RCVR FIFOs Writing to this bit has no effect on the operation of the UART. Read Only. A read returns 0. These bits are used to set the trigger level for the RCVR FIFO interrupt. BIT7 BIT6 RCVR FIFO Trigger Level (BYTES) 0 0 1 0 1 4 1 0 8 1 1 14 This is a read only register. Software may set these register bits by writing the UART3 runtime FCR register located at an offset of +2 from the UART3 Base I/O Address. See Table 8-60, "I/O Base Address Configuration Register Description". CR1A CR1A can only be accessed in the configuration state and after the CSR has been initialized to 1AH. CR1A shadows the bits in the write-only UART4 run-time FCR register. TABLE 8-19: CR1A UART4 FCR SHADOW REGISTER TYPE: R (Note 8-14) Bit No. DEFAULT: N/A Bit Name Description 0 FIFO Enable 1 RCVR FIFO Reset Setting this bit to a logic "1" clears all bytes in the RCVR FIFO and resets its counter logic to 0. This bit is self clearing. 2 XMIT FIFO Reset Setting this bit to a logic "1" clears all bytes in the XMIT FIFO and resets its counter logic to 0. This bit is self-clearing. 3 DMA Mode Select Writing to this bit has no effect on the operation of the UART. 4,5 Reserved 6,7 RCVR Trigger DS00002120A-page 76 Setting this bit to a logic "1" enables both the XMIT and RCVR FIFOs Read Only. A read returns 0. These bits are used to set the trigger level for the RCVR FIFO interrupt. BIT7 BIT6 RCVR FIFO Trigger Level (BYTES) 0 0 1 0 1 4 1 0 8 1 1 14 2016 Microchip Technology Inc. SCH3221 Note 8-14 8.4.27 This is a read only register. Software may set these register bits by writing the UART4 runtime FCR register located at an offset of +2 from the UART4 Base I/O Address. See Table 8-60, "I/O Base Address Configuration Register Description". CR1B CR1B can only be accessed in the configuration state and after the CSR has been initialized to 1BH. CR1B is used to select the base address of Serial Port 3 (UART3). The serial port can be set to 96 locations on 8-byte boundaries from 100H - 3F8H. To disable Serial Port 3, set ADR9 and ADR8 to zero. Set CR1B.0 to 0 when writing the UART3 Base Address. Serial Port 3 Address Decoding: address bits A[15:10] must be ‘000000’ to access UART3 registers. A[2:0] are decoded as XXXb. TABLE 8-20: CR1B UART3 BASE ADDRESS REGISTER TYPE: R/W Bit No. Bit Name 0 Reserved 1 ADR3 2 ADR4 3 ADR5 4 ADR6 5 ADR7 6 ADR8 7 ADR9 8.4.28 DEFAULT: 0x00 on VCC POR Description Read Only. A read returns 0. Serial Port 3 Base Address bits for decoder. CR1C CR1C can only be accessed in the configuration state and after the CSR has been initialized to 1CH. CR1C is used to select the base address of Serial Port 4 (UART4). The serial port can be set to 96 locations on 8-byte boundaries from 100H - 3F8H. To disable Serial Port 4, set ADR9 and ADR8 to zero. Set CR1C.0 to 0 when writing the UART4 Base Address. Serial Port 4 Address Decoding: address bits A[15:10] must be ‘000000’ to access UART4 registers. A[2:0] are decoded as XXXb. TABLE 8-21: CR1C UART4 BASE ADDRESS REGISTER TYPE: R/W Bit No. Bit Name 0 Reserved 1 ADR3 2 ADR4 3 ADR5 4 ADR6 5 ADR7 6 ADR8 7 ADR9 2016 Microchip Technology Inc. DEFAULT: 0x00 on VCC POR Description Read Only. A read returns 0. Serial Port 4 Base Address bits for decoder. DS00002120A-page 77 SCH3221 8.4.29 CR1D CR1D can only be accessed in the configuration state and after the CSR has been initialized to 1DH. CR1D is used to select the IRQ for Serial Port 3 (bits 7 - 4) and for Serial Port 4 (bits 3 - 0). A value of 1-15 in the field selects the corresponding IRQ number. A value of zero selects no IRQ output (disabled). Shared IRQs are not supported in the SCH3221. TABLE 8-22: CR1D UART 3, 4 INTERRUPT SELECTION TYPE: R/W DEFAULT: 0x00 on VCC POR Bit No. Bit Name 0-3 UART4 IRQ Select These bits are used to select IRQ for Serial Port 4. (0 = Disabled) 4-7 UART3 IRQ Select These bits are used to select IRQ for Serial Port 3. (0 = Disabled) TABLE 8-23: Description UART INTERRUPT OPERATION UARTx IRQ UARTx OUT2 bit UARTx IRQ Output State UARTx IRQ State 0 Z Z 1 asserted 1 1 de-asserted 0 Note: • It is the responsibility of the software to ensure that two IRQ’s are not set to the same IRQ number. Potential damage to chip may result. • Z = Don’t Care. 8.4.30 CR1E CR1E can only be accessed in the Configuration State and after the CSR has been initialized to 1EH. TABLE 8-24: CR1E CLOCK REGISTER TYPE: R/W DEFAULT: 0x00 on VTR POR Bit No. Bit Name 0 CLOCKI32 Bit[0] (CLK32_PRSN) 0=32kHz clock is connected to the CLKI32 pin (default) 1=32kHz clock is not connected to the CLKI32 pin (pin is grounded) 1 Reserved Reserved – Do not change its default setting of 0. 2-7 Reserved Reserved – Read as 0. 8.4.31 Description CR1F CR1F is reserved. The default value of this register after power up is 00H. 8.4.32 CR20 CR20 is reserved. The default value of this register after power up is 3CH. DS00002120A-page 78 2016 Microchip Technology Inc. SCH3221 8.4.33 CR21 CR21 is reserved. The default value of this register after power up is 00H. 8.4.34 CR22 CR22 is reserved. The default value of this register after power up is 00H. 8.4.35 CR23 CR23 is reserved. The default value of this register after power up is 00H. 8.4.36 CR24 CR24 can only be accessed in the configuration state and after the CSR has been initialized to 24H. CR24 is used to select the base address of Serial Port 1 (UART1). The serial port can be set to 96 locations on 8-byte boundaries from 100H - 3F8H. To disable Serial Port 1, set ADR9 and ADR8 to zero. Set CR24.0 to 0 when writing the UART1 Base Address. Serial Port 1 Address Decoding: address bits A[15:10] must be ‘000000’ to access UART1 registers. A[2:0] are decoded as XXXb. TABLE 8-25: CR24 UART1 BASE ADDRESS REGISTER TYPE: R/W Bit No. DEFAULT: 0x00 on VCC POR Bit Name 0 Reserved 1 ADR3 2 ADR4 3 ADR5 4 ADR6 5 ADR7 6 ADR8 7 ADR9 2016 Microchip Technology Inc. Description Read Only. A read returns 0. Serial Port 1 Base Address bits for decoder. DS00002120A-page 79 SCH3221 8.4.37 CR25 CR25 can only be accessed in the configuration state and after the CSR has been initialized to 25H. CR25 is used to select the base address of Serial Port 2 (UART2). Serial Port 2 can be set to 96 locations on 8-byte boundaries from 100H - 3F8H. To disable Serial Port 2, set ADR9 and ADR8 to zero. Set CR25.0 to 0 when writing the UART2 Base Address. Serial Port 2 Address Decoding: address bits A[15:10] must be ‘000000’ to access UART2 registers. A[2:0] are decoded as XXXb. TABLE 8-26: CR25 UART2 BASE ADDRESS REGISTER TYPE: R/W Bit No. Bit Name 0 Reserved 1 ADR3 2 ADR4 3 ADR5 4 ADR6 5 ADR7 6 ADR8 7 ADR9 8.4.38 DEFAULT: 0x00 on VCC POR Description Read Only. A read returns 0. Serial Port 2 Base Address bits for decoder. CR26 CR26 is reserved. The default value of this register after power up is FFH. 8.4.39 CR27 CR27 is reserved. The default value of this register after power up is 00H. 8.4.40 CR28 CR28 can only be accessed in the configuration state and after the CSR has been initialized to 28H. CR28 is used to select the IRQ for Serial Port 1 (bits 7 - 4) and for Serial Port 2 (bits 3 - 0). A value of 1-15 in the field selects the corresponding IRQ number. A value of zero selects no IRQ output (disabled). Shared IRQs are not supported in the SCH3221. TABLE 8-27: CR28 UART INTERRUPT SELECTION TYPE: R/W DEFAULT: 0x00 on VCC POR Bit No. Bit Name 3:0 UART2 IRQ Select These bits are used to select IRQ for Serial Port 2. (0 = Disabled) 7:4 UART1 IRQ Select These bits are used to select IRQ for Serial Port 1. (0 = Disabled) DS00002120A-page 80 Description 2016 Microchip Technology Inc. SCH3221 TABLE 8-28: UART INTERRUPT OPERATION UARTx IRQ UARTx OUT2 Bit UARTx IRQ Output State UARTx IRQ State 0 Z Z 1 asserted 1 1 de-asserted 0 Note: • It is the responsibility of the software to ensure that two IRQ’s are not set to the same IRQ number. Potential damage to chip may result. • Z = Don’t Care. 8.4.41 CR29 CR29 can only be accessed in the configuration state and after the CSR has been initialized to 29H. CR29 controls the HPMODE bit and is used to select the IRQ mapping (bits 0 - 3) for the IRQIN1 pin. A value of 1-15 in the field selects the corresponding IRQ number. A value of zero selects no IRQ output (disabled). TABLE 8-29: CR29 IRQIN1/HPMODE/SIRQ_CLKRUN_En TYPE: R/W Bit No. Bit Name 0-3 IRQIN1 4 HPMODE 5-6 RESERVED 7 SIRQ_CLKRUN_EN 8.4.42 DEFAULT: 0x80 on VCC POR Description Selects the IRQ for IRQIN1. (See Application Note in “Section 6.9.2, "Routable IRQ Inputs".) See FIGURE 6-2: Infrared Interface Block Diagram on page 37 0 Select IRMODE (default) 1 Select IRRX3 Not Writable, Reads Return “0” Serial IRQ and CLKRUN enable bit. 0 = Disable 1 = Enable (default) CR2A CR2A can only be accessed in the configuration state and after the CSR has been initialized to 2AH. CR2A is used to select the IRQ mapping for the IRQIN2 and IRQIN3 pins. A value of 1-15 in the field selects the corresponding IRQ number. A value of zero selects no IRQ output (disabled). TABLE 8-30: CR2A IRQIN2 TYPE: R/W DEFAULT: 0x00 on VCC POR Bit No. Bit Name 0-3 IRQIN2 Selects the IRQ for IRQIN2. 4-7 IRQIN3 Selects the IRQ for IRQIN3. 2016 Microchip Technology Inc. Description DS00002120A-page 81 SCH3221 8.4.43 CR2B CR2B can only be accessed in the configuration state and after the CSR has been initialized to 2BH. CR2B is used to set the SCE (FIR) base address ADR[10:3]. The SCE base address can be set to 224 locations on 8-byte boundaries from 100H - 7F8H. To disable the SCE, set ADR10, ADR9 and ADR8 to zero. SCE Address Decoding: address bits A[15:11] must be ‘00000’ to access SCE registers. A[2:0] are decoded as XXXb. TABLE 8-31: CR2B SCE (FIR) BASE ADDRESS REGISTER TYPE: R/W Bit No. Bit Name 0 ADR3 1 ADR4 2 ADR5 3 ADR6 4 ADR7 5 ADR8 6 ADR9 7 ADR10 8.4.44 DEFAULT: 0x00 on VCC POR Description FIR Base Address bits for decoder. CR2C CR2C can only be accessed in the configuration state and after the CSR has been initialized to 2CH. Bits D[3:0] of this register are used to select the DMA for the SCE (FIR). Bits D[7:4] are Reserved. Reserved bits cannot be written and return 0 when read. Any unselected DMA Request output (DRQ) is in tristate. TABLE 8-32: CR2C SCE (FIR) DMA SELECT REGISTER TYPE: R/W Bit No. Bit Name 3:0 DMA Select 7:4 DS00002120A-page 82 Reserved DEFAULT: 0x0F on VCC POR Description BIT3 BIT2 BIT1 BIT0 DMA SELECTED 0 0 0 0 DMA0 0 0 0 1 DMA1 0 0 1 0 DMA2 0 0 1 1 DMA3 0 1 0 0 RESERVED . . . . . . . . . . 1 1 1 0 RESERVED 1 1 1 1 NONE Read Only. A read returns 0. 2016 Microchip Technology Inc. SCH3221 8.4.45 CR2D CR2D can only be accessed in the configuration state and after the CSR has been initialized to 2DH. CR2D is used to set the IR Half Duplex Turnaround Delay Time for the IR port. This value is 0 to 25.5msec in 100µsec increments. The IRCC v2.0 block includes an 8 bit IR Half Duplex Time-out register in SCE Register Block 5, Address 1 that interacts with configuration register CR2D. These two registers behave like the other IRCC Legacy controls where either source uniformly updates the value of both registers when either register is explicitly written using IOW or following a devicelevel POR. IRCC software resets do not affect these registers. The IR Half Duplex Time-out is programmable from 0 to 25.5mS in 100S increments, as follows: IR HALF DUPLEX TIME-OUT = (CR2D) x 100S TABLE 8-33: CR2D IR HALF DUPLEX TIMEOUT TYPE: R/W Bit No. Bit Name 0-7 IR Half Duplex Time Out 8.4.46 DEFAULT: 0x03 on VCC POR Description These bits are used to set the IR Half Duplex Turnaround Delay Time for the IR port. This value is 0 to 25.5msec in 100µsec increments. CR2E CR2E can only be accessed in the configuration state and after the CSR has been initialized to 2EH. CR2E is directly connected to SCE Register Block Three, Address 0x05 in the IRCC v2.0 block. TABLE 8-34: CR2E SOFTWARE SELECT A TYPE: R/W Bit No. Bit Name 0-7 Software Select A 8.4.47 DEFAULT: 0x00 on VCC POR Description These bits are directly connected to SCE Register Block Three, Address 0x05 in the IRCC v2.0 block. CR2F CR2F can only be accessed in the configuration state and after the CSR has been initialized to 2FH. CR2F is directly connected to SCE Register Block Three, Address 0x06 in the IRCC v2.0 block. TABLE 8-35: CR2F SOFTWARE SELECT B TYPE: R/W Bit No. Bit Name 0-7 Software Select B 2016 Microchip Technology Inc. DEFAULT: 0x00 on VCC POR Description These bits are directly connected to SCE Register Block Three, Address 0x06 in the IRCC v2.0 block. DS00002120A-page 83 SCH3221 8.4.48 CR30 CR30 can only be accessed in the configuration state and after the CSR has been initialized to 30H. CR30 is used to set the Runtime Register Block base address ADR[11:5]. The Runtime Register Block base address can be set to 120 locations on 32-byte boundaries from 100H – FE0H. To disable Runtime Registers Block set the Base Address to a value below 100h (i.e., set ADR11 – ADR8 to zero). Runtime Register Address Decoding: To access registers located in the Runtime Register block the I/O address bits A[15:12] must be ‘0000’ and the address bits A[11:5] must match the value programmed in the Base Address Register below. I/O address bits A[4:0] are used as the register offset value into the register block. (For example: If A[4:0] = ‘00000’ then the PME_STS register will be accessed). TABLE 8-36: CR30 RUNTIME REGISTERS BLOCK BASE ADDRESS TYPE: R/W Bit No. Bit Name 0 Reserved 1 ADR5 2 ADR6 3 ADR7 4 ADR8 5 ADR9 6 ADR10 7 ADR11 8.4.49 DEFAULT: 0x00 on VCC POR Description The bits in this register are used to program the location of the Runtime Register Block Base Address. CR31 CR31 can only be accessed in the configuration state and after the CSR has been initialized to 31H. CR31 is GPIO Direction Register 1 and is used to select the direction of GP11-GP13 and GP16-GP17 pins. TABLE 8-37: CR31 GPIO DIRECTION REGISTER 1 TYPE: R/W Bit No. Bit Name 0 Reserved 1 GP11 2 GP12 3 GP13 4 Reserved 5 Reserved 6 GP16 7 GP17 DS00002120A-page 84 DEFAULT: 0x00 on VTR POR Description The bits in this register are used to select the direction of the GP11-GP13 and GP16-GP17 pins. 0=Input 1=Output 2016 Microchip Technology Inc. SCH3221 8.4.50 CR32 CR32 can only be accessed in the configuration state and after the CSR has been initialized to 32H. CR32 is GPIO Polarity Register 1 and is used to select the polarity of GP11-GP13 and GP16-GP17 pins. TABLE 8-38: CR32 GPIO POLARITY REGISTER 1 TYPE: R/W Bit No. Bit Name 0 Reserved 1 GP11 2 GP12 3 GP13 4 Reserved 5 Reserved 6 GP16 7 GP17 8.4.51 DEFAULT: 0x00 on VTR POR Description The bits in this register are used to select the polarity of the GP11-GP13 and GP16-GP17 pins. 0=Non-Inverted 1=Inverted CR33 CR33 can only be accessed in the configuration state and after the CSR has been initialized to 33H. CR33 is GPIO Direction Register 2. It is used to select the direction of GP20-GP23 pins. TABLE 8-39: CR33 GPIO DIRECTION REGISTER 2 TYPE: R/W Bit No. DEFAULT: 0x00 on VTR POR Bit Name Description 0 GP20 1 GP21 2 GP22 3 GP23 4 Reserved Read Only. A read returns 0. 5 Reserved Read Only. A read returns 0. 6 Reserved Read Only. A read returns 0. 7 Reserved Read Only. A read returns 0. 2016 Microchip Technology Inc. These bits are used to select the direction of the GP20-GP23. 0=Input 1=Output DS00002120A-page 85 SCH3221 8.4.52 CR34 CR35 can only be accessed in the configuration state and after the CSR has been initialized to 34H. CR35 is GPIO Polarity Register 2. It is used to select the polarity of GP20-GP23 and IO_PME pins. TABLE 8-40: CR34 GPIO POLARITY REGISTER 2 TYPE: R/W Bit No. Bit Name 0 GP20 1 GP21 2 GP22 3 GP23 4 Reserved 5 IO_PME# Polarity select DEFAULT: 0x00 on VTR POR Description These bits are used to select the polarity of the GP20-GP23 pins. 0=Non-Inverted 1=Inverted Read Only. A read returns 0. This bit is used to select the polarity of the IO_PME# pin. 0=Non-Inverted 1=Inverted Note: configuring this pin function with non-inverted polarity will give an active low output signal. The output type can be either open drain or push-pull. (See CR39). 6 Reserved Read Only. A read returns 0. 7 Reserved Read Only. A read returns 0. 8.4.53 CR35 CR35 can only be accessed in the configuration state and after the CSR has been initialized to 35H. CR35 is GPIO Direction Register 3 and is used to select the direction of GP30-GP37 pins. TABLE 8-41: CR35 GPIO DIRECTION REGISTER 3 TYPE: R/W Bit No. Bit Name 0 GP30 1 GP31 2 GP32 3 GP33 4 GP34 5 GP35 6 GP36 7 GP37 DS00002120A-page 86 DEFAULT: 0x00 on VTR POR Description The bits in this register are used to select the direction of the GP30-GP37 pins. 0=Input 1=Output 2016 Microchip Technology Inc. SCH3221 8.4.54 CR36 CR36 can only be accessed in the configuration state and after the CSR has been initialized to 36H. CR36 is GPIO Polarity Register 3 and is used to select the polarity of GP30-GP37 pins. TABLE 8-42: CR36 GPIO POLARITY REGISTER 3 TYPE: R/W Bit No. Bit Name 0 GP30 1 GP31 2 GP32 3 GP33 4 GP34 5 GP35 6 GP36 7 GP37 8.4.55 DEFAULT: 0x00 on VTR POR Description The bits in this register are used to select the polarity of the GP30-GP37 pins. 0=Non-Inverted 1=Inverted CR37 CR37 can only be accessed in the configuration state and after the CSR has been initialized to 37H. CR37 is GPIO Direction Register 4 and is used to select the direction of GP40-GP47 pins. TABLE 8-43: CR37 GPIO DIRECTION REGISTER 4 TYPE: R/W Bit No. DEFAULT: 0x00 on VTR POR Bit Name 0 GP40 1 GP41 2 GP42 3 GP43 4 GP44 5 GP45 6 GP46 7 GP47 2016 Microchip Technology Inc. Description The bits in this register are used to select the direction of the GP40-GP47 pins. 0=Input 1=Output DS00002120A-page 87 SCH3221 8.4.56 CR38 CR38 can only be accessed in the configuration state and after the CSR has been initialized to 38H. CR38 is GPIO Polarity Register 4 and is used to select the polarity of GP40-GP47 pins. TABLE 8-44: CR38 GPIO POLARITY REGISTER 4 TYPE: R/W Bit No. Bit Name 0 GP40 1 GP41 2 GP42 3 GP43 4 GP44 5 GP45 6 GP46 7 GP47 8.4.57 DEFAULT: 0x00 on VTR POR Description The bits in this register are used to select the polarity of the GP40-GP47 pins. 0=Non-Inverted 1=Inverted CR39 CR39 can only be accessed in the configuration state and after the CSR has been initialized to 39H. CR39 is GPIO Output Register and is used to select the output buffer of GP11-GP13 and GP16-GP17 pins. TABLE 8-45: CR39 GPIO OUTPUT TYPE REGISTER 1 TYPE: R/W Bit No. Bit Name 0 Reserved 1 GP11 2 GP12 3 GP13 4 Reserved 5 Reserved 6 GP16 7 GP17 DS00002120A-page 88 DEFAULT: 0x00 on VTR POR Description The bits in this register are used to select the output buffer type of the GP11-GP13 and GP16-GP17 pins. 0=Push-pull 1=Open Drain 2016 Microchip Technology Inc. SCH3221 8.4.58 CR3A CR3A can only be accessed in the configuration state and after the CSR has been initialized to 3AH. CR3A is a test control register and all bits must be treated as Reserved. Note: All test modes are reserved for Microchip use. Activating test mode registers may produce undesired results. TABLE 8-46: CR3A TEST 5 TYPE: R/W Bit No. Bit Name 0 Test 32 1 Test 33 2 Test 34 3 Test 35 4 Test 36 5 Test 37 6 Test 38 7 Test 39 8.4.59 DEFAULT: 0x00 on VCC POR Description RESERVED FOR MICROCHIP USE CR3B – CR3F CR3A – CR3F registers are reserved. Reserved registers cannot be written and return 0 when read. The default value of these registers after power up is 00H on VCC POR. 8.4.60 CR40 CR40 can only be accessed in the configuration state and after the CSR has been initialized to 40H. CR40 is GPIO Output Register and is used to select the output buffer for the GP20, GP21, GP23, and IO_PME# pins. TABLE 8-47: CR40 GPIO/MISC OUTPUT TYPE REGISTER 2 TYPE: R/W Bit No. Bit Name 0 GP20 1 GP21 2 Reserved 3 GP23 4 Reserved 5 Reserved 6 Reserved 7 IO_PME# 2016 Microchip Technology Inc. DEFAULT: 0x80 on VTR POR Description The bits in this register are used to select the output buffer type of the GP20, GP21, GP23, and IO_PME# pins. 0=Push-pull 1=Open Drain DS00002120A-page 89 SCH3221 8.4.61 CR41 CR41can only be accessed in the configuration state and after the CSR has been initialized to 41H. CR41is GPIO Output Register and is used to select the output buffer of GP50 to GP57 pins. TABLE 8-48: CR41 GPIO OUTPUT TYPE REGISTER 5 TYPE: R/W DEFAULT: 0x00 on VTR POR Bit No. Bit Name Description 0 GP50 1 GP51 The bits in this register are used to select the output buffer type of GP50 to GP57 pins. 2 GP52 3 GP53 4 GP54 5 GP55 6 GP56 7 GP57 8.4.62 0=Push-pull 1=Open Drain CR42 CR42 can only be accessed in the configuration state and after the CSR has been initialized to 42H. CR42 is GPIO Direction Register 5 and is used to select the direction of GP50-GP57 pins. TABLE 8-49: CR42 GPIO DIRECTION REGISTER 5 TYPE: R/W Bit No. Bit Name 0 GP50 1 GP51 2 GP52 3 GP53 4 GP54 5 GP55 6 GP56 7 GP57 DS00002120A-page 90 DEFAULT: 0x00 on VTR POR Description The bits in this register are used to select the direction of the GP50-GP57 pins. 0=Input 1=Output 2016 Microchip Technology Inc. SCH3221 8.4.63 CR43 CR43 can only be accessed in the configuration state and after the CSR has been initialized to 43H. CR43 is GPIO Polarity Register 5 and is used to select the polarity of GP50-GP57 pins. TABLE 8-50: CR43 GPIO POLARITY REGISTER 5 TYPE: R/W Bit No. Bit Name 0 GP50 1 GP51 2 GP52 3 GP53 4 GP54 5 GP55 6 GP56 7 GP57 8.4.64 DEFAULT: 0x00 on VTR POR Description The bits in this register are used to select the polarity of the GP50-GP57 pins. 0=Non-Inverted 1=Inverted CR44 CR44 can only be accessed in the configuration state and after the CSR has been initialized to 44H. The bits in this register are used to select an alternate function of GP11-GP13 pins. TABLE 8-51: CR44 GPIO ALTERNATE FUNCTION SELECT REGISTER 1 TYPE: R/W DEFAULT: 0x00 on VTR POR Bit No. Bit Name Description 0,1 Reserved 2,3 GP11 Alternate Function Select bit[3] bit[2] Function 0 0 GPIO (default) 0 1 Reserved 1 0 Reserved 1 1 Reserved 4,5 GP12 Alternate Function Select bit[5] bit[4] Function 0 0 GPIO (default) 0 1 IO_SMI# (Note) 1 0 Reserved 1 1 Reserved Reads return 0. See Note 8-15 below. 2016 Microchip Technology Inc. DS00002120A-page 91 SCH3221 TABLE 8-51: CR44 (CONTINUED) GPIO ALTERNATE FUNCTION SELECT REGISTER 1 TYPE: R/W Bit No. Bit Name 6,7 GP13 DEFAULT: 0x00 on VTR POR Description Alternate Function Select bit[7] bit[6] Function 0 0 GPIO (default) 0 1 IRQIN1 (Note) 1 0 LED1 1 1 Reserved See Note 8-16 below. Note: If the Alternate Function is selected, the corresponding bits in the “GPIO Direction Registers” and ”GPIO Polarity Registers” must be configured accordingly. Note 8-15 Selecting the IO_SMI# function with GP12 configured with non-inverted polarity will give an active low output signal. The output type can be programmed for open drain via CR39. Note 8-16 See Application Note in Section 6.9.2, "Routable IRQ Inputs". 8.4.65 CR45 CR45 can only be accessed in the configuration state and after the CSR has been initialized to 45H. The bits in this register are used to select an alternate function of GP16-GP17 pins. TABLE 8-52: CR45 GPIO ALTERNATE FUNCTION SELECT REGISTER 2 TYPE: R/W DEFAULT: 0x50 on VTR POR, BITS[7:4] VTR POR, VCC POR, and Hard Reset Bit No. Bit Name Description 0,1 Reserved Reads return 0. 2,3 Reserved Reads return 0. 4,5 GP16 Alternate Function Select bit[5] bit[4] Function 0 0 GPIO 0 1 Reserved (default) - Note 1 0 Reserved 1 1 Reserved See Note 8-17 below. 6,7 GP17 Alternate Function Select bit[7] bit[6] Function 0 0 GPIO 0 1 Reserved (default) – Note 1 0 Reserved 1 1 Reserved See Note 8-18 below. Note: If the Alternate Function is selected, the corresponding bits in the “GPIO Direction Registers” and ”GPIO Polarity Registers” must be configured accordingly. DS00002120A-page 92 2016 Microchip Technology Inc. SCH3221 Note 8-17 Bits[4:5] are reset on VTR POR, VCC POR, and Hard Reset. They must be reconfigured from their Reserved default to 00 before the GP16 pin functionality can be used. Note 8-18 Bits[7:6] are reset on VTR POR, VCC POR, and Hard Reset. They must be reconfigured from their Reserved default to 00 before the GP17 pin functionality can be used. 8.4.66 CR46 CR46 can only be accessed in the configuration state and after the CSR has been initialized to 46H. The bits in this register are used to select an alternate function of GP20-GP23 pins. TABLE 8-53: CR46 GPIO ALTERNATE FUNCTION SELECT REGISTER 3 TYPE: R/W DEFAULT: 0x00 on VTR POR Bit No. Bit Name Description 0,1 GP20 Alternate Function Select bit[1] bit[0] Function 0 0 GPIO (default) 0 1 IRRX2 1 0 IRQIN3 1 1 Reserved 2,3 GP21 Alternate Function Select bit[3] bit[2] Function 0 0 GPIO (default) 0 1 IRTX2 1 0 WDT 1 1 Reserved 4,5 GP22 Alternate Function Select bit[5] bit[4] Function 0 0 GPIO (default) 0 1 HPMODE – Note 1 0 Reserved 1 1 Reserved See Note 8-19 below. 6,7 GP23 Alternate Function Select bit[7] bit[6] Function 0 0 GPIO (default) 0 1 LED2 1 0 IRQIN2 (Note) 1 1 Reserved See Note 8-20 below. Note: If the Alternate Function is selected, the corresponding bits in the “GPIO Direction Registers” and ”GPIO Polarity Registers” must be configured accordingly. Note 8-19 HPMODE is programmable in the IRQIN1/HPMODE/SIRQ_CLKRUN_En Configuration Register at offset CR29. The default HPMODE is the IRMODE function. Note 8-20 See Application Note in Section 6.9.2, "Routable IRQ Inputs". 2016 Microchip Technology Inc. DS00002120A-page 93 SCH3221 8.4.67 CR47 CR47 is reserved. The default value of this register after power up is 00H. 8.4.68 CR48 CR48 can only be accessed in the configuration state and after the CSR has been initialized to 48H. The bits in this register are used to select an alternate function of GP30-GP33 pins. TABLE 8-54: CR48 GPIO ALTERNATE FUNCTION SELECT REGISTER 5 TYPE: R/W DEFAULT: 0x00 on VTR POR Bit No. Bit Name 0,1 GP30 Alternate Function Select bit[1] bit[0] Function 0 0 GPIO (default) 0 1 nRI3 1 0 Reserved 1 1 Reserved 2,3 GP31 Alternate Function Select bit[3] bit[2] Function 0 0 GPIO (default) 0 1 nDCD3 1 0 Reserved 1 1 Reserved 4,5 GP32 Alternate Function Select bit[5] bit[4] Function 0 0 GPIO (default) 0 1 nRXD3 1 0 Reserved 1 1 Reserved 6,7 GP33 Alternate Function Select bit[7] bit[6] Function 0 0 GPIO (default) 0 1 nTXD3 1 0 Reserved 1 1 Reserved Note: Description If the Alternate Function is selected, the corresponding bits in the “GPIO Direction Registers” and ”GPIO Polarity Registers” must be configured accordingly. DS00002120A-page 94 2016 Microchip Technology Inc. SCH3221 8.4.69 CR49 CR49 can only be accessed in the configuration state and after the CSR has been initialized to 49H. The bits in this register are used to select an alternate function of GP34-GP37 pins. TABLE 8-55: CR49 GPIO ALTERNATE FUNCTION SELECT REGISTER 6 TYPE: R/W DEFAULT: 0x00 on VTR POR Bit No. Bit Name 0,1 GP34 Alternate Function Select bit[1] bit[0] Function 0 0 GPIO (default) 0 1 nDSR3 1 0 Reserved 1 1 Reserved 2,3 GP35 Alternate Function Select bit[3] bit[2] Function 0 0 GPIO (default) 0 1 nRTS3 1 0 Reserved 1 1 Reserved 4,5 GP36 Alternate Function Select bit[5] bit[4] Function 0 0 GPIO (default) 0 1 nCTS3 1 0 Reserved 1 1 Reserved 6,7 GP37 Alternate Function Select bit[7] bit[6] Function 0 0 GPIO (default) 0 1 nDTR3 1 0 Reserved 1 1 Reserved Note: Description If the Alternate Function is selected, the corresponding bits in the “GPIO Direction Registers” and ”GPIO Polarity Registers” must be configured accordingly. 2016 Microchip Technology Inc. DS00002120A-page 95 SCH3221 8.4.70 CR4A CR4A can only be accessed in the configuration state and after the CSR has been initialized to 4AH. The bits in this register are used to select an alternate function of GP40-GP43 pins. TABLE 8-56: CR4A GPIO ALTERNATE FUNCTION SELECT REGISTER 7 TYPE: R/W DEFAULT: 0x00 on VTR POR Bit No. Bit Name 0,1 GP40 Alternate Function Select bit[1] bit[0] Function 0 0 GPIO (default) 0 1 nRI4 1 0 Reserved 1 1 Reserved 2,3 GP41 Alternate Function Select bit[3] bit[2] Function 0 0 GPIO (default) 0 1 nDCD4 1 0 Reserved 1 1 Reserved 4,5 GP42 Alternate Function Select bit[5] bit[4] Function 0 0 GPIO (default) 0 1 nRXD4 1 0 Reserved 1 1 Reserved 6,7 GP43 Alternate Function Select bit[7] bit[6] Function 0 0 GPIO (default) 0 1 nTXD4 1 0 Reserved 1 1 Reserved Note: Description If the Alternate Function is selected, the corresponding bits in the “GPIO Direction Registers” and ”GPIO Polarity Registers” must be configured accordingly. DS00002120A-page 96 2016 Microchip Technology Inc. SCH3221 8.4.71 CR4B CR4B can only be accessed in the configuration state and after the CSR has been initialized to 4BH. The bits in this register are used to select an alternate function of GP44-GP47 pins. TABLE 8-57: CR4B GPIO ALTERNATE FUNCTION SELECT REGISTER 8 TYPE: R/W DEFAULT: 0x00 on VTR POR Bit No. Bit Name 0,1 GP44 Alternate Function Select bit[1] bit[0] Function 0 0 GPIO (default) 0 1 nDSR4 1 0 Reserved 1 1 Reserved 2,3 GP45 Alternate Function Select bit[3] bit[2] Function 0 0 GPIO (default) 0 1 nRTS4 1 0 Reserved 1 1 Reserved 4,5 GP46 Alternate Function Select bit[5] bit[4] Function 0 0 GPIO (default) 0 1 nCTS4 1 0 Reserved 1 1 Reserved 6,7 GP47 Alternate Function Select bit[7] bit[6] Function 0 0 GPIO (default) 0 1 nDTR4 1 0 Reserved 1 1 Reserved Note: Description If the Alternate Function is selected, the corresponding bits in the “GPIO Direction Registers” and ”GPIO Polarity Registers” must be configured accordingly. 2016 Microchip Technology Inc. DS00002120A-page 97 SCH3221 8.4.72 CR4C CR4C can only be accessed in the configuration state and after the CSR has been initialized to 4CH. The bits in this register are used to select an alternate function of GP50-GP53 pins. TABLE 8-58: CR4C GPIO ALTERNATE FUNCTION SELECT REGISTER 9 TYPE: R/W DEFAULT: 0x00 on VTR POR Bit No. Bit Name 0,1 GP50 Alternate Function Select bit[1] bit[0] Function 0 0 GPIO (default) 0 1 nRI2 1 0 Reserved 1 1 Reserved 2,3 GP51 Alternate Function Select bit[3] bit[2] Function 0 0 GPIO (default) 0 1 nDCD2 1 0 Reserved 1 1 Reserved 4,5 GP52 Alternate Function Select bit[5] bit[4] Function 0 0 GPIO (default) 0 1 RXD2/IRRX 1 0 Reserved 1 1 Reserved 6,7 GP53 Alternate Function Select bit[7] bit[6] Function 0 0 GPIO (default) 0 1 TXD2/IRTX 1 0 Reserved 1 1 Reserved Note: Description If the Alternate Function is selected, the corresponding bits in the “GPIO Direction Registers” and ”GPIO Polarity Registers” must be configured accordingly. DS00002120A-page 98 2016 Microchip Technology Inc. SCH3221 8.4.73 CR4D CR4D can only be accessed in the configuration state and after the CSR has been initialized to 4DH. The bits in this register are used to select an alternate function of GP54-GP57 pins. TABLE 8-59: CR4D GPIO ALTERNATE FUNCTION SELECT REGISTER 10 TYPE: R/W DEFAULT: 0x00 on VTR POR Bit No. Bit Name 0,1 GP54 Alternate Function Select bit[1] bit[0] Function 0 0 GPIO (default) 0 1 nDSR2 1 0 Reserved 1 1 Reserved 2,3 GP55 Alternate Function Select bit[3] bit[2] Function 0 0 GPIO (default) 0 1 nRTS2 1 0 Reserved 1 1 Reserved 4,5 GP56 Alternate Function Select bit[5] bit[4] Function 0 0 GPIO (default) 0 1 nCTS2 1 0 Reserved 1 1 Reserved 6,7 GP57 Alternate Function Select bit[7] bit[6] Function 0 0 GPIO (default) 0 1 nDTR2 1 0 Reserved 1 1 Reserved Note: 8.4.74 Description If the Alternate Function is selected, the corresponding bits in the “GPIO Direction Registers” and ”GPIO Polarity Registers” must be configured accordingly. CR4E CR4E is reserved. The default value of this register after power up is 00H. 8.4.75 CR4F CR4F is reserved. The default value of this register after power up is 01H. 8.4.76 CR50 CR50 is reserved. The default value of this register after power up is 00H. 8.4.77 CR51 CR51 is reserved. The default value of this register after power up is 01H. 2016 Microchip Technology Inc. DS00002120A-page 99 SCH3221 8.4.78 CR52 CR52 is reserved. The default value of this register after power up is 00H. 8.4.79 CR53 CR53 is reserved. The default value of this register after power up is 8CH. 8.4.80 CR54 CR54 is reserved. The default value of this register after power up is undefined. 8.5 Logical Device Base I/O Address and Range TABLE 8-60: I/O BASE ADDRESS CONFIGURATION REGISTER DESCRIPTION Logical Device Register Index Serial Port 1 0x24 Base I/O Range (Note 8-21) [0x0100:0x03F8] on 8 byte boundaries Fixed Base Off Sets +0 : RB/TB/LSB div +1 : IER/MSB div +2 : IIR/FCR +3 : LCR +4 : MCR +5 : LSR +6 : MSR +7 : SCR Serial Port 2 0x25 [0x0100:0x03F8] on 8-byte boundaries +0 : RB/TB/LSB div +1 : IER/MSB div +2 : IIR/FCR +3 : LCR +4 : MCR +5 : LSR +6 : MSR +7 : SCR 0x2B (FIR/CIR) Runtime Register Block 0x30 [0x100:0x07F8] on 8-byte boundaries [0x0100:0x0FE0] on 32-byte boundaries DS00002120A-page 100 +0 : DR/SCEA/CIRC/IDH/(IRDACR/BOFH) +1 : INTID/SCEB/CIRCR/IDL/BOFL +2 : IER/FIFOT/CIRBR/CID/BWCL +3 : LSR/LSA/VERN/(BWCH/TDSH) +4 : LCA/(IRQL/DMAC)/TDSL +5 : LCB/RDSH +6 : BS/RDSL +7 : MCR +00 : PME_STS . . . +1B : PME_EN4 (See Table 7-1 in Section 7.0, "Runtime Registers" for Full List) 2016 Microchip Technology Inc. SCH3221 TABLE 8-60: I/O BASE ADDRESS CONFIGURATION REGISTER DESCRIPTION (CONTINUED) Logical Device Register Index Config. Port 0x12, 0x13 Base I/O Range (Note 8-21) [0x0100:0x07FE] on 2-byte boundaries Serial Port 3 0x1B [0x0100:0x03F8] on 8 byte boundaries Fixed Base Off Sets See Configuration Registers in Section 8.3, "Configuration Registers Summary," on page 63. They are accessed through the index and DATA ports located at the Configuration Port address and the Configuration Port address +1 respectively. +0 : RB/TB/LSB div +1 : IER/MSB div +2 : IIR/FCR +3 : LCR +4 : MCR +5 : LSR +6 : MSR +7 : SCR Serial Port 4 0x1C [0x0100:0x03F8] on 8 byte boundaries Note 8-21 8.6 1. +0 : RB/TB/LSB div +1 : IER/MSB div +2 : IIR/FCR +3 : LCR +4 : MCR +5 : LSR +6 : MSR +7 : SCR The Configuration Port is at either 0x02E or 0x04E (for SYSOPT=0 or SYSOPT=1) at power up and can be relocated via CR12 and CR13. Note A. Logical Device IRQ and DMA Operation IRQ and DMA Enable and Disable: Any time the IRQ or DMA channel for a logical block is disabled by a register bit in that logical block, the IRQ and/or DMA channel is disabled. This is in addition to the IRQ and DMA channel disabled by the Configuration Registers (active bit or address not valid). a) Serial Ports: Modem Control Register (MCR) Bit D2 (OUT2) - When OUT2 is a logic "0", the serial port interrupts disabled. Disabling DMA Enable bit, disables DMA for UART2. Refer to the IrCC specification. 2016 Microchip Technology Inc. DS00002120A-page 101 SCH3221 9.0 OPERATIONAL DESCRIPTION 9.1 Maximum Ratings Operating Temperature Range (Industrial) .....................................................................................................-40oC to +85oC Operating Temperature Range (Commercial) ................................................................................................... 0oC to +70oC Storage Temperature Range........................................................................................................................... -55o to +150oC Lead Temperature Range .................................................................................................Refer to JEDEC Spec. J-STD-020 Positive Voltage on any pin, with respect to Ground ...............................................................................................VCC+0.3V Negative Voltage on any pin, with respect to Ground..................................................................................................... -0.3V Maximum VCC................................................................................................................................................................. +5.5V Note: • Stresses above those listed above could cause permanent damage to the device. This is a stress rating only and functional operation of the device at any other condition above those indicated in the operation sections of this specification is not implied. • When powering this device from laboratory or system power supplies, it is important that the Absolute Maximum Ratings not be exceeded or device failure can result. Some power supplies exhibit voltage spikes on their outputs when the AC power is switched on or off. In addition, voltage transients on the AC power line may appear on the DC output. If this possibility exists, it is suggested that a clamp circuit be used. 9.2 DC Electrical Characteristics (TA Industrial = -40C – 85C, VCC = +3.3 V ± 10%) (TA Commercial = 0C – 70C, VCC = +3.3 V ± 10%) Parameter Symbol MIN TYP MAX Units 0.8 V Comments I Type Input Buffer Low Input Level VILI High Input Level VIHI 2.0 TTL Levels V IS Type Input Buffer Low Input Level VILIS High Input Level VIHIS Schmitt Trigger Hysteresis VHYS 0.8 2.2 100 V Schmitt Trigger V Schmitt Trigger mV IPD Type Input Buffer Low Input Level VILIPD High Input Level VIHIPD Internal Pulldown DS00002120A-page 102 0.8 2.0 V TTL Levels V 30 A 2016 Microchip Technology Inc. SCH3221 Parameter Symbol MIN IIL IIH TYP MAX Units Comments -10 +10 µA VIN = 0 -10 +10 µA VIN = VCC 0.4 V IOL = 6mA V IOH = -3mA V IOL = 8mA V IOH = -4mA Input Leakage, I and IS Buffers Low Input Leakage High Input Leakage O6 Type Buffer Low Output Level VOL High Output Level VOH 2.4 IO8 Type Buffer Low Output Level VOL High Output Level VOH Leakage Current ILEAK 0.4 2.4 10 µA VIN = 0 to VCC (Note 9-1) O8 Type Buffer Low Output Level VOL High Output Level VOH 0.4 2.4 V IOL = 8mA V IOH = -4mA OD8 Type Buffer Low Output Level VOL 0.4 V IOL = 8mA Leakage Current ILEAK +10 µA VIN = 0 to VCC Low Output Level VOL 0.4 V IOL = 12mA High Output Level VOH V IOH = -6mA V IOL = 12mA V IOH = -6mA O12 Type Buffer 2.4 IO12 Type Buffer Low Output Level VOL High Output Level VOH Leakage Current ILEAK 0.4 2.4 10 µA VIN = 0 to VCC (Note 9-1) OD12 Type Buffer Low Output Level VOL 0.4 V IOL = 12mA Leakage Current ILEAK +10 µA VIN = 0 to VCC 2016 Microchip Technology Inc. DS00002120A-page 103 SCH3221 Parameter Symbol MIN TYP MAX Units Comments OD14 Type Buffer Low Output Level VOL 0.4 V IOL = 14mA Leakage Current ILEAK +10 µA VIN = 0 to VCC Low Output Level VOL 0.4 V IOL = 14mA High Output Level VOH V IOH = -14mA Leakage Current ILEAK OP14 Type Buffer 2.4 +10 µA VIN = 0 to VCC (Note 9-1) IOP14 Type Buffer Low Output Level VOL High Output Level VOH Leakage Current ILEAK 0.4 2.4 10 V IOL = 14mA V IOH = -14mA µA VIN = 0 to VCC (Note 9-1) Backdrive Protect/ChiProtect (All pins excluding LAD[3:0], LDRQ#, LPCPD#, LFRAME#) IIL 5V Tolerant Pins (All pins excluding LAD[3:0], LDRQ#, LPCPD#, LFRAME#) Inputs and Outputs in High Impedance State IIL LPC Bus Pins (LAD[3:0], LDRQ#, LPCPD#, LFRAME#) IIL VCC Supply Current Active ICC Trickle Supply Voltage VTR ± 10 µA VIN = 5.5V Max ± 10 µA VCC = 3.3V VIN = 5.5V Max ± 10 µA VCC = 0V and VCC = 3.3V VIN = 3.6V Max VCC min 17 mA VCC max V -.5V (Note 9-3) VTR Supply Current Active VCC = 0V ITR 0.2 (Note 9-2) mA All outputs open, all inputs transitioning from/ to 0V to/from 3.3V VCC must not be greater than .5V above VTR All outputs open, all inputs transitioning from/ to 0V to/from 3.3V Note 9-1 All output leakages are measured with all pins in high impedance. Note 9-2 Max ITR with VCC = 3.3V (nominal) is 0.2mA. Max ITR with VCC = 0V (nominal) is 60µA. The minimum value given for VTR applies when VCC is active. When VCC is 0V, the minimum VTR is 0V. Note 9-3 DS00002120A-page 104 2016 Microchip Technology Inc. SCH3221 CAPACITANCE TA = 25C; fc = 1MHz; VCC = 3.3V ±10% Limits Parameter Symbol Units MIN TYP Clock Input Capacitance CIN 20 pF Input Capacitance CIN 10 pF Output Capacitance COUT 20 pF 2016 Microchip Technology Inc. Test Condition MAX All pins except pin under test tied to AC ground DS00002120A-page 105 SCH3221 10.0 TIMING DIAGRAMS For the Timing Diagrams shown, the following capacitive loads are used on outputs. Name Capacitance Total (pF) SER_IRQ 50 nLAD[3:0] 50 LDRQ# 50 TXD1 50 TXD2 50 CLKRUN# 50 10.1 Power-up Timing FIGURE 10-1: POWER-UP TIMING t1 t2 V cc t3 A ll H o s t A ccesses Name Description MIN TYP MAX Units t1 Vcc Slew from 2.7V to 0V 300 µs t2 Vcc Slew from 0V to 2.7V 100 µs t3 All Host Accesses After Powerup (Internal write- 125 Note 10-1 500 µs Internal write-protection period after Vcc passes 2.7 volts on power-up. DS00002120A-page 106 2016 Microchip Technology Inc. SCH3221 10.2 Input Clock Timing. FIGURE 10-2: 14MHZ CLOCK TIMING t1 CLOCKI Name t2 Description t2 MIN t1 Clock Cycle Time for 14.318MHZ t2 Clock High Time/Low Time for 14.318MHz 20 TYP Units 69.84 ns 35 ns Clock Rise Time/Fall Time (not shown) FIGURE 10-3: MAX 5 ns MAX Units 33.3 nsec PCI CLOCK TIMING PCI_CLK Name t1 t5 Description t3 t4 t2 MIN TYP t1 Period 30 t2 High Time 12 nsec t3 Low Time 12 nsec t4 Rise Time 3 nsec t5 Fall Time 3 nsec 2016 Microchip Technology Inc. DS00002120A-page 107 SCH3221 10.3 LPC Timing FIGURE 10-4: RESET TIMING t1 nPCI_RESET Name t1 Description MIN PCI_RESET# width FIGURE 10-5: TYP MAX 1 Units ms OUTPUT TIMING MEASUREMENT CONDITIONS, LPC SIGNALS CLK t1 Output Delay t2 t3 Tri-State Output Name Description MIN TYP MAX Units t1 CLK to Signal Valid Delay – Bused Signals 2 11 ns t2 Float to Active Delay 2 11 ns t3 Active to Float Delay 28 ns MAX Units FIGURE 10-6: INPUT TIMING MEASUREMENT CONDITIONS, LPC SIGNALS t1 t2 CLK Inputs Valid Input Name Description MIN TYP t1 Input Set Up Time to CLK – Bused Signals 7 ns t2 Input Hold Time from CLK 0 ns DS00002120A-page 108 2016 Microchip Technology Inc. SCH3221 FIGURE 10-7: I/O WRITE PCI_CLK LFRAME# LAD[3:0]# Note: L1 L2 Address Data TAR Sync=0110 L3 TAR L1=Start; L2=CYCTYP+DIR; L3=Sync of 0000 FIGURE 10-8: I/O READ PCI_CLK LFRAME# LAD[3:0]# Note: L1 L2 Address TAR Sync=0110 L3 Data TAR L1=Start; L2=CYCTYP+DIR; L3=Sync of 0000 FIGURE 10-9: DMA REQUEST ASSERTION THROUGH LDRQ# PCI_CLK LDRQ# FIGURE 10-10: Start MSB LSB ACT DMA WRITE (FIRST BYTE) PCI_CLK LFRAME# LAD[3:0]# Note: Start C+D CHL Size TAR Sync=0101 L1 Data TAR L1=Sync of 0000 2016 Microchip Technology Inc. DS00002120A-page 109 SCH3221 FIGURE 10-11: DMA READ (FIRST BYTE) PCI_CLK LFRAME# LAD[3:0]# Note: Start C+D CHL Size Data TAR Sync=0101 L1 TAR L1=Sync of 0000 DS00002120A-page 110 2016 Microchip Technology Inc. SCH3221 10.4 IR Timing FIGURE 10-12: IRDA RECEIVE TIMING DATA 0 1 0 1 0 0 1 1 0 1 1 t2 t1 t2 t1 IRRX n IRRX Pa rame ter t1 t1 t1 t1 t1 t1 t1 t2 t2 t2 t2 t2 t2 t2 Pulse Width at 1 15kba ud Pul se Wid th at 57.6kba ud Pul se Wid th at 38.4kba ud Pul se Wid th at 19.2kba ud Pu lse Wi dth a t 9.6kba ud Pu lse Wi dth a t 4.8kba ud Pu lse Wi dth a t 2.4kba ud Bit Time at 1 15kba ud Bit Time at 57.6kba ud Bit Time at 38.4kba ud Bit Time at 19.2kba ud Bi t Ti me a t 9.6kba ud Bi t Ti me a t 4.8kba ud Bi t Ti me a t 2.4kba ud min ty p m ax units 1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.6 3.22 4.8 9.7 19.5 39 78 8.68 17.4 26 52 1 04 2 08 4 16 2.71 3.69 5.53 1 1.07 2 2.13 4 4.27 8 8.55 µs µs µs µs µs µs µs µs µs µs µs µs µs µs No te s: 1. Recei ve Pu lse Detection C ri te ria: A re ceived p ulse is consi dered d etecte d if the receive d p ulse is a mini mum o f 1.41µ s. 2. IR RX: L5, CRF1 Bit 0 = 1 nIRRX: L5, CRF1 Bi t 0 = 0 (defaul t) 2016 Microchip Technology Inc. DS00002120A-page 111 SCH3221 FIGURE 10-13: DAT A IRDA TRANSMIT TIMING 0 1 0 t2 t1 t2 t1 1 0 0 1 1 1 0 1 IRT X n IRT X Parameter t1 t1 t1 t1 t1 t1 t1 t2 t2 t2 t2 t2 t2 t2 Pulse Width at 115kbaud Pulse Widt h at 57. 6kbaud Pulse Widt h at 38. 4kbaud Pulse Widt h at 19. 2kbaud Pulse Width at 9. 6kbaud Pulse Width at 4. 8kbaud Pulse Width at 2. 4kbaud Bit T ime at 115kbaud Bit Tim e at 57.6kbaud Bit Tim e at 38.4kbaud Bit Tim e at 19.2kbaud Bit Tim e at 9.6kbaud Bit Tim e at 4.8kbaud Bit Tim e at 2.4kbaud min typ max 1.41 1.41 1.41 1.41 1.41 1.41 1.41 1.6 3.22 4.8 9.7 19.5 39 78 8.68 17.4 26 52 104 208 416 2.71 3.69 5.53 11.07 22.13 44.27 88.55 u nits µs µs µs µs µs µs µs µs µs µs µs µs µs µs Notes: 1. IrDA @ 115k i s HPSIR compati ble. IrDA @ 2400 wi ll al low compatibilit y with HP95LX and 48SX. 2. IRT X: L5, CRF 1 Bit 1 = 1 (default) nIRT X: L5, CRF1 Bit 1 = 0 DS00002120A-page 112 2016 Microchip Technology Inc. SCH3221 FIGURE 10-14: AMPLITUDE SHIFT KEYED IR RECEIVE TIMING DAT A 0 1 t1 0 1 0 0 1 1 0 1 1 t2 IRRX n IRRX t3 t4 t5 t6 M IRRX nM IRRX Pa ramet er min typ max units t1 M odu lated Out put Bit T ime t2 Off Bit T ime t3 M odu lated Outp ut " On" 0.8 1 1.2 µs t4 M odu lated Out put " Off" 0.8 1 1.2 µs t5 M odu lated Outp ut " On" 0.8 1 1.2 µs t6 M odu lated Out put " Off" 0.8 1 1.2 µs µs µs Note s: 1 . IRRX: L 5, CRF 1 Bit 0 = 1 n IRRX: L5 , CRF 1 Bit 0 = 0 (de fault) M IRRX, nMI RRX are the mod ulate d ou tpu ts 10.5 Serial IRQ Timing FIGURE 10-15: SETUP AND HOLD TIME PCI_CLK t1 t2 SER_IRQ Name Description MIN TYP MAX Units t1 SER_IRQ Setup Time to PCI_CLK Rising 7 nsec t2 SER_IRQ Hold Time to PCI_CLK Rising 0 nsec 2016 Microchip Technology Inc. DS00002120A-page 113 SCH3221 10.6 UART Timing FIGURE 10-16: SERIAL PORT DATA Data Start TXD1, 2 Name t1 Description Serial Port Data Bit Time Note 10-2 Data (5-8 Bits) t1 MIN Parity Stop (1-2 Bits) TYP tBR (Note 10-2) MAX Units nsec tBR is 1/Baud Rate. The Baud Rate is programmed through the divisor latch registers. Baud Rates have percentage errors indicated in the “Baud Rate” table in the “Serial Port” section. DS00002120A-page 114 2016 Microchip Technology Inc. SCH3221 11.0 XNOR-CHAIN TEST MODE The SCH3221 provides board test capability through the implementation of XNOR chain. See following sub-sections. XNOR-Chain test structure allows users to confirm that all pins are in contact with the motherboard during assembly and test operations. See Figure 11-1 below. When the chip is in the XNOR chain test mode, setting the state of any of the input pins to the opposite of its current state will cause the output of the chain to toggle. The XNOR-Chain test structure must be activated to perform these tests. When the XNOR-Chain is activated, the SCH3221 pin functions are disconnected from the device pins, which all become input pins except for one output pin at the end of XNOR-Chain. The tests that are performed when the XNOR-Chain test structure is activated require the board-level test hardware to control the device pins and observe the results at the XNOR-Chain output pin. FIGURE 11-1: I/O#1 11.1 XNOR-CHAIN TEST STRUCTURE I/O#2 I/O#3 I/O#n XNor Out Pin List of XNOR Chain Pins on the chip are inputs to the first XNOR chain, with the exception of the following: 1. 2. 3. 4. Power pins VCC and VTR Ground pins VSS PCI_RESET# nIO_PME: This is the chain output. Note that the pin named TEST is in fact one of the XNOR chain inputs, and for this purpose it is not special. 11.2 Setup of XNOR Chain WARNING: Ensure power supply is off during setup. 1. 2. 3. 4. 5. Connect VSS pins to ground. Connect VCC pins and VTR pin to VCC (a 3.3V source). Keep these voltages off for now. Connect test equipment to monitor output on nIO_PME pin. Hold PCI_RESET# to ground. All other pins should be held to ground. 2016 Microchip Technology Inc. DS00002120A-page 115 SCH3221 11.3 1. Testing Procedure Turn power on, on all VTR and VCC pins. 2. Put the chip in XNOR chain test mode: • Tie pins LAD0 and LFRAME# low. • Then toggle PCI_RESET# from a low to a high state. • Once the chip is put into XNOR chain test mode, LAD0 and LFRAME# become part of the chain. 3. The chip is now in XNOR chain test mode. The output, on nIO_PME, will reflect the XNOR function of all the input pins, toggling as individual pins are toggled, in any desired order. 4. To exit XNOR chain test mode: • Tie LAD0 or LFRAME# high. • Then toggle PCI_RESET# from a low to a high state. Note: A VCC POR will also cause the XNOR chain test mode to be exited, regardless of the Mode. To verify the test mode has been exited, observe the output at nIO_PME. Toggling any of the input pins in the chain should not cause its state to change. DS00002120A-page 116 2016 Microchip Technology Inc. SCH3221 12.0 Note: PACKAGE OUTLINE For the most current package drawings, see the Microchip Packaging Specification at http://www.microchip.com/packaging. FIGURE 12-1: 64-PIN WFBGA PACKAGE OUTLINE 2016 Microchip Technology Inc. DS00002120A-page 117 SCH3221 APPENDIX A: TABLE A-1: DATA SHEET REVISION HISTORY REVISION HISTORY Revision DS00002120A (02-29-16) DS00002120A-page 118 Section/Figure/Entry Correction Document Release 2016 Microchip Technology Inc. SCH3221 THE MICROCHIP WEB SITE Microchip provides online support via our WWW site at www.microchip.com. This web site is used as a means to make files and information easily available to customers. Accessible by using your favorite Internet browser, the web site contains the following information: • Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s guides and hardware support documents, latest software releases and archived software • General Technical Support – Frequently Asked Questions (FAQ), technical support requests, online discussion groups, Microchip consultant program member listing • Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives CUSTOMER CHANGE NOTIFICATION SERVICE Microchip’s customer notification service helps keep customers current on Microchip products. Subscribers will receive e-mail notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest. To register, access the Microchip web site at www.microchip.com. Under “Support”, click on “Customer Change Notification” and follow the registration instructions. CUSTOMER SUPPORT Users of Microchip products can receive assistance through several channels: • • • • Distributor or Representative Local Sales Office Field Application Engineer (FAE) Technical Support Customers should contact their distributor, representative or field application engineer (FAE) for support. Local sales offices are also available to help customers. A listing of sales offices and locations is included in the back of this document. Technical support is available through the web site at: http://www.microchip.com/support 2016 Microchip Technology Inc. DS00002120A-page 119 SCH3221 PRODUCT IDENTIFICATION SYSTEM To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office. PART NO. [X] Device Temperature Range Device: SCH3221 Temperature Range: Blank I Package: 7U Tape and Reel Option: Blank TR = 0C to = -40C to = - XX Package +70C +85C - [XX] Tape and Reel Option Examples: c) SCH3221-7U Commercial temperature, 64-pin WFBGA, Tray d) SCH3221I-7U-TR Industrial temperature, 64-pin WFBGA, Tape & Reel (Commercial) (Industrial) 64-pin WFBGA = Standard packaging (tray) = Tape and Reel (Note 1) Note DS00002120A-page 120 1: Tape and Reel identifier only appears in the catalog part number description. This identifier is used for ordering purposes and is not printed on the device package. Check with your Microchip Sales Office for package availability with the Tape and Reel option. 2016 Microchip Technology Inc. SCH3221 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 unless otherwise stated. Trademarks The Microchip name and logo, the Microchip logo, AnyRate, dsPIC, FlashFlex, flexPWR, Heldo, JukeBlox, KeeLoq, KeeLoq logo, Kleer, LANCheck, LINK MD, 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. ClockWorks, The Embedded Control Solutions Company, ETHERSYNCH, Hyper Speed Control, HyperLight Load, IntelliMOS, mTouch, Precision Edge, and QUIET-WIRE are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, BodyCom, chipKIT, chipKIT logo, CodeGuard, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, EtherGREEN, In-Circuit Serial Programming, ICSP, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, MiWi, motorBench, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PureSilicon, RightTouch logo, REAL ICE, Ripple Blocker, Serial Quad I/O, SQI, SuperSwitcher, SuperSwitcher II, 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. © 2016, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 9781522403333 QUALITYMANAGEMENTSYSTEM CERTIFIEDBYDNV == ISO/TS16949== 2016 Microchip Technology Inc. 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. DS00002120A-page 121 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 China - Xiamen Tel: 86-592-2388138 Fax: 86-592-2388130 Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 China - Zhuhai Tel: 86-756-3210040 Fax: 86-756-3210049 Denmark - Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 India - Bangalore Tel: 91-80-3090-4444 Fax: 91-80-3090-4123 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 India - New Delhi Tel: 91-11-4160-8631 Fax: 91-11-4160-8632 Germany - Dusseldorf Tel: 49-2129-3766400 Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Hong Kong Tel: 852-2943-5100 Fax: 852-2401-3431 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 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 China - Chongqing Tel: 86-23-8980-9588 Fax: 86-23-8980-9500 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 China - Dongguan Tel: 86-769-8702-9880 China - Hangzhou Tel: 86-571-8792-8115 Fax: 86-571-8792-8116 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 China - Hong Kong SAR Tel: 852-2943-5100 Fax: 852-2401-3431 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934 China - Nanjing Tel: 86-25-8473-2460 Fax: 86-25-8473-2470 Malaysia - Kuala Lumpur Tel: 60-3-6201-9857 Fax: 60-3-6201-9859 China - Qingdao Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 Malaysia - Penang Tel: 60-4-227-8870 Fax: 60-4-227-4068 China - Shanghai Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 Philippines - Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069 China - Shenyang Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 China - Shenzhen Tel: 86-755-8864-2200 Fax: 86-755-8203-1760 Taiwan - Hsin Chu Tel: 886-3-5778-366 Fax: 886-3-5770-955 China - Wuhan Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 Taiwan - Kaohsiung Tel: 886-7-213-7828 China - Xian Tel: 86-29-8833-7252 Fax: 86-29-8833-7256 Germany - Karlsruhe Tel: 49-721-625370 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Italy - Venice Tel: 39-049-7625286 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 Poland - Warsaw Tel: 48-22-3325737 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 - Taipei Tel: 886-2-2508-8600 Fax: 886-2-2508-0102 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 07/14/15 DS00002120A-page 122 2016 Microchip Technology Inc.