summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatenda Chipeperekwa <tatendac@codeaurora.org>2016-03-15 10:47:02 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-04-06 10:24:48 -0700
commitc5262ae279fed93c15b81797f9505a379dc3709a (patch)
treed1eae6b4ecb30aaad2b0614ce0d5fb835ca3a3bc
parent720feee3c36eee21cdebf79cd98fae3e80e0c064 (diff)
platform: msm_shared: add support for HDMI 4K 60fps mode
Add support to select and configure 4K 60fps mode for HDMI. Change-Id: Ia7bf3546c4711e359774b31d915ee8159dc87a7a
-rw-r--r--platform/msm_shared/mdss_hdmi.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/platform/msm_shared/mdss_hdmi.c b/platform/msm_shared/mdss_hdmi.c
index a44e909d..f1e23a92 100644
--- a/platform/msm_shared/mdss_hdmi.c
+++ b/platform/msm_shared/mdss_hdmi.c
@@ -99,6 +99,10 @@ static struct hdmi_msm_audio_arcs hdmi_audio_acr_lut[] = {
HDMI_MSM_AUDIO_ARCS(297000, {
{3072, 222750}, {4704, 247500}, {5120, 247500}, {9408, 247500},
{10240, 247500}, {18816, 247500}, {20480, 247500} }),
+ /* 594.000MHz */
+ HDMI_MSM_AUDIO_ARCS(594000, {{3072, 445500}, {9408, 990000}, {6144, 594000},
+ {18816, 990000}, {12288, 594000}, {37632, 990000},
+ {24576, 594000} } ),
};
extern int msm_display_init(struct msm_fb_panel_data *pdata);
@@ -171,7 +175,8 @@ enum edid_data_block_type {
#define HDMI_VFRMT_3840x2160p25_64_27 104
#define HDMI_VFRMT_3840x2160p30_64_27 105
#define HDMI_EVFRMT_4096x2160p24_16_9 131
-#define HDMI_VFRMT_COUNT 10
+#define HDMI_VFRMT_4096x2160p60_256_135 102
+#define HDMI_VFRMT_COUNT 11
#define HDMI_VFRMT_END 127
#define HDMI_VSDB_3D_EVF_DATA_OFFSET(vsd) \
(!((vsd)[8] & BIT(7)) ? 9 : (!((vsd)[8] & BIT(6)) ? 11 : 13))
@@ -304,6 +309,11 @@ struct mdss_hdmi_timing_info {
2160, 8, 10, 72, false, 297000, 30000, false, true, \
HDMI_RES_AR_64_27}
+#define HDMI_VFRMT_4096x2160p60_256_135_TIMING \
+ {HDMI_VFRMT_4096x2160p60_256_135, 4096, 88, 88, 128, false, \
+ 2160, 8, 10, 72, false, 594000, 60000, false, true, \
+ HDMI_RES_AR_256_135}
+
#define MSM_HDMI_MODES_GET_DETAILS(mode, MODE) do { \
struct mdss_hdmi_timing_info info = MODE##_TIMING; \
*mode = info; \
@@ -355,6 +365,10 @@ static inline int mdss_hdmi_get_timing_info(
MSM_HDMI_MODES_GET_DETAILS(mode, HDMI_VFRMT_3840x2160p30_64_27);
break;
+ case HDMI_VFRMT_4096x2160p60_256_135:
+ MSM_HDMI_MODES_GET_DETAILS(mode, HDMI_VFRMT_4096x2160p60_256_135);
+ break;
+
default:
ret = ERROR;
}