summaryrefslogtreecommitdiffstats
path: root/Documentation/video4linux
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-05 06:47:02 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-05 06:47:02 +0000
commit99a7e12f34b3661a0d1354eef83a0eef4df5e34c (patch)
tree3560aca9ca86792f9ab7bd87861ea143a1b3c7a3 /Documentation/video4linux
parente73a04659c0b8cdee4dd40e58630e2cf63afb316 (diff)
Merge with Linux 2.3.38.
Diffstat (limited to 'Documentation/video4linux')
-rw-r--r--Documentation/video4linux/API.html16
-rw-r--r--Documentation/video4linux/README.buz14
-rw-r--r--Documentation/video4linux/bttv/CARDLIST52
-rw-r--r--Documentation/video4linux/bttv/CARDS114
-rw-r--r--Documentation/video4linux/bttv/INSTALL82
-rw-r--r--Documentation/video4linux/bttv/Insmod-options84
-rw-r--r--Documentation/video4linux/bttv/MAKEDEV28
-rw-r--r--Documentation/video4linux/bttv/Modules.conf15
-rw-r--r--Documentation/video4linux/bttv/PROBLEMS2
-rw-r--r--Documentation/video4linux/bttv/README131
-rw-r--r--Documentation/video4linux/bttv/README.FIRST4
-rw-r--r--Documentation/video4linux/bttv/README.Hauppauge29
-rw-r--r--Documentation/video4linux/bttv/README.MIRO3
-rw-r--r--Documentation/video4linux/bttv/README.PCI36
-rw-r--r--Documentation/video4linux/bttv/README.RADIO15
-rw-r--r--Documentation/video4linux/bttv/Sound-FAQ96
-rw-r--r--Documentation/video4linux/radiotrack.txt2
-rw-r--r--Documentation/video4linux/zr36120.txt12
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>&nbsp;</TD><TD>Bit 6:</TD><TD>Corrected bit. Indicates that
an error was corrected for this data block.</TD></TR>
-<TR><TD>&nbsp;</TD><TD>Bits 5-3:</TD><TD>Reeived Offset. Indicates the
+<TR><TD>&nbsp;</TD><TD>Bits 5-3:</TD><TD>Received Offset. Indicates the
offset received by the sync system.</TD></TR>
<TR><TD>&nbsp;</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)