Merge remote-tracking branch 'regulator/for-next'
[deliverable/linux.git] / Documentation / media / uapi / cec / cec-intro.rst
CommitLineData
da98a79b
MCC
1.. _cec-intro:
2
3Introduction
4============
5
b6b6e678
MCC
6.. note::
7
8 This documents the proposed CEC API. This API is not yet finalized
706f8a99 9 and is currently only available as a staging kernel module.
da98a79b
MCC
10
11HDMI connectors provide a single pin for use by the Consumer Electronics
12Control protocol. This protocol allows different devices connected by an
13HDMI cable to communicate. The protocol for CEC version 1.4 is defined
14in supplements 1 (CEC) and 2 (HEAC or HDMI Ethernet and Audio Return
15Channel) of the HDMI 1.4a (:ref:`hdmi`) specification and the
16extensions added to CEC version 2.0 are defined in chapter 11 of the
17HDMI 2.0 (:ref:`hdmi2`) specification.
18
19The bitrate is very slow (effectively no more than 36 bytes per second)
20and is based on the ancient AV.link protocol used in old SCART
21connectors. The protocol closely resembles a crazy Rube Goldberg
22contraption and is an unholy mix of low and high level messages. Some
23messages, especially those part of the HEAC protocol layered on top of
24CEC, need to be handled by the kernel, others can be handled either by
25the kernel or by userspace.
26
27In addition, CEC can be implemented in HDMI receivers, transmitters and
28in USB devices that have an HDMI input and an HDMI output and that
29control just the CEC pin.
30
31Drivers that support CEC will create a CEC device node (/dev/cecX) to
32give userspace access to the CEC adapter. The
33:ref:`CEC_ADAP_G_CAPS` ioctl will tell userspace what it is allowed to do.
This page took 0.041185 seconds and 5 git commands to generate.