diff options
author | Antti Palosaari <crope@iki.fi> | 2008-06-09 21:53:04 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-07-20 06:09:24 -0400 |
commit | e75888661a7008503e3d147f92499d9c30ebf6e3 (patch) | |
tree | d10940f81949eb5c3dac24030b233ef1ca89eced /drivers/media/dvb/frontends | |
parent | 584ce48de9e01838402c8e82c78f166775ea3075 (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.c | 6 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/tda1002x.h | 10 |
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 | ||
35 | enum 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 | |||
35 | struct tda10023_config { | 42 | struct 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 | }; |