diff options
author | roger <roger@FreeBSD.org> | 1999-09-27 08:04:55 +0000 |
---|---|---|
committer | roger <roger@FreeBSD.org> | 1999-09-27 08:04:55 +0000 |
commit | 69c745b9cb95ca7d142ef11732d275eaa64f6ff4 (patch) | |
tree | 337f88b544ce56d5315e4db82307eedd54f67e5e | |
parent | f6f24090f11ada165b24617fcf5b6b24ca2788b7 (diff) | |
download | FreeBSD-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-x | sys/dev/bktr/CHANGELOG.TXT | 6 | ||||
-rw-r--r-- | sys/dev/bktr/bktr_card.c | 78 | ||||
-rw-r--r-- | sys/dev/bktr/bktr_card.h | 32 |
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 ); |