1 .. SPDX-License-Identifier: GFDL-1.1-no-invari 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2 2 3 .. _dv-controls: 3 .. _dv-controls: 4 4 5 ******************************* 5 ******************************* 6 Digital Video Control Reference 6 Digital Video Control Reference 7 ******************************* 7 ******************************* 8 8 9 The Digital Video control class is intended to 9 The Digital Video control class is intended to control receivers and 10 transmitters for `VGA <http://en.wikipedia.org 10 transmitters for `VGA <http://en.wikipedia.org/wiki/Vga>`__, 11 `DVI <http://en.wikipedia.org/wiki/Digital_Vis 11 `DVI <http://en.wikipedia.org/wiki/Digital_Visual_Interface>`__ 12 (Digital Visual Interface), HDMI (:ref:`hdmi`) 12 (Digital Visual Interface), HDMI (:ref:`hdmi`) and DisplayPort 13 (:ref:`dp`). These controls are generally expe 13 (:ref:`dp`). These controls are generally expected to be private to 14 the receiver or transmitter subdevice that imp 14 the receiver or transmitter subdevice that implements them, so they are 15 only exposed on the ``/dev/v4l-subdev*`` devic 15 only exposed on the ``/dev/v4l-subdev*`` device node. 16 16 17 .. note:: 17 .. note:: 18 18 19 Note that these devices can have multiple i 19 Note that these devices can have multiple input or output pads which are 20 hooked up to e.g. HDMI connectors. Even tho 20 hooked up to e.g. HDMI connectors. Even though the subdevice will 21 receive or transmit video from/to only one 21 receive or transmit video from/to only one of those pads, the other pads 22 can still be active when it comes to EDID ( 22 can still be active when it comes to EDID (Extended Display 23 Identification Data, :ref:`vesaedid`) and H 23 Identification Data, :ref:`vesaedid`) and HDCP (High-bandwidth Digital 24 Content Protection System, :ref:`hdcp`) pro 24 Content Protection System, :ref:`hdcp`) processing, allowing the 25 device to do the fairly slow EDID/HDCP hand 25 device to do the fairly slow EDID/HDCP handling in advance. This allows 26 for quick switching between connectors. 26 for quick switching between connectors. 27 27 28 These pads appear in several of the controls i 28 These pads appear in several of the controls in this section as 29 bitmasks, one bit for each pad. Bit 0 correspo 29 bitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad 30 1, etc. The maximum value of the control is th 30 1, etc. The maximum value of the control is the set of valid pads. 31 31 32 32 33 .. _dv-control-id: 33 .. _dv-control-id: 34 34 35 Digital Video Control IDs 35 Digital Video Control IDs 36 ========================= 36 ========================= 37 37 38 ``V4L2_CID_DV_CLASS (class)`` 38 ``V4L2_CID_DV_CLASS (class)`` 39 The Digital Video class descriptor. 39 The Digital Video class descriptor. 40 40 41 ``V4L2_CID_DV_TX_HOTPLUG (bitmask)`` 41 ``V4L2_CID_DV_TX_HOTPLUG (bitmask)`` 42 Many connectors have a hotplug pin which i 42 Many connectors have a hotplug pin which is high if EDID information 43 is available from the source. This control 43 is available from the source. This control shows the state of the 44 hotplug pin as seen by the transmitter. Ea 44 hotplug pin as seen by the transmitter. Each bit corresponds to an 45 output pad on the transmitter. If an outpu 45 output pad on the transmitter. If an output pad does not have an 46 associated hotplug pin, then the bit for t 46 associated hotplug pin, then the bit for that pad will be 0. This 47 read-only control is applicable to DVI-D, 47 read-only control is applicable to DVI-D, HDMI and DisplayPort 48 connectors. 48 connectors. 49 49 50 ``V4L2_CID_DV_TX_RXSENSE (bitmask)`` 50 ``V4L2_CID_DV_TX_RXSENSE (bitmask)`` 51 Rx Sense is the detection of pull-ups on t 51 Rx Sense is the detection of pull-ups on the TMDS clock lines. This 52 normally means that the sink has left/ente 52 normally means that the sink has left/entered standby (i.e. the 53 transmitter can sense that the receiver is 53 transmitter can sense that the receiver is ready to receive video). 54 Each bit corresponds to an output pad on t 54 Each bit corresponds to an output pad on the transmitter. If an 55 output pad does not have an associated Rx 55 output pad does not have an associated Rx Sense, then the bit for 56 that pad will be 0. This read-only control 56 that pad will be 0. This read-only control is applicable to DVI-D 57 and HDMI devices. 57 and HDMI devices. 58 58 59 ``V4L2_CID_DV_TX_EDID_PRESENT (bitmask)`` 59 ``V4L2_CID_DV_TX_EDID_PRESENT (bitmask)`` 60 When the transmitter sees the hotplug sign 60 When the transmitter sees the hotplug signal from the receiver it 61 will attempt to read the EDID. If set, the 61 will attempt to read the EDID. If set, then the transmitter has read 62 at least the first block (= 128 bytes). Ea 62 at least the first block (= 128 bytes). Each bit corresponds to an 63 output pad on the transmitter. If an outpu 63 output pad on the transmitter. If an output pad does not support 64 EDIDs, then the bit for that pad will be 0 64 EDIDs, then the bit for that pad will be 0. This read-only control 65 is applicable to VGA, DVI-A/D, HDMI and Di 65 is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors. 66 66 67 ``V4L2_CID_DV_TX_MODE`` 67 ``V4L2_CID_DV_TX_MODE`` 68 (enum) 68 (enum) 69 69 70 enum v4l2_dv_tx_mode - 70 enum v4l2_dv_tx_mode - 71 HDMI transmitters can transmit in DVI-D mo 71 HDMI transmitters can transmit in DVI-D mode (just video) or in HDMI 72 mode (video + audio + auxiliary data). Thi 72 mode (video + audio + auxiliary data). This control selects which 73 mode to use: V4L2_DV_TX_MODE_DVI_D or V4L2 73 mode to use: V4L2_DV_TX_MODE_DVI_D or V4L2_DV_TX_MODE_HDMI. 74 This control is applicable to HDMI connect 74 This control is applicable to HDMI connectors. 75 75 76 ``V4L2_CID_DV_TX_RGB_RANGE`` 76 ``V4L2_CID_DV_TX_RGB_RANGE`` 77 (enum) 77 (enum) 78 78 79 enum v4l2_dv_rgb_range - 79 enum v4l2_dv_rgb_range - 80 Select the quantization range for RGB outp 80 Select the quantization range for RGB output. V4L2_DV_RANGE_AUTO 81 follows the RGB quantization range specifi 81 follows the RGB quantization range specified in the standard for the 82 video interface (ie. :ref:`cea861` for HDM 82 video interface (ie. :ref:`cea861` for HDMI). 83 V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FU 83 V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the 84 standard to be compatible with sinks that 84 standard to be compatible with sinks that have not implemented the 85 standard correctly (unfortunately quite co 85 standard correctly (unfortunately quite common for HDMI and DVI-D). 86 Full range allows all possible values to b 86 Full range allows all possible values to be used whereas limited 87 range sets the range to (16 << (N-8)) - (2 87 range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is 88 the number of bits per component. This con 88 the number of bits per component. This control is applicable to VGA, 89 DVI-A/D, HDMI and DisplayPort connectors. 89 DVI-A/D, HDMI and DisplayPort connectors. 90 90 91 ``V4L2_CID_DV_TX_IT_CONTENT_TYPE`` 91 ``V4L2_CID_DV_TX_IT_CONTENT_TYPE`` 92 (enum) 92 (enum) 93 93 94 enum v4l2_dv_it_content_type - 94 enum v4l2_dv_it_content_type - 95 Configures the IT Content Type of the tran 95 Configures the IT Content Type of the transmitted video. This 96 information is sent over HDMI and DisplayP 96 information is sent over HDMI and DisplayPort connectors as part of 97 the AVI InfoFrame. The term 'IT Content' i 97 the AVI InfoFrame. The term 'IT Content' is used for content that 98 originates from a computer as opposed to c 98 originates from a computer as opposed to content from a TV broadcast 99 or an analog source. The enum v4l2_dv_it_c 99 or an analog source. The enum v4l2_dv_it_content_type defines 100 the possible content types: 100 the possible content types: 101 101 102 .. tabularcolumns:: |p{7.3cm}|p{10.2cm}| 102 .. tabularcolumns:: |p{7.3cm}|p{10.2cm}| 103 103 104 .. flat-table:: 104 .. flat-table:: 105 :header-rows: 0 105 :header-rows: 0 106 :stub-columns: 0 106 :stub-columns: 0 107 107 108 * - ``V4L2_DV_IT_CONTENT_TYPE_GRAPHICS`` 108 * - ``V4L2_DV_IT_CONTENT_TYPE_GRAPHICS`` 109 - Graphics content. Pixel data should be 109 - Graphics content. Pixel data should be passed unfiltered and 110 without analog reconstruction. 110 without analog reconstruction. 111 * - ``V4L2_DV_IT_CONTENT_TYPE_PHOTO`` 111 * - ``V4L2_DV_IT_CONTENT_TYPE_PHOTO`` 112 - Photo content. The content is derived 112 - Photo content. The content is derived from digital still pictures. 113 The content should be passed through w 113 The content should be passed through with minimal scaling and 114 picture enhancements. 114 picture enhancements. 115 * - ``V4L2_DV_IT_CONTENT_TYPE_CINEMA`` 115 * - ``V4L2_DV_IT_CONTENT_TYPE_CINEMA`` 116 - Cinema content. 116 - Cinema content. 117 * - ``V4L2_DV_IT_CONTENT_TYPE_GAME`` 117 * - ``V4L2_DV_IT_CONTENT_TYPE_GAME`` 118 - Game content. Audio and video latency 118 - Game content. Audio and video latency should be minimized. 119 * - ``V4L2_DV_IT_CONTENT_TYPE_NO_ITC`` 119 * - ``V4L2_DV_IT_CONTENT_TYPE_NO_ITC`` 120 - No IT Content information is available 120 - No IT Content information is available and the ITC bit in the AVI 121 InfoFrame is set to 0. 121 InfoFrame is set to 0. 122 122 123 123 124 124 125 ``V4L2_CID_DV_RX_POWER_PRESENT (bitmask)`` 125 ``V4L2_CID_DV_RX_POWER_PRESENT (bitmask)`` 126 Detects whether the receiver receives powe 126 Detects whether the receiver receives power from the source (e.g. 127 HDMI carries 5V on one of the pins). This 127 HDMI carries 5V on one of the pins). This is often used to power an 128 eeprom which contains EDID information, su 128 eeprom which contains EDID information, such that the source can 129 read the EDID even if the sink is in stand 129 read the EDID even if the sink is in standby/power off. Each bit 130 corresponds to an input pad on the receive 130 corresponds to an input pad on the receiver. If an input pad 131 cannot detect whether power is present, th 131 cannot detect whether power is present, then the bit for that pad 132 will be 0. This read-only control is appli 132 will be 0. This read-only control is applicable to DVI-D, HDMI and 133 DisplayPort connectors. 133 DisplayPort connectors. 134 134 135 ``V4L2_CID_DV_RX_RGB_RANGE`` 135 ``V4L2_CID_DV_RX_RGB_RANGE`` 136 (enum) 136 (enum) 137 137 138 enum v4l2_dv_rgb_range - 138 enum v4l2_dv_rgb_range - 139 Select the quantization range for RGB inpu 139 Select the quantization range for RGB input. V4L2_DV_RANGE_AUTO 140 follows the RGB quantization range specifi 140 follows the RGB quantization range specified in the standard for the 141 video interface (ie. :ref:`cea861` for HDM 141 video interface (ie. :ref:`cea861` for HDMI). 142 V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FU 142 V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the 143 standard to be compatible with sources tha 143 standard to be compatible with sources that have not implemented the 144 standard correctly (unfortunately quite co 144 standard correctly (unfortunately quite common for HDMI and DVI-D). 145 Full range allows all possible values to b 145 Full range allows all possible values to be used whereas limited 146 range sets the range to (16 << (N-8)) - (2 146 range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is 147 the number of bits per component. This con 147 the number of bits per component. This control is applicable to VGA, 148 DVI-A/D, HDMI and DisplayPort connectors. 148 DVI-A/D, HDMI and DisplayPort connectors. 149 149 150 ``V4L2_CID_DV_RX_IT_CONTENT_TYPE`` 150 ``V4L2_CID_DV_RX_IT_CONTENT_TYPE`` 151 (enum) 151 (enum) 152 152 153 enum v4l2_dv_it_content_type - 153 enum v4l2_dv_it_content_type - 154 Reads the IT Content Type of the received 154 Reads the IT Content Type of the received video. This information is 155 sent over HDMI and DisplayPort connectors 155 sent over HDMI and DisplayPort connectors as part of the AVI 156 InfoFrame. The term 'IT Content' is used f 156 InfoFrame. The term 'IT Content' is used for content that originates 157 from a computer as opposed to content from 157 from a computer as opposed to content from a TV broadcast or an 158 analog source. See ``V4L2_CID_DV_TX_IT_CON 158 analog source. See ``V4L2_CID_DV_TX_IT_CONTENT_TYPE`` for the 159 available content types. 159 available content types.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.