Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1670626 > unrolled thread

[PATCH v2 0/2] ASoC: stm32: add SPDIFRX driver

Started byolivier moysan <olivier.moysan@st.com>
First post2017-06-20 12:10 +0200
Last post2017-06-20 12:10 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH v2 0/2] ASoC: stm32: add SPDIFRX driver olivier moysan <olivier.moysan@st.com> - 2017-06-20 12:10 +0200
    [PATCH v2 1/2] ASoC: stm32: Add DT bindings for SPDIFRX interface olivier moysan <olivier.moysan@st.com> - 2017-06-20 12:10 +0200

#1670626 — [PATCH v2 0/2] ASoC: stm32: add SPDIFRX driver

Fromolivier moysan <olivier.moysan@st.com>
Date2017-06-20 12:10 +0200
Subject[PATCH v2 0/2] ASoC: stm32: add SPDIFRX driver
Message-ID<tUo71-6Xh-35@gated-at.bofh.it>
This patch-set handles the SPDIFRX on STM32 platforms.

The SPDIFRX peripheral, is designed to receive an S/PDIF flow compliant with
IEC-60958 and IEC-61937 standards.

SPDIFRX uses two DMA channels:
- one DMA channel for S/PDIF data stream.
- one DMA channel for control flow (channel status and user data bits).

DMA is used for control flow instead of interrupts to get better performances,
as channel status and user data are retrieved byte per byte.

v1 -> v2:
- fix merge issue

olivier moysan (2):
  ASoC: stm32: Add DT bindings for SPDIFRX interface
  ASoC: stm32: Add SPDIFRX support

 .../devicetree/bindings/sound/st,stm32-spdifrx.txt |  56 ++
 sound/soc/stm/Kconfig                              |  10 +
 sound/soc/stm/Makefile                             |   4 +
 sound/soc/stm/stm32_spdifrx.c                      | 998 +++++++++++++++++++++
 4 files changed, 1068 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/st,stm32-spdifrx.txt
 create mode 100644 sound/soc/stm/stm32_spdifrx.c

-- 
1.9.1

[toc] | [next] | [standalone]


#1670627 — [PATCH v2 1/2] ASoC: stm32: Add DT bindings for SPDIFRX interface

Fromolivier moysan <olivier.moysan@st.com>
Date2017-06-20 12:10 +0200
Subject[PATCH v2 1/2] ASoC: stm32: Add DT bindings for SPDIFRX interface
Message-ID<tUogG-7fS-17@gated-at.bofh.it>
In reply to#1670626
Add documentation of device tree bindings for the
STM32 SPDIFRX interface.

Signed-off-by: olivier moysan <olivier.moysan@st.com>
---
 .../devicetree/bindings/sound/st,stm32-spdifrx.txt | 56 ++++++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/st,stm32-spdifrx.txt

diff --git a/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.txt b/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.txt
new file mode 100644
index 0000000..33826f2
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.txt
@@ -0,0 +1,56 @@
+STMicroelectronics STM32 S/PDIF receiver (SPDIFRX).
+
+The SPDIFRX peripheral, is designed to receive an S/PDIF flow compliant with
+IEC-60958 and IEC-61937.
+
+Required properties:
+  - compatible: should be "st,stm32h7-spdifrx"
+  - reg: cpu DAI IP base address and size
+  - clocks: must contain an entry for kclk (used as S/PDIF signal reference)
+  - clock-names: must contain "kclk"
+  - interrupts: cpu DAI interrupt line
+  - dmas: DMA specifiers for audio data DMA and iec control flow DMA
+    See STM32 DMA bindings, Documentation/devicetree/bindings/dma/stm32-dma.txt
+  - dma-names: two dmas have to be defined, "rx" and "rx-ctrl"
+
+Optional properties:
+  - resets: Reference to a reset controller asserting the SPDIFRX
+
+The device node should contain one 'port' child node with one child 'endpoint'
+node, according to the bindings defined in Documentation/devicetree/bindings/
+graph.txt.
+
+Example:
+spdifrx: spdifrx@40004000 {
+	compatible = "st,stm32h7-spdifrx";
+	reg = <0x40004000 0x400>;
+	clocks = <&rcc SPDIFRX_CK>;
+	clock-names = "kclk";
+	interrupts = <97>;
+	dmas = <&dmamux1 2 93 0x400 0x0>,
+	       <&dmamux1 3 94 0x400 0x0>;
+	dma-names = "rx", "rx-ctrl";
+	pinctrl-0 = <&spdifrx_pins>;
+	pinctrl-names = "default";
+
+	spdifrx_port: port {
+		cpu_endpoint: endpoint {
+			remote-endpoint = <&codec_endpoint>;
+		};
+	};
+};
+
+spdif_in: spdif-in {
+	compatible = "linux,spdif-dir";
+
+	codec_port: port {
+		codec_endpoint: endpoint {
+			remote-endpoint = <&cpu_endpoint>;
+		};
+	};
+};
+
+soundcard {
+	compatible = "audio-graph-card";
+	dais = <&spdifrx_port>;
+};
-- 
1.9.1

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web