aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/em28xx/em28xx-cards.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <m.chehab@samsung.com>2014-03-03 14:28:39 -0500
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-03-04 12:43:59 -0500
commit02bc1f5574e7324c03c49b3d2892e9e404d777be (patch)
treeaff7ef1639517a687d4b12b189c1c7473aa6228b /drivers/media/usb/em28xx/em28xx-cards.c
parent6cff36b23b66f437be904407601117fc74071db3 (diff)
[media] em28xx: add support for Kworld UB435-Q version 3
This device is close to Kworld UB435-Q, but it uses a different tuner. Add support for it. Tested with both 8VSB and 256QAM modulations. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/usb/em28xx/em28xx-cards.c')
-rw-r--r--drivers/media/usb/em28xx/em28xx-cards.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c
index 138659b23cbb..5cd2df14bf1a 100644
--- a/drivers/media/usb/em28xx/em28xx-cards.c
+++ b/drivers/media/usb/em28xx/em28xx-cards.c
@@ -189,6 +189,14 @@ static struct em28xx_reg_seq kworld_a340_digital[] = {
189 { -1, -1, -1, -1}, 189 { -1, -1, -1, -1},
190}; 190};
191 191
192static struct em28xx_reg_seq kworld_ub435q_v3_digital[] = {
193 {EM2874_R80_GPIO_P0_CTRL, 0xff, 0xff, 100},
194 {EM2874_R80_GPIO_P0_CTRL, 0xfe, 0xff, 100},
195 {EM2874_R80_GPIO_P0_CTRL, 0xbe, 0xff, 100},
196 {EM2874_R80_GPIO_P0_CTRL, 0xfe, 0xff, 100},
197 { -1, -1, -1, -1},
198};
199
192/* Pinnacle Hybrid Pro eb1a:2881 */ 200/* Pinnacle Hybrid Pro eb1a:2881 */
193static struct em28xx_reg_seq pinnacle_hybrid_pro_analog[] = { 201static struct em28xx_reg_seq pinnacle_hybrid_pro_analog[] = {
194 {EM2820_R08_GPIO_CTRL, 0xfd, ~EM_GPIO_4, 10}, 202 {EM2820_R08_GPIO_CTRL, 0xfd, ~EM_GPIO_4, 10},
@@ -2139,6 +2147,19 @@ struct em28xx_board em28xx_boards[] = {
2139 .tuner_gpio = default_tuner_gpio, 2147 .tuner_gpio = default_tuner_gpio,
2140 .def_i2c_bus = 1, 2148 .def_i2c_bus = 1,
2141 }, 2149 },
2150 /*
2151 * 1b80:e34c KWorld USB ATSC TV Stick UB435-Q V3
2152 * Empia EM2874B + LG DT3305 + NXP TDA18271HDC2
2153 */
2154 [EM2874_BOARD_KWORLD_UB435Q_V3] = {
2155 .name = "KWorld USB ATSC TV Stick UB435-Q V3",
2156 .tuner_type = TUNER_ABSENT,
2157 .has_dvb = 1,
2158 .tuner_gpio = kworld_ub435q_v3_digital,
2159 .def_i2c_bus = 1,
2160 .i2c_speed = EM28XX_I2C_CLK_WAIT_ENABLE |
2161 EM28XX_I2C_FREQ_100_KHZ,
2162 },
2142 [EM2874_BOARD_PCTV_HD_MINI_80E] = { 2163 [EM2874_BOARD_PCTV_HD_MINI_80E] = {
2143 .name = "Pinnacle PCTV HD Mini", 2164 .name = "Pinnacle PCTV HD Mini",
2144 .tuner_type = TUNER_ABSENT, 2165 .tuner_type = TUNER_ABSENT,
@@ -2325,6 +2346,8 @@ struct usb_device_id em28xx_id_table[] = {
2325 .driver_info = EM2870_BOARD_KWORLD_A340 }, 2346 .driver_info = EM2870_BOARD_KWORLD_A340 },
2326 { USB_DEVICE(0x1b80, 0xe346), 2347 { USB_DEVICE(0x1b80, 0xe346),
2327 .driver_info = EM2874_BOARD_KWORLD_UB435Q_V2 }, 2348 .driver_info = EM2874_BOARD_KWORLD_UB435Q_V2 },
2349 { USB_DEVICE(0x1b80, 0xe34c),
2350 .driver_info = EM2874_BOARD_KWORLD_UB435Q_V3 },
2328 { USB_DEVICE(0x2013, 0x024f), 2351 { USB_DEVICE(0x2013, 0x024f),
2329 .driver_info = EM28174_BOARD_PCTV_290E }, 2352 .driver_info = EM28174_BOARD_PCTV_290E },
2330 { USB_DEVICE(0x2013, 0x024c), 2353 { USB_DEVICE(0x2013, 0x024c),