Commit 681e1473 authored by Ondrej Zajicek's avatar Ondrej Zajicek Committed by Linus Torvalds
Browse files

arkfb: new framebuffer driver for ARK Logic cards



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: default avatarOndrej Zajicek <santiago@crfreenet.org>
Signed-off-by: default avatarAntonino Daplas <adaplas@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 558b7bd8
Loading
Loading
Loading
Loading
+68 −0
Original line number Diff line number Diff line

	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>
+14 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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

drivers/video/arkfb.c

0 → 100644
+1199 −0

File added.

Preview size limit exceeded, changes collapsed.