mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
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: 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>
This commit is contained in:
parent
558b7bd86c
commit
681e14730c
4 changed files with 1282 additions and 0 deletions
68
Documentation/fb/arkfb.txt
Normal file
68
Documentation/fb/arkfb.txt
Normal file
|
@ -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>
|
|
@ -1415,6 +1415,20 @@ config FB_TRIDENT_ACCEL
|
||||||
This will compile the Trident frame buffer device with
|
This will compile the Trident frame buffer device with
|
||||||
acceleration functions.
|
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
|
config FB_PM3
|
||||||
tristate "Permedia3 support"
|
tristate "Permedia3 support"
|
||||||
depends on FB && PCI && BROKEN
|
depends on FB && PCI && BROKEN
|
||||||
|
|
|
@ -59,6 +59,7 @@ obj-$(CONFIG_FB_CYBLA) += cyblafb.o
|
||||||
obj-$(CONFIG_FB_TRIDENT) += tridentfb.o
|
obj-$(CONFIG_FB_TRIDENT) += tridentfb.o
|
||||||
obj-$(CONFIG_FB_LE80578) += vermilion/
|
obj-$(CONFIG_FB_LE80578) += vermilion/
|
||||||
obj-$(CONFIG_FB_S3) += s3fb.o
|
obj-$(CONFIG_FB_S3) += s3fb.o
|
||||||
|
obj-$(CONFIG_FB_ARK) += arkfb.o
|
||||||
obj-$(CONFIG_FB_STI) += stifb.o
|
obj-$(CONFIG_FB_STI) += stifb.o
|
||||||
obj-$(CONFIG_FB_FFB) += ffb.o sbuslib.o
|
obj-$(CONFIG_FB_FFB) += ffb.o sbuslib.o
|
||||||
obj-$(CONFIG_FB_CG6) += cg6.o sbuslib.o
|
obj-$(CONFIG_FB_CG6) += cg6.o sbuslib.o
|
||||||
|
|
1199
drivers/video/arkfb.c
Normal file
1199
drivers/video/arkfb.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue