Skip site navigation (1)Skip section navigation (2)
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>