summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroger <roger@FreeBSD.org>1999-09-27 08:04:55 +0000
committerroger <roger@FreeBSD.org>1999-09-27 08:04:55 +0000
commit69c745b9cb95ca7d142ef11732d275eaa64f6ff4 (patch)
tree337f88b544ce56d5315e4db82307eedd54f67e5e
parentf6f24090f11ada165b24617fcf5b6b24ca2788b7 (diff)
downloadFreeBSD-src-69c745b9cb95ca7d142ef11732d275eaa64f6ff4.zip
FreeBSD-src-69c745b9cb95ca7d142ef11732d275eaa64f6ff4.tar.gz
Add auto-detection for Askey Dynalink Magic TView and
Leadtek Winfast 2000 cards. No audio support yet, just the card make is reported. Submitted by: Craig <crh@outpost.co.nz> Submitted by: Peter Wemm <peter@netplex.com.au>
-rwxr-xr-xsys/dev/bktr/CHANGELOG.TXT6
-rw-r--r--sys/dev/bktr/bktr_card.c78
-rw-r--r--sys/dev/bktr/bktr_card.h32
3 files changed, 89 insertions, 27 deletions
diff --git a/sys/dev/bktr/CHANGELOG.TXT b/sys/dev/bktr/CHANGELOG.TXT
index e61341c..d4991ea 100755
--- a/sys/dev/bktr/CHANGELOG.TXT
+++ b/sys/dev/bktr/CHANGELOG.TXT
@@ -401,4 +401,10 @@
Update tuner code so Tuner FM radio support to use correct
datasheet values.
+2.01 27 Sep 1999 Roger Hardiman <roger@freebsd.org>
+ Add Dynalink Magic TView for Craig <crh@outpost.co.nz>
+ Add Leadtek Winfast 2000 for Peter Wemm <peter@netplex.com.au>
+ There is no audio support on these 2 cards yet.
+ Tidy up a few tables with tabs and PLL selection code.
+ Restore Video Highway Xtreme PLL code.
diff --git a/sys/dev/bktr/bktr_card.c b/sys/dev/bktr/bktr_card.c
index 5975b4d..816bbcc 100644
--- a/sys/dev/bktr/bktr_card.c
+++ b/sys/dev/bktr/bktr_card.c
@@ -252,14 +252,36 @@ static const struct CARDTYPE cards[] = {
{ CARD_VIDEO_HIGHWAY_XTREME, /* the card id */
"Video Highway Xtreme", /* the 'name' */
NULL, /* the tuner */
- 0, /* the tuner i2c address */
- 0, /* dbx is optional */
- 0, /* msp34xx is optional */
+ 0,
+ 0,
+ 0,
0, /* EEProm type */
0, /* EEProm size */
{ 0x00, 0x02, 0x01, 0x04, 1 }, /* audio MUX values */
0x0f }, /* GPIO mask */
+ { CARD_ASKEY_DYNALINK_MAGIC_TVIEW, /* the card id */
+ "Askey/Dynalink Magic TView", /* the 'name' */
+ NULL, /* the tuner */
+ 0,
+ 0,
+ 0,
+ 0, /* EEProm type */
+ 0, /* EEProm size */
+ { 0x00, 0x00, 0x00, 0x00, 0 }, /* audio MUX values */
+ 0x00 }, /* GPIO mask */
+
+ { CARD_LEADTEK, /* the card id */
+ "Leadtek Winfast TV 2000", /* the 'name' */
+ NULL, /* the tuner */
+ 0,
+ 0,
+ 0,
+ 0, /* EEProm type */
+ 0, /* EEProm size */
+ { 0x00, 0x00, 0x00, 0x00, 0 }, /* audio MUX values */
+ 0x00 }, /* GPIO mask */
+
};
struct bt848_card_sig bt848_card_signature[1]= {
@@ -446,10 +468,12 @@ static int locate_eeprom_address( bktr_ptr_t bktr) {
* configuration EEPROM used on Bt878/879 cards. They should match the
* number assigned to the company by the PCI Special Interest Group
*/
-#define VENDOR_AVER_MEDIA 0x1461
-#define VENDOR_HAUPPAUGE 0x0070
-#define VENDOR_FLYVIDEO 0x1851
-#define VENDOR_STB 0x10B4
+#define VENDOR_AVER_MEDIA 0x1461
+#define VENDOR_HAUPPAUGE 0x0070
+#define VENDOR_FLYVIDEO 0x1851
+#define VENDOR_STB 0x10B4
+#define VENDOR_ASKEY_COMP 0x144F
+#define VENDOR_LEADTEK 0x6606
void
@@ -565,6 +589,20 @@ probeCard( bktr_ptr_t bktr, int verbose, int unit )
goto checkTuner;
}
+ if (subsystem_vendor_id == VENDOR_ASKEY_COMP) {
+ bktr->card = cards[ (card = CARD_ASKEY_DYNALINK_MAGIC_TVIEW) ];
+ bktr->card.eepromAddr = eeprom_i2c_address;
+ bktr->card.eepromSize = (u_char)(256 / EEPROMBLOCKSIZE);
+ goto checkTuner;
+ }
+
+ if (subsystem_vendor_id == VENDOR_LEADTEK) {
+ bktr->card = cards[ (card = CARD_LEADTEK) ];
+ bktr->card.eepromAddr = eeprom_i2c_address;
+ bktr->card.eepromSize = (u_char)(256 / EEPROMBLOCKSIZE);
+ goto checkTuner;
+ }
+
/* Vendor is unknown. We will use the standard probe code */
/* which may not give best results */
printf("Warning - card vendor 0x%04x (model 0x%04x) unknown.\n",subsystem_vendor_id,subsystem_id);
@@ -1028,19 +1066,35 @@ checkMSPEnd:
/* Default is to use XTALS and not PLL mode */
bktr->xtal_pll_mode = BT848_USE_XTALS;
+ /* Enable PLL mode for OSPREY users */
+ if (card == CARD_OSPREY)
+ bktr->xtal_pll_mode = BT848_USE_PLL;
+
+ /* Enable PLL mode for Video Highway Xtreme users */
+ if (card == CARD_VIDEO_HIGHWAY_XTREME)
+ bktr->xtal_pll_mode = BT848_USE_PLL;
+
+
+ /* Most (perhaps all) Bt878 cards need to be switched to PLL mode */
+ /* as they only fit the NTSC crystal to their cards */
+
/* Enable PLL mode for PAL/SECAM users on Hauppauge 878 cards */
if ((card == CARD_HAUPPAUGE) &&
(bktr->id==BROOKTREE_878 || bktr->id==BROOKTREE_879) )
bktr->xtal_pll_mode = BT848_USE_PLL;
-
- /* Enable PLL mode for OSPREY users */
- if (card == CARD_OSPREY)
+ /* Enable PLL mode for PAL/SECAM users on FlyVideo 878 cards */
+ if ((card == CARD_FLYVIDEO) &&
+ (bktr->id==BROOKTREE_878 || bktr->id==BROOKTREE_879) )
bktr->xtal_pll_mode = BT848_USE_PLL;
+ /* Enable PLL mode for Askey Dynalink users */
+ if ((card == CARD_ASKEY_DYNALINK_MAGIC_TVIEW) &&
+ (bktr->id==BROOKTREE_878 || bktr->id==BROOKTREE_879) )
+ bktr->xtal_pll_mode = BT848_USE_PLL;
- /* Enable PLL mode for PAL/SECAM users on FlyVideo 878 cards */
- if ((card == CARD_FLYVIDEO) &&
+ /* Enable PLL mode for Leadtek users */
+ if ((card == CARD_LEADTEK) &&
(bktr->id==BROOKTREE_878 || bktr->id==BROOKTREE_879) )
bktr->xtal_pll_mode = BT848_USE_PLL;
diff --git a/sys/dev/bktr/bktr_card.h b/sys/dev/bktr/bktr_card.h
index d625743..208c4dc 100644
--- a/sys/dev/bktr/bktr_card.h
+++ b/sys/dev/bktr/bktr_card.h
@@ -59,21 +59,23 @@
* where <card type> is one of the following card defines.
*/
-#define CARD_UNKNOWN 0
-#define CARD_MIRO 1
-#define CARD_HAUPPAUGE 2
-#define CARD_STB 3
-#define CARD_INTEL 4 /* Also for VideoLogic Captivator PCI */
-#define CARD_IMS_TURBO 5
-#define CARD_AVER_MEDIA 6
-#define CARD_OSPREY 7
-#define CARD_NEC_PK 8
-#define CARD_IO_GV 9
-#define CARD_FLYVIDEO 10
-#define CARD_ZOLTRIX 11
-#define CARD_KISS 12
-#define CARD_VIDEO_HIGHWAY_XTREME 13
-#define Bt848_MAX_CARD 14
+#define CARD_UNKNOWN 0
+#define CARD_MIRO 1
+#define CARD_HAUPPAUGE 2
+#define CARD_STB 3
+#define CARD_INTEL 4 /* Also for VideoLogic Captivator PCI */
+#define CARD_IMS_TURBO 5
+#define CARD_AVER_MEDIA 6
+#define CARD_OSPREY 7
+#define CARD_NEC_PK 8
+#define CARD_IO_GV 9
+#define CARD_FLYVIDEO 10
+#define CARD_ZOLTRIX 11
+#define CARD_KISS 12
+#define CARD_VIDEO_HIGHWAY_XTREME 13
+#define CARD_ASKEY_DYNALINK_MAGIC_TVIEW 14
+#define CARD_LEADTEK 15
+#define Bt848_MAX_CARD 16
int signCard( bktr_ptr_t bktr, int offset, int count, u_char* sig );
OpenPOWER on IntegriCloud