diff options
author | Michal Majchrowicz <mmajchrowicz@gmail.com> | 2006-09-13 15:42:42 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-09-26 11:30:36 -0400 |
commit | b04c1baf485f4c3a25d8dbc187156030f9247cb0 (patch) | |
tree | 6768cdbbecbac2e64f4dc0d1e046ccd42044b2a2 /drivers/media | |
parent | 666c73d9e123b9ea230fcb1e2bf47fe0294332a8 (diff) |
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>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 31 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 39 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 6 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
4 files changed, 76 insertions, 1 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c index ce1281445dde..db753443587a 100644 --- a/drivers/media/common/ir-keymaps.c +++ b/drivers/media/common/ir-keymaps.c | |||
@@ -32,6 +32,37 @@ IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = { | |||
32 | 32 | ||
33 | EXPORT_SYMBOL_GPL(ir_codes_empty); | 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 | /* Matt Jesson <dvb@jesson.eclipse.co.uk */ | 66 | /* Matt Jesson <dvb@jesson.eclipse.co.uk */ |
36 | IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = { | 67 | IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = { |
37 | [ 0x28 ] = KEY_0, //'0' / 'enter' | 68 | [ 0x28 ] = KEY_0, //'0' / 'enter' |
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index bd526ad79f5b..aa1db509f3d4 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -2934,7 +2934,37 @@ struct saa7134_board saa7134_boards[] = { | |||
2934 | .amux = LINE1, | 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 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 2970 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
@@ -3526,6 +3556,12 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
3526 | .subdevice = 0x0502, /* Cardbus version */ | 3556 | .subdevice = 0x0502, /* Cardbus version */ |
3527 | .driver_data = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS, | 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 | /* --- boards without eeprom + subsystem ID --- */ | 3565 | /* --- boards without eeprom + subsystem ID --- */ |
3530 | .vendor = PCI_VENDOR_ID_PHILIPS, | 3566 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3531 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | 3567 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
@@ -3628,6 +3664,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
3628 | case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS: | 3664 | case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS: |
3629 | case SAA7134_BOARD_FLYDVBT_LR301: | 3665 | case SAA7134_BOARD_FLYDVBT_LR301: |
3630 | case SAA7134_BOARD_FLYDVBTDUO: | 3666 | case SAA7134_BOARD_FLYDVBTDUO: |
3667 | case SAA7134_BOARD_PROTEUS_2309: | ||
3631 | dev->has_remote = SAA7134_REMOTE_GPIO; | 3668 | dev->has_remote = SAA7134_REMOTE_GPIO; |
3632 | break; | 3669 | break; |
3633 | case SAA7134_BOARD_FLYDVBS_LR300: | 3670 | case SAA7134_BOARD_FLYDVBS_LR300: |
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index 7c595492c56b..f7ea857d5d73 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
@@ -228,6 +228,12 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
228 | mask_keyup = 0x400000; | 228 | mask_keyup = 0x400000; |
229 | polling = 50; // ms | 229 | polling = 50; // ms |
230 | break; | 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 | case SAA7134_BOARD_VIDEOMATE_DVBT_300: | 237 | case SAA7134_BOARD_VIDEOMATE_DVBT_300: |
232 | case SAA7134_BOARD_VIDEOMATE_DVBT_200: | 238 | case SAA7134_BOARD_VIDEOMATE_DVBT_200: |
233 | ir_codes = ir_codes_videomate_tv_pvr; | 239 | ir_codes = ir_codes_videomate_tv_pvr; |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index c2f5181c770c..7db7b9705953 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -225,6 +225,7 @@ struct saa7134_format { | |||
225 | #define SAA7134_BOARD_FLYVIDEO3000_NTSC 95 | 225 | #define SAA7134_BOARD_FLYVIDEO3000_NTSC 95 |
226 | #define SAA7134_BOARD_MEDION_MD8800_QUADRO 96 | 226 | #define SAA7134_BOARD_MEDION_MD8800_QUADRO 96 |
227 | #define SAA7134_BOARD_FLYDVBS_LR300 97 | 227 | #define SAA7134_BOARD_FLYDVBS_LR300 97 |
228 | #define SAA7134_BOARD_PROTEUS_2309 98 | ||
228 | 229 | ||
229 | #define SAA7134_MAXBOARDS 8 | 230 | #define SAA7134_MAXBOARDS 8 |
230 | #define SAA7134_INPUT_MAX 8 | 231 | #define SAA7134_INPUT_MAX 8 |