V4L/DVB (8030): TDA10023: make TS output mode configurable
authorAntti Palosaari <crope@iki.fi>
Tue, 10 Jun 2008 01:53:04 +0000 (22:53 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 20 Jul 2008 10:09:24 +0000 (07:09 -0300)
- make TS output mode configurable

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/frontends/tda10023.c
drivers/media/dvb/frontends/tda1002x.h

index 2996b73cf4b4101b90f150c66bbf634c7f4e8cac..a3c34eecdee9a81315bf68b44c5d6f23923c5cda 100644 (file)
@@ -269,7 +269,8 @@ static int tda10023_init (struct dvb_frontend *fe)
 /* 084 */ 0x02, 0xff, 0x93,  /* AGCCONF1  IFS=1 KAGCIF=2 KAGCTUN=3 */
 /* 087 */ 0x2d, 0xff, 0xf6,  /* SWEEP SWPOS=1 SWDYN=7 SWSTEP=1 SWLEN=2 */
 /* 090 */ 0x04, 0x10, 0x00,  /* SWRAMP=1 */
-/* 093 */ 0x12, 0xff, 0xa1,  /* INTP1 POCLKP=1 FEL=1 MFS=0 */
+/* 093 */ 0x12, 0xff, TDA10023_OUTPUT_MODE_PARALLEL_B, /*
+                               INTP1 POCLKP=1 FEL=1 MFS=0 */
 /* 096 */ 0x2b, 0x01, 0xa1,  /* INTS1 */
 /* 099 */ 0x20, 0xff, 0x04,  /* INTP2 SWAPP=? MSBFIRSTP=? INTPSEL=? */
 /* 102 */ 0x2c, 0xff, 0x0d,  /* INTP/S TRIP=0 TRIS=0 */
@@ -289,6 +290,9 @@ static int tda10023_init (struct dvb_frontend *fe)
                tda10023_inittab[83] = (state->config->deltaf >> 8);
        }
 
+       if (state->config->output_mode)
+               tda10023_inittab[95] = state->config->output_mode;
+
        tda10023_writetab(state, tda10023_inittab);
 
        return 0;
index 4522b7ef53c91e1fc2d851457bfc03308295c7e0..afc0a32eaabd02d0e21ad162a536cd08222c47fa 100644 (file)
@@ -32,6 +32,13 @@ struct tda1002x_config {
        u8 invert;
 };
 
+enum tda10023_output_mode {
+       TDA10023_OUTPUT_MODE_PARALLEL_A = 0xe0,
+       TDA10023_OUTPUT_MODE_PARALLEL_B = 0xa1,
+       TDA10023_OUTPUT_MODE_PARALLEL_C = 0xa0,
+       TDA10023_OUTPUT_MODE_SERIAL, /* TODO: not implemented */
+};
+
 struct tda10023_config {
        /* the demodulator's i2c address */
        u8 demod_address;
@@ -43,6 +50,9 @@ struct tda10023_config {
        u8 pll_p; /* defaults: 4 */
        u8 pll_n; /* defaults: 1 */
 
+       /* MPEG2 TS output mode */
+       u8 output_mode;
+
        /* input freq offset + baseband conversion type */
        u16 deltaf;
 };