                     Information for EPSON SPC8110 Users

                     Thomas Mueller (tmueller@sysgo.de)

                               October 15, 1998

1.  General Notes

This server provides support for the Seiko/EPSON SPC8110F0A LCD VGA con-
troller chip.

The driver was developed and tested using an EPSON 486D4 CardPC using CRT
display mode. LCD operation was successfully tested using an earlier release
of this driver.

The current driver has support for linear mapping of the frame buffer, sup-
ports the hardware cursor and uses the Bitblt engine for basic operations
such as CopyArea and solid fills.

2.  XF86Config options

The driver should be able to probe the presence of a SPC8110 chip. If the
driver fails to probe the chip correctly define the chip explicitly in the
screen section.

Device Section Entries and Options Currently Supported:

      Chipset "spc8110"
            May be specified if probing fails or to accelerate server
            startup. The value must be "spc8110".

      VideoRam kilobytes
            If specified the value (in kilobytes) will be used, otherwise the
            amount of memory will be probed on startup.

      Option "sw_cursor"
            Disables the use of the hardware cursor. The hardware cursor
            requires one Kbyte of video memory as pattern storage area. If
            you need the full amount of video memory you may want to disable
            the hardware cursor using this option. Also the hardware cursor
            code was not tested with cursor images larger than 64 pixels
            (high or wide), so if you use large images you may have to dis-
            able the hardware cursor.

      Option "no_linear"
            Disables the use of the linear aperture. If this option is set
            the driver will use the standard VGA memory window at 0xa0000
            otherwise it will map the whole video memory.

      Membase baseaddress
            In VLB/486LB configuration the linear aperture address will be
            set to 0x03E0.0000, in PCI configuration the address will be read
            from the PCI configuration space. The base address in VLB/486LB
            systems may be set to any value using the "Membase" definition.

      Option "noaccel"
            Disables the use of the Bitblt engine. Normally the driver accel-
            erates screen-to-screen copy operations and solid fills.

            Since the SPC8110 puts certain restrictions on the use of the
            Bitblt engine you will notice different performance between cer-
            tain operations (eg window movement). If this is a problem for
            your application you may want to disable the accelerator.

      Option "fifo_moderate"

      Option "fifo_conservative"
            Usually the driver computes the FIFO threshold values for the
            SPC8110's write buffer correctly. However for certain modes (eg
            the 832x624 mode shown below) the FIFO is programmed too aggres-
            sively which leads to streaks in the display during screen
            updates. With option "fifo_moderate" the computed FIFO low
            request level is incremented by one with "fifo_conservative" it
            is incremented by two.

3.  Video modes

The driver probes wether the chip is configured for CRT only or LCD/simulta-
neous mode of operation. In the former case it will enable clock programming
and will support any mode which is within the limits of the hardware. If the
chip is configured for LCD/simultaneous operation mode the driver will
respect the settings of the BIOS and allow only one video mode conforming
with the panel size.

The driver does not support interlaced or double scan modes.

3.1  Clocks

Probing is supported, but of course the usual warnings and disclaimers apply.
Probing may momentarily subject your monitor/panel to sweep frequencies in
excess of its rating.  The cautious may wish to turn off the monitor while
the probe is running. In CRT mode the driver may produce video timings inade-
quate for your monitor, handle with care!

As with many integrated designs the speed of the graphics operations depend
very much of the refresh rate you use. Higher refresh rates yield lower per-
formance.

3.2  Example Modes

The following XF86Config "Device" section should work for all configurations:

       Section "Device"
           Identifier "CardPC"
           VendorName "EPSON"
           BoardName  "CardPC"
           Chipset    "spc8110"
           Option    "sw_cursor"
           Membase   0x03e00000
           Option    "no_linear"
           Option    "noaccel"
           Option    "fifo_moderate"
       EndSection

This Modeline was tested in a 640x480 panel configuration:

       Modeline "640x480" 28.36   640 672 768 800  480 490 492 525

These Modelines were tested in a CRT configuration:

       Modeline "640x480" 25.175  640 664  760  800  480 491 493 525
       Modeline "800x600" 36      800 824  896 1024  600 601 603 625
       ModeLine "832x624" 40      832 873 1001 1090  624 625 627 651
       Modeline "640x400" 25.175  640 664  760  800  400 409 411 450

4.  Acknowledgments

Thanks to Epson Europe Electronics and ProBIT GmbH, Berlin for providing a
loaner system and documentation to get things started.

     Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/epson.sgml,v 1.1.2.3 1998/11/13 13:00:46 dawes Exp $

