mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
media: hdmitx: add new hdmi resolutions
Change-Id: I909abfcfd408d1b3014ba7b9b750903e10e06aa6
This commit is contained in:
@@ -1333,6 +1333,871 @@ static struct hdmi_format_para fmt_para_4096x2160p60_256x135_y420 = {
|
||||
},
|
||||
};
|
||||
|
||||
/* new display modes for odroid-n2 */
|
||||
static struct hdmi_format_para fmt_para_2560x1600p60_8x5 = {
|
||||
.vic = HDMI_2560x1600p60_8x5,
|
||||
.name = "2560x1600p60hz",
|
||||
.sname = "2560x1600p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 268500,
|
||||
.timing = {
|
||||
.pixel_freq = 268500,
|
||||
.frac_freq = 268500,
|
||||
.h_freq = 98700,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 0,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 2560,
|
||||
.h_total = 2720,
|
||||
.h_blank = 160,
|
||||
.h_front = 48,
|
||||
.h_sync = 32,
|
||||
.h_back = 80,
|
||||
.v_active = 1600,
|
||||
.v_total = 1646,
|
||||
.v_blank = 46,
|
||||
.v_front = 3,
|
||||
.v_sync = 6,
|
||||
.v_back = 38,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "2560x1600p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 2560,
|
||||
.height = 1600,
|
||||
.field_height = 1600,
|
||||
.aspect_ratio_num = 8,
|
||||
.aspect_ratio_den = 5,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 268500000,
|
||||
.htotal = 2720,
|
||||
.vtotal = 1646,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_2560x1440p60_16x9 = {
|
||||
.vic = HDMI_2560x1440p60_16x9,
|
||||
.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,
|
||||
.frac_freq = 241500,
|
||||
.h_freq = 98700,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 0,
|
||||
.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_2560x1080p60_64x27 = {
|
||||
.vic = HDMI_2560x1080p60_64x27,
|
||||
.name = "2560x1080p60hz",
|
||||
.sname = "2560x1080p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 185580,
|
||||
.timing = {
|
||||
.pixel_freq = 185580,
|
||||
.frac_freq = 185580,
|
||||
.h_freq = 66659,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 0,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 2560,
|
||||
.h_total = 2784,
|
||||
.h_blank = 224,
|
||||
.h_front = 64,
|
||||
.h_sync = 64,
|
||||
.h_back = 96,
|
||||
.v_active = 1080,
|
||||
.v_total = 1111,
|
||||
.v_blank = 31,
|
||||
.v_front = 3,
|
||||
.v_sync = 10,
|
||||
.v_back = 18,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "2560x1080p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 2560,
|
||||
.height = 1080,
|
||||
.field_height = 1080,
|
||||
.aspect_ratio_num = 64,
|
||||
.aspect_ratio_den = 27,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 185580000,
|
||||
.htotal = 2784,
|
||||
.vtotal = 1111,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_1920x1200p60_8x5 = {
|
||||
.vic = HDMI_1920x1200p60_8x5,
|
||||
.name = "1920x1200p60hz",
|
||||
.sname = "1920x1200p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 154000,
|
||||
.timing = {
|
||||
.pixel_freq = 154000,
|
||||
.frac_freq = 154000,
|
||||
.h_freq = 74040,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 0,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 1920,
|
||||
.h_total = 2080,
|
||||
.h_blank = 160,
|
||||
.h_front = 48,
|
||||
.h_sync = 32,
|
||||
.h_back = 80,
|
||||
.v_active = 1200,
|
||||
.v_total = 1235,
|
||||
.v_blank = 35,
|
||||
.v_front = 3,
|
||||
.v_sync = 6,
|
||||
.v_back = 26,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "1920x1200p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 1920,
|
||||
.height = 1200,
|
||||
.field_height = 1200,
|
||||
.aspect_ratio_num = 8,
|
||||
.aspect_ratio_den = 5,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 154000000,
|
||||
.htotal = 2080,
|
||||
.vtotal = 1235,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_1680x1050p60_8x5 = {
|
||||
.vic = HDMI_1680x1050p60_8x5,
|
||||
.name = "1680x1050p60hz",
|
||||
.sname = "1680x1050p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 146250,
|
||||
.timing = {
|
||||
.pixel_freq = 146250,
|
||||
.frac_freq = 146250,
|
||||
.h_freq = 65340,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 1,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 1680,
|
||||
.h_total = 2240,
|
||||
.h_blank = 560,
|
||||
.h_front = 104,
|
||||
.h_sync = 176,
|
||||
.h_back = 280,
|
||||
.v_active = 1050,
|
||||
.v_total = 1089,
|
||||
.v_blank = 39,
|
||||
.v_front = 3,
|
||||
.v_sync = 6,
|
||||
.v_back = 30,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "1680x1050p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 1680,
|
||||
.height = 1050,
|
||||
.field_height = 1050,
|
||||
.aspect_ratio_num = 8,
|
||||
.aspect_ratio_den = 5,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 146250000,
|
||||
.htotal = 2240,
|
||||
.vtotal = 1089,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_1600x1200p60_4x3 = {
|
||||
.vic = HDMI_1600x1200p60_4x3,
|
||||
.name = "1600x1200p60hz",
|
||||
.sname = "1600x1200p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 156000,
|
||||
.timing = {
|
||||
.pixel_freq = 156000,
|
||||
.frac_freq = 156000,
|
||||
.h_freq = 76200,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 0,
|
||||
.hsync_polarity = 0,
|
||||
.h_active = 1600,
|
||||
.h_total = 2048,
|
||||
.h_blank = 448,
|
||||
.h_front = 32,
|
||||
.h_sync = 160,
|
||||
.h_back = 256,
|
||||
.v_active = 1200,
|
||||
.v_total = 1270,
|
||||
.v_blank = 70,
|
||||
.v_front = 10,
|
||||
.v_sync = 8,
|
||||
.v_back = 52,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "1600x1200p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 1600,
|
||||
.height = 1200,
|
||||
.field_height = 1200,
|
||||
.aspect_ratio_num = 4,
|
||||
.aspect_ratio_den = 3,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 156000000,
|
||||
.htotal = 2048,
|
||||
.vtotal = 1270,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_1600x900p60_16x9 = {
|
||||
.vic = HDMI_1600x900p60_16x9,
|
||||
.name = "1600x900p60hz",
|
||||
.sname = "1600x900p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 108000,
|
||||
.timing = {
|
||||
.pixel_freq = 108000,
|
||||
.frac_freq = 108000,
|
||||
.h_freq = 60000,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 1,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 1600,
|
||||
.h_total = 1800,
|
||||
.h_blank = 200,
|
||||
.h_front = 24,
|
||||
.h_sync = 80,
|
||||
.h_back = 96,
|
||||
.v_active = 900,
|
||||
.v_total = 1000,
|
||||
.v_blank = 100,
|
||||
.v_front = 1,
|
||||
.v_sync = 3,
|
||||
.v_back = 96,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "1600x900p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 1600,
|
||||
.height = 900,
|
||||
.field_height = 900,
|
||||
.aspect_ratio_num = 16,
|
||||
.aspect_ratio_den = 9,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 108000000,
|
||||
.htotal = 1800,
|
||||
.vtotal = 1000,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_1440x900p60_8x5 = {
|
||||
.vic = HDMI_1440x900p60_8x5,
|
||||
.name = "1440x900p60hz",
|
||||
.sname = "1440x900p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 106500,
|
||||
.timing = {
|
||||
.pixel_freq = 106500,
|
||||
.frac_freq = 106500,
|
||||
.h_freq = 56040,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 1,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 1440,
|
||||
.h_total = 1904,
|
||||
.h_blank = 464,
|
||||
.h_front = 80,
|
||||
.h_sync = 152,
|
||||
.h_back = 232,
|
||||
.v_active = 900,
|
||||
.v_total = 934,
|
||||
.v_blank = 34,
|
||||
.v_front = 3,
|
||||
.v_sync = 6,
|
||||
.v_back = 25,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "1440x900p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 1440,
|
||||
.height = 900,
|
||||
.field_height = 900,
|
||||
.aspect_ratio_num = 8,
|
||||
.aspect_ratio_den = 5,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 106500000,
|
||||
.htotal = 1904,
|
||||
.vtotal = 934,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_1360x768p60_16x9 = {
|
||||
.vic = HDMI_1360x768p60_16x9,
|
||||
.name = "1360x768p60hz",
|
||||
.sname = "1360x768p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 85500,
|
||||
.timing = {
|
||||
.pixel_freq = 85500,
|
||||
.frac_freq = 85500,
|
||||
.h_freq = 47700,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 1,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 1360,
|
||||
.h_total = 1792,
|
||||
.h_blank = 432,
|
||||
.h_front = 64,
|
||||
.h_sync = 112,
|
||||
.h_back = 256,
|
||||
.v_active = 768,
|
||||
.v_total = 795,
|
||||
.v_blank = 27,
|
||||
.v_front = 3,
|
||||
.v_sync = 6,
|
||||
.v_back = 18,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "1360x768p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 1360,
|
||||
.height = 768,
|
||||
.field_height = 768,
|
||||
.aspect_ratio_num = 16,
|
||||
.aspect_ratio_den = 9,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 85500000,
|
||||
.htotal = 1792,
|
||||
.vtotal = 795,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_1280x1024p60_5x4 = {
|
||||
.vic = HDMI_1280x1024p60_5x4,
|
||||
.name = "1280x1024p60hz",
|
||||
.sname = "1280x1024p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 108000,
|
||||
.timing = {
|
||||
.pixel_freq = 108000,
|
||||
.frac_freq = 108000,
|
||||
.h_freq = 64080,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 1,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 1280,
|
||||
.h_total = 1688,
|
||||
.h_blank = 408,
|
||||
.h_front = 48,
|
||||
.h_sync = 112,
|
||||
.h_back = 248,
|
||||
.v_active = 1024,
|
||||
.v_total = 1068,
|
||||
.v_blank = 42,
|
||||
.v_front = 1,
|
||||
.v_sync = 3,
|
||||
.v_back = 38,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "1280x1024p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 1280,
|
||||
.height = 1024,
|
||||
.field_height = 1024,
|
||||
.aspect_ratio_num = 5,
|
||||
.aspect_ratio_den = 4,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 108000000,
|
||||
.htotal = 1688,
|
||||
.vtotal = 1068,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_1280x800p60_8x5 = {
|
||||
.vic = HDMI_1280x800p60_8x5,
|
||||
.name = "1280x800p60hz",
|
||||
.sname = "1280x800p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 83500,
|
||||
.timing = {
|
||||
.pixel_freq = 83500,
|
||||
.frac_freq = 83500,
|
||||
.h_freq = 49380,
|
||||
.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 = 800,
|
||||
.v_total = 823,
|
||||
.v_blank = 23,
|
||||
.v_front = 3,
|
||||
.v_sync = 6,
|
||||
.v_back = 14,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "1280x800p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 1280,
|
||||
.height = 800,
|
||||
.field_height = 800,
|
||||
.aspect_ratio_num = 8,
|
||||
.aspect_ratio_den = 5,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 83500000,
|
||||
.htotal = 1440,
|
||||
.vtotal = 823,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_1024x768p60_4x3 = {
|
||||
.vic = HDMI_1024x768p60_4x3,
|
||||
.name = "1024x768p60hz",
|
||||
.sname = "1024x768p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 79500,
|
||||
.timing = {
|
||||
.pixel_freq = 79500,
|
||||
.frac_freq = 79500,
|
||||
.h_freq = 48360,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 1,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 1024,
|
||||
.h_total = 1344,
|
||||
.h_blank = 320,
|
||||
.h_front = 24,
|
||||
.h_sync = 136,
|
||||
.h_back = 160,
|
||||
.v_active = 768,
|
||||
.v_total = 806,
|
||||
.v_blank = 38,
|
||||
.v_front = 3,
|
||||
.v_sync = 6,
|
||||
.v_back = 29,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "1024x768p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 1024,
|
||||
.height = 768,
|
||||
.field_height = 768,
|
||||
.aspect_ratio_num = 4,
|
||||
.aspect_ratio_den = 3,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 79500000,
|
||||
.htotal = 1344,
|
||||
.vtotal = 806,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_1024x600p60_16x9 = {
|
||||
.vic = HDMI_1024x600p60_16x9,
|
||||
.name = "1024x600p60hz",
|
||||
.sname = "1024x600p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 50400,
|
||||
.timing = {
|
||||
.pixel_freq = 50400,
|
||||
.frac_freq = 50400,
|
||||
.h_freq = 38280,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 1,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 1024,
|
||||
.h_total = 1344,
|
||||
.h_blank = 320,
|
||||
.h_front = 24,
|
||||
.h_sync = 136,
|
||||
.h_back = 160,
|
||||
.v_active = 600,
|
||||
.v_total = 638,
|
||||
.v_blank = 38,
|
||||
.v_front = 3,
|
||||
.v_sync = 6,
|
||||
.v_back = 29,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "1024x600p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 1024,
|
||||
.height = 600,
|
||||
.field_height = 600,
|
||||
.aspect_ratio_num = 16,
|
||||
.aspect_ratio_den = 9,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 50400000,
|
||||
.htotal = 1344,
|
||||
.vtotal = 638,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_800x600p60_4x3 = {
|
||||
.vic = HDMI_800x600p60_4x3,
|
||||
.name = "800x600p60hz",
|
||||
.sname = "800x600p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 39790,
|
||||
.timing = {
|
||||
.pixel_freq = 39790,
|
||||
.frac_freq = 39790,
|
||||
.h_freq = 37879,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 1,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 800,
|
||||
.h_total = 1056,
|
||||
.h_blank = 256,
|
||||
.h_front = 40,
|
||||
.h_sync = 128,
|
||||
.h_back = 88,
|
||||
.v_active = 600,
|
||||
.v_total = 628,
|
||||
.v_blank = 28,
|
||||
.v_front = 1,
|
||||
.v_sync = 4,
|
||||
.v_back = 23,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "800x600p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 800,
|
||||
.height = 600,
|
||||
.field_height = 600,
|
||||
.aspect_ratio_num = 4,
|
||||
.aspect_ratio_den = 3,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 40000000,
|
||||
.htotal = 1056,
|
||||
.vtotal = 628,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_800x480p60_5x3 = {
|
||||
.vic = HDMI_800x480p60_5x3,
|
||||
.name = "800x480p60hz",
|
||||
.sname = "800x480p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 29760,
|
||||
.timing = {
|
||||
.pixel_freq = 29760,
|
||||
.frac_freq = 29760,
|
||||
.h_freq = 30000,
|
||||
.v_freq = 60000,
|
||||
.vsync_polarity = 1,
|
||||
.hsync_polarity = 1,
|
||||
.h_active = 800,
|
||||
.h_total = 992,
|
||||
.h_blank = 192,
|
||||
.h_front = 24,
|
||||
.h_sync = 72,
|
||||
.h_back = 96,
|
||||
.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 = "800x480p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 800,
|
||||
.height = 480,
|
||||
.field_height = 480,
|
||||
.aspect_ratio_num = 5,
|
||||
.aspect_ratio_den = 3,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 29760000,
|
||||
.htotal = 992,
|
||||
.vtotal = 500,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_640x480p60_4x3 = {
|
||||
.vic = HDMI_640x480p60_4x3,
|
||||
.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,
|
||||
.frac_freq = 25175,
|
||||
.h_freq = 26218,
|
||||
.v_freq = 59940,
|
||||
.vsync_polarity = 0,
|
||||
.hsync_polarity = 0,
|
||||
.h_active = 640,
|
||||
.h_total = 800,
|
||||
.h_blank = 160,
|
||||
.h_front = 16,
|
||||
.h_sync = 96,
|
||||
.h_back = 48,
|
||||
.v_active = 480,
|
||||
.v_total = 525,
|
||||
.v_blank = 45,
|
||||
.v_front = 10,
|
||||
.v_sync = 2,
|
||||
.v_back = 33,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "640x480p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 640,
|
||||
.height = 480,
|
||||
.field_height = 480,
|
||||
.aspect_ratio_num = 4,
|
||||
.aspect_ratio_den = 3,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 25175000,
|
||||
.htotal = 800,
|
||||
.vtotal = 525,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_480x320p60_4x3 = {
|
||||
.vic = HDMI_480x320p60_4x3,
|
||||
.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_480x800p60_4x3 = {
|
||||
.vic = HDMI_480x800p60_4x3,
|
||||
.name = "480x800p60hz",
|
||||
.sname = "480x800p60hz",
|
||||
.pixel_repetition_factor = 0,
|
||||
.progress_mode = 1,
|
||||
.scrambler_en = 0,
|
||||
.tmds_clk_div40 = 0,
|
||||
.tmds_clk = 32000,
|
||||
.timing = {
|
||||
.pixel_freq = 32000,
|
||||
.frac_freq = 32000,
|
||||
.h_freq = 52600,
|
||||
.v_freq = 62300,
|
||||
.vsync_polarity = 0,
|
||||
.hsync_polarity = 0,
|
||||
.h_active = 480,
|
||||
.h_total = 608,
|
||||
.h_blank = 128,
|
||||
.h_front = 40,
|
||||
.h_sync = 48,
|
||||
.h_back = 40,
|
||||
.v_active = 800,
|
||||
.v_total = 845,
|
||||
.v_blank = 45,
|
||||
.v_front = 13,
|
||||
.v_sync = 3,
|
||||
.v_back = 29,
|
||||
.v_sync_ln = 1,
|
||||
},
|
||||
.hdmitx_vinfo = {
|
||||
.name = "480x800p60hz",
|
||||
.mode = VMODE_HDMI,
|
||||
.width = 480,
|
||||
.height = 800,
|
||||
.field_height = 800,
|
||||
.aspect_ratio_num = 4,
|
||||
.aspect_ratio_den = 3,
|
||||
.sync_duration_num = 60,
|
||||
.sync_duration_den = 1,
|
||||
.video_clk = 32000000,
|
||||
.htotal = 608,
|
||||
.vtotal = 845,
|
||||
.viu_color_fmt = COLOR_FMT_YUV444,
|
||||
.viu_mux = VIU_MUX_ENCP,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmi_format_para fmt_para_non_hdmi_fmt = {
|
||||
.vic = HDMI_Unknown,
|
||||
.name = "invalid",
|
||||
@@ -1415,6 +2280,24 @@ static struct hdmi_format_para *all_fmt_paras[] = {
|
||||
&fmt_para_4096x2160p60_256x135_y420,
|
||||
&fmt_para_3840x2160p50_16x9_y420,
|
||||
&fmt_para_4096x2160p50_256x135_y420,
|
||||
&fmt_para_2560x1600p60_8x5,
|
||||
&fmt_para_2560x1440p60_16x9,
|
||||
&fmt_para_2560x1080p60_64x27,
|
||||
&fmt_para_1920x1200p60_8x5,
|
||||
&fmt_para_1680x1050p60_8x5,
|
||||
&fmt_para_1600x1200p60_4x3,
|
||||
&fmt_para_1600x900p60_16x9,
|
||||
&fmt_para_1440x900p60_8x5,
|
||||
&fmt_para_1360x768p60_16x9,
|
||||
&fmt_para_1280x1024p60_5x4,
|
||||
&fmt_para_1280x800p60_8x5,
|
||||
&fmt_para_1024x768p60_4x3,
|
||||
&fmt_para_1024x600p60_16x9,
|
||||
&fmt_para_800x600p60_4x3,
|
||||
&fmt_para_800x480p60_5x3,
|
||||
&fmt_para_640x480p60_4x3,
|
||||
&fmt_para_480x320p60_4x3,
|
||||
&fmt_para_480x800p60_4x3,
|
||||
&fmt_para_null_hdmi_fmt,
|
||||
&fmt_para_non_hdmi_fmt,
|
||||
NULL,
|
||||
|
||||
@@ -2176,7 +2176,24 @@ static struct dispmode_vic dispmode_vic_tab[] = {
|
||||
{"smpte60hz", HDMI_4096x2160p60_256x135},
|
||||
{"2160p60hz", HDMI_4k2k_60},
|
||||
{"2160p50hz", HDMI_4k2k_50},
|
||||
|
||||
{"2560x1600p60hz", HDMI_2560x1600p60_8x5},
|
||||
{"2560x1440p60hz", HDMI_2560x1440p60_16x9},
|
||||
{"2560x1080p60hz", HDMI_2560x1080p60_64x27},
|
||||
{"1920x1200p60hz", HDMI_1920x1200p60_8x5},
|
||||
{"1680x1050p60hz", HDMI_1680x1050p60_8x5},
|
||||
{"1600x1200p60hz", HDMI_1600x1200p60_4x3},
|
||||
{"1600x900p60hz", HDMI_1600x900p60_16x9},
|
||||
{"1440x900p60hz", HDMI_1440x900p60_8x5},
|
||||
{"1360x768p60hz", HDMI_1360x768p60_16x9},
|
||||
{"1280x1024p60hz", HDMI_1280x1024p60_5x4},
|
||||
{"1280x800p60hz", HDMI_1280x800p60_8x5},
|
||||
{"1024x768p60hz", HDMI_1024x768p60_4x3},
|
||||
{"1024x600p60hz", HDMI_1024x600p60_16x9},
|
||||
{"800x600p60hz", HDMI_800x600p60_4x3},
|
||||
{"800x480p60hz", HDMI_800x480p60_5x3},
|
||||
{"640x480p60hz", HDMI_640x480p60_4x3},
|
||||
{"480x320p60hz", HDMI_480x320p60_4x3},
|
||||
{"480x800p60hz", HDMI_480x800p60_4x3},
|
||||
};
|
||||
|
||||
int hdmitx_edid_VIC_support(enum hdmi_vic vic)
|
||||
|
||||
@@ -490,6 +490,204 @@ static struct hdmitx_vidpara hdmi_tx_video_params[] = {
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_2560x1600p60_8x5,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_2560x1440p60_16x9,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = TV_ASPECT_RATIO_16_9,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_2560x1080p60_64x27,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_1920x1200p60_8x5,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_1680x1050p60_8x5,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_1600x1200p60_4x3,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = TV_ASPECT_RATIO_4_3,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_1600x900p60_16x9,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = TV_ASPECT_RATIO_16_9,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_1440x900p60_8x5,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_1360x768p60_16x9,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = TV_ASPECT_RATIO_16_9,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_1280x1024p60_5x4,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_1280x800p60_8x5,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_1024x768p60_4x3,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_1024x600p60_16x9,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = TV_ASPECT_RATIO_16_9,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_800x600p60_4x3,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_800x480p60_5x3,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_640x480p60_4x3,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_480x320p60_4x3,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
{
|
||||
.VIC = HDMI_480x800p60_4x3,
|
||||
.color_prefer = COLORSPACE_RGB444,
|
||||
.color_depth = COLORDEPTH_24B,
|
||||
.bar_info = B_BAR_VERT_HORIZ,
|
||||
.repeat_time = NO_REPEAT,
|
||||
.aspect_ratio = ASPECT_RATIO_SAME_AS_SOURCE,
|
||||
.cc = CC_ITU709,
|
||||
.ss = SS_SCAN_UNDER,
|
||||
.sc = SC_SCALE_HORIZ_VERT,
|
||||
},
|
||||
};
|
||||
|
||||
static struct hdmitx_vidpara *hdmi_get_video_param(
|
||||
|
||||
@@ -687,6 +687,470 @@ static const struct reg_s tvregs_4k2k_smpte_60hz[] = {
|
||||
{P_ENCI_VIDEO_EN, 0},
|
||||
{MREG_END_MARKER, 0},
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_2560x1600p_60hz[] = {
|
||||
{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, 2719,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 1645,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 80,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 2639,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 38,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 1637,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 32,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x6,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0},
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_2560x1440p_60hz[] = {
|
||||
{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, 2719,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 1480,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 80,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 2639,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 34,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 1473,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 32,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x5,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0},
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_2560x1080p_60hz[] = {
|
||||
{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, 2783,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 1110,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 96,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 2655,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 18,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 1097,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 64,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0xa,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0},
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_1920x1200p_60hz[] = {
|
||||
{P_ENCP_VIDEO_EN, 0,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{P_VENC_VDAC_SETTING, 0xff,},
|
||||
|
||||
{P_ENCP_VIDEO_MODE, 0x4040,},
|
||||
{P_ENCP_VIDEO_MODE_ADV, 0x18,},
|
||||
{P_ENCP_VIDEO_MAX_PXCNT, 2079,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 1234,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 112,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 2031,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 32,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 1231,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 48,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 6,},
|
||||
|
||||
{P_ENCP_DACSEL_0, 0x0543,},
|
||||
{P_ENCP_DACSEL_1, 0x0000,},
|
||||
{P_ENCI_VIDEO_EN, 0},
|
||||
{P_ENCP_VIDEO_EN, 1},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_1680x1050p_60hz[] = {
|
||||
{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, 0x8BF,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x440,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x1C8,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x857,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x24,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x43D,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0xB0,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x6,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_1600x1200p_60hz[] = {
|
||||
{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, 0x7FF,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x4F5,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x1A0,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x7DF,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x3C,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x4EB,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0xA0,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x8,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_1600x900p_60hz[] = {
|
||||
{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, 0x707,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x3E7,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0xB0,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x6EF,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x63,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x3E6,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x50,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x3,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_1440x900p_60hz[] = {
|
||||
{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, 0x76F,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x3A5,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x180,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x71F,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x1F,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x3A2,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x98,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x6,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_1360x768p_60hz[] = {
|
||||
{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, 0x6FF,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x31A,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x170,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x6BF,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x18,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x317,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x70,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x6,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_1280x1024p_60hz[] = {
|
||||
{P_ENCP_VIDEO_EN, 0,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{P_VENC_VDAC_SETTING, 0xff,},
|
||||
|
||||
{P_ENCP_VIDEO_MODE, 0x4040,},
|
||||
{P_ENCP_VIDEO_MODE_ADV, 0x18,},
|
||||
{P_ENCP_VIDEO_MAX_PXCNT, 0x697,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x429,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x168,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x667,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x29,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x428,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x70,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x3,},
|
||||
|
||||
{P_ENCI_VIDEO_EN, 0},
|
||||
{P_ENCP_VIDEO_EN, 1},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_1280x800p_60hz[] = {
|
||||
{P_ENCP_VIDEO_EN, 0,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{P_VENC_VDAC_SETTING, 0xff,},
|
||||
|
||||
{P_ENCP_VIDEO_MODE, 0x4040,},
|
||||
{P_ENCP_VIDEO_MODE_ADV, 0x18,},
|
||||
{P_ENCP_VIDEO_MAX_PXCNT, 0x59F,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x336,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x70,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x56F,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x14,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x333,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x20,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x6,},
|
||||
|
||||
{P_ENCI_VIDEO_EN, 0},
|
||||
{P_ENCP_VIDEO_EN, 1},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_1024x768p_60hz[] = {
|
||||
{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, 0x53F,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x325,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x128,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x527,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x23,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x322,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x88,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x6,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_1024x600p_60hz[] = {
|
||||
{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, 0x53F,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x27D,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x128,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x527,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x23,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x27A,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x88,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x6,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_800x600p_60hz[] = {
|
||||
{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, 0x41F,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x273,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0xD8,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x3F7,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x1B,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x272,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x80,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x4,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_800x480p_60hz[] = {
|
||||
{P_ENCP_VIDEO_EN, 0},
|
||||
{P_ENCI_VIDEO_EN, 0},
|
||||
{P_VENC_VDAC_SETTING, 0xff},
|
||||
|
||||
{P_ENCP_VIDEO_MODE, 0x4040},
|
||||
{P_ENCP_VIDEO_MODE_ADV, 0x18},
|
||||
{P_ENCP_VIDEO_MAX_PXCNT, 0x3DF},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x1F3},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0xA8},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x3C7},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x11},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x1F0},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x48},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x7},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1},
|
||||
{P_ENCI_VIDEO_EN, 0},
|
||||
{MREG_END_MARKER, 0},
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_640x480p_60hz[] = {
|
||||
{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, 0x31F,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x20C,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x90,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x30F,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x23,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x202,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x60,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x2,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_480x320p_60hz[] = {
|
||||
{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, 0x31F,},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x20C,},
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x64,},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x243,},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0xBD,},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x1FC,},
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x64,},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32,},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x8,},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1,},
|
||||
{P_ENCI_VIDEO_EN, 0,},
|
||||
{MREG_END_MARKER, 0}
|
||||
};
|
||||
|
||||
static const struct reg_s tvregs_480x800p_60hz[] = {
|
||||
{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, 0x25F},
|
||||
{P_ENCP_VIDEO_MAX_LNCNT, 0x34C},
|
||||
|
||||
{P_ENCP_VIDEO_HAVON_BEGIN, 0x28},
|
||||
{P_ENCP_VIDEO_HAVON_END, 0x207},
|
||||
{P_ENCP_VIDEO_VAVON_BLINE, 0x1D},
|
||||
{P_ENCP_VIDEO_VAVON_ELINE, 0x33C},
|
||||
|
||||
{P_ENCP_VIDEO_HSO_BEGIN, 0x0},
|
||||
{P_ENCP_VIDEO_HSO_END, 0x30},
|
||||
{P_ENCP_VIDEO_VSO_BEGIN, 0x1E},
|
||||
{P_ENCP_VIDEO_VSO_END, 0x32},
|
||||
{P_ENCP_VIDEO_VSO_BLINE, 0x0},
|
||||
{P_ENCP_VIDEO_VSO_ELINE, 0x3},
|
||||
|
||||
{P_ENCP_VIDEO_EN, 1},
|
||||
{P_ENCI_VIDEO_EN, 0},
|
||||
{MREG_END_MARKER, 0},
|
||||
};
|
||||
|
||||
|
||||
struct vic_tvregs_set {
|
||||
enum hdmi_vic vic;
|
||||
const struct reg_s *reg_setting;
|
||||
@@ -725,6 +1189,24 @@ static struct vic_tvregs_set tvregsTab[] = {
|
||||
{HDMI_3840x2160p50_16x9, tvregs_4k2k_25hz},
|
||||
{HDMI_3840x2160p60_16x9_Y420, tvregs_4k2k_30hz},
|
||||
{HDMI_3840x2160p50_16x9_Y420, tvregs_4k2k_25hz},
|
||||
{HDMI_2560x1600p60_8x5, tvregs_2560x1600p_60hz},
|
||||
{HDMI_2560x1440p60_16x9, tvregs_2560x1440p_60hz},
|
||||
{HDMI_2560x1080p60_64x27, tvregs_2560x1080p_60hz},
|
||||
{HDMI_1920x1200p60_8x5, tvregs_1920x1200p_60hz},
|
||||
{HDMI_1680x1050p60_8x5, tvregs_1680x1050p_60hz},
|
||||
{HDMI_1600x1200p60_4x3, tvregs_1600x1200p_60hz},
|
||||
{HDMI_1600x900p60_16x9, tvregs_1600x900p_60hz},
|
||||
{HDMI_1440x900p60_8x5, tvregs_1440x900p_60hz},
|
||||
{HDMI_1360x768p60_16x9, tvregs_1360x768p_60hz},
|
||||
{HDMI_1280x1024p60_5x4, tvregs_1280x1024p_60hz},
|
||||
{HDMI_1280x800p60_8x5, tvregs_1280x800p_60hz},
|
||||
{HDMI_1024x768p60_4x3, tvregs_1024x768p_60hz},
|
||||
{HDMI_1024x600p60_16x9, tvregs_1024x600p_60hz},
|
||||
{HDMI_800x600p60_4x3, tvregs_800x600p_60hz},
|
||||
{HDMI_800x480p60_5x3, tvregs_800x480p_60hz},
|
||||
{HDMI_640x480p60_4x3, tvregs_640x480p_60hz},
|
||||
{HDMI_480x320p60_4x3, tvregs_480x320p_60hz},
|
||||
{HDMI_480x800p60_4x3, tvregs_480x800p_60hz},
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -1431,6 +1431,291 @@ static void hdmi_tvenc_set(struct hdmitx_vidpara *param)
|
||||
SOF_LINES = 36;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_2560x1600p60_8x5:
|
||||
INTERLACE_MODE = 0U;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (2560*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (1600/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 1646;
|
||||
LINES_F1 = 1646;
|
||||
FRONT_PORCH = 48;
|
||||
HSYNC_PIXELS = 32;
|
||||
BACK_PORCH = 80;
|
||||
EOF_LINES = 2;
|
||||
VSYNC_LINES = 6;
|
||||
SOF_LINES = 38;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_2560x1440p60_16x9:
|
||||
INTERLACE_MODE = 0U;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (2560*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (1440/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 1481;
|
||||
LINES_F1 = 1481;
|
||||
FRONT_PORCH = 48;
|
||||
HSYNC_PIXELS = 32;
|
||||
BACK_PORCH = 80;
|
||||
EOF_LINES = 2;
|
||||
VSYNC_LINES = 5;
|
||||
SOF_LINES = 34;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_2560x1080p60_64x27:
|
||||
INTERLACE_MODE = 0U;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (2560*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (1080/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 1111;
|
||||
LINES_F1 = 1111;
|
||||
FRONT_PORCH = 64;
|
||||
HSYNC_PIXELS = 64;
|
||||
BACK_PORCH = 96;
|
||||
EOF_LINES = 3;
|
||||
VSYNC_LINES = 10;
|
||||
SOF_LINES = 18;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_1920x1200p60_8x5:
|
||||
INTERLACE_MODE = 0U;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (1920*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (1200/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 1235;
|
||||
LINES_F1 = 1235;
|
||||
FRONT_PORCH = 48;
|
||||
HSYNC_PIXELS = 32;
|
||||
BACK_PORCH = 80;
|
||||
EOF_LINES = 3;
|
||||
VSYNC_LINES = 6;
|
||||
SOF_LINES = 26;
|
||||
break;
|
||||
case HDMI_1680x1050p60_8x5:
|
||||
INTERLACE_MODE = 0U;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (1680*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (1050/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 1089;
|
||||
LINES_F1 = 1089;
|
||||
FRONT_PORCH = 104;
|
||||
HSYNC_PIXELS = 176;
|
||||
BACK_PORCH = 280;
|
||||
EOF_LINES = 3;
|
||||
VSYNC_LINES = 6;
|
||||
SOF_LINES = 30;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_1600x1200p60_4x3:
|
||||
INTERLACE_MODE = 0U;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (1600*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (1200/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 1270;
|
||||
LINES_F1 = 1270;
|
||||
FRONT_PORCH = 32;
|
||||
HSYNC_PIXELS = 160;
|
||||
BACK_PORCH = 256;
|
||||
EOF_LINES = 10;
|
||||
VSYNC_LINES = 8;
|
||||
SOF_LINES = 52;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_1600x900p60_16x9:
|
||||
INTERLACE_MODE = 0U;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (1600*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (900/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 1800;
|
||||
LINES_F1 = 1800;
|
||||
FRONT_PORCH = 24;
|
||||
HSYNC_PIXELS = 80;
|
||||
BACK_PORCH = 96;
|
||||
EOF_LINES = 1;
|
||||
VSYNC_LINES = 3;
|
||||
SOF_LINES = 96;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_1440x900p60_8x5:
|
||||
INTERLACE_MODE = 0U;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (1440*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (900/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 934;
|
||||
LINES_F1 = 934;
|
||||
FRONT_PORCH = 80;
|
||||
HSYNC_PIXELS = 152;
|
||||
BACK_PORCH = 232;
|
||||
EOF_LINES = 3;
|
||||
VSYNC_LINES = 6;
|
||||
SOF_LINES = 25;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_1360x768p60_16x9:
|
||||
INTERLACE_MODE = 0;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (1360*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (768/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 795;
|
||||
LINES_F1 = 795;
|
||||
FRONT_PORCH = 64;
|
||||
HSYNC_PIXELS = 112;
|
||||
BACK_PORCH = 256;
|
||||
EOF_LINES = 3;
|
||||
VSYNC_LINES = 6;
|
||||
SOF_LINES = 18;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_1280x1024p60_5x4:
|
||||
INTERLACE_MODE = 0;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (1280*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (1024/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 1066;
|
||||
LINES_F1 = 1066;
|
||||
FRONT_PORCH = 48;
|
||||
HSYNC_PIXELS = 112;
|
||||
BACK_PORCH = 248;
|
||||
EOF_LINES = 1;
|
||||
VSYNC_LINES = 3;
|
||||
SOF_LINES = 38;
|
||||
break;
|
||||
case HDMI_1280x800p60_8x5:
|
||||
INTERLACE_MODE = 0;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (1280*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (800/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 823;
|
||||
LINES_F1 = 823;
|
||||
FRONT_PORCH = 48;
|
||||
HSYNC_PIXELS = 32;
|
||||
BACK_PORCH = 80;
|
||||
EOF_LINES = 3;
|
||||
VSYNC_LINES = 6;
|
||||
SOF_LINES = 14;
|
||||
break;
|
||||
case HDMI_1024x768p60_4x3:
|
||||
INTERLACE_MODE = 0;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (1024*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (768/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 806;
|
||||
LINES_F1 = 806;
|
||||
FRONT_PORCH = 24;
|
||||
HSYNC_PIXELS = 136;
|
||||
BACK_PORCH = 160;
|
||||
EOF_LINES = 3;
|
||||
VSYNC_LINES = 6;
|
||||
SOF_LINES = 29;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_1024x600p60_16x9:
|
||||
INTERLACE_MODE = 0;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (1024*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (600/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 638;
|
||||
LINES_F1 = 638;
|
||||
FRONT_PORCH = 24;
|
||||
HSYNC_PIXELS = 136;
|
||||
BACK_PORCH = 160;
|
||||
EOF_LINES = 3;
|
||||
VSYNC_LINES = 6;
|
||||
SOF_LINES = 29;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_800x600p60_4x3:
|
||||
INTERLACE_MODE = 0;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (800*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (600/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 628;
|
||||
LINES_F1 = 628;
|
||||
FRONT_PORCH = 40;
|
||||
HSYNC_PIXELS = 128;
|
||||
BACK_PORCH = 88;
|
||||
EOF_LINES = 1;
|
||||
VSYNC_LINES = 4;
|
||||
SOF_LINES = 23;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_800x480p60_5x3:
|
||||
INTERLACE_MODE = 0;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (800*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (480/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 500;
|
||||
LINES_F1 = 500;
|
||||
FRONT_PORCH = 24;
|
||||
HSYNC_PIXELS = 72;
|
||||
BACK_PORCH = 96;
|
||||
EOF_LINES = 3;
|
||||
VSYNC_LINES = 7;
|
||||
SOF_LINES = 10;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_640x480p60_4x3:
|
||||
INTERLACE_MODE = 0;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (640*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (480/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 525;
|
||||
LINES_F1 = 525;
|
||||
FRONT_PORCH = 16;
|
||||
HSYNC_PIXELS = 96;
|
||||
BACK_PORCH = 48;
|
||||
EOF_LINES = 10;
|
||||
VSYNC_LINES = 2;
|
||||
SOF_LINES = 33;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_480x320p60_4x3:
|
||||
INTERLACE_MODE = 0;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (480*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (320/(1+INTERLACE_MODE));
|
||||
LINES_F0 = 263;
|
||||
LINES_F1 = 263;
|
||||
FRONT_PORCH = 120;
|
||||
HSYNC_PIXELS = 100;
|
||||
BACK_PORCH = 100;
|
||||
EOF_LINES = 8;
|
||||
VSYNC_LINES = 4;
|
||||
SOF_LINES = 95;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
case HDMI_480x800p60_4x3:
|
||||
INTERLACE_MODE = 0U;
|
||||
PIXEL_REPEAT_VENC = 0;
|
||||
PIXEL_REPEAT_HDMI = 0;
|
||||
ACTIVE_PIXELS = (480*(1+PIXEL_REPEAT_HDMI));
|
||||
ACTIVE_LINES = (800*(1+PIXEL_REPEAT_HDMI));
|
||||
LINES_F0 = 845;
|
||||
LINES_F1 = 845;
|
||||
FRONT_PORCH = 40;
|
||||
HSYNC_PIXELS = 48;
|
||||
BACK_PORCH = 40;
|
||||
EOF_LINES = 13;
|
||||
VSYNC_LINES = 3;
|
||||
SOF_LINES = 29;
|
||||
TOTAL_FRAMES = 4;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -777,6 +777,64 @@ static struct hw_enc_clk_val_group setting_enc_clk_val_24[] = {
|
||||
HDMI_3840x2160p50_16x9_Y420,
|
||||
HDMI_VIC_END},
|
||||
5940000, 2, 1, 1, VID_PLL_DIV_5, 1, 2, 1, -1},
|
||||
{{HDMI_2560x1600p60_8x5,
|
||||
HDMI_VIC_END},
|
||||
2685000, 1, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_2560x1440p60_16x9,
|
||||
HDMI_VIC_END},
|
||||
2415000, 1, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_2560x1080p60_64x27,
|
||||
HDMI_VIC_END},
|
||||
1855800, 1, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_1920x1200p60_8x5,
|
||||
HDMI_VIC_END},
|
||||
1540000, 1, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_1680x1050p60_8x5,
|
||||
HDMI_VIC_END},
|
||||
1462500, 1, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_1600x1200p60_4x3,
|
||||
HDMI_VIC_END},
|
||||
1560000, 1, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_1600x900p60_16x9,
|
||||
HDMI_VIC_END},
|
||||
/* It works, but the exact hpll is 4320000 */
|
||||
4324320, 4, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_1440x900p60_8x5,
|
||||
HDMI_VIC_END},
|
||||
2134000, 2, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_1360x768p60_16x9,
|
||||
HDMI_VIC_END},
|
||||
3420000, 2, 2, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_1280x1024p60_5x4,
|
||||
HDMI_VIC_END},
|
||||
/* actual hpll : 4320000 */
|
||||
4324320, 4, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_1280x800p60_8x5,
|
||||
HDMI_VIC_END},
|
||||
1422000, 2, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_1024x768p60_4x3,
|
||||
HDMI_VIC_END},
|
||||
2600000, 4, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_1024x600p60_16x9,
|
||||
HDMI_VIC_END},
|
||||
2058000, 4, 1, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_800x600p60_4x3,
|
||||
HDMI_VIC_END},
|
||||
1560000, 2, 2, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_800x480p60_5x3,
|
||||
HDMI_VIC_END},
|
||||
2415000, 4, 2, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_640x480p60_4x3,
|
||||
HDMI_VIC_END},
|
||||
/* actual hpll : 2014000 */
|
||||
2000000, 4, 2, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_480x320p60_4x3,
|
||||
HDMI_VIC_END},
|
||||
/* actual hpll : 2016000 */
|
||||
2000000, 4, 2, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_480x800p60_4x3,
|
||||
HDMI_VIC_END},
|
||||
2560000, 4, 2, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
{{HDMI_VIC_FAKE,
|
||||
HDMI_VIC_END},
|
||||
3450000, 1, 2, 2, VID_PLL_DIV_5, 1, 1, 1, -1},
|
||||
|
||||
@@ -250,6 +250,18 @@ void set_g12a_hpll_clk_out(unsigned int frac_rate, unsigned int clk)
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 3420000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b00048e);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00018000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 3243240:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b000487);
|
||||
if (frac_rate)
|
||||
@@ -280,6 +292,201 @@ void set_g12a_hpll_clk_out(unsigned int frac_rate, unsigned int clk)
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 2685000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b00046F);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x000140b4);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00018000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 2600000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b00046C);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x000140b4);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00018000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 2560000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b00046A);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x000140b4);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00018000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 2415000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b000464);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x000140b4);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00018000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 2134000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b00045A);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x000140b4);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00018000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 2058000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b000455);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x000140b4);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00018000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 2000000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b000453);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x000140b4);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00018000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 1855800:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b00044C);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00000000);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x0001A000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 1560000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b000440);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00000000);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x0001A000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 1540000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b00043F);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00000000);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x0001A000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 1462500:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b00043C);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00000000);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x0001A000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 1422000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b00043A);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00000000);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x0001A000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
case 320000:
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL0, 0x3b00040D);
|
||||
if (frac_rate)
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00000000);
|
||||
else
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL1, 0x00018000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL2, 0x00000000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL3, 0x0a691c00);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL4, 0x33771290);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL5, 0x39270000);
|
||||
hd_write_reg(P_HHI_HDMI_PLL_CNTL6, 0x50540000);
|
||||
hd_set_reg_bits(P_HHI_HDMI_PLL_CNTL0, 0x0, 29, 1);
|
||||
WAIT_FOR_PLL_LOCKED(P_HHI_HDMI_PLL_CNTL0);
|
||||
pr_info("HPLL: 0x%x\n", hd_read_reg(P_HHI_HDMI_PLL_CNTL0));
|
||||
break;
|
||||
default:
|
||||
pr_info("error hpll clk: %d\n", clk);
|
||||
break;
|
||||
|
||||
@@ -146,6 +146,22 @@ enum hdmi_vic {
|
||||
HDMI_3840x1080p100hz,
|
||||
HDMI_3840x540p240hz,
|
||||
HDMI_3840x540p200hz,
|
||||
HDMI_2560x1600p60_8x5,
|
||||
HDMI_2560x1440p60_16x9,
|
||||
HDMI_1920x1200p60_8x5,
|
||||
HDMI_1680x1050p60_8x5,
|
||||
HDMI_1600x1200p60_4x3,
|
||||
HDMI_1600x900p60_16x9,
|
||||
HDMI_1440x900p60_8x5,
|
||||
HDMI_1360x768p60_16x9,
|
||||
HDMI_1280x1024p60_5x4,
|
||||
HDMI_1280x800p60_8x5,
|
||||
HDMI_1024x768p60_4x3,
|
||||
HDMI_1024x600p60_16x9,
|
||||
HDMI_800x600p60_4x3,
|
||||
HDMI_800x480p60_5x3,
|
||||
HDMI_480x320p60_4x3,
|
||||
HDMI_480x800p60_4x3,
|
||||
|
||||
/*
|
||||
* the following vic is for those y420 mode
|
||||
|
||||
Reference in New Issue
Block a user