|
@@ -50,6 +50,11 @@ static char name_svideo[] = "S-Video";
|
|
|
/* ------------------------------------------------------------------ */
|
|
|
/* board config info */
|
|
|
|
|
|
+static struct tda18271_std_map aver_a706_std_map = {
|
|
|
+ .fm_radio = { .if_freq = 5500, .fm_rfn = 0, .agc_mode = 3, .std = 0,
|
|
|
+ .if_lvl = 0, .rfagc_top = 0x2c, },
|
|
|
+};
|
|
|
+
|
|
|
/* If radio_type !=UNSET, radio_addr should be specified
|
|
|
*/
|
|
|
|
|
@@ -5790,6 +5795,37 @@ struct saa7134_board saa7134_boards[] = {
|
|
|
.gpio = 0x6010000,
|
|
|
} },
|
|
|
},
|
|
|
+ [SAA7134_BOARD_AVERMEDIA_A706] = {
|
|
|
+ .name = "AverMedia AverTV Satellite Hybrid+FM A706",
|
|
|
+ .audio_clock = 0x00187de7,
|
|
|
+ .tuner_type = TUNER_PHILIPS_TDA8290,
|
|
|
+ .radio_type = UNSET,
|
|
|
+ .tuner_addr = ADDR_UNSET,
|
|
|
+ .radio_addr = ADDR_UNSET,
|
|
|
+ .tda829x_conf = { .lna_cfg = 0, .no_i2c_gate = 1,
|
|
|
+ .tda18271_std_map = &aver_a706_std_map },
|
|
|
+ .gpiomask = 1 << 11,
|
|
|
+ .mpeg = SAA7134_MPEG_DVB,
|
|
|
+ .inputs = {{
|
|
|
+ .name = name_tv,
|
|
|
+ .vmux = 1,
|
|
|
+ .amux = TV,
|
|
|
+ .tv = 1,
|
|
|
+ }, {
|
|
|
+ .name = name_comp,
|
|
|
+ .vmux = 4,
|
|
|
+ .amux = LINE1,
|
|
|
+ }, {
|
|
|
+ .name = name_svideo,
|
|
|
+ .vmux = 8,
|
|
|
+ .amux = LINE1,
|
|
|
+ } },
|
|
|
+ .radio = {
|
|
|
+ .name = name_radio,
|
|
|
+ .amux = TV,
|
|
|
+ .gpio = 0x0000800,
|
|
|
+ },
|
|
|
+ },
|
|
|
|
|
|
};
|
|
|
|
|
@@ -7036,6 +7072,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
|
|
|
.subvendor = 0x6000,
|
|
|
.subdevice = 0x0911,
|
|
|
.driver_data = SAA7134_BOARD_SENSORAY811_911,
|
|
|
+ }, {
|
|
|
+ .vendor = PCI_VENDOR_ID_PHILIPS,
|
|
|
+ .device = PCI_DEVICE_ID_PHILIPS_SAA7133,
|
|
|
+ .subvendor = 0x1461, /* Avermedia Technologies Inc */
|
|
|
+ .subdevice = 0x2055, /* AverTV Satellite Hybrid+FM A706 */
|
|
|
+ .driver_data = SAA7134_BOARD_AVERMEDIA_A706,
|
|
|
}, {
|
|
|
/* --- boards without eeprom + subsystem ID --- */
|
|
|
.vendor = PCI_VENDOR_ID_PHILIPS,
|
|
@@ -7585,6 +7627,17 @@ int saa7134_board_init1(struct saa7134_dev *dev)
|
|
|
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x80040100, 0x80040100);
|
|
|
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x80040100, 0x00040100);
|
|
|
break;
|
|
|
+ case SAA7134_BOARD_AVERMEDIA_A706:
|
|
|
+ /* radio antenna select: tristate both as in Windows driver */
|
|
|
+ saa7134_set_gpio(dev, 12, 3); /* TV antenna */
|
|
|
+ saa7134_set_gpio(dev, 13, 3); /* FM antenna */
|
|
|
+ dev->has_remote = SAA7134_REMOTE_I2C;
|
|
|
+ /*
|
|
|
+ * Disable CE5039 DVB-S tuner now (SLEEP pin high) to prevent
|
|
|
+ * it from interfering with analog tuner detection
|
|
|
+ */
|
|
|
+ saa7134_set_gpio(dev, 23, 1);
|
|
|
+ break;
|
|
|
case SAA7134_BOARD_VIDEOMATE_S350:
|
|
|
dev->has_remote = SAA7134_REMOTE_GPIO;
|
|
|
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x0000C000, 0x0000C000);
|