V4L/DVB (4629): Saa7134: add card support for Proteus Pro 2309
Add card support for Proteus Pro 2309, based on saa7130 bridge Signed-off-by: Michal Majchrowicz <mmajchrowicz@gmail.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Родитель
666c73d9e1
Коммит
b04c1baf48
|
@ -96,3 +96,4 @@
|
|||
95 -> LifeView FlyVIDEO3000 (NTSC) [5169:0138]
|
||||
96 -> Medion Md8800 Quadro [16be:0007,16be:0008]
|
||||
97 -> LifeView FlyDVB-S /Acorp TV134DS [5168:0300,4e42:0300]
|
||||
98 -> Proteus Pro 2309 [0919:2003]
|
||||
|
|
|
@ -32,6 +32,37 @@ IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
|
|||
|
||||
EXPORT_SYMBOL_GPL(ir_codes_empty);
|
||||
|
||||
/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
|
||||
IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = {
|
||||
/* numeric */
|
||||
[ 0x00 ] = KEY_0,
|
||||
[ 0x01 ] = KEY_1,
|
||||
[ 0x02 ] = KEY_2,
|
||||
[ 0x03 ] = KEY_3,
|
||||
[ 0x04 ] = KEY_4,
|
||||
[ 0x05 ] = KEY_5,
|
||||
[ 0x06 ] = KEY_6,
|
||||
[ 0x07 ] = KEY_7,
|
||||
[ 0x08 ] = KEY_8,
|
||||
[ 0x09 ] = KEY_9,
|
||||
|
||||
[ 0x5c ] = KEY_POWER, /* power */
|
||||
[ 0x20 ] = KEY_F, /* full screen */
|
||||
[ 0x0f ] = KEY_BACKSPACE, /* recall */
|
||||
[ 0x1b ] = KEY_ENTER, /* mute */
|
||||
[ 0x41 ] = KEY_RECORD, /* record */
|
||||
[ 0x43 ] = KEY_STOP, /* stop */
|
||||
[ 0x16 ] = KEY_S,
|
||||
[ 0x1a ] = KEY_Q, /* off */
|
||||
[ 0x2e ] = KEY_RED,
|
||||
[ 0x1f ] = KEY_DOWN, /* channel - */
|
||||
[ 0x1c ] = KEY_UP, /* channel + */
|
||||
[ 0x10 ] = KEY_LEFT, /* volume - */
|
||||
[ 0x1e ] = KEY_RIGHT, /* volume + */
|
||||
[ 0x14 ] = KEY_F1,
|
||||
};
|
||||
|
||||
EXPORT_SYMBOL_GPL(ir_codes_proteus_2309);
|
||||
/* Matt Jesson <dvb@jesson.eclipse.co.uk */
|
||||
IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
|
||||
[ 0x28 ] = KEY_0, //'0' / 'enter'
|
||||
|
|
|
@ -2934,7 +2934,37 @@ struct saa7134_board saa7134_boards[] = {
|
|||
.amux = LINE1,
|
||||
}},
|
||||
},
|
||||
|
||||
[SAA7134_BOARD_PROTEUS_2309] = {
|
||||
.name = "Proteus Pro 2309",
|
||||
.audio_clock = 0x00187de7,
|
||||
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
|
||||
.radio_type = UNSET,
|
||||
.tuner_addr = ADDR_UNSET,
|
||||
.radio_addr = ADDR_UNSET,
|
||||
.tda9887_conf = TDA9887_PRESENT,
|
||||
.inputs = {{
|
||||
.name = name_tv,
|
||||
.vmux = 1,
|
||||
.amux = LINE2,
|
||||
.tv = 1,
|
||||
},{
|
||||
.name = name_comp1,
|
||||
.vmux = 0,
|
||||
.amux = LINE2,
|
||||
},{
|
||||
.name = name_comp2,
|
||||
.vmux = 3,
|
||||
.amux = LINE2,
|
||||
},{
|
||||
.name = name_svideo,
|
||||
.vmux = 8,
|
||||
.amux = LINE2,
|
||||
}},
|
||||
.mute = {
|
||||
.name = name_mute,
|
||||
.amux = LINE1,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
|
||||
|
@ -3525,6 +3555,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
|
|||
.subvendor = 0x1489,
|
||||
.subdevice = 0x0502, /* Cardbus version */
|
||||
.driver_data = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,
|
||||
},{
|
||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
|
||||
.subvendor = 0x0919, /* Philips Proteus PRO 2309 */
|
||||
.subdevice = 0x2003,
|
||||
.driver_data = SAA7134_BOARD_PROTEUS_2309,
|
||||
},{
|
||||
/* --- boards without eeprom + subsystem ID --- */
|
||||
.vendor = PCI_VENDOR_ID_PHILIPS,
|
||||
|
@ -3628,6 +3664,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
|
|||
case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS:
|
||||
case SAA7134_BOARD_FLYDVBT_LR301:
|
||||
case SAA7134_BOARD_FLYDVBTDUO:
|
||||
case SAA7134_BOARD_PROTEUS_2309:
|
||||
dev->has_remote = SAA7134_REMOTE_GPIO;
|
||||
break;
|
||||
case SAA7134_BOARD_FLYDVBS_LR300:
|
||||
|
|
|
@ -228,6 +228,12 @@ int saa7134_input_init1(struct saa7134_dev *dev)
|
|||
mask_keyup = 0x400000;
|
||||
polling = 50; // ms
|
||||
break;
|
||||
case SAA7134_BOARD_PROTEUS_2309:
|
||||
ir_codes = ir_codes_proteus_2309;
|
||||
mask_keycode = 0x00007F;
|
||||
mask_keyup = 0x000080;
|
||||
polling = 50; // ms
|
||||
break;
|
||||
case SAA7134_BOARD_VIDEOMATE_DVBT_300:
|
||||
case SAA7134_BOARD_VIDEOMATE_DVBT_200:
|
||||
ir_codes = ir_codes_videomate_tv_pvr;
|
||||
|
|
|
@ -225,6 +225,7 @@ struct saa7134_format {
|
|||
#define SAA7134_BOARD_FLYVIDEO3000_NTSC 95
|
||||
#define SAA7134_BOARD_MEDION_MD8800_QUADRO 96
|
||||
#define SAA7134_BOARD_FLYDVBS_LR300 97
|
||||
#define SAA7134_BOARD_PROTEUS_2309 98
|
||||
|
||||
#define SAA7134_MAXBOARDS 8
|
||||
#define SAA7134_INPUT_MAX 8
|
||||
|
|
|
@ -91,6 +91,7 @@ extern IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE];
|
|||
extern IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE];
|
||||
extern IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE];
|
||||
extern IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE];
|
||||
extern IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE];
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче