diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-05 06:47:02 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-05 06:47:02 +0000 |
commit | 99a7e12f34b3661a0d1354eef83a0eef4df5e34c (patch) | |
tree | 3560aca9ca86792f9ab7bd87861ea143a1b3c7a3 /Documentation/video4linux | |
parent | e73a04659c0b8cdee4dd40e58630e2cf63afb316 (diff) |
Merge with Linux 2.3.38.
Diffstat (limited to 'Documentation/video4linux')
-rw-r--r-- | Documentation/video4linux/API.html | 16 | ||||
-rw-r--r-- | Documentation/video4linux/README.buz | 14 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/CARDLIST | 52 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/CARDS | 114 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/INSTALL | 82 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/Insmod-options | 84 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/MAKEDEV | 28 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/Modules.conf | 15 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/PROBLEMS | 2 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/README | 131 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/README.FIRST | 4 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/README.Hauppauge | 29 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/README.MIRO | 3 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/README.PCI | 36 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/README.RADIO | 15 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/Sound-FAQ | 96 | ||||
-rw-r--r-- | Documentation/video4linux/radiotrack.txt | 2 | ||||
-rw-r--r-- | Documentation/video4linux/zr36120.txt | 12 |
18 files changed, 388 insertions, 347 deletions
diff --git a/Documentation/video4linux/API.html b/Documentation/video4linux/API.html index b4b9d0dcc..7f144ad9c 100644 --- a/Documentation/video4linux/API.html +++ b/Documentation/video4linux/API.html @@ -30,7 +30,7 @@ passed to the ioctl is completed and returned. It contains the following information <P> <TABLE> -<TR><TD><b>name[32]</b><TD>Cannonical name for this interface</TD> +<TR><TD><b>name[32]</b><TD>Canonical name for this interface</TD> <TR><TD><b>type</b><TD>Type of interface</TD> <TR><TD><b>channels</b><TD>Number of radio/tv channels if appropriate</TD> <TR><TD><b>audios</b><TD>Number of audio devices if appropriate</TD> @@ -125,7 +125,7 @@ disabled by passing it a value of 0. <P> Some capture devices can capture a subfield of the image they actually see. This is indicated when VIDEO_TYPE_SUBCAPTURE is defined. -The video_capture describes the time and spacial subfields to capture. +The video_capture describes the time and special subfields to capture. The video_capture structure contains the following fields. <P> <TABLE> @@ -235,7 +235,7 @@ giving the tuner to use. A struct tuner has the following fields <P> <TABLE> <TR><TD><b>tuner</b><TD>Number of the tuner</TD> -<TR><TD><b>name</b><TD>Cannonical name for this tuner (eg FM/AM/TV)</TD> +<TR><TD><b>name</b><TD>Canonical name for this tuner (eg FM/AM/TV)</TD> <TR><TD><b>rangelow</b><TD>Lowest tunable frequency</TD> <TR><TD><b>rangehigh</b><TD>Highest tunable frequency</TD> <TR><TD><b>flags</b><TD>Flags describing the tuner</TD> @@ -279,7 +279,7 @@ The structure contains the following fields <P> <TABLE> <TR><TD><b>audio</b><TD>The channel number</TD> -<TR><TD><b>volume</b><TD>The voume level</TD> +<TR><TD><b>volume</b><TD>The volume level</TD> <TR><TD><b>bass</b><TD>The bass level</TD> <TR><TD><b>treble</b><TD>The treble level</TD> <TR><TD><b>flags</b><TD>Flags describing the audio channel</TD> @@ -359,13 +359,13 @@ For radio devices that support it, it is possible to receive Radio Data System (RDS) data by means of a read() on the device. The data is packed in groups of three, as follows: <TABLE> -<TR><TD>First Octet</TD><TD>Least Siginificant Byte of RDS Block</TD></TR> -<TR><TD>Second Octet</TD><TD>Most Siginificant Byte of RDS Block +<TR><TD>First Octet</TD><TD>Least Significant Byte of RDS Block</TD></TR> +<TR><TD>Second Octet</TD><TD>Most Significant Byte of RDS Block <TR><TD>Third Octet</TD><TD>Bit 7:</TD><TD>Error bit. Indicates that -an uncorrectable error occured during reception of this block.</TD></TR> +an uncorrectable error occurred during reception of this block.</TD></TR> <TR><TD> </TD><TD>Bit 6:</TD><TD>Corrected bit. Indicates that an error was corrected for this data block.</TD></TR> -<TR><TD> </TD><TD>Bits 5-3:</TD><TD>Reeived Offset. Indicates the +<TR><TD> </TD><TD>Bits 5-3:</TD><TD>Received Offset. Indicates the offset received by the sync system.</TD></TR> <TR><TD> </TD><TD>Bits 2-0:</TD><TD>Offset Name. Indicates the offset applied to this data.</TD></TR> diff --git a/Documentation/video4linux/README.buz b/Documentation/video4linux/README.buz index b9eb9cd74..5eaf517bc 100644 --- a/Documentation/video4linux/README.buz +++ b/Documentation/video4linux/README.buz @@ -41,7 +41,7 @@ grabbing facilities, you must either various kernel versions floating around in the net, you may obtain one e.g. from: http://www.polyware.nl/~middelin/patch/bigphysarea-2.2.1.tar.gz - You also have to compile your driber AFTER installing that patch + You also have to compile your driver AFTER installing that patch in order to get it working or @@ -91,9 +91,9 @@ These values do not affect the MJPEG grabbing facilities of the driver, they are needed for uncompressed image grabbing only!!! v4l_nbufs is the number of buffers to allocate, a value of 2 (the default) -should be sufficient in allmost all cases. Only special applications +should be sufficient in almost all cases. Only special applications (streaming captures) will need more buffers and then mostly the -MJPEG capturing features of the Buz will be more apropriate. +MJPEG capturing features of the Buz will be more appropriate. So leave this parameter at it's default unless you know what you do. The things for v4l_bufsize are more complicated: @@ -107,7 +107,7 @@ In order to be able to capture bigger images you have either to the necessary memory during boot time or - start your kernel with the mem=xxx option, where xxx is your real memory minus the memory needed for the buffers. -In that case, usefull settings for v4l_bufsize are +In that case, useful settings for v4l_bufsize are - 1296 [Kb] for grabbing 24 bit images of max size 768*576 - 1728 [Kb] for 32bit images of same size (4*768*576 = 1728 Kb!) You may reduce these numbers accordingly if you know you are only @@ -137,7 +137,7 @@ triton, natoma -------------- The driver tries to detect if you have a triton or natome chipset -in order to take special messures for these chipsets. +in order to take special measures for these chipsets. If this detection fails but you are sure you have such a chipset, set the corresponding variable to 1. This is a very special option and may go away in the future. @@ -151,7 +151,7 @@ This driver should be fully compliant to Video for Linux, so all tools working with Video for Linux should work with (hopefully) no problems. -A description of the Video for Linux programming interace can be found at: +A description of the Video for Linux programming interface can be found at: http://roadrunner.swansea.linux.org.uk/v4lapi.shtml Besides the Video for Linux interface, the driver has a "proprietary" @@ -162,7 +162,7 @@ The ioctls for that interface are as follows: BUZIOC_G_PARAMS BUZIOC_S_PARAMS -Get and set the parameters of the buz. The user should allways +Get and set the parameters of the buz. The user should always do a BUZIOC_G_PARAMS (with a struct buz_params) to obtain the default settings, change what he likes and then make a BUZIOC_S_PARAMS call. A typical application should at least set the members diff --git a/Documentation/video4linux/bttv/CARDLIST b/Documentation/video4linux/bttv/CARDLIST new file mode 100644 index 000000000..5fd5b826b --- /dev/null +++ b/Documentation/video4linux/bttv/CARDLIST @@ -0,0 +1,52 @@ +bttv.o + card=0 - unknown + card=1 - MIRO PCTV + card=2 - Hauppauge old + card=3 - STB + card=4 - Intel + card=5 - Diamond DTV2000 + card=6 - AVerMedia TVPhone + card=7 - MATRIX-Vision MV-Delta + card=8 - Fly Video II + card=9 - TurboTV + card=10 - Hauppauge new (bt878) + card=11 - MIRO PCTV pro + card=12 - ADS Technologies Channel Surfer TV + card=13 - AVerMedia TVCapture 98 + card=14 - Aimslab VHX + card=15 - Zoltrix TV-Max + card=16 - Pixelview PlayTV (bt878) + card=17 - Leadtek WinView 601 + card=18 - AVEC Intercapture + card=19 - LifeView FlyKit w/o Tuner + card=20 - CEI Raffles Card + card=21 - Lucky Star Image World ConferenceTV + card=22 - Phoebe Tv Master + FM + card=23 - Modular Technology MM205 PCTV, bt878 + card=24 - Magic TView CPH061 (bt878) + card=25 - Terratec/Vobis TV-Boostar + card=26 - Newer Hauppauge WinCam (bt878) + card=27 - MAXI TV Video PCI2 + card=28 - Terratec TerraTV+ + card=29 - Imagenation PXC200 + card=30 - FlyVideo 98 + card=31 - iProTV + card=32 - Intel Create and Share PCI + card=33 - Askey/Typhoon/Anubis Magic TView + card=34 - Terratec TerraTValue + +tuner.o + type=0 - Temic PAL + type=1 - Philips PAL_I + type=2 - Philips NTSC + type=3 - Philips SECAM + type=4 - NoTuner + type=5 - Philips PAL + type=6 - Temic NTSC + type=7 - Temic PAL_I + type=8 - Temic 4036 FY5 NTSC + type=9 - Alps HSBH1 + type=10 - Alps TSBE1 + type=11 - Alps TSBB5 + type=12 - Alps TSBE5 + type=13 - Alps TSBC5 diff --git a/Documentation/video4linux/bttv/CARDS b/Documentation/video4linux/bttv/CARDS deleted file mode 100644 index ff47a322a..000000000 --- a/Documentation/video4linux/bttv/CARDS +++ /dev/null @@ -1,114 +0,0 @@ -Suppported cards: - - -Bt848/Bt848a/Bt849/Bt878/Bt879 cards ------------------------------------- - -All cards with Bt848/Bt848a/Bt849/Bt878/Bt879 and normal Composite/S-VHS inputs -are supported. -Teletext and Intercast support (PAL only) via VBI samples decoding in software. - -Some cards with additional multiplexing of inputs are only partially -supported (unless specifications by the card manufacturer are given). - -All other cards only differ by additional components as tuners, sound decoders, -EEPROMs, teletext decoders ... - -Tuner and sound decoder support for Bt878/879 is not fully working yet. - - -MATRIX Vision -------------- - -MV-Delta -- Bt848A -- 4 Composite inputs, 1 S-VHS input (shared with 4th composite) -- EEPROM - -http://www.matrix-vision.de/ - -This card has no tuner but supports all 4 composite (1 shared with an -S-VHS input) of the Bt848A. -Very nice card if you only have satellite TV but several tuners connected -to the card via composite. - -Many thanks to Matrix-Vision for giving us 2 cards for free which made -Bt848a/Bt849 single crytal operation support possible!!! - - - -Miro/Pinnacle PCTV ------------------- - -- Bt848 - some (all??) come with 2 crystals for PAL/SECAM and NTSC -- PAL, SECAM or NTSC TV tuner (Philips or TEMIC) -- MSP34xx sound decoder on add on board - decoder is supported but AFAIK does not yet work - (other sound MUX setting in GPIO port needed??? somebody who fixed this???) -- 1 tuner, 1 composite and 1 S-VHS input -- tuner type is autodetected - -http://www.miro.de/ -http://www.miro.com/ - - -Many thanks for the free card which made first NTSC support possible back -in 1997! - - -Hauppauge Win/TV pci --------------------- - -There are many different versions of the Hauppauge cards with different -tuners (TV+Radio ...), teletext decoders. -Note that even cards with same model numbers have (depending on the revision) -different chips on it. - -- Bt848 (and others but always in 2 crystal operation???) - newer cards have a Bt878, I2C support for it is still experimental -- PAL, SECAM, NTSC or tuner with or without Radio support - -e.g.: - PAL: - TDA5737: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners - TSA5522: 1.4 GHz I2C-bus controlled synthesizer, I2C 0xc2-0xc3 - - NTSC: - TDA5731: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners - TSA5518: no datasheet available on Philips site -- Philips SAA5246 or SAA5284 ( or no) Teletext decoder chip - with buffer RAM (e.g. Winbond W24257AS-35: 32Kx8 CMOS static RAM) - SAA5246 (I2C 0x22) is supported -- 256 bytes EEPROM: Microchip 24LC02B or Philips 8582E2Y - with configuration information - I2C address 0xa0 (24LC02B also responds to 0xa2-0xaf) -- 1 tuner, 1 composite and (depending on model) 1 S-VHS input -- 14052B: mux for selection of sound source -- sound decoder: TDA9800, MSP34xx (stereo cards) - - -AverMedia ---------- -... - - -ADS Channel Surfer ------------------- -... - - -Maxi TV Video PCI 2 card ------------------------- -... - - -Image World ConferenceTV ------------------------- -Doesn't work: - - autodetect. Use card=21 - - sound mute. Use the line-in volume of your soundcard - - radio tuner. Since the card doesn't have an antenna, it is quite - understandable ;) However, you can hear some stations if you - ``ln -s /dev/bttv0 /dev/radio'' - =20 diff --git a/Documentation/video4linux/bttv/INSTALL b/Documentation/video4linux/bttv/INSTALL deleted file mode 100644 index d38cc557a..000000000 --- a/Documentation/video4linux/bttv/INSTALL +++ /dev/null @@ -1,82 +0,0 @@ -- Make sure you have a recent 2.0.x kernel (I recommend AT LEAST 2.0.33!) - or a recent 2.1.x kernel. - Older kernels might lead to problems. - -- Do NOT compile videodev into your kernel! - Use the module supplied with bttv. - -- Edit "driver/Makefile": - - - If you do NOT have a Miro card: - Adjust TUNER to a number between 0 and 7. - - This number has the following meaning: - - 0: Temic PAL tuner - 1: Philips PAL_I tuner - 2: Philips NTSC tuner - 3: Philips SECAM tuner - 4: no tuner - 5: Philips PAL tuner - 6: Temic NTSC tuner - 7: Temic PAL tuner - 8: Temic 4036 FY5 NTSC tuner - - The number corresponds to the number (-1) given at the GPIO port of the - Bt848 on Miro cards. - - - - Adjust CARD to one of the numbers below: - - 0: Auto-Detect - 1: Miro - 2: Hauppauge - 3: STB - 4: Intel - 5: Diamond - 6: AVerMedia - 7: Matrix Vision MV-Delta - 8: Fly Video II - 9: TurboTV - 10: Newer Hauppauge (Bt878) - 11: Miro PCTV Pro - 12: ADS Tech Channel Surfer TV (and maybe TV+FM) - 13: AVerMedia TVCapture 98 - 14: Aimslab VHX - 15: Zoltrix TV-Max - - - You may have to adjust BTTV_MAJOR to a different number depending on your - kernel version. The official number 81 does not work on some setups. - But instead of changing it, better update to a newer kernel. - - - If you have a Bt848a or Bt849 on your board you might have to - uncomment: -DUSE_PLL - -- do a "make" in the main directory. - -If you have Hauppauge card read "README.HAUPPAUGE" before proceeding. - -- type "make ins" - - This creates the bttv devices in /dev and installs the bttv module - - Look in the kernel log file (/var/adm/syslog or /var/log/kernel or something - else depending on your /etc/syslogd.conf or just call "dmesg") - and see what bttv reported (lines starting with "bttv:") - If the installation failed and you send e-mail to me always include those - lines! Dumps of the insmod output alone do not help at all. - -- Start X11 in hi or true color mode - 8 bit color is also supported but really ugly! - (If you have an S3 card you might have to start X11 before installing - the module!) - - If you have Motif or LessTif, "xtvscreen" in the "XTV" directory should - have been compiled with the "make" above. - Otherwise use the statically linked version which should be available - on the web site you got bttv from. - Read the documentation in "XTV" and start xtvscreen. - -- make applications by typing "make" in "apps" - - diff --git a/Documentation/video4linux/bttv/Insmod-options b/Documentation/video4linux/bttv/Insmod-options new file mode 100644 index 000000000..838413146 --- /dev/null +++ b/Documentation/video4linux/bttv/Insmod-options @@ -0,0 +1,84 @@ + +bttv.o + the bt848 (grabber chip) driver + + insmod args: + card=n card type, see cardlist for a list. + radio=0/1 card supports radio + pll=0/1/2 pll settings + 0: don't use PLL + 1: 28 MHz crystal installed + 2: 35 MHz crystal installed + triton1=0/1 for Triton1 compatibility + Triton1 is automatically recognized + but this might also help with other chipsets + bigendian=n Set the endianness of the gfx framebuffer. + Default is native endian. + fieldnr=1 Count fields. Some TV descrambling software + needs this, for others it only generates + 50 useless IRQs/sec. + autoload=0/1 autoload helper modules (tuner, audio). + default is 1 (on). + + remap, card, radio and pll accept up to four comma-separated arguments + (for multiple boards). + +msp3400.o + The driver for the msp34xx sound processor chips. If you have a + stereo card, you probably want to insmod this one. + + insmod args: + debug=1/2 print some debug info to the syslog, + 2 is more verbose. + simple=1 Use the "short programming" method. Newer + msp34xx versions support this. You need this + for dbx stereo. + once=1 Don't check the TV-stations Audio mode + every few seconds, but only once after + channel switches. + amsound=1 Audio carrier is AM/NICAM at 6.5 Mhz. This + should improve things for french people, the + carrier autoscan seems to work with FM only... + mixer=n allocate mixer device #n. Default is the + first free slot. + +tea6300.o + The driver for the tea6300 fader chip. If you have a stereo + card and the msp3400.o doesn't work, you might want to try this + one. This chip is seen on most STB TV/FM cards (usually from + Gateway OEM sold surplus on auction sites). + + insmod args: + debug=1 print some debug info to the syslog. + +tda8425.o + The driver for the tda8425 fader chip. This driver used to be + part of bttv.c, so if your sound used to work but does not + anymore, try loading this module. + + insmod args: + debug=1 print some debug info to the syslog. + +tda9855.o + The driver for the tda9855 audio chip. Afaik, only the + Diamond DTV2000 has this chip. + + insmod args: + debug=1 print some debug info to the syslog. + +tuner.o + The tuner driver. You need this unless you want to use only + with a camera or external tuner ... + + insmod args: + debug=1 print some debug info to the syslog + type=n type of the tuner chip. n as follows: + 0: Temic PAL tuner + 1: Philips PAL_I tuner + 2: Philips NTSC tuner + 3: Philips SECAM tuner + 4: no tuner + 5: Philips PAL tuner + 6: Temic NTSC tuner + 7: Temic PAL tuner + diff --git a/Documentation/video4linux/bttv/MAKEDEV b/Documentation/video4linux/bttv/MAKEDEV new file mode 100644 index 000000000..6c29ba43b --- /dev/null +++ b/Documentation/video4linux/bttv/MAKEDEV @@ -0,0 +1,28 @@ +#!/bin/bash + +function makedev () { + + for dev in 0 1 2 3; do + echo "/dev/$1$dev: char 81 $[ $2 + $dev ]" + rm -f /dev/$1$dev + mknod /dev/$1$dev c 81 $[ $2 + $dev ] + chmod 666 /dev/$1$dev + done + + # symlink for default device + rm -f /dev/$1 + ln -s /dev/${1}0 /dev/$1 +} + +# see http://roadrunner.swansea.uk.linux.org/v4lapi.shtml + +echo "*** new device names ***" +makedev video 0 +makedev radio 64 +makedev vtx 192 +makedev vbi 224 + +#echo "*** old device names (for compatibility only) ***" +#makedev bttv 0 +#makedev bttv-fm 64 +#makedev bttv-vbi 224 diff --git a/Documentation/video4linux/bttv/Modules.conf b/Documentation/video4linux/bttv/Modules.conf new file mode 100644 index 000000000..84c79d659 --- /dev/null +++ b/Documentation/video4linux/bttv/Modules.conf @@ -0,0 +1,15 @@ +# i2c +alias char-major-89 i2c-dev +options i2c-core i2c_debug=1 +options i2c-algo-bit bit_test=1 + +# bttv +alias char-major-81 videodev +alias char-major-81-0 bttv +options bttv card=2 radio=1 +options tuner debug=1 + +# make alsa + msp3400 play nicely +options snd-card-ens snd_index=0 +options msp3400 mixer=1 + diff --git a/Documentation/video4linux/bttv/PROBLEMS b/Documentation/video4linux/bttv/PROBLEMS index 0371d2e74..8e31e9e36 100644 --- a/Documentation/video4linux/bttv/PROBLEMS +++ b/Documentation/video4linux/bttv/PROBLEMS @@ -4,7 +4,7 @@ - The memory of some S3 cards is not recognized right: - First of all, if you are not using Xfree-3.2 or newer, upgrade AT LEAST to + First of all, if you are not using XFree-3.2 or newer, upgrade AT LEAST to XFree-3.2A! This solved the problem for most people. Start up X11 like this: "XF86_S3 -probeonly" and write down where the diff --git a/Documentation/video4linux/bttv/README b/Documentation/video4linux/bttv/README index 72f4f4b73..00b23c52a 100644 --- a/Documentation/video4linux/bttv/README +++ b/Documentation/video4linux/bttv/README @@ -1,41 +1,90 @@ -bttv - BT848 frame grabber driver - -Copyright (C) 1996,97 Ralph Metzler (rjkm@thp.uni-koeln.de) - & Marcus Metzler (mocm@thp.uni-koeln.de) - according to GNU GPL in file COPYING. - - -Bttv is a device driver for frame grabber cards using the Bt848 family -of video decoder chips. -Among those are the Bt848, Bt848A, Bt849, Bt878 and Bt879. -The only major differences between the cards by different manufacturers -are the types of tuners and extra components on the boards. -E.g., some cards by Hauppauge have an additional Videotext decoder -and/or sound decoder chip. -Also type (Composite or S-VHS) and number of inputs differ. -Other Brooktree chips (e.g. the Bt829) or chips by other manufacturers -(Philips, Zoran, ...) are NOT supported by bttv. - -You can use several cards at the same time. -Interrupts can be shared with other Bt848 cards or any other drivers -which allow it. -The (arbitrary) maximum number of cards is 4 but can be adjusted by -changing BTTV_MAX at the beginning of bttv.c if you need more. -(But which board has more than 4 PCI slots plus 1 for the VGA card?) - -Bttv is a standard component of all newer 2.1.x kernels. -This distribution additionally supports 2.0.x kernels and all other -changes and improvements which did not make it into the kernel version -yet. -It also includes versions of videodev.c, i2.c, tuner.c and others -which are the same as in the latest 2.1.x kernel but with 2.0.x support. -A kernel version >2.0.30 is recommended. - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -Although bttv is now used and tested by many people it still might crash your -computer! Take all precautions to avoid data loss until you are certain -bttv runs on your setup without problems. -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -The latest version of bttv can be found at: -http://www.thp.uni-koeln.de/~rjkm/linux/bttv.html + +Release notes for bttv-0.7.x +============================ + +This version is based on Ralphs 0.6.4 release. There are alot of +changes. Bugfixes, merged patches from other people, merged fixes +from the kernel version, port to the new i2c stack, removed support +for 2.0.x, code cleanups, ... + +To compile this bttv version, you'll the new i2c stack. Kernels +newer than 2.3.34 have this already included. If you have a older +kernel, download it from: + http://www2.lm-sensors.nu/~lm78/download.html + +You'll find Ralphs original (mostly outdated) documentation in the +ralphs-doc subdirectory. + + +Compile bttv +------------ + +If you are compiling the kernel version, just say 'm' if you are asked +for bttv. I /strongly/ suggest to compile bttv as module, because +there are some insmod options for configuring the driver. + +If you downloaded the separate bttv bundle: You need configured kernel +sources to compile the bttv driver. The driver uses some Makefile +magic to compile the modules with your kernel's configuration +(wrt. module-versions, SMP, ...). If you already have compiled the +kernel at least once, you probably don't have do worry about this. If +not, go to /usr/src/linux and run at least "make config". Even +better, compile your own kernel, you'll never become a real hacker +else ;-) + + +Make bttv work with your card +----------------------------- + +Of course you have to load the modules as very first thing. The +separate bttv bundle comes with a script called "update". I use this +one to load a new version while doing driver hacking. You can use it +too, but check the module arguments first. They work for my setup, +and probably do *not* for yours. Another way is to setup your +/etc/modules.conf file and let kmod load the modules. See also: + +Modules.conf: some sample entries for /etc/modules.conf +Insmod-options: list of all insmod options available for bttv and + the helper modules. +MAKEDEV: a script to create the special files for v4l +CARDLIST: List of all supported cards + +Loading just the bttv modules isn't enough for most cards. The +drivers for the i2c tuner/sound chips must also be loaded. bttv tries +to load them automagically by calling request_module() now, but this +obviously works only with kmod enabled. + +The most important insmod option for bttv is "card=n" to select the +correct card type. If you get video but no sound you've very likely +specified the wrong (or no) card type. A list of supported cards is +in CARDLIST. + +If your card isn't listed in CARDLIST, you should read the Sound-FAQ. + + +Still doesn't work? +------------------- + +I do NOT have a lab with 30+ different grabber boards and a +PAL/NTSC/SECAM test signal generator at home, so I often can't +reproduce your problems. This makes debugging very difficult for me. +If you have some knowledge and spare time, please try to fix this +yourself (patches very welcome of course...) You know: The linux +slogan is "Do it yourself". + +There is a mailing list: video4linux-list@redhat.com. If you have +trouble with some specific TV card, try to ask there instead of +mailing me directly. The chance that someone with the same card +listens there is much higher... + + +Finally: If you mail some patches for bttv around the world (to +linux-kernel/Alan/Linus/...), please Cc: me. + + +Have fun with bttv, + + Gerd + +-- +Gerd Knorr <kraxel@goldbach.in-berlin.de> diff --git a/Documentation/video4linux/bttv/README.FIRST b/Documentation/video4linux/bttv/README.FIRST deleted file mode 100644 index 2029ab521..000000000 --- a/Documentation/video4linux/bttv/README.FIRST +++ /dev/null @@ -1,4 +0,0 @@ -o Please direct queries about the in kernel version of this driver to - Alan Cox first not to Ralph, or better yet join the video4linux mailing - list (mail video4linux-list-request@redhat.com with "subscribe") - diff --git a/Documentation/video4linux/bttv/README.Hauppauge b/Documentation/video4linux/bttv/README.Hauppauge deleted file mode 100644 index 0076ed8d8..000000000 --- a/Documentation/video4linux/bttv/README.Hauppauge +++ /dev/null @@ -1,29 +0,0 @@ -The current I2C-Code could by accident overwrite the configuration EEPROM on -Hauppauge boards!!! -(E.g. the videotext driver and the bt848 driver do not know about each other. -This might cause unwanted states on the I2C bus which overwrite the EEPROM) - -Back up this EEPROM before doing anything else by typing: -(do this AFTER installing bttv.o with "make ins" but BEFORE starting the -X application) - -make readee -readee > tvee.h - -If you encounter any problems in Windows95 (like "PNP component not found" ...) -go back into linux, load bttv and type: - -make writeee -writeee - -to write the backed up contents. -If you backed up your EEPROM as described above, this will restore it to its -original state. -A detailed description of the meaning of the EEPROM bytes by -Hauppauge would of course be even more helpful! - -If you have board type 405 and you did not make a backup, my tvee.h file in -mytvee.h might be of help. - -Forget about all of the above if you do not have a Hauppauge board. - diff --git a/Documentation/video4linux/bttv/README.MIRO b/Documentation/video4linux/bttv/README.MIRO deleted file mode 100644 index e74fc4ab6..000000000 --- a/Documentation/video4linux/bttv/README.MIRO +++ /dev/null @@ -1,3 +0,0 @@ -The right tuner type should automatically be detected. -Look in your kernel log files to see which one bttv thinks it is. - diff --git a/Documentation/video4linux/bttv/README.PCI b/Documentation/video4linux/bttv/README.PCI deleted file mode 100644 index 1ae8276f1..000000000 --- a/Documentation/video4linux/bttv/README.PCI +++ /dev/null @@ -1,36 +0,0 @@ -Because some people were asking about the bandwidth the Bt848 might use up -on the PCI bus I did a little benchmark. - -"bonnie -s 200" with a Fireball TM 3.8 Gb using Busmaster DMA on an ASUS P6NP5 - -without capturing: - - -------Sequential Output-------- ---Sequential Input-- --Random-- - -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- -Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU - 200 5353 76.6 5898 16.9 2363 12.1 5889 51.3 6416 10.2 37.8 0.9 - - -while capturing full screen PAL (786x576) with 24bpp: - - -------Sequential Output-------- ---Sequential Input-- --Random-- - -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- -Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU - 200 5619 69.3 5939 16.9 2334 12.0 5859 50.9 6441 10.5 37.9 0.9 - -The differences are small and probably within the normal error margin of -bonnie. -So, one bt848 card does not have much(any?) impact on the normal operation -of a Linux system. -If you have several cards running this will look very differently! -The same is probably true if your Linux box is used as a file server -with 15 (or 30) SCSI drives. - -I tested having 2 Bt848 cards grabbing in 32 bit mode (That's almost 100MB/s!) -while running bonnie. -The xtvscreen windows showed severe pixel errors. -After a while the ide driver failed to use DMA and switched DMA off. -It continued running but the results where bad. - - - diff --git a/Documentation/video4linux/bttv/README.RADIO b/Documentation/video4linux/bttv/README.RADIO deleted file mode 100644 index f22f9c0ca..000000000 --- a/Documentation/video4linux/bttv/README.RADIO +++ /dev/null @@ -1,15 +0,0 @@ -Support is in now: - - Turn on the "big red switch" of the sound processor. - - two ioctls to access (some) registers of the sound processor. - - a function in the TV-Widget which monitors the signal quality - and does the mono/stereo switching. - -So you should have TV with (stereo) sound now. Radio does _not_ work. -It probably does not work with sat receivers. I can't test this and -therefore have not added support for it yet. If someone needs this and -can help testing the sat stuff, drop me a note. - - Gerd - --- -Gerd Knorr <kraxel@cs.tu-berlin.de> diff --git a/Documentation/video4linux/bttv/Sound-FAQ b/Documentation/video4linux/bttv/Sound-FAQ new file mode 100644 index 000000000..ce8895700 --- /dev/null +++ b/Documentation/video4linux/bttv/Sound-FAQ @@ -0,0 +1,96 @@ + +bttv and sound mini howto +========================= + +There are alot of different bt848/849/878/879 based boards available. +Making video work often is not a big deal, because this is handled +completely by the bt8xx chip, which is common on all boards. But +sound is handled in slightly different ways on each board. + +To handle the grabber boards correctly, there is a array tvcards[] in +bttv.c, which holds the informations required for each board. Sound +will work only, if the correct entry is used (for video it often makes +no difference). The bttv driver prints a line to the kernel log, +telling which card type is used. Like this one: + + bttv0: model: BT848(Hauppauge old) + +You should verify this is correct. If it is'nt, you have to pass the +correct board type as insmod argument, "insmod bttv card=2" for +example. The file CARDLIST has a list of valid arguments for card. +If your card is'nt listed there, you might check the source code for +new entries which are not listed yet. If there is'nt one for your +card, you can check if one of the existing entries does work for you +(just trial and error...). + +Some boards have an extra processor for sound to do stereo decoding +and other nice features. The msp34xx chips are used by Hauppauge for +example. If your board has one, you might have to load a helper +module like msp3400.o to make sound work. If there is'nt one for the +chip used on your board: Bad luck. Start writing a new one. Well, +you might want to check the video4linux mailing list archive first... + +Of course you need a correctly installed soundcard unless you have the +speakers connected directly to the grabber board. Hint: check the +mixer settings too... + + +How sound works in detail +========================= + +Still doesn't work? Looks like some driver hacking is required. +Below is a do-it-yourself description for you. + +The bt8xx chips have 32 general purpose pins, and registers to control +these pins. One register is the output enable register +(BT848_GPIO_OUT_EN), it says which pins are actively driven by the +bt848 chip. Another one is the data register (BT848_GPIO_DATA), where +you can get/set the status if these pins. They can be used for input +and output. + +All grabber board vendors use these pins to control an external chip +which does the sound routing. But every board is a little different. +These pins are also used by some companies to drive remote control +receiver chips. + +As mentioned above, there is a array which holds the required +informations for each known board. You basically have to create a new +line for your board. What is in there: + +struct tvcard +{ + char *name; + int inputs; /* number of video inputs */ + int tuner; /* which of them is the tuner */ + int svhs; /* which of them is the svhs input */ + u32 gpiomask; + u32 muxsel[8]; /* video mux */ + u32 audiomux[6]; /* audio mux: Tuner, Radio, external, internal, mute, stereo */ + u32 gpiomask2; /* GPIO MUX mask (this is video) */ +}; + +gpiomask has all bits set which are used to control the audio mux. +This value basically goes to the gpio output enable register. It is +also used to mask bits when switching the audio mux (which is done by +read-modify-write on the gpio data register). + +What you have to do is figure out the correct values for gpiomask and +the audiomux array. If you have Windows and the drivers four your +card installed, you might to check out if you can read these registers +values used by the windows driver. A tool to do this is available +from ftp://telepresence.dmem.strath.ac.uk/pub/bt848/winutil. There is +some #ifdef'ed code in bttv.c (search for "new card") which prints +these values before board initialization, this might help too: boot +win, start tv app, softboot (loadlin) into linux and load bttv with +this enabled. If you hav'nt Windows installed, this is a trial and +error game... + +Good luck, + + Gerd + + +PS: If you have a new working entry, mail it to me. + +-- +Gerd Knorr <kraxel@goldbach.in-berlin.de> diff --git a/Documentation/video4linux/radiotrack.txt b/Documentation/video4linux/radiotrack.txt index fe942e8a9..a3f2347f0 100644 --- a/Documentation/video4linux/radiotrack.txt +++ b/Documentation/video4linux/radiotrack.txt @@ -10,7 +10,7 @@ This document was made based on 'C' code for Linux from Gideon le Grange (legrang@active.co.za or legrang@cs.sun.ac.za) in 1994, and elaborations from Frans Brinkman (brinkman@esd.nl) in 1996. The results reported here are from experiments that the author performed on his own setup, so your mileage may -vary... I make no guarantees, claims or warrantees to the suitability or +vary... I make no guarantees, claims or warranties to the suitability or validity of this information. No other documentation on the AIMS Lab (http://www.aimslab.com/) RadioTrack card was made available to the author. This document is offered in the hopes that it might help users who diff --git a/Documentation/video4linux/zr36120.txt b/Documentation/video4linux/zr36120.txt index a028f2b54..54e46326a 100644 --- a/Documentation/video4linux/zr36120.txt +++ b/Documentation/video4linux/zr36120.txt @@ -31,20 +31,20 @@ After some testing, I discovered that the carddesigner messed up on the I2C interface. The Zoran chip includes 2 lines SDA and SCL which (s)he connected reversely. So we have to clock on the SDA and r/w data on the SCL pin. Life is fun... Each cardtype now has -a bit which signifies if you have a card with the same deficiancy. +a bit which signifies if you have a card with the same deficiency. -Oh, for the completness of this story I must mention that my +Oh, for the completeness of this story I must mention that my card delivers the VSYNC pulse of the SAA chip to GIRQ1, not -GIRQ0 as some other cards have. This is also incorperated in +GIRQ0 as some other cards have. This is also incorporated in the driver be clearing/setting the 'useirq1' bit in the tvcard description. -Another problems of contingious capturing data with a Zoran chip +Another problems of continuous capturing data with a Zoran chip is something nasty inside the chip. It effectively halves the fps we ought to get... Here is the scenario: capturing frames to memory is done in the so-called snapshot mode. In this mode the Zoran stops after capturing a frame worth of data and wait -till the application set GRAB bit to indicate readyness for the +till the application set GRAB bit to indicate readiness for the next frame. After detecting a set bit, the chip neetly waits till the start of a frame, captures it and it goes back to off. Smart ppl will notice the problem here. Its the waiting on the @@ -101,7 +101,7 @@ After making the modules check if you have the much needed mknod /dev/video3 c 81 3 mknod /dev/video4 c 81 4 -After makeing/checking the devices do: +After making/checking the devices do: modprobe i2c modprobe videodev modprobe saa7110 (optional) |