cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cec-intro.rst (1807B)


      1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
      2
      3.. _cec-intro:
      4
      5Introduction
      6============
      7
      8HDMI connectors provide a single pin for use by the Consumer Electronics
      9Control protocol. This protocol allows different devices connected by an
     10HDMI cable to communicate. The protocol for CEC version 1.4 is defined
     11in supplements 1 (CEC) and 2 (HEAC or HDMI Ethernet and Audio Return
     12Channel) of the HDMI 1.4a (:ref:`hdmi`) specification and the
     13extensions added to CEC version 2.0 are defined in chapter 11 of the
     14HDMI 2.0 (:ref:`hdmi2`) specification.
     15
     16The bitrate is very slow (effectively no more than 36 bytes per second)
     17and is based on the ancient AV.link protocol used in old SCART
     18connectors. The protocol closely resembles a crazy Rube Goldberg
     19contraption and is an unholy mix of low and high level messages. Some
     20messages, especially those part of the HEAC protocol layered on top of
     21CEC, need to be handled by the kernel, others can be handled either by
     22the kernel or by userspace.
     23
     24In addition, CEC can be implemented in HDMI receivers, transmitters and
     25in USB devices that have an HDMI input and an HDMI output and that
     26control just the CEC pin.
     27
     28Drivers that support CEC will create a CEC device node (/dev/cecX) to
     29give userspace access to the CEC adapter. The
     30:ref:`CEC_ADAP_G_CAPS` ioctl will tell userspace what it is allowed to do.
     31
     32In order to check the support and test it, it is suggested to download
     33the `v4l-utils <https://git.linuxtv.org/v4l-utils.git/>`_ package. It
     34provides three tools to handle CEC:
     35
     36- cec-ctl: the Swiss army knife of CEC. Allows you to configure, transmit
     37  and monitor CEC messages.
     38
     39- cec-compliance: does a CEC compliance test of a remote CEC device to
     40  determine how compliant the CEC implementation is.
     41
     42- cec-follower: emulates a CEC follower.