diff options
author | Aivar Päkk <aivar11@gmail.com> | 2011-12-11 16:15:00 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-12-30 14:25:00 -0500 |
commit | 1985f6fb8965a813aabd53a6b64ec54dd23bfdfb (patch) | |
tree | 7061a6a13ecdd814ddb6924d495f75b9cd608820 | |
parent | f36472da3a6d62ee46ae773bbbf05ddb24cd970c (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.c | 6 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx-dvb.c | 20 |
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 | ||
48 | MODULE_DESCRIPTION("driver for em28xx based DVB cards"); | 49 | MODULE_DESCRIPTION("driver for em28xx based DVB cards"); |
49 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); | 50 | MODULE_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 | ||
528 | static 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 | }; | ||
534 | static struct qt1010_config em28xx_qt1010_config = { | ||
535 | .i2c_address = 0x62 | ||
536 | |||
537 | }; | ||
538 | |||
527 | /* ------------------------------------------------------------------ */ | 539 | /* ------------------------------------------------------------------ */ |
528 | 540 | ||
529 | static int em28xx_attach_xc3028(u8 addr, struct em28xx *dev) | 541 | static 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, |