aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAivar Päkk <aivar11@gmail.com>2011-12-11 16:15:00 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-12-30 14:25:00 -0500
commit1985f6fb8965a813aabd53a6b64ec54dd23bfdfb (patch)
tree7061a6a13ecdd814ddb6924d495f75b9cd608820
parentf36472da3a6d62ee46ae773bbbf05ddb24cd970c (diff)
[media] KWorld 355U and 380U support
This patch adds Kworld 355U and 380U support Signed-off-by: Aivar Päkk <aivar11@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c6
-rw-r--r--drivers/media/video/em28xx/em28xx-dvb.c20
2 files changed, 26 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 1704da05540d..6cab22d0665c 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -856,6 +856,10 @@ struct em28xx_board em28xx_boards[] = {
856 [EM2870_BOARD_KWORLD_355U] = { 856 [EM2870_BOARD_KWORLD_355U] = {
857 .name = "Kworld 355 U DVB-T", 857 .name = "Kworld 355 U DVB-T",
858 .valid = EM28XX_BOARD_NOT_VALIDATED, 858 .valid = EM28XX_BOARD_NOT_VALIDATED,
859 .tuner_type = TUNER_ABSENT,
860 .tuner_gpio = default_tuner_gpio,
861 .has_dvb = 1,
862 .dvb_gpio = default_digital,
859 }, 863 },
860 [EM2870_BOARD_PINNACLE_PCTV_DVB] = { 864 [EM2870_BOARD_PINNACLE_PCTV_DVB] = {
861 .name = "Pinnacle PCTV DVB-T", 865 .name = "Pinnacle PCTV DVB-T",
@@ -1947,6 +1951,8 @@ struct usb_device_id em28xx_id_table[] = {
1947 .driver_info = EM2800_BOARD_GRABBEEX_USB2800 }, 1951 .driver_info = EM2800_BOARD_GRABBEEX_USB2800 },
1948 { USB_DEVICE(0xeb1a, 0xe357), 1952 { USB_DEVICE(0xeb1a, 0xe357),
1949 .driver_info = EM2870_BOARD_KWORLD_355U }, 1953 .driver_info = EM2870_BOARD_KWORLD_355U },
1954 { USB_DEVICE(0xeb1a, 0xe359),
1955 .driver_info = EM2870_BOARD_KWORLD_355U },
1950 { USB_DEVICE(0x1b80, 0xe302), 1956 { USB_DEVICE(0x1b80, 0xe302),
1951 .driver_info = EM2820_BOARD_PINNACLE_DVC_90 }, /* Kaiser Baas Video to DVD maker */ 1957 .driver_info = EM2820_BOARD_PINNACLE_DVC_90 }, /* Kaiser Baas Video to DVD maker */
1952 { USB_DEVICE(0x1b80, 0xe304), 1958 { USB_DEVICE(0x1b80, 0xe304),
diff --git a/drivers/media/video/em28xx/em28xx-dvb.c b/drivers/media/video/em28xx/em28xx-dvb.c
index e733b8ea2564..b0e5cbe1b40f 100644
--- a/drivers/media/video/em28xx/em28xx-dvb.c
+++ b/drivers/media/video/em28xx/em28xx-dvb.c
@@ -44,6 +44,7 @@
44#include "drxk.h" 44#include "drxk.h"
45#include "tda10071.h" 45#include "tda10071.h"
46#include "a8293.h" 46#include "a8293.h"
47#include "qt1010.h"
47 48
48MODULE_DESCRIPTION("driver for em28xx based DVB cards"); 49MODULE_DESCRIPTION("driver for em28xx based DVB cards");
49MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); 50MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>");
@@ -524,6 +525,17 @@ static const struct a8293_config em28xx_a8293_config = {
524 .i2c_addr = 0x08, /* (0x10 >> 1) */ 525 .i2c_addr = 0x08, /* (0x10 >> 1) */
525}; 526};
526 527
528static struct zl10353_config em28xx_zl10353_no_i2c_gate_dev = {
529 .demod_address = (0x1e >> 1),
530 .disable_i2c_gate_ctrl = 1,
531 .no_tuner = 1,
532 .parallel_ts = 1,
533};
534static struct qt1010_config em28xx_qt1010_config = {
535 .i2c_address = 0x62
536
537};
538
527/* ------------------------------------------------------------------ */ 539/* ------------------------------------------------------------------ */
528 540
529static int em28xx_attach_xc3028(u8 addr, struct em28xx *dev) 541static int em28xx_attach_xc3028(u8 addr, struct em28xx *dev)
@@ -776,6 +788,14 @@ static int em28xx_dvb_init(struct em28xx *dev)
776 goto out_free; 788 goto out_free;
777 } 789 }
778 break; 790 break;
791 case EM2870_BOARD_KWORLD_355U:
792 dvb->fe[0] = dvb_attach(zl10353_attach,
793 &em28xx_zl10353_no_i2c_gate_dev,
794 &dev->i2c_adap);
795 if (dvb->fe[0] != NULL)
796 dvb_attach(qt1010_attach, dvb->fe[0],
797 &dev->i2c_adap, &em28xx_qt1010_config);
798 break;
779 case EM2883_BOARD_KWORLD_HYBRID_330U: 799 case EM2883_BOARD_KWORLD_HYBRID_330U:
780 case EM2882_BOARD_EVGA_INDTUBE: 800 case EM2882_BOARD_EVGA_INDTUBE:
781 dvb->fe[0] = dvb_attach(s5h1409_attach, 801 dvb->fe[0] = dvb_attach(s5h1409_attach,