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, V4L2_DV_FL_HALF_LINE) \ 52} 53 54#define V4L2_DV_BT_CEA_720X480P59_94 { \ 55 .type = V4L2_DV_BT_656_1120, \ 56 V4L2_INIT_BT_TIMINGS(720, 480, 0, 0, \ 57 27000000, 16, 62, 60, 9, 6, 30, 0, 0, 0, \ 58 V4L2_DV_BT_STD_CEA861, 0) \ 59} 60 61/* Note: these are the nominal timings, for HDMI links this format is typically 62 * double-clocked to meet the minimum pixelclock requirements. */ 63#define V4L2_DV_BT_CEA_720X576I50 { \ 64 .type = V4L2_DV_BT_656_1120, \ 65 V4L2_INIT_BT_TIMINGS(720, 576, 1, 0, \ 66 13500000, 12, 63, 69, 2, 3, 19, 2, 3, 20, \ 67 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_HALF_LINE) \ 68} 69 70#define V4L2_DV_BT_CEA_720X576P50 { \ 71 .type = V4L2_DV_BT_656_1120, \ 72 V4L2_INIT_BT_TIMINGS(720, 576, 0, 0, \ 73 27000000, 12, 64, 68, 5, 5, 39, 0, 0, 0, \ 74 V4L2_DV_BT_STD_CEA861, 0) \ 75} 76 77#define V4L2_DV_BT_CEA_1280X720P24 { \ 78 .type = V4L2_DV_BT_656_1120, \ 79 V4L2_INIT_BT_TIMINGS(1280, 720, 0, \ 80 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 81 59400000, 1760, 40, 220, 5, 5, 20, 0, 0, 0, \ 82 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, \ 83 V4L2_DV_FL_CAN_REDUCE_FPS) \ 84} 85 86#define V4L2_DV_BT_CEA_1280X720P25 { \ 87 .type = V4L2_DV_BT_656_1120, \ 88 V4L2_INIT_BT_TIMINGS(1280, 720, 0, \ 89 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 90 74250000, 2420, 40, 220, 5, 5, 20, 0, 0, 0, \ 91 V4L2_DV_BT_STD_CEA861, 0) \ 92} 93 94#define V4L2_DV_BT_CEA_1280X720P30 { \ 95 .type = V4L2_DV_BT_656_1120, \ 96 V4L2_INIT_BT_TIMINGS(1280, 720, 0, \ 97 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 98 74250000, 1760, 40, 220, 5, 5, 20, 0, 0, 0, \ 99 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_CAN_REDUCE_FPS) \ 100} 101 102#define V4L2_DV_BT_CEA_1280X720P50 { \ 103 .type = V4L2_DV_BT_656_1120, \ 104 V4L2_INIT_BT_TIMINGS(1280, 720, 0, \ 105 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 106 74250000, 440, 40, 220, 5, 5, 20, 0, 0, 0, \ 107 V4L2_DV_BT_STD_CEA861, 0) \ 108} 109 110#define V4L2_DV_BT_CEA_1280X720P60 { \ 111 .type = V4L2_DV_BT_656_1120, \ 112 V4L2_INIT_BT_TIMINGS(1280, 720, 0, \ 113 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 114 74250000, 110, 40, 220, 5, 5, 20, 0, 0, 0, \ 115 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_CAN_REDUCE_FPS) \ 116} 117 118#define V4L2_DV_BT_CEA_1920X1080P24 { \ 119 .type = V4L2_DV_BT_656_1120, \ 120 V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \ 121 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 122 74250000, 638, 44, 148, 4, 5, 36, 0, 0, 0, \ 123 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_CAN_REDUCE_FPS) \ 124} 125 126#define V4L2_DV_BT_CEA_1920X1080P25 { \ 127 .type = V4L2_DV_BT_656_1120, \ 128 V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \ 129 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 130 74250000, 528, 44, 148, 4, 5, 36, 0, 0, 0, \ 131 V4L2_DV_BT_STD_CEA861, 0) \ 132} 133 134#define V4L2_DV_BT_CEA_1920X1080P30 { \ 135 .type = V4L2_DV_BT_656_1120, \ 136 V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \ 137 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 138 74250000, 88, 44, 148, 4, 5, 36, 0, 0, 0, \ 139 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_CAN_REDUCE_FPS) \ 140} 141 142#define V4L2_DV_BT_CEA_1920X1080I50 { \ 143 .type = V4L2_DV_BT_656_1120, \ 144 V4L2_INIT_BT_TIMINGS(1920, 1080, 1, \ 145 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 146 74250000, 528, 44, 148, 2, 5, 15, 2, 5, 16, \ 147 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_HALF_LINE) \ 148} 149 150#define V4L2_DV_BT_CEA_1920X1080P50 { \ 151 .type = V4L2_DV_BT_656_1120, \ 152 V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \ 153 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 154 148500000, 528, 44, 148, 4, 5, 36, 0, 0, 0, \ 155 V4L2_DV_BT_STD_CEA861, 0) \ 156} 157 158#define V4L2_DV_BT_CEA_1920X1080I60 { \ 159 .type = V4L2_DV_BT_656_1120, \ 160 V4L2_INIT_BT_TIMINGS(1920, 1080, 1, \ 161 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 162 74250000, 88, 44, 148, 2, 5, 15, 2, 5, 16, \ 163 V4L2_DV_BT_STD_CEA861, \ 164 V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_HALF_LINE) \ 165} 166 167#define V4L2_DV_BT_CEA_1920X1080P60 { \ 168 .type = V4L2_DV_BT_656_1120, \ 169 V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \ 170 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 171 148500000, 88, 44, 148, 4, 5, 36, 0, 0, 0, \ 172 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, \ 173 V4L2_DV_FL_CAN_REDUCE_FPS) \ 174} 175 176 177/* VESA Discrete Monitor Timings as per version 1.0, revision 12 */ 178 179#define V4L2_DV_BT_DMT_640X350P85 { \ 180 .type = V4L2_DV_BT_656_1120, \ 181 V4L2_INIT_BT_TIMINGS(640, 350, 0, V4L2_DV_HSYNC_POS_POL, \ 182 31500000, 32, 64, 96, 32, 3, 60, 0, 0, 0, \ 183 V4L2_DV_BT_STD_DMT, 0) \ 184} 185 186#define V4L2_DV_BT_DMT_640X400P85 { \ 187 .type = V4L2_DV_BT_656_1120, \ 188 V4L2_INIT_BT_TIMINGS(640, 400, 0, V4L2_DV_VSYNC_POS_POL, \ 189 31500000, 32, 64, 96, 1, 3, 41, 0, 0, 0, \ 190 V4L2_DV_BT_STD_DMT, 0) \ 191} 192 193#define V4L2_DV_BT_DMT_720X400P85 { \ 194 .type = V4L2_DV_BT_656_1120, \ 195 V4L2_INIT_BT_TIMINGS(720, 400, 0, V4L2_DV_VSYNC_POS_POL, \ 196 35500000, 36, 72, 108, 1, 3, 42, 0, 0, 0, \ 197 V4L2_DV_BT_STD_DMT, 0) \ 198} 199 200/* VGA resolutions */ 201#define V4L2_DV_BT_DMT_640X480P60 V4L2_DV_BT_CEA_640X480P59_94 202 203#define V4L2_DV_BT_DMT_640X480P72 { \ 204 .type = V4L2_DV_BT_656_1120, \ 205 V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \ 206 31500000, 24, 40, 128, 9, 3, 28, 0, 0, 0, \ 207 V4L2_DV_BT_STD_DMT, 0) \ 208} 209 210#define V4L2_DV_BT_DMT_640X480P75 { \ 211 .type = V4L2_DV_BT_656_1120, \ 212 V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \ 213 31500000, 16, 64, 120, 1, 3, 16, 0, 0, 0, \ 214 V4L2_DV_BT_STD_DMT, 0) \ 215} 216 217#define V4L2_DV_BT_DMT_640X480P85 { \ 218 .type = V4L2_DV_BT_656_1120, \ 219 V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \ 220 36000000, 56, 56, 80, 1, 3, 25, 0, 0, 0, \ 221 V4L2_DV_BT_STD_DMT, 0) \ 222} 223 224/* SVGA resolutions */ 225#define V4L2_DV_BT_DMT_800X600P56 { \ 226 .type = V4L2_DV_BT_656_1120, \ 227 V4L2_INIT_BT_TIMINGS(800, 600, 0, \ 228 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 229 36000000, 24, 72, 128, 1, 2, 22, 0, 0, 0, \ 230 V4L2_DV_BT_STD_DMT, 0) \ 231} 232 233#define V4L2_DV_BT_DMT_800X600P60 { \ 234 .type = V4L2_DV_BT_656_1120, \ 235 V4L2_INIT_BT_TIMINGS(800, 600, 0, \ 236 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 237 40000000, 40, 128, 88, 1, 4, 23, 0, 0, 0, \ 238 V4L2_DV_BT_STD_DMT, 0) \ 239} 240 241#define V4L2_DV_BT_DMT_800X600P72 { \ 242 .type = V4L2_DV_BT_656_1120, \ 243 V4L2_INIT_BT_TIMINGS(800, 600, 0, \ 244 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 245 50000000, 56, 120, 64, 37, 6, 23, 0, 0, 0, \ 246 V4L2_DV_BT_STD_DMT, 0) \ 247} 248 249#define V4L2_DV_BT_DMT_800X600P75 { \ 250 .type = V4L2_DV_BT_656_1120, \ 251 V4L2_INIT_BT_TIMINGS(800, 600, 0, \ 252 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 253 49500000, 16, 80, 160, 1, 3, 21, 0, 0, 0, \ 254 V4L2_DV_BT_STD_DMT, 0) \ 255} 256 257#define V4L2_DV_BT_DMT_800X600P85 { \ 258 .type = V4L2_DV_BT_656_1120, \ 259 V4L2_INIT_BT_TIMINGS(800, 600, 0, \ 260 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 261 56250000, 32, 64, 152, 1, 3, 27, 0, 0, 0, \ 262 V4L2_DV_BT_STD_DMT, 0) \ 263} 264 265#define V4L2_DV_BT_DMT_800X600P120_RB { \ 266 .type = V4L2_DV_BT_656_1120, \ 267 V4L2_INIT_BT_TIMINGS(800, 600, 0, V4L2_DV_HSYNC_POS_POL, \ 268 73250000, 48, 32, 80, 3, 4, 29, 0, 0, 0, \ 269 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 270 V4L2_DV_FL_REDUCED_BLANKING) \ 271} 272 273#define V4L2_DV_BT_DMT_848X480P60 { \ 274 .type = V4L2_DV_BT_656_1120, \ 275 V4L2_INIT_BT_TIMINGS(848, 480, 0, \ 276 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 277 33750000, 16, 112, 112, 6, 8, 23, 0, 0, 0, \ 278 V4L2_DV_BT_STD_DMT, 0) \ 279} 280 281#define V4L2_DV_BT_DMT_1024X768I43 { \ 282 .type = V4L2_DV_BT_656_1120, \ 283 V4L2_INIT_BT_TIMINGS(1024, 768, 1, \ 284 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 285 44900000, 8, 176, 56, 0, 4, 20, 0, 4, 21, \ 286 V4L2_DV_BT_STD_DMT, 0) \ 287} 288 289/* XGA resolutions */ 290#define V4L2_DV_BT_DMT_1024X768P60 { \ 291 .type = V4L2_DV_BT_656_1120, \ 292 V4L2_INIT_BT_TIMINGS(1024, 768, 0, 0, \ 293 65000000, 24, 136, 160, 3, 6, 29, 0, 0, 0, \ 294 V4L2_DV_BT_STD_DMT, 0) \ 295} 296 297#define V4L2_DV_BT_DMT_1024X768P70 { \ 298 .type = V4L2_DV_BT_656_1120, \ 299 V4L2_INIT_BT_TIMINGS(1024, 768, 0, 0, \ 300 75000000, 24, 136, 144, 3, 6, 29, 0, 0, 0, \ 301 V4L2_DV_BT_STD_DMT, 0) \ 302} 303 304#define V4L2_DV_BT_DMT_1024X768P75 { \ 305 .type = V4L2_DV_BT_656_1120, \ 306 V4L2_INIT_BT_TIMINGS(1024, 768, 0, \ 307 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 308 78750000, 16, 96, 176, 1, 3, 28, 0, 0, 0, \ 309 V4L2_DV_BT_STD_DMT, 0) \ 310} 311 312#define V4L2_DV_BT_DMT_1024X768P85 { \ 313 .type = V4L2_DV_BT_656_1120, \ 314 V4L2_INIT_BT_TIMINGS(1024, 768, 0, \ 315 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 316 94500000, 48, 96, 208, 1, 3, 36, 0, 0, 0, \ 317 V4L2_DV_BT_STD_DMT, 0) \ 318} 319 320#define V4L2_DV_BT_DMT_1024X768P120_RB { \ 321 .type = V4L2_DV_BT_656_1120, \ 322 V4L2_INIT_BT_TIMINGS(1024, 768, 0, V4L2_DV_HSYNC_POS_POL, \ 323 115500000, 48, 32, 80, 3, 4, 38, 0, 0, 0, \ 324 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 325 V4L2_DV_FL_REDUCED_BLANKING) \ 326} 327 328/* XGA+ resolution */ 329#define V4L2_DV_BT_DMT_1152X864P75 { \ 330 .type = V4L2_DV_BT_656_1120, \ 331 V4L2_INIT_BT_TIMINGS(1152, 864, 0, \ 332 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 333 108000000, 64, 128, 256, 1, 3, 32, 0, 0, 0, \ 334 V4L2_DV_BT_STD_DMT, 0) \ 335} 336 337#define V4L2_DV_BT_DMT_1280X720P60 V4L2_DV_BT_CEA_1280X720P60 338 339/* WXGA resolutions */ 340#define V4L2_DV_BT_DMT_1280X768P60_RB { \ 341 .type = V4L2_DV_BT_656_1120, \ 342 V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_HSYNC_POS_POL, \ 343 68250000, 48, 32, 80, 3, 7, 12, 0, 0, 0, \ 344 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 345 V4L2_DV_FL_REDUCED_BLANKING) \ 346} 347 348#define V4L2_DV_BT_DMT_1280X768P60 { \ 349 .type = V4L2_DV_BT_656_1120, \ 350 V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \ 351 79500000, 64, 128, 192, 3, 7, 20, 0, 0, 0, \ 352 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 353} 354 355#define V4L2_DV_BT_DMT_1280X768P75 { \ 356 .type = V4L2_DV_BT_656_1120, \ 357 V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \ 358 102250000, 80, 128, 208, 3, 7, 27, 0, 0, 0, \ 359 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 360} 361 362#define V4L2_DV_BT_DMT_1280X768P85 { \ 363 .type = V4L2_DV_BT_656_1120, \ 364 V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \ 365 117500000, 80, 136, 216, 3, 7, 31, 0, 0, 0, \ 366 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 367} 368 369#define V4L2_DV_BT_DMT_1280X768P120_RB { \ 370 .type = V4L2_DV_BT_656_1120, \ 371 V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_HSYNC_POS_POL, \ 372 140250000, 48, 32, 80, 3, 7, 35, 0, 0, 0, \ 373 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 374 V4L2_DV_FL_REDUCED_BLANKING) \ 375} 376 377#define V4L2_DV_BT_DMT_1280X800P60_RB { \ 378 .type = V4L2_DV_BT_656_1120, \ 379 V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_HSYNC_POS_POL, \ 380 71000000, 48, 32, 80, 3, 6, 14, 0, 0, 0, \ 381 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 382 V4L2_DV_FL_REDUCED_BLANKING) \ 383} 384 385#define V4L2_DV_BT_DMT_1280X800P60 { \ 386 .type = V4L2_DV_BT_656_1120, \ 387 V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \ 388 83500000, 72, 128, 200, 3, 6, 22, 0, 0, 0, \ 389 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 390} 391 392#define V4L2_DV_BT_DMT_1280X800P75 { \ 393 .type = V4L2_DV_BT_656_1120, \ 394 V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \ 395 106500000, 80, 128, 208, 3, 6, 29, 0, 0, 0, \ 396 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 397} 398 399#define V4L2_DV_BT_DMT_1280X800P85 { \ 400 .type = V4L2_DV_BT_656_1120, \ 401 V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \ 402 122500000, 80, 136, 216, 3, 6, 34, 0, 0, 0, \ 403 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 404} 405 406#define V4L2_DV_BT_DMT_1280X800P120_RB { \ 407 .type = V4L2_DV_BT_656_1120, \ 408 V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_HSYNC_POS_POL, \ 409 146250000, 48, 32, 80, 3, 6, 38, 0, 0, 0, \ 410 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 411 V4L2_DV_FL_REDUCED_BLANKING) \ 412} 413 414#define V4L2_DV_BT_DMT_1280X960P60 { \ 415 .type = V4L2_DV_BT_656_1120, \ 416 V4L2_INIT_BT_TIMINGS(1280, 960, 0, \ 417 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 418 108000000, 96, 112, 312, 1, 3, 36, 0, 0, 0, \ 419 V4L2_DV_BT_STD_DMT, 0) \ 420} 421 422#define V4L2_DV_BT_DMT_1280X960P85 { \ 423 .type = V4L2_DV_BT_656_1120, \ 424 V4L2_INIT_BT_TIMINGS(1280, 960, 0, \ 425 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 426 148500000, 64, 160, 224, 1, 3, 47, 0, 0, 0, \ 427 V4L2_DV_BT_STD_DMT, 0) \ 428} 429 430#define V4L2_DV_BT_DMT_1280X960P120_RB { \ 431 .type = V4L2_DV_BT_656_1120, \ 432 V4L2_INIT_BT_TIMINGS(1280, 960, 0, V4L2_DV_HSYNC_POS_POL, \ 433 175500000, 48, 32, 80, 3, 4, 50, 0, 0, 0, \ 434 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 435 V4L2_DV_FL_REDUCED_BLANKING) \ 436} 437 438/* SXGA resolutions */ 439#define V4L2_DV_BT_DMT_1280X1024P60 { \ 440 .type = V4L2_DV_BT_656_1120, \ 441 V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \ 442 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 443 108000000, 48, 112, 248, 1, 3, 38, 0, 0, 0, \ 444 V4L2_DV_BT_STD_DMT, 0) \ 445} 446 447#define V4L2_DV_BT_DMT_1280X1024P75 { \ 448 .type = V4L2_DV_BT_656_1120, \ 449 V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \ 450 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 451 135000000, 16, 144, 248, 1, 3, 38, 0, 0, 0, \ 452 V4L2_DV_BT_STD_DMT, 0) \ 453} 454 455#define V4L2_DV_BT_DMT_1280X1024P85 { \ 456 .type = V4L2_DV_BT_656_1120, \ 457 V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \ 458 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 459 157500000, 64, 160, 224, 1, 3, 44, 0, 0, 0, \ 460 V4L2_DV_BT_STD_DMT, 0) \ 461} 462 463#define V4L2_DV_BT_DMT_1280X1024P120_RB { \ 464 .type = V4L2_DV_BT_656_1120, \ 465 V4L2_INIT_BT_TIMINGS(1280, 1024, 0, V4L2_DV_HSYNC_POS_POL, \ 466 187250000, 48, 32, 80, 3, 7, 50, 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_1360X768P60 { \ 472 .type = V4L2_DV_BT_656_1120, \ 473 V4L2_INIT_BT_TIMINGS(1360, 768, 0, \ 474 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 475 85500000, 64, 112, 256, 3, 6, 18, 0, 0, 0, \ 476 V4L2_DV_BT_STD_DMT, 0) \ 477} 478 479#define V4L2_DV_BT_DMT_1360X768P120_RB { \ 480 .type = V4L2_DV_BT_656_1120, \ 481 V4L2_INIT_BT_TIMINGS(1360, 768, 0, V4L2_DV_HSYNC_POS_POL, \ 482 148250000, 48, 32, 80, 3, 5, 37, 0, 0, 0, \ 483 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 484 V4L2_DV_FL_REDUCED_BLANKING) \ 485} 486 487#define V4L2_DV_BT_DMT_1366X768P60 { \ 488 .type = V4L2_DV_BT_656_1120, \ 489 V4L2_INIT_BT_TIMINGS(1366, 768, 0, \ 490 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 491 85500000, 70, 143, 213, 3, 3, 24, 0, 0, 0, \ 492 V4L2_DV_BT_STD_DMT, 0) \ 493} 494 495#define V4L2_DV_BT_DMT_1366X768P60_RB { \ 496 .type = V4L2_DV_BT_656_1120, \ 497 V4L2_INIT_BT_TIMINGS(1366, 768, 0, \ 498 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 499 72000000, 14, 56, 64, 1, 3, 28, 0, 0, 0, \ 500 V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \ 501} 502 503/* SXGA+ resolutions */ 504#define V4L2_DV_BT_DMT_1400X1050P60_RB { \ 505 .type = V4L2_DV_BT_656_1120, \ 506 V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_HSYNC_POS_POL, \ 507 101000000, 48, 32, 80, 3, 4, 23, 0, 0, 0, \ 508 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 509 V4L2_DV_FL_REDUCED_BLANKING) \ 510} 511 512#define V4L2_DV_BT_DMT_1400X1050P60 { \ 513 .type = V4L2_DV_BT_656_1120, \ 514 V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ 515 121750000, 88, 144, 232, 3, 4, 32, 0, 0, 0, \ 516 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 517} 518 519#define V4L2_DV_BT_DMT_1400X1050P75 { \ 520 .type = V4L2_DV_BT_656_1120, \ 521 V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ 522 156000000, 104, 144, 248, 3, 4, 42, 0, 0, 0, \ 523 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 524} 525 526#define V4L2_DV_BT_DMT_1400X1050P85 { \ 527 .type = V4L2_DV_BT_656_1120, \ 528 V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ 529 179500000, 104, 152, 256, 3, 4, 48, 0, 0, 0, \ 530 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 531} 532 533#define V4L2_DV_BT_DMT_1400X1050P120_RB { \ 534 .type = V4L2_DV_BT_656_1120, \ 535 V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_HSYNC_POS_POL, \ 536 208000000, 48, 32, 80, 3, 4, 55, 0, 0, 0, \ 537 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 538 V4L2_DV_FL_REDUCED_BLANKING) \ 539} 540 541/* WXGA+ resolutions */ 542#define V4L2_DV_BT_DMT_1440X900P60_RB { \ 543 .type = V4L2_DV_BT_656_1120, \ 544 V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_HSYNC_POS_POL, \ 545 88750000, 48, 32, 80, 3, 6, 17, 0, 0, 0, \ 546 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 547 V4L2_DV_FL_REDUCED_BLANKING) \ 548} 549 550#define V4L2_DV_BT_DMT_1440X900P60 { \ 551 .type = V4L2_DV_BT_656_1120, \ 552 V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \ 553 106500000, 80, 152, 232, 3, 6, 25, 0, 0, 0, \ 554 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 555} 556 557#define V4L2_DV_BT_DMT_1440X900P75 { \ 558 .type = V4L2_DV_BT_656_1120, \ 559 V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \ 560 136750000, 96, 152, 248, 3, 6, 33, 0, 0, 0, \ 561 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 562} 563 564#define V4L2_DV_BT_DMT_1440X900P85 { \ 565 .type = V4L2_DV_BT_656_1120, \ 566 V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \ 567 157000000, 104, 152, 256, 3, 6, 39, 0, 0, 0, \ 568 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 569} 570 571#define V4L2_DV_BT_DMT_1440X900P120_RB { \ 572 .type = V4L2_DV_BT_656_1120, \ 573 V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_HSYNC_POS_POL, \ 574 182750000, 48, 32, 80, 3, 6, 44, 0, 0, 0, \ 575 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 576 V4L2_DV_FL_REDUCED_BLANKING) \ 577} 578 579#define V4L2_DV_BT_DMT_1600X900P60_RB { \ 580 .type = V4L2_DV_BT_656_1120, \ 581 V4L2_INIT_BT_TIMINGS(1600, 900, 0, \ 582 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 583 108000000, 24, 80, 96, 1, 3, 96, 0, 0, 0, \ 584 V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \ 585} 586 587/* UXGA resolutions */ 588#define V4L2_DV_BT_DMT_1600X1200P60 { \ 589 .type = V4L2_DV_BT_656_1120, \ 590 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \ 591 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 592 162000000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \ 593 V4L2_DV_BT_STD_DMT, 0) \ 594} 595 596#define V4L2_DV_BT_DMT_1600X1200P65 { \ 597 .type = V4L2_DV_BT_656_1120, \ 598 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \ 599 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 600 175500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \ 601 V4L2_DV_BT_STD_DMT, 0) \ 602} 603 604#define V4L2_DV_BT_DMT_1600X1200P70 { \ 605 .type = V4L2_DV_BT_656_1120, \ 606 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \ 607 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 608 189000000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \ 609 V4L2_DV_BT_STD_DMT, 0) \ 610} 611 612#define V4L2_DV_BT_DMT_1600X1200P75 { \ 613 .type = V4L2_DV_BT_656_1120, \ 614 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \ 615 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 616 202500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \ 617 V4L2_DV_BT_STD_DMT, 0) \ 618} 619 620#define V4L2_DV_BT_DMT_1600X1200P85 { \ 621 .type = V4L2_DV_BT_656_1120, \ 622 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \ 623 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 624 229500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \ 625 V4L2_DV_BT_STD_DMT, 0) \ 626} 627 628#define V4L2_DV_BT_DMT_1600X1200P120_RB { \ 629 .type = V4L2_DV_BT_656_1120, \ 630 V4L2_INIT_BT_TIMINGS(1600, 1200, 0, V4L2_DV_HSYNC_POS_POL, \ 631 268250000, 48, 32, 80, 3, 4, 64, 0, 0, 0, \ 632 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 633 V4L2_DV_FL_REDUCED_BLANKING) \ 634} 635 636/* WSXGA+ resolutions */ 637#define V4L2_DV_BT_DMT_1680X1050P60_RB { \ 638 .type = V4L2_DV_BT_656_1120, \ 639 V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_HSYNC_POS_POL, \ 640 119000000, 48, 32, 80, 3, 6, 21, 0, 0, 0, \ 641 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 642 V4L2_DV_FL_REDUCED_BLANKING) \ 643} 644 645#define V4L2_DV_BT_DMT_1680X1050P60 { \ 646 .type = V4L2_DV_BT_656_1120, \ 647 V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ 648 146250000, 104, 176, 280, 3, 6, 30, 0, 0, 0, \ 649 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 650} 651 652#define V4L2_DV_BT_DMT_1680X1050P75 { \ 653 .type = V4L2_DV_BT_656_1120, \ 654 V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ 655 187000000, 120, 176, 296, 3, 6, 40, 0, 0, 0, \ 656 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 657} 658 659#define V4L2_DV_BT_DMT_1680X1050P85 { \ 660 .type = V4L2_DV_BT_656_1120, \ 661 V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \ 662 214750000, 128, 176, 304, 3, 6, 46, 0, 0, 0, \ 663 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 664} 665 666#define V4L2_DV_BT_DMT_1680X1050P120_RB { \ 667 .type = V4L2_DV_BT_656_1120, \ 668 V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_HSYNC_POS_POL, \ 669 245500000, 48, 32, 80, 3, 6, 53, 0, 0, 0, \ 670 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 671 V4L2_DV_FL_REDUCED_BLANKING) \ 672} 673 674#define V4L2_DV_BT_DMT_1792X1344P60 { \ 675 .type = V4L2_DV_BT_656_1120, \ 676 V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_VSYNC_POS_POL, \ 677 204750000, 128, 200, 328, 1, 3, 46, 0, 0, 0, \ 678 V4L2_DV_BT_STD_DMT, 0) \ 679} 680 681#define V4L2_DV_BT_DMT_1792X1344P75 { \ 682 .type = V4L2_DV_BT_656_1120, \ 683 V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_VSYNC_POS_POL, \ 684 261000000, 96, 216, 352, 1, 3, 69, 0, 0, 0, \ 685 V4L2_DV_BT_STD_DMT, 0) \ 686} 687 688#define V4L2_DV_BT_DMT_1792X1344P120_RB { \ 689 .type = V4L2_DV_BT_656_1120, \ 690 V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_HSYNC_POS_POL, \ 691 333250000, 48, 32, 80, 3, 4, 72, 0, 0, 0, \ 692 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 693 V4L2_DV_FL_REDUCED_BLANKING) \ 694} 695 696#define V4L2_DV_BT_DMT_1856X1392P60 { \ 697 .type = V4L2_DV_BT_656_1120, \ 698 V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_VSYNC_POS_POL, \ 699 218250000, 96, 224, 352, 1, 3, 43, 0, 0, 0, \ 700 V4L2_DV_BT_STD_DMT, 0) \ 701} 702 703#define V4L2_DV_BT_DMT_1856X1392P75 { \ 704 .type = V4L2_DV_BT_656_1120, \ 705 V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_VSYNC_POS_POL, \ 706 288000000, 128, 224, 352, 1, 3, 104, 0, 0, 0, \ 707 V4L2_DV_BT_STD_DMT, 0) \ 708} 709 710#define V4L2_DV_BT_DMT_1856X1392P120_RB { \ 711 .type = V4L2_DV_BT_656_1120, \ 712 V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_HSYNC_POS_POL, \ 713 356500000, 48, 32, 80, 3, 4, 75, 0, 0, 0, \ 714 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 715 V4L2_DV_FL_REDUCED_BLANKING) \ 716} 717 718#define V4L2_DV_BT_DMT_1920X1080P60 V4L2_DV_BT_CEA_1920X1080P60 719 720/* WUXGA resolutions */ 721#define V4L2_DV_BT_DMT_1920X1200P60_RB { \ 722 .type = V4L2_DV_BT_656_1120, \ 723 V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_HSYNC_POS_POL, \ 724 154000000, 48, 32, 80, 3, 6, 26, 0, 0, 0, \ 725 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 726 V4L2_DV_FL_REDUCED_BLANKING) \ 727} 728 729#define V4L2_DV_BT_DMT_1920X1200P60 { \ 730 .type = V4L2_DV_BT_656_1120, \ 731 V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \ 732 193250000, 136, 200, 336, 3, 6, 36, 0, 0, 0, \ 733 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 734} 735 736#define V4L2_DV_BT_DMT_1920X1200P75 { \ 737 .type = V4L2_DV_BT_656_1120, \ 738 V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \ 739 245250000, 136, 208, 344, 3, 6, 46, 0, 0, 0, \ 740 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 741} 742 743#define V4L2_DV_BT_DMT_1920X1200P85 { \ 744 .type = V4L2_DV_BT_656_1120, \ 745 V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \ 746 281250000, 144, 208, 352, 3, 6, 53, 0, 0, 0, \ 747 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 748} 749 750#define V4L2_DV_BT_DMT_1920X1200P120_RB { \ 751 .type = V4L2_DV_BT_656_1120, \ 752 V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_HSYNC_POS_POL, \ 753 317000000, 48, 32, 80, 3, 6, 62, 0, 0, 0, \ 754 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 755 V4L2_DV_FL_REDUCED_BLANKING) \ 756} 757 758#define V4L2_DV_BT_DMT_1920X1440P60 { \ 759 .type = V4L2_DV_BT_656_1120, \ 760 V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_VSYNC_POS_POL, \ 761 234000000, 128, 208, 344, 1, 3, 56, 0, 0, 0, \ 762 V4L2_DV_BT_STD_DMT, 0) \ 763} 764 765#define V4L2_DV_BT_DMT_1920X1440P75 { \ 766 .type = V4L2_DV_BT_656_1120, \ 767 V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_VSYNC_POS_POL, \ 768 297000000, 144, 224, 352, 1, 3, 56, 0, 0, 0, \ 769 V4L2_DV_BT_STD_DMT, 0) \ 770} 771 772#define V4L2_DV_BT_DMT_1920X1440P120_RB { \ 773 .type = V4L2_DV_BT_656_1120, \ 774 V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_HSYNC_POS_POL, \ 775 380500000, 48, 32, 80, 3, 4, 78, 0, 0, 0, \ 776 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 777 V4L2_DV_FL_REDUCED_BLANKING) \ 778} 779 780#define V4L2_DV_BT_DMT_2048X1152P60_RB { \ 781 .type = V4L2_DV_BT_656_1120, \ 782 V4L2_INIT_BT_TIMINGS(2048, 1152, 0, \ 783 V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \ 784 162000000, 26, 80, 96, 1, 3, 44, 0, 0, 0, \ 785 V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \ 786} 787 788/* WQXGA resolutions */ 789#define V4L2_DV_BT_DMT_2560X1600P60_RB { \ 790 .type = V4L2_DV_BT_656_1120, \ 791 V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_HSYNC_POS_POL, \ 792 268500000, 48, 32, 80, 3, 6, 37, 0, 0, 0, \ 793 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 794 V4L2_DV_FL_REDUCED_BLANKING) \ 795} 796 797#define V4L2_DV_BT_DMT_2560X1600P60 { \ 798 .type = V4L2_DV_BT_656_1120, \ 799 V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \ 800 348500000, 192, 280, 472, 3, 6, 49, 0, 0, 0, \ 801 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 802} 803 804#define V4L2_DV_BT_DMT_2560X1600P75 { \ 805 .type = V4L2_DV_BT_656_1120, \ 806 V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \ 807 443250000, 208, 280, 488, 3, 6, 63, 0, 0, 0, \ 808 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 809} 810 811#define V4L2_DV_BT_DMT_2560X1600P85 { \ 812 .type = V4L2_DV_BT_656_1120, \ 813 V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \ 814 505250000, 208, 280, 488, 3, 6, 73, 0, 0, 0, \ 815 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \ 816} 817 818#define V4L2_DV_BT_DMT_2560X1600P120_RB { \ 819 .type = V4L2_DV_BT_656_1120, \ 820 V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_HSYNC_POS_POL, \ 821 552750000, 48, 32, 80, 3, 6, 85, 0, 0, 0, \ 822 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \ 823 V4L2_DV_FL_REDUCED_BLANKING) \ 824} 825 826#endif 827