aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb
diff options
context:
space:
mode:
authorMalcolm Priestley <tvboxspy@gmail.com>2011-12-12 13:53:00 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-01-05 16:30:03 -0500
commit53844c4fc7912fef2f56c1b3f851b30c8ebd1d8a (patch)
tree72d351d9bed9fa3c5914a7d547bcc058e6b6bbde /drivers/media/dvb/dvb-usb
parent6cb393c82255c448a92754f2a2a6b715bd9418dc (diff)
[media] it913x add support for IT9135 9006 devices
Support for IT1935 9006 devices. 9006 have version 2 type chip. 9006 devices should use dvb-usb-it9135-02.fw firmware. On the device tested the tuner id was set to 0 which meant the driver used tuner id 0x38. The device functioned normally. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-usb')
-rw-r--r--drivers/media/dvb/dvb-usb/dvb-usb-ids.h1
-rw-r--r--drivers/media/dvb/dvb-usb/it913x.c17
2 files changed, 16 insertions, 2 deletions
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
index 3cce13bb5242..d390ddaa5a53 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
@@ -132,6 +132,7 @@
132#define USB_PID_INTEL_CE9500 0x9500 132#define USB_PID_INTEL_CE9500 0x9500
133#define USB_PID_ITETECH_IT9135 0x9135 133#define USB_PID_ITETECH_IT9135 0x9135
134#define USB_PID_ITETECH_IT9135_9005 0x9005 134#define USB_PID_ITETECH_IT9135_9005 0x9005
135#define USB_PID_ITETECH_IT9135_9006 0x9006
135#define USB_PID_KWORLD_399U 0xe399 136#define USB_PID_KWORLD_399U 0xe399
136#define USB_PID_KWORLD_399U_2 0xe400 137#define USB_PID_KWORLD_399U_2 0xe400
137#define USB_PID_KWORLD_395U 0xe396 138#define USB_PID_KWORLD_395U 0xe396
diff --git a/drivers/media/dvb/dvb-usb/it913x.c b/drivers/media/dvb/dvb-usb/it913x.c
index ba3f11f6febb..4c8ad279c0a8 100644
--- a/drivers/media/dvb/dvb-usb/it913x.c
+++ b/drivers/media/dvb/dvb-usb/it913x.c
@@ -387,6 +387,7 @@ static int it913x_rc_query(struct dvb_usb_device *d)
387 387
388/* Firmware sets raw */ 388/* Firmware sets raw */
389const char fw_it9135_v1[] = "dvb-usb-it9135-01.fw"; 389const char fw_it9135_v1[] = "dvb-usb-it9135-01.fw";
390const char fw_it9135_v2[] = "dvb-usb-it9135-02.fw";
390const char fw_it9137[] = "dvb-usb-it9137-01.fw"; 391const char fw_it9137[] = "dvb-usb-it9137-01.fw";
391 392
392static int ite_firmware_select(struct usb_device *udev, 393static int ite_firmware_select(struct usb_device *udev,
@@ -400,6 +401,9 @@ static int ite_firmware_select(struct usb_device *udev,
400 else if (le16_to_cpu(udev->descriptor.idProduct) == 401 else if (le16_to_cpu(udev->descriptor.idProduct) ==
401 USB_PID_ITETECH_IT9135_9005) 402 USB_PID_ITETECH_IT9135_9005)
402 sw = IT9135_V1_FW; 403 sw = IT9135_V1_FW;
404 else if (le16_to_cpu(udev->descriptor.idProduct) ==
405 USB_PID_ITETECH_IT9135_9006)
406 sw = IT9135_V2_FW;
403 else 407 else
404 sw = IT9137_FW; 408 sw = IT9137_FW;
405 409
@@ -413,6 +417,11 @@ static int ite_firmware_select(struct usb_device *udev,
413 it913x_config.adc_x2 = 1; 417 it913x_config.adc_x2 = 1;
414 props->firmware = fw_it9135_v1; 418 props->firmware = fw_it9135_v1;
415 break; 419 break;
420 case IT9135_V2_FW:
421 it913x_config.firmware_ver = 1;
422 it913x_config.adc_x2 = 1;
423 props->firmware = fw_it9135_v2;
424 break;
416 case IT9137_FW: 425 case IT9137_FW:
417 default: 426 default:
418 it913x_config.firmware_ver = 0; 427 it913x_config.firmware_ver = 0;
@@ -701,6 +710,7 @@ static struct usb_device_id it913x_table[] = {
701 { USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135) }, 710 { USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135) },
702 { USB_DEVICE(USB_VID_KWORLD_2, USB_PID_SVEON_STV22_IT9137) }, 711 { USB_DEVICE(USB_VID_KWORLD_2, USB_PID_SVEON_STV22_IT9137) },
703 { USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135_9005) }, 712 { USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135_9005) },
713 { USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135_9006) },
704 {} /* Terminating entry */ 714 {} /* Terminating entry */
705}; 715};
706 716
@@ -776,7 +786,7 @@ static struct dvb_usb_device_properties it913x_properties = {
776 .rc_codes = RC_MAP_MSI_DIGIVOX_III, 786 .rc_codes = RC_MAP_MSI_DIGIVOX_III,
777 }, 787 },
778 .i2c_algo = &it913x_i2c_algo, 788 .i2c_algo = &it913x_i2c_algo,
779 .num_device_descs = 4, 789 .num_device_descs = 5,
780 .devices = { 790 .devices = {
781 { "Kworld UB499-2T T09(IT9137)", 791 { "Kworld UB499-2T T09(IT9137)",
782 { &it913x_table[0], NULL }, 792 { &it913x_table[0], NULL },
@@ -790,6 +800,9 @@ static struct dvb_usb_device_properties it913x_properties = {
790 { "ITE 9135(9005) Generic", 800 { "ITE 9135(9005) Generic",
791 { &it913x_table[3], NULL }, 801 { &it913x_table[3], NULL },
792 }, 802 },
803 { "ITE 9135(9006) Generic",
804 { &it913x_table[4], NULL },
805 },
793 } 806 }
794}; 807};
795 808
@@ -823,5 +836,5 @@ module_exit(it913x_module_exit);
823 836
824MODULE_AUTHOR("Malcolm Priestley <tvboxspy@gmail.com>"); 837MODULE_AUTHOR("Malcolm Priestley <tvboxspy@gmail.com>");
825MODULE_DESCRIPTION("it913x USB 2 Driver"); 838MODULE_DESCRIPTION("it913x USB 2 Driver");
826MODULE_VERSION("1.14"); 839MODULE_VERSION("1.17");
827MODULE_LICENSE("GPL"); 840MODULE_LICENSE("GPL");