From patchwork Thu Apr 2 18:34:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Riesen X-Patchwork-Id: 210338 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, 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 99076C43331 for ; Thu, 2 Apr 2020 18:49:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6986120719 for ; Thu, 2 Apr 2020 18:49:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390086AbgDBSts (ORCPT ); Thu, 2 Apr 2020 14:49:48 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:38339 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388778AbgDBSts (ORCPT ); Thu, 2 Apr 2020 14:49:48 -0400 Received: from mail.cetitecgmbh.com ([87.190.42.90]) by mrelayeu.kundenserver.de (mreue106 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MPoTl-1jfqkz2diV-00MqJw for ; Thu, 02 Apr 2020 20:49:46 +0200 Received: from pflvmailgateway.corp.cetitec.com (unknown [127.0.0.1]) by mail.cetitecgmbh.com (Postfix) with ESMTP id 5ACA565052F for ; Thu, 2 Apr 2020 18:49:46 +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 EmxrTeCl11DH for ; Thu, 2 Apr 2020 20:49:46 +0200 (CEST) Received: from pfwsexchange.corp.cetitec.com (unknown [10.10.1.99]) by mail.cetitecgmbh.com (Postfix) with ESMTPS id 0B01464F45C for ; Thu, 2 Apr 2020 20:49:46 +0200 (CEST) Received: from pflmari.corp.cetitec.com (10.8.5.12) by PFWSEXCHANGE.corp.cetitec.com (10.10.1.99) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 2 Apr 2020 20:49:45 +0200 Received: by pflmari.corp.cetitec.com (Postfix, from userid 1000) id E554580501; Thu, 2 Apr 2020 20:34:27 +0200 (CEST) Date: Thu, 2 Apr 2020 20:34:27 +0200 From: Alex Riesen To: Kieran Bingham CC: Geert Uytterhoeven , Mauro Carvalho Chehab , Hans Verkuil , "Laurent Pinchart" , Rob Herring , Mark Rutland , Kuninori Morimoto , , , , , Subject: [PATCH v5 4/9] media: adv748x: add definitions for audio output related registers Message-ID: <26573ecdb48aa816f802b9d8bbe5f74157248021.1585852001.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.12] 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: 37303A290D7F536A6C7266 X-Provags-ID: V03:K1:O83jhekFIroCL+n+QkcQv1HdgxwHxyJqYnRialh5HJT2D4Sf4ML 68tFx4Jr9baTOLZ0e3jkFc/ptoc/3OfXgAE0Bl2QMS/fsV0pb+ZpggjszLJupx9vdE4F7MW DqPXx41Zr8+g10r+EHeBfvt6j9LlcSi1j+/qGBXmHvVbYvzb0XbvVLgHdpv3ThNvwsI0Vna g91adyTWRfCBsefiRqJtQ== X-UI-Out-Filterresults: notjunk:1; V03:K0:Rc3mc4Bn9YA=:fry6t4l8pYMzvDU5e3Rwo3 2xMfLMofFqcOaanBYrQ6WBp87Bw2C3XTobCIw/P5euH7MPsnbD8dRM3NUcKfdLBGPEprgHLby 48VipWXBLK1VW1+RHGor2GAKa5aIReu5bAswAitcn200t5on6+FO1hFGg4VMQlQgJpbKzKqdl +bGew6obU87BvcNbdiBpWvY/EB9cW4/KAvKRJHOoO3GX/R18oo7Bm52SvyXwn220YtgcSB6PW 26RL1wKzRer3o21J2XtZtmn2gzY7AV5gnXc1pXBRdPeXQJSIFW5PlSh+Ef511lmg41BVIokY1 aEs3ubsm8NXXL/o4KVOblLBhlbvCJ2vXE0oE3gB2WFqjILjj0NH1X6qRQPFbniX7ViEzmZbqO y99qJF/sfqjtwGGwoqu2yN1nu8qlr93dclfeZ2rXFhJLAkXdHOMXQk8Hc1EXSXTyn9GXDY50j Rr5TLK/eSEV2MPTdGoV8LB8kqN0/LBT3R1jltCnL1Bir81oBj6LHEWnthlaEfvRo5NE5zJtmr q9vEYRTA0rJlWB8LKSQ3w2W523eUjAHhJ/JrMtSExSJzOuFv5/48ZLD6WqZTo+e9N2gwaZH/f 6rdF0LkzrE5reg56Nb+smsqNxYFakd3t/Xb1/LIG4K1vUPYrJzUU6XoIakTvezz2aZXXhLue5 V9rIqxMeXQU2sWcu5YSPrLXMNWhG+D3GgdsJD0vMXJ70UkUSIY44JVzul0sAlQmOHD2qs4JZV L51FL1a1HAZIwENQah6ecLB6+irv7k8IThGpCRyGqELdetcbP1RDvNnuH5kmJ0BHy6vxv7Hs+ a3CCNaPjI90gb8ZrJzVut286OjEAHeS+MgQL7Zkh36tBrukJU3Fn6CrAcWwygky6iUz4d1E Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@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