} else if (!strcmp(parm[1], "video")) {
param.port = TVIN_PORT_VIU1_VIDEO;
pr_info(" port is TVIN_PORT_VIU_VIDEO\n");
+ } else if (!strcmp(parm[1], "viu_wb0_vpp")) {
+ param.port = TVIN_PORT_VIU1_WB0_VPP;
+ pr_info(" port is TVIN_PORT_VIU1_WB0_VPP\n");
} else if (!strcmp(parm[1], "viu_wb0_vd1")) {
param.port = TVIN_PORT_VIU1_WB0_VD1;
pr_info(" port is TVIN_PORT_VIU_WB0_VD1\n");
} else if (!strcmp(parm[1], "viu_wb0_post_blend")) {
param.port = TVIN_PORT_VIU1_WB0_POST_BLEND;
pr_info(" port is TVIN_PORT_VIU_WB0_POST_BLEND\n");
+ } else if (!strcmp(parm[1], "viu_wb1_vpp")) {
+ param.port = TVIN_PORT_VIU1_WB1_VPP;
+ pr_info(" port is TVIN_PORT_VIU1_WB1_VPP\n");
} else if (!strcmp(parm[1], "viu_wb1_vd1")) {
param.port = TVIN_PORT_VIU1_WB1_VD1;
pr_info(" port is TVIN_PORT_VIU_WB1_VD1\n");
} else if (!strcmp(parm[1], "video2")) {
param.port = TVIN_PORT_VIU2_VIDEO;
pr_info(" port is TVIN_PORT_VIU_VIDEO\n");
+ } else if (!strcmp(parm[1], "viu2_wb0_vpp")) {
+ param.port = TVIN_PORT_VIU2_WB0_VPP;
+ pr_info(" port is TVIN_PORT_VIU2_WB0_VPP\n");
} else if (!strcmp(parm[1], "viu2_wb0_vd1")) {
param.port = TVIN_PORT_VIU2_WB0_VD1;
pr_info(" port is TVIN_PORT_VIU_WB0_VD1\n");
} else if (!strcmp(parm[1], "viu2_wb0_post_blend")) {
param.port = TVIN_PORT_VIU2_WB0_POST_BLEND;
pr_info(" port is TVIN_PORT_VIU_WB0_POST_BLEND\n");
+ } else if (!strcmp(parm[1], "viu2_wb1_vpp")) {
+ param.port = TVIN_PORT_VIU2_WB1_VPP;
+ pr_info(" port is TVIN_PORT_VIU2_WB1_VPP\n");
} else if (!strcmp(parm[1], "viu2_wb1_vd1")) {
param.port = TVIN_PORT_VIU2_WB1_VD1;
pr_info(" port is TVIN_PORT_VIU_WB1_VD1\n");
pr_info("**************%s,vencv_line_cur:%d,cnt:%d***********\n",
__func__, vencv_line_cur, cnt);
}
+
+/*g12a/g12b and before: use viu_loop encl/encp*/
+/*tl1: use viu_loop vpp */
static int viuin_open(struct tvin_frontend_s *fe, enum tvin_port_e port)
{
struct viuin_s *devp = container_of(fe, struct viuin_s, frontend);
else if ((port == TVIN_PORT_VIU1_WB0_POST_BLEND) ||
(port == TVIN_PORT_VIU2_WB0_POST_BLEND))
wr_bits_viu(VPP_WRBAK_CTRL, 5, 0, 3);
+ else if ((port == TVIN_PORT_VIU1_WB0_VPP) ||
+ (port == TVIN_PORT_VIU2_WB0_VPP))
+ wr_bits_viu(VPP_WRBAK_CTRL, 6, 0, 3);
else
wr_bits_viu(VPP_WRBAK_CTRL, 0, 4, 3);
+
if ((port == TVIN_PORT_VIU1_WB1_VD1) ||
(port == TVIN_PORT_VIU2_WB1_VD1))
wr_bits_viu(VPP_WRBAK_CTRL, 1, 4, 3);
else if ((port == TVIN_PORT_VIU1_WB1_POST_BLEND) ||
(port == TVIN_PORT_VIU2_WB1_POST_BLEND))
wr_bits_viu(VPP_WRBAK_CTRL, 5, 4, 3);
+ else if ((port == TVIN_PORT_VIU1_WB1_VPP) ||
+ (port == TVIN_PORT_VIU2_WB1_VPP))
+ wr_bits_viu(VPP_WRBAK_CTRL, 6, 4, 3);
else
wr_bits_viu(VPP_WRBAK_CTRL, 0, 4, 3);
+
/*wrback hsync en*/
if (((port >= TVIN_PORT_VIU1_WB0_VD1) &&
(port <= TVIN_PORT_VIU1_WB0_POST_BLEND)) ||
if (devp->parm.port == TVIN_PORT_VIU1_VIDEO)
prop->color_format = TVIN_YUV444;
else if ((devp->parm.port == TVIN_PORT_VIU1) ||
- (devp->parm.port == TVIN_PORT_VIU2)) {
+ (devp->parm.port == TVIN_PORT_VIU2) ||
+ (devp->parm.port == TVIN_PORT_VIU1_WB0_VPP) ||
+ (devp->parm.port == TVIN_PORT_VIU1_WB1_VPP) ||
+ (devp->parm.port == TVIN_PORT_VIU2_WB0_VPP) ||
+ (devp->parm.port == TVIN_PORT_VIU2_WB1_VPP)) {
vinfo = get_current_vinfo();
prop->color_format = vinfo->viu_color_fmt;
} else
TVIN_PORT_VIU1_WB0_VD2,
TVIN_PORT_VIU1_WB0_OSD1,
TVIN_PORT_VIU1_WB0_OSD2,
+ TVIN_PORT_VIU1_WB0_VPP,
TVIN_PORT_VIU1_WB0_POST_BLEND,
TVIN_PORT_VIU1_WB1_VD1,
TVIN_PORT_VIU1_WB1_VD2,
TVIN_PORT_VIU1_WB1_OSD1,
TVIN_PORT_VIU1_WB1_OSD2,
+ TVIN_PORT_VIU1_WB1_VPP,
TVIN_PORT_VIU1_WB1_POST_BLEND,
TVIN_PORT_VIU2 = 0x0000C000,
TVIN_PORT_VIU2_VIDEO,
TVIN_PORT_VIU2_WB0_VD2,
TVIN_PORT_VIU2_WB0_OSD1,
TVIN_PORT_VIU2_WB0_OSD2,
+ TVIN_PORT_VIU2_WB0_VPP,
TVIN_PORT_VIU2_WB0_POST_BLEND,
TVIN_PORT_VIU2_WB1_VD1,
TVIN_PORT_VIU2_WB1_VD2,
TVIN_PORT_VIU2_WB1_OSD1,
TVIN_PORT_VIU2_WB1_OSD2,
+ TVIN_PORT_VIU2_WB1_VPP,
TVIN_PORT_VIU2_WB1_POST_BLEND,
TVIN_PORT_MIPI = 0x00010000,
TVIN_PORT_ISP = 0x00020000,