Silicon Motion, Inc.
Mobile Computer Display
Controller
Version 1.0
Last Updated 05/24/06
Lynx3DM+ Databook
Silicon Motion®, Inc.
Lynx3DM+
Databook
Silicon Motion , Inc.
®
Lynx3DM+ DataBook
Notice
Silicon Motion®, Inc. has made best efforts to ensure that the information contained in this document is accurate and
reliable. However, the information is subject to change without notice. No responsibility is assumed by Silicon Motion,
Inc. for the use of this information, nor for infringements of patents or other rights of third parties.
Copyright Notice
Copyright, 2006 Silicon Motion, Inc. All rights reserved. No part of this publication may be reproduced, photocopied, or
transmitted in any form, without the prior written consent of Silicon Motion, Inc. Silicon Motion, Inc. reserves the right to
make changes to the product specification without reservation and without notice to our users
Microsoft®, Windows®, Windows NT®, and Direct3D® are registered trademarks or trademarks of Microsoft Corporation.
Macrovision®: This product incorporates copyright protection technology that is protected by U.S. patents and other
intellectual property rights. Use of this copyright protection technology must be authorized by Macrovision, and is
intended for home and other limited pay-per-view uses only unless otherwise authorized by Macrovision. Reverse
engineering or disassembly is prohibited
Version Number
Date
Note
•
0.1
1/23/01
0.2
1/30/01
•
•
•
Changed External Display Memory Interface & Video Port Interface in Figure
4 on page 5-2
Updated in conformance to the Addendum 0.5. Changed FPR33[6] to be
Hitachi 24-bit TFT only
General revision based on Engineering inputs and verification results.
5/30/01
•
•
•
•
•
•
•
•
•
Changed Power-on Configuration Register bits [27, 25, 24, 2, 1, 0] to
reserved
Deleted Flat Panel Interface Pins [FPDATA35-FPDATA24]
Added definition to register CRT36 bit 2.
Changed register MCR62 bit [3:0] to reserved
Changed tables in Electrical Specifications chapter to TBD
Added Ordering Information table
Added Appendix H
Revised Pin List
Changed Block Diagram
Added DC operating voltages to Electrical Specification chapter
6/29/01
•
Changed pin J9 from MVDD to VSS
0.7
8/15/01
•
Changed Electrical Specification chapter
0.8
5/21/02
•
•
Changed Memory Mapped Address Diagram
Changed Table 9 - ZV Port (Input mode) column
1.0
5/24/06
•
Removed page 28-2 (Ordering information)
0.3
2/8/01
0.4
5/1/01
0.5
0.6
i
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table of Contents
Chapter 1: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Overview of Major System Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Chapter 2: Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Lynx3DM+ Pin Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Lynx3DM+ NAND Tree Scan Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
NAND Tree Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Chapter 3: Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Lynx3DM+ Power-On Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Chapter 4: PCI/AGP Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
PCI Configuration Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
Chapter 5: Display Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Memory Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Page Break Look Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Memory Timing Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Chapter 6: Drawing Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Chapter 7: Video Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
Chapter 8: Zoom Video Port and Video Capture Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Zoom Video Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Video Capture Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
Theory of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
Chapter 9: Flat Panel Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
Lynx3DM+ Flat Panel Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
Lynx3DM+ Flat Panel Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
Lynx3DM+ Graphics/Text Expansion Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
Horizontal Expansion for Text and Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
Vertical Expansion for Text and Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
LCD Dithering Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
Flat Panel Power ON/OFF Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
Lynx3DM+ Dual Digital LCD Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
Lynx3DM+ Flat Panel Interface Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
Integrated LVDS Chipset Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11
Chapter 10: Miscellaneous Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
Video BIOS ROM Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
VESA DPMS Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
I2C Bus or VESA DDC2B Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Chapter 11: Clock Synthesizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
Chapter 12: Multimedia RAMDAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
LCD Backend RAM (RAM1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
Chapter 13: Signature Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
Chapter 14: Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1
ACPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1
Adaptive Power Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1
Dynamic Control of Functional Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1
Dynamic Clock Control and Virtual Refresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2
Standard Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2
Standby Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2
Power Saving In Standby Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-3
Sleep Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-3
Activity Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4
Power-down Sleep Mode States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4
Chapter 15: Motion Compensation Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
Table of Contents
iii
Silicon Motion®, Inc.
Lynx3DM+
Databook
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-1
Data Flow and External System Responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-1
MC Top Level Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-1
MC Instruction Format and Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-3
Chapter 16: 3D Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-1
IEEE 754 Floating Point Setup Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-1
Triangle Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-2
Z Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-3
Texture Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-3
Pixel Engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-4
Modulation/Addition Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-4
Fog Blending Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-4
Chroma-Key Test Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-4
Alpha Blending Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-4
Dithering Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-4
Chapter 17: TV Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-1
Function Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-3
Macrovision Antitaping process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-3
Closed Captioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-4
Video data output and Over-sampling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-5
Synchronization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-5
Sub-carrier Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-5
Parallel bus I/F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-5
Chapter 18: Register Overview & Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-1
PCI Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-1
Memory Mapped I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-1
Memory Mapped Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-1
Chapter 19: PCI Configuration Space Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-1
PCI Configuration Space Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-2
Extended SMI Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-10
Chapter 20: Standard VGA Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-1
Standard VGA Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-3
General Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-3
Sequencer Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-5
CRTC Controller Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-8
Graphics Controller Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-20
Attribute Controller Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-25
RAMDAC Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-29
Chapter 21: Extended SMI Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-1
Extended SMI Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-6
System Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-6
Power Down Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-13
Flat Panel Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-18
Memory Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-39
Clock Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-41
General Purpose Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-48
Pop-up Icon and Hardware Cursor Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-51
Pop-up Icon Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-52
Hardware Cursor Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-55
Extended CRT Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-57
Shadow VGA Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-67
Automatic Lock/Unlock Scheme for Shadow Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21-67
Chapter 22: 2D & Video Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-1
Drawing Engine Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-4
Video Processor Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-21
Capture Processor Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-45
Chapter 23: Motion Comp Video Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23-1
Motion Comp Bus Master CMD Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23-2
Chapter 24: PCI Bus Master Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24-1
Motion Compensation ICMD Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24-2
iv
Table of Contents
Silicon Motion®, Inc.
Lynx3DM+
Databook
Motion Compensation IDCT Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-4
Host Master Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-6
Texture 3D Bus Master Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-9
Chapter 25: 3D Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-1
2D3D DMA Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-16
Chapter 26: TV Encoder Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-1
Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-2
Common Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-2
Closed Captioning Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-2
Chapter 27: Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-1
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-1
DC Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-1
AC Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-4
AC Timing Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-4
Power On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-4
PCI Bus Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-6
AGP BUS Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-7
Synchronous DRAM (SDRAM) and SGRAM Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-9
Flat Panel Interface Cycle Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-10
Chapter 28: Mechanical Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28-1
Appendix A: Video Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Standard IBM Compatible VGA Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
VESA Super VGA Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
Low Resolution Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
640 by 480 Resolution Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
800 by 600 Resolution Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
1024 by 768 Resolution Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
1280 by 1024 Resolution Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
Appendix B: Popup Icon Consideration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Popup Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Icon Pattern Memory Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Icon Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Icon Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Video BIOS Function Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Appendix C: SMI Handler Programming Consideration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
System BIOS Consideration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
Int10 Vector Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
Alternate INT10 Entry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
Appendix D: Programming USR [3:0] Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-1
Application Notes for control of USR [3:0] Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-1
Appendix E: Monitor & TV Defect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1
CRT Monitor Detect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1
TV Detect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1
Appendix F: CRT Timing Register Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-1
CRT Timing Register Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-1
Appendix G: 2D/3D Bus Master DMA Data Stream Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .G-1
2D3D Bus Master - DMA Data Stream Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .G-1
Appendix H: Lynx3DM+ New Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-1
New Feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-1
New Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-1
Lynx3DM+ Pin Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-2
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I-1
Table of Contents
v
Silicon Motion®, Inc.
Lynx3DM+
Databook
List of Figures
Figure 1. System Block Diagram for Lynx3DM+ .............................................................................................1-2
Figure 2. Top Level 3D Flow Diagram ............................................................................................................1-5
Figure 3. SM722/723 Pin Diagram for 316 BGA Package ..............................................................................2-7
Figure 4. NAND Tree Connection .................................................................................................................2-17
Figure 5. NAND Tree Simulation Timing Diagram ........................................................................................2-17
Figure 6. SGRAM Power-Up and Initialization Sequence ...............................................................................3-1
Figure 7. Lynx3DM+ Video BIOS Initialization Flow........................................................................................3-2
Figure 8. Video Processor Block Diagram ......................................................................................................7-1
Figure 9. Video Encoder Interface via Video Port ...........................................................................................8-1
Figure 10. Video Capture Block Diagram........................................................................................................8-3
Figure 11. Video Capture Data Flow...............................................................................................................8-4
Figure 12. Capture Buffer Structure in Interlaced Mode .................................................................................8-7
Figure 13. DDA Expansion Algorithm .............................................................................................................9-2
Figure 14. TFT (Single Pixel/Clock) Interface Diagram...................................................................................9-7
Figure 15. TFT Two Panel Interface Diagram.................................................................................................9-8
Figure 16. 16-bit DSTN Interface Configuration..............................................................................................9-9
Figure 17. 24-bit Dual Color STN Interface Diagram ......................................................................................9-9
Figure 18. Panel Power On Sequencing Timing Diagram ............................................................................9-10
Figure 19. Panel Power Off Sequencing Timing Diagram ............................................................................9-10
Figure 20. LVDS Interface with TFT LVDS Panel .........................................................................................9-11
Figure 21. Lynx 3DM+ Internal LVDS Panel Interface ..................................................................................9-12
Figure 22. PanelLink Interface with TFT LCD Panel.....................................................................................9-12
Figure 23. PanelLink Interface with DSTN LCD Panel..................................................................................9-13
Figure 24. Video BIOS ROM Configuration Interface ...................................................................................10-1
Figure 25. Lynx3DM+ I2C Bus Protocol Flow Chart .....................................................................................10-3
Figure 26. Clocks Generator Block Diagram.................................................................................................11-1
Figure 27. Lynx3DM+ RAMDAC Block Diagram...........................................................................................12-1
Figure 28. Signature Analyzer Block Diagram ..............................................................................................13-1
Figure 29. MC Top Level Architecture ..........................................................................................................15-2
Figure 30. Control Block Diagram .................................................................................................................15-2
Figure 31. QLF Block Diagram......................................................................................................................15-3
Figure 32. End Stream Instruction ................................................................................................................15-3
Figure 33. MC Instruction Format .................................................................................................................15-4
Figure 34. 3D Engine Block Diagram............................................................................................................16-1
Figure 35. Setup Engine Block Diagram .......................................................................................................16-2
Figure 36. Triangle engine block diagram.....................................................................................................16-2
Figure 37. Z Engine Block Diagram ..............................................................................................................16-3
Figure 38. Texture Engine Block Diagram ....................................................................................................16-3
Figure 39. Pixel pipeline block diagram ........................................................................................................16-4
Figure 40. TV Encoder Block Diagram..........................................................................................................17-2
Figure 41. I/O Port 3C4 .................................................................................................................................18-2
Figure 42. I/O Port 3?4..................................................................................................................................18-2
Figure 43. Memory Mapped Address Diagram .............................................................................................18-3
Figure 44. Memory Mapped Address Diagram .............................................................................................22-4
Figure 45. 16 Grayscale Pattern ...................................................................................................................27-3
Figure 46. Power-on Reset and Reset Configuration Timing........................................................................27-5
Figure 47. LVDS Transmitter Device Transition Times .................................................................................27-5
Figure 48. PCI Bus Timing Diagram .............................................................................................................27-6
Figure 49. AGP Bus Timing Diagram............................................................................................................27-7
List of Figures
vii
Silicon Motion®, Inc.
Figure 50.
Figure 51.
Figure 52.
Figure 53.
Figure 54.
Figure 55.
Figure 56.
viii
Lynx3DM+
Databook
AGP 2X Read Request with Return Data (4Qw) .........................................................................27-8
SDRAM/SGRAM Read and Write Cycles ....................................................................................27-9
TFT Interface Timing .................................................................................................................27-10
DSTN Interface (Clock and Data) Timing ..................................................................................27-11
DSTN Interface (Control and Clock) Timing ..............................................................................27-11
316 BGA Mechanical Dimensions ...............................................................................................28-1
Hardware Cursor and Popup Icon Memory Location.................................................................... B-1
List of Figures
Silicon Motion®, Inc.
Lynx3DM+
Databook
List of Tables
Table 1.
Table 2.
Table 3.
Table 4.
Table 5.
Table 6.
Table 7.
Table 8.
Table 9.
Table 10.
Table 11.
Table 12.
Table 13.
Table 14.
Table 15.
Table 16.
Table 17.
Table 18.
Table 19.
Table 20.
Table 21.
Table 22.
Table 23.
Table 24.
Table 25.
Table 26.
Table 27.
Table 28.
Table 29.
Table 30.
Table 31.
Table 32.
Table 33.
Table 34.
Table 35.
Table 36.
Table 37.
Table 38.
Table 39.
Table 40.
Table 41.
Table 42.
Table 43.
Table 44.
Table 45.
Table 46.
Table 47.
Table 48.
Table 49.
Lynx3DM+ (4MB): Display Support Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
Lynx3DM+ (8MB): Display Support Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Lynx3DM+ (16MB): Display Support Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Numerical SM722 BGA Pin List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Lynx3DM+ VCC and GROUND Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
NAND Tree Scan Test Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Power-On Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Lynx3DM+ Video Port Interface I/O Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Bit Setting Summary for Video Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Flat Panel Interface Pins listing for color DSTN and color TFT LCD . . . . . . . . . . . . . . . . . . . . . 9-4
Dual Panel Interface (One Digital Panel and One LVDS Panel) . . . . . . . . . . . . . . . . . . . . . . . . 9-5
LVDS Transmitter Pin Mapping for TFT Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14
PanelLink Transmitter Pin Mapping for TFT Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15
DPMS Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Recommended VNR and VDR Values for Common VCLK Settings . . . . . . . . . . . . . . . . . . . . 11-2
Interface Signals Sleep Mode States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4
Instruction Flags and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-4
TV Encoder Block Interface Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
TV Encoder Sampling Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-3
Closed Captioning Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4
Closed Captioning Odd Field Output Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5
Closed Captioning Even Field Output Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5
PCI Configuration Registers Quick Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1
Standard VGA Registers Quick Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1
Extended SMI Registers Quick Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-1
Memory Mapped Registers Quick Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-1
Motion Comp Video Registers Quick Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-1
PCI Bus Master Control Registers Quick Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-1
Summary of Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-1
3D Registers Quick Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25-4
TV Encoder Registers Quick Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-1
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-1
Digital DC Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-1
Recommended DC Operating Voltages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-2
LVDS Specifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-2
RAMDAC Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-3
RAMDAC/Clock Synthesizer DC Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-3
RAMDAC AC Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-4
Power-on Reset and Configuration Reset Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-4
Switching Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-5
PCI Bus Timing (33 MHz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-6
AGP 1X mode BUS Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-7
AGP 2X Timing Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-8
SDRAM/SGRAM Memory Read Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-9
Color TFT Interface Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-10
Color DSTN Interface Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-11
Standard IBM Compatible VGA Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-1
VESA Super VGA Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
List of Tables
ix
Silicon Motion®, Inc.
Table 50.
Table 51.
Table 52.
Table 53.
Table 54.
Table 55.
Table 56.
Table 57.
x
Lynx3DM+
Databook
Low Resolution Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
640 x 480 Extended Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
800 x 600 Extended Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
1024 x 768 Extended Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
1280 x 1024 Extended Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
CRT Timing and LCD Shadow Register Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-1
New Pin Descriptions for Lynx3DM+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-3
Numerical SM722 BGA Pin List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-3
List of Tables
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 1: Overview
The Lynx3DM+ is a power managed, desktop equivalent display controller for notebook PCs. This device delivers full
featured 3D, a unique memory architecture designed to enhance 3D/2D performance, enhanced multi-display capabilities,
and Motion Compensation for DVD.
The Lynx3DM+ incorporates an IEEE Floating Point Setup engine as well as a full featured 3D rendering engine. The
setup engine is designed to balance with the triangle delivery capabilities of high end notebook processors. The rendering
engine supports key features such as Mip Mapping, Alpha Blend, Anti-Aliasing, Specular Highlights and Fog.
The Lynx3DM+ integrates 4MB, 8MB or 16MB of video memory. This allows up to a 64-bit memory interface and over
1.0GB/s of memory bandwidth.
Lynx3DM+ continues to support all the Dual Application/Dual View capabilities of its predecessor, LynxE. In addition,
Lynx3DM+ can drive two independent digital displays, as well as simultaneously drive LCD, CRT and TV displays
(multiview). Support for all of these features is provided under Windows 95, Windows 98, Windows Me, Windows NT
4.0, and Windows 2000.
A robust 128-bit Drawing Engine provides no compromise 2D performance. The Drawing Engine supports 3 ROPs,
BitBLT, transparent BLT, pattern BLT, color expansion, and line draw. The Host Interface Unit allows support for AGP
and PCI. Support for all ACPI power states is provided. A high quality TV encoder, VGA Core, LCD Backend
Controller and 200 MHz RAMDAC are incorporated as well.
The Lynx3DM+'s Motion Compensation block, Video Processor block, and Video Capture Unit provide superior video
quality for real-time video playback and capture. When combined with high end notebook CPUs, the Motion
Compensation block allows full frame playback of DVD video content without the need for additional hardware. The
Video Processor supports multiple independent full screen, full motion video windows with overlay. Each motion video
window uses hardware YUV-to-RGB conversion, scaling, and color interpolation. When combined with multi-view
capabilities of the chip, these independent video streams can be output to each of two display devices and bilinear scaled
to support applications such as full screen display of local and remote images for video conferencing.
Lynx3DM+ is designed with 0.25m, 2.5V CMOS process technology. A hierarchical layout approach provides enhanced
internal timing control. In addition to built-in test modes and a signature analyzer, the Lynx3DM+ incorporates a 20 bit
test bus which can be used to simultaneously monitor internal signals through the Zoom Video (ZV) Port Interface. The
capability can be used to increase fault coverage, and to reduce silicon validation and debugging time. The Lynx3DM+ is
available in a 316 pin BGA packages.
Overview
1-1
Silicon Motion®, Inc.
Lynx3DM+
Databook
VCR or
LaserDisc
TV Tuner
NTSC/PAL Camera
NTSC/PAL
Decoder
PCI/AGP2X
TV
ZV Port
Lynx3DM+
CRT Monitor
4/8/16MB
Flat Panel
Figure 1: System Block Diagram for Lynx3DM+
1-2
Overview
Silicon Motion®, Inc.
Lynx3DM+
Databook
Features
Benefits
High performance, power managed 3D
Desktop level 3D performance within the power budget of
a notebook system
Motion Compensation
Allows full frame playback of DVD content in software
Multi-Display support under Microsoft Windows 95,
Windows NT, Windows 98 and Windows Me with one
device
•
SMI Dual View support under Microsoft Windows 95,
Windows NT, Windows 98 and Windows Me
Any rectangular portion of primary display can be zoomed
up for display on multiple secondary displays
Dual-Digital support
Independent display support for external digital LCD
monitor or LCD projector
Adaptive Power Management
•
Dynamic functional block shut-down, clock control
•
Reduce average power consumption when in operation
mode
Multiple independent hardware video windows
•
Independent full screen, motion video for separate
displays.
Complete dual view support for video
•
•
Applications available at the same time across multiple
display devices
Single chip implementation ideal for mobile systems
128-bit, single clock cycle Drawing Engine
No compromise 2D graphics performance for mobile
systems
High performance memory interface
Delivers over 1.0GB/s bandwidth to support 3D graphics,
DVD
AGP 2X sideband and PCI 2.1 support
Provides interface capability for today's most popular PC
graphics busses
DSTN and TFT panel support up to 1280x1024
Supports all panel requirements for mobile systems
Integrated TV Encoder with Macrovision
Graphics/video display on TV with no external support
logic
Zoom Video Port
Provides support for camera, TV tuner input, or output to
VCR
Hardware support for LCD landscape/portrait rotation
Portrait view
applications
PC2001 Compliant, ACPI Compliant
Meets WHQL certification requirements
SW support for Microsoft Windows 95, Microsoft Windows
NT 4.0, Microsoft Windows 98, Windows Me, Windows
2000, and OS/2
Complete OS software support
for desktop publishing, word processing
Microsoft, Windows, Windows NT, and Direct3D are registered trademarks or trademarks of Microsoft Corporation.
Regarding Macrovision: This product incorporates copyright protection technology that is protected by U.S. patents and other intellectual property rights. Use of this
copyright protection technology must be authorized by Macrovision, and is intended for home and other limited pay-per-view uses only unless otherwise authorized by
Macrovision. Reverse engineering or disassembly is prohibited.
Overview
1-3
Silicon Motion®, Inc.
Lynx3DM+
Databook
Overview of Major System Blocks
The Lynx3DM+ consists of a logic block which interfaces to a 4MB, 8MB or 16MB block of integrated memory. The
integrated memory supports single clock cycle transfers up to 100MHz. Peak memory bandwidth for the integrated 128bit memory bus is over 1.6GB/s.
The logic within the Lynx3DM+ consists of 11 functional blocks: PCI Interface, Host Interface (HIF), Memory
Controller, Drawing Engine, Power Down Control Unit, Video Processor, Video Capture Module, LCD Backend
Controller, VGA Core, PLL Module, and RAMDAC. A summary of each of the functional blocks, along with important
features follows:
AGP/PCI Interface and HIF
Lynx3DM+'s PCI Host Interface Unit supports burst read, burst write, and bus master mode with DMA. The Host
Interface Unit decodes I/O read, I/O write, memory read, memory write, memory mapped access, 2D/3D Drawing Engine
access, VGA access, and others. The unit also supports Little-Endian and Big-Endian format, and 8-bit ROM decode for
on board video BIOS ROM. A dual aperture feature is designed to support VGA modes and non-VGA modes. In addition,
a special VGA aperture function is added to allow 64-bit memory access in VGA modes.
Lynx3DM+ has an internal HIF (Host Interface) bus which is designed to transfer data between PCI Host Interface Unit
and other functional blocks. The PCI Host Interface Unit controls the HIF bus protocol to effectively deliver PCI I/O and
memory cycles to each functional block.
Lynx3DM+ supports 2X with sideband Accelerated Graphics Port (AGP). The AGP interface provides a high bandwidth,
low latency connection to the system memory; therefore, it can increase the graphics performance for 2D and 3D
applications.
Key Feature Summary:
• AGP 2X sideband support
• 33 MHz PCI Master/Slave interface
• PCI 2.1 compliant
• Dual aperture feature for concurrent VGA and video/drawing engine access
Memory Controller
Independent control is provided for the 4/8/16MB block of integrated memory. Page Break Look Ahead support assures a
memory cycle is not broken if there is a change of memory bus agent within the same memory page. Programmable
memory arbitration allows memory interface usage to be fully optimized - priority and round robin arbitration is
supported. The block write function for SGRAM is supported.
Key Feature Summary:
• Independent memory interface control
• Up to 64-bit memory interface
• Over 1.0GB/s memory bandwidth
Drawing Engine
The Lynx3DM+'s 128-bit Drawing Engine is designed to accelerate 2D and 3D through APIs such as Direct Draw and
Direct3D. The engine pipeline runs at a single clock per cycle at speeds of 100MHz+. The engine supports key GUI
functions such as 3 operand ALU with 256 raster operations, pattern BLT, color expansion, trapezoid fill, and line draw.
Direct3D rendering acceleration is provided by support for features such as arithmetic stretching, source transparent BLT,
and double buffering.
1-4
Overview
Silicon Motion®, Inc.
Lynx3DM+
Databook
Key Feature Summary:
• 100MHz single clock/cycle engine
• Designed to accelerate DirectDraw and Direct3D
3D Engine
The Lynx3DM+ incorporates an IEEE Floating Point Setup engine as well as a full featured 3D rendering engine. The
diagram below illustrates a top level diagram of the Lynx3DM+ setup and rendering pipeline.
Lynx3DM+
Floating Point
Vertex Data
from CPU
IEEE
FP
Setup
Engine
Triangle
Engine
Frame Buffer
Figure 2: Top Level 3D Flow Diagram
The setup engine is designed to balance with the triangle delivery capabilities of high-end notebook processors. The setup
engine performs single precision floating point operations to calculate slope parameters ( x, y, z; color - RGB, alpha;
texture - s, t, perspective) from the triangle vertex data delivered from the CPU. The slope information is derived with
sub-pixel accuracy to eliminate misalignment. The rendering engine utilizes the slope information to render the defined
triangle to the screen. The rendering engine supports a full set of 3D rendering features. A representative list of features
is provided in the Key Feature Summary below.
Key Feature Summary:
•
•
IEEE Floating Point Setup Engine
Complete 3D Rendering Engine set:
- Bi-linear and tri-linear filtering
- Mip Mapping
- Vertex and global fog
- Source and destination alpha blend
- Specular highlights
- Edge anti-aliasing
- Z-buffering
- Gouraud shading
- Mirrored textures
-Texture decompression
Motion Compensation Engine
The Motion Compensation Engine offloads the motion compensation portion of the MPEG-2 decode process. This block
can reduce CPU overhead requirements for MPEG-2 decode by 20%-40%, depending on CPU type and MPEG-2 data
rate. To insure proper handling of MPEG-2 video data streams, the Lynx3DM+ implements a separate bus master control
mechanism for motion compensation command and IDCT data. This approach allows for a dedicated pipeline through
Overview
1-5
Silicon Motion®, Inc.
Lynx3DM+
Databook
which the motion compensation command and IDCT data can be transferred to the Motion Compensation Engine for
processing.
The motion compensation block provides full sub-picture support as well. Both 2-bit/pixel formats and 8-bit/pixel
formats (4-bit color data, 4-bit alpha data) are supported.
Key Feature Summary:
•
•
•
Offloads motion compensation portion of MPEG-2 decode process from CPU
Separate bus master control for motion compensation command and IDCT data
Sub-picture support
- 2-bit/pixel format
- 8-bit/pixel format
Digital TV-Encoder
The TV Encoder is an NTSC/PAL Composite Video/S-video Encoder. It receives RGB inputs and converts to digital
video signals based on CCIR 624 format.
The input video signal of the TV Encoder is RGB 8 bit each. The sampling rate is corresponding to CCIR 601, Square
pixel and 4Fsc.
The output video signals of the TV Encoder are Composite Video signal and S-video signals of 10-bit each. These output
signals are over-sampled by a double frequency clock called CLKX2. This feature helps for simplify external analog
filtering.
The TV Encoder video timing is controlled by vertical sync and the horizontal sync input signals. The blank signal input
is optional. If the blank signal input signal is pulled up, internal blanking control will be performed.
Macrovision 7.1.21 and closed captioning functions are included.
Key Feature Summary:
•
•
•
•
•
•
•
NTSC/PAL interlace mode digital video encoder
Composite Video and S-Video digital output
CCIR 601, Square pixel and 4Fsc (NTSC only) resolution RGB input
Interlace mode operation
2x over-sampling data output to simplify external analog filtering
Macrovision function (version 7.1.21)
Closed captioning function
Power Down Control Unit
The Power Down Control unit provides Dynamic Power Management for all functional blocks within the Lynx3DM+.
Dynamic Power Management is made possible by individual clocking control to each of the functional blocks within
Lynx3DM+. Each clock to a given functional block is skew matched to maintain synchronization between blocks. The
functional blocks can then be turned on/off "on the fly" as needed. Power savings under fully operational conditions is
maximized, yet the process completely transparent to the user.
Control for Virtual Refresh is provided through the Power Down Control unit as well. Through Virtual Refresh, LCD
panel timing may be driven from a fully independent PLL. VCLK can be significantly reduced, while retaining full
graphics performance. The result is significant power savings for LCD only configurations.
Finally, the Power Down Control unit generates power down sequencing for Standby and Suspend modes. Internal autostandby and system standby implementations are supported.
1-6
Overview
Silicon Motion®, Inc.
Lynx3DM+
Databook
Under sleep mode, options for memory refresh type and use of internal PLL/external clock for memory refresh clock are
provided. Activity detection is supported for resuming from Standby or Suspend modes.
Key Feature Summary:
• Dynamic Power Management
• Virtual Refresh
• Standby and Suspend model support
• ACPI, DPMS, APM compliant
Video Processor
The Video Processor module manages video playback to an LCD, CRT, or TV display. Independent video sources can be
scaled up and displayed full screen different display devices - ideal for videoconferencing applications. The Video
Processor module supports, bi-linear scaling, YUV to RGB color space conversion, color key, and overlay of graphics
over video. The Video Processor module also supports flicker reduction and adjustable overscan/underscan for TV
display.
Key Feature Summary:
• Multiple video windows in HW
• Independent video sources on different displays
• Bi-linear scaling
• Flicker filter and underscan for TV display
Video Capture
The Video Capture module processes incoming video data from the Zoom Video Port and sends the data to the local video
frame buffer. From there, the data may be displayed, as well as bus mastered out for storage on a hard drive. Incoming
data from the Zoom Video port can be interlaced or non-interlace and in YUV or RGB format. The data can be cropped,
horizontally filtered (2,3,or 4-tap), and shrunk to ¼ size. Single buffer as well as double buffer capture is supported.
Key Feature Summary:
• Support for Zoom Video Port interface
• Crop, filter, shrink support
LCD Backend Controller
The LCD Backend Controller module manages data flow and generates timing to the selected LCD display. The module
provides support for 9, 12, 18, 24 bit TFT and DSTN panels up to SXGA+ resolution. The backend controller contains a
color encoder, dithering engines for TFT and DSTN panels, frame accelerator, and a Virtual Refresh timing generation
block. Each of the blocks within the LCD Backend controller module can be powered down if not in use.
Key Feature Summary:
• TFT and DSTN support up to SXGA+
• Timing generation for Virtual Refresh
Popup Icon
The Lynx3DM+ support 64x64 popup icon which can be zoomed up by 2 to become 128x128 popup icon. The popup icon
can be programmed to anywhere on the screen display. In addition, the popup icon has transparency support.
Key Feature Summary:
• Popup icon location flexible
• Transparency color support
VGA Core
The Lynx3DM+ has a high performance 32-bit VGA core which is 100% IBM VGA compatible. In addition to standard
VGA functions, the Lynx3DM+'s VGA core module generates LCD timing, performs LCD screen autocentering and
expansion, generates TV timing, and provides Hardware Cursor control.
Overview
1-7
Silicon Motion®, Inc.
Lynx3DM+
Databook
Key Feature Summary:
• 100% IBM VGA compatible
PLL Module
The PLL module provides three separate PLLs for MCLK, VCLK, and Virtual Refresh clock to drive LCD panel timing.
A 14.318MHz base clock is used to drive TV timing. This allows for completely independent timing for LCD/CRT or
LCD/TV under dual application or dual view. For instance, the LCD panel can be driven at 60Hz while CRT refresh is
85Hz.
Key Feature Summary:
• Separate PLL for LCD panel timing
RAMDAC
The integrated RAMDAC supports pixel clock frequencies up to 200MHz. Anti-sparkle logic is provided for read/writes
to the palette. An internal band gap voltage reference saves need for external RC components.
Key Feature Summary:
• 200MHz speed provides support for popular LCD panels.
1-8
Overview
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 1: Lynx3DM+ (4MB): Display Support Modes
CRT Only
Display Resolution
640x480
800x600
1024x768
1280x1024
Color Depth
Refresh (Hz)
8 bpp
16 bpp
24 bpp
60
x
x
x
75
x
x
x
85
x
x
x
60
x
x
x
75
x
x
x
85
x
x
x
60
x
x
x
75
x
x
x
85
x
x
x
60
x
x
x
75
x
x
-
85
x
x
-
LCD/Simultaneous Mode
Display Resolution
Refresh (Hz)
640x480
800x600
Color Depth
8 bpp
16 bpp
24 bpp
60
x
x
x
60
x
x
x
1024x768
60
x
x
x
1280x1024
60
x
x
x
Dual Display Mode
Display 1 (D1)
640x480
800x600
1024x768
Display 2 (D2)
Color Depth (Max Color Depth Display 2 bpp)
when D1 is 8 bpp
when D1 is 16 bpp
when D1¹ is 24 bpp
640x480
24 (D2)
24 (D2)
-
800x600
24
24
-
1024x768
24
24
-
1280x1024
16
16
-
640x480
24
24
-
800x600
24
24
-
1024x768
24
24
-
1280x1024
16
16
-
640x480
24
24
-
800x600
24
24
-
1024x768
24
24
-
1280x1024
16
16
-
¹Max color depth for display 1, 16bpp under dual display
Overview
1-9
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 2: Lynx3DM+ (8MB): Display Support Modes
CRT Only
Display Resolution
640x480
800x600
1024x768
1280x1024
Color Depth
Refresh (Hz)
8 bpp
16 bpp
24 bpp
60
x
x
x
75
x
x
x
85
x
x
x
60
x
x
x
75
x
x
x
85
x
x
x
60
x
x
x
75
x
x
x
85
x
x
x
60
x
x
x
75
x
x
x
85
x
x
x
LCD/Simultaneous Mode
Display Resolution
Refresh (Hz)
640x480
800x600
Color Depth
8 bpp
16 bpp
24 bpp
60
x
x
x
60
x
x
x
1024x768
60
x
x
x
1280x1024
60
x
x
-
Dual Display Mode
Display 1 (D1)
640x480
800x600
1024x768
Display 2 (D2)
Color Depth (Max Color Depth Display 2 bpp)
when D1 is 8 bpp
when D1 is 16 bpp
when D1¹ is 24 bpp
640x480
24 (D2)
24 (D2)
-
800x600
24
24
-
1024x768
24
24
-
1280x1024
24
24
-
640x480
24
24
-
800x600
24
24
-
1024x768
24
24
-
1280x1024
24
24
-
640x480
24
24
-
800x600
24
24
-
1024x768
24
24
-
1280x1024
24
24
-
¹Max color depth for display 1, 16bpp under dual display
1 - 10
Overview
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 3: Lynx3DM+ (16MB): Display Support Modes
CRT Only
Display Resolution
640x480
800x600
1024x768
1280x1024
Color Depth
Refresh (Hz)
8 bpp
16 bpp
24 bpp
60
x
x
x
75
x
x
x
85
x
x
x
60
x
x
x
75
x
x
x
85
x
x
x
60
x
x
x
75
x
x
x
85
x
x
x
60
x
x
x
75
x
x
x
85
x
x
x
LCD/Simultaneous Mode
Display Resolution
Refresh (Hz)
640x480
800x600
Color Depth
8 bpp
16 bpp
24 bpp
60
x
x
x
60
x
x
x
1024x768
60
x
x
x
1280x1024
60
x
x
x
Dual Display Mode
Display 1 (D1)
640x480
800x600
1024x768
Display 2 (D2)
Color Depth (Max Color Depth Display 2 bpp)
when D1 is 8 bpp
when D1 is 16 bpp
when D1¹ is 24 bpp
640x480
24 (D2)
24 (D2)
-
800x600
24
24
-
1024x768
24
24
-
1280x1024
24
24
-
640x480
24
24
-
800x600
24
24
-
1024x768
24
24
-
1280x1024
24
24
-
640x480
24
24
-
800x600
24
24
-
1024x768
24
24
-
1280x1024
24
24
-
¹Max color depth for display 1, 16bpp under dual display
Overview
1 - 11
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 2: Pins
The Lynx3DM+ is provided in a 316 BGA package.
Figure 3 illustrates the pinout diagram for the SM722/SM723 316 BGA package. Figure 55 illustrate the mechanical
dimensions of the BGA package.
Lynx3DM+ Pin Descriptions
The following table, Table 4, provides brief description of each BGA ball of the Lynx3DM+. Signal names with ~
preceding are active "LOW" signals, whereas signal names without ~ preceding are active "HIGH" signals. Also, the
following abbreviations are used for Pin Type.
Table 4 outlines the numerical SM722/723 BGA pins.
I
- INPUT SIGNAL
O
- Output Signal
I/O
- Input or Output Signal
‘Note: All Outputs and I/O signals are tri-stated. Internal pull-up for I/O pad are all 100KΩ resistor. Internal pull-down for
I/O pads are all 100KΩ resistors.
Pins
2-1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 4: Pin Description
Signal Name
Type
Pull-up/
IOL
Max.
Pull-Down (mA) Load (pF)
Description
Host Interface (PCI or AGP)
AD [31:0]
I/O
TBD
120
Multiplexed Address and Data Bus. A bus transaction
consists of an address cycle followed by one or more data
cycles.
C/
~BE [3:0]
I/O
TBD
120
Bus Command and Byte Enables. These signals carry the
bus command during the address cycle and byte enable
during data cycles.
PAR
I/O
TBD
120
Parity. Lynx3DM+ asserts this signal to verify even parity
across AD [31:0] and C/~BE [3:0].
~FRAME
I/O
TBD
120
Cycle Frame. Lynx3DM+ asserts this signal to indicate the
beginning and duration of a bus transaction. It is deasserted during the final data cycle of a bus transaction.
~TRDY
I/O
TBD
120
Target Ready. A bus data cycle is completed when both
~IRDY and ~TRDY are asserted on the same cycle.
~IRDY
I/O
TBD
120
Initiator Ready. A bus data cycle is completed when both
~IRDY and ~TRDY are asserted on the same cycle.
~STOP
I/O
TBD
120
Stop. Lynx3DM+ asserts this signal to indicate that the
current target is requesting the master to stop current
transaction.
~DEVSEL
I/O
TBD
120
Device Select. Lynx3DM+ asserts this signal when it
decodes its addresses as the target of the current
transaction.
IDSEL
I
ID Select. This input is used during PCI configuration
read/write cycles.
CLK
I
System Clock, 33MHz. for PCI and 66MHz for AGP
~RST
I
System Reset. Lynx3DM+ asserts this signal to force
registers and state machines to initial default values
~REQ
O
~GNT
I
~INTA
O
TBD
120
Interrupt
PME#
O
TBD
120
Power management event signals
~PIPE
O
TBD
120
Pipe signal. Initiates pipelined AGP request. Signal
indicates beginning and duration of pipelined AGP access.
~RBF
O
TBD
120
Read Buffer Full. Indicates if graphics device can accept
previously low priority read data
AD_STB[1:0]
I/O
TBD
120
Address strobes 1, 0 for 2X transfer support
ST[2:0]
I
SBA[7:0]
O
TBD
120
Sideband address bits 7-0
SB_STB
O
TBD
120
Sideband strobe
~AGP_BUSY
O
TBD
120
Power management signal for AGP bus.
~STP_AGP
I
TBD
120
Bus Request (bus master mode)
Bus Grant (bus master mode)
Status bus for AGP support
Power management signal for AGP bus.
Power Down Interface
2-2
Pins
Silicon Motion®, Inc.
Lynx3DM+
Databook
Signal Name
Type
Pull-up/
IOL
Max.
Pull-Down (mA) Load (pF)
Description
~PDOWN
I
pull-up
~CLKRUN/
ACTIVITY
O
pull-up
REFCLK
I
pull-up
32KHz refresh clock source for power down
PALCLK
I
pull-up
27MHz clock source for PAL TV
CKIN
I
pull-up
14.318MHz clock (~EXCKEN = 1) or Video Clock
(~EXCKEN = 0)
MCKIN/
LVDSCLK
I/O
pull-up
~EXCKEN
I
pull-up
Power down mode enable
TBD
60
~CLKRUN or
Lynx3DM+ Memory and I/O activity detection depending
on SCR18 [7]
0 = select ~CLKRUN
1 = select ACTIVITY
Clock Interface
TBD
60
Memory Clock In (~EXCKEN = 0) LVDSCLK Out
(~EXCKEN = 1). LVDSCLK is a free running clock which
can be used to drive LVDS transmitter for DSTN panels.
Note: this pin is used as CLK2 for dual panel
configuration. For this case configure as LVDSCLK.
60
External Clock Enable. Select external VCLK from CKIN
and MCLK from MCKIN.
External Display Memory Interface (for reference only)
MA [10:0]
O
pull-down
TBD
50
MD [63:0]
I/O
MD [63:33]
pull-down
TBD
20
MD [63:0]
I/O
MD[32:0]
pull-up
TBD
20
~WE
O
pull-up
TBD
50
~RAS
O
pull-up
TBD
50
~CAS
O
pull-up
TBD
50
External SGRAM Column Address Select
~CS0
O
pull-up
TBD
50
External SGRAM Chip Select 0, select 1st 1MB within the
2MB memory, or select 1st 2MB within the 4MB memory
~DQM
[7:0]
O
pull-up
TBD
50
External SGRAM I/O mask [7:0]. DQM [7:0] are byte
specific. DQM0 masks MD [7:0], DQM1 masks MD
[15:8],Ö,and DQM7 masks MD [63:58].
DSF
O
pull-up
TBD
50
External SGRAM Block write
BA[1:0]
O
TBD
50
External SGRAM Bank Select. SDRAM has 2/4 internal
banks. Bank address defines to which bank the current
command is being applied.
SDCK
I/O
pull-up
TBD
50
External SGRAM clock. SDCK is driven by the memory
clock. All SDRAM input signals are sampled on the
positive edge of SDCK.
SDCKEN
I/O
pull-up
TBD
50
External SGRAM clock enable. SDCKEN activates (HIGH)
and deactivates (LOW) the SDCLK signal. Deactivating
the SDCK provides POWER-DOWN and SELFREFRESH mode. ~ROMEN
~ROMEN
O
pull-up
TBD
20
ROM Enable
Pins
External Memory Address Bus. The video memory row
and column addresses are multiplexed on these lines.
2-3
Silicon Motion®, Inc.
Signal Name
Type
Lynx3DM+
Databook
Pull-up/
IOL
Max.
Pull-Down (mA) Load (pF)
Description
Flat Panel Interface
FDATA [23:0]
O
pull-down
TBD
50
Flat Panel Data Bit 23 to Bit 0 for single panel implementation.
LP/FHSYNC
O
pull-down
TBD
50
DSTN LCD: Line Pulse
TFT LCD: LCD Horizontal Sync
FP/FVSYNC
O
pull-down
TBD
50
DSTN LCD: Frame Pulse
TFT LCD: LCD vertical sync
M/DE
O
pull-down
TBD
50
M-signal or Display Enable. This signal is used to indicate
the active horizontal display time.
FPR3E [7] is used to select
1 = M-signal
0 = Display Enable
FPSCLK
O
pull-down
TBD
50
Flat Panel Shift Clock. This is the pixel clock for Flat Panel
Data.
FPEN
O
pull-down
TBD
20
Flat Panel Enable. This signal needs to become active
after all panel voltages, clocks, and data are supplied. This
signal also needs to become inactive before any panel
voltages or control signals are removed. FPEN is part of
the VESA FPDI-1B specification.
FPVDDEN
O
pull-down
TBD
20
Flat Panel VDD Enable. This signal is used to control LCD
logic power.
VBIASEN
O
pull-down
TBD
20
Flat Panel Voltage Bias Enable. This signal is used to
control LCD Bias power.
LVDS Interface
TX0+/-
O
LVDS Channel 1 Output
TX1+/-
O
LVDS Channel 2 Output
TX2+/-
O
LVDS Channel 3 Output
TX3+/-
O
LVDS Channel 4 Output
TXCLK+/-
O
LVDS Clock Output
RED
O
Analog Red Current Output
GREEN
O
Analog Green Current Output
BLUE
O
Analog Blue Current Output
IREF
I
Current Reference Input
CRTVSYNC
O
pull-up
TBD
50
CRT Vertical Sync
CRTHSYNC/
CSYNC
O
pull-up
TBD
50
CRT Horizontal Sync or Composite Sync depending on
CCR65 [0]
0 = CRT Horizontal Sync
1 = Composite Sync
CRT Interface
TV Interface
Y
O
Luminance Output
C
O
Chrominance Output
CVBS
O
Composite Video Output
IREF2
I
Current Reference Input
Video Port Interface
2-4
Pins
Silicon Motion®, Inc.
Lynx3DM+
Databook
Signal Name
Type
Pull-up/
IOL
Max.
Pull-Down (mA) Load (pF)
Description
P [15:0]
I/O
pull-down
TBD
20
RGB or YUV input/ RGB digital output
PCLK
I/O
pull-up
TBD
20
Pixel Clock
VREF
I/O
pull-up
TBD
20
VSYNC input from PC Card or video decoder
HREF
I/O
pull-up
TBD
20
HSYNC input from PC Card or video decoder
BLANK
O
pull-up
TBD
20
Blank output
0 = BLANK output
General Purpose Registers / I²C
USR3
I/O
pull-up
TBD
20
General Purpose I/O
USR2
I/O
pull-up
TBD
20
General Purpose I/O
USR1 / SDA
I/O
pull-up
TBD
20
General Purpose I/O. USR1/ DDC2/ I²C Data for CRT. Can
be used to select different test modes.
USR0 / SCL
I/O
pull-up
TBD
20
General Purpose I/O. USR0/ DDC2/ I²C Clock for CRT.
Can be used to select different test modes.
I
pull-down
Test Mode Pins
TEST [1:0]
Test mode selects
VCC and GROUND Pins
HVDD
Host Interface VDD on I/O Ring, 3.3V
MIVDD
Integrated Display Memory Interface VDD on I/O Ring,
3.3V (2.5V option)
MEVDD
External Display Memory Interface VDD on I/O ring, 3.3V
(2.5V option)
FPVDD
Flat Panel Interface VDD on I/O Ring, 3.3V
VPVDD
VPort Interface VDD on I/O Ring 3.3V
PLLVDD
LVDS PLL Power Supply, 2.5V
PLLVSS
LVDS PLL Ground
LVDD
LVDS Power Supply, 2.5V
LVSS
LVDS Ground
CVDD
Clock (PLL) Analog Power, 2.5V
AVDD
DAC Analog Power, 3.3V
AVDD3
TVDAC Analog Power, 3.3V
RVDD
RAM Filtered Palette Power, 2.5V
CVSS
PLL Analog Ground
AVSS1
DAC Analog Ground
AVSS2
DAC Analog Ground
AVSS3
TVDAC Analog Ground
RVSS
RAM Filtered Palette Ground
VDD
Digital Core Power Supply, 2.5V
VCCA
Digital Memory Power Supply, 3.3V (2.5V option)
Pins
2-5
Silicon Motion®, Inc.
Signal Name
Type
Lynx3DM+
Databook
Pull-up/
IOL
Max.
Pull-Down (mA) Load (pF)
Description
VSSA
Digital Internal Memory Ground
VSS
Digital Ground
Others
RS[12:2]
Reserve pins
BA0
Memory Bank 0 select (Reserved)
2-6
Pins
Silicon Motion®, Inc.
1
2
3
Lynx3DM+
Databook
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
~FRAME
~BE2
A
MD12 MD3 MD4 MD5 MD7 MD31 MD17 MD28 MD20 MD25 MD22 AD0 AD4 AD7 AD9 AD12 AD14 PAR
B
MD2 MD0 MD11 MD9 MD8
~DQM3
MD30 MD18 MD27 MD21 MD24 AD1 AD5 ~BE0 AD10 AD13 ~BE1
~TRDY ~STOP
C
MD15 MD1 MD13 MD10 MD6
~DQM2
MD16 MD29 MD19 MD26 MD23 AD3 AD6 AD8 AD11 AD15
~IRDY
D
~CS0
E
~WE BA
F
MA5 ~CAS ~RAS MVDD VCCA
G
MA7 MA3 MA4 VSS VSS
H
MA1 MA8 MA2 MA6 MA10
J
~DQM1
~DEVSEL
AD16
AD17 AD18
MD14 VCCA VSS MVDD VSS MVDD VSS VSS AD2 HVDD VSS HVDD VDD VSS HVDD AD19 AD20 AD21
~DQM0
VSS RBF# BA0 RS2
STOP_AGP#
AGP_BUSY#
PIPE# ST0
ST1
ST2
SBA7 SBA6 SBA5 VSS AD22 AD23 IDSEL
SBA4 HVDD ~BE3 AD24 AD25
PINOUT SM722
SBA3 VDD AD26 AD27 AD28
SBA2 VSS AD29 AD30 AD31
SDCKEN
SDCK
MA9 MA0 VDD
VSS VSS
AVSS3
IREF2
SBA1 HVDD ~REQ ~GNT CLK
K
VCCA
~ROMEM
DSF
VSS VSS VSS
AVDD3
SBA0 VSS ~RST ~INTA
L
MD55 MD56 MD54 VSS VSS
RS5
RS6
RS7
CVBS
SB_STB MCKIN ~PDOWN ~CLKRUN ~EXCKEN
M
MD57 MD53 MD58 VCCA RS3
RS8
RS9
RS10 RS11
N
P
R
MD49 MD62 MD48
T
MD63
U
MD40 MD38 MD41 MD43 MVDD RS12
V
MD37 MD42 MD34 MD33
VCCA
PME#
REFCLK
VSS
PALCK
VREF HREF
BLANK
MD52 MD59 MD51 VSS RS4
AD_STB0
P4
P1
P0
PCLK
MD60 MD50 MD61 MVDD VSS
AD_STB1
Y
P5
P3
P2
LVDD VPVDD P8
P7
P6
P10
P9
~DQM6
TOP VIEW
~DQM7 VCCA
MD39 VSS
FPVDD VCCA
VSS
PLLVDD
tx3p txclkp txclkn tx2n tx1p tx0p tx0n LVSS C
FDA22 PLLVSS FPVDD
tx3n tx2p
~DQM5 FPSCLK FDA23 FDA19 FDA16 FDA13
DE
FDA21 FDA18 FDA15 FDA12
Y
FPEN
FDA20 FDA17 FDA14 FDA11 FDA10
~DQM4
FP
tx1n
FDA8 FDA5 FDA2
W MD36 MD46 MD45 MD47 LP
MD35 MD44 MD32
FPVDD
P12
FPVDDEN
CVSS AVSS1
USR0 TEST1 P13
VBIASEN
CVDD RVSS
BLUE USR1 TEST0 P14
FDA9 FDA6 FDA3 FDA0
CRTHSYNC
VDD IREF RED
FDA7 FDA4 FDA1
CRTVSYNC
CKIN AVDD
P15
GREEN AVSS2
P11
USR2
USR3
Figure 3: SM722/723 Pin Diagram for 316 BGA Package
Pins
2-7
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 5: Numerical SM722 BGA Pin List
(NOTE: signals which are in BOLD have different definitions from Lynx3DM)
#
SM721 Name
SM722 Name
A1
MD12
MD12
{Function1}
{Function2}
{Function3}
VDD
MVDD
A2
MD3
MD3
{ROM}
MVDD
A3
MD4
MD4
ROMD4
MVDD
A4
MD5
MD5
ROMD5
MVDD
A5
MD7
MD7
ROMD7
MVDD
A6
MD31
MD31
MVDD
A7
MD17
MD17
MVDD
A8
MD28
MD28
MVDD
A9
MD20
MD20
MVDD
A10
MD25
MD25
MVDD
A11
MD22
MD22
MVDD
A12
AD0
AD0
HVDD
A13
AD4
AD4
HVDD
A14
AD7
AD7
HVDD
A15
AD9
AD9
HVDD
A16
AD12
AD12
HVDD
A17
AD14
AD14
HVDD
A18
PAR
PAR
HVDD
A19
~FRAME
~FRAME
HVDD
A20
C/~BE2
C/~BE2
HVDD
B1
MD2
MD2
ROMD2
ROMD0
MVDD
B2
MD0
MD0
B3
MD11
MD11
MVDD
B4
MD9
MD9
MVDD
B5
MD8
MD8
MVDD
B6
~DQM3
~DQM3
MVDD
B7
MD30
MD30
MVDD
B8
MD18
MD18
MVDD
B9
MD27
MD27
MVDD
B10
MD21
MD21
MVDD
B11
MD24
MD24
MVDD
B12
AD1
AD1
HVDD
B13
AD5
AD5
HVDD
B14
C/~BE0
C/~BE0
HVDD
B15
AD10
AD10
HVDD
B16
AD13
AD13
HVDD
B17
C/~BE1
C/~BE1
HVDD
B18
~TDRY
~TDRY
HVDD
B19
~STOP
~STOP
HVDD
B20
AD16
AD16
HVDD
2-8
MVDD
Pins
Silicon Motion®, Inc.
Lynx3DM+
Databook
#
SM721 Name
SM722 Name
{Function1}
{Function2}
{Function3}
VDD
C1
MD15
MD15
C2
MD1
MD1
C3
MD13
MD13
MVDD
C4
MD10
MD10
MVDD
C5
MD6
MD6
C6
~DQM2
~DQM2
MVDD
C7
MD16
MD16
MVDD
C8
MD29
MD29
MVDD
C9
MD19
MD19
MVDD
C10
MD26
MD26
MVDD
MVDD
ROMD1
ROMD6
MVDD
MVDD
C11
MD23
MD23
MVDD
C12
AD3
AD3
HVDD
C13
AD6
AD6
HVDD
C14
AD8
AD8
HVDD
C15
AD11
AD11
HVDD
C16
AD15
AD15
HVDD
C17
~DEVSEL
~DEVSEL
HVDD
C18
~IDRY
~IDRY
HVDD
C19
AD17
AD17
HVDD
C20
AD18
AD18
HVDD
D1
~CS0
~CS0
MVDD
D2
~DQM1
~DQM1
MVDD
MVDD
D3
MD14
MD14
D4
VCCA
VCCA
D5
VSS
VSS
D6
MIVDD
MVDD
D7
VSS
VSS
D8
MIVDD
MVDD
D9
VSS
VSS
D10
VSS
VSS
D11
AD2
AD2
D12
HVDD
HVDD
D13
VSS
VSS
D14
HVDD
HVDD
D15
VDD
VDD
D16
VSS
VSS
D17
HVDD
HVDD
D18
AD19
AD19
HVDD
D19
AD20
AD20
HVDD
D20
AD21
AD21
HVDD
E1
~WE
~WE
MVDD
E2
BA
BA
MVDD
Pins
HVDD
2-9
Silicon Motion®, Inc.
Lynx3DM+
Databook
#
SM721 Name
SM722 Name
E3
~DQM0
~DQM0
E4
VSS
VSS
E5
~RBF
~RBF
E6
Reserved
BA0
E7
RS2
RS2
E8
~AGP_BUSY
~AGP_BUSY
{Function1}
{Function2}
{Function3}
VDD
MVDD
HVDD
E9
~STOP_AGP
~STOP_AGP
HVDD
E10
~PIPE
~PIPE
HVDD
E11
ST0
ST0
HVDD
E12
ST1
ST1
HVDD
E13
ST2
ST2
HVDD
E14
SBA7
SBA7
HVDD
E15
SBA6
SBA6
HVDD
E16
SBA5
SBA5
HVDD
E17
VSS
VSS
E18
AD22
AD22
HVDD
E19
AD23
AD23
HVDD
E20
IDSEL
IDSEL
HVDD
F1
MA5
MA5
MVDD
F2
~CAS
~CAS
MVDD
F3
~RAS
~RAS
MVDD
F4
MVDD
MVDD
F5
VCCA
VCCA
F16
SBA4
SBA4
F17
HVDD
HVDD
F18
C/~BE3
C/~BE3
HVDD
F19
AD24
AD24
HVDD
F20
AD25
AD25
HVDD
G1
MA7
MA7
MVDD
G2
MA3
MA3
MVDD
G3
MA4
MA4
MVDD
G4
VSS
VSS
G5
VSSA
VSS
G16
SBA3
SBA3
HVDD
HVDD
G17
VDD
VDD
G18
AD26
AD26
HVDD
G19
AD27
AD27
HVDD
G20
AD28
AD28
HVDD
H1
MA1
MA1
MVDD
H2
MA8
MA8
MVDD
H3
MA2
MA2
MVDD
H4
MA6
MA6
MVDD
2 - 10
Pins
Silicon Motion®, Inc.
Lynx3DM+
Databook
#
SM721 Name
SM722 Name
{Function1}
{Function2}
{Function3}
VDD
H5
MA10
MA10
MVDD
H16
SBA2
SBA2
HVDD
H17
VSS
VSS
H18
AD29
AD29
HVDD
H19
AD30
AD30
HVDD
H20
AD31
AD31
HVDD
J1
SDCKEN
SDCKEN
MVDD
J2
SDCK
SDCK
MVDD
J3
MA9
MA9
MVDD
J4
MA0
MA0
MVDD
J5
VDD
VDD
J9
VSS
VSS
J10
VSS
VSS
J11
AVSS3
AVSS3
J12
IREF2
IREF2
J16
SBA1
SBA1
J17
HVDD
HVDD
J18
~REQ
~REQ
J19
~GNT
~GNT
HVDD
J20
CLK
CLK
HVDD
K1
VCCA
VCCA
K2
~ROMEN
~ROMEN
MVDD
MVDD
K3
DSF
DSF
K4
VCCA
VCCA
K5
~PME
~PME
K9
VSS
VSS
K10
VSS
VSS
K11
VSS
VSS
K12
AVDD3
AVDD3
K16
SBA0
SBA0
HVDD
HVDD
HVDD
HVDD
K17
VSS
VSS
K18
~RST
~RST
HVDD
K19
~INTA
~INTA
HVDD
K20
REFCLK
REFCLK
HVDD
L1
MD55
MD55
MVDD
L2
MD56
MD56
MVDD
L3
MD54
MD54
MVDD
L4
VSS
VSS
L5
VSS
VSS
L9
FDATA29
RS5
L10
FDATA32
RS6
L11
FDATA26
RS7
Pins
2 - 11
Silicon Motion®, Inc.
Lynx3DM+
Databook
#
SM721 Name
SM722 Name
{Function1}
L12
CVBS
CVBS
{EXT CLK}
L16
SB_STB
SB_STB
L17
MCKIN/LVDSCK MCKIN/LVDSCK
{Function2}
{Function3}
VDD
HVDD
MCKIN
HVDD
L18
~PDOWN
~PDOWN
HVDD
L19
~CLKRUN/
ACTIVITY
~CLKRUN/
ACTIVITY
HVDD
L20
~EXCKEN
~EXCKEN
HVDD
M1
MD57
MD57
MVDD
M2
MD53
MD53
MVDD
MVDD
M3
MD58
MD58
M4
VCCA
VCCA
M5
FDATA47
RS3
M9
FDATA31
RS8
M10
FDATA33
RS9
M11
FDATA28
RS10
M12
FDATA25
RS11
M16
VSS
VSS
M17
PALCK
PALCK
{ZV IN}
{TESTMODE1}
TD19
VPVDD
{External TV
encoder}
TD18
VPVDD
TVCLK
TD17
VPVDD
M18
VREF
VREF
VS
M19
HREF
HREF
HREF
M20
BLANK
BLANK
N1
MD52
MD52
MVDD
N2
MD59
MD59
MVDD
N3
MD51
MD51
MVDD
N4
VSS
VSS
N5
FDATA46
RS4
N16
AD_STB0
AD_STB0
N17
P4
P4
UV4
TD4
VPVDD
N18
P1
P1
UV1
TD1
VPVDD
N19
P0
P0
UV0
TD0
VPVDD
PCLK
TD16
VPVDD
HVDD
N20
PCLK
PCLK
P1
MD60
MD60
MVDD
P2
MD50
MD50
MVDD
P3
MD61
MD61
MVDD
P4
MVDD
MVDD
P5
VSS
VSS
P16
AD_STB1
AD_STB1
P17
Y
Y
{ZV IN}
P18
P5
P5
UV5
TD5
VPVDD
P19
P3
P3
UV3
TD3
VPVDD
2 - 12
HVDD
Pins
Silicon Motion®, Inc.
Lynx3DM+
Databook
#
SM721 Name
SM722 Name
{Function1}
{Function2}
{Function3}
VDD
P20
P2
P2
UV2
TD2
VPVDD
R1
MD49
MD49
MVDD
R2
MD62
MD62
MVDD
R3
MD48
MD48
MVDD
R4
~DQM7
~DQM7
MVDD
R5
VCCA
VCCA
R16
FDATA36
LVDD
R17
VPVDD
VPVDD
R18
P8
P8
Y0
TD8
VPVDD
R19
P7
P7
UV7
TD7
VPVDD
UV6
TD6
VPVDD
R20
P6
P6
T1
MD63
MD63
T2
~DQM6
~DQM6
{ROM}
MVDD
T3
MD39
MD39
ROMA7
MVDD
MVDD
T4
VSS
VSS
T5
FPVDD
FPVDD
T6
VCCA
VCCA
T7
VSS
VSS
T8
FDATA45
PLLVDD
T9
FDATA44
TX3+
LVDD
T10
FDATA43
TXCLK+
LVDD
T11
FDATA42
TXCLK-
LVDD
T12
FDATA41
TX2-
LVDD
T13
FDATA40
TX1+
LVDD
T14
FDATA39
TX0+
LVDD
T15
FDATA38
TX0-
LVDD
T16
FDATA37
LVSS
T17
C
C
{ZV IN}
T18
P12
P12
Y4
TD12
VPVDD
T19
P10
P10
Y2
TD10
VPVDD
T20
P9
P9
Y1
TD9
VPVDD
{ROM}
U1
MD40
MD40
ROMA8
MVDD
U2
MD38
MD38
ROMA6
MVDD
U3
MD41
MD41
ROMA9
MVDD
U4
MD43
MD43
ROMA11
U5
MVDD
MVDD
U6
FDATA35
RS12
{DSTN}
U7
FDATA22
FDATA22
UD10
U8
FDATA34
PLVSS
U9
FPVDD
FPVDD
U10
FDATA30
TX3-
Pins
FPVDD
LVDD
2 - 13
Silicon Motion®, Inc.
Lynx3DM+
Databook
#
SM721 Name
SM722 Name
U11
FDATA27
TX2+
U12
FPVDD
FPVDD
{Function1}
{Function2}
{Function3}
VDD
LVDD
U13
FDATA24
TX1-
LVDD
U14
FPVDDEN
FPVDDEN
FPVDD
U15
CVSS
CVSS
U16
AVSS1
AVSS1
{I2C/DDC}
{USR CFG}
U17
USR0/SCL
USR0/SCL
SCL (Prim)
USR0
U18
TEST1
TEST1
{ZV IN}
TEST1
VPVDD
U19
P13
P13
Y5
TD13
VPVDD
U20
P11
P11
Y3
TD11
VPVDD
V1
MD37
MD37
ROMA5
MVDD
V2
MD42
MD42
ROMA10
MVDD
V3
MD34
MD34
ROMA2
MVDD
VPVDD
{ROM}
V4
MD33
MD33
ROMA1
MVDD
V5
~DQM5
~DQM5
{DSTN}
MVDD
V6
FPSCLK
FPSCLK
XCK
FPVDD
V7
FDATA23
FDATA23
UD11
FPVDD
V8
FDATA19
FDATA19
UD7
FPVDD
V9
FDATA16
FDATA16
UD4
FPVDD
V10
FDATA13
FDATA13
UD1
FPVDD
V11
FDATA8
FDATA8
LD8
FPVDD
V12
FDATA5
FDATA5
LD5
FPVDD
V13
FDATA2
FDATA2
LD2
FPVDD
V14
VBIASEN
VBIASEN
V15
CVDD
CVDD
V16
RVSS
RVSS
V17
BLUE
BLUE
{I2C/DDC}
{USR CFG}
V18
USR1/SDA
USR1/SDA
SDA (Prim)
USR1
V19
TEST0
TEST0
{ZV IN}
TEST0
VPVDD
V20
P14
P14
Y6
TD14
VPVDD
FPVDD
VPVDD
{ROM}
W1
MD36
MD36
ROMA4
MVDD
W2
MD46
MD46
ROMA14
MVDD
W3
MD45
MD45
ROMA13
MVDD
W4
MD47
MD47
ROMA15
MVDD
{DSTN}
W5
LP/FHSYNC
LP/FHSYNC
LP
FPVDD
W6
M/ DE
M/ DE
M/DE
FPVDD
W7
FDATA21
FDATA21
UD9
FPVDD
W8
FDATA18
FDATA18
UD6
FPVDD
W9
FDATA15
FDATA15
UD3
FPVDD
2 - 14
Pins
Silicon Motion®, Inc.
Lynx3DM+
Databook
#
SM721 Name
SM722 Name
{Function1}
{Function2}
{Function3}
VDD
W10
FDATA12
FDATA12
UD0
FPVDD
W11
FDATA9
FDATA9
LD9
FPVDD
W12
FDATA6
FDATA6
LD6
FPVDD
W13
FDATA3
FDATA3
LD3
FPVDD
W14
FDATA0
FDATA0
LD0
FPVDD
W15
CRTHSYNC
CRTHSYNC
W16
RVDD
VDD
W17
IREF
IREF
W18
RED
RED
{ZV IN}
W19
P15
P15
Y7
W20
USR2
USR2
VPVDD
TD15
{I2C/DDC}
{USR CFG}
SCL
USR2/ NTSCPAL
VPVDD
VPVDD
{ROM}
Y1
MD35
MD35
ROMA3
Y2
Y3
MVDD
MD44
MD44
ROMA12
MVDD
MD32
MD32
ROMA0
MVDD
Y4
~DQM4
~DQM4
{DSTN}
MVDD
Y5
FP/ FVSYNC
FP/ FVSYNC
FP
FPVDD
Y6
FPEN
FPEN
FPEN
FPVDD
Y7
FDATD20
FDATD20
UD8
FPVDD
Y8
FDATA17
FDATA17
UD5
FPVDD
Y9
FDATA14
FDATA14
UD2
FPVDD
Y10
FDATA11
FDATA11
LD11
FPVDD
Y11
FDATA10
FDATA10
LD10
FPVDD
Y12
FDATA7
FDATA7
LD7
FPVDD
Y13
FDATA4
FDATA4
LD4
FPVDD
LD1
Y14
FDATA1
FDATA1
Y15
CRTVSYNC
CRTVSYNC
Y16
CKIN
CKIN
Y17
AVDD
AVDD
Y18
GREEN
GREEN
Y19
AVSS2
AVSS2
{I2C/DDC2}
{USR CFG}
Y20
USR3
USR3
SDA
USR3/TVONOFF
Notes:
Pins
FPVDD
FPVDD
VPVDD
The reserved signals are for future use.
2 - 15
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 6: Lynx3DM+ VCC and GROUND Connections
VCC Pin
Location
Supply Voltage
Description
HVDD
D12,D14,D17,F17,J17
3.3V
Host interface VDD
1
MVDD
D6, D8, F4 P4,U5
3.3V/2.5V
FPVDD
T5, U9, U12
3.3V
Flat panel interface VDD
VPVDD
R17
3.3V
ZVPort Interface VDD
CVDD
V15
2.5V
Clock PLL analog power
AVDD
Y17
3.3V
CRT DAC analog power
AVDD3
K12
3.3V
TVDAC analog power
LVDD
R16
2.5V
LVDS Power Supply
PLLVDD
T8
2.5V
LVDS PLL Power Supply
VDD
D15, G17, J5,W16
2.5V
VCCA
D4,F5,K1,K4,M4,R5,T6
3.3V/2.5V
Memory VDD. Allow option for 3.3V or 2.5V connection.
Core Power
1
Integrated memory power. Allow for 3.3V or 2.5V
connection
Ground
CVSS
U15
Clock PLL analog ground
LVSS
T16
LVDS ground
PLLVSS
U8
LVDS PLL ground
AVSS1
U16
DAC analog ground
AVSS2
Y19
DAC analog ground
AVSS3
J11
TVDAC analog ground
RVSS
V16
RAM palette ground
VSS
D5,D7,D9,D10,D13,D16,E4,E17,G4,
G5,H17,J9,J10,K9,K10,K11,K17,L4,
L5, M16,N4, P5,T4,T7
Digital ground
Lynx3DM+ NAND Tree Scan Testing
The LYNX3DM+ NAND Tree scan test circuit is designed for verifying the device being properly soldered to the board. It
detects opened/shorted traces of a signal pin with a simple test pattern which, for this particular case, only ~220 vectors in
length. Since the NAND Tree scan test circuit uses Combinational logic, therefore, no clock pulses are required during the
testing.
General Information
The LYNX3DM+ NAND Tree scan test circuit is a long chain of 2-input NAND gates. The first pin of the NAND chain is
an input (signal pin "PME#"), the last pin of the chain is an output (signal pin "BLANK"). In order to setup the device for
NAND Tree scan testing, program USR[3:0] pins to 0010h and Test[1:0] pins to 10h. ALL VDD's, VSS's, and Analog
pins RED, GREEN, BLUE, IREF, C, Y, CVBS, IREF2, TX[3:0]P, TX[3:0]N, TXCLK1P, TXCLK1N and Control pins
USR[3:0], Test[1:0] are not included in the scan chain.
2 - 16
Pins
Silicon Motion®, Inc.
Lynx3DM+
Databook
NandTree_out
(to CAPTURE block)
TestMode 6
pad_input 1
pad_input 2
pad_input 3
pad_input N
Figure 4: NAND Tree Connection
NAND Tree Simulation
In order to setup LYNX3DM+ to NAND Tree scan test mode, USR[3:0] and Test[1:0] pins are programmed to 0010h and
10h respectively. In NAND Tree mode, internal signal TestMode6 is a "1" (active "High" signal). In the beginning of the
simulation, all inputs are forced to "1". Then, follow the NAND Tree PAD sequence and change each input to "0" every
400ns, starting with input_0 (signal "PME#"). The Output pin (signal "BLANK") should be a clock waveform that toggles
every 400ns (a 2.5MHz square waveform) (See Figure 2). Any mismatch in the waveform would mean the device not
properly soldered to the board.
TestMode6
Input #1 (~ROMEN)
Input #2(MD31)
Input #3 (MD0)
Input #4(MD30)
Input #5 (MD1)
Input #6(MD29)
Input #7 (MD2)
Input #8(MD28)
Output (BLANK)
Figure 5: NAND Tree Simulation Timing Diagram
Table 7: NAND Tree Scan Test Order
NAND TREE SCAN PIN ORDER#
Pin Name
In/Out
1
PME#
In
Pins
2
RBF#
In
3
AGP_BUSY#
In
4
STOP_AGP#
In
5
PIPE#
In
6
ST0
In
2 - 17
Silicon Motion®, Inc.
Lynx3DM+
Databook
NAND TREE SCAN PIN ORDER#
Pin Name
In/Out
7
AD2
In
2 - 18
8
ST1
In
9
AD3
In
10
AD1
In
11
AD0
In
12
ST2
In
13
AD6
In
14
AD5
In
15
AD4
In
16
SBA7
In
17
AD8
In
18
~CBE0
In
19
AD7
In
20
SBA6
In
21
AD11
In
22
AD10
In
23
AD9
In
24
AD13
In
25
AD12
In
26
AD14
In
27
~CBE1
In
28
PAR
In
29
~DEVSEL
In
30
~FRAME
In
31
~TRDY
In
32
~IRDY
In
33
AD16
In
34
~CBE2
In
35
AD17
In
36
~STOP
In
37
AD19
In
38
AD20
In
39
SBA5
In
40
AD22
In
41
~CBE3
In
42
AD23
In
43
AD15
In
44
AD24
In
45
CLK
In
46
AD18
In
47
SBA4
In
48
AD21
In
Pins
Silicon Motion®, Inc.
Lynx3DM+
Databook
NAND TREE SCAN PIN ORDER#
Pin Name
In/Out
49
SBA3
In
50
IDSEL
In
51
AD26
In
52
AD25
In
53
AD_STB1
In
54
AD27
In
55
AD_STB0
In
56
AD28
In
57
SB_STB
In
58
AD31
In
59
SBA0
In
60
~INTA
In
61
~RST
In
62
~GNT
In
63
SBA2
In
64
AD30
In
65
SBA1
In
66
AD29
In
67
~REQ
In
68
CLKRUN/ACTIVITY
In
69
P0
In
70
P1
In
71
P2
In
72
P3
In
73
P4
In
74
P6
In
75
P5
In
76
P7
In
77
P8
In
78
PCLK
In
79
P9
In
80
P10
In
81
P11
In
82
P12
In
83
P13
In
84
P14
In
85
P15
In
86
VREF
In
Pins
87
HREF
In
88
PALCLK
In
89
MCKIN
In
90
~PDOWN
In
2 - 19
Silicon Motion®, Inc.
Lynx3DM+
Databook
NAND TREE SCAN PIN ORDER#
Pin Name
In/Out
91
REFCLK
In
2 - 20
92
~EXCKEN
In
93
CRTHSYNC
In
94
CRTVSYNC
In
95
CKIN
In
96
FDA1
In
97
FDA4
In
98
FDA0
In
99
VBIASEN
In
100
FDA3
In
101
FDA2
In
102
FDVDDEN
In
103
FDA7
In
104
FDA10
In
105
FDA9
In
106
FDA6
In
107
FDA8
In
108
FDA5
In
109
FDA11
In
110
FDA12
In
111
FDA14
In
112
FDA15
In
113
FDA13
In
114
FDA17
In
115
FDA18
In
116
FDA16
In
117
FDA19
In
118
FDA21
In
119
FDA20
In
120
FDA23
In
121
FDA22
In
122
FPEN
In
123
FPDE
In
124
FPSCLK
In
125
FP/FPVSYNC
In
126
LP/FPHSYNC
In
127
MD63
In
128
MD32
In
129
MD62
In
130
MD33
In
131
MD61
In
132
MD34
In
Pins
Silicon Motion®, Inc.
Lynx3DM+
Databook
NAND TREE SCAN PIN ORDER#
Pin Name
In/Out
133
MD60
In
134
MD35
In
135
MD36
In
136
MD59
In
137
MD37
In
138
MD58
In
139
MD38
In
140
MD57
In
141
MD39
In
142
MD56
In
143
MD48
In
144
MD47
In
145
MD49
In
146
MD46
In
147
MD50
In
148
MD45
In
149
MD51
In
150
MD44
In
151
MD52
In
152
MD43
In
153
MD53
In
154
MD42
In
155
MD54
In
156
MD41
In
157
MD55
In
Pins
158
MD40
In
159
~DQM4
In
160
~DQM6
In
161
~WE
In
162
~DQM7
In
163
~CAS
In
164
~DQM5
In
165
~RAS
In
166
MA10
In
167
~CS0
In
168
MA6
In
169
BA0
In
170
BA
In
171
MA8
In
172
MA5
In
173
SDCK
In
174
MA0
In
2 - 21
Silicon Motion®, Inc.
Lynx3DM+
Databook
NAND TREE SCAN PIN ORDER#
Pin Name
In/Out
175
MA4
In
176
MA7
In
177
MA3
In
178
MA9
In
179
MA2
In
180
DSF
In
181
MA1
In
182
SDCKEN
In
183
~DQM2
In
184
~DQM1
In
185
~DQM0
In
186
~DQM3
In
187
MD23
In
188
MD8
In
189
MD22
In
190
MD9
In
191
MD10
In
192
MD21
In
193
MD11
In
194
MD20
In
195
MD12
In
196
MD19
In
197
MD13
In
198
MD18
In
199
MD14
In
200
MD17
In
201
MD15
In
202
MD16
In
203
MD7
In
204
MD6
In
205
MD24
In
206
MD5
In
207
MD25
In
208
MD4
In
209
MD26
In
210
MD27
In
211
MD3
In
212
MD28
In
213
MD2
In
214
MD29
In
215
MD1
In
216
MD30
In
2 - 22
Pins
Silicon Motion®, Inc.
Lynx3DM+
Databook
NAND TREE SCAN PIN ORDER#
Pin Name
In/Out
217
MD0
In
Pins
218
MD31
In
219
~ROMEN
In
220
BLANK
Out
2 - 23
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 3: Initialization
Lynx3DM+ generates an internal power-on reset during system power-on. After receiving the system ~RESET signal,
Lynx3DM+ will release its internal power-on reset circuit and enter the RESET period until the host de-asserts the
~RESET signal. During the RESET period, Lynx3DM+ resets its internal state machines and registers to the power-on
default states. During power-on, Lynx3DM+ is configured based on configuration lines MD [22:0].
Table 8 provides a detailed description of each configuration line. All MD (memory data) lines have internal pull-up
resistors on I/O pads which are latched into the corresponding register as logic "1" on the rising edge (trailing edge) of the
~RESET. To set a specific bit as logic "0" during power-on reset, an external pull-down resistor must be added on the
corresponding MD line.
In addition to power-on configuration, Lynx3DM+ performs an initialization sequence for the integrated memory.
After memory initialization has been completed, Lynx3DM+'s video BIOS is ready to service system BIOS requests.
System BIOS passes a pointer to the Lynx3DM+ video BIOS to start the video BIOS initialization sequence.
SDCK
SDCKEN
COMMAND
NOP
MA
MD
PRECHARGE
LOAD MODE
REGISTER
BOTH
BANKS
CODE
NOP
AUTO
REFRESH
NOP
AUTO
REFRESH
NOP
ACTIVE
BANK ROW
High-Z
T=200us
POWER-UP
VCC and
SDCLK stable
tR P
PRECHARGE
tM T C
Program Mode Register
tR C
1st AUTO REFRESH Cycle
tR C
8th AUTO REFRESH Cycle
Figure 6: SGRAM Power-Up and Initialization Sequence
Figure 7 illustrates the Lynx3DM+ Video BIOS initialization flow. The initialization sequence consists of the following
stages:
•
•
•
•
•
•
•
Load configuration table
Get panel 2D
Initialize INT10 function
Initialize hardware
Query system BIOS via In 15 calls
Set initial mode
Enable the display
Initialization
3-1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Start
INT 15 7F03
Determint
expansion/
centering.
Default: Expansion
Load configuration
table
Determine TV
support by INT 15
7F06.
Default: TV
support
INT 15 7F01
Get Panel ID
Initialize Panel ID
INT 15 Get
subsystem ID &
subvendor ID.
Default:
126F&chip#
No
Read 3C4.70
Get Panel ID
INT 15 7F08
Determine text &
graphic expansion.
Default: text &
graphic expansion
No
Read 3C4.30
Get Panel ID
Yes
INT 15 7F09
Determine dual
monitor support.
Default: support
Load default panel
ID
INT 15 7F0A
Determine TV
connection
Set Panel ID
INT 15 7F11
Determine starting
mode.
Default: mode 3
Initialize INT 10
Turn on display
Figure 7: Lynx3DM+ Video BIOS Initialization Flow
3-2
Initialization
Silicon Motion®, Inc.
Lynx3DM+
Databook
Lynx3DM+ Power-On Configurations
•
•
•
•
Memory data bit [63:33] have pull-down resisters on I/O pads
Memory data bit [32:0] have internal pull-up resistors on I/O pads
0 = external pull-down resistor
1 = no external pull-down resistor
Table 8: Power-On Configurations
Signal Name
Read/Write
MD [32]
CONFIG ONLY
MD [31:30]
R/W
MCR76 [7:6]
3C5h.76
MCB Memory Size
00 = 8MB
01 = 16MB
10 = Reserved
11 = 4MB
MD [29:28]
R/W
MCR76 [5:4]
3C5h.76
MCB memory Column Address Select
11= 8-bit column address
10 = 9-bit column address
0x = 10-bit column address
MD [27]
R/W
MCR76 [3]
3C5h.76
Reserved
MD [26]
R/W
MCR76 [2]
3C5h.76
Reserved default = 1
MD [25]
R/W
MCR76 [1]
3C5h.76
Reserved
MD [24]
R/W
MCR76 [0]
3C5h.76
Reserved
MD [23]
CONFIG ONLY
CPR00 [25]
MD [22]
CONFIG ONLY
Reserved
MD [21]
CONFIG ONLY
EBROM Access
0 = Enable C0000 access when expansion ROM is
disabled (MD [20] = 1)
1 = Disable C0000 access (default)
MD [20]
CONFIG ONLY
Expansion ROM
0 = Expansion ROM
1 = no Expansion ROM (default)
MD [19:16]
R/W
GPR70 [3:0]
3C5h.70
Panel ID Configuration
Refer to BIOS Spec for panel ID definition
MD15
R/W
FPR30 [7]
3C5h.30
DSTN Interface Type
0 = 16-bit interface
1 = 24-bit interface
MD [14:12]
R/W
FPR30 [6:4]
3C5h.30
Color TFT Interface Type
000 = 9-bit, 3-bit per R, G, B
001 = 12-bit, 4-bit per R, G, B
010 = 18-bit, 6-bit per R, G, B
011 = 24-bit, 8-bit per R, G, B
100 = RESERVED
101 = Analog TFT w/ analog R, G, B interface
110 = RESERVED
111 = RESERVED
MD [11:10]
R/W
FPR30 [3:2]
3C5h.30
LCD Display Size
00 = 640 x 480
01 = 800 x 600
10 = 1024 x 768
11 = 1280 x 1024
MD9
R/W
FPR30 [1]
3C5h.30
TFT FPCLK Select
0 = Normal
1 = Inverted
MD8
R/W
FPR30 [0]
3C5h.30
Color LCD Type
0 = color TFT
1 = color STN
Initialization
Register Bits
Address
Lynx3DM+ Description
Enable AGP sideband signals
0 = Disable
1 = Enable
Reserved
3-3
Silicon Motion®, Inc.
Lynx3DM+
Databook
Signal Name
Read/Write
Register Bits
Address
Lynx3DM+ Description
MD [7:6]
R/W
MCR62 [7:6]
3C5h.62
Reserved
MD [5:4]
R/W
MCR62 [5:4]
3C5h.62
Reserved
MD3
R/W
MCR62 [3]
3C5h.62
MCB SDRAM Memory Bank Select
0 = 4 memory bank
1 = 2 memory bank (default)
MD2
R/W
MCR62 [2],[0]
3C5h.62
Reserved
MD1
R/W
MCR62 [1]
3C5h.62
Reserved
MD0
R/W
MCR62 [2],[0]
3C5h.62
Reserved
3-4
Initialization
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 4: PCI/AGP Bus Interface
Lynx3DM+ provides a glue-less interface to the PCI and AGP system bus. The device is fully compliant with PCI Version
2.1. The PCI interface 5V tolerant. Lynx3DM+'s PCI Host Interface Unit supports both slave and master mode. To
maximize performance, the Host Interface Unit also supports burst write, and burst read with Read Look Ahead. When
connected to the AGP interface, Lynx3DM+ supports AGP 2X with sideband.
The Lynx3DM+'s PCI/AGP Host Interface Unit manages data transfer between the external PCI/AGP bus and internal
Host Interface (HIF) bus. All functional blocks, with the exception of the Drawing Engine, are tied to the HIF bus through
a proprietary protocol. Separate decode logic and a dedicated FIFO are used for the Drawing Engine.
In addition to PCI Configuration Space Registers, the PCI/AGP Host Interface Unit contains Power Down Control
Registers (PDR20-PDR23) and System Control Registers (SCR10-SCR1A). These Registers may accessed by the CPU
even while internal PLLs are turned off.
PCI Configuration Registers
The PCI configuration registers are designated CSR00 - CSR3D. A brief description of key elements of the register set
follows:
•
•
•
•
•
•
Vendor ID register (CSR00) - hardwired to 126Fh to identify Silicon Motion, Inc as the chip vendor.
Device ID register (CSR02) - hardwired to 0720h to identify the Lynx3DM+ device.
Status register (CSR06) - hardwired to 01b, which indicates medium speed for ~DEVSEL.
Class Code register (CSR08) - hardwired to 030000h to specify Lynx3DM+ as a VGA compatible device. Bit [7:0]
used to identify the revision of the Lynx3DM+.
Memory Base Address register (CSR10) - specifies the PCI configuration space for address relocation. After poweron, the register defaults to 00h, which indicates the base register can be located anywhere in a 32-bit address space
and that the base register is located in memory space.
Subsystem Vendor ID and Subsystem ID (addressable at CSR2C and CSR2E respectively) - 32-bit read only
registers. These registers are used to differentiate between multiple graphics adapters within the same system.
PCI/AGP Bus Interface
4-1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 5: Display Memory Interface
Memory Configuration
The Lynx3DM+ supports a total of 16MB of integrated memory. The memory interface is 32/64 bits wide and is clocked
at up to 150 MHz, for a total bandwidth of 1.0GB/s peak. To accomplish this when configured with 16MB, Lynx3DM+
uses two 1Mx64 SGRAM memory devices running in parallel.
Page Break Look Ahead
For standard architectures, the memory controller will break cycle when bus agent changes. Lynx3DM+ can allow a "No
Wait Cycle" during agent changes if the preceding and current agents are in the same page. Both the embedded memory
bus and external memory bus support this capability.
Memory Timing Control
Memory timing control is configured via MD [7:0] and MD [31:24] during power-on reset. When equipped with 16MB,
the configuration bits MD [7:0] control the first SGRAM timing, while MD [31:24] control the second SGRAM timing.
They should always be set the same. See Reference Table 10 in the Initialization section for a complete description of
these memory configuration bits.
Note:
MD[63-33] has internal pull-down resistors and MD[32-0] has pull-up resistors on I/O pads. The default configuration is
therefore a logical "1" during power-on reset. To set an MD line to 0, an external pull-down resistor needs to be added. After
power-on initialization, software can be used to overwrite the initial setting by writing to MCR62 - bits [7:0] correspond to
MD [7:0], and MCR76 - bits [7:0] correspond to MD [31:24].
Display Memory Interface
5-1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 6: Drawing Engine
Lynx3DM+'s 128-bit Drawing Engine is designed to accelerate Microsoft's DirectDraw and Direct3D applications. The
engine contains a 3-operand ALU with 256 raster operations, source and destination FIFOs, as well as a host data FIFO.
The drawing engine pipeline allows single cycle operations and runs at the memory clock speed.
Lynx3DM+'s Drawing Engine includes several key functions to achieve the high GUI performance. The device supports
color expansion with packed mono font, color pattern fill, host BLT, stretch BLT, short stroke, line draw, and others.
Dedicated pathways are designed to transfer data between host interface (HIF) bus and Drawing Engine, and memory
interface (MIF) bus and Drawing Engine. In addition, the drawing engine supports rotation BIBLT for any block size, and
automatic self activate rotation BLIT. This feature allows conversion between landscape and portrait display without the
need for special software drivers.
The Drawing Engine offers several 3D assist features. The Drawing Engine supports low-resolution modes and hardware
arithmetic stretching to allow 3D to be rendered to a smaller back buffer and scaled up to the front buffer. Lynx3DM+ also
supports fast DMA BLT, source clear during BLT, transparent BLT, programmable blter stride, page flip, and current scan
line refresh.
Lynx3DM+'s Drawing Engine is also used to bus master captured data to the hard disk drive or to system memory during
video capture. To accomplish this, the video capture driver turns on the Drawing Engine Capture Enable bit (DPR0E bit
4), selects HOST BLT Read command function (DPR0E [3:0]), and enables PCI bus master mode (SCR17 bit 6). The
Video Capture Unit loads the incoming video stream into Capture Buffer 1 or 2, depending on which is idle (CPR00 bit 1
or bit 2 = 0 indicates idle status). The Drawing Engine resets Capture Buffer I or Capture Buffer II control/Status bit to 0
(CPR00 bit 1 or bit 2) after a transfer has completed.
Drawing Engine
6-1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 7: Video Processor
Lynx3DM+'s Video Processor manages video data streams, as well as graphics data streams in non-VGA modes. The
Video Processor can process two independent video data streams. The two video windows (primary and secondary) can be
displayed at any screen location with any size, and can be overlaid with graphics data. Lynx3DM+ also supports Bob and
Weave for DVD playback.
Within the Video Processor, the Graphics Source Control block, Video Window I Control block, Video Window II Control
block, and HW Pop-up Icon Control block all have independent Starting Address and Offset Address registers. This
means that each control block can fetch data from any display memory location. Video Window I source control block
supports double-buffered video capture. Internal logic automatically detects the control/status bits of the two capture
buffers and fetches the captured video data from the buffer which is not used.
The Video Processor supports TV flicker reduction for direct color modes (64K colors or 16M colors), as well as index
color modes (256 colors and 16 colors). A special data path is designed to feed the outputs of the color palette RAM back
to the TV Flicker Reduction block. The TV Overscan & Underscan Control block is used to convert 480 lines into 400
visible lines on NTSC TV display. The same function can also be used on PAL TV display. When the TV display is
enabled, the Shadow registers need to be locked as 640 x 480 mode (or 720 x 525 for PAL).
From VGA Core
8
8
HW Pop-Up
Icon Control
TV
Flicker
Reduction
Display
Memory
64
Graphics Source
Control
64
Video Window I
Source Control
To
Multimedia
RAMDAC
Block
TV
Overscan
&
Underscan
Control
24
Color
Key
Horizontal
Color Interpolation & Scaling
64
Video Window II
Source Control
Display
Control
YUV
to
RGB
Vertical
Color Interpolation & Scaling
Figure 8: Video Processor Block Diagram
Video Processor
7-1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 8: Zoom Video Port and Video Capture Unit
Zoom Video Port
Lynx3DM+'s Zoom Video Port (ZV Port) is designed to interface with video solutions implemented as PCMCIA (or PC
CardBus) cards: examples are NTSC/PAL decoders, MPEG-2 decoders, and JPEG Codecs. The ZV Port can also directly
interface with an NTSC/PAL decoder, such as Philips 7111 or BT819. Figure 9 illustrates an example of the Philips video
encoder interface via the ZV Port.
Incoming video data from the ZV Port interface can be YUV or RGB format. The data can be interlaced or non-interlaced.
The ZV Port can be configured for output if the video capture function is disabled. 18-bit graphics and video data in RGB
format can be sent out when the ZV Port is configured for output mode.
The ZV Port may also be configured as a test port. Up to 20 signals from each of the logic blocks within Lynx3DM+ can
be brought out to an internal test bus (TD Bus) connected to the ZV Port. System designers or silicon validation engineers
can access these signals by setting the TEST0, TEST1, USR0, USR1, and USR2 pins. This approach can bring out a total
of 180 internal signals to the primary I/O pins. The test port capability can be used to enhance fault coverage, as well as
reduce silicon validation or debugging time.
Table 9 lists signal definitions for the following ZV Port interface configurations: YUV input mode, RGB input mode, and
graphics/video (output mode).
Philips SAA7110/
SAA7111
Video
NTSC/PAL
RF Signal
Lynx3DM+
Y [7:0]
Y [7:0]
UV[7:0]
UV[7:0]
HREF
HREF
VS
VREF
LLC
PCLK
SDA
SDA
SCL
SCL
Figure 9: Video Encoder Interface via Video Port
Zoom Video Port and Video Capture Unit
8-1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 9: Lynx3DM+ Video Port Interface I/O Compliance
Video Port Interface
ZV Port
(Input mode)
I/O
NTSC/PAL
Decoder (Input mode)
I/O
Graphics/Video
(Output mode)
I/O
VREF
VS
I
VS
I
R7
O
HREF
HREF
I
HREF
I
R6
O
BLANK
(note1)
BLANK
O
PCLK
PCLK
I
PCLK
I
PCLK
O
P15
UV7
I
R7
I
R5
O
P14
UV6
I
R6
I
R4
O
P13
UV5
I
R5
I
R3
O
(note1)
P12
UV4
I
R4
I
R2
O
P11
UV3
I
R3
I
G7
O
P10
UV2
I
G7
I
G6
O
P9
UV1
I
G6
I
G5
O
P8
UV0
I
G5
I
G4
O
P7
Y7
I
G4
I
G3/Vindex_[7]
O
P6
Y6
I
G3
I
G2/Vindex_[6]
O
P5
Y5
I
G2
I
G7/Vindex_[5]
O
P4
Y4
I
B7
I
G6/Vindex_[4]
O
P3
Y3
I
B6
I
G5/Vindex_[3]
O
P2
Y2
I
B5
I
G4/Vindex_[2]
O
P1
Y1
I
B4
I
G3/Vindex_[1]
O
P0
Y0
I
B3
I
G2/Vindex_[0]
O
Note 1: BLANK pin can used as TVCLK output, which is independent of ZV port.
Note 2: Vindex [7:0] is indexed video out
Note 3: SMI test bus is for internal use only
Video Capture Unit
The Video Capture Unit captures incoming video data from the ZV Port and then stores the data into the frame buffer. The
Video Capture Unit support several features to maintain display quality, and balance the capture rate:
•
•
•
•
•
•
•
2-tap, 3-tap, and 4-tap horizontal filtering
2 to 1 and 4 to 1 reduction for horizontal and vertical frame size
YUV 4:2:2, YUV 4:2:2 with byte swap, RGB 5:5:5, and RGB 5:6:5
Multiple frame skipping methods
Interlaced data and non-interlaced data capture
Single buffer and double buffer capture
Cropping
Lynx3DM+ uses the Video Processor block to display the captured data on the LCD, TV, or CRT display. The captured
data can be displayed through Video Window I or Video Window II. The stretching, color interpolation, YUV-to-RGB
conversion, and color key functions are performed in the Video Processor. Lynx3DM+'s Video Processor can
simultaneously process captured video data and perform CD-ROM playback on two independent video windows.
Lynx3DM+ also supports real-time video capture to the hard drive or system memory through PCI master mode or slave
mode. In PCI bus master mode, Lynx3DM+ uses the Drawing Engine's Host BLT and Host DMA functions to maximize
performance.
8-2
Zoom Video Port and Video Capture Unit
Silicon Motion®, Inc.
Lynx3DM+
Databook
Functional Description
Lynx3DM+'s Video Capture Unit supports the Video Port Extension (VPE) specification for video stream processing.
This capture unit includes CLIP block, FILTER block, SHRINK block, and FIFO control block. Figure 10 and Figure 11
illustrate the Lynx3DM+ Video Capture Block Diagram and Data Flow. The CLIP functional block is used to select the
desired rectangles from the video stream to be captured. VPR40 register (Video Source Clipping Control) is used to define
the upper left corner of the rectangle from the video source. VPR44 register (Video Source Capture Size Control) is used
to define the height and width of the rectangle from the video source.
Video Stream from
ZV Port
Display Memory
CLIP
On Screen
Graphics
FILTER
SHRINK
Capture Buffer I
VPR48
FIFO
Capture Buffer II
Drawing
Engine
PCI Bus
Interface
Block
VPR1C
Video
Window I
VPR30
Video
Window II
VPR4C
Figure 10: Video Capture Block Diagram
The FILTER functional block controls horizontal filtering logic. CPR00 (Capture Port Control) bit 21 and bit 20 are used
to select 2 tap, 3 tap, and 4 tap filtering. The SHRINK functional block is used to not only reduce the storage area for both
display memory and hard drive, but also increase performance of video capture and video playback. CPR00 bit 19 and 18
are used to enable vertical reduction, and bit 17 and bit 16 are used to enable horizontal reduction. With filter and shrink
functions, Lynx3DM+ is able to achieve high video capture performance and maintain optimal video playback quality.
CPR00 bit 13 to bit 11 are use to select 8 different frame skipping options in the event the capture rate is less than the
incoming video stream. CPR00 bit 10 and bit 9 are used to support interlaced capture and double buffer capture. CPR00
bit 1 and bit 2 are used as control/status bits for Buffer I and Buffer II.
The captured data can be displayed on either Video Window I or Video Window II. The video capture driver needs to
program VPR1C (or VPR30), Video Window I (or II) Source Start Address, with the same address value from Capture
Port Buffer I or II Start Address register. VPR00 (Miscellaneous Graphics and Video Control) bit 24 may be used to
automatically display the capture data on Video Window I without programming VPR1C register. This feature is
independent of single buffer or double buffer mode.
Zoom Video Port and Video Capture Unit
8-3
Silicon Motion®, Inc.
Lynx3DM+
Databook
From
Vide
o Su
pplie
VPR40 [9:0]
VPR40 [25:16]
VPR44 [10:0]
r
cropping
filtering
&
scaling
VPR44 [26:16]
capture
data
capture
buffer
Figure 11: Video Capture Data Flow
Theory of Operation
Initialization
•
•
•
•
•
•
Enable Video Capture (CPR00 bit 0 = 1)
Preset Buffer I and Buffer II Status/Control bits (CPR00 [2:1] = 11b)
Enable Drawing Engine (DPR0E bit 4 = 1)
Select Host BLT Read Command function (DPR0E [3:0] =9h)
Enable PCI bus master mode (SCR17 bit 6 = 1)
Select Field Detection, VREF/HREF polarity, Vertical/Horizontal Reduction, Horizontal Filtering, Video Capture
Input Data Format, Frame Skip, Interlaced/non-interlaced and other miscellaneous settings (CPR00, Capture Port
Control Register)
8-4
Zoom Video Port and Video Capture Unit
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 10: Bit Setting Summary for Video Capture
B1S
Buffer 1 Status/Control (CPR00 bit 1)
B2S
Buffer 2 Status/Control (CPR00 bit 2)
Continuous Capture
bit 8 = 0
Conditional Capture
bit 8 = 1
Single Buffer
bit 9 = 0
Double Buffer
bit 9 = 1
Non-interlaced Mode
bit 10 = 0
Interlaced Mode
bit 10 = 1
The Video Capture Unit supports the following types of capture modes:
•
•
•
•
•
Single Buffer Mode with Continuous Capture
Single Buffer Mode with Conditional Capture
Double Buffer Mode with Continuous Capture
Double Buffer Mode with Conditional Capture
Interlace and Non-Interlaced Mode
A summary of each of the video capture modes follows:
•
Single Buffer Mode with Continuous Capture
Video Capture Unit (VCU)
•
Drawing Engine (DE)
Video Processor (VP)
It is not recommended to use the •
Drawing Engine to transfer
captured data from display
memory to hard drive or system
memory in this mode. This mode
is used to view the captured data •
only.
•
Continuously capture incoming
video data to capture buffer 1
Independent of B1S and B2S
bits
•
Single Buffer Mode with Conditional Capture
Video Capture Unit (VCU)
Drawing Engine (DE)
a) Test
bg) VCU monitors B1S bit
b) If B1S = 0, SW will activate the
bh) If B1S = 1, start capture
DE to transfer captured data
bi) VCU will reset B1S to 0 after it
from capture buffer 1 to hard
completes a frame
drive or system memory
bj) Go to step “a”
c) DE will set B1S bit to 1 after it
completes a frame
d) Go to step "a”
Zoom Video Port and Video Capture Unit
VPR00 bit 24 = 0
Captured data can be displayed
on either Video Window I or
Video Window II by setting video
window start address register.
VPR00 bit 24 = 1
Captured data is automatically
displayed on Video Window I.
Video Processor (VP)
•
•
•
•
VPR00 bit 24 = 0
Captured data can be displayed
on either Video Window I or
Video Window II by setting video
window start address register.
VPR00 bit 24 = 1
Captured data is automatically
displayed on Video Window I
8-5
Silicon Motion®, Inc.
•
Lynx3DM+
Databook
Double Buffer Mode with Continuous Capture
Video Capture Unit (VCU)
•
•
•
•
Continuously capture the
incoming video data into capture
buffer 1 or buffer 2
Automatically switch from one
buffer to the other when VCU
completes a frame
Independent of B1S and B2S
bits
Drawing Engine (DE)
It is not recommended to use DE •
to transfer captured data from
display memory to hard drive or
system memory in this mode.
This mode is used to view the
captured data only.
•
VPR00 bit 24 = 0
Captured data can be displayed
on either Video Window I or
Video Window II by setting video
window start address register.
VPR00 bit 24 = 1
Captured data is automatically
displayed on Video Window I. If
capture buffer 1 is used by VCU,
Video Window I will display
captured data from capture
buffer 2
Double Buffer Mode with Conditional Capture
Video Capture Unit (VCU)
Drawing Engine (DE)
a) VCU monitors B1S and B2S bits a)
b)
b) If B1S (or B2S) = 1, start
video capture and store into
capture buffer 1 (or buffer 2).
c) VCU will reset B1S (or B2S) to 0
after it completes a frame
c)
d) VCU will continue video
capture if B1S or B2S = 1
d)
e) Go to step "a" if both bits = 0
e)
f)
•
Video Processor (VP)
Video Processor (VP)
•
SW monitors B1S or B2S bit
If B1S (or B2S) = 0, SW will
activate the DE to transfer
captured data from capture
buffer 1(or buffer 2) to hard drive
or system memory
DE will set B1S (or B2S) bit to 1
•
after it completes a frame
DE will continuously transfer
Data from capture buffer 1 or 2 if
B1S or B2S = 0
Go to step "a " if both bits = 1
VPR00 bit 24 = 0
Captured data can be displayed
on either Video Window I or
Video Window II by setting video
window start address register.
VPR00 bit 24 = 1
Captured data is automatically
displayed on Video Window I. If
capture buffer 2 is used by VCU,
Video Window I will display
captured data from capture
buffer 1.
Interlaced Capture
CPR00 bits 10 are used to select the interlaced capture mode. In most of video capture applications, an interlaced video
stream will be treated as non-interlaced video stream by dropping all even frames (CPR00[13:11] = 010b), or dropping all
odd frames (CPR00[13:11] = 011). This approach will reduce artifacts when playing back the captured data. However, in
some video capture applications, de-interlacing is needed to handle the incoming interlaced video stream.
For the de-interlacing case, CPR00 bit 10 needs to be set to 1 to enable interlaced capture for incoming interlaced video
stream. The double buffer mode (CPR00 bit 9 = 1) needs to be turned on at the same time. Capture Buffer 1 and Capture
Buffer 2 are combined together as a single buffer with one line offset. Figure 12 illustrates the capture buffer structure.
The video capture driver will preset B1S and B2S bits to 1 to initialize the buffer 1 and 2 status/control bits. The Video
Capture Unit will start video capture if any one of B1S and B2S = 1. After VCU fills capture buffer 1 and 2, both B1S and
B2S bits are set to "0" by VCU. The video capture driver will activate Drawing Engine to transfer captured data in capture
buffer 1 and 2 to system memory or hard drive when both B1S and B2S are "0". After the completion of the transfer, the
Drawing Engine will set both B1S and B2S to "1". The Video Capture Unit then continues video capture and repeats the
same protocol.
During video playback, the captured data can be displayed on either Video Window I or Video Window II. It is not
recommended to display both even frame and odd frame for video playback. The video captured driver can program Video
Window I (or II) Source Start Address Register and Video Window I (or II) Source Width and Offset Register in such a
way that odd frame (or even frame) captured data will be dropped during video playback. The scaling, color interpolation,
and YUV-to-RGB conversion functions can also be enabled at the same time.
8-6
Zoom Video Port and Video Capture Unit
Silicon Motion®, Inc.
Lynx3DM+
Databook
Even Field
From Video
Capture Unit
To Drawing Engine
or Video Processor
Odd Field
Even Field
Capture
Buffer 1
Capture
Buffer 2
Even Field
Odd Field
Even Field
Figure 12: Capture Buffer Structure in Interlaced Mode
Zoom Video Port and Video Capture Unit
8-7
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 9: Flat Panel Interface
Lynx3DM+ supports both color dual scan STN (passive) and color TFT (active) panel interface for notebook computers. It
can also support color TFT panel with RGB analog interface. For color DSTN panel, Lynx3DM+ can support 16-bit and
24-bit interfaces up to 1280x1024 resolution. For color TFT panel, Lynx3DM+ can support single pixel per clock of 9-bit,
12-bit, 18-bit, 24-bit. In addition, Lynx3DM+ integrates one channel LVDS output. Table 11 lists the complete set of
Lynx3DM+ panel interface pins for both color DSTN and TFT LCD. Figure 14 shows the single-pixel per clock TFT
interface, Figure 16 shows the 16-bit DSTN interface, and Figure 17 shows the 24-bit DSTN interface.
Lynx3DM+ Flat Panel Enhancements
Lynx3DM+ integrates various flat panel enhancement features such as: LCD screen auto-centering, LCD screen
expansion (including XY interpolated screen expansion), Virtual Refresh, and special dithering engines for TFT and
DSTN flat panels.
Lynx3DM+ Flat Panel Enhancements
Lynx3DM+ integrates various flat panel enhancement features such as: LCD screen auto-centering, LCD screen
expansion (including XY interpolated screen expansion), Virtual Refresh, and special dithering engines for TFT and
DSTN flat panels.
Lynx3DM+ Graphics/Text Expansion Information
Introduction
Lynx3DM+ provides full expansion capability for text and graphics modes. Text as well as graphics expansion is
supported up to XGA resolution. Expansion is supported on TFT and DSTN panels. A detailed description of the
expansion algorithms of these devices follows:
Horizontal Expansion for Text and Graphics
Horizontal expansion is handled in 8 pixel pieces whether the mode is text or graphics. There are two expansion
mechanisms: 10-dot expansion and 12-dot expansion. 10-dot expansion is used to expand to 800 pixels, 12-dot is used to
expand to 960 pixels for XGA panel sizes.
For 10-dot expansion, every 4th pixel is duplicated. For example, for mode3h (80x25 text) or mode 12h(640x480
graphics), where p0 is pixel one and p7 is pixel 8 - p0p1p2p3p3p4p5p6p7p7 - the 4th pixel (p3) is duplicated, as well as
the 8th pixel (p7). The pattern repeats for each 8 pixel piece.
For 12-dot expansion, every other pixel, beginning with p1 is duplicated. For example, for mode 3h or mode 12h p0p1p1p2p3p3p4p5p5p6p7p7. Again, the pattern repeats for each pixel piece.
So far, all examples assume 8x16 font size. There is also 9x16 font size to consider (in this case the actual font is still
8x16, but an additional 9th dot - either the background color or a repeat of the 8th pixel - is inserted). For 9x16 case, pixel
p3 is duplicated just like 8x16 case. Pixel p7 is handled somewhat differently depending on whether the character is a text
Flat Panel Interface
9-1
Silicon Motion®, Inc.
Lynx3DM+
Databook
character or graphics character - for text character case, the second p7 value becomes the background color. For graphics
case, p7 is repeated.
Vertical Expansion for Text and Graphics
Vertical expansion for text or graphics uses a Dynamic Duplication Algorithm (DDA) method to achieve expansion. The
same basic methodology is used independent of resolution. First, an initial DDA constant value (for Lynx3DM+ this is a
10-bit value) is loaded into the Vertical Screen Expansion DDA Constant Registers. This value is used as part of a logical
algorithm to determine which lines on the display to duplicate. Figure 13 is a diagram of the algorithm.
ADDER
NewSum [10:0]
Sum [10:0]
Figure 13: DDA Expansion Algorithm
For each line of the display, the following equation is calculated via the illustrated algorithm:
NewSum [10:0] = Sum[10:0] + DDA
If Sum [10:0] = NewSum [10:0], the given line is duplicated.
For text case, the DDA logic algorithm will reset each character block, so expansion is handled in terms of character rows
(e.g. 25 character rows of 16 lines each). For the graphics case, the DDA logic algorithm will reset when the bottom of the
display is reached.
The DDA constant may be calculated by the following equation:
1024
=
DDA
Expanded Resolution
Existing Resolution
For example, to expand a 480 line mode to 768, the equation would be:
1024
=
DDA
768 Lines
480 Lines
DDA constant may then be calculated and entered into the expansion algorithm.
DDA[9:0]
9-2
Flat Panel Interface
Silicon Motion®, Inc.
Lynx3DM+
Databook
LCD Dithering Engine
Lynx3DM+ has separate dithering engines for color DSTN LCD and color TFT LCD. The DSTN dithering engine
includes a set of 32 different dithering patterns which are developed with LCD's response time and contrast ratio in mind.
FPR32 bit 5 is used to select 16 gray levels or 32 gray levels for each Red, Green, and Blue color. The TFT dithering
engine includes a set of 8 different dithering patterns which combine frame rate modulation and space dithering algorithm.
FPR32 bit 7 and 6 are used to select 4-gray level dithering, 8-gray level dithering, and no dithering.
Flat Panel Power ON/OFF Sequencing
Lynx3DM+ integrates logic for panel power ON/OFF sequencing during power down modes and display switching.
There are two ways to power ON/OFF the flat panel: hardware panel power sequencing and software panel power
sequencing.
Hardware panel power sequencing:
Hardware panel power sequencing is selected when FPR34 bit 7 =1. Whenever FPR31 bit toggles, Lynx3DM+
automatically controls LCD data, LCD controls, FPEN, FPVDD, and VBIASEN pins. FPR33 [3:2] determines the time
period from FPEN to VBIASEN, from VBIASEN to LCD controls/data, and from LCD controls/data to FPVDDEN.
FPR33[3:2]
Power On Sequencing Time Select
00
1 vertical frame
01
2 vertical frames
10
4 vertical frames
11
8 vertical frames
Figure 18 shows the auto panel power on sequencing timing relationship. Figure 19 shows the auto panel power off
sequencing timing relationship.
For flat panels which have non-standard requirements for on/off power sequencing, Lynx3DM+ supports panel power on/
off sequencing through software programming.
Below are examples of software programming for panel power on sequencing:
Software panel power sequencing- ON:
•
•
•
•
•
•
•
Set FPR34 bit 7 = 0 (software panel power sequencing)
Setup shadow registers: SVR40 to SVR4B
Set FPR31 bit 0 = 1 (enable LCD display)
After X vertical frames, set PDR22 bit 0 = 1 (turn on FPVDDEN)
After X vertical frames, set PDR22 bit 1 = 0 (enable LCD controls and data)
After X vertical frame, set PDR22 bit 2 = 1 (turn on VBIASEN)
After X vertical frames, set PDR22 bit 3 = 1 (turn on FPEN)
Note: LCD backlight control is independent of power sequencing. The VBKLGT can be turned on at the same time as
FPEN.
Software panel power sequencing - OFF:
•
•
Set FPR34 bit 7 = 0 (software panel power sequencing)
Select FPR33 [3:2] for panel power on/off timing:
Flat Panel Interface
9-3
Silicon Motion®, Inc.
•
•
•
•
•
Lynx3DM+
Databook
Set PDR22 bit 3 = 0 (turn off FPEN)
After X vertical frames, set PDR22 bit 2 = 0 (turn off VBIASEN)
After X vertical frames, set PDR22 bit 1 = 1 (disable LCD controls and data)
After X vertical frames, set PDR22 bit 0 = 0 (turn off FPVDDEN)
Set FPR31 bit 0 = 0 (disable LCD display)
Lynx3DM+ Dual Digital LCD Support
Lynx3DM+ can support two separate digital LCDs. Both LCDs need to be TFT interface. FP1 has to be the THine LVDS
TFT interface and FP2 has to be 24-bit TFT interface. DSTN panel can not be supported under dual digital LCD mode.
Table 11 lists the Dual Digital LCD pin mapping for FP1 + FP2.
Dual Digital LCD mode is supported through the Virtual Refresh architecture. FP1 and FP2 must be in Virtual Refresh
mode. FP1 clocks the data based on VRCLK (Virtual Refresh Clock); whereas FP2 clocks the data based on WFIFOCLK
(based on Video Clock).
To enable FP1 + FP2, the following registers need to be programmed:
* FPR31[7] = 1
* FPR4E[1] = 1
* PDR21[5] = 0
* CCR69[5] = 1
* FPR33[9] = 0
* FPR33[4] = 0
(virtual refresh enable)
(enable second LCD panel)
(enable LCD frame buffer write)
(LVDSCLK source is from inverted WFIFO clock)
(enable LVDS for FP1)
(enable virtual refresh for FP2)
FP1's timing can be programmed via the Virtual Refresh Timing Registers. (FPR50 - FPR57) FP2's timing is directly
derived from the CRT timing under Virtual Refresh mode via the Shadow VGA Registers (SVR40 - SVR4D).
Lynx3DM+ Flat Panel Interface Connections
Lynx3DM+ supports both color dual scan STN (passive) and TFT (active) panel interface for notebook computers. It
supports DSTN in 16-bit 24-bit interface. For TFT interface, it can support either 9-bit, 12-bit, 18-bit, 24-bit and 12-bitx2.
Furthermore, Lynx3DM+ can support two separate TFT interface: FP1 is LVDS TFT and FP2 is 24-bit TFT. The table
listed below details the various pin mapping for different panel configuration
Table 11: Flat Panel Interface Pins listing for color DSTN and color TFT LCD
DSTN
Pin Name
16-bit
TFT
24-bit
9-bit
12-bit
18-bit
24-bit
12-bit x2
LP/FHSYNC
LP
LP
HSYNC
HSYNC
HSYNC
HSYNC
HSYNC
FP/FVSYNC
FP
FP
VSYNC
VSYNC
VSYNC
VSYNC
VSYNC
FPSCLK
XCK
XCK
CK
CK
CK
CK
CK
ENAB
ENAB
ENAB
ENAB
ENAB
DE
FPEN
FPEN
FPEN
FPEN
FPEN
FPEN
FPEN
FPEN
FPVDDEN
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VBIASEN
VEE
VEE
VEE
VEE
VEE
VEE
VEE
R7
RB3
FPDATA23
9-4
UD11
Flat Panel Interface
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 11: Flat Panel Interface Pins listing for color DSTN and color TFT LCD
DSTN
Pin Name
16-bit
TFT
24-bit
FPDATA22
UD10
FPDATA21
UD9
FPDATA20
UD8
9-bit
12-bit
18-bit
24-bit
12-bit x2
R6
RB2
R5
R5
RB1
R4
R4
RB0
R3
R3
R3
RA3
FPDATA19
UD7
UD7
FPDATA18
UD6
UD6
R2
R2
R2
R2
RA2
FPDATA17
UD5
UD5
R1
R1
R1
R1
RA1
FPDATA16
UD4
UD4
R0
R0
R0
R0
RA0
FPDATA15
UD3
UD3
G7
GB3
FPDATA14
UD2
UD2
G6
GB2
FPDATA13
UD1
UD1
G5
G5
GB1
FPDATA12
UD0
UD0
G4
G4
GB0
G3
G3
G3
GA3
FPDATA11
LD11
FPDATA10
LD10
G2
G2
G2
G2
GA2
FPDATA9
LD9
G1
G1
G1
G1
GA1
FPDATA8
LD8
G0
G0
G0
G0
GA0
FPDATA7
LD7
LD7
B7
BB3
FPDATA6
LD6
LD6
B6
BB2
FPDATA5
LD5
LD5
B5
B5
BB1
FPDATA4
LD4
LD4
B4
B4
BB0
FPDATA3
LD3
LD3
B3
B3
B3
BA3
FPDATA2
LD2
LD2
B2
B2
B2
B2
BA2
FPDATA1
LD1
LD1
B1
B1
B1
B1
BA1
FPDATA0
LD0
LD0
B0
B0
B0
B0
BA0
Table 12: Dual Panel Interface (One Digital Panel and One LVDS Panel)
Pin name
Digital Panel & LVDS
Panel
DE
DE
DE
FP_FVSYNC
FP_FVSYNC
FP_FVSYNC
LP_FHSYNC
LP_FHSYNC
LP_FHSYNC
FPSCLK
FPSCLK
FPSCLK
FPEN
FPEN
FPEN
FPVDDEN
FPVDDEN
FPVDDEN
VBIASEN
VBIASEN
VBIASEN
Flat Panel Interface
TFTs: FP1 + FP2
24-bit TFT
9-5
Silicon Motion®, Inc.
Lynx3DM+
Databook
Pin name
Digital Panel & LVDS
Panel
FPDATA23
R7
R7
FPDATA22
R6
R6
FPDATA21
R5
R5
FPDATA20
R4
R4
FPDATA19
R3
R3
FPDATA18
R2
R2
FPDATA17
R1
R1
FPDATA16
R0
R0
FPDATA15
G7
G7
FPDATA14
G6
G6
FPDATA13
G5
G5
FPDATA12
G4
G4
FPDATA11
G3
G3
FPDATA10
G2
G2
FPDATA9
G1
G1
FPDATA8
G0
G0
FPDATA7
B7
B7
FPDATA6
B6
B6
FPDATA5
B5
B5
FPDATA4
B4
B4
FPDATA3
B3
B3
FPDATA2
B2
B2
FPDATA1
B1
B1
FPDATA0
B0
B0
TxOUT0±
RxIn0±
TxOUT1±
RxIn1±
TxOUT2±
RxIn2±
TxOUT3±
RxIn3±
TxCLKOUT±
RxCLKIN±
9-6
TFTs: FP1 + FP2
24-bit TFT
Flat Panel Interface
Silicon Motion®, Inc.
Lynx3DM+
Databook
1 pixel/clock
TFT
Lynx3DM +
FPVDDEN
VBIASEN
FPEN
DE
FHYSNC
FVSYNC
FPSCLK
FDATA [23:0]
panel power
control circuitry
VDD
VEE
FPEN
ENAB
HSYNC
VSYNC
CK
RGB
(9,12,18,24)
Figure 14: TFT (Single Pixel/Clock) Interface Diagram
Flat Panel Interface
9-7
Silicon Motion®, Inc.
Lynx3DM+
Databook
P anel 1
LV D S T FT
R xIN 0±
R xIN 1±
R xIN 2±
R xIN 3±
R xIN 4±
TxO U T0±
TxO U T1±
TxO U T2±
TxO U T3±
TxO U T4±
FP V D D E N
V B IA S E N
panel power
control circuitry
P anel 2
T FT 24 bit
DE
LP
FP
FP S C LK
VDD
FD A TA _[23:16]
FD A TA _[15:8]
FD A TA _[7:0]
VEE
ENAB
HSYNC
VSYNC
S C LK
R E D _[7:0]
G R E E N _[7:0]
B LU E _[7:0]
Figure 15: TFT Two Panel Interface Diagram
9-8
Flat Panel Interface
Silicon Motion®, Inc.
Lynx3DM+
Databook
panel power
control circuitry
FPVDDEN
VBIASEN
FPEN
FPEN
Lynx3DM +
VDD
VEE
LP
FP
FPSCLK
LP
FP
XCK
FDATA19
FDATA18
FDATA17
FDATA16
FDATA15
FDATA14
FDATA13
FDATA12
UD7
UD6
UD5
UD4
UD3
UD2
UD1
UD0
FDATA7
FDATA6
FDATA 5
FDATA4
FDATA3
FDATA2
FDATA1
FDATA0
LD7
LD6
LD5
LD4
LD3
LD2
LD1
LD0
16-bit
Dual Color STN
Figure 16: 16-bit DSTN Interface Configuration
FPVDDEN
VBIASEN
FPEN
LP
FP
FPSCLK
Lynx3DM+
panel power
control circuitry
VDD
VEE
FPEN
LP
FP
XCK
FDATA 23
FDATA22
FDATA21
FDATA20
FDATA19
FDATA18
FDATA17
FDATA16
FDATA15
FDATA14
FDATA13
FDATA12
UD11
UD10
UD9
UD8
UD7
UD6
UD5
UD4
UD3
UD2
UD1
UD0
FDATA11
FDATA10
FDATA9
FDATA8
FDATA7
FDATA6
FDATA 5
FDATA4
FDATA3
FDATA2
FDATA1
FDATA0
LD11
LD10
LD9
LD8
LD7
LD6
LD5
LD4
LD3
LD2
LD1
LD0
24-bit
Dual Color STN
Figure 17: 24-bit Dual Color STN Interface Diagram
Flat Panel Interface
9-9
Silicon Motion®, Inc.
Lynx3DM+
Databook
FPVDDEN
0-t
Controls/
Data
t
VBIASEN
t
FPEN
t is programmed via FPR33 [3:2]
Figure 18: Panel Power On Sequencing Timing Diagram
t
FPEN
VBIASEN
t
Controls/
Data
0-t
FPVDDEN
t is programmed via FPR33 [3:2]
Figure 19: Panel Power Off Sequencing Timing Diagram
9 - 10
FPR33[3:2]
Power On/Off Sequencing Time Select
00
1 vertical frame
01
2 vertical frames
10
4 vertical frames
11
8 vertical frames
Flat Panel Interface
Silicon Motion®, Inc.
Lynx3DM+
Databook
Integrated LVDS Chipset Interface
In order to address EMI and cable issues associated with a wide, high speed TTL/CMOS panel interface, designers may
choose to use an LVDS (Low Voltage Differential Signaling) chipset (each chipset type includes a transmitter and a
receiver). Lynx3DM+ supports a integrated LVDS transmitter. Figure 20 and Figure 21 below illustrate the 24-bit
interfaces for TFT LVDS panels and internal LVDS Panel Interface, respectively. Please note that DSTN LVDS panel is
not supported.
Lynx3DM +
4
Data
Pairs
TxOut0
Rxln0
-
-
TxOut1
Rxln1
-
-
TxOut2
TxOut3
Rxln2
-
TxCLKOu +
-
Rxln3
1
LVDS
clock
RxOut
R[7:0]
RxOut
G[7:0]
RxOut
B[7:0]
RxOut
HYSNC
-
RxOut
RxOut
RxCLKl +
RxCLKOu
-
VSYNC
DE
FPSC
TFT LVDS Panel
Figure 20: LVDS Interface with TFT LVDS Panel
Flat Panel Interface
9 - 11
Silicon Motion®, Inc.
Lynx3DM+
Databook
Lynx 3D M +
FP R 33[6]
S el H itachi
Lynx3DM+
FP R 33[7] LV D S E NB
L
V
D
S
FP 1 D igital
U pper
24-bit
VR
S el
FP D A TA LV D S
LV D S P anel
FP 2 D igital
P anel
Interface
0
(D efault)
FP D A TA [23:0]
D igital P anel
1
FP R 33[4]
FP R 4E [5]
Figure 21: Lynx 3DM+ Internal LVDS Panel Interface
Lynx3DM +
PanelLink Receiver
Sil100
PanelLink
Transmitter Sil100
R[7:0]
Txln
TxOut+
-
RxlnO+
-
G[7:0]
Txln
B[7:0]
FHSYNC
Txln
Txln
Txln
TxOut1+
TxOut2+
-
FVSYNC
DE
LVDSCLK
TxCLKOut+
Txln
TxCLKIN
clock
TFT LCD
Panel
RxOut
R[7:0]
Rxln1+
-
RxOut
G[7:0]
RxOut
B[7:0]
Rxln2+
-
RxOut
HYSNC
RxOut
RxCLKln2+
RxOut
RxCLKOut
VSYNC
DE
FPSCK
Figure 22: PanelLink Interface with TFT LCD Panel
9 - 12
Flat Panel Interface
Silicon Motion®, Inc.
Lynx3DM +
Lynx3DM+
Databook
PanelLink Receiver
Sil100
PanelLink
Transmitter Sil100
U[11:0]
Txln
TxOut+
-
RxlnO+
-
L[11:0]
Txln
FHYSNC
Txln
TxOut1+
-
FVSYNC
Txln
TxOut2+
-
DE
Txln
LVDSCLK
TxCLKOut+
TxCLKIN
clock
TFT LCD
Panel
RxOut
R[7:0]
Rxln1+
-
RxOut
G[7:0]
RxOut
B[7:0]
Rxln2+
-
RxOut
HYSNC
RxCLKln2+
-
RxOut
RxOut
RxCLKOut
VSYNC
DE
FPSCK
Figure 23: PanelLink Interface with DSTN LCD Panel
Flat Panel Interface
9 - 13
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 13 lists the pin mapping for an LVDS transmitter with Lynx3DM+ for LVDS TFT. Table 14 lists the pin mapping for
a PanelLink transmitter with Lynx3DM+ for PanelLink TFT panels.
Please consult your panel manufacturer to verify the pin mapping between the LVDS receiver and the panel. The pin
mapping from the transmitter side must correspond with the pin mapping from the receiver side in order to ensure that the
panel will function properly.
Table 13: LVDS Transmitter Pin Mapping for TFT Interface
Lynx3DM+ Pin Name
TFT interface
LVDS Transmitter
SN75LVDS83/DS90C383 Pin #
LVDS Transmitter
Pin Name
FPDATA16
R0
51
TxIN0
FPDATA17
R1
52
TxIN1
FPDATA18
R2
54
TxIN2
FPDATA19
R3
55
TxIN3
FPDATA20
R4
56
TxIN4
FPDATA21
R5
3
TxIN6
FPDATA22
R6
50
TxIN27
FPDATA23
R7
2
TxIN5
FPDATA8
G0
4
TxIN7
FPDATA9
G1
6
TxIN8
FPDATA10
G2
7
TxIN9
FPDATA11
G3
11
TxIN12
FPDATA12
G4
12
TxIN13
FPDATA13
G5
14
TxIN14
FPDATA14
G6
8
TxIN10
FPDATA15
G7
10
TxIN11
FPDATA0
B0
15
TxIN15
FPDATA1
B1
19
TxIN18
FPDATA2
B2
20
TxIN19
FPDATA3
B3
22
TxIN20
FPDATA4
B4
23
TxIN21
FPDATA5
B5
24
TxIN22
FPDATA6
B6
16
TxIN16
FPDATA7
B7
18
TxIN17
LP/FHSYNC
FHSYNC
27
TxIN24
FP/FVSYNC
FVSYNC
28
TxIN25
DE
DE
30
TxIN26
-
-
25
TxIN23
FPSCLK
FPSCLK
31
TxCLKIN
9 - 14
Flat Panel Interface
Silicon Motion®, Inc.
Lynx3DM+
Databook
Table 14: PanelLink Transmitter Pin Mapping for TFT Interface
Lynx3DM+ Pin
Name
TFT interface
FPDATA16
PanelLink Transmitter
SiI100 Pin #
PanelLink Transmitter
Pin Name
R0
63
D0
FPDATA17
R1
62
D1
FPDATA18
R2
61
D2
FPDATA19
R3
60
D3
FPDATA20
R4
59
D4
FPDATA21
R5
58
D5
FPDATA22
R6
57
D6
FPDATA23
R7
56
D7
FPDATA8
G0
55
D8
FPDATA9
G1
54
D9
FPDATA10
G2
52
D10
FPDATA11
G3
51
D11
FPDATA12
G4
50
D12
FPDATA13
G5
49
D13
FPDATA14
G6
48
D14
FPDATA15
G7
47
D15
FPDATA0
B0
46
D16
FPDATA1
B1
44
D17
FPDATA2
B2
43
D18
FPDATA3
B3
42
D19
FPDATA4
B4
41
D20
FPDATA5
B5
40
D21
FPDATA6
B6
38
D22
FPDATA7
B7
37
D23
LP/FHSYNC
FHSYNC
2
HSYNC
FP/FVSYNC
FVSYNC
3
VSYNC
DE
DE
1
DE
FPSCLK
FPSCLK
12
IDCK
Flat Panel Interface
9 - 15
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 10: Miscellaneous Functions
This chapter describes functions of Lynx3DM+ such as the Video ROM BIOS interface, VESA DPMS, and I2C / VESA
DDC2B.
Video BIOS ROM Interface
The Video BIOS contains code for chip power-on initialization, graphics mode setup, and various read/write routines to
the frame buffer. The Video BIOS can be burned into a separate video BIOS EPROM (this is the typical case for add-in
cards) or be integrated into the system BIOS ROM (this is the typical case for a motherboard graphics implementation).
To support separate video BIOS ROM access, BIOS address decode must be enabled by setting CSR30 (Expansion ROM
Enable Base Address Register) bit 0 = 1. For implementations where video BIOS is integrated into the system BIOS
ROM, BIOS address decode access must be disabled by clearing CSR30 bit 0.
Figure 24 shows the external video BIOS ROM configuration interface for Lynx3DM+. The ~ROMEN (ROM Enable)
signal from Lynx3DM+ connects to the OE and CE signals of the BIOS ROM. Since video BIOS ROM address and data
are shared with the video memory data (MD) lines, programmers must ensure that the memory bus is inactive when
reading from the Video BIOS ROM. For this case, the Video BIOS ROM must be read out and shadowed (typically in
system memory at C0000) immediately after reset. Direct physical access to the Video BIOS must then be disabled to
prevent interference with ensuing graphics operations.
64Kx8
Lynx3DM+
MD [7:0]
BIOS ROM
D [7:0]
MD [47:32]
A [15:0]
~ROMEN
~OE
~CE
Figure 24: Video BIOS ROM Configuration Interface
Miscellaneous Functions
10 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
VESA DPMS Interface
Lynx3DM+ supports the VESA Display Power Management Signaling (DPMS) via direct programming PDR22 (LCD
Panel Control Select Register) bits 5, 4, or through implementation of the chip's power down states. Table 15 shows the
VESA DPMS states and methods for entering each of the DPMS states.
Table 15: DPMS Summary
DPMS
State
HSYNC
State
VSYNC
State
RGB
State
Direct Programming
Method
Power Down State Method
ON
Pulses
Pulses
Active
PDR22 [5:4] = 00
-
Standby
No
pulses
Pulses
Blank
PDR22 [5:4] = 01
Automatic Standby DPMS
when enter Standby mode
Suspend
Pulses
No
pulses
Blank
PDR22 [5:4] = 10
CCR69[2]=0 selects Suspend DPMS
state when in Sleep mode
OFF
No
pulses
No
pulses
Blank
PDR22 [5:4] = 11
CCR69[2]=1 selects OFF DPMS
state when in Sleep mode
state
I2C Bus or VESA DDC2B Interface
Lynx3DM+ provides dual ports for I2C-Bus through USR [3:0] I/O pins for various applications such as VESA's DDC2B
monitor interface. It is recommended to use USR1 and USR0 as the primary port for SDA and SCL signals on I2C Bus.
USR3 and USR2 are reserved as a secondary port. GPR72 (User Defined Register 1) and GPR73 (User Defined Register
2) are defined to support I2C/DDC2 bus protocol. Lynx3DM+, as an I2C master controller only, is designed to initiate a
transfer, generate clock signal, and terminate a transfer to a slave I2C component.
Lynx3DM+'s I2C-Bus interface is designed to interface with NTSC/PAL decoders, EEPROMs, audio decoders, and
others. The operation voltage of USR [3:0] I/O pins is controlled by VPVDD, which can be configured as 5V or 3.3V.
Each of the USR [3:0] I/O pins has an internal pull-up resistor. To enable the data (SDA) and the clock (SCL) from
Lynx3DM+'s primary port, bit 5 and bit 4 of GPR72 (3C5h index 72h) must be set as "11". To drive a logic "0" to SDA
line (USR1) and SCL line (USR0), program GPR72 bit 1 and bit 0 to "0". The SDA and SCL can be read back from bit 3
and bit 2 of GPR72.
Figure 25 shows the basic I2C-Bus protocol of Lynx3DM+ as a master transmitter.
10 - 2
Miscellaneous Functions
Silicon Motion®, Inc.
Lynx3DM+
Databook
Yes, = 11
Check GPR72 [3:2] = 11
Bus Busy?
No
Initiate Start
Send 7-bit Slave
Address with R/~W bit
No
Check GPR72[3] = 0
Ack from
slave?
Yes
No
optional
Send 2nd Byte Slave
Address
Time Out?
Yes
Abort
Transfer
Yes
No
Check GPR72[3] = 0
Ack from
slave?
No
Time Out?
Yes
Yes
Send one Byte Slave
Address
Abort
Transfer
No
Check GPR72[3] = 0
No
Ack from
slave?
No
Time Out?
Yes
Yes
Last Byte?
Abort
Transfer
Yes
Stop Transfer
Figure 25: Lynx3DM+ I2C Bus Protocol Flow Chart
Miscellaneous Functions
10 - 3
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 11: Clock Synthesizers
Lynx3DM+ integrates three programmable clock synthesizers for memory clock (MCLK), Video Clock 1 (VCLK), and
Video Clock 2(VCLK2). VCLK1 is utilized for standard CRT only, LCD only, or CRT/LCD display modes for which the
refresh rate for both devices is the same. VCLK2 may be utilized when Virtual Refresh mode is implemented - for this
case, VCLK1 is utilized for panel timing and to clock the panel display block within Lynx3DM+. VCLK2 may be utilized
to clock the CRT interface independently for LCD/CRT display modes or to independently clock various functional
blocks within the device to save power under LCD only display mode. Please see the Virtual Refresh discussion under the
Power Management section for additional details regarding power saving capabilities under Virtual Refresh architecture.
Figure 26 illustrates the control logic for MCLK, VCLK, VCLK2. The figure also shows the clock generator module for
WFIFO (WFIFOCLK), RFIFO (RFIFOCLK), RAM (RAMCLK), Video Capture (VCMCLK), Drawing Engine
(DPMCLK), and Video Processor (VPCLK). TVCLK is used for an external analog TV encoder (this clock is either
derived from 14.318MHz base clock - NTSC, or from separate 17.734480MHz clock source connected to input signal
PALCLK - PAL).
SLEEP
STANDBY
PD20_4
CCR68_6
CCR69_0
CCR68_7
CCR69_1
FPR31_7
PD20_5
~EXCKEN
VCLK2
CKIN
PLL1
0 s1 s0
1
0
CKIN
1
PLL3
0
1
1/8
2
1/16
3
MCLK
VCLK
VCLK
0 s1 s0
~EXCKEN
MCKIN
1/4
1
1/8
2
MCLK
1/16
3
PDR21[5:0]
VCLK2
1/8
2
1/16
WFIFOCLK
VCLK
SLEEP
0
1
1
3
STANDBY
1/4
0
VRCLK
2
0
1
VCLK
1
VCLK2
1/4
s1 s0
PLL2
0 s1 s0
1/2
AUTO_OFF
MCLK
RFIFOCLK
RAMCLK
CLOCK
GENERATOR
VCMCLK
DPMCLK
VPCLK
TVCLK
3
Figure 26: Clocks Generator Block Diagram
The VCLK PLL is programmed using the VCLK Numerator Register (VNR), CCR6C, and VCLK Denominator (VDR)
and Post Scalar (PS) register, CCR6D. The VCLK frequency is based on the following equation:
Clock Synthesizers
11 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
VCLK = 14.31818 MHz ×
VNR
VDR
×
1
1 + PS
The post scalar is used to support VCLK frequencies which need a large VDR number. With PS enabled, the VDR number
can be set to ½ of the original VDR number. This helps to reduce jitter and maintain accuracy.
The VCLK2 PLL is programmed using the VCLK2 Numerator Register (VCLK2NR), CCR6E, and VCLK Denominator
(VCLK2DR) register CCR6F. The VCLK2 frequency is based on the following equation:
VCLK2NR
VCLK2 = 14.31818 Mhz ∗
VCLK2DR
Table 16: Recommended VNR and VDR Values for Common VCLK Settings
Mode
Ref. Rate
CCR68
CCR68
[6]
CCR68
[5]
3C2.3
3C2.2
VCLK
(MHZ)
VNR
VDR
[7]
60Hz
0
01
0
0
0
25.180
33h
1Dh
(text)
70Hz
0
0
0
0
1
28.325
5Bh
97h2
640x480
85Hz
0
0
1
0
0
31.500
2Ch
14h
800x600
56Hz
0
0
1
0
1
35.484
39h
17h
640x480
720x400
--
--
1
1
x
x
x
14.318
x
x
800x600
72Hz
0
1
x
x
x
49.517
53h
18h
1024x768
75Hz
0
1
x
x
x
78.750
6Eh
14h
Notes:
1. VNR and VDR numbers are hard coded in VGA modes.
2. Post scalar enabled.
The MCLK PLL is programmed using the MCLK Numerator Register (MNR), CCR6A, and MCLK Denominator
Register (MDR), CCR6B. MCLK frequency is based on the following equation:
MCLK = 14.31818 MHz ×
11 - 2
MNR
MDR
Clock Synthesizers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 12: Multimedia RAMDAC
Lynx3DM+ contains a multimedia RAMDAC, which supports a maximum frequency of 200MHz (2.5V power supply).
The multimedia RAMDAC includes two 256 x 18 color palette RAMs (RAM0 for CRT display, RAM1 for LCD display),
RAM Sequencer, Hardware Cursor Registers (foreground and background), Hardware Pop-up Icon Registers (foreground
and background), Data Mixer, Power-On Reset, Bias circuit, Monitor Detect circuit, and three 8-bit DACs (R, G and B).
Anti-flicker logic for I/O read/writes is also built in the color palette RAM blocks. Figure 27 shows a block diagram of
Lynx3DM+ Multimedia RAMDAC.
Lynx3DM+ uses an internal band gap voltage reference circuit to supply the reference voltage. This circuit automatically
compensates for temperature and power supply variation. The external portion of the circuit consists of a single RSET
resistor used to set the full scale voltage of RGB output from DAC.
The RAMDAC supports two types of modes, color palette index mode and direct color mode. In color palette index
mode, the 8-bit input data of a given pixel goes to the color palette RAM block through VGA mask register. In direct color
mode, pixel data bypasses the color palette RAM.
LCD Backend RAM (RAM1)
Lynx3DM+ includes a separate 18-bit RAM (6 bits each RGB) module for the LCD backend. The RAM allows support
for color palette index modes for the LCD display. This RAM module is written concurrently with RAM0.
LCD RAM1
P[7:0]
~PDOWN
Control Unit
RAMCLK
Hardware Cursor
&
Popup Icon
R
8
G
256 x 18
Color Palette RAM
3
24
Video Select
MIXER
Band-Gap
Voltage
Reference
B
BIAS
Monitor
Detect
Figure 27: Lynx3DM+ RAMDAC Block Diagram
Multimedia RAMDAC
12 - 1
Silicon Motion®, Inc.
CONFIDENTIAL
Lynx3DM+
Databook
Chapter 13: Signature Analyzer
Lynx3DM+ includes several built-in test features to enhance testability and fault coverage. Lynx3DM+’s signature
analyzer is designed to reduce LSI tester time and manufacturing test time. This signature analyzer resides within the
Video Processor block and receives 24-bit RGB data from Multimedia RAMDAC block. It can be used to test CRT
graphics modes, TV display modes, and motion video with single frame data. It can also be used to test data combinations
such as: graphics, video 1, video 2, HW cursor, and HW pop-up icon at the same time.
The primary variables for a the signature analyzer are the length of the internal shift registers and the number of feedback
terms. Lynx3DM+ implements the CRC-CCITT polynomial (X16 + X12 + X5 + 1) on a 16-bit signature shift register.
VPR64 (Signature Analyzer Control and Status) register is used to define and control the operation of Lynx3DM+'s
signature analyzer. Bit 3 is used as a Enable/Stop bit. Bit 2 is used as a Reset/Normal bit. Bit 1 and 0 are used to select 8bit Red, Green, or Blue data from the 24-bit outputs of Multimedia RAMDAC. Bit 31 to bit 16 are used to read back the
signature from the signature analyzer.
To turn on the signature analyzer, both bit 3 and bit 2 must be set as "11". The signature shift register will be reset to "0" as
its initial value. On the rising edge of the 1st vertical sync pulse after VPR64 bit [3:2]=11, the state machine will start
collecting signature data. Bit 2 is automatically reset to "0" at the same time. On the rising edge of the next vertical sync
pulse, the signature analyzer stops and Bit 3 is automatically reset to "0". The test software can read back the 16-bit
signature from Bit [31:16] to compare the golden signature for the test patterns. Figure 28 is a block diagram of the
signature analyzer.
VPR64[1:0]
R[7:0]
From
Multimedia
RAMDAC
G[7:0]
8
16
X 16 + X 12 + X 5 + 1
16
Collector
VPR64[31:16]
B[7:0]
VSYNC
State Machine
VPR64[3:2]
VSYNC
VPR64{3:2] = 11
Enable & Reset
Signature
Analyzer
VPR64{3:2] = 10
Start Signature
Analyzer
VPR64{3:2] = 00
Stop Signature
Analyzer
Figure 28: Signature Analyzer Block Diagram
Signature Analyzer
13 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 14: Power Management
Lynx3DM+ is designed to support ACPI requirements as defined in the PCI Bus Management Interface Specification 1.0
(PPMI v1.0) and Display device Class Power Management Specification v1.0a. Lynx3DM+ also supports a variety of
adaptive power saving and clock management methods while in full operational mode. Finally, Lynx3DM+ supports
traditional Standby and Suspend mode functionality for operating systems such as Windows 95 which do not have ACPI
support built into the OS. A summary of these capabilities follows.
ACPI
Lynx3DM+ supports D0-D3 modes of operation via software programming of the Power Management Control/Status
Register PMSCR[1:0]. As required by the PCI Bus Management Interface Specification, PCI Configuration Space Status
Register (offset 06h) bit 4 is set to "1" to indicate new capabilities have been defined for Lynx3DM+. At offset 34h, the
Cap_Ptr register stores the offset of the new capabilities (this register is hardwired to 40h). The first byte at offset 40h has
a value of 01h, which indicates a Power Management capability (supports D1 and D2 states in addition to the required D0
and D3 power states). The second byte has a value of 00h indicating the no additional new capability features (Note:
Lynx3DM+ does not offer support for optional ~PME capabilities as defined in PPMI v1.0).
Please refer to the PCI Bus Power Management Interface Specification 1.0 and Display Device Class Power Management
Reference Specification v1.0a for additional details.
Display driver support for ACPI under Windows 98 and future versions of Windows 2000 will be provided by Silicon
Motion in accordance with PC97 and PC98 requirements.
Adaptive Power Management
Lynx3DM+ provides intelligent power saving control during graphics/video operation. Two key methods through which
power savings is achieved are Dynamic control of functional blocks, and dynamic clock control through Silicon Motion's
Virtual Refresh architecture.
Dynamic Control of Functional Blocks
All major functional blocks within the device are laid out independently. There is no signal crossover between blocks.
Special clock drivers are used to control each of the independent functional blocks. The clock drivers can be turned off by
setting Power-Down Registers (PDR20 - PDR22), or by entering the internal auto-standby mode (PDR23 Bit 6).
Functional blocks therefore can be turned on/off dynamically in response to how Lynx3DM+ is being utilized. Since the
blocks shut down are unused functional blocks, this power saving feature is transparent to the end user.
Below are some programming recommendations for selected display configurations. These auto power saving features are
implemented through video BIOS and system PMI. In addition to these display configuration recommendations, the
drawing engine, ZV Port, video processor can be turned off through video driver control.
Power Management
14 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
CRT is the only selected display
•
•
Disable LCD frame buffer write operation (PDR21 bit 5 = 1)
Disable LCD frame buffer read operation and DSTN dithering engine (PDR21 bit 4 = 1)
Color TFT is the only selected display with normal refresh
•
•
•
Disable the DAC (PDR21 bit 7= 1)
Disable LCD frame buffer write operation (PDR21 bit 5= 1)
Disable LCD frame buffer read operation and DSTN dithering engine (PDR21 bit 4 = 1)
Color DSTN is the only selected display with Virtual Refresh
•
•
•
Disable the DAC (PDR21 bit 7 = 1)
Enable auto shut-down of display memory screen refresh cycle and LCD frame buffer write cycle (FPR31 bit 3 = 1)
Set VCLK clock rate to 10 MHz (reduce clock rate to save power)
TV is the only selected display
•
•
•
Set VCLK clock rate to 14.1 MHz and set interlaced mode (CRT30 bit 7 = 1)
Disable LCD frame buffer write operation (PDR21 bit 5= 1)
Disable LCD frame buffer read operation and DSTN dithering engine (PDR21 bit 4 = 1)
Dynamic Clock Control and Virtual Refresh
Dynamic clock control is made possible through Silicon Motion's Virtual Refresh architecture. Virtual Refresh is an
intelligent architecture for dynamic clock control in LCD only mode, as well as independent display refresh control when
multiple displays are enabled (e.g. CRT/LCD, TV/LCD). Virtual Refresh utilizes two independent clocks (VCLK,
VRCLK): one clock, VRCLK drives the panel interface and maintains proper screen refresh. The second clock, VCLK is
now independent of the panel and can be scaled according to user needs (e.g. scaled down for power savings, or scaled up
to drive a higher refresh rate on CRT).
Virtual Refresh is enabled by setting FPR31 bit 7 to "1". When the LCD display is the only display viewed by the user,
power saving can achieved via three key functions:
•
•
•
Dynamically slows down the video clock (VCLK) to 25%~50% of the original clock rate
Auto shut-down display memory screen refresh
Auto shut-down the LCD write frame buffer
These functions can be automatically implemented when Lynx3DM+ detects the user has not performed any activity for
selectable number of screen refresh cycles. Since a significant percentage of the logic is synchronized with VCLK, the
average power consumption of the chip will drop dramatically. The LCD screen remains on with proper screen refresh, so
the power savings is transparent to the end user.
Note: When multiple displays are used, Virtual Refresh architecture can also be used to simultaneously display CRT/TV
and the LCD with different resolutions, and independent refresh rates.
Standard Power Management
Standby Mode
Lynx3DM+ supports Standby Mode in two ways: internal auto-standby and system standby from system PMI. The
internal auto-standby is enabled and controlled by Activity Detection Register (PDR23). When the internal timer matches
the selected condition (PDR23 bit [2:0]), Lynx3DM+ immediately enters standby mode Any CPU Memory or I/O access
14 - 2
Power Management
Silicon Motion®, Inc.
Lynx3DM+
Databook
to Lynx3DM+ will cause the device to exit standby mode, and reset as an internal counter timer. The system PMI can
enable system standby mode by pulling Lynx3DM+'s "~PDOWN" signal low. (Note: To select standby mode, PDR20 bit
7 must be set to 0 before pulling ~PDOWN low) Lynx3DM+ will exit standby mode when "~PDOWN" goes high. When
the system PMI standby is on, the internal auto-standby is ignored. Programming sequences for internal auto-standby and
system standby follow.
Start Internal Auto-standby Mode
•
•
•
PDR23 bit[7:6] = 11b
PDR20 bit 7 = 0 to enter standby mode
The internal timer count matches the setting from PDR23 bit[2:0]
Start System Standby Mode
•
•
PDR20 bit 7 = 0 to enter standby mode
"~PDOWN" input pin is driven low
Power Saving In Standby Mode
The standby mode is designed to provide an automatic power saving mechanism for the portable PC when the graphics
display sub-system is idle for a short period of time. There is no need for BIOS or application software to program
Lynx3DM+ registers. All power saving control are done by hardware. Both internal auto-standby and system PMI standby
have the same power saving mechanisms listed below.
•
•
•
Both memory clock and video clock switch to lower frequencies which are selected by bit [5:4] of PDR20 register
Lynx3DM+ will continuously issue DRAM refresh cycles
The following functional blocks are disabled (PDR21 bit 7, 5, 4, 3, 2, and 1)
* DAC
* LCD frame buffer write
* LCD frame buffer read and DSTN dithering engine
* Color Palette RAM
* ZV Port
* Drawing engine
* Video processor
•
•
LCD auto-power off sequence enabled
VESA DPMS standby mode enabled
Sleep Mode
Sleep mode is the maximizes power-saving mode while maintaining display memory and register integrity. Sleep mode is
selected when the whole system will be idle for a long period of time. All selected displays will be shutdown. PLLs can
also be shutdown if the external 32 KHz refresh clock is selected (CCR69 bit 3 = 0) or memory self-refresh mode is
selected. LCD panel on/off sequence will be done by simply programming the PDR22 register. The programming
sequence for Sleep Mode follows.
Setting Before Entering Sleep Mode
•
•
•
PDR20 bit 7 = 1 to enter sleep mode
Set PDR20 bit 6 to select memory refresh type
Set CCR69 bit 3 to select external or internal refresh clock
Power Management
14 - 3
Silicon Motion®, Inc.
Lynx3DM+
Databook
Enter Sleep Mode (Suspend)
•
•
Power OFF the LCD panel if the LCD display is enabled. There are two ways to power OFF the LCD panel: hardware
or software (selected by FPR34 bit 7). For software approach, the system PMI needs to program FPR34 bit 7 = 0 and
PDR22 bit [3:0] to control FPEN, FPVDD, VBIAS,VBKLGT and panel interface pins. For hardware approach, one
needs to program FPR34 bit 7 = 1 and panel ON/OFF timing select via FPR33 [3:2], then Lynx3DM+ will generate
the proper panel sequencing.
"~PDOWN" input pin is driven low. After ~PDOWN has been asserted for 2 vertical sync cycles, Lynx3DM+ will
automatically shut-down the following blocks:
* DAC
* LCD frame buffer write
* LCD frame buffer read and DSTN dithering engine
* Color Palette RAM
* ZV Port
* 2D/3D drawing engine
* Video processor
* Memory screen refresh
* Start power-down memory refresh cycle
Exit Sleep Mode (Resume)
•
•
Drive "~PDOWN" input high. (200 ms after PLLs are turned on)
After 200 ms, Power ON the LCD panel by either hardware or software. For software panel sequencing, enable LCD
display by programming the PDR22 register. The whole system will be back to original state. For hardware panel
sequencing, set FPR34 bit 7 = 1.
Activity Detection
The activity detection function is used to monitor Lynx3DM+ I/O and memory activity. System designer can select a fixed
time period by programming PDR23 bit [2:0]. An internal timer will count the idle period of memory or I/O operation. If
the idle period matches the selected value, Lynx3DM+ will generate a "Low-High" or "High-Low" signal to system
through ACTIVITY output pin. Any Memory or I/O operation can reset the ACTIVITY signal and the internal counter.
After receiving the ACTIVITY signal from Lynx3DM+, the system power management unit can start Standby mode or
Sleep Mode by pulling "~PDOWN" signal low. The activity detection function can also be used to enable internal autostandby mode by setting PDR23 bit [7:6]. This power saving feature is independent of software and transparent to the end
users.
Power-down Sleep Mode States
Table 17: Interface Signals Sleep Mode States
Signal Name
Sleep Mode
Host Interface
AD [31:0]
tri-state
C/ ~BE [3:0]
tri-state
PAR
tri-state
~FRAME
tri-state
~TRDY
tri-state
14 - 4
Power Management
Silicon Motion®, Inc.
Lynx3DM+
Databook
Signal Name
Sleep Mode
~IRDY
tri-state
~STOP
tri-state
~DEVSEL
tri-state
IDSEL
x
CLK
x
~RST
H
~REQ
tri-state
~GNT
x
~INTA
tri-state
Power Down Interface
~PDOWN
L
~CLKRUN
open-collector
Clock Interface
REFCLK/PALCLK
x
CKIN
x
LVDSCLK
tri-state
~EXCKEN
H
Memory Interface
MA [9:0]
H
MD [63:0]
H or L (note 2)
~WE
H
~RAS
L
~CAS
L
~CS [1:0]
L
~DQM [7:0]
H
DSF
L
BA
H
SDCKEN
L (self-refresh), H (CAS-b-RAS)
SCK
depends on PLL
~ROMEN
H
Flat Panel Interface
FDATA [23:0]
L
FPSCLK
L
FPEN
L
FPVDDEN
L
VBIASEN
L
LP/FHSYNC
L
Power Management
14 - 5
Silicon Motion®, Inc.
Lynx3DM+
Databook
Signal Name
Sleep Mode
FP/FVSYNC
L
CRT Interface
R, G, B
0V
CRTVSYNC
L
CRTHSYNC
L
Video Port Interface
P [15:0]
L
PCLK
H
VREF
H
HREF
H
BLANK/TVCLK
H
General Purpose Registers/I2C
USR3
H
USR2
H
USR1/SDA
H
USR0/SCL
H
Test Mode Pins
TEST [1:0]
L
Notes:
1. This entry specifies when PDR20 bit 6 = 1 (self-refresh). When PDR20 bit 6 = 0 (CAS before RAS), both ~RAS and
~CAS control are based on 32K Hz refresh clock
2. MD lines have internal pull-up, therefore, without external pulldown resistors, MD lines will be at HIGH. With
external pulldown resistors, MD lines will be at LOW.
14 - 6
Power Management
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 15: Motion Compensation Specification
Overview
The Motion Compensation block (MC) executes a series of instructions in a pipelined fashion. There is actually only one
type of instruction with several flags that control the instruction execution. The MC instruction is similar to a CPU
arithmetic instruction with three sources (imm - IMMediate operand, mrd - Memory ReaD and acc - ACCumulator) and
one destination (mwr - Memory WRite). The main difference between standard CPU instructions and those used by the
MC is that the MC instruction works on rectangular blocks of data instead of 8, 16, 32, or 64-bit integers.
The rectangular blocks of data (rectangles) used by the MC are 2-dimensional arrays containing 8-bit values. For the
current implementation, the horizontal and vertical sizes (hsize and vsize) are limited to the following ranges: hsize = 8 or
16; vsize = 4 or 8. The MC requires one 128x16 SRAM for temporary storage of the input and output array values. It acts
as a CPU accumulator.
The throughput of the MC pipeline is two pixels per cycle. Under worst case assumptions a MPEG-2 MP@ML picture
will thus require 22 Mcycles/second.
Data Flow and External System Responsibilities
All instructions for motion compensation are generated by a software front-end and fed to the graphics controller via a
standard software API. The instructions specify two different types of operations: (1) Memory accesses used for reading
prediction data and writing reconstructed pels, and (2) Data processing operations used to combine predictions with the
error terms generated by the IDCT operation.
The MC core handles all data processing operations required for motion compensation. The graphics memory controller
handles the memory access operations. The memory controller must read the instructions generated by software, fetch
prediction data, feed the data to the MC block and write the final reconstructed pels into the proper location.
MC Top Level Architecture
The top level architecture of the MC core is shown in Figure 29. It consists of a simplified quadrilinear filer (mc_qlf - this
is the data path), a 128x16 dual port SRAM, and a controller (mc_ctl). The MC has four data busses: command (cmd),
immediate operand (imm), memory read (mrd) and memory write (mwr).
Motion Compensation Specification
15 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Motion Compensation
Commands
IDCT Data
Prediction Data (From Memory)
cmd
imm
mc_ctl
mrd
acc
mc_qlf
SRAM
128x16
mwr
To Memory
Figure 29: MC Top Level Architecture
In the current architecture all input and output busses are kept separate to offer the maximum processing throughput.
Except for the command bus, all busses can operate continuously at one 16-bit or 18-bit value per cycle (two pixels/cycle).
All busses use a rdy-ack protocol and can be stalled on any cycle.
For MPEG the IDCT output is fed through the imm bus and the prediction through the mrd bus. For bidirectionally
interpolated macroblocks, first the forward prediction is read, half-pel interpolated, and stored in the 128x16 memory
(block ACCumulator). Next, the backward prediction is read, half-pel interpolated, and added to both the acc (forward
prediction) and imm (immediate or IDCT) data.
Motion Compensation
Commands
cmd reg
demux
cmd flags 0
cmd flags 1
Figure 30: Control Block Diagram
Words from the cmd bus are loaded directly into the 16-bit cmd register as the command pipeline advances. The flags0
and flags1 registers each hold exactly one instruction each and together form a 2 instruction FIFO. One instruction is
encoded as 2 or more 16-bit words, which means that it will take 2 or more pipeline advances before a flags register has
accepted an entire instruction. Having 2 instructions queued at a time allows the MC to prepare an idle QLF pipeline with
data ahead of time - before the current instruction has completed.
15 - 2
Motion Compensation Specification
Silicon Motion®, Inc.
Lynx3DM+
Databook
Prediction Data
(From Memory)
IDCT Data
mrd pipeline
SRAM read data
imm pipeline
recon reg
SRAM write data
Figure 31: QLF Block Diagram
The Quadrilinear Filter consists of three pipelines, namely the acc, mrd, imm pipelines. The acc pipeline is not shown in
block diagram because it consists of two stages external to the MC. The first stage is the synchronous SRAM read port
while the second stage is a register that accepts SRAM read data. The width of this register matches the width of the
reconstruction memory write back (mwr) data and is application dependent.
The mrd pipeline accepts prediction data from memory in a 16-bit wide format (2-pels). Pel alignment, horizontal half pel
interpolation, and vertical half pel interpolation are handled in the pipeline.
The imm pipeline accepts IDCT data in a 18-bit (9-bit pel) or 16-bit (8-bit pel) format. The data is reformatted based on
the flags in the current instruction.
Data from the three pipelines is combined and held in the reconstruction register. The data is added together, then
saturated to values between 0 and 255. From this register the data is written to the local SRAM 16-bits (2 pels) at a time.
MC Instruction Format and Operation
Figure 33 shows the MC instruction format. The flags and parameters in the instructions are summarized in Table 18. All
MC commands have the most significant bit (MSB) of word A set=1. Commands that have the MSB cleared=0, are
intended for the memory controller or other control logic external to the MC. Currently, the only command with MSB=0
is used to indicate the end of stream:
f
e
d
c
b
a
9
8
7
6
5
4
3
2
1
0
A
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
B
0
0
0
0
0
10000
00000
0
Figure 32: End Stream Instruction
This End Stream command can occur anywhere in a command stream and should trigger an end to the command stream
transfer. After this instruction is encountered by hardware, communication would then take place between hardware and
the driver to determine what step to take next. This command is intended for logic external to the MC but should also be
Motion Compensation Specification
15 - 3
Silicon Motion®, Inc.
Lynx3DM+
Databook
passed on to the MC. The MC will see it as a Flush command and is required in order for the results from the last valid
command to be written to memory.
The following table defines the format for MC instructions. Notice that the MSB of word A is set=1, indicating that this is
an MC instruction.
A
B
C
e
d
c
b
a
1
-
ISL
IM8
MRD
IMM
-
-
9
8
ACC MWR
hsize [4:0]
7
6
5
4
3
2
1
0
THB
LHB
IH0
IH1
TVB
LVB
IV0
IV1
-
-
HHP
mrd_slot[1:0] mrd_plane[1:0]
D
E
f
-
RVS
-
VHP
mrd_hadder [11:0]
mrd_slot[1:0] mrd_plane[1:0]
F
vsize [4:0]
mrd_hadder [11:0]
mrd_hadder [11:0]
WVS
mrd_hadder [11:0]
Figure 33: MC Instruction Format
Table 18: Instruction Flags and Parameters
Flag
Parameter
Meaning
ISL
Immediate Shift Left vs. sign extend left
IM8
IMmediate data 8-bits per pixel
MRD
Memory ReaD
IMM
IMMediate
ACC
ACCumulate
MWR
Memory WRite
THB
Two Horizontal Blocks
LHB
interLeaved Horizontal Blocks
IH0
Immediate operand for Horizontal block 0
IH1
Immediate operand for Horizontal block 1
TVB
Two Vertical Blocks
LVB
interLeaved Vertical Blocks
IV0
Immediate operand for Vertical block 0
IV1
Immediate operand for Vertical block 1
hsize [4:0]
HHP
Horizontal Half Pel interpolation
vsize [4:0]
VHP
15 - 4
Horizontal SIZE
Vertical SIZE
Vertical Half Pel interpolation
mrd_slot [1:0]
Memory ReaD SLOT
mrd_plane [1:0]
Memory ReaD PLANE
mrd_haddr [11:0]
Memory ReaD Horizontal ADDRess
mrd_vaddr [11:0]
Memory ReaD Vertical ADDRess
Motion Compensation Specification
Silicon Motion®, Inc.
Lynx3DM+
Databook
Flag
Parameter
Meaning
RVS
mrd_vstep
Memory ReaD Vertical STEP
mwr_slot [1:0]
Memory WRite SLOT
mwr_plane [1:0]
Memory WRite PLANE
mwr_haddr [11:0]
Memory WRite Horizontal ADDRess
mwr_vaddr [11:0]
Memory WRite Vertical ADDRess
mwr_vstep
Memory ReaD Vertical STEP
RVS
Each MC instruction consists of two, four or six 16-bit words. The first instruction, instruction A in Figure 33, contains
the instruction flags. The second instruction contains the rectangle size. Depending on the flags in the first instruction, the
remaining four instructions may or may not be present.
In instruction A, the most important flags are MRD, IMM, ACC, and MWR. These flags indicate what source operands
are used and if the result should be stored to memory or to the accumulator (the 128x16 memory). All or none of these
four flags can be set. If none of the source flags are set, the MC generates a rectangle of zeros.
If the MRD (Memory ReaD) flag is set, instructions C and D must be present. These instructions specify the address from
which prediction data should be fetched. The memory slot (prediction slot) from which to read the data is given by the
mrd_slot [1:0]. A slot contains one frame of video which can be broken down into two or three color planes: (Y, Cb, Cr)
or (Y, Cb/Cr interleaved). Each color plane can be broken down into two fields. The top field is located in the even lines
while the bottom field is located in the odd lines of the frame. The X-Y offset in the slot (frame) from which to fetch the
data is given by the mrd_haddr [11:0} and mrd_vaddr [11:0]. The vertical step, mrd_vstep, indicates whether every line
or every other line should be read from the slot. For frame prediction every line is read (mrd_vstep = 0) and for field
prediction every other line is read (mrd_vstep = 1). The first line of a rectangle of prediction data is indicated by
mrd_vaddr [11:0]. In field prediction (mrd_vstep = 1), which field the data must come from depends on the location the
first line of the prediction rectangle. If that line is in the top field, then the data comes from the top field. Otherwise it
comes from the bottom field.
The parameter mrd_plane (Memory ReaD PLANE) indicates which video plane is being processed (0=Y, 1=Cb, 2=Cr,
3=CbCr). For MPEG decompression the memory read plane, mrd_plane [1:0] and memorywrite plane, mwr_plane [1:0],
are always equal. (Note: they are provided as different values to offer increased flexibility for other applications (read
from one plane and write to a different plane).
If the MWR is set, instruction E and F must be present. These instructions specify the address to which the final
computed pels should be written. Similar to the data read instructions, the write slot is indicated by mwr_slot [1:0]. The
X-Y offset is indicated by mwr_haddr [11:0] and mdr_vaddr [11:0]. The mwr_vstep bit specifies whether or not to skip a
line between successive rows written in the same way that the mrd_vstep does for the prediction data. In MPEG-2
decode, mwr_vstep setting reflects the motion type for the macroblock being processed.
In instruction B, if HHP is set, Horizontal Half Pel interpolation is performed and the mrd horizontal size shall be hsize
pixels plus one. If VHP is set, Vertical Half Pel interpolation is performed and mrd vertical size shall be vsize rows plus
one.
If the ACC flag is set, the MC adds the content of the ACCumulator (the 128x16 memory to be memory read data (if
present).
If the IMM flag is set, the MC adds the immediate data, supplied on the imm bus, to the interpolated data, (mrd = acc)/2.
The immediate data is the error term calculated by the IDCT. All the other nine flags have a meaning only if IMM is set.
Motion Compensation Specification
15 - 5
Silicon Motion®, Inc.
Lynx3DM+
Databook
IM8 indicates if the immediate data is only 8 bits wide. If IM8=0 the MC will accept IDCT data in a 9-bit per pixel
format. MPEG-2 defines a range for IDCT data from -256 to =255 which is covered by a 9-bit two’s complement number.
A setting of IM8=1 indicates that the data is in an 8-bit per pixel format which approximates the full range. The ISL flag
is used in conjunction with IM8 and differentiates between two 8-bit modes. ISL is ignored when IM8=0. 8-bit
approximations allow data to be packed more efficiently into standard word widths. At issue is the sign bit. Intra-coded
macroblocks never use the sign bit since values are restricted to the range of 0 to +255, while predicted to bidirectional
IDCT values take the range of -256 to +255. For this reason, commands are separated into two different categories: intracoded and non intra-coded.
If IM8=1 and ISL=0, the MC first determines the type of command currently being executed, then generates the sign bit
based on the category. Intra-coded values are zero extended, while non intra-coded values are sign extended to the full 9
bits. Software that decodes the IDCT data must remove the sign bit in the intra-coded case while saturating the lower 7
bits and removing the 8th bit in the non intra-coded case. Non-intra coded data retains its sign bit since the saturation
process results in a 8-bit twos complement number whose most significant bit represents its sign.
The IM8=1/ISL=0 setting will put an upper limit on the amount of correction that can be made to prediction data though.
After the correction IDCT error terms can be no greater than =127 and no less than -128. As mentioned before, MPEG-2
specifies the range to be between +255 and -256. Under normal conditions values rarely exceed the smaller range since
motion is relatively slow from picture to picture. When they do, it will be almost impossible for an observer to notice
since the corrupted pels will be located in an area where a great deal of motion is occurring. In some rare cases though
this range clipping can cause visible artifacts. They can be corrected though, with a second IMM data “pass”.
Instructions with settings of MRD=1, ACC=1 and IMM=1 calculate results as follows:
acc = (mrd+acc) / 2 = imm
Instructions with settings of MRD=0, ACC=1 and IMM=1 calculate results differently:
acc = acc + imm
This allows for a correction of IMM data terms that were saturated to the range of [-128, +127]. The first IMM pass
would correct to this smaller range while the second pass would allow for a correction to a range of [-256 +254]. To reach
a correction of +255, a third pass can be generated but would not be required very often.
If IM8=1 and ISL=1, the MC shifts the 8-bit IMM data left one bit before performing calculations with it. Intra coded an
non-intra coded commands both treat the IMM data this way. Software must drop the least significant bit of the original
9-bit terms to convert to the format of the data required in this mode. This is the fastest way to generate 8-bit IMM data
but will result in lower quality video. Images that contain large areas of a single color will suffer contour lines.
The remaining eight flags are needed to accommodate all possible combinations of coded_block_pattern and dct_type.
The immediate data is present only if indicated by these flags. The term “reconstruction plane” in the following
paragraphs refers to data that is written to the MC block’s local SRAM as a result of a given command. Each
reconstructed pel has a horizontal and vertical component that make up its position in the plane.
IH0 and IH1 indicate that the coded_block_pattern flag is set (IDCT data is present) for the one or two horizontal blocks
that are processed. IH0 is used for the left most pels while IH1 is used for the right most. Pel locations in the
reconstruction plane are assigned to one of the coded block pattern (cbp) bits, namely IH0, IH1, or IV1. IDCT data is only
used in the reconstruction calculation for a given location when its cbp bit is 1. Otherwise, the IDCT data is either masked
out or missing from the immediate data stream.
IV0 and IV1 are the cbp bits used when two vertical blocks are present. In MPEG terms, IV0 can be thought of as
indicating that block Y2 is coded. IV1 can be thought of as indicating whether Y3 is coded. IDCT data is re-ordered to be
combined with prediction data (MRD bus). For this reason, the cbp bits may not apply evenly to adjacent blocks as they
15 - 6
Motion Compensation Specification
Silicon Motion®, Inc.
Lynx3DM+
Databook
do in the MPEG bitstream. Their assignment to locations in the reconstruction plane reflect the change in the order of the
IDCT data.
TVB indicates that Two Vertical Block as are processed at the same time. If TVB is high, IH0 and IH1 are used for the top
half of the rows while IV0 and IV1 are used for the bottom half. In the top half, whether IH0 and IH1 is used will be
dependent on the horizontal reconstruction pel position, THB and LHB. The same is true of IV0 and IV1 in the bottom
half. TVB is not an indicator of the number of vertical rows for a command. The vsize [3:0] bits indicate this. Although
if TVB is high, vsize [3:0] bits indicate this. Although if TVB is high, vsize [3:0] is used to determine the vertical halfway point for a command.
LVB indicates that two Blocks are Vertically interLeaved. This is needed when frame prediction and field DCT type data
are used in a frame picture. When LVB is high, the even rows in the reconstruction plane are assigned to IH0 and IH1
while the odd rows are assigned to IV0 and IV1.
For MPEG related applications, TVB and LVB will never both be set high. A command generator that sets them both will
not cause a failure in the MC though. The result will be a union of the two modes. The top half of the rows will be
interleaved while the bottom half will not. All of the bottom rows will be assigned to the IV0 and IV1 cbp bits.
THB indicates that Two Horizontal Blocks are processed at the same time. When THB is high, either IH0 and IV0 will be
assigned to the left most half of a reconstruction row, while IH1 or IV1 will be used for the right most half. In the left half,
whether IH0 and IV0 is used will be dependent on the row number, TVB and LVB. The same is true of IH1 and IV1 in the
right half. THB is not an indicator of the number of horizontal pels in a row. The hsize [4:0] bits indicate this. Although
if THB is high, hsize [4:0] is used to determine the half-way point in a row.
LHB indicates that two Blocks are Horizontally interLeaved. This is needed when chroma (Cb and Cr) is stored in a
single plane to save memory bandwidth. When LHB is high, the upper 9 or 8 bits of the imm [17:0] bus are interpreted as
a Cb IDCT pel and IH0 and IV0 is used as a mask while the lower 9 or 8 bits are interpreted as Cr with IH1 or IV1 as a
mask. When a coded block pattern bit is 0 the corresponding immediate data is masked to 0 before being used in
reconstruction calculations. Unlike non-interleaved cases, data for the pels masked to 0 must be present in the immediate
data stream even though their values are thrown out. When LHB is set high, the THB bit is ignored. Setting both bits high
has the same effect as setting LHB high and THB low.
Motion Compensation Specification
15 - 7
alsdkjflskdjf
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 16: 3D Engine
The Lynx3DM+ engine consists of a triangle setup engine, triangle fill engine, texture engine and pixel engine.
Pixel Engine
Floating point
Setup Engine
Triangle Fill
Engine
Texture Engine
M
e
m
o
r
y
Figure 34: 3D Engine Block Diagram
IEEE 754 Floating Point Setup Engine
Lynx3DM+ incorporates a full triangle setup engine in hardware, relieving the host processor of these duties, as well as
the need to transfer the setup data across the PCI Bus (43 double words per triangle). This frees up the host processor to
perform tasks such as game logic and setting up data for the next frame. The result is higher triangle rates, and lower CPU
utilization.
The setup engine computes triangle slope parameters (x, y, z, color (rgba) and texture parameters (s,t,w)). The triangle
engine uses this information to walk along the edge of the triangle and generate span lines to be shaded or textured. Slope
computation require divide operations in floating point to achieve maximum precision. The setup engine also performs
subpixel correction (fractional adjustment calculations of the slope parameters to the pixel center) to eliminate polygon
and texture misalignment.
The key components of the setup engine are 2 floating points units which work in parallel to perform triangle slope
computations. In addition there is a hardware vertex sorting function to sort triangle vertices based on Y coordinates, as
well as vertex transfer DMA to free the host CPU from transferring thousands of triangle vertices from host memory to the
setup engine.
The vertex buffers within the setup engine (V0,V1,V2) consist of x,y,z,r,g,b,a,s,t,w (10) triangle parameters whose
formats (floating point) are matched to Direct3D or OpenGL requirements. There is fixed to floating point format
hardware conversion capability for color, as the data is specified as fixed point format in D3D.
3D Engine
16 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
P
V0
C
I
PCI
Buffer
Vertex
DMA
SORT
LOGIC
V1
FPUs
SLOPES
OUTPUT
B
V2
U
Buffers
S
Figure 35: Setup Engine Block Diagram
Triangle Engine
The slope data from the triangle setup engine is passed to the edge walker within the triangle setup engine. The edge
walker interpolates along the major edge of a triangle, generating horizontal Z, Gouraud and texture span lines
simultaneously and calculating their starting values (RGBA and STW). The span engine interpolates the lines into pixels
(Gouraud shading) and texels (via texture engine) to be combined (modulated, added, blended) in the pixel pipeline stages
within the Pixel Engine.
Significant parallelism is achieved by running the span engine, texture engine and Z engine in parallel.
All pixel rendering is calculated internally as 32-bit RGBA data. Triangle engine supports 2 separate interpolators for
diffuse and specular color.
Scissor Test
Span engine
(Gouraud)
Edge walker
Fifo
Fifo
Fifo
Pixel Engine
Texture
engine
Z_ENGINE
Figure 36: Triangle engine block diagram
16 - 2
3D Engine
Silicon Motion®, Inc.
Lynx3DM+
Databook
Z Engine
The Z buffer (16bpp) process is performed in parallel with other triangle engine operations. The Z_engine whose output
determines if pixel is to be drawn or not.
Z relational operation:
000 = Z disabled
001 = pass if Zi .GT. Zzb
010 = pass if Zi .EQ. Zzb
011 = pass if Zi .GE. Zzb
100 = pass if Zi .LT. Zzb
101 = pass if Zi .NE. Zzb
110 = pass if Zi .LE. Zzb
111 = Z always passes
Z interpolator
Zi
Z
compare
Z
mask
Pixel engine
ZB read queue
Zzb
Fog Table
512 entries
Z buffer
16bpp
Figure 37: Z Engine Block Diagram
Texture Engine
Lynx3DM+ supports perspective correct texture mapping (divide per pixel), various texture filtering such as point
sampling, bilinear, and trilinear mip-mapping (per pixel LOD) to eliminate texture aliasing.
Point sampling and bilinear texture filtering are done in a single pass. Trilinear mip-mapping and texture compositing
(multiple texture map) are done in 2 passes.
Texture engine supports the following source texture formats: RGBA_8888, RGBA_4444, RGB_1555, RGB_565 and 8bit color index with separate look up table.
DIVIDER
1/W
Swi * 1/Wi
Twi * 1/Wi
Texture Memory
Texture Cache
Texture Filter
Texel
Figure 38: Texture Engine Block Diagram
3D Engine
16 - 3
Silicon Motion®, Inc.
Lynx3DM+
Databook
Pixel Engine
The Pixel Engine consists of a series of pipeline stages (operations) to combine texture color and diffuse color
(highlighting), add specular color, and create transparency and atmospheric fog/haze effects. In addition, the Pixel Engine
performs edge anti alias to eliminate jaggedness.
Diffuse color
Texture color
Modulation
/
Addition
/
Blending
+
Fog /Haze
Blending
Alpha
Blending
Dither
Chroma -key
Test
Specular color
Figure 39: Pixel pipeline block diagram
Modulation/Addition Unit
Combine pixel (diffuse color) from gouraud span engine with texel from texture engine.
(multiplication), addition and blending operations.
Includes modulation
Fog Blending Unit
Fog blend factor per pixel is computed based on Z distance. Lynx3DM+ supports both local fog (fog blend factor is
derived from iterated fog blend factor at vertex level) and global fog (fog blend factor is from fog table indexed by z at that
pixel). Global fog gives more realistic effect as local fog tends to give fog band effect due to linearly interpolated fog
factor at the vertex level.
Chroma-Key Test Unit
Chroma-key is used in conjunction with transparency (alpha blend). If enabled, the texel from texture engine is compared
to the chroma-key value and if within range then the alpha blending factor is set to 0, which essentially means disable
pixel write.
Alpha Blending Unit
The Alpha Blending unit blends incoming source pixels with destination pixels. One of the most common function of
alpha blend is to create a translucent object. Lynx3DM+ supports most of the blend functions specified by microsoft D3D
API and OpenGL.
Dithering Unit
The Dithering unit is used to improve 16-bit RGB (5:6:5) color representation on the display without actually storing the
pixel data as 24 Bit data in the frame buffer. Dithering matrixes are used to represent the 16-bit RGB data as 24-bit RGB
data on screen.
16 - 4
3D Engine
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 17: TV Encoder
The TV Encoder is an NTSC/PAL Composite Video/S-video Encoder. It receives RGB inputs and converts to digital
video signals based on CCIR 624 format.
The input video signal of the TV Encoder is RGB 8-bit each. The sampling rate is corresponding to CCIR 601, Square
pixel and 4Fsc (NTSC only).
The output video signals of the TV Encoder are Composite video signal and S-video signals of 10-bit each. These output
signals are over-sampled by a double frequency clock called CLKX2. This feature helps to simplify external analog
filtering.
The TV Encoder video timing is controlled by vertical sync and the horizontal sync input signals. The blank signal input
is optional. If the blank signal input signal is pulled up, internal blanking control will be performed.
Macrovision 7.01 and closed captioning functions are included.
Key Feature Summary
•
•
•
•
•
•
•
•
•
NTSC/PAL interlace mode digital video encoder
Composite Video and S-Video digital output
CCIR 601, Square pixel and 4Fsc (NTSC only) resolution RGB input
Slave timing operation
Interlace mode operation
2x over-sampling data output to simplify external analog filtering
Selectable pedestal level OIRE/7.5IRE for NTSC
Macrovision function (version 7.01)
Closed captioning function
TV Encoder
17 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
CLKX2
Closed Caption
Encoder
Blank
Pedestal
R[7:0]
RGB to YUV
Converter
G[7:0]
LPF
B[7.0]
Antitaping
Process
Control
+
+
2X OverSampling
+
CVBS[9:0]
+
LPF
Color Burst
Generator
YD[9:0]
CD[9:0]
Subcarrier
Generator
VSYNC_L
HSYNC_L
Timing Controller
Parallel Interface
BLANK_L
CLKX1
DI[7:0]
MODE[2:0]
DO[7:0] WID WDT
RESET_L
Figure 40: TV Encoder Block Diagram
Table 19: TV Encoder Block Interface Description
Excore-TV Encoder for SMI pin list
Pin name
Width
I/O
R
8
I
4:4:4 sampled Red data
This data should be synchronized to the CLKX1.
G
8
I
4:4:4 sampled Green data
This data should be synchronized to the CLKX1.
B
8
I
4:4:4 sampled Blue data
This data should be synchronized to the CLKX1.
VSYNC_L
8
I
Vertical sync input, active low
This goes low during the vertical sync intervals.
HSYNC_L
1
I
Horizontal sync input, active low
This goes low during the horizontal sync intervals.
BLANK_L
1
I
Composite blanking input, active low. This goes low during the composite
blanking intervals. If this signal is low, the RGB input data will be masked.
CLKX1
1
I
Pixel rate clock input
This clock should be free-running, and will be synchronized to the CLKX2.
17 - 2
Description
TV Encoder
Silicon Motion®, Inc.
Lynx3DM+
Databook
Pin name
Width
I/O
Description
CLKX2
1
I
2X Pixel rate clock input
This clock should be free-running.
MODE
3
1
Mode select
When MR[7] is set to 1, the mode is controlled by these input pins, otherwise
the mode register (MR) setting will be taken.
000: NTSC CCIR
100: PAL CCIR
001: NTSC Square Pixel 101: PAL Square pixel
010: NTSC 4Fsc
RESET_l
1
I
Reset input, active low
MV_EN
1
I
Macrovision function Enable
DI
8
I
Parallel I/F data input
DO
8
0
Parallel I/F data output
WID
1
I
Parallel I/F index strobe
WDT
1
I
Parallel I/F data strobe
CVBS
10
O
S-video Luminance data output
YD
10
O
Composite video data output
CD
10
O
S-video Chrominance data output
Function Descriptions
Video data input and sampling rate
The video input data is RGB. Each R, G, or B data is an 8-bit value. The range for the data is 0 to 255 respectively. The
data is latched at positive edge of the CLKX1.
The TV Encoder supports the following sampling rates:
Table 20: TV Encoder Sampling Rates
Video Mode
NTSC
Frequency
Total pixel/line
Total lines/frame
CCIR 601
13.5 MHz
858
525
Square pixel
12.27 MHz
780
525
4Fsc
14.32 MHz
910
525
CCIR 601
13.5 MHz
864
625
Square pixel
14.75 MHz
944
625
PAL
Macrovision Antitaping process
The TV Encoder supports the Macrovision Antitaping process function (U7.01). Macrovision involves 3 functions which
are the colorstripe process, Pseudo Sync/AGC pulses with sync pulse amplitude reduction and EOF back porch pulses.
If the same line is assigned for closed captioning and the Macrovision process, all Macrovision functions at the line are
disabled for the closed captioning function.
TV Encoder
17 - 3
Silicon Motion®, Inc.
Lynx3DM+
Databook
The color stripe process function is applied to the composite video output and the Chrominance signal output. This
activated by MCR0[3] and controlled by MCR1 to MCR7 and MCR16 to MCR21. This function controls the color burst
length and polarity. When this process is invoked during the burst blanking lines, no color burst signal is put. When the
color burst length is assigned beyond the active video time, the color burst completes at the end of the blanking time.
Active video data then starts. The blanking time is controlled by the BLANK-L input pin and internal blanking.
The Pseudo Sync/AGC pulse function is applied to the composite video output and the S-video Luminance output. The
Pseudo Sync pulse is applied to the Luminance signal. The AGC pulses is a super-white positive going pulse. Both of
these pulses are output after color burst signal. The Sync Pulse amplitude reduction changes the synchronizing level. This
function is activated by MCR0[5] and MCR0[1:0], and controlled by MCR0[2], MCR8 to MCRI4.
The EOF back porch pulse function generates a high level signal immediately after the trailing edge of the H-sync pulse.
The value is 100IRE for NTSC mode and 7OOmV for PAL mode. This function is activated by MCR0[4], and controlled
by MCR[15].
Closed Captioning
The closed captioning function is applied to the Luminance data, and is shown at the composite video output and the Svideo Luminance output as follows. The level and timing corresponds to the EIA standard EIA-608.
This function is controlled by the closed captioning registers. The closed captioned line is
controlled as follows.
Table 21: Closed Captioning Lines
Video Mode
Odd field
Even field
NTSC
CCL + 4
CCL + 263 + 4
PAL
CCL + 1
CCL + 313 + 1
When the closed captioning function is enabled by the CCEN register, the captioning data will be placed on the assigned
line. When there is new data, the TV Encoder outputs the new data. When there is no new data, a null code (80h) will be
output.
17 - 4
TV Encoder
Silicon Motion®, Inc.
Lynx3DM+
Databook
The odd field and even field are controlled separately. When one of 2 odd (even) data registers is written, the TV Encoder
recognizes new data for odd (even) field. The status bit OST(EST) is set to 1. For normal usage, the new data is written
when the status bit is 1.
Table 22: Closed Captioning Odd Field Output Data
Enable
Status
1st Output Data
2nd Output Data
CCE[0] = 0
-
no data
no data
CCE[0] = 1
OST = 0
CO_DT0
CO_DT1
CCE[0] = 1
OST = 1
80 (hex)
80 (hex)
Table 23: Closed Captioning Even Field Output Data
Enable
Status
1st Output Data
2nd Output Data
CCE[0] = 0
-
no data
no data
CCE[0] = 1
EST = 0
CO_DT0
CE_DT1
CCE[0] = 1
EST = 1
80 (hex)
80 (hex)
Video data output and Over-sampling
The TV Encoder outputs composite video, Luminance and Chrominance signals. These outputs have 10-bit each, and are
2X over-sampled by the double frequency clock designated CLKX2. This over-sampling simplifies external analog
filtering. The output level and timing depend on the mode selected.
Synchronization
This TV Encoder operates in a slave mode. This means that the vertical sync and the horizontal sync are required for
operation. The blanking signal is optional. The TV Encoder will calculate the composite blanking time using the sync
information. If the blank signal BLANK-L is pulled up, input data at the blanking time will be masked by the internal
blanking signal. When the blanking signal is controlled, it's possible to shorten the active time for the input data. The TV
Encoder will mask the input data when the BLANK-L is low. The TV Encoder automatically detects the Odd/Even field
by sync information.
Sub-carrier Generation
The sub-carrier is internally generated using CLKX1. Depending on the sampling rate, the TV Encoder will
automatically calculate exact frequency. The sub-carrier phase is reset under the following conditions:
• RESET-L is low.
• The first field changes to field 1 after RESET- goes high.
• The first field changes to field 1 after the TV Encoder detects the mode change.
• When genlock control is on. For this case, the sub-carrier phase will be reset on every 4 fields for NTSC mode and 8
fields for PAL mode.
Parallel bus I/F
For internal register access, the parallel bus I/F is used. When the write index signal designated WID is high, the register
address is latched. When the write data signal designated WDT is high, the data will be written to the latched address.
TV Encoder
17 - 5
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 18: Register Overview & Usage
There are generally 3 types of registers:
PCI Configuration Registers
The PCI Configuration registers are listed in Chapter 19: PCI Configuration Space Registers and accessed via the standard
PCI read/write protocols specified in the PCI specification.
Memory Mapped I/O Registers
All the I/O mapped registers within Lynx3DM+ have been designed to be memory mapped as well. They are listed in
Chapter 20: Standard VGA Registers and Chapter 21: Extended SMI Registers. “I/O” or “Memory” Mapping is selected
through PCI configuration registers CSR04 bit 0 and bit 1.
•
Access via “I/O” space is done by first writing the index value into the I/O register 3C4. Thereafter, the indexed
register can be accessed via I/O read/write to I/O address 3C5
Example: Register with Index 0/H
I/O write 0/H to 3C4
I/O read/write to/from 3C5
•
The procedure to access these registers via “Memory” Mapped space is similar to “I/O” space in that the index
register is moved to memory address C0xxx and the access register is moved to C0xxx (where “xxx” represents the
VGA control numbers.
Example: Register with Index 0/H
Memory write 0/H to C03C4
Memory read/write to/from C03C5
Memory Mapped Registers
All the advanced functions of Lynx3DM+ are controlled through Memory Mapped registers. Such as the 2D and 3D
Motion Comp Registers in Chapter 22: 2D & Video Registers, Chapter 23: Motion Comp Video Registers, Chapter 24:
PCI Bus Master Control Registers, Chapter 25: 3D Registers, and Chapter 26: TV Encoder Registers. The following
diagram illustrates the Memory Mapped register address assignment.
Register Overview & Usage
18 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
I/O Mapped Register Mapped Summary
IBM VGA Sequencer Registers
System Control Registers
Index 0 - 4
Index 10- 1F
Power Down Control Registers
Flat Panel Control Registers
Index 20 - 24
Index 3X - 5X
Memory Control Registers
Index 60 - 63
Clock or Power Down Control
Registers in PPR Block
Index 64 - 6F
USR0-3 Ports Control Registers
General Purpose Control Registers
Index 70 - 73
Scratch Registers
Index 74 - 75
Memory Control Registers
Index 76
Monitor Detect and CRT/TV DAC
Test Registers
Index 7A-7D
HWC & Pop Icon Registers
Index 80-8D
Pop Icon Registers
Index 90 - 93
Figure 41: I/O Port 3C4
IBM VGA CRTC Registers
Extended CRTC Control Registers
Scratch Registers
CRT Shadow Registers
TV Encoder Control Registers
Index 0 - 26
Index 30 - 3C
Index 3D - 3F
Index 40 - 4D
Index 6X - 8X
Screen Centering & Expansion Control
Index 90 - 9F; Index A0 - AD
I/O Map to Video Processor Control
Registers
Capture Port Control Register
Index C0 - EF
Index FF
Figure 42: I/O Port 3?4
18 - 2
Register Overview & Usage
Silicon Motion®, Inc.
Lynx3DM+
Databook
2D3D Reg Port
Video Reg Port
Vidcap Reg Port
MC ICMD Reg Port
MD IDCT Reg Port
Mas Mif Reg Port
2D3D Master Reg Port
MC Core Reg Port
MC ICMD Data Port
MC IDCT Data Port
Mas Mif Data Port
// not used //
2D3D Data Port
// not used //
Memory Map IO Space
Additional DE Data Port
FB Space
30MB Frame Buffer
2K
0000_0000 - 0000_07ff
2K
0000_0800 - 0000_0fff
2K
0000_1000 - 0000_17ff
2K
0000_1800 - 0000_1fff
2K
0000_2000 - 0000_27ff
2K
0000_2800 - 0000_2fff
2K
0000_3000 - 0000_37ff
2K
0000_3800 - 0000_3fff
2K
0000_4000 - 0000_47ff
2K
0000_4800 - 0000_4fff
2K
0000_5000 - 0000_57ff
2K
0000_5800 - 0000_5fff
8K
0000_6000 - 0000_7fff
712K
0000_8000 - 000b_ffff
256K
000c_0000 - 000f_ffff
1MB
0010_0000 - 001f_ffff
30MB
0020_0000 - 01ff_ffff
Figure 43: Memory Mapped Address Diagram
Register Overview & Usage
18 - 3
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 19: PCI Configuration Space Registers
Table 24: PCI Configuration Registers Quick Reference
Summary of Registers
Page
CSR00: Vendor ID
19 - 2
CSR02: Device ID
19 - 2
CSR04: Command
19 - 2
CSR06: Status
19 - 3
CSR08: Revision ID and Class Code
19 - 4
CSR0D: Latency Timer
19 - 4
CSR10: Memory Base Address Register
19 - 5
CSR2C: PCI Configuration Space Subsystem Vendor ID
19 - 5
CSR2E: PCI Configuration Space Subsystem ID
19 - 5
CSR30: Expansion ROM Base Address
19 - 6
CSR34: Power Down Capability Pointer
19 - 6
CSR3C: Interrupt Line
19 - 6
CSR3D: Interrupt Pin
19 - 7
CSR40: Power Down Capability Register
19 - 7
CSR44: Power Down Capability Data
19 - 7
CSR50: AGP Capability Pointer
19 - 8
CSR51: Next Capability Pointer
19 - 8
CSR52: Major Minor Revision
19 - 8
CSR53: Reserved
19 - 9
CSR54: AGP Status Pointer
19 - 9
CSR58: AGP Command Register
19 - 9
CSR51: Next Capability Pointer
LOCK: Extended Register Write Protect Control
PCI Configuration Space Registers
19 - 10
19 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
PCI Configuration Space Registers
The PCI specification defines the configuration space for auto-configuration (plug-and-play), device and memory
relocation.
CSR00: Vendor ID
Read Only
Address: 00h
Power-on Default: 126Fh
This register specifies the vendor ID
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
RESERVED
15
14
13
12
11
10
9
8
7
VENDOR ID
Bit 31:16
Reserved
Bit 15:0
Vendor ID
This register is hardwired to 126Fh to identify as Silicon Motion®, Inc.
CSR02: Device ID
Read Only
Address: 02h
Power-on Default: 0720h
This register specifies the device ID.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
DEVICE ID
15
14
13
12
11
10
9
8
7
RESERVED
Bit 31:16
Device ID
This register is hardwired to 0720h to identify the device as Lynx3DM++.
Bit 15:0
Reserved
CSR04: Command
Read/Write
Address: 04h
Power-on Default: 00h
Note: Reserved bits are read only
This register controls which types of PCI command cycles are supported by Lynx3DM++.
19 - 2
PCI Configuration Space Registers
Silicon Motion®, Inc.
31
30
29
Lynx3DM+
Databook
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
PSE
MWR
R
PCI
MS
IO
RESERVED
15
14
13
12
11
10
9
8
7
RESERVED
Bit 31:6
Reserved
Bit 5
Palette Snooping Enable (PSE)
0 = Disable
1 = Enable
Bit 4
Memory Write Invalidate Enable for PCI master (MWR)
0 = Disable
1 = Enable
Bit 3
Reserved (R)
Bit 2
PCI Master Enable (PCI)
0 = Disable
1 = Enable
Bit 1
Memory Space Access Enable (MS) (Note:
addressing decoding)
0 = Disable
1 = Enable
Bit 0
I/O Space Access Enable (IO)
0 = Disable
1 = Enable
This bit needs to be set to "1" in order to enable BIOS
CSR06: Status
Read Only
Address: 06h
Power-on Default: 20h
This register controls device select timing status, detect parity status, and detects target abort status for Lynx3DM++. In
order to clear any bit of this register, you must write a "1" to that particular bit.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
RESERVED
15
DPE
14
13
RESERVED
12
11
DTA
R
10
Bit 31:16
Reserved
Bit 15
Detect Parity Error (DPE)
PCI Configuration Space Registers
9
TS
8
7
RESERVED
19 - 3
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 14:13
Reserved (R)
Bit 12
Detect Target Abort for Master Mode (DTA)
Bit 11
Reserved (R)
Bit 10:9
~DEVSEL Timing Select (TS)
01 = medium speed (hardwired)
Bit 8:0
Reserved
CSR08: Revision ID and Class Code
Read Only
Address: 08h
Power-on Default: 030000A0h
This register specifies the silicon revision ID and the Class Code that the silicon supports.
31
30
29
28
27
26
25
24
23
22
21
BASE CLASS CODE
15
14
13
12
11
20
19
18
17
16
2
1
0
SUBCLASS CODE
10
9
8
7
6
5
REG LEVEL PROGRAMMING INTERFACE
4
3
REVISION ID
Bit 31:24
Base Class Code
03h = for Video Controller
Bit 23:16
Subclass Code
00h = VGA
Bit 15:8
Register Level Programming Interface
00h = hardwired setting
Bit 7:0
Revision ID
For example, A0h = revision A; B0h = revision B
CSR0D: Latency Timer
Read Only
Address: 0Dh
Power-on Default: 00h
This register specifies the latency timer that Lynx3DM++ supports for burst master mode.
7
6
5
4
3
2
1
0
LATENCY TIMER
Bit 7:0
19 - 4
Latency Timer for burst capable master
PCI Configuration Space Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
CSR10: Memory Base Address Register
Read/Write
Address: 10h (Note: Reserved bits are read only)
Power-on Default: 00h
This register specifies the PCI configuration space for address relocation
31
30
29
28
27
26
25
24
23
22
LINEAR ADDRESSING MEMORY BASE
15
14
13
12
11
21
20
19
18
17
16
3
2
1
0
RESERVED
10
9
8
7
6
5
4
RESERVED
MSI
Bit 31:26
Linear Addressing Memory Base Address. Memory segment allocated within 64 MB boundary
Bit 25:1
Reserved
Bit 0
Memory Space Indicator (MSI) (Read only)
0 = memory base
CSR2C: PCI Configuration Space Subsystem Vendor ID
Read Only
Address: 2Ch
Power-on Default: 00h
This register specifies the Subsystem device ID.
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
3
2
1
0
SUBSYSTEM DEVICE ID
Bit 15:0
Subsystem ID. This System ID is written by system BIOS during POST
CSR2E: PCI Configuration Space Subsystem ID
Read Only
Address: 2Eh
Power-on Default: 0720h
This register specifies the Subsystem Vendor ID.
15
14
13
12
11
10
9
8
7
6
5
4
SUBSYSTEM VENDOR ID
Bit 15:0
Subsystem Vendor ID
PCI Configuration Space Registers
19 - 5
Silicon Motion®, Inc.
Lynx3DM+
Databook
CSR30: Expansion ROM Base Address
Read/Write
Address: 30h
Power-on Default: 00h
This register specifies the expansion ROM base address. Note: Reserved bits are read only.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
5
4
3
2
1
0
ROM BASE ADDRESS
15
14
13
12
11
10
9
8
7
6
RESERVED
BIOS
Bit 31:16
ROM Base Address. Memory segment allocated for BIOS ROM in 64KB boundary [15:0]
Bit 15:1
Reserved
Bit 0
BIOS Address Decode Enable. This bit is valid only if memory space access is enabled. (CSR04 bit 1 =
1)
0 = Disable
1 = Enable
CSR34: Power Down Capability Pointer
Read Only
Address: 34h
Power-on Default: 40h
This register contains the address where PCI power down management registers are located
7
6
5
4
3
2
1
0
CAPABILITY POINTER/PCI POWER DOWN MGMT
Bit 7:0
Capability pointer contains the address where PCI Power Down Management Register are located.
CSR3C: Interrupt Line
Read/Write
Address: 3Ch
Power-on Default: 00h
This register specifies the PCI Interrupt Line.
7
6
5
4
3
2
1
0
INTERRUPT LINE
Bit 7:0
19 - 6
Interrupt Line
PCI Configuration Space Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
CSR3D: Interrupt Pin
Read Only
Address: 3Dh
Power-on Default: 01h
This register specifies the PCI Interrupt Pin.
7
6
5
4
3
2
1
0
IP
RESERVED
Bit 7:1
Reserved
Bit 0
Interrupt Pin (IP) (~INTA)
CSR40: Power Down Capability Register
Read Only
Address: 40h
Power-on Default: 0601_5001h
This register contains the address where PCI power down management Capabilities.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
3
2
1
0
PCI POWER DOWN MANAGEMENT CAPABILITY (0601h)
15
14
13
12
11
10
9
8
NEXT CAPABILITY POINTER LINK LIST
7
6
5
4
PCI POWER DOWN MGMT CAPABILITY (01h)
Bit 31:16
PCI Power Down Management Capability = 0601h
Offset 2
Bit 15:8
Next Capability Pointer Link List = 50h
Offset 1
Bit 7:0
PCI Power Down Management Capability ID= 01h
Offset 0
CSR44: Power Down Capability Data
Read/Write
Address: 44h
Power-on Default: 00h
This register contains the address where PCI power down management Control, Status and Data
PCI Configuration Space Registers
19 - 7
Silicon Motion®, Inc.
31
30
29
Lynx3DM+
Databook
28
27
26
25
24
23
22
21
DATA
15
14
13
12
20
19
18
17
16
2
1
0
RESERVED
11
10
9
8
7
6
5
4
3
PCI POWER DOWN MGMT CONTROL/STATUS
Bit 31:24
Data
Read Only. Offset 7
Bit 23:16
Reserved =00
Offset 6
Bit 15:0
PCI Power Down Management Control/Status
Offset 4
CSR50: AGP Capability Pointer
Read/Write
Address: 50h
Power-on Default: 02h
7
6
5
4
3
2
1
0
1
0
1
0
AGP CAPABILITY POINTER
Bit 7:0
AGP Capability Pointer
CSR51: Next Capability Pointer
Read/Write
Address: 51h
Power-on Default: 00h
7
6
5
4
3
2
NEXT CAPABILITY POINTER
Bit 7:0
Next Capability Pointer
CSR52: Major Minor Revision
Read/Write
Address: 52h
Power-on Default: 00h
7
6
5
4
3
2
MAJOR MINOR REVISION
Bit 7:0
19 - 8
Major Minor Revision
PCI Configuration Space Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
CSR53: Reserved
Read/Write
Address: 53h
Power-on Default: 00h
7
6
5
4
3
2
1
0
RESERVED
Bit 7:0
Reserved
CSR54: AGP Status Pointer
Read Only
Address: 54h
Power-on Default: 00h
31
30
29
28
27
26
25
24
23
22
21
REQUEST DEPTH
15
14
13
12
11
20
19
18
17
16
2
1
0
RESERVED
10
RESERVED
9
8
SBA
7
6
RESERVED
Bit 31:24
Request Depth
Bit 23:10
Reserved
Bit 9
Side Bus Addressing Enabled (SBA)
Bit 8:6
Reserved
Bit 5
4 GB Support
Bit 4
Fast Write Enabled
Bit 3
Reserved (R)
Bit 2:0
Data Rate
5
4
3
4GS
FWE
R
21
20
19
DATA RATE
CSR58: AGP Command Register
Read/Write
Address: 58h
Power-on Default: 00h
31
30
29
28
27
26
25
24
23
22
REQUEST DEPTH
15
14
13
12
11
RESERVED
PCI Configuration Space Registers
18
17
16
2
1
0
RESERVED
10
9
8
SBA
AGP
7
6
RESERVED
5
4
3
4GS
FWE
R
DATA RATE
19 - 9
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 31:24
Request Depth
Bit 23:10
Reserved
Bit 9
Side Bus Addressing Enabled (SBA)
Bit 8
AGP Enabled
Bit 7:6
Reserved
Bit 5
4 GB Support
Bit 4
Fast Write Enabled
Bit 3
Reserved (R)
Bit 2:0
Data Rate
Extended SMI Registers
LOCK: Extended Register Write Protect Control
Read/Write
Address: 3C3h
Power-on Default: 00h
This register specifies write protect controls for the SMI extended registers. SMI extended registers are write-protected.
In order to write to the SMI extended registers, one must write Bit [7:5] = 010b.
7
6
5
WPE
4
3
2
1
RESERVED
Bit 7:5
Write Protect Enable (WPE)
101 = All SMI Extended registers are Write-Protected
010 = Enable writes to SMI Extended registers
Others = Maintain previous state
Bit 4:0
Reserved
19 - 10
0
PCI Configuration Space Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 20: Standard VGA Registers
Table 25: Standard VGA Registers Quick Reference
Summary of Registers
Page
General Registers
MISC: Miscellaneous Output Register
20 - 3
ISR0: Input Status Register 0
20 - 4
ISR1: Input Status Register 1
20 - 4
FCR: Feature Control Register
20 - 5
Sequencer Register
SEQX: Sequencer Index Register
20 - 5
SEQ00: Reset Register
20 - 5
SEQ01: Clocking Mode Register
20 - 6
SEQ02: Enable Write Plane Register
20 - 6
SEQ03: Character Map Select Register
20 - 7
SEQ04: Memory Mode Register
20 - 7
CRTC Controller Registers
CRTX: CRTC Controller Index Register
20 - 8
CRT00: Horizontal Total Register
20 - 9
CRT01: Horizontal Display End Register
20 - 9
CRT02: Horizontal Blank Start Register
20 - 9
CRT03: Horizontal Blank End Register
20 - 9
CRT04: Horizontal Sync Pulse Start Register
20 - 10
CRT05: End Horizontal Sync Pulse Register
20 - 10
CRT06: Vertical Total Register
20 - 11
CRT07: Overflow Vertical Register
20 - 11
CRT08: Preset Row Scan Register
20 - 12
CRT09: Maximum Scan Line Register
20 - 12
CRT0A: Cursor Start Scan Line Register
20 - 13
CRT0B: Cursor End Scan Line Register
20 - 13
CRT0C: Display Start Address High Register
20 - 14
CRT0D: Display Start Address Low Register
20 - 14
Standard VGA Registers
20 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Summary of Registers
Page
CRT0E: Cursor Location High Register
20 - 14
CRT0F: Cursor Location Low Register
20 - 15
CRT10: Vertical Sync Pulse Start Register
20 - 15
CRT11: Vertical Sync Pulse End Register
20 - 15
CRT12: Vertical Display End Register
20 - 16
CRT13: Offset Register
20 - 16
CRT14: Underline Location Register
20 - 17
CRT15: Vertical Blank Start Register
20 - 17
CRT16: Vertical Blank End Register
20 - 18
CRT17: CRT Mode Control Register
20 - 18
CRT18: Line Compare Register
20 - 19
CRT22: Graphics Controller Data Latches Readback Register
20 - 19
CRT24: Attribute Controller Toggle Readback Register
20 - 19
CRT26: Attribute Controller Index Readback Register
20 - 20
Graphics Controller Registers
GRXX: Graphics Controller Index Register
20 - 20
GRX00: Set/Reset Register
20 - 21
GRX01: Enable Set/Reset Register
20 - 21
GRX02: Color Compare Register
20 - 22
GRX03: Data Rotate/ROP Register
20 - 22
GRX04: Read Plane Select Register
20 - 22
GRX05: Graphics Mode Register
20 - 23
GRX06: Graphics Miscellaneous Register
20 - 24
GRX07: Color Don't Care Plane Register
20 - 24
GRX08: Bit Mask Register
20 - 25
Attribute Controller Registers
ATRX: Attribute Controller Index Register
20 - 25
ATR00-0F: Palette Register
20 - 26
ATR10: Attribute Mode Control Register
20 - 26
ATR11: Overscan Color Register
20 - 27
ATR12: Color Plane Enable Register
20 - 27
ATR13: Horizontal Pixel Panning Register
20 - 28
ATR14: Color Select Register
20 - 29
RAMDAC Registers
3C6: DAC Mask Register
20 - 30
3C7W: DAC Address Read Register
20 - 30
3C7R: DAC Status Register
20 - 30
20 - 2
Standard VGA Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Summary of Registers
Page
3C8: DAC Address Write Register
20 - 31
3C9: DAC Data Register
20 - 31
Standard VGA Registers
In the following registers description, a '?' in an address stands for a hexadecimal value of either 'B' or 'D'. If Bit 0 of the
Miscellaneous Output Register is set to 1, the address is based at 3Dxh for color emulation. If Bit 0 of the Miscellaneous
Output Register is set to 0, the address is based at 3Bxh for monochrome emulation.
General Registers
MISC: Miscellaneous Output Register
Write Only
Address: 3C2h
Read Only
Address: 3CCh
Power-on Default: 00h
7
6
5
4
VSP
HSP
OEM
R
3
2
VIDEO CLOCK
1
0
EVR
IO
Bit 7
Vertical Sync Polarity Select (VSP)
0 = positive vertical sync polarity
1 = negative vertical sync polarity
Bit 6
Horizontal Sync Polarity Select (HSP)
0 = positive horizontal sync polarity
1 = negative horizontal sync polarity
Bit 5
Odd/Even Memory Page Select (OEM)
0 = Select lower 64K page of memory
1 = Select upper 64K page of memory
Bit 4
Reserved (R)
Bit 3:2
Video Clock Select
00 = Select 25.175MHz for 640 dots/line mode
01 = Select 28.322MHz for 720 dots/line mode
10 = Reserved (enable external clock source)
11 = Reserved (enable external clock source)
Bit 1
Enable Video RAM Access from CPU (EVR)
0 = Disable Video RAM access from CPU
1 = Enable Video RAM access from CPU
Bit 0
I/O Address Select (IO)
0 = Select monochrome mode. Address based at3Bxh.
Standard VGA Registers
20 - 3
Silicon Motion®, Inc.
Lynx3DM+
Databook
1 = Select for color mode. Address based at 3Dxh
ISR0: Input Status Register 0
Read Only
Address: 3C2h
Power-on Default: Undefined
7
CRT
6
5
RESERVED
4
3
MDS
2
1
0
RESERVED
Bit 7
CRT Vertical Retrace Interrupt (CRT)
0 = Vertical Retrace Interrupt is cleared
1 = Vertical Retrace Interrupt is pending.
Bit 6:5
Reserved
Bit 4
Monitor Detect Status (MDS)
0 = Monochrome display is detected
1 = Color display is detected
Bit 3:0
Reserved
ISR1: Input Status Register 1
Read Only
Address: 3?Ah
Power-on Default: Undefined
7
6
RESERVED
5
4
COLOR PLANE
3
2
VRS
R
1
0
DISPLAY ENABLE
Bit 7:6
Reserved
Bit 5:4
Color Plane Diagnostics
These bits return two of the 8 video outputs VID0-VID7, as selected by Color Plane Enable Register
[5:4]
Bit 3
Vertical Retrace Status (VRS)
0 = In display mode
1 = In vertical retrace mode
Bit 2:1
Reserved (R)
Bit 0
Display Enable
0 = In display mode
1 = Not in display mode. (it is either in horizontal or vertical retrace mode)
20 - 4
Standard VGA Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
FCR: Feature Control Register
Write Only
Address: 3?Ah
Read Only
Address: 3CAh
Power-on Default: 00h
7
6
5
4
RESERVED
3
2
VSC
1
0
RESERVED
Bit 7:4
Reserved
Bit 3
Vertical Sync Control
0 = VSYNC output is enabled
1 = VSYNC output is logical 'OR' of VSYNC and Vertical Display Enable
Bit 2:0
Reserved
Sequencer Register
SEQX: Sequencer Index Register
Read/ Write
Address: 3C4h
Power-on Default: Undefined
7
6
5
4
RESERVED
3
2
1
0
SEQUENCER ADDRESS/INDEX
Bit 7:4
Reserved
Bit 3:0
Sequencer Address/Index
The Sequencer address register is written with the index value of the sequencer register to be accessed.
SEQ00: Reset Register
Read/ Write
Address: 3C5h, Index: 00h
Power-on Default: 00h
7
6
5
4
RESERVED
3
2
1
0
SR
AR
Bit 7:2
Reserved
Bit 1
Synchronous Reset (SR)
0 = Sequencer is cleared and halted synchronously
Standard VGA Registers
20 - 5
Silicon Motion®, Inc.
Lynx3DM+
Databook
1 = Normal operating mode
Bit 0
Asynchronous Reset (AR)
0 = Sequencer is cleared and halted asynchronously
1 = Normal operating mode
SEQ01: Clocking Mode Register
Read/ Write
Address: 3C5h, Index: 01h
Power-on Default: 00h
7
6
RESERVED
5
4
3
2
1
0
SO
VS
DCS
SL
R
DC
Bit 7:6
Reserved
Bit 5
Screen Off (SO)
0 = Normal operating mode
1 = Screen is turned off but SYNC signals remain active
Bit 4
Video Serial Shift Select (VS)
0 = Load video serializer every or every other character or clock, depending on Bit2 of this register.
1 = Load video serializer every 4th character clock
Bit 3
Dot Clock Select (DCS)
0 = Normal dot clock select by VCLK input frequency
1 = Dot clock is divided by 2 (320/360 pixel mode)
Bit 2
Shift Load (SL)
0 = Load video serializer every character or clock
1 = Load video serializer every other character or clock
Bit 1
Reserved (R)
Bit 0
8/9 Dot Clock (DC)
0 = 9 dot wide character clock
1 = 8 dot wide character clock
SEQ02: Enable Write Plane Register
Read/ Write
Address: 3C5h, Index: 02h
Power-on Default: 00h
7
6
5
RESERVED
Bit 7:4
20 - 6
4
3
2
1
0
ENABLE WRITING
Reserved
Standard VGA Registers
Silicon Motion®, Inc.
Bit 3:0
Lynx3DM+
Databook
Enable Writing to Memory Maps 3 through 0 (respectively)
0 = Disable writing to corresponding plane
1 = Enable writing to corresponding plane
SEQ03: Character Map Select Register
Read/ Write
Address: 3C5h, Index: 03h
Power-on Default: 00h
7
6
RESERVED
5
4
3
2
1
0
SCM
SCMB
SCMA
SCMA
SCMB
SCMB
Bit 7:6
Reserved
Bit 5,3,2
Select Character Map A (SCMA)
This value select the portion of plane 2 used to generate text character when bit 3 of this register = 0, according to the
following table:
Bit 5,3,2
Font Table Location
000
First 8K of plane 2
100
Second 8K of plane 2
001
Third 8K of plane 2
101
Fourth 8K of plane 2
010
Fifth 8K of plane 2
110
Sixth 8K of plane 2
011
Seventh 8K of plane 2
111
Eighth 8K of plane 2
Bit 4,1,0
Select Character Map B (SCMB)
This value select the portion of plane 2 used to generate text character when bit 3 of this register = 1, according to the
same table as character Map A
SEQ04: Memory Mode Register
Read/ Write
Address: 3C5h, Index: 04h
Power-on Default: 00h
7
6
5
RESERVED
Bit 7:4
4
3
2
1
0
CM
SSA
EVM
R
Reserved
Standard VGA Registers
20 - 7
Silicon Motion®, Inc.
Bit 3
Lynx3DM+
Databook
Chained 4 Map (CM)
0 = Enable odd/even mode
1 = Enable Chain 4 mode. Uses the two lower bits of CPU address to select plane in video memory as
follows:
MA1
MA0
Plane Selected
0
0
0
0
1
1
1
0
2
1
1
3
Bit 2
Select Sequential Addressing Mode (SSA). This bit affects only CPU write data accesses into video
memory. Bit 3 of this register must be 0 for this bit to be effective.
0 = Enable the odd/even addressing mode. Even addresses access planes 0 and 2, and odd addresses
access plane 1 and 3
1 = Enable system to use a sequential addressing mode
Bit 1
Extended Video Memory Enable (EVM)
0 = Memory access restricted to 16/32K
1 = Enable extended video memory access. Allows complete memory access to 256K
Bit 0
Reserved (R)
CRTC Controller Registers
The CRTC registers are located at two locations in I/O address space. These registers are accessed by first writing to the
index register (3?4h), then writing to the data register (3?5h). The I/O address is either 3Bxh or 3Dxh depending on bit 0
of the Miscellaneous Output Register at 3C2h.
CRTX: CRTC Controller Index Register
Read/Write
Address: 3?4h
Power-on Default: 00h
This register is loaded with a binary value that indexes the CRTC controller register where data is to be accessed.
7
6
5
RESERVED
4
3
2
1
0
CRTC ADDRESS INDEX
Bit 7:5
Reserved
Bit 4:0
CRTC Address Index
These bits specify the CRTC register to be addressed. Its value is programmed in hexadecimal.
20 - 8
Standard VGA Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
CRT00: Horizontal Total Register
Read/Write
Address: 3?5h, Index 00h
Power-on Default: Undefined
This register defines the number of character clocks from HSYNC going active to the next HSYNC going active.
7
6
5
4
3
2
1
0
HORIZONTAL TOTAL
Bit 7:0
Horizontal Total
This value = (number of character clocks per scan line) - 5.
CRT01: Horizontal Display End Register
Read/Write
Address: 3?5h, Index 01h
Power-on Default: Undefined
This register defines the number of character clocks for one horizontal line active display. This register is locked when
FPR33 (SC5h, index 33) bit 5 = 1. Please refer to FPR33 register.
7
6
5
4
3
2
1
0
HORIZONTAL DISPLAY ENABLE
Bit 7:0
Horizontal Display Enable
This value = (number of character clocks during active display) - 1.
CRT02: Horizontal Blank Start Register
Read/Write
Address: 3?5h, Index 02h
Power-on Default: Undefined
This register defines the number of character clocks at which horizontal ~Blank is asserted.
7
6
5
4
3
2
1
0
HORIZONTAL BLANK START
Bit 7:0
Horizontal Blank Start
This value = character value at which ~Blank signal becomes active.
CRT03: Horizontal Blank End Register
Read/Write
Address: 3?5h, Index 03h
Power-on Default: Undefined
Standard VGA Registers
20 - 9
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register defines the display enable skew and pulse width of ~Blank signal.
7
6
R
5
4
DISPLAY ENABLE
3
2
1
0
HORIZONTAL BLANK END
Bit 7
Reserved
Bit 6:5
Display Enable Skew. These 2 bits define the display enable signal skew timing in relation to horizontal
synchronization pulses.
DESKW1
DESKW0
Character Clock Skew
0
0
0
0
1
1
1
0
2
1
1
3
Bit 4:0
Horizontal Blank End
Horizontal Blank End has a 6-bit value. This register contains the least significant 5-bits of this value.
Bit 6 of this value is at CRTC index 05 bit 7.
CRT04: Horizontal Sync Pulse Start Register
Read/Write
Address: 3?5h, Index 04h
Power-on Default: Undefined
This register is used to adjust screen position horizontally and to specify the position at which HSYNC is active.
7
6
5
4
3
2
1
0
HORIZONTAL SYNC PULSE START
Bit 7:0
Horizontal Sync Pulse Start
This value = character clock count value at which HSYNC becomes active.
CRT05: End Horizontal Sync Pulse Register
Read/Write
Address: 3?5h, Index 05h
Power-on Default: Undefined
This register defines the horizontal sync skew and pulse width of HSYNC signal.
7
HBE
Bit 7
20 - 10
6
5
HSS
4
3
2
1
0
HORIZONTAL SYNC END
Horizontal Blank End Bit 5. This bit is End Horizontal Blank Bit 5. (HBE)
Standard VGA Registers
Silicon Motion®, Inc.
Bit 6:5
Lynx3DM+
Databook
Horizontal Sync Skew. (HSS)
These 2-bits define the HSYNC signal skew timing in relation to horizontal synchronization pulses.
HSSKW1
HSSKW0
Character Clock Skew
0
0
0
0
1
1
1
0
2
1
1
3
Bit 4:0
Horizontal Sync End
Horizontal Sync End has a 5-bit value. This value defines the character clock counter value at which
HSYNC signal becomes inactive.
CRT06: Vertical Total Register
Read/Write
Address: 3?5h, Index 06h
Power-on Default: Undefined
This register defines the number of scan lines from VSYNC going active to the next VSYNC going active. Vertical total
has a 11-bit value. Bit 8 of this value is located at CRT07 bit 0. Bit 9 of this value is located at CRT07 bit 5. Bit 10 of this
value is located at CRT30 bit 3.
7
6
5
4
3
2
1
0
VERTICAL TOTAL
Bit 7:0
Vertical Total
Vertical Total has a 11-bit value. This register contains the least significant 8-bits of this value. This
value = (number of scan lines from VSYNC going active to the next VSYNC) - 2. Bit 8 is in CRT07 bit
0. Bit 9 is in CRT 07 bit 5. Bit 10 is in CRT30 bit 3.
CRT07: Overflow Vertical Register
Read/ Write
Address: 3?5hIndex: 07h
Power-on Default: Undefined
This register specifies the CRTC vertical overflow registers.
7
6
5
4
3
2
1
0
VSS
VDE
VT
LC
VBS
VSS
VDE
VT
Bit 7
Vertical Sync Start Bit 9 (VSS)
Bit 6
Vertical Display Enable End Bit 9. This bit is locked when FPR33 (SC5h, index 33) bit 5 = 1. Please
refer to FPR33 register. (VDE)
Standard VGA Registers
20 - 11
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 5
Vertical Total Bit 9 (VT)
Bit 4
Line Compare Bit 8 (LC)
Bit 3
Vertical Blank Start Bit 8 (VBS)
Bit 2
Vertical Sync Start Bit 8 (VSS)
Bit 1
Vertical Display Enable End Bit 8. This bit is locked when FPR33 (SC5h, index 33) bit 5 = 1. (VDE)
Bit 0
Vertical Total Bit 8 (VT)
CRT08: Preset Row Scan Register
Read/Write
Address: 3?5h, Index 08h
Power-on Default: Undefined
This register is used for panning and text scrolling.
7
6
R
5
4
BYTE PLANNING
Bit 7
3
2
1
0
PRESET ROW SCAN COUNT
Reserved (R)
Bit 6:5
Byte Panning Control. These 2-bits controls the number of bytes to pan.
BPC1
BPC0
Operation
0
0
Normal
0
1
1 Byte left shift
1
0
2 Bytes left shift
1
1
3 Bytes left shift
Bit 4:0
Preset Row Scan Count
These bits preset the vertical row scan counter once after each vertical retrace. This counter is
automatically incremented by 1 after each horizontal sync period. Once the maximum row scan count is
reached, this counter is cleared. This is useful for smoothing vertical text scrolling.
CRT09: Maximum Scan Line Register
Read/Write
Address: 3?5h, Index 09h
Power-on Default: Undefined
This register defines the maximum number of scan lines per character row and provides one scanning control and two
overflow bits
7
6
5
EDS
LC
VB
20 - 12
4
3
2
1
0
MAXIMUM SCAN LINE
Standard VGA Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 7
Enable Double Scan (EDS)
0 = Normal Operating
1 = Enable Double Scan. The row scan counter is clocked at half of the horizontal scan rate.
Bit 6
Line Compare Register Bit 9 (LC)
Bit 5
Vertical Blank Start Register Bit 9 (VB)
Bit 4:0
Maximum Scan Line
This value equals to the total number of scan lines per character row - 1
CRT0A: Cursor Start Scan Line Register
Read/Write
Address: 3?5h, Index 0Ah
Power-on Default: Undefined
This register defines the row scan of a character line at which the cursor begins and enable/disable cursor.
7
6
RESERVED
5
4
EC
3
2
1
0
CURSOR START SCAN LINE
Bit 7:6
Reserved
Bit 5
Enable Cursor (EC)
0 = Cursor is on
1 = Cursor is off
Bit 4:0
Cursor Start Scan Line
This value equals to the starting cursor row within the character box. If this value is programmed with a
value greater than the Cursor End Scan Line Register (3?5h, index 0Bh), no cursor will be displayed.
CRT0B: Cursor End Scan Line Register
Read/Write
Address: 3?5h, Index 0Bh
Power-on Default: Undefined
This register defines the row scan of a character line at which the cursor begins and enable/disable cursor.
7
R
6
5
CURSOR SKEW
4
3
2
1
0
CURSOR END SCAN LINE
Bit 7
Reserved (R)
Bit 6:5
Cursor Skew. These 2 bits defines the cursor delay skew, which moves the cursor to the right, in
character clock.
Standard VGA Registers
20 - 13
Silicon Motion®, Inc.
Lynx3DM+
Databook
CSKW1
CSKW0
Character Clock Skew
0
0
0
0
1
1
1
0
2
1
1
3
Bit 4:0
Cursor End Scan Line
This value equals to the ending cursor row within the character box. If this value is programmed with a
value less than the Cursor Start Scan Line Register (3?5h, index 0Ah), no cursor will be displayed.
CRT0C: Display Start Address High Register
Read/Write
Address: 3?5h, Index 0Ch
Power-on Default: Undefined
This register defines the high order first address after a vertical retrace at which the display on the screen begins on each
screen refresh. This value is a 19-bit value. Bit [18:16] are located in CRT30 bit [6:4]. Bit [7:0] are located in CRT0D.
7
6
5
4
3
2
1
0
DIPLAY START ADDRESS [15:8]
Bit 7:0
Display Start Address [15:8]
This register is the high order byte of the address [15:8].
CRT0D: Display Start Address Low Register
Read/Write
Address: 3?5h, Index 0Dh
Power-on Default: Undefined
This register defines the low order first address after a vertical retrace at which the display on the screen begins on each
screen refresh. This value is a 19-bit value. Bit [18:16] are in CRT30 bit [6:4]. Bit [15:8] are in CRT0C.
7
6
5
4
3
2
1
0
START ADDRESS [7:0]
Bit 7:0
Start Address [7:0]
This register is the low order byte of the address [7:0].
CRT0E: Cursor Location High Register
Read/Write
Address: 3?5h, Index 0Eh
Power-on Default: Undefined
20 - 14
Standard VGA Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register defines the high order cursor location address. This value is a 19-bit value along with CRT30 bit[6:4] are the
high order bits of the address.
7
6
5
4
3
2
1
0
CURSOR LOCATION HIGH
Bit 7:0
Cursor Location High
This register is the high order byte of the cursor location address.
CRT0F: Cursor Location Low Register
Read/Write
Address: 3?5h, Index 0Fh
Power-on Default: Undefined
This register defines the low order cursor location address.
7
6
5
4
3
2
1
0
CURSOR LOCATION LOW
Bit 7:0
Cursor Location Low
This register is the low order byte of the cursor location address.
CRT10: Vertical Sync Pulse Start Register
Read/Write
Address: 3?5h, Index 10h
Power-on Default: Undefined
This register is used to adjust screen position vertically and to specify the position at which VSYNC is active. Bit 10 of
this value is in CRT30 bit 0. Bit 9 of this value is in CRT07 bit 7. Bit 8 of this value is in CRT07 bit 2.
7
6
5
4
3
2
1
0
VERTICAL SYNC PULSE START
Bit 7:0
Vertical Sync Pulse Start
Vertical Sync Start has a 11-bit value. This register contains the least significant 8 bits of this value.
This value = number of scan lines at which VSYNC becomes active.
CRT11: Vertical Sync Pulse End Register
Read/Write
Address: 3?5h, Index 11h
Power-on Default: 0xh.
This register is used to control vertical interrupt, vertical sync end CRT0-7 Write protect.
Standard VGA Registers
20 - 15
Silicon Motion®, Inc.
Lynx3DM+
Databook
7
6
5
4
LW
RCS
DVI
CVI
3
2
1
0
VERTICAL SYNC PULSE END
Bit 7
Lock writing to CRTC registers: CRT00-07. (LW)
0 = Enable writing to CRTC registers are
1 = Disable writing to CRTC registers, except CRT07 bit 4 (line compare)
Bit 6
Refresh Cycle Select (3/5) (RCS)
0 = 3 DRAM refresh cycles per horizontal scan line
1 = 5 DRAM refresh cycles per horizontal scan line
Bit 5
Disable Vertical Interrupt (DVI)
0 = vertical retrace interrupt enabled
1 = vertical retrace interrupt disabled
Bit 4
Clear Vertical Interrupt (CVI)
0 = vertical retrace interrupt is cleared
1 = vertical retrace interrupt. This allows an interrupt to be generated at the end of active vertical
display.
Bit 3:0
Vertical Sync Pulse End
This value = number of scan lines at which VSYNC becomes inactive.
CRT12: Vertical Display End Register
Read/Write
Address: 3?5h, Index 12h
Power-on Default: Undefined
This register defines the number of scan line where the display on the screen ends. Bit 10 of this value is in CRT30 bit 2.
Bit 9 of this value is in CRT07 bit 6. Bit 8 of this value is in CRT07 bit 1. This register is locked when FPR33 (SC5h,
index 33) bit 5 = 1. Please refer to FPR33 register.
7
6
5
4
3
2
1
0
VERTICAL DISPLAY END
Bit 7:0
Vertical Display End
Vertical Display End has a 11-bit value. This register contains the least significant 8-bits of this value.
This value = (number of scan lines during active display) - 1.
CRT13: Offset Register
Read/Write
Address: 3?5h, Index 13h
Power-on Default: Undefined
20 - 16
Standard VGA Registers
Silicon Motion®, Inc.
7
6
Lynx3DM+
Databook
5
4
3
2
1
0
LOGICAL SCREEN WIDTH
This register defines the logical line width of the screen. The starting memory address for the next display row is larger
than the current row by two (in byte mode), four (in word mode), or eight (in double word mode) times this offset.
Bit 7:0
Logical Screen Width
Logical Screen Width has a 10-bit value. This register contains the least significant 8-bits of this value.
The addressing mode is specified by bit 6 of CRT14 and bit 3 of CRT17.
CRT14: Underline Location Register
Read/Write
Address: 3?5h, Index 14h
Power-on Default: Undefined
This register defines the horizontal row scan position of underline and display buffer addressing modes.
7
6
5
R
DWS
CS
4
3
2
1
0
UNDER LINE LOCATION
Bit 7
Reserved (R)
Bit 6
Double Word Mode Select (DWS)
0 = the memory address are byte or word addresses
1 = the memory address are double word addresses
Bit 5
Count by 4 Select (CS)
0 = the memory address counter depends on bit 3 of CRT17
1 = the memory address counter is incremented every four character clocks
Bit 4:0
Under Line Location
Under Line Location has a 5-bit value. This value = (scan line count of a character row on which an
underline occurs) - 1.
CRT15: Vertical Blank Start Register
Read/Write
Address: 3?5h, Index 15h
Power-on Default: Undefined
This register defines the number of scan lines at which vertical blank is asserted. Bit 10 of this value is in CRT30 bit 1.
Bit 9 of this value is in CRT09 bit 5. Bit 8 of this value is in CRT07 bit 3.
7
6
5
4
3
2
1
0
VERTICAL BLANK START
Standard VGA Registers
20 - 17
Silicon Motion®, Inc.
Bit 7:0
Lynx3DM+
Databook
Vertical Blank Start
Vertical Blank Start has a 11-bit value. This register contains the least significant 8-bits of this value.
This value = (scan line count at which vertical blank signal becomes active) - 1.
CRT16: Vertical Blank End Register
Read/Write
Address: 3?5h, Index 16h
Power-on Default: Undefined
This register defines the number of scan lines at which vertical blank is de-asserted.
7
6
5
4
3
2
1
0
VERTICAL BLANK END
Bit 7:0
Vertical Blank End
Vertical Blank End is a 8-bit value. This value = [(scan line count at which vertical blank signal
becomes active) -1)] + (desired width of vertical blanking pulse in scan lines)
CRT17: CRT Mode Control Register
Read/Write
Address: 3?5h, Index 17h
Power-on Default: Undefined
This register defines the controls for CRT mode.
7
6
5
4
3
2
1
0
HR
BAS
AW
R
WS
HCS
EGA
CGA
Bit 7
~RST Hardware Reset for Horizontal and Vertical Sync (HR)
0 = horizontal and vertical sync outputs inactive
1 = horizontal and vertical sync outputs active
Bit 6
Byte Address Mode Select (BAS)
0 = word address mode. All memory address counter bits shift down by one bit and the MSB of the
address counter appears on the LSB
1 = byte address mode
Bit 5
Address Wrap is useful in implementing CGA mode. (AW)
0 = In word address mode, memory address counter bit 13 appears on the memory address output signal
of the CRT controller and the video memory address wraps around at 16KB.
1 = In word address mode, memory address counter bit 15 appears on the memory address output bit 0
signal of the CRTC controller.
Bit 4
Reserved (R)
Bit 3
Word Mode Select (WS)
20 - 18
Standard VGA Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
0 = byte mode addressing is selected and memory address counter is clocked by the character clock
input
1 = word mode addressing is selected and memory address counter is clocked by the character clock
divided by two.
Bit 2
Horizontal Retrace Clock Select (HCS)
0 = select horizontal retrace clock rate
1 = select horizontal retrace clock rate divided by two.
Bit 1
EGA Emulation (EGA)
0 = Row scan counter bit 1 is replaced by memory address bit 14 during active display time
1 = Memory address bit 14 appear son the memory address output bit 14 signal of the CRT controller.
Bit 0
CGA Emulation (CGA)
0 = Row scan counter bit 0 is replaced by memory address bit 13 during active display time
1 = Memory address bit 13 appears on the memory address output bit 13 signal of the CRT controller.
CRT18: Line Compare Register
Read/Write
Address: 3?5h, Index 18h
Power-on Default: Undefined
This register is used to implement a split screen function. When the scan line counter value is equal to the content of this
register, the memory address counter is cleared to 0.
7
6
5
4
3
2
1
0
LINE COMPARE REGISTER
Bit 7:0
Line Compare Register
This value = number of scan lines at which the screen is split into screen 1 and screen 2.
CRT22: Graphics Controller Data Latches Readback Register
Read Only
Address: 3?5h, Index 22h
Power-on Default: Undefined
This register is used to read the CPU latches in the graphics controller.
7
6
5
4
3
2
1
0
GRAPHICS CONTROLLER CPU DATA LATCHES
Bit 7:0
Graphics Controller CPU Data Latches
Bits 1-0 of GR4 select the latch number N (3-0) of the CPU Latch.
CRT24: Attribute Controller Toggle Readback Register
Read Only
Address: 3?5h, Index 24h
Standard VGA Registers
20 - 19
Silicon Motion®, Inc.
Lynx3DM+
Databook
Power-on Default: Undefined
This register is used to provide access to the attribute controller toggle.
7
6
5
4
ACS
3
2
1
0
RESERVED
Bit 7
Attribute Controller Index Select (ACS)
0 = the attribute controller reads or writes an index value on the next access
1 = the attribute controller reads or writes a data value on the next access
Bit 6:0
Reserved
CRT26: Attribute Controller Index Readback Register
Read Only
Address: 3?5h, Index 26h
Power-on Default: Undefined
This register is used to provide access to the attribute controller index.
7
6
RESERVED
5
4
VES
3
2
1
0
ATTRIBUTE CONTROLLER INDEX
Bit 7:6
Reserved
Bit 5
Video Enable Status (VES)
This bit provides status of the video display enable bit in Attribute Controller (3C0h) index bit 5.
Bit 4:0
Attribute Controller Index
This value is the attribute controller index data at 3C0h.
Graphics Controller Registers
The graphics controller registers are located at a two byte I/O address space. The registers are accessed by first writing an
index to 3CEh and followed by writing a data to 3CFh.
GRXX: Graphics Controller Index Register
Read/Write
Address: 3CEh
Power-on Default: Undefined
This register is loaded with a binary value that indexes the graphics controller register where data is to be accessed.
20 - 20
Standard VGA Registers
Silicon Motion®, Inc.
7
6
Lynx3DM+
Databook
5
4
3
RESERVED
2
1
0
GRAPHICS CONTROLLER
Bit 7:4
Reserved
Bit 3:0
Graphics Controller Address Index
These bits specify the graphics controller register to be addressed.
hexadecimal.
Its value is programmed in
GRX00: Set/Reset Register
Read/Write
Address: 3CFh, Index: 00h.
Power-on Default: Undefined
This register represents the value written to all 8-bits of the corresponding memory planes when CPU executes a memory
write in write mode 0.
7
6
5
4
3
RESERVED
2
1
0
SET/RESET PLANE
Bit 7:4
Reserved
Bit 3:0
Set/Reset Plane3:0
In write mode 0, the set/reset data can be enabled on the corresponding bit of the bit of the Enable Set/
Reset Data register. These bits become the color value for CPU memory write operations.
GRX01: Enable Set/Reset Register
Read/Write
Address: 3CFh, Index: 01h.
Power-on Default: Undefined
This register enable the set/reset register in write mode 0.
7
6
5
RESERVED
4
3
2
1
0
ENABLE SET/RESET PLANE
Bit 7:4
Reserved
Bit 3:0
Enable Set/Reset Plane3:0
In write mode 0, the enable set/reset bits allow writing to the corresponding planes with the data in set/
reset register. A logical 0 disables the set/reset data in a plane, and that plane is written with the value of
CPU write data.
Standard VGA Registers
20 - 21
Silicon Motion®, Inc.
Lynx3DM+
Databook
GRX02: Color Compare Register
Read/Write
Address: 3CFhIndex: 02h.
Power-on Default: Undefined
This register is to used to compare with the CPU memory read data. This register works in conjunction with the Color
Don't Care Register.
7
6
5
4
3
RESERVED
2
1
0
COLOR COMPARE PLANE
Bit 7:4
Reserved
Bit 3:0
Color Compare Plane [3:0]
These bits represent the reference color used to compare each pixel in corresponding plane. A logical 1
is returned in each plane bit position when color matches.
GRX03: Data Rotate/ROP Register
Read/Write
Address: 3CFhIndex: 03h.
Power-on Default: Undefined
This register is to used to control rotation and raster operations.
7
6
5
RESERVED
4
3
ROS
2
1
0
ROTATE COUNT
Bit 7:5
Reserved
Bit 4:3
Raster Operations Select (ROS)
00 = No operation
01 = Logical AND with latched data
10 = Logical OR with latched data
11 = Logical XOR with latched data
Bit 2:0
Rotate Count
These bits specifies the number of bit positions of rotation to the right. Data written by the CPU is
rotated in write mode 0. To write non-rotated data, the CPU must present a count with 0.
GRX04: Read Plane Select Register
Read/Write
Address: 3CFhIndex: 04h.
Power-on Default: Undefined
This register is selects which memory plane the CPU data is reading from in read mode 0. This register has no effect on
the color compare read mode (read mode 1). In odd/even mode, bit 0 is ignored.
20 - 22
Standard VGA Registers
Silicon Motion®, Inc.
7
6
Lynx3DM+
Databook
5
4
3
2
RESERVED
1
0
READ PLANE
Bit 7:2
Reserved
Bit 1:0
Read Plane Select is as follows:
00 = Plane 0
01 = Plane 1
10 = Plane 2
11 = Plane 3
GRX05: Graphics Mode Register
Read/Write
Address: 3CFhIndex: 05h.
Power-on Default: Undefined
This register is selects which memory plane the CPU data is reading from in read mode 0. This register has no effect on
the color compare read mode (read mode 1). In odd/even mode, bit 0 is ignored.
7
6
5
4
3
2
R
CS
OES
OEA
ERC
R
1
0
WRITING MODE
Bit 7
Reserved (R)
Bit 6
256 Color Shift Mode Select (CS)
0 = Enable bit 5 of this register to control loading of the shift registers.
1 = The shift registers are loaded in a manner that support the 256 color mode.
Bit 5
Odd/Even Shift Mode Select (OES)
0 = Normal shift mode
1 = The video shift registers are directed to format the serial data stream with even numbered bits from
both planes on the even numbered planes and odd numbered bits from both planes on the odd planes.
Bit 4
Odd/Even Addressing Select (OEA)
0 = Normal addressing
1 = CGA Odd/even addressing mode is selected. Even CPU addresses access plane 0 and 2, while odd
CPU addresses access plane 1 and 3.
Bit 3
Enable Read Compare (ERC)
0 = System read data from memory planes selected by read map select register (3CFh index 04h). This
is called read mode 0.
1 = System read the results of logical comparison between the data in 4 memory planes selected by the
Color Don't Care Register and the Color Compare Register. The results is a 1 for a match and 0 for a
mismatch on each pixel. This is called read mode 1.
Bit 2
Reserved (R)
Standard VGA Registers
20 - 23
Silicon Motion®, Inc.
Bit 1:0
Lynx3DM+
Databook
Write Mode Select
00 = Write mode 0. Each of four video planes is written with CPU data rotated by the number of counts
in rotate register. If Set/Reset register is enabled for any of the four planes, the corresponding planes is
written with the data stored in the Set/Reset register.
01 = Write mode 1. Each of four video planes is written with CPU data in the processor latches. These
latches are loaded during previous CPU read operations. Raster operation, rotate count, Set/Reset data,
enable Set/Reset data and bit mask registers are ignored.
10 = Write mode 2. Video planes [3:0] are written with the value of CPU write data [3:0]. The 32-bit
output from the four planes is then operated on by the Bit Mask register and the resulting data are
written into the four planes. The Set/Reset, Enable Set/Reset and Rotate Count registers are ignored.
11 = Write mode 3. Each of the four video planes is written with 8-bit of the color value in the Set/
Reset register for the corresponding plane. The bit-position-enable field is formed with the logical
AND of the Bit Mask register and rotated CPU data. The Enable Set/Reset register is ignored.
GRX06: Graphics Miscellaneous Register
Read/Write
Address: 3CFhIndex: 06h.
Power-on Default: Undefined
This register controls video memory addressing.
7
6
5
RESERVED
4
3
2
MEMORY MAP
1
0
OES
GMS
Bit 7:4
Reserved
Bit 3:2
Memory Map Mode. These bits control the address mapping of video memory into the CPU address
space.
00 = A0000h to BFFFFh (128KB)
01 = A0000h to AFFFFh (64KB)
10 = B0000h to B7FFFh (32KB)
11 = B8000h to BFFFFh (32KB)
Bit 1
Odd/Even Mode Select (OES)
0 = CPU address bit A0 is the memory address bit MA0
1 = CPU address A0 is replaced by a higher order address bit. A0 is then used to select odd or even
maps. A0=0, selects Map 2 or 0; A0 = 1, select Map 3 or 1.
Bit 0
Graphics Mode Select (GMS)
0 = Select Text mode
1 = Select Graphics mode
GRX07: Color Don't Care Plane Register
Read/Write
Address: 3CFhIndex: 07h.
Power-on Default: Undefined
20 - 24
Standard VGA Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register controls whether the corresponding bit of the Color Compare Register, GRX02, is to be ignored or used for
color comparison. This register is used with GRX02 for Read Mode 1 accesses.
7
6
5
4
3
RESERVED
2
1
0
COMPARE PLANE SELECT
Bit 7:4
Reserved
Bit 3:0
Compare Plane Select
0 = The corresponding color plane becomes a don't care plane when the CPU read from the video
memory is performed in read mode 1.
1 = The corresponding color plane is used for color comparison with the data in the Color Compare
Register, GRX02.
GRX08: Bit Mask Register
Read/Write
Address: 3CFhIndex: 08h.
Power-on Default: Undefined
This register controls bit mask operations which applies simultaneously to all four maps. The data written into memory in
this case is the data which was read in the previous cycle, and was stored in the processor latches. Any bit programmed to
1 allows unimpeded writes to the corresponding bits in the plane.
7
6
5
4
3
2
1
0
BIT MASK
Bit 7:0
Bit Mask
0 = corresponding bit of each plane in memory is set to the corresponding bit in the processor latches.
1 = corresponding bit of each plane in memory is set as specified by other conditions.
Attribute Controller Registers
The attribute controller registers are located at the same byte I/O address for writing address and data. The Attribute Index
Register has an internal flip-flop rather than an input bit to control the selection of the address and data registers. Reading
the Input Status Register 1 at Port 3?Ah clears the flip-flop and selects the Address Register, which is read at address 3C1h
and written at address 3C0h. Once the Address Register has been loaded with an index, the next write operation to 3C0h
loads the Data Register. The flip-flop toggles between the Address and the Data Register after every write to address
3C0h, but does not toggle for reads from address 3C1h. Furthermore, the attribute controller index register is read at
3C0h, and the attribute controller data register is read at address 3C1h.
ATRX: Attribute Controller Index Register
Read/Write
Address: 3C0h
Power-on Default: Undefined
This register is loaded with a binary value that indexes the attribute controller register where data is to be accessed.
Standard VGA Registers
20 - 25
Silicon Motion®, Inc.
7
6
RESERVED
Lynx3DM+
Databook
5
PAS
4
3
2
1
0
ATTRIBUTE CONTROLLER ADDRESS
Bit 7:6
Reserved
Bit 5
Palette Address Source (PAS)
0 = Disable internal color palette outputs and video outputs to allow CPU access to color palette
registers
1 = Enable internal color palette and normal video translation.
Bit 4:0
Attribute Controller Address
A binary value that points to the attribute controller register where data is to be written.
ATR00-0F: Palette Register
Read/Write
Address: 3C1h/3C0hIndex 00h - 0Fh.
Power-on Default: Undefined
This register is loaded with a binary value that indexes the attribute controller register where data is to be accessed.
7
6
5
4
RESERVED
3
2
1
0
PALETTE COLORS
Bit 7:6
Reserved
Bit 5:0
Palette Colors
0 = corresponding pixel color is de-selected
1 = corresponding pixel color is enabled
ATR10: Attribute Mode Control Register
Read/Write
Address: 3C1h/3C0hIndex: 10h.
Power-on Default: 00h
This register controls the attribute mode of the display function.
7
6
5
4
3
2
1
0
VID
CS
PPE
R
BIS
LGC
MCE
TGM
Bit 7
VID5, VID4 Select (VID)
0 = VID5 and VID4 palette register outputs are selected
1 = Color Select Register Port 3C1h/3C0h, Index 14h, bit 1 and bit 0 are selected for outputs.
Bit 6
256 Color Select (CS)
20 - 26
Standard VGA Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
0 = Disable 256 color mode pixel width. PCLK rate = internal dot clock rate.
1 = Enable 256 color mode pixel width. PCLK rate = internal dot clock rate / 2
Bit 5
Pixel Panning Enable (PPE)
0 = Line compare will have no effect on the output of the pixel panning register
1 = Forces the output of the pixel panning register to 0 after matching line compare until VSYNC is
active
Bit 4
Reserved (R)
Bit 3
Blinking and Intensity Select (BIS)
0 = Select background intensity from the text attribute byte.
1 = Select blink attribute in text modes
Bit 2
Line Graphics Character Enable (LGC)
0 = Forces the ninth dot to be the same color as the background in line graphics character codes.
1 = Enable special line graphics character codes.
Bit 1
Mono/Color Emulation (MCE)
0 = Select color display text attributes
1 = Select monochrome display text attributes
Bit 0
Text /Graphics Mode Select (TGM)
0 = Select text attribute control mode
1 = Select graphics control mode
ATR11: Overscan Color Register
Read/Write
Address: 3C1h/3C0hIndex: 11h.
Power-on Default: 00h
This register controls the overscan or border color. This register will be locked if CRT3C register (3?5h, index 3Ch) bit 5
is set to 1. Please refer to CRT3C register for details.
7
6
5
4
3
2
1
0
OVERSCAN COLOR REGISTER
Bit 7:0
OverScan Color register determines the overscan or border color displayed on the CRT screen.
ATR12: Color Plane Enable Register
Read/Write
Address: 3C1h/3C0hIndex: 12h.
Power-on Default: 00h
This register enables the respective video memory color plan 0-3 and selects the video color outputs to be read back in the
display status.
Standard VGA Registers
20 - 27
Silicon Motion®, Inc.
7
6
RESERVED
Lynx3DM+
Databook
5
4
3
VIDEO SATUS
2
1
0
COLOR PLANE ENABLE
Bit 7:6
Reserved
Bit 5:4
Video Status Multiplexer. These bits select two out of the 8 color outputs which can be read by the
Input Status Register 1 at port 3?Ah, bit 5 and bit 4.
Color Plane Register
Input Status Register 1
Bit 5
Bit 4
Bit 5
Bit 4
0
0
VID2
VID0
0
1
VID5
VID4
1
0
VID3
VID1
1
1
VID7
VID7
Bit 3:0
Color Plane Enable
0 = disable the corresponding color planes. Forces pixel bit to be 0 before it address palette.
1 = enables the corresponding color planes.
ATR13: Horizontal Pixel Panning Register
Read/Write
Address: 3C1h/3C0hIndex: 13h.
Power-on Default: 00h
This register specifies the number of pixels to shift the display data horizontally to the left. Horizontal pixel panning is
available in text and graphics modes.
7
6
5
RESERVED
4
3
2
1
0
HORIZONTAL PIXEL PLANNING
Bit 7:4
Reserved
Bit 3:0
Horizontal Pixel Panning. These 4 bits determine the horizontal left shift of the video data in number of
pixels. In the 9 pixel/character text mode, the output can be shifted a maximum shift of 8 pixels. In the
8 pixel/character text mode and all graphics modes, except for 256 color mode, a maximum shift of 7
pixels is allowed. In the 256 color mode, bit 0 of this register must be 0 resulting in only 4 panning
positions per display byte. The panning is controlled as follows:
20 - 28
Standard VGA Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bits 3:0
9 pixel/character
8 pixel/character
256 color modes
0000
1
0
0
0001
2
1
-
0010
3
2
1
0011
4
3
-
0100
5
4
2
0101
6
5
-
0110
7
6
3
0111
8
7
-
1000
0
-
-
ATR14: Color Select Register
Read/Write
Address: 3C1h/3C0h, Index: 14h.
Power-on Default: 00h
This register specifies the high-order bits of video output when pixel padding is enable/disabled for 256 color modes.
7
6
5
RESERVED
4
3
2
SC7/6
1
0
SC5/4
Bit 7:4
Reserved
Bit 3:2
Select Color 7 and Color 6 (SC7/6)
These are the two most significant bits of the 8 bits color value for video DAC. These are normally used
in all modes except 256 color modes.
Bit 1:0
Select Color 5 and Color 4 (SC5/4)
These bits can be substituted for VID5 and VID4 from the palette registers to form the 8-bit color value
for video DAC.
RAMDAC Registers
The section describes the RAMDAC registers. Special programming sequences are used to read or write data to and from
the RAMDAC.
Writing data to DAC:
Write the color code to DAC Write Address Register at 3C8h.
Three bytes: Red, Green, Blue values are written into DAC Data Register at 3C9h.
Following the third write, the values are transferred to Color Lookup Table.
•
The DAC Write Address Register is auto incremented by 1.
Reading data from DAC:
Standard VGA Registers
20 - 29
Silicon Motion®, Inc.
•
•
Lynx3DM+
Databook
Write the color code to DAC Read Address Register at 3C7h.
Three bytes: Red, Green, Blue values are read from the DAC Data Register at 3C9h.
3C6: DAC Mask Register
Read/Write
Address: 3C6h
Power-on Default: Undefined
This register is the pixel read mask register to select pixel video output.
7
6
5
4
3
2
1
0
DAC ADDRESS MASK
Bit 7:0
DAC Address Mask
This field is the pixel mask for palette DAC. When a bit in this field is programmed to 0, the
corresponding bit in the pixel data is ignored in looking up an entry I the Color Lookup Table. This
register is initialized to FFh by the BIOS during a video mode set.
3C7W: DAC Address Read Register
Write Only
Address: 3C7h
Power-on Default: Undefined
This register contains the pointer to one of the 256 palette data registers and is used when reading the color palette. A
write to this register causes 11b to be driven out to the RAMDAC output.
7
6
5
4
3
2
1
0
DAC READ ADDRESS
Bit 7:0
DAC Read Address
After a color code is written into this register, the chip will identifies that a DAC read sequence will
occur. A read sequence consists of three consecutive byte reads from the RAMDAC data register at
3C9h.
3C7R: DAC Status Register
Read Only
Address: 3C7h
Power-on Default: Undefined
This register specifies the DAC Status: read or write cycles.
7
6
5
4
RESERVED
Bit 7:2
20 - 30
3
2
1
0
DAC STATUS
Reserved
Standard VGA Registers
Silicon Motion®, Inc.
Bit 1:0
Lynx3DM+
Databook
DAC Status bits
00 = DAC write operation in progress
11 = DAC read operation in progress
3C8: DAC Address Write Register
Read/Write
Address: 3C8h
Power-on Default: Undefined
This register contains the pointer to one of the 256 palette data registers and is during a palette load. A write to this
register causes 11b to be driven out to the RAMDAC output.
7
6
5
4
3
2
1
0
DAC WRITE ADDRESS
Bit 7:0
DAC Write Address
After a color code is written into this register, the chip identifies that a DAC write sequence will occur.
A write sequence consists of three consecutive byte reads from the RAMDAC data register at 3C9h.
3C9: DAC Data Register
Read/Write
Address: 3C9h
Power-on Default: Undefined
This register is the data port to read or write the contents of the location in the Color Lookup Table pointed to by the DAC
Read Address or the DAC Write Address registers. An access to this register will cause 01b to be driven to RAMDAC
outputs.
7
6
5
4
3
2
1
0
DAC READ/WRITE DATA
Bit 7:0
DAC Read/Write Data
These read/write register bits store the Pixel data for the Palette DAC
Standard VGA Registers
20 - 31
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 21: Extended SMI Registers
Table 26: Extended SMI Registers Quick Reference
Summary of Registers
Page
System Control Registers
SCR15: PCI Miscellaneous Control Register
21 - 6
SCR16: Status for Drawing Engine and Video Processor
21 - 7
SCR17: General Graphics Command Register 1
21 - 8
SCR18: General Graphics Command Register 2
21 - 9
SCR19: Interrupt Enable and Mask I
21 - 10
SCR1A: Interrupt Status
21 - 11
SCR1B: Interrupt Status Enable and Mask II
21 - 11
SCR1C: Interrupt Status
21 - 11
SCR1F: Interrupt Mask and Hardware Interrupt Enable
21 - 13
SCR24: Reserved
21 - 13
Power Down Control Registers
PDR20: Power Down Control for Memory, Flat Panel, PLL, and Video Port
21 - 13
PDR21: Functional Blocks Disable Control
21 - 15
PDR22: LCD Panel Control Select
21 - 16
PDR23: Activity Detection Control Register
21 - 17
PDR24: Power Down Register Select
21 - 18
Flat Panel Registers
FPR30: Flat Panel Type Select
21 - 18
FPR31: Virtual Refresh and Auto Shut Down Control
21 - 19
FPR32: Dithering Engine Select, Polarity, and Expansion Control
21 - 20
FPR33: Panel Power Sequence and LCD Character/Cursor Blink Control
21 - 21
FPR34: LCD Panel ON/OFF Sequence Select and DSTN LCD Control
21 - 22
FPR3E: DSTN LCD Panel Height- High
21 - 23
FPR3F: DSTN LCD Panel Height- Low
21 - 23
FPR40: Read FIFO1 Start Address Low for LCD Frame Buffer
21 - 23
FPR41: Read FIFO1 Start Address High for LCD Frame Buffer
21 - 24
FPR42: Read FIFO2 Start Address Low for LCD Frame Buffer
21 - 24
Extended SMI Registers
21 - 1
Silicon Motion®, Inc.
Lynx3DM+
Databook
Summary of Registers (Continued)
Page
FPR43: Read FIFO2 Start Address High for LCD Frame Buffer
21 - 25
FPR44: Read FIFO1 Offset Value of LCD Frame Bufferv
21 - 25
FPR45: Read FIFO1 Address Offset for LCD Frame Buffer Overflow
21 - 25
FPR46: Write Start Address Low of LCD Frame Buffer
21 - 26
FPR47: Write Start Address High of LCD Frame Buffer
21 - 26
FPR48: Write Offset Value of LCD Frame Buffer
21 - 26
FPR49: LCD Frame Buffer Write Overflow
21 - 27
FPR4A: LCD Read and Write FIFOs Request Level Control
21 - 27
FPR4B: Read FIFO2 Offset Value of LCD Frame Buffer
21 - 28
FPR4C: Read FIFO Offset Value of LCD Frame Buffer Overflow
21 - 28
FPR4D: MSB Read FIFO Address
21 - 28
FPR4E: LCD2 Control Register
21 - 29
FPR50: LCD Overflow Register 1 for Virtual Refresh
21 - 29
FPR51: LCD Overflow Register 2 for Virtual Refresh
21 - 30
FPR52: LCD Horizontal Total for Virtual Refresh
21 - 30
FPR53: LCD Horizontal Display Enable for Virtual Refresh
21 - 30
FPR54: LCD Horizontal Sync Start for Virtual Refresh
21 - 31
FPR55: LCD Vertical Total for Virtual Refresh
21 - 31
FPR56: LCD Vertical Display Enable for Virtual Refresh
21 - 32
FPR57: LCD Vertical Sync Start for Virtual Refresh
21 - 32
FPR58: EMI Control Register
21 - 32
FPR59: Panel M-Signal Control Register
21 - 33
FPR5A: SYNC Pulse-widths Adjustment
21 - 33
FPRA0: Panel HW Video Control
21 - 33
FPRA1: Panel Video Color Key
21 - 34
FPRA2: Panel Video Color Key
21 - 34
FPRA3: Panel Video Color Key Mask
21 - 35
FPRA4: Panel Video Color Key Mask
21 - 35
FPRA5: Panel Video Red Constant
21 - 35
FPRA6: Panel Video Green Constant
21 - 36
FPRA7: Panel Video Blue Constant
21 - 36
FPRA8: Panel Video Top Boundary
21 - 36
FPRA9: Panel Video Left Boundary
21 - 36
FPRAA: Panel Video Bottom Boundary
21 - 37
FPRAB: Panel Video Right Boundary
21 - 37
FPRAC: Panel Video Top and Left Boundary Overflow
21 - 37
FPRAD: Panel Video Bottom and Right Boundary Overflow
21 - 38
21 - 2
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Summary of Registers (Continued)
Page
FPRAE: Panel Video Vertical Stretch Factor
21 - 38
FPRAF: Panel Video Horizontal Stretch Factor
21 - 38
Memory Control Registers
MCR60: Memory Control
21 - 39
MCR61: Memory Bank Address High
21 - 39
MCR62: Memory Type and Timing Control
21 - 40
MCR76: Memory Type and Timing Control
21 - 40
Clock Control Registers
CCR65: TV Encoder Control Register
21 - 41
CCR66: RAM Control and Function On/Off Register
21 - 42
CCR67: For Test Purpose Only
21 - 42
CCR68: Clock Control 1
21 - 43
CCR69: Clock Control 2
21 - 44
CCR6A: MCLK Numerator Register
21 - 45
CCR6B: MCLK Denominator Register
21 - 45
CCR6C: VCLK Numerator Register
21 - 46
CCR6D: VCLK Denominator Register
21 - 46
CCR6E: VCLK2 Numerator Register
21 - 47
CCR6F: VCLK2 Denominator Register
21 - 47
CCR7A-CCR7C: TV and RAMDAC Testing Power
21 - 47
CCR7D: Control Registers for TV and RAMDAC Testing
21 - 48
General Purpose Registers
GPR70: Scratch Pad Register 1
21 - 48
GPR71: Scratch Pad Register 2
21 - 49
GPR72: User Defined Register 1 for DDC2/ I2C
21 - 49
GPR73: User Defined Register 2
21 - 50
GPR74: Scratch Pad Register 3
21 - 51
GPR75: Scratch Pad register 4
21 - 51
Pop-up Icon and Hardware Cursor Registers
PHR80: Pop-up Icon and Hardware Cursor Pattern Location Low
21 - 51
PHR81: Hardware Cursor Enable & PI/HWC Pattern Location High
21 - 52
Pop-up Icon Registers
POP82: Pop-up Icon Control
21 - 52
POP83: Reserved
21 - 52
POP84: Pop-up Icon Color 1
21 - 53
POP85: Pop-up Icon Color 2
21 - 53
POP86: Pop-up Icon Color 3
21 - 53
Extended SMI Registers
21 - 3
Silicon Motion®, Inc.
Lynx3DM+
Databook
Summary of Registers (Continued)
Page
POP90: Pop-up Icon Start X - Low
21 - 54
POP91: Pop-up Icon Start X - High
21 - 54
POP92: Pop-up Icon Start Y - Low
21 - 54
POP93: Pop-up Icon Start Y - High
21 - 54
Hardware Cursor Registers
HCR88: Hardware Cursor Upper Left X Position - Low
21 - 55
HCR89: Hardware Cursor Upper Left X Position- High
21 - 55
HCR8A: Hardware Cursor Upper Left Y Position - Low
21 - 56
HCR8B: Hardware Cursor Upper Left Y Position - High
21 - 56
HCR8C: Hardware Cursor Foreground Color
21 - 56
HCR8D: Hardware Cursor Background Color
21 - 57
Extended CRT Control Registers
CRT30: CRTC Overflow and Interlace Mode Enable
21 - 57
CRT31: Interlace Retrace
21 - 58
CRT32: TV Vertical Display Enable Start
21 - 58
CRT33: TV Vertical Display Enable End - High
21 - 58
CRT34: TV Vertical Display Enable End - Low
21 - 59
CRT35: Vertical Screen Expansion DDA Control Constant - Low
21 - 59
CRT36: Vertical Screen Expansion DDA Control Constant - High
21 - 59
CRT37: Hardware/VGA Test Selection
21 - 60
CRT38: TV Equalization Pulse Control - For use with an external TV encoder only
21 - 60
CRT39: TV Serration Pulse Control - For use with an external TV encoder only
21 - 60
CRT3A: TV Total Timing Control for the Internal TV Encoder
21 - 61
CRT3B: Miscellaneous Lock Register I
21 - 61
CRT3C: Miscellaneous Lock Register II
21 - 62
CRT3D Scratch Register Bits
21 - 62
CRT3E: Scratch Register Bits
21 - 62
CRT3F: Scratch Register Bits
21 - 63
CRT9E: Expansion/Centering Control Register 2
21 - 63
CRT9F: Expansion/Center Control Register 1
21 - 64
CRT90-9B Vertical DDA Look Up Table & CRTA0-A5: Vertical Centering Offset Look Up
Table
21 - 65
CRTA0-A5: Vertical Centering Offset Look Up Table
21 - 65
CRTA6: Vertical Centering Offset Register
21 - 66
CRTA7: Horizontal Centering Offset Register
21 - 66
CRTA8-AD: Horizontal Screen Centering Look Up Table
21 - 66
Shadow VGA Registers
21 - 4
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Summary of Registers (Continued)
Page
SVR40: Shadow VGA Horizontal Total
21 - 67
SVR41: Shadow VGA Horizontal Blank Start
21 - 68
SVR42: Shadow VGA Horizontal Blank End
21 - 68
SVR43: Shadow VGA Horizontal Retrace Start
21 - 68
SVR44: Shadow VGA Horizontal Retrace End
21 - 69
SVR45: Shadow VGA Vertical Total
21 - 69
SVR46: Shadow VGA Vertical Blank Start
21 - 69
SVR47: Shadow VGA Vertical Blank End
21 - 70
SVR48: Shadow VGA Vertical Retrace Start
21 - 70
SVR49: Shadow VGA Vertical Retrace End
21 - 70
SVR4A: Shadow VGA Vertical Overflow
21 - 70
SVR4B: Shadow VGA Maximum Scan Line
21 - 71
SVR4C: Shadow VGA Horizontal Display End
21 - 71
SVR4D: Shadow VGA Vertical Display End
21 - 72
Extended SMI Registers
21 - 5
Silicon Motion®, Inc.
Lynx3DM+
Databook
Extended SMI Registers
This chapter describes the extended SMI registers including:
• System control registers
• Power down control register
• Flat panel registers
• Memory control registers
• Clock control registers
• General purpose registers
• Popup-Icon and hardware cursor registers
• Extended CRT registers
• Shadow VGA registers
All extended SMI registers are accessed through 3C3h, 3C5h, or 3?5h address. (? = B for monochrome mode and D for
color mode) or through their MMI0 location. In order to access extended SMI registers, one must unlock the extended
SMI register by writing 010xxxxxb to Lock register (3C3h).
The name of the register consists of the index which the register resides in. For example, SCR10 can be accessed through
index 10h of 3C5h.
System Control Registers
All system control registers are controlled by PCI system clock, rather than memory clock (MCLK) or video clock
(VCLK). During Lynx3DM+ power down (when MCLK and VCLK are shutdown), the system control registers can still
be accessed through PCI bus.
SCR15: PCI Miscellaneous Control Register
Read Only
Address: 3C5h, Index: 15h
Power-on Default: 00h
This register defines the various PCI control registers.
7
6
5
4
3
2
BRE
ABORT
SDE
DEA
PCI
BIOS
1
0
XFER
Bit 7
PCI Burst Read Enable (BRE)
0 = Disable
1 = Enable. SCR17 bit 5 needs to be set to 1 in order for this bit to take effect. For example, if SCR17
bit 5 = 0, even this bit is set to 1, PCI burst read will not be enabled.
Bit 6
Abort 3D Engine (ABORT)
0 = 3D Engine Normal Operation
1 = Abort 3D Engine Activities
Bit 5
Software Abort Drawing Engine Enable (SDE)
0 = Normal
1 = Enable. This bit has no effect unless bit 4 is set to 1.
Bit 4
Drawing Engine Abort Enable (DEA)
0 = Normal
21 - 6
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
1 = Enable
Bit 3
PCI Configuration Space: Subsystem ID Lock Enable (PCI)
0 = Disable
1 = Enable
Bit 2
Full range for BIOS access (BIOS)
Bit 1:0
# of Double word transfer during burst read = for performance tuning purpose
00 = 2 3D-bit double words
01 = 4 3D-bit double words
IX = 8 3D-bit double words
SCR16: Status for Drawing Engine and Video Processor
Read Only
Address: 3C5h, Index: 16h
Power-on Default: Undefined
This register specifies status of Lynx3DM+ including Drawing Engine Status, Video Processor Status, and Drawing
Engine FIFO Available.
7
6
5
4
3
2
1
0
GES
VWI
VWII
DE
DEBS
3DEBS
VPR
VPRCB
Bit 7
Graphics Engine Status (GES)
0 = Indicate current display frame is using the source starting address
1 = Indicate current display frame is not using the source starting address
Bit 6
Video Window I Status (VWI)
0 = Indicate current display frame is using the source starting address
1 = Indicate current display frame is not using the source starting address
Bit 5
Video Window II Status (VWII)
0 = Indicate current display frame is using the source starting address
1 = Indicate current display frame is not using the source starting address
Bit 4
Drawing Engine is Empty and Ready (DE
0 = Drawing Engine not empty
1 = Drawing Engine empty
Bit 3
2D Drawing Engine Busy Status (DEBS)
0 = Drawing Engine Idle
1 = Drawing Engine Busy
Bit 2
3D Engine Busy Status (3DEBS)
0 = 3D Engine Idle
1 = 3D Engine Busy
Extended SMI Registers
21 - 7
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 1
VPR53_7 (VPR)
Sub picture Status
0 = Indicate current display frame is using the source starting address
1 = Indicate current display frame is not using the source starting address
Bit 0
VPRcb_7
SCR17: General Graphics Command Register 1
Read/Write
Address: 3C5h, Index: 17h
Power-on Default: 00h
This register specifies command controls for Memory Access Disable, PCI bus master status, PCI bus burst write and
burst read enable, Big-Endian Swap mode Select, Direct 3D Data Buffer Select, Memory mapped access enable and BIOS
ROM size select.
7
6
5
4
MAD
PCI
PCI1
BESM
3
2
DIRECT3D
1
0
MMA
DLT
Bit 7
Memory Access Disable when Drawing Engine Busy (MAD)
0 = Normal
1 = Disable memory access when Drawing Engine is busy
Bit 6
Start PCI Bus Master (PCI)
0 = Stop PCI
1 = Start PCI
Bit 5
PCI burst read and write enable. (PCI1)
0 = Disable
1 = Enable
Bit 4
Big Endian Swap Mode Select (BESM)
Before
[31:24]
[23:16]
[15:8]
[7:0}
[23:16]
[31:24]
↓
0 = Big Endian with byte swap
After
[7:0]
[15:8]
1 = Big Endian with word swap
Before
[31:16]
[15:0]
[15:0]
31:16]
↓
Bit 3:2
Direct3D Z-Buffer Data Select
After
00 = Normal (use all 32-bit data)
01 = Use low word [15:0]
10 = Use high word [31:16]
11 = Normal (use all 32-bit data)
Bit 1
21 - 8
Memory Mapped Aperture Select (MMA)
0 = Select Banking Aperture. No Memory Mapped registers access allowed.
1 = Select Memory Mapped Aperture
Extended SMI Registers
Silicon Motion®, Inc.
Bit 0
Lynx3DM+
Databook
Disable Latency Timer (DLT)
0 = Normal
1 = Disable latency timer count
SCR18: General Graphics Command Register 2
Read/Write
Address: 3C5h, Index: 18h
Power-on Default: 00h
This register specifies command control for aperture select, graphics modes select, 32/64 memory data path select and
linear addressing mode enable.
7
6
5
SCLK
ECLK
AS
4
3
GRAPHICS MODE
2
1
0
MDP
ERH
LMM
Bit 7
Select ~CLKRUN or ACTIVITY (SCLK)
0 = Select ~CLKRUN as input for Pin 161
1 = Select ACITIVITY as output for Pin 161
Bit 6
Enable ~CLKRUN Function (ECLK)
0 = disable
1 = enable
Bit 5
Aperture Select. This bit is only valid in linear memory mode (bit 0 = 1) (AS)
0 = Select dual aperture. Allow 0A0000h-0AFFFFh and linear aperture to coexist.
1 = Select single aperture. Only linear aperture can be used.
Bit 4:3
Graphics Modes Select for Memory Access
00 = Standard VGA mode. The memory access only uses the lower 32-bit of the 64-bit internal
memory bus. The memory address wraps after 256 KB.
01 = VESA Super VGA 16 color (4-bit) mode. The memory access only uses the low 32-bit of the 64bit internal memory bus. The memory address does not wrap after 256 KB.
1x = Extended packed pixel graphics modes (8/16/24/32-bit). The memory access always use the
internal 64-bit memory bus.
Bit 2
32/64 memory data path select. This bit is only valid in VGA or VESA Super VGA 16 color modes (bit
4 of this register = 0) (MDP)
0 = CPU access VGA memory. All host memory access goes through VGA aperture: 0A0000h 0BFFFFh (controlled by 3CFh index 6 Bit [3:2]). The memory access only uses the low 32-bit of the
64-bit memory bus.
1 = CPU access graphics memory. All host memory access does not goes through VGA aperture. This
bit is used to allow 64-bit memory access even in VGA or super VGA 16 color modes.
For example, when programming pop-up icon in VGA mode or VESA super VGA 16 color mode, one
must set bit 2 = 1 and bit 4 = 0 of this register, in order to access full range of the display memory.
Bit 1
Enable Repeat Hardware Rotation BLT function (ERH)
0 = disable
1 = enable
Extended SMI Registers
21 - 9
Silicon Motion®, Inc.
Bit 0
Lynx3DM+
Databook
Linear Memory Mode Enable (LMM)
0 = disable. Nonlinear addressing (banking) mode is selected, and MCR61 register will be used for
memory bank select. Memory will be accessed according to 3CF index 6 Bit [3:2]:
3CF.6 Bit [3:2]Memory Range
00
0A0000-0BFFFF
01
0A0000-0AFFFF
10
0B0000-0B7000
11
0B8000-0BFFFF
1 = enable. Linear memory mode is selected, and memory will be accessed according to the PCI base
address register.
SCR19: Interrupt Enable and Mask I
Read/Write
Address: 3C5h, Index: 19h
Power-on Default: 00h
This register specifies interrupt enables and interrupt masks for PCI master, Zoom Video Port, and Drawing Engine. Each
interrupt mask will block out its particular interrupt when the interrupt mask is enabled. When the interrupt mask is
disabled, the corresponding interrupt will be generated when its particular interrupt is enabled.
7
6
5
4
IEVGA
R
IEZVP
IEDE
3
2
RESERVED
1
0
IMZVP
IMDE
Bit 7
Interrupt Enable for VGA (IEVGA)
Bit 6
Reserved (R)
Bit 5
Interrupt Enable for Zoom Video Port (IEZVP)
0 = Disable
1 = Enable
Bit 4
Interrupt Enable for 2D/3D Drawing Engine (IEDE)
0 = Disable
1 = Enable
Bit 3:2
Reserved
Bit 1
Interrupt Mask for Zoom Video Port (IMZVP)
0 = Disable
1 = Enable
Bit 0
Interrupt Mask for 2D/3D Drawing Engine (IMDE)
0 = Disable
1 = Enable
21 - 10
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
SCR1A: Interrupt Status
Read Only
Address: 3C5h, Index: 1Ah
Power-on Default: Undefined
This register specifies Interrupt Status of Drawing Engine, Video Port, PCI Master, and VGA. The interrupt enable and
mask bits for these interrupts are located in SCR19 register, with the exception of VGA's enable and mask bits which
reside within the VGA block.
7
6
5
4
3
2
1
0
ICMD
IDCT
3D TE
VGA
HMCIS
R
ZVP
DEI
Bit 7
ICMD Interrupt Status (ICMD)
0 = No interrupt
1 = ICMD interrupt is detected
Bit 6
IDCT Interrupt Status (IDCT)
Bit 5
3D Texture Engine Interrupt Status (3D TE)
0 = No interrupt
1 = 3D Texture Engine interrupt detected
Bit 4
VGA Interrupt Status. VGA’s interrupt enable and mask bits are in the VGA block. (VGA)
0 = No interrupt
1 = VGA Interrupt is detected
Bit 3
Host Memory Control Interrupt Status (HMCIS)
0 = No interrupt
1 = Master Control
Bit 2
Reserved
Bit 1
Zoom Video Port Interrupt Status (ZVP)
0 = No interrupt
1 = Zoom Video Port Interrupt is detected
Bit 0
2D/3D Drawing Engine Interrupt Status (DEI)
0 = No interrupt
1 = Drawing Engine Interrupt is detected
SCR1B: Interrupt Status Enable and Mask II
Read Only:
Address: 3C5h, Index: 1Bh
Power-on Default: 00h
7
ICMDIE
6
5
4
IDCTIE TEXTURE HMCIE
Extended SMI Registers
3
2
1
0
ICMDIM IDCTIM TEXTURE HMIMM
21 - 11
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 7
ICMD Interrupt Enable (ICMDIE)
0 = Disable ICMD interrupt (hardware interrupt to system)
1 = Enable ICMD interrupt (hardware interrupt to system)
Bit 6
IDCT Interrupt Enable (IDCTIE)
0 = Disable IDCT interrupt (hardware interrupt to system)
1 = Enable IDCT interrupt (hardware interrupt to system)
Bit 5
Text 3D Interrupt Enable (TEXTURE)
0 = Disable Text 3D interrupt (hardware interrupt to system)
1 = Enable Text 3D interrupt (hardware interrupt to system)
Bit 4
Host Master Control Interrupt Enable (HMCIE)
0 = Disable Host Master interrupt (hardware interrupt to system)
1 = Enable Host Master interrupt (hardware interrupt to system)
Bit 3
ICMD Interrupt Mask (ICMDIM)
0 = Allow ICMD interrupt signal to be latched into interrupt register
1 = Will not allow ICMD interrupt signal to be into interrupt register
Bit 2
IDCT Interrupt Mask (IDCTIM)
0 = Allow IDCT interrupt signal to be latched into interrupt register
1 = Will not allow IDCT interrupt signal to be into interrupt register
Bit 1
Texture (TEXTURE)
0 = Allow Texture interrupt signal to be latched into interrupt register
1 = Will not allow Texture interrupt signal to be into interrupt register
Bit 0
Host Control Interrupt Mask Master (HCIMM)
0 = Allow Host Control interrupt signal to be latched into interrupt register
1 = Will not allow Host Control interrupt signal to be into interrupt register
SCR1C: Interrupt Status
Read Only:
Address: 3C5h, Index: 1Ch
Power-on Default: 00h
7
6
5
4
RESERVED
Bit 7:4
Reserved
Bit 3
Usr3 Interrupt Status
Bit 2
Usr2 Interrupt Status
Bit 1:0
Reserved
21 - 12
3
2
Usr3
Usr2
1
0
RESERVED
Extended SMI Registers
Silicon Motion®, Inc.
Bit 0
Lynx3DM+
Databook
Usr0 Interrupt Status
SCR1F: Interrupt Mask and Hardware Interrupt Enable
Read Only:
Address: 3C5h, Index: 1Fh
Power-on Default: 00h
7
6
5
USR3
USR2
4
RESERVED
3
2
USR3IM USR2IM
Bit 7
Usr3 to enable system hardware interrupt
0 = Disable USR3 Pin as interrupt (default)
1 = Enable USR3 Pin as interrupt input
Bit 6
Usr2 to enable system hardware interrupt
0 = Disable USR3 Pin as interrupt (default)
1 = Enable USR3 Pin as interrupt input
Bit 5:4
Reserved
Bit 3
Usr3 Interrupt Mask
Bit 2
Usr2 Interrupt Mask
Bit 1:0
Reserved
1
0
RESERVED
SCR24: Reserved
Read Only:
Address: 3C5h, Index: 24h
Power-on Default: 00h
7
6
RESERVED
Bit 5:4
5
4
3
RESERVED
2
1
0
RESERVED
11 = Default
Power Down Control Registers
The power down control registers are controlled by system clock only. The power down control registers can still be read
or written by CPU even when internal PLL is off.
PDR20: Power Down Control for Memory, Flat Panel, PLL, and Video Port
Read/Write
Address: 3C5h, Index: 20h
Power-on Default: 04h
Extended SMI Registers
21 - 13
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register defines the different power down control for Memory, Flat Panel Interface, PLL, and Video Port. This
register can still be read or written by CPU even when PLL is off.
7
6
SPDM
SMR
5
4
SICLK
3
2
1
0
LVDS
VPO
FPI
DMI
Bit 7
Select Power Down Mode. External "~PDOWN" pin needs to be pulled "Low" to enable the selected
power down mode. For more details on power down modes, please refer to the power down
management chapter of this data book. (SPDM)
0 = Standby mode
1 = Sleep mode
Bit 6
Select Memory Refresh Type During Sleep Mode (Bit 7 of this register = 1). (SMR)
0 = Auto Refresh
1 = Self Refresh
Bit 5:4
Select internal VCLK and MCLK frequencies to control DRAM refresh during standby or sleep mode
(CCR69 bit 3 = 1). This register setting will be ignored when the chip is in operation mode. (SICLK)
00 = No change.
01 = Both VCLK and MCLK are divided by 4 (standby and sleep mode)
10 = Both VCLK and MCLK are divided by 8 (standby and sleep mode)
11 = Both VCLK and MCLK are divided by 16 (sleep mode only)
Bit 3
Tri-state LVDSCLK output pin. When ~EXCKEN = 0, Pin 159 (MCKIN) becomes an input pin. When
~EXCKEN = 1, Pin 159 (LVDSCLK) becomes an output pin. This register is only valid when
~EXCKEN = 1. This bit is used to test the silicon. (LVDS)
0 = Enable LVDSCLK output pin
1 = Tri-state LVDSCLK output pin
Bit 2
Tri-state Video Port Output. When this bit = 0, 20-bit outputs (R[7:2], G[7:2], B[7:2], BLANK, and
PCLK) will be driven out. When Video Capture is enabled (CPR00 [0] = 1), video port output will be
tri-stated automatically, except for BLANK/TVCLK output pin. This bit is used to test the silicon.
(VPO)
0 = Enable output pins
1 = Tri-state output pins (default)
Bit 1
Tri-state Flat Panel Interface Output Pins. This bit is used to test the silicon (FPI)
0 = Enable output pins
1 = Tri-state output pins
Bit 0
Tri-state Display Memory Interface output pins. This bit can also be used to isolate Lynx3DM+ from
display memory. All display memory interface pins: control signals, output clock, data bus and address
bus are tri-stated. This bit is used to test the silicon. (DMI)
0 = Enable display memory interface output pins
1 = Tri-state display memory interface output pins
21 - 14
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
PDR21: Functional Blocks Disable Control
Read/Write
Address: 3C5h, Index: 21h
Power-on Default: B0h
This register is designed to achieve optimum power saving in operation mode. Special clock drivers are built-in to control
major functional blocks independently. This power saving feature will not affect the graphics and video performance, or
LCD display quality. This register could be read or written by CPU even when PLL is off.
7
6
5
4
3
2
1
0
MHZ
PLLS
FBWO
FBRO
CPR
ZVP
DE
VP
Bit 7
Disable 200 MHz DAC (MHZ)
0 = Enable DAC
1 = Disable DAC
Bit 6
Disable PLLs (PLLS). This is only effective at power down mode.
0 = Enable PLLs
1 = Disable PLLs
Bit 5
Disable LCD Frame Buffer Write Operation. This bit is used to shut-down the (FBWO)
64 x 8 LCD write FIFO and remove the display memory bus request for LCD frame buffer write from
arbitration control.
This bit needs to be set to "1" in Dual View Mode -- displaying different graphics data on CRT (or TV)
and LCD.
This bit should be set to "1" when LCD display is not enabled or when TFT is selected in standard
refresh mode in order to obtain optimum power saving.
0 = Enable LCD frame buffer write
1 = Disable LCD frame buffer write
Bit 4
Disable LCD Frame Buffer Read Operation and DSTN Dithering Engine. This bit is used to shut-down
the 64 x 8 LCD read FIFO1 and LCD read FIFO2, turn off DSTN dithering engine and remove the
display memory bus request from LCD Read FIFO1 and LCD read FIFO2. (FBRO)
This bit should be set to "1" when LCD display is not enabled, or when TFT is selected in standard
refresh mode.
0 = Enable LCD frame buffer read and DSTN dithering engine
1 = Disable LCD frame buffer read and DSTN dithering engine
Bit 3
Disable 256 x 18 Color Palette RAM. Color Palette RAM will be automatically disabled by hardware in
standby mode or sleep mode. (CPR)
0 = Enable Color Palette RAM
1 = Disable Color Palette RAM
Bit 2
Disable Zoom Video Port. This bit is used when there is no external video source which is connected to
the Lynx3DM+. The Lynx3DM+ will block input data from external video port, turn off the clock driver
of ZV Port, and remove the ZV Port display memory bus request from memory controller. (ZVP)
0 = Enable Zoom Video Port
1 = Disable Zoom Video Port
Extended SMI Registers
21 - 15
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 1
Disable 2D/3D Drawing Engine. This bit is used to turn-off the 2D/3D drawing engine block. For
optimum power saving, this bit should be set to "1" in standard VGA mode since 2D/3D drawing engine
is not in use. (DE)
0 = Enable 2D/3D drawing engine
1 = Disable 2D/3D drawing engine
Bit 0
Disable Video Processor. This bit is used to turn-off the video processor block which includes graphics
FIFO, V0FIFO, V1FIFO, horizontal/vertical color interpolation, YUV-to-RGB conversion, TV flicker
reduction, HW pop-up icon, and related control logic. For optimum power saving, This bit could be set
to "1" in standard VGA mode since video processor is not in use. (VP)
0 = Enable video processor
1 = Disable video processor
PDR22: LCD Panel Control Select
Read/Write
Address: 3C5h, Index: 22h
Power-on Default: x0h
This register specifies the flat panel control and data: FPEN, VBIASEN, FPVDDEN. This register is not valid when
panel S/W power ON/OFF sequence is selected during display switching - FPR34 bit 7 = 0. For panel power ON/OFF
sequence, please refer to the flat panel interface chapter of this data book.
7
6
RESERVED
Bit 7:6
Bit 5:4
5
4
DPMS CONTROL
3
2
1
0
FPEN
VOP
FP
FOP
Reserved
DPMS Control
DPMS State
VSYNC
HSYNC
00 =
Normal
Pulses
Pulses
01 =
Standby
Pulses
No Pulse
10 =
Suspend
No Pulse
Pulses
11 =
Off
No Pulse
No Pulse
Bit 3
Control FPEN output pin. This function is disabled when LCD H/W auto-power ON/OFF sequence is
enabled (FPR34 bit 7 = 1). This pin can also be used to control LCD back light (VBKLGT) at the same
time. FPEN is part of the VESA FDPI-1B specification. (FPEN)
0 = Driven low
1 = Driven high
Bit 2
Control VBIASEN output pin. This function is disabled when LCD H/W auto-power ON/OFF sequence
is enabled (FPR34 bit 7 = 1). (VOP)
0 = Driven low
1 = Driven high
Bit 1
Disable Flat Panel control signals and data lines. All Control signals and data lines from output pins will
be forced to logic "Low". (FP)
21 - 16
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
0 = Enable Flat Panel control signals and data
1 = Disable Flat Panel control signals and data
Bit 0
Control FPVDDEN output pin. This function is disabled when LCD H/W auto-power ON/OFF
sequence is enabled (FPR34 bit 7 = 1). (FOP)
0 = Driven low
1 = Driven high
PDR23: Activity Detection Control Register
Read/Write
Address: 3C5h, Index: 23h
Power-on Default: 00h
The activity detection function is used to monitor I/O write and memory write activities. System designer can select a
fixed time period by programming bit [2:0] of this register. An internal timer will count the idle period of memory write or
I/O write operation. If the idle period is equal or greater than the selected value, a "Low-High" or "High-Low" on the
ACTIVITY output signal will generate to the system. Any Memory write or I/O write operation will reset the ACTIVITY
output signal and the internal counter. Please note that the internal counter will not start unless video capture is disabled
(CPR00 bit 0 = 0). The activity detection can also be used to enable internal auto-standby mode.
7
6
5
ECAD
EIAS
SA
4
3
SELECT I/O
2
1
0
INTERNAL TIMER SELECT
Bit 7
Enable chip activity detection (ECAD)
0 = Disable
1 = Enable
Bit 6
Enable internal auto-standby mode. This bit has no effect if chip activity detection is disabled (PDR23
bit 7 = 0). This bit is used to enable internal auto-standby mode through activity detection function.
Before enabling this function, the internal timer bit [2:0] of this register needs to be programmed first.
(EIAS)0 = Disable
1 = Enable
Bit 5
Select active "LOW" or "HIGH" signal for the ACTIVITY output (SA)
0 = Select active "LOW"
1 = Select active "HIGH"
Bit 4:3
Select I/O Write Activity Detection or Host Memory Write Activity Detection
00 = No detection
01 = Enable Host Memory Write detect
10 = Enable I/O Write detect
11 = Enable both I/O Write and Host Memory Write detect
Bit 2:0
Internal Timer Select
000 = Select 0 minute
001 = Select 1 minute (4K vertical frames period in standard setting)
010 = Select 2 minutes
........................................
110 = Select 32 minutes
Extended SMI Registers
21 - 17
Silicon Motion®, Inc.
Lynx3DM+
Databook
111 = Select 64 minutes (256K vertical frames period)
PDR24: Power Down Register Select
Read/Write
Address: 3C5h, Index: 24h
Power-on Default: 00h
7
6
5
4
3
2
1
RESERVED
0
(PDMS)
Bit 7:1
Reserved
Bit 0
Power Down Mode Select (PDMS)
0 = VESA Compliance power down mode
1 = ACPI power down Spec 1.0 compliance
Flat Panel Registers
FPR30: Flat Panel Type Select
Read/Write
Address: 3C5h, Index: 30h
Power-on Default: This is a power-on configurable register (by RESET)
This register specifies different types of flat panel.
7
DSTN
6
5
COLOR TFT
4
3
2
LCD DISPLAY
1
0
TFT
LCD
Bit 7
Color DSTN interface type select. This bit is power-on configured by MD15. (DSTN)
0 = 16-bit interface
1 = 24-bit interface
Bit 6:4
Color TFT interface type select. This is a power-on configurable bit by MD [14:12]. For detailed
interconnection for different type of LCD panels, please refer to the Flat Panel Interface Chapter of this
data book.
000 = 9-bit, 3-bit per R, G, B
001 = 12-bit, 4-bit per R, G, B
010 = 18-bit, 6-bit per R, G, B
011 = 24-bit, 8-bit per R, G, B
100 = 12+12-bit, or 24-bit (two pixels/clock)
101 = analog TFT interface
110 = 18+18-bit, or 36-bit (two pixels/clock)
111 = 24+24-bit (two pixels/clock)
Bit 3:2
LCD display size select for DSTN and TFT LCD. This is a power-on configurable bit by MD [11:10].
00 = 640 x 480
01 = 800 x 600
21 - 18
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
10 = 1024 x 768
11 = 1280 x 1024 (reserved for color TFT only)
Bit 1
TFT FPSCLK Clock Phase Select. To adjust TFT flat panel data timing, one may wish to change the
TFT FPSCLK phase by inverting the TFT FPSCLK. This register is only valid for TFT panel in single
pixel/clock mode and 2 pixels/clock mode. (TFT)
This is a power-on configurable bit by MD9.
0 = Normal
1 = Inverted clock
Bit 0
Color LCD type select. This is a power-on configurable bit by MD8. (LCD)
0 = color TFT
1 = color DSTN
FPR31: Virtual Refresh and Auto Shut Down Control
Read/Write
Address: 3C5h, Index: 31h
Power-on Default: 00h
This register defines the control for display select, Virtual Refresh mode enable and auto shut-down.
7
VRE
6
5
4
3
VRES SELECT AUTO S/D EASD
2
1
0
DISPLAY SELECT
Bit 7
Virtual Refresh Enable. This bit is independent of FPR31 bit [2:0]. (VRE)
0 = Disable
1 = Enable
Bit 6
Virtual Refresh Encode Select (VRES)
0 = Select 8-bit per pixel encode, RGB = 3:3:2
1 = Select 16-bit per pixel encode, RGB = 5:6:5
Bit 5:4
Select Auto Shut-Down Period. Define a period to start auto shut-down of display memory screen
refresh cycle and LCD frame buffer write cycle. Auto shut-down mode can only be used when the
display is in LCD mode only and Virtual Refresh is enabled. This function is only valid when auto shutdown of memory screen refresh and LCD frame buffer write cycles are enabled (bit 3 of this register =
1).
00 = 8 frames
01 = 16 frames
10 = 32 frames
11 = 64 frames
Bit 3
Enable auto shut-down of display memory screen refresh cycle and LCD frame buffer write cycle in
Virtual Refresh mode. This bit is only valid when Virtual Refresh mode is enabled (FPR31 bit 7 = "1").
If the display memory write operation is idle for more than the selected period specified by FPR31 bit
[5:4], the display memory screen refresh cycle and LCD frame buffer write cycle will be automatically
shut-down when auto shut-down is enabled. The graphics FIFO and video FIFO are also shut-down.
Any Host memory write operation to Lynx3DM+ will turn on the display memory screen refresh and
LCD frame buffer write cycle at the end of a vertical sync signal. (EASD)
Extended SMI Registers
21 - 19
Silicon Motion®, Inc.
Lynx3DM+
Databook
0 = Disable auto shut-down
1 = Enable auto shut-down
Bit 2:0
Display Select. (Note: TV and CRT can not be enabled at the same time.)
000 = Disable all displays (default value)
001 = Enable LCD display
010 = Enable CRT display
011 = Enable both CRT and LCD display
100 = Enable TV display
101 = Enable both TV and LCD display
others = Reserved
FPR32: Dithering Engine Select, Polarity, and Expansion Control
Read/Write
Address: 3C5h, Index: 32h
Power-on Default: 00h
This register defines the TFT and DSTN dithering engines select, LCD signal polarities, and screen auto-centering or
vertical expansion select.
7
6
TFT DITHERING
Bit 7:6
5
4
3
2
1
0
STN
LCDV
LCDH
ACE
VLEE
HPEE
TFT Dithering Engine Select
00 = No dithering
01 = 4-gray level dithering patterns (for 9-bit, 12-bit, and 18-bit TFT only)
10 = 8-gray level dithering patterns (for 9-bit and 12-bit TFT only)
11 = Reserved
FPR30 [6:4]
= 000
= 001 or 100
= 010 or 110
= 011
Bit [7:6]
9-bit
12-bit
18-bit
24-bit
00
512 colors
4K colors
256K colors
16M colors
01
24,389 colors
226,981 colors
16M colors
16M colors
10
185,193 colors
1,771,561 colors
16M colors
16M colors
Bit 5
STN Dithering Engine Select (STN)
0 = Select 16 gray levels for each R, G, and B
1 = Select 32 gray levels for each R, G, and B
Bit 4
LCD VSYNC/FP Polarity Select (LCDV)
0 = Select active "LOW"
1 = Select active "HIGH"
Bit 3
LCD HSYNC/LP polarity Select (LCDH)
0 = Select active "LOW"
1 = Select active "HIGH"
21 - 20
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 2
Auto Centering Enable. This register is used to control screen centering for VGA modes. (ACE)
0 = Disable
1 = Enable. This bit needs to be set to "1" and CRT shadow registers need to be reprogrammed to allow
screen centering.
Bit 1
Vertical Line Expansion Enable for VGA modes (VLEE)
0 = Disable
1 = Enable
Bit 0
Horizontal Pixel Expansion Enable for VGA modes (HPEE)
0 = Disable
1 = Enable. Character clock is forced to 10-dot timing.
FPR33: Panel Power Sequence and LCD Character/Cursor Blink Control
Read/Write
Address: 3C5h, Index: 33h
Power-on Default: 05h
This register defines the control for LCD power ON/OFF sequence timing, lock VGACRT horizontal and vertical display
enable, and blinking rate for LCD character/cursor.
7
6
LVDS CONTROL
5
4
VDE
PIC
3
2
PANEL ON/OFF
1
0
SELECT LCD
Bit 7
LVDS Control
0 = LVDS module in power down mode
1 = LVDS module in power-on
Bit 6
Selects TFT LVDS mapping
0 = Generic TFT 24-bit or 18-bit LVDS mapping
1 = Hitachi TFT 24-bit LVDS mapping (for Hitachi 18-bit LVDS panels, this bit should be set to 0)
Bit 5
Lock VGA CRT Vertical and Horizontal Display Enable registers used in Virtual Refresh mode (FPR31
bit 7 = 1) to lock the control signals to LCD BKEND. When this bit is set to 1, it will lock the following
registers: CRT01 (3?5h, index1) [Horizontal Display Enable], CRT07 (3?5h, index 07) bit 6 [Vertical
Display Enable bit 9] and bit 1[Vertical Display Enable bit 8], CRT12 (3?5h, index12) [Vertical Display
Enable]. (VDE)
This register is also used to lock Shadow VGA CRT Horizontal Display Enable and Vertical Display
Enable Registers.
0 = unlock (default)
1 = lock
Bit 4
Select panel to drive the digital panel interface (Please see Figure 21: on page 12) (PIC)
0 = FP1 interface drives the digital panel interface
1 = FP2 (virtual) interface drives the digital panel interface
(Note: only FP1 interface connects to the LVDS interface)
Extended SMI Registers
21 - 21
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 3:2
Panel ON/OFF timing select. These two bits are used to control the time period from FPEN to
VBIASEN, from VBIASEN to LCD control signals, and from LCD control signals to FPVDDEN.
These two bits are only valid when LCD H/W auto-power ON/OFF sequence is selected (FPR34 bit 7
=1).
00 = 1 vertical frame
01 = 2 vertical frames
10 = 4 vertical frames
11 = 8 vertical frames
Bit 1:0
Select LCD character/cursor blink rate
Bit [1:0]
Cursor
Character
00
16 frames
32 frames
01
32 frames
64 frames
10
64 frames
128 frames
FPR34: LCD Panel ON/OFF Sequence Select and DSTN LCD Control
Read/Write
Address: 3C5h, Index: 34h
Power-on Default: 80h
This register defines LCD panel ON/OFF sequence select during display switching and color DSTN panel control, such
as: LP pulse width, additional line pulse in odd and even frame.
7
6
SHS
SLP
5
4
SELPO
3
2
1
0
SELECT EXTRA LP EVEN FRAME
Bit 7
Select Hardware or Software LCD auto-power ON/OFF sequence during display switching in operation
or power down modes. This bit can be used to select two different ways to turn ON/OFF LCD panel. For
special programming sequences, please refer to the Power Down Management chapter of this data book.
(SHS)
0 = Select software LCD power sequencing
1 = Select hardware LCD power sequencing
Bit 6
Select LP (DSTN) Pulse Width in Pixel Clocks (SLP)
0 = 16 pixel clocks
1 = 32 pixel clocks
Bit 5:4
Select Extra LP in Odd Frame for DSTN LCD in Standard Refresh Mode (SELPO)
00 = 0 extra line pulses
01 = 1 extra line pulses
10 = 2 extra line pulses
11 = 3 extra line pulses
Bit 3:0
Select Extra LP in Even Frame for DSTN LCD in Standard Refresh Mode, or Extra LP in Every Frame
for DSTN LCD in Virtual Refresh Mode.
0000 = 0 extra line pulses
21 - 22
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
0001 = 1 extra line pulses
0010 = 2 extra line pulses
.........................................
1111 = 15 extra line pulses
FPR3E: DSTN LCD Panel Height- High
Read/Write
Address: 3C5h, Index: 3Eh
Power-on Default: 00h
This register defines bit 9 and bit 8 of DSTN LCD panel height register. This 10-bit register needs to be programmed as
"DSTN LCD panel height ÷ 2". This 10-bit register also has to be an even number. For example, DSTN LCD panel
height register equals to "12Ch" for a 800x600 DSTN.
7
6
DES
5
4
3
RESERVED
2
LP
1
0
DSTN LCD PANEL
Bit 7
M-Signal or Display Enable Select (DES)
0 = Select Display Enable as output for Pin 81
1 = Select M-Signal as output for Pin 81
Bit 6:3
Reserved
Bit 2
Free running LP enable for OSTN (LP)
0 = Disable
1 = Enable
Bit 1:0
Bit 9 and bit 8 of the 10-bit DSTN LCD Panel Height Register.
FPR3F: DSTN LCD Panel Height- Low
Read/Write
Address: 3C5h, Index: 3Fh
Power-on Default: 00h
7
6
5
4
3
2
1
0
BIT [7:0] OF THE 10-BIT DSTN LCD PANEL HEIGHT REGISTER
This register defines lower 8-bit of DSTN LCD panel height register. This 10-bit register needs to be programmed as
"DSTN LCD panel height ÷ 2". This 10-bit register also has to be an even number. For example, DSTN LCD panel
height register equals to "180h" for a 1024x768 DSTN LCD.
Bit 7:0
Bit [7:0] of the 10-bit DSTN LCD Panel Height Register.
FPR40: Read FIFO1 Start Address Low for LCD Frame Buffer
Read/Write
Address: 3C5h, Index: 40h
Power-on Default: Undefined
Extended SMI Registers
21 - 23
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register defines the lower 8-bit of the read FIFO1 start address for LCD frame buffer. This Read FIFO1 start address
is used for DSTN LCD in standard refresh mode or TFT LCD in Virtual Refresh mode. When DSTN LCD is selected and
in Virtual Refresh mode, this register defines the lower 8-bit of the read FIFO1 start address for upper panel of the DSTN
LCD.
7
6
5
4
3
2
1
0
BIT [7:0] OF DISPLAY MEMORY READ FIFO1
Bit 7:0
Select bit [7:0] of display memory read FIFO1 address bus for the LCD frame buffer of DSTN LCD in
standard refresh mode or for TFT LCD in Virtual Refresh mode. When Virtual Refresh is enabled
(FPR31 bit 7 = 1) and when DSTN LCD is selected (FPR30 [1:0] = 01b), this register selects bit [7:0] of
the display memory read FIFO1 address for the upper panel of DSTN LCD.
FPR41: Read FIFO1 Start Address High for LCD Frame Buffer
Read/Write
Address: 3C5h, Index: 41h
Power-on Default: Undefined
This register defines the higher 8-bit of the read FIFO1 start address for LCD frame buffer. This Read FIFO1 start address
is used for DSTN LCD in standard refresh mode or TFT LCD in Virtual Refresh mode. When DSTN LCD is selected and
in Virtual Refresh mode, this register defines the higher 8-bit of the read FIFO1 start address for upper panel of the DSTN
LCD.
7
6
5
4
3
2
1
0
BIT [15:8] OF DISPLAY MEMROY READ FIFO1
Bit 7:0
Select bit [15:8] of display memory read FIFO1 address bus for the LCD frame buffer of DSTN LCD in
standard refresh mode or for TFT LCD in Virtual Refresh mode. When Virtual Refresh is enabled
(FPR31 bit 7 = 1) and when DSTN LCD is selected (FPR30 [1:0] = 01b), this register selects bit [15:8]
of the display memory read FIFO1 address for the upper panel of DSTN LCD.
FPR42: Read FIFO2 Start Address Low for LCD Frame Buffer
Read/Write
Address: 3C5h, Index: 42h
Power-on Default: Undefined
This register defines the lower 8-bit of the read FIFO2 start address for LCD frame buffer. This register is only valid when
DSTN LCD is selected (FPR30 [1:0] = 01b) and Virtual Refresh is enabled (FPR31 bit 7 = 1).
7
6
5
4
3
2
1
0
BIT [7:0] OF DISPLAY MEMORY READ FIFO2
Bit 7:0
21 - 24
Select bit [7:0] of display memory read FIFO2 address bus for lower panel of DSTN LCD.
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
FPR43: Read FIFO2 Start Address High for LCD Frame Buffer
Read/Write
Address: 3C5h, Index: 43h
Power-on Default: Undefined
This register defines the higher 8-bit of the read FIFO2 start address for LCD frame buffer. This register is valid only when
DSTN LCD is selected (FPR30 [1:0] = 01b) and Virtual Refresh is enabled (FPR31 bit 7 = 1).
7
6
5
4
3
2
1
0
BIT [15:8] OF DISPLAY MEMORY READ FIFO2
Bit 7:0
Select bit [15:8] of display memory read FIFO2 address bus for lower panel of DSTN LCD.
FPR44: Read FIFO1 Offset Value of LCD Frame Buffer
Read/Write
Address: 3C5h, Index: 44h
Power-on Default: Undefined
This register defines the read FIFO1 offset value of LCD Frame buffer. This offset value is used to calculate the read start
address of the next line of LCD Frame buffer from the current line. The offset register is a 10-bit register. Bit [3:2] of Read
Offset Value Register are in FPR4C register.
7
6
5
4
3
2
1
0
BIT [7:0] OF READ FIFO1
Bit 7:0
Bit [7:0] of read FIFO1 offset value for LCD frame buffer. This offset value is a direct mapping from bit
[10:3] of display memory read address bus.
FPR45: Read FIFO1 Address Offset for LCD Frame Buffer Overflow
Read/Write
Address: 3C5h, Index: 45h
Power-on Default: Undefined
This register defines the MSB of the read FIFO1 start address. In additional, this register specifies the MSB of the LCD
frame buffer read offset value.
7
6
5
4
DISPLAY MEM READ FIFO1
Bit 7:4
3
2
1
0
DISPLAY MEM READ FIFO2
Bit [19:16] of display memory read FIFO1 address bus. The lower [15:0] of display memory read
FIFO1 address is located in FPR41 and FPR40 registers.
When TFT LCD is in Virtual Refresh mode, or DSTN LCD is in standard refresh mode, this register specifies bit [18:16]
of display memory read address. This register is used for upper panel of DSTN LCD when Virtual Refresh is enabled
(FPR 31 bit 7 = 1) and DSTN LCD (FPR30 [1:0] = 01b) is selected.
Extended SMI Registers
21 - 25
Silicon Motion®, Inc.
Bit 3:0
Lynx3DM+
Databook
Bit [19:16] of display memory read FIFO2 address bus for lower panel of DSTN LCD. The lower [15:0]
of display memory read FIFO1 address is located in FPR43 and FPR42 registers. This register is valid
only when DSTN LCD is selected (FPR30 [1:0] = 01b) and Virtual Refresh is enabled (FPR31 bit 7 =
1).
FPR46: Write Start Address Low of LCD Frame Buffer
Read/Write
Address: 3C5h, Index: 46h
Power-on Default: Undefined
This register defines the lower 8-bit of the start address for LCD Write Frame Buffer.
7
6
5
4
3
2
1
0
BIT [7:0] OF START ADDRESS LCD
Bit 7:0
Bit [7:0] of start address for LCD write frame buffer. This register is a direct mapping from bit [10:3] of
display memory write address bus.
FPR47: Write Start Address High of LCD Frame Buffer
Read/Write
Address: 3C5h, Index: 47h
Power-on Default: Undefined
This register defines the high byte start address of LCD Write Frame Buffer.
7
6
5
4
3
2
1
0
BIT [7:0] OF START ADDRESS LCD WRITE FRAME BUFFER
Bit 7:0
Bit [15:8] of start address for LCD write frame buffer. This register is a direct mapping from bit [18:11]
of display memory write address bus.
FPR48: Write Offset Value of LCD Frame Buffer
Read/Write
Address: 3C5h, Index: 48h
Power-on Default: Undefined
This register defines the offset value of LCD Write Frame Buffer. This offset value is used to calculate the start address of
the next line of LCD Write Frame Buffer from the current line. The offset register is a 10-bit register. Bit [9:8] of the
write offset value is in FPR49 register.
7
6
5
4
3
2
1
0
BIT [7:0] OF OFFSET VALUE LCD WRITE FRAME BUFFER
Bit 7:0
Bit [7:0] of offset value for LCD write frame buffer. This offset value is a direct mapping from bit [10:3]
of display memory write address bus.
21 - 26
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
FPR49: LCD Frame Buffer Write Overflow
Read/Write
Address: 3C5h, Index: 49h
Power-on Default: Undefined
This register specifies the MSB of the LCD frame buffer write offset address. The lower 8-bit of the LCD frame buffer
write offset address is in FPR48.
7
6
5
4
3
2
1
START ADDRESS LCD
0
OVR
Bit 7:2
Bit [21:16] of start address for LCD Write Frame Buffer. This register is a direct mapping from bit
[21:19] of display memory write address bus.
Bit 1:0
Bit [9:8] of offset value register of LCD Write Frame Buffer. These two bits are mapped to bit 12 and 11
of display memory write address bus. The lower 8 bits are in FPR48. (OVR)
FPR4A: LCD Read and Write FIFOs Request Level Control
Read/Write
Address: 3C5h, Index: 4Ah
Power-on Default: 44h
This register controls the LCD Read and Write FIFOs Request Level. These bits can be used to maximize the available
memory bandwidth.
7
6
5
4
LCD READ FIFO2 LCD READ FIFO1
3
2
RESERVED
1
0
LCD WRITE FIFO
Bit 7:6
LCD Read FIFO2 Request Level. When the LCD Read FIFO2 empty level reaches the level specified
by this register, a LCD Read FIFO2 Request will be generated.
00 = RFIFO2 has 4 or more entries empty
01 = RFIFO2 has 8 or more entries empty
1x = RFIFO2 has 12 or more entries empty
Bit 5:4
LCD Read FIFO1 Request Level. When the LCD Read FIFO1 empty level reaches the level specified
by this register, a LCD Read FIFO1 Request will be generated.
00 = RFIFO1 has 4 or more entries empty
01 = RFIFO1 has 8 or more entries empty
1x = RFIFO1 has 12 or more entries empty
Bit 3:2
Reserved
Bit 1:0
LCD Write FIFO Request Level. When the LCD Write FIFO filled level reaches the level specified by
this register, a LCD Write Request will be generated.
00 = WFIFO has 4 or more entries filled
01 = WFIFO has 8 or more entries filled
1x = WFIFO has 12 or more entries filled
Extended SMI Registers
21 - 27
Silicon Motion®, Inc.
Lynx3DM+
Databook
FPR4B: Read FIFO2 Offset Value of LCD Frame Buffer
Read/Write
Address: 3C5h, Index: 4Bh
Power-on Default: Undefined
This register defines the read FIFO2 offset value of LCD Frame buffer. This offset value is used to calculate the read start
address of the next line of LCD Frame buffer from the current line. The offset register is a 10-bit register.
7
6
5
4
3
2
1
0
BIT [7:0] OF READ FIFO2 OFFSET VALUE
Bit 7:0
Bit [7:0] of read FIFO2 offset value for LCD frame buffer. This offset value is a direct mapping from bit
[10:3] of display memory read address bus. The upper two bits are in FPR4C register.
FPR4C: Read FIFO Offset Value of LCD Frame Buffer Overflow
Read/Write
Address: 3C5h, Index: 4Ch
Power-on Default: Undefined
This register defines the read FIFO offset value of LCD Frame buffer. This offset value is used to calculate the read start
address of the next line of LCD Frame buffer from the current line.
7
6
READ FIFO2
5
4
3
RESERVED
2
FPR44
1
0
RESERVED
Bit 7:6
Bit [9:8] of Read FIFO2 offset value register of LCD Frame buffer. These two bits are mapped to bit
[12:11] of display memory address bus. The lower 8 bits are in FPR4B register.
Bit 5:4
Reserved
Bit 3:2
Bit [9:8] of Read FIFO 1 offset Lower 8-bit are in FPR44 (FPR44)
Bit 1:0
Reserved
FPR4D: MSB Read FIFO Address
Read/Write
Address: 3C5h, Index: 4Dh
Power-on Default: Undefined
7
6
RESERVED
5
4
MSB READ FIFO2
3
RESERVED
Bit 7:6
Reserved
Bit 5:4
MSB of Read FIFO2 Address
21 - 28
2
1
0
MSB READ FIFO1
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 3:2
Reserved
Bit 1:0
MSB of Read FIFO1 Address
FPR4E: LCD2 Control Register
Read/Write
Address: 3C5h, Index: 4Eh
Power-on Default: Undefined
7
6
RESERVED
5
4
DPO
VSYNC
3
2
HSYNC FPSCLK
1
0
LCD2
STN
Bit 7:6
Reserved
Bit 5
Enable/disable digital panel output (DPO)
0 = Normal. Digital Panel interface connected. (default)
1 = Digital Panel interface is not connected. Fpdata[23:0] pad is in tri-state mode.
Bit 4
VSYNC Sync Phase (VSYNC)
0 = LCD2_VSYNC sync phase same as LCD1_VSYNC
1 = LCD2_VSYNC sync phase invert
Bit 3
HSYNC Sync Phase (HSYNC)
0 = LCD2_HSYNC sync phase same as LCD1_HSYNC
1 = LCD2_HSYNC sync phase invert
Bit 2
FPSCLK Clock (FPSCLK)
0 = LCD2_FPSCLK clock invert
1 = LCD2_FPSCLK clock phase same as LCD1_FPSCLK
Bit 1
LCD2 Panel (LCD2)
0 = Disable LCD2 panel
1 = Enable LCD2 panel
Bit 0
Continuos line pulse for STN (STN)
FPR50: LCD Overflow Register 1 for Virtual Refresh
Read/Write
Address: 3C5h, Index: 50h
Power-on Default: Undefined
This register defines the high order MSB bits of LCD Horizontal Sync Start (FPR54), and LCD Vertical Total (FPR55)
registers which are used to control Virtual Refresh timing.
7
6
5
RESERVED
Extended SMI Registers
4
3
2
[10:8] FPR55
1
0
FPR54
21 - 29
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 7:4
Reserved
Bit 3:1
Bit [10:8] of FPR55, Vertical Total of LCD in Virtual Refresh mode
Bit 0
Bit 8 of FPR54, Horizontal Sync Start of LCD in Virtual Refresh mode (FPR54)
FPR51: LCD Overflow Register 2 for Virtual Refresh
Read/Write
Address: 3C5h, Index: 51h
Power-on Default: Undefined
This register defines the overflow bits of FPR52, FPR53, FPR56, and FPR57 registers which are used to control Virtual
Refresh timing.
7
6
5
4
[10:8] FPR57
3
2
[10:8] FPR 56
1
0
FPR53 FPR4\52
Bit 7:5
Bit [10:8] of FPR57, Vertical Sync Start of LCD in Virtual Refresh mode
Bit 4:2
Bit [10:8] of FPR56, Vertical Display End of LCD in Virtual Refresh mode
Bit 1
Bit 8 of FPR53, Horizontal Display End of LCD in Virtual Refresh mode (FPR53)
Bit 0
Bit 8 of FPR52, Horizontal Total of LCD in Virtual Refresh mode (FPR52)
FPR52: LCD Horizontal Total for Virtual Refresh
Read/Write
Address: 3C5h, Index: 52h
Power-on Default: Undefined
This register defines the bit [7:0] of LCD Horizontal Total. This register is used in Virtual Refresh mode only. It represents
one line in TFT LCD and two lines in DSTN LCD. The LSB bit represents a 8-pixel period. The equation to calculate the
LCD horizontal total in Virtual Refresh mode is as follows:
LCDHT = (LCD panel width + horizontal blanking pixels) ÷ 8 - 1
LCDHT = (LCD panel width * 2 + horizontal blanking pixels) ÷ 8 - 1
For TFT:
For DSTN:
7
6
5
4
3
2
1
0
LCD HORIZONTAL TOTAL
Bit 7:0
LCD Horizontal Total [7:0] in Virtual Refresh mode. Bit 8 of LCD horizontal total is in FPR51 register.
FPR53: LCD Horizontal Display Enable for Virtual Refresh
Read/Write
Address: 3C5h, Index: 53h
Power-on Default: Undefined
21 - 30
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register defines the active horizontal display period of LCD in Virtual Refresh mode. It represents one line in TFT
LCD and two lines in DSTN LCD. The equation to calculate the LCD horizontal display enable in Virtual Refresh mode:
LCDHDE = (LCD panel width pixels) ÷ 8 - 1
LCDHDE = (LCD panel width * 2) ÷ 8 - 1
For TFT:
For DSTN:
7
6
5
4
3
2
1
0
LCD HORIZONTAL DISPLAY ENABLE PERIOD
Bit 7:0
LCD Horizontal display enable period [7:0] in Virtual Refresh mode. Bit 8 of LCD horizontal display
enable is in FPR51 register.
FPR54: LCD Horizontal Sync Start for Virtual Refresh
Read/Write
Address: 3C5h, Index: 54h
Power-on Default: Undefined
This register defines the LCD horizontal sync start in Virtual Refresh mode. This register is used to generate the start
timing of HYSNC for TFT LCD, or the start timing of LP for DSTN LCD. The value in LCDHSS needs to be larger than
the value in LCDHDE. The horizontal sync pulse width is 8 pixels or 16 pixels wide, which is dependent on FPR34 bit 6.
7
6
5
4
3
2
1
0
LCD HORIZONTAL SYNC START PERIOD
Bit 7:0
LCD Horizontal sync start period [7:0] in Virtual Refresh mode. Bit 8 of LCD horizontal sync start is in
FPR50 register.
FPR55: LCD Vertical Total for Virtual Refresh
Read/Write
Address: 3C5h, Index: 55h
Power-on Default: Undefined
This register defines the bit [7:0] of LCD Vertical Total. This register is used in Virtual Refresh mode only. The
calculation equation of LCD vertical total in Virtual Refresh mode is as follows:
For TFT:
LCDVT = (LCD panel height + vertical blank lines) - 1
For DSTN:
LCDVT = ((LCD panel height ÷ 2) + vertical blank lines) - 1
7
6
5
4
3
2
1
0
LCD VERTICAL TOTAL
Bit 7:0
LCD Vertical Total [7:0] in Virtual Refresh mode. Bit [10:8] of LCD vertical total are in FPR50 register.
Extended SMI Registers
21 - 31
Silicon Motion®, Inc.
Lynx3DM+
Databook
FPR56: LCD Vertical Display Enable for Virtual Refresh
Read/Write
Address: 3C5h, Index: 56h
Power-on Default: Undefined
This register defines the LCD active vertical display period in Virtual Refresh mode. The calculation equation of LCD
vertical display enable in Virtual Refresh mode is as follows:
For TFT:
LCDVDE = (LCD panel height) - 1
For DSTN:
LCDVDE = (LCD panel height ÷ 2) - 1
7
6
5
4
3
2
1
0
LCD VERTICAL DISPLAY ENABLE PERIOD
Bit 7:0
LCD vertical display enable period [7:0] in Virtual Refresh mode. Bit [10:8] of LCD vertical display
enable are in FPR51 register.
FPR57: LCD Vertical Sync Start for Virtual Refresh
Read/Write
Address: 3C5h, Index: 57h
Power-on Default: Undefined
This register defines the LCD vertical sync start in Virtual Refresh mode. This register is used to generate the start timing
VSYNC for TFT LCD, or the start timing of FP for DSTN LCD. The value in LCDVSS needs to be larger than the value
in LDVDE. The vertical sync pulse width is equal to one horizontal scan line.
7
6
5
4
3
2
1
0
LCD VERTICAL SYNC START PERIOD
Bit 7:0
LCD Vertical sync start period [7:0] in Virtual Refresh mode. Bit [10:8] of LCD vertical sync start are in
FPR51 register.
FPR58: EMI Control Register
Read/Write
Address: 3C5h, Index: 58h
Power-on Default: 00h
This register defines the EMI control register for LCD flat panels, including LCD Panel I/O pad drive strength, FSPCLK
clock delay control.
7
6
5
RESERVED
Bit 7:2
21 - 32
4
3
2
LCD
1
0
FPSCLK
Reserved
Extended SMI Registers
Silicon Motion®, Inc.
Bit 1:0
Lynx3DM+
Databook
FPSCLK Clock Control. Each unit of clock is approximately 1.2ns best case or 2.0ns best case.
00 = normal
01 = FPSCLK delays by 1 unit of clock
10 = FPSCLK delays by 2 unit of clock
11 = FPSCLK delays by 3 unit of clock
FPR59: Panel M-Signal Control Register
Read/Write
Address: 3C5h, Index: 59h
Power-on Default: 00h
This register defines the panel M-signal control such as modulation clock and modulation count.
7
6
5
MCS
4
3
2
1
0
MODULATION COUNT
Bit 7
Modulation Clock Select (MCS)
0 = Select Frame Clock
1 = Select Line Clock
Bit 6:0
Modulation Count. The modulation is generated at a rate that is specified by the modulation count and
modulation clock.
FPR5A: SYNC Pulse-widths Adjustment
Read/Write
Address: 3C5h, Index: 5Ah
Power-on Default: 00h
This register allows adjust to the HSYNC and VSYNC Pulsewidths.
7
6
5
4
3
HSYNC
2
1
0
VSYNC
Bit 7:3
Additional HSYNC pulse width in # of character clocks
Bit 2:0
Additional VSYNC pulse width in # of HSYNCs
FPRA0: Panel HW Video Control
Read/Write
Address: 3C5h, Index: A0h
Power-on Default: 00h
This register defines the panel video display logic during Virtual Refresh mode. The video display logic will only be
activated during Virtual Refresh mode with TFT panel.
Extended SMI Registers
21 - 33
Silicon Motion®, Inc.
Lynx3DM+
Databook
7
6
5
4
3
2
EPV
EHPD
ECK
RGB
EFS
EIC
1
0
RESERVED
Bit 7
Enable Panel Video (EPV)
0 = Disable
1 = Enable
Bit 6
Enable Horizontal Pixel Duplication (EHPD)
0 = Disable
1 = Enable
Bit 5
Enable Color Key (ECK)
0 = Disable
1 = Enable
Bit 4
RGB Format (RGB)
0 = YUV Format
1 = RGB Format
Bit 3
Enable Full screen video (EFS)
0 = Disable
1 = Enable
Bit 2
Enable 8-bit index color mode (only works in Virtual Refresh mode) (EIC)
0 = Disable
1 = Enable
Bit 1:0
Reserved
FPRA1: Panel Video Color Key
Read/Write
Address: 3C5h, Index: A1h
Power-on Default: 00h
This register defines the panel video color key [7:0]
7
6
5
4
3
2
1
0
PANEL VIDEO COLOR KEY [7:0]
Bit 7:0
Panel Video Color Key[7:0]
FPRA2: Panel Video Color Key
Read/Write
Address: 3C5h, Index: A2h
Power-on Default: 00h
21 - 34
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register defines the panel video color key [15:8]
7
6
5
4
3
2
1
0
1
0
1
0
1
0
PANEL VIDEO COLOR KEY [15:8]
Bit 7:0
Panel Video Color Key[15:8]
FPRA3: Panel Video Color Key Mask
Read/Write
Address: 3C5h, Index: A3h
Power-on Default: 00h
This register defines the panel video color key mask [7:0]
7
6
5
4
3
2
PANEL VIDEO COLOR KEY MASK [7:0]
Bit 7:0
Panel Video Color Key Mask[7:0]
FPRA4: Panel Video Color Key Mask
Read/Write
Address: 3C5h, Index: A4h
Power-on Default: 00h
This register defines the panel video color key mask [15:8]
7
6
5
4
3
2
PANEL VIDEO COLOR KEY MASK [15:8]
Bit 7:0
Panel Video Color Key Mask[15:8]
FPRA5: Panel Video Red Constant
Read/Write
Address: 3C5h, Index: A5h
Power-on Default: EDh
This register defines the panel video Red Constant
7
6
5
4
3
2
PANEL VIDEO RED CONSTANT [7:0]
Bit 7:0
Panel Video Red Constant [7:0]
Extended SMI Registers
21 - 35
Silicon Motion®, Inc.
Lynx3DM+
Databook
FPRA6: Panel Video Green Constant
Read/Write
Address: 3C5h, Index: A6h
Power-on Default: EDh
This register defines the panel video green constant
7
6
5
4
3
2
1
0
1
0
1
0
PANEL VIDEO GREEN CONSTANT [7:0]
Bit 7:0
Panel Video Green Constant [7:0]
FPRA7: Panel Video Blue Constant
Read/Write
Address: 3C5h, Index: A7h
Power-on Default: EDh
This register defines the panel video Blue Constant
7
6
5
4
3
2
PANEL VIDEO BLUE CONSTANT [7:0]
Bit 7:0
Panel Video Blue Constant [7:0]
FPRA8: Panel Video Top Boundary
Read/Write
Address: 3C5h, Index: A8h
Power-on Default: 00h
This register defines the panel video top boundary
7
6
5
4
3
2
PANEL VIDEO TOP BOUNDARY [7:0]
Bit 7:0
Panel Video Top Boundary [7:0]
FPRA9: Panel Video Left Boundary
Read/Write
Address: 3C5h, Index: A9h
Power-on Default: 00h
This register defines the panel video left boundary
21 - 36
Extended SMI Registers
Silicon Motion®, Inc.
7
6
Lynx3DM+
Databook
5
4
3
2
1
0
1
0
1
0
PANEL VIDEO LEFT BOUNDARY [7:0]
Bit 7:0
Panel Video Left Boundary [7:0]
FPRAA: Panel Video Bottom Boundary
Read/Write
Address: 3C5h, Index: AAh
Power-on Default: 00h
This register defines the panel video bottom boundary
7
6
5
4
3
2
PANEL VIDEO BOTTOM BOUNDARY [7:0]
Bit 7:0
Panel Video Bottom Boundary [7:0]
FPRAB: Panel Video Right Boundary
Read/Write
Address: 3C5h, Index: ABh
Power-on Default: 00h
This register defines the panel video Right boundary
7
6
5
4
3
2
PANEL VIDEO RIGHT BOUNDARY [7:0]
Bit 7:0
Panel Video Right Boundary [7:0]
FPRAC: Panel Video Top and Left Boundary Overflow
Read/Write
Address: 3C5h, Index: ACh
Power-on Default: 00h
This register defines the panel video top and left boundary overflow
7
6
5
PVLB
4
3
2
RESERVED
Bit 7:5
Panel Video Left Boundary [10:8] (PVLB)
Bit 4:3
Reserved
Extended SMI Registers
1
0
PVTB
21 - 37
Silicon Motion®, Inc.
Bit 2:0
Lynx3DM+
Databook
Panel Video Top Boundary [10:8] (PVTB)
FPRAD: Panel Video Bottom and Right Boundary Overflow
Read/Write
Address: 3C5h, Index: ADh
Power-on Default: 00h
This register defines the panel video bottom and right boundary overflow
7
6
5
PVRB
4
3
2
RESERVED
1
0
PVBB
Bit 7:5
Panel Video Right Boundary [10:8] (PVRB)
Bit 4:3
Reserved
Bit 2:0
Panel Video Bottom Boundary [10:8] (PVBB)
FPRAE: Panel Video Vertical Stretch Factor
Read/Write
Address: 3C5h, Index: AEh
Power-on Default: 00h
This register defines the panel video vertical stretch factor.
7
6
5
4
3
2
1
0
PANEL VIDEO VERTICAL STRETCH FACTOR [7:0]
Bit 7:0
Panel Video Vertical Stretch Factor [7:0]. The stretch factor equals to:
S/D * 256.
note: when stretch factor is set to 0, it becomes a 1-to-1 stretch.
FPRAF: Panel Video Horizontal Stretch Factor
Read/Write
Address: 3C5h, Index: AFh
Power-on Default: 00h
This register defines the panel video horizontal stretch factor
7
6
5
4
3
2
1
0
PANEL VIDEO HORIZONTAL STRETCH FACTOR [7:0]
Bit 7:0
21 - 38
Panel Video Horizontal Stretch Factor [7:0] The stretch factor equals to:
S/D * 256. Note: when stretch factor is set to 0, it becomes a 1-to-1 stretch.
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Memory Control Registers
MCR60: Memory Control
Read/Write
Address: 3C5h, Index: 60h
Power-on Default: 00h
This register specifies memory control for Memory Address Wrap Around, DRAM refresh, VGA to memory burst write,
and synchronization. This register also includes RAMDAC Write/Read Command Pulse Width select.
7
6
5
4
3
2
1
0
TRDL
BWC
RAM
DVGA
VGAF
R
DDRR
DRC
Bit 7
TRDL - Procreate termination cycle (TRDL)
0 = TRDL 2 clock (default)
1 = TRDL 1 clock
Bit 6
Block Write Control (BWC)
0 = Block write enabled
1 = Block Write not enabled (default)
Bit 5
RAMDAC Write/Read Command Pulse Width Select (RAM)
0 = Command Pulse is 4 MCLK high and 12 MCLK low
1 = Command Pulse is 8 MCLK high and 24 MCLK low
Bit 4
Disable VGA to memory burst write (DVGA)
0 = Enable
1 = Disable
Bit 3
VGA FIFO Empty Level Request Select. VGA FIFO is 8 level deep. (VGAF)
0 = VGA FIFO request if VGA FIFO is two level empty
1 = VGA FIFO request if VGA FIFO is four level empty
Bit 2
Reserved (R)
Bit 1
Disable DRAM Refresh Request (DDRR)
0 = Enable
1 = Disable
Bit 0
DRAM Refresh Control (DRC)
0 = Normal DRAM refresh
1 = Force to 1 DRAM refresh per scan line
MCR61: Memory Bank Address High
Read/Write
Address: 3C5h, Index: 61h
Power-on Default: 00h
Extended SMI Registers
21 - 39
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register specifies the high order memory bank address for non-linear addressing (or banking) mode (SCR18 bit 0 =
0).
7
6
5
4
3
2
1
0
MEMORY BANK ADDRESS HIGH
Bit 7:0
Memory Bank Address High
Specifies the high-order address for memory access in non-linear addressing (or banking) mode. The host will take these
bits append with address [15:0] to form a 22 bits address (4Mbyte).
MCR62: Memory Type and Timing Control
Read/Write
Address: 3C5h, Index: 62h
Power-on Default: This is a power-on configurable register (by RESET)
Lynx3DM+ supports both internal and external memory. This register specifies the memory type and memory timing
control. This register is power-on configurable by MD [7:0] of memory data bus.
7
6
5
4
3
2
1
0
RESERVED
Bit 7:0
Reserved
MCR76: Memory Type and Timing Control
Read/Write
Address: 3C5h, Index: 76h
Power-on Default: This is a power-on configurable register (by RESET)
7
6
EMDS
5
4
EMDC
3
2
1
0
TBWC
EEM
EMPD
EMR
Bit 7:6
MCB Memory Size
00 = 8MB
01 = 16MB
10 = Reserved
11 = 4MB
Bit 5:4
MCB memory Column Address Select
11= 8-bit column address
10 = 9-bit column address
0x = 10-bit column address
Bit 3
MCB Memory Block Write Cycle time
0 = 1 MCLK
1 = 2 MCLK
21 - 40
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 2
Reserved (Default = 1)
Bit 1
MCB Memory Active to Precharge Delay (tras)
0 = 4 MCLK
1 = 3 MCLK
Bit 0
MCB Memory Refresh to Command Delay (trc)
0 = 4 MCLK
1 = 3 MCLK
Clock Control Registers
CCR65: TV Encoder Control Register
Read/Write
Address: 3C5h, Index: 65h
Power-on Default: 00h
This register specifies the various TV controls.
7
6
5
SVHS
CVBS
TVEE
4
3
2
CRTDAC CRRC CRTDAC
1
0
TVCS
CHOS
Bit 7
SVHS TV enable (SVHS)
0 = SVHS TV off
1 = SVHS TV on
Bit 6
CVBS TV enable (CVBS)
0 = CVBS TV off
1 = CVBS TV on
Bit 5
TV Encoder Enable (TVEE)
0 = Disable TV Encoder (TVCLK disable)
1 = Enable TV Encoder
Bit 4, 2
00 = Connect CRTRGB from video mixer to CRTDAC
01 = Connect TVRGB (CRTRGB go through flicker reduction) to CRTDAC
10 = Connect LCDRGB from fpbkend to CRTDAC
Bit 3
Color RAM read control (CRRC)
0 = Read from CRT color RAM
1 = Read from LCD color RAM
Bit 1
TV clock select (TVCS)
0 = TVCLK generated from VCLK
1 = TVCLK generated from REFCLK input
Bit 0
CRT HSYNC output select (CHOS)
Extended SMI Registers
21 - 41
Silicon Motion®, Inc.
Lynx3DM+
Databook
0 = CRTHYSNC output to CRTHSYNC pin
1 = CRT composite SYNC to CRTHSYNC pin
CCR66: RAM Control and Function On/Off Register
Read/Write
Address: 3C5h, Index: 66h
Power-on Default: 00h
7
6
5
ROOC
4
3
RWCB2
2
CRT RAM
1
0
MCE
DEE
Bit 7:6
RAMLUT On/Off Control (ROOC)
0
0
Both RAM ON*~
1
0
LCD RAM OFF
0
1
CRT RAM OFF
1
1
Both RAM OFF
Bit 5:4
RAM Write Control Bits (RWCB2)
0
0
Write both RAM (CRT/LCD)
1
0
Write CRT RAM only
0
1
Write LCD RAM only
1
1
Reserve
Bit 3:2
CRT RAM 8/6 Bits and Gamma Control
0
0
6-bits RAM
1
0
8-bits RAM
x
1
Gamma correct ON
Bit 1
Motion Comp Enable (MCE)
1 = Disable MComp*~
0 = Enable MComp
Include MCCLK off
Bit 0
3D DrawEng Enable (DEE)
1 = Disable 3DEng*~
0 = Enable 3DEng
Include 3DMCLK and 3DMCLKB off
CCR67: For Test Purpose Only
Read/Write
Address: 3C5h, Index: 67h
Power-on Default: 00h
7
6
PDFC
Bit 7:6
21 - 42
5
4
3
TIFC
LPDFC
BHPS
2
1
0
RESERVED
11 = The power down frame counter is incremented by toggle CCR67_5 (PDFC)
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
10 = The power down frame counter is incremented by Vsync
Bit 5
Toggle this bit will increment the frame counter in test mode (CCR67_[7:6] = 11) (TIFC)
Bit 4
1 = To load the power down frame counter the following value will be loaded into the frame counter:
(CCR67_[2:0], CCR66_[7:0], CCR65_[7:4], 4’b0000) (LPDFC)
0 = Normal operation. The frame counter increment by Vsync
Bit 3
1 = Bypass hardware power sequencer for the FPdata. If select software power sequence this bit will not
function (BHPS)
0 = LCD power sequencer will function
Bit 2:0
Reserved
CCR68: Clock Control 1
Read/Write
Address: 3C5h, Index: 68h
Power-on Default: C0h
This register is used to select clock frequencies and pulse-width control.
7
6
VCLKF
Bit 7:6
5
4
ISO
CLK
3
2
SELECT VCLK
1
0
SELECT MCLK
Select VCLK frequency based on the following table (VCLKF)
Bit [7:6] ~EXCKE VCLK frequency
N
00
1
VCLK is selected from VGA 3C2h register
01
1
VCLK is selected from programmable VCLK registers: CCR6C and CCR6D
10
1
VCLK is selected from 17.734 MHz
11
1
VCLK is selected from 14.131818 MHz
xx
0
VCLK is selected from CKIN input
Bit 5
Enable ISO standard at VGA modes. This bit is designed to increase the CRT screen refresh rate to ISO
standard at VGA modes. This bit is used only when CCR68 bit [7:6] = 00b. (ISO)
0 = Standard VGA frequency which controlled by 3C2h bit [3:2]
1 = ISO frequency which selected by 3C2h bit [3:2]
CCR68 Bit 5
3C2h Bit [3:2]
VCLK frequency
0
00
25.180 MHz
0
01
28.325 MHz
1
00
31.500 MHz
1
01
35.484 MHz
Extended SMI Registers
21 - 43
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 4
Select 8-dot character clock and disable dot clock divided by 2 function. This bit is used when LCD or
TV is selected (determined by FPR31 [2:0]). When this bit set to "1", the bit 3 and bit 0 setting of VGA
Clocking Mode Register will be ignored. (CLK)
0 = Character clock and dot clock are controlled by VGA clocking mode register
1 = Select 8-dot character clock and non-divided by 2 dot clock
Bit 3:2
Select MCLK high pulse width
00 = default value
01 = reduce 1 ns high time
10 = increase 1 ns high time
11 = increase 2 ns high time
Bit 1:0
Select VCLK high pulse width
00 = default value
01 = reduce 1 ns high time
10 = increase 1 ns high time
11 = increase 2 ns high time
CCR69: Clock Control 2
Read/Write
Address: 3C5h, Index: 69h
Power-on Default: 80h
This register is used to select Virtual Refresh clock frequency, DRAM refresh clock frequency during sleep mode and
standby mode, and HSYNC & VSYNC control during sleep mode.
7
6
5
TVCLK
TDSS
4
LVDSCLK
3
2
DRAM
SHVSM
1
0
SELECT VRCLK
Bit 7
TVCLK or BLANK Select (TVCLK)
0 = Select BLANK output for pin 158
1 = Select TVCLK to external analog NTSC/PAL TV encoder via pin 158. TVCLK is equal to ¼ of
VCLK, where VCLK is programmable by CCR6C and CCR6D registers.
Bit 6
Test Data Source Select. This bit is used for LSI testing only. (TDSS)
0 = Select index color data for test data
1 = Select direct color data for test data
Bit 5:4
Select LVDSCLK output clock source when ~EXCKIN = 1.
00 = Select inverted VRCLK
01 = Output is always low
10 = Select inverted WFIFO clock (same as inverted VCLK)
11 = Select WFIFO clock (same as VCLK)
Bit 3
Select refresh clock source to control DRAM refresh during sleep mode and standby mode. It is
recommended to select external 32 KHz refresh clock to achieve highest power saving. (DRAM)
0 = Select external 32 KHz refresh clock
1 = Select internal PLL. During standby or sleep mode, the VCLK and MCLK frequency are selected
by PDR20 [5:4]. MCLK is used to replace external 32 KHz refresh clock to control DRAM refresh.
21 - 44
Extended SMI Registers
Silicon Motion®, Inc.
Bit 2
Lynx3DM+
Databook
Select HSYNC and VSYNC during Sleep Mode. (PDR20 bit 7 = 1) This bit is used to support VESA
DPMS during Sleep Mode. Lynx3DM+ will automatically support VESA DPMS Standby Mode during
its internal Standby Mode. (SHVSM)
Bit 2
DPMS STATE
HSYNC
VSYNC
0
Suspend
Pulses
No Pulses
1
Off
No Pulses
No Pulses
Bit 1:0
Select Virtual Refresh clock (VRCLK). The VRCLK is used to generate the timing sequence of LCD
interface signals and control logic during Virtual Refresh mode.
Bit [1:0]
VRCLK Frequency
00
VCLK2
01
½ MCLK
10
MCLK
11
programmable Video Clock¹
Notes:
1. In TV display mode, VCLK is set up as 14.31818 MHz clock from CKIN input (CCR68 [7:6] = 11b) to control TV
timing. VRCLK could be chosen from programmable Video Clock which is selected by CCR6C and CCR6D
registers by programming CCR69 [1:0] = 11b.
2.
In non-Virtual Refresh mode (FPR31 bit 7 = 0), VRCLK is the same as VCLK.
CCR6A: MCLK Numerator Register
Read/Write
Address: 3C5h, Index: 6Ah
Power-on Default: 0Fh
This register specifies the 8-bit numerator value of MCLK frequency (MNR). The MNR value is used to calculate the
programmable MCLK frequency as follow:
7
6
5
4
3
2
1
0
CALCULATE MCLK FREQUENCY [8]
Bit 7:0
Specify the 8-bit numerator value to calculate the selected MCLK frequency. The power-on default of
this register is 5Ah. Along with CCR6B, the default frequency is set to 40.27 MHz.
CCR6B: MCLK Denominator Register
Read/Write
Address: 3C5h, Index: 6Bh
Power-on Default: 04h
This register specifies the 6-bit denominator value of MCLK frequency (MDR). The MDR value is used to calculate the
programmable MCLK frequency as follow:
Extended SMI Registers
21 - 45
Silicon Motion®, Inc.
7
6
Lynx3DM+
Databook
5
RESERVED
4
3
2
1
0
CALCULATE MCLK FREQUENCY [6]
Bit 7:6
Reserved
Bit 5:0
Specify the 6-bit denominator value to calculate the selected MCLK frequency. The power-on default
of this register is 20h. Along with CCR6A, the default frequency is set to 40.27 MHz.
CCR6C: VCLK Numerator Register
Read/Write
Address: 3C5h, Index: 6Ch
Power-on Default: 1Fh
This register specifies the numerator value of VCLK frequency (VNR). The VNR value is used to calculate the
programmable VCLK frequency as follow:
7
6
5
4
3
2
1
0
CALCULATE VCLK FREQUENCY
Bit 7:0
Specify the numerator value to calculate the selected VCLK frequency. The power-on default setting of
this register is 5Bh. Along with CCR6D, the default frequency is set to 28.325 MHz.
CCR6D: VCLK Denominator Register
Read/Write
Address: 3C5h, Index: 6Dh
Power-on Default: 0Fh
This register specifies the 6-bit denominator (VDR) value of and 1 bit post scalar (PS) value of VCLK frequency. The
VDR value is used to calculate the programmable VCLK frequency. The post scalar is used to support VCLK frequencies
which originally need high and even VDR value. With PS enabled, the revised VDR value should be set half of the
original VDR value in order to reduce potential jitters.
7
6
5
EPS
EVC0
4
3
2
1
0
VCLK FREQUENCY [6]
Bit 7
Enable Post Scalar. When post scalar is enabled, the revised VDR value is 1/2 of its original VDR value.
(EPS)
0 = Disable
1 = Enable
Bit 6
Enable second VC0 (EVC0)
0 = Disable
1 = Enable
Bit 5:0
Specify the 6-bit denominator value to calculate the selected VCLK frequency. The power-on default
setting of this register is 2Eh. Along with CCR6C, the default frequency is set to 28.325 MHz.
21 - 46
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
CCR6E: VCLK2 Numerator Register
Read/Write
Address: 3C5h, Index: 6Eh
Power-on Default: 5Ah
This register specifies the 8-bit numerator value of VCLK2 frequency (VCKL2NR). The VCLK2NR value is used to
calculate the programmable VCLK2 frequency as follow:
7
6
5
4
3
2
1
0
VCLK2 FREQUENCY [8]
Bit 7:0
Specify the 8-bit numerator value to calculate the selected VCLK2 frequency. Along with CCR6F, the
default frequency is set to 40.27 MHz.
CCR6F: VCLK2 Denominator Register
Read/Write
Address: 3C5h, Index: 6Fh
Power-on Default: 20h
This register specifies the 6-bit denominator value of VCLK2 frequency (VCLK2DR). The VCLK2DR value is used to
calculate the programmable VCLK2 frequency as follow:
7
6
5
EPS
EVC0
4
3
2
1
0
CALCULATE VCLK2 FREQUENCY [6]
Bit 7
Enable Post Scalar. When post scalar is enabled, the revised VDR value is 1/2 of its original VDR value.
(EPS)
0 = Disable
1 = Enable
Bit 6
Enable second VC0 (EVC0)
0 = Disable
1 = Enable
Bit 5:0
Specify the 6-bit denominator value to calculate the selected VCLK2 frequency. Along with CCR6E,
the default frequency is set to 40.27 MHz.
CCR7A-CCR7C: TV and RAMDAC Testing Power
Read/Write
Address: 3C5h, Index: 7Ah-7Ch
Power-on Default: 00h
7
6
5
4
3
2
1
0
TV AND RAMDAC TESTING POWER ON RESET = 00
Bit 7:0
TV and RAMDAC testing power on reset = 00
Extended SMI Registers
21 - 47
Silicon Motion®, Inc.
Lynx3DM+
Databook
Note: See Appendix E for further details.
CCR7D: Control Registers for TV and RAMDAC Testing
Read/Write
Address: 3C5h, Index: 7Dh
Power-on Default: 00h
7
6
5
4
3
2
TV
SVHS
CVBS
MD
VCLK
MCLK
1
0
RESERVED
Bit 7
TV Detect (TV)
0 = Normal operation
1 = Use CCR7A, CCR7B, and CCR7C data to check for TV detect
Bit 6
Read only for SVHS Detect (SVHS)
Bit 5
Read only for CVBS detect (CVBS)
Bit 4
Monitor Detect (MD)
0 = Normal operation
1 = Use CCR7A, CCR7B, and CCR7C data to check for monitor detect
Bit 3
External VCLK
0 = Normal operation
1 = Enable external VCLK
Bit 2
External MCLK
0 = Normal operation
1 = Enable external MCLK
Bit 1:0
Reserved
Note: See Appendix E for further details.
General Purpose Registers
GPR70: Scratch Pad Register 1
Read/Write
Address: 3C5h, Index: 70h
Power-on Default: Undefined except for bit [3:0] which are power-on configurable (by RESET)
This register can be used as general purpose scratch bits.
7
6
5
SCRATCH PAD REG BITS
Bit 7:4
21 - 48
4
3
2
1
0
SCRATCH PAD REG BITS MD [19:16]
Scratch pad register bits. This register can be used as general purpose bits.
Extended SMI Registers
Silicon Motion®, Inc.
Bit 3:0
Lynx3DM+
Databook
Scratch pad register bits. These lower 4 bits are also connected to MD [19:16] of memory data bus.
The external pull-down on MD lines will generate a logic "0", and internal pull-up will generate a logic
"1" during power-on reset period. For power-on configuration, please refer to Initialization chapter of
this data book.
GPR71: Scratch Pad Register 2
Read/Write
Address: 3C5h, Index: 71h
Power-on Default: Undefined
This register can be used as general purpose scratch bits.
7
6
5
4
3
2
1
0
SCRATCH PAD 2 REGISTER
Bit 7:0
Scratch Pad 2 register. This register can be used as general purpose scratch bits.
GPR72: User Defined Register 1 for DDC2/ I2C
Read/Write
Address: 3C5h, Index: 72h
Power-on Default: 00h
This register is used for user defined registers: USR1/SDA and USR0/SCL. The SDA and SCL can be used for VESA
DDC2 / I2C serial communication port.
7
6
RESERVED
5
4
3
2
EUSR1
EUSR0
USR1S
USR0S
1
0
USR1W USR0W
Bit 7:6
Reserved
Bit 5
Enable USR1/SDA Port (EUSR1)
0 = Disable use of bit 1 of this register
1 = Enable use of bit 1 of this register
Bit 4
Enable USR0/SCL Port (EUSR0)
0 = Disable use of bit 0 of this register
1 = Enable use of bit 0 of this register
Bit 3
USR1/SDA Status (Read only). This bit can be used for DDC2/I2C Data. (USR1S)
0 = pin USR1/SDA is low
1 = pin USR1/SDA is tri-stated
Bit 2
USR0/SCL Status (Read only). This bit can be used for DDC2/I2C Clock. (USR0S)
0 = pin USR0/SCL is low
1 = pin USR0/SCL is tri-stated
Extended SMI Registers
21 - 49
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 1
USR1/SDA Write. Pin 131 can be used for DDC2/I2C Data. When pin USR1/SDA is tri-stated, other
devices may drive this line. The actual state of the pin USR1/SDA is read via bit 3 of this register.
(USR1W)
0 = pin USR1/SDA is driven low
1 = pin USR1/SDA is tri-stated
Bit 0
USR0/SCL Write. Pin 132 can be used for DDC2/I2C Clock. When pin USR0/SCL is tri-stated, other
devices may drive this line. The actual state of the pin USR0/SCL is read via bit 2 of this register.
(USR0W)0 = pin USR0/SCL is driven low
1 = pin USR0/SCL is tri-stated
Note: See Appendix D for further details.
GPR73: User Defined Register 2
Read/Write
Address: 3C5h, Index: 73h
Power-on Default: 00h
This register can be used to control user programmable outputs: USR2 and USR3 pins.
7
6
RESERVED
5
4
3
2
USR3P
USR2P
USER3
USER2
1
0
USR3W USR2W
Bit 7:6
Reserved
Bit 5
Enable USR3 Port (USR3P)
0 = Disable use of bit 1 of this register
1 = Enable use of bit 1 of this register
Bit 4
Enable USR2 Port (USR2P)
0 = Disable use of bit 0 of this register
1 = Enable use of bit 0 of this register
Bit 3
USER3 Status (Read only) (USER3)
0 = pin USR3 is low
1 = pin USR3 is tri-stated
Bit 2
USER2 Status (Read only) (USER2)
0 = pin USR2 is low
1 = pin USR2 is tri-stated
Bit 1
USR3 Write. When pin USR3 is tri-stated, other devices may drive this line. The actual state of the pin
USR3 is read via bit 3 of this register. (USR3W)
0 = pin USR3 is driven low
1 = pin USR3 is tri-stated
Bit 0
USR2 Write. When pin USR2 is tri-stated, other devices may drive this line. The actual state of the pin
USR2 is read via bit 2 of this register. (USR2W)
0 = pin USR2 is driven low
21 - 50
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
1 = pin USR2 is tri-stated
GPR74: Scratch Pad Register 3
Read/Write
Address: 3C5h, Index: 74h
Power-on Default: Undefined
This register can be used as general purpose scratch bits.
7
6
5
4
3
2
1
0
SCRATCH PAD 3 REGISTER
Bit 7:0
Scratch Pad 3 register. This register can be used as general purpose scratch bits.
GPR75: Scratch Pad register 4
Read/Write
Address: 3C5h, Index: 75h
Power-on Default: Undefined
This register can be used as general purpose scratch bits.
7
6
5
4
3
2
1
0
SCRATCH PAD 4 REGISTER
Bit 7:0
Scratch Pad 4 register. This register can be used as general purpose scratch bits.
Pop-up Icon and Hardware Cursor Registers
PHR80: Pop-up Icon and Hardware Cursor Pattern Location Low
Read/Write
Address: 3C5h, Index: 80h
Power-on Default: Undefined
This register specifies the low 8 bits of the address for pop-up icon and Hardware Cursor Pattern Location, which is a 11bit register. The high order 3 bits are specified in the PHR81 [2:0] register.
7
6
5
4
3
2
1
0
POP-UP ICON AND HARDWARE CURSOR PATTERN
Bit 7:0
Pop-up Icon and Hardware Cursor Pattern Location Low. The PHR80 and PHR81 [2:0] registers
allocate 2KB off-screen memory within the maximum 4MB of physical memory. The lower 1KB is
used to store Pop-up Icon image. The upper 1KB is used to store Hardware Cursor image
Extended SMI Registers
21 - 51
Silicon Motion®, Inc.
Lynx3DM+
Databook
PHR81: Hardware Cursor Enable & PI/HWC Pattern Location High
Read/Write
Address: 3C5h, Index: 81h
Power-on Default: 0xh
This register specifies the hardware cursor enable and the high-order 3 bits of the address for pop-up icon and Hardware
Cursor Pattern Location, which is a 11-bit register. The low order 8 bits are specified in the PHR80 register.
7
6
HCE
R
5
4
3
2
1
0
POP-UP ICON
Bit 7
Hardware Cursor Enable (HCE)
0 = Disable (default)
1 = Enable
Bit 6
Reserved (R)
Bit 5:0
Pop-up Icon and Hardware Cursor Pattern Location High. The PHR80 and PHR81 [2:0] registers
allocate 2KB off-screen memory within the maximum 32MB of physical memory. The lower 1KB is
used to store Pop-up Icon image. The upper 1KB is used to store Hardware Cursor image.
Pop-up Icon Registers
POP82: Pop-up Icon Control
Read/Write
Address: 3C5h, Index: 82h
Power-on Default: 00h
This register specifies the control for pop-up icon.
7
6
PUIE
PUIZE
5
4
3
2
1
0
RESERVED
Bit 7
Pop-up Icon Enable (PUIE)
0 = Disable
1 = Enable
Bit 6
Pop-up Icon Zoom Enable (PUIZE)
0 = Normal. (Pop-up Icon size is 64x64x2)
1 = zoom up the Pop-up Icon size by 2. (Pop-up Icon size is 128x128x2)
Bit 5:0
Reserved
POP83: Reserved
Read/Write
Address: 3C5h, Index: 83h
Power-on Default: Undefined
21 - 52
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register is reserved.
7
6
5
4
3
2
1
0
2
1
0
2
1
0
2
1
0
RESERVED
Bit 7:0
Reserved
POP84: Pop-up Icon Color 1
Read/Write
Address: 3C5h, Index: 84h
Power-on Default: Undefined
This register specifies the color1 for pop-up icon.
7
6
5
4
3
POP-UP ICON COLOR1
Bit 7:0
Pop-up icon color1.
POP85: Pop-up Icon Color 2
Read/Write
Address: 3C5h, Index: 85h
Power-on Default: Undefined
This register specifies the color2 for pop-up icon.
7
6
5
4
3
POP-UP ICON COLOR2
Bit 7:0
Pop-up icon color2.
POP86: Pop-up Icon Color 3
Read/Write
Address: 3C5h, Index: 86h
Power-on Default: Undefined
This register specifies the color3 for pop-up icon.
7
6
5
4
3
POP-UP ICON COLOR3
Bit 7:0
Pop-up icon color3.
Extended SMI Registers
21 - 53
Silicon Motion®, Inc.
Lynx3DM+
Databook
POP90: Pop-up Icon Start X - Low
Read/Write
Address: 3C5h, Index: 90h
Power-on Default: Undefined
This register specifies Pop-up icon location X start [7:1]. The pop icon can only be moved in X direction by increments of
2 pixels. Bit [0] has no effect
7
6
5
4
3
2
1
POP-UP ICON X START [7:0]
Bit 7:1
Pop-up icon X start [7:1]
Bit 0
Has no effect (NE)
0
NE
POP91: Pop-up Icon Start X - High
Read/Write
Address: 3C5h, Index: 91h
Power-on Default: Undefined
This register specifies Pop-up icon location X start [11:8]
7
6
5
4
3
RESERVED
2
1
0
POP-UP ICON X START
Bit 7:3
Reserved
Bit 2:0
Pop-up icon X start [10:8]
POP92: Pop-up Icon Start Y - Low
Read/Write
Address: 3C5h, Index: 92h
Power-on Default: Undefined
This register specifies Pop-up icon location Y start [7:0]
7
6
5
4
3
2
1
0
POP-UP ICON Y START
Bit 7:0
Pop-up icon Y start [7:0]
POP93: Pop-up Icon Start Y - High
Read/Write
Address: 3C5h, Index: 93h
Power-on Default: Undefined
21 - 54
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register specifies Pop-up icon location Y start [11:8]
7
6
5
4
3
RESERVED
2
1
0
POP-UP ICON Y START
Bit 7:3
Reserved
Bit 2:0
Pop-up icon Y start [10:8]
Hardware Cursor Registers
HCR88: Hardware Cursor Upper Left X Position - Low
Read/Write
Address: 3C5h, Index: 88h
Power-on Default: 00h
This register specifies the lower 8-bit upper left X position for hardware cursor.
7
6
5
4
3
2
1
0
HARDWARE CURSOR X POSITION LOW ORDER
Bit 7:0
Hardware Cursor X position low order 8 bits. The high order 3 bits are in HCR89[2:0].
HCR89: Hardware Cursor Upper Left X Position- High
Read/Write
Address: 3C5h, Index: 89h
Power-on Default: 00h
This register specifies the upper left X position for hardware cursor.
7
6
5
RESERVED
4
3
HCUL
2
1
0
HCXP
Bit 7:4
Reserved
Bit 3
Hardware Cursor Upper Left X Position Boundary Select (HCUL)
0 = hardware cursor is within the screen left side boundary. {HCR89[2:0], HCR88[7:0]} specify the X
position of the hardware cursor from the left side boundary.
1 = hardware cursor is partially or totally outside of the left side screen boundary. HCR88 [4:0] specify
how many pixels of the hardware cursor are outside the left side screen boundary.
Bit 2:0
Hardware Cursor X position high-order 3 bits. The low order 8 bits are specified in the HCR88 register.
(HCXP)
Extended SMI Registers
21 - 55
Silicon Motion®, Inc.
Lynx3DM+
Databook
HCR8A: Hardware Cursor Upper Left Y Position - Low
Read/Write
Address: 3C5h, Index: 8Ah
Power-on Default: 00h
This register specifies the upper left Y position for hardware cursor.
7
6
5
4
3
2
1
0
HARDWARE CURSOR Y POSITION LOW ORDER
Bit 7:0
Hardware Cursor Y position low order 8 bits. The high order 3 bits are in HCR8B [2:0].
HCR8B: Hardware Cursor Upper Left Y Position - High
Read/Write
Address: 3C5h, Index: 8Bh
Power-on Default: 00h
This register specifies the upper left Y position for hardware cursor.
7
6
5
4
RESERVED
3
2
HCUL
1
0
HCYP
Bit 7:4
Reserved
Bit 3
Hardware Cursor Upper Left Y Boundary Select (HCUL)
0 = hardware cursor is within the screen top side boundary. {HCR8B[2:0], HCR8A[7:0]} specify the Y
position of the hardware cursor from the top side boundary.
1 = hardware cursor is partially or totally outside of the top side screen boundary. HCR8A [4:0] specify
how many pixels of the hardware cursor are outside the top side screen boundary.
Bit 2:0
Hardware Cursor Y position high-order 3 bits. The low order 8 bits are specified in the HCR8A register.
(HCYP)
HCR8C: Hardware Cursor Foreground Color
Read/Write
Address: 3C5h, Index: 8Ch
Power-on Default: 00h
This register specifies the foreground color for hardware cursor. Hardware Cursor is always in 24-bit color. The 24-bit
color is the expansion of 3:3:2 RGB into 8:8:8 RGB color.
7
6
5
4
3
2
1
0
HARDWARE CURSOR FOREGROUND COLOR
Bit 7:0
21 - 56
Hardware Cursor foreground color
This register defines 3:3:2 8-bit RGB of the Hardware Cursor foreground color.
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
HCR8D: Hardware Cursor Background Color
Read/Write
Address: 3C5h, Index: 8Dh
Power-on Default: 00h
This register specifies the background color for hardware cursor. Hardware Cursor is always in 24-bit color. The 24-bit
color is the expansion of 3:3:2 RGB into 8:8:8 RGB color.
7
6
5
4
3
2
1
0
HARDWARE CURSOR BACKGROUND COLOR
Bit 7:0
Hardware Cursor background color
This register defines 3:3:2 8-bit RGB of the Hardware Cursor background color.
Extended CRT Control Registers
CRT30: CRTC Overflow and Interlace Mode Enable
Read/Write
Address: 3?5h, Index: 30h
Power-on Default: 00h
This register specifies the CRTC overflow registers and Interlace Mode Enable.
7
6
IME
CRTHR
5
4
CRT DISPLAY
3
2
1
0
CVTR
CVDER
CVBS
CVRS
Bit 7
Interlace Mode Enable (IME)
0 = Disable
1 = Enable
Bit 6
Bit 8 of the horizontal register. Bit [7:0] are located at CRTC register index 00.
Bit 5:4
Bit [17:16] of the CRT display starting address. The lower order 16-bit are located in CRTC register
index 0Ch and 0Dh.
Bit 3
Bit 10 of the CRT vertical total register. The lower bit [9:0] are defined in CRTC register index 07h and
06h. (CVTR)
Bit 2
Bit 10 of the CRT vertical display end register. The lower bit [9:0] are defined in CRTC register index
12h and 07h. (CVDER)
Bit 1
Bit 10 of the CRT vertical blank start. The lower bit [9:0] are defined in CRTC register index 15 h, 09h,
and 07h. (CVBS)
Bit 0
Bit 10 of the CRT vertical retrace start. The lower bit [9:0] are defined in CRTC register index 10h and
07h. (CVRS)
Extended SMI Registers
21 - 57
Silicon Motion®, Inc.
Lynx3DM+
Databook
CRT31: Interlace Retrace
Read/Write
Address: 3?5h, Index: 31h
Power-on Default: 00h
This register specifies when vertical retrace begins. This register is only valid if interlace mode is enabled (CRT30 Bit 7 =
1).
7
6
5
4
3
2
1
0
SPECIFIY # CHARACTER UNITS IN HORIZONTAL TIMING
Bit 7:0
Specify the number of character units in horizontal timing when vertical retrace begins.
CRT32: TV Vertical Display Enable Start
Read/Write
Address: 3?5h, Index: 32h
Power-on Default: 00h
This register specifies the vertical display enable start for TV timing.
7
6
5
4
3
2
1
0
TV VERTICAL DISPLAY ENABLE
Bit 7:0
When CRT vertical count = CRT32 [7:0], TV vertical display enable become active.
CRT33: TV Vertical Display Enable End - High
Read/Write
Address: 3?5h, Index: 33h
Power-on Default: 00h
This register specifies the vertical display enable end for TV timing. This register is a 11-bit register. The lower 8-bit of
this register resides in CRT34.
7
ITE
6
5
HBE
4
3
VBE
2
1
0
CRT VERTICAL COUNT
Bit 7
Interlace Timing Enable for double scan modes (i.e.: mode 13, etc.) (ITE)
0 = Disable
1 = Enable
Bit 6:5
Bit [7:6] of Horizontal Blank End. Bit 5 is located in bit 7 of CRTC register, 3?5h, index 5. Bit [4:0] is
located in CRTC register, 3?5h, index 3. (HBE)
Bit 4:3
Bit [9:8] of Vertical Blank End. Bit [7:0] of Vertical Blank End is located in CRTC register, 3?5h, index
16. (VBE)
21 - 58
Extended SMI Registers
Silicon Motion®, Inc.
Bit 2:0
Lynx3DM+
Databook
When CRT vertical count = {CRT33 [2:0],CRT34 [7:0]}, TV vertical display enable becomes inactive.
CRT34: TV Vertical Display Enable End - Low
Read/Write
Address: 3?5h, Index: 34h
Power-on Default: 00h
This register specifies the vertical display enable end for TV timing.
7
6
5
4
3
2
1
0
CRT VERTICAL COUNT
Bit 7:0
When CRT vertical count = {CRT33 [2:0],CRT34 [7:0]} TV vertical display enable becomes inactive.
CRT35: Vertical Screen Expansion DDA Control Constant - Low
Read/Write
Address: 3?5h, Index: 35h
Power-on Default: 00h
This register specifies bit [7:0] the DDA control constant (DDACC) which is used for vertical screen expansion in VGA
modes. Bit [9:8] of the DDACC is located in CRT36.
To enable vertical screen expansion in VGA graphics modes, one needs to program the DDA control constant (DDACC)
equal to:
DDACC =
1024 * actual vertical size
expanded vertical size
To enable vertical expansion in VGA text mode, one must program DDACC [2:0] = # of times the last character row
should be repeated.
7
6
5
4
3
2
1
0
VERTICAL SCREEN EXPANSION
Bit 7:0
This register defines the lower 8 bits of the vertical screen expansion DDA control constant. The upper
2 bits of the DDACC register is located in CRT36. For VGA text modes, only the lower [2:0] are valid.
CRT36: Vertical Screen Expansion DDA Control Constant - High
Read/Write
Address: 3?5h, Index: 36h
Power-on Default: 00h
This register the vertical screen expansion DDA control constant lower 8 bits.
7
6
5
RESERVED
Extended SMI Registers
4
3
2
VBE_10
1
0
VSE
21 - 59
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 7:3
Reserved
Bit 2
Blank End Control Bits_10. Bit [7:0] of Vertical Blank End is located in CRTC register, 3?5h, index 16.
(VBE_10)
Bit [9:8] of VBE is located in CRTC register 3?5h, index 33, Bit [4:3]
Bit [7:0] of VBE is located at 3?5h, index 16 [7:0]
Bit 1:0
This register defines bit [9:8] of the vertical screen expansion DDA control constant. The lower 8-bit are
located in CRT35. (VSE)
CRT37: Hardware/VGA Test Selection
Read/Write
Address: 3?5h, Index: 37h
Power-on Default: 00h
7
6
5
4
HARDWARE TEST
3
2
1
0
VGA HARDWARE TEST SELECTION
Bit 7:5
Reserved for hardware test bus selection
Bit 4:0
Reserved for VGA hardware testing
CRT38: TV Equalization Pulse Control - For use with an external TV encoder only
Read/Write
Address: 3?5h, Index: 38h
Power-on Default: 00h
7
6
CSS
R
5
4
3
2
1
0
EQUALIZATION PULSE WIDTH
Bit 7
Composite Sync Select (CSS)
0 = CSYNC is generated by SYNCs (HSYNC NOR VSYNC)
1 = CSYNC is generated by equalizer state machine
Bit 6
Reserved (R)
Bit 5:0
Equalization pulse width in units of four VCLK
CRT39: TV Serration Pulse Control - For use with an external TV encoder only
Read/Write
Address: 3?5h, Index: 39h
Power-on Default: 00h
7
6
RESERVED
21 - 60
5
4
3
2
1
0
SERRATION PULSE WIDTH
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 7:6
Reserved
Bit 5:0
Serration pulse width in units of four VCLK
CRT3A: TV Total Timing Control for the Internal TV Encoder
Read/Write
Address: 3?5h, Index: 3Ah
Power-on Default: 00h
7
6
5
RESERVED
4
3
2
HSYNC
1
0
DOT CLOCKS
Bit 7:6
Reserved
Bit 5:3
00 = Normal
01 = HSYNC delayed by one pixel clock
02 = HSYNC delayed by two pixel clock
03 = HSYNC delayed by three pixel clock
04 = HSYNC delayed by four pixel clock
05 = HSYNC delayed by five pixel clock
Bit 2:0
07 = One character clock contains 7 dot clocks
06 = One character clock contains 6 dot clocks
05 = One character clock contains 5 dot clocks
04 = One character clock contains 4 dot clocks
03 = One character clock contains 3 dot clocks
02 = One character clock contains 2 dot clocks
01 = One character clock contains 1 dot clocks
00 = One character clock contains 0 dot clocks
For example, to program 910 pixel horizontal total for 4fc NTSC TV mode:
Program CRT horizontal total register to be 109 character clock
Program 3?4 index 3A bit [2:0] = 06
The actual total number of characters per horizontal line is 109 + 5 = 114
The horizontal total in pixel clock is: 113 x 8 + 6 = 910
CRT3B: Miscellaneous Lock Register I
Read/Write
Address: 3?5h, Index: 3Bh
Power-on Default: 00h
7
6
5
4
3
2
1
0
RESERVED FOR VGA HARDWARE TESTING
Bit 7:0
Reserved for VGA Hardware testing
Extended SMI Registers
21 - 61
Silicon Motion®, Inc.
Lynx3DM+
Databook
CRT3C: Miscellaneous Lock Register II
Read/Write
Address: 3?5h, Index: 3Ch
Power-on Default: 00h
7
6
RESERVED
5
4
BSS
VGALC
3
2
1
0
RESERVED
Bit 7:6
Reserved VGA hardware debug test bus selection
Bit 5
Blanking signal selection (BSS)
0 = The blanking signal sent to RAMDAC is reversed active display. Outside of active display the
blanking is active (black color). The border color register has no effect.
1 = The blank signal sent to RAMDAC is the normal blank signal from CRT. When both the blank and
dispen are inactive the border color is displayed.
Bit 4
VGA line compare register (CRT09 [6] and CRT07 [4]) force (VGALC)
0 = normal (default)
1 = Enable. Force line compare [9:8] to be high. The original line compare control bits [9:8] have no
effect. This register is used for Japanese DOS hardware scrolling compatibility purpose.
Bit 3:0
Reserved
CRT3D Scratch Register Bits
Read/Write
Address: 3?5h, Index: 3Dh
Power-on Default:
7
6
5
4
3
2
1
0
2
1
0
SCRATCH REGISTER BITS
Bit 7:0
Scratch Register Bit
CRT3E: Scratch Register Bits
Read/Write
Address: 3?4h, Index: 3Eh
Power-on Default: 00h
7
6
5
4
3
SCRATCH REGISTER BITS
Bit 7:0
21 - 62
Scratch Register Bits
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
CRT3F: Scratch Register Bits
Read/Write
Address: 3?4h, Index: 3Fh
Power-on Default: 00h
7
6
5
4
3
2
1
0
SCRATCH REGISTER BITS
Bit 7:0
Scratch Register Bits
CRT9E: Expansion/Centering Control Register 2
Read/Write
Address: 3?4h, Index: 9Eh
Power-on Default: 00h
7
6
5
4
3
2
1
0
FE
HSCRT
HSRW
VE
VC
VEE
VCE
HCE
Bit 7
Font expansion control bit (FE)
This bit is effective if the following is true: CRT9E_[4] = 0 and the text mode plus the vertical expansion
is on and CRT09_[4:0] < H0F
0 = The font vertical expansion will repeat the last character row
1 = The font vertical expansion will insert lines (with screen background color) between the last scan
line of the current character row and the first scan of the next character row.
Bit 6
Horizontal shadow register selection for CRT timing control (HSCRT)
0 = There are two sets of horizontal shadow registers (primary and secondary). The selection switch is at
the beginning of the vsync. If CR9F_[0] or CR9F [1] or FPR32_[0] is equal to 1 the second set is
selected. If these registers are not equal to 1 then the primary set is selected.
1 = To force the selection of the second set of horizontal shadow register
Bit 5
Horizontal shadow register read/write selection (HSRW)
The following register update are effected
SVR40_[7:0] - Horizontal total shadow
SVR41_[7:0] - Horizontal blank start shadow
SVR42_[4:0] - Horizontal blank end shadow
SVR44_[7] - Horizontal blank end bit 5 shadow
CRT33_[6:5] - Horizontal blank end bit 7 & 6
SVR43_[7:0] - Horizontal sync start shadow
SVR44_[4:0] - Horizontal sync end
CRT9F_[0] - 10 dots expansion
CRT9F_[1] - 12 dots expansion
These registers have two sets - primary and secondary.
Bit 5=0: The primary registers are selected for W/R and control crt
Bit 5=1: The secondary registers are selected for W/R and control crt
Extended SMI Registers
21 - 63
Silicon Motion®, Inc.
Lynx3DM+
Databook
Bit 4
Vertical expansion DDA value selection (VE)
0 = Vertical expansion will select the DDA value from the DDA look up table (3?4.35&36). This bit has
no effect if bit 2 of this register = 0.
1 = Vertical expansion will select the DDA value from the DDA look up table (3?4.90-91B).
Bit 3
Vertical centering offset value selection (VC)
0 = Select vertical centering offset value from vertical center offset register (3?4, Index A6). This bit has
no effect if bit 1 of this register = 0
1 = Select vertical centering offset value from a look-up table (look up by vdispend)
Bit 2
Vertical expansion enable selection (VEE)
0 = Vertical expansion disable
1 = Vertical expansion enable
Bit 1
Vertical centering enable selection (VCE)
0 = Vertical centering disable
1 = Vertical centering enable
Bit 0
Horizontal centering enable selection (HCE)
0 = Horizontal centering disable
1 = Horizontal centering enable
CRT9F: Expansion/Center Control Register 1
Read/Write
Address: 3?4h, Index: 9Fh
Power-on Default: 00h
7
6
5
RESERVED
4
3
2
1
0
HT
16DOT
CC12
CC10
Bit 7:4
Reserved
Bit 3
For hardware testing only (HT)
0 = VGA mode use non divide by 2 video clock. Extended VGA mode use divide by 2 video clock
1 = Reserved for 16 dot expansion. Should set to 0.
Bit 2
Reserved for 16 dot expansion. Should set to 0. (16DOT)
Bit 1
12 dot expansion (CC12)
0 = 12 dots expansion disabled
1 = Character clock expand to 12 dots regardless of bit 0 of this register
Bit 0
10 dot expansion (CC10)
0 = 10 dots expansion
1 = Character clock expand to 10 dots
21 - 64
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
CRT90-9B Vertical DDA Look Up Table & CRTA0-A5: Vertical Centering Offset Look Up Table
Read/Write
Address: 3?4, Index A0h-A5h
Power-on Default: 00h
3?4.90
7
6
5
4
3
3?4.91
2
1
0
7
6
FIELD 3
5
4
3
3?4.A0
2
1
0
5
4
FIELD 2
3
2
1
0
FIELD 1
Field 3:
This field compared with Vdisp_end (3?4.12 bit_[7:2])
Field 2:
This field is selected DDA value if field 3 compares
Field 1:
This field is selected vertical centering offset value if field 3 compares. The actual offset value =
3?4.A0_[5:0] x 4
The vertical expansion/centering using look up table is enabled only if the following conditions are true: CR9E_[3:1] =
111; if the compare fails to match with any entry, the value from 3?4.A6 will be used for vertical centering and the
3?4.35&36 will be used for DDA.
The following register groups behave the same:
3?4.92; 3?4.93; 3?4.A1
3?4.94; 3?4.95; 3?4.A2
3?4.96; 3?4.97; 3?4.A3
3?4.98; 3?4.99; 3?4.A4
3?4.9A; 3?4.9B; 3?4.A5
CRTA0-A5: Vertical Centering Offset Look Up Table
Read/Write
Address: 3?4, Index A0h-A5h
Power-on Default: 00h
3?4.90
7
6
5
4
3
FIELD 3
3?4.91
2
1
0
7
6
5
4
3
3?4.A0
2
FIELD 2
1
0
5
4
3
2
1
FIELD 1
Field 3:
This field compared with Vdisp_end (3?4.12 bit_[7:2])
Field 2:
This field is selected DDA value if field 3 compares
Field 1:
This field is selected vertical centering offset value if field 3 compares. The actual offset value =
3?4.A0_[5:0] x 4
Extended SMI Registers
0
21 - 65
Silicon Motion®, Inc.
Lynx3DM+
Databook
The vertical expansion/centering using look up table is enabled only if the following conditions are true: CR9E_[3:1] =
111; if the compare fails to match with any entry, the value from 3?4.A6 will be used for vertical centering and the
3?4.35&36 will be used for DDA.
The following register groups behave the same:
3?4.92; 3?4.93; 3?4.A1
3?4.94; 3?4.95; 3?4.A2
3?4.96; 3?4.97; 3?4.A3
3?4.98; 3?4.99; 3?4.A4
3?4.9A; 3?4.9B; 3?4.A5
CRTA6: Vertical Centering Offset Register
Read/Write
Address: 3?4, Index: A6h
Power-on Default: 00h
7
6
5
4
RESERVED
3
2
1
0
LINE SHIFT DOWN
Bit 7:6
Reserved
Bit 5:0
Specifies how many lines the screen image will shift down. This register will have no effect if 3?4.9E
bit_[1]=1
CRTA7: Horizontal Centering Offset Register
Read/Write
Address: 3?4h, Index: A7h
Power-on Default: 00h
7
R
6
5
4
3
2
1
0
CHARACTER UNIT SHIFT RIGHT
Bit 7
Reserved (R)
Bit 6:0
Specifies how many character units the screen image will shift to the right. This register has no effect if
3?4.9E BIT_[0] = 0.
0 = Use to specify how many character units the screen image will shift to the right to center position.
The horizontal screen centering look up table has no effect.
1 = To enable horizontal shift look up table (CRT9E_[0] has to be 1). One of the table entry will be
select and the value in the entry specifies how many character units the screen image will shift to the
right center position.
The selection of the look up is as follows:
21 - 66
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
IF CRT01_[7:1] = CRTA8_[6:0] control screen centering. Else if CRT01_[7:1] = CRTAA_[6:0],
CRTAB_[6:0] control screen centering. Else if CRT01_[7:1] = CRTAC_[6:0], CRTAD_[6:0] control
screen centering. Else CRA7_[6:0] will be used as default to control screen centering.
CRTA8-AD: Horizontal Screen Centering Look Up Table
Read/Write
Address: 3?4, Index A8h-ADh
Power-on Default: 00h
7
R
6
5
4
3
2
1
0
HORIZONTAL SCREEN CENTERING LOOK UP TABLE
Bit 7:
Reserved
Bit 6:0
Horizontal Screen Centering Look Up Table
Shadow VGA Registers
The Shadow VGA Registers are designed to control CRT, LCD and TV timing, and maintain VGA compatibility.
Lynx3DM+ shadows 12 VGA CRT registers. When these shadow registers are unlocked, the CPU I/O write operation can
write into both standard CRT registers and shadow registers through standard VGA CRTC I/O location. When these
shadow registers are locked, the CPU I/O write can only write into the standard CRT registers through CRTC I/O location.
These 12 shadow registers also have specific I/O location which is not controlled by Shadow Lock/Unlock Register.
SVR40 - Horizontal Total
SVR45 - Vertical Total
SVR4A - Overflow
(bit 7, 6,5, 3, 2, 1,and 0)
SVR41 - Start Horizontal Blanking
SVR46 - Start Vertical Blank
SVR4B - Maximum Scan Line (bit 5 only)
SVR42 - End Horizontal Blanking
SVR47 - End Vertical Blank
SVR4C - Horizontal Display End
SVR43 - Start Horizontal Retrace
SVR48 - Vertical Retrace Start
SVR4D - Vertical Display End
SVR44 - End Horizontal Retrace
SVR49 - Vertical Retrace End
Automatic Lock/Unlock Scheme for Shadow Registers
There are two ways to access shadow registers. One is through standard VGA CRTC I/O location when CRT is the only
selected display. These VGA CRT I/O write operations will write to both standard VGA CRT registers and shadow
registers. The other way to access shadow registers is through their dedicated I/O locations. The shadow registers can
only be read through their dedicated I/O locations.
When LCD or TV display is selected, the shadow registers will be automatically locked. The VGA CRT I/O write
operation will write only to the standard VGA CRT registers. The shadow registers have to be accessed from their
dedicated I/O location. This approach will reduce programming difficulty and maintain VGA compatibility.
SVR40: Shadow VGA Horizontal Total
Read/Write
Address: 3?5h, Index: 40h
Power-on Default: 00h
Extended SMI Registers
21 - 67
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register shadows VGA CRT Horizontal Total register.
7
6
5
4
3
2
1
0
SHADOW VGA HORIZONTAL TOTAL
Bit 7:0
Defines the total character count minus 5 characters per horizontal scan line.
depends on the resolution of LCD, not the type of LCD.
This register only
SVR41: Shadow VGA Horizontal Blank Start
Read/Write
Address: 3?5h, Index: 41h
Power-on Default: 00h
This register shadows VGA CRT Horizontal Blank Start register.
7
6
5
4
3
2
1
0
SHADOW VGA HORIZONTAL BLANK
Bit 7:0
When the horizontal character = SVR41 [7:0], shadow VGA horizontal blank become active.
SVR42: Shadow VGA Horizontal Blank End
Read/Write
Address: 3?5h, Index: 42h
Power-on Default: 00h
This register shadows VGA CRT Horizontal Blank End register.
7
R
6
5
SDES
4
3
2
1
0
SHADOW VGA HORIZONTAL BLANK INACTIVE
Bit 7
Reserved (R)
Bit 6:5
Shadows display enable skew control (SDES)
Bit 4:0
When the horizontal character = {SVR44 [7],SVR42 [4:0]}, shadow VGA horizontal blank become
inactive.
SVR43: Shadow VGA Horizontal Retrace Start
Read/Write
Address: 3?5h, Index: 43h
Power-on Default: 00h
This register shadows VGA CRT Horizontal Retrace Start register.
21 - 68
Extended SMI Registers
Silicon Motion®, Inc.
7
Lynx3DM+
Databook
6
5
4
3
2
1
0
SHADOW VGA HORIZONTAL RETRACE INACTIVE
Bit 7:0
When the horizontal character = SVR43 [7:0], shadow VGA horizontal retrace become active.
SVR44: Shadow VGA Horizontal Retrace End
Read/Write
Address: 3?5h, Index: 44h
Power-on Default: 00h
This register shadows VGA CRT Horizontal Retrace End register.
7
6
SVHB
5
SHRD
4
3
2
1
0
SHADOW VGA HORIZONTAL RETRACE INACTIVE
Bit 7
When the horizontal character = {SVR44 [7],SVR41 [4:0]}, shadow VGA horizontal blank become
inactive. (SVHB)
Bit 6:5
Shadows horizontal retrace delay (SHRD)
Bit 4:0
When the horizontal character = SVR44 [4:0], shadow VGA horizontal retrace become inactive.
SVR45: Shadow VGA Vertical Total
Read/Write
Address: 3?5h, Index: 45h
Power-on Default: 00h
This register shadows VGA CRT Vertical Total register.
7
6
5
4
3
2
1
0
SHADOW VGA VERTICAL TOTAL
Bit 7:0
Shadows the least significant 8 bits of 11 bits count of raster scan lines for display frame.
SVR46: Shadow VGA Vertical Blank Start
Read/Write
Address: 3?5h, Index: 46h
Power-on Default: 00h
This register shadows VGA CRT Vertical Blank Start register.
7
6
5
4
3
2
1
0
SHADOW VGA VERTICAL BLANK START
Extended SMI Registers
21 - 69
Silicon Motion®, Inc.
Bit 7:0
Lynx3DM+
Databook
Shadows the least significant 8-bit of the 11-bit VGA CRT vertical blank start register.
SVR47: Shadow VGA Vertical Blank End
Read/Write
Address: 3?5h, Index: 47h
Power-on Default: 00h
This register shadows VGA CRT Vertical Blank End register.
7
6
5
4
3
2
1
0
SHADOW VGA VERTICAL BLANK END
Bit 7:0
Shadows the least significant 8-bit VGA CRT vertical blank end register.
SVR48: Shadow VGA Vertical Retrace Start
Read/Write
Address: 3?5h, Index: 48h
Power-on Default: 00h
This register shadows VGA CRT Vertical Retrace Start register.
7
6
5
4
3
2
1
0
SHADOW VGA VERTICAL RETRACE START
Bit 7:0
Shadows the least significant 8-bit of the 11-bit vertical retrace start register.
SVR49: Shadow VGA Vertical Retrace End
Read/Write
Address: 3?5h, Index: 49h
Power-on Default: 00h
This register shadows VGA CRT Vertical Retrace End register.
7
6
5
RESERVED
4
3
2
1
0
SHADOW VGA/CRT VERTICAL RETRACE
Bit 7:4
Reserved
Bit 3:0
Shadows bit [3:0] of VGA CRT vertical retrace end register.
SVR4A: Shadow VGA Vertical Overflow
Read/Write
Address: 3?5h, Index: 4Ah
Power-on Default: 00h
21 - 70
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
This register shadows VGA CRT Vertical Overflow register.
7
6
5
4
3
2
1
0
SVRS9
SVDE9
SVTB9
R
SVBS
SVRS8
SVDE8
SVTB8
Bit 7
Shadows vertical retrace start bit 9 (SVRS9)
Bit 6
Shadow vertical display enable bit 9 (3?5h, index 7 [6]). When FPR33[5] = 1, can only access this bit
through 3?5h, index 4Ah. (SVDE9)
Bit 5
Shadows vertical total bit 9 (SVTB9)
Bit 4
Reserved (R)
Bit 3
Shadows vertical blank start bit 8 (SVBS)
Bit 2
Shadows vertical retrace start bit 8 (SVRS8)
Bit 1
Shadow vertical display enable bit 8 (3?5h, index 7 [1]). When FPR33[5] = 1, can only access this bit
through 3?5h, index 4Ah. (SVDE8)
Bit 0
Shadows vertical total bit 8 (SVTB8)
SVR4B: Shadow VGA Maximum Scan Line
Read/Write
Address: 3?5h, Index: 4Bh
Power-on Default: 00h
This register shadows VGA CRT Maximum Scan Line register.
7
6
SSP
5
4
3
SVBS
2
1
0
RESERVED
Bit 7:6
Shadow 3C2 bit_[7:6] for sync polarity (SSP)
Bit 5
Shadows vertical blank start bit 9 (SVBS)
Bit 4:0
Reserved
SVR4C: Shadow VGA Horizontal Display End
Read/Write
Address: 3?5h, Index: 4Ch
Power-on Default: 00h
This register shadows VGA CRT Horizontal Display end.
Extended SMI Registers
21 - 71
Silicon Motion®, Inc.
7
6
Lynx3DM+
Databook
5
4
3
2
1
0
SHADOW HORIZONTAL DISPLAY END
Bit 7:0
Shadows Horizontal Display End register (3?5h, index 01). When FPR33[5] = 1, it locks access to this
register only through 3?5h, index 4Ch.
SVR4D: Shadow VGA Vertical Display End
Read/Write
Address: 3?5h, Index: 4Dh
Power-on Default: 00h
This register shadows VGA CRT Vertical Display end.
7
6
5
4
3
2
1
0
SHADOW VERTICAL DISPLAY END
Bit 7:0
Shadows Vertical Display End register [7:0] (3?5h, index 12) When FPR33[5] = 1, it locks access to
this register only through 3?5h, index 4Dh.
21 - 72
Extended SMI Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Chapter 22: 2D & Video Registers
Table 27: Memory Mapped Registers Quick Reference
Summary of Registers
Page
Drawing Engine Control Registers
DPR00: Source Y or K2
22 -5
DPR02: Source X or K1
22-5
DPR04: Destination Y or Start Y
22-6
DPR06: Destination X or Start X
22-7
DPR08: Dimension Y or Error Term
22-7
DPR0A: Dimension X or Vector Length
22-8
DPR0C: ROP and Miscellaneous Control
22-8
DPR0E: Drawing Engine Commands and Control
22-10
DPR10: Source Row Pitch
22-11
DPR12: Destination Row Pitch
22-12
DPR14: Foreground Colors
22-12
DPR18: Background Colors
22-13
DPR1C: Stretch Source Height Y
22-14
DPR1E: Drawing Engine Data Format and Location Format Select
22-14
DPR20: Color Compare
22-15
DPR24: Color Compare Masks
22-16
DPR28: Bit Mask
22-16
DPR2A: Byte Mask Enable
22-17
DPR2C: Scissors Left and Control
22-17
DPR2E: Scissors Top
22-18
DPR30: Scissors Right
22-18
DPR32: Scissors Bottom
22-18
DPR34: Mono Pattern Low
22-19
DPR38: Mono Pattern High
22-19
DPR3C: XY Addressing Destination & Source Window Widths
22-19
DPR40: Source Base Address
22-20
DPR44: Destination Base Address
22-20
2D & Video Registers
22 - 1
Silicon Motion®, Inc.
Summary of Registers (Continued)
Lynx3DM+
Databook
Page
Video Processor Control Registers
VPR00: Miscellaneous Graphics and Video Control
22-21
VPR04: Color Keys
22-23
VPR08: Color Key Masks
22-24
VPR0C: Data Source Start Address for Extended Graphics Modes
22-25
VPR10: Data Source Width and Offset for Extended Graphics Modes
22-25
VPR14: Video Window I Left and Top Boundaries
22-25
VPR18: Video Window I Right and Bottom Boundaries
22-26
VPR1C: Video Window I Source Start Address
22-26
VPR20: Video Window I Source Width and Offset
22-27
VPR24: Video Window I Stretch Factor:
22-27
VPR2C: Video Window II Right and Bottom Boundaries
22-28
VPR30: Video Window II Source Start Address
22-29
VPR34: Video Window II Source Width and Offset
22-29
VPR38: Video Window II Stretch Factor
22-29
CPR00: Capture Port Control
22-45
VPR40: Graphic Scale Factor
22-31
VPR44: Graphic Data Source Starting Address for Odd Field
22-32
VPR48: Video Window I Chroma Data Source Starting Address
22-32
VPR4C: Video Window II Chroma Data Source Starting Address
22-32
VPR50: Sub-Picture Data Source Starting Address
22-33
VPR54: FIFO Priority Control
22-33
VPR58: FIFO Empty Request level Control
22-35
VPR5C: YUV to RGB Conversion Constant
22-36
VPR60: Current Scan Line Position
22-37
VPR64: Signature Analyzer Control and Status
22-37
VPR70: Sub Picture Color Look Up Register 0
22-38
VPR74: Sub Picture Color Look Up Register 1
22-38
VPR78: Sub Picture Color Look Up Register 2
22-38
VPR7C: Sub Picture Color Look Up Register 3
22-39
VPR80: Sub Picture Color Look Up Register 4
22-39
VPR84: Sub Picture Color Look Up Register 5
22-39
VPR88: Sub Picture Color Look Up Register 6
22-40
VPR8C: Sub Picture Color Look Up Register 7
22-40
VPR90: Sub Picture Color Look Up Register 8
22-40
VPR94: Sub Picture Color Look Up Register 9
22-41
VPR98: Sub Picture Color Look Up Register A
22-41
22 - 2
2D & Video Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
Summary of Registers (Continued)
Page
VPR9C: Sub Picture Color Look Up Register B
22-41
VPRA0: Sub Picture Color Look Up Register C
22-42
VPRA4: Sub Picture Color Look Up Register D
22-42
VPRA8: Sub Picture Color Look Up Register E
22-42
VPRAC: Sub Picture Color Look Up Register F
22-43
VPRB0: Sub Picture Top/Left Boundary
22-43
VPRB4: Sub Picture Bottom/Right Boundary
22-43
VPRB8: Sub Picture Source Data Address Offset and Line Width
22-44
VPRC0: Video Window I U/V Scale Factor
22-44
VPRC4: Video Window II Scale Factor
22-45
Capture Processor Control Registers
CPR00: Capture Port Control
22-45
CPR04: Video Source Clipping Control
22-48
CPR08: Video Source Capture Size Control
22-48
CPR0C: Capture Port Buffer I Source Start Address
22-49
CPR10: Capture Port Buffer II Source Start Address
22-49
CPR14: Capture Port Source Offset Address
22-49
CPR18: Capture FIFO Empty Request level Control
22-50
Note: Some VPR registers can be accessed using memory mapped register space, or can be accessed using I/O mapped
register space. Please see register descriptions for detailed information.
2D & Video Registers
22 - 3
Silicon Motion®, Inc.
Lynx3DM+
Databook
The drawing processor and video processor registers are all memory mapped. The following diagram illustrates the
memory mapped register address assignment.
2D3D Reg Port
Video Reg Port
Vidcap Reg Port
MC ICMD Reg Port
MD IDCT Reg Port
Mas Mif Reg Port
2D3D Master Reg Port
MC Core Reg Port
MC ICMD Data Port
MC IDCT Data Port
Mas Mif Data Port
// not used //
2D3D Data Port
// not used //
Memory Map IO Space
Additional DE Data Port
30MB Frame Buffer
FB Space
2K
0000_0000 - 0000_07ff
2K
0000_0800 - 0000_0fff
2K
0000_1000 - 0000_17ff
2K
0000_1800 - 0000_1fff
2K
0000_2000 - 0000_27ff
2K
0000_2800 - 0000_2fff
2K
0000_3000 - 0000_37ff
2K
0000_3800 - 0000_3fff
2K
0000_4000 - 0000_47ff
2K
0000_4800 - 0000_4fff
2K
0000_5000 - 0000_57ff
2K
0000_5800 - 0000_5fff
8K
0000_6000 - 0000_7fff
712K
0000_8000 - 000b_ffff
256K
000c_0000 - 000f_ffff
1MB
0010_0000 - 001f_ffff
30MB
0020_0000 - 01ff_ffff
Figure 44: Memory Mapped Address Diagram
Drawing Engine Control Registers
The Drawing Engine supports various drawing functions, including Bresenham line draw, short stroke line draw, BITBLT,
rectangle fill, HOSTBLT, Rotation Blit, and others. Hardware clipping is supported by 4 registers, DPR2C-DPR32,
which defines a rectangular clipping area.
The drawing engine supports two types of format for its source and destination locations. One can specifies location
format in X-Y coordinate, where the upper left corner of the screen is defined to be (0,0); this method is referred as X-Y
addressing. Also, one can specify the location format based on its position in the display memory sequentially from the
first pixel of the visible data; this method is referred as DE linear addressing. To select DE linear addressing, one must set
DPR1E bit [3:0] = 1111.
All Drawing Engine control registers can be accessed via memory-mapped.
22 - 4
2D & Video Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
DPR00: Source Y or K2
Read/Write
Address: DP_Base+00h
Power-on Default: Undefined
This register specifies the 12-bit Source Y position in x-y addressing mode, or low-order source address in DE linear
addressing mode (when DPR1E bit [3:0] = 11xxb). This register is also used to specify the 14-bit for K2 constant of
Bresenham line when DPR0E bit [3:0] = 0111b to select Bresenham line command function.
15
14
13
12
11
10
RESERVED
9
8
7
6
5
4
3
2
1
0
SOURCE Y FOR X-Y ADDRESSING
Bit 15:14
Reserved
Bit 13:0
Source Y for X-Y addressing. In 24-bit packed modes, Source Y needs to be multiplied by 3.
OR
High-order source address SA[23:12] for DE linear addressing. Low-order 12-bit are in DPR02.
Bresenham Line (DPR0E bit [3:0] = 0111b)
15
14
13
12
11
10
RESERVED
9
8
7
6
5
4
3
2
1
0
AXIAL DIAGONAL CONSTANT (K2)
Bit 15:14
Reserved
Bit 13:0
Axial Diagonal Constant (K2) = 2 * (min(|dx|,|dy|) - max(|dx|,|dy|))
DPR02: Source X or K1
Read/Write
Address: DP_Base+02h
Power-on Default: Undefined
This register specifies the 12-bit Source X position in x-y addressing mode, or low-order source address in linear
addressing mode (when DPR1E bit [3:0] = 11xxb). This register is also used to specify the 14-bit for K1 constant of
Bresenham line when DPR0E bit [3:0] = 0111b to select Bresenham line command function. For HOSTBLT write
command function (when DPR0E bit [3:0] = 1000b), this register is also used to specify the 3-bit HOST mono source for
alignment.
15
14
13
12
RESERVED
11
10
9
8
7
6
5
4
3
2
1
0
SOURCE X FOR X-Y ADDRESSING
Bit 12:15
Reserved
Bit 11:0
Source X for X-Y addressing mode. In 24-bit packed modes, Source X needs to be multiplied by 3.
OR
Low-order source address SA [11:0] for DE linear addressing mode. Higher order 12-bit are in DPR00.
2D & Video Registers
22 - 5
Silicon Motion®, Inc.
Lynx3DM+
Databook
Note: For 24-bit color pattern, Xs = (PatXs * 3) LOGIC_OR (Yd[2:0] *3, shift 3 bits to left)
For 32-bit color pattern, Xs = (PatXs) LOGIC_OR (Yd[2:0], shift 3 bits to left)
Bresenham Line (DPR0E bit [3:0] = 0111b)
15
14
13
12
11
10
9
RESERVED
8
7
6
5
4
3
2
1
0
4
3
2
1
0
AXIAL STEP CONSTANT K1
Bit 15:14
Reserved
Bit 13:0
Axial Step Constant (K1) = 2 * min (|dx|, |dy|)
HOSTBLT Write (DPR0E bit [3:0] = 1000b)
15
14
13
12
11
10
9
8
7
6
5
RESERVED
HMSA
Bit 15:3
Reserved
Bit 2:0
Host mono source alignment for 8, 16, or 32-bit color modes. For 24-bit color mode, software needs to
adjust for alignment. (HMSA)
DPR04: Destination Y or Start Y
Read/Write
Address: DP_Base+04h
Power-on Default: Undefined
This register specifies the 12-bit Destination Y position in x-y addressing mode or higher-order destination address for DE
linear addressing mode (when DPR1E bit [3:0] = 11xxb). This register is also used to specify Vector Y start address for
Bresenham Line when DPR0E bit [3:0] = 0111b to select Bresenham line command function.
15
14
13
12
RESERVED
11
10
9
8
6
5
4
3
2
1
0
DESTINATION Y OR START Y
Bit 15:14
Reserved
Bit 13:0
Destination Y for X-Y addressing. In 24-bit
packed modes, Destination Y needs to be
multiplied by 3.
OR
High-order 12 bits destination address
DA[23:12] for DE linear addressing.
22 - 6
7
Bresenham Line (DPR0E bit [3:0] = 0111b
Vector Y start address
2D & Video Registers
Silicon Motion®, Inc.
Lynx3DM+
Databook
DPR06: Destination X or Start X
Read/Write
Address: DP_Base+06h
Power-on Default: Undefined
This register specifies 12-bit Destination X position in x-y addressing mode or low-order 12-bit destination address in DE
linear addressing mode (when DPR1E bit [3:0] = 11xxb). This register is also used to specify Vector X start address for
Bresenham Line when DPR0E bit [3:0] = 0111b to select Bresenham line command function.
15
14
13
12
11
10
9
8
RESERVED
7
6
5
4
3
2
1
0
DESTINATION X OR START X
Bit 15:12
Reserved
Bit 11:0
Destination X for X-Y addressing. In 24-bit
packed modes, Destination X needs to be
multiplied by 3.
OR
Low-order 12 bits destination address
DA[11:0] for DE linear addressing.
Bresenham Line (DPR0E bit [3:0] = 0111b
Vector X start address
DPR08: Dimension Y or Error Term
Read/Write
Address: DP_Base+08h
Power-on Default: Undefined
This register specifies the rectangle height or Dimension Y in pixels. When Bresenham line command function is selected
(DPR0E bit [3:0] = 0111b), this register specifies the Vector Error Term. When Short Stroke Line command function is
selected (DPR0E bit [3:0] = 0110b), this register specifies the short stroke line length for non-horizontal short stroke line
15
14
13
12
11
RESERVED
10
9
8
7
6
5
4
3
2
1
0
DIMENSION Y OR ERROR TERM
Short Stroke (DPR0E bit [3:0] =
0110b)
Bresenham Line (DPR0E bit [3:0] =
0111b)
Bit 15:14
Reserved
Reserved
Reserved
Bit 13:12
Reserved
Reserved
Vector Error Term
Bit 11:0
Dimension
Y
Short Stroke Length if not a horizontal line
(≠ 0° or ≠ 180°)
(ET)*
* Vector Error Term is determined based on the following logic:
ET = 2 * min (|dx|,|dy|) - max (|dx|,|dy|) if starting X > ending X.
ET = 2 * min (|dx|,|dy|) - max (|dx|,|dy|) -1 if starting X Zzb
010 = pass if Zi = Zzb
011 = pass if Zi >= Zzb
100 = pass if Zi < Zzb
101 = pass if Zi!= Zzb
110 = pass if Zi