From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 549AAC43331 for ; Thu, 26 Mar 2020 10:35:18 +0000 (UTC) Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1A28F20748 for ; Thu, 26 Mar 2020 10:35:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A28F20748 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=cetitec.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id ED9188707B; Thu, 26 Mar 2020 10:35:17 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8mnNgJpfMoyq; Thu, 26 Mar 2020 10:35:17 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 460DE870B0; Thu, 26 Mar 2020 10:35:17 +0000 (UTC) Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id CDE761BF354 for ; Thu, 26 Mar 2020 10:35:15 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id C9A7C870B0 for ; Thu, 26 Mar 2020 10:35:15 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BmQrvqoO8E1C for ; Thu, 26 Mar 2020 10:35:15 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.135]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 7424F8707B for ; Thu, 26 Mar 2020 10:35:14 +0000 (UTC) Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MQ5nE-1ivVFw0NOa-00M7W3 for ; Thu, 26 Mar 2020 11:35:12 +0100 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id 6123D650370 for ; Thu, 26 Mar 2020 10:35:11 +0000 (UTC) X-Virus-Scanned: amavisd-new at cetitec.com Received: from mail.cetitecgmbh.com ([127.0.0.1]) by pflvmailgateway.corp.cetitec.com (pflvmailgateway.corp.cetitec.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ko11V2pQUMg4 for ; Thu, 26 Mar 2020 11:35:09 +0100 (CET) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id E640865003B for ; Thu, 26 Mar 2020 11:35:09 +0100 (CET) Received: from pflmari.corp.cetitec.com (10.8.5.79) by PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 26 Mar 2020 11:35:09 +0100 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id 5832D804FB; Thu, 26 Mar 2020 11:34:54 +0100 (CET) Date: Thu, 26 Mar 2020 11:34:54 +0100 From: Alex Riesen To: Kieran Bingham Subject: [PATCH v4 0/9] media: adv748x: add support for HDMI audio Message-ID: Mail-Followup-To: Alex Riesen , Kieran Bingham , Geert Uytterhoeven , Mauro Carvalho Chehab , Hans Verkuil , Laurent Pinchart , Rob Herring , Mark Rutland , Kuninori Morimoto , devel@driverdev.osuosl.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org MIME-Version: 1.0 Content-Disposition: inline X-Originating-IP: [10.8.5.79] X-ClientProxiedBy: PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) To PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) X-EsetResult: clean, is OK X-EsetId: 37303A290D7F536A6D7C67 X-Provags-ID: V03:K1:YAGSQ7i4gyf5Mb4TZeHV40nNGhNSyxaY34XH9BdAdBmCkN4/nkE mjsRXVS1c/6EItgeD8w0fg9qT/1DoBrYsVF+H+uB2ajtQpeLH2Y+gTIMFpykH6NHwUlpxOJ aqKJqLVBQDa7M3Jf/j7jlmjGdYuofgEyVsR1QPERn2I1rS+SE/wyAFtsBCcEaTaD7S4VIp8 /fmHAno3CCs9aAY0pBNTQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:wWVIP1hR9Ls=:QckWFRiaHHWnqBiByxYwzk C2wfh3brhA/2F1duRiYqJdDqJp3UGExqQWKxt6LpWkmnvFoZ3MVn/imLoK6UfN0qm3QKqwwxF SLoP3bDur9BZw9epti6CfVYDn1tnuzvwf3fYjssmbS7qm7tFn+YHURycIOBgQISN4oAL1cdc6 ipVCloI+vFeDjS4stVeEcEzl9w6Q/sl84wADnSAyYTMduStkbrRLwd77ugpGrqEuvXxlxbLDv 8ZJdi8aL23agClI67W1j8/I2f7/q9P95ea3NrW6JdJtl2O4ntD/WV8X7/AcCtwn31GSxCTE9Q IimOZHdr954AAWsaNaMzxBaVETkUI4SPQfJxS8MnnbLkIMkGa0DRCbEariWv3rbciOe5TdHKc jRPQfGs6n5XmHZf1PdfVQAkt61spU5+g/TRMNhGDx8oQcSXLOgHb64PEEMZRkvv2DZ1pl672d fiYV5u/Nmg6xa00aauGKB/mOYbq6ajX20CfXX+OMQNhiNN+zFErIG79kfzfKs2N470ZNfsivk m1W4SDFKAk+dYTogvxm601qkHi639Eex8QkZTqmdjEJpD2g5VrFkOzSJdeNwNUMUXMB6ZUCDy dt2Ra14LY+fAB6jFcZPFkJSEpq9/tZKkGcRhzRBAU6+57IJM5KlvGsFZmqZan+gPC84/tp3X4 Z+5fBhHcBfH09PMFgyI4kr9H/gmzMtZy0VDWGop1Oya24ihJtDfIIbukCbkAcub7iAInt9dEk q5p14cPOknrAZ7H37S3Ig3fEn/QvS02wpJ70NFVz5c1nxY9vVWMYl4BbVZMFNom6aNJ97Gf5r gcGmfApGqn3YSDStMyhJ9cEtt/wRwf6ymVopnedo/J8MYtCT8O9fX57qm/8qsODIdV6wNWI X-BeenThere: driverdev-devel@linuxdriverproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Driver Project Developer List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devel@driverdev.osuosl.org, Kuninori Morimoto , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Rob Herring , Geert Uytterhoeven , Laurent Pinchart , Hans Verkuil , Mauro Carvalho Chehab , linux-media@vger.kernel.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" This adds minimal support for accessing the HDMI audio provided through the I2S port available on ADV7481 and ADV7482 decoder devices by ADI. The port carries audio signal from the decoded HDMI stream. Currently, the driver only supports I2S in TDM, 8 channels a 24bit at 48kHz. Furthermore, only left-justified, 8 slots, 32bit/slot TDM, at 256fs has been ever tried. An ADV7482 on the Renesas Salvator-X ES1.1 (R8A77950 SoC) was used during development of this code. Changes since v3: - use clk_hw instead of clk Suggested-by: Stephen Boyd - formatting improvements and use const where possible - removed implementation of log_status and EDID setting ioctls, those will be submitted as separate patches. Suggested-by: Hans Verkuil Changes since v2: - prepare/enable the clock when it is used, as it seems nothing else does this otherwise - give the clock a unique name to ensure it can be registered if there are multiple adv748x devices in the system - remove optionality note from clock cell description to ensure the device description matches the real device (the line is always present, even if not used) Changes since v1: - Add ssi4_ctrl pin group to the sound pins. The pins are responsible for SCK4 (sample clock) WS4 and (word boundary input), and are required for SSI audio input over I2S. Reported-by: Geert Uytterhoeven - Removed the audio clock C from the list of clocks of adv748x, it is exactly the other way around. Reported-by: Geert Uytterhoeven - Add an instance of (currently) fixed rate I2S master clock (MCLK), connected to the audio_clk_c line of the R-Car SoC. Explicitly declare the device a clock producer and add it to the list of clocks used by the audio system of the Salvator-X board. Suggested-by: Geert Uytterhoeven - The implementation of DAI driver has been moved in a separate file and modified to activate audio decoding and I2S streaming using snd_soc_dai_... interfaces. This allows the driver to be used with just ALSA interfaces. - The ioctls for selecting audio output and muting have been removed, as not applicable. Suggested-by: Hans Verkuil I have left implementation of the QUERYCAP in, as it seems to be required by v4l-ctl to support loading of EDID for this node. And setting the EDID is one feature I desperately need: there are devices which plainly refuse to talk to the sink if it does not provide EDID they like. - A device tree configuration without audio port will disable the audio code altogether, supporting integrations where the port is not connected. - The patches have been re-arranged, starting with the generic changes and changes not related to audio directly. Those will be probably sent as a separate series later. - The whole series has been rebased on top of v5.6-rc6 Alex Riesen (9): media: adv748x: fix end-of-line terminators in diagnostic statements media: adv748x: include everything adv748x.h needs into the file media: adv748x: reduce amount of code for bitwise modifications of device registers media: adv748x: add definitions for audio output related registers media: adv748x: add support for HDMI audio media: adv748x: prepare/enable mclk when the audio is used media: adv748x: only activate DAI if it is described in device tree dt-bindings: adv748x: add information about serial audio interface (I2S/TDM) arm64: dts: renesas: salvator: add a connection from adv748x codec (HDMI input) to the R-Car SoC .../devicetree/bindings/media/i2c/adv748x.txt | 16 +- .../boot/dts/renesas/r8a77950-salvator-x.dts | 3 +- .../boot/dts/renesas/salvator-common.dtsi | 47 ++- drivers/media/i2c/adv748x/Makefile | 3 +- drivers/media/i2c/adv748x/adv748x-afe.c | 6 +- drivers/media/i2c/adv748x/adv748x-core.c | 45 +-- drivers/media/i2c/adv748x/adv748x-csi2.c | 8 +- drivers/media/i2c/adv748x/adv748x-dai.c | 278 ++++++++++++++++++ drivers/media/i2c/adv748x/adv748x-hdmi.c | 6 +- drivers/media/i2c/adv748x/adv748x.h | 65 +++- 10 files changed, 435 insertions(+), 42 deletions(-) create mode 100644 drivers/media/i2c/adv748x/adv748x-dai.c -- 2.25.1.25.g9ecbe7eb18 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel