1 #ifndef __MSM_HDMI_MODES_H__
2 #define __MSM_HDMI_MODES_H__
3 #include <linux/types.h>
4
5 struct msm_hdmi_mode_timing_info {
6 uint32_t video_format;
7 uint32_t active_h;
8 uint32_t front_porch_h;
9 uint32_t pulse_width_h;
10 uint32_t back_porch_h;
11 uint32_t active_low_h;
12 uint32_t active_v;
13 uint32_t front_porch_v;
14 uint32_t pulse_width_v;
15 uint32_t back_porch_v;
16 uint32_t active_low_v;
17 /* Must divide by 1000 to get the actual frequency in MHZ */
18 uint32_t pixel_freq;
19 /* Must divide by 1000 to get the actual frequency in HZ */
20 uint32_t refresh_rate;
21 uint32_t interlaced;
22 uint32_t supported;
23 };
24
25 #define MSM_HDMI_MODES_CEA (1 << 0)
26 #define MSM_HDMI_MODES_XTND (1 << 1)
27 #define MSM_HDMI_MODES_DVI (1 << 2)
28 #define MSM_HDMI_MODES_ALL (MSM_HDMI_MODES_CEA |\
29 MSM_HDMI_MODES_XTND |\
30 MSM_HDMI_MODES_DVI)
31
32 /* all video formats defined by CEA 861D */
33 #define HDMI_VFRMT_UNKNOWN 0
34 #define HDMI_VFRMT_640x480p60_4_3 1
35 #define HDMI_VFRMT_720x480p60_4_3 2
36 #define HDMI_VFRMT_720x480p60_16_9 3
37 #define HDMI_VFRMT_1280x720p60_16_9 4
38 #define HDMI_VFRMT_1920x1080i60_16_9 5
39 #define HDMI_VFRMT_720x480i60_4_3 6
40 #define HDMI_VFRMT_1440x480i60_4_3 HDMI_VFRMT_720x480i60_4_3
41 #define HDMI_VFRMT_720x480i60_16_9 7
42 #define HDMI_VFRMT_1440x480i60_16_9 HDMI_VFRMT_720x480i60_16_9
43 #define HDMI_VFRMT_720x240p60_4_3 8
44 #define HDMI_VFRMT_1440x240p60_4_3 HDMI_VFRMT_720x240p60_4_3
45 #define HDMI_VFRMT_720x240p60_16_9 9
46 #define HDMI_VFRMT_1440x240p60_16_9 HDMI_VFRMT_720x240p60_16_9
47 #define HDMI_VFRMT_2880x480i60_4_3 10
48 #define HDMI_VFRMT_2880x480i60_16_9 11
49 #define HDMI_VFRMT_2880x240p60_4_3 12
50 #define HDMI_VFRMT_2880x240p60_16_9 13
51 #define HDMI_VFRMT_1440x480p60_4_3 14
52 #define HDMI_VFRMT_1440x480p60_16_9 15
53 #define HDMI_VFRMT_1920x1080p60_16_9 16
54 #define HDMI_VFRMT_720x576p50_4_3 17
55 #define HDMI_VFRMT_720x576p50_16_9 18
56 #define HDMI_VFRMT_1280x720p50_16_9 19
57 #define HDMI_VFRMT_1920x1080i50_16_9 20
58 #define HDMI_VFRMT_720x576i50_4_3 21
59 #define HDMI_VFRMT_1440x576i50_4_3 HDMI_VFRMT_720x576i50_4_3
60 #define HDMI_VFRMT_720x576i50_16_9 22
61 #define HDMI_VFRMT_1440x576i50_16_9 HDMI_VFRMT_720x576i50_16_9
62 #define HDMI_VFRMT_720x288p50_4_3 23
63 #define HDMI_VFRMT_1440x288p50_4_3 HDMI_VFRMT_720x288p50_4_3
64 #define HDMI_VFRMT_720x288p50_16_9 24
65 #define HDMI_VFRMT_1440x288p50_16_9 HDMI_VFRMT_720x288p50_16_9
66 #define HDMI_VFRMT_2880x576i50_4_3 25
67 #define HDMI_VFRMT_2880x576i50_16_9 26
68 #define HDMI_VFRMT_2880x288p50_4_3 27
69 #define HDMI_VFRMT_2880x288p50_16_9 28
70 #define HDMI_VFRMT_1440x576p50_4_3 29
71 #define HDMI_VFRMT_1440x576p50_16_9 30
72 #define HDMI_VFRMT_1920x1080p50_16_9 31
73 #define HDMI_VFRMT_1920x1080p24_16_9 32
74 #define HDMI_VFRMT_1920x1080p25_16_9 33
75 #define HDMI_VFRMT_1920x1080p30_16_9 34
76 #define HDMI_VFRMT_2880x480p60_4_3 35
77 #define HDMI_VFRMT_2880x480p60_16_9 36
78 #define HDMI_VFRMT_2880x576p50_4_3 37
79 #define HDMI_VFRMT_2880x576p50_16_9 38
80 #define HDMI_VFRMT_1920x1250i50_16_9 39
81 #define HDMI_VFRMT_1920x1080i100_16_9 40
82 #define HDMI_VFRMT_1280x720p100_16_9 41
83 #define HDMI_VFRMT_720x576p100_4_3 42
84 #define HDMI_VFRMT_720x576p100_16_9 43
85 #define HDMI_VFRMT_720x576i100_4_3 44
86 #define HDMI_VFRMT_1440x576i100_4_3 HDMI_VFRMT_720x576i100_4_3
87 #define HDMI_VFRMT_720x576i100_16_9 45
88 #define HDMI_VFRMT_1440x576i100_16_9 HDMI_VFRMT_720x576i100_16_9
89 #define HDMI_VFRMT_1920x1080i120_16_9 46
90 #define HDMI_VFRMT_1280x720p120_16_9 47
91 #define HDMI_VFRMT_720x480p120_4_3 48
92 #define HDMI_VFRMT_720x480p120_16_9 49
93 #define HDMI_VFRMT_720x480i120_4_3 50
94 #define HDMI_VFRMT_1440x480i120_4_3 HDMI_VFRMT_720x480i120_4_3
95 #define HDMI_VFRMT_720x480i120_16_9 51
96 #define HDMI_VFRMT_1440x480i120_16_9 HDMI_VFRMT_720x480i120_16_9
97 #define HDMI_VFRMT_720x576p200_4_3 52
98 #define HDMI_VFRMT_720x576p200_16_9 53
99 #define HDMI_VFRMT_720x576i200_4_3 54
100 #define HDMI_VFRMT_1440x576i200_4_3 HDMI_VFRMT_720x576i200_4_3
101 #define HDMI_VFRMT_720x576i200_16_9 55
102 #define HDMI_VFRMT_1440x576i200_16_9 HDMI_VFRMT_720x576i200_16_9
103 #define HDMI_VFRMT_720x480p240_4_3 56
104 #define HDMI_VFRMT_720x480p240_16_9 57
105 #define HDMI_VFRMT_720x480i240_4_3 58
106 #define HDMI_VFRMT_1440x480i240_4_3 HDMI_VFRMT_720x480i240_4_3
107 #define HDMI_VFRMT_720x480i240_16_9 59
108 #define HDMI_VFRMT_1440x480i240_16_9 HDMI_VFRMT_720x480i240_16_9
109 #define HDMI_VFRMT_1280x720p24_16_9 60
110 #define HDMI_VFRMT_1280x720p25_16_9 61
111 #define HDMI_VFRMT_1280x720p30_16_9 62
112 #define HDMI_VFRMT_1920x1080p120_16_9 63
113 #define HDMI_VFRMT_1920x1080p100_16_9 64
114 /* Video Identification Codes from 65-127 are reserved for the future */
115 #define HDMI_VFRMT_END 127
116
117 /* extended video formats */
118 #define HDMI_VFRMT_3840x2160p30_16_9 (HDMI_VFRMT_END + 1)
119 #define HDMI_VFRMT_3840x2160p25_16_9 (HDMI_VFRMT_END + 2)
120 #define HDMI_VFRMT_3840x2160p24_16_9 (HDMI_VFRMT_END + 3)
121 #define HDMI_VFRMT_4096x2160p24_16_9 (HDMI_VFRMT_END + 4)
122 #define HDMI_EVFRMT_END HDMI_VFRMT_4096x2160p24_16_9
123
124 /* VESA DMT TIMINGS */
125 #define HDMI_VFRMT_1024x768p60_4_3 (HDMI_EVFRMT_END + 1)
126 #define HDMI_VFRMT_1280x1024p60_5_4 (HDMI_EVFRMT_END + 2)
127 #define HDMI_VFRMT_2560x1600p60_16_9 (HDMI_EVFRMT_END + 3)
128 #define VESA_DMT_VFRMT_END HDMI_VFRMT_2560x1600p60_16_9
129 #define HDMI_VFRMT_MAX (VESA_DMT_VFRMT_END + 1)
130 #define HDMI_VFRMT_FORCE_32BIT 0x7FFFFFFF
131
132 /* Timing information for supported modes */
133 #define VFRMT_NOT_SUPPORTED(VFRMT) \
134 {VFRMT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false}
135
136 #define HDMI_VFRMT_640x480p60_4_3_TIMING \
137 {HDMI_VFRMT_640x480p60_4_3, 640, 16, 96, 48, true, \
138 480, 10, 2, 33, true, 25200, 60000, false, true}
139 #define HDMI_VFRMT_720x480p60_4_3_TIMING \
140 {HDMI_VFRMT_720x480p60_4_3, 720, 16, 62, 60, true, \
141 480, 9, 6, 30, true, 27030, 60000, false, true}
142 #define HDMI_VFRMT_720x480p60_16_9_TIMING \
143 {HDMI_VFRMT_720x480p60_16_9, 720, 16, 62, 60, true, \
144 480, 9, 6, 30, true, 27030, 60000, false, true}
145 #define HDMI_VFRMT_1280x720p60_16_9_TIMING \
146 {HDMI_VFRMT_1280x720p60_16_9, 1280, 110, 40, 220, false, \
147 720, 5, 5, 20, false, 74250, 60000, false, true}
148 #define HDMI_VFRMT_1920x1080i60_16_9_TIMING \
149 {HDMI_VFRMT_1920x1080i60_16_9, 1920, 88, 44, 148, false, \
150 540, 2, 5, 5, false, 74250, 60000, false, true}
151 #define HDMI_VFRMT_1440x480i60_4_3_TIMING \
152 {HDMI_VFRMT_1440x480i60_4_3, 1440, 38, 124, 114, true, \
153 240, 4, 3, 15, true, 27000, 60000, true, true}
154 #define HDMI_VFRMT_1440x480i60_16_9_TIMING \
155 {HDMI_VFRMT_1440x480i60_16_9, 1440, 38, 124, 114, true, \
156 240, 4, 3, 15, true, 27000, 60000, true, true}
157 #define HDMI_VFRMT_1920x1080p60_16_9_TIMING \
158 {HDMI_VFRMT_1920x1080p60_16_9, 1920, 88, 44, 148, false, \
159 1080, 4, 5, 36, false, 148500, 60000, false, true}
160 #define HDMI_VFRMT_720x576p50_4_3_TIMING \
161 {HDMI_VFRMT_720x576p50_4_3, 720, 12, 64, 68, true, \
162 576, 5, 5, 39, true, 27000, 50000, false, true}
163 #define HDMI_VFRMT_720x576p50_16_9_TIMING \
164 {HDMI_VFRMT_720x576p50_16_9, 720, 12, 64, 68, true, \
165 576, 5, 5, 39, true, 27000, 50000, false, true}
166 #define HDMI_VFRMT_1280x720p50_16_9_TIMING \
167 {HDMI_VFRMT_1280x720p50_16_9, 1280, 440, 40, 220, false, \
168 720, 5, 5, 20, false, 74250, 50000, false, true}
169 #define HDMI_VFRMT_1440x576i50_4_3_TIMING \
170 {HDMI_VFRMT_1440x576i50_4_3, 1440, 24, 126, 138, true, \
171 288, 2, 3, 19, true, 27000, 50000, true, true}
172 #define HDMI_VFRMT_1440x576i50_16_9_TIMING \
173 {HDMI_VFRMT_1440x576i50_16_9, 1440, 24, 126, 138, true, \
174 288, 2, 3, 19, true, 27000, 50000, true, true}
175 #define HDMI_VFRMT_1920x1080p50_16_9_TIMING \
176 {HDMI_VFRMT_1920x1080p50_16_9, 1920, 528, 44, 148, false, \
177 1080, 4, 5, 36, false, 148500, 50000, false, true}
178 #define HDMI_VFRMT_1920x1080p24_16_9_TIMING \
179 {HDMI_VFRMT_1920x1080p24_16_9, 1920, 638, 44, 148, false, \
180 1080, 4, 5, 36, false, 74250, 24000, false, true}
181 #define HDMI_VFRMT_1920x1080p25_16_9_TIMING \
182 {HDMI_VFRMT_1920x1080p25_16_9, 1920, 528, 44, 148, false, \
183 1080, 4, 5, 36, false, 74250, 25000, false, true}
184 #define HDMI_VFRMT_1920x1080p30_16_9_TIMING \
185 {HDMI_VFRMT_1920x1080p30_16_9, 1920, 88, 44, 148, false, \
186 1080, 4, 5, 36, false, 74250, 30000, false, true}
187 #define HDMI_VFRMT_1024x768p60_4_3_TIMING \
188 {HDMI_VFRMT_1024x768p60_4_3, 1024, 24, 136, 160, false, \
189 768, 2, 6, 29, false, 65000, 60000, false, true}
190 #define HDMI_VFRMT_1280x1024p60_5_4_TIMING \
191 {HDMI_VFRMT_1280x1024p60_5_4, 1280, 48, 112, 248, false, \
192 1024, 1, 3, 38, false, 108000, 60000, false, true}
193 #define HDMI_VFRMT_2560x1600p60_16_9_TIMING \
194 {HDMI_VFRMT_2560x1600p60_16_9, 2560, 48, 32, 80, false, \
195 1600, 3, 6, 37, false, 268500, 60000, false, true}
196 #define HDMI_VFRMT_3840x2160p30_16_9_TIMING \
197 {HDMI_VFRMT_3840x2160p30_16_9, 3840, 176, 88, 296, false, \
198 2160, 8, 10, 72, false, 297000, 30000, false, true}
199 #define HDMI_VFRMT_3840x2160p25_16_9_TIMING \
200 {HDMI_VFRMT_3840x2160p25_16_9, 3840, 1056, 88, 296, false, \
201 2160, 8, 10, 72, false, 297000, 25000, false, true}
202 #define HDMI_VFRMT_3840x2160p24_16_9_TIMING \
203 {HDMI_VFRMT_3840x2160p24_16_9, 3840, 1276, 88, 296, false, \
204 2160, 8, 10, 72, false, 297000, 24000, false, true}
205 #define HDMI_VFRMT_4096x2160p24_16_9_TIMING \
206 {HDMI_VFRMT_4096x2160p24_16_9, 4096, 1020, 88, 296, false, \
207 2160, 8, 10, 72, false, 297000, 24000, false, true}
208
209 #define MSM_HDMI_MODES_SET_TIMING(LUT, MODE) do { \
210 struct msm_hdmi_mode_timing_info mode = MODE##_TIMING; \
211 LUT[MODE] = mode;\
212 } while (0)
213
214 #define MSM_HDMI_MODES_INIT_TIMINGS(__lut) \
215 do { \
216 unsigned int i; \
217 for (i = 0; i < HDMI_VFRMT_MAX; i++) { \
218 struct msm_hdmi_mode_timing_info mode = \
219 VFRMT_NOT_SUPPORTED(i); \
220 (__lut)[i] = mode; \
221 } \
222 } while (0)
223
224 #define MSM_HDMI_MODES_SET_SUPP_TIMINGS(__lut, __type) \
225 do { \
226 if (__type & MSM_HDMI_MODES_CEA) { \
227 MSM_HDMI_MODES_SET_TIMING(__lut, \
228 HDMI_VFRMT_640x480p60_4_3); \
229 MSM_HDMI_MODES_SET_TIMING(__lut, \
230 HDMI_VFRMT_720x480p60_4_3); \
231 MSM_HDMI_MODES_SET_TIMING(__lut, \
232 HDMI_VFRMT_720x480p60_16_9); \
233 MSM_HDMI_MODES_SET_TIMING(__lut, \
234 HDMI_VFRMT_1280x720p60_16_9); \
235 MSM_HDMI_MODES_SET_TIMING(__lut, \
236 HDMI_VFRMT_1920x1080i60_16_9); \
237 MSM_HDMI_MODES_SET_TIMING(__lut, \
238 HDMI_VFRMT_1440x480i60_4_3); \
239 MSM_HDMI_MODES_SET_TIMING(__lut, \
240 HDMI_VFRMT_1440x480i60_16_9); \
241 MSM_HDMI_MODES_SET_TIMING(__lut, \
242 HDMI_VFRMT_1920x1080p60_16_9); \
243 MSM_HDMI_MODES_SET_TIMING(__lut, \
244 HDMI_VFRMT_720x576p50_4_3); \
245 MSM_HDMI_MODES_SET_TIMING(__lut, \
246 HDMI_VFRMT_720x576p50_16_9); \
247 MSM_HDMI_MODES_SET_TIMING(__lut, \
248 HDMI_VFRMT_1280x720p50_16_9); \
249 MSM_HDMI_MODES_SET_TIMING(__lut, \
250 HDMI_VFRMT_1440x576i50_4_3); \
251 MSM_HDMI_MODES_SET_TIMING(__lut, \
252 HDMI_VFRMT_1440x576i50_16_9); \
253 MSM_HDMI_MODES_SET_TIMING(__lut, \
254 HDMI_VFRMT_1920x1080p50_16_9); \
255 MSM_HDMI_MODES_SET_TIMING(__lut, \
256 HDMI_VFRMT_1920x1080p24_16_9); \
257 MSM_HDMI_MODES_SET_TIMING(__lut, \
258 HDMI_VFRMT_1920x1080p25_16_9); \
259 MSM_HDMI_MODES_SET_TIMING(__lut, \
260 HDMI_VFRMT_1920x1080p30_16_9); \
261 } \
262 if (__type & MSM_HDMI_MODES_XTND) { \
263 MSM_HDMI_MODES_SET_TIMING(__lut, \
264 HDMI_VFRMT_3840x2160p30_16_9); \
265 MSM_HDMI_MODES_SET_TIMING(__lut, \
266 HDMI_VFRMT_3840x2160p25_16_9); \
267 MSM_HDMI_MODES_SET_TIMING(__lut, \
268 HDMI_VFRMT_3840x2160p24_16_9); \
269 MSM_HDMI_MODES_SET_TIMING(__lut, \
270 HDMI_VFRMT_4096x2160p24_16_9); \
271 } \
272 if (__type & MSM_HDMI_MODES_DVI) { \
273 MSM_HDMI_MODES_SET_TIMING(__lut, \
274 HDMI_VFRMT_1024x768p60_4_3); \
275 MSM_HDMI_MODES_SET_TIMING(__lut, \
276 HDMI_VFRMT_1280x1024p60_5_4); \
277 MSM_HDMI_MODES_SET_TIMING(__lut, \
278 HDMI_VFRMT_2560x1600p60_16_9); \
279 } \
280 } while (0)
281
msm_hdmi_mode_2string(uint32_t mode)282 static inline const char *msm_hdmi_mode_2string(uint32_t mode)
283 {
284 switch (mode) {
285 case HDMI_VFRMT_UNKNOWN: return "Unknown";
286 case HDMI_VFRMT_640x480p60_4_3: return "640x480 p60 4/3";
287 case HDMI_VFRMT_720x480p60_4_3: return "720x480 p60 4/3";
288 case HDMI_VFRMT_720x480p60_16_9: return "720x480 p60 16/9";
289 case HDMI_VFRMT_1280x720p60_16_9: return "1280x 720 p60 16/9";
290 case HDMI_VFRMT_1920x1080i60_16_9: return "1920x1080 i60 16/9";
291 case HDMI_VFRMT_1440x480i60_4_3: return "1440x480 i60 4/3";
292 case HDMI_VFRMT_1440x480i60_16_9: return "1440x480 i60 16/9";
293 case HDMI_VFRMT_1440x240p60_4_3: return "1440x240 p60 4/3";
294 case HDMI_VFRMT_1440x240p60_16_9: return "1440x240 p60 16/9";
295 case HDMI_VFRMT_2880x480i60_4_3: return "2880x480 i60 4/3";
296 case HDMI_VFRMT_2880x480i60_16_9: return "2880x480 i60 16/9";
297 case HDMI_VFRMT_2880x240p60_4_3: return "2880x240 p60 4/3";
298 case HDMI_VFRMT_2880x240p60_16_9: return "2880x240 p60 16/9";
299 case HDMI_VFRMT_1440x480p60_4_3: return "1440x480 p60 4/3";
300 case HDMI_VFRMT_1440x480p60_16_9: return "1440x480 p60 16/9";
301 case HDMI_VFRMT_1920x1080p60_16_9: return "1920x1080 p60 16/9";
302 case HDMI_VFRMT_720x576p50_4_3: return "720x576 p50 4/3";
303 case HDMI_VFRMT_720x576p50_16_9: return "720x576 p50 16/9";
304 case HDMI_VFRMT_1280x720p50_16_9: return "1280x720 p50 16/9";
305 case HDMI_VFRMT_1920x1080i50_16_9: return "1920x1080 i50 16/9";
306 case HDMI_VFRMT_1440x576i50_4_3: return "1440x576 i50 4/3";
307 case HDMI_VFRMT_1440x576i50_16_9: return "1440x576 i50 16/9";
308 case HDMI_VFRMT_1440x288p50_4_3: return "1440x288 p50 4/3";
309 case HDMI_VFRMT_1440x288p50_16_9: return "1440x288 p50 16/9";
310 case HDMI_VFRMT_2880x576i50_4_3: return "2880x576 i50 4/3";
311 case HDMI_VFRMT_2880x576i50_16_9: return "2880x576 i50 16/9";
312 case HDMI_VFRMT_2880x288p50_4_3: return "2880x288 p50 4/3";
313 case HDMI_VFRMT_2880x288p50_16_9: return "2880x288 p50 16/9";
314 case HDMI_VFRMT_1440x576p50_4_3: return "1440x576 p50 4/3";
315 case HDMI_VFRMT_1440x576p50_16_9: return "1440x576 p50 16/9";
316 case HDMI_VFRMT_1920x1080p50_16_9: return "1920x1080 p50 16/9";
317 case HDMI_VFRMT_1920x1080p24_16_9: return "1920x1080 p24 16/9";
318 case HDMI_VFRMT_1920x1080p25_16_9: return "1920x1080 p25 16/9";
319 case HDMI_VFRMT_1920x1080p30_16_9: return "1920x1080 p30 16/9";
320 case HDMI_VFRMT_2880x480p60_4_3: return "2880x480 p60 4/3";
321 case HDMI_VFRMT_2880x480p60_16_9: return "2880x480 p60 16/9";
322 case HDMI_VFRMT_2880x576p50_4_3: return "2880x576 p50 4/3";
323 case HDMI_VFRMT_2880x576p50_16_9: return "2880x576 p50 16/9";
324 case HDMI_VFRMT_1920x1250i50_16_9: return "1920x1250 i50 16/9";
325 case HDMI_VFRMT_1920x1080i100_16_9: return "1920x1080 i100 16/9";
326 case HDMI_VFRMT_1280x720p100_16_9: return "1280x720 p100 16/9";
327 case HDMI_VFRMT_720x576p100_4_3: return "720x576 p100 4/3";
328 case HDMI_VFRMT_720x576p100_16_9: return "720x576 p100 16/9";
329 case HDMI_VFRMT_1440x576i100_4_3: return "1440x576 i100 4/3";
330 case HDMI_VFRMT_1440x576i100_16_9: return "1440x576 i100 16/9";
331 case HDMI_VFRMT_1920x1080i120_16_9: return "1920x1080 i120 16/9";
332 case HDMI_VFRMT_1280x720p120_16_9: return "1280x720 p120 16/9";
333 case HDMI_VFRMT_720x480p120_4_3: return "720x480 p120 4/3";
334 case HDMI_VFRMT_720x480p120_16_9: return "720x480 p120 16/9";
335 case HDMI_VFRMT_1440x480i120_4_3: return "1440x480 i120 4/3";
336 case HDMI_VFRMT_1440x480i120_16_9: return "1440x480 i120 16/9";
337 case HDMI_VFRMT_720x576p200_4_3: return "720x576 p200 4/3";
338 case HDMI_VFRMT_720x576p200_16_9: return "720x576 p200 16/9";
339 case HDMI_VFRMT_1440x576i200_4_3: return "1440x576 i200 4/3";
340 case HDMI_VFRMT_1440x576i200_16_9: return "1440x576 i200 16/9";
341 case HDMI_VFRMT_720x480p240_4_3: return "720x480 p240 4/3";
342 case HDMI_VFRMT_720x480p240_16_9: return "720x480 p240 16/9";
343 case HDMI_VFRMT_1440x480i240_4_3: return "1440x480 i240 4/3";
344 case HDMI_VFRMT_1440x480i240_16_9: return "1440x480 i240 16/9";
345 case HDMI_VFRMT_1280x720p24_16_9: return "1280x720 p24 16/9";
346 case HDMI_VFRMT_1280x720p25_16_9: return "1280x720 p25 16/9";
347 case HDMI_VFRMT_1280x720p30_16_9: return "1280x720 p30 16/9";
348 case HDMI_VFRMT_1920x1080p120_16_9: return "1920x1080 p120 16/9";
349 case HDMI_VFRMT_1920x1080p100_16_9: return "1920x1080 p100 16/9";
350 case HDMI_VFRMT_3840x2160p30_16_9: return "3840x2160 p30 16/9";
351 case HDMI_VFRMT_3840x2160p25_16_9: return "3840x2160 p25 16/9";
352 case HDMI_VFRMT_3840x2160p24_16_9: return "3840x2160 p24 16/9";
353 case HDMI_VFRMT_4096x2160p24_16_9: return "4096x2160 p24 16/9";
354 case HDMI_VFRMT_1024x768p60_4_3: return "1024x768 p60 4/3";
355 case HDMI_VFRMT_1280x1024p60_5_4: return "1280x1024 p60 5/4";
356 case HDMI_VFRMT_2560x1600p60_16_9: return "2560x1600 p60 16/9";
357 default: return "???";
358 }
359 }
360 #endif /* __MSM_HDMI_MODES_H__ */
361