[media] saa7134: Add support for Snazio TvPVR PRO
This board has PCI ID: 1779:13cf [mchehab@osg.samsung.com: Make scripts/checkpatch.pl happy] Signed-off-by: Pojar George <geoubuntu@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
174ced212c
commit
9c91738d49
4 changed files with 60 additions and 1 deletions
|
@ -194,3 +194,4 @@
|
|||
193 -> WIS Voyager or compatible [1905:7007]
|
||||
194 -> AverMedia AverTV/505 [1461:a10a]
|
||||
195 -> Leadtek Winfast TV2100 FM [107d:6f3a]
|
||||
196 -> SnaZio* TVPVR PRO [1779:13cf]
|
||||
|
|
|
@ -5733,7 +5733,36 @@ struct saa7134_board saa7134_boards[] = {
|
|||
.gpio = 0x08,
|
||||
},
|
||||
},
|
||||
|
||||
[SAA7134_BOARD_SNAZIO_TVPVR_PRO] = {
|
||||
.name = "SnaZio* TVPVR PRO",
|
||||
.audio_clock = 0x00187de7,
|
||||
.tuner_type = TUNER_PHILIPS_TDA8290,
|
||||
.radio_type = UNSET,
|
||||
.tuner_addr = ADDR_UNSET,
|
||||
.radio_addr = ADDR_UNSET,
|
||||
.gpiomask = 1 << 21,
|
||||
.inputs = { {
|
||||
.type = SAA7134_INPUT_TV,
|
||||
.vmux = 1,
|
||||
.amux = TV,
|
||||
.gpio = 0x0000000,
|
||||
}, {
|
||||
.type = SAA7134_INPUT_COMPOSITE1,
|
||||
.vmux = 3,
|
||||
.amux = LINE2,
|
||||
.gpio = 0x0000000,
|
||||
}, {
|
||||
.type = SAA7134_INPUT_SVIDEO,
|
||||
.vmux = 8,
|
||||
.amux = LINE2,
|
||||
.gpio = 0x0000000,
|
||||
} },
|
||||
.radio = {
|
||||
.type = SAA7134_INPUT_RADIO,
|
||||
.amux = TV,
|
||||
.gpio = 0x0200000,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
|
||||
|
@ -7003,6 +7032,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
|
|||
.subvendor = 0x107d,
|
||||
.subdevice = 0x6f3a,
|
||||
.driver_data = SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM,
|
||||
}, {
|
||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
|
||||
.subvendor = 0x1779, /* V One Multimedia PTE Ltd */
|
||||
.subdevice = 0x13cf,
|
||||
.driver_data = SAA7134_BOARD_SNAZIO_TVPVR_PRO,
|
||||
}, {
|
||||
/* --- boards without eeprom + subsystem ID --- */
|
||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||
|
@ -7534,6 +7569,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
|
|||
case SAA7134_BOARD_BEHOLD_H7:
|
||||
case SAA7134_BOARD_BEHOLD_A7:
|
||||
case SAA7134_BOARD_KWORLD_PC150U:
|
||||
case SAA7134_BOARD_SNAZIO_TVPVR_PRO:
|
||||
dev->has_remote = SAA7134_REMOTE_I2C;
|
||||
break;
|
||||
case SAA7134_BOARD_AVERMEDIA_A169_B:
|
||||
|
|
|
@ -975,6 +975,27 @@ void saa7134_probe_i2c_ir(struct saa7134_dev *dev)
|
|||
msg_msi.addr, dev->i2c_adap.name,
|
||||
(1 == rc) ? "yes" : "no");
|
||||
break;
|
||||
case SAA7134_BOARD_SNAZIO_TVPVR_PRO:
|
||||
dev->init_data.name = "SnaZio* TVPVR PRO";
|
||||
dev->init_data.get_key = get_key_msi_tvanywhere_plus;
|
||||
dev->init_data.ir_codes = RC_MAP_MSI_TVANYWHERE_PLUS;
|
||||
/*
|
||||
* MSI TV@nyware Plus requires more frequent polling
|
||||
* otherwise it will miss some keypresses
|
||||
*/
|
||||
dev->init_data.polling_interval = 50;
|
||||
info.addr = 0x30;
|
||||
/*
|
||||
* MSI TV@nywhere Plus controller doesn't seem to
|
||||
* respond to probes unless we read something from
|
||||
* an existing device. Weird...
|
||||
* REVISIT: might no longer be needed
|
||||
*/
|
||||
rc = i2c_transfer(&dev->i2c_adap, &msg_msi, 1);
|
||||
input_dbg("probe 0x%02x @ %s: %s\n",
|
||||
msg_msi.addr, dev->i2c_adap.name,
|
||||
(rc == 1) ? "yes" : "no");
|
||||
break;
|
||||
case SAA7134_BOARD_KWORLD_PC150U:
|
||||
/* copied and modified from MSI TV@nywhere Plus */
|
||||
dev->init_data.name = "Kworld PC150-U";
|
||||
|
|
|
@ -343,6 +343,7 @@ struct saa7134_card_ir {
|
|||
#define SAA7134_BOARD_WIS_VOYAGER 193
|
||||
#define SAA7134_BOARD_AVERMEDIA_505 194
|
||||
#define SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM 195
|
||||
#define SAA7134_BOARD_SNAZIO_TVPVR_PRO 196
|
||||
|
||||
#define SAA7134_MAXBOARDS 32
|
||||
#define SAA7134_INPUT_MAX 8
|
||||
|
|
Loading…
Reference in a new issue