USB Thumb Drive Designer Reference Manual HCS12 Microcontrollers DRM061 Rev. 0 9/2004 freescale.com USB Thumb Drive Designer Reference Manual by: Kenny Lam, Derek Lau, and Dennis Lui Applications Engineering Microcontroller Division Hong Kong To provide the most up-to-date information, the revision of our documents on the World Wide Web will be the most current. Your printed copy may be an earlier revision. To verify you have the latest information available, refer to: http://www.freescale.com/ Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. This product incorporates SuperFlash® technology licensed from SST. © Freescale Semiconductor, Inc., 2004. All rights reserved. USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 3 Revision History The following revision history table summarizes changes contained in this document. For your convenience, the page number designators have been linked to the appropriate location. Revision History Date Revision Level September, 2004 N/A Description Initial release Page Number(s) N/A USB Thumb Drive Designer Reference Manual, Rev. 0 4 Freescale Semiconductor Table of Contents Chapter 1 System Overview 1.1 1.2 1.3 1.4 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mass Storage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 8 8 Chapter 2 Basic Function 2.1 2.2 2.3 2.4 2.5 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Plug and Play. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Read and Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Write-Protect Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Unplug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Chapter 3 Hardware 3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UF32 Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NAND Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Voltage Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Integrated Queue Module (IQUE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 13 13 14 14 Chapter 4 Firmware 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 System Software Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UF32 Memory Mapping for Thumb Drive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical to Physical interrelation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical to Physical Block Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Physical Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical to Physical Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SCSI Command Handling Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SCSI Command Read Packet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SCSI Command Write Packet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UF32 Thumb Drive Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 16 17 17 18 18 19 19 20 21 22 22 USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 5 Table of Contents Chapter 5 Testing and Customizing 5.1 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Customizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1.1 NAND Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2.1 NAND Flash Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 23 23 23 23 23 USB Thumb Drive Designer Reference Manual, Rev. 0 6 Freescale Semiconductor Chapter 1 System Overview 1.1 Introduction This manual describes a reference design of USB2.0 Thumb Drive solution by using the MC9S12UF32 microcontroller. The whole system consists of a NAND Flash memory and MC9S12UF32. All hardware schematic diagrams and firmware source codes are available as reference materials. 1.2 Features • • • • • USB2.0 high speed and full speed compliance Windows 2000 and Windows XP compatible No specific driver required Small size and easy to use Store all your data, pictures, music, and movies Figure 1-1. Enlarged Photograph of the USB Thumb Drive Reference Design USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 7 System Overview 1.3 System Overview THUMB DRIVE Personal Computer USB2.0 Interface SmartMedia Interface NAND Flash Memory Figure 1-2. System Overview The system consists of two functional devices: the MC9S12UF32 (hereafter referred as UF32) and the NAND Flash memory chip. The overall system operation, I/O interface, and power are controlled by MCU. 1.4 Mass Storage In data write to NAND Flash, the data transmits with the Logical Block Address (hereafter referred as LBA) from the PC via USB2.0 interface to the UF32 Integrated Queue (hereafter referred as IQUE) RAM as a buffer, which will transmit the data to NAND Flash once the buffer is full. In data read from NAND Flash, the data received from NAND Flash to UF32 IQUE RAM as a buffer, which will transmit the data to PC via USB2.0 interface. UF32 also builds the logical block to physical block table for the logical to physical block conversion for read/write operation. USB Thumb Drive Designer Reference Manual, Rev. 0 8 Freescale Semiconductor Chapter 2 Basic Function 2.1 Introduction A Thumb Drive is designed as the mass storage for the data read and write via PC USB2.0 host. The basic functions are required as below: 1. Plug & Play 2. Read and Write 3. Write-Protect Switch 4. Unplug 2.2 Plug and Play When you plug the device into the USB port of your computer, you will see a “Removable Disk” icon in the file manager window. Figure 2-1. Removable Disk Figure 2-1 shows the Removable Disk as F: drive since this system’s CD-ROM is assigned as E: drive. 2.3 Read and Write You can retrieve or store files in the device as a hard disk. The read/write operation of the device is the same as that of a hard disk. USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 9 Basic Function 2.4 Write-Protect Switch When you move the write-protect switch to the “ON” position, you cannot write any files into the Thumb Drive. You still can view and read the files in the device. The “Write-Protect” switch can only be activated when the Thumb Drive is plugged in the computer’s USB port. 2.5 Unplug You can remove the device after you finish the action with the device. However, in Windows ME and Windows 2000, please follow the safe removal procedure. You can find a safe removal icon on your computer’s notification area. Double click the “safe removal” icon; the “Unplug or Eject Hardware” window will be pop up. You can select the device you want to remove. Then, click the [Stop] button. After that you can unplug the device from the USB port of your computer. When you want to remove the USB FLASH DRIVE device, make sure the LED is not flashing. When the LED flashes quickly, there are some traffic on going between the OS and the USB FLASH DRIVE device. Don’t remove the USB FLASH DRIVE at this moment. Otherwise, it will cause some damages to the data or even the USB FLASH DRIVE device itself. WARNING In Windows ME and Windows 2000 operating systems, you must use the hardware safe removal procedure, otherwise data loss caused by the “write cache” issue may happen. Figure 2-2. Safe Removal Icon Figure 2-2 shows the Safely Remove Hardware icon for user unplug the USB MS device. USB Thumb Drive Designer Reference Manual, Rev. 0 10 Freescale Semiconductor Unplug Figure 2-3. Unplug the USB Mass Storage Device Figure 2-3 shows the Unplug USB Mass Storage device. User has to click it and select “Stop USB Mass Storage Device - Drive (F:)” before physically unplugging the Thumb Drive. USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 11 Basic Function USB Thumb Drive Designer Reference Manual, Rev. 0 12 Freescale Semiconductor Chapter 3 Hardware 3.1 Introduction The UF32 has 32K-bytes of Flash memory, 30MHz bus speed, a Smart Media (hereafter referred as SM) module and appropriate number of I/O pins makes this MCU suited for thumb drive solutions. The main features of the reference design include: • USB interface • 480Mbps data transfer rate • LED display 3.2 System Overview The thumb drive consists of the UF32, the NAND Flash. Figure 3-1 shows the block diagram of the system 9S12UF32 USB2.0 Interface SmartMedia Interface NAND Flash Memory Figure 3-1. Thumb Drive Block Diagram 3.2.1 UF32 Microcontroller The functions of the UF32 are to get the USB Mass Storage (hereafter referred as MS) command from PC via USB 2.0 interface and decodes them for MS read/write. 3.2.2 NAND Flash The TC58DVG02A1 is a single 3.3 V 1-Gbit (1,107,296,256) bit NAND Electrically Erasable and Programmable Read-Only Memory (NAND E2PROM), organized as 528 bytes, 32 pages, and 8192 blocks. The device has a 528-byte static register which allows program and read data to be transferred between the register and the memory cell array in 528-byte increments. The erase operation is implemented in a single block unit (16K-bytes 512 bytes: 528 bytes 32 pages). The TC58DVG02A1 is a serial-type memory device which utilizes the I/O pins for both address and data input/output as well as for command inputs. The erase and program operations are automatically executed making the device most suitable for applications such as solid-state file storage, voice recording, image file memory for still cameras and other systems which require high-density non-volatile memory data storage. USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 13 Hardware 3.2.3 Voltage Configuration 5V 9S12UF32 VDDA 5V PORTE VDDR 5V USB 3V REG REF3V 3V PORTQ NAND Flash Memory PORTM 2.5V 3V VDD3X PORTJ VDD PORTT CORE PORTU PORTS PORTB VDDX 3.3V PORTA Figure 3-2. Voltage Configuration Figure 3-2 shows the voltage configuration for UF32. 3.2.4 Integrated Queue Module (IQUE) S12 CPU IQUEUE allows automatic data transfer without CPU intervention USB IQRAM USB IQUEUE Module IQRAM IQUEUE RAM MSD NAND Flash Memory Figure 3-3. Integrated Queue Module (IQUE) Figure 3-3 shows the Integrated Queue Module (hereafter referred as IQUE). The IQUE module is designed to allow the data transfer to and from between NAND Flash memory and PC host without CPU interruption. It can help to minimize the overhead at CPU side. USB Thumb Drive Designer Reference Manual, Rev. 0 14 Freescale Semiconductor Chapter 4 Firmware 4.1 System Software Architecture MCU Resources (Timer) Mini-Kernel for UF32 Mass Storage Interface Module Mass Storage Device Application Task (Protocol Adapter) SM Protocol Module USB Protocol Layer Figure 4-1. System Software Architecture Figure 4-1 shows the system software architecture for the UF32 Thumb Drive. The mini-kernel is designed for the multi-tasks operation. In this application, mini-kernel is mainly working for the USB event task after system initialization. The initialization subroutines are for the system initialization, such as for timer module, 3.3 voltage regulator, SM module, IQUE module, IQUE RAM mapping, SM RAM for logical to physical look up table and USB module. The main program continually checks the tasks and to serve the event once the request is made. It will decode to invoke the SCSI commands if the request is made from PC via USB2.0 interface. All data will pass through the IQUE RAM and read/write to NAND Flash. USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 15 Firmware 4.2 UF32 Memory Mapping for Thumb Drive $0000 Registers $0800 $0400 $1200 $2000 1K x 10-bit RAM 3.5K RAM 1.5K QRAM 1K x 10-bit RAM $2600 $0FD0 $1000 $17D0 $4000 16K FLASH 1084 BYTES RAM $1BC4 $1FFF SM Mode $8000 NOTES: $C000 16K FLASH $FF00 $FFFF Vectors Normal Mode QRAM is mapped to $2000–$25FF by writing 0x21 to the INITEE register. SM Mode is enabled by setting the SMMODE bit of the SMRAM configuration register. Figure 4-2. UF32 Memory Mapping for Thumb Drive Figure 4-2 shows memory mapping for Thumb Drive application. It is to configure 2K x 10-bit RAM for RAM block 0 ($0800–$0FCF) and RAM block 1 ($1000–$17CF). The system RAM is located from $1BC4 to $1FFF. The firmware is stored to upper flash block $C000–$FFFF. The RAM block (0,1) are designed to store the look up tables for the logical to physical block conversion. The RAM block 0 is to store the conversion table for the physical segment 0 of the NAND Flash, which is to store boot record, FAT table, and directories content. The RAM block 1 is to store the conversion tables for the physical segment 1 to 3 of the NAND Flash for the file data content. USB Thumb Drive Designer Reference Manual, Rev. 0 16 Freescale Semiconductor Logical to Physical interrelation 4.3 Logical to Physical interrelation Logical Structure (LBA) Physical Structure (PBA) Block 1 CIS MBR Sector 0–31 Block 2 MBR PBR, FAT, Dir Sector 32–63 Block 3 PBR, FAT, Dir 002 Cluster Sector 64–95 Block 4 Bad Block 003 Cluster Sector 96–127 Block 5 003 Cluster 004 Cluster Sector 128–159 Block 6 007 Cluster 005 Cluster Sector 160–191 Block 7 002 Cluster 006 Cluster Sector 192–223 Block 8 010 Cluster 007 Cluster Sector 224–225 Block 9 005 Cluster Figure 4-3. Logical to Physical interrelation Figure 4-3 shows the interrelation between PBA and LBA. The cluster is configured as 16K (32 sectors or pages) in the above example. Normally, the cluster can be configured as 1K, 2K, 4K, etc., in FAT16 format. 4.4 Logical to Physical Block Format Thumb Drive Logical Format • Partition Boot Sector (Sector size, Cluster size, Total Cluster, etc.) • File System Management (FAT16) • LBA Concept • Master Boot Sector (MBR) • FAT1, FAT2 • Root Directory Application File File Management Thumb Drive Physical Format • Card Information Structure • Zone Boundary Concept • Logical Block Address (LBA) • ECC Area LBA Device Driver PBA NAND Flash Figure 4-4. Logical to Physical Block Format Figure 4-4 shows the logical to physical block format in the Thumb Drive application. The UF32 is working from the Device Driver down to NAND Flash physical layer. USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 17 Firmware 4.5 Physical Format NAND Flash e.g. 64MB block 0 Block Structure block 1 page 0 block 2 page 1 block 3 page 2 512 bytes Data 16 bytes ExtraDataArea page 31 block 4096 Figure 4-5. Physical Format Figure 4-5 shows the NAND Flash physical relationship between the blocks and the pages (or sectors). The physical block is defined as memory erase unit and the physical page is defined as memory write/read unit. In this case, one physical page has 512 bytes and one physical block has 32 physical pages. 4.6 Logical Format Given that: • FAT size = 249 sectors • Sector/Cluster = 4 • Total sector size = 127495 sectors e.g. 64MB sector 0 Master Boot Sector Sector 0 sector 1 Empty Area Sector 1–54 sector 2 FAT16 Boot Record Sector 55 FAT1 Sector 56–304 FAT2 Sector 305–553 Root Dir Sector 554–587 Data Sector Sector 586–127413 sector 586 sector 587 Cluster 002 sector 588 sector 589 sector 127413 Figure 4-6. Logical Format Figure 4-6 shows the logical format in the Thumb Drive application. FAT16 is selected as the system format, which can be recognized by Windows 2000 and Windows XP. USB Thumb Drive Designer Reference Manual, Rev. 0 18 Freescale Semiconductor Logical to Physical Table 4.7 Logical to Physical Table 0 PBA no. 1 PBA no. 2 PBA no. 3 PBA no. 999 PBA no. Logical Block Address (LBA) 10-bit Figure 4-7. Logical to Physical Address Translation Table Figure 4-7 shows the logical to physical translation table. It reads the ExtraDataArea of physical block of the NAND Flash to retrieve the logical address and store to the table. For high speed processing, it is desirable to construct a table of alternate blocks, as well as the logical/physical translation table. In this firmware, the RAM block 0 is to store the conversion table for the physical segment 0 of the NAND Flash, which is to store boot record, FAT table and directories content. The RAM block 1 is to store the conversion tables for the physical segment 1 to 3 of the NAND Flash for the file data content. 4.8 SCSI Command Handling Flow HOST SENDS OUT CBW OUT DATAx 31 BYTE CBW SCSI COMMAND HANDLING Need to call device driver ? N SmartMedia SM_SCSICommand() USB_MS RETURN PASSED, FAILED, OR PHASE ERROR Figure 4-8. SCSI Command Handling Flow USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 19 Firmware Figure 4-8 shows the flow of the SCSI command handling flow. The host sends the Command Block Wrapper (hereafter referred as CBW) to UF32 via USB2.0 interface. The SCSI command handling firmware will then respond to the host regarding to the corresponding SCSI command. 4.9 SCSI Command Read Packet SCSI COMMAND Read (0x28) Get LBA Update LogToPhyTbl if necessary Decode LBA to PBA Get data from NAND Flash PBA Send out data to host via IQUE Finish to read no. of LBA ? N RTS Figure 4-9. SCSI Command Read Packet Figure 4-9 shows the flow of the SCSI command read packet. The data of the corresponding LBA will be sent to the host via USB2.0 interface once the UF32 receives a SCSI command (0x28). The firmware gets the LBA and determines its corresponding segment for update the logical to physical table “LogToPhyTbl” if necessary. The Physical Block Address (hereafter referred as PBA) can be converted from the “LogToPhyTbl”. The data can be retrieved from NAND Flash according to this PBA by the UF32 and sends them to PC host via USB2.0 interface. USB Thumb Drive Designer Reference Manual, Rev. 0 20 Freescale Semiconductor SCSI Command Write Packet 4.10 SCSI Command Write Packet SCSI COMMAND Write (0x2A) Get LBA Update LogToPhyTbl if necessary Decode LBA to PBA Write data to PBA from unused block Even when updating only one sector/page in a block, be sure to write all pages from the lowest number page Erase the original block Update LogToPhyTbl Finish to write no. of LBA ? N RTS Figure 4-10. SCSI Command Write Packet Figure 4-10 shows the flow of the SCSI command write packet. Similarly, the data of the corresponding LBA will be sent from host via USB2.0 interface through UF32 IQUE module to NAND Flash. The firmware gets the LBA and determines its corresponding segment for update the logical to physical table “LogToPhyTbl” if necessary. The PBA can be converted from the “LogToPhyTbl”. The data can be written to NAND Flash according to this PBA by the UF32 from PC host via USB2.0 interface USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 21 Firmware 4.11 Write Protection The write protection feature is implemented by SCSI mode sense command. The software used PORTS bit 4 to detect whether it’s configured as write protection or not during power up and will keep the status until power-off. Thus, it cannot be changed during runtime to minimize the accidental switch over. 4.12 UF32 Thumb Drive Firmware The UF32 Thumb Drive firmware is to handle the data to and from PC and NAND Flash via IQUE module as read/write operation. Basically, the UF32 CPU does not touch the data while it is being transferred. The data is handled by UF32 IQUE module directly. However, the conversion of LBA and PBA can be done by the UF32 CPU for NAND Flash read/write operation. In read operation, it is a bit simple since the UF32 Thumb Drive firmware only handles the LBA and PBA conversion and it does not care about the physical block and sector/page relationship. In write operation, the UF32 Thumb Drive firmware has to take care of the other 31 pages even when there is only 1 page to be updated since a physical block has 32 sectors/page in NAND Flash. The firmware is to support the typical SCSI commands as shown Table 4-1. Table 4-1. Typical SCSI Commands Code Command 0X00 Test Unit Ready (6) 0X03 Request Sense (6) 0X12 Inquiry (6) 0X1A Mode Sense (6) 0X1E Prevent Allow Media Removal (6) 0X25 Read Capacity (10) 0X28 Read (10) 0X2A Write (10) 0X2F Verify (10) 0X5A Mode Sense (6) USB Thumb Drive Designer Reference Manual, Rev. 0 22 Freescale Semiconductor Chapter 5 Testing and Customizing 5.1 Testing The Thumb Drive reference design was tested under different Windows Operating Systems on several different PCs. • USB compliance test using Command Verifier version 1.2 • Compatibility tests under Windows 2000 and XP • Compatibility tests under AMD 750, Intel 810 and 865 chip set desktops, IBM Thinkpad T23 and Dell Latitude C640 notebook PCs. 5.2 Customizing 5.2.1 Hardware 5.2.1.1 NAND Flash The Toshiba NAND Flash used in this reference design was a random selection. User can choose from any NAND Flash vendors. 5.2.2 Firmware 5.2.2.1 NAND Flash Size • 512 Mbit NAND flash size is used in this reference design. • User needs to change the parameters in boot_64M() subroutine if a 1-Gbit NAND Flash size is used. USB Thumb Drive Designer Reference Manual, Rev. 0 Freescale Semiconductor 23 Testing and Customizing USB Thumb Drive Designer Reference Manual, Rev. 0 24 Freescale Semiconductor How to Reach Us: Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted USA/Europe/Locations not listed: Freescale Semiconductor Literature Distribution P.O. Box 5405, Denver, Colorado 80217 1-800-521-6274 or 480-768-2130 hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the Japan: Freescale Semiconductor Japan Ltd. SPS, Technical Information Center 3-20-1, Minami-Azabu Minato-ku Tokyo 106-8573, Japan 81-3-3440-3569 suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. “Typical” parameters which may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals” must be validated for each customer application by customer’s technical experts. Asia/Pacific: Freescale Semiconductor H.K. Ltd. 2 Dai King Street Tai Po Industrial Estate Tai Po, N.T. Hong Kong 852-26668334 Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Learn More: For more information about Freescale Semiconductor products, please visit http://www.freescale.com Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004. DRM061 Rev. 0, 09/2004