From patchwork Tue Jul 21 03:41:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shengjiu Wang X-Patchwork-Id: 243037 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2553321ilg; Mon, 20 Jul 2020 20:46:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx4kGTFFuJus4pXm73Tq6FdIbK95Bd07JIE4W5QXxU5rNhbSvyf2bDM6hzP1LUG0/p2nTZ0 X-Received: by 2002:a17:906:eb4b:: with SMTP id mc11mr23037662ejb.5.1595303162414; Mon, 20 Jul 2020 20:46:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595303162; cv=none; d=google.com; s=arc-20160816; b=S1BA8AlDImVjUh3dC8bpL6pSzu+BCa26VxC90hdNFiJg+EyuXsaykpwyo7gs1G5te2 GW//6Kipbb0JuzKg4TfAhJSXtBpzBeOBuVNDUNRncQkV0SiW1itjnPIgNCPTd3VGoFx5 6Er+cpIQRjY6gAfVmHaxt2lJPLydOTxWha2FEW4RdHudqH2I93uz56Tl5KCfTMPM22Fo iV4adKBLK6/UWB/nz9LeREj8gQ5NobgXkHrquGtI0ZrFCoFzjyKl41tSBXMAsNA7EOVx hWPbnUtCyzcwBH7hRx5MeLnSEES/QUZ4Oi/Y9+Bd99vTvSQn5yOvLcucU+Vn1Ip8Ptn1 muUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=a42Zc4z86mGqaO8uINWE11FQdTLtbeL7w/NDxgwSMvQ=; b=ph/lV0LiVSqAYBjHWiHkHr9dgPsanddrumCFTffwUozu2500aTRkpF5vwz4ebNbUXY 0qLKpIQMUHhpkid0zo1LzyELP8fhnT5Pni1qunyl+RtdAjPkzvH7LuHyQhYdB6f4sXyt Owv+5ZQ4jpoTDM9myiJJMj5w6IbpKmiMw90VjI42VwnhkSMZ7rdubNokWbxim+8kUK8s uDItAAMinaIshUMueF07YBETdxTgysUjTaJTU2Ef9220pCeIoChhLUmJmr/dDAmZVq2t X08/jAWPFUJVtFMp3orXQEJ/BWE3CmVVQdRgJ90NjwcpzPvBgmGAaFNmfLgVc6qiKlSS 9SnA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-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 h1si12014290edv.246.2020.07.20.20.46.01; Mon, 20 Jul 2020 20:46:02 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-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 devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-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 S1726962AbgGUDqB (ORCPT + 6 others); Mon, 20 Jul 2020 23:46:01 -0400 Received: from inva021.nxp.com ([92.121.34.21]:59710 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726483AbgGUDqB (ORCPT ); Mon, 20 Jul 2020 23:46:01 -0400 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 61DC12003A3; Tue, 21 Jul 2020 05:45:58 +0200 (CEST) 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 25F1720038B; Tue, 21 Jul 2020 05:45:53 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id CA01C4030C; Tue, 21 Jul 2020 11:27:10 +0800 (SGT) 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, robh+dt@kernel.org, devicetree@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] ASoC: fsl-asoc-card: Support configuring dai fmt from DT Date: Tue, 21 Jul 2020 11:41:49 +0800 Message-Id: <1595302910-19688-1-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Support same propeties as simple card for configuring fmt from DT. In order to make this change compatible with old DT, these properties are optional. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl-asoc-card.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) -- 2.27.0 Acked-by: Nicolin Chen diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c index ee80d02b56c6..4848ba61d083 100644 --- a/sound/soc/fsl/fsl-asoc-card.c +++ b/sound/soc/fsl/fsl-asoc-card.c @@ -531,11 +531,14 @@ static int fsl_asoc_card_probe(struct platform_device *pdev) struct device_node *cpu_np, *codec_np, *asrc_np; struct device_node *np = pdev->dev.of_node; struct platform_device *asrc_pdev = NULL; + struct device_node *bitclkmaster = NULL; + struct device_node *framemaster = NULL; struct platform_device *cpu_pdev; struct fsl_asoc_card_priv *priv; struct device *codec_dev = NULL; const char *codec_dai_name; const char *codec_dev_name; + unsigned int daifmt; u32 width; int ret; @@ -667,6 +670,31 @@ static int fsl_asoc_card_probe(struct platform_device *pdev) goto asrc_fail; } + /* Format info from DT is optional. */ + daifmt = snd_soc_of_parse_daifmt(np, NULL, + &bitclkmaster, &framemaster); + daifmt &= ~SND_SOC_DAIFMT_MASTER_MASK; + if (bitclkmaster || framemaster) { + if (codec_np == bitclkmaster) + daifmt |= (codec_np == framemaster) ? + SND_SOC_DAIFMT_CBM_CFM : SND_SOC_DAIFMT_CBM_CFS; + else + daifmt |= (codec_np == framemaster) ? + SND_SOC_DAIFMT_CBS_CFM : SND_SOC_DAIFMT_CBS_CFS; + + /* Override dai_fmt with value from DT */ + priv->dai_fmt = daifmt; + } + + /* Change direction according to format */ + if (priv->dai_fmt & SND_SOC_DAIFMT_CBM_CFM) { + priv->cpu_priv.sysclk_dir[TX] = SND_SOC_CLOCK_IN; + priv->cpu_priv.sysclk_dir[RX] = SND_SOC_CLOCK_IN; + } + + of_node_put(bitclkmaster); + of_node_put(framemaster); + if (!fsl_asoc_card_is_ac97(priv) && !codec_dev) { dev_err(&pdev->dev, "failed to find codec device\n"); ret = -EPROBE_DEFER; From patchwork Tue Jul 21 03:41:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shengjiu Wang X-Patchwork-Id: 243038 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2553332ilg; Mon, 20 Jul 2020 20:46:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy5jpdnVroVPK6WQ4FA9AL1lNYibi8ZUmjUDxstp4gDeupBFAQtUre5Y0J2mDlpm4mmY8+W X-Received: by 2002:a17:906:3945:: with SMTP id g5mr24898480eje.549.1595303163431; Mon, 20 Jul 2020 20:46:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595303163; cv=none; d=google.com; s=arc-20160816; b=pEaUffI7RYtbom18Gdcy8yTeNs4MkHL78yhizIfWY9lzJnTn8vfBQAVfVHQfwo+h0T 4svGn4fnjM25Zcf+Ux4GC/tPRJVy+YfNG7Pw5BrybCBDuok3jOc/Nq/bfx45R7YD1kcx 5IKjQKV+j2tD6HR1wSwrfE5DurvhG6cxk6GF3HIRChNuixoZ1suGhkupvz4c8chvWlQC vs3gQMYBVAGgX05u/1bWGpG8i7YSR8pfxVnlORnrFgIKLLkHc8vks9hTpVvSZ4TTyALl 3uB4VuKAfBUzQdU6hhfPL0MCGYHmQ8SsdBKjkBTo3WdrQroeK5lWqD6YL1Bc3m/YP6hr NqAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=zAArjFgkSOW7IptJRCp/WO8QIhKRDUQvkQJjB6w6VdY=; b=Nnx2Z4DExgvaDC9Z7MPRM9SnNQxknw0k3TY6he8S4S0iMS1OPEV65Bl9ZKurygrAvU eG2wFkt2lhvbE2PqEPMdJka4XKPSn87/3du3kpZM3T+dxL+2tSgtSiCjBCMgAn422Nsa OCyDs+IFsKBWf17eFITPFU2vy8MqMFn+W2pxv3wTsEJzK6WmcQ7RUMOaJzA2YHsLI8MB AcO8/RCP1tcgzY04QhQ/L56m53LABwkuvxlG6StDlPW7+nlz1FGfC1KSl62eud2rhW2L iWU1SKBrGFSreK03f81GPsoNmeIXJsdPZAoBle2Fv5vsWuV8HkeIMUzbE7jbWcQ3Hc/n 5cTQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-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 h1si12014290edv.246.2020.07.20.20.46.03; Mon, 20 Jul 2020 20:46:03 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-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 devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-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 S1726483AbgGUDqC (ORCPT + 6 others); Mon, 20 Jul 2020 23:46:02 -0400 Received: from inva021.nxp.com ([92.121.34.21]:59740 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726856AbgGUDqC (ORCPT ); Mon, 20 Jul 2020 23:46:02 -0400 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 9FDB420038B; Tue, 21 Jul 2020 05:45:59 +0200 (CEST) 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 6393D200390; Tue, 21 Jul 2020 05:45:54 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 121134031C; Tue, 21 Jul 2020 11:27:12 +0800 (SGT) 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, robh+dt@kernel.org, devicetree@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] ASoC: bindings: fsl-asoc-card: Support properties for configuring dai fmt Date: Tue, 21 Jul 2020 11:41:50 +0800 Message-Id: <1595302910-19688-2-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1595302910-19688-1-git-send-email-shengjiu.wang@nxp.com> References: <1595302910-19688-1-git-send-email-shengjiu.wang@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org In order to support configuring dai fmt through DT, add some properties. These properiese are same as the properties in simple card. Signed-off-by: Shengjiu Wang --- Documentation/devicetree/bindings/sound/fsl-asoc-card.txt | 5 +++++ 1 file changed, 5 insertions(+) -- 2.27.0 diff --git a/Documentation/devicetree/bindings/sound/fsl-asoc-card.txt b/Documentation/devicetree/bindings/sound/fsl-asoc-card.txt index 8a6a3d0fda5e..63ebf52b43e8 100644 --- a/Documentation/devicetree/bindings/sound/fsl-asoc-card.txt +++ b/Documentation/devicetree/bindings/sound/fsl-asoc-card.txt @@ -71,6 +71,11 @@ Optional properties: - hp-det-gpio : The GPIO that detect headphones are plugged in - mic-det-gpio : The GPIO that detect microphones are plugged in + - bitclock-master : Indicates dai-link bit clock master; for details see simple-card.yaml. + - frame-master : Indicates dai-link frame master; for details see simple-card.yaml. + - dai-format : audio format, for details see simple-card.yaml. + - frame-inversion : dai-link uses frame clock inversion, for details see simple-card.yaml. + - bitclock-inversion : dai-link uses bit clock inversion, for details see simple-card.yaml. Optional unless SSI is selected as a CPU DAI: