Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
[deliverable/linux.git] / include / uapi / linux / v4l2-dv-timings.h
1 /*
2 * V4L2 DV timings header.
3 *
4 * Copyright (C) 2012 Hans Verkuil <hans.verkuil@cisco.com>
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * version 2 as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18 * 02110-1301 USA
19 */
20
21 #ifndef _V4L2_DV_TIMINGS_H
22 #define _V4L2_DV_TIMINGS_H
23
24 #if __GNUC__ < 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ < 6))
25 /* Sadly gcc versions older than 4.6 have a bug in how they initialize
26 anonymous unions where they require additional curly brackets.
27 This violates the C1x standard. This workaround adds the curly brackets
28 if needed. */
29 #define V4L2_INIT_BT_TIMINGS(_width, args...) \
30 { .bt = { _width , ## args } }
31 #else
32 #define V4L2_INIT_BT_TIMINGS(_width, args...) \
33 .bt = { _width , ## args }
34 #endif
35
36 /* CEA-861-E timings (i.e. standard HDTV timings) */
37
38 #define V4L2_DV_BT_CEA_640X480P59_94 { \
39 .type = V4L2_DV_BT_656_1120, \
40 V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \
41 25175000, 16, 96, 48, 10, 2, 33, 0, 0, 0, \
42 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, 0) \
43 }
44
45 /* Note: these are the nominal timings, for HDMI links this format is typically
46 * double-clocked to meet the minimum pixelclock requirements. */
47 #define V4L2_DV_BT_CEA_720X480I59_94 { \
48 .type = V4L2_DV_BT_656_1120, \
49 V4L2_INIT_BT_TIMINGS(720, 480, 1, 0, \
50 13500000, 19, 62, 57, 4, 3, 15, 4, 3, 16, \
51 V4L2_DV_BT_STD_CEA861, \
52 V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO) \
53 }
54
55 #define V4L2_DV_BT_CEA_720X480P59_94 { \
56 .type = V4L2_DV_BT_656_1120, \
57 V4L2_INIT_BT_TIMINGS(720, 480, 0, 0, \
58 27000000, 16, 62, 60, 9, 6, 30, 0, 0, 0, \
59 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
60 }
61
62 /* Note: these are the nominal timings, for HDMI links this format is typically
63 * double-clocked to meet the minimum pixelclock requirements. */
64 #define V4L2_DV_BT_CEA_720X576I50 { \
65 .type = V4L2_DV_BT_656_1120, \
66 V4L2_INIT_BT_TIMINGS(720, 576, 1, 0, \
67 13500000, 12, 63, 69, 2, 3, 19, 2, 3, 20, \
68 V4L2_DV_BT_STD_CEA861, \
69 V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO) \
70 }
71
72 #define V4L2_DV_BT_CEA_720X576P50 { \
73 .type = V4L2_DV_BT_656_1120, \
74 V4L2_INIT_BT_TIMINGS(720, 576, 0, 0, \
75 27000000, 12, 64, 68, 5, 5, 39, 0, 0, 0, \
76 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
77 }
78
79 #define V4L2_DV_BT_CEA_1280X720P24 { \
80 .type = V4L2_DV_BT_656_1120, \
81 V4L2_INIT_BT_TIMINGS(1280, 720, 0, \
82 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
83 59400000, 1760, 40, 220, 5, 5, 20, 0, 0, 0, \
84 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, \
85 V4L2_DV_FL_CAN_REDUCE_FPS) \
86 }
87
88 #define V4L2_DV_BT_CEA_1280X720P25 { \
89 .type = V4L2_DV_BT_656_1120, \
90 V4L2_INIT_BT_TIMINGS(1280, 720, 0, \
91 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
92 74250000, 2420, 40, 220, 5, 5, 20, 0, 0, 0, \
93 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
94 }
95
96 #define V4L2_DV_BT_CEA_1280X720P30 { \
97 .type = V4L2_DV_BT_656_1120, \
98 V4L2_INIT_BT_TIMINGS(1280, 720, 0, \
99 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
100 74250000, 1760, 40, 220, 5, 5, 20, 0, 0, 0, \
101 V4L2_DV_BT_STD_CEA861, \
102 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
103 }
104
105 #define V4L2_DV_BT_CEA_1280X720P50 { \
106 .type = V4L2_DV_BT_656_1120, \
107 V4L2_INIT_BT_TIMINGS(1280, 720, 0, \
108 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
109 74250000, 440, 40, 220, 5, 5, 20, 0, 0, 0, \
110 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
111 }
112
113 #define V4L2_DV_BT_CEA_1280X720P60 { \
114 .type = V4L2_DV_BT_656_1120, \
115 V4L2_INIT_BT_TIMINGS(1280, 720, 0, \
116 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
117 74250000, 110, 40, 220, 5, 5, 20, 0, 0, 0, \
118 V4L2_DV_BT_STD_CEA861, \
119 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
120 }
121
122 #define V4L2_DV_BT_CEA_1920X1080P24 { \
123 .type = V4L2_DV_BT_656_1120, \
124 V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \
125 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
126 74250000, 638, 44, 148, 4, 5, 36, 0, 0, 0, \
127 V4L2_DV_BT_STD_CEA861, \
128 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
129 }
130
131 #define V4L2_DV_BT_CEA_1920X1080P25 { \
132 .type = V4L2_DV_BT_656_1120, \
133 V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \
134 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
135 74250000, 528, 44, 148, 4, 5, 36, 0, 0, 0, \
136 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
137 }
138
139 #define V4L2_DV_BT_CEA_1920X1080P30 { \
140 .type = V4L2_DV_BT_656_1120, \
141 V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \
142 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
143 74250000, 88, 44, 148, 4, 5, 36, 0, 0, 0, \
144 V4L2_DV_BT_STD_CEA861, \
145 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
146 }
147
148 #define V4L2_DV_BT_CEA_1920X1080I50 { \
149 .type = V4L2_DV_BT_656_1120, \
150 V4L2_INIT_BT_TIMINGS(1920, 1080, 1, \
151 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
152 74250000, 528, 44, 148, 2, 5, 15, 2, 5, 16, \
153 V4L2_DV_BT_STD_CEA861, \
154 V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO) \
155 }
156
157 #define V4L2_DV_BT_CEA_1920X1080P50 { \
158 .type = V4L2_DV_BT_656_1120, \
159 V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \
160 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
161 148500000, 528, 44, 148, 4, 5, 36, 0, 0, 0, \
162 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
163 }
164
165 #define V4L2_DV_BT_CEA_1920X1080I60 { \
166 .type = V4L2_DV_BT_656_1120, \
167 V4L2_INIT_BT_TIMINGS(1920, 1080, 1, \
168 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
169 74250000, 88, 44, 148, 2, 5, 15, 2, 5, 16, \
170 V4L2_DV_BT_STD_CEA861, \
171 V4L2_DV_FL_CAN_REDUCE_FPS | \
172 V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO) \
173 }
174
175 #define V4L2_DV_BT_CEA_1920X1080P60 { \
176 .type = V4L2_DV_BT_656_1120, \
177 V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \
178 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
179 148500000, 88, 44, 148, 4, 5, 36, 0, 0, 0, \
180 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, \
181 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
182 }
183
184 #define V4L2_DV_BT_CEA_3840X2160P24 { \
185 .type = V4L2_DV_BT_656_1120, \
186 V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \
187 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
188 297000000, 1276, 88, 296, 8, 10, 72, 0, 0, 0, \
189 V4L2_DV_BT_STD_CEA861, \
190 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
191 }
192
193 #define V4L2_DV_BT_CEA_3840X2160P25 { \
194 .type = V4L2_DV_BT_656_1120, \
195 V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \
196 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
197 297000000, 1056, 88, 296, 8, 10, 72, 0, 0, 0, \
198 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
199 }
200
201 #define V4L2_DV_BT_CEA_3840X2160P30 { \
202 .type = V4L2_DV_BT_656_1120, \
203 V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \
204 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
205 297000000, 176, 88, 296, 8, 10, 72, 0, 0, 0, \
206 V4L2_DV_BT_STD_CEA861, \
207 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
208 }
209
210 #define V4L2_DV_BT_CEA_3840X2160P50 { \
211 .type = V4L2_DV_BT_656_1120, \
212 V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \
213 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
214 594000000, 1056, 88, 296, 8, 10, 72, 0, 0, 0, \
215 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
216 }
217
218 #define V4L2_DV_BT_CEA_3840X2160P60 { \
219 .type = V4L2_DV_BT_656_1120, \
220 V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \
221 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
222 594000000, 176, 88, 296, 8, 10, 72, 0, 0, 0, \
223 V4L2_DV_BT_STD_CEA861, \
224 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
225 }
226
227 #define V4L2_DV_BT_CEA_4096X2160P24 { \
228 .type = V4L2_DV_BT_656_1120, \
229 V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \
230 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
231 297000000, 1020, 88, 296, 8, 10, 72, 0, 0, 0, \
232 V4L2_DV_BT_STD_CEA861, \
233 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
234 }
235
236 #define V4L2_DV_BT_CEA_4096X2160P25 { \
237 .type = V4L2_DV_BT_656_1120, \
238 V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \
239 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
240 297000000, 968, 88, 128, 8, 10, 72, 0, 0, 0, \
241 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
242 }
243
244 #define V4L2_DV_BT_CEA_4096X2160P30 { \
245 .type = V4L2_DV_BT_656_1120, \
246 V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \
247 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
248 297000000, 88, 88, 128, 8, 10, 72, 0, 0, 0, \
249 V4L2_DV_BT_STD_CEA861, \
250 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
251 }
252
253 #define V4L2_DV_BT_CEA_4096X2160P50 { \
254 .type = V4L2_DV_BT_656_1120, \
255 V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \
256 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
257 594000000, 968, 88, 128, 8, 10, 72, 0, 0, 0, \
258 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
259 }
260
261 #define V4L2_DV_BT_CEA_4096X2160P60 { \
262 .type = V4L2_DV_BT_656_1120, \
263 V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \
264 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
265 594000000, 88, 88, 128, 8, 10, 72, 0, 0, 0, \
266 V4L2_DV_BT_STD_CEA861, \
267 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
268 }
269
270
271 /* VESA Discrete Monitor Timings as per version 1.0, revision 12 */
272
273 #define V4L2_DV_BT_DMT_640X350P85 { \
274 .type = V4L2_DV_BT_656_1120, \
275 V4L2_INIT_BT_TIMINGS(640, 350, 0, V4L2_DV_HSYNC_POS_POL, \
276 31500000, 32, 64, 96, 32, 3, 60, 0, 0, 0, \
277 V4L2_DV_BT_STD_DMT, 0) \
278 }
279
280 #define V4L2_DV_BT_DMT_640X400P85 { \
281 .type = V4L2_DV_BT_656_1120, \
282 V4L2_INIT_BT_TIMINGS(640, 400, 0, V4L2_DV_VSYNC_POS_POL, \
283 31500000, 32, 64, 96, 1, 3, 41, 0, 0, 0, \
284 V4L2_DV_BT_STD_DMT, 0) \
285 }
286
287 #define V4L2_DV_BT_DMT_720X400P85 { \
288 .type = V4L2_DV_BT_656_1120, \
289 V4L2_INIT_BT_TIMINGS(720, 400, 0, V4L2_DV_VSYNC_POS_POL, \
290 35500000, 36, 72, 108, 1, 3, 42, 0, 0, 0, \
291 V4L2_DV_BT_STD_DMT, 0) \
292 }
293
294 /* VGA resolutions */
295 #define V4L2_DV_BT_DMT_640X480P60 V4L2_DV_BT_CEA_640X480P59_94
296
297 #define V4L2_DV_BT_DMT_640X480P72 { \
298 .type = V4L2_DV_BT_656_1120, \
299 V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \
300 31500000, 24, 40, 128, 9, 3, 28, 0, 0, 0, \
301 V4L2_DV_BT_STD_DMT, 0) \
302 }
303
304 #define V4L2_DV_BT_DMT_640X480P75 { \
305 .type = V4L2_DV_BT_656_1120, \
306 V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \
307 31500000, 16, 64, 120, 1, 3, 16, 0, 0, 0, \
308 V4L2_DV_BT_STD_DMT, 0) \
309 }
310
311 #define V4L2_DV_BT_DMT_640X480P85 { \
312 .type = V4L2_DV_BT_656_1120, \
313 V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \
314 36000000, 56, 56, 80, 1, 3, 25, 0, 0, 0, \
315 V4L2_DV_BT_STD_DMT, 0) \
316 }
317
318 /* SVGA resolutions */
319 #define V4L2_DV_BT_DMT_800X600P56 { \
320 .type = V4L2_DV_BT_656_1120, \
321 V4L2_INIT_BT_TIMINGS(800, 600, 0, \
322 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
323 36000000, 24, 72, 128, 1, 2, 22, 0, 0, 0, \
324 V4L2_DV_BT_STD_DMT, 0) \
325 }
326
327 #define V4L2_DV_BT_DMT_800X600P60 { \
328 .type = V4L2_DV_BT_656_1120, \
329 V4L2_INIT_BT_TIMINGS(800, 600, 0, \
330 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
331 40000000, 40, 128, 88, 1, 4, 23, 0, 0, 0, \
332 V4L2_DV_BT_STD_DMT, 0) \
333 }
334
335 #define V4L2_DV_BT_DMT_800X600P72 { \
336 .type = V4L2_DV_BT_656_1120, \
337 V4L2_INIT_BT_TIMINGS(800, 600, 0, \
338 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
339 50000000, 56, 120, 64, 37, 6, 23, 0, 0, 0, \
340 V4L2_DV_BT_STD_DMT, 0) \
341 }
342
343 #define V4L2_DV_BT_DMT_800X600P75 { \
344 .type = V4L2_DV_BT_656_1120, \
345 V4L2_INIT_BT_TIMINGS(800, 600, 0, \
346 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
347 49500000, 16, 80, 160, 1, 3, 21, 0, 0, 0, \
348 V4L2_DV_BT_STD_DMT, 0) \
349 }
350
351 #define V4L2_DV_BT_DMT_800X600P85 { \
352 .type = V4L2_DV_BT_656_1120, \
353 V4L2_INIT_BT_TIMINGS(800, 600, 0, \
354 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
355 56250000, 32, 64, 152, 1, 3, 27, 0, 0, 0, \
356 V4L2_DV_BT_STD_DMT, 0) \
357 }
358
359 #define V4L2_DV_BT_DMT_800X600P120_RB { \
360 .type = V4L2_DV_BT_656_1120, \
361 V4L2_INIT_BT_TIMINGS(800, 600, 0, V4L2_DV_HSYNC_POS_POL, \
362 73250000, 48, 32, 80, 3, 4, 29, 0, 0, 0, \
363 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
364 V4L2_DV_FL_REDUCED_BLANKING) \
365 }
366
367 #define V4L2_DV_BT_DMT_848X480P60 { \
368 .type = V4L2_DV_BT_656_1120, \
369 V4L2_INIT_BT_TIMINGS(848, 480, 0, \
370 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
371 33750000, 16, 112, 112, 6, 8, 23, 0, 0, 0, \
372 V4L2_DV_BT_STD_DMT, 0) \
373 }
374
375 #define V4L2_DV_BT_DMT_1024X768I43 { \
376 .type = V4L2_DV_BT_656_1120, \
377 V4L2_INIT_BT_TIMINGS(1024, 768, 1, \
378 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
379 44900000, 8, 176, 56, 0, 4, 20, 0, 4, 21, \
380 V4L2_DV_BT_STD_DMT, 0) \
381 }
382
383 /* XGA resolutions */
384 #define V4L2_DV_BT_DMT_1024X768P60 { \
385 .type = V4L2_DV_BT_656_1120, \
386 V4L2_INIT_BT_TIMINGS(1024, 768, 0, 0, \
387 65000000, 24, 136, 160, 3, 6, 29, 0, 0, 0, \
388 V4L2_DV_BT_STD_DMT, 0) \
389 }
390
391 #define V4L2_DV_BT_DMT_1024X768P70 { \
392 .type = V4L2_DV_BT_656_1120, \
393 V4L2_INIT_BT_TIMINGS(1024, 768, 0, 0, \
394 75000000, 24, 136, 144, 3, 6, 29, 0, 0, 0, \
395 V4L2_DV_BT_STD_DMT, 0) \
396 }
397
398 #define V4L2_DV_BT_DMT_1024X768P75 { \
399 .type = V4L2_DV_BT_656_1120, \
400 V4L2_INIT_BT_TIMINGS(1024, 768, 0, \
401 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
402 78750000, 16, 96, 176, 1, 3, 28, 0, 0, 0, \
403 V4L2_DV_BT_STD_DMT, 0) \
404 }
405
406 #define V4L2_DV_BT_DMT_1024X768P85 { \
407 .type = V4L2_DV_BT_656_1120, \
408 V4L2_INIT_BT_TIMINGS(1024, 768, 0, \
409 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
410 94500000, 48, 96, 208, 1, 3, 36, 0, 0, 0, \
411 V4L2_DV_BT_STD_DMT, 0) \
412 }
413
414 #define V4L2_DV_BT_DMT_1024X768P120_RB { \
415 .type = V4L2_DV_BT_656_1120, \
416 V4L2_INIT_BT_TIMINGS(1024, 768, 0, V4L2_DV_HSYNC_POS_POL, \
417 115500000, 48, 32, 80, 3, 4, 38, 0, 0, 0, \
418 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
419 V4L2_DV_FL_REDUCED_BLANKING) \
420 }
421
422 /* XGA+ resolution */
423 #define V4L2_DV_BT_DMT_1152X864P75 { \
424 .type = V4L2_DV_BT_656_1120, \
425 V4L2_INIT_BT_TIMINGS(1152, 864, 0, \
426 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
427 108000000, 64, 128, 256, 1, 3, 32, 0, 0, 0, \
428 V4L2_DV_BT_STD_DMT, 0) \
429 }
430
431 #define V4L2_DV_BT_DMT_1280X720P60 V4L2_DV_BT_CEA_1280X720P60
432
433 /* WXGA resolutions */
434 #define V4L2_DV_BT_DMT_1280X768P60_RB { \
435 .type = V4L2_DV_BT_656_1120, \
436 V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_HSYNC_POS_POL, \
437 68250000, 48, 32, 80, 3, 7, 12, 0, 0, 0, \
438 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
439 V4L2_DV_FL_REDUCED_BLANKING) \
440 }
441
442 #define V4L2_DV_BT_DMT_1280X768P60 { \
443 .type = V4L2_DV_BT_656_1120, \
444 V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \
445 79500000, 64, 128, 192, 3, 7, 20, 0, 0, 0, \
446 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
447 }
448
449 #define V4L2_DV_BT_DMT_1280X768P75 { \
450 .type = V4L2_DV_BT_656_1120, \
451 V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \
452 102250000, 80, 128, 208, 3, 7, 27, 0, 0, 0, \
453 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
454 }
455
456 #define V4L2_DV_BT_DMT_1280X768P85 { \
457 .type = V4L2_DV_BT_656_1120, \
458 V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \
459 117500000, 80, 136, 216, 3, 7, 31, 0, 0, 0, \
460 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
461 }
462
463 #define V4L2_DV_BT_DMT_1280X768P120_RB { \
464 .type = V4L2_DV_BT_656_1120, \
465 V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_HSYNC_POS_POL, \
466 140250000, 48, 32, 80, 3, 7, 35, 0, 0, 0, \
467 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
468 V4L2_DV_FL_REDUCED_BLANKING) \
469 }
470
471 #define V4L2_DV_BT_DMT_1280X800P60_RB { \
472 .type = V4L2_DV_BT_656_1120, \
473 V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_HSYNC_POS_POL, \
474 71000000, 48, 32, 80, 3, 6, 14, 0, 0, 0, \
475 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
476 V4L2_DV_FL_REDUCED_BLANKING) \
477 }
478
479 #define V4L2_DV_BT_DMT_1280X800P60 { \
480 .type = V4L2_DV_BT_656_1120, \
481 V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \
482 83500000, 72, 128, 200, 3, 6, 22, 0, 0, 0, \
483 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
484 }
485
486 #define V4L2_DV_BT_DMT_1280X800P75 { \
487 .type = V4L2_DV_BT_656_1120, \
488 V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \
489 106500000, 80, 128, 208, 3, 6, 29, 0, 0, 0, \
490 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
491 }
492
493 #define V4L2_DV_BT_DMT_1280X800P85 { \
494 .type = V4L2_DV_BT_656_1120, \
495 V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \
496 122500000, 80, 136, 216, 3, 6, 34, 0, 0, 0, \
497 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
498 }
499
500 #define V4L2_DV_BT_DMT_1280X800P120_RB { \
501 .type = V4L2_DV_BT_656_1120, \
502 V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_HSYNC_POS_POL, \
503 146250000, 48, 32, 80, 3, 6, 38, 0, 0, 0, \
504 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
505 V4L2_DV_FL_REDUCED_BLANKING) \
506 }
507
508 #define V4L2_DV_BT_DMT_1280X960P60 { \
509 .type = V4L2_DV_BT_656_1120, \
510 V4L2_INIT_BT_TIMINGS(1280, 960, 0, \
511 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
512 108000000, 96, 112, 312, 1, 3, 36, 0, 0, 0, \
513 V4L2_DV_BT_STD_DMT, 0) \
514 }
515
516 #define V4L2_DV_BT_DMT_1280X960P85 { \
517 .type = V4L2_DV_BT_656_1120, \
518 V4L2_INIT_BT_TIMINGS(1280, 960, 0, \
519 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
520 148500000, 64, 160, 224, 1, 3, 47, 0, 0, 0, \
521 V4L2_DV_BT_STD_DMT, 0) \
522 }
523
524 #define V4L2_DV_BT_DMT_1280X960P120_RB { \
525 .type = V4L2_DV_BT_656_1120, \
526 V4L2_INIT_BT_TIMINGS(1280, 960, 0, V4L2_DV_HSYNC_POS_POL, \
527 175500000, 48, 32, 80, 3, 4, 50, 0, 0, 0, \
528 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
529 V4L2_DV_FL_REDUCED_BLANKING) \
530 }
531
532 /* SXGA resolutions */
533 #define V4L2_DV_BT_DMT_1280X1024P60 { \
534 .type = V4L2_DV_BT_656_1120, \
535 V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \
536 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
537 108000000, 48, 112, 248, 1, 3, 38, 0, 0, 0, \
538 V4L2_DV_BT_STD_DMT, 0) \
539 }
540
541 #define V4L2_DV_BT_DMT_1280X1024P75 { \
542 .type = V4L2_DV_BT_656_1120, \
543 V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \
544 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
545 135000000, 16, 144, 248, 1, 3, 38, 0, 0, 0, \
546 V4L2_DV_BT_STD_DMT, 0) \
547 }
548
549 #define V4L2_DV_BT_DMT_1280X1024P85 { \
550 .type = V4L2_DV_BT_656_1120, \
551 V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \
552 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
553 157500000, 64, 160, 224, 1, 3, 44, 0, 0, 0, \
554 V4L2_DV_BT_STD_DMT, 0) \
555 }
556
557 #define V4L2_DV_BT_DMT_1280X1024P120_RB { \
558 .type = V4L2_DV_BT_656_1120, \
559 V4L2_INIT_BT_TIMINGS(1280, 1024, 0, V4L2_DV_HSYNC_POS_POL, \
560 187250000, 48, 32, 80, 3, 7, 50, 0, 0, 0, \
561 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
562 V4L2_DV_FL_REDUCED_BLANKING) \
563 }
564
565 #define V4L2_DV_BT_DMT_1360X768P60 { \
566 .type = V4L2_DV_BT_656_1120, \
567 V4L2_INIT_BT_TIMINGS(1360, 768, 0, \
568 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
569 85500000, 64, 112, 256, 3, 6, 18, 0, 0, 0, \
570 V4L2_DV_BT_STD_DMT, 0) \
571 }
572
573 #define V4L2_DV_BT_DMT_1360X768P120_RB { \
574 .type = V4L2_DV_BT_656_1120, \
575 V4L2_INIT_BT_TIMINGS(1360, 768, 0, V4L2_DV_HSYNC_POS_POL, \
576 148250000, 48, 32, 80, 3, 5, 37, 0, 0, 0, \
577 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
578 V4L2_DV_FL_REDUCED_BLANKING) \
579 }
580
581 #define V4L2_DV_BT_DMT_1366X768P60 { \
582 .type = V4L2_DV_BT_656_1120, \
583 V4L2_INIT_BT_TIMINGS(1366, 768, 0, \
584 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
585 85500000, 70, 143, 213, 3, 3, 24, 0, 0, 0, \
586 V4L2_DV_BT_STD_DMT, 0) \
587 }
588
589 #define V4L2_DV_BT_DMT_1366X768P60_RB { \
590 .type = V4L2_DV_BT_656_1120, \
591 V4L2_INIT_BT_TIMINGS(1366, 768, 0, \
592 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
593 72000000, 14, 56, 64, 1, 3, 28, 0, 0, 0, \
594 V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \
595 }
596
597 /* SXGA+ resolutions */
598 #define V4L2_DV_BT_DMT_1400X1050P60_RB { \
599 .type = V4L2_DV_BT_656_1120, \
600 V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_HSYNC_POS_POL, \
601 101000000, 48, 32, 80, 3, 4, 23, 0, 0, 0, \
602 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
603 V4L2_DV_FL_REDUCED_BLANKING) \
604 }
605
606 #define V4L2_DV_BT_DMT_1400X1050P60 { \
607 .type = V4L2_DV_BT_656_1120, \
608 V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
609 121750000, 88, 144, 232, 3, 4, 32, 0, 0, 0, \
610 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
611 }
612
613 #define V4L2_DV_BT_DMT_1400X1050P75 { \
614 .type = V4L2_DV_BT_656_1120, \
615 V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
616 156000000, 104, 144, 248, 3, 4, 42, 0, 0, 0, \
617 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
618 }
619
620 #define V4L2_DV_BT_DMT_1400X1050P85 { \
621 .type = V4L2_DV_BT_656_1120, \
622 V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
623 179500000, 104, 152, 256, 3, 4, 48, 0, 0, 0, \
624 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
625 }
626
627 #define V4L2_DV_BT_DMT_1400X1050P120_RB { \
628 .type = V4L2_DV_BT_656_1120, \
629 V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_HSYNC_POS_POL, \
630 208000000, 48, 32, 80, 3, 4, 55, 0, 0, 0, \
631 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
632 V4L2_DV_FL_REDUCED_BLANKING) \
633 }
634
635 /* WXGA+ resolutions */
636 #define V4L2_DV_BT_DMT_1440X900P60_RB { \
637 .type = V4L2_DV_BT_656_1120, \
638 V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_HSYNC_POS_POL, \
639 88750000, 48, 32, 80, 3, 6, 17, 0, 0, 0, \
640 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
641 V4L2_DV_FL_REDUCED_BLANKING) \
642 }
643
644 #define V4L2_DV_BT_DMT_1440X900P60 { \
645 .type = V4L2_DV_BT_656_1120, \
646 V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \
647 106500000, 80, 152, 232, 3, 6, 25, 0, 0, 0, \
648 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
649 }
650
651 #define V4L2_DV_BT_DMT_1440X900P75 { \
652 .type = V4L2_DV_BT_656_1120, \
653 V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \
654 136750000, 96, 152, 248, 3, 6, 33, 0, 0, 0, \
655 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
656 }
657
658 #define V4L2_DV_BT_DMT_1440X900P85 { \
659 .type = V4L2_DV_BT_656_1120, \
660 V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \
661 157000000, 104, 152, 256, 3, 6, 39, 0, 0, 0, \
662 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
663 }
664
665 #define V4L2_DV_BT_DMT_1440X900P120_RB { \
666 .type = V4L2_DV_BT_656_1120, \
667 V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_HSYNC_POS_POL, \
668 182750000, 48, 32, 80, 3, 6, 44, 0, 0, 0, \
669 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
670 V4L2_DV_FL_REDUCED_BLANKING) \
671 }
672
673 #define V4L2_DV_BT_DMT_1600X900P60_RB { \
674 .type = V4L2_DV_BT_656_1120, \
675 V4L2_INIT_BT_TIMINGS(1600, 900, 0, \
676 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
677 108000000, 24, 80, 96, 1, 3, 96, 0, 0, 0, \
678 V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \
679 }
680
681 /* UXGA resolutions */
682 #define V4L2_DV_BT_DMT_1600X1200P60 { \
683 .type = V4L2_DV_BT_656_1120, \
684 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \
685 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
686 162000000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \
687 V4L2_DV_BT_STD_DMT, 0) \
688 }
689
690 #define V4L2_DV_BT_DMT_1600X1200P65 { \
691 .type = V4L2_DV_BT_656_1120, \
692 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \
693 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
694 175500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \
695 V4L2_DV_BT_STD_DMT, 0) \
696 }
697
698 #define V4L2_DV_BT_DMT_1600X1200P70 { \
699 .type = V4L2_DV_BT_656_1120, \
700 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \
701 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
702 189000000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \
703 V4L2_DV_BT_STD_DMT, 0) \
704 }
705
706 #define V4L2_DV_BT_DMT_1600X1200P75 { \
707 .type = V4L2_DV_BT_656_1120, \
708 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \
709 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
710 202500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \
711 V4L2_DV_BT_STD_DMT, 0) \
712 }
713
714 #define V4L2_DV_BT_DMT_1600X1200P85 { \
715 .type = V4L2_DV_BT_656_1120, \
716 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \
717 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
718 229500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \
719 V4L2_DV_BT_STD_DMT, 0) \
720 }
721
722 #define V4L2_DV_BT_DMT_1600X1200P120_RB { \
723 .type = V4L2_DV_BT_656_1120, \
724 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, V4L2_DV_HSYNC_POS_POL, \
725 268250000, 48, 32, 80, 3, 4, 64, 0, 0, 0, \
726 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
727 V4L2_DV_FL_REDUCED_BLANKING) \
728 }
729
730 /* WSXGA+ resolutions */
731 #define V4L2_DV_BT_DMT_1680X1050P60_RB { \
732 .type = V4L2_DV_BT_656_1120, \
733 V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_HSYNC_POS_POL, \
734 119000000, 48, 32, 80, 3, 6, 21, 0, 0, 0, \
735 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
736 V4L2_DV_FL_REDUCED_BLANKING) \
737 }
738
739 #define V4L2_DV_BT_DMT_1680X1050P60 { \
740 .type = V4L2_DV_BT_656_1120, \
741 V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
742 146250000, 104, 176, 280, 3, 6, 30, 0, 0, 0, \
743 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
744 }
745
746 #define V4L2_DV_BT_DMT_1680X1050P75 { \
747 .type = V4L2_DV_BT_656_1120, \
748 V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
749 187000000, 120, 176, 296, 3, 6, 40, 0, 0, 0, \
750 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
751 }
752
753 #define V4L2_DV_BT_DMT_1680X1050P85 { \
754 .type = V4L2_DV_BT_656_1120, \
755 V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
756 214750000, 128, 176, 304, 3, 6, 46, 0, 0, 0, \
757 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
758 }
759
760 #define V4L2_DV_BT_DMT_1680X1050P120_RB { \
761 .type = V4L2_DV_BT_656_1120, \
762 V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_HSYNC_POS_POL, \
763 245500000, 48, 32, 80, 3, 6, 53, 0, 0, 0, \
764 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
765 V4L2_DV_FL_REDUCED_BLANKING) \
766 }
767
768 #define V4L2_DV_BT_DMT_1792X1344P60 { \
769 .type = V4L2_DV_BT_656_1120, \
770 V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_VSYNC_POS_POL, \
771 204750000, 128, 200, 328, 1, 3, 46, 0, 0, 0, \
772 V4L2_DV_BT_STD_DMT, 0) \
773 }
774
775 #define V4L2_DV_BT_DMT_1792X1344P75 { \
776 .type = V4L2_DV_BT_656_1120, \
777 V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_VSYNC_POS_POL, \
778 261000000, 96, 216, 352, 1, 3, 69, 0, 0, 0, \
779 V4L2_DV_BT_STD_DMT, 0) \
780 }
781
782 #define V4L2_DV_BT_DMT_1792X1344P120_RB { \
783 .type = V4L2_DV_BT_656_1120, \
784 V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_HSYNC_POS_POL, \
785 333250000, 48, 32, 80, 3, 4, 72, 0, 0, 0, \
786 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
787 V4L2_DV_FL_REDUCED_BLANKING) \
788 }
789
790 #define V4L2_DV_BT_DMT_1856X1392P60 { \
791 .type = V4L2_DV_BT_656_1120, \
792 V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_VSYNC_POS_POL, \
793 218250000, 96, 224, 352, 1, 3, 43, 0, 0, 0, \
794 V4L2_DV_BT_STD_DMT, 0) \
795 }
796
797 #define V4L2_DV_BT_DMT_1856X1392P75 { \
798 .type = V4L2_DV_BT_656_1120, \
799 V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_VSYNC_POS_POL, \
800 288000000, 128, 224, 352, 1, 3, 104, 0, 0, 0, \
801 V4L2_DV_BT_STD_DMT, 0) \
802 }
803
804 #define V4L2_DV_BT_DMT_1856X1392P120_RB { \
805 .type = V4L2_DV_BT_656_1120, \
806 V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_HSYNC_POS_POL, \
807 356500000, 48, 32, 80, 3, 4, 75, 0, 0, 0, \
808 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
809 V4L2_DV_FL_REDUCED_BLANKING) \
810 }
811
812 #define V4L2_DV_BT_DMT_1920X1080P60 V4L2_DV_BT_CEA_1920X1080P60
813
814 /* WUXGA resolutions */
815 #define V4L2_DV_BT_DMT_1920X1200P60_RB { \
816 .type = V4L2_DV_BT_656_1120, \
817 V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_HSYNC_POS_POL, \
818 154000000, 48, 32, 80, 3, 6, 26, 0, 0, 0, \
819 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
820 V4L2_DV_FL_REDUCED_BLANKING) \
821 }
822
823 #define V4L2_DV_BT_DMT_1920X1200P60 { \
824 .type = V4L2_DV_BT_656_1120, \
825 V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \
826 193250000, 136, 200, 336, 3, 6, 36, 0, 0, 0, \
827 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
828 }
829
830 #define V4L2_DV_BT_DMT_1920X1200P75 { \
831 .type = V4L2_DV_BT_656_1120, \
832 V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \
833 245250000, 136, 208, 344, 3, 6, 46, 0, 0, 0, \
834 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
835 }
836
837 #define V4L2_DV_BT_DMT_1920X1200P85 { \
838 .type = V4L2_DV_BT_656_1120, \
839 V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \
840 281250000, 144, 208, 352, 3, 6, 53, 0, 0, 0, \
841 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
842 }
843
844 #define V4L2_DV_BT_DMT_1920X1200P120_RB { \
845 .type = V4L2_DV_BT_656_1120, \
846 V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_HSYNC_POS_POL, \
847 317000000, 48, 32, 80, 3, 6, 62, 0, 0, 0, \
848 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
849 V4L2_DV_FL_REDUCED_BLANKING) \
850 }
851
852 #define V4L2_DV_BT_DMT_1920X1440P60 { \
853 .type = V4L2_DV_BT_656_1120, \
854 V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_VSYNC_POS_POL, \
855 234000000, 128, 208, 344, 1, 3, 56, 0, 0, 0, \
856 V4L2_DV_BT_STD_DMT, 0) \
857 }
858
859 #define V4L2_DV_BT_DMT_1920X1440P75 { \
860 .type = V4L2_DV_BT_656_1120, \
861 V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_VSYNC_POS_POL, \
862 297000000, 144, 224, 352, 1, 3, 56, 0, 0, 0, \
863 V4L2_DV_BT_STD_DMT, 0) \
864 }
865
866 #define V4L2_DV_BT_DMT_1920X1440P120_RB { \
867 .type = V4L2_DV_BT_656_1120, \
868 V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_HSYNC_POS_POL, \
869 380500000, 48, 32, 80, 3, 4, 78, 0, 0, 0, \
870 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
871 V4L2_DV_FL_REDUCED_BLANKING) \
872 }
873
874 #define V4L2_DV_BT_DMT_2048X1152P60_RB { \
875 .type = V4L2_DV_BT_656_1120, \
876 V4L2_INIT_BT_TIMINGS(2048, 1152, 0, \
877 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
878 162000000, 26, 80, 96, 1, 3, 44, 0, 0, 0, \
879 V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \
880 }
881
882 /* WQXGA resolutions */
883 #define V4L2_DV_BT_DMT_2560X1600P60_RB { \
884 .type = V4L2_DV_BT_656_1120, \
885 V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_HSYNC_POS_POL, \
886 268500000, 48, 32, 80, 3, 6, 37, 0, 0, 0, \
887 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
888 V4L2_DV_FL_REDUCED_BLANKING) \
889 }
890
891 #define V4L2_DV_BT_DMT_2560X1600P60 { \
892 .type = V4L2_DV_BT_656_1120, \
893 V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \
894 348500000, 192, 280, 472, 3, 6, 49, 0, 0, 0, \
895 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
896 }
897
898 #define V4L2_DV_BT_DMT_2560X1600P75 { \
899 .type = V4L2_DV_BT_656_1120, \
900 V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \
901 443250000, 208, 280, 488, 3, 6, 63, 0, 0, 0, \
902 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
903 }
904
905 #define V4L2_DV_BT_DMT_2560X1600P85 { \
906 .type = V4L2_DV_BT_656_1120, \
907 V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \
908 505250000, 208, 280, 488, 3, 6, 73, 0, 0, 0, \
909 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
910 }
911
912 #define V4L2_DV_BT_DMT_2560X1600P120_RB { \
913 .type = V4L2_DV_BT_656_1120, \
914 V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_HSYNC_POS_POL, \
915 552750000, 48, 32, 80, 3, 6, 85, 0, 0, 0, \
916 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
917 V4L2_DV_FL_REDUCED_BLANKING) \
918 }
919
920 /* 4K resolutions */
921 #define V4L2_DV_BT_DMT_4096X2160P60_RB { \
922 .type = V4L2_DV_BT_656_1120, \
923 V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
924 556744000, 8, 32, 40, 48, 8, 6, 0, 0, 0, \
925 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
926 V4L2_DV_FL_REDUCED_BLANKING) \
927 }
928
929 #define V4L2_DV_BT_DMT_4096X2160P59_94_RB { \
930 .type = V4L2_DV_BT_656_1120, \
931 V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
932 556188000, 8, 32, 40, 48, 8, 6, 0, 0, 0, \
933 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
934 V4L2_DV_FL_REDUCED_BLANKING) \
935 }
936
937 #endif
This page took 0.060652 seconds and 5 git commands to generate.