From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ondrej Zajicek Subject: [PATCH 2/3] vt8623fb: New driver for VIA VT8623 Date: Sun, 29 Apr 2007 18:26:02 +0200 Message-ID: <20070429162602.GB12218@localhost.localdomain> Reply-To: linux-fbdev-devel@lists.sourceforge.net Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.91] helo=mail.sourceforge.net) by sc8-sf-list1-new.sourceforge.net with esmtp (Exim 4.43) id 1HiCDv-0006Ks-Uy for linux-fbdev-devel@lists.sourceforge.net; Sun, 29 Apr 2007 09:26:09 -0700 Received: from gateway.crfreenet.org ([81.92.146.254] helo=mail.crfreenet.org ident=postfix) by mail.sourceforge.net with esmtp (Exim 4.44) id 1HiCDs-0001Ba-S7 for linux-fbdev-devel@lists.sourceforge.net; Sun, 29 Apr 2007 09:26:07 -0700 Content-Disposition: inline List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-fbdev-devel-bounces@lists.sourceforge.net Errors-To: linux-fbdev-devel-bounces@lists.sourceforge.net To: "Antonino A. Daplas" Cc: Linux Fbdev development list This patch adds fbdev driver for graphics core in VIA VT8623 It is against 2.6.21-rc7-mm2 . Signed-off-by: Ondrej Zajicek --- diff -uprN -X linux-2.6.21-rc7-mm2/Documentation/dontdiff linux-2.6.21-rc7-mm2/Documentation/fb/vt8623fb.txt linux-2.6.21-rc7-mm2-dev/Documentation/fb/vt8623fb.txt --- linux-2.6.21-rc7-mm2/Documentation/fb/vt8623fb.txt 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.21-rc7-mm2-dev/Documentation/fb/vt8623fb.txt 2007-04-29 14:08:41.000000000 +0200 @@ -0,0 +1,64 @@ + + vt8623fb - fbdev driver for graphics core in VIA VT8623 chipset + =============================================================== + + +Supported Hardware +================== + + VIA VT8623 [CLE266] chipset and its graphics core + (known as CastleRock or Unichrome) + +I tested vt8623fb on VIA EPIA ML-6000 + + +Supported Features +================== + + * 4 bpp pseudocolor modes (with 18bit palette, two variants) + * 8 bpp pseudocolor mode (with 18bit palette) + * 16 bpp truecolor mode (RGB 565) + * 32 bpp truecolor mode (RGB 888) + * text mode (activated by bpp = 0) + * doublescan mode variant (not available in text mode) + * panning in both directions + * suspend/resume support + * DPMS support + +Text mode is supported even in higher resolutions, but there is limitation to +lower pixclocks (maximum about 100 MHz). This limitation is not enforced by +driver. Text mode supports 8bit wide fonts only (hardware limitation) and +16bit tall fonts (driver limitation). + +There are two 4 bpp modes. First mode (selected if nonstd == 0) is mode with +packed pixels, high nibble first. Second mode (selected if nonstd == 1) is mode +with interleaved planes (1 byte interleave), MSB first. Both modes support +8bit wide fonts only (driver limitation). + +Suspend/resume works on systems that initialize video card during resume and +if device is active (for example used by fbcon). + + +Missing Features +================ +(alias TODO list) + + * secondary (not initialized by BIOS) device support + * MMIO support + * interlaced mode variant + * support for fontwidths != 8 in 4 bpp modes + * support for fontheight != 16 in text mode + * hardware cursor + * video overlay support + * vsync synchronization + * acceleration support (8514-like 2D, busmaster transfers) + + +Known bugs +========== + + * cursor disable in text mode doesn't work + + +-- +Ondrej Zajicek diff -uprN -X linux-2.6.21-rc7-mm2/Documentation/dontdiff linux-2.6.21-rc7-mm2/drivers/video/Kconfig linux-2.6.21-rc7-mm2-dev/drivers/video/Kconfig --- linux-2.6.21-rc7-mm2/drivers/video/Kconfig 2007-04-28 00:41:31.000000000 +0200 +++ linux-2.6.21-rc7-mm2-dev/drivers/video/Kconfig 2007-04-28 00:49:10.000000000 +0200 @@ -1345,6 +1345,20 @@ config FB_VOODOO1 Please read the for supported options and other important info support. +config FB_VT8623 + tristate "VIA VT8623 support" + depends on FB && PCI + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + select FB_TILEBLITTING + select FB_SVGALIB + select VGASTATE + select FONT_8x16 if FRAMEBUFFER_CONSOLE + ---help--- + Driver for CastleRock integrated graphics core in the + VIA VT8623 [Apollo CLE266] chipset. + config FB_CYBLA tristate "Cyberblade/i1 support" depends on FB && PCI && X86_32 && !64BIT diff -uprN -X linux-2.6.21-rc7-mm2/Documentation/dontdiff linux-2.6.21-rc7-mm2/drivers/video/Makefile linux-2.6.21-rc7-mm2-dev/drivers/video/Makefile --- linux-2.6.21-rc7-mm2/drivers/video/Makefile 2007-04-28 00:41:31.000000000 +0200 +++ linux-2.6.21-rc7-mm2-dev/drivers/video/Makefile 2007-04-28 00:50:14.000000000 +0200 @@ -54,6 +54,7 @@ obj-$(CONFIG_FB_VALKYRIE) += val obj-$(CONFIG_FB_CT65550) += chipsfb.o obj-$(CONFIG_FB_IMSTT) += imsttfb.o obj-$(CONFIG_FB_FM2) += fm2fb.o +obj-$(CONFIG_FB_VT8623) += vt8623fb.o obj-$(CONFIG_FB_CYBLA) += cyblafb.o obj-$(CONFIG_FB_TRIDENT) += tridentfb.o obj-$(CONFIG_FB_LE80578) += vermilion/ diff -uprN -X linux-2.6.21-rc7-mm2/Documentation/dontdiff linux-2.6.21-rc7-mm2/drivers/video/vt8623fb.c linux-2.6.21-rc7-mm2-dev/drivers/video/vt8623fb.c --- linux-2.6.21-rc7-mm2/drivers/video/vt8623fb.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.21-rc7-mm2-dev/drivers/video/vt8623fb.c 2007-04-29 14:08:05.000000000 +0200 @@ -0,0 +1,920 @@ +/* + * linux/drivers/video/vt8623fb.c - fbdev driver for + * integrated graphic core in VIA VT8623 [CLE266] chipset + * + * Copyright (c) 2006-2007 Ondrej Zajicek + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file COPYING in the main directory of this archive for + * more details. + * + * Code is based on s3fb, some parts are from David Boucher's viafb + * (http://davesdomain.org.uk/viafb/) + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* Why should fb driver call console functions? because acquire_console_sem() */ +#include