Re: [Linux-fbdev-devel] [PATCH 1/9] viafb: VIA Frame Buffer DeviceDriver
From: Randy Dunlap
Date: Wed May 07 2008 - 11:21:40 EST
On Wed, 7 May 2008 18:55:30 +0800 JosephChan@xxxxxxxxxx wrote:
> Signed-off-by: Joseph Chan <josephchan@xxxxxxxxxx>
>
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/