aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-08-30 12:05:56 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-12 11:19:44 -0400
commit6d888a66be1c50c2f5193c53d6ea556e01dd60e3 (patch)
tree4ce669a005861adffeba8032c3f3f9c5a9816381
parent23389b8852e32824186c76fa4d87f818268adca1 (diff)
V4L/DVB (12591): em28xx: Add entry for GADMEI UTV330+ and related IR keymap
[mchehab@redhat.com: Fix a few wrong IR keymaps] Signed-off-by: Shine Liu <shinel@foxmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--Documentation/video4linux/CARDLIST.em28xx1
-rw-r--r--drivers/media/common/ir-keymaps.c44
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c22
-rw-r--r--drivers/media/video/em28xx/em28xx.h1
-rw-r--r--include/media/ir-common.h1
5 files changed, 69 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.em28xx b/Documentation/video4linux/CARDLIST.em28xx
index 66e5f829577c..b37eff3c9888 100644
--- a/Documentation/video4linux/CARDLIST.em28xx
+++ b/Documentation/video4linux/CARDLIST.em28xx
@@ -67,3 +67,4 @@
67 69 -> KWorld ATSC 315U HDTV TV Box (em2882) [eb1a:a313] 67 69 -> KWorld ATSC 315U HDTV TV Box (em2882) [eb1a:a313]
68 70 -> Evga inDtube (em2882) 68 70 -> Evga inDtube (em2882)
69 71 -> Silvercrest Webcam 1.3mpix (em2820/em2840) 69 71 -> Silvercrest Webcam 1.3mpix (em2820/em2840)
70 72 -> Gadmei UTV330+ (em2861)
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c
index 0b8bfac14313..c93a5269f223 100644
--- a/drivers/media/common/ir-keymaps.c
+++ b/drivers/media/common/ir-keymaps.c
@@ -2826,3 +2826,47 @@ IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE] = {
2826 [0x20] = KEY_TEXT, 2826 [0x20] = KEY_TEXT,
2827}; 2827};
2828EXPORT_SYMBOL_GPL(ir_codes_videomate_s350); 2828EXPORT_SYMBOL_GPL(ir_codes_videomate_s350);
2829
2830
2831/* GADMEI UTV330+ RM008Z remote
2832 Shine Liu <shinel@foxmail.com>
2833 */
2834IR_KEYTAB_TYPE ir_codes_gadmei_rm008z[IR_KEYTAB_SIZE] = {
2835 [0x14] = KEY_POWER2, /* POWER OFF */
2836 [0x0c] = KEY_MUTE, /* MUTE */
2837
2838 [0x18] = KEY_TV, /* TV */
2839 [0x0e] = KEY_VIDEO, /* AV */
2840 [0x0b] = KEY_AUDIO, /* SV */
2841 [0x0f] = KEY_RADIO, /* FM */
2842
2843 [0x00] = KEY_1,
2844 [0x01] = KEY_2,
2845 [0x02] = KEY_3,
2846 [0x03] = KEY_4,
2847 [0x04] = KEY_5,
2848 [0x05] = KEY_6,
2849 [0x06] = KEY_7,
2850 [0x07] = KEY_8,
2851 [0x08] = KEY_9,
2852 [0x09] = KEY_0,
2853 [0x0a] = KEY_INFO, /* OSD */
2854 [0x1c] = KEY_BACKSPACE, /* LAST */
2855
2856 [0x0d] = KEY_PLAY, /* PLAY */
2857 [0x1e] = KEY_CAMERA, /* SNAPSHOT */
2858 [0x1a] = KEY_RECORD, /* RECORD */
2859 [0x17] = KEY_STOP, /* STOP */
2860
2861 [0x1f] = KEY_UP, /* UP */
2862 [0x44] = KEY_DOWN, /* DOWN */
2863 [0x46] = KEY_TAB, /* BACK */
2864 [0x4a] = KEY_ZOOM, /* FULLSECREEN */
2865
2866 [0x10] = KEY_VOLUMEUP, /* VOLUMEUP */
2867 [0x11] = KEY_VOLUMEDOWN, /* VOLUMEDOWN */
2868 [0x12] = KEY_CHANNELUP, /* CHANNELUP */
2869 [0x13] = KEY_CHANNELDOWN, /* CHANNELDOWN */
2870 [0x15] = KEY_ENTER, /* OK */
2871};
2872EXPORT_SYMBOL_GPL(ir_codes_gadmei_rm008z);
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 66c377683708..b184d482c497 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -558,6 +558,27 @@ struct em28xx_board em28xx_boards[] = {
558 .amux = EM28XX_AMUX_LINE_IN, 558 .amux = EM28XX_AMUX_LINE_IN,
559 } }, 559 } },
560 }, 560 },
561 [EM2861_BOARD_GADMEI_UTV330PLUS] = {
562 .name = "Gadmei UTV330+",
563 .tuner_type = TUNER_TNF_5335MF,
564 .tda9887_conf = TDA9887_PRESENT,
565 .ir_codes = ir_codes_gadmei_rm008z,
566 .decoder = EM28XX_SAA711X,
567 .xclk = EM28XX_XCLK_FREQUENCY_12MHZ,
568 .input = { {
569 .type = EM28XX_VMUX_TELEVISION,
570 .vmux = SAA7115_COMPOSITE2,
571 .amux = EM28XX_AMUX_VIDEO,
572 }, {
573 .type = EM28XX_VMUX_COMPOSITE1,
574 .vmux = SAA7115_COMPOSITE0,
575 .amux = EM28XX_AMUX_LINE_IN,
576 }, {
577 .type = EM28XX_VMUX_SVIDEO,
578 .vmux = SAA7115_SVIDEO3,
579 .amux = EM28XX_AMUX_LINE_IN,
580 } },
581 },
561 [EM2860_BOARD_TERRATEC_HYBRID_XS] = { 582 [EM2860_BOARD_TERRATEC_HYBRID_XS] = {
562 .name = "Terratec Cinergy A Hybrid XS", 583 .name = "Terratec Cinergy A Hybrid XS",
563 .valid = EM28XX_BOARD_NOT_VALIDATED, 584 .valid = EM28XX_BOARD_NOT_VALIDATED,
@@ -1676,6 +1697,7 @@ static struct em28xx_hash_table em28xx_i2c_hash[] = {
1676 {0xf51200e3, EM2800_BOARD_VGEAR_POCKETTV, TUNER_LG_PAL_NEW_TAPC}, 1697 {0xf51200e3, EM2800_BOARD_VGEAR_POCKETTV, TUNER_LG_PAL_NEW_TAPC},
1677 {0x1ba50080, EM2860_BOARD_SAA711X_REFERENCE_DESIGN, TUNER_ABSENT}, 1698 {0x1ba50080, EM2860_BOARD_SAA711X_REFERENCE_DESIGN, TUNER_ABSENT},
1678 {0xc51200e3, EM2820_BOARD_GADMEI_TVR200, TUNER_LG_PAL_NEW_TAPC}, 1699 {0xc51200e3, EM2820_BOARD_GADMEI_TVR200, TUNER_LG_PAL_NEW_TAPC},
1700 {0x4ba50080, EM2861_BOARD_GADMEI_UTV330PLUS, TUNER_TNF_5335MF},
1679}; 1701};
1680 1702
1681/* I2C possible address to saa7115, tvp5150, msp3400, tvaudio */ 1703/* I2C possible address to saa7115, tvp5150, msp3400, tvaudio */
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h
index a2add61f7d59..23f34dd691e9 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -108,6 +108,7 @@
108#define EM2882_BOARD_KWORLD_ATSC_315U 69 108#define EM2882_BOARD_KWORLD_ATSC_315U 69
109#define EM2882_BOARD_EVGA_INDTUBE 70 109#define EM2882_BOARD_EVGA_INDTUBE 70
110#define EM2820_BOARD_SILVERCREST_WEBCAM 71 110#define EM2820_BOARD_SILVERCREST_WEBCAM 71
111#define EM2861_BOARD_GADMEI_UTV330PLUS 72
111 112
112/* Limits minimum and default number of buffers */ 113/* Limits minimum and default number of buffers */
113#define EM28XX_MIN_BUF 4 114#define EM28XX_MIN_BUF 4
diff --git a/include/media/ir-common.h b/include/media/ir-common.h
index 8a607db492a5..74a7e55734f0 100644
--- a/include/media/ir-common.h
+++ b/include/media/ir-common.h
@@ -165,6 +165,7 @@ extern IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE];
165extern IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE]; 165extern IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE];
166extern IR_KEYTAB_TYPE ir_codes_terratec_cinergy_xs[IR_KEYTAB_SIZE]; 166extern IR_KEYTAB_TYPE ir_codes_terratec_cinergy_xs[IR_KEYTAB_SIZE];
167extern IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE]; 167extern IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE];
168extern IR_KEYTAB_TYPE ir_codes_gadmei_rm008z[IR_KEYTAB_SIZE];
168 169
169#endif 170#endif
170 171