HDMI CEC Framework Revived For The Linux Kernel
The HDMI CEC (Consumer Electronics Control) framework for the Linux kernel has been revived after being stalled in development for quite some time.
Back in 2012 was talk about an HDMI CEC framework support for the Linux kernel but since then work has stalled. Published today was the third version of these Consumer Electronics Control kernel patches by Kamil Debski of Samsung.
Debski explained with the v3 of the HDMI CEC framework patches, "In this version I have introduced a promiscuous mode in which all messages are forwarded to the userspace. This is independent of parsing of the messages, thus the key codes will be interpreted and sent as input events. This mode can be used to eavesdrop on the messages transferred on the bus. This can be used for e.g. to debug or listen look how other hardware communicates over the bus."
Besides the big addition of the promiscuous mode, the revised HDMI CEC patches add vendor ID reporting, clean-up of some of the codes, new key codes in the input framework, etc. The current patches add the actual framework along with adding support to the v4l2-subdev, adv7604, and adv7511 drivers along with the new s5p-cec driver. The code amounts to a little over three thousand lines of new kernel code.
The CEC specification allows for multiple HDMI devices to be connected together and allowing for a single remote control to support the HDMI devices in a standardized manner over the single HDMI link. CEC is based on the AV.link protocol on a one-wire bi-directional serial bus. CEC support is advertised by vendors under a variety of different names.
When it comes to CEC support in Linux user-space, one of the options is the libCEC library.
Back in 2012 was talk about an HDMI CEC framework support for the Linux kernel but since then work has stalled. Published today was the third version of these Consumer Electronics Control kernel patches by Kamil Debski of Samsung.
Debski explained with the v3 of the HDMI CEC framework patches, "In this version I have introduced a promiscuous mode in which all messages are forwarded to the userspace. This is independent of parsing of the messages, thus the key codes will be interpreted and sent as input events. This mode can be used to eavesdrop on the messages transferred on the bus. This can be used for e.g. to debug or listen look how other hardware communicates over the bus."
Besides the big addition of the promiscuous mode, the revised HDMI CEC patches add vendor ID reporting, clean-up of some of the codes, new key codes in the input framework, etc. The current patches add the actual framework along with adding support to the v4l2-subdev, adv7604, and adv7511 drivers along with the new s5p-cec driver. The code amounts to a little over three thousand lines of new kernel code.
The CEC specification allows for multiple HDMI devices to be connected together and allowing for a single remote control to support the HDMI devices in a standardized manner over the single HDMI link. CEC is based on the AV.link protocol on a one-wire bi-directional serial bus. CEC support is advertised by vendors under a variety of different names.
When it comes to CEC support in Linux user-space, one of the options is the libCEC library.
1 Comment