From patchwork Fri Mar 20 16:11:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Riesen X-Patchwork-Id: 203042 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.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS 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 BBC25C4332D for ; Fri, 20 Mar 2020 16:18:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9015120724 for ; Fri, 20 Mar 2020 16:18:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726801AbgCTQS6 (ORCPT ); Fri, 20 Mar 2020 12:18:58 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:39281 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727267AbgCTQS5 (ORCPT ); Fri, 20 Mar 2020 12:18:57 -0400 Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MDhth-1j6DXM3lZ9-00AlLz for ; Fri, 20 Mar 2020 17:18:55 +0100 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id A5DD865035C for ; Fri, 20 Mar 2020 16:18:55 +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 LScJijN4VTR0 for ; Fri, 20 Mar 2020 17:18:55 +0100 (CET) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id 4685D64BB07 for ; Fri, 20 Mar 2020 17:18:55 +0100 (CET) Received: from pflmari.corp.cetitec.com (10.8.5.41) by PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 20 Mar 2020 17:18:55 +0100 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id 44952804FE; Fri, 20 Mar 2020 17:11:43 +0100 (CET) Date: Fri, 20 Mar 2020 17:11:43 +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 v3 02/11] 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.41] 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: 37303A290D7F536A6D7662 X-Provags-ID: V03:K1:fobam5MHGbpar70l10uAFtsjjbFa30nWKL/qAnE+H3M5YRCO3nW oGHDrnPHgdI4FL07h95uX0kEvrgaqlHRqo3fZv+EMP0Hay5tUEISXMAUrSt6AD1EOiTliVw bPKoJMPGmeMZvBWgyJdIOjHCuCgCgyvq6sitp+miqSXlqGryjkf5hDK8nyHZ+WOH8M/EaY6 fBkfSQGYs3OVnMZC7skPA== X-UI-Out-Filterresults: notjunk:1; V03:K0:7iHUeOy4srE=:sAxdI7/84PlRcOS6Onz20n AtT1eMClknOUSE5UZqkl2sKNFuX6D2BiQO+XZpMcM7wGMAEakV/tQP0gVhz1wb6VEKbG7jOnK WrDhzZ2os8cENwKIth62fEJVqXJkhOAKjUxs0ypNTDEt1b44HdSz2L6Vb87oXmse5tfXs8UVD IeC5lIZtG7JYFGHdyM34km/2ltTkWf8/KBvs2zwvR4yXcS7rrBGxwOjHQgEzATjC/I5Hlq1IX Y9nH6tKdTrhniteLHVRTTaIe1AeHqmq7FVByVI9DMlib9GaJqNmL+vW52xjCC0EMcIlZ+ueAI gEv+0YVVGSS0pYdSFoGa6nhq11njogrqYAYVb++LLNcDs0PakhKczENZd9JqPCyURjzXAeHvP zKJN/NhCPaDVMDJAOFLx9GjrSmmGQcn9M57ezaVm974C6cWilRWlUsGLjT0mS4n/NrTyoV/xc HPE1QklugfJTcZmdtO8mB4SPFwZDm1w8Xma+r6wAIgll6RvMc69Z1j86x3EEuSZlTZapsavdE O1nCcEl61ZapUA7WeVMNc77G06xQ9qDSyVKQlUuKyoxz/JvK9l06ZnTlf0MBQCxg+4oU7OMI8 zjJlDWadCISj35RLCqD1KStHbphETHEGWl6oHUCubevYGSEWLPMMiJWeYviKY2E3SuqIsRo/U ICS5T5LzbLkHy6mlSMGpq9yY8qNCo1xmEqkeCpRrJVi8MfN2jCot0Pk5kyDpV1fZbm3ld1Uzo 8wOGxigjuMJtiXyg1PQlnbsR2nt4IoLY/jSUZz+5/+TDXbS/ANTRrIqVSKyjoWHdQat1KQ3O6 IwS38bQMc1roT+lAVXhzCRg8MHFT9GyQ8wdpjlhIXOeGx510YzAE5Kxm35kIPnP//sLPBIZ 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 Fri Mar 20 16:11:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Riesen X-Patchwork-Id: 203041 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.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS 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 06274C4332B for ; Fri, 20 Mar 2020 16:25:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D815A20724 for ; Fri, 20 Mar 2020 16:25:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727120AbgCTQZq (ORCPT ); Fri, 20 Mar 2020 12:25:46 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:58869 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727093AbgCTQZq (ORCPT ); Fri, 20 Mar 2020 12:25:46 -0400 Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MEC8L-1j5fQr0OW5-00AEqo for ; Fri, 20 Mar 2020 17:25:44 +0100 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id DD040650374 for ; Fri, 20 Mar 2020 16:25:43 +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 U21_0FIhEPxh for ; Fri, 20 Mar 2020 17:25:43 +0100 (CET) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id 8D27964F928 for ; Fri, 20 Mar 2020 17:25:43 +0100 (CET) Received: from pflmari.corp.cetitec.com (10.8.5.41) by PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 20 Mar 2020 17:25:43 +0100 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id E8DB480501; Fri, 20 Mar 2020 17:11:47 +0100 (CET) Date: Fri, 20 Mar 2020 17:11:47 +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 v3 04/11] 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.41] 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: 37303A290D7F536A6D7662 X-Provags-ID: V03:K1:r5Z/9UBEjfW+5U64WYUGRa4CmPs+JuE/v3OPUTf6dn+/V66EnuK OjZkgckbt2B6XHxCEwZMw/6vRqWMG0azymgczJVZqu/9K/21L+h1xETISXxY5u4asYKkftT UFddKTy4N/ky0+WOKQ74rmVutly7rHjxshHt7Ltph/a3tYikFfP160tTyqQm2bcxBjFwPrd o5mglV77thJbhj5sU+3Yg== X-UI-Out-Filterresults: notjunk:1; V03:K0:j39cjU4+s3Q=:oJgTfsAd1EYSTRjoxbCwFO jWCR4LVMza1Qk1UqnbVgOSEoS3tnAAaPfmQQLc4eukbVjxStgg/HJYraIhKHc9pyRYai33R71 ibgG5Dck62pVDvYaot5MynR+G8GagUxTc2fH+gwY/R6GF4GLKD9+wdAfHaH2Ke4sjceECBgbb fnZvBge4XxVJWhemkZoVOtlw6lTSNSCLj3lgecx+l9/PuzMFjsKEvOWypP8Dm03njJcL97KB/ DPIvTjAgRleXZmnpGomPCUTSsC/E+mUtUnU4kOl/hVO6pmBTOfLB7Vg5SvLRBaH1BUYfe+7iw Tu010xrHjT01sL5oIzls3DThXyq3p5znUTVyKpUIP479VURlwrJzrxhZgXf8nh+Z4r3iUdBMU f/249v3FrtkpbM5YiQsOgULihI1VqNhpF1RihgClAbzbKHrN0IhQgn7xzyr7a7ibwEz/Sc/3J 0jZN6/8fJW/sGy3HkRTMAvztBqo/rH7fK16WTCXJgFpt1kmU12JAyw661gjmsNH2t4VvsRcut 0pVvYPwTdrYr729bVTzc4EQHXVm5nZAMNDd7cR2X6bzrSfvSc4F6C6q57yO2kwDK4G2iMwBAw 47gw+nFx3DRbs5W0AYeqYzBjbd+SPRRH6OgkW+DFrb3UUsGgOVV7rVbLvvWUu3C6eK8PqwCV5 9x4H5cWh3dt8JAtLta+zLBVibXRCavnus7y8qtlTh+aQ7IDC+I6agc3z6PRu/YUTGA5DMYiAM WVOIM8z+mvHfs38pVH9L0bVLnOtJuXkIqaaKbbqjSTBSuRQq/3UJYJNprdt+BLD50JFXLiE6q 7QetB8W//IRWQqhwjl+QYfrZWiAoYtXsa9Fd9kMkt/dydLgEjls3oc2aq1fPrxmdX57Qpk6 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 Fri Mar 20 16:12:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Riesen X-Patchwork-Id: 203040 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.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS 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 B79D2C4332D for ; Fri, 20 Mar 2020 16:36:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 94E9320753 for ; Fri, 20 Mar 2020 16:36:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727122AbgCTQgE (ORCPT ); Fri, 20 Mar 2020 12:36:04 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:37269 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726935AbgCTQgE (ORCPT ); Fri, 20 Mar 2020 12:36:04 -0400 Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N5FMB-1jN4P1383Z-011Dwq for ; Fri, 20 Mar 2020 17:36:02 +0100 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id 873B4650123 for ; Fri, 20 Mar 2020 16:36:02 +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 k9BT9eNzK3Yn for ; Fri, 20 Mar 2020 17:36:02 +0100 (CET) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id 48E1D64F136 for ; Fri, 20 Mar 2020 17:36:02 +0100 (CET) Received: from pflmari.corp.cetitec.com (10.8.5.41) by PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 20 Mar 2020 17:36:02 +0100 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id 9E6F480504; Fri, 20 Mar 2020 17:12:02 +0100 (CET) Date: Fri, 20 Mar 2020 17:12:02 +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 v3 07/11] 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.41] 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: 37303A290D7F536A6D7660 X-Provags-ID: V03:K1:fFxGd8WEtAg/VQ0vO5eIwdBT1BlBu0xz8eUGLc3iu0quNA0ef4M 6ZPzytSa0FaFM9GzJvXXOF25wfda6wJgGdW8Vyjd79XvaDIDS9CGxkGqd7ifc+RcMXuBmWA eKcj5dRQwY8z+27USKM1/xGnqrInnfbZd8wRmPVI/I+JUQwLVSLxwOVjbPxiGVrZj+HTmaf 1xN4ubXIV0PTlXUvBgGCg== X-UI-Out-Filterresults: notjunk:1; V03:K0:ruFrWWRLW2M=:yLUGHlSxu0S33b/lGTiMm2 TGcz6zOTql6CKYOBAB+rnGIyxkJxNAffRTtuaevOH29zgbnRV+7Cqe+P2iVtFLvMotslVAY1W z17GoH/oPN2JDGKajwBkokUu+y5aZPqQM1cTx9KxsKiBv2VFbyZzDF4d1MCb8O8a/W9edu97H jFLhob1747D3d0dxDBS3ACwcaU5k7aidb+FSLImVQYILX6AreIf4y0YnmBVsMqIji3duZO09a BciFWU7SQPNX6kGJ8midwNy+Odqz0MLVuM9G9OxyL4/rEIz/4ohSNCwoEZOVpO/AzxgzXuVep M1X7rHHx0KXH2TFazSvm2CuP+xWj1rfWOQXi1SS+pi+ctujHhPFca1K/pzLgXhfY6Emg3Ohw/ wt0jjmIlAv4FPA0H+GF3AsRcIcjJ5NvP5QMyspXYAjgdI3xVhi+QR/Z9LK2ixALVeaSyLhVAy 5hFg+bI738WYXcxHinEz7L75Pw/05QsbG6dSGOqUU901tUcekHoMMg5gmnEziRkJmgWcowg7p Vw/B8WyGoSWtOttI5fZ0TGNVN0BJopHMF6ldTAxF0Zjz6L8MjIVbM18xv5yAk+4EGdJWebQMM Cs8dN5ebuUteLGLmmTZnVUlXSELHZzOqZ1dhmurXTQt9y7ieqKQQ8z/Omix1oDgywI8HCkwEq WM9anv5iusPGFbNwYTVqY0u1bk5XPhJumKj+8wbVPB/BIO88HIc9Oxe0i/QnMDkqTDg9NiEjp HkHHczSIE7UsjuiveS7Se5hYS36rcHgtqRAX66GdWFeuESzo7slkNSQ6yfctznyGf/YiCd+wv 15MLfNSniuH9yBcr3zy1pEjotgnwvTd0S/+mkArXETvdJ5V6kUNLAlJk7/78ECX9Cpx+Fl6wB QUAPBwGB0YQxAXKfqt3xzCZ6lsJSj/aIf7D6hgbrEufCBZh1R6q1ppWBvj4Mt4xoqL8qLtD6g M8efZFWURVA1PHShFlcJ97McCiEbwH50= 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 1c673efd4745..f22566094568 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 Fri Mar 20 16:12:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Riesen X-Patchwork-Id: 203039 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.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS 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 DA8F7C4332D for ; Fri, 20 Mar 2020 16:42:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id ADE6A20753 for ; Fri, 20 Mar 2020 16:42:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726935AbgCTQms (ORCPT ); Fri, 20 Mar 2020 12:42:48 -0400 Received: from mout.kundenserver.de ([212.227.126.133]:40913 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727278AbgCTQmr (ORCPT ); Fri, 20 Mar 2020 12:42:47 -0400 Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MG9c4-1j3CCA0kMm-00GWYR for ; Fri, 20 Mar 2020 17:42:46 +0100 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id F0C1764F8B2 for ; Fri, 20 Mar 2020 16:42:45 +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 3DahT27Stjyq for ; Fri, 20 Mar 2020 17:42:45 +0100 (CET) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id 780F864CB99 for ; Fri, 20 Mar 2020 17:42:45 +0100 (CET) Received: from pflmari.corp.cetitec.com (10.8.5.41) by PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 20 Mar 2020 17:42:45 +0100 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id D8C8280506; Fri, 20 Mar 2020 17:12:04 +0100 (CET) Date: Fri, 20 Mar 2020 17:12:04 +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 v3 09/11] arm64: dts: renesas: salvator: add a connection from adv748x codec (HDMI input) to the R-Car SoC Message-ID: <077a97942890b79fef2b271e889055fc07c74939.1584720678.git.alexander.riesen@cetitec.com> 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.41] 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: 37303A290D7F536A6D7660 X-Provags-ID: V03:K1:FnUr8u34lQ2PcyY/8bOb8go9rjlz8bPo5rEYOvxbU0nkLQF4lM8 YuTq0xYV41Bnezf8WOmj59Nbqj3XSMZWLqZnHIPI9byFAGiGCBHLThJ95qpdWx+7PCEVuSE j3tk0Jgy+TXuxN0Os9fU4ebUlg16dm18uQP1tyhqlJ/DGscLdZko6c2QO+n8q31Q4Zln51v Da1uFZXaYlTYq5a5OBsmg== X-UI-Out-Filterresults: notjunk:1; V03:K0:bYNrG6GIVOc=:Fp2mEATxB1EZ5zcbb0tAlN P16fIPNu6mXx3A8xblA6VkP9pR0sdTE87RosrYqjdWtL5wVoqNOcmR6GrcdOSB9eDG0egg9p2 TmhzWodaA4HqRjKUjKVMd8czwovJ2gRyvxiyFpODht6OvqWWUTEL3n3WiNlq0kghbWuxv1T+8 3C198gQGuGLZaDPPDjuVVfyxv0AIYbTyy0Jj3MqnJ//rznshZZosuyHYdyFwAlw5mO6fHdbBC FYha1SzHqdNhgJRJFFc9s8T2ainXc1C+5eE1kzBZjJeArAdrv/6m+5L4IMvHG6oXDqPXyBF1f Hp6EO+YPsjoTXWmtasIWj63Ba3w5SRk0elQfwgazkaxpVEXl2BL0Nl0knxQZwV8c3ZJUUuuZq VhRD7lOTFDfz1BWmtFVFHxyDPDdxPF9MU+XUtqvRPsjX/OVi4oZnaDdmYH5Ymfb4wEWusjzNs WqmIQUHM9JN4nUdrV8k6qaZ0Bwo6U8J3zT8g7qXkQArrmheWv8Gub0jMImVsQ4TheZFA4jRGZ E5UO7ATRBegy8Jn0A2uw9/Jx617vtKrMjzXZIm045gqXsTch2TczS4At8xOKBdd675Em90NME mq4HsJ3NIhCLkpzOTtDkZE+CYodH26KuyBdj6S4vATcJK0DnuxDFwtgG2BbMxskS2GsPL5JTQ v7SzW8P3e4bcpNQnfagk63R2VeVpVGUfbqSjgl2ioZVKunogI1ya5kZARnR6dsQdIoQIFJqFG J3Rzu7coZH14Mnb7WPq36CgoTpnFiCPhMfpy+fFhxZLllcq5uh0X12ST5vEM0QgQSQzwxCHio JLYD1yXX4IFRmIm2EIsEXe4SE0PSMZQvD9/za/JXCwpSe8WtrkpXXonXbFGIZJAIieDE+SK/A KmQgIKYkVbE4ktqwHbGjTwmqUxVQCQIfHeVFONsVC0+KgYLOBI/bISP3+tPIaTYn8qhJ9Ih+O FSn7BcodnP6KlpxHxr3/YMX30z/kvQQs= 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 Reviewed-by: Geert Uytterhoeven --- 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. Suggested-by: Geert Uytterhoeven 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). Suggested-by: Geert Uytterhoeven 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. Suggested-by: Geert Uytterhoeven 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 The driver provides only MCLK clock, not the SCLK and LRCLK, which are part of the I2S protocol. Reviewed-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>; + }; + }; }; };