From patchwork Mon Mar 7 14:10:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alifer Moraes X-Patchwork-Id: 1602523 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=jC/dVlE7; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC7kG529cz9sGR for ; Tue, 8 Mar 2022 06:26:46 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4KC7kF0Wfjz3bW0 for ; Tue, 8 Mar 2022 06:26:45 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=jC/dVlE7; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=variscite.com (client-ip=2a01:111:f400:fe0e::621; helo=eur04-vi1-obe.outbound.protection.outlook.com; envelope-from=alifer.m@variscite.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=jC/dVlE7; dkim-atps=neutral Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0621.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::621]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4KC0l808KGz3002 for ; Tue, 8 Mar 2022 01:12:02 +1100 (AEDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jU0eSRS9npFkEAefqpd2uL/p+LLr/FlKIT9FStWaY71Cb37GV8dd7XWOYCuDW5lwa2OFUX4ppry0bbbbVx6/qKbl1IfcvkTqETSIK8hZwRu5HHCJ8tChK8+RjF1CpabhovOQNUX0vs1hjzzS5Id99z5maZgs/VpYKGN2tYYxT/OaUwxfoL74kHOgoqul5wNZmboxOimmPacygwFAaxzPGB2HitC0D/9W58HjLHdbPc5AgOOe2PNDtVIdxx+E7MxDhhmveEPZjwq1g8xZU36UXDMgof3Nkv1eGJLkr0HwMp51zuLCUlUsl8dLtt5YGsDQqqZ8dR+GBIQNCD83GRMeYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IJKcvPX1vxLV3/2vXoin2aP1kStbyvPLseSjdrxBRaA=; b=aQvTaSazFVV6ux3GVcZjJrqwl0B4+oo8rq3wMzGm578+mvmGFm02xCvzo9PYq9Y92iN/hz4P4YAg9rkme+HyUUHyW3jaGr9DTVVkMqDh9ujA5wbbrHwbX1EtvhkXM/2qelSCbrShgLWOGCQM+dWhYawv4nnVfW0zYTde59Xo3SfbU/pzvsuGhLIEgB+F5cXYzK0xJ4dW2VCNwhZK2yPJak4L14kWBEx17pZTi5m5gx8nnApYc/YG+kR2DkTvILqBPL9vXJ3ZWdKiJDFDMR8/NOd5PSDSP04jfntEtyK21ekWpnULNEVISoUm+fWxhN6WTphnBXtlQcxht57kxTAIgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=variscite.com; dmarc=pass action=none header.from=variscite.com; dkim=pass header.d=variscite.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=variscite.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IJKcvPX1vxLV3/2vXoin2aP1kStbyvPLseSjdrxBRaA=; b=jC/dVlE7I3oZcgEDDfQ9IXoHF5/y2jFviV6NWtIj2K8tEu0FiKgGZzqLuF+cBi8vNbcUQ5yELV3tmnDodew7065HIxur+apgXqHn7BccMKL4A5bdTIb4dbrD0249tdm1OQOn5HIxyDmzyPjr5CYHR2PxmeTv+k92rsrLwM/N7ID/NnlYsJb70Pqe0scFBEEYEeD41FIH/HqzGxdWdnD1thRk5oM9M/+v2oX8fgz6HcT2dMa1rb34Ln1FQgPI3tn3e9qDTlV5XFJZKASoFwFsL/3HFDb7o+g2rysMXj25r1TdHsN1jkGtVDczr4o131NN3yY4lab/98eYfrn0Ta2oWQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=variscite.com; Received: from AM9PR08MB6999.eurprd08.prod.outlook.com (2603:10a6:20b:41a::7) by AM6PR08MB5219.eurprd08.prod.outlook.com (2603:10a6:20b:ce::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.14; Mon, 7 Mar 2022 14:11:40 +0000 Received: from AM9PR08MB6999.eurprd08.prod.outlook.com ([fe80::784c:5631:d38f:9a63]) by AM9PR08MB6999.eurprd08.prod.outlook.com ([fe80::784c:5631:d38f:9a63%6]) with mapi id 15.20.5038.027; Mon, 7 Mar 2022 14:11:40 +0000 From: Alifer Moraes To: linux-kernel@vger.kernel.org Subject: [PATCH 1/4] ASoC: fsl-asoc-card: add WM8904 support Date: Mon, 7 Mar 2022 11:10:38 -0300 Message-Id: <20220307141041.27538-1-alifer.m@variscite.com> X-Mailer: git-send-email 2.25.1 X-ClientProxiedBy: CP2PR80CA0081.lamprd80.prod.outlook.com (2603:10d6:102:14::19) To AM9PR08MB6999.eurprd08.prod.outlook.com (2603:10a6:20b:41a::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 07c29b99-d0cd-41f5-cd66-08da00446592 X-MS-TrafficTypeDiagnostic: AM6PR08MB5219:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0HWUA13GiEk122TQTmR94aZ1cC0m9UnJwbktceC7TpeNSERBpPuW2wvbQwuA2054gAmUrrS2XGBl9Vx0t1nSfm5AqVurW3/xMDgUur2wp2ZjBwI7XMMwj8MaZfUa21JhzinLaFpTEKmcTlRlavV/XKZC3P3AR/F0WxV3vQZgF+iU3V2gAMdiM+Vq/f2CTiJf4ksPgExxFm7OIVnykVQQ9QILCMeq73O0R8X7YwRYvqJpwez26KL42EkmvB8i6njoTuicebePv93WFjNCdFnmufYAhLSpXT60rCiTOPi59oRm3DaWObR22EofjynBlFg/c8BDGbuVdDqrnCpRAaHpJCqytPn/01vg6IRodOLEoJPowc4iEOPjTPiSmjPUYfI3rOQMxnWHOHLt9Wk2Lhi+5yxxTZaH0z5b6W9p9DaG55OmpMbR+DatIbIeQMjnIHYKzWUQ46R9lsBDmELz2FBjQ2Z3NJRprO6vTW28rOJm5GCbQLaWP9uUjXbs8nnujbNBFXBsuHeYPGcSoIHdKmDsgk7QmjIEczaatcJhems0uOJLbK4z6XjQq8oIC9roIl3EMKatJsg5y3faxVXQjrH8sqOjLY6kKBRk/U7Ep+922SzftafZ4hV8h8dP12TWCHueyoNreG6ka40CcA++771ZL6SAxGZiL1tHd/qhcnnP7E/UVXNn3l5JDu6oQUavZeJl4YjQH5sLmUSSDxjZAcVDyw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6999.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(346002)(6916009)(186003)(26005)(2616005)(1076003)(508600001)(6486002)(52116002)(6512007)(6506007)(86362001)(38100700002)(83380400001)(38350700002)(36756003)(2906002)(66946007)(66476007)(8936002)(8676002)(66556008)(7416002)(4326008)(5660300002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: h8Or8JY94yJFSXMeO+HXPw+EgHJr96WhVhHaG/PXRhO94D7nyxUfEaquYfVkzWrtbIwfKf3am7k+5Ud845NWjFXRrtwrJd+E0mb74oXMsX/J8HCsT/KTpBeuVJIXB9+CPNMZaURWgR9WP0YZF9pY33Lxj1lEfpEbRvA/ZYKlwfy6Vd2PmWLzjsj/AZo+9XbHtU/CcdPBm6M2cGCzS+9WPXirZG0+YBw//nNwqVYtrHePEpcbvNlrGTvuA1hxH2wHoQScvJDDU5Xs/6kETzdERWcZTi5rBWyr7E3nP1rL1KcNr7Soc0gyNUKNyViN9lfhR4tnsrHGjBfEJUfDGZgxU50fSGlJo12ZgD5w0JWek49V9cLPPsmvwzf0lMYvrjiLvNHpun5U1R4Ng/iOS2lwgzbJg+TtMh+KRR4uWchqrkEExgAuTSL8xx6Xfi2dn2obBlwjGRHFRtlEMgrugaQj6PXydxwV8enCaUjRX7kprBgXNHDHAD7lonEKi4U8GDWfIr2Xk4cf6VOwQ30MAq4IiPj5cdEVxOgedIz9uRsDMpseY0zdN/RklA64LWxNxbM3/CSthvKaFvFhHzeVuQ82rlEtYyVdK97HUqJMtxWm7JBrParG/Lg5qZ2GssZVmjj5Rsb26y7FeptIUXLBS/1iSQMnT4oMctSClPTTQSHOevEOvDogAsnx3KtQnh/9idIItbfeelOkVoBYgaJfCNd1KiMEhHSmXPmzJU9YD7tDVa0wr70IARW6xU21jDZNPEOFzC/23IG+iL7eGXohr8E9DW0fRD6Z2pWwe8NtTKXcwFT/6G60NMVvFnpVQgkc0bUxVRrZChyje9YLiZ3jvjg9uZTu14D7ZHnwTYAHzYNhB1os6aVqEfO6LwiqTz063iqIQlkNbalbfDpiB/EPpk+b911bgjuLPDrinmQ1hq+4sRp0Mh71US/wHuWMG3YHhkZbFJasQFMRy5+PHSoOJnS8GkB0Izza5akR74UWT4ElRDt2K3cvOumTFmEq8Yc6cnw1rRqrOs3fICtAzJs7DcKnOdQ0mJlUCuwYNAYMv3JFaF619GLw6zacbzH02osmsBLnZug+Wl5aEgu8sagQmcSO1CDCr2VXFhFQasK1qfRR0v3wEBK8HXQL2E+Ngg1yLCkU8PwfG3nW3NamRxa78M4EMI9CtEWuzuvsOp49t1LbXXFebQYrEFupx5OOjrXyr0gCvbJhPcDYgcRIlsU5IVGiq8LBTj1nA252GJY2ChY/0hQOebGWh2TCAgU8NCgqbiONaJanwQwNez3mfeyM86nBczHnGAWb4MnveLWylgdrhE0vm1wDUtUtQsltBCM+6zAjf/zH2OZtGAvVbAQuo5sKeKeYeHsfeJywdNYg8IwDwfo8uuOhKp6QRIRfjaQZHoRbkW/NlWzGRMX56Asb9it79CooTcC4cjrMsAyPEjLMdxgd8z1F0eHO4zf1Vg/naU3WlUAO00yFt4sx7ElF8QmXKRE6dUHnaaPW2VB6oiYCGoVu5ZMtDOfM4TkuM2OlH2rVJDFykvb2soMIIXoUDZbSS5DkYxQQyTHaeFRN+9R6i4+9bWQrUXk+LN7qw+hn8pNaz8A+jfNZtne4Za5Egp3iiM+7+5whyYmBhuUJh5a/6tk= X-OriginatorOrg: variscite.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07c29b99-d0cd-41f5-cd66-08da00446592 X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB6999.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2022 14:11:40.4009 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 399ae6ac-38f4-4ef0-94a8-440b0ad581de X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: A/ZYZcmUQgOJpi0qxJxqmMoN6joE+ZtE0mn6QiKjyohOHpjOMsKvWTNAQN9nwNqYQwerQd8w4M5ghP0ecs2ecA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5219 X-Mailman-Approved-At: Tue, 08 Mar 2022 06:26:32 +1100 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pierluigi.p@variscite.com, devicetree@vger.kernel.org, alsa-devel@alsa-project.org, nicoleotsuka@gmail.com, Xiubo.Lee@gmail.com, linuxppc-dev@lists.ozlabs.org, shengjiu.wang@gmail.com, tiwai@suse.com, lgirdwood@gmail.com, robh+dt@kernel.org, perex@perex.cz, eran.m@variscite.com, broonie@kernel.org, patches@opensource.cirrus.com, festevam@gmail.com Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Pierluigi Passaro The codec WM8904 can use internal FLL as PLL source. Whenever the PLL source is not an external MCLK, this source must be setup during hw_params callback otherwise the BCLK could be wrongly evaluated. The SND_SOC_BIAS_PREPARE event is raised after the hw_params callback, so there is no need to set again PLL and SYSCLK and actually there's no need at all the set_bias_level function. Also, when esai is used, a dedicated snd_soc_dai_set_tdm_slot call is required. Signed-off-by: Pierluigi Passaro Signed-off by: Alifer Moraes --- sound/soc/fsl/fsl-asoc-card.c | 47 +++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c index 5ee945505281..817dbc1ec635 100644 --- a/sound/soc/fsl/fsl-asoc-card.c +++ b/sound/soc/fsl/fsl-asoc-card.c @@ -23,6 +23,7 @@ #include "imx-audmux.h" #include "../codecs/sgtl5000.h" +#include "../codecs/wm8904.h" #include "../codecs/wm8962.h" #include "../codecs/wm8960.h" #include "../codecs/wm8994.h" @@ -257,6 +258,38 @@ static int fsl_asoc_card_hw_free(struct snd_pcm_substream *substream) } } + if (of_device_is_compatible(dev->of_node, "fsl,imx-audio-wm8904")) { + struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0); + unsigned int pll_out; + + ret = snd_soc_dai_set_tdm_slot(rtd->cpu_dai, 0, 0, 2, + params_physical_width(params)); + if (ret) { + dev_err(dev, "failed to set TDM slot for cpu dai\n"); + return ret; + } + + if (priv->sample_format == SNDRV_PCM_FORMAT_S24_LE) + pll_out = priv->sample_rate * 384; + else + pll_out = priv->sample_rate * 256; + + ret = snd_soc_dai_set_pll(codec_dai, codec_priv->pll_id, + codec_priv->pll_id, + codec_priv->mclk_freq, pll_out); + if (ret) { + dev_err(dev, "failed to start FLL: %d\n", ret); + return ret; + } + + ret = snd_soc_dai_set_sysclk(codec_dai, codec_priv->fll_id, + pll_out, SND_SOC_CLOCK_IN); + if (ret) { + dev_err(dev, "failed to set SYSCLK: %d\n", ret); + return ret; + } + } + return 0; } @@ -651,6 +684,19 @@ static int fsl_asoc_card_probe(struct platform_device *pdev) priv->codec_priv.fll_id = WM8960_SYSCLK_AUTO; priv->codec_priv.pll_id = WM8960_SYSCLK_AUTO; priv->dai_fmt |= SND_SOC_DAIFMT_CBP_CFP; + } else if (of_device_is_compatible(np, "fsl,imx-audio-wm8904")) { + codec_dai_name = "wm8904-hifi"; + priv->card.set_bias_level = NULL; + priv->codec_priv.mclk_id = WM8904_CLK_FLL; + priv->codec_priv.fll_id = WM8904_CLK_FLL; + priv->codec_priv.pll_id = WM8904_FLL_MCLK; + priv->dai_fmt |= SND_SOC_DAIFMT_CBM_CFM; + if (strstr(cpu_np->name, "esai")) { + priv->cpu_priv.sysclk_freq[TX] = priv->codec_priv.mclk_freq; + priv->cpu_priv.sysclk_freq[RX] = priv->codec_priv.mclk_freq; + priv->cpu_priv.sysclk_dir[TX] = SND_SOC_CLOCK_OUT; + priv->cpu_priv.sysclk_dir[RX] = SND_SOC_CLOCK_OUT; + } } else if (of_device_is_compatible(np, "fsl,imx-audio-ac97")) { codec_dai_name = "ac97-hifi"; priv->dai_fmt = SND_SOC_DAIFMT_AC97; @@ -900,6 +946,7 @@ static const struct of_device_id fsl_asoc_card_dt_ids[] = { { .compatible = "fsl,imx-audio-tlv320aic32x4", }, { .compatible = "fsl,imx-audio-tlv320aic31xx", }, { .compatible = "fsl,imx-audio-sgtl5000", }, + { .compatible = "fsl,imx-audio-wm8904", }, { .compatible = "fsl,imx-audio-wm8962", }, { .compatible = "fsl,imx-audio-wm8960", }, { .compatible = "fsl,imx-audio-mqs", }, From patchwork Mon Mar 7 14:10:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alifer Moraes X-Patchwork-Id: 1602525 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=glNpAKJK; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC7l464mPz9sGR for ; Tue, 8 Mar 2022 06:27:28 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4KC7l332YQz3bT3 for ; Tue, 8 Mar 2022 06:27:27 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=glNpAKJK; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=variscite.com (client-ip=2a01:111:f400:fe0e::621; helo=eur04-vi1-obe.outbound.protection.outlook.com; envelope-from=alifer.m@variscite.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=glNpAKJK; dkim-atps=neutral Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0621.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::621]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4KC0l92yrPz3002 for ; Tue, 8 Mar 2022 01:12:05 +1100 (AEDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AW51pPoLH1W5WjCyKpeY5bVwgY5hbh2xBqDXlliDWhrji/ZcVghF9MZn7qQ40vJ55skrN9oqZ5aJcerop/13dLQh/tVKMUJ18LLFONqzhhdTd1qb896aCg64E/6vlq2eljHBcJ+IXbYX1Ig+RfHmHuahQijpvb681ypmanwdrU+onn8OlKRmpChskpLKc8aOhNhHt2ADmMFBoIZ5YxMerA8vHVl3mvVNTkq/3zL2JyR8VhIsMzL3qmdYbxhoGsua1KNigTrEd0CuXRQqrCruYTG+MY49jwJ14y8OAxqR5l3L1a2pk/dpoVVjmMk7PxbtASJPVNHcGrG4G4U09QFaQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gTo9JM99VEZ7Y+VSS08hQnApCibgyB6YlAEYwOWjf5s=; b=nqSTGqla1+B6wES5Hq6uyDGFJXCzI34+GiDinh9WHDYu13w4fRaIj0rAn3iBuIbzLkw2lvXOqpuX4fGDInuAEDRH0nEx6iu1RDyXKX38Irv7BM0LyQW3wdbfyYwMBL90we1T9Sgbn/URm1+pF7u8DCs554sM39SfC3VJSqEm/PsPUfhEuLI5WlfBBf38NvMBiVQYmwoBAmNVzrkxB2Vqc5dI33PcxV898wZrXXx6ZjyVMqZz34norcjyi40cVgysBsZ2NfUqlRC+vDaSHwFCSGXq++JrZWtaKt/rYY6b8u9DW8IzOPXNeP8Q262WhNIm25AqWQtjLOb3WDfe1TRvnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=variscite.com; dmarc=pass action=none header.from=variscite.com; dkim=pass header.d=variscite.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=variscite.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gTo9JM99VEZ7Y+VSS08hQnApCibgyB6YlAEYwOWjf5s=; b=glNpAKJKOOgzkJf8W7ZXfCjT8kVycSy5T907laXp1uxipbf6eyI2mKnr2zlaSEtskCYwzzFUl8oOTzMQfEoMPJ5UkdAFKSJkKqNsazkOdgLtMjUTz0oAVgE6xIWQq+Z1Z+SgCKCwtPzQvHF/aH8TsAPXbgvqiYZT1XI9AQOe2Hu904YjBk5MJl1A2GIXuJxThRko7+TtKV3cyjyPQAMFrz9nR+9GFXl4+gDpL800aYRJXIFMRT/kuc5kdFSNgnP7j2bKcU4B79FLuiWFK6mCEAeTUVvbZ5VqeGp21s7WBnoDfFwYnZXwHUIOZqwO489OetDJFsz4Zf6sftoNQPxaiQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=variscite.com; Received: from AM9PR08MB6999.eurprd08.prod.outlook.com (2603:10a6:20b:41a::7) by AM6PR08MB5219.eurprd08.prod.outlook.com (2603:10a6:20b:ce::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.14; Mon, 7 Mar 2022 14:11:50 +0000 Received: from AM9PR08MB6999.eurprd08.prod.outlook.com ([fe80::784c:5631:d38f:9a63]) by AM9PR08MB6999.eurprd08.prod.outlook.com ([fe80::784c:5631:d38f:9a63%6]) with mapi id 15.20.5038.027; Mon, 7 Mar 2022 14:11:50 +0000 From: Alifer Moraes To: linux-kernel@vger.kernel.org Subject: [PATCH 2/4] ASoC: bindings: fsl-asoc-card: Add compatible string for wm8904 Date: Mon, 7 Mar 2022 11:10:39 -0300 Message-Id: <20220307141041.27538-2-alifer.m@variscite.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220307141041.27538-1-alifer.m@variscite.com> References: <20220307141041.27538-1-alifer.m@variscite.com> X-ClientProxiedBy: CP2PR80CA0081.lamprd80.prod.outlook.com (2603:10d6:102:14::19) To AM9PR08MB6999.eurprd08.prod.outlook.com (2603:10a6:20b:41a::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 202a84cc-0a15-4e96-a6f0-08da00446c26 X-MS-TrafficTypeDiagnostic: AM6PR08MB5219:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IPfEPDU8e/6+2n2XAMBoP444D0woy8+/C1au4AwflG56D18lSV4V2KOFLKkbps5I4ksLZ1HRIsdk2/s9i1Mz7Kxe3FaJyZoGrxQ93mUnzViTkRH1eTBK6h2Qk7YK+8a5+quaAY50eVpFx9DbztdaPhbGiP143B4TnJLmXd6S/SpPt0FcOE3wsfDk5sk4rGC/DSS6RKpPTsbkYI//j4hJCiUYcBhryTz3C1RHcNUrgq4O6yvcUrsJ0FQS9ehO76NBKHV2JSTfktkzeIENXHSIiSh1k6BxMXj0+NbR7MHbzspFWYkjXGGxvM0KoEqDdqG6Gbafh+qrTCJfaAA5Qsg/FoP2/S2C9dNLnWXbHyJ6n7Yrua0y7epqvThahAsdHWDib6uXrUPgw/G3ZCo7Qq2Ve7gLm+H2DnG14/wQ5Buwpsfe5H/q2YFkWMcAhBHvbId2Up7WNzdvCfB+8eiqZKb0z0CfRamB1mVViWnuS1sgYFAjPJ+vgyu2Eg2V/V0uABU6nfgCCt0I0nS3JitSyjw32IP/0X6BVGeRPMDvOuJCR7xsGLOB76t6tOoOQ3UBBfKekrRgLidmxup3z4vN9jADXUnU7S3m3wfahhmDBZcYTb3T+W/0nk72lQX4YDyJm3AwBtWZbOB0W14sun1sBieQ/rzE+A8RsgQUhwMCSFxxJYRMln5Fstz2hnD+FdpUCC+M4KJppEh/BuZcAfCxHGq6Ug== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6999.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(346002)(6916009)(107886003)(186003)(26005)(2616005)(1076003)(508600001)(6486002)(52116002)(6666004)(6512007)(6506007)(86362001)(38100700002)(38350700002)(36756003)(2906002)(66946007)(66476007)(8936002)(8676002)(66556008)(7416002)(4326008)(5660300002)(4744005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: YbAfw8tmCfULnHUzlCJ8FtWYxsJJN6Hy0EHFZwmxh2OuI1//SM5Wv+I548xId8g6k5B1Rh4CyuTQkA2VLItxG96pbBhK3nVnFgi03p/QHlS3+rw3vIk1AAG7HR4LgjrSwj1uAfemIlaadR1zZz0XyDvVP9fSFADVGttGm8xCYrlcx+wXl2CQdcQUspSCdrkh3GhIDDIQnZYbDKGGzYNcY8BRXu4UARsv/5cbaldGRnEX3QWQ+L7KgIYUkZcnoVrdc8v9LZN9R/B4u3QjAH4Tga8AtUZIdUGKPHTYU+sxgrIE883AqTi5UWp+hUZUvA76q4LpHngLIs1vg0eGDd7SbvuyoZHxG2f3hNhxMeJqThDR4ghaHoUv86EOaW0cmoNp3eDo20pmq5HEUP5Ngq50gE9aSfpnwAeQ2/6yyRGrx2AOKvYfw21MRV0kXXqsCyzk0331YHFnhC+uSS+1uH41mq58zY23YsQQT7jaG4tJWD+DD6LiBxB5Yh7xUvBzxk4+vTnN6zrVcAk80CQ6C3N0YGIUotkhLHW9WYELlKBh6qimSgCbHWSvquUhcoFH98Mlki3/XX7ec32XzaBYpCkpmauoJzdf43tlsOZFQ1zMtSBXVD5kJx60/9Emtdyz6lzS6B4p8xz0Qf9HdJ4+aPPyOJuccwD3xLkCwdSOHUHZudfBEs0HzVYDFW5IISOpP93E5eet86SudL1UA5djwclc2tsNnvm9UQg1TeK3iZ6f1/lDxyelKp/Do8PgLK61ak9K0XTZwb31um5gq80O5Mp7HNlMOroopsztTCcqzo6WXezlk3BiPkQM0wKnFMifzujCJ11OgQJSp7FXODqp3sS4iSwWe4VVdhZB2VT3usZsXIdckIJlKqjn3XoFj419tJPaC2RRwHtwKGmHBEBm7jqglXy3Y/B1t7z+ebqKmzTHBUsh7v2B9sntBXFq3zZrWPL4TslqoolQDML3n7vv6FnVZKwF+A+ofJtpBFlXt/T63AQDhY/0inK2T7qR412jZxnua4TSNDquePkSeGjsao5IFLMj3Y5m9d4WkFnJArfTA8/+wuwZyvJUG7cSMx0dd0OktYyCweGcb2Y/MwiHxHwp9/L1zXxGj27X7Szh8OyhBEwCdyW5AjYsQzvN6p0fNT1HIQsiO0HxhsCpSQ4qITJzdYocE/gY+a6A4OD2PdtJsVVqf0XMRrlh43fl7TPvC2IABXBewP1CH3mLQmUxemyXpzR2RqhJSn9J0s0vycEu5/x0eiUu5waAf9ppMpbo5UgHcn6K/flZAZJZj3YGwOTrMqfwvZflupfiemBptrRsED0OB8N1Xz9iT55LgQaBHZ3ch9aocgcHmDLFCFh4eRspFV44VzL5qWfPYmBKA400Fv1ROSdzYRPON+khlAINSNcIjkcnseqtauM3/JIq6FZTn5q91sXRzpVnb0OG42hG0uRodnWAkl9Aeuy1zCFYHkg8r9B3rPbjLGyl70t4OznFf6Ylg0zqOtfyDcG5MYKaQHr5BV36JUyuCQGFzEhY/lNUBmEEAC4DATK28KEOQ/u6l1ekfoXmZEvtATDblx3CZY3cDDn5xgllKEB9K1UqSkAuqom14sOq7seG9rLwJlPNYAupFjTgj6tx5K4u0J/CbHk= X-OriginatorOrg: variscite.com X-MS-Exchange-CrossTenant-Network-Message-Id: 202a84cc-0a15-4e96-a6f0-08da00446c26 X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB6999.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2022 14:11:50.6107 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 399ae6ac-38f4-4ef0-94a8-440b0ad581de X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lRomg7zD64yyHhBvQJHpBuZLFdTR9yTscIuHbn8TC1xt6JlC+1I7513QdW3HxeqOBFB5OZ7UnweHPRtTt2FEIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5219 X-Mailman-Approved-At: Tue, 08 Mar 2022 06:26:32 +1100 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pierluigi.p@variscite.com, devicetree@vger.kernel.org, alsa-devel@alsa-project.org, nicoleotsuka@gmail.com, Xiubo.Lee@gmail.com, linuxppc-dev@lists.ozlabs.org, shengjiu.wang@gmail.com, tiwai@suse.com, lgirdwood@gmail.com, robh+dt@kernel.org, perex@perex.cz, eran.m@variscite.com, broonie@kernel.org, Alifer Moraes , patches@opensource.cirrus.com, festevam@gmail.com Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Add compatible string for the wm8904 codec. Signed-off-by: Alifer Moraes --- Documentation/devicetree/bindings/sound/fsl-asoc-card.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/fsl-asoc-card.txt b/Documentation/devicetree/bindings/sound/fsl-asoc-card.txt index 23d83fa7609f..edb7837e4963 100644 --- a/Documentation/devicetree/bindings/sound/fsl-asoc-card.txt +++ b/Documentation/devicetree/bindings/sound/fsl-asoc-card.txt @@ -44,6 +44,8 @@ The compatible list for this generic sound card currently: "fsl,imx-audio-wm8958" + "fsl,imx-audio-wm8904" + Required properties: - compatible : Contains one of entries in the compatible list. From patchwork Mon Mar 7 14:10:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alifer Moraes X-Patchwork-Id: 1602527 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=Awa9Lpqi; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC7mk6cBVz9sGR for ; Tue, 8 Mar 2022 06:28:54 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4KC7mj1FGNz3btW for ; Tue, 8 Mar 2022 06:28:53 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=Awa9Lpqi; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=variscite.com (client-ip=2a01:111:f400:fe0d::62f; helo=eur04-he1-obe.outbound.protection.outlook.com; envelope-from=alifer.m@variscite.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=Awa9Lpqi; dkim-atps=neutral Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on062f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::62f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4KC0lW2QtPz30NC for ; Tue, 8 Mar 2022 01:12:22 +1100 (AEDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=INPA6JW4cxffBbFS3fg+/eJXvy39OWtedQMchpbJek4nctKjMEdHvBjTxKTKhOLktnnOSdaOaQTqpa+CiizfB3LGoMx1Mdk06NWzQU2kE8M79JrXztV3wn7QuIoqGcyRl2p6T6kkfnvahPq2EHLqdLMER+eiBBXSfH672N1Q4Z5zgmved0PiXlaeAt/qQjjsAvnE/BQtV20GTDJyiWOLtT3f44lA7E+mwJNERmQkawIA5ybZ1+WnLjgLiaDGKav0k8NfvDw7voZqOrCIHsjJmyb6eYmojaHyhe8Q79aKtZorZ9pELcBTXlRcwgpN87jsgNaLKiowLFbCtwGI4ePSlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/xfxO2QESzsMoYzM5KotQCqjNI96AHoOTOUeJF3hLyQ=; b=DH2V5zCuAxTPgw0eZqJNfT956KWTila45XHyref5ae7BD/y99zKHpC8lfuZyDGSNNC5AmoM2M5yvL91NHJYZwlP0v+UrL2/1/Dckph63D3HOE9iOfE1iRkvTR5K50oHdUYWpi8d1Ba532Raq3iOl2IeEc0Nv8cJ0L45qsP5HMl1iBMlqlbgfeTqcrWCy/dpANU1jAmm1iVHEnz0NAg64tPulUyQEdZESYLTzvFVAqLFRc1+4N30yXqnlPoXrkaKaG8vfUx9t/Wc8+EP5Iqn509MWaW3bGQzkX+w83p+6DOMuO5oO0tOY/VmZAXauELvdg5Ebklkd6TvBmB3fG9rsYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=variscite.com; dmarc=pass action=none header.from=variscite.com; dkim=pass header.d=variscite.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=variscite.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/xfxO2QESzsMoYzM5KotQCqjNI96AHoOTOUeJF3hLyQ=; b=Awa9Lpqi7hbuKkKn498XXfnDiLvWHbm4KKCC9OHcOxrhFhanS3gvXiTU4YTgKGYHjQNn7cR5YWp5TLojRxZYN0gggPPXdbEsi8s/qaRPiELOW+ZP+nCDE/upBitUI7LaYkBBFtXbo1UK1zQl6kKWCYi4Q+Q5BDOZeQTOMRgXRToQ8Ylx9J1di94wOIWzSOI8d57SHCw+yATEBGoP52wDdMHwtiyJxK0qh4XaN/PQ9S1sKV0md5S3E7nHdVj9t4b6bsM2ucEBYfk9kp/vAPq2tBLBxsYhe2jqx2LbS0QmHvxHPbV8Ku/NVI3AnBrRkjA4GF/8lMIxWSa22TWVHieGfQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=variscite.com; Received: from AM9PR08MB6999.eurprd08.prod.outlook.com (2603:10a6:20b:41a::7) by PAXPR08MB7393.eurprd08.prod.outlook.com (2603:10a6:102:2bd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.14; Mon, 7 Mar 2022 14:12:00 +0000 Received: from AM9PR08MB6999.eurprd08.prod.outlook.com ([fe80::784c:5631:d38f:9a63]) by AM9PR08MB6999.eurprd08.prod.outlook.com ([fe80::784c:5631:d38f:9a63%6]) with mapi id 15.20.5038.027; Mon, 7 Mar 2022 14:12:00 +0000 From: Alifer Moraes To: linux-kernel@vger.kernel.org Subject: [PATCH 3/4] ASoC: wm8904: extend device tree support Date: Mon, 7 Mar 2022 11:10:40 -0300 Message-Id: <20220307141041.27538-3-alifer.m@variscite.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220307141041.27538-1-alifer.m@variscite.com> References: <20220307141041.27538-1-alifer.m@variscite.com> X-ClientProxiedBy: CP2PR80CA0081.lamprd80.prod.outlook.com (2603:10d6:102:14::19) To AM9PR08MB6999.eurprd08.prod.outlook.com (2603:10a6:20b:41a::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f06d0828-2c72-491c-3a91-08da00447279 X-MS-TrafficTypeDiagnostic: PAXPR08MB7393:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MG0PoqhoZfE/HQTQ69he8f0MnqDurkJs0vj1US2bKYaguYwiRiPFDNWUoJ9dpMd6t+r1WADV1aBI33SkZY35HLkve8TzMA+UbxvI20YuYR0q5vyU4RrEKV3uw/OkvUrNV4YmZ5MNRz3YF9LTxDJdxAzgnsU3KQz7wjz6FTeGvWDq5dK16I49vSqUZzyWEOSW/u5FZ2Qq+dry6K6VLvsQ0de79TEPodSs0LacMwBrn6p//JR6mfoLX8QK/Naey0ktf4zAqV6vzfa5jANkL1JOjrhat3qsA+7pG3TCIkZDUrW4L3gMoQC1r5YrBeHRMzhjHrteHQVAlunMTzs30b2AI+2OCEDCdko6XS3+QWgquSvN9/jljxiaSlpG32nbzm7xqrXVk+srHRn6osJIkrDtS9Z44ZA7m+w9BtgriGyn8qAHqQQh07oobwaliCqLK7qE/4eeyVtwOth3H2MsD3dr40YflMr0+ELW2VQF39KhB7Pr0xhQYm9eMAYS5WZkl20ke4EI7h+w/1ofeP0CMDtMfAtzvRwwQFlo/3P09jKYV6jAdoQGlquAc9sPtRG1TBYstRZ6RdUdJa9xaGPsP4qViA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6999.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(346002)(4326008)(186003)(26005)(8676002)(83380400001)(2616005)(86362001)(7416002)(6666004)(38350700002)(107886003)(38100700002)(66476007)(66556008)(66946007)(5660300002)(1076003)(508600001)(6916009)(2906002)(8936002)(6506007)(6512007)(36756003)(52116002)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5CsgTuJoYOORMR+x9Jazr00eIeSL07coNy9/K390RFqX2r1XzpnnYaHwgGVFy373DJ5O3bomcQv07jGL3mM/qhsLMEE5vOR5xghduWj9IiP7vMaacf0LRyKjecEiyMmfkP7YckPVl0zh+HpJvCYs7fiCnxNsYbR0ucapvTmxXxA0zwQMq7sPj3h78zmrezSFD59b+Dn9mTgkG6tspsoGTjVp5oJMNgryy27nBqY2rNz+6oWwrpsIIwyyJOwxCmL56es9esk/u7/vjeLtB5nPqakvUAPR3q6Mm1J9KD00MtoVLmRI34gK2j/7ElYtafkputgczSKHl7YU6Pe3cmwn71WSzufPBUahq7qkejMm/yn+UmdOLo21OjQrJSPfjFKj4kfz+wMVTQRJ1pBRe4m4VwCgp3SDBZeI5blq2tlS+DB0dMdYOEcGiRIBP3h+Oh4lf93DbmdGzO74/dgYcpOkh5sp3F18CVIBiz6Wsk6WxbCtTXqewd1YwaMbt/2CIIPOD9NLJosDfI0fJKnl3wVDiR88jHx8DcYHKX8RMrhSy4RzsZ8f9WnOa8nqo4Q1PLwSB3R3/5/XX2fM1kYmcM13HE4lsF6AISdFuVi57ihSs1sxssKy9LkWZrxrpqjdG/F3RsmsV343bjnOCW046qdTZS48SxNzkd3gucQSlbOtAcabRf0hEEM79psNxjCdCFxTFdkrQ1B/swvCnxwJQccCPKuXOlsjkjPZhvWT0TsQu0Q/m19a7PtLuKvp/LTQeW16qV8sZiOB/8NzLr0XehFzQAe7GTbv9z4trvxru/onJsfbS6MmcVFdhctFgIJ7NUxQggmdwfrdRfktGKCO/7MdfRvVBWWXXw3Y6xkiSOROwoR7GU6P9PWmFpdue+b2QPN0dBFonS4VlsI8mt9GN2Eu1uz0ZycfFO0qUlO9LJnroo4hU/bYcFVE8a9c8knMrGUfr9eOBcuTHW3IEaXf/2GjaixpwehF7UD9Rl+XvjGTXw60AOUmB0VQT6qWssx02thD0WzzttYDKjI/AAbjz9sPzm90RjkfrlJzAGzY6CddZ3VoOl5nT0ngb1rQSvw6dJ3g4t8Bo9OxI5WazmydtqwzaaUKe5ZXpQwldU1m0lw3hehTT1Wr/UA33JMz9TleUDekvTQPAYxQo+uA7UC9BBHhrnYhmdcIWfzdjhmUsdmgJDcC3GDIv3DpROjidFBLVQ24aFNDsX0OPkByuYEBNOg6j/gDWKVcCY89YPo6x7Cyb9aO18UX5CehWDjM9fY+9QY0ROL4JFFRwyDvgElqVRnHRwekyBW0Fm8H0AEdSPEsMbJXDgiZYJYd+La6cmGYFCHoJ+O0jtWP0/tdSDoNxb/Z/BF7bteAJrc5uyWcgvJDKJouKp1zUUagcOsfgUCb+9ING8ubRvOgdwPHLBimlo7WEc7zowRS3U9zdO4qRinsGimteBowhDxQR2vDvNCSl+6pulzR5grt+E4JeZv0sRMmFXn5m8Vzt2fhbvosXolf6yohcLp5kUdDMjnJ+VorMxASlBBH/YAHTslFTVPH+AlwHDCBnWNlIbRozBNztPCntMQmcIAcMT9GnjjeqaWswu0LkEtJGnTGiKZFjZXwvK/wxUZFQAzsQX4vv0Vha+9VQ3w= X-OriginatorOrg: variscite.com X-MS-Exchange-CrossTenant-Network-Message-Id: f06d0828-2c72-491c-3a91-08da00447279 X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB6999.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2022 14:12:00.7806 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 399ae6ac-38f4-4ef0-94a8-440b0ad581de X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9rNvGWe60dP6i8tA23HPOV+blX5m0RvOy8Y4c0KYfyef4v0WaIQCr+T6uwcaOXz+TMEg+L0WxOcTNUatjPLAsw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7393 X-Mailman-Approved-At: Tue, 08 Mar 2022 06:26:32 +1100 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pierluigi.p@variscite.com, devicetree@vger.kernel.org, alsa-devel@alsa-project.org, nicoleotsuka@gmail.com, Xiubo.Lee@gmail.com, linuxppc-dev@lists.ozlabs.org, shengjiu.wang@gmail.com, tiwai@suse.com, lgirdwood@gmail.com, robh+dt@kernel.org, perex@perex.cz, eran.m@variscite.com, broonie@kernel.org, Alifer Moraes , patches@opensource.cirrus.com, festevam@gmail.com Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Pierluigi Passaro The platform_data structure is not populated when using device trees. This patch adds optional dts properties to allow populating it: - gpio-cfg - mic-cfg - num-drc-cfgs - drc-cfg-regs - drc-cfg-names - num-retune-mobile-cfgs - retune-mobile-cfg-regs - retune-mobile-cfg-names - retune-mobile-cfg-rates Signed-off-by: Pierluigi Passaro Signed-off-by: Alifer Moraes --- .../devicetree/bindings/sound/wm8904.txt | 53 ++++++++ sound/soc/codecs/wm8904.c | 113 +++++++++++++++++- 2 files changed, 164 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/sound/wm8904.txt b/Documentation/devicetree/bindings/sound/wm8904.txt index 66bf261423b9..e3bfd3ec2905 100644 --- a/Documentation/devicetree/bindings/sound/wm8904.txt +++ b/Documentation/devicetree/bindings/sound/wm8904.txt @@ -9,6 +9,40 @@ Required properties: - clocks: reference to +Optional properties: + + - gpio-cfg: Default registers value for R121/122/123/124 (GPIO Control). + The list must be 4 entries long. If absent, the registers are set to 0. + If any entry has the value 0xffff, the related register won't be set. + + - mic-cfg: Default registers value for R6/R7 (Mic Bias Control). + The list must be 2 entries long. If absent, the registers are set to 0. + + - num-drc-cfgs: Number of available DRC modes from drc-cfg-regs property + + - drc-cfg-regs: Default registers value for R40/41/42/43 (DRC) + The list must be (4 x num-drc-cfgs) entries long. + If absent or incomplete, DRC is disabled. + + - drc-cfg-names: List of strings for the available DRC modes. + The list must be (num-drc-cfgs) entries long. + If absent or incomplete, DRC is disabled. + + - num-retune-mobile-cfgs: Number of retune modes available from + retune-mobile-cfg-regs property + + - retune-mobile-cfg-regs: Default registers value for R134/.../157 (EQ) + The list must be (24 x num-retune-mobile-cfgs) entries long. + If absent or incomplete, retune is disabled. + + - retune-mobile-cfg-names: List of strings for the available retune modes. + The list must be (num-retune-mobile-cfgs) entries long. + If absent or incomplete, retune is disabled. + + - retune-mobile-cfg-rates: List of rates for the available retune modes. + The list must be (num-retune-mobile-cfgs) entries long. + If absent or incomplete, retune is disabled. + Pins on the device (for linking into audio routes): * IN1L @@ -30,4 +64,23 @@ codec: wm8904@1a { reg = <0x1a>; clocks = <&pck0>; clock-names = "mclk"; + num-drc-cfgs = <5>; + drc-cfg-names = "default", "peaklimiter", "tradition", "soft", "music"; + drc-cfg-regs = + /* coded default: KNEE_IP = KNEE_OP = 0, HI_COMP = LO_COMP = 1 */ + <0x01af 0x3248 0x0000 0x0000>, + /* coded default: KNEE_IP = -24, KNEE_OP = -6, HI_COMP = 1/4, LO_COMP = 1 */ + <0x04af 0x324b 0x0010 0x0408>, + /* coded default: KNEE_IP = -42, KNEE_OP = -3, HI_COMP = 0, LO_COMP = 1 */ + <0x04af 0x324b 0x0028 0x0704>, + /* coded default: KNEE_IP = -45, KNEE_OP = -9, HI_COMP = 1/8, LO_COMP = 1 */ + <0x04af 0x324b 0x0018 0x078c>, + /* coded default: KNEE_IP = -30, KNEE_OP = -10.5, HI_COMP = 1/4, LO_COMP = 1 */ + <0x04af 0x324b 0x0010 0x050e>; + gpio-cfg = < + 0x0018 /* GPIO1 => DMIC_CLK */ + 0xffff /* GPIO2 => don't touch */ + 0xffff /* GPIO3 => don't touch */ + 0xffff /* GPIO4 => don't touch */ + >; }; diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c index a02a77fef360..4121771db104 100644 --- a/sound/soc/codecs/wm8904.c +++ b/sound/soc/codecs/wm8904.c @@ -2162,6 +2162,110 @@ static const struct of_device_id wm8904_of_match[] = { MODULE_DEVICE_TABLE(of, wm8904_of_match); #endif +static int wm8904_set_pdata_from_of(struct i2c_client *i2c, + struct wm8904_priv *wm8904) +{ + const struct device_node *np = i2c->dev.of_node; + struct wm8904_pdata *pdata; + bool drc_cfgs_is_valid = true; + bool retune_mobile_cfgs_is_valid = true; + int i, j, offset; + u32 val32; + + pdata = devm_kzalloc(&i2c->dev, sizeof(*pdata), GFP_KERNEL); + if (!pdata) + return -ENOMEM; + + if (of_property_read_u32_array(np, "gpio-cfg", pdata->gpio_cfg, + ARRAY_SIZE(pdata->gpio_cfg))) { + dev_dbg(&i2c->dev, "No 'gpio-cfg' property found\n"); + } + + if (of_property_read_u32_array(np, "mic-cfg", pdata->mic_cfg, + ARRAY_SIZE(pdata->mic_cfg))) { + dev_dbg(&i2c->dev, "No 'mic-cfg' property found\n"); + } + + if (of_property_read_s32(np, "num-drc-cfgs", &pdata->num_drc_cfgs)) { + dev_dbg(&i2c->dev, "No 'num-drc-cfgs' property found\n"); + } else if (pdata->num_drc_cfgs < 0) { + dev_err(&i2c->dev, "Negative 'num-drc-cfgs' property found\n"); + pdata->num_drc_cfgs = 0; + } else if (pdata->num_drc_cfgs > 0) { + pdata->drc_cfgs = devm_kzalloc(&i2c->dev, + pdata->num_drc_cfgs * sizeof(struct wm8904_drc_cfg), + GFP_KERNEL); + for (i = 0; i < pdata->num_drc_cfgs && drc_cfgs_is_valid; i++) { + offset = i * WM8904_DRC_REGS; + for (j = 0; j < WM8904_DRC_REGS && drc_cfgs_is_valid; j++) { + if (of_property_read_u32_index(np, + "drc-cfg-regs", + offset + j, + &val32)) { + dev_err(&i2c->dev, + "Invalid 'drc-cfg-regs[%i,%i]' property found\n", i, j); + drc_cfgs_is_valid = false; + } else { + pdata->drc_cfgs[i].regs[j] = val32; + } + } + if (of_property_read_string_index(np, "drc-cfg-names", i, + &pdata->drc_cfgs[i].name)) { + dev_err(&i2c->dev, + "Invalid 'drc-cfg-names[%i]' property found\n", i); + drc_cfgs_is_valid = false; + } + } + } + if (!drc_cfgs_is_valid) { + pdata->num_drc_cfgs = 0; + } + + if (of_property_read_s32(np, "num-retune-mobile-cfgs", &pdata->num_retune_mobile_cfgs)) { + dev_dbg(&i2c->dev, "No 'num-retune-mobile-cfgs' property found\n"); + } else if (pdata->num_retune_mobile_cfgs < 0) { + dev_err(&i2c->dev, "Negative 'num-retune-mobile-cfgs' property found\n"); + pdata->num_retune_mobile_cfgs = 0; + } else if (pdata->num_retune_mobile_cfgs > 0) { + pdata->retune_mobile_cfgs = devm_kzalloc(&i2c->dev, + pdata->num_retune_mobile_cfgs * sizeof(struct wm8904_retune_mobile_cfg), + GFP_KERNEL); + for (i = 0; i < pdata->num_retune_mobile_cfgs && retune_mobile_cfgs_is_valid; i++) { + offset = i * WM8904_EQ_REGS; + for (j = 0; j < WM8904_EQ_REGS && retune_mobile_cfgs_is_valid; j++) { + if (of_property_read_u32_index(np, "retune-mobile-cfg-regs", + offset + j, &val32)) { + dev_err(&i2c->dev, + "Invalid 'retune-mobile-cfg-regs[%i,%i]' property found\n", + i, j); + retune_mobile_cfgs_is_valid = false; + } else { + pdata->retune_mobile_cfgs[i].regs[j] = val32; + } + } + if (of_property_read_u32_index(np, "retune-mobile-cfg-rates", i, + &pdata->retune_mobile_cfgs[i].rate)) { + dev_err(&i2c->dev, + "Invalid 'retune-mobile-cfg-rates[%i]' property found\n", i); + retune_mobile_cfgs_is_valid = false; + } + if (of_property_read_string_index(np, "retune-mobile-cfg-names", + i, &pdata->retune_mobile_cfgs[i].name)) { + dev_err(&i2c->dev, + "Invalid 'retune-mobile-cfg-names[%i]' property found\n", i); + retune_mobile_cfgs_is_valid = false; + } + } + } + if (!retune_mobile_cfgs_is_valid) { + pdata->num_retune_mobile_cfgs = 0; + } + + wm8904->pdata = pdata; + + return 0; +} + static int wm8904_i2c_probe(struct i2c_client *i2c, const struct i2c_device_id *id) { @@ -2196,12 +2300,17 @@ static int wm8904_i2c_probe(struct i2c_client *i2c, if (match == NULL) return -EINVAL; wm8904->devtype = (enum wm8904_type)match->data; + ret = wm8904_set_pdata_from_of(i2c, wm8904); + if (ret != 0) { + dev_err(&i2c->dev, "Failed to set platform data from of: %d\n", ret); + return ret; + } } else { wm8904->devtype = id->driver_data; + wm8904->pdata = i2c->dev.platform_data; } i2c_set_clientdata(i2c, wm8904); - wm8904->pdata = i2c->dev.platform_data; for (i = 0; i < ARRAY_SIZE(wm8904->supplies); i++) wm8904->supplies[i].supply = wm8904_supply_names[i]; @@ -2272,7 +2381,7 @@ static int wm8904_i2c_probe(struct i2c_client *i2c, /* Apply configuration from the platform data. */ if (wm8904->pdata) { for (i = 0; i < WM8904_GPIO_REGS; i++) { - if (!wm8904->pdata->gpio_cfg[i]) + if (wm8904->pdata->gpio_cfg[i] == 0xffff) continue; regmap_update_bits(wm8904->regmap, From patchwork Mon Mar 7 14:10:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alifer Moraes X-Patchwork-Id: 1602526 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=GRH8vOiV; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC7lx1sz4z9sGR for ; Tue, 8 Mar 2022 06:28:12 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4KC7lt3tmfz3bcm for ; Tue, 8 Mar 2022 06:28:10 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=GRH8vOiV; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=variscite.com (client-ip=2a01:111:f400:fe0e::621; helo=eur04-vi1-obe.outbound.protection.outlook.com; envelope-from=alifer.m@variscite.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=variscite.com header.i=@variscite.com header.a=rsa-sha256 header.s=selector2 header.b=GRH8vOiV; dkim-atps=neutral Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0621.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::621]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4KC0lB0BxTz3002 for ; Tue, 8 Mar 2022 01:12:06 +1100 (AEDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IQygDwizy5xvTcNr7QKinmNuxiYeWONMXfY/qKrSQAkxMH8Jdf5gZeRYBM+chMvrnuRPC882f2RMVpCdA0HWEuJL+CB6TnzzEo3Jh2SsljkprLGLvHzNH6Km0dIcAlyTmkjgeIOOs9OywzK2XGlI5HAALfFMH3KeqE70bB3o6FPdl2yk0eAIsIjyNjfwJcjyOpwnMi5E/U2rBqg5nPgfB65wEsjnmJ5qccvnsrUFcJcrKCJHR8o3Uv72g4uBsJXnGVnNN7ji+Ttea+iLtnQaqq1TxK8GIbpPnEHs/IL4BOuSwFZfeWO70u5Z5XxyNb03jnWa+YqlGAP/bWCXp2XW3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4gx8BNL3s+XeagdGo0wt7kXm6iK7lPEosXJ3aAMvoDY=; b=OzpP0pnTIrhvS2pqnMJMgMTXQGoz0GiDjWks0AwE2ZQ26c4+VvWHCfa5y5KqrGFc/1gzU2nlfXZYZKct5kwtVuc0nfBuyZn1FSJ7GMEMJn3pJymBXwwOlBj/jq8shN7XQIO1nAjtEEWAFCy5ejyYasm5WxHUvymxpQwu600zg6G1Ji/TlSKu3fDGEUY1r9EhnS1nbM0ybVzgBy4D9UJyGHqem6iNmLdKDV6NRgpEELDzD1aWbaIF9qrGFBULzBTBKBs3+hiJstHmfewxgKkYFlzSr+C2MzU1eAGi/aI7vrP74SDmhmbJZde2UoTkwJboMRnHVniEIo8nng92qzxaPg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=variscite.com; dmarc=pass action=none header.from=variscite.com; dkim=pass header.d=variscite.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=variscite.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4gx8BNL3s+XeagdGo0wt7kXm6iK7lPEosXJ3aAMvoDY=; b=GRH8vOiVB9r01fL3lOXA+LYqhPZeD9sJNHPHi+ESpUeYfSNeiQY1JuzcMw263SW1Y/tFWp992fdx72AGh8cU/2TaNFSpC5yHuqmojlyolNpucoa5IxW+VXV04gzO4Fwv+VtmWiT9jkEbjCdeJ1ZLdIMZzRHD36bs9pNm9LoGQKX1YNYfgKhbjamGeXEp8vAWQgb+1ps+wm7Ap5NuRBekjTBvNrjwDzK1+pDnrcWiCnGG/3+uQ2XmG+G71vygvdkScI5/YdHsPX2z/CFzrnevxQmn7/KV+JnRUpmIQaHNKolUa6iiuY0qQ90kpbXBWtsudfsSomzlFSIDU5lxb9oR7Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=variscite.com; Received: from AM9PR08MB6999.eurprd08.prod.outlook.com (2603:10a6:20b:41a::7) by AM6PR08MB5219.eurprd08.prod.outlook.com (2603:10a6:20b:ce::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.14; Mon, 7 Mar 2022 14:12:06 +0000 Received: from AM9PR08MB6999.eurprd08.prod.outlook.com ([fe80::784c:5631:d38f:9a63]) by AM9PR08MB6999.eurprd08.prod.outlook.com ([fe80::784c:5631:d38f:9a63%6]) with mapi id 15.20.5038.027; Mon, 7 Mar 2022 14:12:06 +0000 From: Alifer Moraes To: linux-kernel@vger.kernel.org Subject: [PATCH 4/4] ASoC: wm8904: add DMIC support Date: Mon, 7 Mar 2022 11:10:41 -0300 Message-Id: <20220307141041.27538-4-alifer.m@variscite.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220307141041.27538-1-alifer.m@variscite.com> References: <20220307141041.27538-1-alifer.m@variscite.com> X-ClientProxiedBy: CP2PR80CA0081.lamprd80.prod.outlook.com (2603:10d6:102:14::19) To AM9PR08MB6999.eurprd08.prod.outlook.com (2603:10a6:20b:41a::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 39063901-efac-4b8f-b88a-08da004475df X-MS-TrafficTypeDiagnostic: AM6PR08MB5219:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4/NjRiVRDQFTTrYXLrbj+Ic7yBa2qMffIURHm1mQA2Zt+A6UwTClc8aIEYgvUcdigp0qS28FWB/hbu8kNJA1San4aMQes4b4KWeI8gYg/xzTT5B9QaDcxfPmcweOpGhgq6lSb8WGQc6W8BcTJBG0E79Qsf48p0MDduHZQ62dg6vgjxuaUlxiMKjN6EpYuNdAaTV5ylPJYazhidsr9qN2qTozwo4VxxgdkSUWXZD2c4u2zATRKx6yyLslxlCbeySfBPzPNrPsMIsSgStWlsweGxAFsins4KlfnOQbBfDzJocL9SCEEdvjt+16GqqPRLjJjkhLXeT9Gu6qzjJPJP+EsJDU3nbb6xr9HTL5VycIEhE1uw9A0mb1WVkUWRYP7MAwlmydmYHRDSzcnbkOKwqTLsqjU2CFtTXfTGovL1MosHgNK1VmhSG/DN783mHHcc6QOCwCjdLiDLOaqXFrhzV02soSYIEJ7L7a997rJdZNTQ/E65WIgZc8U3bdcBJrvDvziWhD/Gs/Ifhp+Ok+yhhtwHOv2gxJ8r/mC7faTRwmRXYlEgkYN2HvPxZpl1j98bUS9ZGg3Z+sH9OG2FeCfTkxwNtx3f2Y8nH5Qs273bzD/BwvLmg2qpiF3B0X8emv7wdnkZ1g9EuRxagsscpIMoAxnZmiAKv9CqBXuN5UH0PIHFkr+HFaMy6+7TOgOl+27Uc8bqNiD+NSJRfMcWxV9nMx8w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6999.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(346002)(6916009)(186003)(26005)(2616005)(1076003)(508600001)(6486002)(52116002)(6666004)(6512007)(6506007)(86362001)(38100700002)(38350700002)(36756003)(2906002)(66946007)(66476007)(8936002)(8676002)(66556008)(7416002)(4326008)(5660300002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ix1VWjlxmevFZYjgBNsZ1oVy3c+JvEYTYo5PItLrngnZ1bBWkf/fz53LLI79ZeEx3zYOSy4pessprbjunUWRrCO2ez/c3HHWv3gh4m7rvN8Zmu/o8pLU7clTNgCbP71Z3kOC0eGpuVhe6VuzuUWXr5Krs4G2CWsEVyazMO92+PZKbSA6BxMlLl0jnyefZ2pa3lnxT81w4Ne6PseK9UvIhcnBpIAEXO94awrPLINQUKAYaYaVcxZszLEm/CnTSsEtWey2o++BRzHcr+H9oyOAUxkfMZqV4pn+/n8fSIKA2En+WN+UsZtsQ5RxYsCrV5s+FhyfhA7BbE38CeFVH0hs4jFfq3KuSbKd5pSe+atnBsa8hnFnXoUoryJkI/tshGkSHhoIQ8PERiYp01g5LfvBS/UlFb3u6CozRdxM/0bnLXEllvWgO0RKc/CmGCL9UdFcj/8P4qxBuilJeKZagGWUdosWU7lefc8T5ziqFZFdnV86nHnq+Ktp0yXmacuBiJyn0MAvh4ySQr2aML2auYlax9DlNa4oFa2kgB4l181/oBp49K7QONR46EGd0juroUbfAFcP/uZSZJCu1gIU/odmQoQZ1A/kg2i3n+OGWIme0I1nXInvgUIEPAaZzNW3dGiP2IAUnF3qMxkWe9HMGjoAh5l+76J5KSWEOImkHBMD6s7Q9/DikJg4AHQWzCsp7h2NYXt3Vb1fwPfQinHHh/eKS/Tcg8QJ0/CLTyr5q7+tAyTjkgsZgyPBObzV74B3KK9e1oFuEvQUhKOc+YN/PCtQW08dclxCue6UU5hAv8tRPCWdkekDATJCmGClH9434X1npJclKB2OsD+wbL5aJFaxRO7M6dPJLt1CmsTojiS7bicS3wHpYF7UhbGVB3265Qm6pGfPOxFg8Ujk4tA8/GxGR4zn871iziZ4ymZu1etwO+L2tVB0HtnvZA5nfvvCqLkQ6DK3/2eHu5/Ysd+6IIipT4tYhL5owNVdhjieGA/tCgj4s2FPcG5cKP7fytMDPlO7gXddSCUuwPuLy9uf7WSOji17NuqmDYUkWjI25aIum2xwGqHvH+TetvqJweIyd/BJ7NiPmlZm526DqOc+jGsN1wWbq5zDUZT8s+c+SY69El+MZ9PcgdUCgKJVlkRlCwv15oHPiA8PwKUBJyVbjK10cnn48prq9oZaJykNka/TdAzFdbT7knQU/4o+rnUTKLWfyOwgJmUCfM9l8ZJUeNb0pTEjWMKDE9yZSLVK7KD0COh8uEx7ePORzCuZ/qqx0uQJfht8cGmCZg+CpY3oAWt4U9LyoC1pGiOh9kSp5CS1KFMDzy532UjKWZFrpI+FeoW2X2cmyMl26xwI1gXw5bHAaU7GyHTUpOgKXTKlgpUDEJAbGF310Ue8/Tttun/0DknyjJCixyz5Ap5N22y0qJCk2h41lQ7QcFJ18Lui54vJuVr4UDikoZqW6AtisHxw8dN8cL0ObRbFGvkAp+3h2naMJUgZc+Gmbt/Xt8DF+WPtuBM0HBtQbNX3h+SQK5KRrG0TnseJfiLM6ZJ+VXqKYPynkCwbI2OUwAV5LY4JXcyU84d+qlRtsGr7dk3E79df0Me8U/R5GhCL/c1ca89GOdUuzY76qZSP+A+GV4DfcW5G308= X-OriginatorOrg: variscite.com X-MS-Exchange-CrossTenant-Network-Message-Id: 39063901-efac-4b8f-b88a-08da004475df X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB6999.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2022 14:12:06.2499 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 399ae6ac-38f4-4ef0-94a8-440b0ad581de X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jYx0NfhGEOceVS5NQhX1NviuJfrPDuAD33JWsXyRNw45brM1JTHyLqYMuesVQQUdBhF2Pq+qh4yfrsQCu2/6Xw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5219 X-Mailman-Approved-At: Tue, 08 Mar 2022 06:26:32 +1100 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pierluigi.p@variscite.com, devicetree@vger.kernel.org, alsa-devel@alsa-project.org, nicoleotsuka@gmail.com, Xiubo.Lee@gmail.com, linuxppc-dev@lists.ozlabs.org, shengjiu.wang@gmail.com, tiwai@suse.com, lgirdwood@gmail.com, robh+dt@kernel.org, perex@perex.cz, eran.m@variscite.com, broonie@kernel.org, patches@opensource.cirrus.com, festevam@gmail.com Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Pierluigi Passaro The WM8904 codec supports both ADC and DMIC inputs. Add dedicated controls to support the additional routing. Signed-off-by: Pierluigi Passaro Signed-off by: Alifer Moraes --- sound/soc/codecs/wm8904.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c index 4121771db104..c7987dc81e4d 100644 --- a/sound/soc/codecs/wm8904.c +++ b/sound/soc/codecs/wm8904.c @@ -837,6 +837,26 @@ static int out_pga_event(struct snd_soc_dapm_widget *w, return 0; } +static const char *dmic_text[] = { + "DMIC1", "DMIC2" +}; + +static SOC_ENUM_SINGLE_DECL(dmic_enum, + WM8904_DIGITAL_MICROPHONE_0, 11, dmic_text); + +static const struct snd_kcontrol_new dmic_mux = + SOC_DAPM_ENUM("DMIC Mux", dmic_enum); + +static const char *cin_text[] = { + "ADC", "DMIC" +}; + +static SOC_ENUM_SINGLE_DECL(cin_enum, + WM8904_DIGITAL_MICROPHONE_0, 12, cin_text); + +static const struct snd_kcontrol_new cin_mux = + SOC_DAPM_ENUM("Capture Input", cin_enum); + static const char *input_mode_text[] = { "Single-Ended", "Differential Line", "Differential Mic" }; @@ -930,6 +950,10 @@ SND_SOC_DAPM_INPUT("IN2R"), SND_SOC_DAPM_INPUT("IN3L"), SND_SOC_DAPM_INPUT("IN3R"), +SND_SOC_DAPM_MUX("DMIC Mux", SND_SOC_NOPM, 0, 0, &dmic_mux), +SND_SOC_DAPM_MUX("Left Capture Input", SND_SOC_NOPM, 0, 0, &cin_mux), +SND_SOC_DAPM_MUX("Right Capture Input", SND_SOC_NOPM, 0, 0, &cin_mux), + SND_SOC_DAPM_SUPPLY("MICBIAS", WM8904_MIC_BIAS_CONTROL_0, 0, 0, NULL, 0), SND_SOC_DAPM_MUX("Left Capture Mux", SND_SOC_NOPM, 0, 0, &lin_mux), @@ -1093,11 +1117,21 @@ static const struct snd_soc_dapm_route adc_intercon[] = { { "AIFOUTL", NULL, "AIFOUTL Mux" }, { "AIFOUTR", NULL, "AIFOUTR Mux" }, + { "DMIC Mux", "DMIC1", "IN1L" }, + { "DMIC Mux", "DMIC2", "IN1R" }, + + { "Left Capture Input", "ADC", "Left Capture PGA" }, + { "Left Capture Input", "DMIC", "DMIC Mux" }, + { "Right Capture Input", "ADC", "Right Capture PGA" }, + { "Right Capture Input", "DMIC", "DMIC Mux" }, + { "ADCL", NULL, "CLK_DSP" }, { "ADCL", NULL, "Left Capture PGA" }, + { "ADCL", NULL, "Left Capture Input" }, { "ADCR", NULL, "CLK_DSP" }, { "ADCR", NULL, "Right Capture PGA" }, + { "ADCR", NULL, "Right Capture Input" }, }; static const struct snd_soc_dapm_route dac_intercon[] = {