diff options
author | Alain Kalker <miki@dds.nl> | 2008-11-17 15:20:38 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-12-29 14:53:36 -0500 |
commit | 0537156f6ca44193f70e91b636a25724aaa1e53b (patch) | |
tree | e0bd99f300cdad9c033310cce52dd793452f0a47 /drivers/media | |
parent | 308bb52c192cc1bad3c90c82dbd90e7fff176caa (diff) |
V4L/DVB (9665): af9015: Add support for the Digittrade DVB-T USB Stick remote
Adds support for the Digittrade DVB-T USB Stick remote.
As the Digittrade USB stick identifies itself as a generic Afatech AF9015
device, the remote cannot be autodetected. To enable it, add the following
to /etc/modprobe.d/dvb-usb-af9015 or /etc/modprobe.conf:
options dvb-usb-af9015 remote=4
Signed-off-by: Alain Kalker <miki@dds.nl>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb/dvb-usb/af9015.c | 10 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-usb/af9015.h | 64 |
2 files changed, 74 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-usb/af9015.c b/drivers/media/dvb/dvb-usb/af9015.c index 6076147b9cd4..2677f20daa9b 100644 --- a/drivers/media/dvb/dvb-usb/af9015.c +++ b/drivers/media/dvb/dvb-usb/af9015.c | |||
@@ -733,6 +733,16 @@ static int af9015_read_config(struct usb_device *udev) | |||
733 | af9015_config.ir_table_size = | 733 | af9015_config.ir_table_size = |
734 | ARRAY_SIZE(af9015_ir_table_mygictv); | 734 | ARRAY_SIZE(af9015_ir_table_mygictv); |
735 | break; | 735 | break; |
736 | case AF9015_REMOTE_DIGITTRADE_DVB_T: | ||
737 | af9015_properties[i].rc_key_map = | ||
738 | af9015_rc_keys_digittrade; | ||
739 | af9015_properties[i].rc_key_map_size = | ||
740 | ARRAY_SIZE(af9015_rc_keys_digittrade); | ||
741 | af9015_config.ir_table = | ||
742 | af9015_ir_table_digittrade; | ||
743 | af9015_config.ir_table_size = | ||
744 | ARRAY_SIZE(af9015_ir_table_digittrade); | ||
745 | break; | ||
736 | } | 746 | } |
737 | } else { | 747 | } else { |
738 | switch (udev->descriptor.idVendor) { | 748 | switch (udev->descriptor.idVendor) { |
diff --git a/drivers/media/dvb/dvb-usb/af9015.h b/drivers/media/dvb/dvb-usb/af9015.h index 1ab86cc6c015..21c7782f4889 100644 --- a/drivers/media/dvb/dvb-usb/af9015.h +++ b/drivers/media/dvb/dvb-usb/af9015.h | |||
@@ -123,6 +123,7 @@ enum af9015_remote { | |||
123 | AF9015_REMOTE_A_LINK_DTU_M, | 123 | AF9015_REMOTE_A_LINK_DTU_M, |
124 | AF9015_REMOTE_MSI_DIGIVOX_MINI_II_V3, | 124 | AF9015_REMOTE_MSI_DIGIVOX_MINI_II_V3, |
125 | AF9015_REMOTE_MYGICTV_U718, | 125 | AF9015_REMOTE_MYGICTV_U718, |
126 | AF9015_REMOTE_DIGITTRADE_DVB_T, | ||
126 | }; | 127 | }; |
127 | 128 | ||
128 | /* Leadtek WinFast DTV Dongle Gold */ | 129 | /* Leadtek WinFast DTV Dongle Gold */ |
@@ -596,4 +597,67 @@ static u8 af9015_ir_table_avermedia[] = { | |||
596 | 0x03, 0xfc, 0x03, 0xfc, 0x0e, 0x05, 0x00, | 597 | 0x03, 0xfc, 0x03, 0xfc, 0x0e, 0x05, 0x00, |
597 | }; | 598 | }; |
598 | 599 | ||
600 | /* Digittrade DVB-T USB Stick */ | ||
601 | static struct dvb_usb_rc_key af9015_rc_keys_digittrade[] = { | ||
602 | { 0x01, 0x0f, KEY_LAST }, /* RETURN */ | ||
603 | { 0x05, 0x17, KEY_TEXT }, /* TELETEXT */ | ||
604 | { 0x01, 0x08, KEY_EPG }, /* EPG */ | ||
605 | { 0x05, 0x13, KEY_POWER }, /* POWER */ | ||
606 | { 0x01, 0x09, KEY_ZOOM }, /* FULLSCREEN */ | ||
607 | { 0x00, 0x40, KEY_AUDIO }, /* DUAL SOUND */ | ||
608 | { 0x00, 0x2c, KEY_PRINT }, /* SNAPSHOT */ | ||
609 | { 0x05, 0x16, KEY_SUBTITLE }, /* SUBTITLE */ | ||
610 | { 0x00, 0x52, KEY_CHANNELUP }, /* CH Up */ | ||
611 | { 0x00, 0x51, KEY_CHANNELDOWN },/* Ch Dn */ | ||
612 | { 0x00, 0x57, KEY_VOLUMEUP }, /* Vol Up */ | ||
613 | { 0x00, 0x56, KEY_VOLUMEDOWN }, /* Vol Dn */ | ||
614 | { 0x01, 0x10, KEY_MUTE }, /* MUTE */ | ||
615 | { 0x00, 0x27, KEY_0 }, | ||
616 | { 0x00, 0x1e, KEY_1 }, | ||
617 | { 0x00, 0x1f, KEY_2 }, | ||
618 | { 0x00, 0x20, KEY_3 }, | ||
619 | { 0x00, 0x21, KEY_4 }, | ||
620 | { 0x00, 0x22, KEY_5 }, | ||
621 | { 0x00, 0x23, KEY_6 }, | ||
622 | { 0x00, 0x24, KEY_7 }, | ||
623 | { 0x00, 0x25, KEY_8 }, | ||
624 | { 0x00, 0x26, KEY_9 }, | ||
625 | { 0x01, 0x17, KEY_PLAYPAUSE }, /* TIMESHIFT */ | ||
626 | { 0x01, 0x15, KEY_RECORD }, /* RECORD */ | ||
627 | { 0x03, 0x13, KEY_PLAY }, /* PLAY */ | ||
628 | { 0x01, 0x16, KEY_STOP }, /* STOP */ | ||
629 | { 0x01, 0x13, KEY_PAUSE }, /* PAUSE */ | ||
630 | }; | ||
631 | |||
632 | static u8 af9015_ir_table_digittrade[] = { | ||
633 | 0x00, 0xff, 0x06, 0xf9, 0x13, 0x05, 0x00, | ||
634 | 0x00, 0xff, 0x4d, 0xb2, 0x17, 0x01, 0x00, | ||
635 | 0x00, 0xff, 0x1f, 0xe0, 0x2c, 0x00, 0x00, | ||
636 | 0x00, 0xff, 0x0a, 0xf5, 0x15, 0x01, 0x00, | ||
637 | 0x00, 0xff, 0x0e, 0xf1, 0x16, 0x01, 0x00, | ||
638 | 0x00, 0xff, 0x09, 0xf6, 0x09, 0x01, 0x00, | ||
639 | 0x00, 0xff, 0x01, 0xfe, 0x08, 0x01, 0x00, | ||
640 | 0x00, 0xff, 0x05, 0xfa, 0x10, 0x01, 0x00, | ||
641 | 0x00, 0xff, 0x02, 0xfd, 0x56, 0x00, 0x00, | ||
642 | 0x00, 0xff, 0x40, 0xbf, 0x57, 0x00, 0x00, | ||
643 | 0x00, 0xff, 0x19, 0xe6, 0x52, 0x00, 0x00, | ||
644 | 0x00, 0xff, 0x17, 0xe8, 0x51, 0x00, 0x00, | ||
645 | 0x00, 0xff, 0x10, 0xef, 0x0f, 0x01, 0x00, | ||
646 | 0x00, 0xff, 0x54, 0xab, 0x27, 0x00, 0x00, | ||
647 | 0x00, 0xff, 0x1b, 0xe4, 0x1e, 0x00, 0x00, | ||
648 | 0x00, 0xff, 0x11, 0xee, 0x1f, 0x00, 0x00, | ||
649 | 0x00, 0xff, 0x15, 0xea, 0x20, 0x00, 0x00, | ||
650 | 0x00, 0xff, 0x12, 0xed, 0x21, 0x00, 0x00, | ||
651 | 0x00, 0xff, 0x16, 0xe9, 0x22, 0x00, 0x00, | ||
652 | 0x00, 0xff, 0x4c, 0xb3, 0x23, 0x00, 0x00, | ||
653 | 0x00, 0xff, 0x48, 0xb7, 0x24, 0x00, 0x00, | ||
654 | 0x00, 0xff, 0x04, 0xfb, 0x25, 0x00, 0x00, | ||
655 | 0x00, 0xff, 0x00, 0xff, 0x26, 0x00, 0x00, | ||
656 | 0x00, 0xff, 0x1e, 0xe1, 0x13, 0x03, 0x00, | ||
657 | 0x00, 0xff, 0x1a, 0xe5, 0x13, 0x01, 0x00, | ||
658 | 0x00, 0xff, 0x03, 0xfc, 0x17, 0x05, 0x00, | ||
659 | 0x00, 0xff, 0x0d, 0xf2, 0x16, 0x05, 0x00, | ||
660 | 0x00, 0xff, 0x1d, 0xe2, 0x40, 0x00, 0x00, | ||
661 | }; | ||
662 | |||
599 | #endif | 663 | #endif |