Skip to content

Commit

Permalink
arkfb: new framebuffer driver for ARK Logic cards
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ondrej Zajicek authored and Linus Torvalds committed May 9, 2007
1 parent 558b7bd commit 681e147
Show file tree
Hide file tree
Showing 4 changed files with 1,282 additions and 0 deletions.
68 changes: 68 additions & 0 deletions Documentation/fb/arkfb.txt
Original file line number Diff line number Diff line change
@@ -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>
14 changes: 14 additions & 0 deletions drivers/video/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions drivers/video/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading

0 comments on commit 681e147

Please sign in to comment.