• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1STMicroelectronics STM32 S/PDIF receiver (SPDIFRX).
2
3The SPDIFRX peripheral, is designed to receive an S/PDIF flow compliant with
4IEC-60958 and IEC-61937.
5
6Required properties:
7  - compatible: should be "st,stm32h7-spdifrx"
8  - reg: cpu DAI IP base address and size
9  - clocks: must contain an entry for kclk (used as S/PDIF signal reference)
10  - clock-names: must contain "kclk"
11  - interrupts: cpu DAI interrupt line
12  - dmas: DMA specifiers for audio data DMA and iec control flow DMA
13    See STM32 DMA bindings, Documentation/devicetree/bindings/dma/stm32-dma.txt
14  - dma-names: two dmas have to be defined, "rx" and "rx-ctrl"
15
16Optional properties:
17  - resets: Reference to a reset controller asserting the SPDIFRX
18
19The device node should contain one 'port' child node with one child 'endpoint'
20node, according to the bindings defined in Documentation/devicetree/bindings/
21graph.txt.
22
23Example:
24spdifrx: spdifrx@40004000 {
25	compatible = "st,stm32h7-spdifrx";
26	reg = <0x40004000 0x400>;
27	clocks = <&rcc SPDIFRX_CK>;
28	clock-names = "kclk";
29	interrupts = <97>;
30	dmas = <&dmamux1 2 93 0x400 0x0>,
31	       <&dmamux1 3 94 0x400 0x0>;
32	dma-names = "rx", "rx-ctrl";
33	pinctrl-0 = <&spdifrx_pins>;
34	pinctrl-names = "default";
35
36	spdifrx_port: port {
37		cpu_endpoint: endpoint {
38			remote-endpoint = <&codec_endpoint>;
39		};
40	};
41};
42
43spdif_in: spdif-in {
44	compatible = "linux,spdif-dir";
45
46	codec_port: port {
47		codec_endpoint: endpoint {
48			remote-endpoint = <&cpu_endpoint>;
49		};
50	};
51};
52
53soundcard {
54	compatible = "audio-graph-card";
55	dais = <&spdifrx_port>;
56};
57