|
@@ -1014,6 +1014,22 @@ static struct tda829x_config tda829x_no_probe = {
|
|
|
.probe_tuner = TDA829X_DONT_PROBE,
|
|
|
};
|
|
|
|
|
|
+static struct tda10048_config zolid_tda10048_config = {
|
|
|
+ .demod_address = 0x10 >> 1,
|
|
|
+ .output_mode = TDA10048_PARALLEL_OUTPUT,
|
|
|
+ .fwbulkwritelen = TDA10048_BULKWRITE_200,
|
|
|
+ .inversion = TDA10048_INVERSION_ON,
|
|
|
+ .dtv6_if_freq_khz = TDA10048_IF_3300,
|
|
|
+ .dtv7_if_freq_khz = TDA10048_IF_3500,
|
|
|
+ .dtv8_if_freq_khz = TDA10048_IF_4000,
|
|
|
+ .clk_freq_khz = TDA10048_CLK_16000,
|
|
|
+ .disable_gate_access = 1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct tda18271_config zolid_tda18271_config = {
|
|
|
+ .gate = TDA18271_GATE_ANALOG,
|
|
|
+};
|
|
|
+
|
|
|
/* ==================================================================
|
|
|
* Core code
|
|
|
*/
|
|
@@ -1488,6 +1504,19 @@ static int dvb_init(struct saa7134_dev *dev)
|
|
|
wprintk("%s: No zl10039 found!\n",
|
|
|
__func__);
|
|
|
|
|
|
+ break;
|
|
|
+ case SAA7134_BOARD_ZOLID_HYBRID_PCI:
|
|
|
+ fe0->dvb.frontend = dvb_attach(tda10048_attach,
|
|
|
+ &zolid_tda10048_config,
|
|
|
+ &dev->i2c_adap);
|
|
|
+ if (fe0->dvb.frontend != NULL) {
|
|
|
+ dvb_attach(tda829x_attach, fe0->dvb.frontend,
|
|
|
+ &dev->i2c_adap, 0x4b,
|
|
|
+ &tda829x_no_probe);
|
|
|
+ dvb_attach(tda18271_attach, fe0->dvb.frontend,
|
|
|
+ 0x60, &dev->i2c_adap,
|
|
|
+ &zolid_tda18271_config);
|
|
|
+ }
|
|
|
break;
|
|
|
default:
|
|
|
wprintk("Huh? unknown DVB card?\n");
|