[PATCH] media: i2c: tvp5150: fix color burst lock instability on some hardware

From: Nasser Afshin
Date: Sun Mar 25 2018 - 18:56:58 EST


According to the datasheet, INTREQ/GPCL/VBLK should have a pull-up/down
resistor if it's been disabled. On hardware that does not have such
resistor, we should use the default output enable value.
This prevents the color burst lock instability problem.

Signed-off-by: Nasser Afshin <Afshin.Nasser@xxxxxxxxx>
---
drivers/media/i2c/tvp5150.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/media/i2c/tvp5150.c b/drivers/media/i2c/tvp5150.c
index 2476d812f669..0e9713814816 100644
--- a/drivers/media/i2c/tvp5150.c
+++ b/drivers/media/i2c/tvp5150.c
@@ -328,7 +328,7 @@ static const struct i2c_reg_value tvp5150_init_default[] = {
TVP5150_OP_MODE_CTL,0x00
},
{ /* 0x03 */
- TVP5150_MISC_CTL,0x01
+ TVP5150_MISC_CTL,0x21
},
{ /* 0x06 */
TVP5150_COLOR_KIL_THSH_CTL,0x10
@@ -1072,7 +1072,8 @@ static int tvp5150_s_stream(struct v4l2_subdev *sd, int enable)
* Enable the YCbCr and clock outputs. In discrete sync mode
* (non-BT.656) additionally enable the the sync outputs.
*/
- val |= TVP5150_MISC_CTL_YCBCR_OE | TVP5150_MISC_CTL_CLOCK_OE;
+ val |= TVP5150_MISC_CTL_YCBCR_OE | TVP5150_MISC_CTL_CLOCK_OE |
+ TVP5150_MISC_CTL_INTREQ_OE;
if (decoder->mbus_type == V4L2_MBUS_PARALLEL)
val |= TVP5150_MISC_CTL_SYNC_OE;
}
--
2.15.0