Xilinx: ARM: I2C: SI570: Driver updated for more error checking
[linux-2.6-xlnx.git] / drivers / video / xylon / xylonfb / xylonfb-vmode.c
blob98e604c69c893d623fa2eaff051b1b3165485e41
1 /*
2 * Xylon logiCVC supported video modes
4 * Author: Xylon d.o.o.
5 * e-mail: davor.joja@logicbricks.com
7 * 2012 (c) Xylon d.o.o.
9 * This file is licensed under the terms of the GNU General Public License
10 * version 2. This program is licensed "as is" without any warranty of any
11 * kind, whether express or implied.
15 * This file implements hw dependent functionality for controlling pixel clock generation.
19 #include <linux/fb.h>
20 #include "xylonfb-vmode.h"
23 struct xylonfb_vmode_params xylonfb_vmode = {
24 #if ((VIDEO_MODE == VESA_640x480_8) || \
25 (VIDEO_MODE == VESA_640x480_16) || \
26 (VIDEO_MODE == VESA_640x480_32))
27 .fb_vmode = {
28 .refresh = 60,
29 .xres = 640,
30 .yres = 480,
31 .pixclock = KHZ2PICOS(25152),
32 .left_margin = 48,
33 .right_margin = 16,
34 .upper_margin = 31,
35 .lower_margin = 11,
36 .hsync_len = 96,
37 .vsync_len = 2,
38 .vmode = FB_VMODE_NONINTERLACED
40 .name = "VGA",
41 #endif /* #if (VIDEO_MODE == VESA_640x480_ ...) */
43 #if ((VIDEO_MODE == VESA_800x600_8) || \
44 (VIDEO_MODE == VESA_800x600_16) || \
45 (VIDEO_MODE == VESA_800x600_32))
46 .fb_vmode = {
47 .refresh = 60,
48 .xres = 800,
49 .yres = 600,
50 .pixclock = KHZ2PICOS(39790),
51 .left_margin = 88,
52 .right_margin = 40,
53 .upper_margin = 23,
54 .lower_margin = 1,
55 .hsync_len = 128,
56 .vsync_len = 4,
57 .vmode = FB_VMODE_NONINTERLACED
59 .name = "SVGA",
60 #endif /* #if (VIDEO_MODE == VESA_800x600_ ...) */
62 #if ((VIDEO_MODE == VESA_1024x768_8) || \
63 (VIDEO_MODE == VESA_1024x768_16) || \
64 (VIDEO_MODE == VESA_1024x768_32))
65 .fb_vmode = {
66 .refresh = 60,
67 .xres = 1024,
68 .yres = 768,
69 .pixclock = KHZ2PICOS(65076),
70 .left_margin = 160,
71 .right_margin = 24,
72 .upper_margin = 29,
73 .lower_margin = 3,
74 .hsync_len = 136,
75 .vsync_len = 6,
76 .vmode = FB_VMODE_NONINTERLACED
78 .name = "XGA",
79 #endif /* #if (VIDEO_MODE == VESA_1024x768_ ...) */
81 #if ((VIDEO_MODE == VESA_1280x720_8) || \
82 (VIDEO_MODE == VESA_1280x720_16) || \
83 (VIDEO_MODE == VESA_1280x720_32))
84 .fb_vmode = {
85 .refresh = 60,
86 .xres = 1280,
87 .yres = 720,
88 .pixclock = KHZ2PICOS(74250),
89 .left_margin = 220,
90 .right_margin = 110,
91 .upper_margin = 20,
92 .lower_margin = 5,
93 .hsync_len = 40,
94 .vsync_len = 5,
95 .vmode = FB_VMODE_NONINTERLACED
97 .name = "HD720",
98 #endif /* #if (VIDEO_MODE == VESA_1280x720_ ...) */
100 #if ((VIDEO_MODE == VESA_1280x1024_8) || \
101 (VIDEO_MODE == VESA_1280x1024_16) || \
102 (VIDEO_MODE == VESA_1280x1024_32))
103 .fb_vmode = {
104 .refresh = 60,
105 .xres = 1280,
106 .yres = 1024,
107 .pixclock = KHZ2PICOS(107964),
108 .left_margin = 248,
109 .right_margin = 48,
110 .upper_margin = 38,
111 .lower_margin = 1,
112 .hsync_len = 112,
113 .vsync_len = 3,
114 .vmode = FB_VMODE_NONINTERLACED
116 .name = "SXGA",
117 #endif /* #if (VIDEO_MODE == VESA_1280x1024_ ...) */
119 #if ((VIDEO_MODE == VESA_1680x1050_8) || \
120 (VIDEO_MODE == VESA_1680x1050_16) || \
121 (VIDEO_MODE == VESA_1680x1050_32))
122 .fb_vmode = {
123 .refresh = 60,
124 .xres = 1680,
125 .yres = 1050,
126 .pixclock = KHZ2PICOS(146361),
127 .left_margin = 280,
128 .right_margin = 104,
129 .upper_margin = 30,
130 .lower_margin = 3,
131 .hsync_len = 176,
132 .vsync_len = 6,
133 .vmode = FB_VMODE_NONINTERLACED
135 .name = "WSXVGA+",
136 #endif /* #if (VIDEO_MODE == VESA_1680x1050_ ...) */
138 #if ((VIDEO_MODE == VESA_1920x1080_8) || \
139 (VIDEO_MODE == VESA_1920x1080_16) || \
140 (VIDEO_MODE == VESA_1920x1080_32))
141 .fb_vmode = {
142 .refresh = 60,
143 .xres = 1920,
144 .yres = 1080,
145 .pixclock = KHZ2PICOS(148500),
146 .left_margin = 148,
147 .right_margin = 88,
148 .upper_margin = 36,
149 .lower_margin = 4,
150 .hsync_len = 44,
151 .vsync_len = 5,
152 .vmode = FB_VMODE_NONINTERLACED
154 .name = "HD1080",
155 #endif /* #if (VIDEO_MODE == VESA_1920x1080_ ...) */