aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx
diff options
context:
space:
mode:
authorIndika Katugampala <indika_20012001@yahoo.co.jp>2009-02-11 09:13:05 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:42:45 -0400
commitf74a61e3c6f218053742c2caf3e247fb41bf395e (patch)
tree9fc443cb9ddd4ee157ee9d38eb09216e3b476927 /drivers/media/video/em28xx
parenta1a6ee74f2c68918f2e145dccba3637eea91a52a (diff)
V4L/DVB (10528): em28xx: support added for IO-DATA GV/MVP SZ - EMPIA-2820 chipset
[dougsland@redhat.com: Fixed CodingStyle] Signed-off-by: Indika Katugampala <indika_20012001@yahoo.co.jp> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/em28xx')
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c32
-rw-r--r--drivers/media/video/em28xx/em28xx.h1
2 files changed, 33 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 419304d31256..c16c28e1ec48 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -1297,6 +1297,26 @@ struct em28xx_board em28xx_boards[] = {
1297 .amux = EM28XX_AMUX_LINE_IN, 1297 .amux = EM28XX_AMUX_LINE_IN,
1298 } }, 1298 } },
1299 }, 1299 },
1300 [EM2820_BOARD_IODATA_GVMVP_SZ] = {
1301 .name = "IO-DATA GV-MVP/SZ",
1302 .tuner_type = TUNER_PHILIPS_FM1236_MK3,
1303 .tuner_gpio = default_tuner_gpio,
1304 .tda9887_conf = TDA9887_PRESENT,
1305 .decoder = EM28XX_TVP5150,
1306 .input = { {
1307 .type = EM28XX_VMUX_TELEVISION,
1308 .vmux = TVP5150_COMPOSITE0,
1309 .amux = EM28XX_AMUX_VIDEO,
1310 }, { /* Composite has not been tested yet */
1311 .type = EM28XX_VMUX_COMPOSITE1,
1312 .vmux = TVP5150_COMPOSITE1,
1313 .amux = EM28XX_AMUX_VIDEO,
1314 }, { /* S-video has not been tested yet */
1315 .type = EM28XX_VMUX_SVIDEO,
1316 .vmux = TVP5150_SVIDEO,
1317 .amux = EM28XX_AMUX_VIDEO,
1318 } },
1319 },
1300}; 1320};
1301const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards); 1321const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
1302 1322
@@ -1396,6 +1416,8 @@ struct usb_device_id em28xx_id_table[] = {
1396 .driver_info = EM2800_BOARD_LEADTEK_WINFAST_USBII }, 1416 .driver_info = EM2800_BOARD_LEADTEK_WINFAST_USBII },
1397 { USB_DEVICE(0x093b, 0xa005), 1417 { USB_DEVICE(0x093b, 0xa005),
1398 .driver_info = EM2861_BOARD_PLEXTOR_PX_TV100U }, 1418 .driver_info = EM2861_BOARD_PLEXTOR_PX_TV100U },
1419 { USB_DEVICE(0x04bb, 0x0515),
1420 .driver_info = EM2820_BOARD_IODATA_GVMVP_SZ },
1399 { }, 1421 { },
1400}; 1422};
1401MODULE_DEVICE_TABLE(usb, em28xx_id_table); 1423MODULE_DEVICE_TABLE(usb, em28xx_id_table);
@@ -1589,6 +1611,16 @@ void em28xx_pre_card_setup(struct em28xx *dev)
1589 em28xx_write_regs(dev, 0x08, "\xf8", 1); 1611 em28xx_write_regs(dev, 0x08, "\xf8", 1);
1590 break; 1612 break;
1591 1613
1614 case EM2820_BOARD_IODATA_GVMVP_SZ:
1615 em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xff);
1616 msleep(70);
1617 em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xf7);
1618 msleep(10);
1619 em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xfe);
1620 msleep(70);
1621 em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xfd);
1622 msleep(70);
1623 break;
1592 } 1624 }
1593 1625
1594 em28xx_gpio_set(dev, dev->board.tuner_gpio); 1626 em28xx_gpio_set(dev, dev->board.tuner_gpio);
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h
index 5115db3a76a6..3e82d818c0cd 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -101,6 +101,7 @@
101#define EM2820_BOARD_GADMEI_TVR200 62 101#define EM2820_BOARD_GADMEI_TVR200 62
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 105
105/* Limits minimum and default number of buffers */ 106/* Limits minimum and default number of buffers */
106#define EM28XX_MIN_BUF 4 107#define EM28XX_MIN_BUF 4