aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-10-13 17:03:59 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-13 17:03:59 -0400
commitcf2fa66055d718ae13e62451bb546505f63906a2 (patch)
treee206d3f04e74a34e9aa88d21af6c26eea21d4121 /Documentation
parent4501a466f28788485604ee42641d7a5fe7258d16 (diff)
parent57f51dbc45f65f7ee1e8c8f77200bb8000e3e271 (diff)
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (313 commits) V4L/DVB (9186): Added support for Prof 7300 DVB-S/S2 cards V4L/DVB (9185): S2API: Ensure we have a reasonable ROLLOFF default V4L/DVB (9184): cx24116: Change the default SNR units back to percentage by default. V4L/DVB (9183): S2API: Return error of the caller provides 0 commands. V4L/DVB (9182): S2API: Added support for DTV_HIERARCHY V4L/DVB (9181): S2API: Add support fot DTV_GUARD_INTERVAL and DTV_TRANSMISSION_MODE V4L/DVB (9180): S2API: Added support for DTV_CODE_RATE_HP/LP V4L/DVB (9179): S2API: frontend.h cleanup V4L/DVB (9178): cx24116: Add module parameter to return SNR as ESNO. V4L/DVB (9177): S2API: Change _8PSK / _16APSK to PSK_8 and APSK_16 V4L/DVB (9176): Add support for DvbWorld USB cards with STV0288 demodulator. V4L/DVB (9175): Remove NULL pointer in stb6000 driver. V4L/DVB (9174): Allow custom inittab for ST STV0288 demodulator. V4L/DVB (9173): S2API: Remove the hardcoded command limit during validation V4L/DVB (9172): S2API: Bugfix related to DVB-S / DVB-S2 tuning for the legacy API. V4L/DVB (9171): S2API: Stop an OOPS if illegal commands are dumped in S2API. V4L/DVB (9170): cx24116: Sanity checking to data input via S2API to the cx24116 demod. V4L/DVB (9169): uvcvideo: Support two new Bison Electronics webcams. V4L/DVB (9168): Add support for MSI TV@nywhere Plus remote V4L/DVB: v4l2-dev: remove duplicated #include ...
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/video4linux/CARDLIST.bttv1
-rw-r--r--Documentation/video4linux/CARDLIST.cx238852
-rw-r--r--Documentation/video4linux/CARDLIST.cx888
-rw-r--r--Documentation/video4linux/CARDLIST.em28xx4
-rw-r--r--Documentation/video4linux/CARDLIST.saa71348
-rw-r--r--Documentation/video4linux/CARDLIST.tuner1
-rw-r--r--Documentation/video4linux/gspca.txt28
-rw-r--r--Documentation/video4linux/m5602.txt12
-rw-r--r--Documentation/video4linux/soc-camera.txt120
9 files changed, 180 insertions, 4 deletions
diff --git a/Documentation/video4linux/CARDLIST.bttv b/Documentation/video4linux/CARDLIST.bttv
index f32efb6fb12c..60ba66836038 100644
--- a/Documentation/video4linux/CARDLIST.bttv
+++ b/Documentation/video4linux/CARDLIST.bttv
@@ -150,3 +150,4 @@
150149 -> Typhoon TV-Tuner PCI (50684) 150149 -> Typhoon TV-Tuner PCI (50684)
151150 -> Geovision GV-600 [008a:763c] 151150 -> Geovision GV-600 [008a:763c]
152151 -> Kozumi KTV-01C 152151 -> Kozumi KTV-01C
153152 -> Encore ENL TV-FM-2 [1000:1801]
diff --git a/Documentation/video4linux/CARDLIST.cx23885 b/Documentation/video4linux/CARDLIST.cx23885
index f0e613ba55b8..64823ccacd69 100644
--- a/Documentation/video4linux/CARDLIST.cx23885
+++ b/Documentation/video4linux/CARDLIST.cx23885
@@ -9,3 +9,5 @@
9 8 -> Hauppauge WinTV-HVR1700 [0070:8101] 9 8 -> Hauppauge WinTV-HVR1700 [0070:8101]
10 9 -> Hauppauge WinTV-HVR1400 [0070:8010] 10 9 -> Hauppauge WinTV-HVR1400 [0070:8010]
11 10 -> DViCO FusionHDTV7 Dual Express [18ac:d618] 11 10 -> DViCO FusionHDTV7 Dual Express [18ac:d618]
12 11 -> DViCO FusionHDTV DVB-T Dual Express [18ac:db78]
13 12 -> Leadtek Winfast PxDVR3200 H [107d:6681]
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88
index 7cf5685d3645..a5227e308f4a 100644
--- a/Documentation/video4linux/CARDLIST.cx88
+++ b/Documentation/video4linux/CARDLIST.cx88
@@ -66,3 +66,11 @@
66 65 -> DViCO FusionHDTV 7 Gold [18ac:d610] 66 65 -> DViCO FusionHDTV 7 Gold [18ac:d610]
67 66 -> Prolink Pixelview MPEG 8000GT [1554:4935] 67 66 -> Prolink Pixelview MPEG 8000GT [1554:4935]
68 67 -> Kworld PlusTV HD PCI 120 (ATSC 120) [17de:08c1] 68 67 -> Kworld PlusTV HD PCI 120 (ATSC 120) [17de:08c1]
69 68 -> Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [0070:6900,0070:6904,0070:6902]
70 69 -> Hauppauge WinTV-HVR4000(Lite) DVB-S/S2 [0070:6905,0070:6906]
71 70 -> TeVii S460 DVB-S/S2 [d460:9022]
72 71 -> Omicom SS4 DVB-S/S2 PCI [A044:2011]
73 72 -> TBS 8920 DVB-S/S2 [8920:8888]
74 73 -> TeVii S420 DVB-S [d420:9022]
75 74 -> Prolink Pixelview Global Extreme [1554:4976]
76 75 -> PROF 7300 DVB-S/S2 [B033:3033]
diff --git a/Documentation/video4linux/CARDLIST.em28xx b/Documentation/video4linux/CARDLIST.em28xx
index 53449cb99b17..187cc48d0924 100644
--- a/Documentation/video4linux/CARDLIST.em28xx
+++ b/Documentation/video4linux/CARDLIST.em28xx
@@ -1,5 +1,5 @@
1 0 -> Unknown EM2800 video grabber (em2800) [eb1a:2800] 1 0 -> Unknown EM2800 video grabber (em2800) [eb1a:2800]
2 1 -> Unknown EM2750/28xx video grabber (em2820/em2840) [eb1a:2820,eb1a:2821,eb1a:2860,eb1a:2861,eb1a:2870,eb1a:2881,eb1a:2883] 2 1 -> Unknown EM2750/28xx video grabber (em2820/em2840) [eb1a:2820,eb1a:2860,eb1a:2861,eb1a:2870,eb1a:2881,eb1a:2883]
3 2 -> Terratec Cinergy 250 USB (em2820/em2840) [0ccd:0036] 3 2 -> Terratec Cinergy 250 USB (em2820/em2840) [0ccd:0036]
4 3 -> Pinnacle PCTV USB 2 (em2820/em2840) [2304:0208] 4 3 -> Pinnacle PCTV USB 2 (em2820/em2840) [2304:0208]
5 4 -> Hauppauge WinTV USB 2 (em2820/em2840) [2040:4200,2040:4201] 5 4 -> Hauppauge WinTV USB 2 (em2820/em2840) [2040:4200,2040:4201]
@@ -12,7 +12,7 @@
12 11 -> Terratec Hybrid XS (em2880) [0ccd:0042] 12 11 -> Terratec Hybrid XS (em2880) [0ccd:0042]
13 12 -> Kworld PVR TV 2800 RF (em2820/em2840) 13 12 -> Kworld PVR TV 2800 RF (em2820/em2840)
14 13 -> Terratec Prodigy XS (em2880) [0ccd:0047] 14 13 -> Terratec Prodigy XS (em2880) [0ccd:0047]
15 14 -> Pixelview Prolink PlayTV USB 2.0 (em2820/em2840) 15 14 -> Pixelview Prolink PlayTV USB 2.0 (em2820/em2840) [eb1a:2821]
16 15 -> V-Gear PocketTV (em2800) 16 15 -> V-Gear PocketTV (em2800)
17 16 -> Hauppauge WinTV HVR 950 (em2883) [2040:6513,2040:6517,2040:651b,2040:651f] 17 16 -> Hauppauge WinTV HVR 950 (em2883) [2040:6513,2040:6517,2040:651b,2040:651f]
18 17 -> Pinnacle PCTV HD Pro Stick (em2880) [2304:0227] 18 17 -> Pinnacle PCTV HD Pro Stick (em2880) [2304:0227]
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 39868af9cf9f..dc67eef38ff9 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -76,7 +76,7 @@
76 75 -> AVerMedia AVerTVHD MCE A180 [1461:1044] 76 75 -> AVerMedia AVerTVHD MCE A180 [1461:1044]
77 76 -> SKNet MonsterTV Mobile [1131:4ee9] 77 76 -> SKNet MonsterTV Mobile [1131:4ee9]
78 77 -> Pinnacle PCTV 40i/50i/110i (saa7133) [11bd:002e] 78 77 -> Pinnacle PCTV 40i/50i/110i (saa7133) [11bd:002e]
79 78 -> ASUSTeK P7131 Dual [1043:4862,1043:4857] 79 78 -> ASUSTeK P7131 Dual [1043:4862]
80 79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B) 80 79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)
81 80 -> ASUS Digimatrix TV [1043:0210] 81 80 -> ASUS Digimatrix TV [1043:0210]
82 81 -> Philips Tiger reference design [1131:2018] 82 81 -> Philips Tiger reference design [1131:2018]
@@ -145,3 +145,9 @@
145144 -> Beholder BeholdTV M6 Extra [5ace:6193] 145144 -> Beholder BeholdTV M6 Extra [5ace:6193]
146145 -> AVerMedia MiniPCI DVB-T Hybrid M103 [1461:f636] 146145 -> AVerMedia MiniPCI DVB-T Hybrid M103 [1461:f636]
147146 -> ASUSTeK P7131 Analog 147146 -> ASUSTeK P7131 Analog
148147 -> Asus Tiger 3in1 [1043:4878]
149148 -> Encore ENLTV-FM v5.3 [1a7f:2008]
150149 -> Avermedia PCI pure analog (M135A) [1461:f11d]
151150 -> Zogis Real Angel 220
152151 -> ADS Tech Instant HDTV [1421:0380]
153152 -> Asus Tiger Rev:1.00 [1043:4857]
diff --git a/Documentation/video4linux/CARDLIST.tuner b/Documentation/video4linux/CARDLIST.tuner
index 0e2394695bb8..30bbdda68d03 100644
--- a/Documentation/video4linux/CARDLIST.tuner
+++ b/Documentation/video4linux/CARDLIST.tuner
@@ -74,3 +74,4 @@ tuner=72 - Thomson FE6600
74tuner=73 - Samsung TCPG 6121P30A 74tuner=73 - Samsung TCPG 6121P30A
75tuner=75 - Philips TEA5761 FM Radio 75tuner=75 - Philips TEA5761 FM Radio
76tuner=76 - Xceive 5000 tuner 76tuner=76 - Xceive 5000 tuner
77tuner=77 - TCL tuner MF02GIP-5N-E
diff --git a/Documentation/video4linux/gspca.txt b/Documentation/video4linux/gspca.txt
index 9a3e4d797fa8..004818fab040 100644
--- a/Documentation/video4linux/gspca.txt
+++ b/Documentation/video4linux/gspca.txt
@@ -7,6 +7,7 @@ The modules are:
7xxxx vend:prod 7xxxx vend:prod
8---- 8----
9spca501 0000:0000 MystFromOri Unknow Camera 9spca501 0000:0000 MystFromOri Unknow Camera
10m5602 0402:5602 ALi Video Camera Controller
10spca501 040a:0002 Kodak DVC-325 11spca501 040a:0002 Kodak DVC-325
11spca500 040a:0300 Kodak EZ200 12spca500 040a:0300 Kodak EZ200
12zc3xx 041e:041e Creative WebCam Live! 13zc3xx 041e:041e Creative WebCam Live!
@@ -42,6 +43,7 @@ zc3xx 0458:7007 Genius VideoCam V2
42zc3xx 0458:700c Genius VideoCam V3 43zc3xx 0458:700c Genius VideoCam V3
43zc3xx 0458:700f Genius VideoCam Web V2 44zc3xx 0458:700f Genius VideoCam Web V2
44sonixj 0458:7025 Genius Eye 311Q 45sonixj 0458:7025 Genius Eye 311Q
46sonixj 0458:702e Genius Slim 310 NB
45sonixj 045e:00f5 MicroSoft VX3000 47sonixj 045e:00f5 MicroSoft VX3000
46sonixj 045e:00f7 MicroSoft VX1000 48sonixj 045e:00f7 MicroSoft VX1000
47ov519 045e:028c Micro$oft xbox cam 49ov519 045e:028c Micro$oft xbox cam
@@ -81,7 +83,7 @@ spca561 046d:092b Labtec Webcam Plus
81spca561 046d:092c Logitech QC chat Elch2 83spca561 046d:092c Logitech QC chat Elch2
82spca561 046d:092d Logitech QC Elch2 84spca561 046d:092d Logitech QC Elch2
83spca561 046d:092e Logitech QC Elch2 85spca561 046d:092e Logitech QC Elch2
84spca561 046d:092f Logitech QC Elch2 86spca561 046d:092f Logitech QuickCam Express Plus
85sunplus 046d:0960 Logitech ClickSmart 420 87sunplus 046d:0960 Logitech ClickSmart 420
86sunplus 0471:0322 Philips DMVC1300K 88sunplus 0471:0322 Philips DMVC1300K
87zc3xx 0471:0325 Philips SPC 200 NC 89zc3xx 0471:0325 Philips SPC 200 NC
@@ -96,6 +98,29 @@ sunplus 04a5:3003 Benq DC 1300
96sunplus 04a5:3008 Benq DC 1500 98sunplus 04a5:3008 Benq DC 1500
97sunplus 04a5:300a Benq DC 3410 99sunplus 04a5:300a Benq DC 3410
98spca500 04a5:300c Benq DC 1016 100spca500 04a5:300c Benq DC 1016
101finepix 04cb:0104 Fujifilm FinePix 4800
102finepix 04cb:0109 Fujifilm FinePix A202
103finepix 04cb:010b Fujifilm FinePix A203
104finepix 04cb:010f Fujifilm FinePix A204
105finepix 04cb:0111 Fujifilm FinePix A205
106finepix 04cb:0113 Fujifilm FinePix A210
107finepix 04cb:0115 Fujifilm FinePix A303
108finepix 04cb:0117 Fujifilm FinePix A310
109finepix 04cb:0119 Fujifilm FinePix F401
110finepix 04cb:011b Fujifilm FinePix F402
111finepix 04cb:011d Fujifilm FinePix F410
112finepix 04cb:0121 Fujifilm FinePix F601
113finepix 04cb:0123 Fujifilm FinePix F700
114finepix 04cb:0125 Fujifilm FinePix M603
115finepix 04cb:0127 Fujifilm FinePix S300
116finepix 04cb:0129 Fujifilm FinePix S304
117finepix 04cb:012b Fujifilm FinePix S500
118finepix 04cb:012d Fujifilm FinePix S602
119finepix 04cb:012f Fujifilm FinePix S700
120finepix 04cb:0131 Fujifilm FinePix unknown model
121finepix 04cb:013b Fujifilm FinePix unknown model
122finepix 04cb:013d Fujifilm FinePix unknown model
123finepix 04cb:013f Fujifilm FinePix F420
99sunplus 04f1:1001 JVC GC A50 124sunplus 04f1:1001 JVC GC A50
100spca561 04fc:0561 Flexcam 100 125spca561 04fc:0561 Flexcam 100
101sunplus 04fc:500c Sunplus CA500C 126sunplus 04fc:500c Sunplus CA500C
@@ -181,6 +206,7 @@ pac207 093a:2468 PAC207
181pac207 093a:2470 Genius GF112 206pac207 093a:2470 Genius GF112
182pac207 093a:2471 Genius VideoCam ge111 207pac207 093a:2471 Genius VideoCam ge111
183pac207 093a:2472 Genius VideoCam ge110 208pac207 093a:2472 Genius VideoCam ge110
209pac207 093a:2476 Genius e-Messenger 112
184pac7311 093a:2600 PAC7311 Typhoon 210pac7311 093a:2600 PAC7311 Typhoon
185pac7311 093a:2601 Philips SPC 610 NC 211pac7311 093a:2601 Philips SPC 610 NC
186pac7311 093a:2603 PAC7312 212pac7311 093a:2603 PAC7312
diff --git a/Documentation/video4linux/m5602.txt b/Documentation/video4linux/m5602.txt
new file mode 100644
index 000000000000..4450ab13f37b
--- /dev/null
+++ b/Documentation/video4linux/m5602.txt
@@ -0,0 +1,12 @@
1This document describes the ALi m5602 bridge connected
2to the following supported sensors:
3OmniVision OV9650,
4Samsung s5k83a,
5Samsung s5k4aa,
6Micron mt9m111,
7Pixel plus PO1030
8
9This driver mimics the windows drivers, which have a braindead implementation sending bayer-encoded frames at VGA resolution.
10In a perfect world we should be able to reprogram the m5602 and the connected sensor in hardware instead, supporting a range of resolutions and pixelformats
11
12Anyway, have fun and please report any bugs to m560x-driver-devel@lists.sourceforge.net
diff --git a/Documentation/video4linux/soc-camera.txt b/Documentation/video4linux/soc-camera.txt
new file mode 100644
index 000000000000..178ef3c5e579
--- /dev/null
+++ b/Documentation/video4linux/soc-camera.txt
@@ -0,0 +1,120 @@
1 Soc-Camera Subsystem
2 ====================
3
4Terminology
5-----------
6
7The following terms are used in this document:
8 - camera / camera device / camera sensor - a video-camera sensor chip, capable
9 of connecting to a variety of systems and interfaces, typically uses i2c for
10 control and configuration, and a parallel or a serial bus for data.
11 - camera host - an interface, to which a camera is connected. Typically a
12 specialised interface, present on many SoCs, e.g., PXA27x and PXA3xx, SuperH,
13 AVR32, i.MX27, i.MX31.
14 - camera host bus - a connection between a camera host and a camera. Can be
15 parallel or serial, consists of data and control lines, e.g., clock, vertical
16 and horizontal synchronization signals.
17
18Purpose of the soc-camera subsystem
19-----------------------------------
20
21The soc-camera subsystem provides a unified API between camera host drivers and
22camera sensor drivers. It implements a V4L2 interface to the user, currently
23only the mmap method is supported.
24
25This subsystem has been written to connect drivers for System-on-Chip (SoC)
26video capture interfaces with drivers for CMOS camera sensor chips to enable
27the reuse of sensor drivers with various hosts. The subsystem has been designed
28to support multiple camera host interfaces and multiple cameras per interface,
29although most applications have only one camera sensor.
30
31Existing drivers
32----------------
33
34As of 2.6.27-rc4 there are two host drivers in the mainline: pxa_camera.c for
35PXA27x SoCs and sh_mobile_ceu_camera.c for SuperH SoCs, and four sensor drivers:
36mt9m001.c, mt9m111.c, mt9v022.c and a generic soc_camera_platform.c driver. This
37list is not supposed to be updated, look for more examples in your tree.
38
39Camera host API
40---------------
41
42A host camera driver is registered using the
43
44soc_camera_host_register(struct soc_camera_host *);
45
46function. The host object can be initialized as follows:
47
48static struct soc_camera_host pxa_soc_camera_host = {
49 .drv_name = PXA_CAM_DRV_NAME,
50 .ops = &pxa_soc_camera_host_ops,
51};
52
53All camera host methods are passed in a struct soc_camera_host_ops:
54
55static struct soc_camera_host_ops pxa_soc_camera_host_ops = {
56 .owner = THIS_MODULE,
57 .add = pxa_camera_add_device,
58 .remove = pxa_camera_remove_device,
59 .suspend = pxa_camera_suspend,
60 .resume = pxa_camera_resume,
61 .set_fmt_cap = pxa_camera_set_fmt_cap,
62 .try_fmt_cap = pxa_camera_try_fmt_cap,
63 .init_videobuf = pxa_camera_init_videobuf,
64 .reqbufs = pxa_camera_reqbufs,
65 .poll = pxa_camera_poll,
66 .querycap = pxa_camera_querycap,
67 .try_bus_param = pxa_camera_try_bus_param,
68 .set_bus_param = pxa_camera_set_bus_param,
69};
70
71.add and .remove methods are called when a sensor is attached to or detached
72from the host, apart from performing host-internal tasks they shall also call
73sensor driver's .init and .release methods respectively. .suspend and .resume
74methods implement host's power-management functionality and its their
75responsibility to call respective sensor's methods. .try_bus_param and
76.set_bus_param are used to negotiate physical connection parameters between the
77host and the sensor. .init_videobuf is called by soc-camera core when a
78video-device is opened, further video-buffer management is implemented completely
79by the specific camera host driver. The rest of the methods are called from
80respective V4L2 operations.
81
82Camera API
83----------
84
85Sensor drivers can use struct soc_camera_link, typically provided by the
86platform, and used to specify to which camera host bus the sensor is connected,
87and arbitrarily provide platform .power and .reset methods for the camera.
88soc_camera_device_register() and soc_camera_device_unregister() functions are
89used to add a sensor driver to or remove one from the system. The registration
90function takes a pointer to struct soc_camera_device as the only parameter.
91This struct can be initialized as follows:
92
93 /* link to driver operations */
94 icd->ops = &mt9m001_ops;
95 /* link to the underlying physical (e.g., i2c) device */
96 icd->control = &client->dev;
97 /* window geometry */
98 icd->x_min = 20;
99 icd->y_min = 12;
100 icd->x_current = 20;
101 icd->y_current = 12;
102 icd->width_min = 48;
103 icd->width_max = 1280;
104 icd->height_min = 32;
105 icd->height_max = 1024;
106 icd->y_skip_top = 1;
107 /* camera bus ID, typically obtained from platform data */
108 icd->iface = icl->bus_id;
109
110struct soc_camera_ops provides .probe and .remove methods, which are called by
111the soc-camera core, when a camera is matched against or removed from a camera
112host bus, .init, .release, .suspend, and .resume are called from the camera host
113driver as discussed above. Other members of this struct provide respective V4L2
114functionality.
115
116struct soc_camera_device also links to an array of struct soc_camera_data_format,
117listing pixel formats, supported by the camera.
118
119--
120Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de>