summaryrefslogtreecommitdiff
path: root/sys/dev/pci/bktr
diff options
context:
space:
mode:
authorPedro Martelletto <pedro@cvs.openbsd.org>2007-01-08 08:29:38 +0000
committerPedro Martelletto <pedro@cvs.openbsd.org>2007-01-08 08:29:38 +0000
commit68457c88ff35e4639e2a66967dbacafd74290ac7 (patch)
tree31b5d2be782c860cba65698df2b9ff1281c6c6ee /sys/dev/pci/bktr
parentd47e7220ac5fe649e85b7a50276b11da1815944f (diff)
Add support for Leadtek Winfast TV 2000 XP, from Tim Leslie
Okay robert@
Diffstat (limited to 'sys/dev/pci/bktr')
-rw-r--r--sys/dev/pci/bktr/bktr_card.c25
-rw-r--r--sys/dev/pci/bktr/bktr_card.h5
-rw-r--r--sys/dev/pci/bktr/bktr_tuner.c14
-rw-r--r--sys/dev/pci/bktr/bktr_tuner.h5
4 files changed, 40 insertions, 9 deletions
diff --git a/sys/dev/pci/bktr/bktr_card.c b/sys/dev/pci/bktr/bktr_card.c
index 7b91757df6a..f2e6654a481 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.12 2005/02/24 20:23:39 mickey Exp $ */
+/* $OpenBSD: bktr_card.c,v 1.13 2007/01/08 08:29:37 pedro Exp $ */
/* $FreeBSD: src/sys/dev/bktr/bktr_card.c,v 1.16 2000/10/31 13:09:56 roger Exp $ */
/*
@@ -318,7 +318,7 @@ static const struct CARDTYPE cards[] = {
0xE00 }, /* GPIO mask */
{ CARD_LEADTEK, /* the card id */
- "Leadtek Winfast TV 2000", /* the 'name' */
+ "Leadtek WinFast TV 2000", /* the 'name' */
NULL, /* the tuner */
0,
0,
@@ -391,6 +391,17 @@ static const struct CARDTYPE cards[] = {
{ 0xbc803f, 0xbcb03f, 0xbc903f, 0x0, 1 }, /* audio MUX values*/
0xbcf03f }, /* GPIO mask */
+ { CARD_LEADTEK_XP, /* the card id */
+ "Leadtek WinFast TV 2000 XP", /* 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 */
+ { 0x122000, 0x1000, 0x620000, 0x0, 1 }, /* audio MUX values*/
+ 0xb3300 }, /* GPIO mask */
};
struct bt848_card_sig bt848_card_signature[1]= {
@@ -707,7 +718,10 @@ probeCard( bktr_ptr_t bktr, int verbose, int unit )
|| (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) ];
+ if (subsystem_id == PCI_PRODUCT_LEADTEK_WINFAST_XP)
+ bktr->card = cards[ (card = CARD_LEADTEK_XP) ];
+ else
+ bktr->card = cards[ (card = CARD_LEADTEK) ];
bktr->card.eepromAddr = eeprom_i2c_address;
bktr->card.eepromSize = (u_char)(256 / EEPROMBLOCKSIZE);
goto checkTuner;
@@ -1183,6 +1197,11 @@ checkTuner:
goto checkDBX;
break;
+ case CARD_LEADTEK_XP:
+ select_tuner( bktr, TIVISION_TVF5533 );
+ 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 f1cd405dec6..772664cf1b1 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.6 2005/02/24 20:23:39 mickey Exp $ */
+/* $OpenBSD: bktr_card.h,v 1.7 2007/01/08 08:29:37 pedro Exp $ */
/* $FreeBSD: src/sys/dev/bktr/bktr_card.h,v 1.4 2000/06/26 09:41:31 roger Exp $ */
/*
@@ -81,7 +81,8 @@
#define CARD_IO_BCTV3 18
#define CARD_AOPEN_VA1000 19
#define CARD_ZOLTRIX_GENIE_FM 20
-#define Bt848_MAX_CARD 21
+#define CARD_LEADTEK_XP 21
+#define Bt848_MAX_CARD 22
int signCard( bktr_ptr_t bktr, int offset, int count, u_char *sig );
diff --git a/sys/dev/pci/bktr/bktr_tuner.c b/sys/dev/pci/bktr/bktr_tuner.c
index c1d7b53e232..efbbea235e9 100644
--- a/sys/dev/pci/bktr/bktr_tuner.c
+++ b/sys/dev/pci/bktr/bktr_tuner.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bktr_tuner.c,v 1.4 2006/02/05 23:52:58 jakemsr Exp $ */
+/* $OpenBSD: bktr_tuner.c,v 1.5 2007/01/08 08:29:37 pedro Exp $ */
/* $FreeBSD: src/sys/dev/bktr/bktr_tuner.c,v 1.9 2000/10/19 07:33:28 roger Exp $ */
/*
@@ -278,7 +278,17 @@ static const struct TUNER tuners[] = {
TSBH1_FCONTROL,
0x00 },
{ 0x00, 0x00 }, /* band-switch crosspoints */
- { 0x01, 0x02, 0x08, 0x00 } } /* the band-switch values */
+ { 0x01, 0x02, 0x08, 0x00 } }, /* the band-switch values */
+
+ /* Tivision TVF5533-MF NTSC */
+ { "Tivision TVF5533-MF NTSC", /* the 'name' */
+ TTYPE_NTSC, /* input 'type' */
+ { TSBH1_FCONTROL, /* ctr byte for Tuner PLL */
+ TSBH1_FCONTROL,
+ TSBH1_FCONTROL,
+ 0x00 },
+ { 0x00, 0x00 }, /* band-switch crosspoints */
+ { 0x01, 0x02, 0x04, 0x00 } }, /* the band-switch values */
};
diff --git a/sys/dev/pci/bktr/bktr_tuner.h b/sys/dev/pci/bktr/bktr_tuner.h
index 5ca817d26e7..7e87d5bc20b 100644
--- a/sys/dev/pci/bktr/bktr_tuner.h
+++ b/sys/dev/pci/bktr/bktr_tuner.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: bktr_tuner.h,v 1.1 2001/03/28 03:27:10 fgsch Exp $ */
+/* $OpenBSD: bktr_tuner.h,v 1.2 2007/01/08 08:29:37 pedro Exp $ */
/* $FreeBSD: src/sys/dev/bktr/bktr_tuner.h,v 1.1 1999/09/26 22:06:20 roger Exp $ */
/*
@@ -60,7 +60,8 @@
#define PHILIPS_FR1236_SECAM 11 /* These have FM radio support */
#define ALPS_TSCH5 12
#define ALPS_TSBH1 13
-#define Bt848_MAX_TUNER 14
+#define TIVISION_TVF5533 14
+#define Bt848_MAX_TUNER 15
/* experimental code for Automatic Frequency Control */
#define TUNER_AFC