From 53844c4fc7912fef2f56c1b3f851b30c8ebd1d8a Mon Sep 17 00:00:00 2001 From: Malcolm Priestley Date: Mon, 12 Dec 2011 15:53:00 -0300 Subject: [PATCH] [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 Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 1 + 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 3cce13bb..d390dda 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 @@ #define USB_PID_INTEL_CE9500 0x9500 #define USB_PID_ITETECH_IT9135 0x9135 #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_2 0xe400 #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 ba3f11f..4c8ad27 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) /* Firmware sets raw */ 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"; 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) == USB_PID_ITETECH_IT9135_9005) sw = IT9135_V1_FW; + else if (le16_to_cpu(udev->descriptor.idProduct) == + USB_PID_ITETECH_IT9135_9006) + sw = IT9135_V2_FW; else sw = IT9137_FW; @@ -413,6 +417,11 @@ static int ite_firmware_select(struct usb_device *udev, it913x_config.adc_x2 = 1; props->firmware = fw_it9135_v1; break; + case IT9135_V2_FW: + it913x_config.firmware_ver = 1; + it913x_config.adc_x2 = 1; + props->firmware = fw_it9135_v2; + break; case IT9137_FW: default: 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_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_9006) }, {} /* Terminating entry */ }; @@ -776,7 +786,7 @@ static struct dvb_usb_device_properties it913x_properties = { .rc_codes = RC_MAP_MSI_DIGIVOX_III, }, .i2c_algo = &it913x_i2c_algo, - .num_device_descs = 4, + .num_device_descs = 5, .devices = { { "Kworld UB499-2T T09(IT9137)", { &it913x_table[0], NULL }, @@ -790,6 +800,9 @@ static struct dvb_usb_device_properties it913x_properties = { { "ITE 9135(9005) Generic", { &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 "); MODULE_DESCRIPTION("it913x USB 2 Driver"); -MODULE_VERSION("1.14"); +MODULE_VERSION("1.17"); MODULE_LICENSE("GPL"); -- 2.7.4