diff options
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 3 | ||||
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 78 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 86 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 7 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 | ||||
-rw-r--r-- | include/media/ir-common.h | 1 |
6 files changed, 172 insertions, 4 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index 1a53513c6250..bcba180194e8 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -104,4 +104,5 @@ | |||
104 | 103 -> Compro Videomate DVB-T200A | 104 | 103 -> Compro Videomate DVB-T200A |
105 | 104 -> Hauppauge WinTV-HVR1110 DVB-T/Hybrid [0070:6701] | 105 | 104 -> Hauppauge WinTV-HVR1110 DVB-T/Hybrid [0070:6701] |
106 | 105 -> Terratec Cinergy HT PCMCIA [153b:1172] | 106 | 105 -> Terratec Cinergy HT PCMCIA [153b:1172] |
107 | 106 -> Encore ENLTV [1131:2342] | 107 | 106 -> Encore ENLTV [1131:2342,1131:2341,3016:2344] |
108 | 107 -> Encore ENLTV-FM [1131:230f] | ||
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 | ||
1662 | EXPORT_SYMBOL_GPL(ir_codes_asus_pc39); | 1662 | EXPORT_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> */ | ||
1667 | IR_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 | |||
1740 | EXPORT_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 |
diff --git a/include/media/ir-common.h b/include/media/ir-common.h index c60a30997973..04201f77b85b 100644 --- a/include/media/ir-common.h +++ b/include/media/ir-common.h | |||
@@ -141,6 +141,7 @@ extern IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE]; | |||
141 | extern IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE]; | 141 | extern IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE]; |
142 | extern IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE]; | 142 | extern IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE]; |
143 | extern IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE]; | 143 | extern IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE]; |
144 | extern IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE]; | ||
144 | 145 | ||
145 | #endif | 146 | #endif |
146 | 147 | ||