[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>
This commit is contained in:
Malcolm Priestley 2011-12-12 15:53:00 -03:00 committed by Mauro Carvalho Chehab
parent 6cb393c822
commit 53844c4fc7
2 changed files with 16 additions and 2 deletions

View File

@ -132,6 +132,7 @@
#define USB_PID_INTEL_CE9500 0x9500 #define USB_PID_INTEL_CE9500 0x9500
#define USB_PID_ITETECH_IT9135 0x9135 #define USB_PID_ITETECH_IT9135 0x9135
#define USB_PID_ITETECH_IT9135_9005 0x9005 #define USB_PID_ITETECH_IT9135_9005 0x9005
#define USB_PID_ITETECH_IT9135_9006 0x9006
#define USB_PID_KWORLD_399U 0xe399 #define USB_PID_KWORLD_399U 0xe399
#define USB_PID_KWORLD_399U_2 0xe400 #define USB_PID_KWORLD_399U_2 0xe400
#define USB_PID_KWORLD_395U 0xe396 #define USB_PID_KWORLD_395U 0xe396

View File

@ -387,6 +387,7 @@ static int it913x_rc_query(struct dvb_usb_device *d)
/* Firmware sets raw */ /* Firmware sets raw */
const char fw_it9135_v1[] = "dvb-usb-it9135-01.fw"; const char fw_it9135_v1[] = "dvb-usb-it9135-01.fw";
const char fw_it9135_v2[] = "dvb-usb-it9135-02.fw";
const char fw_it9137[] = "dvb-usb-it9137-01.fw"; const char fw_it9137[] = "dvb-usb-it9137-01.fw";
static int ite_firmware_select(struct usb_device *udev, static int ite_firmware_select(struct usb_device *udev,
@ -400,6 +401,9 @@ static int ite_firmware_select(struct usb_device *udev,
else if (le16_to_cpu(udev->descriptor.idProduct) == else if (le16_to_cpu(udev->descriptor.idProduct) ==
USB_PID_ITETECH_IT9135_9005) USB_PID_ITETECH_IT9135_9005)
sw = IT9135_V1_FW; sw = IT9135_V1_FW;
else if (le16_to_cpu(udev->descriptor.idProduct) ==
USB_PID_ITETECH_IT9135_9006)
sw = IT9135_V2_FW;
else else
sw = IT9137_FW; sw = IT9137_FW;
@ -413,6 +417,11 @@ static int ite_firmware_select(struct usb_device *udev,
it913x_config.adc_x2 = 1; it913x_config.adc_x2 = 1;
props->firmware = fw_it9135_v1; props->firmware = fw_it9135_v1;
break; break;
case IT9135_V2_FW:
it913x_config.firmware_ver = 1;
it913x_config.adc_x2 = 1;
props->firmware = fw_it9135_v2;
break;
case IT9137_FW: case IT9137_FW:
default: default:
it913x_config.firmware_ver = 0; it913x_config.firmware_ver = 0;
@ -701,6 +710,7 @@ static struct usb_device_id it913x_table[] = {
{ USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135) }, { USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135) },
{ USB_DEVICE(USB_VID_KWORLD_2, USB_PID_SVEON_STV22_IT9137) }, { USB_DEVICE(USB_VID_KWORLD_2, USB_PID_SVEON_STV22_IT9137) },
{ USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135_9005) }, { USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135_9005) },
{ USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135_9006) },
{} /* Terminating entry */ {} /* Terminating entry */
}; };
@ -776,7 +786,7 @@ static struct dvb_usb_device_properties it913x_properties = {
.rc_codes = RC_MAP_MSI_DIGIVOX_III, .rc_codes = RC_MAP_MSI_DIGIVOX_III,
}, },
.i2c_algo = &it913x_i2c_algo, .i2c_algo = &it913x_i2c_algo,
.num_device_descs = 4, .num_device_descs = 5,
.devices = { .devices = {
{ "Kworld UB499-2T T09(IT9137)", { "Kworld UB499-2T T09(IT9137)",
{ &it913x_table[0], NULL }, { &it913x_table[0], NULL },
@ -790,6 +800,9 @@ static struct dvb_usb_device_properties it913x_properties = {
{ "ITE 9135(9005) Generic", { "ITE 9135(9005) Generic",
{ &it913x_table[3], NULL }, { &it913x_table[3], NULL },
}, },
{ "ITE 9135(9006) Generic",
{ &it913x_table[4], NULL },
},
} }
}; };
@ -823,5 +836,5 @@ module_exit(it913x_module_exit);
MODULE_AUTHOR("Malcolm Priestley <tvboxspy@gmail.com>"); MODULE_AUTHOR("Malcolm Priestley <tvboxspy@gmail.com>");
MODULE_DESCRIPTION("it913x USB 2 Driver"); MODULE_DESCRIPTION("it913x USB 2 Driver");
MODULE_VERSION("1.14"); MODULE_VERSION("1.17");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");