
/*
 * arch/arm/cpu/armv8/gxl/hdmitx20/hdmitx_tvenc.c
 *
 * Copyright (C) 2015 Amlogic, Inc. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/

#include "mach_reg.h"
#include "hdmitx_tvenc.h"

#define MREG_END_MARKER 0xFFFF

static const struct reg_t tvregs_720p[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_VENC_DVI_SETTING, 0x2029},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0019},
	{P_ENCP_VIDEO_YFP1_HTIME, 648},
	{P_ENCP_VIDEO_YFP2_HTIME, 3207},
	{P_ENCP_VIDEO_MAX_PXCNT, 3299},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 80},
	{P_ENCP_VIDEO_HSPULS_END, 240},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 80},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 688},
	{P_ENCP_VIDEO_VSPULS_END, 3248},
	{P_ENCP_VIDEO_VSPULS_BLINE, 4},
	{P_ENCP_VIDEO_VSPULS_ELINE, 8},
	{P_ENCP_VIDEO_HAVON_BEGIN, 648},
	{P_ENCP_VIDEO_HAVON_END, 3207},
	{P_ENCP_VIDEO_VAVON_BLINE, 29},
	{P_ENCP_VIDEO_VAVON_ELINE, 748},
	{P_ENCP_VIDEO_HSO_BEGIN, 256},
	{P_ENCP_VIDEO_HSO_END, 168},
	{P_ENCP_VIDEO_VSO_BEGIN, 168},
	{P_ENCP_VIDEO_VSO_END, 256},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_VSO_ELINE, 5},
	{P_ENCP_VIDEO_MAX_LNCNT, 749},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_720p_50hz[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_VENC_DVI_SETTING, 0x202d},
	{P_ENCP_VIDEO_MAX_PXCNT, 3959},
	{P_ENCP_VIDEO_MAX_LNCNT, 749},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 80},
	{P_ENCP_VIDEO_HSPULS_END, 240},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 80},
	{P_ENCP_VIDEO_HAVON_BEGIN, 648},
	{P_ENCP_VIDEO_HAVON_END, 3207},
	{P_ENCP_VIDEO_HSO_BEGIN, 128},
	{P_ENCP_VIDEO_HSO_END, 208},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 688},
	{P_ENCP_VIDEO_VSPULS_END, 3248},
	{P_ENCP_VIDEO_VSPULS_BLINE, 4},
	{P_ENCP_VIDEO_VSPULS_ELINE, 8},
	{P_ENCP_VIDEO_VAVON_BLINE, 29},
	{P_ENCP_VIDEO_VAVON_ELINE, 748},
	{P_ENCP_VIDEO_VSO_BEGIN, 128},
	{P_ENCP_VIDEO_VSO_END, 128},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_VSO_ELINE, 5},
	{P_ENCP_VIDEO_YFP1_HTIME, 648},
	{P_ENCP_VIDEO_YFP2_HTIME, 3207},
	{P_VENC_VIDEO_PROG_MODE, 0x100},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0019},
	{P_ENCP_VIDEO_SYNC_MODE, 0x407},
	{P_ENCP_VIDEO_YC_DLY, 0},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_720p_100hz[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_VENC_DVI_SETTING, 0x202d},
	{P_ENCP_VIDEO_MAX_PXCNT, 3959},
	{P_ENCP_VIDEO_MAX_LNCNT, 749},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 80},
	{P_ENCP_VIDEO_HSPULS_END, 240},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 80},
	{P_ENCP_VIDEO_HAVON_BEGIN, 648},
	{P_ENCP_VIDEO_HAVON_END, 3207},
	{P_ENCP_VIDEO_HSO_BEGIN, 128},
	{P_ENCP_VIDEO_HSO_END, 208},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 688},
	{P_ENCP_VIDEO_VSPULS_END, 3248},
	{P_ENCP_VIDEO_VSPULS_BLINE, 4},
	{P_ENCP_VIDEO_VSPULS_ELINE, 8},
	{P_ENCP_VIDEO_VAVON_BLINE, 29},
	{P_ENCP_VIDEO_VAVON_ELINE, 748},
	{P_ENCP_VIDEO_VSO_BEGIN, 128},
	{P_ENCP_VIDEO_VSO_END, 128},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_VSO_ELINE, 5},
	{P_ENCP_VIDEO_YFP1_HTIME, 648},
	{P_ENCP_VIDEO_YFP2_HTIME, 3207},
	{P_VENC_VIDEO_PROG_MODE, 0x100},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0019},
	{P_ENCP_VIDEO_SYNC_MODE, 0x407},
	{P_ENCP_VIDEO_YC_DLY, 0},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_720p_120hz[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_VENC_DVI_SETTING, 0x2029},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0019},
	{P_ENCP_VIDEO_YFP1_HTIME, 648},
	{P_ENCP_VIDEO_YFP2_HTIME, 3207},
	{P_ENCP_VIDEO_MAX_PXCNT, 3299},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 80},
	{P_ENCP_VIDEO_HSPULS_END, 240},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 80},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 688},
	{P_ENCP_VIDEO_VSPULS_END, 3248},
	{P_ENCP_VIDEO_VSPULS_BLINE, 4},
	{P_ENCP_VIDEO_VSPULS_ELINE, 8},
	{P_ENCP_VIDEO_HAVON_BEGIN, 648},
	{P_ENCP_VIDEO_HAVON_END, 3207},
	{P_ENCP_VIDEO_VAVON_BLINE, 29},
	{P_ENCP_VIDEO_VAVON_ELINE, 748},
	{P_ENCP_VIDEO_HSO_BEGIN, 256},
	{P_ENCP_VIDEO_HSO_END, 168},
	{P_ENCP_VIDEO_VSO_BEGIN, 168},
	{P_ENCP_VIDEO_VSO_END, 256},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_VSO_ELINE, 5},
	{P_ENCP_VIDEO_MAX_LNCNT, 749},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_480i[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCI_CFILT_CTRL, 0x12},
	{P_ENCI_CFILT_CTRL2, 0x12},
	{P_VENC_DVI_SETTING, 0},
	{P_ENCI_VIDEO_MODE, 0},
	{P_ENCI_VIDEO_MODE_ADV, 0},
	{P_ENCI_SYNC_HSO_BEGIN, 5},
	{P_ENCI_SYNC_HSO_END, 129},
	{P_ENCI_SYNC_VSO_EVNLN, 0x0003},
	{P_ENCI_SYNC_VSO_ODDLN, 0x0104},
	{P_ENCI_MACV_MAX_AMP, 0x810b},
	{P_VENC_VIDEO_PROG_MODE, 0xf0},
	{P_ENCI_VIDEO_MODE, 0x08},
	{P_ENCI_VIDEO_MODE_ADV, 0x26},
	{P_ENCI_VIDEO_SCH, 0x20},
	{P_ENCI_SYNC_MODE, 0x07},
	{P_ENCI_DBG_PX_RST, 0},
	{P_ENCI_VFIFO2VD_CTL, 0x4e01},
	{P_ENCI_VFIFO2VD_PIXEL_START, 0xf3,},
	{P_ENCI_VFIFO2VD_PIXEL_END, 0x0693,},
	{P_ENCI_VFIFO2VD_LINE_TOP_START, 0x12,},
	{P_ENCI_VFIFO2VD_LINE_TOP_END, 0x102,},
	{P_ENCI_VFIFO2VD_LINE_BOT_START, 0x13,},
	{P_ENCI_VFIFO2VD_LINE_BOT_END, 0x103,},
	{P_VPU_VIU_VENC_MUX_CTRL, 0x5},
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 1},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_480p[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_FILT_CTRL, 0x2052},
	{P_VENC_DVI_SETTING, 0x21},
	{P_ENCP_VIDEO_MODE, 0x4000},
	{P_ENCP_VIDEO_MODE_ADV, 9},
	{P_ENCP_VIDEO_YFP1_HTIME, 244},
	{P_ENCP_VIDEO_YFP2_HTIME, 1630},
	{P_ENCP_VIDEO_MAX_PXCNT, 1715},
	{P_ENCP_VIDEO_MAX_LNCNT, 524},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 0x22},
	{P_ENCP_VIDEO_HSPULS_END, 0xa0},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 88},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 0},
	{P_ENCP_VIDEO_VSPULS_END, 1589},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 5},
	{P_ENCP_VIDEO_HAVON_BEGIN, 249},
	{P_ENCP_VIDEO_HAVON_END, 1689},
	{P_ENCP_VIDEO_VAVON_BLINE, 42},
	{P_ENCP_VIDEO_VAVON_ELINE, 521},
	{P_ENCP_VIDEO_SYNC_MODE, 0x07},
	{P_VENC_VIDEO_PROG_MODE, 0x0},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x3},
	{P_ENCP_VIDEO_HSO_END, 0x5},
	{P_ENCP_VIDEO_VSO_BEGIN, 0x3},
	{P_ENCP_VIDEO_VSO_END, 0x5},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_SY_VAL, 8},
	{P_ENCP_VIDEO_SY2_VAL, 0x1d8},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_576i[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_VENC_DVI_SETTING, 0},
	{P_ENCI_VIDEO_MODE, 0},
	{P_ENCI_VIDEO_MODE_ADV, 0},
	{P_ENCI_SYNC_HSO_BEGIN, 3},
	{P_ENCI_SYNC_HSO_END, 129},
	{P_ENCI_SYNC_VSO_EVNLN, 0x0003},
	{P_ENCI_SYNC_VSO_ODDLN, 0x0104},
	{P_ENCI_MACV_MAX_AMP, 0x8107},
	{P_VENC_VIDEO_PROG_MODE, 0xff},
	{P_ENCI_VIDEO_MODE, 0x13},
	{P_ENCI_VIDEO_MODE_ADV, 0x26},
	{P_ENCI_VIDEO_SCH, 0x28},
	{P_ENCI_SYNC_MODE, 0x07},
	{P_ENCI_YC_DELAY, 0x333},
	{P_ENCI_VFIFO2VD_PIXEL_START, 0x010b},
	{P_ENCI_VFIFO2VD_PIXEL_END, 0x06ab},
	{P_ENCI_VFIFO2VD_LINE_TOP_START, 0x0016},
	{P_ENCI_VFIFO2VD_LINE_TOP_END, 0x0136},
	{P_ENCI_VFIFO2VD_LINE_BOT_START, 0x0017},
	{P_ENCI_VFIFO2VD_LINE_BOT_END, 0x0137},
	{P_ENCI_DBG_PX_RST, 0},
	{P_ENCI_VFIFO2VD_CTL, 0x4e01},
	{P_ENCI_VFIFO2VD_PIXEL_START, 0x010b},
	{P_ENCI_VFIFO2VD_PIXEL_END, 0x06ab},
	{P_ENCI_VFIFO2VD_LINE_TOP_START, 0x0016},
	{P_ENCI_VFIFO2VD_LINE_TOP_END, 0x0136},
	{P_ENCI_VFIFO2VD_LINE_BOT_START, 0x0017},
	{P_ENCI_VFIFO2VD_LINE_BOT_END, 0x0137},
	{P_VPU_VIU_VENC_MUX_CTRL, 0x5},
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 1},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_576p[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_FILT_CTRL, 0x52},
	{P_VENC_DVI_SETTING, 0x21},
	{P_ENCP_VIDEO_MODE, 0x4000},
	{P_ENCP_VIDEO_MODE_ADV, 9},
	{P_ENCP_VIDEO_YFP1_HTIME, 235},
	{P_ENCP_VIDEO_YFP2_HTIME, 1674},
	{P_ENCP_VIDEO_MAX_PXCNT, 1727},
	{P_ENCP_VIDEO_MAX_LNCNT, 624},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 0},
	{P_ENCP_VIDEO_HSPULS_END, 0x80},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 88},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 0},
	{P_ENCP_VIDEO_VSPULS_END, 1599},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 4},
	{P_ENCP_VIDEO_HAVON_BEGIN, 235},
	{P_ENCP_VIDEO_HAVON_END, 1674},
	{P_ENCP_VIDEO_VAVON_BLINE, 44},
	{P_ENCP_VIDEO_VAVON_ELINE, 619},
	{P_ENCP_VIDEO_SYNC_MODE, 0x07},
	{P_VENC_VIDEO_PROG_MODE, 0x0},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x80},
	{P_ENCP_VIDEO_HSO_END, 0x0},
	{P_ENCP_VIDEO_VSO_BEGIN, 0x0},
	{P_ENCP_VIDEO_VSO_END, 0x5},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_SY_VAL, 8},
	{P_ENCP_VIDEO_SY2_VAL, 0x1d8},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_1080i[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_VENC_DVI_SETTING, 0x2029},
	{P_ENCP_VIDEO_MAX_PXCNT, 4399},
	{P_ENCP_VIDEO_MAX_LNCNT, 1124},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 88},
	{P_ENCP_VIDEO_HSPULS_END, 264},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 88},
	{P_ENCP_VIDEO_HAVON_BEGIN, 516},
	{P_ENCP_VIDEO_HAVON_END, 4355},
	{P_ENCP_VIDEO_HSO_BEGIN, 264},
	{P_ENCP_VIDEO_HSO_END, 176},
	{P_ENCP_VIDEO_EQPULS_BEGIN, 2288},
	{P_ENCP_VIDEO_EQPULS_END, 2464},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 440},
	{P_ENCP_VIDEO_VSPULS_END, 2200},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 4},
	{P_ENCP_VIDEO_EQPULS_BLINE, 0},
	{P_ENCP_VIDEO_EQPULS_ELINE, 4},
	{P_ENCP_VIDEO_VAVON_BLINE, 20},
	{P_ENCP_VIDEO_VAVON_ELINE, 559},
	{P_ENCP_VIDEO_VSO_BEGIN, 88},
	{P_ENCP_VIDEO_VSO_END, 88},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_VSO_ELINE, 5},
	{P_ENCP_VIDEO_YFP1_HTIME, 516},
	{P_ENCP_VIDEO_YFP2_HTIME, 4355},
	{P_VENC_VIDEO_PROG_MODE, 0x100},
	{P_ENCP_VIDEO_OFLD_VOAV_OFST, 0x11},
	{P_ENCP_VIDEO_MODE, 0x5ffc},
	{P_ENCP_VIDEO_MODE_ADV, 0x0019},
	{P_ENCP_VIDEO_SYNC_MODE, 0x207},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_1080i_50hz[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_VENC_DVI_SETTING, 0x202d},
	{P_ENCP_VIDEO_MAX_PXCNT, 5279},
	{P_ENCP_VIDEO_MAX_LNCNT, 1124},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 88},
	{P_ENCP_VIDEO_HSPULS_END, 264},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 88},
	{P_ENCP_VIDEO_HAVON_BEGIN, 526},
	{P_ENCP_VIDEO_HAVON_END, 4365},
	{P_ENCP_VIDEO_HSO_BEGIN, 142},
	{P_ENCP_VIDEO_HSO_END, 230},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 440},
	{P_ENCP_VIDEO_VSPULS_END, 2200},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 4},
	{P_ENCP_VIDEO_VAVON_BLINE, 20},
	{P_ENCP_VIDEO_VAVON_ELINE, 559},
	{P_ENCP_VIDEO_VSO_BEGIN, 142},
	{P_ENCP_VIDEO_VSO_END, 142},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_VSO_ELINE, 5},
	{P_ENCP_VIDEO_YFP1_HTIME, 526},
	{P_ENCP_VIDEO_YFP2_HTIME, 4365},
	{P_VENC_VIDEO_PROG_MODE, 0x100},
	{P_ENCP_VIDEO_OFLD_VOAV_OFST, 0x11},
	{P_ENCP_VIDEO_MODE, 0x5ffc},
	{P_ENCP_VIDEO_MODE_ADV, 0x0019},
	{P_ENCP_VIDEO_SYNC_MODE, 0x7},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_1080p[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_FILT_CTRL, 0x1052},
	{P_VENC_DVI_SETTING, 0x0001},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0018},
	{P_ENCP_VIDEO_YFP1_HTIME, 140},
	{P_ENCP_VIDEO_YFP2_HTIME, 2060},
	{P_ENCP_VIDEO_MAX_PXCNT, 2199},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 2156},
	{P_ENCP_VIDEO_HSPULS_END, 44},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 44},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 140},
	{P_ENCP_VIDEO_VSPULS_END, 2059},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 4},
	{P_ENCP_VIDEO_HAVON_BEGIN, 148},
	{P_ENCP_VIDEO_HAVON_END, 2067},
	{P_ENCP_VIDEO_VAVON_BLINE, 41},
	{P_ENCP_VIDEO_VAVON_ELINE, 1120},
	{P_ENCP_VIDEO_HSO_BEGIN, 44},
	{P_ENCP_VIDEO_HSO_END, 2156},
	{P_ENCP_VIDEO_VSO_BEGIN, 2100},
	{P_ENCP_VIDEO_VSO_END, 2164},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_VSO_ELINE, 5},
	{P_ENCP_VIDEO_MAX_LNCNT, 1124},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_VENC_VIDEO_PROG_MODE, 0x100},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_1080p_50hz[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_VENC_DVI_SETTING, 0x000d},
	{P_ENCP_VIDEO_MAX_PXCNT, 2639},
	{P_ENCP_VIDEO_MAX_LNCNT, 1124},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 44},
	{P_ENCP_VIDEO_HSPULS_END, 132},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 44},
	{P_ENCP_VIDEO_HAVON_BEGIN, 271},
	{P_ENCP_VIDEO_HAVON_END, 2190},
	{P_ENCP_VIDEO_HSO_BEGIN, 79},
	{P_ENCP_VIDEO_HSO_END, 123},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 220},
	{P_ENCP_VIDEO_VSPULS_END, 2140},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 4},
	{P_ENCP_VIDEO_EQPULS_BLINE, 0},
	{P_ENCP_VIDEO_EQPULS_ELINE, 4},
	{P_ENCP_VIDEO_VAVON_BLINE, 41},
	{P_ENCP_VIDEO_VAVON_ELINE, 1120},
	{P_ENCP_VIDEO_VSO_BEGIN, 79},
	{P_ENCP_VIDEO_VSO_END, 79},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_VSO_ELINE, 5},
	{P_ENCP_VIDEO_YFP1_HTIME, 271},
	{P_ENCP_VIDEO_YFP2_HTIME, 2190},
	{P_VENC_VIDEO_PROG_MODE, 0x100},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0018},
	{P_ENCP_VIDEO_SYNC_MODE, 0x7},
	{P_ENCP_VIDEO_YC_DLY, 0},
	{P_ENCP_VIDEO_RGB_CTRL, 2},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_1080p_24hz[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_FILT_CTRL, 0x1052},
	{P_VENC_DVI_SETTING, 0x000d},
	{P_ENCP_VIDEO_MAX_PXCNT, 2749},
	{P_ENCP_VIDEO_MAX_LNCNT, 1124},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 44},
	{P_ENCP_VIDEO_HSPULS_END, 132},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 44},
	{P_ENCP_VIDEO_HAVON_BEGIN, 271},
	{P_ENCP_VIDEO_HAVON_END, 2190},
	{P_ENCP_VIDEO_HSO_BEGIN, 79},
	{P_ENCP_VIDEO_HSO_END, 123},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 220},
	{P_ENCP_VIDEO_VSPULS_END, 2140},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 4},
	{P_ENCP_VIDEO_EQPULS_BLINE, 0},
	{P_ENCP_VIDEO_EQPULS_ELINE, 4},
	{P_ENCP_VIDEO_VAVON_BLINE, 41},
	{P_ENCP_VIDEO_VAVON_ELINE, 1120},
	{P_ENCP_VIDEO_VSO_BEGIN, 79},
	{P_ENCP_VIDEO_VSO_END, 79},
	{P_ENCP_VIDEO_VSO_BLINE, 0},
	{P_ENCP_VIDEO_VSO_ELINE, 5},
	{P_ENCP_VIDEO_YFP1_HTIME, 271},
	{P_ENCP_VIDEO_YFP2_HTIME, 2190},
	{P_VENC_VIDEO_PROG_MODE, 0x100},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0018},
	{P_ENCP_VIDEO_SYNC_MODE, 0x7},
	{P_ENCP_VIDEO_YC_DLY, 0},
	{P_ENCP_VIDEO_RGB_CTRL, 2},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_4k2k_30hz[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0008},
	{P_ENCP_VIDEO_YFP1_HTIME, 140},
	{P_ENCP_VIDEO_YFP2_HTIME, 140+3840},
	{P_ENCP_VIDEO_MAX_PXCNT, 3840+560-1},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 2156+1920},
	{P_ENCP_VIDEO_HSPULS_END, 44},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 44},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 140},
	{P_ENCP_VIDEO_VSPULS_END, 2059+1920},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 4},
	{P_ENCP_VIDEO_HAVON_BEGIN, 148},
	{P_ENCP_VIDEO_HAVON_END, 3987},
	{P_ENCP_VIDEO_VAVON_BLINE, 89},
	{P_ENCP_VIDEO_VAVON_ELINE, 2248},
	{P_ENCP_VIDEO_HSO_BEGIN, 44},
	{P_ENCP_VIDEO_HSO_END, 2156+1920},
	{P_ENCP_VIDEO_VSO_BEGIN, 2100+1920},
	{P_ENCP_VIDEO_VSO_END, 2164+1920},
	{P_ENCP_VIDEO_VSO_BLINE, 51},
	{P_ENCP_VIDEO_VSO_ELINE, 53},
	{P_ENCP_VIDEO_MAX_LNCNT, 2249},
	{P_ENCP_VIDEO_FILT_CTRL, 0x1000},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_4k2k_25hz[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0008},
	{P_ENCP_VIDEO_YFP1_HTIME, 140},
	{P_ENCP_VIDEO_YFP2_HTIME, 140+3840},
	{P_ENCP_VIDEO_MAX_PXCNT, 3840+1440-1},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 2156+1920},
	{P_ENCP_VIDEO_HSPULS_END, 44},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 44},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 140},
	{P_ENCP_VIDEO_VSPULS_END, 2059+1920},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 4},
	{P_ENCP_VIDEO_HAVON_BEGIN, 148},
	{P_ENCP_VIDEO_HAVON_END, 3987},
	{P_ENCP_VIDEO_VAVON_BLINE, 89},
	{P_ENCP_VIDEO_VAVON_ELINE, 2248},
	{P_ENCP_VIDEO_HSO_BEGIN, 44},
	{P_ENCP_VIDEO_HSO_END, 2156+1920},
	{P_ENCP_VIDEO_VSO_BEGIN, 2100+1920},
	{P_ENCP_VIDEO_VSO_END, 2164+1920},
	{P_ENCP_VIDEO_VSO_BLINE, 51},
	{P_ENCP_VIDEO_VSO_ELINE, 53},
	{P_ENCP_VIDEO_MAX_LNCNT, 2249},
	{P_ENCP_VIDEO_FILT_CTRL, 0x1000},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_4k2k_24hz[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0008},
	{P_ENCP_VIDEO_YFP1_HTIME, 140},
	{P_ENCP_VIDEO_YFP2_HTIME, 140+3840},
	{P_ENCP_VIDEO_MAX_PXCNT, 3840+1660-1},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 2156+1920},
	{P_ENCP_VIDEO_HSPULS_END, 44},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 44},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 140},
	{P_ENCP_VIDEO_VSPULS_END, 2059+1920},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 4},
	{P_ENCP_VIDEO_HAVON_BEGIN, 148},
	{P_ENCP_VIDEO_HAVON_END, 3987},
	{P_ENCP_VIDEO_VAVON_BLINE, 89},
	{P_ENCP_VIDEO_VAVON_ELINE, 2248},
	{P_ENCP_VIDEO_HSO_BEGIN, 44},
	{P_ENCP_VIDEO_HSO_END, 2156+1920},
	{P_ENCP_VIDEO_VSO_BEGIN, 2100+1920},
	{P_ENCP_VIDEO_VSO_END, 2164+1920},
	{P_ENCP_VIDEO_VSO_BLINE, 51},
	{P_ENCP_VIDEO_VSO_ELINE, 53},
	{P_ENCP_VIDEO_MAX_LNCNT, 2249},
	{P_ENCP_VIDEO_FILT_CTRL, 0x1000},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_4k2k_smpte[] = {
	{P_ENCP_VIDEO_EN, 0},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_MODE, 0x4040},
	{P_ENCP_VIDEO_MODE_ADV, 0x0008},
	{P_ENCP_VIDEO_YFP1_HTIME, 140},
	{P_ENCP_VIDEO_YFP2_HTIME, 140+3840+256},
	{P_ENCP_VIDEO_MAX_PXCNT, 4096+1404-1},
	{P_ENCP_VIDEO_HSPULS_BEGIN, 2156+1920},
	{P_ENCP_VIDEO_HSPULS_END, 44},
	{P_ENCP_VIDEO_HSPULS_SWITCH, 44},
	{P_ENCP_VIDEO_VSPULS_BEGIN, 140},
	{P_ENCP_VIDEO_VSPULS_END, 2059+1920},
	{P_ENCP_VIDEO_VSPULS_BLINE, 0},
	{P_ENCP_VIDEO_VSPULS_ELINE, 4},
	{P_ENCP_VIDEO_HAVON_BEGIN, 148},
	{P_ENCP_VIDEO_HAVON_END, 3987+256},
	{P_ENCP_VIDEO_VAVON_BLINE, 89},
	{P_ENCP_VIDEO_VAVON_ELINE, 2248},
	{P_ENCP_VIDEO_HSO_BEGIN, 44},
	{P_ENCP_VIDEO_HSO_END, 2156+1920+256},
	{P_ENCP_VIDEO_VSO_BEGIN, 2100+1920+256},
	{P_ENCP_VIDEO_VSO_END, 2164+1920+256},
	{P_ENCP_VIDEO_VSO_BLINE, 51},
	{P_ENCP_VIDEO_VSO_ELINE, 53},
	{P_ENCP_VIDEO_MAX_LNCNT, 2249},
	{P_ENCP_VIDEO_FILT_CTRL, 0x1000},
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_4k2k_smpte_25hz[] = {
	{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, 0x149F,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x8C9,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0xD8,},
	{P_ENCP_VIDEO_HAVON_END, 0x10D7,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x52,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x8C1,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0x58,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_4k2k_smpte_30hz[] = {
	{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, 0x112F,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x8C9,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0xD8,},
	{P_ENCP_VIDEO_HAVON_END, 0x10D7,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x52,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x8C1,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0x58,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_vesa_640x480p60hz[] = {
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_800x600p60hz[] = {
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_800x480p60hz[] = {
	{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, 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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_vesa_852x480p60hz[] = {
	{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, 0x3B3,},/*947//htotal-1*/
	{P_ENCP_VIDEO_MAX_LNCNT, 0x213,},/*531//vtotal-1*/
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x38,},/*56//hblank-hfront*/
	{P_ENCP_VIDEO_HAVON_END, 0x38B,},/*907//htotal-hfront-1*/
	{P_ENCP_VIDEO_VAVON_BLINE, 0x2A,},/*42//vblank-vfront*/
	{P_ENCP_VIDEO_VAVON_ELINE, 0x209,},/*521//vtotal-vfront-1*/
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0x10,},/*16/hor sync time*/
	{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
	{P_ENCP_VIDEO_VSO_END, 0x32,},
	{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
	{P_ENCP_VIDEO_VSO_ELINE, 0x2,},/*2//ver sync time*/
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_854x480p60hz[] = {
	{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, 0x3B5,},/*949//htotal-1*/
	{P_ENCP_VIDEO_MAX_LNCNT, 0x212,},/*530//vtotal-1*/
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x38,},/*56//hblank-hfront*/
	{P_ENCP_VIDEO_HAVON_END, 0x38D,},/*909//htotal-hfront-1*/
	{P_ENCP_VIDEO_VAVON_BLINE, 0x29,},/*41//vblank-vfront*/
	{P_ENCP_VIDEO_VAVON_ELINE, 0x208,},/*520//vtotal-vfront-1*/
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0x10,},/*16//hor sync time*/
	{P_ENCP_VIDEO_VSO_BEGIN, 0x1E,},
	{P_ENCP_VIDEO_VSO_END, 0x32,},
	{P_ENCP_VIDEO_VSO_BLINE, 0x0,},
	{P_ENCP_VIDEO_VSO_ELINE, 0x2,},/*2//ver sync time*/
	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1024x600p60hz[] = {
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1024x768p60hz[] = {
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1152x864p75hz[] = {
	{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, 0x63F,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x383,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x180,},
	{P_ENCP_VIDEO_HAVON_END, 0x5FF,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x23,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x382,},
	{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, 0x3,},

	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

#if 0
static const struct reg_t tvregs_vesa_1280x600p60hz[] = {
	{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, 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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0}
};
#endif

static const struct reg_t tvregs_vesa_1280x768p60hz[] = {
	{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, 0x67F,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x31D,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x140,},
	{P_ENCP_VIDEO_HAVON_END, 0x63F,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x1B,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x31A,},
	{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, 0x7,},

	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1280x800p60hz[] = {
	{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, 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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1280x960p60hz[] = {
	{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, 0x1A8,},
	{P_ENCP_VIDEO_HAVON_END, 0x6A7,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x27,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x3E6,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1280x1024p60hz[] = {
	{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, 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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1360x768p60hz[] = {
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1366x768p60hz[] = {
	{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, 0x31D,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x164,},
	{P_ENCP_VIDEO_HAVON_END, 0x6B9,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x1B,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x31A,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0x8F,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1400x1050p60hz[] = {
	{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, 0x747,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x440,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x178,},
	{P_ENCP_VIDEO_HAVON_END, 0x6EF,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x24,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x43D,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0x90,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1440x900p60hz[] = {
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1440x2560p60hz[] = {
	{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, 0x623,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0xA23,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x44,},
	{P_ENCP_VIDEO_HAVON_END, 0x5E3,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x14,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0xA13,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0x4,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1440x2560p70hz[] = {
	{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, 0x60D,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0xA0F,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x2A,},
	{P_ENCP_VIDEO_HAVON_END, 0x5C9,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0xA,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0xA09,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0x10,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1600x900p60hz[] = {
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1600x1200p60hz[] = {
	{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, 0x86F,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x4E1,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x1F0,},
	{P_ENCP_VIDEO_HAVON_END, 0x82F,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x31,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x4E0,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0xC0,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1680x1050p60hz[] = {
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1,},
	{P_ENCI_VIDEO_EN, 0,},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_1920x1200p60hz[] = {
	{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, 0xA1F,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x4DC,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x218,},
	{P_ENCP_VIDEO_HAVON_END, 0x997,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x2A,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x4D9,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0xC8,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0}
};
static const struct reg_t tvregs_vesa_2160x1200p90hz[] = {
	{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, 0x99D,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x4BB,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x70,},
	{P_ENCP_VIDEO_HAVON_END, 0x8DF,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x6,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x4B5,},
	{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, 0x3,},

	{P_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCP_VIDEO_EN, 1},
	{P_ENCI_VIDEO_EN, 0},
	{MREG_END_MARKER, 0},
};

static const struct reg_t tvregs_vesa_2560x1600p60hz[] = {
	{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, 0xDAF,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x679,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x2F0,},
	{P_ENCP_VIDEO_HAVON_END, 0xCEF,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x37,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x676,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0x118,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0}
};

#if 0 /* TODO */
static const struct reg_t tvregs_vesa_2560x1080p60hz[] = {
	{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, 0xA1F,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x4DC,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x218,},
	{P_ENCP_VIDEO_HAVON_END, 0x997,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x2A,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x4D9,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0xC8,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_2560x1440p60hz[] = {
	{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, 0xA1F,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x4DC,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x218,},
	{P_ENCP_VIDEO_HAVON_END, 0x997,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x2A,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x4D9,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0xC8,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0}
};

static const struct reg_t tvregs_vesa_3440x1440p60hz[] = {
	{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, 0xA1F,},
	{P_ENCP_VIDEO_MAX_LNCNT, 0x4DC,},
	{P_ENCP_VIDEO_HAVON_BEGIN, 0x218,},
	{P_ENCP_VIDEO_HAVON_END, 0x997,},
	{P_ENCP_VIDEO_VAVON_BLINE, 0x2A,},
	{P_ENCP_VIDEO_VAVON_ELINE, 0x4D9,},
	{P_ENCP_VIDEO_HSO_BEGIN, 0x0,},
	{P_ENCP_VIDEO_HSO_END, 0xC8,},
	{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_VPU_VIU_VENC_MUX_CTRL, 0xA},
	{P_ENCI_VIDEO_EN, 0},
	{P_ENCP_VIDEO_EN, 1},
	{MREG_END_MARKER, 0}
};
#endif

struct vic_tvregs_set {
	enum hdmi_vic vic;
	const struct reg_t *reg_setting;
};

/* Using HDMI vic as index */
static struct vic_tvregs_set tvregsTab[] = {
	{HDMI_720x480i60_16x9, tvregs_480i},
	{HDMI_2880x480i60_16x9, tvregs_480i},
	{HDMI_720x480p60_16x9, tvregs_480p},
	{HDMI_720x480p120_16x9, tvregs_480p},
	{HDMI_2880x240p60_16x9, tvregs_480p},
	{HDMI_720x576i50_16x9, tvregs_576i},
	{HDMI_2880x576i50_16x9, tvregs_576i},
	{HDMI_720x576p50_16x9, tvregs_576p},
	{HDMI_720x576p100_16x9, tvregs_576p},
	{HDMI_2880x576p50_16x9, tvregs_576p},
	{HDMI_1280x720p60_16x9, tvregs_720p},
	{HDMI_1920x1080i60_16x9, tvregs_1080i},
	{HDMI_1920x1080p60_16x9, tvregs_1080p},
	{HDMI_1920x1080p30_16x9, tvregs_1080p},
	{HDMI_1280x720p50_16x9, tvregs_720p_50hz},
	{HDMI_1280x720p100_16x9, tvregs_720p_50hz},
	{HDMI_1280x720p120_16x9, tvregs_720p},
	{HDMI_1920x1080i50_16x9, tvregs_1080i_50hz},
	{HDMI_1920x1080i100_16x9, tvregs_1080i_50hz},
	{HDMI_1920x1080i120_16x9, tvregs_1080i},
	{HDMI_1920x1080p50_16x9, tvregs_1080p_50hz},
	{HDMI_1920x1080p25_16x9, tvregs_1080p_50hz},
	{HDMI_1920x1080p24_16x9, tvregs_1080p_24hz},
	{HDMI_1920x1080p100_16x9, tvregs_1080p_50hz},
	{HDMI_1920x1080p120_16x9, tvregs_1080p},
	{HDMI_3840x2160p30_16x9, tvregs_4k2k_30hz},
	{HDMI_3840x2160p25_16x9, tvregs_4k2k_25hz},
	{HDMI_3840x2160p24_16x9, tvregs_4k2k_24hz},
	{HDMI_4096x2160p24_256x135, tvregs_4k2k_smpte},
	{HDMI_4096x2160p25_256x135, tvregs_4k2k_smpte_25hz},
	{HDMI_4096x2160p30_256x135, tvregs_4k2k_smpte_30hz},
	{HDMI_4096x2160p50_256x135, tvregs_4k2k_smpte_25hz},
	{HDMI_4096x2160p60_256x135, tvregs_4k2k_smpte_30hz},
	{HDMI_4096x2160p50_256x135_Y420, tvregs_4k2k_smpte_25hz},
	{HDMI_4096x2160p60_256x135_Y420, tvregs_4k2k_smpte_30hz},
	{HDMI_3840x2160p60_16x9, tvregs_4k2k_30hz},
	{HDMI_3840x2160p50_16x9, tvregs_4k2k_25hz},
	{HDMI_3840x2160p60_16x9_Y420, tvregs_4k2k_30hz},
	{HDMI_3840x2160p50_16x9_Y420, tvregs_4k2k_25hz},
	{HDMIV_640x480p60hz, tvregs_vesa_640x480p60hz},
	{HDMIV_800x480p60hz, tvregs_vesa_800x480p60hz},
	{HDMIV_800x600p60hz, tvregs_vesa_800x600p60hz},
	{HDMIV_852x480p60hz, tvregs_vesa_852x480p60hz},
	{HDMIV_854x480p60hz, tvregs_vesa_854x480p60hz},
	{HDMIV_1024x600p60hz, tvregs_vesa_1024x600p60hz},
	{HDMIV_1024x768p60hz, tvregs_vesa_1024x768p60hz},
	{HDMIV_1152x864p75hz, tvregs_vesa_1152x864p75hz},
#if 0
	{HDMIV_1280x600p60hz, tvregs_vesa_1280x600p60hz},
#endif
	{HDMIV_1280x768p60hz, tvregs_vesa_1280x768p60hz},
	{HDMIV_1280x800p60hz, tvregs_vesa_1280x800p60hz},
	{HDMIV_1280x960p60hz, tvregs_vesa_1280x960p60hz},
	{HDMIV_1280x1024p60hz, tvregs_vesa_1280x1024p60hz},
	{HDMIV_1360x768p60hz, tvregs_vesa_1360x768p60hz},
	{HDMIV_1366x768p60hz, tvregs_vesa_1366x768p60hz},
	{HDMIV_1400x1050p60hz, tvregs_vesa_1400x1050p60hz},
	{HDMIV_1440x900p60hz, tvregs_vesa_1440x900p60hz},
	{HDMIV_1440x2560p60hz, tvregs_vesa_1440x2560p60hz},
	{HDMIV_1440x2560p70hz, tvregs_vesa_1440x2560p70hz},
	{HDMIV_1600x900p60hz, tvregs_vesa_1600x900p60hz},
	{HDMIV_1600x1200p60hz, tvregs_vesa_1600x1200p60hz},
	{HDMIV_1680x1050p60hz, tvregs_vesa_1680x1050p60hz},
	{HDMIV_1920x1200p60hz, tvregs_vesa_1920x1200p60hz},
	{HDMIV_2160x1200p90hz, tvregs_vesa_2160x1200p90hz},
	{HDMIV_2560x1600p60hz, tvregs_vesa_2560x1600p60hz},
};

static inline void setreg(const struct reg_t *r)
{
	hd_write_reg(r->reg, r->val);
	/* printk("[0x%x] = 0x%x\n", r->reg, r->val); */
}

static const struct reg_t *tvregs_setting_mode(enum hdmi_vic vic)
{
	int i = 0;
	for (i = 0; i < ARRAY_SIZE(tvregsTab); i++) {
		if (vic == tvregsTab[i].vic)
			return tvregsTab[i].reg_setting;
	}
	return NULL;
}

void set_vmode_enc_hw(enum hdmi_vic vic)
{
	const struct reg_t *s = tvregs_setting_mode(vic);

	if (s) {
		pr_info("hdmitx: set enc for VIC: %d\n", vic);
		while (MREG_END_MARKER != s->reg)
			setreg(s++);
	} else
		pr_info("hdmitx: not find VIC: %d\n", vic);
}
