saa_writeb(SAA7134_TS_SERIAL1, 0x00);
 
                /* Start TS stream */
-               saa_writeb(SAA7134_TS_SERIAL0, 0x40);
-               saa_writeb(SAA7134_TS_PARALLEL, 0xEC);
+               switch (saa7134_boards[dev->board].ts_type) {
+               case SAA7134_MPEG_TS_PARALLEL:
+                       saa_writeb(SAA7134_TS_SERIAL0, 0x40);
+                       saa_writeb(SAA7134_TS_PARALLEL, 0xec);
+                       break;
+               case SAA7134_MPEG_TS_SERIAL:
+                       saa_writeb(SAA7134_TS_SERIAL0, 0xd8);
+                       saa_writeb(SAA7134_TS_PARALLEL, 0x6c);
+                       saa_writeb(SAA7134_TS_PARALLEL_SERIAL, 0xbc);
+                       saa_writeb(SAA7134_TS_SERIAL1, 0x02);
+                       break;
+               }
+
                dev->ts_state = SAA7134_TS_STARTED;
        }
 
 
        SAA7134_MPEG_DVB,
 };
 
+enum saa7134_mpeg_ts_type {
+       SAA7134_MPEG_TS_PARALLEL = 0,
+       SAA7134_MPEG_TS_SERIAL,
+};
+
 struct saa7134_board {
        char                    *name;
        unsigned int            audio_clock;
        /* peripheral I/O */
        enum saa7134_video_out  video_out;
        enum saa7134_mpeg_type  mpeg;
+       enum saa7134_mpeg_ts_type ts_type;
        unsigned int            vid_port_opts;
 };