From: Jonathan Cameron <jic23@kernel.org>
To: Arnaud Pouliquen <arnaud.pouliquen@st.com>,
Lee Jones <lee.jones@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
Lars-Peter Clausen <lars@metafoo.de>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Liam Girdwood <lgirdwood@gmail.com>,
"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
Mark Brown <broonie@kernel.org>, Takashi Iwai <tiwai@suse.com>,
Jaroslav Kysela <perex@perex.cz>,
Rob Herring <robh+dt@kernel.org>,
Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
Hartmut Knaack <knaack.h@gmx.de>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Alexandre TORGUE <alexandre.torgue@st.com>
Subject: Re: [PATCH 2/7] MFD: add STM32 DFSDM support
Date: Sun, 29 Jan 2017 11:20:52 +0000 [thread overview]
Message-ID: <0bf34853-d0fa-8cb6-29fb-398d6951fdff@kernel.org> (raw)
In-Reply-To: <a1aaaa20-ac00-b182-f1c1-63152be41135@st.com>
On 24/01/17 13:32, Arnaud Pouliquen wrote:
>
>
> On 01/24/2017 12:36 PM, Lee Jones wrote:
>> On Tue, 24 Jan 2017, Arnaud Pouliquen wrote:
>>> On 01/24/2017 09:22 AM, Lee Jones wrote:
>>>> On Mon, 23 Jan 2017, Arnaud Pouliquen wrote:
>>>>
>>>>> DFSDM hardware IP can be used at the same time for ADC sigma delta
>>>>
>>>> Same time as what?
>>> DFSDM is used for ADC acquisition (through IIO) but also PDM microphone
>>> capture (through ASOC).
>>>>
>>>>> conversion and audio PDM microphone.
>>>>> MFD driver is in charge of configuring IP registers and managing IP clocks.
>>>>> For this it exports an API to handles filters and channels resources.
>>>>
>>>> This looks like an ADC driver? What is it that makes it an MFD?
>>> Yes it a kind of ADC but that supports 2 features audio and iio.
>>> So it has to support 2 features based on 2 separate Frameworks.
>>
>> I'm still unsure why it needs to live in MFD.
>>
>> By the looks of it, this driver needs to move into IIO and you need to
>> call into it from ASoC.
>>
>
> I think i introduce confusion by speaking about ADC for audio...
>
> 1) IIO handles sigma delta ADCs that can be used as example for motor
> controls. the aim is to get value based on an application request or
> using some triggers.
> example: http://www.ti.com/lit/ds/symlink/ads1202.pdf
>
> 2) For audio part, we speak about Digital mems microphones that generate
> PDM format stream. PDM is a continuous real time stream dedicated to
> audio record and must be handled in ASOC ( codec Dmic part driver is
> /sound/soc/codec/dmic.c).
> DMIC example:
> http://www.st.com/content/ccc/resource/technical/document/datasheet/47/bd/d2/13/8d/fd/48/26/DM00121815.pdf/files/DM00121815.pdf/jcr:content/translations/en.DM00121815.pdf
>
> Form my point of view it very strange to handle DMICs in IIO, as it is
> not designed to support audio streams.it is two separate features that
> are not compatible.
>
> Now, from software point of view
> That would means that IIO declares ADCs that it can not expose, because
> DMIC is not IIO standard. But IIO inkern API needs that device is
> declared... So i should define a specific API in IIO for ASOC driver.
IIO isn't designed specifically to support audio streams, but it does
have high bandwidth continuous sampling support via the dma buffer
side of things. Analog devices use this stuff for software defined
radio applications.
What we don't currently have is an in kernel consumer interface for this.
I'm not really sure how difficult it would be to do this, but it is
certainly sounding like there is demand for it.
Probably the best person to comment is Lars who wrote the dma stuff
in the first place and also has a more than passing familiarity with
ASOC.
I've sent Lars a PM to highlight this thread.
Jonathan
>
>
>>>>> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
>>>>> ---
>>>>> drivers/mfd/Kconfig | 11 +
>>>>> drivers/mfd/Makefile | 2 +
>>>>> drivers/mfd/stm32-dfsdm-reg.h | 220 +++++++++
>>>>> drivers/mfd/stm32-dfsdm.c | 1044 +++++++++++++++++++++++++++++++++++++++
>>>>> include/linux/mfd/stm32-dfsdm.h | 324 ++++++++++++
>>>>> 5 files changed, 1601 insertions(+)
>>>>> create mode 100644 drivers/mfd/stm32-dfsdm-reg.h
>>>>> create mode 100644 drivers/mfd/stm32-dfsdm.c
>>>>> create mode 100644 include/linux/mfd/stm32-dfsdm.h
>>>>>
>>>>> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
>>>>> index c6df644..4bb660b 100644
>>>>> --- a/drivers/mfd/Kconfig
>>>>> +++ b/drivers/mfd/Kconfig
>>>>> @@ -1607,6 +1607,17 @@ config MFD_STW481X
>>>>> in various ST Microelectronics and ST-Ericsson embedded
>>>>> Nomadik series.
>>>>>
>>>>> +config MFD_STM32_DFSDM
>>>>> + tristate "ST Microelectronics STM32 DFSDM"
>>>>> + depends on (ARCH_STM32 && OF) || COMPILE_TEST
>>>>> + select MFD_CORE
>>>>> + select REGMAP
>>>>> + select REGMAP_MMIO
>>>>> + help
>>>>> + Select this option to enable the STM32 Digital Filter
>>>>> + for Sigma Delta Modulators (DFSDM) driver used
>>>>> + in various STM32 series.
>>>>> +
>>>>> menu "Multimedia Capabilities Port drivers"
>>>>> depends on ARCH_SA1100
>>>>
>>>> [...]
>>>>
>>>
>>> Regards
>>> Arnaud
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2017-01-29 11:20 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-23 16:32 [PATCH 0/7] Add STM32 DFSDM support Arnaud Pouliquen
2017-01-23 16:32 ` [PATCH 1/7] MFD: add bindings for STM32 DFSDM driver Arnaud Pouliquen
2017-01-27 20:53 ` Rob Herring
2017-01-30 13:16 ` Arnaud Pouliquen
2017-01-23 16:32 ` [PATCH 4/7] IIO: add STM32 DFSDM ADC support Arnaud Pouliquen
2017-01-29 12:15 ` Jonathan Cameron
2017-01-30 16:02 ` Arnaud Pouliquen
2017-01-23 16:32 ` [PATCH 5/7] ASoC: dmaengine_pcm: add copy support Arnaud Pouliquen
[not found] ` <1485189145-29576-6-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-01-23 17:50 ` Mark Brown
2017-01-24 2:14 ` [alsa-devel] " kbuild test robot
[not found] ` <1485189145-29576-1-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-01-23 16:32 ` [PATCH 2/7] MFD: add STM32 DFSDM support Arnaud Pouliquen
[not found] ` <1485189145-29576-3-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-01-24 0:36 ` [alsa-devel] " kbuild test robot
2017-01-24 8:22 ` Lee Jones
2017-01-24 8:30 ` Arnaud Pouliquen
[not found] ` <283c0e48-55e2-6516-369d-91dc72d12f73-qxv4g6HH51o@public.gmane.org>
2017-01-24 11:36 ` Lee Jones
2017-01-24 13:32 ` Arnaud Pouliquen
2017-01-27 10:15 ` Lee Jones
2017-01-27 13:45 ` Arnaud Pouliquen
[not found] ` <7b3eb38d-4fd1-2006-7423-94f2a7b38b27-qxv4g6HH51o@public.gmane.org>
2017-01-27 17:17 ` Lee Jones
2017-01-29 12:28 ` Jonathan Cameron
2017-01-29 14:19 ` Lars-Peter Clausen
2017-01-29 14:34 ` Lars-Peter Clausen
2017-01-30 11:13 ` Arnaud Pouliquen
[not found] ` <2e6c07cb-f67b-64ff-530b-6bc2073272a9-qxv4g6HH51o@public.gmane.org>
2017-02-04 12:15 ` Jonathan Cameron
2017-01-31 15:30 ` Arnaud Pouliquen
2017-01-30 11:23 ` Arnaud Pouliquen
2017-01-29 17:50 ` Mark Brown
2017-01-30 18:14 ` Arnaud Pouliquen
2017-01-29 11:20 ` Jonathan Cameron [this message]
2017-01-29 11:53 ` Jonathan Cameron
2017-01-30 15:08 ` Arnaud Pouliquen
2017-01-30 20:44 ` Jonathan Cameron
2017-01-23 16:32 ` [PATCH 3/7] IIO: add bindings for STM32 DFSDM ADC driver Arnaud Pouliquen
2017-01-29 11:58 ` Jonathan Cameron
2017-01-29 12:42 ` Jonathan Cameron
2017-01-31 14:10 ` Arnaud Pouliquen
[not found] ` <d9747aa9-e3c2-f280-7dca-8862e8e74e6e-qxv4g6HH51o@public.gmane.org>
2017-02-04 12:09 ` Jonathan Cameron
2017-01-30 15:26 ` Arnaud Pouliquen
2017-01-23 16:32 ` [PATCH 6/7] ASoC: add bindings for STM32 DFSDM driver Arnaud Pouliquen
2017-01-29 12:19 ` Jonathan Cameron
2017-01-30 17:32 ` Arnaud Pouliquen
[not found] ` <71612ea0-c9d0-a85e-2d58-72609df57e35-qxv4g6HH51o@public.gmane.org>
2017-02-04 12:13 ` Jonathan Cameron
2017-01-23 16:32 ` [PATCH 7/7] ASoC: add STM32 DFSDM support Arnaud Pouliquen
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=0bf34853-d0fa-8cb6-29fb-398d6951fdff@kernel.org \
--to=jic23@kernel.org \
--cc=alexandre.torgue@st.com \
--cc=alsa-devel@alsa-project.org \
--cc=arnaud.pouliquen@st.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=lee.jones@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-iio@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=perex@perex.cz \
--cc=pmeerw@pmeerw.net \
--cc=robh+dt@kernel.org \
--cc=tiwai@suse.com \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).