diff options
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-cards.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-cards.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index 3a4fd8514511..ffbe544e30f4 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c | |||
@@ -158,6 +158,22 @@ static struct em28xx_reg_seq evga_indtube_digital[] = { | |||
158 | { -1, -1, -1, -1}, | 158 | { -1, -1, -1, -1}, |
159 | }; | 159 | }; |
160 | 160 | ||
161 | /* | ||
162 | * KWorld PlusTV 340U and UB435-Q (ATSC) GPIOs map: | ||
163 | * EM_GPIO_0 - currently unknown | ||
164 | * EM_GPIO_1 - LED disable/enable (1 = off, 0 = on) | ||
165 | * EM_GPIO_2 - currently unknown | ||
166 | * EM_GPIO_3 - currently unknown | ||
167 | * EM_GPIO_4 - TDA18271HD/C1 tuner (1 = active, 0 = in reset) | ||
168 | * EM_GPIO_5 - LGDT3304 ATSC/QAM demod (1 = active, 0 = in reset) | ||
169 | * EM_GPIO_6 - currently unknown | ||
170 | * EM_GPIO_7 - currently unknown | ||
171 | */ | ||
172 | static struct em28xx_reg_seq kworld_a340_digital[] = { | ||
173 | {EM28XX_R08_GPIO, 0x6d, ~EM_GPIO_4, 10}, | ||
174 | { -1, -1, -1, -1}, | ||
175 | }; | ||
176 | |||
161 | /* Pinnacle Hybrid Pro eb1a:2881 */ | 177 | /* Pinnacle Hybrid Pro eb1a:2881 */ |
162 | static struct em28xx_reg_seq pinnacle_hybrid_pro_analog[] = { | 178 | static struct em28xx_reg_seq pinnacle_hybrid_pro_analog[] = { |
163 | {EM28XX_R08_GPIO, 0xfd, ~EM_GPIO_4, 10}, | 179 | {EM28XX_R08_GPIO, 0xfd, ~EM_GPIO_4, 10}, |
@@ -1667,6 +1683,16 @@ struct em28xx_board em28xx_boards[] = { | |||
1667 | .tuner_gpio = reddo_dvb_c_usb_box, | 1683 | .tuner_gpio = reddo_dvb_c_usb_box, |
1668 | .has_dvb = 1, | 1684 | .has_dvb = 1, |
1669 | }, | 1685 | }, |
1686 | /* 1b80:a340 - Empia EM2870, NXP TDA18271HD and LG DT3304, sold | ||
1687 | * initially as the KWorld PlusTV 340U, then as the UB435-Q. | ||
1688 | * Early variants have a TDA18271HD/C1, later ones a TDA18271HD/C2 */ | ||
1689 | [EM2870_BOARD_KWORLD_A340] = { | ||
1690 | .name = "KWorld PlusTV 340U or UB435-Q (ATSC)", | ||
1691 | .tuner_type = TUNER_ABSENT, /* Digital-only TDA18271HD */ | ||
1692 | .has_dvb = 1, | ||
1693 | .dvb_gpio = kworld_a340_digital, | ||
1694 | .tuner_gpio = default_tuner_gpio, | ||
1695 | }, | ||
1670 | }; | 1696 | }; |
1671 | const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards); | 1697 | const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards); |
1672 | 1698 | ||
@@ -1788,6 +1814,8 @@ struct usb_device_id em28xx_id_table[] = { | |||
1788 | .driver_info = EM2820_BOARD_IODATA_GVMVP_SZ }, | 1814 | .driver_info = EM2820_BOARD_IODATA_GVMVP_SZ }, |
1789 | { USB_DEVICE(0xeb1a, 0x50a6), | 1815 | { USB_DEVICE(0xeb1a, 0x50a6), |
1790 | .driver_info = EM2860_BOARD_GADMEI_UTV330 }, | 1816 | .driver_info = EM2860_BOARD_GADMEI_UTV330 }, |
1817 | { USB_DEVICE(0x1b80, 0xa340), | ||
1818 | .driver_info = EM2870_BOARD_KWORLD_A340 }, | ||
1791 | { }, | 1819 | { }, |
1792 | }; | 1820 | }; |
1793 | MODULE_DEVICE_TABLE(usb, em28xx_id_table); | 1821 | MODULE_DEVICE_TABLE(usb, em28xx_id_table); |