aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMarc Schneider <macke@macke.org>2009-03-26 20:07:18 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-04-06 20:43:54 -0400
commit261448405eb578972244ae406a2d785bc095f193 (patch)
tree6d81ed07daec738fcfd51a2cc85907618e556cba /drivers
parent58fe1595455566a1cfe22db6f5f59bc989e5a80f (diff)
V4L/DVB (11338): af9015: add support for TrekStor DVB-T USB Stick
Add USB ID (15a4:901b) and remote for TrekStor DVB-T USB Stick. Signed-off-by: Marc Schneider <macke@macke.org> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/dvb/dvb-usb/af9015.c18
-rw-r--r--drivers/media/dvb/dvb-usb/af9015.h67
-rw-r--r--drivers/media/dvb/dvb-usb/dvb-usb-ids.h1
3 files changed, 83 insertions, 3 deletions
diff --git a/drivers/media/dvb/dvb-usb/af9015.c b/drivers/media/dvb/dvb-usb/af9015.c
index 1086f30e8880..14967464e812 100644
--- a/drivers/media/dvb/dvb-usb/af9015.c
+++ b/drivers/media/dvb/dvb-usb/af9015.c
@@ -833,6 +833,16 @@ static int af9015_read_config(struct usb_device *udev)
833 af9015_ir_table_msi; 833 af9015_ir_table_msi;
834 af9015_config.ir_table_size = 834 af9015_config.ir_table_size =
835 ARRAY_SIZE(af9015_ir_table_msi); 835 ARRAY_SIZE(af9015_ir_table_msi);
836 } else if (udev->descriptor.idProduct ==
837 cpu_to_le16(USB_PID_TREKSTOR_DVBT)) {
838 af9015_properties[i].rc_key_map =
839 af9015_rc_keys_trekstor;
840 af9015_properties[i].rc_key_map_size =
841 ARRAY_SIZE(af9015_rc_keys_trekstor);
842 af9015_config.ir_table =
843 af9015_ir_table_trekstor;
844 af9015_config.ir_table_size =
845 ARRAY_SIZE(af9015_ir_table_trekstor);
836 } 846 }
837 break; 847 break;
838 case USB_VID_AVERMEDIA: 848 case USB_VID_AVERMEDIA:
@@ -1238,6 +1248,7 @@ static struct usb_device_id af9015_usb_table[] = {
1238 {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U)}, 1248 {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U)},
1239 {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U_2)}, 1249 {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U_2)},
1240 {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U_3)}, 1250 {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U_3)},
1251 {USB_DEVICE(USB_VID_AFATECH, USB_PID_TREKSTOR_DVBT)},
1241 {0}, 1252 {0},
1242}; 1253};
1243MODULE_DEVICE_TABLE(usb, af9015_usb_table); 1254MODULE_DEVICE_TABLE(usb, af9015_usb_table);
@@ -1402,7 +1413,7 @@ static struct dvb_usb_device_properties af9015_properties[] = {
1402 1413
1403 .i2c_algo = &af9015_i2c_algo, 1414 .i2c_algo = &af9015_i2c_algo,
1404 1415
1405 .num_device_descs = 7, 1416 .num_device_descs = 8,
1406 .devices = { 1417 .devices = {
1407 { 1418 {
1408 .name = "Xtensions XD-380", 1419 .name = "Xtensions XD-380",
@@ -1442,6 +1453,11 @@ static struct dvb_usb_device_properties af9015_properties[] = {
1442 &af9015_usb_table[18], NULL}, 1453 &af9015_usb_table[18], NULL},
1443 .warm_ids = {NULL}, 1454 .warm_ids = {NULL},
1444 }, 1455 },
1456 {
1457 .name = "TrekStor DVB-T USB Stick",
1458 .cold_ids = {&af9015_usb_table[19], NULL},
1459 .warm_ids = {NULL},
1460 },
1445 } 1461 }
1446 } 1462 }
1447}; 1463};
diff --git a/drivers/media/dvb/dvb-usb/af9015.h b/drivers/media/dvb/dvb-usb/af9015.h
index 00e25714662a..5c44bad28925 100644
--- a/drivers/media/dvb/dvb-usb/af9015.h
+++ b/drivers/media/dvb/dvb-usb/af9015.h
@@ -120,11 +120,11 @@ struct af9015_config {
120 120
121enum af9015_remote { 121enum af9015_remote {
122 AF9015_REMOTE_NONE = 0, 122 AF9015_REMOTE_NONE = 0,
123 AF9015_REMOTE_A_LINK_DTU_M, 123/* 1 */ 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 AF9015_REMOTE_DIGITTRADE_DVB_T,
127 AF9015_REMOTE_AVERMEDIA_KS, 127/* 5 */ AF9015_REMOTE_AVERMEDIA_KS,
128}; 128};
129 129
130/* Leadtek WinFast DTV Dongle Gold */ 130/* Leadtek WinFast DTV Dongle Gold */
@@ -691,4 +691,67 @@ static u8 af9015_ir_table_digittrade[] = {
691 0x00, 0xff, 0x1d, 0xe2, 0x40, 0x00, 0x00, 691 0x00, 0xff, 0x1d, 0xe2, 0x40, 0x00, 0x00,
692}; 692};
693 693
694/* TREKSTOR DVB-T USB Stick */
695static struct dvb_usb_rc_key af9015_rc_keys_trekstor[] = {
696 { 0x07, 0x04, KEY_AGAIN }, /* Home */
697 { 0x07, 0x05, KEY_MUTE }, /* Mute */
698 { 0x07, 0x06, KEY_UP }, /* Up */
699 { 0x07, 0x07, KEY_DOWN }, /* Down */
700 { 0x07, 0x09, KEY_RIGHT }, /* Right */
701 { 0x07, 0x0a, KEY_ENTER }, /* OK */
702 { 0x07, 0x0b, KEY_FASTFORWARD }, /* Fast forward */
703 { 0x07, 0x0c, KEY_REWIND }, /* Rewind */
704 { 0x07, 0x0d, KEY_PLAY }, /* Play/Pause */
705 { 0x07, 0x0e, KEY_VOLUMEUP }, /* Volume + */
706 { 0x07, 0x0f, KEY_VOLUMEDOWN }, /* Volume - */
707 { 0x07, 0x10, KEY_RECORD }, /* Record */
708 { 0x07, 0x11, KEY_STOP }, /* Stop */
709 { 0x07, 0x12, KEY_ZOOM }, /* TV */
710 { 0x07, 0x13, KEY_EPG }, /* Info/EPG */
711 { 0x07, 0x14, KEY_CHANNELDOWN }, /* Channel - */
712 { 0x07, 0x15, KEY_CHANNELUP }, /* Channel + */
713 { 0x07, 0x1e, KEY_1 },
714 { 0x07, 0x1f, KEY_2 },
715 { 0x07, 0x20, KEY_3 },
716 { 0x07, 0x21, KEY_4 },
717 { 0x07, 0x22, KEY_5 },
718 { 0x07, 0x23, KEY_6 },
719 { 0x07, 0x24, KEY_7 },
720 { 0x07, 0x25, KEY_8 },
721 { 0x07, 0x26, KEY_9 },
722 { 0x07, 0x08, KEY_LEFT }, /* LEFT */
723 { 0x07, 0x27, KEY_0 },
724};
725
726static u8 af9015_ir_table_trekstor[] = {
727 0x00, 0xff, 0x86, 0x79, 0x04, 0x07, 0x00,
728 0x00, 0xff, 0x85, 0x7a, 0x05, 0x07, 0x00,
729 0x00, 0xff, 0x87, 0x78, 0x06, 0x07, 0x00,
730 0x00, 0xff, 0x8c, 0x73, 0x07, 0x07, 0x00,
731 0x00, 0xff, 0x89, 0x76, 0x09, 0x07, 0x00,
732 0x00, 0xff, 0x88, 0x77, 0x0a, 0x07, 0x00,
733 0x00, 0xff, 0x8a, 0x75, 0x0b, 0x07, 0x00,
734 0x00, 0xff, 0x9e, 0x61, 0x0c, 0x07, 0x00,
735 0x00, 0xff, 0x8d, 0x72, 0x0d, 0x07, 0x00,
736 0x00, 0xff, 0x8b, 0x74, 0x0e, 0x07, 0x00,
737 0x00, 0xff, 0x9b, 0x64, 0x0f, 0x07, 0x00,
738 0x00, 0xff, 0x9d, 0x62, 0x10, 0x07, 0x00,
739 0x00, 0xff, 0x8e, 0x71, 0x11, 0x07, 0x00,
740 0x00, 0xff, 0x9c, 0x63, 0x12, 0x07, 0x00,
741 0x00, 0xff, 0x8f, 0x70, 0x13, 0x07, 0x00,
742 0x00, 0xff, 0x93, 0x6c, 0x14, 0x07, 0x00,
743 0x00, 0xff, 0x97, 0x68, 0x15, 0x07, 0x00,
744 0x00, 0xff, 0x92, 0x6d, 0x1e, 0x07, 0x00,
745 0x00, 0xff, 0x96, 0x69, 0x1f, 0x07, 0x00,
746 0x00, 0xff, 0x9a, 0x65, 0x20, 0x07, 0x00,
747 0x00, 0xff, 0x91, 0x6e, 0x21, 0x07, 0x00,
748 0x00, 0xff, 0x95, 0x6a, 0x22, 0x07, 0x00,
749 0x00, 0xff, 0x99, 0x66, 0x23, 0x07, 0x00,
750 0x00, 0xff, 0x90, 0x6f, 0x24, 0x07, 0x00,
751 0x00, 0xff, 0x94, 0x6b, 0x25, 0x07, 0x00,
752 0x00, 0xff, 0x98, 0x67, 0x26, 0x07, 0x00,
753 0x00, 0xff, 0x9f, 0x60, 0x08, 0x07, 0x00,
754 0x00, 0xff, 0x84, 0x7b, 0x27, 0x07, 0x00,
755};
756
694#endif 757#endif
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
index 75dc4b79fa24..4870ed6eb6e9 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
@@ -65,6 +65,7 @@
65#define USB_PID_AFATECH_AF9005 0x9020 65#define USB_PID_AFATECH_AF9005 0x9020
66#define USB_PID_AFATECH_AF9015_9015 0x9015 66#define USB_PID_AFATECH_AF9015_9015 0x9015
67#define USB_PID_AFATECH_AF9015_9016 0x9016 67#define USB_PID_AFATECH_AF9015_9016 0x9016
68#define USB_PID_TREKSTOR_DVBT 0x901b
68#define USB_VID_ALINK_DTU 0xf170 69#define USB_VID_ALINK_DTU 0xf170
69#define USB_PID_ANSONIC_DVBT_USB 0x6000 70#define USB_PID_ANSONIC_DVBT_USB 0x6000
70#define USB_PID_ANYSEE 0x861f 71#define USB_PID_ANYSEE 0x861f