diff options
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/rc/keymaps/Makefile | 1 | ||||
-rw-r--r-- | drivers/media/rc/keymaps/rc-videomate-m1f.c | 92 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 38 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 5 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 | ||||
-rw-r--r-- | include/media/rc-map.h | 1 |
7 files changed, 139 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index 8d9afc7d8014..8db1a94e6986 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -180,3 +180,4 @@ | |||
180 | 179 -> Beholder BeholdTV A7 [5ace:7090] | 180 | 179 -> Beholder BeholdTV A7 [5ace:7090] |
181 | 180 -> Avermedia PCI M733A [1461:4155,1461:4255] | 181 | 180 -> Avermedia PCI M733A [1461:4155,1461:4255] |
182 | 181 -> TechoTrend TT-budget T-3000 [13c2:2804] | 182 | 181 -> TechoTrend TT-budget T-3000 [13c2:2804] |
183 | 183 -> Compro VideoMate Vista M1F [185b:c900] | ||
diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile index 148900f443d2..0659e9f50144 100644 --- a/drivers/media/rc/keymaps/Makefile +++ b/drivers/media/rc/keymaps/Makefile | |||
@@ -81,6 +81,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ | |||
81 | rc-trekstor.o \ | 81 | rc-trekstor.o \ |
82 | rc-tt-1500.o \ | 82 | rc-tt-1500.o \ |
83 | rc-twinhan1027.o \ | 83 | rc-twinhan1027.o \ |
84 | rc-videomate-m1f.o \ | ||
84 | rc-videomate-s350.o \ | 85 | rc-videomate-s350.o \ |
85 | rc-videomate-tv-pvr.o \ | 86 | rc-videomate-tv-pvr.o \ |
86 | rc-winfast.o \ | 87 | rc-winfast.o \ |
diff --git a/drivers/media/rc/keymaps/rc-videomate-m1f.c b/drivers/media/rc/keymaps/rc-videomate-m1f.c new file mode 100644 index 000000000000..4994d405c0a1 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-videomate-m1f.c | |||
@@ -0,0 +1,92 @@ | |||
1 | /* videomate-m1f.h - Keytable for videomate_m1f Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Pavel Osnova <pvosnova@gmail.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table videomate_m1f[] = { | ||
16 | { 0x01, KEY_POWER }, | ||
17 | { 0x31, KEY_TUNER }, | ||
18 | { 0x33, KEY_VIDEO }, | ||
19 | { 0x2f, KEY_RADIO }, | ||
20 | { 0x30, KEY_CAMERA }, | ||
21 | { 0x2d, KEY_NEW }, /* TV record button */ | ||
22 | { 0x17, KEY_CYCLEWINDOWS }, | ||
23 | { 0x2c, KEY_ANGLE }, | ||
24 | { 0x2b, KEY_LANGUAGE }, | ||
25 | { 0x32, KEY_SEARCH }, /* '...' button */ | ||
26 | { 0x11, KEY_UP }, | ||
27 | { 0x13, KEY_LEFT }, | ||
28 | { 0x15, KEY_OK }, | ||
29 | { 0x14, KEY_RIGHT }, | ||
30 | { 0x12, KEY_DOWN }, | ||
31 | { 0x16, KEY_BACKSPACE }, | ||
32 | { 0x02, KEY_ZOOM }, /* WIN key */ | ||
33 | { 0x04, KEY_INFO }, | ||
34 | { 0x05, KEY_VOLUMEUP }, | ||
35 | { 0x03, KEY_MUTE }, | ||
36 | { 0x07, KEY_CHANNELUP }, | ||
37 | { 0x06, KEY_VOLUMEDOWN }, | ||
38 | { 0x08, KEY_CHANNELDOWN }, | ||
39 | { 0x0c, KEY_RECORD }, | ||
40 | { 0x0e, KEY_STOP }, | ||
41 | { 0x0a, KEY_BACK }, | ||
42 | { 0x0b, KEY_PLAY }, | ||
43 | { 0x09, KEY_FORWARD }, | ||
44 | { 0x10, KEY_PREVIOUS }, | ||
45 | { 0x0d, KEY_PAUSE }, | ||
46 | { 0x0f, KEY_NEXT }, | ||
47 | { 0x1e, KEY_1 }, | ||
48 | { 0x1f, KEY_2 }, | ||
49 | { 0x20, KEY_3 }, | ||
50 | { 0x21, KEY_4 }, | ||
51 | { 0x22, KEY_5 }, | ||
52 | { 0x23, KEY_6 }, | ||
53 | { 0x24, KEY_7 }, | ||
54 | { 0x25, KEY_8 }, | ||
55 | { 0x26, KEY_9 }, | ||
56 | { 0x2a, KEY_NUMERIC_STAR }, /* * key */ | ||
57 | { 0x1d, KEY_0 }, | ||
58 | { 0x29, KEY_SUBTITLE }, /* # key */ | ||
59 | { 0x27, KEY_CLEAR }, | ||
60 | { 0x34, KEY_SCREEN }, | ||
61 | { 0x28, KEY_ENTER }, | ||
62 | { 0x19, KEY_RED }, | ||
63 | { 0x1a, KEY_GREEN }, | ||
64 | { 0x1b, KEY_YELLOW }, | ||
65 | { 0x1c, KEY_BLUE }, | ||
66 | { 0x18, KEY_TEXT }, | ||
67 | }; | ||
68 | |||
69 | static struct rc_map_list videomate_m1f_map = { | ||
70 | .map = { | ||
71 | .scan = videomate_m1f, | ||
72 | .size = ARRAY_SIZE(videomate_m1f), | ||
73 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
74 | .name = RC_MAP_VIDEOMATE_M1F, | ||
75 | } | ||
76 | }; | ||
77 | |||
78 | static int __init init_rc_map_videomate_m1f(void) | ||
79 | { | ||
80 | return rc_map_register(&videomate_m1f_map); | ||
81 | } | ||
82 | |||
83 | static void __exit exit_rc_map_videomate_m1f(void) | ||
84 | { | ||
85 | rc_map_unregister(&videomate_m1f_map); | ||
86 | } | ||
87 | |||
88 | module_init(init_rc_map_videomate_m1f) | ||
89 | module_exit(exit_rc_map_videomate_m1f) | ||
90 | |||
91 | MODULE_LICENSE("GPL"); | ||
92 | MODULE_AUTHOR("Pavel Osnova <pvosnova@gmail.com>"); | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index ff23e6ebdde4..e7aa588c6c5a 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -5538,6 +5538,37 @@ struct saa7134_board saa7134_boards[] = { | |||
5538 | .amux = LINE2, | 5538 | .amux = LINE2, |
5539 | } }, | 5539 | } }, |
5540 | }, | 5540 | }, |
5541 | [SAA7134_BOARD_VIDEOMATE_M1F] = { | ||
5542 | /* Pavel Osnova <pvosnova@gmail.com> */ | ||
5543 | .name = "Compro VideoMate Vista M1F", | ||
5544 | .audio_clock = 0x00187de7, | ||
5545 | .tuner_type = TUNER_LG_PAL_NEW_TAPC, | ||
5546 | .radio_type = TUNER_TEA5767, | ||
5547 | .tuner_addr = ADDR_UNSET, | ||
5548 | .radio_addr = 0x60, | ||
5549 | .inputs = { { | ||
5550 | .name = name_tv, | ||
5551 | .vmux = 1, | ||
5552 | .amux = TV, | ||
5553 | .tv = 1, | ||
5554 | }, { | ||
5555 | .name = name_comp1, | ||
5556 | .vmux = 3, | ||
5557 | .amux = LINE2, | ||
5558 | }, { | ||
5559 | .name = name_svideo, | ||
5560 | .vmux = 8, | ||
5561 | .amux = LINE2, | ||
5562 | } }, | ||
5563 | .radio = { | ||
5564 | .name = name_radio, | ||
5565 | .amux = LINE1, | ||
5566 | }, | ||
5567 | .mute = { | ||
5568 | .name = name_mute, | ||
5569 | .amux = TV, | ||
5570 | }, | ||
5571 | }, | ||
5541 | 5572 | ||
5542 | }; | 5573 | }; |
5543 | 5574 | ||
@@ -6731,6 +6762,12 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
6731 | .subdevice = 0x7090, | 6762 | .subdevice = 0x7090, |
6732 | .driver_data = SAA7134_BOARD_BEHOLD_A7, | 6763 | .driver_data = SAA7134_BOARD_BEHOLD_A7, |
6733 | }, { | 6764 | }, { |
6765 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
6766 | .device = PCI_DEVICE_ID_PHILIPS_SAA7135, | ||
6767 | .subvendor = 0x185b, | ||
6768 | .subdevice = 0xc900, | ||
6769 | .driver_data = SAA7134_BOARD_VIDEOMATE_M1F, | ||
6770 | }, { | ||
6734 | /* --- boards without eeprom + subsystem ID --- */ | 6771 | /* --- boards without eeprom + subsystem ID --- */ |
6735 | .vendor = PCI_VENDOR_ID_PHILIPS, | 6772 | .vendor = PCI_VENDOR_ID_PHILIPS, |
6736 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | 6773 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
@@ -7046,6 +7083,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
7046 | case SAA7134_BOARD_VIDEOMATE_TV_PVR: | 7083 | case SAA7134_BOARD_VIDEOMATE_TV_PVR: |
7047 | case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS: | 7084 | case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS: |
7048 | case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII: | 7085 | case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII: |
7086 | case SAA7134_BOARD_VIDEOMATE_M1F: | ||
7049 | case SAA7134_BOARD_VIDEOMATE_DVBT_300: | 7087 | case SAA7134_BOARD_VIDEOMATE_DVBT_300: |
7050 | case SAA7134_BOARD_VIDEOMATE_DVBT_200: | 7088 | case SAA7134_BOARD_VIDEOMATE_DVBT_200: |
7051 | case SAA7134_BOARD_VIDEOMATE_DVBT_200A: | 7089 | case SAA7134_BOARD_VIDEOMATE_DVBT_200A: |
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index 98678d941847..dc646e65edb7 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
@@ -721,6 +721,11 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
721 | mask_keyup = 0x020000; | 721 | mask_keyup = 0x020000; |
722 | polling = 50; /* ms */ | 722 | polling = 50; /* ms */ |
723 | break; | 723 | break; |
724 | case SAA7134_BOARD_VIDEOMATE_M1F: | ||
725 | ir_codes = RC_MAP_VIDEOMATE_M1F; | ||
726 | mask_keycode = 0x0ff00; | ||
727 | mask_keyup = 0x040000; | ||
728 | break; | ||
724 | } | 729 | } |
725 | if (NULL == ir_codes) { | 730 | if (NULL == ir_codes) { |
726 | printk("%s: Oops: IR config error [card=%d]\n", | 731 | printk("%s: Oops: IR config error [card=%d]\n", |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index babfbe7543eb..5b0a347b0b8f 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -326,6 +326,7 @@ struct saa7134_card_ir { | |||
326 | #define SAA7134_BOARD_AVERMEDIA_M733A 180 | 326 | #define SAA7134_BOARD_AVERMEDIA_M733A 180 |
327 | #define SAA7134_BOARD_TECHNOTREND_BUDGET_T3000 181 | 327 | #define SAA7134_BOARD_TECHNOTREND_BUDGET_T3000 181 |
328 | #define SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG 182 | 328 | #define SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG 182 |
329 | #define SAA7134_BOARD_VIDEOMATE_M1F 183 | ||
329 | 330 | ||
330 | #define SAA7134_MAXBOARDS 32 | 331 | #define SAA7134_MAXBOARDS 32 |
331 | #define SAA7134_INPUT_MAX 8 | 332 | #define SAA7134_INPUT_MAX 8 |
diff --git a/include/media/rc-map.h b/include/media/rc-map.h index 5d3a45748767..ee9e2f747c76 100644 --- a/include/media/rc-map.h +++ b/include/media/rc-map.h | |||
@@ -138,6 +138,7 @@ void rc_map_init(void); | |||
138 | #define RC_MAP_TREKSTOR "rc-trekstor" | 138 | #define RC_MAP_TREKSTOR "rc-trekstor" |
139 | #define RC_MAP_TT_1500 "rc-tt-1500" | 139 | #define RC_MAP_TT_1500 "rc-tt-1500" |
140 | #define RC_MAP_TWINHAN_VP1027_DVBS "rc-twinhan1027" | 140 | #define RC_MAP_TWINHAN_VP1027_DVBS "rc-twinhan1027" |
141 | #define RC_MAP_VIDEOMATE_M1F "rc-videomate-m1f" | ||
141 | #define RC_MAP_VIDEOMATE_S350 "rc-videomate-s350" | 142 | #define RC_MAP_VIDEOMATE_S350 "rc-videomate-s350" |
142 | #define RC_MAP_VIDEOMATE_TV_PVR "rc-videomate-tv-pvr" | 143 | #define RC_MAP_VIDEOMATE_TV_PVR "rc-videomate-tv-pvr" |
143 | #define RC_MAP_WINFAST "rc-winfast" | 144 | #define RC_MAP_WINFAST "rc-winfast" |