From patchwork Mon May 29 08:34:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100639 Delivered-To: patch@linaro.org Received: by 10.140.96.100 with SMTP id j91csp233816qge; Mon, 29 May 2017 01:34:26 -0700 (PDT) X-Received: by 10.99.170.1 with SMTP id e1mr17390794pgf.128.1496046866348; Mon, 29 May 2017 01:34:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1496046866; cv=none; d=google.com; s=arc-20160816; b=FHpn5kjJ7qv9ap2rg2viuxpWlZcpr1ugyB1g/BNSE4w8xvXb5jqczf8Vkn65BE+0l0 fUlb/QIL8asctZJol6zgS0QF01tGL3NeZAJ+Jm/f9Qv/24qd60AjlmfROBqOZ2ckICvm zq+wLuWTdoj2H3fZAwNsz5PUfreLtYVXxMVLNnMUV+3jSj9a8bORHqMF/+0uRBrjaKep Gn0mI+t0bSCH6f+TkioUX+ENbfVAkLSdffAfTjJtzRbVM/TKDlH+F5cNYzys7JPZRzfs XB5bgHtO9/vjhkwns9z0XfXq8BES3RibhsXgxtO5l+nsndhThoPURrNq+E+hFIN6Z2Uu XgBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=FgmBidKEJ+pe8fS9/hTqSGMh97LdvbUOVdCWzZ1CvlA=; b=y/04EcT5O5y6Uvk0pxQpIywhP1d1SwUUf6Kf+KlGozoPxa4qEmPPBhKpE00LpmW5+N 7kqkUi6kMGUjzoaHIVbIyislG5oIsdeuP0UwEWHX72BnqwHckx1n0NnmEuOUlA645AUm xbaXvQQrGCZ6bQC9WvUD+6RODLhTVyLALcHQjf4BGKahYG4DsctqFhQpqq725Ny8JtAy ie10/2nsJpVzwOCj5EiJdYK9H5lGLrSJOlG2mUN2A20g3ZaAcMds1En1z10B0i6I0ncB QOV1y+yFXX/5OKU1aA4MaKPGBGW/iyvD7PMLJihRGVO72MxDVV9YywEB7NkvJeh/l5sh Nd0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r90si9853540pfk.245.2017.05.29.01.34.26; Mon, 29 May 2017 01:34:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750871AbdE2IeZ (ORCPT + 7 others); Mon, 29 May 2017 04:34:25 -0400 Received: from mail-wm0-f47.google.com ([74.125.82.47]:35932 "EHLO mail-wm0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750787AbdE2IeY (ORCPT ); Mon, 29 May 2017 04:34:24 -0400 Received: by mail-wm0-f47.google.com with SMTP id 7so46351563wmo.1 for ; Mon, 29 May 2017 01:34:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=gVObfaYqzhkaTkbdlcy74tbu0lPliRxkYifTofaxWeM=; b=HXnyy4xVcNokCawNxkXXITDfF8XEcN76n5YmdoWOvWjRXlk/B6qjQf5lbMzLxY7ZBC md3OA/qCIa1YH0osJPeZf8ZRdy0yDO4RXAU5EZlj7Xs/dXsFqAza8iMtDg3UbTPQXi9j PYAUYQLMqcKVgBE8swkr7fqUwC+Z6NGj2gNyc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=gVObfaYqzhkaTkbdlcy74tbu0lPliRxkYifTofaxWeM=; b=UIYFQrATgb0Y9nv6YGV/WKdLWTPfqz7NPmitioae2Y9PvKu291sPznEWiTPHPyqXZD ewOl1daRT7bbm73uavEcShfQTpYrhhmh68UdCPRE8UcPmfcb6H3NbdDBkDTwJ0kO1sbc RyGeMLKSV+swL5AmRnvwLuP8To4Dk/HXFzOGdjrMIY1pO7tngi1pHBd5Exse2be2jKjS 0oMpripr18K244Cy+zYkYTi+NcW5idg3LNd70jbPJWtp29Mo53F7CZPtkS7afyCs3s0B /d8NOFgbtbI4AjFV2on/PK/RKBpGb1wXN5vLTdUUqo8O4ttTiMf/tRbY3Ug0vwn4z5bI FBuw== X-Gm-Message-State: AODbwcAS5zNtWhtGJhiBGoM6FNnE/NAlgz4XeqU4sCSHAhK7Yg81wYEr 9r/V306aiZSmsA46 X-Received: by 10.223.135.42 with SMTP id a39mr8984133wra.113.1496046862561; Mon, 29 May 2017 01:34:22 -0700 (PDT) Received: from lmenx321.st.com. ([80.215.88.243]) by smtp.gmail.com with ESMTPSA id x9sm8160959wmb.21.2017.05.29.01.34.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 29 May 2017 01:34:21 -0700 (PDT) From: Benjamin Gaignard To: yannick.fertre@st.com, alexandre.torgue@st.com, hverkuil@xs4all.nl, devicetree@vger.kernel.org, linux-media@vger.kernel.org, robh@kernel.org, hans.verkuil@cisco.com Cc: Benjamin Gaignard Subject: [PATCH v4 0/2] cec: STM32 driver Date: Mon, 29 May 2017 10:34:13 +0200 Message-Id: <1496046855-5809-1-git-send-email-benjamin.gaignard@linaro.org> X-Mailer: git-send-email 1.9.1 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org version 4: - rebased on Hans cec-config branch - rework bindings commit message - add notifier support - update KConfig version 2: - fix typo in compagnie name - add yannick sign-off - use cec_message instead of custom struct in cec device - add monitor mode I don't change the split between irq handler and irq thread because it would had mean to handle all errors cases irq handler to keep a correct sequence. I don't think it is critical as it is since cec is a very slow protocol. This serie of patches add cec driver for STM32 platforms. This code doesn't implement cec notifier because STM32 doesn't provide HDMI yet but it will be added later. Those patches have been developped on top of media_tree master branch where STM32 DCMI code has not been merged so conflict in Kconfig and Makefile could occur depending of merge ordering. Compliance has been tested on STM32F769. ~ # cec-ctl -p 1.0.0.0 --playback Driver Info: Driver Name : stm32-cec Adapter Name : stm32-cec Capabilities : 0x0000000f Physical Address Logical Addresses Transmit Passthrough Driver version : 4.11.0 Available Logical Addresses: 1 Physical Address : 1.0.0.0 Logical Address Mask : 0x0010 CEC Version : 2.0 Vendor ID : 0x000c03 (HDMI) OSD Name : 'Playback' Logical Addresses : 1 (Allow RC Passthrough) Logical Address : 4 (Playback Device 1) Primary Device Type : Playback Logical Address Type : Playback All Device Types : Playback RC TV Profile : None Device Features : None ~ # cec-compliance -A cec-compliance SHA : 6acac5cec698de39b9398b66c4f5f4db6b2730d8 Driver Info: Driver Name : stm32-cec Adapter Name : stm32-cec Capabilities : 0x0000000f Physical Address Logical Addresses Transmit Passthrough Driver version : 4.11.0 Available Logical Addresses: 1 Physical Address : 1.0.0.0 Logical Address Mask : 0x0010 CEC Version : 2.0 Vendor ID : 0x000c03 Logical Addresses : 1 (Allow RC Passthrough) Logical Address : 4 Primary Device Type : Playback Logical Address Type : Playback All Device Types : Playback RC TV Profile : None Device Features : None Compliance test for device /dev/cec0: The test results mean the following: OK Supported correctly by the device. OK (Not Supported) Not supported and not mandatory for the device. OK (Presumed) Presumably supported. Manually check to confirm. OK (Unexpected) Supported correctly but is not expected to be supported for this device. OK (Refused) Supported by the device, but was refused. FAIL Failed and was expected to be supported by this device. Find remote devices: Polling: OK CEC API: CEC_ADAP_G_CAPS: OK CEC_DQEVENT: OK CEC_ADAP_G/S_PHYS_ADDR: OK CEC_ADAP_G/S_LOG_ADDRS: OK CEC_TRANSMIT: OK CEC_RECEIVE: OK CEC_TRANSMIT/RECEIVE (non-blocking): OK (Presumed) CEC_G/S_MODE: OK CEC_EVENT_LOST_MSGS: OK Network topology: System Information for device 0 (TV) from device 4 (Playback Device 1): CEC Version : 1.4 Physical Address : 0.0.0.0 Primary Device Type : TV Vendor ID : 0x00903e OSD Name : 'TV' Menu Language : fre Power Status : On Total: 10, Succeeded: 10, Failed: 0, Warnings: 0 Benjamin Gaignard (2): dt-bindings: media: stm32 cec driver cec: add STM32 cec driver .../devicetree/bindings/media/st,stm32-cec.txt | 22 ++ drivers/media/platform/Kconfig | 13 + drivers/media/platform/Makefile | 2 + drivers/media/platform/stm32/Makefile | 1 + drivers/media/platform/stm32/stm32-cec.c | 392 +++++++++++++++++++++ 5 files changed, 430 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/st,stm32-cec.txt create mode 100644 drivers/media/platform/stm32/Makefile create mode 100644 drivers/media/platform/stm32/stm32-cec.c -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html