1/* $FreeBSD$ */
2
3/*
4 * This is part of the Driver for Video Capture Cards (Frame grabbers)
5 * and TV Tuner cards using the Brooktree Bt848, Bt848A, Bt849A, Bt878, Bt879
6 * chipset.
7 * Copyright Roger Hardiman and Amancio Hasty.
8 *
9 * CHANGELOG : The Change History:
10 *             These version numbers represent the authors own numbering.
11 *             They are unrelated to Revision Control numbering of FreeBSD or
12 *              any other system.
13
141.0		1/24/97	   First Alpha release
15
161.1		2/20/97	   Added video ioctl so we can do PCI To PCI
17			   data transfers. This is for capturing data
18			   directly to a vga frame buffer which has
19			   a linear frame buffer. Minor code clean-up.
20
211.3		2/23/97	   Fixed system lock-up reported by
22			   Randall Hopper <rhh@ct.picker.com>. This
23			   problem seems somehow to be exhibited only
24			   in his system. I changed the setting of
25			   INT_MASK for CAP_CONTINUOUS to be exactly
26			   the same as CAP_SINGLE apparently setting
27			   bit 23 cleared the system lock up.
28			   version 1.1 of the driver has been reported
29			   to work with STB's WinTv, Hauppage's Wincast/Tv
30			   and last but not least with the Intel Smart
31			   Video Recorder.
32
331.4		3/9/97	   fsmp@freefall.org
34			   Merged code to support tuners on STB and WinCast
35			   cards.
36			   Modifications to the contrast and chroma ioctls.
37			   Textual cleanup.
38
391.5             3/15/97    fsmp@freefall.org
40                	   new bt848 specific versions of hue/bright/
41                           contrast/satu/satv.
42                           Amancio's patch to fix "screen freeze" problem.
43
441.6             3/19/97    fsmp@freefall.org
45			   new table-driven frequency lookup.
46			   removed disable_intr()/enable_intr() calls from i2c.
47			   misc. cleanup.
48
491.7             3/19/97    fsmp@freefall.org
50			   added audio support submitted by:
51				Michael Petry <petry@netwolf.NetMasters.com>
52
531.8             3/20/97    fsmp@freefall.org
54			   extended audio support.
55			   card auto-detection.
56			   major cleanup, order of routines, declarations, etc.
57
581.9             3/22/97    fsmp@freefall.org
59			   merged in Amancio's minor unit for tuner control
60			   mods.
61			   misc. cleanup, especially in the _intr routine.
62			   made AUDIO_SUPPORT mainline code.
63
641.10            3/23/97    fsmp@freefall.org
65			   added polled hardware i2c routines,
66			   removed all existing software i2c routines.
67			   created software i2cProbe() routine.
68			   Randall Hopper's fixes of BT848_GHUE & BT848_GBRIG.
69			   eeprom support.
70
711.11            3/24/97    fsmp@freefall.org
72			   Louis Mamakos's new bt848 struct.
73
741.12		3/25/97    fsmp@freefall.org
75			   japanese freq table from Naohiro Shichijo.
76			   new table structs for tuner lookups.
77			   major scrub for "magic numbers".
78
791.13		3/28/97    fsmp@freefall.org
80			   1st PAL support.
81			   MAGIC_[1-4] demarcates magic #s needing PAL work.
82			   AFC code submitted by Richard Tobin
83			    <richard@cogsci.ed.ac.uk>.
84
851.14		3/29/97    richard@cogsci.ed.ac.uk
86			   PAL support: magic numbers moved into
87			   format_params structure.
88			   Revised AFC interface.
89			   fixed DMA_PROG_ALLOC size misdefinition.
90
911.15		4/18/97	   John-Mark Gurney <gurney_j@resnet.uoregon.edu>
92                           Added [SR]RGBMASKs ioctl for byte swapping.
93
941.16		4/20/97	   Randall Hopper <rhh@ct.picker.com>
95                           Generalized RGBMASK ioctls for general pixel
96			   format setting [SG]ACTPIXFMT, and added query API
97			   to return driver-supported pix fmts GSUPPIXFMT.
98
991.17		4/21/97	   hasty@rah.star-gate.com
100                           Clipping support added.
101
1021.18		4/23/97	   Clean up after failed CAP_SINGLEs where bt
103                           interrupt isn't delivered, and fixed fixing
104			   CAP_SINGLEs that for ODD_ONLY fields.
1051.19            9/8/97     improved yuv support , cleaned up weurope
106                           channel table, incorporated cleanup work from
107                           Luigi, fixed pci interface bug due to a
108                           change in the pci interface which disables
109                           interrupts from a PCI device by default,
110                           Added Luigi's, ioctl's BT848_SLNOTCH,
111                           BT848_GLNOTCH (set luma notch and get luma not)
1121.20            10/5/97    Keith Sklower <sklower@CS.Berkeley.EDU> submitted
113                           a patch to fix compilation of the BSDI's PCI
114                           interface.
115                           Hideyuki Suzuki <hideyuki@sat.t.u-tokyo.ac.jp>
116                           Submitted a patch for Japanese cable channels
117                           Joao Carlos Mendes Luis jonny@gta.ufrj.br
118                           Submitted general ioctl to set video broadcast
119                           formats (PAL, NTSC, etc..) previously we depended
120                           on the Bt848 auto video detect feature.
1211.21            10/24/97   Randall Hopper <rhh@ct.picker.com>
122                           Fix temporal decimation, disable it when
123                           doing CAP_SINGLEs, and in dual-field capture, don't
124                           capture fields for different frames
1251.22            11/08/97   Randall Hopper <rhh@ct.picker.com>
126                           Fixes for packed 24bpp - FIFO alignment
1271.23            11/17/97   Amancio <hasty@star-gate.com>
128                           Added yuv support mpeg encoding
1291.24            12/27/97   Jonathan Hanna <pangolin@rogers.wave.ca>
130                           Patch to support Philips FR1236MK2 tuner
1311.25            02/02/98   Takeshi Ohashi
132                           <ohashi@atohasi.mickey.ai.kyutech.ac.jp> submitted
133                           code to support bktr_read .
134                           Flemming Jacobsen <fj@schizo.dk.tfs.com>
135                           submitted code to support  radio available with in
136                           some bt848 based cards;additionally, wrote code to
137                           correctly recognized his bt848 card.
138                           Roger Hardiman <roger@cs.strath.ac.uk> submitted
139                           various fixes to smooth out the microcode and made
140                           all modes consistent.
1411.26                       Moved Luigi's I2CWR ioctl from the video_ioctl
142                           section to the tuner_ioctl section
143                           Changed Major device from 79 to 92 and reserved
144                           our Major device number -- hasty@star-gate.com
1451.27                       Last batch of patches for radio support from
146                           Flemming Jacobsen <fj@trw.nl>.
147                           Added B849 PCI ID submitted by:
148                           Tomi Vainio <tomppa@fidata.fi>
1491.28                       Frank Nobis <fn@Radio-do.de> added tuner support
150                           for the  German Phillips PAL tuner and
151                           additional channels for german cable tv.
1521.29                       Roger Hardiman <roger@cs.strath.ac.uk>
153                           Revised autodetection code to correctly handle both
154                           old and new VideoLogic Captivator PCI cards.
155                           Added tsleep of 2 seconds to initialistion code
156                           for PAL users.Corrected clock selection code on
157                           format change.
1581.30                       Bring back Frank Nobis <fn@Radio-do.de>'s opt_bktr.h
159
1601.31                       Randall Hopper <rhh@ct.picker.com>
161                           submitted ioctl to clear the video buffer
162                           prior to starting video capture
163			   Amancio : clean up yuv12 so that it does not
164                           affect rgb capture. Basically, fxtv after
165                           capturing in yuv12 mode , switching to rgb
166                           would cause the video capture to be too bright.
1671.32                       disable inverse gamma function for rgb and yuv
168                           capture. fixed meteor brightness ioctl it now
169                           converts the brightness value from unsigned to
170                           signed.
1711.33                       added sysctl: hw.bt848.tuner, hw.bt848.reverse_mute,
172                           hw.bt848.card
173			   card takes a value from 0 to bt848_max_card
174                           tuner takes a value from 0 to bt848_max_tuner
175                           reverse_mute : 0 no effect, 1 reverse tuner
176                           mute function some tuners are wired reversed :(
1771.34                       reverse mute function for ims turbo card
178
1791.35                       Roger Hardiman <roger@cs.strath.ac.uk>
180                           options BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_PAL
181                           in the kernel config file makes the driver's
182                           video_open() function select PAL rather than NTSC.
183                           This fixed all the hangs on my Dual Crystal card
184                           when using a PAL video signal. As a result, you
185                           can lose the tsleep (of 2 seconds - now 0.25!!)
186                           which I previously added. (Unless someone else
187                           wanted the 0.25 second tsleep).
188
1891.36                       added bt848.format sysctl variable.
190                           1 denotes NTSC , 0 denotes PAL
191
1921.37                       added support for Bt878 and improved Hauppauge's
193                           bt848 tuner recognition
1941.38                       Further improvements on Hauppauge's rely on
195                           eeprom[9] to determine the tuner type 8)
196
197                           AVerMedia card type added <sos@freebsd.org>
198
1991.39            08/05/98   Roger Hardiman <roger@cs.strath.ac.uk>
200                           Updated Hauppauge detection code for Tuner ID 0x0a
201                           for newer NTSC WinCastTV 404 with Bt878 chipset.
202                           Tidied up PAL default in video_open()
203
204			   Soren bumped version from 1.39 to 1.49 to sync
205                           with FreeBSD CVS numbers.
206
2071.49       10 August 1998  Roger Hardiman <roger@cs.strath.ac.uk>
208                           Added Capture Area ioctl - BT848[SG]CAPAREA.
209                           Normally the full 640x480 (768x576 PAL) image
210                           is grabbed. This ioctl allows a smaller area
211                           from anywhere within the video image to be
212                           grabbed, eg a 400x300 image from (50,10).
213                           See restrictions in BT848SCAPAREA.
214
2151.50       31 August 1998  Roger Hardiman <roger@cs.strath.ac.uk>
216                           Renamed BT848[SG]CAPAREA to BT848_[SG]CAPAREA.
217                           Added PR kern/7177 for SECAM Video Highway Xtreme
218                           with single crystal PLL configuration
219                           submitted by Vsevolod Lobko <seva@alex-ua.com>.
220                           In kernel configuration file add
221                             options OVERRIDE_CARD=2
222                             options OVERRIDE_TUNER=11
223                             options BKTR_USE_PLL
224
2251.51       31 August 1998  Roger Hardiman <roger@cs.strath.ac.uk>
226                           Fixed bug in Miro Tuner detection. Missing Goto.
227                           Removed Hauppauge EEPROM 0x10 detection as I think
228			   0x10 should be a PAL tuner, not NTSC.
229			   Reinstated some Tuner Guesswork code from 1.27
230
2311.52           3 Sep 1998  Roger Hardiman <roger@cs.strath.ac.uk>
232                           Submitted patch by Vsevolod Lobko <seva@alex-ua.com>
233                           to correct SECAM B-Delay and add XUSSR channel set.
234
2351.53           9 Sep 1998  Roger Hardiman <roger@cs.strath.ac.uk>
236                           Changed METEORSINPUT for Hauppauge cards with bt878.
237                           Submitted by Fred Templin <templin@erg.sri.com>
238                           Also fixed video_open defines and 878 support.
239
2401.54          18 Sep 1998  Roger Hardiman <roger@cs.strath.ac.uk>
241                           Changed tuner code to autodetect tuner i2c address.
242                           Addresses were incorrectly hardcoded.
243
2441.55          21 Sep 1998  Roger Hardiman <roger@cs.strath.ac.uk>
245                           Hauppauge Tech Support confirmed all Hauppauge 878
246                           PAL/SECAM boards will use PLL mode.
247			   Added to card probe. Thanks to Ken and Fred.
248
2491.56    21 Jan 1999 Roger Hardiman <roger@cs.strath.ac.uk>
250                    Added detection of Hauppauge IR remote control.
251                    and MSP34xx Audio chip. Fixed i2c read error.
252                    Hauppauge supplied details of new Tuner Types.
253                    Danny Braniss <danny@cs.huji.ac.il> submitted Bt878
254                    AVerMedia detection with PCI subsystem vendor id.
255
2561.57    26 Jan 1999 Roger Hardiman <roger@cs.strath.ac.uk>
257                    Support for MSP3410D / MSP3415D Stereo/Mono audio
258                    using the audio format Auto Detection Mode.
259                    Nicolas Souchu <nsouch@freebsd.org> ported the
260                    msp_read/write/reset functions to smbus/iicbus.
261                    METEOR_INPUT_DEV2 now selects a composite camera on
262                    the SVIDEO port for Johan Larsson<gozer@ludd.luth.se>
263                    For true SVIDEO, use METEOR_INPUT_DEV_SVIDEO
264
2651.58     8 Feb 1999 Roger Hardiman <roger@cs.strath.ac.uk>
266                    Added check to bktr_mmap from OpenBSD driver.
267                    Improved MSP34xx reset for bt848 Hauppauge boards.
268                    Added detection for Bt848a.
269                    Vsevolod Lobko<seva@sevasoft.alex-ua.com> added
270                    more XUSSR channels.
271
2721.59     9 Feb 1999 Added ioctl REMOTE_GETKEY for Hauppauge Infra-Red
273                    Remote Control. Submitted by Roger Hardiman.
274                    Added ioctl TVTUNER_GETCHANSET and
275                    BT848_GPIO_SET_EN,BT848_GPIO_SET_DATA (and GETs)
276                    Submitted by Vsevolod Lobko <seva@alex-ua.com>
277
2781.60    23 Feb 1999 Roger Hardiman <roger@freebsd.org>
279                    Corrected Mute on Hauppauge Radio cards.
280                    Autodetect MMAC Osprey by looking for "MMAC" in the EEPROM.
281                    Added for Jan Schmidt <mmedia@rz.uni-greifswald.de>
282                    Added ALPS Tuner Type from Hiroki Mori <mori@infocity.co.jp>
283
2841.61    29 Apr 1999 Roger Hardiman <roger@freebsd.org>
285                    Fix row=0/columns=0 bug. From Randal Hopper<aa8vb@ipass.net>
286                    Add option to block the reset of the MSP34xx audio chip by
287                    adding options BKTR_NO_MSP_RESET to the kernel config file.
288                    This is usefull if you run another operating system
289                    first to initialise the audio chip, then do a soft reboot.
290                    Added for Yuri Gindin <yuri@xpert.com>
291
2921.62    29 Apr 1999 Added new cards: NEC PK-UG-X017 and I/O DATA GV-BCTV2/PCI
293                    Added new tuner: ALPS_TSBH1 (plus FM Radio for ALPS_TSCH5)
294                    Added support for BCTV audio mux.
295                    All submitted by Hiroki Mori <mori@infocity.co.jp>
296
2971.63    29 Apr 1999 Roger Hardiman <roger@freebsd.org>
298                    Added initial code for VBI capture based on work by
299                    Hiroki Mori <mori@infocity.co.jp> and reworked by myself.
300                    This allows software decoding of teletext, intercast and
301                    subtitles via /dev/vbi.
302
3031.64     7 May 1999 Roger Hardiman <roger@freebsd.org>
304                    Support LifeView FlyVideo 98 cards. Use EEPROM for card
305                    autodetection. Use bttv's audio mux values.
306                      Thanks to Paul Reece <paul@fastlane.net.au>,
307                              Ivan Brawley <brawley@internode.com.au> and
308                              Gilad Rom <rom_glsa@ein-hashofet.co.il>
309		    Automatically locate the EEPROM i2c address and read the
310		    subsystem_vendor_id from EEPROM and not the PCI registers.
311                    Add NSMBUS checks around smbus/iicbus i2c bus code
312                    making it easier to compile the driver under 2.2.x.
313                    Add GPIO mask for the audio mux to each card type.
314                    Add CARD_ZOLTRIX and CARD_KISS from mailing list searches.
315
3161.65    18 May 1999 Roger Hardiman <roger@freebsd.org>
317                    Change Intel GPIO mask to stop turning the Intel Camera off
318                    Fixed tuner selection on Hauppauge card with tuner 0x0a
319                    Replaced none tuner with no tuner for Theo de Raadt.
320                    Ivan Brawley <brawley@internode.com.au> added
321                    the Australian channel frequencies.
322
3231.66    19 May 1999 Ivan Brawley <brawley@internode.com.au> added better
324                    Australian channel frequencies.
325
3261.67    23 May 1999 Roger Hardiman <roger@freebsd.org>
327                    Added rgb_vbi_prog() to capture VBI data and video at the
328                    same time. To capture VBI data, /dev/vbi must be opened
329                    before starting video capture.
330
3311.68    25 May 1999 Roger Hardiman <roger@freebsd.org>
332                    Due to differences in PCI bus implementations from various
333                    motherboard chipset manufactuers, the Bt878/Bt879 has 3
334                    PCI bus compatibility modes. These are
335                      NORMAL PCI 2.1  for proper PCI 2.1 compatible chipsets.
336                      INTEL 430 FX    for the Intel 430 FX chipset.
337                      SIS VIA CHIPSET for certain SiS and VIA chipsets.
338                    Older Intel and non-Intel chipsets may also benefit from
339                    either 430_FX or SIS/VIA mode.
340
341                    NORMAL PCI mode is enabled by default.
342                    For INTEL 430 FX mode, add this to your kenel config:
343                           options "BKTR_430_FX_MODE"
344                    For SiS / VIA mode, add this to your kernel config:
345                           options "BKTR_SIS_VIA_MODE"
346
347                    Using quotes in these options is not needed in FreeBSD 4.x.
348
349                    Note. Newer VIA chipsets should be fully PCI 2.1 compatible
350                    and should work fine in the Default mode.
351
352                    Also rename 849 to 849A, the correct name for the chip.
353
3541.69   12 June 1999 Roger Hardiman <roger@freebsd.org>
355                    Updates for FreeBSD 4.x device driver interface.
356                    BSDI code removed. Will be restored later.
357
3581.70   12 July 1999 Roger Hardiman <roger@freebsd.org>
359                    Reorganise OS device dependant parts (based on a port to
360                    linux by Brad Parker).
361                    Make the driver compile on FreeBSD 2.2.x systems again.
362                    Change number of VBI lines from 16 to 12 for NTSC formats.
363                    Changes to probeCard() for better eeprom identification.
364                    Added STB Bt878 card identification.
365                    Add Hauppauge model identification to probeCard().
366                    Added TDA9850 initialisation code taken from Linux bttv.
367                    Juha.Nurmela@quicknet.inet.fi found/fixed bug in VBI_SLEEP.
368                    Matt Brown <matt@dqc.org> added MSP3430G DBX initialisation.
369
3701.71    30 Aug 1999 Roger Hardiman <roger@freebsd.org>
371                    Small cleanup of OS dependant code. Remove NPCI usage.
372                    Fix bug in AVerMedia detection.
373		    Update VBI support for the AleVT Teletext package. Parts
374                    from Juha Nurmela's driver <Juha.Nurmela@quicknet.inet.fi>
375		    Add support for Hauppauge 627 and Temic 4006 submitted
376		    by Maurice Castro <maurice@atum.castro.aus.net>
377		    Tom Jansen <tom@unhooked.net> added BSDi support again.
378
3791.72    31 Aug 1999 Juha Nurmela <Juha.Nurmela@quicknet.inet.fi>
380                    Clear cap_ctl register when restarting the RISC program.
381                    This fixes the freezes experienced when changing changes.
382
3831.73    10 Sep 1999 Roger Hardiman <roger@freebsd.org>
384                    Add Hauppauge tuner #6 for Brian Somers <brian@freebsd.org>
385		    Add card type for Aimslabs Video Highway Xtreme for
386		    Ladislav Kostal <kostal@pefstud.uniag.sk>
387                    Added select() code (for VBI) for the 2.2.x driver
388                    tested by Steve Richards <steve@richsoft.demon.co.uk>
389
3901.74    17 Sep 1999 Roger Hardiman <roger@freebsd.org>
391		    Fix bug where FM radio stations were offset after using FXTV
392                    AVerMedia tuner type autodetection added for cards with
393		    a configuration EEPROM (currently their Bt878 range)
394                    Thanks to Frank at AVerMedia for providing the information.
395		    Tested by David La Croix <dlacroix@cowpie.acm.vt.edu>
396		    Tidy up some tuner code and Hauppauge detection code.
397                    New NetBSD code from Bernd Ernesti<bernd@arresum.inka.de>
398
3992.00  25 Sep 1999 Roger Hardiman <roger@freebsd.org>
400                  Split the driver into separate tuner, card and audio sections.
401		  Update tuner code for FM radio to use datasheet equations.
402
4032.01  27 Sep 1999 Roger Hardiman <roger@freebsd.org>
404                  Add Dynalink Magic TView for Craig <crh@outpost.co.nz>
405                  Add Leadtek Winfast 2000 for Peter Wemm <peter@netplex.com.au>
406                  There is no audio support on these 2 cards yet.
407                  Tidy up a few tables with tabs and PLL selection code.
408                  Restore Video Highway Xtreme PLL code.
409
4102.02   4 Oct 1999 Peter Wemm <peter@netplex.com.au>
411		  Updated Australian Channel Set.
412		  Added Tuner and Mute values for LeadTek Winfast 2000 card
413
4142.03   5 Oct 1999 Thomas Runge <runge@rostock.zgdv.de>
415		  Found FM radio bug mute introduced in release 2.00
416
4172.04  20 Oct 1999 Roger Hardiman <roger@freebsd.org>
418		  Updated AVerMedia audio sources to support FM and Line In
419		  sources properly. (Based on info supplied by AVerMedia)
420		  Make PLL mode the default for Bt878 chips. This means PAL
421		  Bt878 users no longer need the BKTR_USE_PLL kernel option.
422		  Detect and auto-configure Dolby Surround Sound DPL3518A chip
423		  on Hauppauge WinTV Theater. From Frank Nobis <fn@radio-do.de>
424
4252.05   8 Nov 1999 Update tuner control codes for Philips SECAM. Submitted by
426                  Cyrille Lefevre <clefevre@citeweb.net>
427		  Updated clipping code, ready for Xv support in XFree86 4.0,
428		  submitted by Thomas Mueller <tmueller@thmu.de>
429		  Thomas also has information on a LynxOS port of this driver.
430                  Phase out the rgb_prog RISC program and use rgb_vbi_prog as
431                  the default. Now you no longer have to open /dev/vbi
432                  before /dev/bktr. - Roger Hardiman <roger@freebsd.org>
433
4342.06   7 Dec 1999 Fix bug which made the tuner fail on cards detected as
435                  IMS Turbo. Found by Patrick Mackeown<pgm@NS4.HELP-DESK.CO.UK>
436		  Put back some Hauppauge Tuner Types I deleted my mistake.
437		  Backout the switch from rgb_prob to rgb_vbi_prog due to
438		  problems with NTSC users.
439
4402.07  24 Jan 2000 Update i2c code to build on FreeBSD 3.x and 4.x machines.
441                  Added GPIO audio values for the Askey/Dynalink TV card
442                  taken from postings on the V4L mailing list.
443                  Update Australian Channel Set. Submitted by
444                  John Birrell <jb@cimlogic.com.au>
445                  Add new Channel Set for France. Submitted by
446                  Daniel Dagneaux <dagneaux@lure.u-psud.fr>
447
4482.08   6 Mar 2000 Reinstate rgb_vbi_prog as the default RISC program for
449                  PAL video. This does not want to work for NTSC, which will
450                  continue to use the rgb_prog RISC program.
451                  Add support for cable channels above channel 100.
452                  Submitted by Scott Presnell <srp@zgi.com>
453                  New MSP3410/3415 setup code submitted by
454                  Frank Nobis<fn@radio-do.de>. This is experimental and is
455                  enabled by setting the sysctl, hw.bt848.slow_msp_audio to 1
456                  before starting FXTV (or before opening /dev/bktrN)
457
4582.09  20 Mar 2000 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> submitted
459                  patches to include the NetBSD and OpenBSD support from driver
460                  1.74 into the new 2.xx driver. NetBSD is tested. OpenBSD is
461                  untested.
462                  Also fixed coding error in bktr_audio.c spotted by Thomas.
463                  Change xxx_ioctl functions to use ioctl_cmd_t for the cmd
464                  parameter. Found by looking at OpenBSDs change logs.
465                  Delete PROT_EXEC from OpenBSD (as per OpenBSD cvs logs).
466
4672.10   4 Apr 2000 Convert to using bus_space() to access the Bt848/878 registers
468                  rather than using a memory mapped structure. This makes the
469                  driver portable to other architectures, like Alpha and PPC.
470                  This was done by Thomas Klausner <wiz@netbsd.org> and
471                  myself Roger Hardiman <roger@freebsd.org>
472
4732.11  15 Apr 2000 Made changes so the driver compiles on FreeBSD/Alpha.
474                  Stop printing MSP autodetect. Requested by
475                  Chris D. Faulhaber <jedgar@fxp.org>
476
4772.12  16 Apr 2000 Set adelay as an 8 bit value, noticed by
478                  Thomas Klausner <wiz@netbsd.org>
479                  Fix typo in the new interrupt code.
480
4812.12  20 May 2000 Merge in NetBSD changes from Thomas Klausner <wiz@netbsd.org>
482                  following the import of driver 2.12 into NetBSD
483
4842.13  26 Jun 2000 Merge in more changes from Thomas Klausner <wiz@netbsd.org>
485                  syncing this driver with the NetBSD source at 25th June.
486
4872.14  28 Jun 2000 Add new Hauppauge Tuner Types, supplied by Hauppauge and
488                  required for Josef Karthauser <joe@pavilion.net>
489                  Change the structure of some of the #include files and
490                  merge in more NetBSD changes.
491
4922.15  10 Sep 2000 Add support for bktr_mem, a module to hold onto the bktr
493                  drives's contiguous memory buffers even when it is unloaded
494                  and reloaded.
495                  Simplify the use of the optional SMBUS i2c code by using a new
496                  #define called BKTR_USE_FREEBSD_SMBUS.
497                  Poul-Henning Kamp <phk@freebsd.org> changed the DEVFS code.
498                  Peter Wemm <peter@freebsd.org> fixed an SMBUS warning.
499                  Alexander Langer <alex@cichlids.com> fixed some FreeBSD newbus
500                  resource allocation problems (FreeBSD PR kern/18744).
501
5022.16  19 Sep 2000 Merge in NetBSD changes from Thomas Klausner <wiz@netbsd.org>
503
5042.17  19 Oct 2000 Alexander Langer <alex@big.endian.de> and
505                  Daniel O'Connor <doconnor@gsoft.com.au>
506                  both submitted fixes to devfs code.
507                  Fix PHK's commit so we only include machine/clock.h in
508                  FreeBSD 2.x, 3.x and 4.x systems
509
5102.18  30 Oct 2000 Roger Hardiman - Add new ioctls to allow userland programs
511                  fuller access to the I2C bus, BT848_MSP_READ BT848_MSP_WRITE
512                  and BT848_MSP_RESET.
513                  Add tuner type 0x2a. Remove 0x2c which was incorrect.
514                  Christian Gusenbauer <Christian.Gusenbauer@netway.at> added
515                  support for audio on Hauppauge cards without the audio mux.
516                  The MSP is used for audio selection. (the 44xxx models)
517
518[see http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bktr/
519for newer change logs ]
520