1772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#ifndef _UAPI_MSM_HDMI_MODES_H__ 2772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define _UAPI_MSM_HDMI_MODES_H__ 3772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#include <linux/types.h> 4464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#include <linux/errno.h> 5464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 6464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define MSM_HDMI_RGB_888_24BPP_FORMAT BIT(0) 7464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define MSM_HDMI_YUV_420_12BPP_FORMAT BIT(1) 8772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 9772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum aspect_ratio { 10772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_RES_AR_INVALID, 11772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_RES_AR_4_3, 12772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_RES_AR_5_4, 13772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_RES_AR_16_9, 14772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_RES_AR_16_10, 15464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_64_27, 16464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_256_135, 17772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_RES_AR_MAX, 18772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 19772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 20464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherryenum msm_hdmi_s3d_mode { 21464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_S3D_NONE, 22464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_S3D_SIDE_BY_SIDE, 23464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_S3D_TOP_AND_BOTTOM, 24464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_S3D_FRAME_PACKING, 25464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_S3D_MAX, 26464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 27464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 28772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct msm_hdmi_mode_timing_info { 29772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t video_format; 30772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t active_h; 31772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t front_porch_h; 32772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t pulse_width_h; 33772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t back_porch_h; 34772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t active_low_h; 35772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t active_v; 36772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t front_porch_v; 37772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t pulse_width_v; 38772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t back_porch_v; 39772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t active_low_v; 40772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* Must divide by 1000 to get the actual frequency in MHZ */ 41772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t pixel_freq; 42772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* Must divide by 1000 to get the actual frequency in HZ */ 43772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t refresh_rate; 44772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t interlaced; 45772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t supported; 46772b7facf972926b14fe303d0348c200cb20a313Prashant Malani enum aspect_ratio ar; 47464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry /* Flags indicating support for specific pixel formats */ 48464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry uint32_t pixel_formats; 49772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 50772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 51464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define MSM_HDMI_INIT_RES_PAGE 1 52464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 53772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MSM_HDMI_MODES_CEA (1 << 0) 54772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MSM_HDMI_MODES_XTND (1 << 1) 55772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MSM_HDMI_MODES_DVI (1 << 2) 56772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MSM_HDMI_MODES_ALL (MSM_HDMI_MODES_CEA |\ 57772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_XTND |\ 58772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_DVI) 59772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 60772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* all video formats defined by CEA 861D */ 61772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_UNKNOWN 0 62772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_640x480p60_4_3 1 63772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480p60_4_3 2 64772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480p60_16_9 3 65772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x720p60_16_9 4 66772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080i60_16_9 5 67772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480i60_4_3 6 68772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x480i60_4_3 HDMI_VFRMT_720x480i60_4_3 69772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480i60_16_9 7 70772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x480i60_16_9 HDMI_VFRMT_720x480i60_16_9 71772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x240p60_4_3 8 72772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x240p60_4_3 HDMI_VFRMT_720x240p60_4_3 73772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x240p60_16_9 9 74772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x240p60_16_9 HDMI_VFRMT_720x240p60_16_9 75772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x480i60_4_3 10 76772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x480i60_16_9 11 77772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x240p60_4_3 12 78772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x240p60_16_9 13 79772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x480p60_4_3 14 80772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x480p60_16_9 15 81772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p60_16_9 16 82772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576p50_4_3 17 83772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576p50_16_9 18 84772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x720p50_16_9 19 85772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080i50_16_9 20 86772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576i50_4_3 21 87772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x576i50_4_3 HDMI_VFRMT_720x576i50_4_3 88772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576i50_16_9 22 89772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x576i50_16_9 HDMI_VFRMT_720x576i50_16_9 90772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x288p50_4_3 23 91772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x288p50_4_3 HDMI_VFRMT_720x288p50_4_3 92772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x288p50_16_9 24 93772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x288p50_16_9 HDMI_VFRMT_720x288p50_16_9 94772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x576i50_4_3 25 95772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x576i50_16_9 26 96772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x288p50_4_3 27 97772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x288p50_16_9 28 98772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x576p50_4_3 29 99772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x576p50_16_9 30 100772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p50_16_9 31 101772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p24_16_9 32 102772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p25_16_9 33 103772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p30_16_9 34 104772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x480p60_4_3 35 105772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x480p60_16_9 36 106772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x576p50_4_3 37 107772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2880x576p50_16_9 38 108772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1250i50_16_9 39 109772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080i100_16_9 40 110772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x720p100_16_9 41 111772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576p100_4_3 42 112772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576p100_16_9 43 113772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576i100_4_3 44 114772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x576i100_4_3 HDMI_VFRMT_720x576i100_4_3 115772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576i100_16_9 45 116772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x576i100_16_9 HDMI_VFRMT_720x576i100_16_9 117772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080i120_16_9 46 118772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x720p120_16_9 47 119772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480p120_4_3 48 120772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480p120_16_9 49 121772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480i120_4_3 50 122772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x480i120_4_3 HDMI_VFRMT_720x480i120_4_3 123772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480i120_16_9 51 124772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x480i120_16_9 HDMI_VFRMT_720x480i120_16_9 125772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576p200_4_3 52 126772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576p200_16_9 53 127772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576i200_4_3 54 128772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x576i200_4_3 HDMI_VFRMT_720x576i200_4_3 129772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576i200_16_9 55 130772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x576i200_16_9 HDMI_VFRMT_720x576i200_16_9 131772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480p240_4_3 56 132772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480p240_16_9 57 133772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480i240_4_3 58 134772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x480i240_4_3 HDMI_VFRMT_720x480i240_4_3 135772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480i240_16_9 59 136772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x480i240_16_9 HDMI_VFRMT_720x480i240_16_9 137772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x720p24_16_9 60 138772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x720p25_16_9 61 139772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x720p30_16_9 62 140772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p120_16_9 63 141772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p100_16_9 64 142464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1280x720p24_64_27 65 143464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1280x720p25_64_27 66 144464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1280x720p30_64_27 67 145464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1280x720p50_64_27 68 146464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1280x720p60_64_27 69 147464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1280x720p100_64_27 70 148464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1280x720p120_64_27 71 149464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1920x1080p24_64_27 72 150464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1920x1080p25_64_27 73 151464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1920x1080p30_64_27 74 152464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1920x1080p50_64_27 75 153464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1920x1080p60_64_27 76 154464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1920x1080p100_64_27 77 155464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1920x1080p120_64_27 78 156464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1680x720p24_64_27 79 157464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1680x720p25_64_27 80 158464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1680x720p30_64_27 81 159464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1680x720p50_64_27 82 160464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1680x720p60_64_27 83 161464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1680x720p100_64_27 84 162464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_1680x720p120_64_27 85 163464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_2560x1080p24_64_27 86 164464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_2560x1080p25_64_27 87 165464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_2560x1080p30_64_27 88 166464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_2560x1080p50_64_27 89 167464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_2560x1080p60_64_27 90 168464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_2560x1080p100_64_27 91 169464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_2560x1080p120_64_27 92 170464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p24_16_9 93 171464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p25_16_9 94 172464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p30_16_9 95 173464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p50_16_9 96 174464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p60_16_9 97 175464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_4096x2160p24_256_135 98 176464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_4096x2160p25_256_135 99 177464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_4096x2160p30_256_135 100 178464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_4096x2160p50_256_135 101 179464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_4096x2160p60_256_135 102 180464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p24_64_27 103 181464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p25_64_27 104 182464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p30_64_27 105 183464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p50_64_27 106 184464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p60_64_27 107 185464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 186464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry/* Video Identification Codes from 107-127 are reserved for the future */ 187772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_END 127 188772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 189772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define EVFRMT_OFF(x) (HDMI_VFRMT_END + x) 190772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 191772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* extended video formats */ 192464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_EVFRMT_3840x2160p30_16_9 EVFRMT_OFF(1) 193464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_EVFRMT_3840x2160p25_16_9 EVFRMT_OFF(2) 194464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_EVFRMT_3840x2160p24_16_9 EVFRMT_OFF(3) 195464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_EVFRMT_4096x2160p24_16_9 EVFRMT_OFF(4) 196464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_EVFRMT_END HDMI_EVFRMT_4096x2160p24_16_9 197772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 198772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define WQXGA_OFF(x) (HDMI_EVFRMT_END + x) 199772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 200772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* WQXGA */ 201772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2560x1600p60_16_9 WQXGA_OFF(1) 202772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_WQXGAFRMT_END HDMI_VFRMT_2560x1600p60_16_9 203772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 204772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define WXGA_OFF(x) (HDMI_WQXGAFRMT_END + x) 205772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 206772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* WXGA */ 207772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x800p60_16_10 WXGA_OFF(1) 208772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1366x768p60_16_10 WXGA_OFF(2) 209772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_WXGAFRMT_END HDMI_VFRMT_1366x768p60_16_10 210772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 211772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define ETI_OFF(x) (HDMI_WXGAFRMT_END + x) 212772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 213772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* ESTABLISHED TIMINGS I */ 214772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_800x600p60_4_3 ETI_OFF(1) 215772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define ETI_VFRMT_END HDMI_VFRMT_800x600p60_4_3 216772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 217772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define ETII_OFF(x) (ETI_VFRMT_END + x) 218772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 219772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* ESTABLISHED TIMINGS II */ 220772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1024x768p60_4_3 ETII_OFF(1) 221772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x1024p60_5_4 ETII_OFF(2) 222772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define ETII_VFRMT_END HDMI_VFRMT_1280x1024p60_5_4 223772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 224772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define ETIII_OFF(x) (ETII_VFRMT_END + x) 225772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 226772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* ESTABLISHED TIMINGS III */ 227772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_848x480p60_16_9 ETIII_OFF(1) 228772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x960p60_4_3 ETIII_OFF(2) 229772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1360x768p60_16_9 ETIII_OFF(3) 230772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x900p60_16_10 ETIII_OFF(4) 231772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1400x1050p60_4_3 ETIII_OFF(5) 232772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1680x1050p60_16_10 ETIII_OFF(6) 233772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1600x1200p60_4_3 ETIII_OFF(7) 234772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1200p60_16_10 ETIII_OFF(8) 235772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define ETIII_VFRMT_END HDMI_VFRMT_1920x1200p60_16_10 236772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 237464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define RESERVE_OFF(x) (ETIII_VFRMT_END + x) 238464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 239464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_RESERVE1 RESERVE_OFF(1) 240464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_RESERVE2 RESERVE_OFF(2) 241464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_RESERVE3 RESERVE_OFF(3) 242464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_RESERVE4 RESERVE_OFF(4) 243464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_RESERVE5 RESERVE_OFF(5) 244464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_RESERVE6 RESERVE_OFF(6) 245464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_RESERVE7 RESERVE_OFF(7) 246464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_RESERVE8 RESERVE_OFF(8) 247464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define RESERVE_VFRMT_END HDMI_VFRMT_RESERVE8 248464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 249464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_MAX (RESERVE_VFRMT_END + 1) 250772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 251772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* Timing information for supported modes */ 252772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define VFRMT_NOT_SUPPORTED(VFRMT) \ 253772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {VFRMT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false, \ 254772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_RES_AR_INVALID} 255772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 256772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_640x480p60_4_3_TIMING \ 257772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_640x480p60_4_3, 640, 16, 96, 48, true, \ 258464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 480, 10, 2, 33, true, 25200, 60000, false, true, HDMI_RES_AR_4_3, 0} 259772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480p60_4_3_TIMING \ 260772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_720x480p60_4_3, 720, 16, 62, 60, true, \ 261464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 480, 9, 6, 30, true, 27027, 60000, false, true, HDMI_RES_AR_4_3, 0} 262772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x480p60_16_9_TIMING \ 263772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_720x480p60_16_9, 720, 16, 62, 60, true, \ 264464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 480, 9, 6, 30, true, 27027, 60000, false, true, HDMI_RES_AR_16_9, 0} 265772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x720p60_16_9_TIMING \ 266772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1280x720p60_16_9, 1280, 110, 40, 220, false, \ 267464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 720, 5, 5, 20, false, 74250, 60000, false, true, HDMI_RES_AR_16_9, 0} 268772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080i60_16_9_TIMING \ 269772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1920x1080i60_16_9, 1920, 88, 44, 148, false, \ 270464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 540, 2, 5, 5, false, 74250, 60000, false, true, HDMI_RES_AR_16_9, 0} 271772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x480i60_4_3_TIMING \ 272772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1440x480i60_4_3, 1440, 38, 124, 114, true, \ 273464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 240, 4, 3, 15, true, 27000, 60000, true, true, HDMI_RES_AR_4_3, 0} 274772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x480i60_16_9_TIMING \ 275772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1440x480i60_16_9, 1440, 38, 124, 114, true, \ 276464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 240, 4, 3, 15, true, 27000, 60000, true, true, HDMI_RES_AR_16_9, 0} 277772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p60_16_9_TIMING \ 278772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1920x1080p60_16_9, 1920, 88, 44, 148, false, \ 279464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1080, 4, 5, 36, false, 148500, 60000, false, true, HDMI_RES_AR_16_9, 0} 280772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576p50_4_3_TIMING \ 281772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_720x576p50_4_3, 720, 12, 64, 68, true, \ 282464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 576, 5, 5, 39, true, 27000, 50000, false, true, HDMI_RES_AR_4_3, 0} 283772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_720x576p50_16_9_TIMING \ 284772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_720x576p50_16_9, 720, 12, 64, 68, true, \ 285464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 576, 5, 5, 39, true, 27000, 50000, false, true, HDMI_RES_AR_16_9, 0} 286772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x720p50_16_9_TIMING \ 287772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1280x720p50_16_9, 1280, 440, 40, 220, false, \ 288464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 720, 5, 5, 20, false, 74250, 50000, false, true, HDMI_RES_AR_16_9, 0} 289772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x576i50_4_3_TIMING \ 290772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1440x576i50_4_3, 1440, 24, 126, 138, true, \ 291464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 288, 2, 3, 19, true, 27000, 50000, true, true, HDMI_RES_AR_4_3, 0} 292772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x576i50_16_9_TIMING \ 293772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1440x576i50_16_9, 1440, 24, 126, 138, true, \ 294464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 288, 2, 3, 19, true, 27000, 50000, true, true, HDMI_RES_AR_16_9, 0} 295772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p50_16_9_TIMING \ 296772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1920x1080p50_16_9, 1920, 528, 44, 148, false, \ 297464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1080, 4, 5, 36, false, 148500, 50000, false, true, HDMI_RES_AR_16_9, 0} 298772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p24_16_9_TIMING \ 299772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1920x1080p24_16_9, 1920, 638, 44, 148, false, \ 300464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1080, 4, 5, 36, false, 74250, 24000, false, true, HDMI_RES_AR_16_9, 0} 301772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p25_16_9_TIMING \ 302772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1920x1080p25_16_9, 1920, 528, 44, 148, false, \ 303464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1080, 4, 5, 36, false, 74250, 25000, false, true, HDMI_RES_AR_16_9, 0} 304772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1080p30_16_9_TIMING \ 305772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1920x1080p30_16_9, 1920, 88, 44, 148, false, \ 306464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1080, 4, 5, 36, false, 74250, 30000, false, true, HDMI_RES_AR_16_9, 0} 307772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1024x768p60_4_3_TIMING \ 308772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1024x768p60_4_3, 1024, 24, 136, 160, false, \ 309464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 768, 2, 6, 29, false, 65000, 60000, false, true, HDMI_RES_AR_4_3, 0} 310772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x1024p60_5_4_TIMING \ 311772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1280x1024p60_5_4, 1280, 48, 112, 248, false, \ 312464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1024, 1, 3, 38, false, 108000, 60000, false, true, HDMI_RES_AR_5_4, 0} 313772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_2560x1600p60_16_9_TIMING \ 314772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_2560x1600p60_16_9, 2560, 48, 32, 80, false, \ 315464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1600, 3, 6, 37, false, 268500, 60000, false, true, HDMI_RES_AR_16_9, 0} 316464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_EVFRMT_3840x2160p30_16_9_TIMING \ 317464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_EVFRMT_3840x2160p30_16_9, 3840, 176, 88, 296, false, \ 318464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 30000, false, true, \ 319464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_16_9, 0} 320464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_EVFRMT_3840x2160p25_16_9_TIMING \ 321464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_EVFRMT_3840x2160p25_16_9, 3840, 1056, 88, 296, false, \ 322464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 25000, false, true, \ 323464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_16_9, 0} 324464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_EVFRMT_3840x2160p24_16_9_TIMING \ 325464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_EVFRMT_3840x2160p24_16_9, 3840, 1276, 88, 296, false, \ 326464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 24000, false, true, \ 327464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_16_9, 0} 328464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_EVFRMT_4096x2160p24_16_9_TIMING \ 329464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_EVFRMT_4096x2160p24_16_9, 4096, 1020, 88, 296, false, \ 330464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 24000, false, true, \ 331464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_16_9, 0} 332772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 333772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_800x600p60_4_3_TIMING \ 334772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_800x600p60_4_3, 800, 40, 128, 88, false, \ 335464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 600, 1, 4, 23, false, 40000, 60000, false, true, HDMI_RES_AR_4_3, 0} 336772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_848x480p60_16_9_TIMING \ 337772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_848x480p60_16_9, 848, 16, 112, 112, false, \ 338464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 480, 6, 8, 23, false, 33750, 60000, false, true, HDMI_RES_AR_16_9, 0} 339772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x960p60_4_3_TIMING\ 340772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1280x960p60_4_3, 1280, 96, 112, 312, false, \ 341464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 960, 1, 3, 36, false, 108000, 60000, false, true, HDMI_RES_AR_4_3, 0} 342772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1360x768p60_16_9_TIMING\ 343772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1360x768p60_16_9, 1360, 64, 112, 256, false, \ 344464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 768, 3, 6, 18, false, 85500, 60000, false, true, HDMI_RES_AR_16_9, 0} 345772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1440x900p60_16_10_TIMING\ 346772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1440x900p60_16_10, 1440, 48, 32, 80, false, \ 347464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 900, 3, 6, 17, true, 88750, 60000, false, true, HDMI_RES_AR_16_10, 0} 348772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1400x1050p60_4_3_TIMING\ 349772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1400x1050p60_4_3, 1400, 48, 32, 80, false, \ 350464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1050, 3, 4, 23, true, 101000, 60000, false, true, HDMI_RES_AR_4_3, 0} 351772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1680x1050p60_16_10_TIMING\ 352772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1680x1050p60_16_10, 1680, 48, 32, 80, false, \ 353464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1050, 3, 6, 21, true, 119000, 60000, false, true, HDMI_RES_AR_16_10, 0} 354772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1600x1200p60_4_3_TIMING\ 355772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1600x1200p60_4_3, 1600, 64, 192, 304, false, \ 356464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1200, 1, 3, 46, false, 162000, 60000, false, true, HDMI_RES_AR_4_3, 0} 357772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1920x1200p60_16_10_TIMING\ 358772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1920x1200p60_16_10, 1920, 48, 32, 80, false,\ 359464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 1200, 3, 6, 26, true, 154000, 60000, false, true, HDMI_RES_AR_16_10, 0} 360772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1366x768p60_16_10_TIMING\ 361772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1366x768p60_16_10, 1366, 70, 143, 213, false,\ 362464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 768, 3, 3, 24, false, 85500, 60000, false, true, HDMI_RES_AR_16_10, 0} 363772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define HDMI_VFRMT_1280x800p60_16_10_TIMING\ 364772b7facf972926b14fe303d0348c200cb20a313Prashant Malani {HDMI_VFRMT_1280x800p60_16_10, 1280, 72, 128, 200, true,\ 365464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 800, 3, 6, 22, false, 83500, 60000, false, true, HDMI_RES_AR_16_10, 0} 366464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p24_16_9_TIMING \ 367464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_3840x2160p24_16_9, 3840, 1276, 88, 296, false, \ 368464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 24000, false, true, \ 369464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_16_9, 0} 370464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p25_16_9_TIMING \ 371464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_3840x2160p25_16_9, 3840, 1056, 88, 296, false, \ 372464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 25000, false, true, \ 373464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_16_9, 0} 374464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p30_16_9_TIMING \ 375464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_3840x2160p30_16_9, 3840, 176, 88, 296, false, \ 376464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 30000, false, true, \ 377464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_16_9, 0} 378464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p50_16_9_TIMING \ 379464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_3840x2160p50_16_9, 3840, 1056, 88, 296, false, \ 380464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 594000, 50000, false, true, \ 381464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_16_9, 0} 382464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p60_16_9_TIMING \ 383464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_3840x2160p60_16_9, 3840, 176, 88, 296, false, \ 384464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 594000, 60000, false, true, \ 385464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_16_9, 0} 386464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 387464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_4096x2160p24_256_135_TIMING \ 388464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_4096x2160p24_256_135, 4096, 1020, 88, 296, false, \ 389464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 24000, false, true, \ 390464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_256_135, 0} 391464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_4096x2160p25_256_135_TIMING \ 392464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_4096x2160p25_256_135, 4096, 968, 88, 128, false, \ 393464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 25000, false, true, \ 394464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_256_135, 0} 395464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_4096x2160p30_256_135_TIMING \ 396464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_4096x2160p30_256_135, 4096, 88, 88, 128, false, \ 397464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 30000, false, true, \ 398464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_256_135, 0} 399464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_4096x2160p50_256_135_TIMING \ 400464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_4096x2160p50_256_135, 4096, 968, 88, 128, false, \ 401464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 594000, 50000, false, true, \ 402464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_256_135, 0} 403464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_4096x2160p60_256_135_TIMING \ 404464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_4096x2160p60_256_135, 4096, 88, 88, 128, false, \ 405464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 594000, 60000, false, true, \ 406464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_256_135, 0} 407464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 408464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p24_64_27_TIMING \ 409464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_3840x2160p24_64_27, 3840, 1276, 88, 296, false, \ 410464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 24000, false, true, \ 411464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_64_27, 0} 412464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p25_64_27_TIMING \ 413464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_3840x2160p25_64_27, 3840, 1056, 88, 296, false, \ 414464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 25000, false, true, \ 415464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_64_27, 0} 416464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p30_64_27_TIMING \ 417464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_3840x2160p30_64_27, 3840, 176, 88, 296, false, \ 418464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 297000, 30000, false, true, \ 419464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_64_27, 0} 420464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p50_64_27_TIMING \ 421464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_3840x2160p50_64_27, 3840, 1056, 88, 296, false, \ 422464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 594000, 50000, false, true, \ 423464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_64_27, 0} 424464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define HDMI_VFRMT_3840x2160p60_64_27_TIMING \ 425464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry {HDMI_VFRMT_3840x2160p60_64_27, 3840, 176, 88, 296, false, \ 426464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 2160, 8, 10, 72, false, 594000, 60000, false, true, \ 427464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_RES_AR_64_27, 0} 428772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 429772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MSM_HDMI_MODES_SET_TIMING(LUT, MODE) do { \ 430772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct msm_hdmi_mode_timing_info mode = MODE##_TIMING; \ 431772b7facf972926b14fe303d0348c200cb20a313Prashant Malani LUT[MODE] = mode;\ 432772b7facf972926b14fe303d0348c200cb20a313Prashant Malani } while (0) 433772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 434772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MSM_HDMI_MODES_INIT_TIMINGS(__lut) \ 435772b7facf972926b14fe303d0348c200cb20a313Prashant Malanido { \ 436772b7facf972926b14fe303d0348c200cb20a313Prashant Malani unsigned int i; \ 437772b7facf972926b14fe303d0348c200cb20a313Prashant Malani for (i = 0; i < HDMI_VFRMT_MAX; i++) { \ 438772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct msm_hdmi_mode_timing_info mode = \ 439772b7facf972926b14fe303d0348c200cb20a313Prashant Malani VFRMT_NOT_SUPPORTED(i); \ 440772b7facf972926b14fe303d0348c200cb20a313Prashant Malani (__lut)[i] = mode; \ 441772b7facf972926b14fe303d0348c200cb20a313Prashant Malani } \ 442772b7facf972926b14fe303d0348c200cb20a313Prashant Malani} while (0) 443772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 444772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MSM_HDMI_MODES_SET_SUPP_TIMINGS(__lut, __type) \ 445772b7facf972926b14fe303d0348c200cb20a313Prashant Malanido { \ 446772b7facf972926b14fe303d0348c200cb20a313Prashant Malani if (__type & MSM_HDMI_MODES_CEA) { \ 447772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 448772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_640x480p60_4_3); \ 449772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 450772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_720x480p60_4_3); \ 451772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 452772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_720x480p60_16_9); \ 453772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 454772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1280x720p60_16_9); \ 455772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 456772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1920x1080i60_16_9); \ 457772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 458772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1440x480i60_4_3); \ 459772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 460772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1440x480i60_16_9); \ 461772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 462772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1920x1080p60_16_9); \ 463772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 464772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_720x576p50_4_3); \ 465772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 466772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_720x576p50_16_9); \ 467772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 468772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1280x720p50_16_9); \ 469772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 470772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1440x576i50_4_3); \ 471772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 472772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1440x576i50_16_9); \ 473772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 474772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1920x1080p50_16_9); \ 475772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 476772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1920x1080p24_16_9); \ 477772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 478772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1920x1080p25_16_9); \ 479772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 480772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1920x1080p30_16_9); \ 481464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 482464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_3840x2160p24_16_9); \ 483464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 484464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_3840x2160p25_16_9); \ 485464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 486464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_3840x2160p30_16_9); \ 487464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 488464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_3840x2160p50_16_9); \ 489464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 490464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_3840x2160p60_16_9); \ 491464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 492464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_4096x2160p24_256_135);\ 493464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 494464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_4096x2160p25_256_135);\ 495464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 496464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_4096x2160p30_256_135);\ 497464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 498464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_4096x2160p50_256_135);\ 499464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 500464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_4096x2160p60_256_135);\ 501464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 502464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_3840x2160p24_64_27); \ 503464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 504464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_3840x2160p25_64_27); \ 505464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 506464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_3840x2160p30_64_27); \ 507464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 508464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_3840x2160p50_64_27); \ 509464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_HDMI_MODES_SET_TIMING(__lut, \ 510464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_VFRMT_3840x2160p60_64_27); \ 511772b7facf972926b14fe303d0348c200cb20a313Prashant Malani } \ 512772b7facf972926b14fe303d0348c200cb20a313Prashant Malani if (__type & MSM_HDMI_MODES_XTND) { \ 513772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 514464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_EVFRMT_3840x2160p30_16_9); \ 515772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 516464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_EVFRMT_3840x2160p25_16_9); \ 517772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 518464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_EVFRMT_3840x2160p24_16_9); \ 519772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 520464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry HDMI_EVFRMT_4096x2160p24_16_9); \ 521772b7facf972926b14fe303d0348c200cb20a313Prashant Malani } \ 522772b7facf972926b14fe303d0348c200cb20a313Prashant Malani if (__type & MSM_HDMI_MODES_DVI) { \ 523772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 524772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1024x768p60_4_3); \ 525772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 526772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1280x1024p60_5_4); \ 527772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 528772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_2560x1600p60_16_9); \ 529772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 530772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_800x600p60_4_3); \ 531772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 532772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_848x480p60_16_9); \ 533772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 534772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1280x960p60_4_3); \ 535772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 536772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1360x768p60_16_9); \ 537772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 538772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1440x900p60_16_10); \ 539772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 540772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1400x1050p60_4_3); \ 541772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 542772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1680x1050p60_16_10); \ 543772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 544772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1600x1200p60_4_3); \ 545772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 546772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1920x1200p60_16_10); \ 547772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 548772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1366x768p60_16_10); \ 549772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_HDMI_MODES_SET_TIMING(__lut, \ 550772b7facf972926b14fe303d0348c200cb20a313Prashant Malani HDMI_VFRMT_1280x800p60_16_10); \ 551772b7facf972926b14fe303d0348c200cb20a313Prashant Malani } \ 552772b7facf972926b14fe303d0348c200cb20a313Prashant Malani} while (0) 553772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 554464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define MSM_HDMI_MODES_GET_DETAILS(mode, MODE) do { \ 555464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct msm_hdmi_mode_timing_info info = MODE##_TIMING; \ 556464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry *mode = info; \ 557464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry } while (0) 558464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 559772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#endif /* _UAPI_MSM_HDMI_MODES_H__ */ 560