aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2009-01-13 02:03:26 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:43:16 -0400
commit90a4cc70fa853d83f0a7cc34b960744d8d0280e9 (patch)
treeff78007509902ffc65f821673d33896404350c8f /drivers
parente8944282a76f94bcf84ae3b7a91328bd03835ea1 (diff)
V4L/DVB (10924): saa7134: enable serial transport streaming interface
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/saa7134/saa7134-ts.c15
-rw-r--r--drivers/media/video/saa7134/saa7134.h6
2 files changed, 19 insertions, 2 deletions
diff --git a/drivers/media/video/saa7134/saa7134-ts.c b/drivers/media/video/saa7134/saa7134-ts.c
index ef55a59f0cda..cc8b923afbc0 100644
--- a/drivers/media/video/saa7134/saa7134-ts.c
+++ b/drivers/media/video/saa7134/saa7134-ts.c
@@ -79,8 +79,19 @@ static int buffer_activate(struct saa7134_dev *dev,
79 saa_writeb(SAA7134_TS_SERIAL1, 0x00); 79 saa_writeb(SAA7134_TS_SERIAL1, 0x00);
80 80
81 /* Start TS stream */ 81 /* Start TS stream */
82 saa_writeb(SAA7134_TS_SERIAL0, 0x40); 82 switch (saa7134_boards[dev->board].ts_type) {
83 saa_writeb(SAA7134_TS_PARALLEL, 0xEC); 83 case SAA7134_MPEG_TS_PARALLEL:
84 saa_writeb(SAA7134_TS_SERIAL0, 0x40);
85 saa_writeb(SAA7134_TS_PARALLEL, 0xec);
86 break;
87 case SAA7134_MPEG_TS_SERIAL:
88 saa_writeb(SAA7134_TS_SERIAL0, 0xd8);
89 saa_writeb(SAA7134_TS_PARALLEL, 0x6c);
90 saa_writeb(SAA7134_TS_PARALLEL_SERIAL, 0xbc);
91 saa_writeb(SAA7134_TS_SERIAL1, 0x02);
92 break;
93 }
94
84 dev->ts_state = SAA7134_TS_STARTED; 95 dev->ts_state = SAA7134_TS_STARTED;
85 } 96 }
86 97
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index f078de98ef57..d1498e55bef3 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -312,6 +312,11 @@ enum saa7134_mpeg_type {
312 SAA7134_MPEG_DVB, 312 SAA7134_MPEG_DVB,
313}; 313};
314 314
315enum saa7134_mpeg_ts_type {
316 SAA7134_MPEG_TS_PARALLEL = 0,
317 SAA7134_MPEG_TS_SERIAL,
318};
319
315struct saa7134_board { 320struct saa7134_board {
316 char *name; 321 char *name;
317 unsigned int audio_clock; 322 unsigned int audio_clock;
@@ -334,6 +339,7 @@ struct saa7134_board {
334 /* peripheral I/O */ 339 /* peripheral I/O */
335 enum saa7134_video_out video_out; 340 enum saa7134_video_out video_out;
336 enum saa7134_mpeg_type mpeg; 341 enum saa7134_mpeg_type mpeg;
342 enum saa7134_mpeg_ts_type ts_type;
337 unsigned int vid_port_opts; 343 unsigned int vid_port_opts;
338}; 344};
339 345