ASoC: stm32: Add DT bindings for SPDIFRX interface
authorolivier moysan <olivier.moysan@st.com>
Tue, 20 Jun 2017 09:58:46 +0000 (11:58 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 21 Jun 2017 11:09:48 +0000 (12:09 +0100)
Add documentation of device tree bindings for the
STM32 SPDIFRX interface.

Signed-off-by: olivier moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/sound/st,stm32-spdifrx.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.txt b/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.txt
new file mode 100644 (file)
index 0000000..33826f2
--- /dev/null
@@ -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>;
+};