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>
This commit is contained in:
roger 1999-09-27 08:04:55 +00:00
parent f6f24090f1
commit 69c745b9cb
3 changed files with 90 additions and 28 deletions

View File

@ -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.

View File

@ -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,22 +1066,38 @@ 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)
bktr->xtal_pll_mode = BT848_USE_PLL;
/* 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 Leadtek users */
if ((card == CARD_LEADTEK) &&
(bktr->id==BROOKTREE_878 || bktr->id==BROOKTREE_879) )
bktr->xtal_pll_mode = BT848_USE_PLL;
#if defined( BKTR_USE_PLL )
checkPLLEnd:

View File

@ -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 );