aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJuan Pablo Sormani <sorman@gmail.com>2006-12-27 10:46:36 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-02-21 10:34:16 -0500
commitc36c459a5530da8869a4de832188cdcb75b60359 (patch)
tree1111339e5ca30e1af3b5a181b46fe770273d1eb2 /drivers
parent95efa03bd66511ca9fb4ebc528211166ac842d27 (diff)
V4L/DVB (5015): Add support for more Encore TV cards
Signed-off-by: Juan Pablo Sormani <sorman@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/common/ir-keymaps.c78
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c86
-rw-r--r--drivers/media/video/saa7134/saa7134-input.c7
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
4 files changed, 169 insertions, 3 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c
index 4a54a559d81c..8b290204ff6c 100644
--- a/drivers/media/common/ir-keymaps.c
+++ b/drivers/media/common/ir-keymaps.c
@@ -1660,3 +1660,81 @@ IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = {
1660}; 1660};
1661 1661
1662EXPORT_SYMBOL_GPL(ir_codes_asus_pc39); 1662EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
1663
1664
1665/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1666 Juan Pablo Sormani <sorman@gmail.com> */
1667IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
1668
1669 /* Power button does nothing, neither in Windows app,
1670 although it sends data (used for BIOS wakeup?) */
1671 [ 0x0d ] = KEY_MUTE,
1672
1673 [ 0x1e ] = KEY_TV,
1674 [ 0x00 ] = KEY_VIDEO,
1675 [ 0x01 ] = KEY_AUDIO, /* music */
1676 [ 0x02 ] = KEY_MHP, /* picture */
1677
1678 [ 0x1f ] = KEY_1,
1679 [ 0x03 ] = KEY_2,
1680 [ 0x04 ] = KEY_3,
1681 [ 0x05 ] = KEY_4,
1682 [ 0x1c ] = KEY_5,
1683 [ 0x06 ] = KEY_6,
1684 [ 0x07 ] = KEY_7,
1685 [ 0x08 ] = KEY_8,
1686 [ 0x1d ] = KEY_9,
1687 [ 0x0a ] = KEY_0,
1688
1689 [ 0x09 ] = KEY_LIST, /* -/-- */
1690 [ 0x0b ] = KEY_LAST, /* recall */
1691
1692 [ 0x14 ] = KEY_HOME, /* win start menu */
1693 [ 0x15 ] = KEY_EXIT, /* exit */
1694 [ 0x16 ] = KEY_UP,
1695 [ 0x12 ] = KEY_DOWN,
1696 [ 0x0c ] = KEY_RIGHT,
1697 [ 0x17 ] = KEY_LEFT,
1698
1699 [ 0x18 ] = KEY_ENTER, /* OK */
1700
1701 [ 0x0e ] = KEY_ESC,
1702 [ 0x13 ] = KEY_D, /* desktop */
1703 [ 0x11 ] = KEY_TAB,
1704 [ 0x19 ] = KEY_SWITCHVIDEOMODE, /* switch */
1705
1706 [ 0x1a ] = KEY_MENU,
1707 [ 0x1b ] = KEY_ZOOM, /* fullscreen */
1708 [ 0x44 ] = KEY_TIME, /* time shift */
1709 [ 0x40 ] = KEY_MODE, /* source */
1710
1711 [ 0x5a ] = KEY_RECORD,
1712 [ 0x42 ] = KEY_PLAY, /* play/pause */
1713 [ 0x45 ] = KEY_STOP,
1714 [ 0x43 ] = KEY_CAMERA, /* camera icon */
1715
1716 [ 0x48 ] = KEY_REWIND,
1717 [ 0x4a ] = KEY_FASTFORWARD,
1718 [ 0x49 ] = KEY_PREVIOUS,
1719 [ 0x4b ] = KEY_NEXT,
1720
1721 [ 0x4c ] = KEY_FAVORITES, /* tv wall */
1722 [ 0x4d ] = KEY_SOUND, /* DVD sound */
1723 [ 0x4e ] = KEY_LANGUAGE, /* DVD lang */
1724 [ 0x4f ] = KEY_TEXT, /* DVD text */
1725
1726 [ 0x50 ] = KEY_SLEEP, /* shutdown */
1727 [ 0x51 ] = KEY_MODE, /* stereo > main */
1728 [ 0x52 ] = KEY_SELECT, /* stereo > sap */
1729 [ 0x53 ] = KEY_PROG1, /* teletext */
1730
1731
1732 [ 0x59 ] = KEY_RED, /* AP1 */
1733 [ 0x41 ] = KEY_GREEN, /* AP2 */
1734 [ 0x47 ] = KEY_YELLOW, /* AP3 */
1735 [ 0x57 ] = KEY_BLUE, /* AP4 */
1736
1737
1738};
1739
1740EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 9d26ab48edd4..0403ae9e5b8a 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -3189,8 +3189,10 @@ struct saa7134_board saa7134_boards[] = {
3189 }}, 3189 }},
3190 }, 3190 },
3191 [SAA7134_BOARD_ENCORE_ENLTV] = { 3191 [SAA7134_BOARD_ENCORE_ENLTV] = {
3192 /* Steven Walter <stevenrwalter@gmail.com> */ 3192 /* Steven Walter <stevenrwalter@gmail.com>
3193 Juan Pablo Sormani <sorman@gmail.com> */
3193 .name = "Encore ENLTV", 3194 .name = "Encore ENLTV",
3195 .audio_clock = 0x00200000,
3194 .tuner_type = TUNER_TNF_5335MF, 3196 .tuner_type = TUNER_TNF_5335MF,
3195 .radio_type = UNSET, 3197 .radio_type = UNSET,
3196 .tuner_addr = ADDR_UNSET, 3198 .tuner_addr = ADDR_UNSET,
@@ -3198,13 +3200,71 @@ struct saa7134_board saa7134_boards[] = {
3198 .inputs = {{ 3200 .inputs = {{
3199 .name = name_tv, 3201 .name = name_tv,
3200 .vmux = 1, 3202 .vmux = 1,
3203 .amux = 3,
3204 .tv = 1,
3205 },{
3206 .name = name_tv_mono,
3207 .vmux = 7,
3208 .amux = 4,
3209 .tv = 1,
3210 },{
3211 .name = name_comp1,
3212 .vmux = 3,
3213 .amux = 2,
3214 },{
3215 .name = name_svideo,
3216 .vmux = 0,
3217 .amux = 2,
3218 }},
3219 .radio = {
3220 .name = name_radio,
3201 .amux = LINE2, 3221 .amux = LINE2,
3222/* .gpio = 0x00300001,*/
3223 .gpio = 0x20000,
3224
3225 },
3226 .mute = {
3227 .name = name_mute,
3228 .amux = 0,
3229 },
3230 },
3231 [SAA7134_BOARD_ENCORE_ENLTV_FM] = {
3232 /* Juan Pablo Sormani <sorman@gmail.com> */
3233 .name = "Encore ENLTV-FM",
3234 .audio_clock = 0x00200000,
3235 .tuner_type = TUNER_PHILIPS_ATSC,
3236 .radio_type = UNSET,
3237 .tuner_addr = ADDR_UNSET,
3238 .radio_addr = ADDR_UNSET,
3239 .inputs = {{
3240 .name = name_tv,
3241 .vmux = 1,
3242 .amux = 3,
3202 .tv = 1, 3243 .tv = 1,
3203 },{ 3244 },{
3245 .name = name_tv_mono,
3246 .vmux = 7,
3247 .amux = 4,
3248 .tv = 1,
3249 },{
3250 .name = name_comp1,
3251 .vmux = 3,
3252 .amux = 2,
3253 },{
3204 .name = name_svideo, 3254 .name = name_svideo,
3205 .vmux = 6, 3255 .vmux = 0,
3206 .amux = LINE1, 3256 .amux = 2,
3207 }}, 3257 }},
3258 .radio = {
3259 .name = name_radio,
3260 .amux = LINE2,
3261 .gpio = 0x20000,
3262
3263 },
3264 .mute = {
3265 .name = name_mute,
3266 .amux = 0,
3267 },
3208 }, 3268 },
3209}; 3269};
3210 3270
@@ -3851,6 +3911,24 @@ struct pci_device_id saa7134_pci_tbl[] = {
3851 .subdevice = 0x2342, 3911 .subdevice = 0x2342,
3852 .driver_data = SAA7134_BOARD_ENCORE_ENLTV, 3912 .driver_data = SAA7134_BOARD_ENCORE_ENLTV,
3853 },{ 3913 },{
3914 .vendor = PCI_VENDOR_ID_PHILIPS,
3915 .device = PCI_DEVICE_ID_PHILIPS_SAA7130,
3916 .subvendor = 0x1131,
3917 .subdevice = 0x2341,
3918 .driver_data = SAA7134_BOARD_ENCORE_ENLTV,
3919 },{
3920 .vendor = PCI_VENDOR_ID_PHILIPS,
3921 .device = PCI_DEVICE_ID_PHILIPS_SAA7130,
3922 .subvendor = 0x3016,
3923 .subdevice = 0x2344,
3924 .driver_data = SAA7134_BOARD_ENCORE_ENLTV,
3925 },{
3926 .vendor = PCI_VENDOR_ID_PHILIPS,
3927 .device = PCI_DEVICE_ID_PHILIPS_SAA7130,
3928 .subvendor = 0x1131,
3929 .subdevice = 0x230f,
3930 .driver_data = SAA7134_BOARD_ENCORE_ENLTV_FM,
3931 },{
3854 /* --- boards without eeprom + subsystem ID --- */ 3932 /* --- boards without eeprom + subsystem ID --- */
3855 .vendor = PCI_VENDOR_ID_PHILIPS, 3933 .vendor = PCI_VENDOR_ID_PHILIPS,
3856 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, 3934 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -3959,6 +4037,8 @@ int saa7134_board_init1(struct saa7134_dev *dev)
3959 case SAA7134_BOARD_FLYDVBTDUO: 4037 case SAA7134_BOARD_FLYDVBTDUO:
3960 case SAA7134_BOARD_PROTEUS_2309: 4038 case SAA7134_BOARD_PROTEUS_2309:
3961 case SAA7134_BOARD_AVERMEDIA_A16AR: 4039 case SAA7134_BOARD_AVERMEDIA_A16AR:
4040 case SAA7134_BOARD_ENCORE_ENLTV:
4041 case SAA7134_BOARD_ENCORE_ENLTV_FM:
3962 dev->has_remote = SAA7134_REMOTE_GPIO; 4042 dev->has_remote = SAA7134_REMOTE_GPIO;
3963 break; 4043 break;
3964 case SAA7134_BOARD_FLYDVBS_LR300: 4044 case SAA7134_BOARD_FLYDVBS_LR300:
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c
index 08848ebc682f..1d0dd7e12521 100644
--- a/drivers/media/video/saa7134/saa7134-input.c
+++ b/drivers/media/video/saa7134/saa7134-input.c
@@ -325,6 +325,13 @@ int saa7134_input_init1(struct saa7134_dev *dev)
325 mask_keydown = 0x0040000; 325 mask_keydown = 0x0040000;
326 rc5_gpio = 1; 326 rc5_gpio = 1;
327 break; 327 break;
328 case SAA7134_BOARD_ENCORE_ENLTV:
329 case SAA7134_BOARD_ENCORE_ENLTV_FM:
330 ir_codes = ir_codes_encore_enltv;
331 mask_keycode = 0x00007f;
332 mask_keyup = 0x040000;
333 polling = 50; // ms
334 break;
328 } 335 }
329 if (NULL == ir_codes) { 336 if (NULL == ir_codes) {
330 printk("%s: Oops: IR config error [card=%d]\n", 337 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 6e65fa6f2b3e..ec08412b1c66 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -233,6 +233,7 @@ struct saa7134_format {
233#define SAA7134_BOARD_HAUPPAUGE_HVR1110 104 233#define SAA7134_BOARD_HAUPPAUGE_HVR1110 104
234#define SAA7134_BOARD_CINERGY_HT_PCMCIA 105 234#define SAA7134_BOARD_CINERGY_HT_PCMCIA 105
235#define SAA7134_BOARD_ENCORE_ENLTV 106 235#define SAA7134_BOARD_ENCORE_ENLTV 106
236#define SAA7134_BOARD_ENCORE_ENLTV_FM 107
236 237
237#define SAA7134_MAXBOARDS 8 238#define SAA7134_MAXBOARDS 8
238#define SAA7134_INPUT_MAX 8 239#define SAA7134_INPUT_MAX 8