Part of the HDMI protocol is the CEC protocol. This allows controlling of the TV over the HDMI cable.
For android, there's by default a driver available, which is not in the standard linux kernel. There's a tree on github which contains the ported android driver. It is tested on a OdroidX2.
git clone https://github.com/ThijsWithaar/linux.git git checkout odroid-3.8-cec
To make the drivers, checkout the patched sources above, then follow the instructions on Step-by-step_Native_Compiling_a_Kernel. Modify the .config file such that it contains
After compiling and installing the driver (drivers/media/platform/s5p-cec.ko)
dmesg | grep cec
should contain lines like:
[ 63.530000] S5P CEC for TVOUT Driver, Copyright (c) 2011 Samsung Electronics Co., LTD. [ 63.535000] s5p-cec s5p-cec: probe start [ 63.535000] s5p_cec_probe: pdata=ed0e9540 [ 63.540000] s5p_cec_cfg_gpio() [ 63.545000] s5p-cec s5p-cec: s5p_cec_mem_probe(): mapped cec_base to f005e000, size 1000 [ 63.550000] s5p-cec s5p-cec: Requesting irq 146 for s5p-cec [ 63.555000] s5p-cec s5p-cec: probe successful
git clone https://github.com/vamanea/libcec.git cd libcec ./configure --enable-exynos make make install
Now use 'cec-client -l' or 'cec-client -m' to try it out!