diff options
author | Antti Palosaari <crope@iki.fi> | 2009-03-31 16:01:02 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-04-06 20:43:55 -0400 |
commit | 3956fefc593c45a480466c76fdbfee5063d766bf (patch) | |
tree | 6654cd513fd57af48bf3f2d29dd3708e75ca2114 /drivers/media/dvb | |
parent | dcd14f414f6e5ab739e9738a7a18d4d8503a9798 (diff) |
V4L/DVB (11340): af9015: add support for AverMedia AVerTV Volar Black HD (A850)
Add USB ID (07ca:850a) and configuration hack for AverMedia AVerTV Volar
Black HD (A850) DVB-T USB stick.
Tested-by: Olivier MENUEL <omenuel@laposte.net>
Tested-by: Thomas Renard <threnard@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r-- | drivers/media/dvb/dvb-usb/af9015.c | 24 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 1 |
2 files changed, 24 insertions, 1 deletions
diff --git a/drivers/media/dvb/dvb-usb/af9015.c b/drivers/media/dvb/dvb-usb/af9015.c index 14967464e812..2d9d45d29003 100644 --- a/drivers/media/dvb/dvb-usb/af9015.c +++ b/drivers/media/dvb/dvb-usb/af9015.c | |||
@@ -991,6 +991,21 @@ error: | |||
991 | if (ret) | 991 | if (ret) |
992 | err("eeprom read failed:%d", ret); | 992 | err("eeprom read failed:%d", ret); |
993 | 993 | ||
994 | /* AverMedia AVerTV Volar Black HD (A850) device have bad EEPROM | ||
995 | content :-( Override some wrong values here. */ | ||
996 | if (le16_to_cpu(udev->descriptor.idVendor) == USB_VID_AVERMEDIA && | ||
997 | le16_to_cpu(udev->descriptor.idProduct) == USB_PID_AVERMEDIA_A850) { | ||
998 | deb_info("%s: AverMedia A850: overriding config\n", __func__); | ||
999 | /* disable dual mode */ | ||
1000 | af9015_config.dual_mode = 0; | ||
1001 | /* disable 2nd adapter */ | ||
1002 | for (i = 0; i < af9015_properties_count; i++) | ||
1003 | af9015_properties[i].num_adapters = 1; | ||
1004 | |||
1005 | /* set correct IF */ | ||
1006 | af9015_af9013_config[0].tuner_if = 4570; | ||
1007 | } | ||
1008 | |||
994 | return ret; | 1009 | return ret; |
995 | } | 1010 | } |
996 | 1011 | ||
@@ -1249,6 +1264,7 @@ static struct usb_device_id af9015_usb_table[] = { | |||
1249 | {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U_2)}, | 1264 | {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U_2)}, |
1250 | {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U_3)}, | 1265 | {USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_395U_3)}, |
1251 | {USB_DEVICE(USB_VID_AFATECH, USB_PID_TREKSTOR_DVBT)}, | 1266 | {USB_DEVICE(USB_VID_AFATECH, USB_PID_TREKSTOR_DVBT)}, |
1267 | {USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A850)}, | ||
1252 | {0}, | 1268 | {0}, |
1253 | }; | 1269 | }; |
1254 | MODULE_DEVICE_TABLE(usb, af9015_usb_table); | 1270 | MODULE_DEVICE_TABLE(usb, af9015_usb_table); |
@@ -1413,7 +1429,7 @@ static struct dvb_usb_device_properties af9015_properties[] = { | |||
1413 | 1429 | ||
1414 | .i2c_algo = &af9015_i2c_algo, | 1430 | .i2c_algo = &af9015_i2c_algo, |
1415 | 1431 | ||
1416 | .num_device_descs = 8, | 1432 | .num_device_descs = 9, |
1417 | .devices = { | 1433 | .devices = { |
1418 | { | 1434 | { |
1419 | .name = "Xtensions XD-380", | 1435 | .name = "Xtensions XD-380", |
@@ -1458,6 +1474,12 @@ static struct dvb_usb_device_properties af9015_properties[] = { | |||
1458 | .cold_ids = {&af9015_usb_table[19], NULL}, | 1474 | .cold_ids = {&af9015_usb_table[19], NULL}, |
1459 | .warm_ids = {NULL}, | 1475 | .warm_ids = {NULL}, |
1460 | }, | 1476 | }, |
1477 | { | ||
1478 | .name = "AverMedia AVerTV Volar Black HD " \ | ||
1479 | "(A850)", | ||
1480 | .cold_ids = {&af9015_usb_table[20], NULL}, | ||
1481 | .warm_ids = {NULL}, | ||
1482 | }, | ||
1461 | } | 1483 | } |
1462 | } | 1484 | } |
1463 | }; | 1485 | }; |
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h index 4870ed6eb6e9..f506c74119f3 100644 --- a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h +++ b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h | |||
@@ -170,6 +170,7 @@ | |||
170 | #define USB_PID_AVERMEDIA_VOLAR_X_2 0x8150 | 170 | #define USB_PID_AVERMEDIA_VOLAR_X_2 0x8150 |
171 | #define USB_PID_AVERMEDIA_A309 0xa309 | 171 | #define USB_PID_AVERMEDIA_A309 0xa309 |
172 | #define USB_PID_AVERMEDIA_A310 0xa310 | 172 | #define USB_PID_AVERMEDIA_A310 0xa310 |
173 | #define USB_PID_AVERMEDIA_A850 0x850a | ||
173 | #define USB_PID_TECHNOTREND_CONNECT_S2400 0x3006 | 174 | #define USB_PID_TECHNOTREND_CONNECT_S2400 0x3006 |
174 | #define USB_PID_TERRATEC_CINERGY_DT_XS_DIVERSITY 0x005a | 175 | #define USB_PID_TERRATEC_CINERGY_DT_XS_DIVERSITY 0x005a |
175 | #define USB_PID_TERRATEC_CINERGY_DT_XS_DIVERSITY_2 0x0081 | 176 | #define USB_PID_TERRATEC_CINERGY_DT_XS_DIVERSITY_2 0x0081 |