summaryrefslogtreecommitdiffstats
path: root/sys/dev/bktr
diff options
context:
space:
mode:
authorroger <roger@FreeBSD.org>1999-10-04 09:47:44 +0000
committerroger <roger@FreeBSD.org>1999-10-04 09:47:44 +0000
commit32722204f79ff5877e53e1620b0f2a915dba2c2f (patch)
tree394475fcf2653ffb2e2bd0e4346627adaa74ccf1 /sys/dev/bktr
parent35c2a190323453e2e40f42c57137564390e74993 (diff)
downloadFreeBSD-src-32722204f79ff5877e53e1620b0f2a915dba2c2f.zip
FreeBSD-src-32722204f79ff5877e53e1620b0f2a915dba2c2f.tar.gz
Update Australian channel set and add Leadtek Winfast 2000 GPIO
values for audio. Submitted by: peter
Diffstat (limited to 'sys/dev/bktr')
-rwxr-xr-xsys/dev/bktr/CHANGELOG.TXT6
-rw-r--r--sys/dev/bktr/bktr_card.c6
-rw-r--r--sys/dev/bktr/bktr_os.c4
-rw-r--r--sys/dev/bktr/bktr_tuner.c29
4 files changed, 30 insertions, 15 deletions
diff --git a/sys/dev/bktr/CHANGELOG.TXT b/sys/dev/bktr/CHANGELOG.TXT
index d4991ea..57a725c 100755
--- a/sys/dev/bktr/CHANGELOG.TXT
+++ b/sys/dev/bktr/CHANGELOG.TXT
@@ -398,8 +398,7 @@
2.00 25 Sep 1999 Roger Hardiman <roger@freebsd.org>
Split the driver into seperate tuner, card and audio sections.
- Update tuner code so Tuner FM radio support to use correct
- datasheet values.
+ Update tuner code for FM radio to use datasheet equations.
2.01 27 Sep 1999 Roger Hardiman <roger@freebsd.org>
Add Dynalink Magic TView for Craig <crh@outpost.co.nz>
@@ -408,3 +407,6 @@
Tidy up a few tables with tabs and PLL selection code.
Restore Video Highway Xtreme PLL code.
+2.01 4 Oct 1999 Peter Wemm <peter@netplex.com.au>
+ Updated Australian Channel Set.
+ Added Tuner and Mute values for LeadTek Winfast 2000 card
diff --git a/sys/dev/bktr/bktr_card.c b/sys/dev/bktr/bktr_card.c
index 816bbcc..e0c4042 100644
--- a/sys/dev/bktr/bktr_card.c
+++ b/sys/dev/bktr/bktr_card.c
@@ -279,8 +279,10 @@ static const struct CARDTYPE cards[] = {
0,
0, /* EEProm type */
0, /* EEProm size */
- { 0x00, 0x00, 0x00, 0x00, 0 }, /* audio MUX values */
- 0x00 }, /* GPIO mask */
+ /* Tuner, Extern, Intern, Mute, Enabled */
+ { 0x621000, 0x621000, 0x621000, 0xE21000, 1 }, /* audio MUX values */
+ 0xfff000 }, /* GPIO mask */
+
};
diff --git a/sys/dev/bktr/bktr_os.c b/sys/dev/bktr/bktr_os.c
index 2384082..f67377a 100644
--- a/sys/dev/bktr/bktr_os.c
+++ b/sys/dev/bktr/bktr_os.c
@@ -220,10 +220,6 @@ bktr_probe( device_t dev )
{
unsigned int type = pci_get_devid(dev);
unsigned int rev = pci_get_revid(dev);
- static int once;
-
- if (!once++)
- cdevsw_add(&bktr_cdevsw);
switch (type) {
case BROOKTREE_848_PCI_ID:
diff --git a/sys/dev/bktr/bktr_tuner.c b/sys/dev/bktr/bktr_tuner.c
index a0aee92..d4f15a8 100644
--- a/sys/dev/bktr/bktr_tuner.c
+++ b/sys/dev/bktr/bktr_tuner.c
@@ -601,13 +601,14 @@ static int xussr[] = {
#define OFFSET 7.00
static int australia[] = {
83, (int)( 45.00 * FREQFACTOR), 0,
- 28, (int)(520.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
- 14, (int)(471.25 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
- 11, (int)(214.50 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
- 10, (int)(201.50 * FREQFACTOR), (int)( 13.00 * FREQFACTOR),
- 7, (int)(174.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
- 3, (int)( 85.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
- 2, (int)( 56.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 28, (int)(521.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ /* ch 14?? what's this, cable? Air channels are 0-11 and 28-69 */
+ 14, (int)(471.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 10, (int)(203.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 6, (int)(169.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 4, (int)( 89.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 3, (int)( 80.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 1, (int)( 51.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
0
};
#undef OFFSET
@@ -738,6 +739,9 @@ tv_freq( bktr_ptr_t bktr, int frequency, int type )
u_char band;
int N;
int band_select = 0;
+#if defined( TEST_TUNER_AFC )
+ int oldFrequency, afcDelta;
+#endif
tuner = bktr->card.tuner;
if ( tuner == NULL )
@@ -789,13 +793,24 @@ tv_freq( bktr_ptr_t bktr, int frequency, int type )
#if defined( TUNER_AFC )
if ( bktr->tuner.afc == TRUE ) {
+#if defined( TEST_TUNER_AFC )
+ oldFrequency = frequency;
+#endif
if ( (N = do_afc( bktr, addr, N )) < 0 ) {
/* AFC failed, restore requested frequency */
N = frequency + TBL_IF;
+#if defined( TEST_TUNER_AFC )
+ printf("do_afc: failed to lock\n");
+#endif
i2cWrite( bktr, addr, (N>>8) & 0x7f, N & 0xff );
}
else
frequency = N - TBL_IF;
+#if defined( TEST_TUNER_AFC )
+ printf("do_afc: returned freq %d (%d %% %d)\n", frequency, frequency / 16, frequency % 16);
+ afcDelta = frequency - oldFrequency;
+ printf("changed by: %d clicks (%d mod %d)\n", afcDelta, afcDelta / 16, afcDelta % 16);
+#endif
}
#endif /* TUNER_AFC */
OpenPOWER on IntegriCloud