Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp3232848pxu; Sun, 29 Nov 2020 20:09:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJyM5ZYSeTtAGAd92xwSxUfGszSMz7oMnMLuHJGnBeLaRbrFsu8T7dpLCq76ldtZAol2Cv3d X-Received: by 2002:a05:6402:17d1:: with SMTP id s17mr19649993edy.2.1606709388792; Sun, 29 Nov 2020 20:09:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606709388; cv=none; d=google.com; s=arc-20160816; b=iDRXk9TtBDQZkzMP5jIVAjF99MmNKB0zzQm4hMxQvapTpPs8KCT406TuGdf0GBJ161 ptdOJW589xqkVW4APtjTsb1GLPUuUoVWuU5Tsv3/cIArxc1pByd8oo9VmOX0a5ih7hUn obS7D4IVUZn9wpy5RK2kPAic+mavlwbqtfBXvYBBt+CjNbf90/wEPqeqALPw6SX4NjF9 CLCmQ40lx+phSCbb2MDYLVv6jaHgzit+m6Ocgrn5TbiL977rBe4M9R30HeE8oAuA/X1R veGDQ1Q7rQ2KKUrlTfguWb/4RSrajwCvUTzUsFnXxRMipO9Rzr7nBBV0fKhi4jt16Bks IVdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:to:from; bh=c2b8F171wi0JoVIKZ7NVUuDlBPiGU4poBv19UAkkYto=; b=e8hQNyzBVwt+j9NI5vfbW7rNDqheZhM6yhDxmi3ZYFZBDpLPtgvhOewz/3z2eXpkK3 oO+pOeCoWLnpAAXEeqRMTuN61r1+9m97vO0qXw2XSl8l4rUNl2T/j+U/aVekdcIH08CS 1eoru5ewgvVcXFDV3Wzp/aaT0g7kelkX94e1K8nq2N4G/W8lBhGHOgeRx6Z+6m4HOPrQ hlfzoHTcXcfcf0A1BvBojaSMnCJ3u1xyKqeHU0CsO8c/GpMWkdAEhyjDg6DIwpoWRm+V 0Y3UihoPZoWCNmadGD/imecPoG2yTqXwWRGWvGhCEClHS0M8ZNCeEsRZXnhUNh+KM7M4 w1Dg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id hr14si10474163ejc.396.2020.11.29.20.09.26; Sun, 29 Nov 2020 20:09:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726733AbgK3EGD (ORCPT + 99 others); Sun, 29 Nov 2020 23:06:03 -0500 Received: from inva021.nxp.com ([92.121.34.21]:39886 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726000AbgK3EGD (ORCPT ); Sun, 29 Nov 2020 23:06:03 -0500 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 2473C20074A; Mon, 30 Nov 2020 05:05:16 +0100 (CET) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 0922320073E; Mon, 30 Nov 2020 05:05:11 +0100 (CET) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id C89D540326; Mon, 30 Nov 2020 05:05:04 +0100 (CET) From: Shengjiu Wang To: timur@kernel.org, nicoleotsuka@gmail.com, Xiubo.Lee@gmail.com, festevam@gmail.com, lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, devicetree@vger.kernel.org Subject: [PATCH 1/2] ASoC: fsl-asoc-card: Add support for si476x codec Date: Mon, 30 Nov 2020 11:57:47 +0800 Message-Id: <1606708668-28786-1-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The si476x codec is used for FM radio function on i.MX6 auto board, it only supports recording function. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl-asoc-card.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c index a2dd3b6b7fec..f62f81ceab0d 100644 --- a/sound/soc/fsl/fsl-asoc-card.c +++ b/sound/soc/fsl/fsl-asoc-card.c @@ -131,6 +131,13 @@ static const struct snd_soc_dapm_route audio_map_tx[] = { {"CPU-Playback", NULL, "ASRC-Playback"}, }; +static const struct snd_soc_dapm_route audio_map_rx[] = { + /* 1st half -- Normal DAPM routes */ + {"CPU-Capture", NULL, "Capture"}, + /* 2nd half -- ASRC DAPM routes */ + {"ASRC-Capture", NULL, "CPU-Capture"}, +}; + /* Add all possible widgets into here without being redundant */ static const struct snd_soc_dapm_widget fsl_asoc_card_dapm_widgets[] = { SND_SOC_DAPM_LINE("Line Out Jack", NULL), @@ -653,6 +660,11 @@ static int fsl_asoc_card_probe(struct platform_device *pdev) priv->cpu_priv.slot_width = 32; priv->card.dapm_routes = audio_map_tx; priv->card.num_dapm_routes = ARRAY_SIZE(audio_map_tx); + } else if (of_device_is_compatible(np, "fsl,imx-audio-si476x")) { + codec_dai_name = "si476x-codec"; + priv->dai_fmt |= SND_SOC_DAIFMT_CBS_CFS; + priv->card.dapm_routes = audio_map_rx; + priv->card.num_dapm_routes = ARRAY_SIZE(audio_map_rx); } else { dev_err(&pdev->dev, "unknown Device Tree compatible\n"); ret = -EINVAL; @@ -869,6 +881,7 @@ static const struct of_device_id fsl_asoc_card_dt_ids[] = { { .compatible = "fsl,imx-audio-wm8960", }, { .compatible = "fsl,imx-audio-mqs", }, { .compatible = "fsl,imx-audio-wm8524", }, + { .compatible = "fsl,imx-audio-si476x", }, {} }; MODULE_DEVICE_TABLE(of, fsl_asoc_card_dt_ids); -- 2.27.0