summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authornetchild <netchild@FreeBSD.org>2005-11-13 13:26:37 +0000
committernetchild <netchild@FreeBSD.org>2005-11-13 13:26:37 +0000
commitbeb83bd5bc1f61576bc9a66d64a9fdac433efb0b (patch)
tree8b8bbd2967efc98bf6f68217d4d10d9811adb8f6 /sys
parentfd806854c936de329c73cada70aa6da3b9f665ee (diff)
downloadFreeBSD-src-beb83bd5bc1f61576bc9a66d64a9fdac433efb0b.zip
FreeBSD-src-beb83bd5bc1f61576bc9a66d64a9fdac433efb0b.tar.gz
Add some cards:
- several TerraTec TValue [1] - PixelView PlayTV Pro REV-4C [2] In case you have the PixelView card, please tell us the "pciconf -v -l" output on multimedia@FreeBSD.org if it works. There are revisions out there which may not work and we need to know which ones work. PR: 53383 [1], 76002 [2] Submitted by: Tanja Wittke <tawi@gruft.de> [1], barner [1], Dan Angelescu <mrhsaacdoh@yahoo.com> [2] MFC after: 2 months
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/bktr/bktr_card.c49
-rw-r--r--sys/dev/bktr/bktr_card.h6
-rw-r--r--sys/dev/bktr/bktr_tuner.c14
-rw-r--r--sys/dev/bktr/bktr_tuner.h3
4 files changed, 67 insertions, 5 deletions
diff --git a/sys/dev/bktr/bktr_card.c b/sys/dev/bktr/bktr_card.c
index f08f810..8882b8b 100644
--- a/sys/dev/bktr/bktr_card.c
+++ b/sys/dev/bktr/bktr_card.c
@@ -391,6 +391,30 @@ static const struct CARDTYPE cards[] = {
{ 0x20000, 0x80000, 0, 0xa8000, 1 }, /* audio MUX values */
0xAA0000 }, /* GPIO mask */
+ { CARD_TERRATVALUE, /* the card id */
+ "TerraTec TValue", /* 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 */
+ { 0x500, 0x900, 0x300, 0x900, 1 }, /* audio MUX values */
+ 0xffff00 }, /* GPIO mask */
+
+ { CARD_PIXELVIEW_PLAYTV_PRO_REV_4C, /* the card id */
+ "PixelView PlayTV Pro REV-4C ", /* the 'name' */
+ NULL, /* the tuner */
+ 0, /* the tuner i2c address */
+ 0, /* dbx is optional */
+ 0,
+ 0,
+ 0, /* EEProm type */
+ 0, /* EEProm size */
+ { 0x01, 0x04, 0x01, 0x03, 1 }, /* audio MUX values */
+ 0x00ffffff },
};
struct bt848_card_sig bt848_card_signature[1]= {
@@ -582,6 +606,7 @@ static int locate_eeprom_address( bktr_ptr_t bktr) {
#define PCI_VENDOR_AVERMEDIA 0x1461
#define PCI_VENDOR_STB 0x10B4
#define PCI_VENDOR_ASKEY 0x144F
+#define PCI_VENDOR_TERRATEC 0x153B
#endif
/* Following not confirmed with http://members.hyperlink.net.au/~chart,
so not added to NetBSD's pcidevs */
@@ -595,6 +620,11 @@ static int locate_eeprom_address( bktr_ptr_t bktr) {
#define PCI_VENDOR_PINNACLE_NEW 0x11BD
#define MODEL_IODATA_GV_BCTV3_PCI 0x4020
+#define MODEL_TERRATVALUE_1117 0x1117
+#define MODEL_TERRATVALUE_1118 0x1118
+#define MODEL_TERRATVALUE_1119 0x1119
+#define MODEL_TERRATVALUE_111A 0x111a
+#define MODEL_TERRATVALUE_1134 0x1134
void
probeCard( bktr_ptr_t bktr, int verbose, int unit )
@@ -739,6 +769,20 @@ probeCard( bktr_ptr_t bktr, int verbose, int unit )
goto checkTuner;
}
+ if (subsystem_vendor_id == PCI_VENDOR_TERRATEC) {
+ switch (subsystem_id) {
+ case MODEL_TERRATVALUE_1117:
+ case MODEL_TERRATVALUE_1118:
+ case MODEL_TERRATVALUE_1119:
+ case MODEL_TERRATVALUE_111A:
+ case MODEL_TERRATVALUE_1134:
+ bktr->card = cards[ (card = CARD_TERRATVALUE) ];
+ 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 - card vendor 0x%04x (model 0x%04x) unknown.\n",
@@ -1165,6 +1209,11 @@ checkTuner:
goto checkDBX;
break;
+ case CARD_TERRATVALUE:
+ select_tuner( bktr, PHILIPS_PAL); /* Phlips PAL tuner */
+ goto checkDBX;
+ break;
+
} /* end switch(card) */
diff --git a/sys/dev/bktr/bktr_card.h b/sys/dev/bktr/bktr_card.h
index 77ccaf4..30a90a8 100644
--- a/sys/dev/bktr/bktr_card.h
+++ b/sys/dev/bktr/bktr_card.h
@@ -80,8 +80,10 @@
#define CARD_AOPEN_VA1000 18
#define CARD_PINNACLE_PCTV_RAVE 19
#define CARD_PIXELVIEW_PLAYTV_PAK 20
-#define Bt848_MAX_CARD 21
-
+#define CARD_TERRATVALUE 21
+#define CARD_PIXELVIEW_PLAYTV_PRO_REV_4C 22
+#define Bt848_MAX_CARD 23
+
#define CARD_IO_GV CARD_IO_BCTV2
int signCard( bktr_ptr_t bktr, int offset, int count, u_char* sig );
diff --git a/sys/dev/bktr/bktr_tuner.c b/sys/dev/bktr/bktr_tuner.c
index a74dd4f..df24c86 100644
--- a/sys/dev/bktr/bktr_tuner.c
+++ b/sys/dev/bktr/bktr_tuner.c
@@ -278,17 +278,27 @@ 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 */
/* MT2032 Microtune */
{ "MT2032", /* the 'name' */
- TTYPE_PAL, /* input type */
+ TTYPE_PAL, /* input type */
{ TSA552x_SCONTROL, /* control byte for Tuner PLL */
TSA552x_SCONTROL,
TSA552x_SCONTROL,
0x00 },
{ 0x00, 0x00 }, /* band-switch crosspoints */
{ 0xa0, 0x90, 0x30, 0x00 } }, /* the band-switch values */
+
+ /* LG TPI8PSB12P PAL */
+ { "LG TPI8PSB12P PAL", /* the 'name' */
+ TTYPE_PAL, /* input type */
+ { TSA552x_SCONTROL, /* control byte for Tuner PLL */
+ TSA552x_SCONTROL,
+ TSA552x_SCONTROL,
+ 0x00 },
+ { 0x00, 0x00 }, /* band-switch crosspoints */
+ { 0xa0, 0x90, 0x30, 0x8e } }, /* the band-switch values */
};
diff --git a/sys/dev/bktr/bktr_tuner.h b/sys/dev/bktr/bktr_tuner.h
index 1d6986b..cc00150 100644
--- a/sys/dev/bktr/bktr_tuner.h
+++ b/sys/dev/bktr/bktr_tuner.h
@@ -60,7 +60,8 @@
#define ALPS_TSCH5 12
#define ALPS_TSBH1 13
#define TUNER_MT2032 14
-#define Bt848_MAX_TUNER 15
+#define LG_TPI8PSB12P_PAL 15
+#define Bt848_MAX_TUNER 16
/* experimental code for Automatic Frequency Control */
#define TUNER_AFC
OpenPOWER on IntegriCloud