From: Daniel Mack <daniel@zonque.org> To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-i2c@vger.kernel.org, alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org Cc: lars@metafoo.de, sboyd@kernel.org, mturquette@baylibre.com, robh+dt@kernel.org, broonie@kernel.org, pascal.huerst@gmail.com, lee.jones@linaro.org Subject: Re: [alsa-devel] [PATCH 10/10] ASoC: Add codec component for AD242x nodes Date: Wed, 18 Dec 2019 10:49:38 +0100 [thread overview] Message-ID: <35e7e6e7-7c70-785c-bdf3-79089134699e@zonque.org> (raw) In-Reply-To: <0565e5cd-9a6e-db65-0632-0bc1aa1d79db@linux.intel.com> Hi, On 12/17/19 8:28 PM, Pierre-Louis Bossart wrote: > On 12/9/19 12:35 PM, Daniel Mack wrote: >> + if (!ad242x_node_is_master(priv->node) && >> + ((format & SND_SOC_DAIFMT_MASTER_MASK) != >> SND_SOC_DAIFMT_CBM_CFM)) { >> + dev_err(component->dev, "slave node must be clock master\n"); >> + return -EINVAL; >> + } > > It was my understanding that the master node provides the clock to the > bus, so not sure how it could be a clock slave, and conversely how a > slave node could provide a clock to the bus? The slave nodes receive the A2B clock from the master node and then produce digital audio output that is sent to other components such as codecs. Hence, in ASoC terms, they are the clock master. Likewise, as the master node is receiving its clock from other components, it has to be a clock slave in the audio network. Does that make sense? >> + switch (params_format(params)) { >> + case SNDRV_PCM_FORMAT_S16_LE: >> + if (priv->node->tdm_slot_size != 16) >> + return -EINVAL; >> + break; >> + case SNDRV_PCM_FORMAT_S32_LE: >> + if (priv->node->tdm_slot_size != 32) >> + return -EINVAL; >> + break; >> + default: >> + return -EINVAL; >> + } > > how does this work for PDM data? > > is the PDM data packed into a regular TDM slot? Yes. But I admit this needs some more testing. We're still working on the hardware that uses this. I'll revisit this. And I'll also add a lot more comments all over the place, as also requested by Lee. Thanks, Daniel
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Mack <daniel@zonque.org> To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-i2c@vger.kernel.org, alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org Cc: lars@metafoo.de, sboyd@kernel.org, mturquette@baylibre.com, robh+dt@kernel.org, broonie@kernel.org, pascal.huerst@gmail.com, lee.jones@linaro.org Subject: Re: [alsa-devel] [PATCH 10/10] ASoC: Add codec component for AD242x nodes Date: Wed, 18 Dec 2019 10:49:38 +0100 [thread overview] Message-ID: <35e7e6e7-7c70-785c-bdf3-79089134699e@zonque.org> (raw) In-Reply-To: <0565e5cd-9a6e-db65-0632-0bc1aa1d79db@linux.intel.com> Hi, On 12/17/19 8:28 PM, Pierre-Louis Bossart wrote: > On 12/9/19 12:35 PM, Daniel Mack wrote: >> + if (!ad242x_node_is_master(priv->node) && >> + ((format & SND_SOC_DAIFMT_MASTER_MASK) != >> SND_SOC_DAIFMT_CBM_CFM)) { >> + dev_err(component->dev, "slave node must be clock master\n"); >> + return -EINVAL; >> + } > > It was my understanding that the master node provides the clock to the > bus, so not sure how it could be a clock slave, and conversely how a > slave node could provide a clock to the bus? The slave nodes receive the A2B clock from the master node and then produce digital audio output that is sent to other components such as codecs. Hence, in ASoC terms, they are the clock master. Likewise, as the master node is receiving its clock from other components, it has to be a clock slave in the audio network. Does that make sense? >> + switch (params_format(params)) { >> + case SNDRV_PCM_FORMAT_S16_LE: >> + if (priv->node->tdm_slot_size != 16) >> + return -EINVAL; >> + break; >> + case SNDRV_PCM_FORMAT_S32_LE: >> + if (priv->node->tdm_slot_size != 32) >> + return -EINVAL; >> + break; >> + default: >> + return -EINVAL; >> + } > > how does this work for PDM data? > > is the PDM data packed into a regular TDM slot? Yes. But I admit this needs some more testing. We're still working on the hardware that uses this. I'll revisit this. And I'll also add a lot more comments all over the place, as also requested by Lee. Thanks, Daniel _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2019-12-18 9:49 UTC|newest] Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-09 18:35 [PATCH 00/10] mfd: Add support for Analog Devices A2B transceiver Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2019-12-09 18:35 ` [PATCH 01/10] dt-bindings: mfd: Add documentation for ad242x Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2019-12-19 19:29 ` Rob Herring 2019-12-19 19:29 ` [alsa-devel] " Rob Herring 2019-12-09 18:35 ` [PATCH 02/10] dt-bindings: i2c: Add documentation for ad242x i2c controllers Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2020-01-08 3:45 ` Rob Herring 2020-01-08 3:45 ` [alsa-devel] " Rob Herring 2019-12-09 18:35 ` [PATCH 03/10] dt-bindings: gpio: Add documentation for ad242x GPIO controllers Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2019-12-09 18:35 ` [PATCH 03/10] dt-bindings: gpio: Add documentation for AD242x " Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2019-12-09 18:35 ` [PATCH 04/10] dt-bindings: clock: Add documentation for AD242x clock providers Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2019-12-24 7:32 ` Stephen Boyd 2019-12-24 7:32 ` [alsa-devel] " Stephen Boyd 2019-12-24 7:32 ` Stephen Boyd 2019-12-09 18:35 ` [PATCH 05/10] dt-bindings: sound: Add documentation for AD242x codecs Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2019-12-09 18:35 ` [PATCH 06/10] mfd: Add core driver for AD242x A2B transceivers Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-17 13:39 ` Lee Jones 2019-12-17 13:39 ` [alsa-devel] " Lee Jones 2019-12-17 13:46 ` Lee Jones 2019-12-17 13:46 ` [alsa-devel] " Lee Jones 2019-12-17 19:36 ` Daniel Mack 2019-12-17 19:36 ` [alsa-devel] " Daniel Mack 2019-12-17 19:24 ` Daniel Mack 2019-12-17 19:24 ` [alsa-devel] " Daniel Mack 2019-12-18 11:20 ` Luca Ceresoli 2019-12-18 11:20 ` [alsa-devel] " Luca Ceresoli 2019-12-17 19:16 ` Pierre-Louis Bossart 2019-12-17 19:16 ` Pierre-Louis Bossart 2019-12-18 9:40 ` Daniel Mack 2019-12-18 9:40 ` Daniel Mack 2019-12-09 18:35 ` [PATCH 07/10] i2c: Add driver for AD242x bus controller Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2019-12-12 16:11 ` Luca Ceresoli 2019-12-12 16:11 ` [alsa-devel] " Luca Ceresoli 2019-12-12 16:33 ` Wolfram Sang 2019-12-12 16:33 ` [alsa-devel] " Wolfram Sang 2019-12-15 20:27 ` Daniel Mack 2019-12-15 20:27 ` [alsa-devel] " Daniel Mack 2019-12-17 8:35 ` Luca Ceresoli 2019-12-17 8:35 ` [alsa-devel] " Luca Ceresoli 2019-12-17 18:17 ` Daniel Mack 2019-12-17 18:17 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` [PATCH 08/10] gpio: Add driver for AD242x GPIO controllers Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2019-12-09 18:35 ` [PATCH 09/10] clk: Add support for AD242x clock output providers Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2019-12-24 7:46 ` Stephen Boyd 2019-12-24 7:46 ` [alsa-devel] " Stephen Boyd 2019-12-24 7:46 ` Stephen Boyd 2019-12-09 18:35 ` [PATCH 10/10] ASoC: Add codec component for AD242x nodes Daniel Mack 2019-12-09 18:35 ` [alsa-devel] " Daniel Mack 2019-12-09 18:35 ` Daniel Mack 2019-12-16 14:23 ` Mark Brown 2019-12-16 14:23 ` [alsa-devel] " Mark Brown 2019-12-17 19:28 ` Pierre-Louis Bossart 2019-12-17 19:28 ` Pierre-Louis Bossart 2019-12-18 9:49 ` Daniel Mack [this message] 2019-12-18 9:49 ` Daniel Mack 2019-12-18 15:32 ` Pierre-Louis Bossart 2019-12-18 15:32 ` Pierre-Louis Bossart 2019-12-20 8:24 ` Daniel Mack 2019-12-20 15:18 ` Pierre-Louis Bossart 2019-12-17 19:29 ` [alsa-devel] [PATCH 00/10] mfd: Add support for Analog Devices A2B transceiver Pierre-Louis Bossart 2019-12-17 19:29 ` Pierre-Louis Bossart 2019-12-18 9:53 ` Daniel Mack 2019-12-18 9:53 ` Daniel Mack
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=35e7e6e7-7c70-785c-bdf3-79089134699e@zonque.org \ --to=daniel@zonque.org \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=lars@metafoo.de \ --cc=lee.jones@linaro.org \ --cc=linux-clk@vger.kernel.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-i2c@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mturquette@baylibre.com \ --cc=pascal.huerst@gmail.com \ --cc=pierre-louis.bossart@linux.intel.com \ --cc=robh+dt@kernel.org \ --cc=sboyd@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.