summaryrefslogtreecommitdiffstats
path: root/sys/dev/bktr
diff options
context:
space:
mode:
authorroger <roger@FreeBSD.org>2000-01-24 14:00:21 +0000
committerroger <roger@FreeBSD.org>2000-01-24 14:00:21 +0000
commite5aaa91ca52aad7038e4ddd2d925625946f5fad5 (patch)
tree8dbfcc3a85c04d6861380f50b620a269819301cd /sys/dev/bktr
parent7898f6d9d663d382e8737e01839d6fcb42e92e67 (diff)
downloadFreeBSD-src-e5aaa91ca52aad7038e4ddd2d925625946f5fad5.zip
FreeBSD-src-e5aaa91ca52aad7038e4ddd2d925625946f5fad5.tar.gz
Update to driver 2.07
Update i2c code to build on FreeBSD 3.x and 4.x machines. Added GPIO audio values for the Askey/Dynalink TV card talken from postings on the V4L mailing list. Update Australian Channel Set. Submitted by John Birrell <jb@cimlogic.com.au> Add new Channel Set for France. Submitted by Daniel Dagneaux <dagneaux@lure.u-psud.fr>
Diffstat (limited to 'sys/dev/bktr')
-rwxr-xr-xsys/dev/bktr/CHANGELOG.TXT9
-rw-r--r--sys/dev/bktr/bktr_card.c4
-rw-r--r--sys/dev/bktr/bktr_i2c.c8
-rw-r--r--sys/dev/bktr/bktr_tuner.c38
4 files changed, 47 insertions, 12 deletions
diff --git a/sys/dev/bktr/CHANGELOG.TXT b/sys/dev/bktr/CHANGELOG.TXT
index f691041..ffa7dbd 100755
--- a/sys/dev/bktr/CHANGELOG.TXT
+++ b/sys/dev/bktr/CHANGELOG.TXT
@@ -440,3 +440,12 @@
Backout the switch from rgb_prob to rgb_vbi_prog due to
problems with NTSC users.
+2.07 24 Jan 2000 Update i2c code to build on FreeBSD 3.x and 4.x machines.
+ Added GPIO audio values for the Askey/Dynalink TV card
+ taken from postings on the V4L mailing list.
+ Update Australian Channel Set. Submitted by
+ John Birrell <jb@cimlogic.com.au>
+ Add new Channel Set for France. Submitted by
+ Daniel Dagneaux <dagneaux@lure.u-psud.fr>
+
+
diff --git a/sys/dev/bktr/bktr_card.c b/sys/dev/bktr/bktr_card.c
index 6e17923..1b2f410 100644
--- a/sys/dev/bktr/bktr_card.c
+++ b/sys/dev/bktr/bktr_card.c
@@ -288,8 +288,8 @@ static const struct CARDTYPE cards[] = {
0,
0, /* EEProm type */
0, /* EEProm size */
- { 0x00, 0x00, 0x00, 0x00, 0 }, /* audio MUX values */
- 0x00 }, /* GPIO mask */
+ { 0x400, 0xE00, 0x400, 0xC00, 1 }, /* audio MUX values */
+ 0xE00 }, /* GPIO mask */
{ CARD_LEADTEK, /* the card id */
"Leadtek Winfast TV 2000", /* the 'name' */
diff --git a/sys/dev/bktr/bktr_i2c.c b/sys/dev/bktr/bktr_i2c.c
index 43a5f35..6f500ff 100644
--- a/sys/dev/bktr/bktr_i2c.c
+++ b/sys/dev/bktr/bktr_i2c.c
@@ -159,10 +159,18 @@ bt848_i2c_attach(int unit, bt848_ptr_t base, struct bktr_i2c_softc *i2c_sc)
btdata[unit].base = base;
/* XXX add the I2C interface to the root_bus until pcibus is ready */
+#if (__FreeBSD_version < 400000)
+ interface = device_add_child(root_bus, "bti2c", unit, NULL);
+#else
interface = device_add_child(root_bus, "bti2c", unit);
+#endif
/* add bit-banging generic code onto bti2c interface */
+#if (__FreeBSD_version < 400000)
+ bitbang = device_add_child(interface, "iicbb", -1, NULL);
+#else
bitbang = device_add_child(interface, "iicbb", -1);
+#endif
/* probe and attach the interface, we need it NOW
* bit-banging code is also probed and attached */
diff --git a/sys/dev/bktr/bktr_tuner.c b/sys/dev/bktr/bktr_tuner.c
index 6f67fbb..290975d 100644
--- a/sys/dev/bktr/bktr_tuner.c
+++ b/sys/dev/bktr/bktr_tuner.c
@@ -599,19 +599,36 @@ static int xussr[] = {
* Australian broadcast channels
*/
#define OFFSET 7.00
+#define IF_FREQ 38.90
static int australia[] = {
- 83, (int)( 45.00 * FREQFACTOR), 0,
- 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
+ 83, (int)(IF_FREQ * FREQFACTOR), 0,
+ 28, (int)(527.25 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 10, (int)(209.25 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 6, (int)(175.25 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 4, (int)( 95.25 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 3, (int)( 86.25 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 1, (int)( 57.25 * FREQFACTOR), (int)(OFFSET * FREQFACTOR),
+ 0
};
#undef OFFSET
+#undef IF_FREQ
+
+/*
+ * France broadcast channels
+ */
+#define OFFSET 8.00
+#define IF_FREQ 38.90
+static int france[] = {
+ 69, (int)(IF_FREQ * FREQFACTOR), 0,
+ 21, (int)(471.25 * FREQFACTOR), (int)(OFFSET * FREQFACTOR), /* 21 -> 69 */
+ 5, (int)(176.00 * FREQFACTOR), (int)(OFFSET * FREQFACTOR), /* 5 -> 10 */
+ 4, (int)( 63.75 * FREQFACTOR), (int)(OFFSET * FREQFACTOR), /* 4 */
+ 3, (int)( 60.50 * FREQFACTOR), (int)(OFFSET * FREQFACTOR), /* 3 */
+ 1, (int)( 47.75 * FREQFACTOR), (int)(OFFSET * FREQFACTOR), /* 1 2 */
+ 0
+};
+#undef OFFSET
+#undef IF_FREQ
static struct {
int *ptr;
@@ -626,6 +643,7 @@ static struct {
{jpncable, "jpncable"},
{xussr, "xussr"},
{australia, "australia"},
+ {france, "france"},
};
OpenPOWER on IntegriCloud