From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mailout3.samsung.com ([203.254.224.33]:19142 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751182AbbCTQxR (ORCPT ); Fri, 20 Mar 2015 12:53:17 -0400 From: Kamil Debski To: dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org Cc: m.szyprowski@samsung.com, k.debski@samsung.com, mchehab@osg.samsung.com, hverkuil@xs4all.nl, kyungmin.park@samsung.com, thomas@tommie-lie.de, sean@mess.org, dmitry.torokhov@gmail.com, linux-input@vger.kernel.org Subject: [RFC v3 0/9] HDMI CEC framework Date: Fri, 20 Mar 2015 17:52:34 +0100 Message-id: <1426870363-18839-1-git-send-email-k.debski@samsung.com> Sender: linux-media-owner@vger.kernel.org List-ID: Hi, First of all - thank you so much for your comments to the two previous versions of this RFC. This is the third version 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. The original cover letter follows the changes summary. Changes since v2 ===============- - added promiscuous mode - added new key codes to the input framework - add vendor ID reporting - add the possibility to clear assigned logical addresses - cleanup of the rc cec map Changes since v1 ================ - documentation edited and moved to the Documentation folder - added key up/down message handling - add missing CEC commands to the cec.h file Original cover letter ===================== Hi, The work on a common CEC framework was started over three years ago by Hans Verkuil. Unfortunately the work has stalled. As I have received the task of creating a driver for the CEC interface module present on the Exynos range of SoCs, I got in touch with Hans. He repied that the work stalled due to his lack of time. The driver was done in the most part and there were only minor fixes that needed to be implemented. I would like to bring back the discussion on a common CEC interface framework. There are a few things that were still left as TODO, I think they might need some discussion - for instance the way how the remote controls should be handled. Best wishes, Kamil Debski Original RFC by Hans Verkuil/Martin Bugge ========================================= https://www.mail-archive.com/linux-media@vger.kernel.org/msg28735.html Hans Verkuil (3): v4l2-subdev: add cec ops. adv7604: add cec support. adv7511: add cec support. Kamil Debski (6): dts: add hdmi-cec to to pinctrl definitions dts: add s5p-cec to exynos4412-odroidu3 Input: add key codes specific to the HDMI CEC bus rc: add a map for devices communicating over the HDMI CEC bus cec: add new driver for cec support. s5p-cec: Add s5p-cec driver Documentation/cec.txt | 321 ++++++ arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 7 + arch/arm/boot/dts/exynos4412-odroidu3.dts | 13 + drivers/media/Kconfig | 6 + drivers/media/Makefile | 2 + drivers/media/cec.c | 1158 ++++++++++++++++++++ drivers/media/i2c/adv7511.c | 325 +++++- drivers/media/i2c/adv7604.c | 182 +++ drivers/media/platform/Kconfig | 7 + drivers/media/platform/Makefile | 1 + drivers/media/platform/s5p-cec/Makefile | 4 + drivers/media/platform/s5p-cec/exynos_hdmi_cec.h | 37 + .../media/platform/s5p-cec/exynos_hdmi_cecctrl.c | 208 ++++ drivers/media/platform/s5p-cec/regs-cec.h | 96 ++ drivers/media/platform/s5p-cec/s5p_cec.c | 290 +++++ drivers/media/platform/s5p-cec/s5p_cec.h | 113 ++ drivers/media/rc/keymaps/Makefile | 1 + drivers/media/rc/keymaps/rc-cec.c | 144 +++ drivers/media/rc/rc-main.c | 1 + include/media/adv7511.h | 6 +- include/media/cec.h | 137 +++ include/media/rc-core.h | 1 + include/media/rc-map.h | 5 +- include/media/v4l2-subdev.h | 8 + include/uapi/linux/cec.h | 283 +++++ include/uapi/linux/input.h | 12 + 26 files changed, 3359 insertions(+), 9 deletions(-) create mode 100644 Documentation/cec.txt create mode 100644 drivers/media/cec.c create mode 100644 drivers/media/platform/s5p-cec/Makefile create mode 100644 drivers/media/platform/s5p-cec/exynos_hdmi_cec.h create mode 100644 drivers/media/platform/s5p-cec/exynos_hdmi_cecctrl.c create mode 100644 drivers/media/platform/s5p-cec/regs-cec.h create mode 100644 drivers/media/platform/s5p-cec/s5p_cec.c create mode 100644 drivers/media/platform/s5p-cec/s5p_cec.h create mode 100644 drivers/media/rc/keymaps/rc-cec.c create mode 100644 include/media/cec.h create mode 100644 include/uapi/linux/cec.h -- 1.7.9.5 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kamil Debski Subject: [RFC v3 0/9] HDMI CEC framework Date: Fri, 20 Mar 2015 17:52:34 +0100 Message-ID: <1426870363-18839-1-git-send-email-k.debski@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org Cc: sean@mess.org, mchehab@osg.samsung.com, dmitry.torokhov@gmail.com, kyungmin.park@samsung.com, thomas@tommie-lie.de, linux-input@vger.kernel.org, m.szyprowski@samsung.com List-Id: linux-input@vger.kernel.org SGksCgpGaXJzdCBvZiBhbGwgLSB0aGFuayB5b3Ugc28gbXVjaCBmb3IgeW91ciBjb21tZW50cyB0 byB0aGUgdHdvIHByZXZpb3VzIHZlcnNpb25zCm9mIHRoaXMgUkZDLiBUaGlzIGlzIHRoZSB0aGly ZCB2ZXJzaW9uIG9mIHRoZSBIRE1JIENFQyBmcmFtZXdvcmsgcGF0Y2hlcy4KCkluIHRoaXMgdmVy c2lvbiBJIGhhdmUgaW50cm9kdWNlZCBhIHByb21pc2N1b3VzIG1vZGUgaW4gd2hpY2ggYWxsIG1l c3NhZ2VzIGFyZQpmb3J3YXJkZWQgdG8gdGhlIHVzZXJzcGFjZS4gVGhpcyBpcyBpbmRlcGVuZGVu dCBvZiBwYXJzaW5nIG9mIHRoZSBtZXNzYWdlcywKdGh1cyB0aGUga2V5IGNvZGVzIHdpbGwgYmUg aW50ZXJwcmV0ZWQgYW5kIHNlbnQgYXMgaW5wdXQgZXZlbnRzLiBUaGlzIG1vZGUgY2FuCmJlIHVz ZWQgdG8gZWF2ZXNkcm9wIG9uIHRoZSBtZXNzYWdlcyB0cmFuc2ZlcnJlZCBvbiB0aGUgYnVzLiBU aGlzIGNhbiBiZSB1c2VkCmZvciBlLmcuIHRvIGRlYnVnIG9yIGxpc3RlbiBsb29rIGhvdyBvdGhl ciBoYXJkd2FyZSBjb21tdW5pY2F0ZXMgb3ZlciB0aGUgYnVzLgoKVGhlIG9yaWdpbmFsIGNvdmVy IGxldHRlciBmb2xsb3dzIHRoZSBjaGFuZ2VzIHN1bW1hcnkuCgpDaGFuZ2VzIHNpbmNlIHYyCj09 PT09PT09PT09PT09PS0KLSBhZGRlZCBwcm9taXNjdW91cyBtb2RlCi0gYWRkZWQgbmV3IGtleSBj b2RlcyB0byB0aGUgaW5wdXQgZnJhbWV3b3JrCi0gYWRkIHZlbmRvciBJRCByZXBvcnRpbmcKLSBh ZGQgdGhlIHBvc3NpYmlsaXR5IHRvIGNsZWFyIGFzc2lnbmVkIGxvZ2ljYWwgYWRkcmVzc2VzCi0g Y2xlYW51cCBvZiB0aGUgcmMgY2VjIG1hcAoKQ2hhbmdlcyBzaW5jZSB2MQo9PT09PT09PT09PT09 PT09Ci0gZG9jdW1lbnRhdGlvbiBlZGl0ZWQgYW5kIG1vdmVkIHRvIHRoZSBEb2N1bWVudGF0aW9u IGZvbGRlcgotIGFkZGVkIGtleSB1cC9kb3duIG1lc3NhZ2UgaGFuZGxpbmcKLSBhZGQgbWlzc2lu ZyBDRUMgY29tbWFuZHMgdG8gdGhlIGNlYy5oIGZpbGUKCk9yaWdpbmFsIGNvdmVyIGxldHRlcgo9 PT09PT09PT09PT09PT09PT09PT0KCkhpLAoKVGhlIHdvcmsgb24gYSBjb21tb24gQ0VDIGZyYW1l d29yayB3YXMgc3RhcnRlZCBvdmVyIHRocmVlIHllYXJzIGFnbyBieSBIYW5zClZlcmt1aWwuIFVu Zm9ydHVuYXRlbHkgdGhlIHdvcmsgaGFzIHN0YWxsZWQuIEFzIEkgaGF2ZSByZWNlaXZlZCB0aGUg dGFzayBvZgpjcmVhdGluZyBhIGRyaXZlciBmb3IgdGhlIENFQyBpbnRlcmZhY2UgbW9kdWxlIHBy ZXNlbnQgb24gdGhlIEV4eW5vcyByYW5nZSBvZgpTb0NzLCBJIGdvdCBpbiB0b3VjaCB3aXRoIEhh bnMuIEhlIHJlcGllZCB0aGF0IHRoZSB3b3JrIHN0YWxsZWQgZHVlIHRvIGhpcwpsYWNrIG9mIHRp bWUuCgpUaGUgZHJpdmVyIHdhcyBkb25lIGluIHRoZSBtb3N0IHBhcnQgYW5kIHRoZXJlIHdlcmUg b25seSBtaW5vciBmaXhlcyB0aGF0IG5lZWRlZAp0byBiZSBpbXBsZW1lbnRlZC4gSSB3b3VsZCBs aWtlIHRvIGJyaW5nIGJhY2sgdGhlIGRpc2N1c3Npb24gb24gYSBjb21tb24gQ0VDCmludGVyZmFj ZSBmcmFtZXdvcmsuCgpUaGVyZSBhcmUgYSBmZXcgdGhpbmdzIHRoYXQgd2VyZSBzdGlsbCBsZWZ0 IGFzIFRPRE8sIEkgdGhpbmsgdGhleSBtaWdodCBuZWVkCnNvbWUgZGlzY3Vzc2lvbiAtIGZvciBp bnN0YW5jZSB0aGUgd2F5IGhvdyB0aGUgcmVtb3RlIGNvbnRyb2xzIHNob3VsZCBiZQpoYW5kbGVk LgoKQmVzdCB3aXNoZXMsCkthbWlsIERlYnNraQoKT3JpZ2luYWwgUkZDIGJ5IEhhbnMgVmVya3Vp bC9NYXJ0aW4gQnVnZ2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K aHR0cHM6Ly93d3cubWFpbC1hcmNoaXZlLmNvbS9saW51eC1tZWRpYUB2Z2VyLmtlcm5lbC5vcmcv bXNnMjg3MzUuaHRtbAoKSGFucyBWZXJrdWlsICgzKToKICB2NGwyLXN1YmRldjogYWRkIGNlYyBv cHMuCiAgYWR2NzYwNDogYWRkIGNlYyBzdXBwb3J0LgogIGFkdjc1MTE6IGFkZCBjZWMgc3VwcG9y dC4KCkthbWlsIERlYnNraSAoNik6CiAgZHRzOiBhZGQgaGRtaS1jZWMgdG8gdG8gcGluY3RybCBk ZWZpbml0aW9ucwogIGR0czogYWRkIHM1cC1jZWMgdG8gZXh5bm9zNDQxMi1vZHJvaWR1MwogIElu cHV0OiBhZGQga2V5IGNvZGVzIHNwZWNpZmljIHRvIHRoZSBIRE1JIENFQyBidXMKICByYzogYWRk IGEgbWFwIGZvciBkZXZpY2VzIGNvbW11bmljYXRpbmcgb3ZlciB0aGUgSERNSSBDRUMgYnVzCiAg Y2VjOiBhZGQgbmV3IGRyaXZlciBmb3IgY2VjIHN1cHBvcnQuCiAgczVwLWNlYzogQWRkIHM1cC1j ZWMgZHJpdmVyCgogRG9jdW1lbnRhdGlvbi9jZWMudHh0ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMzIxICsrKysrKwogYXJjaC9hcm0vYm9vdC9kdHMvZXh5bm9zNDQxMi1vZHJvaWQt Y29tbW9uLmR0c2kgICAgfCAgICA3ICsKIGFyY2gvYXJtL2Jvb3QvZHRzL2V4eW5vczQ0MTItb2Ry b2lkdTMuZHRzICAgICAgICAgIHwgICAxMyArCiBkcml2ZXJzL21lZGlhL0tjb25maWcgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKwogZHJpdmVycy9tZWRpYS9NYWtlZmlsZSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIGRyaXZlcnMvbWVkaWEvY2VjLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTE1OCArKysrKysrKysrKysrKysrKysr KwogZHJpdmVycy9tZWRpYS9pMmMvYWR2NzUxMS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAg MzI1ICsrKysrLQogZHJpdmVycy9tZWRpYS9pMmMvYWR2NzYwNC5jICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMTgyICsrKwogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9LY29uZmlnICAgICAgICAg ICAgICAgICAgICAgfCAgICA3ICsKIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vTWFrZWZpbGUgICAg ICAgICAgICAgICAgICAgIHwgICAgMSArCiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3M1cC1jZWMv TWFrZWZpbGUgICAgICAgICAgICB8ICAgIDQgKwogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAt Y2VjL2V4eW5vc19oZG1pX2NlYy5oICAgfCAgIDM3ICsKIC4uLi9tZWRpYS9wbGF0Zm9ybS9zNXAt Y2VjL2V4eW5vc19oZG1pX2NlY2N0cmwuYyAgIHwgIDIwOCArKysrCiBkcml2ZXJzL21lZGlhL3Bs YXRmb3JtL3M1cC1jZWMvcmVncy1jZWMuaCAgICAgICAgICB8ICAgOTYgKysKIGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vczVwLWNlYy9zNXBfY2VjLmMgICAgICAgICAgIHwgIDI5MCArKysrKwogZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtY2VjL3M1cF9jZWMuaCAgICAgICAgICAgfCAgMTEzICsr CiBkcml2ZXJzL21lZGlhL3JjL2tleW1hcHMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICB8ICAg IDEgKwogZHJpdmVycy9tZWRpYS9yYy9rZXltYXBzL3JjLWNlYy5jICAgICAgICAgICAgICAgICAg fCAgMTQ0ICsrKwogZHJpdmVycy9tZWRpYS9yYy9yYy1tYWluLmMgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAxICsKIGluY2x1ZGUvbWVkaWEvYWR2NzUxMS5oICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgNiArLQogaW5jbHVkZS9tZWRpYS9jZWMuaCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMTM3ICsrKwogaW5jbHVkZS9tZWRpYS9yYy1jb3JlLmggICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIGluY2x1ZGUvbWVkaWEvcmMtbWFwLmggICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArLQogaW5jbHVkZS9tZWRpYS92NGwyLXN1 YmRldi5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA4ICsKIGluY2x1ZGUvdWFwaS9saW51 eC9jZWMuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDI4MyArKysrKwogaW5jbHVkZS91 YXBpL2xpbnV4L2lucHV0LmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsKIDI2IGZp bGVzIGNoYW5nZWQsIDMzNTkgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2NlYy50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL21lZGlhL2NlYy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9zNXAtY2VjL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9zNXAtY2VjL2V4eW5vc19oZG1pX2NlYy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9zNXAtY2VjL2V4eW5vc19oZG1pX2NlY2N0cmwuYwogY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vczVwLWNlYy9yZWdzLWNlYy5oCiBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zNXAtY2VjL3M1cF9jZWMuYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vczVwLWNlYy9zNXBfY2Vj LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3JjL2tleW1hcHMvcmMtY2VjLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL21lZGlhL2NlYy5oCiBjcmVhdGUgbW9kZSAxMDA2 NDQgaW5jbHVkZS91YXBpL2xpbnV4L2NlYy5oCgotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK