[WIP] HDMI-CEC On Tegra (Jetson)

Very short and sweet video of HDMI-CEC working on the Jetson

Im now looking at adding support for libcec (this should work for all tegra revisions from tegra3 as long as they have the CEC pin connected to the HDMI port)

Ill keep this thread updated with progress :D

(Update) Here is a link to a (quite outdated) libcec that I was working on, Iv had no time to work on it in quite a few weeks. Its reads key-presses from the TV remote and will turn the TV to HDMI 1 on startup of XBMC

Sorry for stupid question but adding support for libcec in where…?

My XBMC build for Jetson in the Launchpad has been compiled with CEC support and it was properly detected by the XBMC build scripts. I don’t have a clue what else it would need or how to test it though.

libCEC does not yet have support for the tegra_cec device (mainly the communication protocol), all it thats needed is an adapter adding to libCEC to enable it to talk to the kernel driver / hardware.

It also needs a new kernel with the cec driver working (ill post a working kernel and patches next week some time)

Hey Apache14, having a working CEC support on jetson sounds awesome! Your video really looks very promising…

Any news on the progress?
Getting CEC to work would be so sweet!

As i haven’t had much time to work on this so I have updated the first post with a link to my fork of libcec (outdated now) that somewhat works.

You will need a 3 line path

Add the following above the line CONFIG_CRYPTO_DEV_TEGRA_AES in arch/arm/mach-tegra/board-ardbeg.c

#if defined(CONFIG_TEGRA_CEC_SUPPORT)
          &tegra_cec_device,
#endif

And rebuild kernel (needs to be l4t-r21 or newer)

Sorry to drag up an old thread, but any updates to this?

Hi th3_d0c, did Apache14’s suggestion not work?

I believe HDMI CEC isn’t a standard part of the kernel, and I doubt Nvidia has added it since the last post. It might not even work on the grinch kernel, as implied by Apache14’s note on this thread: https://devtalk.nvidia.com/default/topic/766303/jetson-tk1/-customkernel-the-grinch-19-3-8-for-jetson-tk1-developed/post/4331529/#4331529

Did anyone manage to get cec working in the meantime?
This is how far I got:
0.) install grinch kernel: https://devtalk.nvidia.com/default/topic/906018/jetson-tk1/-customkernel-the-grinch-21-3-4-for-jetson-tk1-developed/
1.) sudo apt-get install build-essential libudev-dev automake libtool pkg-config liblockdev1 liblockdev1-dev checkinstall

2.) Change configure.ac

  • AM_INIT_AUTOMAKE([foreign])
  • AM_INIT_AUTOMAKE([foreign subdir-objects])

3.) ./bootstrap && ./configure && make && sudo make install

4.) sudo src/testclient/cec-client

While it does find the adapter etc., it fails to send anything:
Write: Write Error (Communication error on send)

Kodi
Apparently kodi now uses libcec3. So this fork of libcec2 might not help any more. With kulve’s latest testing version of kodi (ppa:kulve/kodi-testing-jetson-tk1) I can not even find the cec adapter any more: System -> Settings -> System -> Input Devices -> Peripherals is greyed out.

Anyone? @kulve? Anything?

Just curious if anyone has done any work with CEC on the TX1? Do you know if the latest Jetpack contains anything natively to use CEC?