summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 f08f810733a5..8882b8bfb2ca 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 77ccaf44ab0a..30a90a880d68 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 a74dd4faf01b..df24c862cd47 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 1d6986b7974a..cc00150151ff 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