Re: [Linux-fbdev-devel] [PATCH 1/9] viafb: VIA Frame Buffer Device Driver
From: Randy Dunlap <hidden>
Date: 2008-05-07 15:21:39
Also in:
lkml
On Wed, 7 May 2008 18:55:30 +0800 JosephChan@via.com.tw wrote:
quoted hunk ↗ jump to hunk
Signed-off-by: Joseph Chan <redacted> diff -Nur a/Documentation/fb/viafb.txt b/Documentation/fb/viafb.txt--- a/Documentation/fb/viafb.txt 1969-12-31 19:00:00.000000000 -0500 +++ b/Documentation/fb/viafb.txt 2008-05-06 06:46:26.000000000 -0400@@ -0,0 +1,197 @@ + + VIA Integration Graphic Chip Console Framebuffer Driver + +[Platform] +----------------------- + The console framebuffer driver is for Graphics chips of
graphics
+ VIA UniChrome (Pro) Family: + CLE266, PM800 / CN400,P4M800CE / P4M800Pro / CN700 / VN800, + CX700 / VX700, P4M890 + VIA Chrome9 Family: + K8M890, CN896 / P4M900, VX800)
^ drop ")" ?
+ +[Driver features] +------------------------ + Device:CRT, LCD, DVI
Device: CRT, LCD, DVI
+ + Support Mode: + CRT: + 640 x480(60, 75, 85, 100, 120 Hz), 720 x480(60 Hz),
Usually NNNxMMM or NNN x MMM (use space consistently). (multiple times)
+ 720 x576(60 Hz), 800 x600(60, 75, 85, 100, 120 Hz), + 848 x480(60 Hz), 856 x480(60 Hz), 1024 x512(60 Hz), + 1024 x768(60, 75, 85, 100 Hz), 1152 x864(75 Hz), + 1280 x768(60 Hz), 1280 x960(60 Hz), 1280 x1024(60, 75, 85 Hz), + 1440 x1050(60 Hz), 1600 x1200(60, 75 Hz), 1280 x720(60 Hz), + 1920 x1080(60 Hz), 1400 x1050(60 Hz), 800 x480(60 Hz) + + color depth:8 bpp, 16 bpp, 32 bpp
color depth: 8 bpp, ...
+ + Support 2 D hardware accelerator for kernel 2.6.xx
2D or 2-D
+ +[Using the viafb module] +-- -- -------------------- + Start viafb with default settings,
settings:
+ #modprobe viafb + + Start viafb with with user options,
options:
+ #modprobe viafb mode=800x600 via_fb_bpp=16 refresh=60 + active_dev=CRT+DVI dvi_port = DVP1 mode1 = 1024 x768 + via_fb_bpp1 = 16 refresh1 = 60 SAMM_ON = 1
I'm pretty sure that you don't want (can't have) spaces around the "=" signs above.. or does it not matter? Anyone?
+ + mode: + 640 x480(default)
...480 (default) [space before (default)]
+ 720 x480 + 800 x600 + 1024 x768 + ...... + + via_fb_bpp: + 8, 16, 32(default:32)
add space before "(default:32)"
+ + refresh: + 60, 75, 85, 100, 120(default:60)
add space before...
+ + lcd_dsp_method: + 0 : expandsion(default) + 1 : centering + + lcd_mode: + 0 : OPEN LDI(default) + 1 : SPWG + + lcd_panel_id: + 0 : Resolution: 640 x480, Channel: single, Dithering: Enable + 1 : Resolution: 800 x600, Channel: single, Dithering: Enable + 2 : Resolution: 1024 x768, Channel: single, Dithering:Enable (default) + 3 : Resolution: 1280 x768, Channel: single, Dithering: Enable + 4 : Resolution: 1280 x1024, Channel: dual, Dithering: Enable + 5 : Resolution: 1400 x1050, Channel: dual, Dithering: Enable + 6 : Resolution: 1600 x1200, Channel: dual, Dithering: Enable + + 8 : Resolution: 800 x480, Channel: single, Dithering: Enable + 9 : Resolution: 1024 x768, Channel: dual, Dithering: Enable + 10: Resolution: 1024 x768, Channel: single, Dithering: Disable + 11: Resolution: 1024 x768, Channel: dual, Dithering: Disable + 12: Resolution: 1280 x768, Channel: single, Dithering: Disable + 13: Resolution: 1280 x1024, Channel: dual, Dithering: Disable + 14: Resolution: 1400 x1050, Channel: dual, Dithering: Disable + 15: Resolution: 1600 x1200, Channel: dual, Dithering: Disable + 16: Resolution: 1366 x768, Channel: single, Dithering: Disable + 17: Resolution: 1024 x600, Channel: single, Dithering: Enable + 18: Resolution: 1280 x768, Channel: dual, Dithering: Enable + 19: Resolution: 1280 x800, Channel: single, Dithering: Enable + + via_fb_accel: + 0 : No 2 D Hardware Acceleration(default) + 1 : 2 D Hardware Acceleration
2D or 2-D
+ + SAMM_ON: + 0 : SAMM_ON disable(default) + 1 : SAMM_ON enable
Is SAMM_ON explained somewhere?
+ mode1:(secondary display device)
Add space: mode1: (secondary ...
+ 640 x480(default)
Add space before (default)
+ 720 x480 + 800 x600 + 1024 x768 + ... ... + + via_fb_bpp1:(secondary display device) + 8, 16, 32(default:32)
Add space above & below here.
+ refresh1:(secondary display device) + 60, 75, 85, 100, 120(default:60) + + active_dev: + This option is used to specify active devices.(CRT, DVI, LCD, CRT + LCD, CRT + DVI,...) + DVI stand for DVI or HDMI, Ex.If you want to enable HDMI, set active_dev = DVI
stands for DVI or HDMI. E.g., if you want ...
+ In SAMM case, the previous of active_dev is primary device, and the following is secondary device. + + For example: + To enable one device, such as DVI only, we should use: + modprobe viafb active_dev = DVI...To enable two devices, such as CRT + DVI:
active_dev=DVI
To enable two device, such as CRT + DVI:
+ For DuoView case, we can use: + modprobe viafb active_dev = CRT + DVI...OR modprobe viafb active_dev = DVI + CRT...
active_dev=CRT+DVI...
OR
modprobe viafb active_dev=DVI=CRT...
+ For SAMM case: + If CRT is primary and DVI is secondary, we should use: + modprobe viafb active_dev = CRT + DVI SAMM_ON = 1...
No spaces in module parameter strings.
+ If DVI is primary and CRT is secondary, we should use: + modprobe viafb active_dev = DVI + CRT SAMM_ON = 1...
Ditto.
+ display_hardware_layout: + This option is uesed to specify display hardware layout for CX700 chip.
used
+ 1 : LCD only + 2 : DVI only + 3 : LCD + DVI(default) + 4 : LCD1 + LCD2(internal + internal) + 16: LCD1 + ExternalLCD2(internal + external)
Add space before each "(" above.
+ + second_size: + This option is used to set second device memory size(MB) in SAMM case. + The minimal size is 16. + + EPIA_DVI: + This option is used to enable DVI on EPIA - M + 0 : No DVI on EPIA - M(default) + 1 : DVI on EPIA - M + + BusWidth: + When using 24 - Bit Bus Width Digital Interface, this option should be set. + 12: 12-Bit LVDS or 12-Bit TMDS(default) + 24: 24-Bit LVDS or 24-Bit TMDS + + LCDDualEdge: + When using Dual Edge Panel, this option should be set. + 0 : No Dual Edge Panel(default) + 1 : Dual Edge Panel + + video_dev: + This option is used to specify video output devices(CRT, DVI, LCD) for duoview case. + For example: + To output video on DVI, we should use: + modprobe viafb video_dev = DVI...
No spaces in module parameters...
+ lcd_port: + This option is used to specify lcd output port,
LCD output port;
+ available values are "DVP0" "DVP1" "DFP_HIGHLOW" "DFP_HIGH" + "DFP_LOW", for external LCD + external DVI on CX700(External LCD is on DVP0), + we should use: + modprobe viafb lcd_port = DVP0...
No spaces in module parameters.
+ +Note: + 1. CRT may not display properly for DuoView CRT & DVI display at + the "640x480" PAL mode with DVI overscan enabled. + 2. When SAMM is enable, mode and mode1, via_fb_bpp and via_fb_bpp1, + refresh and refresh1 can be different. + 3. When console is depend on viafbinfo1, dynamically change resolution and bpp, + need call VIAFB specified ioctl interface VIAFB_SET_DEVICE.
I didn't understand that sentence.
+ Call common ioctl function FBIOPUT_VSCREENINFO will cause sreen crush.
screen
+ +[Configure viafb with "fbset" tool] +----------------------------------- + "fbset" is an inbox utility of Linux. + 1. Inquire current viafb information, type, + # fbset -i + + 2. Set various resolutions and refresh rates, + # fbset <resolution-vertical_sync> + + example, + # fbset "1024x768-75" + or + # fbset -g 1024 768 1024 768 32 + Check the file "/etc/fb.modes" to find display modes available. + + 3. Set the color depth, + # fbset -depth <value> + + example, + # fbset -depth 16 + +[Bootup with viafb]: +-------------------- + Add the following line to your lilo.conf: + append = "video=viafb:mode:1024x768,via_fb_bpp:32,refresh:85"
--- ~Randy