Commit 6c119ff493039af862ae57d88d52b4383c9d8ece

Authored by Henk Vergonet
Committed by Mauro Carvalho Chehab
1 parent 2d21ffe05a

V4L/DVB (13002): Adds support for Zolid Hybrid PCI card:

http://linuxtv.org/wiki/index.php/Zolid_Hybrid_TV_Tuner

test status analog (PAL-B):
- Sometimes picture is noisy, but it becomes crystal clear after
  switching between channels. (happens for example at 687.25 Mhz)
- On a lower frequency (511.25 Mhz) the picture is always sharp, but
  lacks colour.
- No sound problems.
- radio untested.

Digital:
- DVB-T/H stream reception works.
- Would expect to see some more channels in the higher frequency region.

Overall is the impression that sensitivity still needs improvement
both in analog and digital modes.

Signed-off-by: Henk Vergonet <Henk.Vergonet@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

Showing 4 changed files with 58 additions and 0 deletions Side-by-side Diff

Documentation/video4linux/CARDLIST.saa7134
... ... @@ -171,4 +171,5 @@
171 171 170 -> AverMedia AverTV Studio 505 [1461:a115]
172 172 171 -> Beholder BeholdTV X7 [5ace:7595]
173 173 172 -> RoverMedia TV Link Pro FM [19d1:0138]
  174 +173 -> Zolid Hybrid TV Tuner PCI [1131:2004]
drivers/media/video/saa7134/saa7134-cards.c
... ... @@ -5257,6 +5257,27 @@
5257 5257 .amux = TV,
5258 5258 },
5259 5259 },
  5260 + [SAA7134_BOARD_ZOLID_HYBRID_PCI] = {
  5261 + .name = "Zolid Hybrid TV Tuner PCI",
  5262 + .audio_clock = 0x00187de7,
  5263 + .tuner_type = TUNER_PHILIPS_TDA8290,
  5264 + .radio_type = UNSET,
  5265 + .tuner_addr = ADDR_UNSET,
  5266 + .radio_addr = ADDR_UNSET,
  5267 + .tuner_config = 0,
  5268 + .mpeg = SAA7134_MPEG_DVB,
  5269 + .ts_type = SAA7134_MPEG_TS_PARALLEL,
  5270 + .inputs = {{
  5271 + .name = name_tv,
  5272 + .vmux = 1,
  5273 + .amux = TV,
  5274 + .tv = 1,
  5275 + } },
  5276 + .radio = { /* untested */
  5277 + .name = name_radio,
  5278 + .amux = TV,
  5279 + },
  5280 + },
5260 5281  
5261 5282 };
5262 5283  
... ... @@ -6389,6 +6410,12 @@
6389 6410 .subvendor = 0x19d1, /* RoverMedia */
6390 6411 .subdevice = 0x0138, /* LifeView FlyTV Prime30 OEM */
6391 6412 .driver_data = SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM,
  6413 + }, {
  6414 + .vendor = PCI_VENDOR_ID_PHILIPS,
  6415 + .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
  6416 + .subvendor = PCI_VENDOR_ID_PHILIPS,
  6417 + .subdevice = 0x2004,
  6418 + .driver_data = SAA7134_BOARD_ZOLID_HYBRID_PCI,
6392 6419 }, {
6393 6420 /* --- boards without eeprom + subsystem ID --- */
6394 6421 .vendor = PCI_VENDOR_ID_PHILIPS,
drivers/media/video/saa7134/saa7134-dvb.c
... ... @@ -1014,6 +1014,22 @@
1014 1014 .probe_tuner = TDA829X_DONT_PROBE,
1015 1015 };
1016 1016  
  1017 +static struct tda10048_config zolid_tda10048_config = {
  1018 + .demod_address = 0x10 >> 1,
  1019 + .output_mode = TDA10048_PARALLEL_OUTPUT,
  1020 + .fwbulkwritelen = TDA10048_BULKWRITE_200,
  1021 + .inversion = TDA10048_INVERSION_ON,
  1022 + .dtv6_if_freq_khz = TDA10048_IF_3300,
  1023 + .dtv7_if_freq_khz = TDA10048_IF_3500,
  1024 + .dtv8_if_freq_khz = TDA10048_IF_4000,
  1025 + .clk_freq_khz = TDA10048_CLK_16000,
  1026 + .disable_gate_access = 1,
  1027 +};
  1028 +
  1029 +static struct tda18271_config zolid_tda18271_config = {
  1030 + .gate = TDA18271_GATE_ANALOG,
  1031 +};
  1032 +
1017 1033 /* ==================================================================
1018 1034 * Core code
1019 1035 */
... ... @@ -1488,6 +1504,19 @@
1488 1504 wprintk("%s: No zl10039 found!\n",
1489 1505 __func__);
1490 1506  
  1507 + break;
  1508 + case SAA7134_BOARD_ZOLID_HYBRID_PCI:
  1509 + fe0->dvb.frontend = dvb_attach(tda10048_attach,
  1510 + &zolid_tda10048_config,
  1511 + &dev->i2c_adap);
  1512 + if (fe0->dvb.frontend != NULL) {
  1513 + dvb_attach(tda829x_attach, fe0->dvb.frontend,
  1514 + &dev->i2c_adap, 0x4b,
  1515 + &tda829x_no_probe);
  1516 + dvb_attach(tda18271_attach, fe0->dvb.frontend,
  1517 + 0x60, &dev->i2c_adap,
  1518 + &zolid_tda18271_config);
  1519 + }
1491 1520 break;
1492 1521 default:
1493 1522 wprintk("Huh? unknown DVB card?\n");
drivers/media/video/saa7134/saa7134.h
... ... @@ -296,6 +296,7 @@
296 296 #define SAA7134_BOARD_AVERMEDIA_STUDIO_505 170
297 297 #define SAA7134_BOARD_BEHOLD_X7 171
298 298 #define SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM 172
  299 +#define SAA7134_BOARD_ZOLID_HYBRID_PCI 173
299 300  
300 301 #define SAA7134_MAXBOARDS 32
301 302 #define SAA7134_INPUT_MAX 8