diff options
-rw-r--r-- | Documentation/video4linux/CARDLIST.em28xx | 1 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx-cards.c | 27 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx-dvb.c | 1 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx.h | 1 |
4 files changed, 30 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.em28xx b/Documentation/video4linux/CARDLIST.em28xx index 78d0a6eed571..bf58d957e0df 100644 --- a/Documentation/video4linux/CARDLIST.em28xx +++ b/Documentation/video4linux/CARDLIST.em28xx | |||
@@ -61,3 +61,4 @@ | |||
61 | 63 -> Kaiomy TVnPC U2 (em2860) [eb1a:e303] | 61 | 63 -> Kaiomy TVnPC U2 (em2860) [eb1a:e303] |
62 | 64 -> Easy Cap Capture DC-60 (em2860) | 62 | 64 -> Easy Cap Capture DC-60 (em2860) |
63 | 65 -> IO-DATA GV-MVP/SZ (em2820/em2840) [04bb:0515] | 63 | 65 -> IO-DATA GV-MVP/SZ (em2820/em2840) [04bb:0515] |
64 | 66 -> Empire dual TV (em2880) | ||
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index 7c70738479dd..7cb93fbbbbf8 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c | |||
@@ -1095,6 +1095,31 @@ struct em28xx_board em28xx_boards[] = { | |||
1095 | .gpio = default_analog, | 1095 | .gpio = default_analog, |
1096 | } }, | 1096 | } }, |
1097 | }, | 1097 | }, |
1098 | [EM2880_BOARD_EMPIRE_DUAL_TV] = { | ||
1099 | .name = "Empire dual TV", | ||
1100 | .tuner_type = TUNER_XC2028, | ||
1101 | .tuner_gpio = default_tuner_gpio, | ||
1102 | .has_dvb = 1, | ||
1103 | .dvb_gpio = default_digital, | ||
1104 | .mts_firmware = 1, | ||
1105 | .decoder = EM28XX_TVP5150, | ||
1106 | .input = { { | ||
1107 | .type = EM28XX_VMUX_TELEVISION, | ||
1108 | .vmux = TVP5150_COMPOSITE0, | ||
1109 | .amux = EM28XX_AMUX_VIDEO, | ||
1110 | .gpio = default_analog, | ||
1111 | }, { | ||
1112 | .type = EM28XX_VMUX_COMPOSITE1, | ||
1113 | .vmux = TVP5150_COMPOSITE1, | ||
1114 | .amux = EM28XX_AMUX_LINE_IN, | ||
1115 | .gpio = default_analog, | ||
1116 | }, { | ||
1117 | .type = EM28XX_VMUX_SVIDEO, | ||
1118 | .vmux = TVP5150_SVIDEO, | ||
1119 | .amux = EM28XX_AMUX_LINE_IN, | ||
1120 | .gpio = default_analog, | ||
1121 | } }, | ||
1122 | }, | ||
1098 | [EM2881_BOARD_DNT_DA2_HYBRID] = { | 1123 | [EM2881_BOARD_DNT_DA2_HYBRID] = { |
1099 | .name = "DNT DA2 Hybrid", | 1124 | .name = "DNT DA2 Hybrid", |
1100 | .valid = EM28XX_BOARD_NOT_VALIDATED, | 1125 | .valid = EM28XX_BOARD_NOT_VALIDATED, |
@@ -1437,6 +1462,7 @@ static struct em28xx_hash_table em28xx_eeprom_hash[] = { | |||
1437 | {0x6ce05a8f, EM2820_BOARD_PROLINK_PLAYTV_USB2, TUNER_YMEC_TVF_5533MF}, | 1462 | {0x6ce05a8f, EM2820_BOARD_PROLINK_PLAYTV_USB2, TUNER_YMEC_TVF_5533MF}, |
1438 | {0x72cc5a8b, EM2820_BOARD_PROLINK_PLAYTV_BOX4_USB2, TUNER_YMEC_TVF_5533MF}, | 1463 | {0x72cc5a8b, EM2820_BOARD_PROLINK_PLAYTV_BOX4_USB2, TUNER_YMEC_TVF_5533MF}, |
1439 | {0x966a0441, EM2880_BOARD_KWORLD_DVB_310U, TUNER_XC2028}, | 1464 | {0x966a0441, EM2880_BOARD_KWORLD_DVB_310U, TUNER_XC2028}, |
1465 | {0x9567eb1a, EM2880_BOARD_EMPIRE_DUAL_TV, TUNER_XC2028}, | ||
1440 | }; | 1466 | }; |
1441 | 1467 | ||
1442 | /* I2C devicelist hash table for devices with generic USB IDs */ | 1468 | /* I2C devicelist hash table for devices with generic USB IDs */ |
@@ -1664,6 +1690,7 @@ static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl) | |||
1664 | ctl->mts = em28xx_boards[dev->model].mts_firmware; | 1690 | ctl->mts = em28xx_boards[dev->model].mts_firmware; |
1665 | 1691 | ||
1666 | switch (dev->model) { | 1692 | switch (dev->model) { |
1693 | case EM2880_BOARD_EMPIRE_DUAL_TV: | ||
1667 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: | 1694 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: |
1668 | ctl->demod = XC3028_FE_ZARLINK456; | 1695 | ctl->demod = XC3028_FE_ZARLINK456; |
1669 | break; | 1696 | break; |
diff --git a/drivers/media/video/em28xx/em28xx-dvb.c b/drivers/media/video/em28xx/em28xx-dvb.c index fcd25511209b..c8188dc2b4b5 100644 --- a/drivers/media/video/em28xx/em28xx-dvb.c +++ b/drivers/media/video/em28xx/em28xx-dvb.c | |||
@@ -431,6 +431,7 @@ static int dvb_init(struct em28xx *dev) | |||
431 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: | 431 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: |
432 | case EM2880_BOARD_TERRATEC_HYBRID_XS: | 432 | case EM2880_BOARD_TERRATEC_HYBRID_XS: |
433 | case EM2880_BOARD_KWORLD_DVB_310U: | 433 | case EM2880_BOARD_KWORLD_DVB_310U: |
434 | case EM2880_BOARD_EMPIRE_DUAL_TV: | ||
434 | dvb->frontend = dvb_attach(zl10353_attach, | 435 | dvb->frontend = dvb_attach(zl10353_attach, |
435 | &em28xx_zl10353_with_xc3028, | 436 | &em28xx_zl10353_with_xc3028, |
436 | &dev->i2c_adap); | 437 | &dev->i2c_adap); |
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h index 4c4e58004f54..16f4c23f179b 100644 --- a/drivers/media/video/em28xx/em28xx.h +++ b/drivers/media/video/em28xx/em28xx.h | |||
@@ -102,6 +102,7 @@ | |||
102 | #define EM2860_BOARD_KAIOMY_TVNPC_U2 63 | 102 | #define EM2860_BOARD_KAIOMY_TVNPC_U2 63 |
103 | #define EM2860_BOARD_EASYCAP 64 | 103 | #define EM2860_BOARD_EASYCAP 64 |
104 | #define EM2820_BOARD_IODATA_GVMVP_SZ 65 | 104 | #define EM2820_BOARD_IODATA_GVMVP_SZ 65 |
105 | #define EM2880_BOARD_EMPIRE_DUAL_TV 66 | ||
105 | 106 | ||
106 | /* Limits minimum and default number of buffers */ | 107 | /* Limits minimum and default number of buffers */ |
107 | #define EM28XX_MIN_BUF 4 | 108 | #define EM28XX_MIN_BUF 4 |