msm_hdmi_modes.h 16 KB

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