Skip to content

Commit d4ffa18

Browse files
authored
Merge pull request #29 from yan-wyb/khadas-vims-4.9.y
Add new resolution supports
2 parents c83a182 + b850c46 commit d4ffa18

9 files changed

Lines changed: 569 additions & 59 deletions

File tree

arch/arm/boot/dts/amlogic/partition_mbox_normal_P_64.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*/
99

1010
#include "firmware_normal.dtsi"
11+
#include "firmware_system.dtsi"
1112

1213
/ {
1314
partitions: partitions{

drivers/amlogic/media/vout/hdmitx/hdmi_common/hdmi_parameters.c

Lines changed: 186 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1432,7 +1432,7 @@ static struct hdmi_format_para fmt_para_2560x1080p50_64x27 = {
14321432
},
14331433
};
14341434

1435-
static struct hdmi_format_para fmt_para_2560x1080p60_64x27 = {
1435+
static struct hdmi_format_para fmt_para_vesa_2560x1080p60_64x27 = {
14361436
.vic = HDMI_2560x1080p60_64x27,
14371437
.name = "2560x1080p60hz",
14381438
.sname = "2560x1080p60hz",
@@ -1485,14 +1485,15 @@ static struct hdmi_format_para fmt_para_2560x1080p60_64x27 = {
14851485
static struct hdmi_format_para fmt_para_vesa_640x480p60_4x3 = {
14861486
.vic = HDMIV_640x480p60hz,
14871487
.name = "640x480p60hz",
1488+
.sname = "640x480p60hz",
14881489
.pixel_repetition_factor = 0,
14891490
.progress_mode = 1,
14901491
.scrambler_en = 0,
14911492
.tmds_clk_div40 = 0,
14921493
.tmds_clk = 25175,
14931494
.timing = {
14941495
.pixel_freq = 25175,
1495-
.h_freq = 26218,
1496+
.h_freq = 31469,
14961497
.v_freq = 59940,
14971498
.vsync = 60,
14981499
.vsync_polarity = 0,
@@ -1533,6 +1534,7 @@ static struct hdmi_format_para fmt_para_vesa_640x480p60_4x3 = {
15331534
static struct hdmi_format_para fmt_para_vesa_800x480p60_4x3 = {
15341535
.vic = HDMIV_800x480p60hz,
15351536
.name = "800x480p60hz",
1537+
.sname = "800x480p60hz",
15361538
.pixel_repetition_factor = 0,
15371539
.progress_mode = 1,
15381540
.scrambler_en = 0,
@@ -1578,16 +1580,66 @@ static struct hdmi_format_para fmt_para_vesa_800x480p60_4x3 = {
15781580
},
15791581
};
15801582

1583+
static struct hdmi_format_para fmt_para_vesa_1280x480p60_8x3 = {
1584+
.vic = HDMIV_1280x480p60hz,
1585+
.name = "1280x480p60hz",
1586+
.sname = "1280x480p60hz",
1587+
.pixel_repetition_factor = 0,
1588+
.progress_mode = 1,
1589+
.scrambler_en = 0,
1590+
.tmds_clk_div40 = 0,
1591+
.tmds_clk = 43200,
1592+
.timing = {
1593+
.pixel_freq = 43200,
1594+
.h_freq = 30000,
1595+
.v_freq = 60000,
1596+
.vsync_polarity = 1,
1597+
.hsync_polarity = 1,
1598+
.h_active = 1280,
1599+
.h_total = 1440,
1600+
.h_blank = 160,
1601+
.h_front = 48,
1602+
.h_sync = 32,
1603+
.h_back = 80,
1604+
.v_active = 480,
1605+
.v_total = 500,
1606+
.v_blank = 20,
1607+
.v_front = 3,
1608+
.v_sync = 7,
1609+
.v_back = 10,
1610+
.v_sync_ln = 1,
1611+
},
1612+
.hdmitx_vinfo = {
1613+
.name = "1280x480p60hz",
1614+
.mode = VMODE_HDMI,
1615+
.width = 1280,
1616+
.height = 480,
1617+
.field_height = 480,
1618+
.aspect_ratio_num = 8,
1619+
.aspect_ratio_den = 3,
1620+
.sync_duration_num = 60,
1621+
.sync_duration_den = 1,
1622+
.video_clk = 43200000,
1623+
.htotal = 1440,
1624+
.vtotal = 500,
1625+
.fr_adj_type = VOUT_FR_ADJ_HDMI,
1626+
.viu_color_fmt = COLOR_FMT_YUV444,
1627+
.viu_mux = VIU_MUX_ENCP,
1628+
},
1629+
};
1630+
1631+
15811632
static struct hdmi_format_para fmt_para_vesa_800x600p60_4x3 = {
15821633
.vic = HDMIV_800x600p60hz,
15831634
.name = "800x600p60hz",
1635+
.sname = "800x600p60hz",
15841636
.pixel_repetition_factor = 0,
15851637
.progress_mode = 1,
15861638
.scrambler_en = 0,
15871639
.tmds_clk_div40 = 0,
15881640
.tmds_clk = 40000,
15891641
.timing = {
1590-
.pixel_freq = 66666,
1642+
.pixel_freq = 40000,
15911643
.h_freq = 37879,
15921644
.v_freq = 60317,
15931645
.vsync = 60,
@@ -1617,7 +1669,7 @@ static struct hdmi_format_para fmt_para_vesa_800x600p60_4x3 = {
16171669
.aspect_ratio_den = 3,
16181670
.sync_duration_num = 60,
16191671
.sync_duration_den = 1,
1620-
.video_clk = 66666000,
1672+
.video_clk = 40000000,
16211673
.htotal = 1056,
16221674
.vtotal = 628,
16231675
.fr_adj_type = VOUT_FR_ADJ_HDMI,
@@ -1677,6 +1729,7 @@ static struct hdmi_format_para fmt_para_vesa_852x480p60_213x120 = {
16771729
static struct hdmi_format_para fmt_para_vesa_854x480p60_427x240 = {
16781730
.vic = HDMIV_854x480p60hz,
16791731
.name = "854x480p60hz",
1732+
.sname = "1024x600p60hz",
16801733
.pixel_repetition_factor = 0,
16811734
.progress_mode = 1,
16821735
.scrambler_en = 0,
@@ -1725,6 +1778,7 @@ static struct hdmi_format_para fmt_para_vesa_854x480p60_427x240 = {
17251778
static struct hdmi_format_para fmt_para_vesa_1024x600p60_17x10 = {
17261779
.vic = HDMIV_1024x600p60hz,
17271780
.name = "1024x600p60hz",
1781+
.sname = "1024x768p60hz",
17281782
.pixel_repetition_factor = 0,
17291783
.progress_mode = 1,
17301784
.scrambler_en = 0,
@@ -1773,13 +1827,14 @@ static struct hdmi_format_para fmt_para_vesa_1024x600p60_17x10 = {
17731827
static struct hdmi_format_para fmt_para_vesa_1024x768p60_4x3 = {
17741828
.vic = HDMIV_1024x768p60hz,
17751829
.name = "1024x768p60hz",
1830+
.sname = "1024x768p60hz",
17761831
.pixel_repetition_factor = 0,
17771832
.progress_mode = 1,
17781833
.scrambler_en = 0,
17791834
.tmds_clk_div40 = 0,
1780-
.tmds_clk = 79500,
1835+
.tmds_clk = 65000,
17811836
.timing = {
1782-
.pixel_freq = 79500,
1837+
.pixel_freq = 65000,
17831838
.h_freq = 48360,
17841839
.v_freq = 60004,
17851840
.vsync = 60,
@@ -1809,7 +1864,7 @@ static struct hdmi_format_para fmt_para_vesa_1024x768p60_4x3 = {
18091864
.aspect_ratio_den = 3,
18101865
.sync_duration_num = 60,
18111866
.sync_duration_den = 1,
1812-
.video_clk = 79500000,
1867+
.video_clk = 65000000,
18131868
.htotal = 1344,
18141869
.vtotal = 806,
18151870
.fr_adj_type = VOUT_FR_ADJ_HDMI,
@@ -1868,6 +1923,7 @@ static struct hdmi_format_para fmt_para_vesa_1152x864p75_4x3 = {
18681923
static struct hdmi_format_para fmt_para_vesa_1280x768p60_5x3 = {
18691924
.vic = HDMIV_1280x768p60hz,
18701925
.name = "1280x768p60hz",
1926+
.sname = "1280x800p60hz",
18711927
.pixel_repetition_factor = 0,
18721928
.progress_mode = 1,
18731929
.scrambler_en = 0,
@@ -2010,14 +2066,15 @@ static struct hdmi_format_para fmt_para_vesa_1280x960p60_4x3 = {
20102066
static struct hdmi_format_para fmt_para_vesa_1280x1024p60_5x4 = {
20112067
.vic = HDMIV_1280x1024p60hz,
20122068
.name = "1280x1024p60hz",
2069+
.sname = "1360x768p60hz",
20132070
.pixel_repetition_factor = 0,
20142071
.progress_mode = 1,
20152072
.scrambler_en = 0,
20162073
.tmds_clk_div40 = 0,
20172074
.tmds_clk = 108000,
20182075
.timing = {
20192076
.pixel_freq = 108000,
2020-
.h_freq = 64080,
2077+
.h_freq = 63981,
20212078
.v_freq = 60020,
20222079
.vsync = 60,
20232080
.vsync_polarity = 1,
@@ -2202,6 +2259,7 @@ static struct hdmi_format_para fmt_para_vesa_1400x1050p60_4x3 = {
22022259
static struct hdmi_format_para fmt_para_vesa_1440x900p60_8x5 = {
22032260
.vic = HDMIV_1440x900p60hz,
22042261
.name = "1440x900p60hz",
2262+
.sname = "1440x900p60hz",
22052263
.pixel_repetition_factor = 0,
22062264
.progress_mode = 1,
22072265
.scrambler_en = 0,
@@ -2296,9 +2354,106 @@ static struct hdmi_format_para fmt_para_vesa_1440x2560p60_9x16 = {
22962354
},
22972355
};
22982356

2357+
static struct hdmi_format_para fmt_para_vesa_2560x1440p60_16x9 = {
2358+
.vic = HDMIV_2560x1440p60hz,
2359+
.name = "2560x1440p60hz",
2360+
.sname = "2560x1440p60hz",
2361+
.pixel_repetition_factor = 0,
2362+
.progress_mode = 1,
2363+
.scrambler_en = 0,
2364+
.tmds_clk_div40 = 0,
2365+
.tmds_clk = 241500,
2366+
.timing = {
2367+
.pixel_freq = 241500,
2368+
.h_freq = 88790,
2369+
.v_freq = 60000,
2370+
.vsync = 60,
2371+
.vsync_polarity = 1,
2372+
.hsync_polarity = 1,
2373+
.h_active = 2560,
2374+
.h_total = 2720,
2375+
.h_blank = 160,
2376+
.h_front = 48,
2377+
.h_sync = 32,
2378+
.h_back = 80,
2379+
.v_active = 1440,
2380+
.v_total = 1481,
2381+
.v_blank = 41,
2382+
.v_front = 2,
2383+
.v_sync = 5,
2384+
.v_back = 34,
2385+
.v_sync_ln = 1,
2386+
},
2387+
.hdmitx_vinfo = {
2388+
.name = "2560x1440p60hz",
2389+
.mode = VMODE_HDMI,
2390+
.width = 2560,
2391+
.height = 1440,
2392+
.field_height = 1440,
2393+
.aspect_ratio_num = 16,
2394+
.aspect_ratio_den = 9,
2395+
.sync_duration_num = 60,
2396+
.sync_duration_den = 1,
2397+
.video_clk = 241500000,
2398+
.htotal = 2720,
2399+
.vtotal = 1481,
2400+
.viu_color_fmt = COLOR_FMT_YUV444,
2401+
.viu_mux = VIU_MUX_ENCP,
2402+
},
2403+
};
2404+
2405+
static struct hdmi_format_para fmt_para_vesa_480x320p60_4x3 = {
2406+
.vic = HDMIV_480x320p60hz,
2407+
.name = "480x320p60hz",
2408+
.sname = "480x320p60hz",
2409+
.pixel_repetition_factor = 0,
2410+
.progress_mode = 1,
2411+
.scrambler_en = 0,
2412+
.tmds_clk_div40 = 0,
2413+
.tmds_clk = 25200,
2414+
.timing = {
2415+
.pixel_freq = 25200,
2416+
.frac_freq = 25200,
2417+
.h_freq = 31500,
2418+
.v_freq = 60000,
2419+
.vsync_polarity = 0, /* -VSync */
2420+
.hsync_polarity = 0, /* -HSync */
2421+
.h_active = 480,
2422+
.h_total = 800,
2423+
.h_blank = 320,
2424+
.h_front = 120,
2425+
.h_sync = 100,
2426+
.h_back = 100,
2427+
.v_active = 320,
2428+
.v_total = 525,
2429+
.v_blank = 205,
2430+
.v_front = 8,
2431+
.v_sync = 8,
2432+
.v_back = 189,
2433+
.v_sync_ln = 1,
2434+
},
2435+
.hdmitx_vinfo = {
2436+
.name = "480x320p60hz",
2437+
.mode = VMODE_HDMI,
2438+
.width = 480,
2439+
.height = 320,
2440+
.field_height = 320,
2441+
.aspect_ratio_num = 4,
2442+
.aspect_ratio_den = 3,
2443+
.sync_duration_num = 60,
2444+
.sync_duration_den = 1,
2445+
.video_clk = 25200000,
2446+
.htotal = 800,
2447+
.vtotal = 525,
2448+
.viu_color_fmt = COLOR_FMT_YUV444,
2449+
.viu_mux = VIU_MUX_ENCP,
2450+
},
2451+
};
2452+
22992453
static struct hdmi_format_para fmt_para_vesa_1600x900p60_16x9 = {
23002454
.vic = HDMIV_1600x900p60hz,
23012455
.name = "1600x900p60hz",
2456+
.sname = "1600x900p60hz",
23022457
.pixel_repetition_factor = 0,
23032458
.progress_mode = 1,
23042459
.scrambler_en = 0,
@@ -2347,6 +2502,7 @@ static struct hdmi_format_para fmt_para_vesa_1600x900p60_16x9 = {
23472502
static struct hdmi_format_para fmt_para_vesa_1600x1200p60_4x3 = {
23482503
.vic = HDMIV_1600x1200p60hz,
23492504
.name = "1600x1200p60hz",
2505+
.sname = "1600x1200p60hz",
23502506
.pixel_repetition_factor = 0,
23512507
.progress_mode = 1,
23522508
.scrambler_en = 0,
@@ -2395,30 +2551,31 @@ static struct hdmi_format_para fmt_para_vesa_1600x1200p60_4x3 = {
23952551
static struct hdmi_format_para fmt_para_vesa_1680x1050p60_8x5 = {
23962552
.vic = HDMIV_1680x1050p60hz,
23972553
.name = "1680x1050p60hz",
2554+
.sname = "1680x1050p60hz",
23982555
.pixel_repetition_factor = 0,
23992556
.progress_mode = 1,
24002557
.scrambler_en = 0,
24012558
.tmds_clk_div40 = 0,
2402-
.tmds_clk = 146250,
2559+
.tmds_clk = 119000,
24032560
.timing = {
2404-
.pixel_freq = 146250,
2405-
.h_freq = 65340,
2406-
.v_freq = 59954,
2561+
.pixel_freq = 119000,
2562+
.h_freq = 64673,
2563+
.v_freq = 59883,
24072564
.vsync = 60,
24082565
.vsync_polarity = 1,
24092566
.hsync_polarity = 1,
24102567
.h_active = 1680,
2411-
.h_total = 2240,
2412-
.h_blank = 560,
2413-
.h_front = 104,
2414-
.h_sync = 176,
2415-
.h_back = 280,
2568+
.h_total = 1840,
2569+
.h_blank = 160,
2570+
.h_front = 48,
2571+
.h_sync = 32,
2572+
.h_back = 80,
24162573
.v_active = 1050,
2417-
.v_total = 1089,
2418-
.v_blank = 39,
2574+
.v_total = 1080,
2575+
.v_blank = 30,
24192576
.v_front = 3,
24202577
.v_sync = 6,
2421-
.v_back = 30,
2578+
.v_back = 21,
24222579
.v_sync_ln = 1,
24232580
},
24242581
.hdmitx_vinfo = {
@@ -2431,9 +2588,9 @@ static struct hdmi_format_para fmt_para_vesa_1680x1050p60_8x5 = {
24312588
.aspect_ratio_den = 5,
24322589
.sync_duration_num = 60,
24332590
.sync_duration_den = 1,
2434-
.video_clk = 146250000,
2435-
.htotal = 2240,
2436-
.vtotal = 1089,
2591+
.video_clk = 119000000,
2592+
.htotal = 1840,
2593+
.vtotal = 1080,
24372594
.fr_adj_type = VOUT_FR_ADJ_HDMI,
24382595
.viu_color_fmt = COLOR_FMT_YUV444,
24392596
.viu_mux = VIU_MUX_ENCP,
@@ -2443,6 +2600,7 @@ static struct hdmi_format_para fmt_para_vesa_1680x1050p60_8x5 = {
24432600
static struct hdmi_format_para fmt_para_vesa_1920x1200p60_8x5 = {
24442601
.vic = HDMIV_1920x1200p60hz,
24452602
.name = "1920x1200p60hz",
2603+
.sname = "1920x1200p60hz",
24462604
.pixel_repetition_factor = 0,
24472605
.progress_mode = 1,
24482606
.scrambler_en = 0,
@@ -2539,6 +2697,7 @@ static struct hdmi_format_para fmt_para_vesa_2160x1200p90_9x5 = {
25392697
static struct hdmi_format_para fmt_para_vesa_2560x1600p60_8x5 = {
25402698
.vic = HDMIV_2560x1600p60hz,
25412699
.name = "2560x1600p60hz",
2700+
.sname = "2560x1600p60hz",
25422701
.pixel_repetition_factor = 0,
25432702
.progress_mode = 1,
25442703
.scrambler_en = 0,
@@ -2613,9 +2772,12 @@ static struct hdmi_format_para *all_fmt_paras[] = {
26132772
&fmt_para_3840x2160p50_16x9_y420,
26142773
&fmt_para_4096x2160p50_256x135_y420,
26152774
&fmt_para_2560x1080p50_64x27,
2616-
&fmt_para_2560x1080p60_64x27,
2775+
&fmt_para_vesa_2560x1080p60_64x27,
2776+
&fmt_para_vesa_2560x1440p60_16x9,
2777+
&fmt_para_vesa_480x320p60_4x3,
26172778
&fmt_para_vesa_640x480p60_4x3,
26182779
&fmt_para_vesa_800x480p60_4x3,
2780+
&fmt_para_vesa_1280x480p60_8x3,
26192781
&fmt_para_vesa_800x600p60_4x3,
26202782
&fmt_para_vesa_852x480p60_213x120,
26212783
&fmt_para_vesa_854x480p60_427x240,

0 commit comments

Comments
 (0)