arkfb: new framebuffer driver for ARK Logic cards
authorOndrej Zajicek <santiago@crfreenet.org>
Wed, 9 May 2007 09:35:31 +0000 (02:35 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 9 May 2007 19:30:57 +0000 (12:30 -0700)
This patch adds fbdev driver for graphics cards with ARK Logic 2000PV graphics
chip with ICS 5342 ramdac.

[adaplas@gmail.com: build fixes]
Signed-off-by: Ondrej Zajicek <santiago@crfreenet.org>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/fb/arkfb.txt [new file with mode: 0644]
drivers/video/Kconfig
drivers/video/Makefile
drivers/video/arkfb.c [new file with mode: 0644]

diff --git a/Documentation/fb/arkfb.txt b/Documentation/fb/arkfb.txt
new file mode 100644 (file)
index 0000000..e8487a9
--- /dev/null
@@ -0,0 +1,68 @@
+
+       arkfb - fbdev driver for ARK Logic chips
+       ========================================
+
+
+Supported Hardware
+==================
+
+       ARK 2000PV chip
+       ICS 5342 ramdac
+
+       - only BIOS initialized VGA devices supported
+       - probably not working on big endian
+
+
+Supported Features
+==================
+
+       *  4 bpp pseudocolor modes (with 18bit palette, two variants)
+       *  8 bpp pseudocolor mode (with 18bit palette)
+       * 16 bpp truecolor modes (RGB 555 and RGB 565)
+       * 24 bpp truecolor mode (RGB 888)
+       * 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
+
+Text mode is supported even in higher resolutions, but there is limitation to
+lower pixclocks (i got maximum about 70 MHz, it is dependent on specific
+hardware). This limitation is not enforced by driver. Text mode supports 8bit
+wide fonts only (hardware limitation) and 16bit tall fonts (driver
+limitation). Unfortunately character attributes (like color) in text mode are
+broken for unknown reason, so its usefulness is limited.
+
+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
+       * big endian support
+       * DPMS support
+       * MMIO support
+       * interlaced mode variant
+       * support for fontwidths != 8 in 4 bpp modes
+       * support for fontheight != 16 in text mode
+       * hardware cursor
+       * vsync synchronization
+       * feature connector support
+       * acceleration support (8514-like 2D)
+
+
+Known bugs
+==========
+
+       * character attributes (and cursor) in text mode are broken
+
+--
+Ondrej Zajicek <santiago@crfreenet.org>
index 7e5010d..9a256d2 100644 (file)
@@ -1415,6 +1415,20 @@ config FB_TRIDENT_ACCEL
        This will compile the Trident frame buffer device with
        acceleration functions.
 
+config FB_ARK
+       tristate "ARK 2000PV 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 PCI graphics boards with ARK 2000PV chip
+         and ICS 5342 RAMDAC.
+
 config FB_PM3
        tristate "Permedia3 support"
        depends on FB && PCI && BROKEN
index c0c6146..0b70567 100644 (file)
@@ -59,6 +59,7 @@ obj-$(CONFIG_FB_CYBLA)            += cyblafb.o
 obj-$(CONFIG_FB_TRIDENT)          += tridentfb.o
 obj-$(CONFIG_FB_LE80578)          += vermilion/
 obj-$(CONFIG_FB_S3)               += s3fb.o
+obj-$(CONFIG_FB_ARK)              += arkfb.o
 obj-$(CONFIG_FB_STI)              += stifb.o
 obj-$(CONFIG_FB_FFB)              += ffb.o sbuslib.o
 obj-$(CONFIG_FB_CG6)              += cg6.o sbuslib.o
Simple merge