Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f74a61e3 authored by Indika Katugampala's avatar Indika Katugampala Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (10528): em28xx: support added for IO-DATA GV/MVP SZ - EMPIA-2820 chipset



[dougsland@redhat.com: Fixed CodingStyle]
Signed-off-by: default avatarIndika Katugampala <indika_20012001@yahoo.co.jp>
Signed-off-by: default avatarDouglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent a1a6ee74
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -61,3 +61,4 @@
 62 -> Gadmei TVR200                            (em2820/em2840)
 63 -> Kaiomy TVnPC U2                          (em2860)        [eb1a:e303]
 64 -> Easy Cap Capture DC-60                   (em2860)
 65 -> IO-DATA GV-MVP/SZ                        (em2820/em2840) [04bb:0515]
+32 −0
Original line number Diff line number Diff line
@@ -1297,6 +1297,26 @@ struct em28xx_board em28xx_boards[] = {
			.amux     = EM28XX_AMUX_LINE_IN,
		} },
	},
	[EM2820_BOARD_IODATA_GVMVP_SZ] = {
		.name       = "IO-DATA GV-MVP/SZ",
		.tuner_type   = TUNER_PHILIPS_FM1236_MK3,
		.tuner_gpio   = default_tuner_gpio,
		.tda9887_conf = TDA9887_PRESENT,
		.decoder      = EM28XX_TVP5150,
		.input        = { {
			.type     = EM28XX_VMUX_TELEVISION,
			.vmux     = TVP5150_COMPOSITE0,
			.amux     = EM28XX_AMUX_VIDEO,
		}, { /* Composite has not been tested yet */
			.type     = EM28XX_VMUX_COMPOSITE1,
			.vmux     = TVP5150_COMPOSITE1,
			.amux     = EM28XX_AMUX_VIDEO,
		}, { /* S-video has not been tested yet */
			.type     = EM28XX_VMUX_SVIDEO,
			.vmux     = TVP5150_SVIDEO,
			.amux     = EM28XX_AMUX_VIDEO,
		} },
	},
};
const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);

@@ -1396,6 +1416,8 @@ struct usb_device_id em28xx_id_table[] = {
			.driver_info = EM2800_BOARD_LEADTEK_WINFAST_USBII },
	{ USB_DEVICE(0x093b, 0xa005),
			.driver_info = EM2861_BOARD_PLEXTOR_PX_TV100U },
	{ USB_DEVICE(0x04bb, 0x0515),
			.driver_info = EM2820_BOARD_IODATA_GVMVP_SZ },
	{ },
};
MODULE_DEVICE_TABLE(usb, em28xx_id_table);
@@ -1589,6 +1611,16 @@ void em28xx_pre_card_setup(struct em28xx *dev)
		em28xx_write_regs(dev, 0x08, "\xf8", 1);
		break;

	case EM2820_BOARD_IODATA_GVMVP_SZ:
		em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xff);
		msleep(70);
		em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xf7);
		msleep(10);
		em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xfe);
		msleep(70);
		em28xx_write_reg(dev, EM28XX_R08_GPIO, 0xfd);
		msleep(70);
		break;
	}

	em28xx_gpio_set(dev, dev->board.tuner_gpio);
+1 −0
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@
#define EM2820_BOARD_GADMEI_TVR200		  62
#define EM2860_BOARD_KAIOMY_TVNPC_U2              63
#define EM2860_BOARD_EASYCAP                      64
#define EM2820_BOARD_IODATA_GVMVP_SZ		  65

/* Limits minimum and default number of buffers */
#define EM28XX_MIN_BUF 4