Home | History | Annotate | Download | only in video
      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 
    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