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