diff options
Diffstat (limited to 'Documentation/fb/viafb.txt')
-rw-r--r-- | Documentation/fb/viafb.txt | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/Documentation/fb/viafb.txt b/Documentation/fb/viafb.txt new file mode 100644 index 000000000000..67dbf442b0b6 --- /dev/null +++ b/Documentation/fb/viafb.txt | |||
@@ -0,0 +1,214 @@ | |||
1 | |||
2 | VIA Integration Graphic Chip Console Framebuffer Driver | ||
3 | |||
4 | [Platform] | ||
5 | ----------------------- | ||
6 | The console framebuffer driver is for graphics chips of | ||
7 | VIA UniChrome Family(CLE266, PM800 / CN400 / CN300, | ||
8 | P4M800CE / P4M800Pro / CN700 / VN800, | ||
9 | CX700 / VX700, K8M890, P4M890, | ||
10 | CN896 / P4M900, VX800) | ||
11 | |||
12 | [Driver features] | ||
13 | ------------------------ | ||
14 | Device: CRT, LCD, DVI | ||
15 | |||
16 | Support viafb_mode: | ||
17 | CRT: | ||
18 | 640x480(60, 75, 85, 100, 120 Hz), 720x480(60 Hz), | ||
19 | 720x576(60 Hz), 800x600(60, 75, 85, 100, 120 Hz), | ||
20 | 848x480(60 Hz), 856x480(60 Hz), 1024x512(60 Hz), | ||
21 | 1024x768(60, 75, 85, 100 Hz), 1152x864(75 Hz), | ||
22 | 1280x768(60 Hz), 1280x960(60 Hz), 1280x1024(60, 75, 85 Hz), | ||
23 | 1440x1050(60 Hz), 1600x1200(60, 75 Hz), 1280x720(60 Hz), | ||
24 | 1920x1080(60 Hz), 1400x1050(60 Hz), 800x480(60 Hz) | ||
25 | |||
26 | color depth: 8 bpp, 16 bpp, 32 bpp supports. | ||
27 | |||
28 | Support 2D hardware accelerator. | ||
29 | |||
30 | [Using the viafb module] | ||
31 | -- -- -------------------- | ||
32 | Start viafb with default settings: | ||
33 | #modprobe viafb | ||
34 | |||
35 | Start viafb with with user options: | ||
36 | #modprobe viafb viafb_mode=800x600 viafb_bpp=16 viafb_refresh=60 | ||
37 | viafb_active_dev=CRT+DVI viafb_dvi_port=DVP1 | ||
38 | viafb_mode1=1024x768 viafb_bpp=16 viafb_refresh1=60 | ||
39 | viafb_SAMM_ON=1 | ||
40 | |||
41 | viafb_mode: | ||
42 | 640x480 (default) | ||
43 | 720x480 | ||
44 | 800x600 | ||
45 | 1024x768 | ||
46 | ...... | ||
47 | |||
48 | viafb_bpp: | ||
49 | 8, 16, 32 (default:32) | ||
50 | |||
51 | viafb_refresh: | ||
52 | 60, 75, 85, 100, 120 (default:60) | ||
53 | |||
54 | viafb_lcd_dsp_method: | ||
55 | 0 : expansion (default) | ||
56 | 1 : centering | ||
57 | |||
58 | viafb_lcd_mode: | ||
59 | 0 : LCD panel with LSB data format input (default) | ||
60 | 1 : LCD panel with MSB data format input | ||
61 | |||
62 | viafb_lcd_panel_id: | ||
63 | 0 : Resolution: 640x480, Channel: single, Dithering: Enable | ||
64 | 1 : Resolution: 800x600, Channel: single, Dithering: Enable | ||
65 | 2 : Resolution: 1024x768, Channel: single, Dithering: Enable (default) | ||
66 | 3 : Resolution: 1280x768, Channel: single, Dithering: Enable | ||
67 | 4 : Resolution: 1280x1024, Channel: dual, Dithering: Enable | ||
68 | 5 : Resolution: 1400x1050, Channel: dual, Dithering: Enable | ||
69 | 6 : Resolution: 1600x1200, Channel: dual, Dithering: Enable | ||
70 | |||
71 | 8 : Resolution: 800x480, Channel: single, Dithering: Enable | ||
72 | 9 : Resolution: 1024x768, Channel: dual, Dithering: Enable | ||
73 | 10: Resolution: 1024x768, Channel: single, Dithering: Disable | ||
74 | 11: Resolution: 1024x768, Channel: dual, Dithering: Disable | ||
75 | 12: Resolution: 1280x768, Channel: single, Dithering: Disable | ||
76 | 13: Resolution: 1280x1024, Channel: dual, Dithering: Disable | ||
77 | 14: Resolution: 1400x1050, Channel: dual, Dithering: Disable | ||
78 | 15: Resolution: 1600x1200, Channel: dual, Dithering: Disable | ||
79 | 16: Resolution: 1366x768, Channel: single, Dithering: Disable | ||
80 | 17: Resolution: 1024x600, Channel: single, Dithering: Enable | ||
81 | 18: Resolution: 1280x768, Channel: dual, Dithering: Enable | ||
82 | 19: Resolution: 1280x800, Channel: single, Dithering: Enable | ||
83 | |||
84 | viafb_accel: | ||
85 | 0 : No 2D Hardware Acceleration | ||
86 | 1 : 2D Hardware Acceleration (default) | ||
87 | |||
88 | viafb_SAMM_ON: | ||
89 | 0 : viafb_SAMM_ON disable (default) | ||
90 | 1 : viafb_SAMM_ON enable | ||
91 | |||
92 | viafb_mode1: (secondary display device) | ||
93 | 640x480 (default) | ||
94 | 720x480 | ||
95 | 800x600 | ||
96 | 1024x768 | ||
97 | ... ... | ||
98 | |||
99 | viafb_bpp1: (secondary display device) | ||
100 | 8, 16, 32 (default:32) | ||
101 | |||
102 | viafb_refresh1: (secondary display device) | ||
103 | 60, 75, 85, 100, 120 (default:60) | ||
104 | |||
105 | viafb_active_dev: | ||
106 | This option is used to specify active devices.(CRT, DVI, CRT+LCD...) | ||
107 | DVI stands for DVI or HDMI, E.g., If you want to enable HDMI, | ||
108 | set viafb_active_dev=DVI. In SAMM case, the previous of | ||
109 | viafb_active_dev is primary device, and the following is | ||
110 | secondary device. | ||
111 | |||
112 | For example: | ||
113 | To enable one device, such as DVI only, we can use: | ||
114 | modprobe viafb viafb_active_dev=DVI | ||
115 | To enable two devices, such as CRT+DVI: | ||
116 | modprobe viafb viafb_active_dev=CRT+DVI; | ||
117 | |||
118 | For DuoView case, we can use: | ||
119 | modprobe viafb viafb_active_dev=CRT+DVI | ||
120 | OR | ||
121 | modprobe viafb viafb_active_dev=DVI+CRT... | ||
122 | |||
123 | For SAMM case: | ||
124 | If CRT is primary and DVI is secondary, we should use: | ||
125 | modprobe viafb viafb_active_dev=CRT+DVI viafb_SAMM_ON=1... | ||
126 | If DVI is primary and CRT is secondary, we should use: | ||
127 | modprobe viafb viafb_active_dev=DVI+CRT viafb_SAMM_ON=1... | ||
128 | |||
129 | viafb_display_hardware_layout: | ||
130 | This option is used to specify display hardware layout for CX700 chip. | ||
131 | 1 : LCD only | ||
132 | 2 : DVI only | ||
133 | 3 : LCD+DVI (default) | ||
134 | 4 : LCD1+LCD2 (internal + internal) | ||
135 | 16: LCD1+ExternalLCD2 (internal + external) | ||
136 | |||
137 | viafb_second_size: | ||
138 | This option is used to set second device memory size(MB) in SAMM case. | ||
139 | The minimal size is 16. | ||
140 | |||
141 | viafb_platform_epia_dvi: | ||
142 | This option is used to enable DVI on EPIA - M | ||
143 | 0 : No DVI on EPIA - M (default) | ||
144 | 1 : DVI on EPIA - M | ||
145 | |||
146 | viafb_bus_width: | ||
147 | When using 24 - Bit Bus Width Digital Interface, | ||
148 | this option should be set. | ||
149 | 12: 12-Bit LVDS or 12-Bit TMDS (default) | ||
150 | 24: 24-Bit LVDS or 24-Bit TMDS | ||
151 | |||
152 | viafb_device_lcd_dualedge: | ||
153 | When using Dual Edge Panel, this option should be set. | ||
154 | 0 : No Dual Edge Panel (default) | ||
155 | 1 : Dual Edge Panel | ||
156 | |||
157 | viafb_video_dev: | ||
158 | This option is used to specify video output devices(CRT, DVI, LCD) for | ||
159 | duoview case. | ||
160 | For example: | ||
161 | To output video on DVI, we should use: | ||
162 | modprobe viafb viafb_video_dev=DVI... | ||
163 | |||
164 | viafb_lcd_port: | ||
165 | This option is used to specify LCD output port, | ||
166 | available values are "DVP0" "DVP1" "DFP_HIGHLOW" "DFP_HIGH" "DFP_LOW". | ||
167 | for external LCD + external DVI on CX700(External LCD is on DVP0), | ||
168 | we should use: | ||
169 | modprobe viafb viafb_lcd_port=DVP0... | ||
170 | |||
171 | Notes: | ||
172 | 1. CRT may not display properly for DuoView CRT & DVI display at | ||
173 | the "640x480" PAL mode with DVI overscan enabled. | ||
174 | 2. SAMM stands for single adapter multi monitors. It is different from | ||
175 | multi-head since SAMM support multi monitor at driver layers, thus fbcon | ||
176 | layer doesn't even know about it; SAMM's second screen doesn't have a | ||
177 | device node file, thus a user mode application can't access it directly. | ||
178 | When SAMM is enabled, viafb_mode and viafb_mode1, viafb_bpp and | ||
179 | viafb_bpp1, viafb_refresh and viafb_refresh1 can be different. | ||
180 | 3. When console is depending on viafbinfo1, dynamically change resolution | ||
181 | and bpp, need to call VIAFB specified ioctl interface VIAFB_SET_DEVICE | ||
182 | instead of calling common ioctl function FBIOPUT_VSCREENINFO since | ||
183 | viafb doesn't support multi-head well, or it will cause screen crush. | ||
184 | 4. VX800 2D accelerator hasn't been supported in this driver yet. When | ||
185 | using driver on VX800, the driver will disable the acceleration | ||
186 | function as default. | ||
187 | |||
188 | |||
189 | [Configure viafb with "fbset" tool] | ||
190 | ----------------------------------- | ||
191 | "fbset" is an inbox utility of Linux. | ||
192 | 1. Inquire current viafb information, type, | ||
193 | # fbset -i | ||
194 | |||
195 | 2. Set various resolutions and viafb_refresh rates, | ||
196 | # fbset <resolution-vertical_sync> | ||
197 | |||
198 | example, | ||
199 | # fbset "1024x768-75" | ||
200 | or | ||
201 | # fbset -g 1024 768 1024 768 32 | ||
202 | Check the file "/etc/fb.modes" to find display modes available. | ||
203 | |||
204 | 3. Set the color depth, | ||
205 | # fbset -depth <value> | ||
206 | |||
207 | example, | ||
208 | # fbset -depth 16 | ||
209 | |||
210 | [Bootup with viafb]: | ||
211 | -------------------- | ||
212 | Add the following line to your grub.conf: | ||
213 | append = "video=viafb:viafb_mode=1024x768,viafb_bpp=32,viafb_refresh=85" | ||
214 | |||