aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 b4c78f2ab985..3958f168fc57 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -140,6 +140,16 @@ static struct em28xx_reg_seq compro_mute_gpio[] = {
140 { -1, -1, -1, -1}, 140 { -1, -1, -1, -1},
141}; 141};
142 142
143/* Terratec AV350 */
144static struct em28xx_reg_seq terratec_av350_mute_gpio[] = {
145 {EM28XX_R08_GPIO, 0xff, 0x7f, 10},
146 { -1, -1, -1, -1},
147};
148
149static struct em28xx_reg_seq terratec_av350_unmute_gpio[] = {
150 {EM28XX_R08_GPIO, 0xff, 0xff, 10},
151 { -1, -1, -1, -1},
152};
143/* 153/*
144 * Board definitions 154 * Board definitions
145 */ 155 */
@@ -1363,6 +1373,26 @@ struct em28xx_board em28xx_boards[] = {
1363 .amux = EM28XX_AMUX_VIDEO2, 1373 .amux = EM28XX_AMUX_VIDEO2,
1364 } }, 1374 } },
1365 }, 1375 },
1376 [EM2860_BOARD_TERRATEC_AV350] = {
1377 .name = "Terratec AV350",
1378 .vchannels = 2,
1379 .tuner_type = TUNER_ABSENT,
1380 .decoder = EM28XX_TVP5150,
1381 .xclk = EM28XX_XCLK_FREQUENCY_12MHZ,
1382 .mute_gpio = terratec_av350_mute_gpio,
1383 .input = { {
1384 .type = EM28XX_VMUX_COMPOSITE1,
1385 .vmux = TVP5150_COMPOSITE1,
1386 .amux = EM28XX_AUDIO_SRC_LINE,
1387 .gpio = terratec_av350_unmute_gpio,
1388
1389 }, {
1390 .type = EM28XX_VMUX_SVIDEO,
1391 .vmux = TVP5150_SVIDEO,
1392 .amux = EM28XX_AUDIO_SRC_LINE,
1393 .gpio = terratec_av350_unmute_gpio,
1394 } },
1395 },
1366}; 1396};
1367const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards); 1397const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
1368 1398
@@ -1426,6 +1456,8 @@ struct usb_device_id em28xx_id_table[] = {
1426 .driver_info = EM2870_BOARD_TERRATEC_XS }, 1456 .driver_info = EM2870_BOARD_TERRATEC_XS },
1427 { USB_DEVICE(0x0ccd, 0x0047), 1457 { USB_DEVICE(0x0ccd, 0x0047),
1428 .driver_info = EM2880_BOARD_TERRATEC_PRODIGY_XS }, 1458 .driver_info = EM2880_BOARD_TERRATEC_PRODIGY_XS },
1459 { USB_DEVICE(0x0ccd, 0x0084),
1460 .driver_info = EM2860_BOARD_TERRATEC_AV350 },
1429 { USB_DEVICE(0x0ccd, 0x0096), 1461 { USB_DEVICE(0x0ccd, 0x0096),
1430 .driver_info = EM2860_BOARD_TERRATEC_GRABBY }, 1462 .driver_info = EM2860_BOARD_TERRATEC_GRABBY },
1431 { USB_DEVICE(0x185b, 0x2870), 1463 { USB_DEVICE(0x185b, 0x2870),
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h
index fa2fb4110833..58c0ef4a2dce 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -104,6 +104,7 @@
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#define EM2880_BOARD_EMPIRE_DUAL_TV 66
106#define EM2860_BOARD_TERRATEC_GRABBY 67 106#define EM2860_BOARD_TERRATEC_GRABBY 67
107#define EM2860_BOARD_TERRATEC_AV350 68
107 108
108/* Limits minimum and default number of buffers */ 109/* Limits minimum and default number of buffers */
109#define EM28XX_MIN_BUF 4 110#define EM28XX_MIN_BUF 4