diff options
-rw-r--r-- | share/man/man4/bktr.4 | 10 | ||||
-rw-r--r-- | sys/dev/pci/bktr/bktr_card.c | 48 | ||||
-rw-r--r-- | sys/dev/pci/bktr/bktr_card.h | 6 |
3 files changed, 59 insertions, 5 deletions
diff --git a/share/man/man4/bktr.4 b/share/man/man4/bktr.4 index 941615480f5..b8bdab8c020 100644 --- a/share/man/man4/bktr.4 +++ b/share/man/man4/bktr.4 @@ -29,7 +29,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: bktr.4,v 1.17 2004/09/30 19:59:24 mickey Exp $ +.\" $OpenBSD: bktr.4,v 1.18 2004/10/15 08:59:32 jsg Exp $ .\" $FreeBSD: /c/ncvs/src/share/man/man4/bktr.4,v 1.9.2.5 2001/03/06 19:08:09 ru Exp $ .\" .Dd January 28, 1998 @@ -59,6 +59,7 @@ The driver also supports FM Radio if the Tuner supports it. Specifically, the following cards are known to work: .Bd -unfilled -offset indent Animation Technologies FlyVideo +AOpen VA1000 Askey/Dynalink Magic TView ATI TV-Wonder and Wonder/VE AverMedia cards @@ -66,6 +67,7 @@ Hauppauge Wincast TV and WinTV/PCI IMS TV Turbo Intel Smart Video Recorder III I/O DATA GV-BCTV2/PCI +I/O DATA GV-BCTV3/PCI KISS TV/FM PCI Leadtek Winfast TV 2000 Miro PC TV @@ -112,6 +114,10 @@ Askey/Dynalink Magic TView AverMedia .It FLYVIDEO Animation Technologies FlyVideo +.It AOPEN_VA1000 +AOpen VA1000 +.It TVWONDER +ATI TV-Wonder/VE .It HAUPPAUGE Hauppauge Wincast TV and WinTV .It IMS_TURBO @@ -120,6 +126,8 @@ IMS TV Turbo Intel Smart Video Recorder III .It IO_GV I/O DATA GV-BCTV2/PCI +.It IO_BCTV3 +I/O DATA GV-BCTV3/PCI .It KISS KISS TV/FM PCI .It LEADTEK diff --git a/sys/dev/pci/bktr/bktr_card.c b/sys/dev/pci/bktr/bktr_card.c index 44b1a472e84..cfc0693ea1c 100644 --- a/sys/dev/pci/bktr/bktr_card.c +++ b/sys/dev/pci/bktr/bktr_card.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bktr_card.c,v 1.9 2004/06/28 13:20:14 mickey Exp $ */ +/* $OpenBSD: bktr_card.c,v 1.10 2004/10/15 08:59:32 jsg Exp $ */ /* $FreeBSD: src/sys/dev/bktr/bktr_card.c,v 1.16 2000/10/31 13:09:56 roger Exp $ */ /* @@ -354,6 +354,31 @@ static const struct CARDTYPE cards[] = { { 0x1002, 0x1002, 0x3003, 0x3003, 0x3003 }, /* audio MUX values*/ 0x300f }, /* GPIO mask */ + { CARD_IO_BCTV3, /* the card id */ + "I/O DATA GV-BCTV3/PCI", /* the 'name' */ + NULL, /* the tuner */ + 0, /* the tuner i2c address */ + 0, /* dbx is optional */ + 0, + 0, + 0, /* EEProm type */ + 0, /* EEProm size */ + /* Tuner, Extern, Intern, Mute, Enabled */ + { 0x10000, 0, 0x10000, 0, 1 }, /* audio MUX values */ + 0x10f00 }, /* GPIO mask */ + + { CARD_AOPEN_VA1000, /* the card id */ + "AOpen VA1000", /* the 'name' */ + NULL, /* the tuner */ + 0, /* the tuner i2c address */ + 0, /* dbx is optional */ + 0, + 0, + 0, /* EEProm unknown */ + 0, /* size unknown */ + { 0x02, 0x00, 0x00, 0x00, 1 }, /* audio MUX values */ + 0x18e0 }, /* GPIO mask */ + }; struct bt848_card_sig bt848_card_signature[1]= { @@ -666,7 +691,8 @@ probeCard( bktr_ptr_t bktr, int verbose, int unit ) goto checkTuner; } - if ((subsystem_vendor_id == PCI_VENDOR_LEADTEK_ALT) + if ((subsystem_vendor_id == PCI_VENDOR_LEADTEK) + || (subsystem_vendor_id == PCI_VENDOR_LEADTEK_ALT) || (subsystem_vendor_id == PCI_VENDOR_LEADTEK_ALT_2) || (subsystem_vendor_id == PCI_VENDOR_LEADTEK_ALT_3)) { bktr->card = cards[ (card = CARD_LEADTEK) ]; @@ -696,6 +722,19 @@ probeCard( bktr_ptr_t bktr, int verbose, int unit ) goto checkTuner; } + /* + * Check which card as the GV-BCTV4 and GV-BCTV5 IODATA make + * are somewhat different to the GV-BCTV3. + */ + + if (subsystem_vendor_id == PCI_VENDOR_IODATA && + subsystem_id == PCI_PRODUCT_IODATA_GV_BCTV3) { + bktr->card = cards[ (card = CARD_IO_BCTV3) ]; + 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("%s: Warning " @@ -1111,6 +1150,11 @@ checkTuner: goto checkDBX; break; + case CARD_IO_BCTV3: + select_tuner( bktr, ALPS_TSCH5 ); /* ALPS_TSCH6, in fact. */ + goto checkDBX; + break; + } /* end switch(card) */ diff --git a/sys/dev/pci/bktr/bktr_card.h b/sys/dev/pci/bktr/bktr_card.h index a4cc70388a4..10b3b6897a0 100644 --- a/sys/dev/pci/bktr/bktr_card.h +++ b/sys/dev/pci/bktr/bktr_card.h @@ -1,4 +1,4 @@ -/* $OpenBSD: bktr_card.h,v 1.4 2004/06/28 13:20:14 mickey Exp $ */ +/* $OpenBSD: bktr_card.h,v 1.5 2004/10/15 08:59:32 jsg Exp $ */ /* $FreeBSD: src/sys/dev/bktr/bktr_card.h,v 1.4 2000/06/26 09:41:31 roger Exp $ */ /* @@ -78,7 +78,9 @@ #define CARD_LEADTEK 15 #define CARD_TERRATVPLUS 16 #define CARD_TVWONDER 17 -#define Bt848_MAX_CARD 18 +#define CARD_IO_BCTV3 18 +#define CARD_AOPEN_VA1000 19 +#define Bt848_MAX_CARD 20 int signCard( bktr_ptr_t bktr, int offset, int count, u_char *sig ); |