Date: Sat, 14 Jun 1997 13:20:47 -0600 From: Steve Passe <smp@csn.net> To: Bernie Doehner <bad@uhf.wireless.net> Cc: Yixin Jin <yjin@cs.ucla.edu>, multimedia@FreeBSD.ORG Subject: Re: Hauppauge Wincast/TV Message-ID: <199706141920.NAA11453@Ilsa.StevesCafe.com> In-Reply-To: Your message of "Sat, 14 Jun 1997 09:05:12 EDT." <Pine.BSF.3.95.970614085559.9802A-100000@uhf.wdc.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi,
I did a quick patch to the code in 3.0-current to allow:
- OVERRIDE_TUNER: allows you to manually choose the tuner type for those
cards that fail to probe properly. See source for legal
values.
- OVERRIDE_DBX: allows you to manually choose DBX or NO DBX for those
cards that fail to probe properly.
0 == no DBX circuit present, 1 == DBX circuit present.
here's a patch against it:
------------------------------------- cut ------------------------------------
*** brooktree848.c.orig Mon May 5 14:54:54 1997
--- brooktree848.c Sat Jun 14 13:16:09 1997
***************
*** 374,381 ****
* i2c things:
*/
- #define TEST_PAL
-
/* PLL on a Temic NTSC tuner: 4032FY5 */
#define TEMIC_NTSC_WADDR 0xc0
#define TEMIC_NTSC_RADDR 0xc1
--- 374,379 ----
***************
*** 3246,3251 ****
--- 3244,3256 ----
/*
* the data for each type of tuner
+ *
+ * if probeCard() fails to detect the proper tuner on boot you can
+ * override it by setting the following define to the tuner present:
+ *
+ #define OVERRIDE_TUNER <tuner type>
+ *
+ * where <tuner type> is one of the following tuner defines.
*/
/* indexes into tuners[] */
***************
*** 3402,3407 ****
--- 3407,3417 ----
bktr->card = cards[ (card = CARD_MIRO) ];
checkTuner:
+ #if defined( OVERRIDE_TUNER )
+ bktr->card.tuner = &tuners[ OVERRIDE_TUNER ];
+ goto checkDBX;
+ #endif
+
/* differentiate type of tuner */
if ( i2cRead( bktr, TEMIC_NTSC_RADDR ) != ABSENT ) {
bktr->card.tuner = &tuners[ TEMIC_NTSC ];
***************
*** 3412,3431 ****
bktr->card.tuner = &tuners[ PHILIPS_NTSC ];
goto checkDBX;
}
! #if defined( TEST_PAL )
! /** WARNING: this is a test */
if ( card == CARD_HAUPPAUGE ) {
if ( i2cRead( bktr, TEMIC_PALI_RADDR ) != ABSENT ) {
bktr->card.tuner = &tuners[ TEMIC_PAL ];
goto checkDBX;
}
}
- #endif /* TEST_PAL */
/* no tuner found */
bktr->card.tuner = &tuners[ NO_TUNER ];
checkDBX:
/* probe for BTSC (dbx) chips */
if ( i2cRead( bktr, TDA9850_RADDR ) != ABSENT )
bktr->card.dbx = 1;
--- 3422,3444 ----
bktr->card.tuner = &tuners[ PHILIPS_NTSC ];
goto checkDBX;
}
!
if ( card == CARD_HAUPPAUGE ) {
if ( i2cRead( bktr, TEMIC_PALI_RADDR ) != ABSENT ) {
bktr->card.tuner = &tuners[ TEMIC_PAL ];
goto checkDBX;
}
}
/* no tuner found */
bktr->card.tuner = &tuners[ NO_TUNER ];
checkDBX:
+ #if defined( OVERRIDE_DBX )
+ bktr->card.dbx = OVERRIDE_DBX;
+ goto end;
+ #endif
+
/* probe for BTSC (dbx) chips */
if ( i2cRead( bktr, TDA9850_RADDR ) != ABSENT )
bktr->card.dbx = 1;
------------------------------------- cut ------------------------------------
Let me know if it fails to work properly.
--
Steve Passe | powered by
smp@csn.net | Symmetric MultiProcessor FreeBSD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199706141920.NAA11453>
