1 /*
2  * xen/drivers/video/modelines.h
3  *
4  * Timings for many popular monitor resolutions
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to
8  * deal in the Software without restriction, including without limitation the
9  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10  * sell copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in
14  * all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  *
24  * Copyright (c) 1999 by The XFree86 Project, Inc.
25  * Copyright (c) 2013 Citrix Systems
26  */
27 
28 #ifndef _XEN_MODLINES_H
29 #define _XEN_MODLINES_H
30 
31 struct modeline {
32     const char* mode;  /* in the form 1280x1024@60 */
33     uint32_t pixclock; /* Khz */
34     uint32_t xres;
35     uint32_t hfront;   /* horizontal front porch in pixels */
36     uint32_t hsync;    /* horizontal sync pulse in pixels */
37     uint32_t hback;    /* horizontal back porch in pixels */
38     uint32_t yres;
39     uint32_t vfront;   /* vertical front porch in lines */
40     uint32_t vsync;    /* vertical sync pulse in lines */
41     uint32_t vback;    /* vertical back  porch in lines */
42 };
43 
44 struct modeline __initdata videomodes[] = {
45     { "640x480@60",   25175,  640,  16,   96,   48,   480,  11,   2,    31 },
46     { "640x480@72",   31500,  640,  24,   40,   128,  480,  9,    3,    28 },
47     { "640x480@75",   31500,  640,  16,   96,   48,   480,  11,   2,    32 },
48     { "640x480@85",   36000,  640,  32,   48,   112,  480,  1,    3,    25 },
49     { "800x600@56",   38100,  800,  32,   128,  128,  600,  1,    4,    14 },
50     { "800x600@60",   40000,  800,  40,   128,  88 ,  600,  1,    4,    23 },
51     { "800x600@72",   50000,  800,  56,   120,  64 ,  600,  37,   6,    23 },
52     { "800x600@75",   49500,  800,  16,   80,   160,  600,  1,    2,    21 },
53     { "800x600@85",   56250,  800,  32,   64,   152,  600,  1,    3,    27 },
54     { "1024x768@60",  65000,  1024, 24,   136,  160,  768,  3,    6,    29 },
55     { "1024x768@70",  75000,  1024, 24,   136,  144,  768,  3,    6,    29 },
56     { "1024x768@75",  78750,  1024, 16,   96,   176,  768,  1,    3,    28 },
57     { "1024x768@85",  94500,  1024, 48,   96,   208,  768,  1,    3,    36 },
58     { "1280x1024@60", 108000, 1280, 48,   112,  248,  1024, 1,    3,    38 },
59     { "1280x1024@75", 135000, 1280, 16,   144,  248,  1024, 1,    3,    38 },
60     { "1280x1024@85", 157500, 1280, 64,   160,  224,  1024, 1,    3,    44 },
61     { "1400x1050@60", 122610, 1400, 88,   152,  240,  1050, 1,    3,    33 },
62     { "1400x1050@75", 155850, 1400, 96,   152,  248,  1050, 1,    3,    42 },
63     { "1600x1200@60", 162000, 1600, 64,   192,  304,  1200, 1,    3,    46 },
64     { "1600x1200@65", 175500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
65     { "1600x1200@70", 189000, 1600, 64,   192,  304,  1200, 1,    3,    46 },
66     { "1600x1200@75", 202500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
67     { "1600x1200@85", 229500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
68     { "1792x1344@60", 204800, 1792, 128,  200,  328,  1344, 1,    3,    46 },
69     { "1792x1344@75", 261000, 1792, 96,   216,  352,  1344, 1,    3,    69 },
70     { "1856x1392@60", 218300, 1856, 96,   224,  352,  1392, 1,    3,    43 },
71     { "1856x1392@75", 288000, 1856, 128,  224,  352,  1392, 1,    3,    104 },
72     { "1920x1200@75", 193160, 1920, 128,  208,  336,  1200, 1,    3,    38 },
73     { "1920x1440@60", 234000, 1920, 128,  208,  344,  1440, 1,    3,    56 },
74     { "1920x1440@75", 297000, 1920, 144,  224,  352,  1440, 1,    3,    56 },
75 };
76 
77 #endif
78