diff options
author | netchild <netchild@FreeBSD.org> | 2005-11-13 13:26:37 +0000 |
---|---|---|
committer | netchild <netchild@FreeBSD.org> | 2005-11-13 13:26:37 +0000 |
commit | beb83bd5bc1f61576bc9a66d64a9fdac433efb0b (patch) | |
tree | 8b8bbd2967efc98bf6f68217d4d10d9811adb8f6 /sys | |
parent | fd806854c936de329c73cada70aa6da3b9f665ee (diff) | |
download | FreeBSD-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.c | 49 | ||||
-rw-r--r-- | sys/dev/bktr/bktr_card.h | 6 | ||||
-rw-r--r-- | sys/dev/bktr/bktr_tuner.c | 14 | ||||
-rw-r--r-- | sys/dev/bktr/bktr_tuner.h | 3 |
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 |