Commit b04c1baf485f4c3a25d8dbc187156030f9247cb0
Committed by
Mauro Carvalho Chehab
1 parent
666c73d9e1
Exists in
master
and in
7 other branches
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>
Showing 6 changed files with 78 additions and 1 deletions Side-by-side Diff
Documentation/video4linux/CARDLIST.saa7134
drivers/media/common/ir-keymaps.c
... | ... | @@ -32,6 +32,37 @@ |
32 | 32 | |
33 | 33 | EXPORT_SYMBOL_GPL(ir_codes_empty); |
34 | 34 | |
35 | +/* Michal Majchrowicz <mmajchrowicz@gmail.com> */ | |
36 | +IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = { | |
37 | + /* numeric */ | |
38 | + [ 0x00 ] = KEY_0, | |
39 | + [ 0x01 ] = KEY_1, | |
40 | + [ 0x02 ] = KEY_2, | |
41 | + [ 0x03 ] = KEY_3, | |
42 | + [ 0x04 ] = KEY_4, | |
43 | + [ 0x05 ] = KEY_5, | |
44 | + [ 0x06 ] = KEY_6, | |
45 | + [ 0x07 ] = KEY_7, | |
46 | + [ 0x08 ] = KEY_8, | |
47 | + [ 0x09 ] = KEY_9, | |
48 | + | |
49 | + [ 0x5c ] = KEY_POWER, /* power */ | |
50 | + [ 0x20 ] = KEY_F, /* full screen */ | |
51 | + [ 0x0f ] = KEY_BACKSPACE, /* recall */ | |
52 | + [ 0x1b ] = KEY_ENTER, /* mute */ | |
53 | + [ 0x41 ] = KEY_RECORD, /* record */ | |
54 | + [ 0x43 ] = KEY_STOP, /* stop */ | |
55 | + [ 0x16 ] = KEY_S, | |
56 | + [ 0x1a ] = KEY_Q, /* off */ | |
57 | + [ 0x2e ] = KEY_RED, | |
58 | + [ 0x1f ] = KEY_DOWN, /* channel - */ | |
59 | + [ 0x1c ] = KEY_UP, /* channel + */ | |
60 | + [ 0x10 ] = KEY_LEFT, /* volume - */ | |
61 | + [ 0x1e ] = KEY_RIGHT, /* volume + */ | |
62 | + [ 0x14 ] = KEY_F1, | |
63 | +}; | |
64 | + | |
65 | +EXPORT_SYMBOL_GPL(ir_codes_proteus_2309); | |
35 | 66 | /* Matt Jesson <dvb@jesson.eclipse.co.uk */ |
36 | 67 | IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = { |
37 | 68 | [ 0x28 ] = KEY_0, //'0' / 'enter' |
drivers/media/video/saa7134/saa7134-cards.c
... | ... | @@ -2934,7 +2934,37 @@ |
2934 | 2934 | .amux = LINE1, |
2935 | 2935 | }}, |
2936 | 2936 | }, |
2937 | - | |
2937 | + [SAA7134_BOARD_PROTEUS_2309] = { | |
2938 | + .name = "Proteus Pro 2309", | |
2939 | + .audio_clock = 0x00187de7, | |
2940 | + .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, | |
2941 | + .radio_type = UNSET, | |
2942 | + .tuner_addr = ADDR_UNSET, | |
2943 | + .radio_addr = ADDR_UNSET, | |
2944 | + .tda9887_conf = TDA9887_PRESENT, | |
2945 | + .inputs = {{ | |
2946 | + .name = name_tv, | |
2947 | + .vmux = 1, | |
2948 | + .amux = LINE2, | |
2949 | + .tv = 1, | |
2950 | + },{ | |
2951 | + .name = name_comp1, | |
2952 | + .vmux = 0, | |
2953 | + .amux = LINE2, | |
2954 | + },{ | |
2955 | + .name = name_comp2, | |
2956 | + .vmux = 3, | |
2957 | + .amux = LINE2, | |
2958 | + },{ | |
2959 | + .name = name_svideo, | |
2960 | + .vmux = 8, | |
2961 | + .amux = LINE2, | |
2962 | + }}, | |
2963 | + .mute = { | |
2964 | + .name = name_mute, | |
2965 | + .amux = LINE1, | |
2966 | + }, | |
2967 | + }, | |
2938 | 2968 | }; |
2939 | 2969 | |
2940 | 2970 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
... | ... | @@ -3526,6 +3556,12 @@ |
3526 | 3556 | .subdevice = 0x0502, /* Cardbus version */ |
3527 | 3557 | .driver_data = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS, |
3528 | 3558 | },{ |
3559 | + .vendor = PCI_VENDOR_ID_PHILIPS, | |
3560 | + .device = PCI_DEVICE_ID_PHILIPS_SAA7130, | |
3561 | + .subvendor = 0x0919, /* Philips Proteus PRO 2309 */ | |
3562 | + .subdevice = 0x2003, | |
3563 | + .driver_data = SAA7134_BOARD_PROTEUS_2309, | |
3564 | + },{ | |
3529 | 3565 | /* --- boards without eeprom + subsystem ID --- */ |
3530 | 3566 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3531 | 3567 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
... | ... | @@ -3628,6 +3664,7 @@ |
3628 | 3664 | case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS: |
3629 | 3665 | case SAA7134_BOARD_FLYDVBT_LR301: |
3630 | 3666 | case SAA7134_BOARD_FLYDVBTDUO: |
3667 | + case SAA7134_BOARD_PROTEUS_2309: | |
3631 | 3668 | dev->has_remote = SAA7134_REMOTE_GPIO; |
3632 | 3669 | break; |
3633 | 3670 | case SAA7134_BOARD_FLYDVBS_LR300: |
drivers/media/video/saa7134/saa7134-input.c
... | ... | @@ -228,6 +228,12 @@ |
228 | 228 | mask_keyup = 0x400000; |
229 | 229 | polling = 50; // ms |
230 | 230 | break; |
231 | + case SAA7134_BOARD_PROTEUS_2309: | |
232 | + ir_codes = ir_codes_proteus_2309; | |
233 | + mask_keycode = 0x00007F; | |
234 | + mask_keyup = 0x000080; | |
235 | + polling = 50; // ms | |
236 | + break; | |
231 | 237 | case SAA7134_BOARD_VIDEOMATE_DVBT_300: |
232 | 238 | case SAA7134_BOARD_VIDEOMATE_DVBT_200: |
233 | 239 | ir_codes = ir_codes_videomate_tv_pvr; |
drivers/media/video/saa7134/saa7134.h
... | ... | @@ -225,6 +225,7 @@ |
225 | 225 | #define SAA7134_BOARD_FLYVIDEO3000_NTSC 95 |
226 | 226 | #define SAA7134_BOARD_MEDION_MD8800_QUADRO 96 |
227 | 227 | #define SAA7134_BOARD_FLYDVBS_LR300 97 |
228 | +#define SAA7134_BOARD_PROTEUS_2309 98 | |
228 | 229 | |
229 | 230 | #define SAA7134_MAXBOARDS 8 |
230 | 231 | #define SAA7134_INPUT_MAX 8 |
include/media/ir-common.h
... | ... | @@ -91,6 +91,7 @@ |
91 | 91 | extern IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE]; |
92 | 92 | extern IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE]; |
93 | 93 | extern IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE]; |
94 | +extern IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE]; | |
94 | 95 | |
95 | 96 | #endif |
96 | 97 |