[media] dvb-frontends/cxd2841er: more configurable TSBITS
authorDaniel Scheller <d.scheller@gmx.net>
Sun, 9 Apr 2017 19:38:23 +0000 (16:38 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 20 Jun 2017 12:56:11 +0000 (09:56 -0300)
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 <d.scheller@gmx.net>
Acked-by: Abylay Ospan <aospan@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/dvb-frontends/cxd2841er.c
drivers/media/dvb-frontends/cxd2841er.h

index 1f577ebe25c6321746939ac86248f4d1329a54d4..d9e8be50c5fa8cfdd30af43a10d6a1fed379dd4e 100644 (file)
@@ -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;
index 4f944221c7fe48180a55116a804e04c776a49489..dc32f5fb66621f9172db6796dcc9848470056f8a 100644 (file)
@@ -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 */