aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/xlnx/xlnx_sdi_modes.h
blob: 534f7d80f29c0de683929f275c2fbe0b3162e17a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
// SPDX-License-Identifier: GPL-2.0
/*
 * Xilinx FPGA SDI modes timing values for various
 * resolutions
 *
 * Copyright (c) 2017 Xilinx Pvt., Ltd
 *
 * Contacts: Saurabh Sengar <saurabhs@xilinx.com>
 */

#ifndef _XLNX_SDI_MODES_H_
#define _XLNX_SDI_MODES_H_

/**
 * struct xlnx_sdi_display_config - SDI supported modes structure
 * @mode: drm display mode
 * @st352_byt2: st352 byte 2 value
 *		index 0 : value for integral fps
 *		index 1 : value for fractional fps
 * @st352_byt1: st352 byte 1 value
 *		index 0 : value for HD mode
 *		index 1 : value for SD mode
 *		index 2 : value for 3GA
 *		index 3 : value for 3GB
 *		index 4 : value for 6G
 *		index 5 : value for 12G
 */
struct xlnx_sdi_display_config {
	struct drm_display_mode mode;
	u8 st352_byt2[2];
	u8 st352_byt1[6];
};

/*
 * xlnx_sdi_modes - SDI DRM modes
 */
static const struct xlnx_sdi_display_config xlnx_sdi_modes[] = {
	/* 0 - dummy, VICs start at 1 */
	{ },
	/* SD: 720x486i@60Hz */
	{{ DRM_MODE("720x486i", DRM_MODE_TYPE_DRIVER, 13500, 720, 739,
		   801, 858, 0, 243, 247, 250, 262, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
		   .vrefresh = 60, }, {0x7, 0x6},
		   {0x81, 0x81, 0x81, 0x81, 0x81, 0x81} },
	/* SD: 720x576i@50Hz */
	{{ DRM_MODE("720x576i", DRM_MODE_TYPE_DRIVER, 13500, 720, 732,
		   795, 864, 0, 288, 290, 293, 312, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
		   .vrefresh = 50, }, {0x9, 0x9},
		   {0x81, 0x81, 0x81, 0x81, 0x81, 0x81} },
	/* HD: 1280x720@25Hz */
	{{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 2250,
		   2990, 3960, 0, 720, 725, 730, 750, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 25, }, {0x5, 0x5},
		   {0x84, 0x84, 0x88, 0x84, 0x84, 0x84} },
	/* HD: 1280x720@24Hz */
	{{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 2250,
		   3155, 4125, 0, 720, 725, 730, 750, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 24, }, {0x3, 0x2},
		   {0x84, 0x84, 0x88, 0x84, 0x84, 0x84} },
	/* HD: 1280x720@30Hz */
	 {{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 2250,
		   2330, 3300, 0, 720, 725, 730, 750, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 30, }, {0x7, 0x6},
		   {0x84, 0x84, 0x88, 0x84, 0x84, 0x84} },
	/* HD: 1280x720@50Hz */
	{{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1720,
		   1760, 1980, 0, 720, 725, 730, 750, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 50, }, {0x9, 0x9},
		   {0x84, 0x84, 0x88, 0x84, 0x84, 0x84} },
	/* HD: 1280x720@60Hz */
	{{ DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1390,
		   1430, 1650, 0, 720, 725, 730, 750, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 60, }, {0xB, 0xA},
		   {0x84, 0x84, 0x88, 0x84, 0x84, 0x84} },
	/* HD: 1920x1080@24Hz */
	{{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2558,
		   2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 24, }, {0x3, 0x2},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 1920x1080@25Hz */
	{{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2448,
		   2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 25, }, {0x5, 0x5},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 1920x1080@30Hz */
	{{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
		   2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 30, }, {0x7, 0x6},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 1920x1080i@48Hz */
	{{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2291,
		   2379, 2750, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 48, }, {0x3, 0x2},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 1920x1080i@50Hz */
	{{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2448,
		   2492, 2640, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 50, }, {0x5, 0x5},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 1920x1080i@60Hz */
	{{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
		   2052, 2200, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 60, }, {0x7, 0x6},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 1920x1080sf@24Hz */
	{{ DRM_MODE("1920x1080sf", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2291,
		   2379, 2750, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLSCAN),
		   .vrefresh = 48, }, {0x3, 0x2},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 1920x1080sf@25Hz */
	{{ DRM_MODE("1920x1080sf", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2448,
		   2492, 2640, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLSCAN),
		   .vrefresh = 50, }, {0x5, 0x5},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 1920x1080sf@30Hz */
	{{ DRM_MODE("1920x1080sf", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
		   2052, 2200, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLSCAN),
		   .vrefresh = 60, }, {0x7, 0x6},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 2048x1080i@48Hz */
	{{ DRM_MODE("2048x1080i", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2377,
		   2421, 2750, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 48, }, {0x3, 0x2},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 2048x1080i@50Hz */
	{{ DRM_MODE("2048x1080i", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2322,
		   2366, 2640, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 50, }, {0x5, 0x5},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 2048x1080i@60Hz */
	{{ DRM_MODE("2048x1080i", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2114,
		   2134, 2200, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 60, }, {0x7, 0x6},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 2048x1080sf@24Hz */
	{{ DRM_MODE("2048x1080sf", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2377,
		   2421, 2750, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLSCAN),
		   .vrefresh = 48, }, {0x3, 0x2},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 2048x1080sf@25Hz */
	{{ DRM_MODE("2048x1080sf", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2322,
		   2366, 2640, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLSCAN),
		   .vrefresh = 50, }, {0x5, 0x5},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 2048x1080sf@30Hz */
	{{ DRM_MODE("2048x1080sf", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2114,
		   2134, 2200, 0, 540, 542, 547, 562, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLSCAN),
		   .vrefresh = 60, }, {0x7, 0x6},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 2048x1080@30Hz */
	{{ DRM_MODE("2048x1080", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2114,
		   2134, 2200, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 30, }, {0x7, 0x6},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 2048x1080@25Hz */
	{{ DRM_MODE("2048x1080", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2448,
		   2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 25, }, {0x5, 0x5},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* HD: 2048x1080@24Hz */
	{{ DRM_MODE("2048x1080", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2558,
		   2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 24, }, {0x3, 0x2},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G: 1920x1080@48Hz */
	{{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2558,
		   2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 48, }, {0x8, 0x4},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G: 1920x1080@50Hz */
	{{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2448,
		   2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 50, }, {0x9, 0x9},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G: 1920x1080@60Hz */
	{{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008,
		   2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 60, }, {0xB, 0xA},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G: 2048x1080@60Hz */
	{{ DRM_MODE("2048x1080", DRM_MODE_TYPE_DRIVER, 148500, 2048, 2136,
		   2180, 2200, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 60, }, {0xB, 0xA},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G: 2048x1080@50Hz */
	{{ DRM_MODE("2048x1080", DRM_MODE_TYPE_DRIVER, 148500, 2048, 2448,
		   2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 50, }, {0x9, 0x9},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G: 2048x1080@48Hz */
	{{ DRM_MODE("2048x1080", DRM_MODE_TYPE_DRIVER, 148500, 2048, 2558,
		   2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 48, }, {0x8, 0x4},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G-B: 1920x1080i@96Hz */
	{{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2291,
		   2379, 2750, 0, 1080, 1084, 1094, 1124, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 96, }, {0x8, 0x4},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G-B: 1920x1080i@100Hz */
	{{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2448,
		   2492, 2640, 0, 1080, 1084, 1094, 1124, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 100, }, {0x9, 0x9},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G-B: 1920x1080i@120Hz */
	{{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008,
		   2052, 2200, 0, 1080, 1084, 1094, 1124, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 120, }, {0xB, 0xA},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G-B: 2048x1080i@96Hz */
	{{ DRM_MODE("2048x1080i", DRM_MODE_TYPE_DRIVER, 148500, 2048, 2377,
		   2421, 2750, 0, 1080, 1084, 1094, 1124, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 96, }, {0x8, 0x4},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G-B: 2048x1080i@100Hz */
	{{ DRM_MODE("2048x1080i", DRM_MODE_TYPE_DRIVER, 148500, 2048, 2322,
		   2366, 2640, 0, 1080, 1084, 1094, 1124, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 100, }, {0x9, 0x9},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 3G-B: 2048x1080i@120Hz */
	{{ DRM_MODE("2048x1080i", DRM_MODE_TYPE_DRIVER, 148500, 2048, 2114,
		   2134, 2200, 0, 1080, 1084, 1094, 1124, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
		   DRM_MODE_FLAG_INTERLACE),
		   .vrefresh = 120, }, {0xB, 0xA},
		   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
	/* 6G: 3840x2160@30Hz */
	{{ DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 4016,
		   4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 30, }, {0x7, 0x6},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 6G: 3840x2160@25Hz */
	{{ DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 4896,
		   4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 25, }, {0x5, 0x5},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 6G: 3840x2160@24Hz */
	{{ DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 5116,
		   5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 24, }, {0x3, 0x2},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 6G: 4096x2160@24Hz */
	{{ DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 296704, 4096, 5116,
		   5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 24, }, {0x3, 0x2},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 6G: 4096x2160@25Hz */
	{{ DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 297000, 4096, 5064,
		   5152, 5280, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 25, }, {0x5, 0x5},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 6G: 4096x2160@30Hz */
	{{ DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 296704, 4096, 4184,
		   4272, 4400, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 30, }, {0x7, 0x6},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 12G: 3840x2160@48Hz */
	{{ DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 5116,
		   5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 48, }, {0x8, 0x4},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 12G: 3840x2160@50Hz */
	{{ DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 4896,
		   4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 50, }, {0x9, 0x9},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 12G: 3840x2160@60Hz */
	{{ DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 4016,
		   4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 60, }, {0xB, 0xA},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 12G: 4096x2160@48Hz */
	{{ DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 594000, 4096, 5116,
		   5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 48, }, {0x8, 0x4},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 12G: 4096x2160@50Hz */
	{{ DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 594000, 4096, 5064,
		   5152, 5280, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 50, }, {0x9, 0x9},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
	/* 12G: 4096x2160@60Hz */
	{{ DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 593408, 4096, 4184,
		   4272, 4400, 0, 2160, 2168, 2178, 2250, 0,
		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
		   .vrefresh = 60, }, {0xB, 0xA},
		   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
};

#endif /* _XLNX_SDI_MODES_H_ */