All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] ASoC: stm32: Add I2S driver
@ 2017-04-06 15:40 ` olivier moysan
  0 siblings, 0 replies; 32+ messages in thread
From: olivier moysan @ 2017-04-06 15:40 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, mcoquelin.stm32,
	alexandre.torgue, alsa-devel, robh, mark.rutland, devicetree,
	linux-arm-kernel, olivier.moysan
  Cc: arnaud.pouliquen, benjamin.gaignard

This patch-set handles the SPI/I2S IP on STM32 platforms.

It applies to STM32 platforms implementing version 2 of SPI/I2S IP like STM32H7 series.

The SPI/I2S block is a serial peripheral interface (SPI), 
which can also be configured to work on I2S/PCM mode.
ASoC STM32 I2S driver only supports this I2S/PCM mode.

The I2S/PCM interface can either support full duplex or half-duplex communication
(transmitter or receiver only).

I2S driver exhibits 3 DAIs corresponding to a playback, capture or full duplex PCM device.
When the interface is configured as full duplex, the related PCM device must be opened twice. 
The PCM streams are started when both playback and capture devices are opened.
The relevant DAI can be selected through Device Tree using sound-dai-cells parameter.

The I2S/PCM interface supports four audio standards:
I2S Philips standard, MSB justified standard, LSB justified standard, PCM standard
PCM standard is declined in two versions, PCM short and long,
according frame synchronization duration.

These standards can be mapped to ASoC standards as follows:
	- I2S: i2s
	- MSB justified standard: left_j
	- LSB justified standard: right_j
	- PCM short: dsp_a
PCM long format is not exposed as it does not match supported ASoC standards.

olivier moysan (2):
  dt-bindings: Document STM32 I2S bindings
  ASoC: stm32: Add I2S driver

 .../devicetree/bindings/sound/st,stm32h7-i2s.txt   |   71 ++
 sound/soc/Kconfig                                  |    1 +
 sound/soc/Makefile                                 |    1 +
 sound/soc/stm/Kconfig                              |    8 +
 sound/soc/stm/Makefile                             |    2 +
 sound/soc/stm/stm32_i2s.c                          | 1069 ++++++++++++++++++++
 6 files changed, 1152 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/st,stm32h7-i2s.txt
 create mode 100644 sound/soc/stm/Kconfig
 create mode 100644 sound/soc/stm/Makefile
 create mode 100644 sound/soc/stm/stm32_i2s.c

-- 
1.9.1

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

end of thread, other threads:[~2017-04-27 15:57 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-06 15:40 [PATCH 0/2] ASoC: stm32: Add I2S driver olivier moysan
2017-04-06 15:40 ` olivier moysan
2017-04-06 15:40 ` [PATCH 1/2] dt-bindings: Document STM32 I2S bindings olivier moysan
2017-04-06 15:40   ` olivier moysan
2017-04-10 19:48   ` Rob Herring
2017-04-10 19:48     ` Rob Herring
2017-04-11 14:32     ` Mark Brown
2017-04-11 14:32       ` Mark Brown
2017-04-11 15:44       ` Olivier MOYSAN
2017-04-11 15:44         ` Olivier MOYSAN
2017-04-11 21:10         ` Mark Brown
2017-04-11 21:10           ` Mark Brown
2017-04-12  8:30           ` Olivier MOYSAN
2017-04-12  8:30             ` Olivier MOYSAN
     [not found]             ` <86a179ad-7961-18f7-8050-25e0e584c77d-qxv4g6HH51o@public.gmane.org>
2017-04-12 11:32               ` Mark Brown
2017-04-12 11:32                 ` Mark Brown
2017-04-12 12:58                 ` Olivier MOYSAN
2017-04-12 12:58                   ` Olivier MOYSAN
     [not found]                   ` <d886a9c7-ca46-f37a-0e82-6ed8d7a4e052-qxv4g6HH51o@public.gmane.org>
2017-04-12 15:38                     ` Mark Brown
2017-04-12 15:38                       ` Mark Brown
2017-04-13  8:01                       ` Olivier MOYSAN
2017-04-13  8:01                         ` Olivier MOYSAN
2017-04-26 16:15                         ` Mark Brown
2017-04-26 16:15                           ` Mark Brown
2017-04-27 15:57                           ` Olivier MOYSAN
2017-04-27 15:57                             ` Olivier MOYSAN
     [not found]       ` <20170411143250.3r7ys3rjshtxgaee-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2017-04-11 16:02         ` Rob Herring
2017-04-11 16:02           ` Rob Herring
2017-04-11 20:19           ` Mark Brown
2017-04-11 20:19             ` Mark Brown
     [not found] ` <1491493236-2574-1-git-send-email-olivier.moysan-qxv4g6HH51o@public.gmane.org>
2017-04-06 15:40   ` [PATCH 2/2] ASoC: stm32: Add I2S driver olivier moysan
2017-04-06 15:40     ` olivier moysan

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.