Skip to content

Commit

Permalink
Merge pull request hardkernel#29 from yan-wyb/khadas-vims-4.9.y
Browse files Browse the repository at this point in the history
Add new resolution supports
  • Loading branch information
numbqq authored Sep 28, 2020
2 parents c83a182 + b850c46 commit d4ffa18
Show file tree
Hide file tree
Showing 9 changed files with 569 additions and 59 deletions.
1 change: 1 addition & 0 deletions arch/arm/boot/dts/amlogic/partition_mbox_normal_P_64.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
*/

#include "firmware_normal.dtsi"
#include "firmware_system.dtsi"

/ {
partitions: partitions{
Expand Down
210 changes: 186 additions & 24 deletions drivers/amlogic/media/vout/hdmitx/hdmi_common/hdmi_parameters.c
Original file line number Diff line number Diff line change
Expand Up @@ -1432,7 +1432,7 @@ static struct hdmi_format_para fmt_para_2560x1080p50_64x27 = {
},
};

static struct hdmi_format_para fmt_para_2560x1080p60_64x27 = {
static struct hdmi_format_para fmt_para_vesa_2560x1080p60_64x27 = {
.vic = HDMI_2560x1080p60_64x27,
.name = "2560x1080p60hz",
.sname = "2560x1080p60hz",
Expand Down Expand Up @@ -1485,14 +1485,15 @@ static struct hdmi_format_para fmt_para_2560x1080p60_64x27 = {
static struct hdmi_format_para fmt_para_vesa_640x480p60_4x3 = {
.vic = HDMIV_640x480p60hz,
.name = "640x480p60hz",
.sname = "640x480p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
.tmds_clk_div40 = 0,
.tmds_clk = 25175,
.timing = {
.pixel_freq = 25175,
.h_freq = 26218,
.h_freq = 31469,
.v_freq = 59940,
.vsync = 60,
.vsync_polarity = 0,
Expand Down Expand Up @@ -1533,6 +1534,7 @@ static struct hdmi_format_para fmt_para_vesa_640x480p60_4x3 = {
static struct hdmi_format_para fmt_para_vesa_800x480p60_4x3 = {
.vic = HDMIV_800x480p60hz,
.name = "800x480p60hz",
.sname = "800x480p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
Expand Down Expand Up @@ -1578,16 +1580,66 @@ static struct hdmi_format_para fmt_para_vesa_800x480p60_4x3 = {
},
};

static struct hdmi_format_para fmt_para_vesa_1280x480p60_8x3 = {
.vic = HDMIV_1280x480p60hz,
.name = "1280x480p60hz",
.sname = "1280x480p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
.tmds_clk_div40 = 0,
.tmds_clk = 43200,
.timing = {
.pixel_freq = 43200,
.h_freq = 30000,
.v_freq = 60000,
.vsync_polarity = 1,
.hsync_polarity = 1,
.h_active = 1280,
.h_total = 1440,
.h_blank = 160,
.h_front = 48,
.h_sync = 32,
.h_back = 80,
.v_active = 480,
.v_total = 500,
.v_blank = 20,
.v_front = 3,
.v_sync = 7,
.v_back = 10,
.v_sync_ln = 1,
},
.hdmitx_vinfo = {
.name = "1280x480p60hz",
.mode = VMODE_HDMI,
.width = 1280,
.height = 480,
.field_height = 480,
.aspect_ratio_num = 8,
.aspect_ratio_den = 3,
.sync_duration_num = 60,
.sync_duration_den = 1,
.video_clk = 43200000,
.htotal = 1440,
.vtotal = 500,
.fr_adj_type = VOUT_FR_ADJ_HDMI,
.viu_color_fmt = COLOR_FMT_YUV444,
.viu_mux = VIU_MUX_ENCP,
},
};


static struct hdmi_format_para fmt_para_vesa_800x600p60_4x3 = {
.vic = HDMIV_800x600p60hz,
.name = "800x600p60hz",
.sname = "800x600p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
.tmds_clk_div40 = 0,
.tmds_clk = 40000,
.timing = {
.pixel_freq = 66666,
.pixel_freq = 40000,
.h_freq = 37879,
.v_freq = 60317,
.vsync = 60,
Expand Down Expand Up @@ -1617,7 +1669,7 @@ static struct hdmi_format_para fmt_para_vesa_800x600p60_4x3 = {
.aspect_ratio_den = 3,
.sync_duration_num = 60,
.sync_duration_den = 1,
.video_clk = 66666000,
.video_clk = 40000000,
.htotal = 1056,
.vtotal = 628,
.fr_adj_type = VOUT_FR_ADJ_HDMI,
Expand Down Expand Up @@ -1677,6 +1729,7 @@ static struct hdmi_format_para fmt_para_vesa_852x480p60_213x120 = {
static struct hdmi_format_para fmt_para_vesa_854x480p60_427x240 = {
.vic = HDMIV_854x480p60hz,
.name = "854x480p60hz",
.sname = "1024x600p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
Expand Down Expand Up @@ -1725,6 +1778,7 @@ static struct hdmi_format_para fmt_para_vesa_854x480p60_427x240 = {
static struct hdmi_format_para fmt_para_vesa_1024x600p60_17x10 = {
.vic = HDMIV_1024x600p60hz,
.name = "1024x600p60hz",
.sname = "1024x768p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
Expand Down Expand Up @@ -1773,13 +1827,14 @@ static struct hdmi_format_para fmt_para_vesa_1024x600p60_17x10 = {
static struct hdmi_format_para fmt_para_vesa_1024x768p60_4x3 = {
.vic = HDMIV_1024x768p60hz,
.name = "1024x768p60hz",
.sname = "1024x768p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
.tmds_clk_div40 = 0,
.tmds_clk = 79500,
.tmds_clk = 65000,
.timing = {
.pixel_freq = 79500,
.pixel_freq = 65000,
.h_freq = 48360,
.v_freq = 60004,
.vsync = 60,
Expand Down Expand Up @@ -1809,7 +1864,7 @@ static struct hdmi_format_para fmt_para_vesa_1024x768p60_4x3 = {
.aspect_ratio_den = 3,
.sync_duration_num = 60,
.sync_duration_den = 1,
.video_clk = 79500000,
.video_clk = 65000000,
.htotal = 1344,
.vtotal = 806,
.fr_adj_type = VOUT_FR_ADJ_HDMI,
Expand Down Expand Up @@ -1868,6 +1923,7 @@ static struct hdmi_format_para fmt_para_vesa_1152x864p75_4x3 = {
static struct hdmi_format_para fmt_para_vesa_1280x768p60_5x3 = {
.vic = HDMIV_1280x768p60hz,
.name = "1280x768p60hz",
.sname = "1280x800p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
Expand Down Expand Up @@ -2010,14 +2066,15 @@ static struct hdmi_format_para fmt_para_vesa_1280x960p60_4x3 = {
static struct hdmi_format_para fmt_para_vesa_1280x1024p60_5x4 = {
.vic = HDMIV_1280x1024p60hz,
.name = "1280x1024p60hz",
.sname = "1360x768p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
.tmds_clk_div40 = 0,
.tmds_clk = 108000,
.timing = {
.pixel_freq = 108000,
.h_freq = 64080,
.h_freq = 63981,
.v_freq = 60020,
.vsync = 60,
.vsync_polarity = 1,
Expand Down Expand Up @@ -2202,6 +2259,7 @@ static struct hdmi_format_para fmt_para_vesa_1400x1050p60_4x3 = {
static struct hdmi_format_para fmt_para_vesa_1440x900p60_8x5 = {
.vic = HDMIV_1440x900p60hz,
.name = "1440x900p60hz",
.sname = "1440x900p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
Expand Down Expand Up @@ -2296,9 +2354,106 @@ static struct hdmi_format_para fmt_para_vesa_1440x2560p60_9x16 = {
},
};

static struct hdmi_format_para fmt_para_vesa_2560x1440p60_16x9 = {
.vic = HDMIV_2560x1440p60hz,
.name = "2560x1440p60hz",
.sname = "2560x1440p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
.tmds_clk_div40 = 0,
.tmds_clk = 241500,
.timing = {
.pixel_freq = 241500,
.h_freq = 88790,
.v_freq = 60000,
.vsync = 60,
.vsync_polarity = 1,
.hsync_polarity = 1,
.h_active = 2560,
.h_total = 2720,
.h_blank = 160,
.h_front = 48,
.h_sync = 32,
.h_back = 80,
.v_active = 1440,
.v_total = 1481,
.v_blank = 41,
.v_front = 2,
.v_sync = 5,
.v_back = 34,
.v_sync_ln = 1,
},
.hdmitx_vinfo = {
.name = "2560x1440p60hz",
.mode = VMODE_HDMI,
.width = 2560,
.height = 1440,
.field_height = 1440,
.aspect_ratio_num = 16,
.aspect_ratio_den = 9,
.sync_duration_num = 60,
.sync_duration_den = 1,
.video_clk = 241500000,
.htotal = 2720,
.vtotal = 1481,
.viu_color_fmt = COLOR_FMT_YUV444,
.viu_mux = VIU_MUX_ENCP,
},
};

static struct hdmi_format_para fmt_para_vesa_480x320p60_4x3 = {
.vic = HDMIV_480x320p60hz,
.name = "480x320p60hz",
.sname = "480x320p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
.tmds_clk_div40 = 0,
.tmds_clk = 25200,
.timing = {
.pixel_freq = 25200,
.frac_freq = 25200,
.h_freq = 31500,
.v_freq = 60000,
.vsync_polarity = 0, /* -VSync */
.hsync_polarity = 0, /* -HSync */
.h_active = 480,
.h_total = 800,
.h_blank = 320,
.h_front = 120,
.h_sync = 100,
.h_back = 100,
.v_active = 320,
.v_total = 525,
.v_blank = 205,
.v_front = 8,
.v_sync = 8,
.v_back = 189,
.v_sync_ln = 1,
},
.hdmitx_vinfo = {
.name = "480x320p60hz",
.mode = VMODE_HDMI,
.width = 480,
.height = 320,
.field_height = 320,
.aspect_ratio_num = 4,
.aspect_ratio_den = 3,
.sync_duration_num = 60,
.sync_duration_den = 1,
.video_clk = 25200000,
.htotal = 800,
.vtotal = 525,
.viu_color_fmt = COLOR_FMT_YUV444,
.viu_mux = VIU_MUX_ENCP,
},
};

static struct hdmi_format_para fmt_para_vesa_1600x900p60_16x9 = {
.vic = HDMIV_1600x900p60hz,
.name = "1600x900p60hz",
.sname = "1600x900p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
Expand Down Expand Up @@ -2347,6 +2502,7 @@ static struct hdmi_format_para fmt_para_vesa_1600x900p60_16x9 = {
static struct hdmi_format_para fmt_para_vesa_1600x1200p60_4x3 = {
.vic = HDMIV_1600x1200p60hz,
.name = "1600x1200p60hz",
.sname = "1600x1200p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
Expand Down Expand Up @@ -2395,30 +2551,31 @@ static struct hdmi_format_para fmt_para_vesa_1600x1200p60_4x3 = {
static struct hdmi_format_para fmt_para_vesa_1680x1050p60_8x5 = {
.vic = HDMIV_1680x1050p60hz,
.name = "1680x1050p60hz",
.sname = "1680x1050p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
.tmds_clk_div40 = 0,
.tmds_clk = 146250,
.tmds_clk = 119000,
.timing = {
.pixel_freq = 146250,
.h_freq = 65340,
.v_freq = 59954,
.pixel_freq = 119000,
.h_freq = 64673,
.v_freq = 59883,
.vsync = 60,
.vsync_polarity = 1,
.hsync_polarity = 1,
.h_active = 1680,
.h_total = 2240,
.h_blank = 560,
.h_front = 104,
.h_sync = 176,
.h_back = 280,
.h_total = 1840,
.h_blank = 160,
.h_front = 48,
.h_sync = 32,
.h_back = 80,
.v_active = 1050,
.v_total = 1089,
.v_blank = 39,
.v_total = 1080,
.v_blank = 30,
.v_front = 3,
.v_sync = 6,
.v_back = 30,
.v_back = 21,
.v_sync_ln = 1,
},
.hdmitx_vinfo = {
Expand All @@ -2431,9 +2588,9 @@ static struct hdmi_format_para fmt_para_vesa_1680x1050p60_8x5 = {
.aspect_ratio_den = 5,
.sync_duration_num = 60,
.sync_duration_den = 1,
.video_clk = 146250000,
.htotal = 2240,
.vtotal = 1089,
.video_clk = 119000000,
.htotal = 1840,
.vtotal = 1080,
.fr_adj_type = VOUT_FR_ADJ_HDMI,
.viu_color_fmt = COLOR_FMT_YUV444,
.viu_mux = VIU_MUX_ENCP,
Expand All @@ -2443,6 +2600,7 @@ static struct hdmi_format_para fmt_para_vesa_1680x1050p60_8x5 = {
static struct hdmi_format_para fmt_para_vesa_1920x1200p60_8x5 = {
.vic = HDMIV_1920x1200p60hz,
.name = "1920x1200p60hz",
.sname = "1920x1200p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
Expand Down Expand Up @@ -2539,6 +2697,7 @@ static struct hdmi_format_para fmt_para_vesa_2160x1200p90_9x5 = {
static struct hdmi_format_para fmt_para_vesa_2560x1600p60_8x5 = {
.vic = HDMIV_2560x1600p60hz,
.name = "2560x1600p60hz",
.sname = "2560x1600p60hz",
.pixel_repetition_factor = 0,
.progress_mode = 1,
.scrambler_en = 0,
Expand Down Expand Up @@ -2613,9 +2772,12 @@ static struct hdmi_format_para *all_fmt_paras[] = {
&fmt_para_3840x2160p50_16x9_y420,
&fmt_para_4096x2160p50_256x135_y420,
&fmt_para_2560x1080p50_64x27,
&fmt_para_2560x1080p60_64x27,
&fmt_para_vesa_2560x1080p60_64x27,
&fmt_para_vesa_2560x1440p60_16x9,
&fmt_para_vesa_480x320p60_4x3,
&fmt_para_vesa_640x480p60_4x3,
&fmt_para_vesa_800x480p60_4x3,
&fmt_para_vesa_1280x480p60_8x3,
&fmt_para_vesa_800x600p60_4x3,
&fmt_para_vesa_852x480p60_213x120,
&fmt_para_vesa_854x480p60_427x240,
Expand Down
Loading

0 comments on commit d4ffa18

Please sign in to comment.