From bf51bbb0448e919181294c268a15a2d119ed9a4e Mon Sep 17 00:00:00 2001 From: Daniel Scheller Date: Sun, 9 Apr 2017 16:38:23 -0300 Subject: [PATCH] [media] dvb-frontends/cxd2841er: more configurable TSBITS Bits 3 and 4 of the TSCONFIG register are important for certain hardware constellations, in that they need to be zeroed. Add a configuration flag to toggle this. Signed-off-by: Daniel Scheller Acked-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb-frontends/cxd2841er.c | 4 ++++ drivers/media/dvb-frontends/cxd2841er.h | 1 + 2 files changed, 5 insertions(+) diff --git a/drivers/media/dvb-frontends/cxd2841er.c b/drivers/media/dvb-frontends/cxd2841er.c index 1f577ebe25c6..d9e8be50c5fa 100644 --- a/drivers/media/dvb-frontends/cxd2841er.c +++ b/drivers/media/dvb-frontends/cxd2841er.c @@ -3794,6 +3794,10 @@ static int cxd2841er_init_tc(struct dvb_frontend *fe) cxd2841er_set_reg_bits(priv, I2C_SLVT, 0xc4, ((priv->flags & CXD2841ER_TS_SERIAL) ? 0x80 : 0x00), 0x80); + /* clear TSCFG bits 3+4 */ + if (priv->flags & CXD2841ER_TSBITS) + cxd2841er_set_reg_bits(priv, I2C_SLVT, 0xc4, 0x00, 0x18); + cxd2841er_init_stats(fe); return 0; diff --git a/drivers/media/dvb-frontends/cxd2841er.h b/drivers/media/dvb-frontends/cxd2841er.h index 4f944221c7fe..dc32f5fb6662 100644 --- a/drivers/media/dvb-frontends/cxd2841er.h +++ b/drivers/media/dvb-frontends/cxd2841er.h @@ -31,6 +31,7 @@ #define CXD2841ER_EARLY_TUNE 16 /* bit 4 */ #define CXD2841ER_NO_WAIT_LOCK 32 /* bit 5 */ #define CXD2841ER_NO_AGCNEG 64 /* bit 6 */ +#define CXD2841ER_TSBITS 128 /* bit 7 */ enum cxd2841er_xtal { SONY_XTAL_20500, /* 20.5 MHz */