<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>The ``cl64xx'' Driver</TITLE>
</HEAD>
<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red">

<A HREF="cirrus.html"><EM> Information for Cirrus Chipset Users</EM></A>
 <b>:</b> <EM>The ``cl64xx'' Driver</EM><BR>
<b>Previous:</b> <A HREF="cirrus5.html"><EM>Linear addressing and 16bpp/24bpp/32bpp modes </EM></A><BR>
<b>Next:</b> <A HREF="cirrus7.html"><EM>Trouble shooting with the ``cirrus'' driver</EM></A>


<HR NOSHADE>
  <H2><A NAME="6"></A>6. The ``cl64xx'' Driver<A NAME="cl64xx"></A></H2>
<p>The cl64xx driver supports the cl-gd6440 found in many laptops.  For
example, Nan Tan Computer's NP9200, NP3600, etc., which are OEM-ed by
Sager, ProStar, etc. and Texas Instruments TI4000 series are supported.</p>
<p>The driver works in LCD-only, CRT-only, and the chip's SimulScan mode
which allows one to use both the LCD and external CRT displays
simultaneously.  The LCD and Simulscan modes' resolution is 640x480
while, for CRT-only, the standard VESA modes of 640x480, 600x800, and
1024x768 have been tested.  Interlaced 1024x768 mode has never been
debugged and does not work on the machines tested.</p>
<p>The chip has a documented maximum operating limit for its dot clock
that is related to its core voltage.  Specifically, for 5.0V the
maximum dot clock is 65MHz and for 3.3V the maximum dot clock is
40MHz.  The driver checks the core voltage and limits the maximum dot
clock to the corresponding value.  This translates to a maximum  
resolution of about 1024x768 at a 60Hz refresh rate.  The internal 
frequency generator can be programmed higher than these limits and is
done so during server startup when the clocks are probed which
momentarily exceeding the chip's operating limit.  Once a set of valid
clocks is obtained, I would recommend using Clocks lines in
<code>XF86Config</code>.  Doing so will also decrease startup time significantly.
The clocks may be obtained by running the X server -probeonly (see the
XFree86 man page for more information about -probeonly).</p>
<p>The data book indicates that only a configuration of one megabyte of
video memory is supported by the chip.  This size has been directly set
in the driver.  If one finds a need, one should be able to override the
default size in <code>XF86Config</code>.  Also, with 1MB of video memory, one should
be able to have a virtual screen size of e.g. 1024x1024 and this is  
possible in CRT-only screen mode.  However, whenever the LCD is in use
(LCD and SimulScan), the chip uses a portion of upper video ram for
its own internal acceleration purposes.  Thus, the maximum video memory
available for virtual resolution in LCD modes is about 0.75MB e.g.
1024x768.  If you set the virtual resolution above this, you will see
what might be described as a compressed aliased band when the
accelerated area is displayed.</p>
<p>Currently, the driver does not support switching of screen modes among
LCD, CRT, and SimulScan, and, at least on the NP9200, the mode must be
chosen at OS boot time (e.g. Linux's LILO) while the BIOS is still
active.  It should be possible to add screen mode type selection as a 
ModeLine flag option in <code>XF86Config</code> to allow for dynamic screen mode
selection from within the X server.  Finally, the driver does not currently
support any of the powerdown saving features of the chip nor does it  
shut off the LCD's backlight on screen blank.  I hope to implement all
these features in future releases.</p>
<p>Some notes regarding the CL-GD6420:</p>
<p>The amount of video memory may not always be detected correctly. The driver
source code includes two methods, one defined out. Better specify the amount
of video memory with a VideoRam line in the Device section. Use the standard
640x480 60 Hz standard mode timing with 25.175 MHz dot clock for CRT or
SIMulscan mode; for LCD-only operation, use the same mode timing but with
a dot clock of 16.257 MHz. Standard 56 Hz 800x600 is also supported on
the CRT.</p>
<p>The primary contact for the cl6440 problems with ``cl64xx'' driver is
Randy Hendry <em>&lt;randy@sgi.com&gt;</em>.</p>

 <HR NOSHADE>
<A HREF="cirrus.html"><EM> Information for Cirrus Chipset Users</EM></A>
 <b>:</b> <EM>The ``cl64xx'' Driver</EM><BR>
<b>Previous:</b> <A HREF="cirrus5.html"><EM>Linear addressing and 16bpp/24bpp/32bpp modes </EM></A><BR>
<b>Next:</b> <A HREF="cirrus7.html"><EM>Trouble shooting with the ``cirrus'' driver</EM></A>



</BODY>
</HTML>
