devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 00/13] Add STM32 DFSDM support
@ 2017-12-01 17:40 Arnaud Pouliquen
  2017-12-01 17:40 ` [PATCH v6 02/13] docs: driver-api: add iio hw consumer section Arnaud Pouliquen
                   ` (5 more replies)
  0 siblings, 6 replies; 26+ messages in thread
From: Arnaud Pouliquen @ 2017-12-01 17:40 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald-Stadler, Jaroslav Kysela,
	Takashi Iwai, Liam Girdwood, Mark Brown
  Cc: devicetree, alsa-devel, Alexandre Torgue, linux-iio,
	arnaud.pouliquen, Maxime Coquelin, linux-arm-kernel

Hello,

Here is a new version to fix kbuild test warnings

Main deltas V6 vs V5:
- Fix warning reported by kbuild test in :
   include/linux/iio/consumer.h
   sound/soc/stm/stm32_adfsdm.c

Main deltas V5 vs V4:
- Integrate ASOC DAI as a subnode of the DFSDM.
- Add in kernel consumer interface to allow to manipulate attribute.

Context reminder:
-----------------

DFSDM peripheral is a peripheral that allows to connect some sigma delta ADCs
or PDM microphones via a SPI or Manchester bus.
DFSDM integrates digital filters to offer up to 24 bits final resolution.

In term of SW architecture. 2 use-cases have to be supported:

1) Sigma delta ADC conversion through IIO framework.
Sigma delta ADC is handled by generic sigma delta modulator driver. 
DFSDM peripheral is binded to a SD modulator ADC using the IIO HW consumer interface. 
Please notice that IIO HW consumer interface has be proposed by Lars, but is
part of this patchset with Lars's agreement.
User interface is IIO one.
Notice that this patch-set propose only a raw conversion, to simplify review.
Buffer and trigger management will be added in next patch-sets.

2) PDM microphone record through ALSA framework.
PDM microphone is handled by ASOC Generic DMIC codec driver.
ADFSDM ASOC DAI driver is binded to IIO driver using the IIO consumer interface
ADFSDM ASOC DAI driver is binded to a PDM microphone ASOC component using ASOC Of_graph.
User interface is ALSA one.
As IIO DMA management is not adapted to an audio realtime stream. A specific DMA 
management has been implemented in IIO driver for audio purposes.

Regards,
Arnaud



Arnaud Pouliquen (12):
  docs: driver-api: add iio hw consumer section
  IIO: hw_consumer: add devm_iio_hw_consumer_alloc
  IIO: inkern: API for manipulating channel attributes
  IIO: Add DT bindings for sigma delta adc modulator
  IIO: ADC: add sigma delta modulator support
  IIO: add DT bindings for stm32 DFSDM filter
  IIO: ADC: add stm32 DFSDM core support
  IIO: ADC: add STM32 DFSDM sigma delta ADC support
  IIO: ADC: add stm32 DFSDM support for PDM microphone
  IIO: consumer: allow to set buffer sizes
  ASoC: add bindings for stm32 DFSDM filter
  ASoC: stm32: add DFSDM DAI support

Lars-Peter Clausen (1):
  iio: Add hardware consumer buffer support

 .../ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32      |   16 +
 .../bindings/iio/adc/sigma-delta-modulator.txt     |   13 +
 .../bindings/iio/adc/st,stm32-dfsdm-adc.txt        |  127 ++
 .../devicetree/bindings/sound/st,stm32-adfsdm.txt  |   62 +
 Documentation/driver-api/iio/hw-consumer.rst       |   51 +
 Documentation/driver-api/iio/index.rst             |    1 +
 drivers/iio/adc/Kconfig                            |   37 +
 drivers/iio/adc/Makefile                           |    3 +
 drivers/iio/adc/sd_adc_modulator.c                 |   81 ++
 drivers/iio/adc/stm32-dfsdm-adc.c                  | 1232 ++++++++++++++++++++
 drivers/iio/adc/stm32-dfsdm-core.c                 |  318 +++++
 drivers/iio/adc/stm32-dfsdm.h                      |  319 +++++
 drivers/iio/buffer/Kconfig                         |   10 +
 drivers/iio/buffer/Makefile                        |    1 +
 drivers/iio/buffer/industrialio-buffer-cb.c        |   11 +
 drivers/iio/buffer/industrialio-hw-consumer.c      |  248 ++++
 drivers/iio/inkern.c                               |   18 +-
 include/linux/iio/adc/stm32-dfsdm-adc.h            |   28 +
 include/linux/iio/consumer.h                       |   39 +-
 include/linux/iio/hw-consumer.h                    |   22 +
 sound/soc/stm/Kconfig                              |   11 +
 sound/soc/stm/Makefile                             |    3 +
 sound/soc/stm/stm32_adfsdm.c                       |  386 ++++++
 23 files changed, 3031 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32
 create mode 100644 Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.txt
 create mode 100644 Documentation/devicetree/bindings/sound/st,stm32-adfsdm.txt
 create mode 100644 Documentation/driver-api/iio/hw-consumer.rst
 create mode 100644 drivers/iio/adc/sd_adc_modulator.c
 create mode 100644 drivers/iio/adc/stm32-dfsdm-adc.c
 create mode 100644 drivers/iio/adc/stm32-dfsdm-core.c
 create mode 100644 drivers/iio/adc/stm32-dfsdm.h
 create mode 100644 drivers/iio/buffer/industrialio-hw-consumer.c
 create mode 100644 include/linux/iio/adc/stm32-dfsdm-adc.h
 create mode 100644 include/linux/iio/hw-consumer.h
 create mode 100644 sound/soc/stm/stm32_adfsdm.c

-- 
2.7.4

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2017-12-04 21:51 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-01 17:40 [PATCH v6 00/13] Add STM32 DFSDM support Arnaud Pouliquen
2017-12-01 17:40 ` [PATCH v6 02/13] docs: driver-api: add iio hw consumer section Arnaud Pouliquen
     [not found]   ` <1512150020-20335-3-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-02 14:51     ` Jonathan Cameron
2017-12-01 17:40 ` [PATCH v6 04/13] IIO: inkern: API for manipulating channel attributes Arnaud Pouliquen
     [not found]   ` <1512150020-20335-5-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-02 14:46     ` Jonathan Cameron
2017-12-01 17:40 ` [PATCH v6 05/13] IIO: Add DT bindings for sigma delta adc modulator Arnaud Pouliquen
     [not found]   ` <1512150020-20335-6-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-02 14:52     ` Jonathan Cameron
2017-12-01 17:40 ` [PATCH v6 06/13] IIO: ADC: add sigma delta modulator support Arnaud Pouliquen
     [not found]   ` <1512150020-20335-7-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-02 14:54     ` Jonathan Cameron
2017-12-01 17:40 ` [PATCH v6 10/13] IIO: ADC: add stm32 DFSDM support for PDM microphone Arnaud Pouliquen
     [not found] ` <1512150020-20335-1-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-01 17:40   ` [PATCH v6 01/13] iio: Add hardware consumer buffer support Arnaud Pouliquen
     [not found]     ` <1512150020-20335-2-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-02 14:50       ` Jonathan Cameron
2017-12-01 17:40   ` [PATCH v6 03/13] IIO: hw_consumer: add devm_iio_hw_consumer_alloc Arnaud Pouliquen
     [not found]     ` <1512150020-20335-4-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-02 14:52       ` Jonathan Cameron
2017-12-01 17:40   ` [PATCH v6 07/13] IIO: add DT bindings for stm32 DFSDM filter Arnaud Pouliquen
     [not found]     ` <1512150020-20335-8-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-02 14:55       ` Jonathan Cameron
2017-12-01 17:40   ` [PATCH v6 08/13] IIO: ADC: add stm32 DFSDM core support Arnaud Pouliquen
2017-12-01 17:40   ` [PATCH v6 09/13] IIO: ADC: add STM32 DFSDM sigma delta ADC support Arnaud Pouliquen
     [not found]     ` <1512150020-20335-10-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-02 14:58       ` Jonathan Cameron
2017-12-01 17:40   ` [PATCH v6 11/13] IIO: consumer: allow to set buffer sizes Arnaud Pouliquen
2017-12-01 17:40   ` [PATCH v6 12/13] ASoC: add bindings for stm32 DFSDM filter Arnaud Pouliquen
     [not found]     ` <1512150020-20335-13-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-04 21:51       ` Rob Herring
2017-12-01 17:40   ` [PATCH v6 13/13] ASoC: stm32: add DFSDM DAI support Arnaud Pouliquen
     [not found]     ` <1512150020-20335-14-git-send-email-arnaud.pouliquen-qxv4g6HH51o@public.gmane.org>
2017-12-02 15:09       ` Jonathan Cameron
2017-12-04  8:58         ` Arnaud Pouliquen
2017-12-04 16:58           ` Mark Brown

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).