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>; };