linux/include/uapi/linux/v4l2-dv-timings.h
<<
>>
Prefs
   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
 938