1 #ifndef _UAPI_MSM_HDMI_MODES_H__
2 #define _UAPI_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 /* _UAPI_MSM_HDMI_MODES_H__ */
361