mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
tvafe: update parameters for AV NTSC [1/1]
PD#SWPL-7283 Problem: display is not good Solution: modify cvd2 0xb0, 0xb1 reg value Verify: x301 Change-Id: Ib512258336d3a6bb14c4eda04488fbaf60e38af0 Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
This commit is contained in:
@@ -447,8 +447,13 @@ static void tvafe_cvd2_write_mode_reg(struct tvafe_cvd2_s *cvd2,
|
||||
|
||||
if (((cvd2->vd_port == TVIN_PORT_CVBS1) ||
|
||||
(cvd2->vd_port == TVIN_PORT_CVBS2)) &&
|
||||
(cvd2->config_fmt == TVIN_SIG_FMT_CVBS_NTSC_M))
|
||||
(cvd2->config_fmt == TVIN_SIG_FMT_CVBS_NTSC_M)) {
|
||||
W_APB_REG(CVD2_VSYNC_SIGNAL_THRESHOLD, 0x7d);
|
||||
if (tvafe_cpu_type() == CPU_TYPE_TL1) {
|
||||
W_APB_REG(CVD2_REG_B0, 0x0);
|
||||
W_APB_REG(CVD2_3DCOMB_FILTER, 0xfd);
|
||||
}
|
||||
}
|
||||
|
||||
/* reload CVD2 reg 0x87, 0x93, 0x94, 0x95, 0x96, 0xe6, 0xfa (int) */
|
||||
W_APB_REG(((CVD_BASE_ADD+CVD_PART3_REG_0)<<2),
|
||||
|
||||
@@ -326,9 +326,8 @@ void tvafe_set_regmap(struct am_regs_s *p)
|
||||
for (i = 0; i < p->length; i++) {
|
||||
switch (p->am_reg[i].type) {
|
||||
case REG_TYPE_PHY:
|
||||
#ifdef PQ_DEBUG_EN
|
||||
tvafe_pr_info("%s: bus type: phy..\n", __func__);
|
||||
#endif
|
||||
if (tvafe_dbg_enable)
|
||||
tvafe_pr_info("%s: bus type: phy..\n", __func__);
|
||||
break;
|
||||
case REG_TYPE_CBUS:
|
||||
if (p->am_reg[i].mask == 0xffffffff)
|
||||
@@ -338,14 +337,13 @@ for (i = 0; i < p->length; i++) {
|
||||
(aml_read_cbus(p->am_reg[i].addr) &
|
||||
(~(p->am_reg[i].mask))) |
|
||||
(p->am_reg[i].val & p->am_reg[i].mask));
|
||||
#ifdef PQ_DEBUG_EN
|
||||
tvafe_pr_info("%s: cbus: Reg0x%x(%u)=0x%x(%u)val=%x(%u)mask=%x(%u)\n",
|
||||
if (tvafe_dbg_enable)
|
||||
tvafe_pr_info("%s: cbus: Reg0x%x(%u)=0x%x(%u)val=%x(%u)mask=%x(%u)\n",
|
||||
__func__, p->am_reg[i].addr, p->am_reg[i].addr,
|
||||
(p->am_reg[i].val & p->am_reg[i].mask),
|
||||
(p->am_reg[i].val & p->am_reg[i].mask),
|
||||
p->am_reg[i].val, p->am_reg[i].val,
|
||||
p->am_reg[i].mask, p->am_reg[i].mask);
|
||||
#endif
|
||||
(p->am_reg[i].val & p->am_reg[i].mask),
|
||||
(p->am_reg[i].val & p->am_reg[i].mask),
|
||||
p->am_reg[i].val, p->am_reg[i].val,
|
||||
p->am_reg[i].mask, p->am_reg[i].mask);
|
||||
break;
|
||||
case REG_TYPE_APB:
|
||||
if (p->am_reg[i].mask == 0xffffffff)
|
||||
@@ -355,20 +353,18 @@ for (i = 0; i < p->length; i++) {
|
||||
(R_APB_REG(p->am_reg[i].addr<<2) &
|
||||
(~(p->am_reg[i].mask))) |
|
||||
(p->am_reg[i].val & p->am_reg[i].mask));
|
||||
#ifdef PQ_DEBUG_EN
|
||||
tvafe_pr_info("%s: apb: Reg0x%x(%u)=0x%x(%u)val=%x(%u)mask=%x(%u)\n",
|
||||
if (tvafe_dbg_enable)
|
||||
tvafe_pr_info("%s: apb: Reg0x%x(%u)=0x%x(%u)val=%x(%u)mask=%x(%u)\n",
|
||||
__func__, p->am_reg[i].addr, p->am_reg[i].addr,
|
||||
(p->am_reg[i].val & p->am_reg[i].mask),
|
||||
(p->am_reg[i].val & p->am_reg[i].mask),
|
||||
p->am_reg[i].val, p->am_reg[i].val,
|
||||
p->am_reg[i].mask, p->am_reg[i].mask);
|
||||
#endif
|
||||
(p->am_reg[i].val & p->am_reg[i].mask),
|
||||
(p->am_reg[i].val & p->am_reg[i].mask),
|
||||
p->am_reg[i].val, p->am_reg[i].val,
|
||||
p->am_reg[i].mask, p->am_reg[i].mask);
|
||||
break;
|
||||
default:
|
||||
#ifdef PQ_DEBUG_EN
|
||||
tvafe_pr_info("%s: bus type error!!!bustype = 0x%x................\n",
|
||||
if (tvafe_dbg_enable)
|
||||
tvafe_pr_info("%s: bus type error!!!bustype = 0x%x................\n",
|
||||
__func__, p->am_reg[i].type);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user