summaryrefslogtreecommitdiff
path: root/sys/dev/pci/bktr
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2005-02-24 20:23:40 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2005-02-24 20:23:40 +0000
commit7f34afc1b4b8a5d763fbfac2b313c65c1c93b13a (patch)
treeac992bbbe38f68b36e3d9ac1bba78b9e22214e70 /sys/dev/pci/bktr
parent1215b1671fb13e4cdcdd19d1d2afbc0213146e94 (diff)
support zoltrix tv/fm; from jakemsr@ pr4096
Diffstat (limited to 'sys/dev/pci/bktr')
-rw-r--r--sys/dev/pci/bktr/bktr_card.c30
-rw-r--r--sys/dev/pci/bktr/bktr_card.h5
2 files changed, 32 insertions, 3 deletions
diff --git a/sys/dev/pci/bktr/bktr_card.c b/sys/dev/pci/bktr/bktr_card.c
index 55d0573adaa..7b91757df6a 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.11 2005/02/17 18:07:36 jfb Exp $ */
+/* $OpenBSD: bktr_card.c,v 1.12 2005/02/24 20:23:39 mickey Exp $ */
/* $FreeBSD: src/sys/dev/bktr/bktr_card.c,v 1.16 2000/10/31 13:09:56 roger Exp $ */
/*
@@ -379,6 +379,18 @@ static const struct CARDTYPE cards[] = {
{ 0x02, 0x00, 0x00, 0x00, 1 }, /* audio MUX values */
0x18e0 }, /* GPIO mask */
+ { CARD_ZOLTRIX_GENIE_FM, /* the card id */
+ "Zoltrix Genie TV/FM", /* the 'name' */
+ NULL, /* the tuner */
+ 0, /* the tuner i2c address */
+ 0, /* dbx is optional */
+ 0, /* msp34xx is optional */
+ 0, /* dpl3518a is optional */
+ 0, /* EEProm type */
+ 0, /* EEProm size */
+ { 0xbc803f, 0xbcb03f, 0xbc903f, 0x0, 1 }, /* audio MUX values*/
+ 0xbcf03f }, /* GPIO mask */
+
};
struct bt848_card_sig bt848_card_signature[1]= {
@@ -735,6 +747,17 @@ probeCard( bktr_ptr_t bktr, int verbose, int unit )
goto checkTuner;
}
+ if (subsystem_vendor_id == PCI_VENDOR_ZOLTRIX) {
+ if (subsystem_id == PCI_PRODUCT_ZOLTRIX_GENIE_TV_FM) {
+ bktr->card = cards[ (card = CARD_ZOLTRIX_GENIE_FM) ];
+ } else {
+ bktr->card = cards[ (card = CARD_ZOLTRIX) ];
+ }
+ 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 "
@@ -1150,6 +1173,11 @@ checkTuner:
goto checkDBX;
break;
+ case CARD_ZOLTRIX_GENIE_FM:
+ select_tuner( bktr, PHILIPS_FR1236_NTSC );
+ goto checkDBX;
+ break;
+
case CARD_IO_BCTV3:
select_tuner( bktr, ALPS_TSCH5 ); /* ALPS_TSCH6, in fact. */
goto checkDBX;
diff --git a/sys/dev/pci/bktr/bktr_card.h b/sys/dev/pci/bktr/bktr_card.h
index 10b3b6897a0..f1cd405dec6 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.5 2004/10/15 08:59:32 jsg Exp $ */
+/* $OpenBSD: bktr_card.h,v 1.6 2005/02/24 20:23:39 mickey Exp $ */
/* $FreeBSD: src/sys/dev/bktr/bktr_card.h,v 1.4 2000/06/26 09:41:31 roger Exp $ */
/*
@@ -80,7 +80,8 @@
#define CARD_TVWONDER 17
#define CARD_IO_BCTV3 18
#define CARD_AOPEN_VA1000 19
-#define Bt848_MAX_CARD 20
+#define CARD_ZOLTRIX_GENIE_FM 20
+#define Bt848_MAX_CARD 21
int signCard( bktr_ptr_t bktr, int offset, int count, u_char *sig );