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