Commit b04c1baf authored by Michal Majchrowicz's avatar Michal Majchrowicz Committed by Mauro Carvalho Chehab
Browse files

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: default avatarMichal Majchrowicz <mmajchrowicz@gmail.com>
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 666c73d9
......@@ -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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment