Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08cdf94c076121cd0214ef9ea18ae3fbb9ace684
Commit:     08cdf94c076121cd0214ef9ea18ae3fbb9ace684
Parent:     d519dcf61ed55bcfb947a31122cea068a73ad974
Author:     Hartmut Hackmann <[EMAIL PROTECTED]>
AuthorDate: Sun Mar 18 19:23:20 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Fri Apr 27 15:44:58 2007 -0300

    V4L/DVB (5458): Tda1004x: add ts_mode option to config struct
    
    The struct tda1004x_config has a new entry: .ts_mode
    Possible values are TDA10046_TS_PARALLEL or TDA10046_TS_SERIAL
    There always is only one interface active, default is parallel.
    
    Signed-off-by: Hartmut Hackmann <[EMAIL PROTECTED]>
    Signed-off-by: Michael Krufky <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/dvb/frontends/tda1004x.c |   11 +++++++++--
 drivers/media/dvb/frontends/tda1004x.h |    8 ++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/drivers/media/dvb/frontends/tda1004x.c 
b/drivers/media/dvb/frontends/tda1004x.c
index f488245..33a8437 100644
--- a/drivers/media/dvb/frontends/tda1004x.c
+++ b/drivers/media/dvb/frontends/tda1004x.c
@@ -657,8 +657,16 @@ static int tda10046_init(struct dvb_frontend* fe)
                tda1004x_write_mask(state, TDA10046H_CONF_POLARITY, 0xf0, 
0x60);  // set AGC polarities
                break;
        }
+       if (state->config->ts_mode == 0) {
+               tda1004x_write_mask(state, TDA10046H_CONF_TRISTATE1, 0xc0, 
0x40);
+               tda1004x_write_mask(state, 0x3a, 0x80, 
state->config->invert_oclk << 7);
+       } else {
+               tda1004x_write_mask(state, TDA10046H_CONF_TRISTATE1, 0xc0, 
0x80);
+               tda1004x_write_mask(state, TDA10046H_CONF_POLARITY, 0x10,
+                                                       
state->config->invert_oclk << 4);
+       }
        tda1004x_write_byteI(state, TDA1004X_CONFADC2, 0x38);
-       tda1004x_write_byteI(state, TDA10046H_CONF_TRISTATE1, 0x79); // Turn IF 
AGC output on
+       tda1004x_write_mask (state, TDA10046H_CONF_TRISTATE1, 0x3e, 0x38); // 
Turn IF AGC output on
        tda1004x_write_byteI(state, TDA10046H_AGC_TUN_MIN, 0);    // }
        tda1004x_write_byteI(state, TDA10046H_AGC_TUN_MAX, 0xff); // } AGC 
min/max values
        tda1004x_write_byteI(state, TDA10046H_AGC_IF_MIN, 0);     // }
@@ -668,7 +676,6 @@ static int tda10046_init(struct dvb_frontend* fe)
        tda1004x_write_byteI(state, TDA1004X_CONF_TS1, 7); // MPEG2 interface 
config
        tda1004x_write_byteI(state, TDA1004X_CONF_TS2, 0xc0); // MPEG2 
interface config
        // tda1004x_write_mask(state, 0x50, 0x80, 0x80);         // handle out 
of guard echoes
-       tda1004x_write_mask(state, 0x3a, 0x80, state->config->invert_oclk << 7);
 
        return 0;
 }
diff --git a/drivers/media/dvb/frontends/tda1004x.h 
b/drivers/media/dvb/frontends/tda1004x.h
index 6badc81..abae843 100644
--- a/drivers/media/dvb/frontends/tda1004x.h
+++ b/drivers/media/dvb/frontends/tda1004x.h
@@ -61,6 +61,11 @@ enum tda10046_if {
        TDA10046_FREQ_052,              /* low IF, 5.1667 MHZ for tda9889 */
 };
 
+enum tda10046_tsout {
+       TDA10046_TS_PARALLEL  = 0x00,   /* parallel transport stream, default */
+       TDA10046_TS_SERIAL    = 0x01,   /* serial transport stream */
+};
+
 struct tda1004x_config
 {
        /* the demodulator's i2c address */
@@ -72,6 +77,9 @@ struct tda1004x_config
        /* Does the OCLK signal need inverted? */
        u8 invert_oclk;
 
+       /* parallel or serial transport stream */
+       enum tda10046_tsout ts_mode;
+
        /* Xtal frequency, 4 or 16MHz*/
        enum tda10046_xtal xtal_freq;
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to