Lynx framebuffers multidomain implementation.
[linux/elbrus.git] / drivers / video / lynxfb / modedb.c
blob74e5aa5d524aee872e2c2732b93b6286cda22afb
1 /*******************************************************************
2 *Copyright (c) 2012 by Silicon Motion, Inc. (SMI)
3 *Permission is hereby granted, free of charge, to any person obtaining a copy
4 *of this software and associated documentation files (the "Software"), to deal
5 *in the Software without restriction, including without limitation the rights to
6 *use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7 *of the Software, and to permit persons to whom the Software is furnished to
8 *do so, subject to the following conditions:
10 *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
11 *EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
12 *OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
13 *NONINFRINGEMENT. IN NO EVENT SHALL Mill.Chen and Monk.Liu OR COPYRIGHT
14 *HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
15 *WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
16 *FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
17 *OTHER DEALINGS IN THE SOFTWARE.
18 *******************************************************************/
19 static const struct fb_videomode modedb2[] = {
21 /* 640x400 @ 70 Hz, 31.5 kHz hsync */
22 NULL, 70, 640, 400, 39721, 40, 24, 39, 9, 96, 2,
23 0, FB_VMODE_NONINTERLACED}, {
24 /* 640x480 @ 60 Hz, 31.5 kHz hsync */
25 NULL, 60, 640, 480, 39721, 40, 24,
26 32, 11, 96, 2,
27 0, FB_VMODE_NONINTERLACED}, {
28 /* 800x600 @ 56 Hz, 35.15 kHz hsync */
29 NULL,
30 56, 800,
31 600,
32 27777,
33 128, 24,
34 22, 1,
35 72, 2,
37 FB_VMODE_NONINTERLACED},
39 /* 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync */
40 NULL, 87, 1024, 768, 22271, 56, 24, 33, 8, 160, 8,
41 0, FB_VMODE_INTERLACED}, {
42 /* 640x400 @ 85 Hz, 37.86 kHz hsync */
43 NULL, 85, 640, 400, 31746, 96, 32, 41,
44 1, 64, 3,
45 FB_SYNC_VERT_HIGH_ACT,
46 FB_VMODE_NONINTERLACED}, {
47 /* 640x480 @ 72 Hz, 36.5 kHz hsync */
48 NULL, 72, 640,
49 480, 31746,
50 144, 40, 30,
51 8, 40, 3,
53 FB_VMODE_NONINTERLACED},
55 /* 640x480 @ 75 Hz, 37.50 kHz hsync */
56 NULL, 75, 640, 480, 31746, 120, 16, 16, 1, 64, 3,
57 0, FB_VMODE_NONINTERLACED}, {
58 /* 800x600 @ 60 Hz, 37.8 kHz hsync */
59 NULL, 60, 800, 600, 25000, 88, 40,
60 23, 1, 128, 4,
61 FB_SYNC_HOR_HIGH_ACT |
62 FB_SYNC_VERT_HIGH_ACT,
63 FB_VMODE_NONINTERLACED}, {
64 /* 640x480 @ 85 Hz, 43.27 kHz hsync */
65 NULL, 85,
66 640, 480,
67 27777, 80,
68 56, 25, 1,
69 56, 3,
71 FB_VMODE_NONINTERLACED},
73 /* 1152x864 @ 89 Hz interlaced, 44 kHz hsync */
74 NULL, 69, 1152, 864, 15384, 96, 16, 110, 1, 216, 10,
75 0, FB_VMODE_INTERLACED}, {
76 /* 800x600 @ 72 Hz, 48.0 kHz hsync */
77 NULL, 72, 800, 600, 20000, 64, 56, 23,
78 37, 120, 6,
79 FB_SYNC_HOR_HIGH_ACT |
80 FB_SYNC_VERT_HIGH_ACT,
81 FB_VMODE_NONINTERLACED}, {
82 /* 1024x768 @ 60 Hz, 48.4 kHz hsync */
83 NULL, 60,
84 1024, 768,
85 15384, 168, 8,
86 29, 3, 144, 6,
88 FB_VMODE_NONINTERLACED},
90 /* 640x480 @ 100 Hz, 53.01 kHz hsync */
91 NULL, 100, 640, 480, 21834, 96, 32, 36, 8, 96, 6,
92 0, FB_VMODE_NONINTERLACED}, {
93 /* 1152x864 @ 60 Hz, 53.5 kHz hsync */
94 NULL, 60, 1152, 864, 11123, 208, 64,
95 16, 4, 256, 8,
96 0, FB_VMODE_NONINTERLACED}, {
97 /* 800x600 @ 85 Hz, 55.84 kHz hsync */
98 NULL,
99 85, 800,
100 600,
101 16460,
102 160, 64,
103 36, 16,
104 64, 5,
106 FB_VMODE_NONINTERLACED},
108 /* 1024x768 @ 70 Hz, 56.5 kHz hsync */
109 NULL, 70, 1024, 768, 13333, 144, 24, 29, 3, 136, 6,
110 0, FB_VMODE_NONINTERLACED}, {
111 /* 1280x960-60 VESA */
112 NULL, 60, 1280, 960, 9259, 312, 96,
113 36, 1, 112, 3,
114 FB_SYNC_HOR_HIGH_ACT |
115 FB_SYNC_VERT_HIGH_ACT,
116 FB_VMODE_NONINTERLACED,
117 FB_MODE_IS_VESA}, {
118 /* 1280x1024-60 VESA */
119 NULL, 60, 1280,
120 1024, 9259, 248,
121 48, 38, 1, 112, 3,
122 FB_SYNC_HOR_HIGH_ACT
124 FB_SYNC_VERT_HIGH_ACT,
125 FB_VMODE_NONINTERLACED,
126 FB_MODE_IS_VESA},
128 /* 1280x1024 @ 87 Hz interlaced, 51 kHz hsync */
129 NULL, 87, 1280, 1024, 12500, 56, 16, 128, 1, 216, 12,
130 0, FB_VMODE_INTERLACED}, {
131 /* 800x600 @ 100 Hz, 64.02 kHz hsync */
132 NULL, 100, 800, 600, 14357, 160, 64, 30,
133 4, 64, 6,
134 0, FB_VMODE_NONINTERLACED}, {
135 /* 1024x768 @ 76 Hz, 62.5 kHz hsync */
136 NULL, 76,
137 1024, 768,
138 11764, 208,
139 8, 36, 16,
140 120, 3,
142 FB_VMODE_NONINTERLACED},
144 /* 1152x864 @ 70 Hz, 62.4 kHz hsync */
145 NULL, 70, 1152, 864, 10869, 106, 56, 20, 1, 160, 10,
146 0, FB_VMODE_NONINTERLACED}, {
147 /* 1280x1024 @ 61 Hz, 64.2 kHz hsync */
148 NULL, 61, 1280, 1024, 9090, 200, 48,
149 26, 1, 184, 3,
150 0, FB_VMODE_NONINTERLACED}, {
151 /* 1400x1050 @ 60Hz, 63.9 kHz hsync */
152 NULL,
154 1400,
155 1050,
156 9259,
157 136, 40,
158 13, 1,
159 112, 3,
161 FB_VMODE_NONINTERLACED},
163 /* 1400x1050 @ 75,107 Hz, 82,392 kHz +hsync +vsync */
164 NULL, 75, 1400, 1050, 9271, 120, 56, 13, 0, 112, 3,
165 FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
166 FB_VMODE_NONINTERLACED}, {
167 /* 1400x1050 @ 60 Hz, ? kHz +hsync +vsync */
168 NULL, 60, 1400, 1050, 9259, 128, 40, 12,
169 0, 112, 3,
170 FB_SYNC_HOR_HIGH_ACT |
171 FB_SYNC_VERT_HIGH_ACT,
172 FB_VMODE_NONINTERLACED}, {
173 /* 1024x768 @ 85 Hz, 70.24 kHz hsync */
174 NULL, 85,
175 1024, 768,
176 10111, 192,
177 32, 34, 14,
178 160, 6,
180 FB_VMODE_NONINTERLACED},
182 /* 1152x864 @ 78 Hz, 70.8 kHz hsync */
183 NULL, 78, 1152, 864, 9090, 228, 88, 32, 0, 84, 12,
184 0, FB_VMODE_NONINTERLACED}, {
185 /* 1280x1024 @ 70 Hz, 74.59 kHz hsync */
186 NULL, 70, 1280, 1024, 7905, 224, 32,
187 28, 8, 160, 8,
188 0, FB_VMODE_NONINTERLACED}, {
189 /* 1600x1200 @ 60Hz, 75.00 kHz hsync */
190 NULL,
192 1600,
193 1200,
194 6172,
195 304, 64,
196 46, 1,
197 192, 3,
198 FB_SYNC_HOR_HIGH_ACT
200 FB_SYNC_VERT_HIGH_ACT,
201 FB_VMODE_NONINTERLACED},
203 /* 1152x864 @ 84 Hz, 76.0 kHz hsync */
204 NULL, 84, 1152, 864, 7407, 184, 312, 32, 0, 128, 12,
205 0, FB_VMODE_NONINTERLACED}, {
206 /* 1280x1024 @ 74 Hz, 78.85 kHz hsync */
207 NULL, 74, 1280, 1024, 7407, 256, 32,
208 34, 3, 144, 3,
209 0, FB_VMODE_NONINTERLACED}, {
210 /* 1024x768 @ 100Hz, 80.21 kHz hsync */
211 NULL,
212 100,
213 1024,
214 768,
215 8658,
216 192, 32,
217 21, 3,
218 192, 10,
220 FB_VMODE_NONINTERLACED},
222 /* 1280x1024 @ 76 Hz, 81.13 kHz hsync */
223 NULL, 76, 1280, 1024, 7407, 248, 32, 34, 3, 104, 3,
224 0, FB_VMODE_NONINTERLACED}, {
225 /* 1600x1200 @ 70 Hz, 87.50 kHz hsync */
226 NULL, 70, 1600, 1200, 5291, 304, 64,
227 46, 1, 192, 3,
228 0, FB_VMODE_NONINTERLACED}, {
229 /* 1152x864 @ 100 Hz, 89.62 kHz hsync */
230 NULL,
231 100,
232 1152,
233 864,
234 7264,
235 224, 32,
236 17, 2,
237 128, 19,
239 FB_VMODE_NONINTERLACED},
241 /* 1280x1024 @ 85 Hz, 91.15 kHz hsync */
242 NULL, 85, 1280, 1024, 6349, 224, 64, 44, 1, 160, 3,
243 FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
244 FB_VMODE_NONINTERLACED}, {
245 /* 1600x1200 @ 75 Hz, 93.75 kHz hsync */
246 NULL, 75, 1600, 1200, 4938, 304, 64, 46,
247 1, 192, 3,
248 FB_SYNC_HOR_HIGH_ACT |
249 FB_SYNC_VERT_HIGH_ACT,
250 FB_VMODE_NONINTERLACED}, {
251 /* 1600x1200 @ 85 Hz, 105.77 kHz hsync */
252 NULL, 85,
253 1600, 1200,
254 4545, 272, 16,
255 37, 4, 192, 3,
256 FB_SYNC_HOR_HIGH_ACT
258 FB_SYNC_VERT_HIGH_ACT,
259 FB_VMODE_NONINTERLACED},
261 /* 1280x1024 @ 100 Hz, 107.16 kHz hsync */
262 NULL, 100, 1280, 1024, 5502, 256, 32, 26, 7, 128, 15,
263 0, FB_VMODE_NONINTERLACED}, {
264 /* 1800x1440 @ 64Hz, 96.15 kHz hsync */
265 NULL, 64, 1800, 1440, 4347, 304, 96,
266 46, 1, 192, 3,
267 FB_SYNC_HOR_HIGH_ACT |
268 FB_SYNC_VERT_HIGH_ACT,
269 FB_VMODE_NONINTERLACED}, {
270 /* 1800x1440 @ 70Hz, 104.52 kHz hsync */
271 NULL, 70,
272 1800, 1440,
273 4000, 304,
274 96, 46, 1,
275 192, 3,
276 FB_SYNC_HOR_HIGH_ACT
278 FB_SYNC_VERT_HIGH_ACT,
279 FB_VMODE_NONINTERLACED},
281 /* 512x384 @ 78 Hz, 31.50 kHz hsync */
282 NULL, 78, 512, 384, 49603, 48, 16, 16, 1, 64, 3,
283 0, FB_VMODE_NONINTERLACED}, {
284 /* 512x384 @ 85 Hz, 34.38 kHz hsync */
285 NULL, 85, 512, 384, 45454, 48, 16,
286 16, 1, 64, 3,
287 0, FB_VMODE_NONINTERLACED}, {
288 /* 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio */
289 NULL,
290 70, 320,
291 200,
292 79440,
293 16, 16,
294 20, 4,
295 48, 1,
297 FB_VMODE_DOUBLE},
299 /* 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio */
300 NULL, 60, 320, 240, 79440, 16, 16, 16, 5, 48, 1,
301 0, FB_VMODE_DOUBLE}, {
302 /* 320x240 @ 72 Hz, 36.5 kHz hsync */
303 NULL, 72, 320, 240, 63492, 16, 16, 16, 4,
304 48, 2,
305 0, FB_VMODE_DOUBLE}, {
306 /* 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio */
307 NULL, 56, 400, 300,
308 55555, 64, 16, 10, 1,
309 32, 1,
310 0, FB_VMODE_DOUBLE}, {
311 /* 400x300 @ 60 Hz, 37.8 kHz hsync */
312 NULL,
314 400,
315 300,
316 50000,
324 FB_VMODE_DOUBLE},
326 /* 400x300 @ 72 Hz, 48.0 kHz hsync */
327 NULL, 72, 400, 300, 40000, 32, 24, 11, 19, 64, 3,
328 0, FB_VMODE_DOUBLE}, {
329 /* 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio */
330 NULL, 56, 480, 300, 46176, 80, 16, 10, 1,
331 40, 1,
332 0, FB_VMODE_DOUBLE}, {
333 /* 480x300 @ 60 Hz, 37.8 kHz hsync */
334 NULL, 60, 480, 300,
335 41858, 56, 16, 11, 1,
336 80, 2,
337 0, FB_VMODE_DOUBLE}, {
338 /* 480x300 @ 63 Hz, 39.6 kHz hsync */
339 NULL,
341 480,
342 300,
343 40000,
351 FB_VMODE_DOUBLE},
353 /* 480x300 @ 72 Hz, 48.0 kHz hsync */
354 NULL, 72, 480, 300, 33386, 40, 24, 11, 19, 80, 3,
355 0, FB_VMODE_DOUBLE},
357 static const int nmodedb2 = sizeof(modedb2);