Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[sfrench/cifs-2.6.git] / Documentation / DocBook / media / v4l / controls.xml
index 93b9c6872e53796d0b70a7bb22a52cf4391840db..272a5f71850934e23a3c6e7ca7b5d8cc60b9784c 100644 (file)
@@ -4273,4 +4273,165 @@ interface and may change in the future.</para>
       </table>
 
     </section>
+
+    <section id="dv-controls">
+      <title>Digital Video Control Reference</title>
+
+      <note>
+       <title>Experimental</title>
+
+       <para>This is an <link
+       linkend="experimental">experimental</link> interface and may
+       change in the future.</para>
+      </note>
+
+      <para>
+       The Digital Video control class is intended to control receivers
+       and transmitters for <ulink url="http://en.wikipedia.org/wiki/Vga">VGA</ulink>,
+       <ulink url="http://en.wikipedia.org/wiki/Digital_Visual_Interface">DVI</ulink>
+       (Digital Visual Interface), HDMI (<xref linkend="hdmi" />) and DisplayPort (<xref linkend="dp" />).
+       These controls are generally expected to be private to the receiver or transmitter
+       subdevice that implements them, so they are only exposed on the
+       <filename>/dev/v4l-subdev*</filename> device node.
+      </para>
+
+      <para>Note that these devices can have multiple input or output pads which are
+      hooked up to e.g. HDMI connectors. Even though the subdevice will receive or
+      transmit video from/to only one of those pads, the other pads can still be
+      active when it comes to EDID (Extended Display Identification Data,
+      <xref linkend="vesaedid" />) and HDCP (High-bandwidth Digital Content
+      Protection System, <xref linkend="hdcp" />) processing, allowing the device
+      to do the fairly slow EDID/HDCP handling in advance. This allows for quick
+      switching between connectors.</para>
+
+      <para>These pads appear in several of the controls in this section as
+      bitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad 1,
+      etc. The maximum value of the control is the set of valid pads.</para>
+
+      <table pgwide="1" frame="none" id="dv-control-id">
+      <title>Digital Video Control IDs</title>
+
+      <tgroup cols="4">
+       <colspec colname="c1" colwidth="1*" />
+       <colspec colname="c2" colwidth="6*" />
+       <colspec colname="c3" colwidth="2*" />
+       <colspec colname="c4" colwidth="6*" />
+       <spanspec namest="c1" nameend="c2" spanname="id" />
+       <spanspec namest="c2" nameend="c4" spanname="descr" />
+       <thead>
+         <row>
+           <entry spanname="id" align="left">ID</entry>
+           <entry align="left">Type</entry>
+         </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
+         </row>
+       </thead>
+       <tbody valign="top">
+         <row><entry></entry></row>
+         <row>
+           <entry spanname="id"><constant>V4L2_CID_DV_CLASS</constant></entry>
+           <entry>class</entry>
+         </row>
+         <row>
+           <entry spanname="descr">The Digital Video class descriptor.</entry>
+         </row>
+         <row>
+           <entry spanname="id"><constant>V4L2_CID_DV_TX_HOTPLUG</constant></entry>
+           <entry>bitmask</entry>
+         </row>
+         <row>
+           <entry spanname="descr">Many connectors have a hotplug pin which is high
+           if EDID information is available from the source. This control shows the
+           state of the hotplug pin as seen by the transmitter.
+           Each bit corresponds to an output pad on the transmitter. If an output pad
+           does not have an associated hotplug pin, then the bit for that pad will be 0.
+           This read-only control is applicable to DVI-D, HDMI and DisplayPort connectors.
+           </entry>
+         </row>
+         <row>
+           <entry spanname="id"><constant>V4L2_CID_DV_TX_RXSENSE</constant></entry>
+           <entry>bitmask</entry>
+         </row>
+         <row>
+           <entry spanname="descr">Rx Sense is the detection of pull-ups on the TMDS
+            clock lines. This normally means that the sink has left/entered standby (i.e.
+           the transmitter can sense that the receiver is ready to receive video).
+           Each bit corresponds to an output pad on the transmitter. If an output pad
+           does not have an associated Rx Sense, then the bit for that pad will be 0.
+           This read-only control is applicable to DVI-D and HDMI devices.
+           </entry>
+         </row>
+         <row>
+           <entry spanname="id"><constant>V4L2_CID_DV_TX_EDID_PRESENT</constant></entry>
+           <entry>bitmask</entry>
+         </row>
+         <row>
+           <entry spanname="descr">When the transmitter sees the hotplug signal from the
+           receiver it will attempt to read the EDID. If set, then the transmitter has read
+           at least the first block (= 128 bytes).
+           Each bit corresponds to an output pad on the transmitter. If an output pad
+           does not support EDIDs, then the bit for that pad will be 0.
+           This read-only control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
+           </entry>
+         </row>
+         <row>
+           <entry spanname="id"><constant>V4L2_CID_DV_TX_MODE</constant></entry>
+           <entry id="v4l2-dv-tx-mode">enum v4l2_dv_tx_mode</entry>
+         </row>
+         <row>
+           <entry spanname="descr">HDMI transmitters can transmit in DVI-D mode (just video)
+           or in HDMI mode (video + audio + auxiliary data). This control selects which mode
+           to use: V4L2_DV_TX_MODE_DVI_D or V4L2_DV_TX_MODE_HDMI.
+           This control is applicable to HDMI connectors.
+           </entry>
+         </row>
+         <row>
+           <entry spanname="id"><constant>V4L2_CID_DV_TX_RGB_RANGE</constant></entry>
+           <entry id="v4l2-dv-rgb-range">enum v4l2_dv_rgb_range</entry>
+         </row>
+         <row>
+           <entry spanname="descr">Select the quantization range for RGB output. V4L2_DV_RANGE_AUTO
+           follows the RGB quantization range specified in the standard for the video interface
+           (ie. <xref linkend="cea861" /> for HDMI). V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the standard
+           to be compatible with sinks that have not implemented the standard correctly
+           (unfortunately quite common for HDMI and DVI-D). Full range allows all possible values to be
+           used whereas limited range sets the range to (16 &lt;&lt; (N-8)) - (235 &lt;&lt; (N-8))
+           where N is the number of bits per component.
+           This control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
+           </entry>
+         </row>
+         <row>
+           <entry spanname="id"><constant>V4L2_CID_DV_RX_POWER_PRESENT</constant></entry>
+           <entry>bitmask</entry>
+         </row>
+         <row>
+           <entry spanname="descr">Detects whether the receiver receives power from the source
+           (e.g. HDMI carries 5V on one of the pins). This is often used to power an eeprom
+           which contains EDID information, such that the source can read the EDID even if
+           the sink is in standby/power off.
+           Each bit corresponds to an input pad on the transmitter. If an input pad
+           cannot detect whether power is present, then the bit for that pad will be 0.
+           This read-only control is applicable to DVI-D, HDMI and DisplayPort connectors.
+           </entry>
+         </row>
+         <row>
+           <entry spanname="id"><constant>V4L2_CID_DV_RX_RGB_RANGE</constant></entry>
+           <entry>enum v4l2_dv_rgb_range</entry>
+         </row>
+         <row>
+           <entry spanname="descr">Select the quantization range for RGB input. V4L2_DV_RANGE_AUTO
+           follows the RGB quantization range specified in the standard for the video interface
+           (ie. <xref linkend="cea861" /> for HDMI). V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the standard
+           to be compatible with sources that have not implemented the standard correctly
+           (unfortunately quite common for HDMI and DVI-D). Full range allows all possible values to be
+           used whereas limited range sets the range to (16 &lt;&lt; (N-8)) - (235 &lt;&lt; (N-8))
+           where N is the number of bits per component.
+           This control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
+           </entry>
+         </row>
+         <row><entry></entry></row>
+       </tbody>
+      </tgroup>
+      </table>
+
+    </section>
 </section>