From patchwork Mon May 29 09:38:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100649 Delivered-To: patch@linaro.org Received: by 10.140.96.100 with SMTP id j91csp253158qge; Mon, 29 May 2017 02:38:35 -0700 (PDT) X-Received: by 10.98.217.5 with SMTP id s5mr16617061pfg.42.1496050715829; Mon, 29 May 2017 02:38:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1496050715; cv=none; d=google.com; s=arc-20160816; b=Tu+CxiNFTSonK1/aCMF4L1j86yKSXh7HPipsFRwOZxOPTg+foOJHR/NoM/vLYVpDhk Zz/VI+TZI0LOXRLq/3QmXBJlyxhB8vDRu+TJqqXdMWa2wkAsJwV6gTOTMNTZV+se+GoR Bm3rO9oZ4bg6ePHKHm6Ker5ZBCEYvI+uAQWKC1y6E9Pn5Yp7oyqNeGICpllPOXoQ76tz jTbqN4aRGvsiD6/vSIockutk2YQFHDnGXbV8ZdN7mNH4iwEMS+ntrZbTkkInMuuAu/GG 4YJ81YWIDK1NbSBtzRD0RcCWwHG15LqaRR0uklluiAI+u7kCyaVEvOLR/XZ3jSRW055r Nlyw== 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=Rh/kOvILUXxA0J/Emr3i6Ax7D3NjcVOorz+Y9hA81cE=; b=lIARR2Wmm1J/MJb0U4260PvwuHYghrRrlfVZzufY5a1o3jj+lub/mYZbGv3H1eda29 lJ02Of2V7DZNc6slR7wM7EuKfSH7vBr5ViHEWfV7A8ELUOwvvBzrGlmiZ5ty5mA8hq5K 5poPjQAsRTNNeNUdCtFdddph4bg6R8mIinyWLGljz3iF68ihqB8l9r3Vxxo/+wsnl+mc CxElFaIIFS79SuKfo62fkjvu+nJsdnb41M+HVJPvgUZoktCgFKylOtuNFmCGztrCMFdu A/9/QGfLr3RH9FSBdJ0DJtisffKIi11BodfMs70bF8mlvfd+7anwAY029zz0dUCxd0Ds uSlw== 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 a20si9848345pfh.136.2017.05.29.02.38.35; Mon, 29 May 2017 02:38:35 -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 S1750966AbdE2Jie (ORCPT + 7 others); Mon, 29 May 2017 05:38:34 -0400 Received: from mail-wm0-f50.google.com ([74.125.82.50]:35996 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750854AbdE2Jid (ORCPT ); Mon, 29 May 2017 05:38:33 -0400 Received: by mail-wm0-f50.google.com with SMTP id 7so48528272wmo.1 for ; Mon, 29 May 2017 02:38:32 -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=vn4NQsDwe81RHktpZf1tFAsjODyOb8iHJFOeSeC+gsc=; b=imDmZqewLO9VMMtx/EUneSRNNhJkaRPPOAYr7jbnSPOoZBHP5mn4fFasCVw3Mi0IWD KC0DMVBAF9R6+dpqRtxHSXOMBz1zUFbWYBHInO0UtYLZ49+CZJJKnqRV9Pa+UOdTH3+T 42leiXoNznrd8lZU1fek9U7bwf9cSIj7GJexE= 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=vn4NQsDwe81RHktpZf1tFAsjODyOb8iHJFOeSeC+gsc=; b=f5xEJr8bX6gASOwBiKSgvLXmuG9kdvr4itmkOs+HBC5exmOv9RDu0rFZ9+saHLVOww bnNi41ncwWLCJzZAgmhLlfAiJb38F3OuTelFPO0O+uHHkWW5DVZ78n9ywNKXlAWlkfWR YJh4sicQXJebPTqTgbeqxZ8KfjwP/YzWJoCZuP3fjPcjXaGPNfOLvEtDGUAwOZN6d5K6 SSVf0Yalvx1ybqARr7/lP8U3gRDC8aEkAdF0v81QkW/bFK+uWFNZYbUgNBepcx8D7J4U VRmmj27i0t+2hl9L7EckCbn5s/zWmZxLDySpUeDbmk6w5vHjzUR78OY3sX3VnYXXlvq+ kIQQ== X-Gm-Message-State: AODbwcDgbkPZH91A26xlqovRBOfxmcEenAT+c8THP4YwpZz1wLScfM9C 2L+K9l2Zl1Hs7q4L X-Received: by 10.223.175.214 with SMTP id y22mr9320893wrd.63.1496050712026; Mon, 29 May 2017 02:38:32 -0700 (PDT) Received: from lmenx321.st.com. ([80.215.96.223]) by smtp.gmail.com with ESMTPSA id 201sm14015238wmh.22.2017.05.29.02.38.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 29 May 2017 02:38:31 -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 v5 0/2] cec: STM32 driver Date: Mon, 29 May 2017 11:38:03 +0200 Message-Id: <1496050685-14301-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 5: - remove cec notifier (to be added for drm driver release) 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 | 19 ++ drivers/media/platform/Kconfig | 12 + drivers/media/platform/Makefile | 2 + drivers/media/platform/stm32/Makefile | 1 + drivers/media/platform/stm32/stm32-cec.c | 361 +++++++++++++++++++++ 5 files changed, 395 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