aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2008-06-09 21:53:04 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-20 06:09:24 -0400
commite75888661a7008503e3d147f92499d9c30ebf6e3 (patch)
treed10940f81949eb5c3dac24030b233ef1ca89eced /drivers/media/dvb/frontends
parent584ce48de9e01838402c8e82c78f166775ea3075 (diff)
V4L/DVB (8030): TDA10023: make TS output mode configurable
- make TS output mode configurable Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/frontends')
-rw-r--r--drivers/media/dvb/frontends/tda10023.c6
-rw-r--r--drivers/media/dvb/frontends/tda1002x.h10
2 files changed, 15 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/tda10023.c b/drivers/media/dvb/frontends/tda10023.c
index 2996b73cf4b4..a3c34eecdee9 100644
--- a/drivers/media/dvb/frontends/tda10023.c
+++ b/drivers/media/dvb/frontends/tda10023.c
@@ -269,7 +269,8 @@ static int tda10023_init (struct dvb_frontend *fe)
269/* 084 */ 0x02, 0xff, 0x93, /* AGCCONF1 IFS=1 KAGCIF=2 KAGCTUN=3 */ 269/* 084 */ 0x02, 0xff, 0x93, /* AGCCONF1 IFS=1 KAGCIF=2 KAGCTUN=3 */
270/* 087 */ 0x2d, 0xff, 0xf6, /* SWEEP SWPOS=1 SWDYN=7 SWSTEP=1 SWLEN=2 */ 270/* 087 */ 0x2d, 0xff, 0xf6, /* SWEEP SWPOS=1 SWDYN=7 SWSTEP=1 SWLEN=2 */
271/* 090 */ 0x04, 0x10, 0x00, /* SWRAMP=1 */ 271/* 090 */ 0x04, 0x10, 0x00, /* SWRAMP=1 */
272/* 093 */ 0x12, 0xff, 0xa1, /* INTP1 POCLKP=1 FEL=1 MFS=0 */ 272/* 093 */ 0x12, 0xff, TDA10023_OUTPUT_MODE_PARALLEL_B, /*
273 INTP1 POCLKP=1 FEL=1 MFS=0 */
273/* 096 */ 0x2b, 0x01, 0xa1, /* INTS1 */ 274/* 096 */ 0x2b, 0x01, 0xa1, /* INTS1 */
274/* 099 */ 0x20, 0xff, 0x04, /* INTP2 SWAPP=? MSBFIRSTP=? INTPSEL=? */ 275/* 099 */ 0x20, 0xff, 0x04, /* INTP2 SWAPP=? MSBFIRSTP=? INTPSEL=? */
275/* 102 */ 0x2c, 0xff, 0x0d, /* INTP/S TRIP=0 TRIS=0 */ 276/* 102 */ 0x2c, 0xff, 0x0d, /* INTP/S TRIP=0 TRIS=0 */
@@ -289,6 +290,9 @@ static int tda10023_init (struct dvb_frontend *fe)
289 tda10023_inittab[83] = (state->config->deltaf >> 8); 290 tda10023_inittab[83] = (state->config->deltaf >> 8);
290 } 291 }
291 292
293 if (state->config->output_mode)
294 tda10023_inittab[95] = state->config->output_mode;
295
292 tda10023_writetab(state, tda10023_inittab); 296 tda10023_writetab(state, tda10023_inittab);
293 297
294 return 0; 298 return 0;
diff --git a/drivers/media/dvb/frontends/tda1002x.h b/drivers/media/dvb/frontends/tda1002x.h
index 4522b7ef53c9..afc0a32eaabd 100644
--- a/drivers/media/dvb/frontends/tda1002x.h
+++ b/drivers/media/dvb/frontends/tda1002x.h
@@ -32,6 +32,13 @@ struct tda1002x_config {
32 u8 invert; 32 u8 invert;
33}; 33};
34 34
35enum tda10023_output_mode {
36 TDA10023_OUTPUT_MODE_PARALLEL_A = 0xe0,
37 TDA10023_OUTPUT_MODE_PARALLEL_B = 0xa1,
38 TDA10023_OUTPUT_MODE_PARALLEL_C = 0xa0,
39 TDA10023_OUTPUT_MODE_SERIAL, /* TODO: not implemented */
40};
41
35struct tda10023_config { 42struct tda10023_config {
36 /* the demodulator's i2c address */ 43 /* the demodulator's i2c address */
37 u8 demod_address; 44 u8 demod_address;
@@ -43,6 +50,9 @@ struct tda10023_config {
43 u8 pll_p; /* defaults: 4 */ 50 u8 pll_p; /* defaults: 4 */
44 u8 pll_n; /* defaults: 1 */ 51 u8 pll_n; /* defaults: 1 */
45 52
53 /* MPEG2 TS output mode */
54 u8 output_mode;
55
46 /* input freq offset + baseband conversion type */ 56 /* input freq offset + baseband conversion type */
47 u16 deltaf; 57 u16 deltaf;
48}; 58};