aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/DocBook/media/v4l/compat.xml3
-rw-r--r--Documentation/DocBook/media/v4l/controls.xml283
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml7
3 files changed, 293 insertions, 0 deletions
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml
index d7c015e8df81..ce1004a7da52 100644
--- a/Documentation/DocBook/media/v4l/compat.xml
+++ b/Documentation/DocBook/media/v4l/compat.xml
@@ -2475,6 +2475,9 @@ ioctls.</para>
2475 <listitem> 2475 <listitem>
2476 <para>&VIDIOC-DBG-G-CHIP-IDENT; ioctl.</para> 2476 <para>&VIDIOC-DBG-G-CHIP-IDENT; ioctl.</para>
2477 </listitem> 2477 </listitem>
2478 <listitem>
2479 <para>Flash API. <xref linkend="flash-controls" /></para>
2480 </listitem>
2478 </itemizedlist> 2481 </itemizedlist>
2479 </section> 2482 </section>
2480 2483
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
index a920ee80f640..9155127ed6ab 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -2092,6 +2092,289 @@ manually or automatically if set to zero. Unit, range and step are driver-specif
2092<para>For more details about RDS specification, refer to 2092<para>For more details about RDS specification, refer to
2093<xref linkend="en50067" /> document, from CENELEC.</para> 2093<xref linkend="en50067" /> document, from CENELEC.</para>
2094 </section> 2094 </section>
2095
2096 <section id="flash-controls">
2097 <title>Flash Control Reference</title>
2098
2099 <note>
2100 <title>Experimental</title>
2101
2102 <para>This is an <link linkend="experimental">experimental</link>
2103interface and may change in the future.</para>
2104 </note>
2105
2106 <para>
2107 The V4L2 flash controls are intended to provide generic access
2108 to flash controller devices. Flash controller devices are
2109 typically used in digital cameras.
2110 </para>
2111
2112 <para>
2113 The interface can support both LED and xenon flash devices. As
2114 of writing this, there is no xenon flash driver using this
2115 interface.
2116 </para>
2117
2118 <section id="flash-controls-use-cases">
2119 <title>Supported use cases</title>
2120
2121 <section>
2122 <title>Unsynchronised LED flash (software strobe)</title>
2123
2124 <para>
2125 Unsynchronised LED flash is controlled directly by the
2126 host as the sensor. The flash must be enabled by the host
2127 before the exposure of the image starts and disabled once
2128 it ends. The host is fully responsible for the timing of
2129 the flash.
2130 </para>
2131
2132 <para>Example of such device: Nokia N900.</para>
2133 </section>
2134
2135 <section>
2136 <title>Synchronised LED flash (hardware strobe)</title>
2137
2138 <para>
2139 The synchronised LED flash is pre-programmed by the host
2140 (power and timeout) but controlled by the sensor through a
2141 strobe signal from the sensor to the flash.
2142 </para>
2143
2144 <para>
2145 The sensor controls the flash duration and timing. This
2146 information typically must be made available to the
2147 sensor.
2148 </para>
2149
2150 </section>
2151
2152 <section>
2153 <title>LED flash as torch</title>
2154
2155 <para>
2156 LED flash may be used as torch in conjunction with another
2157 use case involving camera or individually.
2158 </para>
2159
2160 </section>
2161
2162 </section>
2163
2164 <table pgwide="1" frame="none" id="flash-control-id">
2165 <title>Flash Control IDs</title>
2166
2167 <tgroup cols="4">
2168 <colspec colname="c1" colwidth="1*" />
2169 <colspec colname="c2" colwidth="6*" />
2170 <colspec colname="c3" colwidth="2*" />
2171 <colspec colname="c4" colwidth="6*" />
2172 <spanspec namest="c1" nameend="c2" spanname="id" />
2173 <spanspec namest="c2" nameend="c4" spanname="descr" />
2174 <thead>
2175 <row>
2176 <entry spanname="id" align="left">ID</entry>
2177 <entry align="left">Type</entry>
2178 </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
2179 </row>
2180 </thead>
2181 <tbody valign="top">
2182 <row><entry></entry></row>
2183 <row>
2184 <entry spanname="id"><constant>V4L2_CID_FLASH_CLASS</constant></entry>
2185 <entry>class</entry>
2186 </row>
2187 <row>
2188 <entry spanname="descr">The FLASH class descriptor.</entry>
2189 </row>
2190 <row>
2191 <entry spanname="id"><constant>V4L2_CID_FLASH_LED_MODE</constant></entry>
2192 <entry>menu</entry>
2193 </row>
2194 <row id="v4l2-flash-led-mode">
2195 <entry spanname="descr">Defines the mode of the flash LED,
2196 the high-power white LED attached to the flash controller.
2197 Setting this control may not be possible in presence of
2198 some faults. See V4L2_CID_FLASH_FAULT.</entry>
2199 </row>
2200 <row>
2201 <entrytbl spanname="descr" cols="2">
2202 <tbody valign="top">
2203 <row>
2204 <entry><constant>V4L2_FLASH_LED_MODE_NONE</constant></entry>
2205 <entry>Off.</entry>
2206 </row>
2207 <row>
2208 <entry><constant>V4L2_FLASH_LED_MODE_FLASH</constant></entry>
2209 <entry>Flash mode.</entry>
2210 </row>
2211 <row>
2212 <entry><constant>V4L2_FLASH_LED_MODE_TORCH</constant></entry>
2213 <entry>Torch mode. See V4L2_CID_FLASH_TORCH_INTENSITY.</entry>
2214 </row>
2215 </tbody>
2216 </entrytbl>
2217 </row>
2218 <row>
2219 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_SOURCE</constant></entry>
2220 <entry>menu</entry>
2221 </row>
2222 <row id="v4l2-flash-strobe-source"><entry
2223 spanname="descr">Defines the source of the flash LED
2224 strobe.</entry>
2225 </row>
2226 <row>
2227 <entrytbl spanname="descr" cols="2">
2228 <tbody valign="top">
2229 <row>
2230 <entry><constant>V4L2_FLASH_STROBE_SOURCE_SOFTWARE</constant></entry>
2231 <entry>The flash strobe is triggered by using
2232 the V4L2_CID_FLASH_STROBE control.</entry>
2233 </row>
2234 <row>
2235 <entry><constant>V4L2_FLASH_STROBE_SOURCE_EXTERNAL</constant></entry>
2236 <entry>The flash strobe is triggered by an
2237 external source. Typically this is a sensor,
2238 which makes it possible to synchronises the
2239 flash strobe start to exposure start.</entry>
2240 </row>
2241 </tbody>
2242 </entrytbl>
2243 </row>
2244 <row>
2245 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE</constant></entry>
2246 <entry>button</entry>
2247 </row>
2248 <row>
2249 <entry spanname="descr">Strobe flash. Valid when
2250 V4L2_CID_FLASH_LED_MODE is set to
2251 V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE
2252 is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this
2253 control may not be possible in presence of some faults.
2254 See V4L2_CID_FLASH_FAULT.</entry>
2255 </row>
2256 <row>
2257 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STOP</constant></entry>
2258 <entry>button</entry>
2259 </row>
2260 <row><entry spanname="descr">Stop flash strobe immediately.</entry>
2261 </row>
2262 <row>
2263 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STATUS</constant></entry>
2264 <entry>boolean</entry>
2265 </row>
2266 <row>
2267 <entry spanname="descr">Strobe status: whether the flash
2268 is strobing at the moment or not. This is a read-only
2269 control.</entry>
2270 </row>
2271 <row>
2272 <entry spanname="id"><constant>V4L2_CID_FLASH_TIMEOUT</constant></entry>
2273 <entry>integer</entry>
2274 </row>
2275 <row>
2276 <entry spanname="descr">Hardware timeout for flash. The
2277 flash strobe is stopped after this period of time has
2278 passed from the start of the strobe.</entry>
2279 </row>
2280 <row>
2281 <entry spanname="id"><constant>V4L2_CID_FLASH_INTENSITY</constant></entry>
2282 <entry>integer</entry>
2283 </row>
2284 <row>
2285 <entry spanname="descr">Intensity of the flash strobe when
2286 the flash LED is in flash mode
2287 (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps
2288 (mA) if possible.</entry>
2289 </row>
2290 <row>
2291 <entry spanname="id"><constant>V4L2_CID_FLASH_TORCH_INTENSITY</constant></entry>
2292 <entry>integer</entry>
2293 </row>
2294 <row>
2295 <entry spanname="descr">Intensity of the flash LED in
2296 torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be
2297 milliamps (mA) if possible. Setting this control may not
2298 be possible in presence of some faults. See
2299 V4L2_CID_FLASH_FAULT.</entry>
2300 </row>
2301 <row>
2302 <entry spanname="id"><constant>V4L2_CID_FLASH_INDICATOR_INTENSITY</constant></entry>
2303 <entry>integer</entry>
2304 </row>
2305 <row>
2306 <entry spanname="descr">Intensity of the indicator LED.
2307 The indicator LED may be fully independent of the flash
2308 LED. The unit should be microamps (uA) if possible.</entry>
2309 </row>
2310 <row>
2311 <entry spanname="id"><constant>V4L2_CID_FLASH_FAULT</constant></entry>
2312 <entry>bitmask</entry>
2313 </row>
2314 <row>
2315 <entry spanname="descr">Faults related to the flash. The
2316 faults tell about specific problems in the flash chip
2317 itself or the LEDs attached to it. Faults may prevent
2318 further use of some of the flash controls. In particular,
2319 V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE
2320 if the fault affects the flash LED. Exactly which faults
2321 have such an effect is chip dependent. Reading the faults
2322 resets the control and returns the chip to a usable state
2323 if possible.</entry>
2324 </row>
2325 <row>
2326 <entrytbl spanname="descr" cols="2">
2327 <tbody valign="top">
2328 <row>
2329 <entry><constant>V4L2_FLASH_FAULT_OVER_VOLTAGE</constant></entry>
2330 <entry>Flash controller voltage to the flash LED
2331 has exceeded the limit specific to the flash
2332 controller.</entry>
2333 </row>
2334 <row>
2335 <entry><constant>V4L2_FLASH_FAULT_TIMEOUT</constant></entry>
2336 <entry>The flash strobe was still on when
2337 the timeout set by the user ---
2338 V4L2_CID_FLASH_TIMEOUT control --- has expired.
2339 Not all flash controllers may set this in all
2340 such conditions.</entry>
2341 </row>
2342 <row>
2343 <entry><constant>V4L2_FLASH_FAULT_OVER_TEMPERATURE</constant></entry>
2344 <entry>The flash controller has overheated.</entry>
2345 </row>
2346 <row>
2347 <entry><constant>V4L2_FLASH_FAULT_SHORT_CIRCUIT</constant></entry>
2348 <entry>The short circuit protection of the flash
2349 controller has been triggered.</entry>
2350 </row>
2351 </tbody>
2352 </entrytbl>
2353 </row>
2354 <row>
2355 <entry spanname="id"><constant>V4L2_CID_FLASH_CHARGE</constant></entry>
2356 <entry>boolean</entry>
2357 </row>
2358 <row><entry spanname="descr">Enable or disable charging of the xenon
2359 flash capacitor.</entry>
2360 </row>
2361 <row>
2362 <entry spanname="id"><constant>V4L2_CID_FLASH_READY</constant></entry>
2363 <entry>boolean</entry>
2364 </row>
2365 <row>
2366 <entry spanname="descr">Is the flash ready to strobe?
2367 Xenon flashes require their capacitors charged before
2368 strobing. LED flashes often require a cooldown period
2369 after strobe during which another strobe will not be
2370 possible. This is a read-only control.</entry>
2371 </row>
2372 <row><entry></entry></row>
2373 </tbody>
2374 </tgroup>
2375 </table>
2376
2377 </section>
2095</section> 2378</section>
2096 2379
2097 <!-- 2380 <!--
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
index 5e73517fa232..5122ce87e0b8 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
@@ -250,6 +250,13 @@ These controls are described in <xref
250These controls are described in <xref 250These controls are described in <xref
251 linkend="fm-tx-controls" />.</entry> 251 linkend="fm-tx-controls" />.</entry>
252 </row> 252 </row>
253 <row>
254 <entry><constant>V4L2_CTRL_CLASS_FLASH</constant></entry>
255 <entry>0x9c0000</entry>
256 <entry>The class containing flash device controls.
257These controls are described in <xref
258 linkend="flash-controls" />.</entry>
259 </row>
253 </tbody> 260 </tbody>
254 </tgroup> 261 </tgroup>
255 </table> 262 </table>