All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Pantzer <Thomas.Pantzer@gmx.de>
To: linux-media@vger.kernel.org
Subject: Support for Terratech Grabster MX150/250 and ADStech XPress USBAV-192
Date: Mon, 28 Oct 2019 00:19:37 +0100	[thread overview]
Message-ID: <5DB62609.3050404@gmx.de> (raw)

[-- Attachment #1: Type: text/plain, Size: 500 bytes --]

- Adds support for USB analog video/audio capture devices
    - Terratec Grabster AV 150/250 MX 	USB-ID (0ccd:0079)
    - ADS Tech Instant Video XPress USBAV-192  USB-ID (06e1:a192)

- Bugfix: constant TM6000_MAXBOARDS off by one,
	 Grabster was never enumerated

Signed-off-by: Thomas Pantzer <kernel-org@pantzer.net>
---
 drivers/media/usb/tm6000/tm6000-cards.c | 79
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 58 insertions(+), 21 deletions(-)

[-- Attachment #2: tm6000-cards.diff --]
[-- Type: text/plain, Size: 4363 bytes --]

diff -bBduwp linux-3.18.16/drivers/media/usb/tm6000/tm6000-cards.c-vanilla linux/drivers/media/usb/tm6000/tm6000-cards.c
--- linux-3.18.16/drivers/media/usb/tm6000/tm6000-cards.c-vanilla	2015-06-19 18:42:40.000000000 +0200
+++ linux/drivers/media/usb/tm6000/tm6000-cards.c	2019-10-28 00:01:45.000000000 +0100
@@ -52,13 +52,16 @@
 #define TM6010_BOARD_BEHOLD_WANDER_LITE		14
 #define TM6010_BOARD_BEHOLD_VOYAGER_LITE	15
 #define TM5600_BOARD_TERRATEC_GRABSTER		16
+#define TM5600_BOARD_ADSTECH_XPRESS_USBAV_192   17
+

 #define is_generic(model) ((model == TM6000_BOARD_UNKNOWN) || \
 			   (model == TM5600_BOARD_GENERIC) || \
 			   (model == TM6000_BOARD_GENERIC) || \
 			   (model == TM6010_BOARD_GENERIC))

-#define TM6000_MAXBOARDS        16
+#define TM6000_MAXBOARDS        18
+
 static unsigned int card[]     = {[0 ... (TM6000_MAXBOARDS - 1)] = UNSET };

 module_param_array(card,  int, NULL, 0444);
@@ -500,25 +503,6 @@ static struct tm6000_board tm6000_boards
 			.amux = TM6000_AMUX_SIF1,
 		},
 	},
-	[TM5600_BOARD_TERRATEC_GRABSTER] = {
-		.name         = "Terratec Grabster AV 150/250 MX",
-		.type         = TM5600,
-		.tuner_type   = TUNER_ABSENT,
-		.vinput = { {
-			.type	= TM6000_INPUT_TV,
-			.vmux	= TM6000_VMUX_VIDEO_B,
-			.amux	= TM6000_AMUX_ADC1,
-			}, {
-			.type	= TM6000_INPUT_COMPOSITE1,
-			.vmux	= TM6000_VMUX_VIDEO_A,
-			.amux	= TM6000_AMUX_ADC2,
-			}, {
-			.type	= TM6000_INPUT_SVIDEO,
-			.vmux	= TM6000_VMUX_VIDEO_AB,
-			.amux	= TM6000_AMUX_ADC2,
-			},
-		},
-	},
 	[TM6010_BOARD_TWINHAN_TU501] = {
 		.name         = "Twinhan TU501(704D1)",
 		.tuner_type   = TUNER_XC2028, /* has a XC3028 */
@@ -614,6 +598,58 @@ static struct tm6000_board tm6000_boards
 			.amux	= TM6000_AMUX_ADC1,
 		},
 	},
+	[TM5600_BOARD_TERRATEC_GRABSTER] = {
+		.name         = "Terratec Grabster AV 150/250 MX",
+		.type         = TM5600,
+		.tuner_type   = TUNER_ABSENT,
+		.gpio = {
+			.tuner_reset    = TM6000_GPIO_1,
+			/* this GPIO configuration needs to be here due to a
+			bug elsewhere, if it is missing the driver fails to
+			load, if TUNER_ABSENT or has_tuner==0 is stated, the
+			tuner-reset configuration should be ignored */
+		},
+		.caps = {
+			.has_tuner = 0,
+			.has_eeprom = 0,
+		},
+		.vinput = { {
+			.type   = TM6000_INPUT_SVIDEO,
+			.vmux   = TM6000_VMUX_VIDEO_A,
+			.amux   = TM6000_AMUX_ADC1,
+			}, {
+			.type   = TM6000_INPUT_COMPOSITE1,
+			.vmux   = TM6000_VMUX_VIDEO_B,
+			.amux   = TM6000_AMUX_ADC2,
+			},
+		},
+	},
+	[TM5600_BOARD_ADSTECH_XPRESS_USBAV_192] = {
+		.name         = "ADStech XPress USBAV-192",
+		.type         = TM5600,
+		.tuner_type   = TUNER_ABSENT,
+		.caps = {
+			.has_eeprom	= 1,
+			.has_tuner	= 0,
+		},
+		.gpio = {
+			.tuner_reset	= TM6000_GPIO_1,
+			/* this GPIO configuration needs to be here due to a
+			bug elsewhere, if it is missing the driver fails to
+			load, if TUNER_ABSENT or has_tuner==0 is stated, the
+			tuner-reset configuration should be ignored */
+		},
+		.vinput = { {
+			.type	= TM6000_INPUT_SVIDEO,
+			.vmux	= TM6000_VMUX_VIDEO_A,
+			.amux	= TM6000_AMUX_ADC1,
+			}, {
+			.type	= TM6000_INPUT_COMPOSITE1,
+			.vmux	= TM6000_VMUX_VIDEO_B,
+			.amux	= TM6000_AMUX_ADC2,
+			},
+		},
+	},
 };

 /* table of devices that work with this driver */
@@ -631,13 +667,14 @@ static struct usb_device_id tm6000_id_ta
 	{ USB_DEVICE(0x6000, 0xdec1), .driver_info = TM6010_BOARD_BEHOLD_VOYAGER },
 	{ USB_DEVICE(0x0ccd, 0x0086), .driver_info = TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE },
 	{ USB_DEVICE(0x0ccd, 0x00A5), .driver_info = TM6010_BOARD_TERRATEC_CINERGY_HYBRID_XE },
-	{ USB_DEVICE(0x0ccd, 0x0079), .driver_info = TM5600_BOARD_TERRATEC_GRABSTER },
 	{ USB_DEVICE(0x13d3, 0x3240), .driver_info = TM6010_BOARD_TWINHAN_TU501 },
 	{ USB_DEVICE(0x13d3, 0x3241), .driver_info = TM6010_BOARD_TWINHAN_TU501 },
 	{ USB_DEVICE(0x13d3, 0x3243), .driver_info = TM6010_BOARD_TWINHAN_TU501 },
 	{ USB_DEVICE(0x13d3, 0x3264), .driver_info = TM6010_BOARD_TWINHAN_TU501 },
 	{ USB_DEVICE(0x6000, 0xdec2), .driver_info = TM6010_BOARD_BEHOLD_WANDER_LITE },
 	{ USB_DEVICE(0x6000, 0xdec3), .driver_info = TM6010_BOARD_BEHOLD_VOYAGER_LITE },
+	{ USB_DEVICE(0x0ccd, 0x0079), .driver_info = TM5600_BOARD_TERRATEC_GRABSTER },
+	{ USB_DEVICE(0x06e1, 0xa192), .driver_info = TM5600_BOARD_ADSTECH_XPRESS_USBAV_192 },
 	{ }
 };
 MODULE_DEVICE_TABLE(usb, tm6000_id_table);

             reply	other threads:[~2019-10-27 23:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-27 23:19 Thomas Pantzer [this message]
2020-01-15 17:45 ` Support for Terratech Grabster MX150/250 and ADStech XPress USBAV-192 Sean Young
  -- strict thread matches above, loose matches on Subject: below --
2019-10-27 17:39 Thomas Pantzer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5DB62609.3050404@gmx.de \
    --to=thomas.pantzer@gmx.de \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.