diff --git a/drivers/amlogic/media/vin/tvin/tvin_format_table.c b/drivers/amlogic/media/vin/tvin/tvin_format_table.c index ff3ca0f8be3a..4866a2959f30 100644 --- a/drivers/amlogic/media/vin/tvin/tvin_format_table.c +++ b/drivers/amlogic/media/vin/tvin/tvin_format_table.c @@ -1255,7 +1255,7 @@ const unsigned int cvd_part3_table[TVIN_SIG_FMT_CVBS_NTSC_50 - }, /* TVIN_SIG_FMT_CVBS_PAL_CN, */ { 0x00000000, 0x98000000, 0x0000FF08, 0x00000000, 0x8b000000, - 0x0000008c, 0x00000080 + 0x0000008c, 0x00000020 }, /* TVIN_SIG_FMT_CVBS_SECAM, */ { 0x00000000, 0x98000000, 0x0000FF08, 0x00000000, 0x8b000000, diff --git a/drivers/amlogic/media/vin/tvin/vdin/vdin_ctl.c b/drivers/amlogic/media/vin/tvin/vdin/vdin_ctl.c index 97d58d375a3d..dc61bc0c0ad4 100644 --- a/drivers/amlogic/media/vin/tvin/vdin/vdin_ctl.c +++ b/drivers/amlogic/media/vin/tvin/vdin/vdin_ctl.c @@ -1509,7 +1509,8 @@ void vdin_set_matrix(struct vdin_dev_s *devp) devp->color_range_mode); #ifdef CONFIG_AMLOGIC_MEDIA_ENHANCEMENT_DOLBYVISION if ((devp->dv.dolby_input & (1 << devp->index)) || - (devp->dv.dv_flag && is_dolby_vision_enable())) + (devp->dv.dv_flag && is_dolby_vision_enable()) || + devp->parm.info.fmt == TVIN_SIG_FMT_CVBS_SECAM) wr_bits(offset, VDIN_MATRIX_CTRL, 0, VDIN_MATRIX_EN_BIT, VDIN_MATRIX_EN_WID); #endif @@ -1540,6 +1541,9 @@ void vdin_set_matrix(struct vdin_dev_s *devp) devp->prop.color_fmt_range, devp->prop.vdin_hdr_Flag, devp->color_range_mode); + if (devp->parm.info.fmt == TVIN_SIG_FMT_CVBS_SECAM) + wr_bits(offset, VDIN_MATRIX_CTRL, 0, + VDIN_MATRIX_EN_BIT, VDIN_MATRIX_EN_WID); /* set xy */ wr_bits(offset, VDIN_MATRIX_PROBE_POS, rgb_info_y, PROBE_POX_Y_BIT, PROBE_POX_Y_WID);