mirror of
https://github.com/torvalds/linux.git
synced 2024-12-15 15:41:58 +00:00
0c5db42551
I have a GeoVision GV-800(S) card, it has 4 CONEXANT BT878A chips. It has 16 video inputs and 4 audio inputs, and it is almost identical to the GV-800, as seen on http://bttv-gallery.de . The only difference appears to be the analog mux, it has a CD22M3494 in place of the MT8816AP. The card has a blue PCB, as seen in this picture: http://www.gsbr.com.br/imagem/kits/GeoVision%20GV%20800.jpg . This card wasn't originally supported, and it was detected as UNKNOWN/GENERIC. The video inputs weren't working, so I tried "forcing" a few cards like the GeoVision GV-600, but there was still no video. So I made a patch to support this card, based on the Kodicom 4400r. The GV-800(S) is identified as follows: ... 02:00.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 02:00.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) 02:04.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 02:04.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) 02:08.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 02:08.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) 02:0c.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 02:0c.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) ... 02:00.0 0400: 109e:036e (rev 11) Subsystem: 800a:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdfff000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data <?> Capabilities: [4c] Power Management version 2 Kernel modules: bttv 02:00.1 0480: 109e:0878 (rev 11) Subsystem: 800a:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdffe000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data <?> Capabilities: [4c] Power Management version 2 02:04.0 0400: 109e:036e (rev 11) Subsystem: 800b:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdffd000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data <?> Capabilities: [4c] Power Management version 2 Kernel modules: bttv 02:04.1 0480: 109e:0878 (rev 11) Subsystem: 800b:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdffc000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data <?> Capabilities: [4c] Power Management version 2 02:08.0 0400: 109e:036e (rev 11) Subsystem: 800c:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdffb000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data <?> Capabilities: [4c] Power Management version 2 Kernel modules: bttv 02:08.1 0480: 109e:0878 (rev 11) Subsystem: 800c:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdffa000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data <?> Capabilities: [4c] Power Management version 2 02:0c.0 0400: 109e:036e (rev 11) Subsystem: 800d:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdff9000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data <?> Capabilities: [4c] Power Management version 2 Kernel modules: bttv 02:0c.1 0480: 109e:0878 (rev 11) Subsystem: 800d:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdff8000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data <?> Capabilities: [4c] Power Management version 2 As you can see, the GV-800(S) card is almost identical to the GV-800 on bttv-gallery, so this patch might also work for that card. If not, only a few changes should be required on the gv800s_write() function. After this patch, the video inputs work correctly on linux 2.6.24 and 2.6.27 using the software 'motion'. The input order may seem a little odd, but it's the order the original software/driver uses, and I decided to keep that order to get the most out of the card. I tried to get the audio working with the snd-bt87x module, but I only get noise from every audio input, even after selecting a different mux with alsamixer. Also, after trying to play sound from those sources, I randomly get a RISC error about an invalid RISC opcode, and then that output stops working. I also can't change the sampling rate when recording. Any pointers to adding audio support are welcome. Signed-off-by: Bruno Christo <bchristo@inf.ufsm.br> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
---|---|---|
.. | ||
bttv | ||
cx88 | ||
cx2341x | ||
.gitignore | ||
API.html | ||
cafe_ccic | ||
CARDLIST.au0828 | ||
CARDLIST.bttv | ||
CARDLIST.cx88 | ||
CARDLIST.cx23885 | ||
CARDLIST.em28xx | ||
CARDLIST.ivtv | ||
CARDLIST.saa7134 | ||
CARDLIST.tuner | ||
CARDLIST.usbvision | ||
cpia2_overview.txt | ||
CQcam.txt | ||
cx18.txt | ||
et61x251.txt | ||
extract_xc3028.pl | ||
gspca.txt | ||
hauppauge-wintv-cx88-ir.txt | ||
ibmcam.txt | ||
lifeview.txt | ||
m5602.txt | ||
Makefile | ||
meye.txt | ||
not-in-cx2388x-datasheet.txt | ||
ov511.txt | ||
radiotrack.txt | ||
README.cpia | ||
README.cpia2 | ||
README.cx88 | ||
README.ir | ||
README.ivtv | ||
README.pvrusb2 | ||
README.saa7134 | ||
se401.txt | ||
si470x.txt | ||
sn9c102.txt | ||
soc-camera.txt | ||
stv680.txt | ||
v4l2-framework.txt | ||
v4lgrab.c | ||
w9966.txt | ||
w9968cf.txt | ||
zc0301.txt | ||
Zoran | ||
zr364xx.txt |
What is it? =========== This is a v4l2/oss device driver for saa7130/33/34/35 based capture / TV boards. See http://www.semiconductors.philips.com/pip/saa7134hl for a description. Status ====== Almost everything is working. video, sound, tuner, radio, mpeg ts, ... As with bttv, card-specific tweaks are needed. Check CARDLIST for a list of known TV cards and saa7134-cards.c for the drivers card configuration info. Build ===== Pick up videodev + v4l2 patches from http://bytesex.org/patches/. Configure, build, install + boot the new kernel. You'll need at least these config options: CONFIG_I2C=m CONFIG_VIDEO_DEV=m Type "make" to build the driver now. "make install" installs the driver. "modprobe saa7134" should load it. Depending on the card you might have to pass card=<nr> as insmod option, check CARDLIST for valid choices. Changes / Fixes =============== Please mail me unified diffs ("diff -u") with your changes, and don't forget to tell me what it changes / which problem it fixes / whatever it is good for ... Known Problems ============== * The tuner for the flyvideos isn't detected automatically and the default might not work for you depending on which version you have. There is a tuner= insmod option to override the driver's default. Card Variations: ================ Cards can use either of these two crystals (xtal): - 32.11 MHz -> .audio_clock=0x187de7 - 24.576MHz -> .audio_clock=0x200000 (xtal * .audio_clock = 51539600) Some details about 30/34/35: - saa7130 - low-price chip, doesn't have mute, that is why all those cards should have .mute field defined in their tuner structure. - saa7134 - usual chip - saa7133/35 - saa7135 is probably a marketing decision, since all those chips identifies itself as 33 on pci. Credits ======= andrew.stevens@philips.com + werner.leeb@philips.com for providing saa7134 hardware specs and sample board. Have fun, Gerd -- Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]