From: Lee Jones <lee.jones@linaro.org>
To: Arnaud Pouliquen <arnaud.pouliquen@st.com>
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>,
Jonathan Cameron <jic23@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: Fri, 27 Jan 2017 10:15:45 +0000 [thread overview]
Message-ID: <20170127101545.g53uah57vgfu55o5@dell> (raw)
In-Reply-To: <a1aaaa20-ac00-b182-f1c1-63152be41135@st.com>
On Tue, 24 Jan 2017, 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.
Yes, this is what I think you should do.
MFD is not a dumping ground for devices that do not fit anywhere else.
> >>>> 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
> >
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2017-01-27 10:15 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 [this message]
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
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=20170127101545.g53uah57vgfu55o5@dell \
--to=lee.jones@linaro.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=jic23@kernel.org \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--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