1#ifndef __MSM_HDMI_MODES_H__
2#define __MSM_HDMI_MODES_H__
3#include <linux/types.h>
4
5struct 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)	\
215do {	\
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)	\
225do {	\
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
282static 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