CEC for XBMC works through the libCEC library which is maintained upstream by Pulse-Eight, which is dual-licensed under GPLv2 and a commercial license, thus could be used for free under open source or be licensed under close source royalty license agreement with Pulse-Eigh.
For XBMC to support a SoC / hardware specific CEC you must first add code to support that specific SoC / hardware to libCEC, that goes for all operating-system platforms.
http://libcec.pulse-eight.com
https://github.com/Pulse-Eight/libcec
Since Pulse-Eight is a commercial company they can either be commisioned to get paid to code to support that specific SoC / hardware to libCEC if the SoC / hardware manufacturing company hires their developers to add it via a contract, or the alternativly the SoC / hardware manufacturing company can choose to use their own developers to code the support for he libCEC library and submit it as a code patch upstream to Pulse-Eight that can be accepted if it meets their coding standard.
So that means that it is not enough that XBMC supports CEC and that the SoC / hardware support CEC, as you will also need to add specific support code to libCEC.
(2014-01-27, 09:14)john3voltas Wrote: How would I find out if the Tronsmart Prometheus comes with CEC support? It's true that on Tronsmart's page it doesn't say that it has CEC support but then again MyGica ATV-520 has CEC but MyGica don't mention that either.
You can today almost assume that most modern SoC / hardware does support CEC, however in most cases you will still be missing two pieces even if the SoC / hardware in your specific box supports CEC before you can get it to work in XBMC.
The SoC / hardware manufacturing must also add CEC support for their firmware image, through kernel-modulke/drivers/library/whatever which is the first piece, and then the second piece is that there must also be support for that specific CEC kernel-module/drivers/library/whatever in Pulse-Eight's libCEC for XBMC CEC support to work.