Commit 4007a672 authored by Michael Krufky's avatar Michael Krufky Committed by Mauro Carvalho Chehab

V4L/DVB (13313): saa7134: add support for FORCE_TS_VALID mode for mpeg ts input

When FORCE_TS_VALID mode is enabled, the saa713x will accept MPEG TS input
without requiring TS_VALID set high.  This is required for some new boards
to function properly, due to the hardware design implementation.

The configuration is toggled within the board setup configuration.  Boards
that do not have this bit set will function as before with no change.
Signed-off-by: default avatarMichael Krufky <mkrufky@kernellabs.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 2e896133
...@@ -262,11 +262,13 @@ int saa7134_ts_start(struct saa7134_dev *dev) ...@@ -262,11 +262,13 @@ int saa7134_ts_start(struct saa7134_dev *dev)
switch (saa7134_boards[dev->board].ts_type) { switch (saa7134_boards[dev->board].ts_type) {
case SAA7134_MPEG_TS_PARALLEL: case SAA7134_MPEG_TS_PARALLEL:
saa_writeb(SAA7134_TS_SERIAL0, 0x40); saa_writeb(SAA7134_TS_SERIAL0, 0x40);
saa_writeb(SAA7134_TS_PARALLEL, 0xec); saa_writeb(SAA7134_TS_PARALLEL, 0xec |
(saa7134_boards[dev->board].ts_force_val << 4));
break; break;
case SAA7134_MPEG_TS_SERIAL: case SAA7134_MPEG_TS_SERIAL:
saa_writeb(SAA7134_TS_SERIAL0, 0xd8); saa_writeb(SAA7134_TS_SERIAL0, 0xd8);
saa_writeb(SAA7134_TS_PARALLEL, 0x6c); saa_writeb(SAA7134_TS_PARALLEL, 0x6c |
(saa7134_boards[dev->board].ts_force_val << 4));
saa_writeb(SAA7134_TS_PARALLEL_SERIAL, 0xbc); saa_writeb(SAA7134_TS_PARALLEL_SERIAL, 0xbc);
saa_writeb(SAA7134_TS_SERIAL1, 0x02); saa_writeb(SAA7134_TS_SERIAL1, 0x02);
break; break;
......
...@@ -360,6 +360,7 @@ struct saa7134_board { ...@@ -360,6 +360,7 @@ struct saa7134_board {
enum saa7134_mpeg_type mpeg; enum saa7134_mpeg_type mpeg;
enum saa7134_mpeg_ts_type ts_type; enum saa7134_mpeg_ts_type ts_type;
unsigned int vid_port_opts; unsigned int vid_port_opts;
unsigned int ts_force_val:1;
}; };
#define card_has_radio(dev) (NULL != saa7134_boards[dev->board].radio.name) #define card_has_radio(dev) (NULL != saa7134_boards[dev->board].radio.name)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment