From aad7cac45af92ed232797abde2e4506b80046c1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B8ren=20Schmidt?= <sos@FreeBSD.org>
Date: Tue, 14 Jul 1998 21:19:58 +0000
Subject: [PATCH] Add support for the AVer Media range of cards.

---
 sys/dev/bktr/bktr_core.c | 22 +++++++++++++---------
 sys/pci/brooktree848.c   | 22 +++++++++++++---------
 2 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/sys/dev/bktr/bktr_core.c b/sys/dev/bktr/bktr_core.c
index d1c3e06ef6af..01b42c4dd093 100644
--- a/sys/dev/bktr/bktr_core.c
+++ b/sys/dev/bktr/bktr_core.c
@@ -895,7 +895,9 @@ static const struct TUNER tuners[] = {
 #define	CARD_STB		3
 #define	CARD_INTEL		4
 #define	CARD_IMS_TURBO		5
-#define Bt848_MAX_CARD          6
+#define	CARD_AVER_MEDIA		6
+#define Bt848_MAX_CARD          7
+
 /*
  * the data for each type of card
  *
@@ -956,7 +958,16 @@ static const struct CARDTYPE cards[] = {
 	   0,
 	   PFC8582_WADDR,			/* EEProm type */
 	   (u_char)(256 / EEPROMBLOCKSIZE),	/* 256 bytes */
-	   { 0x01, 0x02, 0x01, 0x00, 1 } }	/* audio MUX values */
+	   { 0x01, 0x02, 0x01, 0x00, 1 } },     /* audio MUX values */
+
+        /* CARD_AVER_MEDIA */
+        { "AVer Media TV/FM",                   /* the 'name' */
+           NULL,                                /* the tuner */
+           0,                                   /* dbx is optional */
+           0,
+           0,                                   /* EEProm type */
+           0,                                   /* EEProm size */
+           { 0x0c, 0x00, 0x0b, 0x0b, 1 } },     /* audio MUX values */
 };
 
 struct bt848_card_sig bt848_card_signature[1]= {
@@ -1623,8 +1634,6 @@ video_open( bktr_ptr_t bktr )
 
 	}
 
-
-
 	bktr->flags = (bktr->flags & ~METEOR_DEV_MASK) | METEOR_DEV0;
 
 	bktr->max_clip_node = 0;
@@ -1664,7 +1673,6 @@ video_open( bktr_ptr_t bktr )
 	bt848->int_mask = BT848_INT_MYSTERYBIT;	/* if you take this out triton
                                                    based motherboards will 
 						   operate unreliably */
-
 	return( 0 );
 }
 
@@ -3537,7 +3545,6 @@ yuv12_prog( bktr_ptr_t bktr, char i_flag,
 
 	bt848->adc = SYNC_LEVEL;
 	bt848->oform = 0x0;
-
  
 	/* Construct Write */
  	inst  = OP_WRITE123  | OP_SOL | OP_EOL |  (cols); 
@@ -4196,9 +4203,6 @@ readEEProm( bktr_ptr_t bktr, int offset, int count, u_char *data )
 	return( 0 );
 }
 
-
-
-
 /*
  * get a signature of the card
  * read all 128 possible i2c read addresses from 0x01 thru 0xff
diff --git a/sys/pci/brooktree848.c b/sys/pci/brooktree848.c
index d1c3e06ef6af..01b42c4dd093 100644
--- a/sys/pci/brooktree848.c
+++ b/sys/pci/brooktree848.c
@@ -895,7 +895,9 @@ static const struct TUNER tuners[] = {
 #define	CARD_STB		3
 #define	CARD_INTEL		4
 #define	CARD_IMS_TURBO		5
-#define Bt848_MAX_CARD          6
+#define	CARD_AVER_MEDIA		6
+#define Bt848_MAX_CARD          7
+
 /*
  * the data for each type of card
  *
@@ -956,7 +958,16 @@ static const struct CARDTYPE cards[] = {
 	   0,
 	   PFC8582_WADDR,			/* EEProm type */
 	   (u_char)(256 / EEPROMBLOCKSIZE),	/* 256 bytes */
-	   { 0x01, 0x02, 0x01, 0x00, 1 } }	/* audio MUX values */
+	   { 0x01, 0x02, 0x01, 0x00, 1 } },     /* audio MUX values */
+
+        /* CARD_AVER_MEDIA */
+        { "AVer Media TV/FM",                   /* the 'name' */
+           NULL,                                /* the tuner */
+           0,                                   /* dbx is optional */
+           0,
+           0,                                   /* EEProm type */
+           0,                                   /* EEProm size */
+           { 0x0c, 0x00, 0x0b, 0x0b, 1 } },     /* audio MUX values */
 };
 
 struct bt848_card_sig bt848_card_signature[1]= {
@@ -1623,8 +1634,6 @@ video_open( bktr_ptr_t bktr )
 
 	}
 
-
-
 	bktr->flags = (bktr->flags & ~METEOR_DEV_MASK) | METEOR_DEV0;
 
 	bktr->max_clip_node = 0;
@@ -1664,7 +1673,6 @@ video_open( bktr_ptr_t bktr )
 	bt848->int_mask = BT848_INT_MYSTERYBIT;	/* if you take this out triton
                                                    based motherboards will 
 						   operate unreliably */
-
 	return( 0 );
 }
 
@@ -3537,7 +3545,6 @@ yuv12_prog( bktr_ptr_t bktr, char i_flag,
 
 	bt848->adc = SYNC_LEVEL;
 	bt848->oform = 0x0;
-
  
 	/* Construct Write */
  	inst  = OP_WRITE123  | OP_SOL | OP_EOL |  (cols); 
@@ -4196,9 +4203,6 @@ readEEProm( bktr_ptr_t bktr, int offset, int count, u_char *data )
 	return( 0 );
 }
 
-
-
-
 /*
  * get a signature of the card
  * read all 128 possible i2c read addresses from 0x01 thru 0xff