diff options
author | Malcolm Priestley <tvboxspy@gmail.com> | 2011-12-12 13:53:00 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-01-05 16:30:03 -0500 |
commit | 53844c4fc7912fef2f56c1b3f851b30c8ebd1d8a (patch) | |
tree | 72d351d9bed9fa3c5914a7d547bcc058e6b6bbde /drivers/media/dvb/dvb-usb | |
parent | 6cb393c82255c448a92754f2a2a6b715bd9418dc (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.h | 1 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-usb/it913x.c | 17 |
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 */ |
389 | const char fw_it9135_v1[] = "dvb-usb-it9135-01.fw"; | 389 | const char fw_it9135_v1[] = "dvb-usb-it9135-01.fw"; |
390 | const char fw_it9135_v2[] = "dvb-usb-it9135-02.fw"; | ||
390 | const char fw_it9137[] = "dvb-usb-it9137-01.fw"; | 391 | const char fw_it9137[] = "dvb-usb-it9137-01.fw"; |
391 | 392 | ||
392 | static int ite_firmware_select(struct usb_device *udev, | 393 | static 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 | ||
824 | MODULE_AUTHOR("Malcolm Priestley <tvboxspy@gmail.com>"); | 837 | MODULE_AUTHOR("Malcolm Priestley <tvboxspy@gmail.com>"); |
825 | MODULE_DESCRIPTION("it913x USB 2 Driver"); | 838 | MODULE_DESCRIPTION("it913x USB 2 Driver"); |
826 | MODULE_VERSION("1.14"); | 839 | MODULE_VERSION("1.17"); |
827 | MODULE_LICENSE("GPL"); | 840 | MODULE_LICENSE("GPL"); |