From patchwork Thu Mar 26 10:34:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Riesen X-Patchwork-Id: 202781 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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED autolearn=unavailable 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 57007C43331 for ; Thu, 26 Mar 2020 10:42:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2C4A020714 for ; Thu, 26 Mar 2020 10:42:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728021AbgCZKmK (ORCPT ); Thu, 26 Mar 2020 06:42:10 -0400 Received: from mout.kundenserver.de ([212.227.126.134]:39881 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727560AbgCZKmK (ORCPT ); Thu, 26 Mar 2020 06:42:10 -0400 Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MIMXE-1j3AMW2XBM-00EJil for ; Thu, 26 Mar 2020 11:42:08 +0100 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id 5F3A6650487 for ; Thu, 26 Mar 2020 10:42:08 +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 kxfwaLay3IXT for ; Thu, 26 Mar 2020 11:42:07 +0100 (CET) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id D341464FF7D for ; Thu, 26 Mar 2020 11:42:07 +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:42:07 +0100 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id 4A517804FE; Thu, 26 Mar 2020 11:34:59 +0100 (CET) Date: Thu, 26 Mar 2020 11:34:59 +0100 From: Alex Riesen To: Kieran Bingham CC: Geert Uytterhoeven , Mauro Carvalho Chehab , Hans Verkuil , "Laurent Pinchart" , Rob Herring , Mark Rutland , Kuninori Morimoto , , , , , Subject: [PATCH v4 2/9] media: adv748x: include everything adv748x.h needs into the file 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 References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: 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:K5eB96r3BRoPBN8zR0Zj6koBOdFLcKj4enMWxBAY8TSBhtmIDMo eNzWd0yLz5fZ5xXrX2eL6Vd0PZlFOLPrLR3hmanwjMsKfkT7cYByJaeOHRMOGIdqnhxVj0P 6+OMwNWnLENvFwZvUzby/q5LIRtfMjcPqAPuBF2JWyYaaNfieCojJ8SOP66xLji75CIzncJ 83jnzfI1gLBkmkstrrRfg== X-UI-Out-Filterresults: notjunk:1; V03:K0:MUFCWE6xfFM=:pRUtv5JfuoeVblj2iOfGtS MQmGuIbaZWU/g6I43l4RgRvzGVeFU4NT9PItToRYkMnIbFBN1m2lZZ7ACTADZlr5kdrbVpUOh CXm8EuAeWVXfJEcqbEOjz+11YH82A/xg93qdfk4u7d8Mwj8zRythRX7qyJw2N0SiHYYkhn4ZV L3HRCbQd+9x69luVqc7oDhMnMAucXss/VFZhIYXunK5ZBhkMpbf3IO0qYC1UOGn9JP1iNqTtL XodR5yDLBE15BnRxxOdL/0uhaf4uqngz9x592OUNXlB2SIMTMPsVTjfe+o7S8P8VxDMCMU5m4 AaT9gCcWG9cPY9sqgVTXMa4cyuzuF52uUULZLXhlGxFzMKsiBb/Z07Ow4G4YEUm+Hms4Dz2DA uF8joVrKwpJ0K73UnNMTRhs4vUhB/br8L4IgpKoZrUmew0CUfQRyeNAdizYVwL06Y/jqleiSW MH6aMXReJpCYBz1bdEvx5SV7q4E38Dm+pzIwwJuG9JdoGivVWsaikIOEEvykUkOcwa4WT/d+e GaseTPBgJakTHv09QJCzZZF1L6tPz9U42XfOFJwKFqPKZLvfYoCmF92Cvv/sYOOwxgYmWg0B2 CttAogjJ4RqkbkGvkmQd4WteIkuogMNvK+kPBSl+a8AcLJf8KHfu8wugWccce7lVAOsAr137J 9c6QsQyBK/Bh+INUaKWwxQW0oYBNSZPm5JOrjVYNYfUfwY0gKbSLK9VWPIivXyBNIfNNyCAE+ 0AXNb3oZPCIhKrHJ2AAIGTvS+UhBINnGd3c77xEdVTDxBmHqAXOAF9WCU7Sr5f6V4nOuTYrks fO5eVnhyDxa7svU6DFIOMHOsD3U4gLnB5FvHkqkXhH1Y5u/NM7Y7ViW9vA/SGdQfu8VBh6n Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org To follow the established practice of not depending on others to pull everything in. While at it, make sure it stays like this. Signed-off-by: Alexander Riesen Reviewed-by: Laurent Pinchart --- drivers/media/i2c/adv748x/adv748x-afe.c | 6 ++---- drivers/media/i2c/adv748x/adv748x-core.c | 6 ++---- drivers/media/i2c/adv748x/adv748x-csi2.c | 6 ++---- drivers/media/i2c/adv748x/adv748x-hdmi.c | 6 ++---- drivers/media/i2c/adv748x/adv748x.h | 2 ++ 5 files changed, 10 insertions(+), 16 deletions(-) diff --git a/drivers/media/i2c/adv748x/adv748x-afe.c b/drivers/media/i2c/adv748x/adv748x-afe.c index dbbb1e4d6363..5a25d1fbe25f 100644 --- a/drivers/media/i2c/adv748x/adv748x-afe.c +++ b/drivers/media/i2c/adv748x/adv748x-afe.c @@ -6,18 +6,16 @@ * Copyright (C) 2017 Renesas Electronics Corp. */ +#include "adv748x.h" + #include #include #include #include -#include -#include #include #include -#include "adv748x.h" - /* ----------------------------------------------------------------------------- * SDP */ diff --git a/drivers/media/i2c/adv748x/adv748x-core.c b/drivers/media/i2c/adv748x/adv748x-core.c index c3fb113cef62..5c59aad319d1 100644 --- a/drivers/media/i2c/adv748x/adv748x-core.c +++ b/drivers/media/i2c/adv748x/adv748x-core.c @@ -10,6 +10,8 @@ * Kieran Bingham */ +#include "adv748x.h" + #include #include #include @@ -20,14 +22,10 @@ #include #include -#include -#include #include #include #include -#include "adv748x.h" - /* ----------------------------------------------------------------------------- * Register manipulation */ diff --git a/drivers/media/i2c/adv748x/adv748x-csi2.c b/drivers/media/i2c/adv748x/adv748x-csi2.c index c43ce5d78723..c00d4f347d95 100644 --- a/drivers/media/i2c/adv748x/adv748x-csi2.c +++ b/drivers/media/i2c/adv748x/adv748x-csi2.c @@ -5,15 +5,13 @@ * Copyright (C) 2017 Renesas Electronics Corp. */ +#include "adv748x.h" + #include #include -#include -#include #include -#include "adv748x.h" - static int adv748x_csi2_set_virtual_channel(struct adv748x_csi2 *tx, unsigned int vc) { diff --git a/drivers/media/i2c/adv748x/adv748x-hdmi.c b/drivers/media/i2c/adv748x/adv748x-hdmi.c index c557f8fdf11a..f598acec3b5c 100644 --- a/drivers/media/i2c/adv748x/adv748x-hdmi.c +++ b/drivers/media/i2c/adv748x/adv748x-hdmi.c @@ -5,18 +5,16 @@ * Copyright (C) 2017 Renesas Electronics Corp. */ +#include "adv748x.h" + #include #include -#include -#include #include #include #include -#include "adv748x.h" - /* ----------------------------------------------------------------------------- * HDMI and CP */ diff --git a/drivers/media/i2c/adv748x/adv748x.h b/drivers/media/i2c/adv748x/adv748x.h index fccb388ce179..09aab4138c3f 100644 --- a/drivers/media/i2c/adv748x/adv748x.h +++ b/drivers/media/i2c/adv748x/adv748x.h @@ -19,6 +19,8 @@ */ #include +#include +#include #ifndef _ADV748X_H_ #define _ADV748X_H_ From patchwork Thu Mar 26 10:35:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Riesen X-Patchwork-Id: 202780 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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED autolearn=unavailable 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 F308BC43331 for ; Thu, 26 Mar 2020 10:47:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C865A2070A for ; Thu, 26 Mar 2020 10:47:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727590AbgCZKro (ORCPT ); Thu, 26 Mar 2020 06:47:44 -0400 Received: from mout.kundenserver.de ([212.227.126.133]:42999 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727560AbgCZKro (ORCPT ); Thu, 26 Mar 2020 06:47:44 -0400 Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue011 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MbAxU-1joGtK0leS-00ba32 for ; Thu, 26 Mar 2020 11:47:42 +0100 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id ED7D965047A for ; Thu, 26 Mar 2020 10:47:41 +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 tKzs1-F_hnoV for ; Thu, 26 Mar 2020 11:47:41 +0100 (CET) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id 9961D65036D for ; Thu, 26 Mar 2020 11:47:41 +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:47:41 +0100 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id 4A99B80501; Thu, 26 Mar 2020 11:35:25 +0100 (CET) Date: Thu, 26 Mar 2020 11:35:25 +0100 From: Alex Riesen To: Kieran Bingham CC: Geert Uytterhoeven , Mauro Carvalho Chehab , Hans Verkuil , "Laurent Pinchart" , Rob Herring , Mark Rutland , Kuninori Morimoto , , , , , Subject: [PATCH v4 4/9] media: adv748x: add definitions for audio output related registers 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 References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: 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:FFvW2+1HsYd8QlydAOoYRzgQbT+7UzACGdbx7QAu3KeumpWymQO nuUP7pbpUnD6GZspyLIFojuBcPeTQRKhGNylHXNSxA8WyWcc8++JX+WNF/W9oXVjyVckSKo Xb5coIGhpcaTdBqyxbUMLfWF6WlamgJUDJnGDGUT9OpB1BBxleqaUuP43kAzHvX8h87Gpqp lJeB96B8wyJQ4V4P/g02A== X-UI-Out-Filterresults: notjunk:1; V03:K0:TjhKyMd2LE8=:GAeREHCarxpqCBHtmeY32F TP3ogmch8F21v9mptswlxyZIzaqhYUBcwGKRsZC/aMsy8uLpAO7Kg0W7l11C3jnnb79eedtsz YN/HoLkWNC9oE85Dsp2Y4iXqUZhF6joopZf9kqF8816IlHFvyndicVW6OobEvHY1u1eD8zQaO RA7MTUd4n5dKZMqLD1gPcxuXDmlrNU5CugWPd8tTn9x6ivhi//QiNzBLEP/JYHvDQO0oZeojq nO93JCptoiJBHCPeFEIZmQyAFdtuSmrRMv5MCw3EBJ3nCFGz2kJhEIaXlCckJBLqCw+YVc4nW zjvG89/M2ZZcaRFzHyRbokF2ozp/jKKLKlX+9q7ivLebjj4ok4veuGcGbCo1ZqU73uzeK+sNr M5rgiEOu9rC8SHVBf9NMrFsqnElsArQLL1GvOv5HLIvT2wtU/vVU7HsksUr+RSzuRh8Xk17GE gjWEuC0xK1IyJH1gApQoMK6dU0/nEtJIPrnoK+I2UZXcHNRlevcfiqXU29weG9revXI1VmJgf BkAsoLbsHPL0ugJPdxrJAC9k0Vv3lHYmrUoTlKP4Yl0SLY13L07SbcuTE7qtHJvGUJo6gYFsV yvyMQd4mk5OPPC1yZoCFwrNh56a/KGDrWco6jZQOVnrF/Xtsjz05gmpMRkhnEKYVnWVwTrGRH wdZygoaTNHZOh4vEsnwkxFjJza0SBVWQFyzkQlZp98Fex7cFxYOy5kkv0Ec4Y0zPmc6xpeIZA 3B5gv8CDbvFU/3t6WxuAVdRfsgKWxLFY03ge1oXha2qfb9C7n+2wFTnmIYvIOJyB4M1A3ZX+8 6inNlAMTXFMNARmOZckrdcIkgX7zySUDuFPlomXJRJBk1xLH3lv63+5nEFBM4re3FooW2jX Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Signed-off-by: Alexander Riesen --- drivers/media/i2c/adv748x/adv748x.h | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/drivers/media/i2c/adv748x/adv748x.h b/drivers/media/i2c/adv748x/adv748x.h index 0a9d78c2870b..1a1ea70086c6 100644 --- a/drivers/media/i2c/adv748x/adv748x.h +++ b/drivers/media/i2c/adv748x/adv748x.h @@ -226,6 +226,11 @@ struct adv748x_state { #define ADV748X_IO_VID_STD 0x05 +#define ADV748X_IO_PAD_CONTROLS 0x0e +#define ADV748X_IO_PAD_CONTROLS_TRI_AUD BIT(5) +#define ADV748X_IO_PAD_CONTROLS_PDN_AUD BIT(1) +#define ADV748X_IO_PAD_CONTROLS1 0x1d + #define ADV748X_IO_10 0x10 /* io_reg_10 */ #define ADV748X_IO_10_CSI4_EN BIT(7) #define ADV748X_IO_10_CSI1_EN BIT(6) @@ -248,7 +253,21 @@ struct adv748x_state { #define ADV748X_IO_REG_FF 0xff #define ADV748X_IO_REG_FF_MAIN_RESET 0xff +/* DPLL Map */ +#define ADV748X_DPLL_MCLK_FS 0xb5 +#define ADV748X_DPLL_MCLK_FS_N_MASK GENMASK(2, 0) + /* HDMI RX Map */ +#define ADV748X_HDMI_I2S 0x03 /* I2S mode and width */ +#define ADV748X_HDMI_I2SBITWIDTH_MASK GENMASK(4, 0) +#define ADV748X_HDMI_I2SOUTMODE_SHIFT 5 +#define ADV748X_HDMI_I2SOUTMODE_MASK \ + GENMASK(6, ADV748X_HDMI_I2SOUTMODE_SHIFT) +#define ADV748X_I2SOUTMODE_I2S 0 +#define ADV748X_I2SOUTMODE_RIGHT_J 1 +#define ADV748X_I2SOUTMODE_LEFT_J 2 +#define ADV748X_I2SOUTMODE_SPDIF 3 + #define ADV748X_HDMI_LW1 0x07 /* line width_1 */ #define ADV748X_HDMI_LW1_VERT_FILTER BIT(7) #define ADV748X_HDMI_LW1_DE_REGEN BIT(5) @@ -260,6 +279,16 @@ struct adv748x_state { #define ADV748X_HDMI_F1H1 0x0b /* field1 height_1 */ #define ADV748X_HDMI_F1H1_INTERLACED BIT(5) +#define ADV748X_HDMI_MUTE_CTRL 0x1a +#define ADV748X_HDMI_MUTE_CTRL_MUTE_AUDIO BIT(4) +#define ADV748X_HDMI_MUTE_CTRL_WAIT_UNMUTE_MASK GENMASK(3, 1) +#define ADV748X_HDMI_MUTE_CTRL_NOT_AUTO_UNMUTE BIT(0) + +#define ADV748X_HDMI_AUDIO_MUTE_SPEED 0x0f +#define ADV748X_HDMI_AUDIO_MUTE_SPEED_MASK GENMASK(4, 0) +#define ADV748X_MAN_AUDIO_DL_BYPASS BIT(7) +#define ADV748X_AUDIO_DELAY_LINE_BYPASS BIT(6) + #define ADV748X_HDMI_HFRONT_PORCH 0x20 /* hsync_front_porch_1 */ #define ADV748X_HDMI_HFRONT_PORCH_MASK 0x1fff @@ -281,6 +310,9 @@ struct adv748x_state { #define ADV748X_HDMI_TMDS_1 0x51 /* hdmi_reg_51 */ #define ADV748X_HDMI_TMDS_2 0x52 /* hdmi_reg_52 */ +#define ADV748X_HDMI_REG_6D 0x6d /* hdmi_reg_6d */ +#define ADV748X_I2S_TDM_MODE_ENABLE BIT(7) + /* HDMI RX Repeater Map */ #define ADV748X_REPEATER_EDID_SZ 0x70 /* primary_edid_size */ #define ADV748X_REPEATER_EDID_SZ_SHIFT 4 From patchwork Thu Mar 26 10:35:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Riesen X-Patchwork-Id: 202777 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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED autolearn=ham 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 627A7C43331 for ; Thu, 26 Mar 2020 10:58:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 403EA2070A for ; Thu, 26 Mar 2020 10:58:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727841AbgCZK6e (ORCPT ); Thu, 26 Mar 2020 06:58:34 -0400 Received: from mout.kundenserver.de ([212.227.126.133]:40719 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727688AbgCZK6e (ORCPT ); Thu, 26 Mar 2020 06:58:34 -0400 Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MxUfh-1jSdVI0Ysz-00xwIw for ; Thu, 26 Mar 2020 11:58:33 +0100 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id E4F256502CC for ; Thu, 26 Mar 2020 10:58:32 +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 l4pMVAJoz0qN for ; Thu, 26 Mar 2020 11:58:32 +0100 (CET) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id A6BA2650227 for ; Thu, 26 Mar 2020 11:58:32 +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:58:32 +0100 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id DD5CD80504; Thu, 26 Mar 2020 11:35:42 +0100 (CET) Date: Thu, 26 Mar 2020 11:35:42 +0100 From: Alex Riesen To: Kieran Bingham CC: Geert Uytterhoeven , Mauro Carvalho Chehab , Hans Verkuil , "Laurent Pinchart" , Rob Herring , Mark Rutland , Kuninori Morimoto , , , , , Subject: [PATCH v4 7/9] media: adv748x: only activate DAI if it is described in device tree 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 References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: 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:8yHLjZKnxmLfjevVBzoLZrR+wTcM8mh4uH6Cgux8g4ylBd+tLbN GyTOpovqqsA9tXef8QwgKb1bbU2LIQioRg77hoiF+BqwsSxYLY44pPUfAY4/I/Amql21nm0 oLLkYIBwSQy6AFYWBERnqmY/ztPhT/ABk/7fJOD2VC6N8Q9XZZroUE35SWyCn1DcQ0e1YJL I0zGfRdPfzzNnbXkr8jZQ== X-UI-Out-Filterresults: notjunk:1; V03:K0:WqSgTCOyS5c=:srOcEbslKYe1gz4M7qQL3i 9IGYiblM3rYL3CQCQ5HqaLhGpSzOhAbrStsqPfG4DziE2upCDUo/SrnCwA8G0YEyFRmRFa5RW VhMi95V9JjF0JioXuahV0gMvNb5KsSnlRXYOFO+zzLCZNhbUQtrMws2RsUowyx3UQDJEpUwon d/t4wpqo137PTnoAxx4Eqh32jgYC32KVsi2AxA0hWYQOU9CF5yoT+MsEXrHTH8u0t7NbtDCtJ SeLrE7mCQd2YQrFsNsyPpL8+wuPfgRHFb2R7fCfinpmgaRSybp4QWm/N3NNKf5JMru5uZcAQB ZRPx05NvUjdMVJeoQO1TtEDjPyuNtH2t034kGQ9RUzGw28mpPzH/dK3Ta9jsOdJU6DDAYdOwa 0Nh6fAwrugjApdJKfGRp7XIqRVTuqsn9D210ZEdxMcaJ4/vpAsA0x32/4uo/nUv0TGYMatgU6 mKOa0efKucCJCoogR4qDXXbTbXrloLdmW1wd5wnA+VxIGAUim1IeDKFS4GpAXr0GgTeo1nVca EiiUDyo2nBIyUzk8NMS/4r3jypV1r/WSOjFYI3ILIejk97WR61bEcabCtZLCfoXkn3QGcSO9a LTdkqVh6VVfkhRcYmhCZX7WQYgu0WMNLjwdajePRcHGpu80BBmhinrG/q3xJ0jUBoHdkmJ/ov R2P8iCbgqn1eRcPOHijcQ4M6+dwVL5+OiS/RmcWaSP1+A66pREXjc9ShbvJ9kTzpsA13qYdlf Wa1Uo1ANkNM9atR1R3ZihD0vQNnZfLOPAgtnhflqlJg36gEy1PXHZkT2c4i9M8hYMnWuEHhAJ 5gErqZmUmG56aaDUsi3qHIfanOlX0HioMe0H25kJt2DyJHNbPciRQPctaI8jS8RqEkCre14 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org To avoid setting it up even if the hardware is not actually connected to anything physically. Besides, the bindings explicitly notes that port definitions are "optional if they are not connected to anything at the hardware level". Signed-off-by: Alexander Riesen --- drivers/media/i2c/adv748x/adv748x-dai.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/media/i2c/adv748x/adv748x-dai.c b/drivers/media/i2c/adv748x/adv748x-dai.c index 185f78023e91..f9cc47fa9ad1 100644 --- a/drivers/media/i2c/adv748x/adv748x-dai.c +++ b/drivers/media/i2c/adv748x/adv748x-dai.c @@ -216,6 +216,11 @@ int adv748x_dai_init(struct adv748x_dai *dai) int ret; struct adv748x_state *state = adv748x_dai_to_state(dai); + if (!state->endpoints[ADV748X_PORT_I2S]) { + adv_info(state, "no I2S port, DAI disabled\n"); + ret = 0; + goto fail; + } dai->mclk_name = kasprintf(GFP_KERNEL, "%s.%s-i2s-mclk", state->dev->driver->name, dev_name(state->dev)); From patchwork Thu Mar 26 10:35:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Riesen X-Patchwork-Id: 202779 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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED autolearn=unavailable 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 C24FDC43331 for ; Thu, 26 Mar 2020 10:55:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 982412070A for ; Thu, 26 Mar 2020 10:55:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727880AbgCZKzO (ORCPT ); Thu, 26 Mar 2020 06:55:14 -0400 Received: from mout.kundenserver.de ([212.227.126.130]:45053 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727841AbgCZKzO (ORCPT ); Thu, 26 Mar 2020 06:55:14 -0400 Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MbS0X-1joY7i3xiD-00brFA for ; Thu, 26 Mar 2020 11:55:11 +0100 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id BD6B164BC07 for ; Thu, 26 Mar 2020 10:55: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 eNPgLi1eDb8m for ; Thu, 26 Mar 2020 11:55:11 +0100 (CET) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id 4652465047C for ; Thu, 26 Mar 2020 11:55:11 +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:55:11 +0100 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id 92B2B80506; Thu, 26 Mar 2020 11:35:44 +0100 (CET) Date: Thu, 26 Mar 2020 11:35:44 +0100 From: Alex Riesen To: Kieran Bingham CC: Geert Uytterhoeven , Mauro Carvalho Chehab , Hans Verkuil , "Laurent Pinchart" , Rob Herring , Mark Rutland , Kuninori Morimoto , , , , , Subject: [PATCH v4 9/9] arm64: dts: renesas: salvator: add a connection from adv748x codec (HDMI input) to the R-Car SoC 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 References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: 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:kii6Psjcs2Wu2IFdOe1IlsQu/QrH2wrG0n8xl41pPpLjFlwBsP/ z56sXAaMVJ2acAFW1yONAOUx0+sokQjFUQ2zz3Y4intuSPXp/w25LmkPXjBmwuwMD3oROkq m3FIB7YS7WjCSIOFyTx8ilBmaAzT9SgFF3P2lOPxeuIaCDLfEySvlgKHDpxfox0ZuNKbqsi wjVCihTtJjOf3b/jjKwAw== X-UI-Out-Filterresults: notjunk:1; V03:K0:fNUQ8/3depM=:zf9DONn/1wxZbt5jKI64bF MPSYqGP0qNuSJow6m9Zq44uq7GzlK+lB8Wq4oR5rqGPJ2ttchmd5UlSukx1zSNorAhUYBT0DS 2rMo6P6l7r/fajBhPen/VROPQjzCaBnyHpBFqJsF+HNc3ySBxailn7ZaMicltZsBWSSiOPvYa jEAQuN8RWIYsUYdICwH0cNj/I5D3AG18zJyCg91WUlky3T2KittjQZdWex1UVqy5pYd7J8DyW WqE0dYMJGBUsgZOhWoNZFlmvl69EejzHADal4sBQhbSdpY1tYKKHziJ1QRMn8ATk3bVKyrCn+ tEHLzLT+4gNGbZyN+nscUMq5IgSvVHiMuhmdQW089BVWTxkfa17WUkMXJO07f7a2n3NXid276 rTTWIaAZGbWKDg0ydZr2qu6YQR/kQXbAZ2TfyeC/Y3S6+R/xSv0Y7Cd8wrzvnTz8Q0A/zvg11 rmL/7t8uycQC6cLDEkEzHPPt/vRAri5HlpaKxZqqEo83JAMGc7VcE54KMCRbaABZ/90fVB+35 70IpCnokWl7RYHsd+q6fnaXBHHItg1wREVlSPPU3o9+angnlIY+rw5QWCWoLTZ37tfunq4e1E P+Y39Tp4a+6OqsACPd/gGPmam5/KlM+qXKO/q4KC8zOZ5NlOhmKcyJ1NqXpSsBgnynTjjosB6 hGx5k5YPZl0d3/dRMudrPcvfO0mgF7F7J8DGmPPEYR2lg7Oz1r4x/1n2s8T0MivJDZd3YSXC2 bTidI7r3SMzpyIhA128guGRSOjDUIZUfY6NjYydl0umJZNMu3nDv7ZcMzyMoTAQxHi+WLaD1O 5pP74rnkUy+stMTPyGIrncWcCMc2bTeawZW5V36VLjtGy3suwgxWgoWkB84OQWtfWapmNka Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org As all known variants of the Salvator board have the HDMI decoder chip (the ADV7482) connected to the SSI4 on R-Car SoC, the ADV7482 endpoint and the connection definitions are placed in the common board file. For the same reason, the CLK_C clock line and I2C configuration (similar to the ak4613, on the same interface) are added into the common file. Signed-off-by: Alexander Riesen --- v2: Also add ssi4_ctrl pin group in 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. The adv748x shall provide its own implementation of the output clock (MCLK), connected to the audio_clk_c line of the R-Car SoC. If the frequency of the ADV748x MCLK were fixed, the clock implementation were not necessary, but it does not seem so: the MCLK depends on the value in a speed multiplier register and the input sample rate (48kHz). Remove audio clock C from the clocks of adv7482. The clocks property of the video-receiver node lists the input clocks of the device, which is quite the opposite from the original intention: the adv7482 on Salvator X boards is a provide of the MCLK clock for I2S audio output. Remove old definition of &sound_card.dais and reduce size of changes in the Salvator-X specific device tree source. Declare video-receiver a clock producer, as the adv748x driver implements the master clock used I2S audio output. Suggested-by: Geert Uytterhoeven v2: The driver provides only MCLK clock, not the SCLK and LRCLK, which are part of the I2S protocol. Suggested-by: Laurent Pinchart --- .../boot/dts/renesas/r8a77950-salvator-x.dts | 3 +- .../boot/dts/renesas/salvator-common.dtsi | 47 +++++++++++++++++-- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts index 2438825c9b22..e16c146808b6 100644 --- a/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts +++ b/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts @@ -146,7 +146,8 @@ &sata { &sound_card { dais = <&rsnd_port0 /* ak4613 */ &rsnd_port1 /* HDMI0 */ - &rsnd_port2>; /* HDMI1 */ + &rsnd_port2 /* HDMI1 */ + &rsnd_port3>; /* adv7482 hdmi-in */ }; &usb2_phy2 { diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi index 98bbcafc8c0d..ead7f8d7a929 100644 --- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi +++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi @@ -460,7 +460,7 @@ pca9654: gpio@20 { #gpio-cells = <2>; }; - video-receiver@70 { + adv7482_hdmi_in: video-receiver@70 { compatible = "adi,adv7482"; reg = <0x70 0x71 0x72 0x73 0x74 0x75 0x60 0x61 0x62 0x63 0x64 0x65>; @@ -469,6 +469,7 @@ video-receiver@70 { #address-cells = <1>; #size-cells = <0>; + #clock-cells = <0>; /* the MCLK for I2S output */ interrupt-parent = <&gpio6>; interrupt-names = "intrq1", "intrq2"; @@ -510,6 +511,15 @@ adv7482_txb: endpoint { remote-endpoint = <&csi20_in>; }; }; + + port@c { + reg = <12>; + + adv7482_i2s: endpoint { + remote-endpoint = <&rsnd_endpoint3>; + system-clock-direction-out; + }; + }; }; csa_vdd: adc@7c { @@ -684,7 +694,8 @@ sdhi3_pins_uhs: sd3_uhs { }; sound_pins: sound { - groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a"; + groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a", + "ssi4_data", "ssi4_ctrl"; function = "ssi"; }; @@ -733,8 +744,8 @@ &rcar_sound { pinctrl-0 = <&sound_pins &sound_clk_pins>; pinctrl-names = "default"; - /* Single DAI */ - #sound-dai-cells = <0>; + /* multi DAI */ + #sound-dai-cells = <1>; /* audio_clkout0/1/2/3 */ #clock-cells = <1>; @@ -758,8 +769,19 @@ &rcar_sound { <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, <&audio_clk_a>, <&cs2000>, - <&audio_clk_c>, + <&adv7482_hdmi_in>, <&cpg CPG_CORE CPG_AUDIO_CLK_I>; + clock-names = "ssi-all", + "ssi.9", "ssi.8", "ssi.7", "ssi.6", + "ssi.5", "ssi.4", "ssi.3", "ssi.2", + "ssi.1", "ssi.0", + "src.9", "src.8", "src.7", "src.6", + "src.5", "src.4", "src.3", "src.2", + "src.1", "src.0", + "mix.1", "mix.0", + "ctu.1", "ctu.0", + "dvc.0", "dvc.1", + "clk_a", "clk_b", "clk_c", "clk_i"; ports { #address-cells = <1>; @@ -777,6 +799,21 @@ rsnd_endpoint0: endpoint { capture = <&ssi1 &src1 &dvc1>; }; }; + rsnd_port3: port@3 { + reg = <3>; + rsnd_endpoint3: endpoint { + remote-endpoint = <&adv7482_i2s>; + + dai-tdm-slot-num = <8>; + dai-tdm-slot-width = <32>; + dai-format = "left_j"; + mclk-fs = <256>; + bitclock-master = <&adv7482_i2s>; + frame-master = <&adv7482_i2s>; + + capture = <&ssi4>; + }; + }; }; };