Lines Matching full:cec
4 HDMI CEC
14 - STIH4xx HDMI CEC
20 - amlogic (meson ao-cec and ao-cec-g12a)
26 - DisplayPort CEC-Tunneling-over-AUX on i915, nouveau and amdgpu
27 - ChromeOS EC CEC
28 - CEC for SECO boards (UDOO x86).
41 - Pulse-Eight: the pulse8-cec driver implements the following module option:
51 - vivid: emulates a CEC receiver and CEC transmitter.
52 Can be used to test CEC applications without actual CEC hardware.
54 - cec-gpio. If the CEC pin is hooked up to a GPIO pin then
55 you can control the CEC line through this driver. This supports error
58 - cec-gpio and Allwinner A10 (or any other driver that uses the CEC pin
59 framework to drive the CEC pin directly): the CEC pin framework uses
63 1/12th. This will cause the CEC timings to go out of spec. To fix this,
65 frequency change to 1/25th, which keeps the CEC timings within spec.
73 ``utils/cec-ctl``: control a CEC device
75 ``utils/cec-compliance``: test compliance of a remote CEC device
77 ``utils/cec-follower``: emulate a CEC follower device
79 Note that ``cec-ctl`` has support for the CEC Hospitality Profile as is
83 the linux CEC framework.
85 If you want to get the CEC specification, then look at the References of
86 the HDMI wikipedia page: https://en.wikipedia.org/wiki/HDMI. CEC is part
88 HDMI 1.4 w.r.t. CEC) and should be good enough for most things.
91 DisplayPort to HDMI Adapters with working CEC
94 Background: most adapters do not support the CEC Tunneling feature,
95 and of those that do many did not actually connect the CEC pin.
96 Unfortunately, this means that while a CEC device is created, it
98 CEC devices.
100 This is a list of known working adapters that have CEC Tunneling AND
101 that properly connected the CEC pin. If you find adapters that work
104 To test: hook up your DP-to-HDMI adapter to a CEC capable device
107 cec-ctl --playback # Configure the PC as a CEC Playback device
108 cec-ctl -S # Show the CEC topology
110 The ``cec-ctl -S`` command should show at least two CEC devices,
111 ourselves and the CEC device you are connected to (i.e. typically the TV).
114 PS186 chipsets and the MegaChips 2900. While MegaChips 28x0 claims CEC support,
143 are PS176 based and do NOT have the CEC pin hooked up, so only the three Club3D
148 likely to have the CEC pin hooked up, it looks like they changed the reference
152 USB CEC Dongles
162 …oduct}=="1002", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="pulse8-cec-inputattach@%k.serv…
163 …oduct}=="1001", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="pulse8-cec-inputattach@%k.serv…
164 …t}=="ff59", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rainshadow-cec-inputattach@%k.serv…
168 For Pulse-Eight make /lib/systemd/system/pulse8-cec-inputattach@.service::
171 Description=inputattach for pulse8-cec device on %I
175 ExecStart=/usr/bin/inputattach --pulse8-cec /dev/%I
177 For the RainShadow Tech make /lib/systemd/system/rainshadow-cec-inputattach@.service::
180 Description=inputattach for rainshadow-cec device on %I
184 ExecStart=/usr/bin/inputattach --rainshadow-cec /dev/%I
187 For proper suspend/resume support create: /lib/systemd/system/restart-cec-inputattach.service::
190 Description=restart inputattach for cec devices
195 …h --daemon --pulse8-cec $d; done; for d in /dev/serial/by-id/usb-RainShadow_Tech*; do /usr/bin/inp…
200 And run ``systemctl enable restart-cec-inputattach``.
202 To automatically set the physical address of the CEC device whenever the
203 EDID changes, you can use ``cec-ctl`` with the ``-E`` option::
205 cec-ctl -E /sys/class/drm/card0-DP-1/edid
214 @reboot /usr/local/bin/cec-ctl -E /sys/class/drm/card0-DP-1/edid
220 CEC Without HPD
224 CEC is still enabled so connected devices can send an <Image View On> CEC
225 message in order to wake up such displays. Unfortunately, not all CEC
228 blocking the CEC pin. Even though the SoC can use CEC without a HPD,
231 There is a CEC capability flag to signal this: ``CEC_CAP_NEEDS_HPD``.
234 Note for CEC application implementers: the <Image View On> message must
236 Certain very bad but unfortunately not uncommon CEC implementations
243 1) Get a Pulse-Eight USB CEC dongle, connect an HDMI cable from your
249 cec-ctl -p0.0.0.0 --tv
253 sudo cec-ctl -M
257 cec-ctl --playback
262 cec-ctl -t0 --image-view-on
265 then something (hardware and/or software) is preventing the CEC
269 Pulse-Eight to a CEC-enabled display and run the same command
273 2) If you have another linux device supporting CEC without HPD, then
276 want for this test), but the second device can monitor the CEC pin.
280 If CEC messages do not come through when there is no HPD, then you
282 or the software powers off the CEC core when the HPD goes low. The
287 Microcontrollers & CEC
290 We have seen some CEC implementations in displays that use a microcontroller
293 CEC debugger (see the next section).
295 You will see cases where the CEC transmitter holds the CEC line high or low for
305 Making a CEC debugger
309 your own low-level CEC debugger.
318 be limited to 1080p60 (148.5 MHz). But for CEC testing that is fine.
335 The CEC pin of the HDMI connector needs to be connected to these pins:
343 will hook up the cec-gpio driver correctly::
345 cec@6 {
346 compatible = "cec-gpio";
347 cec-gpios = <&gpio 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
352 cec@7 {
353 compatible = "cec-gpio";
354 cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
362 This dts change will enable two cec GPIO devices: I typically use one to
363 send/receive CEC commands and the other to monitor. If you monitor using
364 an unconfigured CEC adapter then it will use GPIO interrupts which makes
371 CEC pin to GPIO 6 on the Raspberry Pi.
375 ``cec-ctl --monitor-pin`` will do low-level CEC bus sniffing and analysis.
376 You can also store the CEC traffic to file using ``--store-pin`` and analyze
379 You can also use this as a full-fledged CEC device by configuring it
380 using ``cec-ctl --tv -p0.0.0.0`` or ``cec-ctl --playback -p1.0.0.0``.