162306a36Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci.. _dv-controls: 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci******************************* 662306a36Sopenharmony_ciDigital Video Control Reference 762306a36Sopenharmony_ci******************************* 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciThe Digital Video control class is intended to control receivers and 1062306a36Sopenharmony_citransmitters for `VGA <http://en.wikipedia.org/wiki/Vga>`__, 1162306a36Sopenharmony_ci`DVI <http://en.wikipedia.org/wiki/Digital_Visual_Interface>`__ 1262306a36Sopenharmony_ci(Digital Visual Interface), HDMI (:ref:`hdmi`) and DisplayPort 1362306a36Sopenharmony_ci(:ref:`dp`). These controls are generally expected to be private to 1462306a36Sopenharmony_cithe receiver or transmitter subdevice that implements them, so they are 1562306a36Sopenharmony_cionly exposed on the ``/dev/v4l-subdev*`` device node. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci.. note:: 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci Note that these devices can have multiple input or output pads which are 2062306a36Sopenharmony_ci hooked up to e.g. HDMI connectors. Even though the subdevice will 2162306a36Sopenharmony_ci receive or transmit video from/to only one of those pads, the other pads 2262306a36Sopenharmony_ci can still be active when it comes to EDID (Extended Display 2362306a36Sopenharmony_ci Identification Data, :ref:`vesaedid`) and HDCP (High-bandwidth Digital 2462306a36Sopenharmony_ci Content Protection System, :ref:`hdcp`) processing, allowing the 2562306a36Sopenharmony_ci device to do the fairly slow EDID/HDCP handling in advance. This allows 2662306a36Sopenharmony_ci for quick switching between connectors. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciThese pads appear in several of the controls in this section as 2962306a36Sopenharmony_cibitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad 3062306a36Sopenharmony_ci1, etc. The maximum value of the control is the set of valid pads. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci.. _dv-control-id: 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciDigital Video Control IDs 3662306a36Sopenharmony_ci========================= 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci``V4L2_CID_DV_CLASS (class)`` 3962306a36Sopenharmony_ci The Digital Video class descriptor. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci``V4L2_CID_DV_TX_HOTPLUG (bitmask)`` 4262306a36Sopenharmony_ci Many connectors have a hotplug pin which is high if EDID information 4362306a36Sopenharmony_ci is available from the source. This control shows the state of the 4462306a36Sopenharmony_ci hotplug pin as seen by the transmitter. Each bit corresponds to an 4562306a36Sopenharmony_ci output pad on the transmitter. If an output pad does not have an 4662306a36Sopenharmony_ci associated hotplug pin, then the bit for that pad will be 0. This 4762306a36Sopenharmony_ci read-only control is applicable to DVI-D, HDMI and DisplayPort 4862306a36Sopenharmony_ci connectors. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci``V4L2_CID_DV_TX_RXSENSE (bitmask)`` 5162306a36Sopenharmony_ci Rx Sense is the detection of pull-ups on the TMDS clock lines. This 5262306a36Sopenharmony_ci normally means that the sink has left/entered standby (i.e. the 5362306a36Sopenharmony_ci transmitter can sense that the receiver is ready to receive video). 5462306a36Sopenharmony_ci Each bit corresponds to an output pad on the transmitter. If an 5562306a36Sopenharmony_ci output pad does not have an associated Rx Sense, then the bit for 5662306a36Sopenharmony_ci that pad will be 0. This read-only control is applicable to DVI-D 5762306a36Sopenharmony_ci and HDMI devices. 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci``V4L2_CID_DV_TX_EDID_PRESENT (bitmask)`` 6062306a36Sopenharmony_ci When the transmitter sees the hotplug signal from the receiver it 6162306a36Sopenharmony_ci will attempt to read the EDID. If set, then the transmitter has read 6262306a36Sopenharmony_ci at least the first block (= 128 bytes). Each bit corresponds to an 6362306a36Sopenharmony_ci output pad on the transmitter. If an output pad does not support 6462306a36Sopenharmony_ci EDIDs, then the bit for that pad will be 0. This read-only control 6562306a36Sopenharmony_ci is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci``V4L2_CID_DV_TX_MODE`` 6862306a36Sopenharmony_ci (enum) 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_cienum v4l2_dv_tx_mode - 7162306a36Sopenharmony_ci HDMI transmitters can transmit in DVI-D mode (just video) or in HDMI 7262306a36Sopenharmony_ci mode (video + audio + auxiliary data). This control selects which 7362306a36Sopenharmony_ci mode to use: V4L2_DV_TX_MODE_DVI_D or V4L2_DV_TX_MODE_HDMI. 7462306a36Sopenharmony_ci This control is applicable to HDMI connectors. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci``V4L2_CID_DV_TX_RGB_RANGE`` 7762306a36Sopenharmony_ci (enum) 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_cienum v4l2_dv_rgb_range - 8062306a36Sopenharmony_ci Select the quantization range for RGB output. V4L2_DV_RANGE_AUTO 8162306a36Sopenharmony_ci follows the RGB quantization range specified in the standard for the 8262306a36Sopenharmony_ci video interface (ie. :ref:`cea861` for HDMI). 8362306a36Sopenharmony_ci V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the 8462306a36Sopenharmony_ci standard to be compatible with sinks that have not implemented the 8562306a36Sopenharmony_ci standard correctly (unfortunately quite common for HDMI and DVI-D). 8662306a36Sopenharmony_ci Full range allows all possible values to be used whereas limited 8762306a36Sopenharmony_ci range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is 8862306a36Sopenharmony_ci the number of bits per component. This control is applicable to VGA, 8962306a36Sopenharmony_ci DVI-A/D, HDMI and DisplayPort connectors. 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci``V4L2_CID_DV_TX_IT_CONTENT_TYPE`` 9262306a36Sopenharmony_ci (enum) 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_cienum v4l2_dv_it_content_type - 9562306a36Sopenharmony_ci Configures the IT Content Type of the transmitted video. This 9662306a36Sopenharmony_ci information is sent over HDMI and DisplayPort connectors as part of 9762306a36Sopenharmony_ci the AVI InfoFrame. The term 'IT Content' is used for content that 9862306a36Sopenharmony_ci originates from a computer as opposed to content from a TV broadcast 9962306a36Sopenharmony_ci or an analog source. The enum v4l2_dv_it_content_type defines 10062306a36Sopenharmony_ci the possible content types: 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci.. tabularcolumns:: |p{7.3cm}|p{10.2cm}| 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci.. flat-table:: 10562306a36Sopenharmony_ci :header-rows: 0 10662306a36Sopenharmony_ci :stub-columns: 0 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci * - ``V4L2_DV_IT_CONTENT_TYPE_GRAPHICS`` 10962306a36Sopenharmony_ci - Graphics content. Pixel data should be passed unfiltered and 11062306a36Sopenharmony_ci without analog reconstruction. 11162306a36Sopenharmony_ci * - ``V4L2_DV_IT_CONTENT_TYPE_PHOTO`` 11262306a36Sopenharmony_ci - Photo content. The content is derived from digital still pictures. 11362306a36Sopenharmony_ci The content should be passed through with minimal scaling and 11462306a36Sopenharmony_ci picture enhancements. 11562306a36Sopenharmony_ci * - ``V4L2_DV_IT_CONTENT_TYPE_CINEMA`` 11662306a36Sopenharmony_ci - Cinema content. 11762306a36Sopenharmony_ci * - ``V4L2_DV_IT_CONTENT_TYPE_GAME`` 11862306a36Sopenharmony_ci - Game content. Audio and video latency should be minimized. 11962306a36Sopenharmony_ci * - ``V4L2_DV_IT_CONTENT_TYPE_NO_ITC`` 12062306a36Sopenharmony_ci - No IT Content information is available and the ITC bit in the AVI 12162306a36Sopenharmony_ci InfoFrame is set to 0. 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci``V4L2_CID_DV_RX_POWER_PRESENT (bitmask)`` 12662306a36Sopenharmony_ci Detects whether the receiver receives power from the source (e.g. 12762306a36Sopenharmony_ci HDMI carries 5V on one of the pins). This is often used to power an 12862306a36Sopenharmony_ci eeprom which contains EDID information, such that the source can 12962306a36Sopenharmony_ci read the EDID even if the sink is in standby/power off. Each bit 13062306a36Sopenharmony_ci corresponds to an input pad on the receiver. If an input pad 13162306a36Sopenharmony_ci cannot detect whether power is present, then the bit for that pad 13262306a36Sopenharmony_ci will be 0. This read-only control is applicable to DVI-D, HDMI and 13362306a36Sopenharmony_ci DisplayPort connectors. 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci``V4L2_CID_DV_RX_RGB_RANGE`` 13662306a36Sopenharmony_ci (enum) 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_cienum v4l2_dv_rgb_range - 13962306a36Sopenharmony_ci Select the quantization range for RGB input. V4L2_DV_RANGE_AUTO 14062306a36Sopenharmony_ci follows the RGB quantization range specified in the standard for the 14162306a36Sopenharmony_ci video interface (ie. :ref:`cea861` for HDMI). 14262306a36Sopenharmony_ci V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the 14362306a36Sopenharmony_ci standard to be compatible with sources that have not implemented the 14462306a36Sopenharmony_ci standard correctly (unfortunately quite common for HDMI and DVI-D). 14562306a36Sopenharmony_ci Full range allows all possible values to be used whereas limited 14662306a36Sopenharmony_ci range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is 14762306a36Sopenharmony_ci the number of bits per component. This control is applicable to VGA, 14862306a36Sopenharmony_ci DVI-A/D, HDMI and DisplayPort connectors. 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci``V4L2_CID_DV_RX_IT_CONTENT_TYPE`` 15162306a36Sopenharmony_ci (enum) 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_cienum v4l2_dv_it_content_type - 15462306a36Sopenharmony_ci Reads the IT Content Type of the received video. This information is 15562306a36Sopenharmony_ci sent over HDMI and DisplayPort connectors as part of the AVI 15662306a36Sopenharmony_ci InfoFrame. The term 'IT Content' is used for content that originates 15762306a36Sopenharmony_ci from a computer as opposed to content from a TV broadcast or an 15862306a36Sopenharmony_ci analog source. See ``V4L2_CID_DV_TX_IT_CONTENT_TYPE`` for the 15962306a36Sopenharmony_ci available content types. 160