ODROID-COMMON: hdmitx: Add new hdmi resolution.

3840x1080p50hz

Change-Id: I1f1deb6d2e6a45000284f7d5b150deeeb74d11fb
This commit is contained in:
Chris
2021-08-05 17:53:49 +09:00
parent 21e4b47954
commit 44a7c003fa
6 changed files with 97 additions and 0 deletions

View File

@@ -2775,6 +2775,54 @@ static struct hdmi_format_para fmt_para_vesa_3440x1440p60_43x18 = {
},
};
static struct hdmi_format_para fmt_para_vesa_3840x1080p50_32x9 = {
.vic = HDMIV_3840x1080p50hz,
.name = "3840x1080p50hz",
.sname = "3840x1080p50hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
.tmds_clk_div40 = 0,
.tmds_clk = 221000,
.timing = {
.pixel_freq = 221000,
.frac_freq = 221000,
.h_freq = 55250,
.v_freq = 50000,
.vsync_polarity = 1, /* -VSync */
.hsync_polarity = 1, /* +HSync */
.h_active = 3840,
.h_total = 4000,
.h_blank = 160,
.h_front = 48,
.h_sync = 10,
.h_back = 102,
.v_active = 1080,
.v_total = 1106,
.v_blank = 26,
.v_front = 3,
.v_sync = 10,
.v_back = 13,
.v_sync_ln = 1,
},
.hdmitx_vinfo = {
.name = "3840x1080p50hz",
.mode = VMODE_HDMI,
.width = 3840,
.height = 1080,
.field_height = 1080,
.aspect_ratio_num = 32,
.aspect_ratio_den = 9,
.sync_duration_num = 50,
.sync_duration_den = 1,
.video_clk = 221000000,
.htotal = 4000,
.vtotal = 1106,
.viu_color_fmt = COLOR_FMT_YUV444,
.viu_mux = VIU_MUX_ENCP,
},
};
static struct hdmi_format_para fmt_para_custombuilt = {
.vic = HDMI_CUSTOMBUILT,
.name = "custombuilt",
@@ -2901,6 +2949,7 @@ static struct hdmi_format_para *all_fmt_paras[] = {
&fmt_para_vesa_2560x1600p60_8x5,
&fmt_para_vesa_2560x1440p60_16x9,
&fmt_para_vesa_3440x1440p60_43x18,
&fmt_para_vesa_3840x1080p50_32x9,
&fmt_para_custombuilt,
&fmt_para_null_hdmi_fmt,
&fmt_para_non_hdmi_fmt,

View File

@@ -2611,6 +2611,7 @@ static struct dispmode_vic dispmode_vic_tab[] = {
{"2560x1440p60hz", HDMIV_2560x1440p60hz},
{"2560x1600p60hz", HDMIV_2560x1600p60hz},
{"3440x1440p60hz", HDMIV_3440x1440p60hz},
{"3840x1080p50hz", HDMIV_3840x1080p50hz},
{"custombuilt", HDMI_CUSTOMBUILT},
};

View File

@@ -1415,6 +1415,32 @@ static const struct reg_s tvregs_vesa_3440x1440p60hz[] = {
{MREG_END_MARKER, 0},
};
static const struct reg_s tvregs_vesa_3840x1080p50hz[] = {
{P_VENC_VDAC_SETTING, 0xff,},
{P_ENCP_VIDEO_EN, 0,},
{P_ENCI_VIDEO_EN, 0,},
{P_ENCP_VIDEO_MODE, 0x4040,},
{P_ENCP_VIDEO_MODE_ADV, 0x18,},
{P_ENCP_VIDEO_MAX_PXCNT, 3999,},
{P_ENCP_VIDEO_MAX_LNCNT, 1105,},
{P_ENCP_VIDEO_HAVON_BEGIN, 102,},
{P_ENCP_VIDEO_HAVON_END, 3941,},
{P_ENCP_VIDEO_VAVON_BLINE, 13,},
{P_ENCP_VIDEO_VAVON_ELINE, 1092,},
{P_ENCP_VIDEO_HSO_BEGIN, 0,},
{P_ENCP_VIDEO_HSO_END, 10,},
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
{P_ENCP_VIDEO_VSO_END, 0x32,},
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
{P_ENCP_VIDEO_VSO_ELINE, 10,},
{P_ENCP_VIDEO_EN, 1,},
{P_ENCI_VIDEO_EN, 0,},
{MREG_END_MARKER, 0},
};
#if 0 /* TODO */
static const struct reg_s tvregs_vesa_2560x1080p60hz[] = {
{P_ENCP_VIDEO_EN, 0,},
@@ -1560,6 +1586,7 @@ static struct vic_tvregs_set tvregsTab[] = {
{HDMIV_2560x1600p60hz, tvregs_vesa_2560x1600p60hz},
{HDMIV_2560x1440p60hz, tvregs_vesa_2560x1440p60hz},
{HDMIV_3440x1440p60hz, tvregs_vesa_3440x1440p60hz},
{HDMIV_3840x1080p50hz, tvregs_vesa_3840x1080p50hz},
};
/*

View File

@@ -1773,6 +1773,22 @@ static void hdmi_tvenc_set(struct hdmitx_vidpara *param)
SOF_LINES = 28;
TOTAL_FRAMES = 4;
break;
case HDMIV_3840x1080p50hz:
INTERLACE_MODE = 0U;
PIXEL_REPEAT_VENC = 0;
PIXEL_REPEAT_HDMI = 0;
ACTIVE_PIXELS = (3840*(1+PIXEL_REPEAT_HDMI));
ACTIVE_LINES = (1080/(1+INTERLACE_MODE));
LINES_F0 = 1106;
LINES_F1 = 1106;
FRONT_PORCH = 44;
HSYNC_PIXELS = 10;
BACK_PORCH = 102;
EOF_LINES = 3;
VSYNC_LINES = 10;
SOF_LINES = 13;
TOTAL_FRAMES = 4;
break;
case HDMI_CUSTOMBUILT:
custom_timing = get_custom_timing();
INTERLACE_MODE = 0U;

View File

@@ -896,6 +896,9 @@ static struct hw_enc_clk_val_group setting_enc_clk_val_24[] = {
{{HDMIV_3440x1440p60hz,
HDMI_VIC_END},
3197500, 1, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
{{HDMIV_3840x1080p50hz,
HDMI_VIC_END},
2210000, 2, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
{{HDMI_CUSTOMBUILT,
HDMI_VIC_END},
/* default 1080p60hz */

View File

@@ -210,6 +210,7 @@ enum hdmi_vic {
HDMIV_2560x1440p60hz,
HDMIV_2560x1600p60hz,
HDMIV_3440x1440p60hz,
HDMIV_3840x1080p50hz,
HDMI_CUSTOMBUILT,
HDMI_VIC_END,
};